From be09664714f60b9437f7ba0826adaec3e6478ae8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phillip=20Kr=C3=BCger?= Date: Fri, 16 Oct 2026 13:42:25 +1100 Subject: [PATCH] Publish every SmallRye project's documentation on smallrye.io Each project's AsciiDoc documentation is pulled from its repository into content/docs/// and published at /docs///, replacing Antora and the per-project MkDocs/mike sites. - data/docs.yml: the projects, their docs paths, the versions followed (main, latest, older major lines) and their old addresses. - tools/docs/Docs.java (JBang): sync, local preview, MkDocs and Antora converters (releases still in those formats are converted on the fly), dark versions of diagrams and drawings, redirects for the old Antora addresses and the old gh-pages sites, and blog link rewriting. - Workflows: nightly and on-demand sync committing to develop, a reusable check for project PRs, and the build without Antora. - Layout: docs pages with sidebar, version picker, on-this-page list, tabs, start-page contents and dark-theme images; blog posts link to the new addresses. - content/docs/ and data/docversions.yml: the synced documentation of 39 versions of 12 projects. --- .github/workflows/build.yml | 32 +- .github/workflows/docs-check.yml | 88 + .github/workflows/docs-sync.yml | 101 + .gitignore | 1 + README.md | 84 +- config/application.properties | 19 +- content/404.html | 2 +- content/docs/index.html | 31 + content/docs/jandex/latest/_attributes.adoc | 18 + content/docs/jandex/latest/_nav.yml | 20 + content/docs/jandex/latest/core/browsing.adoc | 156 + content/docs/jandex/latest/core/getting.adoc | 21 + content/docs/jandex/latest/core/indexing.adoc | 74 + content/docs/jandex/latest/index.adoc | 85 + .../docs/jandex/latest/maven/advanced.adoc | 123 + content/docs/jandex/latest/maven/basic.adoc | 30 + content/docs/jandex/latest/maven/shading.adoc | 51 + content/docs/jandex/main/_attributes.adoc | 18 + content/docs/jandex/main/_nav.yml | 20 + content/docs/jandex/main/core/browsing.adoc | 156 + content/docs/jandex/main/core/getting.adoc | 21 + content/docs/jandex/main/core/indexing.adoc | 74 + content/docs/jandex/main/index.adoc | 85 + content/docs/jandex/main/maven/advanced.adoc | 123 + content/docs/jandex/main/maven/basic.adoc | 30 + content/docs/jandex/main/maven/shading.adoc | 51 + .../docs/smallrye-config/2/_attributes.adoc | 21 + content/docs/smallrye-config/2/_nav.yml | 58 + .../2/assets/smallrye-icon.svg | 21 + .../2/config-sources/custom.adoc | 173 ++ .../2/config-sources/factories.adoc | 86 + .../2/config-sources/filesystem.adoc | 51 + .../2/config-sources/hocon.adoc | 46 + .../2/config-sources/locations.adoc | 77 + .../2/config-sources/yaml.adoc | 18 + .../2/config-sources/zookeeper.adoc | 30 + .../2/config/config-value.adoc | 8 + .../2/config/configuration.adoc | 41 + .../2/config/environment-variables.adoc | 76 + .../smallrye-config/2/config/expressions.adoc | 34 + .../2/config/getting-started.adoc | 172 ++ .../2/config/indexed-properties.adoc | 31 + .../smallrye-config/2/config/map-support.adoc | 57 + .../smallrye-config/2/config/mappings.adoc | 473 ++++ .../smallrye-config/2/config/profiles.adoc | 222 ++ .../smallrye-config/2/config/secret-keys.adoc | 39 + .../smallrye-config/2/converters/custom.adoc | 102 + .../smallrye-config/2/converters/json.adoc | 37 + .../2/extensions/config-events.adoc | 158 ++ .../2/extensions/config-source-injection.adoc | 44 + .../2/extensions/fallback.adoc | 37 + .../2/extensions/interceptors.adoc | 82 + .../smallrye-config/2/extensions/logging.adoc | 15 + .../2/extensions/relocate.adoc | 37 + content/docs/smallrye-config/2/index.adoc | 82 + .../docs/smallrye-config/3/_attributes.adoc | 21 + content/docs/smallrye-config/3/_nav.yml | 66 + .../3/assets/smallrye-icon.svg | 21 + .../3/config-sources/custom.adoc | 166 ++ .../3/config-sources/factories.adoc | 109 + .../3/config-sources/filesystem.adoc | 51 + .../3/config-sources/hocon.adoc | 46 + .../3/config-sources/json.adoc | 6 + .../3/config-sources/keystore.adoc | 67 + .../3/config-sources/locations.adoc | 82 + .../3/config-sources/yaml.adoc | 21 + .../3/config-sources/zookeeper.adoc | 30 + .../3/config/config-value.adoc | 8 + .../3/config/configuration.adoc | 20 + .../smallrye-config/3/config/customizer.adoc | 49 + .../3/config/environment-variables.adoc | 80 + .../smallrye-config/3/config/expressions.adoc | 32 + .../3/config/getting-started.adoc | 182 ++ .../3/config/indexed-properties.adoc | 32 + .../smallrye-config/3/config/map-support.adoc | 60 + .../smallrye-config/3/config/mappings.adoc | 727 +++++ .../smallrye-config/3/config/profiles.adoc | 192 ++ .../smallrye-config/3/config/secret-keys.adoc | 126 + .../smallrye-config/3/converters/custom.adoc | 101 + .../3/extensions/config-events.adoc | 158 ++ .../3/extensions/config-source-injection.adoc | 44 + .../3/extensions/fallback.adoc | 59 + .../3/extensions/interceptors.adoc | 84 + .../smallrye-config/3/extensions/logging.adoc | 15 + .../3/extensions/relocate.adoc | 51 + content/docs/smallrye-config/3/index.adoc | 97 + .../smallrye-config/latest/_attributes.adoc | 21 + content/docs/smallrye-config/latest/_nav.yml | 66 + .../latest/assets/smallrye-icon.svg | 21 + .../latest/config-sources/custom.adoc | 166 ++ .../latest/config-sources/factories.adoc | 130 + .../latest/config-sources/filesystem.adoc | 51 + .../latest/config-sources/hocon.adoc | 46 + .../latest/config-sources/json.adoc | 6 + .../latest/config-sources/keystore.adoc | 67 + .../latest/config-sources/locations.adoc | 82 + .../latest/config-sources/toml.adoc | 22 + .../latest/config-sources/yaml.adoc | 21 + .../latest/config-sources/zookeeper.adoc | 30 + .../latest/config/config-value.adoc | 8 + .../latest/config/configuration.adoc | 20 + .../latest/config/customizer.adoc | 49 + .../latest/config/environment-variables.adoc | 80 + .../latest/config/expressions.adoc | 75 + .../latest/config/getting-started.adoc | 182 ++ .../latest/config/indexed-properties.adoc | 32 + .../latest/config/instance-builder.adoc | 234 ++ .../latest/config/map-support.adoc | 60 + .../latest/config/mappings.adoc | 860 ++++++ .../latest/config/profiles.adoc | 192 ++ .../latest/config/secret-keys.adoc | 232 ++ .../latest/converters/custom.adoc | 101 + .../latest/extensions/fallback.adoc | 59 + .../latest/extensions/interceptors.adoc | 179 ++ .../latest/extensions/logging.adoc | 15 + .../latest/extensions/relocate.adoc | 51 + .../docs/smallrye-config/latest/index.adoc | 97 + .../smallrye-config/main/_attributes.adoc | 21 + content/docs/smallrye-config/main/_nav.yml | 66 + .../main/assets/smallrye-icon.svg | 21 + .../main/config-sources/custom.adoc | 166 ++ .../main/config-sources/factories.adoc | 130 + .../main/config-sources/filesystem.adoc | 51 + .../main/config-sources/hocon.adoc | 46 + .../main/config-sources/json.adoc | 6 + .../main/config-sources/keystore.adoc | 67 + .../main/config-sources/locations.adoc | 82 + .../main/config-sources/toml.adoc | 22 + .../main/config-sources/yaml.adoc | 21 + .../main/config-sources/zookeeper.adoc | 30 + .../main/config/config-value.adoc | 8 + .../main/config/configuration.adoc | 20 + .../main/config/customizer.adoc | 49 + .../main/config/environment-variables.adoc | 80 + .../main/config/expressions.adoc | 75 + .../main/config/getting-started.adoc | 182 ++ .../main/config/indexed-properties.adoc | 32 + .../main/config/instance-builder.adoc | 234 ++ .../main/config/map-support.adoc | 60 + .../smallrye-config/main/config/mappings.adoc | 860 ++++++ .../smallrye-config/main/config/profiles.adoc | 192 ++ .../main/config/secret-keys.adoc | 232 ++ .../main/converters/custom.adoc | 101 + .../main/extensions/fallback.adoc | 59 + .../main/extensions/interceptors.adoc | 179 ++ .../main/extensions/logging.adoc | 15 + .../main/extensions/relocate.adoc | 51 + content/docs/smallrye-config/main/index.adoc | 97 + .../5/_attributes.adoc | 24 + .../docs/smallrye-fault-tolerance/5/_nav.yml | 44 + .../smallrye-fault-tolerance/5/index.adoc | 11 + .../5/integration/async-types.adoc | 14 + .../5/integration/context-propagation.adoc | 8 + .../5/integration/event-loop.adoc | 32 + .../5/integration/intro.adoc | 40 + .../5/integration/kotlin.adoc | 11 + .../5/integration/metrics.adoc | 45 + .../5/integration/opentracing.adoc | 13 + .../5/integration/programmatic-api.adoc | 25 + .../5/integration/thread-pool.adoc | 30 + .../5/internals/config.adoc | 103 + .../5/internals/core.adoc | 105 + .../5/internals/instructions.adoc | 21 + .../5/internals/logging.adoc | 16 + .../5/internals/project-structure.adoc | 28 + .../5/usage/basic.adoc | 174 ++ .../5/usage/extra.adoc | 835 ++++++ .../5/usage/programmatic-api.adoc | 340 +++ .../6/_attributes.adoc | 24 + .../docs/smallrye-fault-tolerance/6/_nav.yml | 82 + .../6/_partials/internals.adoc | 3 + .../6/_partials/non-compat.adoc | 1 + .../6/_partials/srye-feature.adoc | 1 + .../6/_partials/time-unit-inconsistency.adoc | 3 + .../6/howto/asynchronous.adoc | 102 + .../6/howto/begin.adoc | 129 + .../6/howto/bulkhead.adoc | 33 + .../6/howto/circuit-breaker.adoc | 33 + .../6/howto/fallback.adoc | 62 + .../6/howto/multiple.adoc | 58 + .../6/howto/rate-limit.adoc | 33 + .../6/howto/retry.adoc | 33 + .../6/howto/timeout.adoc | 28 + .../diagrams/mermaid-f40d3cbcabca.dark.svg | 1 + .../images/diagrams/mermaid-f40d3cbcabca.svg | 1 + .../smallrye-fault-tolerance/6/index.adoc | 77 + .../6/integration/async-types.adoc | 15 + .../6/integration/context-propagation.adoc | 8 + .../6/integration/event-loop.adoc | 37 + .../6/integration/intro.adoc | 41 + .../6/integration/kotlin.adoc | 11 + .../6/integration/metrics.adoc | 75 + .../6/integration/opentracing.adoc | 13 + .../6/integration/programmatic-api.adoc | 49 + .../6/integration/thread-pool.adoc | 30 + .../6/internals/config.adoc | 119 + .../6/internals/core.adoc | 123 + .../6/internals/instructions.adoc | 21 + .../6/internals/logging.adoc | 16 + .../6/internals/project-structure.adoc | 39 + .../6/reference/asynchronous.adoc | 277 ++ .../6/reference/bulkhead.adoc | 143 + .../6/reference/circuit-breaker.adoc | 288 ++ .../6/reference/config.adoc | 207 ++ .../6/reference/fallback.adoc | 302 ++ .../6/reference/metrics.adoc | 114 + .../6/reference/non-compat.adoc | 36 + .../6/reference/programmatic-api.adoc | 414 +++ .../6/reference/rate-limit.adoc | 149 + .../6/reference/retry.adoc | 352 +++ .../6/reference/reusable.adoc | 244 ++ .../6/reference/timeout.adoc | 81 + .../latest/_attributes.adoc | 24 + .../smallrye-fault-tolerance/latest/_nav.yml | 80 + .../latest/_partials/internals.adoc | 3 + .../latest/_partials/non-compat.adoc | 1 + .../latest/_partials/srye-feature.adoc | 1 + .../_partials/time-unit-inconsistency.adoc | 3 + .../latest/howto/asynchronous.adoc | 102 + .../latest/howto/begin.adoc | 129 + .../latest/howto/bulkhead.adoc | 33 + .../latest/howto/circuit-breaker.adoc | 33 + .../latest/howto/fallback.adoc | 62 + .../latest/howto/multiple.adoc | 58 + .../latest/howto/rate-limit.adoc | 33 + .../latest/howto/retry.adoc | 33 + .../latest/howto/timeout.adoc | 28 + .../diagrams/mermaid-f40d3cbcabca.dark.svg | 1 + .../images/diagrams/mermaid-f40d3cbcabca.svg | 1 + .../latest/index.adoc | 77 + .../latest/integration/async-types.adoc | 15 + .../integration/context-propagation.adoc | 8 + .../latest/integration/event-loop.adoc | 37 + .../latest/integration/intro.adoc | 40 + .../latest/integration/kotlin.adoc | 11 + .../latest/integration/metrics.adoc | 66 + .../latest/integration/programmatic-api.adoc | 48 + .../latest/integration/thread-pool.adoc | 30 + .../latest/internals/config.adoc | 119 + .../latest/internals/core.adoc | 123 + .../latest/internals/instructions.adoc | 21 + .../latest/internals/logging.adoc | 16 + .../latest/internals/project-structure.adoc | 37 + .../latest/reference/asynchronous.adoc | 276 ++ .../latest/reference/bulkhead.adoc | 136 + .../latest/reference/circuit-breaker.adoc | 283 ++ .../latest/reference/config.adoc | 207 ++ .../latest/reference/fallback.adoc | 302 ++ .../latest/reference/metrics.adoc | 109 + .../latest/reference/non-compat.adoc | 36 + .../latest/reference/programmatic-api.adoc | 414 +++ .../latest/reference/rate-limit.adoc | 148 + .../latest/reference/retry.adoc | 350 +++ .../latest/reference/reusable.adoc | 244 ++ .../latest/reference/timeout.adoc | 78 + .../main/_attributes.adoc | 24 + .../smallrye-fault-tolerance/main/_nav.yml | 80 + .../main/_partials/internals.adoc | 3 + .../main/_partials/non-compat.adoc | 1 + .../main/_partials/srye-feature.adoc | 1 + .../_partials/time-unit-inconsistency.adoc | 3 + .../main/howto/asynchronous.adoc | 102 + .../main/howto/begin.adoc | 129 + .../main/howto/bulkhead.adoc | 33 + .../main/howto/circuit-breaker.adoc | 33 + .../main/howto/fallback.adoc | 62 + .../main/howto/multiple.adoc | 58 + .../main/howto/rate-limit.adoc | 33 + .../main/howto/retry.adoc | 33 + .../main/howto/timeout.adoc | 28 + .../diagrams/mermaid-f40d3cbcabca.dark.svg | 1 + .../images/diagrams/mermaid-f40d3cbcabca.svg | 1 + .../smallrye-fault-tolerance/main/index.adoc | 77 + .../main/integration/async-types.adoc | 15 + .../main/integration/context-propagation.adoc | 8 + .../main/integration/event-loop.adoc | 37 + .../main/integration/intro.adoc | 40 + .../main/integration/kotlin.adoc | 11 + .../main/integration/metrics.adoc | 66 + .../main/integration/programmatic-api.adoc | 48 + .../main/integration/thread-pool.adoc | 30 + .../main/internals/config.adoc | 119 + .../main/internals/core.adoc | 123 + .../main/internals/instructions.adoc | 21 + .../main/internals/logging.adoc | 16 + .../main/internals/project-structure.adoc | 37 + .../main/reference/asynchronous.adoc | 276 ++ .../main/reference/bulkhead.adoc | 136 + .../main/reference/circuit-breaker.adoc | 283 ++ .../main/reference/config.adoc | 207 ++ .../main/reference/fallback.adoc | 302 ++ .../main/reference/metrics.adoc | 109 + .../main/reference/non-compat.adoc | 36 + .../main/reference/programmatic-api.adoc | 414 +++ .../main/reference/rate-limit.adoc | 148 + .../main/reference/retry.adoc | 350 +++ .../main/reference/reusable.adoc | 244 ++ .../main/reference/timeout.adoc | 78 + .../docs/smallrye-graphql/1/_attributes.adoc | 20 + .../examples/dynamicclient/MyClientUsage.java | 37 + .../dynamicclient/MyClientUsageString.java | 39 + .../typesafeclient/MyClientUsage.java | 16 + .../examples/typesafeclient/SuperHero.java | 12 + .../typesafeclient/SuperHeroesApi.java | 12 + content/docs/smallrye-graphql/1/_nav.yml | 54 + .../1/client-configuration.adoc | 27 + .../1/custom-error-extensions.adoc | 44 + .../1/custom-json-deserializers.adoc | 30 + .../docs/smallrye-graphql/1/directives.adoc | 45 + .../1/dynamic-client-error-handling.adoc | 34 + .../1/dynamic-client-usage.adoc | 113 + .../docs/smallrye-graphql/1/extensions.adoc | 52 + .../docs/smallrye-graphql/1/federation.adoc | 66 + .../smallrye-graphql/1/gradle-plugin.adoc | 80 + .../1/images/redhat_reversed.svg | 1 + content/docs/smallrye-graphql/1/index.adoc | 6 + .../docs/smallrye-graphql/1/maven-plugin.adoc | 45 + .../1/server-configuration.adoc | 38 + .../1/typesafe-client-custom-scalars.adoc | 38 + .../1/typesafe-client-error-handling.adoc | 60 + .../1/typesafe-client-headers.adoc | 84 + .../1/typesafe-client-logging.adoc | 7 + .../1/typesafe-client-multiple-queries.adoc | 48 + .../1/typesafe-client-reactive-types.adoc | 48 + .../1/typesafe-client-usage.adoc | 153 + .../1/using-smallrye-stork.adoc | 53 + .../docs/smallrye-graphql/2/_attributes.adoc | 20 + .../examples/dynamicclient/MyClientUsage.java | 37 + .../dynamicclient/MyClientUsageString.java | 39 + .../typesafeclient/MyClientUsage.java | 16 + .../examples/typesafeclient/SuperHero.java | 12 + .../typesafeclient/SuperHeroesApi.java | 12 + content/docs/smallrye-graphql/2/_nav.yml | 74 + .../2/client-configuration.adoc | 28 + .../smallrye-graphql/2/client-standalone.adoc | 76 + .../2/custom-error-extensions.adoc | 44 + ...custom-json-serializers-deserializers.adoc | 36 + .../smallrye-graphql/2/custom-scalar.adoc | 36 + .../docs/smallrye-graphql/2/directives.adoc | 45 + .../2/dynamic-client-error-handling.adoc | 34 + .../2/dynamic-client-usage.adoc | 136 + .../docs/smallrye-graphql/2/extensions.adoc | 86 + .../docs/smallrye-graphql/2/federation.adoc | 213 ++ .../smallrye-graphql/2/gradle-plugin.adoc | 84 + ...dling-init-payload-from-the-websocket.adoc | 25 + .../2/images/redhat_reversed.svg | 1 + content/docs/smallrye-graphql/2/index.adoc | 6 + ...-executable-directives-on-server-side.adoc | 39 + content/docs/smallrye-graphql/2/kotlin.adoc | 4 + .../docs/smallrye-graphql/2/maven-plugin.adoc | 48 + .../smallrye-graphql/2/mutation-void.adoc | 24 + .../2/namespaces-on-server-side.adoc | 167 ++ .../2/server-configuration.adoc | 38 + ...lient-accessing-metadata-of-responses.adoc | 81 + .../2/typesafe-client-custom-scalars.adoc | 38 + .../2/typesafe-client-directives.adoc | 53 + .../2/typesafe-client-error-handling.adoc | 60 + .../2/typesafe-client-headers.adoc | 84 + .../2/typesafe-client-logging.adoc | 7 + .../2/typesafe-client-multiple-queries.adoc | 48 + .../2/typesafe-client-reactive-types.adoc | 48 + ...typesafe-client-unions-and-interfaces.adoc | 164 ++ .../2/typesafe-client-usage.adoc | 301 ++ .../2/using-smallrye-stork.adoc | 53 + .../smallrye-graphql/latest/_attributes.adoc | 20 + .../examples/dynamicclient/MyClientUsage.java | 37 + .../dynamicclient/MyClientUsageString.java | 39 + .../typesafeclient/MyClientUsage.java | 16 + .../examples/typesafeclient/SuperHero.java | 12 + .../typesafeclient/SuperHeroesApi.java | 12 + content/docs/smallrye-graphql/latest/_nav.yml | 76 + .../latest/client-configuration.adoc | 28 + .../latest/client-standalone.adoc | 76 + .../latest/custom-error-extensions.adoc | 44 + ...custom-json-serializers-deserializers.adoc | 36 + .../latest/custom-scalar.adoc | 36 + .../smallrye-graphql/latest/directives.adoc | 45 + .../latest/dynamic-client-error-handling.adoc | 34 + .../latest/dynamic-client-usage.adoc | 136 + .../smallrye-graphql/latest/extensions.adoc | 86 + .../smallrye-graphql/latest/federation.adoc | 213 ++ .../latest/gradle-plugin.adoc | 84 + ...dling-init-payload-from-the-websocket.adoc | 25 + .../latest/images/redhat_reversed.svg | 1 + .../docs/smallrye-graphql/latest/index.adoc | 6 + ...-executable-directives-on-server-side.adoc | 39 + .../docs/smallrye-graphql/latest/kotlin.adoc | 4 + .../smallrye-graphql/latest/maven-plugin.adoc | 48 + .../latest/mutation-void.adoc | 24 + .../latest/namespaces-on-server-side.adoc | 167 ++ .../latest/server-configuration.adoc | 38 + .../latest/target-for-input-types.adoc | 72 + ...lient-accessing-metadata-of-responses.adoc | 81 + .../typesafe-client-custom-scalars.adoc | 38 + .../latest/typesafe-client-directives.adoc | 53 + .../typesafe-client-error-handling.adoc | 60 + .../latest/typesafe-client-headers.adoc | 84 + .../latest/typesafe-client-logging.adoc | 7 + .../typesafe-client-multiple-queries.adoc | 48 + .../typesafe-client-reactive-types.adoc | 48 + ...typesafe-client-unions-and-interfaces.adoc | 164 ++ .../latest/typesafe-client-usage.adoc | 301 ++ .../latest/using-smallrye-stork.adoc | 53 + .../smallrye-graphql/main/_attributes.adoc | 20 + .../examples/dynamicclient/MyClientUsage.java | 37 + .../dynamicclient/MyClientUsageString.java | 39 + .../typesafeclient/MyClientUsage.java | 16 + .../examples/typesafeclient/SuperHero.java | 12 + .../typesafeclient/SuperHeroesApi.java | 12 + content/docs/smallrye-graphql/main/_nav.yml | 76 + .../main/client-configuration.adoc | 28 + .../main/client-standalone.adoc | 76 + .../main/custom-error-extensions.adoc | 44 + ...custom-json-serializers-deserializers.adoc | 36 + .../smallrye-graphql/main/custom-scalar.adoc | 36 + .../smallrye-graphql/main/directives.adoc | 45 + .../main/dynamic-client-error-handling.adoc | 34 + .../main/dynamic-client-usage.adoc | 136 + .../smallrye-graphql/main/extensions.adoc | 86 + .../smallrye-graphql/main/federation.adoc | 213 ++ .../smallrye-graphql/main/gradle-plugin.adoc | 84 + ...dling-init-payload-from-the-websocket.adoc | 25 + .../main/images/redhat_reversed.svg | 1 + content/docs/smallrye-graphql/main/index.adoc | 6 + ...-executable-directives-on-server-side.adoc | 39 + .../docs/smallrye-graphql/main/kotlin.adoc | 4 + .../smallrye-graphql/main/maven-plugin.adoc | 48 + .../smallrye-graphql/main/mutation-void.adoc | 24 + .../main/namespaces-on-server-side.adoc | 167 ++ .../main/server-configuration.adoc | 38 + .../main/target-for-input-types.adoc | 72 + ...lient-accessing-metadata-of-responses.adoc | 81 + .../main/typesafe-client-custom-scalars.adoc | 38 + .../main/typesafe-client-directives.adoc | 53 + .../main/typesafe-client-error-handling.adoc | 60 + .../main/typesafe-client-headers.adoc | 84 + .../main/typesafe-client-logging.adoc | 7 + .../typesafe-client-multiple-queries.adoc | 48 + .../main/typesafe-client-reactive-types.adoc | 48 + ...typesafe-client-unions-and-interfaces.adoc | 164 ++ .../main/typesafe-client-usage.adoc | 301 ++ .../main/using-smallrye-stork.adoc | 53 + .../smallrye-health/latest/_attributes.adoc | 18 + content/docs/smallrye-health/latest/_nav.yml | 18 + .../smallrye-health/latest/async-checks.adoc | 44 + .../latest/custom-config-properties.adoc | 39 + .../smallrye-health/latest/health-groups.adoc | 72 + .../latest/health-registry.adoc | 65 + .../docs/smallrye-health/latest/index.adoc | 18 + .../smallrye-health/latest/static-access.adoc | 59 + .../docs/smallrye-health/latest/wellness.adoc | 34 + .../smallrye-health/main/_attributes.adoc | 18 + content/docs/smallrye-health/main/_nav.yml | 18 + .../smallrye-health/main/async-checks.adoc | 44 + .../main/custom-config-properties.adoc | 39 + .../smallrye-health/main/health-groups.adoc | 72 + .../smallrye-health/main/health-registry.adoc | 65 + content/docs/smallrye-health/main/index.adoc | 18 + .../smallrye-health/main/static-access.adoc | 59 + .../docs/smallrye-health/main/wellness.adoc | 34 + .../docs/smallrye-jwt/latest/_attributes.adoc | 18 + content/docs/smallrye-jwt/latest/_nav.yml | 8 + .../latest/_partials/attributes.adoc | 1 + .../smallrye-jwt/latest/configuration.adoc | 189 ++ .../smallrye-jwt/latest/generate-jwt.adoc | 164 ++ content/docs/smallrye-jwt/latest/index.adoc | 24 + .../docs/smallrye-jwt/main/_attributes.adoc | 18 + content/docs/smallrye-jwt/main/_nav.yml | 8 + .../main/_partials/attributes.adoc | 1 + .../docs/smallrye-jwt/main/configuration.adoc | 189 ++ .../docs/smallrye-jwt/main/generate-jwt.adoc | 164 ++ content/docs/smallrye-jwt/main/index.adoc | 24 + .../docs/smallrye-metrics/2/_attributes.adoc | 18 + content/docs/smallrye-metrics/2/_nav.yml | 18 + .../2/base-and-vendor-metrics.adoc | 44 + .../smallrye-metrics/2/cdi-extension.adoc | 12 + .../smallrye-metrics/2/extended-metadata.adoc | 41 + content/docs/smallrye-metrics/2/index.adoc | 19 + .../smallrye-metrics/2/jaxrs-metrics.adoc | 18 + .../2/metric-registry-lifecycle.adoc | 12 + .../docs/smallrye-metrics/3/_attributes.adoc | 18 + content/docs/smallrye-metrics/3/_nav.yml | 18 + .../3/base-and-vendor-metrics.adoc | 44 + .../smallrye-metrics/3/cdi-extension.adoc | 12 + .../smallrye-metrics/3/extended-metadata.adoc | 41 + content/docs/smallrye-metrics/3/index.adoc | 19 + .../smallrye-metrics/3/jaxrs-metrics.adoc | 18 + .../3/metric-registry-lifecycle.adoc | 12 + .../2/_attributes.adoc | 20 + .../2/_examples/docs/snippets/hello.java | 56 + .../smallrye-mutiny-vertx-bindings/2/_nav.yml | 6 + .../2/api-translation.adoc | 114 + .../2/images/codegen.png | Bin 0 -> 1107849 bytes .../2/images/redhat_reversed.svg | 1 + .../2/index.adoc | 65 + .../3/_attributes.adoc | 20 + .../3/_examples/docs/snippets/hello.java | 56 + .../smallrye-mutiny-vertx-bindings/3/_nav.yml | 6 + .../3/api-translation.adoc | 114 + .../3/images/codegen.png | Bin 0 -> 1107849 bytes .../3/images/redhat_reversed.svg | 1 + .../3/index.adoc | 65 + .../3/using-vertx-expectations.adoc | 54 + .../latest/_attributes.adoc | 20 + .../latest/_nav.yml | 20 + .../latest/available-modules.adoc | 50 + .../latest/blocking-and-testing.adoc | 325 +++ .../latest/error-handling.adoc | 435 +++ .../latest/getting-started.adoc | 218 ++ .../diagrams/mermaid-ccfeac935876.dark.svg | 1 + .../images/diagrams/mermaid-ccfeac935876.svg | 1 + .../latest/index.adoc | 100 + .../latest/migration-guide-3x-4x.adoc | 110 + .../latest/type-mapping.adoc | 100 + .../latest/uni-and-multi.adoc | 349 +++ .../latest/using-the-generator.adoc | 202 ++ .../main/_attributes.adoc | 20 + .../main/_nav.yml | 20 + .../main/available-modules.adoc | 50 + .../main/blocking-and-testing.adoc | 325 +++ .../main/error-handling.adoc | 435 +++ .../main/getting-started.adoc | 218 ++ .../diagrams/mermaid-ccfeac935876.dark.svg | 1 + .../images/diagrams/mermaid-ccfeac935876.svg | 1 + .../main/index.adoc | 100 + .../main/migration-guide-3x-4x.adoc | 110 + .../main/type-mapping.adoc | 100 + .../main/uni-and-multi.adoc | 349 +++ .../main/using-the-generator.adoc | 202 ++ .../smallrye-mutiny-zero/0/_attributes.adoc | 20 + .../UrbanObservatoryHttpClient.java | 67 + .../java/docsamples/FromCompletionStage.java | 14 + .../test/java/docsamples/FromKnownValues.java | 22 + .../src/test/java/docsamples/FromTube.java | 48 + content/docs/smallrye-mutiny-zero/0/_nav.yml | 7 + .../0/assets/reactive-ecosystem.dark.png | Bin 0 -> 60658 bytes .../0/assets/reactive-ecosystem.png | Bin 0 -> 106873 bytes .../0/assets/reactive-minimal.dark.png | Bin 0 -> 97983 bytes .../0/assets/reactive-minimal.png | Bin 0 -> 146132 bytes .../0/assets/reactive-pollution.dark.png | Bin 0 -> 120711 bytes .../0/assets/reactive-pollution.png | Bin 0 -> 171655 bytes .../0/assets/redhat_reversed.svg | 1 + .../smallrye-mutiny-zero/0/flow-adapters.adoc | 29 + .../docs/smallrye-mutiny-zero/0/index.adoc | 74 + .../smallrye-mutiny-zero/0/quick-start.adoc | 85 + ...rtx-based-reactive-streams-publishers.adoc | 29 + .../latest/_attributes.adoc | 20 + .../UrbanObservatoryHttpClient.java | 67 + .../java/docsamples/FromCompletionStage.java | 14 + .../test/java/docsamples/FromKnownValues.java | 22 + .../src/test/java/docsamples/FromTube.java | 48 + .../docs/smallrye-mutiny-zero/latest/_nav.yml | 7 + .../latest/assets/reactive-ecosystem.dark.png | Bin 0 -> 60658 bytes .../latest/assets/reactive-ecosystem.png | Bin 0 -> 106873 bytes .../latest/assets/reactive-minimal.dark.png | Bin 0 -> 97983 bytes .../latest/assets/reactive-minimal.png | Bin 0 -> 146132 bytes .../latest/assets/reactive-pollution.dark.png | Bin 0 -> 120711 bytes .../latest/assets/reactive-pollution.png | Bin 0 -> 171655 bytes .../latest/assets/redhat_reversed.svg | 1 + .../latest/flow-adapters.adoc | 29 + .../smallrye-mutiny-zero/latest/index.adoc | 74 + .../latest/quick-start.adoc | 83 + ...rtx-based-reactive-streams-publishers.adoc | 29 + .../main/_attributes.adoc | 20 + .../UrbanObservatoryHttpClient.java | 67 + .../java/docsamples/FromCompletionStage.java | 14 + .../test/java/docsamples/FromKnownValues.java | 22 + .../src/test/java/docsamples/FromTube.java | 48 + .../docs/smallrye-mutiny-zero/main/_nav.yml | 7 + .../main/assets/reactive-ecosystem.dark.png | Bin 0 -> 60658 bytes .../main/assets/reactive-ecosystem.png | Bin 0 -> 106873 bytes .../main/assets/reactive-minimal.dark.png | Bin 0 -> 97983 bytes .../main/assets/reactive-minimal.png | Bin 0 -> 146132 bytes .../main/assets/reactive-pollution.dark.png | Bin 0 -> 120711 bytes .../main/assets/reactive-pollution.png | Bin 0 -> 171655 bytes .../main/assets/redhat_reversed.svg | 1 + .../main/flow-adapters.adoc | 29 + .../docs/smallrye-mutiny-zero/main/index.adoc | 74 + .../main/quick-start.adoc | 83 + ...rtx-based-reactive-streams-publishers.adoc | 29 + .../docs/smallrye-mutiny/2/_attributes.adoc | 22 + .../2/_examples/java/FirstProgram.java | 11 + .../2/_examples/java/FirstProgramTest.java | 44 + .../_examples/java/guides/BranchingTest.java | 64 + .../java/guides/CompletionStageTest.java | 77 + .../java/guides/ContextPassingTest.java | 99 + .../2/_examples/java/guides/EventsTest.java | 60 + .../2/_examples/java/guides/PlugTest.java | 58 + .../2/_examples/java/guides/RxTest.java | 111 + .../_examples/java/guides/ShortcutsTest.java | 29 + .../2/_examples/java/guides/SpiesTest.java | 40 + .../java/guides/TestSubscribersTest.java | 54 + .../_examples/java/guides/UncheckedTest.java | 69 + .../java/guides/UniMultiComparisonTest.java | 63 + .../2/_examples/java/guides/UniNullTest.java | 48 + .../_examples/java/guides/UniTimeoutTest.java | 102 + .../infrastructure/DroppedExceptionTest.java | 54 + .../infrastructure/InfrastructureTest.java | 39 + .../infrastructure/OperatorLoggingTest.java | 36 + .../integration/ImperativeToReactiveTest.java | 60 + .../integration/ReactiveToImperativeTest.java | 57 + .../java/guides/integration/ReactorTest.java | 158 ++ .../java/guides/integration/RxJavaTest.java | 277 ++ .../operators/BroadcastProcessorTest.java | 35 + .../guides/operators/CollectingItemsTest.java | 99 + .../guides/operators/CombiningItemsTest.java | 177 ++ .../guides/operators/ControlDemandTest.java | 93 + .../java/guides/operators/DelayTest.java | 87 + .../java/guides/operators/EmitOnTest.java | 62 + .../java/guides/operators/FilterTest.java | 101 + .../guides/operators/MergeConcatTest.java | 119 + .../java/guides/operators/PaginationTest.java | 97 + .../guides/operators/PollableSourceTest.java | 84 + .../guides/operators/RepetitionsTest.java | 31 + .../java/guides/operators/ReplayTest.java | 82 + .../operators/RunSubscriptionOnTest.java | 67 + .../guides/operators/SelectAndSkipTest.java | 65 + .../java/guides/operators/SplitTest.java | 45 + .../java/guides/operators/UniJoinTest.java | 54 + .../operators/UnicastProcessorTest.java | 34 + .../java/guides/reference/PitfallsTest.java | 64 + .../java/tutorials/CreatingMultiTest.java | 134 + .../java/tutorials/CreatingUniTest.java | 111 + .../java/tutorials/HandlingFailuresTest.java | 105 + .../_examples/java/tutorials/ObserveTest.java | 65 + .../2/_examples/java/tutorials/RetryTest.java | 61 + .../tutorials/TransformItemsAsyncTest.java | 116 + .../java/tutorials/TransformItemsTest.java | 61 + .../2/_examples/kotlin/guides/Coroutines.kt | 60 + .../2/_examples/kotlin/guides/UniExt.kt | 19 + content/docs/smallrye-mutiny/2/_nav.yml | 68 + .../CF_logo_horizontal_single_reverse.svg | 44 + .../smallrye-mutiny/2/assets/logo-white.png | Bin 0 -> 3611 bytes .../smallrye-mutiny/2/assets/logo-white.svg | 1 + .../docs/smallrye-mutiny/2/assets/logo.png | Bin 0 -> 49044 bytes .../smallrye-mutiny/2/guides/branching.adoc | 57 + .../broadcasting-to-multiple-subscribers.adoc | 187 ++ .../2/guides/collecting-items.adoc | 92 + .../2/guides/combining-items.adoc | 110 + .../2/guides/completion-stage.adoc | 86 + .../2/guides/context-passing.adoc | 90 + .../2/guides/controlling-demand.adoc | 55 + .../smallrye-mutiny/2/guides/converters.adoc | 253 ++ .../2/guides/custom-operators.adoc | 30 + .../2/guides/delaying-events.adoc | 68 + .../2/guides/dropped-exceptions.adoc | 26 + .../eliminate-duplicates-and-repetitions.adoc | 60 + .../2/guides/emission-threads.adoc | 36 + .../emit-on-vs-run-subscription-on.adoc | 45 + .../2/guides/filtering-items.adoc | 33 + .../2/guides/framework-integration.adoc | 32 + .../2/guides/handling-null.adoc | 40 + .../2/guides/handling-timeouts.adoc | 53 + .../smallrye-mutiny/2/guides/hot-streams.adoc | 26 + .../2/guides/imperative-to-reactive.adoc | 71 + .../integrate-a-non-reactive-source.adoc | 20 + .../2/guides/joining-unis.adoc | 67 + .../docs/smallrye-mutiny/2/guides/kotlin.adoc | 135 + .../smallrye-mutiny/2/guides/logging.adoc | 66 + .../merging-and-concatenating-streams.adoc | 89 + .../smallrye-mutiny/2/guides/multi-split.adoc | 51 + .../smallrye-mutiny/2/guides/pagination.adoc | 46 + .../smallrye-mutiny/2/guides/polling.adoc | 21 + .../2/guides/reactive-to-imperative.adoc | 54 + .../2/guides/replaying-multis.adoc | 94 + content/docs/smallrye-mutiny/2/guides/rx.adoc | 31 + .../2/guides/shortcut-methods.adoc | 44 + .../docs/smallrye-mutiny/2/guides/spies.adoc | 71 + .../2/guides/take-skip-items.adoc | 116 + .../smallrye-mutiny/2/guides/testing.adoc | 28 + .../2/guides/unchecked-exceptions.adoc | 42 + .../diagrams/mermaid-0277dcc2b534.dark.svg | 1 + .../images/diagrams/mermaid-0277dcc2b534.svg | 1 + .../diagrams/mermaid-18f9a50c0627.dark.svg | 1 + .../images/diagrams/mermaid-18f9a50c0627.svg | 1 + .../diagrams/mermaid-3b8d4c58438a.dark.svg | 1 + .../images/diagrams/mermaid-3b8d4c58438a.svg | 1 + .../diagrams/mermaid-3d4459e3c6a6.dark.svg | 1 + .../images/diagrams/mermaid-3d4459e3c6a6.svg | 1 + .../diagrams/mermaid-491ff27a51a5.dark.svg | 1 + .../images/diagrams/mermaid-491ff27a51a5.svg | 1 + .../diagrams/mermaid-69aa56febc93.dark.svg | 1 + .../images/diagrams/mermaid-69aa56febc93.svg | 1 + .../diagrams/mermaid-74e1ac453bf9.dark.svg | 1 + .../images/diagrams/mermaid-74e1ac453bf9.svg | 1 + .../diagrams/mermaid-76df06b35153.dark.svg | 1 + .../images/diagrams/mermaid-76df06b35153.svg | 1 + .../diagrams/mermaid-bc092005fd3f.dark.svg | 1 + .../images/diagrams/mermaid-bc092005fd3f.svg | 1 + .../diagrams/mermaid-c54f60b30f42.dark.svg | 1 + .../images/diagrams/mermaid-c54f60b30f42.svg | 1 + .../diagrams/mermaid-c6f9029821c4.dark.svg | 1 + .../images/diagrams/mermaid-c6f9029821c4.svg | 1 + .../diagrams/mermaid-cbd13fb6d19b.dark.svg | 1 + .../images/diagrams/mermaid-cbd13fb6d19b.svg | 1 + .../diagrams/mermaid-df98fc1dd069.dark.svg | 1 + .../images/diagrams/mermaid-df98fc1dd069.svg | 1 + .../diagrams/mermaid-e6dd95e32a3f.dark.svg | 1 + .../images/diagrams/mermaid-e6dd95e32a3f.svg | 1 + .../diagrams/mermaid-e88e1918cd26.dark.svg | 1 + .../images/diagrams/mermaid-e88e1918cd26.svg | 1 + .../diagrams/mermaid-f0001b5cde9f.dark.svg | 1 + .../images/diagrams/mermaid-f0001b5cde9f.svg | 1 + .../diagrams/mermaid-f67adb6018b3.dark.svg | 1 + .../images/diagrams/mermaid-f67adb6018b3.svg | 1 + .../diagrams/mermaid-f71496c9eae5.dark.svg | 1 + .../images/diagrams/mermaid-f71496c9eae5.svg | 1 + .../diagrams/mermaid-f74f7917dcf7.dark.svg | 1 + .../images/diagrams/mermaid-f74f7917dcf7.svg | 1 + content/docs/smallrye-mutiny/2/index.adoc | 88 + ...tributed_systems_are_asynchronous.dark.png | Bin 0 -> 113808 bytes .../distributed_systems_are_asynchronous.png | Bin 0 -> 124430 bytes .../going-reactive-a-few-pitfalls.adoc | 74 + .../2/reference/migrating-to-mutiny-2.adoc | 52 + .../2/reference/publications.adoc | 18 + .../2/reference/uni-and-multi.adoc | 44 + .../what-is-reactive-programming.adoc | 32 + .../what-makes-mutiny-different.adoc | 110 + .../why-is-asynchronous-important.adoc | 46 + .../docs/smallrye-mutiny/2/tags-index.adoc | 24 + .../2/tutorials/creating-multi-pipelines.adoc | 152 + .../2/tutorials/creating-uni-pipelines.adoc | 128 + .../2/tutorials/getting-mutiny.adoc | 142 + .../2/tutorials/handling-failures.adoc | 96 + .../2/tutorials/hello-mutiny.adoc | 75 + .../2/tutorials/mutiny-workshop.adoc | 16 + .../2/tutorials/observing-events.adoc | 113 + .../smallrye-mutiny/2/tutorials/retrying.adoc | 67 + .../running-workshop-sample.dark.png | Bin 0 -> 78904 bytes .../2/tutorials/running-workshop-sample.png | Bin 0 -> 106311 bytes .../transforming-items-asynchronously.adoc | 112 + .../2/tutorials/transforming-items.adoc | 54 + .../smallrye-mutiny/latest/_attributes.adoc | 22 + .../latest/_examples/java/FirstProgram.java | 11 + .../_examples/java/FirstProgramTest.java | 44 + .../_examples/java/guides/BranchingTest.java | 64 + .../java/guides/CompletionStageTest.java | 77 + .../java/guides/ContextPassingTest.java | 99 + .../_examples/java/guides/EventsTest.java | 60 + .../_examples/java/guides/PlugTest.java | 58 + .../latest/_examples/java/guides/RxTest.java | 111 + .../_examples/java/guides/ShortcutsTest.java | 29 + .../_examples/java/guides/SpiesTest.java | 40 + .../java/guides/TestSubscribersTest.java | 131 + .../_examples/java/guides/UncheckedTest.java | 69 + .../java/guides/UniMultiComparisonTest.java | 63 + .../_examples/java/guides/UniNullTest.java | 48 + .../_examples/java/guides/UniTimeoutTest.java | 102 + .../infrastructure/DroppedExceptionTest.java | 54 + .../infrastructure/InfrastructureTest.java | 39 + .../infrastructure/OperatorLoggingTest.java | 36 + .../integration/ImperativeToReactiveTest.java | 60 + .../integration/ReactiveToImperativeTest.java | 57 + .../java/guides/integration/ReactorTest.java | 158 ++ .../java/guides/integration/RxJavaTest.java | 277 ++ .../operators/BroadcastProcessorTest.java | 35 + .../guides/operators/CollectingItemsTest.java | 99 + .../guides/operators/CombiningItemsTest.java | 177 ++ .../guides/operators/ControlDemandTest.java | 93 + .../java/guides/operators/DelayTest.java | 87 + .../java/guides/operators/EmitOnTest.java | 62 + .../java/guides/operators/FilterTest.java | 101 + .../guides/operators/GroupingItemsTest.java | 188 ++ .../guides/operators/MergeConcatTest.java | 119 + .../java/guides/operators/PaginationTest.java | 97 + .../guides/operators/PausingDemandTest.java | 267 ++ .../guides/operators/PollableSourceTest.java | 84 + .../guides/operators/RepetitionsTest.java | 31 + .../java/guides/operators/ReplayTest.java | 82 + .../operators/RunSubscriptionOnTest.java | 67 + .../guides/operators/SelectAndSkipTest.java | 65 + .../java/guides/operators/SplitTest.java | 45 + .../java/guides/operators/UniJoinTest.java | 54 + .../operators/UnicastProcessorTest.java | 34 + .../java/guides/reference/PitfallsTest.java | 64 + .../java/tutorials/CreatingMultiTest.java | 134 + .../java/tutorials/CreatingUniTest.java | 111 + .../java/tutorials/HandlingFailuresTest.java | 105 + .../_examples/java/tutorials/ObserveTest.java | 65 + .../_examples/java/tutorials/RetryTest.java | 61 + .../tutorials/TransformItemsAsyncTest.java | 138 + .../java/tutorials/TransformItemsTest.java | 61 + .../_examples/kotlin/guides/Coroutines.kt | 62 + .../_examples/kotlin/guides/FailureExt.kt | 24 + .../_examples/kotlin/guides/MultiAwait.kt | 41 + .../_examples/kotlin/guides/MultiExt.kt | 50 + .../_examples/kotlin/guides/TupleExt.kt | 21 + .../latest/_examples/kotlin/guides/UniExt.kt | 21 + content/docs/smallrye-mutiny/latest/_nav.yml | 69 + .../CF_logo_horizontal_single_reverse.svg | 44 + .../latest/assets/logo-white.png | Bin 0 -> 3611 bytes .../latest/assets/logo-white.svg | 1 + .../smallrye-mutiny/latest/assets/logo.png | Bin 0 -> 49044 bytes .../latest/guides/branching.adoc | 57 + .../broadcasting-to-multiple-subscribers.adoc | 187 ++ .../latest/guides/collecting-items.adoc | 92 + .../latest/guides/combining-items.adoc | 110 + .../latest/guides/completion-stage.adoc | 86 + .../latest/guides/context-passing.adoc | 90 + .../latest/guides/controlling-demand.adoc | 158 ++ .../latest/guides/converters.adoc | 253 ++ .../latest/guides/custom-operators.adoc | 30 + .../latest/guides/delaying-events.adoc | 68 + .../latest/guides/dropped-exceptions.adoc | 26 + .../eliminate-duplicates-and-repetitions.adoc | 60 + .../latest/guides/emission-threads.adoc | 36 + .../emit-on-vs-run-subscription-on.adoc | 45 + .../latest/guides/filtering-items.adoc | 33 + .../latest/guides/framework-integration.adoc | 32 + .../latest/guides/grouping-items.adoc | 153 + .../latest/guides/handling-null.adoc | 40 + .../latest/guides/handling-timeouts.adoc | 53 + .../latest/guides/hot-streams.adoc | 26 + .../latest/guides/imperative-to-reactive.adoc | 71 + .../integrate-a-non-reactive-source.adoc | 20 + .../latest/guides/joining-unis.adoc | 67 + .../smallrye-mutiny/latest/guides/kotlin.adoc | 205 ++ .../latest/guides/logging.adoc | 66 + .../merging-and-concatenating-streams.adoc | 89 + .../latest/guides/multi-split.adoc | 51 + .../latest/guides/pagination.adoc | 46 + .../latest/guides/polling.adoc | 21 + .../latest/guides/reactive-to-imperative.adoc | 54 + .../latest/guides/replaying-multis.adoc | 94 + .../smallrye-mutiny/latest/guides/rx.adoc | 31 + .../latest/guides/shortcut-methods.adoc | 44 + .../smallrye-mutiny/latest/guides/spies.adoc | 71 + .../latest/guides/take-skip-items.adoc | 116 + .../latest/guides/testing.adoc | 72 + .../latest/guides/unchecked-exceptions.adoc | 42 + .../diagrams/mermaid-0277dcc2b534.dark.svg | 1 + .../images/diagrams/mermaid-0277dcc2b534.svg | 1 + .../diagrams/mermaid-18f9a50c0627.dark.svg | 1 + .../images/diagrams/mermaid-18f9a50c0627.svg | 1 + .../diagrams/mermaid-3b8d4c58438a.dark.svg | 1 + .../images/diagrams/mermaid-3b8d4c58438a.svg | 1 + .../diagrams/mermaid-3d4459e3c6a6.dark.svg | 1 + .../images/diagrams/mermaid-3d4459e3c6a6.svg | 1 + .../diagrams/mermaid-491ff27a51a5.dark.svg | 1 + .../images/diagrams/mermaid-491ff27a51a5.svg | 1 + .../diagrams/mermaid-69aa56febc93.dark.svg | 1 + .../images/diagrams/mermaid-69aa56febc93.svg | 1 + .../diagrams/mermaid-74e1ac453bf9.dark.svg | 1 + .../images/diagrams/mermaid-74e1ac453bf9.svg | 1 + .../diagrams/mermaid-76df06b35153.dark.svg | 1 + .../images/diagrams/mermaid-76df06b35153.svg | 1 + .../diagrams/mermaid-bc092005fd3f.dark.svg | 1 + .../images/diagrams/mermaid-bc092005fd3f.svg | 1 + .../diagrams/mermaid-c54f60b30f42.dark.svg | 1 + .../images/diagrams/mermaid-c54f60b30f42.svg | 1 + .../diagrams/mermaid-c6f9029821c4.dark.svg | 1 + .../images/diagrams/mermaid-c6f9029821c4.svg | 1 + .../diagrams/mermaid-cbd13fb6d19b.dark.svg | 1 + .../images/diagrams/mermaid-cbd13fb6d19b.svg | 1 + .../diagrams/mermaid-df98fc1dd069.dark.svg | 1 + .../images/diagrams/mermaid-df98fc1dd069.svg | 1 + .../diagrams/mermaid-e6dd95e32a3f.dark.svg | 1 + .../images/diagrams/mermaid-e6dd95e32a3f.svg | 1 + .../diagrams/mermaid-e88e1918cd26.dark.svg | 1 + .../images/diagrams/mermaid-e88e1918cd26.svg | 1 + .../diagrams/mermaid-f0001b5cde9f.dark.svg | 1 + .../images/diagrams/mermaid-f0001b5cde9f.svg | 1 + .../diagrams/mermaid-f67adb6018b3.dark.svg | 1 + .../images/diagrams/mermaid-f67adb6018b3.svg | 1 + .../diagrams/mermaid-f71496c9eae5.dark.svg | 1 + .../images/diagrams/mermaid-f71496c9eae5.svg | 1 + .../diagrams/mermaid-f74f7917dcf7.dark.svg | 1 + .../images/diagrams/mermaid-f74f7917dcf7.svg | 1 + .../docs/smallrye-mutiny/latest/index.adoc | 88 + ...tributed_systems_are_asynchronous.dark.png | Bin 0 -> 113808 bytes .../distributed_systems_are_asynchronous.png | Bin 0 -> 124430 bytes .../going-reactive-a-few-pitfalls.adoc | 74 + .../reference/migrating-to-mutiny-2.adoc | 52 + .../latest/reference/publications.adoc | 18 + .../latest/reference/uni-and-multi.adoc | 44 + .../what-is-reactive-programming.adoc | 32 + .../what-makes-mutiny-different.adoc | 110 + .../why-is-asynchronous-important.adoc | 46 + .../smallrye-mutiny/latest/tags-index.adoc | 24 + .../tutorials/creating-multi-pipelines.adoc | 152 + .../tutorials/creating-uni-pipelines.adoc | 128 + .../latest/tutorials/getting-mutiny.adoc | 142 + .../latest/tutorials/handling-failures.adoc | 96 + .../latest/tutorials/hello-mutiny.adoc | 75 + .../latest/tutorials/mutiny-workshop.adoc | 16 + .../latest/tutorials/observing-events.adoc | 113 + .../latest/tutorials/retrying.adoc | 67 + .../running-workshop-sample.dark.png | Bin 0 -> 78904 bytes .../tutorials/running-workshop-sample.png | Bin 0 -> 106311 bytes .../transforming-items-asynchronously.adoc | 135 + .../latest/tutorials/transforming-items.adoc | 54 + .../smallrye-mutiny/main/_attributes.adoc | 22 + .../main/_examples/java/FirstProgram.java | 11 + .../main/_examples/java/FirstProgramTest.java | 44 + .../_examples/java/guides/BranchingTest.java | 64 + .../java/guides/CompletionStageTest.java | 77 + .../java/guides/ContextPassingTest.java | 99 + .../_examples/java/guides/EventsTest.java | 60 + .../main/_examples/java/guides/PlugTest.java | 58 + .../main/_examples/java/guides/RxTest.java | 111 + .../_examples/java/guides/ShortcutsTest.java | 29 + .../main/_examples/java/guides/SpiesTest.java | 40 + .../java/guides/TestSubscribersTest.java | 131 + .../_examples/java/guides/UncheckedTest.java | 69 + .../java/guides/UniMultiComparisonTest.java | 63 + .../_examples/java/guides/UniNullTest.java | 48 + .../_examples/java/guides/UniTimeoutTest.java | 102 + .../infrastructure/DroppedExceptionTest.java | 54 + .../infrastructure/InfrastructureTest.java | 39 + .../infrastructure/OperatorLoggingTest.java | 36 + .../integration/ImperativeToReactiveTest.java | 60 + .../integration/ReactiveToImperativeTest.java | 57 + .../java/guides/integration/ReactorTest.java | 158 ++ .../java/guides/integration/RxJavaTest.java | 277 ++ .../operators/BroadcastProcessorTest.java | 35 + .../guides/operators/CollectingItemsTest.java | 99 + .../guides/operators/CombiningItemsTest.java | 177 ++ .../guides/operators/ControlDemandTest.java | 93 + .../java/guides/operators/DelayTest.java | 87 + .../java/guides/operators/EmitOnTest.java | 62 + .../java/guides/operators/FilterTest.java | 101 + .../guides/operators/GroupingItemsTest.java | 188 ++ .../guides/operators/MergeConcatTest.java | 119 + .../java/guides/operators/PaginationTest.java | 97 + .../guides/operators/PausingDemandTest.java | 267 ++ .../guides/operators/PollableSourceTest.java | 84 + .../guides/operators/RepetitionsTest.java | 31 + .../java/guides/operators/ReplayTest.java | 82 + .../operators/RunSubscriptionOnTest.java | 67 + .../guides/operators/SelectAndSkipTest.java | 65 + .../java/guides/operators/SplitTest.java | 45 + .../java/guides/operators/UniJoinTest.java | 54 + .../operators/UnicastProcessorTest.java | 34 + .../java/guides/reference/PitfallsTest.java | 64 + .../java/tutorials/CreatingMultiTest.java | 134 + .../java/tutorials/CreatingUniTest.java | 111 + .../java/tutorials/HandlingFailuresTest.java | 105 + .../_examples/java/tutorials/ObserveTest.java | 65 + .../_examples/java/tutorials/RetryTest.java | 61 + .../tutorials/TransformItemsAsyncTest.java | 138 + .../java/tutorials/TransformItemsTest.java | 61 + .../_examples/kotlin/guides/Coroutines.kt | 62 + .../_examples/kotlin/guides/FailureExt.kt | 24 + .../_examples/kotlin/guides/MultiAwait.kt | 41 + .../main/_examples/kotlin/guides/MultiExt.kt | 50 + .../main/_examples/kotlin/guides/TupleExt.kt | 21 + .../main/_examples/kotlin/guides/UniExt.kt | 21 + content/docs/smallrye-mutiny/main/_nav.yml | 69 + .../CF_logo_horizontal_single_reverse.svg | 44 + .../main/assets/logo-white.png | Bin 0 -> 3611 bytes .../main/assets/logo-white.svg | 1 + .../docs/smallrye-mutiny/main/assets/logo.png | Bin 0 -> 49044 bytes .../main/guides/branching.adoc | 57 + .../broadcasting-to-multiple-subscribers.adoc | 187 ++ .../main/guides/collecting-items.adoc | 92 + .../main/guides/combining-items.adoc | 110 + .../main/guides/completion-stage.adoc | 86 + .../main/guides/context-passing.adoc | 90 + .../main/guides/controlling-demand.adoc | 158 ++ .../main/guides/converters.adoc | 253 ++ .../main/guides/custom-operators.adoc | 30 + .../main/guides/delaying-events.adoc | 68 + .../main/guides/dropped-exceptions.adoc | 26 + .../eliminate-duplicates-and-repetitions.adoc | 60 + .../main/guides/emission-threads.adoc | 36 + .../emit-on-vs-run-subscription-on.adoc | 45 + .../main/guides/filtering-items.adoc | 33 + .../main/guides/framework-integration.adoc | 32 + .../main/guides/grouping-items.adoc | 153 + .../main/guides/handling-null.adoc | 40 + .../main/guides/handling-timeouts.adoc | 53 + .../main/guides/hot-streams.adoc | 26 + .../main/guides/imperative-to-reactive.adoc | 71 + .../integrate-a-non-reactive-source.adoc | 20 + .../main/guides/joining-unis.adoc | 67 + .../smallrye-mutiny/main/guides/kotlin.adoc | 205 ++ .../smallrye-mutiny/main/guides/logging.adoc | 66 + .../merging-and-concatenating-streams.adoc | 89 + .../main/guides/multi-split.adoc | 51 + .../main/guides/pagination.adoc | 46 + .../smallrye-mutiny/main/guides/polling.adoc | 21 + .../main/guides/reactive-to-imperative.adoc | 54 + .../main/guides/replaying-multis.adoc | 94 + .../docs/smallrye-mutiny/main/guides/rx.adoc | 31 + .../main/guides/shortcut-methods.adoc | 44 + .../smallrye-mutiny/main/guides/spies.adoc | 71 + .../main/guides/take-skip-items.adoc | 116 + .../smallrye-mutiny/main/guides/testing.adoc | 72 + .../main/guides/unchecked-exceptions.adoc | 42 + .../diagrams/mermaid-0277dcc2b534.dark.svg | 1 + .../images/diagrams/mermaid-0277dcc2b534.svg | 1 + .../diagrams/mermaid-18f9a50c0627.dark.svg | 1 + .../images/diagrams/mermaid-18f9a50c0627.svg | 1 + .../diagrams/mermaid-3b8d4c58438a.dark.svg | 1 + .../images/diagrams/mermaid-3b8d4c58438a.svg | 1 + .../diagrams/mermaid-3d4459e3c6a6.dark.svg | 1 + .../images/diagrams/mermaid-3d4459e3c6a6.svg | 1 + .../diagrams/mermaid-491ff27a51a5.dark.svg | 1 + .../images/diagrams/mermaid-491ff27a51a5.svg | 1 + .../diagrams/mermaid-69aa56febc93.dark.svg | 1 + .../images/diagrams/mermaid-69aa56febc93.svg | 1 + .../diagrams/mermaid-74e1ac453bf9.dark.svg | 1 + .../images/diagrams/mermaid-74e1ac453bf9.svg | 1 + .../diagrams/mermaid-76df06b35153.dark.svg | 1 + .../images/diagrams/mermaid-76df06b35153.svg | 1 + .../diagrams/mermaid-bc092005fd3f.dark.svg | 1 + .../images/diagrams/mermaid-bc092005fd3f.svg | 1 + .../diagrams/mermaid-c54f60b30f42.dark.svg | 1 + .../images/diagrams/mermaid-c54f60b30f42.svg | 1 + .../diagrams/mermaid-c6f9029821c4.dark.svg | 1 + .../images/diagrams/mermaid-c6f9029821c4.svg | 1 + .../diagrams/mermaid-cbd13fb6d19b.dark.svg | 1 + .../images/diagrams/mermaid-cbd13fb6d19b.svg | 1 + .../diagrams/mermaid-df98fc1dd069.dark.svg | 1 + .../images/diagrams/mermaid-df98fc1dd069.svg | 1 + .../diagrams/mermaid-e6dd95e32a3f.dark.svg | 1 + .../images/diagrams/mermaid-e6dd95e32a3f.svg | 1 + .../diagrams/mermaid-e88e1918cd26.dark.svg | 1 + .../images/diagrams/mermaid-e88e1918cd26.svg | 1 + .../diagrams/mermaid-f0001b5cde9f.dark.svg | 1 + .../images/diagrams/mermaid-f0001b5cde9f.svg | 1 + .../diagrams/mermaid-f67adb6018b3.dark.svg | 1 + .../images/diagrams/mermaid-f67adb6018b3.svg | 1 + .../diagrams/mermaid-f71496c9eae5.dark.svg | 1 + .../images/diagrams/mermaid-f71496c9eae5.svg | 1 + .../diagrams/mermaid-f74f7917dcf7.dark.svg | 1 + .../images/diagrams/mermaid-f74f7917dcf7.svg | 1 + content/docs/smallrye-mutiny/main/index.adoc | 88 + ...tributed_systems_are_asynchronous.dark.png | Bin 0 -> 113808 bytes .../distributed_systems_are_asynchronous.png | Bin 0 -> 124430 bytes .../going-reactive-a-few-pitfalls.adoc | 74 + .../main/reference/migrating-to-mutiny-2.adoc | 52 + .../main/reference/publications.adoc | 18 + .../main/reference/uni-and-multi.adoc | 44 + .../what-is-reactive-programming.adoc | 32 + .../what-makes-mutiny-different.adoc | 110 + .../why-is-asynchronous-important.adoc | 46 + .../docs/smallrye-mutiny/main/tags-index.adoc | 24 + .../tutorials/creating-multi-pipelines.adoc | 152 + .../tutorials/creating-uni-pipelines.adoc | 128 + .../main/tutorials/getting-mutiny.adoc | 142 + .../main/tutorials/handling-failures.adoc | 96 + .../main/tutorials/hello-mutiny.adoc | 75 + .../main/tutorials/mutiny-workshop.adoc | 16 + .../main/tutorials/observing-events.adoc | 113 + .../main/tutorials/retrying.adoc | 67 + .../running-workshop-sample.dark.png | Bin 0 -> 78904 bytes .../tutorials/running-workshop-sample.png | Bin 0 -> 106311 bytes .../transforming-items-asynchronously.adoc | 135 + .../main/tutorials/transforming-items.adoc | 54 + .../3/_attributes.adoc | 26 + .../3/_examples/ack/AutoNack.java | 55 + .../3/_examples/ack/MessageAckExamples.java | 52 + .../3/_examples/ack/NackOnEmitter.java | 27 + .../3/_examples/ack/PreAckExamples.java | 20 + .../3/_examples/ack/StreamAckExamples.java | 30 + .../amqp/customization/ClientProducers.java | 34 + .../amqp/inbound/AmqpMetadataExample.java | 27 + .../amqp/inbound/AmqpPriceConsumer.java | 15 + .../inbound/AmqpPriceMessageConsumer.java | 21 + .../AmqpCloudEventMultipleProcessors.java | 39 + .../outbound/AmqpCloudEventProcessor.java | 25 + .../AmqpOutboundDynamicAddressExample.java | 26 + .../outbound/AmqpOutboundMetadataExample.java | 23 + .../outbound/AmqpPriceMessageProducer.java | 26 + .../amqp/outbound/AmqpPriceProducer.java | 25 + .../3/_examples/beans/Chain.java | 27 + .../beans/MessageProcessingBean.java | 20 + .../beans/PayloadProcessingBean.java | 16 + .../broadcast/BroadcastExamples.java | 29 + .../broadcast/BroadcastWithCountExamples.java | 29 + .../3/_examples/camel/api/CamelApi.java | 69 + .../camel/inbound/CamelFileConsumer.java | 20 + .../inbound/CamelFileMessageConsumer.java | 23 + .../inbound/IncomingCamelMetadataExample.java | 29 + .../CamelOutboundMetadataExample.java | 31 + .../outbound/CamelPriceMessageProducer.java | 27 + .../camel/outbound/CamelPriceProducer.java | 26 + .../camel/processor/CamelProcessor.java | 18 + .../consumption/ConsumptionExamples.java | 70 + .../converters/ConverterExample.java | 24 + .../3/_examples/converters/MyConverter.java | 31 + .../decorators/ConsumedMessageDecorator.java | 41 + .../3/_examples/emitter/ChannelExamples.java | 30 + .../3/_examples/emitter/EmitterExamples.java | 119 + .../emitter/EmitterFactoryExamples.java | 87 + .../3/_examples/emitter/MutinyExamples.java | 33 + .../3/_examples/emitter/MyImperativeBean.java | 24 + .../generation/GenerationExamples.java | 95 + .../incomings/IncomingsExamples.java | 16 + .../_examples/interceptors/MyInterceptor.java | 30 + .../jms/inbound/JmsMetadataExample.java | 25 + .../jms/inbound/JmsPriceConsumer.java | 15 + .../jms/inbound/JmsPriceMessageConsumer.java | 21 + .../outbound/JmsOutboundMetadataExample.java | 23 + .../jms/outbound/JmsPriceMessageProducer.java | 26 + .../jms/outbound/JmsPriceProducer.java | 25 + .../kafka/companion/ConsumerTest.java | 45 + .../_examples/kafka/companion/KafkaTest.java | 76 + .../kafka/companion/KafkaWithBaseTest.java | 32 + .../kafka/companion/OffsetsTest.java | 36 + .../kafka/companion/ProducerTest.java | 34 + .../_examples/kafka/companion/TopicsTest.java | 20 + .../3/_examples/kafka/inbound/Converters.java | 30 + .../kafka/inbound/KafkaCheckpointExample.java | 31 + .../kafka/inbound/KafkaCustomCommit.java | 60 + .../kafka/inbound/KafkaDeadLetterExample.java | 30 + .../kafka/inbound/KafkaMetadataExample.java | 36 + .../kafka/inbound/KafkaPriceConsumer.java | 15 + .../inbound/KafkaPriceMessageConsumer.java | 21 + .../inbound/KafkaRebalancedConsumer.java | 23 + ...kaRebalancedConsumerRebalanceListener.java | 49 + .../inbound/KafkaRecordBatchExample.java | 45 + .../KafkaRecordBatchPayloadExample.java | 21 + .../kafka/inbound/MyCheckpointStateStore.java | 68 + .../KafkaCloudEventMultipleProcessors.java | 39 + .../outbound/KafkaCloudEventProcessor.java | 25 + .../outbound/KafkaExactlyOnceProcessor.java | 31 + .../KafkaOutboundDynamicTopicExample.java | 25 + .../KafkaOutboundMetadataExample.java | 25 + .../outbound/KafkaPriceMessageProducer.java | 26 + .../kafka/outbound/KafkaPriceProcessor.java | 19 + .../kafka/outbound/KafkaPriceProducer.java | 25 + .../outbound/KafkaProducerRecordExample.java | 18 + .../kafka/outbound/KafkaRecordExample.java | 21 + .../outbound/KafkaTransactionalProducer.java | 28 + .../ProducerInterceptorBeanExample.java | 37 + .../3/_examples/merge/MergeExamples.java | 31 + .../3/_examples/messages/MessageExamples.java | 96 + .../mqtt/customization/ClientProducers.java | 32 + .../mqtt/inbound/MqttPriceConsumer.java | 17 + .../inbound/MqttPriceMessageConsumer.java | 21 + .../outbound/MqttPriceMessageProducer.java | 26 + .../mqtt/outbound/MqttPriceProducer.java | 25 + .../processing/ProcessingExamples.java | 72 + .../_examples/processing/StreamExamples.java | 41 + .../quickstart/ReactiveMessagingExample.java | 35 + .../customization/RabbitMQProducers.java | 34 + .../inbound/RabbitMQMetadataExample.java | 36 + .../inbound/RabbitMQPriceConsumer.java | 15 + .../inbound/RabbitMQPriceMessageConsumer.java | 21 + .../RabbitMQOutboundMetadataExample.java | 26 + .../RabbitMQPriceMessageProducer.java | 33 + .../outbound/RabbitMQPriceProducer.java | 25 + .../3/_examples/skip/SingleSkip.java | 59 + .../3/_examples/skip/StreamSkip.java | 48 + .../3/_examples/testing/MyTest.java | 51 + .../3/_examples/testing/MyTestSetup.java | 23 + .../3/_generated/smallrye-amqp-incoming.adoc | 27 + .../3/_generated/smallrye-amqp-outgoing.adoc | 34 + .../3/_generated/smallrye-camel-incoming.adoc | 6 + .../3/_generated/smallrye-camel-outgoing.adoc | 6 + .../3/_generated/smallrye-jms-incoming.adoc | 15 + .../3/_generated/smallrye-jms-outgoing.adoc | 21 + .../3/_generated/smallrye-kafka-incoming.adoc | 50 + .../3/_generated/smallrye-kafka-outgoing.adoc | 40 + .../3/_generated/smallrye-mqtt-incoming.adoc | 37 + .../3/_generated/smallrye-mqtt-outgoing.adoc | 35 + .../smallrye-rabbitmq-incoming.adoc | 61 + .../smallrye-rabbitmq-outgoing.adoc | 38 + .../smallrye-reactive-messaging/3/_nav.yml | 124 + .../3/amqp/amqp.adoc | 49 + .../3/amqp/client-customization.adoc | 35 + .../3/amqp/health.adoc | 34 + .../3/amqp/rabbitmq.adoc | 38 + .../3/amqp/receiving-amqp-messages.adoc | 257 ++ .../3/amqp/sending-amqp-messages.adoc | 248 ++ .../3/camel/camel-processor.adoc | 37 + .../3/camel/camel.adoc | 67 + .../camel/receiving-messages-from-camel.adoc | 89 + .../3/camel/sending-messages-to-camel.adoc | 76 + .../3/camel/using-existing-routes.adoc | 59 + .../3/concepts/acknowledgement.adoc | 173 ++ .../3/concepts/advanced-config.adoc | 43 + .../3/concepts/blocking.adoc | 88 + .../3/concepts/broadcast.adoc | 49 + .../3/concepts/concepts.adoc | 100 + .../3/concepts/connectors.adoc | 182 ++ .../3/concepts/converters.adoc | 43 + .../3/concepts/decorators.adoc | 75 + .../3/concepts/emitter.adoc | 270 ++ .../3/concepts/incomings.adoc | 20 + .../3/concepts/logging.adoc | 269 ++ .../3/concepts/merge.adoc | 47 + .../3/concepts/message-context.adoc | 83 + .../3/concepts/model.adoc | 391 +++ .../3/concepts/signatures.adoc | 81 + .../3/concepts/skipping.adoc | 29 + .../3/concepts/testing.adoc | 66 + .../3/getting-started.adoc | 63 + .../3/images/chain.dark.png | Bin 0 -> 68029 bytes .../3/images/chain.png | Bin 0 -> 96931 bytes .../3/images/channels.dark.png | Bin 0 -> 36975 bytes .../3/images/channels.png | Bin 0 -> 47651 bytes .../3/images/connectors.dark.png | Bin 0 -> 91101 bytes .../3/images/connectors.png | Bin 0 -> 115514 bytes .../3/images/favicon.png | Bin 0 -> 335720 bytes .../3/images/incoming.png | Bin 0 -> 33961 bytes .../3/images/logo.png | Bin 0 -> 352162 bytes .../3/images/message.png | Bin 0 -> 29967 bytes .../3/images/messages.dark.png | Bin 0 -> 22226 bytes .../3/images/messages.png | Bin 0 -> 31071 bytes .../3/images/outgoing.png | Bin 0 -> 37982 bytes .../3/images/overview.dark.png | Bin 0 -> 227317 bytes .../3/images/overview.png | Bin 0 -> 332218 bytes .../3/images/processor.png | Bin 0 -> 52042 bytes .../3/images/redhat_reversed.svg | 1 + .../smallrye-reactive-messaging/3/index.adoc | 17 + .../3/jms/advanced-jms.adoc | 37 + .../3/jms/jms.adoc | 74 + .../3/jms/receiving-jms-messages.adoc | 101 + .../3/jms/sending-jms-messages.adoc | 106 + .../3/kafka/avro-configuration.adoc | 152 + .../3/kafka/client-service.adoc | 39 + .../3/kafka/consumer-rebalance-listener.adoc | 67 + .../3/kafka/default-configuration.adoc | 80 + .../3/kafka/health.adoc | 73 + .../3/kafka/kafka.adoc | 47 + .../3/kafka/kerberos.adoc | 22 + .../3/kafka/protobuf-configuration.adoc | 51 + .../3/kafka/receiving-kafka-records.adoc | 647 +++++ .../3/kafka/test-companion.adoc | 158 ++ .../3/kafka/transactions.adoc | 119 + .../3/kafka/writing-kafka-records.adoc | 354 +++ .../3/mqtt/client-customization.adoc | 21 + .../3/mqtt/mqtt.adoc | 44 + .../3/mqtt/receiving-mqtt-messages.adoc | 114 + .../3/mqtt/sending-messages-to-mqtt.adoc | 94 + .../rabbitmq-client-customization.adoc | 20 + .../3/rabbitmq/rabbitmq-cloud.adoc | 52 + .../3/rabbitmq/rabbitmq-health.adoc | 14 + .../3/rabbitmq/rabbitmq.adoc | 57 + .../receiving-messages-from-rabbitmq.adoc | 265 ++ .../sending-messages-to-rabbitmq.adoc | 170 ++ .../4/_attributes.adoc | 26 + .../4/_examples/ack/AutoNack.java | 55 + .../4/_examples/ack/MessageAckExamples.java | 52 + .../4/_examples/ack/NackOnEmitter.java | 27 + .../4/_examples/ack/PreAckExamples.java | 20 + .../4/_examples/ack/StreamAckExamples.java | 42 + .../amqp/customization/ClientProducers.java | 34 + .../customization/MyCbsTokenProvider.java | 32 + .../customization/MySasTokenProvider.java | 29 + .../amqp/inbound/AmqpMetadataExample.java | 27 + .../amqp/inbound/AmqpPriceConsumer.java | 15 + .../inbound/AmqpPriceMessageConsumer.java | 21 + .../AmqpCloudEventMultipleProcessors.java | 39 + .../outbound/AmqpCloudEventProcessor.java | 25 + .../AmqpOutboundDynamicAddressExample.java | 26 + .../outbound/AmqpOutboundMetadataExample.java | 23 + .../outbound/AmqpPriceMessageProducer.java | 26 + .../amqp/outbound/AmqpPriceProducer.java | 25 + .../_examples/amqp/outbound/AmqpReplier.java | 20 + .../outbound/AmqpReplierWithMetadata.java | 31 + .../outbound/AmqpRequestReplyEmitter.java | 21 + .../AmqpRequestReplyMessageEmitter.java | 22 + .../AmqpRequestReplyMultiEmitter.java | 21 + .../outbound/MyAmqpReplyFailureHandler.java | 24 + .../4/_examples/beans/Chain.java | 27 + .../beans/MessageProcessingBean.java | 20 + .../beans/PayloadProcessingBean.java | 16 + .../broadcast/BroadcastExamples.java | 29 + .../broadcast/BroadcastWithCountExamples.java | 29 + .../4/_examples/camel/api/CamelApi.java | 94 + .../camel/inbound/CamelFileConsumer.java | 20 + .../inbound/CamelFileMessageConsumer.java | 23 + .../inbound/IncomingCamelMetadataExample.java | 29 + .../CamelOutboundMetadataExample.java | 31 + .../outbound/CamelPriceMessageProducer.java | 27 + .../camel/outbound/CamelPriceProducer.java | 26 + .../camel/processor/CamelProcessor.java | 18 + .../4/_examples/connectors/MyAckHandler.java | 25 + .../4/_examples/connectors/MyConnector.java | 75 + .../connectors/MyConnectorWithPartials.java | 106 + .../connectors/MyFailureHandler.java | 27 + .../connectors/MyIncomingChannel.java | 57 + .../MyIncomingChannelWithPartials.java | 79 + .../connectors/MyIncomingMetadata.java | 34 + .../4/_examples/connectors/MyMessage.java | 51 + .../connectors/MyMessageConverter.java | 27 + .../connectors/MyOutgoingChannel.java | 49 + .../MyOutgoingChannelWithPartials.java | 105 + .../connectors/MyOutgoingMessage.java | 70 + .../connectors/MyOutgoingMetadata.java | 56 + .../connectors/test/MyConnectorTest.java | 52 + .../connectors/test/WeldTestBase.java | 140 + .../tracing/MyOpenTelemetryInstrumenter.java | 64 + .../consumption/ConsumptionExamples.java | 70 + .../converters/ConverterExample.java | 24 + .../4/_examples/converters/MyConverter.java | 31 + .../customizers/MyClientCustomizer.java | 17 + .../decorators/ConsumedMessageDecorator.java | 41 + .../4/_examples/emitter/ChannelExamples.java | 31 + .../4/_examples/emitter/EmitterExamples.java | 119 + .../emitter/EmitterFactoryExamples.java | 88 + .../4/_examples/emitter/MutinyExamples.java | 33 + .../4/_examples/emitter/MyImperativeBean.java | 24 + .../generation/GenerationExamples.java | 95 + .../genericpayload/GenericPayloadExample.java | 49 + .../incomings/IncomingsExamples.java | 16 + .../incomings/MetadataInjectionExample.java | 44 + .../interceptors/MyIncomingInterceptor.java | 28 + .../interceptors/MyOutgoingInterceptor.java | 30 + .../jms/inbound/JmsMetadataExample.java | 25 + .../jms/inbound/JmsPriceConsumer.java | 15 + .../jms/inbound/JmsPriceMessageConsumer.java | 21 + .../outbound/JmsOutboundMetadataExample.java | 23 + .../jms/outbound/JmsPriceMessageProducer.java | 26 + .../jms/outbound/JmsPriceProducer.java | 25 + .../kafka/companion/ConsumerTest.java | 45 + .../_examples/kafka/companion/KafkaTest.java | 76 + .../kafka/companion/KafkaWithBaseTest.java | 32 + .../kafka/companion/OffsetsTest.java | 36 + .../kafka/companion/ProducerTest.java | 34 + .../_examples/kafka/companion/TopicsTest.java | 20 + .../4/_examples/kafka/inbound/Converters.java | 30 + .../kafka/inbound/KafkaCheckpointExample.java | 31 + .../kafka/inbound/KafkaCustomCommit.java | 60 + .../kafka/inbound/KafkaDeadLetterExample.java | 30 + .../kafka/inbound/KafkaMetadataExample.java | 36 + .../kafka/inbound/KafkaPriceConsumer.java | 15 + .../inbound/KafkaPriceMessageConsumer.java | 21 + .../inbound/KafkaRebalancedConsumer.java | 22 + ...kaRebalancedConsumerRebalanceListener.java | 49 + .../inbound/KafkaRecordBatchExample.java | 60 + .../KafkaRecordBatchPayloadExample.java | 21 + .../inbound/KafkaShareGroupAckExample.java | 29 + .../KafkaShareGroupBatchAckExample.java | 30 + .../inbound/KafkaShareGroupConsumer.java | 15 + .../inbound/KafkaShareGroupNackExample.java | 41 + .../kafka/inbound/MyCheckpointStateStore.java | 68 + .../KafkaCloudEventMultipleProcessors.java | 39 + .../outbound/KafkaCloudEventProcessor.java | 25 + .../outbound/KafkaCustomHeaderReplier.java | 39 + .../outbound/KafkaExactlyOnceProcessor.java | 34 + .../KafkaOutboundDynamicTopicExample.java | 25 + .../KafkaOutboundMetadataExample.java | 25 + .../KafkaPooledExactlyOnceProcessor.java | 32 + .../outbound/KafkaPriceMessageProducer.java | 26 + .../kafka/outbound/KafkaPriceProcessor.java | 19 + .../kafka/outbound/KafkaPriceProducer.java | 25 + .../outbound/KafkaProducerRecordExample.java | 18 + .../kafka/outbound/KafkaRecordExample.java | 21 + .../kafka/outbound/KafkaReplier.java | 20 + .../outbound/KafkaRequestReplyEmitter.java | 21 + .../KafkaRequestReplyMessageEmitter.java | 26 + .../KafkaRequestReplyMultiEmitter.java | 21 + .../outbound/KafkaTransactionalProducer.java | 28 + .../kafka/outbound/MyReplyFailureHandler.java | 23 + .../ProducerInterceptorBeanExample.java | 37 + .../keyed/KeyValueExtractorFromPayload.java | 35 + .../4/_examples/keyed/KeyedExample.java | 25 + .../4/_examples/keyed/KeyedMultiExample.java | 27 + .../4/_examples/merge/MergeExamples.java | 31 + .../4/_examples/messages/MessageExamples.java | 96 + .../mqtt/customization/ClientProducers.java | 32 + .../mqtt/inbound/MqttPriceConsumer.java | 17 + .../inbound/MqttPriceMessageConsumer.java | 21 + .../outbound/MqttPriceMessageProducer.java | 26 + .../mqtt/outbound/MqttPriceProducer.java | 25 + .../ContextMessageObservationCollector.java | 57 + .../SimpleMessageObservationCollector.java | 21 + .../_examples/outgoings/OutgoingsExample.java | 18 + .../outgoings/SplitterMultiExample.java | 37 + .../_examples/outgoings/TargetedExample.java | 44 + .../pausable/PausableController.java | 46 + .../processing/ProcessingExamples.java | 72 + .../_examples/processing/StreamExamples.java | 41 + .../PulsarClientConfigProducers.java | 66 + .../configuration/PulsarSchemaProvider.java | 30 + .../inbound/PulsarMessageBatchExample.java | 54 + .../PulsarMessageBatchPayloadExample.java | 21 + .../pulsar/inbound/PulsarMetadataExample.java | 35 + .../pulsar/inbound/PulsarPriceConsumer.java | 15 + .../inbound/PulsarPriceMessageConsumer.java | 21 + .../outbound/PulsarExactlyOnceProcessor.java | 35 + .../outbound/PulsarKeyValueExample.java | 28 + .../PulsarOutboundMetadataExample.java | 26 + .../PulsarOutgoingMessageExample.java | 18 + .../outbound/PulsarPriceMessageProducer.java | 26 + .../pulsar/outbound/PulsarPriceProducer.java | 25 + .../outbound/PulsarTransactionalProducer.java | 38 + .../quickstart/ReactiveMessagingExample.java | 35 + .../customization/ArgumentProducers.java | 17 + .../customization/RabbitMQProducers.java | 34 + .../inbound/RabbitMQMetadataExample.java | 36 + .../inbound/RabbitMQPriceConsumer.java | 15 + .../inbound/RabbitMQPriceMessageConsumer.java | 21 + .../RabbitMQRejectMetadataExample.java | 24 + .../MyRabbitMQReplyFailureHandler.java | 21 + .../RabbitMQOutboundMetadataExample.java | 26 + .../RabbitMQPriceMessageProducer.java | 33 + .../outbound/RabbitMQPriceProducer.java | 25 + .../rabbitmq/outbound/RabbitMQReplier.java | 20 + .../outbound/RabbitMQRequestReplyEmitter.java | 21 + .../RabbitMQRequestReplyMessageEmitter.java | 22 + .../RabbitMQRequestReplyMultiEmitter.java | 21 + .../4/_examples/skip/SingleSkip.java | 59 + .../4/_examples/skip/StreamSkip.java | 48 + .../sns/outbound/SnsMessageProducer.java | 27 + .../outbound/SnsOutboundMetadataExample.java | 29 + .../4/_examples/sns/outbound/SnsProducer.java | 22 + .../sqs/inbound/SqsCustomAckStrategy.java | 36 + .../sqs/inbound/SqsCustomNackStrategy.java | 33 + .../sqs/inbound/SqsMessageStringConsumer.java | 17 + .../sqs/inbound/SqsMetadataExample.java | 21 + ...eceiveMessageRequestCustomizerExample.java | 17 + .../sqs/inbound/SqsSdkMessageConsumer.java | 21 + .../sqs/inbound/SqsStringConsumer.java | 13 + .../4/_examples/sqs/json/SqsJsonMapping.java | 56 + .../outbound/SqsMessageStringProducer.java | 27 + .../outbound/SqsOutboundMetadataExample.java | 27 + .../sqs/outbound/SqsStringProducer.java | 22 + .../4/_examples/testing/MyTest.java | 52 + .../4/_examples/testing/MyTestSetup.java | 23 + .../4/_generated/smallrye-amqp-incoming.adoc | 37 + .../4/_generated/smallrye-amqp-outgoing.adoc | 44 + .../4/_generated/smallrye-camel-incoming.adoc | 6 + .../4/_generated/smallrye-camel-outgoing.adoc | 6 + .../4/_generated/smallrye-jms-incoming.adoc | 25 + .../4/_generated/smallrye-jms-outgoing.adoc | 28 + .../4/_generated/smallrye-kafka-incoming.adoc | 65 + .../4/_generated/smallrye-kafka-outgoing.adoc | 46 + .../4/_generated/smallrye-mqtt-incoming.adoc | 38 + .../4/_generated/smallrye-mqtt-outgoing.adoc | 37 + .../_generated/smallrye-pulsar-incoming.adoc | 21 + .../_generated/smallrye-pulsar-outgoing.adoc | 13 + .../smallrye-rabbitmq-incoming.adoc | 79 + .../smallrye-rabbitmq-outgoing.adoc | 48 + .../4/_generated/smallrye-sns-outgoing.adoc | 17 + .../4/_generated/smallrye-sqs-incoming.adoc | 21 + .../4/_generated/smallrye-sqs-outgoing.adoc | 15 + .../smallrye-reactive-messaging/4/_nav.yml | 177 ++ .../pulsar/config/smallrye-pulsar-client.adoc | 58 + .../config/smallrye-pulsar-consumer.adoc | 137 + .../config/smallrye-pulsar-producer.adoc | 60 + .../4/amqp/amqp.adoc | 51 + .../4/amqp/cbs-authentication.adoc | 186 ++ .../4/amqp/client-customization.adoc | 50 + .../4/amqp/health.adoc | 34 + .../4/amqp/rabbitmq.adoc | 61 + .../4/amqp/receiving-amqp-messages.adoc | 257 ++ .../4/amqp/request-reply.adoc | 202 ++ .../4/amqp/sending-amqp-messages.adoc | 254 ++ .../4/camel/camel-processor.adoc | 37 + .../4/camel/camel.adoc | 75 + .../camel/receiving-messages-from-camel.adoc | 89 + .../4/camel/sending-messages-to-camel.adoc | 76 + .../4/camel/using-existing-routes.adoc | 67 + .../4/concepts/acknowledgement.adoc | 183 ++ .../4/concepts/advanced-config.adoc | 43 + .../4/concepts/blocking.adoc | 105 + .../4/concepts/broadcast.adoc | 49 + .../4/concepts/client-customizers.adoc | 28 + .../4/concepts/concepts.adoc | 100 + .../4/concepts/connectors.adoc | 199 ++ .../4/concepts/contributing-connectors.adoc | 457 +++ .../4/concepts/converters.adoc | 43 + .../4/concepts/decorators.adoc | 96 + .../4/concepts/emitter.adoc | 270 ++ .../4/concepts/generic-payloads.adoc | 55 + .../4/concepts/incoming-concurrency.adoc | 73 + .../concepts/incoming-metadata-injection.adoc | 29 + .../4/concepts/incomings.adoc | 20 + .../4/concepts/keyed-multi.adoc | 52 + .../4/concepts/logging.adoc | 269 ++ .../4/concepts/merge.adoc | 47 + .../4/concepts/message-context.adoc | 83 + .../4/concepts/model.adoc | 423 +++ .../4/concepts/observability.adoc | 38 + .../4/concepts/outgoings.adoc | 79 + .../4/concepts/pausable-channels.adoc | 64 + .../4/concepts/signatures.adoc | 105 + .../4/concepts/skipping.adoc | 29 + .../4/concepts/testing.adoc | 80 + .../4/getting-started.adoc | 63 + .../4/images/chain.dark.png | Bin 0 -> 68029 bytes .../4/images/chain.png | Bin 0 -> 96931 bytes .../4/images/channels.dark.png | Bin 0 -> 36975 bytes .../4/images/channels.png | Bin 0 -> 47651 bytes .../4/images/connectors.dark.png | Bin 0 -> 91101 bytes .../4/images/connectors.png | Bin 0 -> 115514 bytes .../4/images/favicon.png | Bin 0 -> 335720 bytes .../4/images/incoming.png | Bin 0 -> 33961 bytes .../4/images/logo.png | Bin 0 -> 352162 bytes .../4/images/message.png | Bin 0 -> 29967 bytes .../4/images/messages.dark.png | Bin 0 -> 22226 bytes .../4/images/messages.png | Bin 0 -> 31071 bytes .../4/images/outgoing.png | Bin 0 -> 37982 bytes .../4/images/overview.dark.png | Bin 0 -> 227317 bytes .../4/images/overview.png | Bin 0 -> 332218 bytes .../4/images/processor.png | Bin 0 -> 52042 bytes .../4/images/redhat_reversed.svg | 1 + .../smallrye-reactive-messaging/4/index.adoc | 17 + .../4/jms/advanced-jms.adoc | 37 + .../4/jms/jms.adoc | 74 + .../4/jms/receiving-jms-messages.adoc | 115 + .../4/jms/sending-jms-messages.adoc | 106 + .../4/kafka/avro-configuration.adoc | 152 + .../4/kafka/client-service.adoc | 39 + .../4/kafka/consumer-rebalance-listener.adoc | 67 + .../4/kafka/default-configuration.adoc | 80 + .../4/kafka/health.adoc | 107 + .../4/kafka/kafka.adoc | 47 + .../4/kafka/kerberos.adoc | 22 + .../4/kafka/protobuf-configuration.adoc | 51 + .../4/kafka/receiving-kafka-records.adoc | 1058 +++++++ .../4/kafka/request-reply.adoc | 175 ++ .../4/kafka/test-companion.adoc | 158 ++ .../4/kafka/transactions.adoc | 165 ++ .../4/kafka/writing-kafka-records.adoc | 354 +++ .../4/mqtt/client-customization.adoc | 21 + .../4/mqtt/mqtt.adoc | 44 + .../4/mqtt/receiving-mqtt-messages.adoc | 114 + .../4/mqtt/sending-messages-to-mqtt.adoc | 94 + .../4/pulsar/client-configuration.adoc | 98 + .../4/pulsar/client-service.adoc | 24 + .../4/pulsar/health.adoc | 24 + .../4/pulsar/pulsar.adoc | 64 + .../4/pulsar/receiving-pulsar-messages.adoc | 196 ++ .../4/pulsar/schema-configuration.adoc | 57 + .../4/pulsar/sending-messages-to-pulsar.adoc | 160 ++ .../4/pulsar/transactions.adoc | 89 + .../rabbitmq-client-customization.adoc | 49 + .../4/rabbitmq/rabbitmq-cloud.adoc | 52 + .../4/rabbitmq/rabbitmq-health.adoc | 27 + .../4/rabbitmq/rabbitmq.adoc | 57 + .../receiving-messages-from-rabbitmq.adoc | 324 +++ .../4/rabbitmq/request-reply.adoc | 139 + .../sending-messages-to-rabbitmq.adoc | 193 ++ .../4/sns/sending-aws-sns-messages.adoc | 72 + .../4/sns/sns.adoc | 59 + .../4/sqs/receiving-aws-sqs-messages.adoc | 140 + .../4/sqs/sending-aws-sqs-messages.adoc | 74 + .../4/sqs/sqs.adoc | 62 + .../latest/_attributes.adoc | 26 + .../latest/_examples/ack/AutoNack.java | 55 + .../_examples/ack/MessageAckExamples.java | 52 + .../latest/_examples/ack/NackOnEmitter.java | 27 + .../latest/_examples/ack/PreAckExamples.java | 20 + .../_examples/ack/StreamAckExamples.java | 42 + .../amqp/customization/ClientProducers.java | 34 + .../customization/MyCbsTokenProvider.java | 32 + .../customization/MySasTokenProvider.java | 29 + .../amqp/inbound/AmqpMetadataExample.java | 27 + .../amqp/inbound/AmqpPriceConsumer.java | 15 + .../inbound/AmqpPriceMessageConsumer.java | 21 + .../AmqpCloudEventMultipleProcessors.java | 39 + .../outbound/AmqpCloudEventProcessor.java | 25 + .../AmqpOutboundDynamicAddressExample.java | 26 + .../outbound/AmqpOutboundMetadataExample.java | 23 + .../outbound/AmqpPriceMessageProducer.java | 26 + .../amqp/outbound/AmqpPriceProducer.java | 25 + .../_examples/amqp/outbound/AmqpReplier.java | 20 + .../outbound/AmqpReplierWithMetadata.java | 31 + .../outbound/AmqpRequestReplyEmitter.java | 21 + .../AmqpRequestReplyMessageEmitter.java | 22 + .../AmqpRequestReplyMultiEmitter.java | 21 + .../outbound/MyAmqpReplyFailureHandler.java | 24 + .../latest/_examples/beans/Chain.java | 27 + .../beans/MessageProcessingBean.java | 20 + .../beans/PayloadProcessingBean.java | 16 + .../broadcast/BroadcastExamples.java | 29 + .../broadcast/BroadcastWithCountExamples.java | 29 + .../latest/_examples/camel/api/CamelApi.java | 94 + .../camel/inbound/CamelFileConsumer.java | 20 + .../inbound/CamelFileMessageConsumer.java | 23 + .../inbound/IncomingCamelMetadataExample.java | 29 + .../CamelOutboundMetadataExample.java | 31 + .../outbound/CamelPriceMessageProducer.java | 27 + .../camel/outbound/CamelPriceProducer.java | 26 + .../camel/processor/CamelProcessor.java | 18 + .../_examples/connectors/MyAckHandler.java | 25 + .../_examples/connectors/MyConnector.java | 75 + .../connectors/MyConnectorWithPartials.java | 106 + .../connectors/MyFailureHandler.java | 27 + .../connectors/MyIncomingChannel.java | 57 + .../MyIncomingChannelWithPartials.java | 79 + .../connectors/MyIncomingMetadata.java | 34 + .../_examples/connectors/MyMessage.java | 51 + .../connectors/MyMessageConverter.java | 27 + .../connectors/MyOutgoingChannel.java | 49 + .../MyOutgoingChannelWithPartials.java | 105 + .../connectors/MyOutgoingMessage.java | 70 + .../connectors/MyOutgoingMetadata.java | 56 + .../connectors/test/MyConnectorTest.java | 52 + .../connectors/test/WeldTestBase.java | 140 + .../tracing/MyOpenTelemetryInstrumenter.java | 64 + .../consumption/ConsumptionExamples.java | 70 + .../converters/ConverterExample.java | 24 + .../_examples/converters/MyConverter.java | 31 + .../customizers/MyClientCustomizer.java | 17 + .../decorators/ConsumedMessageDecorator.java | 41 + .../_examples/emitter/ChannelExamples.java | 31 + .../_examples/emitter/EmitterExamples.java | 119 + .../emitter/EmitterFactoryExamples.java | 88 + .../_examples/emitter/MutinyExamples.java | 33 + .../_examples/emitter/MyImperativeBean.java | 24 + .../generation/GenerationExamples.java | 95 + .../genericpayload/GenericPayloadExample.java | 49 + .../incomings/IncomingsExamples.java | 16 + .../incomings/MetadataInjectionExample.java | 44 + .../interceptors/MyIncomingInterceptor.java | 28 + .../interceptors/MyOutgoingInterceptor.java | 30 + .../jms/inbound/JmsMetadataExample.java | 25 + .../jms/inbound/JmsPriceConsumer.java | 15 + .../jms/inbound/JmsPriceMessageConsumer.java | 21 + .../outbound/JmsOutboundMetadataExample.java | 23 + .../jms/outbound/JmsPriceMessageProducer.java | 26 + .../jms/outbound/JmsPriceProducer.java | 25 + .../kafka/companion/ConsumerTest.java | 45 + .../_examples/kafka/companion/KafkaTest.java | 76 + .../kafka/companion/KafkaWithBaseTest.java | 32 + .../kafka/companion/OffsetsTest.java | 36 + .../kafka/companion/ProducerTest.java | 34 + .../_examples/kafka/companion/TopicsTest.java | 20 + .../_examples/kafka/inbound/Converters.java | 30 + .../kafka/inbound/KafkaCheckpointExample.java | 32 + .../kafka/inbound/KafkaCustomCommit.java | 60 + .../kafka/inbound/KafkaDeadLetterExample.java | 30 + .../kafka/inbound/KafkaMetadataExample.java | 36 + .../kafka/inbound/KafkaPriceConsumer.java | 15 + .../inbound/KafkaPriceMessageConsumer.java | 21 + .../inbound/KafkaRebalancedConsumer.java | 22 + ...kaRebalancedConsumerRebalanceListener.java | 49 + .../inbound/KafkaRecordBatchExample.java | 60 + .../KafkaRecordBatchPayloadExample.java | 21 + .../inbound/KafkaShareGroupAckExample.java | 29 + .../KafkaShareGroupBatchAckExample.java | 30 + .../inbound/KafkaShareGroupConsumer.java | 15 + .../inbound/KafkaShareGroupNackExample.java | 41 + .../kafka/inbound/MyCheckpointStateStore.java | 69 + .../KafkaCloudEventMultipleProcessors.java | 39 + .../outbound/KafkaCloudEventProcessor.java | 25 + .../outbound/KafkaCustomHeaderReplier.java | 39 + .../outbound/KafkaExactlyOnceProcessor.java | 34 + .../KafkaOutboundDynamicTopicExample.java | 25 + .../KafkaOutboundMetadataExample.java | 25 + .../KafkaPooledExactlyOnceProcessor.java | 32 + .../outbound/KafkaPriceMessageProducer.java | 26 + .../kafka/outbound/KafkaPriceProcessor.java | 19 + .../kafka/outbound/KafkaPriceProducer.java | 25 + .../outbound/KafkaProducerRecordExample.java | 18 + .../kafka/outbound/KafkaRecordExample.java | 21 + .../kafka/outbound/KafkaReplier.java | 20 + .../outbound/KafkaRequestReplyEmitter.java | 21 + .../KafkaRequestReplyMessageEmitter.java | 26 + .../KafkaRequestReplyMultiEmitter.java | 21 + .../outbound/KafkaTransactionalProducer.java | 28 + .../kafka/outbound/MyReplyFailureHandler.java | 23 + .../ProducerInterceptorBeanExample.java | 37 + .../keyed/KeyValueExtractorFromPayload.java | 35 + .../latest/_examples/keyed/KeyedExample.java | 25 + .../_examples/keyed/KeyedMultiExample.java | 27 + .../latest/_examples/merge/MergeExamples.java | 31 + .../_examples/messages/MessageExamples.java | 96 + .../mqtt/customization/ClientProducers.java | 32 + .../mqtt/inbound/MqttPriceConsumer.java | 17 + .../inbound/MqttPriceMessageConsumer.java | 21 + .../outbound/MqttPriceMessageProducer.java | 26 + .../mqtt/outbound/MqttPriceProducer.java | 25 + .../ContextMessageObservationCollector.java | 57 + .../SimpleMessageObservationCollector.java | 21 + .../_examples/outgoings/OutgoingsExample.java | 18 + .../outgoings/SplitterMultiExample.java | 37 + .../_examples/outgoings/TargetedExample.java | 44 + .../pausable/PausableController.java | 46 + .../processing/ProcessingExamples.java | 72 + .../_examples/processing/StreamExamples.java | 41 + .../PulsarClientConfigProducers.java | 66 + .../configuration/PulsarSchemaProvider.java | 30 + .../inbound/PulsarMessageBatchExample.java | 54 + .../PulsarMessageBatchPayloadExample.java | 21 + .../pulsar/inbound/PulsarMetadataExample.java | 35 + .../pulsar/inbound/PulsarPriceConsumer.java | 15 + .../inbound/PulsarPriceMessageConsumer.java | 21 + .../outbound/PulsarExactlyOnceProcessor.java | 35 + .../outbound/PulsarKeyValueExample.java | 28 + .../PulsarOutboundMetadataExample.java | 26 + .../PulsarOutgoingMessageExample.java | 18 + .../outbound/PulsarPriceMessageProducer.java | 26 + .../pulsar/outbound/PulsarPriceProducer.java | 25 + .../outbound/PulsarTransactionalProducer.java | 38 + .../quickstart/ReactiveMessagingExample.java | 35 + .../MyRabbitMQReplyFailureHandler.java | 21 + .../rabbitmq/outbound/RabbitMQReplier.java | 20 + .../outbound/RabbitMQRequestReplyEmitter.java | 21 + .../RabbitMQRequestReplyMessageEmitter.java | 22 + .../RabbitMQRequestReplyMultiEmitter.java | 21 + .../latest/_examples/skip/SingleSkip.java | 59 + .../latest/_examples/skip/StreamSkip.java | 48 + .../sns/outbound/SnsMessageProducer.java | 27 + .../outbound/SnsOutboundMetadataExample.java | 29 + .../_examples/sns/outbound/SnsProducer.java | 22 + .../sqs/inbound/SqsCustomAckStrategy.java | 36 + .../sqs/inbound/SqsCustomNackStrategy.java | 33 + .../sqs/inbound/SqsMessageStringConsumer.java | 17 + .../sqs/inbound/SqsMetadataExample.java | 21 + ...eceiveMessageRequestCustomizerExample.java | 17 + .../sqs/inbound/SqsSdkMessageConsumer.java | 21 + .../sqs/inbound/SqsStringConsumer.java | 13 + .../_examples/sqs/json/SqsJsonMapping.java | 56 + .../outbound/SqsMessageStringProducer.java | 27 + .../outbound/SqsOutboundMetadataExample.java | 27 + .../sqs/outbound/SqsStringProducer.java | 22 + .../latest/_examples/testing/MyTest.java | 52 + .../latest/_examples/testing/MyTestSetup.java | 23 + .../_generated/smallrye-amqp-incoming.adoc | 37 + .../_generated/smallrye-amqp-outgoing.adoc | 44 + .../_generated/smallrye-camel-incoming.adoc | 6 + .../_generated/smallrye-camel-outgoing.adoc | 6 + .../_generated/smallrye-jms-incoming.adoc | 25 + .../_generated/smallrye-jms-outgoing.adoc | 28 + .../_generated/smallrye-kafka-incoming.adoc | 65 + .../_generated/smallrye-kafka-outgoing.adoc | 46 + .../_generated/smallrye-mqtt-incoming.adoc | 45 + .../_generated/smallrye-mqtt-outgoing.adoc | 40 + .../_generated/smallrye-pulsar-incoming.adoc | 21 + .../_generated/smallrye-pulsar-outgoing.adoc | 13 + .../_generated/smallrye-sns-outgoing.adoc | 17 + .../_generated/smallrye-sqs-incoming.adoc | 21 + .../_generated/smallrye-sqs-outgoing.adoc | 15 + .../latest/_nav.yml | 192 ++ .../pulsar/config/smallrye-pulsar-client.adoc | 58 + .../config/smallrye-pulsar-consumer.adoc | 137 + .../config/smallrye-pulsar-producer.adoc | 60 + .../latest/amqp/amqp.adoc | 51 + .../latest/amqp/cbs-authentication.adoc | 186 ++ .../latest/amqp/client-customization.adoc | 50 + .../latest/amqp/health.adoc | 34 + .../latest/amqp/rabbitmq.adoc | 61 + .../latest/amqp/receiving-amqp-messages.adoc | 257 ++ .../latest/amqp/request-reply.adoc | 202 ++ .../latest/amqp/sending-amqp-messages.adoc | 254 ++ .../latest/camel/camel-processor.adoc | 37 + .../latest/camel/camel.adoc | 75 + .../camel/receiving-messages-from-camel.adoc | 89 + .../camel/sending-messages-to-camel.adoc | 76 + .../latest/camel/using-existing-routes.adoc | 67 + .../latest/concepts/acknowledgement.adoc | 183 ++ .../latest/concepts/advanced-config.adoc | 43 + .../latest/concepts/blocking.adoc | 105 + .../latest/concepts/broadcast.adoc | 49 + .../latest/concepts/client-customizers.adoc | 28 + .../latest/concepts/concepts.adoc | 100 + .../latest/concepts/connectors.adoc | 199 ++ .../concepts/contributing-connectors.adoc | 457 +++ .../latest/concepts/converters.adoc | 43 + .../latest/concepts/decorators.adoc | 96 + .../latest/concepts/emitter.adoc | 270 ++ .../latest/concepts/generic-payloads.adoc | 55 + .../latest/concepts/incoming-concurrency.adoc | 73 + .../concepts/incoming-metadata-injection.adoc | 29 + .../latest/concepts/incomings.adoc | 20 + .../latest/concepts/keyed-multi.adoc | 52 + .../latest/concepts/logging.adoc | 269 ++ .../latest/concepts/merge.adoc | 47 + .../latest/concepts/message-context.adoc | 83 + .../latest/concepts/model.adoc | 423 +++ .../latest/concepts/observability.adoc | 38 + .../latest/concepts/outgoings.adoc | 79 + .../latest/concepts/pausable-channels.adoc | 64 + .../latest/concepts/signatures.adoc | 105 + .../latest/concepts/skipping.adoc | 29 + .../latest/concepts/testing.adoc | 131 + .../latest/getting-started.adoc | 63 + .../latest/images/chain.dark.png | Bin 0 -> 68029 bytes .../latest/images/chain.png | Bin 0 -> 96931 bytes .../latest/images/channels.dark.png | Bin 0 -> 36975 bytes .../latest/images/channels.png | Bin 0 -> 47651 bytes .../latest/images/connectors.dark.png | Bin 0 -> 91101 bytes .../latest/images/connectors.png | Bin 0 -> 115514 bytes .../latest/images/favicon.png | Bin 0 -> 335720 bytes .../latest/images/incoming.png | Bin 0 -> 33961 bytes .../latest/images/logo.png | Bin 0 -> 352162 bytes .../latest/images/message.png | Bin 0 -> 29967 bytes .../latest/images/messages.dark.png | Bin 0 -> 22226 bytes .../latest/images/messages.png | Bin 0 -> 31071 bytes .../latest/images/outgoing.png | Bin 0 -> 37982 bytes .../latest/images/overview.dark.png | Bin 0 -> 227317 bytes .../latest/images/overview.png | Bin 0 -> 332218 bytes .../latest/images/processor.png | Bin 0 -> 52042 bytes .../latest/images/redhat_reversed.svg | 1 + .../latest/index.adoc | 17 + .../latest/jms/advanced-jms.adoc | 37 + .../latest/jms/jms.adoc | 74 + .../latest/jms/receiving-jms-messages.adoc | 115 + .../latest/jms/sending-jms-messages.adoc | 106 + .../latest/kafka/avro-configuration.adoc | 152 + .../latest/kafka/client-service.adoc | 39 + .../kafka/consumer-rebalance-listener.adoc | 67 + .../latest/kafka/default-configuration.adoc | 80 + .../latest/kafka/health.adoc | 107 + .../latest/kafka/kafka.adoc | 47 + .../latest/kafka/kerberos.adoc | 22 + .../latest/kafka/protobuf-configuration.adoc | 51 + .../latest/kafka/receiving-kafka-records.adoc | 1057 +++++++ .../latest/kafka/request-reply.adoc | 175 ++ .../latest/kafka/test-companion.adoc | 158 ++ .../latest/kafka/transactions.adoc | 165 ++ .../latest/kafka/writing-kafka-records.adoc | 354 +++ .../latest/mqtt/client-customization.adoc | 21 + .../latest/mqtt/mqtt.adoc | 44 + .../latest/mqtt/receiving-mqtt-messages.adoc | 114 + .../latest/mqtt/sending-messages-to-mqtt.adoc | 94 + .../latest/pulsar/client-configuration.adoc | 98 + .../latest/pulsar/client-service.adoc | 24 + .../latest/pulsar/health.adoc | 24 + .../latest/pulsar/pulsar.adoc | 64 + .../pulsar/receiving-pulsar-messages.adoc | 196 ++ .../latest/pulsar/schema-configuration.adoc | 57 + .../pulsar/sending-messages-to-pulsar.adoc | 160 ++ .../latest/pulsar/transactions.adoc | 89 + .../rabbitmq-og-client-customization.adoc | 57 + .../latest/rabbitmq/rabbitmq-og-cloud.adoc | 52 + .../latest/rabbitmq/rabbitmq-og-health.adoc | 27 + .../latest/rabbitmq/rabbitmq-og-tracing.adoc | 41 + .../latest/rabbitmq/rabbitmq-og.adoc | 68 + .../receiving-messages-from-rabbitmq.adoc | 308 ++ .../latest/rabbitmq/request-reply.adoc | 139 + .../sending-messages-to-rabbitmq.adoc | 241 ++ .../latest/sns/sending-aws-sns-messages.adoc | 72 + .../latest/sns/sns.adoc | 59 + .../sqs/receiving-aws-sqs-messages.adoc | 140 + .../latest/sqs/sending-aws-sqs-messages.adoc | 74 + .../latest/sqs/sqs.adoc | 62 + .../main/_attributes.adoc | 26 + .../main/_examples/ack/AutoNack.java | 55 + .../_examples/ack/MessageAckExamples.java | 52 + .../main/_examples/ack/NackOnEmitter.java | 27 + .../main/_examples/ack/PreAckExamples.java | 20 + .../main/_examples/ack/StreamAckExamples.java | 42 + .../amqp/customization/ClientProducers.java | 34 + .../customization/MyCbsTokenProvider.java | 32 + .../customization/MySasTokenProvider.java | 29 + .../amqp/inbound/AmqpMetadataExample.java | 27 + .../amqp/inbound/AmqpPriceConsumer.java | 15 + .../inbound/AmqpPriceMessageConsumer.java | 21 + .../AmqpCloudEventMultipleProcessors.java | 39 + .../outbound/AmqpCloudEventProcessor.java | 25 + .../AmqpOutboundDynamicAddressExample.java | 26 + .../outbound/AmqpOutboundMetadataExample.java | 23 + .../outbound/AmqpPriceMessageProducer.java | 26 + .../amqp/outbound/AmqpPriceProducer.java | 25 + .../_examples/amqp/outbound/AmqpReplier.java | 20 + .../outbound/AmqpReplierWithMetadata.java | 31 + .../outbound/AmqpRequestReplyEmitter.java | 21 + .../AmqpRequestReplyMessageEmitter.java | 22 + .../AmqpRequestReplyMultiEmitter.java | 21 + .../outbound/MyAmqpReplyFailureHandler.java | 24 + .../main/_examples/beans/Chain.java | 27 + .../beans/MessageProcessingBean.java | 20 + .../beans/PayloadProcessingBean.java | 16 + .../broadcast/BroadcastExamples.java | 29 + .../broadcast/BroadcastWithCountExamples.java | 29 + .../main/_examples/camel/api/CamelApi.java | 94 + .../camel/inbound/CamelFileConsumer.java | 20 + .../inbound/CamelFileMessageConsumer.java | 23 + .../inbound/IncomingCamelMetadataExample.java | 29 + .../CamelOutboundMetadataExample.java | 31 + .../outbound/CamelPriceMessageProducer.java | 27 + .../camel/outbound/CamelPriceProducer.java | 26 + .../camel/processor/CamelProcessor.java | 18 + .../_examples/connectors/MyAckHandler.java | 25 + .../_examples/connectors/MyConnector.java | 75 + .../connectors/MyConnectorWithPartials.java | 106 + .../connectors/MyFailureHandler.java | 27 + .../connectors/MyIncomingChannel.java | 57 + .../MyIncomingChannelWithPartials.java | 79 + .../connectors/MyIncomingMetadata.java | 34 + .../main/_examples/connectors/MyMessage.java | 51 + .../connectors/MyMessageConverter.java | 27 + .../connectors/MyOutgoingChannel.java | 49 + .../MyOutgoingChannelWithPartials.java | 105 + .../connectors/MyOutgoingMessage.java | 70 + .../connectors/MyOutgoingMetadata.java | 56 + .../connectors/test/MyConnectorTest.java | 52 + .../connectors/test/WeldTestBase.java | 140 + .../tracing/MyOpenTelemetryInstrumenter.java | 64 + .../consumption/ConsumptionExamples.java | 70 + .../converters/ConverterExample.java | 24 + .../_examples/converters/MyConverter.java | 31 + .../customizers/MyClientCustomizer.java | 17 + .../decorators/ConsumedMessageDecorator.java | 41 + .../_examples/emitter/ChannelExamples.java | 31 + .../_examples/emitter/EmitterExamples.java | 119 + .../emitter/EmitterFactoryExamples.java | 88 + .../_examples/emitter/MutinyExamples.java | 33 + .../_examples/emitter/MyImperativeBean.java | 24 + .../generation/GenerationExamples.java | 95 + .../genericpayload/GenericPayloadExample.java | 49 + .../incomings/IncomingsExamples.java | 16 + .../incomings/MetadataInjectionExample.java | 44 + .../interceptors/MyIncomingInterceptor.java | 28 + .../interceptors/MyOutgoingInterceptor.java | 30 + .../jms/inbound/JmsMetadataExample.java | 25 + .../jms/inbound/JmsPriceConsumer.java | 15 + .../jms/inbound/JmsPriceMessageConsumer.java | 21 + .../outbound/JmsOutboundMetadataExample.java | 23 + .../jms/outbound/JmsPriceMessageProducer.java | 26 + .../jms/outbound/JmsPriceProducer.java | 25 + .../kafka/companion/ConsumerTest.java | 45 + .../_examples/kafka/companion/KafkaTest.java | 76 + .../kafka/companion/KafkaWithBaseTest.java | 32 + .../kafka/companion/OffsetsTest.java | 36 + .../kafka/companion/ProducerTest.java | 34 + .../_examples/kafka/companion/TopicsTest.java | 20 + .../_examples/kafka/inbound/Converters.java | 30 + .../kafka/inbound/KafkaCheckpointExample.java | 32 + .../kafka/inbound/KafkaCustomCommit.java | 60 + .../kafka/inbound/KafkaDeadLetterExample.java | 30 + .../KafkaManualPartitionPauseResume.java | 37 + .../kafka/inbound/KafkaMetadataExample.java | 36 + .../kafka/inbound/KafkaPriceConsumer.java | 15 + .../inbound/KafkaPriceMessageConsumer.java | 21 + .../inbound/KafkaRebalancedConsumer.java | 22 + ...kaRebalancedConsumerRebalanceListener.java | 49 + .../inbound/KafkaRecordBatchExample.java | 60 + .../KafkaRecordBatchPayloadExample.java | 21 + .../inbound/KafkaShareGroupAckExample.java | 29 + .../KafkaShareGroupBatchAckExample.java | 30 + .../inbound/KafkaShareGroupConsumer.java | 15 + .../inbound/KafkaShareGroupNackExample.java | 41 + .../kafka/inbound/MyCheckpointStateStore.java | 69 + .../KafkaCloudEventMultipleProcessors.java | 39 + .../outbound/KafkaCloudEventProcessor.java | 25 + .../outbound/KafkaCustomHeaderReplier.java | 39 + .../outbound/KafkaExactlyOnceProcessor.java | 34 + .../KafkaOutboundDynamicTopicExample.java | 25 + .../KafkaOutboundMetadataExample.java | 25 + .../KafkaPooledExactlyOnceProcessor.java | 32 + .../outbound/KafkaPriceMessageProducer.java | 26 + .../kafka/outbound/KafkaPriceProcessor.java | 19 + .../kafka/outbound/KafkaPriceProducer.java | 25 + .../outbound/KafkaProducerRecordExample.java | 18 + .../kafka/outbound/KafkaRecordExample.java | 21 + .../kafka/outbound/KafkaReplier.java | 20 + .../outbound/KafkaRequestReplyEmitter.java | 21 + .../KafkaRequestReplyMessageEmitter.java | 26 + .../KafkaRequestReplyMultiEmitter.java | 21 + .../outbound/KafkaTransactionalProducer.java | 28 + .../kafka/outbound/MyReplyFailureHandler.java | 23 + .../ProducerInterceptorBeanExample.java | 37 + .../keyed/KeyValueExtractorFromPayload.java | 35 + .../main/_examples/keyed/KeyedExample.java | 25 + .../_examples/keyed/KeyedMultiExample.java | 27 + .../main/_examples/merge/MergeExamples.java | 31 + .../_examples/messages/MessageExamples.java | 96 + .../mqtt/customization/ClientProducers.java | 32 + .../mqtt/inbound/MqttPriceConsumer.java | 17 + .../inbound/MqttPriceMessageConsumer.java | 21 + .../outbound/MqttPriceMessageProducer.java | 26 + .../mqtt/outbound/MqttPriceProducer.java | 25 + .../ContextMessageObservationCollector.java | 57 + .../SimpleMessageObservationCollector.java | 21 + .../_examples/outgoings/OutgoingsExample.java | 18 + .../outgoings/SplitterMultiExample.java | 37 + .../_examples/outgoings/TargetedExample.java | 44 + .../pausable/PausableController.java | 46 + .../processing/ProcessingExamples.java | 72 + .../_examples/processing/StreamExamples.java | 41 + .../PulsarClientConfigProducers.java | 66 + .../configuration/PulsarSchemaProvider.java | 30 + .../inbound/PulsarMessageBatchExample.java | 54 + .../PulsarMessageBatchPayloadExample.java | 21 + .../pulsar/inbound/PulsarMetadataExample.java | 35 + .../pulsar/inbound/PulsarPriceConsumer.java | 15 + .../inbound/PulsarPriceMessageConsumer.java | 21 + .../outbound/PulsarExactlyOnceProcessor.java | 35 + .../outbound/PulsarKeyValueExample.java | 28 + .../PulsarOutboundMetadataExample.java | 26 + .../PulsarOutgoingMessageExample.java | 18 + .../outbound/PulsarPriceMessageProducer.java | 26 + .../pulsar/outbound/PulsarPriceProducer.java | 25 + .../outbound/PulsarTransactionalProducer.java | 38 + .../quickstart/ReactiveMessagingExample.java | 35 + .../MyRabbitMQReplyFailureHandler.java | 21 + .../rabbitmq/outbound/RabbitMQReplier.java | 20 + .../outbound/RabbitMQRequestReplyEmitter.java | 21 + .../RabbitMQRequestReplyMessageEmitter.java | 22 + .../RabbitMQRequestReplyMultiEmitter.java | 21 + .../main/_examples/skip/SingleSkip.java | 59 + .../main/_examples/skip/StreamSkip.java | 48 + .../sns/outbound/SnsMessageProducer.java | 27 + .../outbound/SnsOutboundMetadataExample.java | 29 + .../_examples/sns/outbound/SnsProducer.java | 22 + .../sqs/inbound/SqsCustomAckStrategy.java | 36 + .../sqs/inbound/SqsCustomNackStrategy.java | 33 + .../sqs/inbound/SqsMessageStringConsumer.java | 17 + .../sqs/inbound/SqsMetadataExample.java | 21 + ...eceiveMessageRequestCustomizerExample.java | 17 + .../sqs/inbound/SqsSdkMessageConsumer.java | 21 + .../sqs/inbound/SqsStringConsumer.java | 13 + .../_examples/sqs/json/SqsJsonMapping.java | 56 + .../outbound/SqsMessageStringProducer.java | 27 + .../outbound/SqsOutboundMetadataExample.java | 27 + .../sqs/outbound/SqsStringProducer.java | 22 + .../main/_examples/testing/MyTest.java | 52 + .../main/_examples/testing/MyTestSetup.java | 23 + .../_generated/smallrye-amqp-incoming.adoc | 37 + .../_generated/smallrye-amqp-outgoing.adoc | 44 + .../_generated/smallrye-camel-incoming.adoc | 6 + .../_generated/smallrye-camel-outgoing.adoc | 6 + .../_generated/smallrye-jms-incoming.adoc | 25 + .../_generated/smallrye-jms-outgoing.adoc | 28 + .../_generated/smallrye-kafka-incoming.adoc | 65 + .../_generated/smallrye-kafka-outgoing.adoc | 46 + .../_generated/smallrye-mqtt-incoming.adoc | 45 + .../_generated/smallrye-mqtt-outgoing.adoc | 40 + .../_generated/smallrye-pulsar-incoming.adoc | 21 + .../_generated/smallrye-pulsar-outgoing.adoc | 13 + .../_generated/smallrye-sns-outgoing.adoc | 17 + .../_generated/smallrye-sqs-incoming.adoc | 21 + .../_generated/smallrye-sqs-outgoing.adoc | 15 + .../smallrye-reactive-messaging/main/_nav.yml | 194 ++ .../pulsar/config/smallrye-pulsar-client.adoc | 58 + .../config/smallrye-pulsar-consumer.adoc | 137 + .../config/smallrye-pulsar-producer.adoc | 60 + .../main/amqp/amqp.adoc | 51 + .../main/amqp/cbs-authentication.adoc | 186 ++ .../main/amqp/client-customization.adoc | 50 + .../main/amqp/health.adoc | 34 + .../main/amqp/rabbitmq.adoc | 61 + .../main/amqp/receiving-amqp-messages.adoc | 257 ++ .../main/amqp/request-reply.adoc | 202 ++ .../main/amqp/sending-amqp-messages.adoc | 254 ++ .../main/camel/camel-processor.adoc | 37 + .../main/camel/camel.adoc | 75 + .../camel/receiving-messages-from-camel.adoc | 89 + .../main/camel/sending-messages-to-camel.adoc | 76 + .../main/camel/using-existing-routes.adoc | 67 + .../main/concepts/acknowledgement.adoc | 183 ++ .../main/concepts/advanced-config.adoc | 43 + .../main/concepts/blocking.adoc | 105 + .../main/concepts/broadcast.adoc | 49 + .../main/concepts/client-customizers.adoc | 28 + .../main/concepts/concepts.adoc | 100 + .../main/concepts/connectors.adoc | 199 ++ .../concepts/contributing-connectors.adoc | 457 +++ .../main/concepts/converters.adoc | 43 + .../main/concepts/decorators.adoc | 96 + .../main/concepts/emitter.adoc | 270 ++ .../main/concepts/generic-payloads.adoc | 55 + .../main/concepts/incoming-concurrency.adoc | 73 + .../concepts/incoming-metadata-injection.adoc | 29 + .../main/concepts/incomings.adoc | 20 + .../main/concepts/keyed-multi.adoc | 52 + .../main/concepts/logging.adoc | 269 ++ .../main/concepts/merge.adoc | 47 + .../main/concepts/message-context.adoc | 83 + .../main/concepts/model.adoc | 423 +++ .../main/concepts/observability.adoc | 38 + .../main/concepts/outgoings.adoc | 79 + .../main/concepts/pausable-channels.adoc | 64 + .../main/concepts/signatures.adoc | 105 + .../main/concepts/skipping.adoc | 29 + .../main/concepts/testing.adoc | 131 + .../main/getting-started.adoc | 63 + .../main/images/chain.dark.png | Bin 0 -> 68029 bytes .../main/images/chain.png | Bin 0 -> 96931 bytes .../main/images/channels.dark.png | Bin 0 -> 36975 bytes .../main/images/channels.png | Bin 0 -> 47651 bytes .../main/images/connectors.dark.png | Bin 0 -> 91101 bytes .../main/images/connectors.png | Bin 0 -> 115514 bytes .../main/images/favicon.png | Bin 0 -> 335720 bytes .../main/images/incoming.png | Bin 0 -> 33961 bytes .../main/images/logo.png | Bin 0 -> 352162 bytes .../main/images/message.png | Bin 0 -> 29967 bytes .../main/images/messages.dark.png | Bin 0 -> 22226 bytes .../main/images/messages.png | Bin 0 -> 31071 bytes .../main/images/outgoing.png | Bin 0 -> 37982 bytes .../main/images/overview.dark.png | Bin 0 -> 227317 bytes .../main/images/overview.png | Bin 0 -> 332218 bytes .../main/images/processor.png | Bin 0 -> 52042 bytes .../main/images/redhat_reversed.svg | 1 + .../main/index.adoc | 17 + .../main/jms/advanced-jms.adoc | 37 + .../main/jms/jms-transactions.adoc | 169 ++ .../main/jms/jms.adoc | 74 + .../main/jms/receiving-jms-messages.adoc | 115 + .../main/jms/sending-jms-messages.adoc | 106 + .../main/kafka/avro-configuration.adoc | 152 + .../main/kafka/client-service.adoc | 60 + .../kafka/consumer-rebalance-listener.adoc | 67 + .../main/kafka/default-configuration.adoc | 80 + .../main/kafka/health.adoc | 107 + .../main/kafka/kafka.adoc | 47 + .../main/kafka/kerberos.adoc | 22 + .../main/kafka/protobuf-configuration.adoc | 51 + .../main/kafka/receiving-kafka-records.adoc | 1076 +++++++ .../main/kafka/request-reply.adoc | 175 ++ .../main/kafka/test-companion.adoc | 158 ++ .../main/kafka/transactions.adoc | 165 ++ .../main/kafka/writing-kafka-records.adoc | 354 +++ .../main/mqtt/client-customization.adoc | 21 + .../main/mqtt/mqtt.adoc | 44 + .../main/mqtt/receiving-mqtt-messages.adoc | 114 + .../main/mqtt/sending-messages-to-mqtt.adoc | 94 + .../main/pulsar/client-configuration.adoc | 98 + .../main/pulsar/client-service.adoc | 24 + .../main/pulsar/health.adoc | 24 + .../main/pulsar/pulsar.adoc | 64 + .../pulsar/receiving-pulsar-messages.adoc | 196 ++ .../main/pulsar/schema-configuration.adoc | 57 + .../pulsar/sending-messages-to-pulsar.adoc | 160 ++ .../main/pulsar/transactions.adoc | 89 + .../rabbitmq-og-client-customization.adoc | 57 + .../main/rabbitmq/rabbitmq-og-cloud.adoc | 52 + .../main/rabbitmq/rabbitmq-og-health.adoc | 27 + .../main/rabbitmq/rabbitmq-og-tracing.adoc | 41 + .../main/rabbitmq/rabbitmq-og.adoc | 68 + .../receiving-messages-from-rabbitmq.adoc | 308 ++ .../main/rabbitmq/request-reply.adoc | 139 + .../sending-messages-to-rabbitmq.adoc | 241 ++ .../main/sns/sending-aws-sns-messages.adoc | 72 + .../main/sns/sns.adoc | 59 + .../main/sqs/receiving-aws-sqs-messages.adoc | 140 + .../main/sqs/sending-aws-sqs-messages.adoc | 74 + .../main/sqs/sqs.adoc | 62 + .../docs/smallrye-stork/1/_attributes.adoc | 20 + .../examples/AcmeDiscoveryApiUsage.java | 18 + .../_examples/examples/AcmeLoadBalancer.java | 32 + .../examples/AcmeLoadBalancerProvider.java | 20 + .../examples/AcmeSelectorApiUsage.java | 21 + .../examples/AcmeServiceDiscovery.java | 32 + .../AcmeServiceDiscoveryProvider.java | 26 + .../examples/CachedAcmeServiceDiscovery.java | 31 + .../CachedAcmeServiceDiscoveryProvider.java | 30 + .../_examples/examples/DefinitionExample.java | 23 + .../1/_examples/examples/HelloClient.java | 19 + .../examples/InitializationExample.java | 18 + .../1/_examples/examples/LookupExample.java | 27 + .../1/_examples/examples/StorkApiExample.java | 33 + .../examples/StorkEntryPointExample.java | 14 + .../examples/StorkServiceExample.java | 18 + .../examples/StorkServiceLookupExample.java | 24 + .../StorkServiceSelectionExample.java | 25 + .../1/_generated/composite-sd-attributes.adoc | 5 + .../1/_generated/consul-sd-attributes.adoc | 10 + .../1/_generated/consul-sr-attributes.adoc | 6 + .../1/_generated/eureka-sd-attributes.adoc | 13 + .../1/_generated/eureka-sr-attributes.adoc | 9 + .../_generated/kubernetes-sd-attributes.adoc | 9 + .../least-response-time-lb-attributes.adoc | 7 + .../power-of-two-choices-lb-attributes.adoc | 5 + .../1/_generated/random-lb-attributes.adoc | 5 + .../1/_generated/static-sd-attributes.adoc | 7 + content/docs/smallrye-stork/1/_nav.yml | 46 + content/docs/smallrye-stork/1/concepts.adoc | 110 + .../diagrams/plantuml-22429aea1395.dark.svg | 1 + .../images/diagrams/plantuml-22429aea1395.svg | 1 + .../diagrams/plantuml-383c9b353dda.dark.svg | 1 + .../images/diagrams/plantuml-383c9b353dda.svg | 1 + .../diagrams/plantuml-a0003ba546d7.dark.svg | 1 + .../images/diagrams/plantuml-a0003ba546d7.svg | 1 + .../smallrye-stork/1/images/problem-dark.png | Bin 0 -> 401154 bytes .../smallrye-stork/1/images/problem-light.png | Bin 0 -> 358257 bytes .../1/images/redhat_reversed.svg | 1 + .../smallrye-stork/1/images/solution-dark.png | Bin 0 -> 381256 bytes .../1/images/solution-light.png | Bin 0 -> 343937 bytes .../smallrye-stork/1/images/stork-white.png | Bin 0 -> 48466 bytes content/docs/smallrye-stork/1/index.adoc | 47 + .../1/load-balancer/custom-load-balancer.adoc | 144 + .../1/load-balancer/least-requests.adoc | 59 + .../1/load-balancer/power-of-two-choices.adoc | 67 + .../1/load-balancer/random.adoc | 57 + .../1/load-balancer/response-time.adoc | 94 + .../1/load-balancer/round-robin.adoc | 47 + .../1/load-balancer/sticky.adoc | 56 + .../smallrye-stork/1/programmatic-api.adoc | 54 + content/docs/smallrye-stork/1/quarkus.adoc | 79 + .../1/service-discovery/composite.adoc | 65 + .../1/service-discovery/consul.adoc | 102 + .../custom-service-discovery.adoc | 194 ++ .../1/service-discovery/dns.adoc | 78 + .../1/service-discovery/eureka.adoc | 118 + .../1/service-discovery/knative.adoc | 131 + .../1/service-discovery/kubernetes.adoc | 133 + .../1/service-discovery/static-list.adoc | 56 + .../docs/smallrye-stork/2/_attributes.adoc | 20 + .../examples/AcmeDiscoveryApiUsage.java | 20 + .../_examples/examples/AcmeLoadBalancer.java | 32 + .../examples/AcmeLoadBalancerProvider.java | 22 + .../examples/AcmeObservationCollector.java | 36 + .../examples/AcmeRegistrarApiUsage.java | 21 + .../examples/AcmeSelectorApiUsage.java | 22 + .../examples/AcmeServiceDiscovery.java | 32 + .../AcmeServiceDiscoveryProvider.java | 28 + .../examples/AcmeServiceRegistrar.java | 30 + .../AcmeServiceRegistrarProvider.java | 28 + .../examples/CachedAcmeServiceDiscovery.java | 31 + .../CachedAcmeServiceDiscoveryProvider.java | 32 + ...mExpirationCachedAcmeServiceDiscovery.java | 44 + .../_examples/examples/DefinitionExample.java | 30 + .../2/_examples/examples/HelloClient.java | 20 + .../examples/InitializationExample.java | 18 + .../2/_examples/examples/LookupExample.java | 27 + .../ObservableInitializationExample.java | 13 + .../examples/ObservationExample.java | 35 + .../SpringBootInitializationExample.java | 29 + .../2/_examples/examples/StorkApiExample.java | 40 + .../examples/StorkEntryPointExample.java | 14 + .../examples/StorkServiceExample.java | 18 + .../examples/StorkServiceLookupExample.java | 24 + .../StorkServiceSelectionExample.java | 25 + .../2/_generated/composite-sd-attributes.adoc | 5 + .../2/_generated/consul-sd-attributes.adoc | 17 + .../2/_generated/consul-sr-attributes.adoc | 16 + .../2/_generated/dns-sd-attributes.adoc | 14 + .../2/_generated/eureka-sd-attributes.adoc | 13 + .../2/_generated/eureka-sr-attributes.adoc | 11 + .../2/_generated/knative-sd-attributes.adoc | 9 + .../_generated/kubernetes-sd-attributes.adoc | 14 + .../least-requests-lb-attributes.adoc | 4 + .../least-response-time-lb-attributes.adoc | 7 + .../power-of-two-choices-lb-attributes.adoc | 5 + .../2/_generated/random-lb-attributes.adoc | 5 + .../2/_generated/static-sd-attributes.adoc | 7 + .../2/_generated/static-sr-attributes.adoc | 5 + .../2/_generated/sticky-lb-attributes.adoc | 5 + content/docs/smallrye-stork/2/_nav.yml | 68 + content/docs/smallrye-stork/2/concepts.adoc | 110 + .../diagrams/plantuml-383c9b353dda.dark.svg | 1 + .../images/diagrams/plantuml-383c9b353dda.svg | 1 + .../diagrams/plantuml-3c6c7f0192c2.dark.svg | 1 + .../images/diagrams/plantuml-3c6c7f0192c2.svg | 1 + .../diagrams/plantuml-a0003ba546d7.dark.svg | 1 + .../images/diagrams/plantuml-a0003ba546d7.svg | 1 + .../diagrams/plantuml-bc915c97a9fa.dark.svg | 1 + .../images/diagrams/plantuml-bc915c97a9fa.svg | 1 + .../diagrams/plantuml-c8137b2f4bb7.dark.svg | 1 + .../images/diagrams/plantuml-c8137b2f4bb7.svg | 1 + .../smallrye-stork/2/images/problem-dark.png | Bin 0 -> 401154 bytes .../smallrye-stork/2/images/problem-light.png | Bin 0 -> 358257 bytes .../2/images/redhat_reversed.svg | 1 + .../smallrye-stork/2/images/solution-dark.png | Bin 0 -> 381256 bytes .../2/images/solution-light.png | Bin 0 -> 343937 bytes .../smallrye-stork/2/images/stork-white.png | Bin 0 -> 48466 bytes content/docs/smallrye-stork/2/index.adoc | 47 + .../2/load-balancer/custom-load-balancer.adoc | 145 + .../2/load-balancer/least-requests.adoc | 59 + .../2/load-balancer/least-response-time.adoc | 94 + .../2/load-balancer/overview.adoc | 22 + .../2/load-balancer/power-of-two-choices.adoc | 63 + .../2/load-balancer/random.adoc | 53 + .../2/load-balancer/round-robin.adoc | 43 + .../2/load-balancer/sticky.adoc | 52 + .../smallrye-stork/2/microprofile-config.adoc | 30 + .../docs/smallrye-stork/2/observability.adoc | 114 + .../smallrye-stork/2/programmatic-api.adoc | 54 + content/docs/smallrye-stork/2/quarkus.adoc | 79 + .../2/service-discovery/composite.adoc | 71 + .../2/service-discovery/consul.adoc | 167 ++ .../custom-service-discovery.adoc | 202 ++ .../2/service-discovery/dns.adoc | 77 + .../2/service-discovery/eureka.adoc | 71 + .../2/service-discovery/knative.adoc | 129 + .../2/service-discovery/kubernetes.adoc | 335 +++ .../2/service-discovery/overview.adoc | 34 + .../2/service-discovery/static-list.adoc | 56 + .../2/service-registration/consul.adoc | 228 ++ .../custom-service-registration.adoc | 162 ++ .../2/service-registration/eureka.adoc | 105 + .../2/service-registration/overview.adoc | 82 + .../2/service-registration/static-list.adoc | 96 + .../smallrye-stork/2/springboot-config.adoc | 40 + .../smallrye-stork/latest/_attributes.adoc | 20 + .../examples/AcmeDiscoveryApiUsage.java | 20 + .../_examples/examples/AcmeLoadBalancer.java | 32 + .../examples/AcmeLoadBalancerProvider.java | 22 + .../examples/AcmeObservationCollector.java | 35 + .../examples/AcmeRegistrarApiUsage.java | 21 + .../examples/AcmeSelectorApiUsage.java | 22 + .../examples/AcmeServiceDiscovery.java | 32 + .../AcmeServiceDiscoveryProvider.java | 28 + .../examples/AcmeServiceRegistrar.java | 38 + .../AcmeServiceRegistrarProvider.java | 28 + .../examples/CachedAcmeServiceDiscovery.java | 31 + .../CachedAcmeServiceDiscoveryProvider.java | 32 + ...mExpirationCachedAcmeServiceDiscovery.java | 44 + .../_examples/examples/DefinitionExample.java | 30 + .../_examples/examples/HelloClient.java | 20 + .../examples/InitializationExample.java | 18 + .../_examples/examples/LookupExample.java | 27 + .../ObservableInitializationExample.java | 13 + .../examples/ObservationExample.java | 35 + .../SpringBootInitializationExample.java | 29 + .../_examples/examples/StorkApiExample.java | 40 + .../examples/StorkEntryPointExample.java | 14 + .../examples/StorkServiceExample.java | 18 + .../examples/StorkServiceLookupExample.java | 24 + .../StorkServiceSelectionExample.java | 25 + .../_generated/composite-sd-attributes.adoc | 5 + .../_generated/consul-sd-attributes.adoc | 17 + .../_generated/consul-sr-attributes.adoc | 16 + .../latest/_generated/dns-sd-attributes.adoc | 14 + .../_generated/eureka-sd-attributes.adoc | 13 + .../_generated/eureka-sr-attributes.adoc | 11 + .../_generated/knative-sd-attributes.adoc | 9 + .../_generated/kubernetes-sd-attributes.adoc | 14 + .../least-requests-lb-attributes.adoc | 4 + .../least-response-time-lb-attributes.adoc | 7 + .../power-of-two-choices-lb-attributes.adoc | 5 + .../_generated/random-lb-attributes.adoc | 5 + .../_generated/static-sd-attributes.adoc | 7 + .../_generated/static-sr-attributes.adoc | 5 + .../_generated/sticky-lb-attributes.adoc | 5 + content/docs/smallrye-stork/latest/_nav.yml | 70 + .../docs/smallrye-stork/latest/concepts.adoc | 110 + .../diagrams/plantuml-383c9b353dda.dark.svg | 1 + .../images/diagrams/plantuml-383c9b353dda.svg | 1 + .../diagrams/plantuml-3c6c7f0192c2.dark.svg | 1 + .../images/diagrams/plantuml-3c6c7f0192c2.svg | 1 + .../diagrams/plantuml-a0003ba546d7.dark.svg | 1 + .../images/diagrams/plantuml-a0003ba546d7.svg | 1 + .../diagrams/plantuml-bc915c97a9fa.dark.svg | 1 + .../images/diagrams/plantuml-bc915c97a9fa.svg | 1 + .../diagrams/plantuml-c8137b2f4bb7.dark.svg | 1 + .../images/diagrams/plantuml-c8137b2f4bb7.svg | 1 + .../latest/images/problem-dark.png | Bin 0 -> 401154 bytes .../latest/images/problem-light.png | Bin 0 -> 358257 bytes .../latest/images/redhat_reversed.svg | 1 + .../latest/images/solution-dark.png | Bin 0 -> 381256 bytes .../latest/images/solution-light.png | Bin 0 -> 343937 bytes .../latest/images/stork-white.png | Bin 0 -> 48466 bytes content/docs/smallrye-stork/latest/index.adoc | 47 + .../load-balancer/custom-load-balancer.adoc | 145 + .../latest/load-balancer/least-requests.adoc | 59 + .../load-balancer/least-response-time.adoc | 94 + .../latest/load-balancer/overview.adoc | 22 + .../load-balancer/power-of-two-choices.adoc | 63 + .../latest/load-balancer/random.adoc | 53 + .../latest/load-balancer/round-robin.adoc | 43 + .../latest/load-balancer/sticky.adoc | 52 + .../docs/smallrye-stork/latest/logging.adoc | 78 + .../latest/microprofile-config.adoc | 30 + .../smallrye-stork/latest/observability.adoc | 114 + .../latest/programmatic-api.adoc | 54 + .../docs/smallrye-stork/latest/quarkus.adoc | 79 + .../latest/service-discovery/composite.adoc | 71 + .../latest/service-discovery/consul.adoc | 167 ++ .../custom-service-discovery.adoc | 202 ++ .../latest/service-discovery/dns.adoc | 77 + .../latest/service-discovery/eureka.adoc | 71 + .../latest/service-discovery/knative.adoc | 129 + .../latest/service-discovery/kubernetes.adoc | 335 +++ .../latest/service-discovery/overview.adoc | 34 + .../latest/service-discovery/static-list.adoc | 56 + .../latest/service-registration/consul.adoc | 228 ++ .../custom-service-registration.adoc | 165 ++ .../latest/service-registration/eureka.adoc | 105 + .../latest/service-registration/overview.adoc | 82 + .../service-registration/static-list.adoc | 96 + .../latest/springboot-config.adoc | 40 + .../docs/smallrye-stork/main/_attributes.adoc | 20 + .../examples/AcmeDiscoveryApiUsage.java | 20 + .../_examples/examples/AcmeLoadBalancer.java | 32 + .../examples/AcmeLoadBalancerProvider.java | 22 + .../examples/AcmeObservationCollector.java | 35 + .../examples/AcmeRegistrarApiUsage.java | 21 + .../examples/AcmeSelectorApiUsage.java | 22 + .../examples/AcmeServiceDiscovery.java | 32 + .../AcmeServiceDiscoveryProvider.java | 28 + .../examples/AcmeServiceRegistrar.java | 38 + .../AcmeServiceRegistrarProvider.java | 28 + .../examples/CachedAcmeServiceDiscovery.java | 31 + .../CachedAcmeServiceDiscoveryProvider.java | 32 + ...mExpirationCachedAcmeServiceDiscovery.java | 44 + .../_examples/examples/DefinitionExample.java | 30 + .../main/_examples/examples/HelloClient.java | 20 + .../examples/InitializationExample.java | 18 + .../_examples/examples/LookupExample.java | 27 + .../ObservableInitializationExample.java | 13 + .../examples/ObservationExample.java | 35 + .../SpringBootInitializationExample.java | 29 + .../_examples/examples/StorkApiExample.java | 40 + .../examples/StorkEntryPointExample.java | 14 + .../examples/StorkServiceExample.java | 18 + .../examples/StorkServiceLookupExample.java | 24 + .../StorkServiceSelectionExample.java | 25 + .../_generated/composite-sd-attributes.adoc | 5 + .../main/_generated/consul-sd-attributes.adoc | 17 + .../main/_generated/consul-sr-attributes.adoc | 16 + .../main/_generated/dns-sd-attributes.adoc | 14 + .../main/_generated/eureka-sd-attributes.adoc | 13 + .../main/_generated/eureka-sr-attributes.adoc | 11 + .../_generated/knative-sd-attributes.adoc | 9 + .../_generated/kubernetes-sd-attributes.adoc | 14 + .../least-requests-lb-attributes.adoc | 4 + .../least-response-time-lb-attributes.adoc | 7 + .../power-of-two-choices-lb-attributes.adoc | 5 + .../main/_generated/random-lb-attributes.adoc | 5 + .../main/_generated/static-sd-attributes.adoc | 7 + .../main/_generated/static-sr-attributes.adoc | 5 + .../main/_generated/sticky-lb-attributes.adoc | 5 + content/docs/smallrye-stork/main/_nav.yml | 70 + .../docs/smallrye-stork/main/concepts.adoc | 110 + .../diagrams/plantuml-383c9b353dda.dark.svg | 1 + .../images/diagrams/plantuml-383c9b353dda.svg | 1 + .../diagrams/plantuml-3c6c7f0192c2.dark.svg | 1 + .../images/diagrams/plantuml-3c6c7f0192c2.svg | 1 + .../diagrams/plantuml-a0003ba546d7.dark.svg | 1 + .../images/diagrams/plantuml-a0003ba546d7.svg | 1 + .../diagrams/plantuml-bc915c97a9fa.dark.svg | 1 + .../images/diagrams/plantuml-bc915c97a9fa.svg | 1 + .../diagrams/plantuml-c8137b2f4bb7.dark.svg | 1 + .../images/diagrams/plantuml-c8137b2f4bb7.svg | 1 + .../main/images/problem-dark.png | Bin 0 -> 401154 bytes .../main/images/problem-light.png | Bin 0 -> 358257 bytes .../main/images/redhat_reversed.svg | 1 + .../main/images/solution-dark.png | Bin 0 -> 381256 bytes .../main/images/solution-light.png | Bin 0 -> 343937 bytes .../main/images/stork-white.png | Bin 0 -> 48466 bytes content/docs/smallrye-stork/main/index.adoc | 47 + .../load-balancer/custom-load-balancer.adoc | 145 + .../main/load-balancer/least-requests.adoc | 59 + .../load-balancer/least-response-time.adoc | 94 + .../main/load-balancer/overview.adoc | 22 + .../load-balancer/power-of-two-choices.adoc | 63 + .../main/load-balancer/random.adoc | 53 + .../main/load-balancer/round-robin.adoc | 43 + .../main/load-balancer/sticky.adoc | 52 + content/docs/smallrye-stork/main/logging.adoc | 78 + .../main/microprofile-config.adoc | 30 + .../smallrye-stork/main/observability.adoc | 114 + .../smallrye-stork/main/programmatic-api.adoc | 54 + content/docs/smallrye-stork/main/quarkus.adoc | 79 + .../main/service-discovery/composite.adoc | 71 + .../main/service-discovery/consul.adoc | 167 ++ .../custom-service-discovery.adoc | 202 ++ .../main/service-discovery/dns.adoc | 77 + .../main/service-discovery/eureka.adoc | 71 + .../main/service-discovery/knative.adoc | 129 + .../main/service-discovery/kubernetes.adoc | 335 +++ .../main/service-discovery/overview.adoc | 34 + .../main/service-discovery/static-list.adoc | 56 + .../main/service-registration/consul.adoc | 228 ++ .../custom-service-registration.adoc | 165 ++ .../main/service-registration/eureka.adoc | 105 + .../main/service-registration/overview.adoc | 82 + .../service-registration/static-list.adoc | 96 + .../main/springboot-config.adoc | 40 + content/index.html | 2 +- .../posts/2020-05-22-smallrye-config-1-8.adoc | 4 +- .../posts/2020-09-24-smallrye-config-1-9.adoc | 6 +- .../posts/2021-01-15-fault-tolerance-5-0.adoc | 11 +- .../posts/2021-05-17-fault-tolerance-5-1.adoc | 2 +- .../posts/2021-07-02-fault-tolerance-5-2.adoc | 8 +- .../posts/2022-02-08-fault-tolerance-5-3.adoc | 4 +- .../posts/2022-03-31-fault-tolerance-5-4.adoc | 2 +- .../posts/2022-07-11-fault-tolerance-5-5.adoc | 4 +- ...10-25-fault-tolerance-5-6-0-and-6-1-0.adoc | 6 +- .../2023-02-10-fault-tolerance-6-2-0.adoc | 2 +- .../2024-07-22-fault-tolerance-6-4-0.adoc | 2 +- .../2024-11-28-fault-tolerance-6-7-0.adoc | 4 +- data/docs.yml | 259 ++ data/docversions.yml | 2508 +++++++++++++++++ docs/antora-playbook.yml | 35 - docs/antora.yml | 4 - docs/modules/ROOT/pages/index.adoc | 8 - jbang-catalog.json | 13 + public/css/main.css | 120 + templates/layouts/doc.html | 71 + templates/partials/docs-brand.html | 22 + templates/partials/docs-contents-list.html | 14 + templates/partials/docs-contents.html | 21 + templates/partials/docs-nav.html | 21 + templates/partials/footer.html | 2 +- templates/partials/header.html | 3 +- templates/partials/seo.html | 2 +- tools/docs/Antora2Adoc.java | 479 ++++ tools/docs/Common.java | 213 ++ tools/docs/DarkImages.java | 364 +++ tools/docs/Docs.java | 29 + tools/docs/GhPagesRedirects.java | 297 ++ tools/docs/MkDocs2Adoc.java | 1676 +++++++++++ tools/docs/Preview.java | 297 ++ tools/docs/Redirects.java | 130 + tools/docs/RewriteLinks.java | 189 ++ tools/docs/Sync.java | 1195 ++++++++ tools/docs/link-maps/smallrye-graphql.json | 33 + web/app/main.js | 157 +- 2482 files changed, 150132 insertions(+), 114 deletions(-) create mode 100644 .github/workflows/docs-check.yml create mode 100644 .github/workflows/docs-sync.yml create mode 100644 content/docs/index.html create mode 100644 content/docs/jandex/latest/_attributes.adoc create mode 100644 content/docs/jandex/latest/_nav.yml create mode 100644 content/docs/jandex/latest/core/browsing.adoc create mode 100644 content/docs/jandex/latest/core/getting.adoc create mode 100644 content/docs/jandex/latest/core/indexing.adoc create mode 100644 content/docs/jandex/latest/index.adoc create mode 100644 content/docs/jandex/latest/maven/advanced.adoc create mode 100644 content/docs/jandex/latest/maven/basic.adoc create mode 100644 content/docs/jandex/latest/maven/shading.adoc create mode 100644 content/docs/jandex/main/_attributes.adoc create mode 100644 content/docs/jandex/main/_nav.yml create mode 100644 content/docs/jandex/main/core/browsing.adoc create mode 100644 content/docs/jandex/main/core/getting.adoc create mode 100644 content/docs/jandex/main/core/indexing.adoc create mode 100644 content/docs/jandex/main/index.adoc create mode 100644 content/docs/jandex/main/maven/advanced.adoc create mode 100644 content/docs/jandex/main/maven/basic.adoc create mode 100644 content/docs/jandex/main/maven/shading.adoc create mode 100644 content/docs/smallrye-config/2/_attributes.adoc create mode 100644 content/docs/smallrye-config/2/_nav.yml create mode 100644 content/docs/smallrye-config/2/assets/smallrye-icon.svg create mode 100644 content/docs/smallrye-config/2/config-sources/custom.adoc create mode 100644 content/docs/smallrye-config/2/config-sources/factories.adoc create mode 100644 content/docs/smallrye-config/2/config-sources/filesystem.adoc create mode 100644 content/docs/smallrye-config/2/config-sources/hocon.adoc create mode 100644 content/docs/smallrye-config/2/config-sources/locations.adoc create mode 100644 content/docs/smallrye-config/2/config-sources/yaml.adoc create mode 100644 content/docs/smallrye-config/2/config-sources/zookeeper.adoc create mode 100644 content/docs/smallrye-config/2/config/config-value.adoc create mode 100644 content/docs/smallrye-config/2/config/configuration.adoc create mode 100644 content/docs/smallrye-config/2/config/environment-variables.adoc create mode 100644 content/docs/smallrye-config/2/config/expressions.adoc create mode 100644 content/docs/smallrye-config/2/config/getting-started.adoc create mode 100644 content/docs/smallrye-config/2/config/indexed-properties.adoc create mode 100644 content/docs/smallrye-config/2/config/map-support.adoc create mode 100644 content/docs/smallrye-config/2/config/mappings.adoc create mode 100644 content/docs/smallrye-config/2/config/profiles.adoc create mode 100644 content/docs/smallrye-config/2/config/secret-keys.adoc create mode 100644 content/docs/smallrye-config/2/converters/custom.adoc create mode 100644 content/docs/smallrye-config/2/converters/json.adoc create mode 100644 content/docs/smallrye-config/2/extensions/config-events.adoc create mode 100644 content/docs/smallrye-config/2/extensions/config-source-injection.adoc create mode 100644 content/docs/smallrye-config/2/extensions/fallback.adoc create mode 100644 content/docs/smallrye-config/2/extensions/interceptors.adoc create mode 100644 content/docs/smallrye-config/2/extensions/logging.adoc create mode 100644 content/docs/smallrye-config/2/extensions/relocate.adoc create mode 100644 content/docs/smallrye-config/2/index.adoc create mode 100644 content/docs/smallrye-config/3/_attributes.adoc create mode 100644 content/docs/smallrye-config/3/_nav.yml create mode 100644 content/docs/smallrye-config/3/assets/smallrye-icon.svg create mode 100644 content/docs/smallrye-config/3/config-sources/custom.adoc create mode 100644 content/docs/smallrye-config/3/config-sources/factories.adoc create mode 100644 content/docs/smallrye-config/3/config-sources/filesystem.adoc create mode 100644 content/docs/smallrye-config/3/config-sources/hocon.adoc create mode 100644 content/docs/smallrye-config/3/config-sources/json.adoc create mode 100644 content/docs/smallrye-config/3/config-sources/keystore.adoc create mode 100644 content/docs/smallrye-config/3/config-sources/locations.adoc create mode 100644 content/docs/smallrye-config/3/config-sources/yaml.adoc create mode 100644 content/docs/smallrye-config/3/config-sources/zookeeper.adoc create mode 100644 content/docs/smallrye-config/3/config/config-value.adoc create mode 100644 content/docs/smallrye-config/3/config/configuration.adoc create mode 100644 content/docs/smallrye-config/3/config/customizer.adoc create mode 100644 content/docs/smallrye-config/3/config/environment-variables.adoc create mode 100644 content/docs/smallrye-config/3/config/expressions.adoc create mode 100644 content/docs/smallrye-config/3/config/getting-started.adoc create mode 100644 content/docs/smallrye-config/3/config/indexed-properties.adoc create mode 100644 content/docs/smallrye-config/3/config/map-support.adoc create mode 100644 content/docs/smallrye-config/3/config/mappings.adoc create mode 100644 content/docs/smallrye-config/3/config/profiles.adoc create mode 100644 content/docs/smallrye-config/3/config/secret-keys.adoc create mode 100644 content/docs/smallrye-config/3/converters/custom.adoc create mode 100644 content/docs/smallrye-config/3/extensions/config-events.adoc create mode 100644 content/docs/smallrye-config/3/extensions/config-source-injection.adoc create mode 100644 content/docs/smallrye-config/3/extensions/fallback.adoc create mode 100644 content/docs/smallrye-config/3/extensions/interceptors.adoc create mode 100644 content/docs/smallrye-config/3/extensions/logging.adoc create mode 100644 content/docs/smallrye-config/3/extensions/relocate.adoc create mode 100644 content/docs/smallrye-config/3/index.adoc create mode 100644 content/docs/smallrye-config/latest/_attributes.adoc create mode 100644 content/docs/smallrye-config/latest/_nav.yml create mode 100644 content/docs/smallrye-config/latest/assets/smallrye-icon.svg create mode 100644 content/docs/smallrye-config/latest/config-sources/custom.adoc create mode 100644 content/docs/smallrye-config/latest/config-sources/factories.adoc create mode 100644 content/docs/smallrye-config/latest/config-sources/filesystem.adoc create mode 100644 content/docs/smallrye-config/latest/config-sources/hocon.adoc create mode 100644 content/docs/smallrye-config/latest/config-sources/json.adoc create mode 100644 content/docs/smallrye-config/latest/config-sources/keystore.adoc create mode 100644 content/docs/smallrye-config/latest/config-sources/locations.adoc create mode 100644 content/docs/smallrye-config/latest/config-sources/toml.adoc create mode 100644 content/docs/smallrye-config/latest/config-sources/yaml.adoc create mode 100644 content/docs/smallrye-config/latest/config-sources/zookeeper.adoc create mode 100644 content/docs/smallrye-config/latest/config/config-value.adoc create mode 100644 content/docs/smallrye-config/latest/config/configuration.adoc create mode 100644 content/docs/smallrye-config/latest/config/customizer.adoc create mode 100644 content/docs/smallrye-config/latest/config/environment-variables.adoc create mode 100644 content/docs/smallrye-config/latest/config/expressions.adoc create mode 100644 content/docs/smallrye-config/latest/config/getting-started.adoc create mode 100644 content/docs/smallrye-config/latest/config/indexed-properties.adoc create mode 100644 content/docs/smallrye-config/latest/config/instance-builder.adoc create mode 100644 content/docs/smallrye-config/latest/config/map-support.adoc create mode 100644 content/docs/smallrye-config/latest/config/mappings.adoc create mode 100644 content/docs/smallrye-config/latest/config/profiles.adoc create mode 100644 content/docs/smallrye-config/latest/config/secret-keys.adoc create mode 100644 content/docs/smallrye-config/latest/converters/custom.adoc create mode 100644 content/docs/smallrye-config/latest/extensions/fallback.adoc create mode 100644 content/docs/smallrye-config/latest/extensions/interceptors.adoc create mode 100644 content/docs/smallrye-config/latest/extensions/logging.adoc create mode 100644 content/docs/smallrye-config/latest/extensions/relocate.adoc create mode 100644 content/docs/smallrye-config/latest/index.adoc create mode 100644 content/docs/smallrye-config/main/_attributes.adoc create mode 100644 content/docs/smallrye-config/main/_nav.yml create mode 100644 content/docs/smallrye-config/main/assets/smallrye-icon.svg create mode 100644 content/docs/smallrye-config/main/config-sources/custom.adoc create mode 100644 content/docs/smallrye-config/main/config-sources/factories.adoc create mode 100644 content/docs/smallrye-config/main/config-sources/filesystem.adoc create mode 100644 content/docs/smallrye-config/main/config-sources/hocon.adoc create mode 100644 content/docs/smallrye-config/main/config-sources/json.adoc create mode 100644 content/docs/smallrye-config/main/config-sources/keystore.adoc create mode 100644 content/docs/smallrye-config/main/config-sources/locations.adoc create mode 100644 content/docs/smallrye-config/main/config-sources/toml.adoc create mode 100644 content/docs/smallrye-config/main/config-sources/yaml.adoc create mode 100644 content/docs/smallrye-config/main/config-sources/zookeeper.adoc create mode 100644 content/docs/smallrye-config/main/config/config-value.adoc create mode 100644 content/docs/smallrye-config/main/config/configuration.adoc create mode 100644 content/docs/smallrye-config/main/config/customizer.adoc create mode 100644 content/docs/smallrye-config/main/config/environment-variables.adoc create mode 100644 content/docs/smallrye-config/main/config/expressions.adoc create mode 100644 content/docs/smallrye-config/main/config/getting-started.adoc create mode 100644 content/docs/smallrye-config/main/config/indexed-properties.adoc create mode 100644 content/docs/smallrye-config/main/config/instance-builder.adoc create mode 100644 content/docs/smallrye-config/main/config/map-support.adoc create mode 100644 content/docs/smallrye-config/main/config/mappings.adoc create mode 100644 content/docs/smallrye-config/main/config/profiles.adoc create mode 100644 content/docs/smallrye-config/main/config/secret-keys.adoc create mode 100644 content/docs/smallrye-config/main/converters/custom.adoc create mode 100644 content/docs/smallrye-config/main/extensions/fallback.adoc create mode 100644 content/docs/smallrye-config/main/extensions/interceptors.adoc create mode 100644 content/docs/smallrye-config/main/extensions/logging.adoc create mode 100644 content/docs/smallrye-config/main/extensions/relocate.adoc create mode 100644 content/docs/smallrye-config/main/index.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/_attributes.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/_nav.yml create mode 100644 content/docs/smallrye-fault-tolerance/5/index.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/integration/async-types.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/integration/context-propagation.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/integration/event-loop.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/integration/intro.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/integration/kotlin.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/integration/metrics.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/integration/opentracing.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/integration/programmatic-api.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/integration/thread-pool.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/internals/config.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/internals/core.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/internals/instructions.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/internals/logging.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/internals/project-structure.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/usage/basic.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/usage/extra.adoc create mode 100644 content/docs/smallrye-fault-tolerance/5/usage/programmatic-api.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/_attributes.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/_nav.yml create mode 100644 content/docs/smallrye-fault-tolerance/6/_partials/internals.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/_partials/non-compat.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/_partials/srye-feature.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/_partials/time-unit-inconsistency.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/howto/asynchronous.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/howto/begin.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/howto/bulkhead.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/howto/circuit-breaker.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/howto/fallback.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/howto/multiple.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/howto/rate-limit.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/howto/retry.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/howto/timeout.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/images/diagrams/mermaid-f40d3cbcabca.dark.svg create mode 100644 content/docs/smallrye-fault-tolerance/6/images/diagrams/mermaid-f40d3cbcabca.svg create mode 100644 content/docs/smallrye-fault-tolerance/6/index.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/integration/async-types.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/integration/context-propagation.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/integration/event-loop.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/integration/intro.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/integration/kotlin.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/integration/metrics.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/integration/opentracing.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/integration/programmatic-api.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/integration/thread-pool.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/internals/config.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/internals/core.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/internals/instructions.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/internals/logging.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/internals/project-structure.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/asynchronous.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/bulkhead.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/circuit-breaker.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/config.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/fallback.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/metrics.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/non-compat.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/programmatic-api.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/rate-limit.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/retry.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/reusable.adoc create mode 100644 content/docs/smallrye-fault-tolerance/6/reference/timeout.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/_attributes.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/_nav.yml create mode 100644 content/docs/smallrye-fault-tolerance/latest/_partials/internals.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/_partials/non-compat.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/_partials/srye-feature.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/_partials/time-unit-inconsistency.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/howto/asynchronous.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/howto/begin.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/howto/bulkhead.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/howto/circuit-breaker.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/howto/fallback.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/howto/multiple.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/howto/rate-limit.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/howto/retry.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/howto/timeout.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/images/diagrams/mermaid-f40d3cbcabca.dark.svg create mode 100644 content/docs/smallrye-fault-tolerance/latest/images/diagrams/mermaid-f40d3cbcabca.svg create mode 100644 content/docs/smallrye-fault-tolerance/latest/index.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/integration/async-types.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/integration/context-propagation.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/integration/event-loop.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/integration/intro.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/integration/kotlin.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/integration/metrics.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/integration/programmatic-api.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/integration/thread-pool.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/internals/config.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/internals/core.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/internals/instructions.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/internals/logging.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/internals/project-structure.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/asynchronous.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/bulkhead.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/circuit-breaker.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/config.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/fallback.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/metrics.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/non-compat.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/programmatic-api.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/rate-limit.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/retry.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/reusable.adoc create mode 100644 content/docs/smallrye-fault-tolerance/latest/reference/timeout.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/_attributes.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/_nav.yml create mode 100644 content/docs/smallrye-fault-tolerance/main/_partials/internals.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/_partials/non-compat.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/_partials/srye-feature.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/_partials/time-unit-inconsistency.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/howto/asynchronous.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/howto/begin.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/howto/bulkhead.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/howto/circuit-breaker.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/howto/fallback.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/howto/multiple.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/howto/rate-limit.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/howto/retry.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/howto/timeout.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/images/diagrams/mermaid-f40d3cbcabca.dark.svg create mode 100644 content/docs/smallrye-fault-tolerance/main/images/diagrams/mermaid-f40d3cbcabca.svg create mode 100644 content/docs/smallrye-fault-tolerance/main/index.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/integration/async-types.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/integration/context-propagation.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/integration/event-loop.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/integration/intro.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/integration/kotlin.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/integration/metrics.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/integration/programmatic-api.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/integration/thread-pool.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/internals/config.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/internals/core.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/internals/instructions.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/internals/logging.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/internals/project-structure.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/asynchronous.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/bulkhead.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/circuit-breaker.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/config.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/fallback.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/metrics.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/non-compat.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/programmatic-api.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/rate-limit.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/retry.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/reusable.adoc create mode 100644 content/docs/smallrye-fault-tolerance/main/reference/timeout.adoc create mode 100644 content/docs/smallrye-graphql/1/_attributes.adoc create mode 100644 content/docs/smallrye-graphql/1/_examples/examples/dynamicclient/MyClientUsage.java create mode 100644 content/docs/smallrye-graphql/1/_examples/examples/dynamicclient/MyClientUsageString.java create mode 100644 content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/MyClientUsage.java create mode 100644 content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/SuperHero.java create mode 100644 content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/SuperHeroesApi.java create mode 100644 content/docs/smallrye-graphql/1/_nav.yml create mode 100644 content/docs/smallrye-graphql/1/client-configuration.adoc create mode 100644 content/docs/smallrye-graphql/1/custom-error-extensions.adoc create mode 100644 content/docs/smallrye-graphql/1/custom-json-deserializers.adoc create mode 100644 content/docs/smallrye-graphql/1/directives.adoc create mode 100644 content/docs/smallrye-graphql/1/dynamic-client-error-handling.adoc create mode 100644 content/docs/smallrye-graphql/1/dynamic-client-usage.adoc create mode 100644 content/docs/smallrye-graphql/1/extensions.adoc create mode 100644 content/docs/smallrye-graphql/1/federation.adoc create mode 100644 content/docs/smallrye-graphql/1/gradle-plugin.adoc create mode 100644 content/docs/smallrye-graphql/1/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-graphql/1/index.adoc create mode 100644 content/docs/smallrye-graphql/1/maven-plugin.adoc create mode 100644 content/docs/smallrye-graphql/1/server-configuration.adoc create mode 100644 content/docs/smallrye-graphql/1/typesafe-client-custom-scalars.adoc create mode 100644 content/docs/smallrye-graphql/1/typesafe-client-error-handling.adoc create mode 100644 content/docs/smallrye-graphql/1/typesafe-client-headers.adoc create mode 100644 content/docs/smallrye-graphql/1/typesafe-client-logging.adoc create mode 100644 content/docs/smallrye-graphql/1/typesafe-client-multiple-queries.adoc create mode 100644 content/docs/smallrye-graphql/1/typesafe-client-reactive-types.adoc create mode 100644 content/docs/smallrye-graphql/1/typesafe-client-usage.adoc create mode 100644 content/docs/smallrye-graphql/1/using-smallrye-stork.adoc create mode 100644 content/docs/smallrye-graphql/2/_attributes.adoc create mode 100644 content/docs/smallrye-graphql/2/_examples/examples/dynamicclient/MyClientUsage.java create mode 100644 content/docs/smallrye-graphql/2/_examples/examples/dynamicclient/MyClientUsageString.java create mode 100644 content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/MyClientUsage.java create mode 100644 content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/SuperHero.java create mode 100644 content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/SuperHeroesApi.java create mode 100644 content/docs/smallrye-graphql/2/_nav.yml create mode 100644 content/docs/smallrye-graphql/2/client-configuration.adoc create mode 100644 content/docs/smallrye-graphql/2/client-standalone.adoc create mode 100644 content/docs/smallrye-graphql/2/custom-error-extensions.adoc create mode 100644 content/docs/smallrye-graphql/2/custom-json-serializers-deserializers.adoc create mode 100644 content/docs/smallrye-graphql/2/custom-scalar.adoc create mode 100644 content/docs/smallrye-graphql/2/directives.adoc create mode 100644 content/docs/smallrye-graphql/2/dynamic-client-error-handling.adoc create mode 100644 content/docs/smallrye-graphql/2/dynamic-client-usage.adoc create mode 100644 content/docs/smallrye-graphql/2/extensions.adoc create mode 100644 content/docs/smallrye-graphql/2/federation.adoc create mode 100644 content/docs/smallrye-graphql/2/gradle-plugin.adoc create mode 100644 content/docs/smallrye-graphql/2/handling-init-payload-from-the-websocket.adoc create mode 100644 content/docs/smallrye-graphql/2/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-graphql/2/index.adoc create mode 100644 content/docs/smallrye-graphql/2/inspecting-executable-directives-on-server-side.adoc create mode 100644 content/docs/smallrye-graphql/2/kotlin.adoc create mode 100644 content/docs/smallrye-graphql/2/maven-plugin.adoc create mode 100644 content/docs/smallrye-graphql/2/mutation-void.adoc create mode 100644 content/docs/smallrye-graphql/2/namespaces-on-server-side.adoc create mode 100644 content/docs/smallrye-graphql/2/server-configuration.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-accessing-metadata-of-responses.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-custom-scalars.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-directives.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-error-handling.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-headers.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-logging.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-multiple-queries.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-reactive-types.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-unions-and-interfaces.adoc create mode 100644 content/docs/smallrye-graphql/2/typesafe-client-usage.adoc create mode 100644 content/docs/smallrye-graphql/2/using-smallrye-stork.adoc create mode 100644 content/docs/smallrye-graphql/latest/_attributes.adoc create mode 100644 content/docs/smallrye-graphql/latest/_examples/examples/dynamicclient/MyClientUsage.java create mode 100644 content/docs/smallrye-graphql/latest/_examples/examples/dynamicclient/MyClientUsageString.java create mode 100644 content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/MyClientUsage.java create mode 100644 content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/SuperHero.java create mode 100644 content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/SuperHeroesApi.java create mode 100644 content/docs/smallrye-graphql/latest/_nav.yml create mode 100644 content/docs/smallrye-graphql/latest/client-configuration.adoc create mode 100644 content/docs/smallrye-graphql/latest/client-standalone.adoc create mode 100644 content/docs/smallrye-graphql/latest/custom-error-extensions.adoc create mode 100644 content/docs/smallrye-graphql/latest/custom-json-serializers-deserializers.adoc create mode 100644 content/docs/smallrye-graphql/latest/custom-scalar.adoc create mode 100644 content/docs/smallrye-graphql/latest/directives.adoc create mode 100644 content/docs/smallrye-graphql/latest/dynamic-client-error-handling.adoc create mode 100644 content/docs/smallrye-graphql/latest/dynamic-client-usage.adoc create mode 100644 content/docs/smallrye-graphql/latest/extensions.adoc create mode 100644 content/docs/smallrye-graphql/latest/federation.adoc create mode 100644 content/docs/smallrye-graphql/latest/gradle-plugin.adoc create mode 100644 content/docs/smallrye-graphql/latest/handling-init-payload-from-the-websocket.adoc create mode 100644 content/docs/smallrye-graphql/latest/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-graphql/latest/index.adoc create mode 100644 content/docs/smallrye-graphql/latest/inspecting-executable-directives-on-server-side.adoc create mode 100644 content/docs/smallrye-graphql/latest/kotlin.adoc create mode 100644 content/docs/smallrye-graphql/latest/maven-plugin.adoc create mode 100644 content/docs/smallrye-graphql/latest/mutation-void.adoc create mode 100644 content/docs/smallrye-graphql/latest/namespaces-on-server-side.adoc create mode 100644 content/docs/smallrye-graphql/latest/server-configuration.adoc create mode 100644 content/docs/smallrye-graphql/latest/target-for-input-types.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-accessing-metadata-of-responses.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-custom-scalars.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-directives.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-error-handling.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-headers.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-logging.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-multiple-queries.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-reactive-types.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-unions-and-interfaces.adoc create mode 100644 content/docs/smallrye-graphql/latest/typesafe-client-usage.adoc create mode 100644 content/docs/smallrye-graphql/latest/using-smallrye-stork.adoc create mode 100644 content/docs/smallrye-graphql/main/_attributes.adoc create mode 100644 content/docs/smallrye-graphql/main/_examples/examples/dynamicclient/MyClientUsage.java create mode 100644 content/docs/smallrye-graphql/main/_examples/examples/dynamicclient/MyClientUsageString.java create mode 100644 content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/MyClientUsage.java create mode 100644 content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/SuperHero.java create mode 100644 content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/SuperHeroesApi.java create mode 100644 content/docs/smallrye-graphql/main/_nav.yml create mode 100644 content/docs/smallrye-graphql/main/client-configuration.adoc create mode 100644 content/docs/smallrye-graphql/main/client-standalone.adoc create mode 100644 content/docs/smallrye-graphql/main/custom-error-extensions.adoc create mode 100644 content/docs/smallrye-graphql/main/custom-json-serializers-deserializers.adoc create mode 100644 content/docs/smallrye-graphql/main/custom-scalar.adoc create mode 100644 content/docs/smallrye-graphql/main/directives.adoc create mode 100644 content/docs/smallrye-graphql/main/dynamic-client-error-handling.adoc create mode 100644 content/docs/smallrye-graphql/main/dynamic-client-usage.adoc create mode 100644 content/docs/smallrye-graphql/main/extensions.adoc create mode 100644 content/docs/smallrye-graphql/main/federation.adoc create mode 100644 content/docs/smallrye-graphql/main/gradle-plugin.adoc create mode 100644 content/docs/smallrye-graphql/main/handling-init-payload-from-the-websocket.adoc create mode 100644 content/docs/smallrye-graphql/main/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-graphql/main/index.adoc create mode 100644 content/docs/smallrye-graphql/main/inspecting-executable-directives-on-server-side.adoc create mode 100644 content/docs/smallrye-graphql/main/kotlin.adoc create mode 100644 content/docs/smallrye-graphql/main/maven-plugin.adoc create mode 100644 content/docs/smallrye-graphql/main/mutation-void.adoc create mode 100644 content/docs/smallrye-graphql/main/namespaces-on-server-side.adoc create mode 100644 content/docs/smallrye-graphql/main/server-configuration.adoc create mode 100644 content/docs/smallrye-graphql/main/target-for-input-types.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-accessing-metadata-of-responses.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-custom-scalars.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-directives.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-error-handling.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-headers.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-logging.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-multiple-queries.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-reactive-types.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-unions-and-interfaces.adoc create mode 100644 content/docs/smallrye-graphql/main/typesafe-client-usage.adoc create mode 100644 content/docs/smallrye-graphql/main/using-smallrye-stork.adoc create mode 100644 content/docs/smallrye-health/latest/_attributes.adoc create mode 100644 content/docs/smallrye-health/latest/_nav.yml create mode 100644 content/docs/smallrye-health/latest/async-checks.adoc create mode 100644 content/docs/smallrye-health/latest/custom-config-properties.adoc create mode 100644 content/docs/smallrye-health/latest/health-groups.adoc create mode 100644 content/docs/smallrye-health/latest/health-registry.adoc create mode 100644 content/docs/smallrye-health/latest/index.adoc create mode 100644 content/docs/smallrye-health/latest/static-access.adoc create mode 100644 content/docs/smallrye-health/latest/wellness.adoc create mode 100644 content/docs/smallrye-health/main/_attributes.adoc create mode 100644 content/docs/smallrye-health/main/_nav.yml create mode 100644 content/docs/smallrye-health/main/async-checks.adoc create mode 100644 content/docs/smallrye-health/main/custom-config-properties.adoc create mode 100644 content/docs/smallrye-health/main/health-groups.adoc create mode 100644 content/docs/smallrye-health/main/health-registry.adoc create mode 100644 content/docs/smallrye-health/main/index.adoc create mode 100644 content/docs/smallrye-health/main/static-access.adoc create mode 100644 content/docs/smallrye-health/main/wellness.adoc create mode 100644 content/docs/smallrye-jwt/latest/_attributes.adoc create mode 100644 content/docs/smallrye-jwt/latest/_nav.yml create mode 100644 content/docs/smallrye-jwt/latest/_partials/attributes.adoc create mode 100644 content/docs/smallrye-jwt/latest/configuration.adoc create mode 100644 content/docs/smallrye-jwt/latest/generate-jwt.adoc create mode 100644 content/docs/smallrye-jwt/latest/index.adoc create mode 100644 content/docs/smallrye-jwt/main/_attributes.adoc create mode 100644 content/docs/smallrye-jwt/main/_nav.yml create mode 100644 content/docs/smallrye-jwt/main/_partials/attributes.adoc create mode 100644 content/docs/smallrye-jwt/main/configuration.adoc create mode 100644 content/docs/smallrye-jwt/main/generate-jwt.adoc create mode 100644 content/docs/smallrye-jwt/main/index.adoc create mode 100644 content/docs/smallrye-metrics/2/_attributes.adoc create mode 100644 content/docs/smallrye-metrics/2/_nav.yml create mode 100644 content/docs/smallrye-metrics/2/base-and-vendor-metrics.adoc create mode 100644 content/docs/smallrye-metrics/2/cdi-extension.adoc create mode 100644 content/docs/smallrye-metrics/2/extended-metadata.adoc create mode 100644 content/docs/smallrye-metrics/2/index.adoc create mode 100644 content/docs/smallrye-metrics/2/jaxrs-metrics.adoc create mode 100644 content/docs/smallrye-metrics/2/metric-registry-lifecycle.adoc create mode 100644 content/docs/smallrye-metrics/3/_attributes.adoc create mode 100644 content/docs/smallrye-metrics/3/_nav.yml create mode 100644 content/docs/smallrye-metrics/3/base-and-vendor-metrics.adoc create mode 100644 content/docs/smallrye-metrics/3/cdi-extension.adoc create mode 100644 content/docs/smallrye-metrics/3/extended-metadata.adoc create mode 100644 content/docs/smallrye-metrics/3/index.adoc create mode 100644 content/docs/smallrye-metrics/3/jaxrs-metrics.adoc create mode 100644 content/docs/smallrye-metrics/3/metric-registry-lifecycle.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/2/_attributes.adoc create mode 100755 content/docs/smallrye-mutiny-vertx-bindings/2/_examples/docs/snippets/hello.java create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/2/_nav.yml create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/2/api-translation.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/2/images/codegen.png create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/2/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/2/index.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/3/_attributes.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/3/_examples/docs/snippets/hello.java create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/3/_nav.yml create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/3/api-translation.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/3/images/codegen.png create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/3/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/3/index.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/3/using-vertx-expectations.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/_attributes.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/_nav.yml create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/available-modules.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/blocking-and-testing.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/error-handling.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/getting-started.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/images/diagrams/mermaid-ccfeac935876.dark.svg create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/images/diagrams/mermaid-ccfeac935876.svg create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/index.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/migration-guide-3x-4x.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/type-mapping.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/uni-and-multi.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/latest/using-the-generator.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/_attributes.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/_nav.yml create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/available-modules.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/blocking-and-testing.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/error-handling.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/getting-started.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/images/diagrams/mermaid-ccfeac935876.dark.svg create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/images/diagrams/mermaid-ccfeac935876.svg create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/index.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/migration-guide-3x-4x.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/type-mapping.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/uni-and-multi.adoc create mode 100644 content/docs/smallrye-mutiny-vertx-bindings/main/using-the-generator.adoc create mode 100644 content/docs/smallrye-mutiny-zero/0/_attributes.adoc create mode 100644 content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java create mode 100644 content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java create mode 100644 content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java create mode 100644 content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java create mode 100644 content/docs/smallrye-mutiny-zero/0/_nav.yml create mode 100644 content/docs/smallrye-mutiny-zero/0/assets/reactive-ecosystem.dark.png create mode 100644 content/docs/smallrye-mutiny-zero/0/assets/reactive-ecosystem.png create mode 100644 content/docs/smallrye-mutiny-zero/0/assets/reactive-minimal.dark.png create mode 100644 content/docs/smallrye-mutiny-zero/0/assets/reactive-minimal.png create mode 100644 content/docs/smallrye-mutiny-zero/0/assets/reactive-pollution.dark.png create mode 100644 content/docs/smallrye-mutiny-zero/0/assets/reactive-pollution.png create mode 100644 content/docs/smallrye-mutiny-zero/0/assets/redhat_reversed.svg create mode 100644 content/docs/smallrye-mutiny-zero/0/flow-adapters.adoc create mode 100644 content/docs/smallrye-mutiny-zero/0/index.adoc create mode 100644 content/docs/smallrye-mutiny-zero/0/quick-start.adoc create mode 100644 content/docs/smallrye-mutiny-zero/0/vertx-based-reactive-streams-publishers.adoc create mode 100644 content/docs/smallrye-mutiny-zero/latest/_attributes.adoc create mode 100644 content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java create mode 100644 content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java create mode 100644 content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java create mode 100644 content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java create mode 100644 content/docs/smallrye-mutiny-zero/latest/_nav.yml create mode 100644 content/docs/smallrye-mutiny-zero/latest/assets/reactive-ecosystem.dark.png create mode 100644 content/docs/smallrye-mutiny-zero/latest/assets/reactive-ecosystem.png create mode 100644 content/docs/smallrye-mutiny-zero/latest/assets/reactive-minimal.dark.png create mode 100644 content/docs/smallrye-mutiny-zero/latest/assets/reactive-minimal.png create mode 100644 content/docs/smallrye-mutiny-zero/latest/assets/reactive-pollution.dark.png create mode 100644 content/docs/smallrye-mutiny-zero/latest/assets/reactive-pollution.png create mode 100644 content/docs/smallrye-mutiny-zero/latest/assets/redhat_reversed.svg create mode 100644 content/docs/smallrye-mutiny-zero/latest/flow-adapters.adoc create mode 100644 content/docs/smallrye-mutiny-zero/latest/index.adoc create mode 100644 content/docs/smallrye-mutiny-zero/latest/quick-start.adoc create mode 100644 content/docs/smallrye-mutiny-zero/latest/vertx-based-reactive-streams-publishers.adoc create mode 100644 content/docs/smallrye-mutiny-zero/main/_attributes.adoc create mode 100644 content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java create mode 100644 content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java create mode 100644 content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java create mode 100644 content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java create mode 100644 content/docs/smallrye-mutiny-zero/main/_nav.yml create mode 100644 content/docs/smallrye-mutiny-zero/main/assets/reactive-ecosystem.dark.png create mode 100644 content/docs/smallrye-mutiny-zero/main/assets/reactive-ecosystem.png create mode 100644 content/docs/smallrye-mutiny-zero/main/assets/reactive-minimal.dark.png create mode 100644 content/docs/smallrye-mutiny-zero/main/assets/reactive-minimal.png create mode 100644 content/docs/smallrye-mutiny-zero/main/assets/reactive-pollution.dark.png create mode 100644 content/docs/smallrye-mutiny-zero/main/assets/reactive-pollution.png create mode 100644 content/docs/smallrye-mutiny-zero/main/assets/redhat_reversed.svg create mode 100644 content/docs/smallrye-mutiny-zero/main/flow-adapters.adoc create mode 100644 content/docs/smallrye-mutiny-zero/main/index.adoc create mode 100644 content/docs/smallrye-mutiny-zero/main/quick-start.adoc create mode 100644 content/docs/smallrye-mutiny-zero/main/vertx-based-reactive-streams-publishers.adoc create mode 100644 content/docs/smallrye-mutiny/2/_attributes.adoc create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/FirstProgram.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/FirstProgramTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/BranchingTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/CompletionStageTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/ContextPassingTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/EventsTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/PlugTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/RxTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/ShortcutsTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/SpiesTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/TestSubscribersTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/UncheckedTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/UniMultiComparisonTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/UniNullTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/UniTimeoutTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/DroppedExceptionTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/InfrastructureTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/OperatorLoggingTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ImperativeToReactiveTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ReactiveToImperativeTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ReactorTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/integration/RxJavaTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/BroadcastProcessorTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/CollectingItemsTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/CombiningItemsTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/ControlDemandTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/DelayTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/EmitOnTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/FilterTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/MergeConcatTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/PaginationTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/PollableSourceTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/RepetitionsTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/ReplayTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/RunSubscriptionOnTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/SelectAndSkipTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/SplitTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/UniJoinTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/operators/UnicastProcessorTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/guides/reference/PitfallsTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/tutorials/CreatingMultiTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/tutorials/CreatingUniTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/tutorials/HandlingFailuresTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/tutorials/ObserveTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/tutorials/RetryTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/tutorials/TransformItemsAsyncTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/java/tutorials/TransformItemsTest.java create mode 100644 content/docs/smallrye-mutiny/2/_examples/kotlin/guides/Coroutines.kt create mode 100644 content/docs/smallrye-mutiny/2/_examples/kotlin/guides/UniExt.kt create mode 100644 content/docs/smallrye-mutiny/2/_nav.yml create mode 100644 content/docs/smallrye-mutiny/2/assets/CF_logo_horizontal_single_reverse.svg create mode 100644 content/docs/smallrye-mutiny/2/assets/logo-white.png create mode 100644 content/docs/smallrye-mutiny/2/assets/logo-white.svg create mode 100644 content/docs/smallrye-mutiny/2/assets/logo.png create mode 100644 content/docs/smallrye-mutiny/2/guides/branching.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/broadcasting-to-multiple-subscribers.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/collecting-items.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/combining-items.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/completion-stage.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/context-passing.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/controlling-demand.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/converters.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/custom-operators.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/delaying-events.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/dropped-exceptions.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/eliminate-duplicates-and-repetitions.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/emission-threads.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/emit-on-vs-run-subscription-on.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/filtering-items.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/framework-integration.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/handling-null.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/handling-timeouts.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/hot-streams.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/imperative-to-reactive.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/integrate-a-non-reactive-source.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/joining-unis.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/kotlin.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/logging.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/merging-and-concatenating-streams.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/multi-split.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/pagination.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/polling.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/reactive-to-imperative.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/replaying-multis.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/rx.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/shortcut-methods.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/spies.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/take-skip-items.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/testing.adoc create mode 100644 content/docs/smallrye-mutiny/2/guides/unchecked-exceptions.adoc create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-0277dcc2b534.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-0277dcc2b534.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-18f9a50c0627.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-18f9a50c0627.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3b8d4c58438a.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3b8d4c58438a.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3d4459e3c6a6.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3d4459e3c6a6.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-491ff27a51a5.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-491ff27a51a5.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-69aa56febc93.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-69aa56febc93.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-74e1ac453bf9.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-74e1ac453bf9.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-76df06b35153.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-76df06b35153.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-bc092005fd3f.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-bc092005fd3f.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c54f60b30f42.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c54f60b30f42.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c6f9029821c4.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c6f9029821c4.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-cbd13fb6d19b.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-cbd13fb6d19b.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-df98fc1dd069.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-df98fc1dd069.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e6dd95e32a3f.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e6dd95e32a3f.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e88e1918cd26.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e88e1918cd26.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f0001b5cde9f.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f0001b5cde9f.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f67adb6018b3.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f67adb6018b3.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f71496c9eae5.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f71496c9eae5.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f74f7917dcf7.dark.svg create mode 100644 content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f74f7917dcf7.svg create mode 100644 content/docs/smallrye-mutiny/2/index.adoc create mode 100644 content/docs/smallrye-mutiny/2/reference/distributed_systems_are_asynchronous.dark.png create mode 100644 content/docs/smallrye-mutiny/2/reference/distributed_systems_are_asynchronous.png create mode 100644 content/docs/smallrye-mutiny/2/reference/going-reactive-a-few-pitfalls.adoc create mode 100644 content/docs/smallrye-mutiny/2/reference/migrating-to-mutiny-2.adoc create mode 100644 content/docs/smallrye-mutiny/2/reference/publications.adoc create mode 100644 content/docs/smallrye-mutiny/2/reference/uni-and-multi.adoc create mode 100644 content/docs/smallrye-mutiny/2/reference/what-is-reactive-programming.adoc create mode 100644 content/docs/smallrye-mutiny/2/reference/what-makes-mutiny-different.adoc create mode 100644 content/docs/smallrye-mutiny/2/reference/why-is-asynchronous-important.adoc create mode 100644 content/docs/smallrye-mutiny/2/tags-index.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/creating-multi-pipelines.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/creating-uni-pipelines.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/getting-mutiny.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/handling-failures.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/hello-mutiny.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/mutiny-workshop.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/observing-events.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/retrying.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/running-workshop-sample.dark.png create mode 100644 content/docs/smallrye-mutiny/2/tutorials/running-workshop-sample.png create mode 100644 content/docs/smallrye-mutiny/2/tutorials/transforming-items-asynchronously.adoc create mode 100644 content/docs/smallrye-mutiny/2/tutorials/transforming-items.adoc create mode 100644 content/docs/smallrye-mutiny/latest/_attributes.adoc create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/FirstProgram.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/FirstProgramTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/BranchingTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/CompletionStageTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/ContextPassingTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/EventsTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/PlugTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/RxTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/ShortcutsTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/SpiesTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/TestSubscribersTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/UncheckedTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/UniMultiComparisonTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/UniNullTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/UniTimeoutTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/DroppedExceptionTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/InfrastructureTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/OperatorLoggingTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ImperativeToReactiveTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ReactiveToImperativeTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ReactorTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/RxJavaTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/BroadcastProcessorTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/CollectingItemsTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/CombiningItemsTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/ControlDemandTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/DelayTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/EmitOnTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/FilterTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/GroupingItemsTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/MergeConcatTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PaginationTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PausingDemandTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PollableSourceTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/RepetitionsTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/ReplayTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/RunSubscriptionOnTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/SelectAndSkipTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/SplitTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/UniJoinTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/UnicastProcessorTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/guides/reference/PitfallsTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/tutorials/CreatingMultiTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/tutorials/CreatingUniTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/tutorials/HandlingFailuresTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/tutorials/ObserveTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/tutorials/RetryTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/tutorials/TransformItemsAsyncTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/java/tutorials/TransformItemsTest.java create mode 100644 content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/Coroutines.kt create mode 100644 content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/FailureExt.kt create mode 100644 content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/MultiAwait.kt create mode 100644 content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/MultiExt.kt create mode 100644 content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/TupleExt.kt create mode 100644 content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/UniExt.kt create mode 100644 content/docs/smallrye-mutiny/latest/_nav.yml create mode 100644 content/docs/smallrye-mutiny/latest/assets/CF_logo_horizontal_single_reverse.svg create mode 100644 content/docs/smallrye-mutiny/latest/assets/logo-white.png create mode 100644 content/docs/smallrye-mutiny/latest/assets/logo-white.svg create mode 100644 content/docs/smallrye-mutiny/latest/assets/logo.png create mode 100644 content/docs/smallrye-mutiny/latest/guides/branching.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/broadcasting-to-multiple-subscribers.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/collecting-items.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/combining-items.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/completion-stage.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/context-passing.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/controlling-demand.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/converters.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/custom-operators.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/delaying-events.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/dropped-exceptions.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/eliminate-duplicates-and-repetitions.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/emission-threads.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/emit-on-vs-run-subscription-on.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/filtering-items.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/framework-integration.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/grouping-items.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/handling-null.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/handling-timeouts.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/hot-streams.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/imperative-to-reactive.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/integrate-a-non-reactive-source.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/joining-unis.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/kotlin.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/logging.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/merging-and-concatenating-streams.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/multi-split.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/pagination.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/polling.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/reactive-to-imperative.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/replaying-multis.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/rx.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/shortcut-methods.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/spies.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/take-skip-items.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/testing.adoc create mode 100644 content/docs/smallrye-mutiny/latest/guides/unchecked-exceptions.adoc create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-0277dcc2b534.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-0277dcc2b534.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-18f9a50c0627.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-18f9a50c0627.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3b8d4c58438a.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3b8d4c58438a.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3d4459e3c6a6.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3d4459e3c6a6.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-491ff27a51a5.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-491ff27a51a5.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-69aa56febc93.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-69aa56febc93.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-74e1ac453bf9.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-74e1ac453bf9.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-76df06b35153.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-76df06b35153.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-bc092005fd3f.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-bc092005fd3f.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c54f60b30f42.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c54f60b30f42.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c6f9029821c4.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c6f9029821c4.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-cbd13fb6d19b.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-cbd13fb6d19b.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-df98fc1dd069.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-df98fc1dd069.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e6dd95e32a3f.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e6dd95e32a3f.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e88e1918cd26.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e88e1918cd26.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f0001b5cde9f.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f0001b5cde9f.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f67adb6018b3.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f67adb6018b3.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f71496c9eae5.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f71496c9eae5.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f74f7917dcf7.dark.svg create mode 100644 content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f74f7917dcf7.svg create mode 100644 content/docs/smallrye-mutiny/latest/index.adoc create mode 100644 content/docs/smallrye-mutiny/latest/reference/distributed_systems_are_asynchronous.dark.png create mode 100644 content/docs/smallrye-mutiny/latest/reference/distributed_systems_are_asynchronous.png create mode 100644 content/docs/smallrye-mutiny/latest/reference/going-reactive-a-few-pitfalls.adoc create mode 100644 content/docs/smallrye-mutiny/latest/reference/migrating-to-mutiny-2.adoc create mode 100644 content/docs/smallrye-mutiny/latest/reference/publications.adoc create mode 100644 content/docs/smallrye-mutiny/latest/reference/uni-and-multi.adoc create mode 100644 content/docs/smallrye-mutiny/latest/reference/what-is-reactive-programming.adoc create mode 100644 content/docs/smallrye-mutiny/latest/reference/what-makes-mutiny-different.adoc create mode 100644 content/docs/smallrye-mutiny/latest/reference/why-is-asynchronous-important.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tags-index.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/creating-multi-pipelines.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/creating-uni-pipelines.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/getting-mutiny.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/handling-failures.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/hello-mutiny.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/mutiny-workshop.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/observing-events.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/retrying.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/running-workshop-sample.dark.png create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/running-workshop-sample.png create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/transforming-items-asynchronously.adoc create mode 100644 content/docs/smallrye-mutiny/latest/tutorials/transforming-items.adoc create mode 100644 content/docs/smallrye-mutiny/main/_attributes.adoc create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/FirstProgram.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/FirstProgramTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/BranchingTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/CompletionStageTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/ContextPassingTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/EventsTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/PlugTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/RxTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/ShortcutsTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/SpiesTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/TestSubscribersTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/UncheckedTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/UniMultiComparisonTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/UniNullTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/UniTimeoutTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/DroppedExceptionTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/InfrastructureTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/OperatorLoggingTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ImperativeToReactiveTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ReactiveToImperativeTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ReactorTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/integration/RxJavaTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/BroadcastProcessorTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/CollectingItemsTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/CombiningItemsTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/ControlDemandTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/DelayTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/EmitOnTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/FilterTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/GroupingItemsTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/MergeConcatTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PaginationTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PausingDemandTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PollableSourceTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/RepetitionsTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/ReplayTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/RunSubscriptionOnTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/SelectAndSkipTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/SplitTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/UniJoinTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/operators/UnicastProcessorTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/guides/reference/PitfallsTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/tutorials/CreatingMultiTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/tutorials/CreatingUniTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/tutorials/HandlingFailuresTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/tutorials/ObserveTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/tutorials/RetryTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/tutorials/TransformItemsAsyncTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/java/tutorials/TransformItemsTest.java create mode 100644 content/docs/smallrye-mutiny/main/_examples/kotlin/guides/Coroutines.kt create mode 100644 content/docs/smallrye-mutiny/main/_examples/kotlin/guides/FailureExt.kt create mode 100644 content/docs/smallrye-mutiny/main/_examples/kotlin/guides/MultiAwait.kt create mode 100644 content/docs/smallrye-mutiny/main/_examples/kotlin/guides/MultiExt.kt create mode 100644 content/docs/smallrye-mutiny/main/_examples/kotlin/guides/TupleExt.kt create mode 100644 content/docs/smallrye-mutiny/main/_examples/kotlin/guides/UniExt.kt create mode 100644 content/docs/smallrye-mutiny/main/_nav.yml create mode 100644 content/docs/smallrye-mutiny/main/assets/CF_logo_horizontal_single_reverse.svg create mode 100644 content/docs/smallrye-mutiny/main/assets/logo-white.png create mode 100644 content/docs/smallrye-mutiny/main/assets/logo-white.svg create mode 100644 content/docs/smallrye-mutiny/main/assets/logo.png create mode 100644 content/docs/smallrye-mutiny/main/guides/branching.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/broadcasting-to-multiple-subscribers.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/collecting-items.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/combining-items.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/completion-stage.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/context-passing.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/controlling-demand.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/converters.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/custom-operators.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/delaying-events.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/dropped-exceptions.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/eliminate-duplicates-and-repetitions.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/emission-threads.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/emit-on-vs-run-subscription-on.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/filtering-items.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/framework-integration.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/grouping-items.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/handling-null.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/handling-timeouts.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/hot-streams.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/imperative-to-reactive.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/integrate-a-non-reactive-source.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/joining-unis.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/kotlin.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/logging.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/merging-and-concatenating-streams.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/multi-split.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/pagination.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/polling.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/reactive-to-imperative.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/replaying-multis.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/rx.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/shortcut-methods.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/spies.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/take-skip-items.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/testing.adoc create mode 100644 content/docs/smallrye-mutiny/main/guides/unchecked-exceptions.adoc create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-0277dcc2b534.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-0277dcc2b534.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-18f9a50c0627.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-18f9a50c0627.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3b8d4c58438a.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3b8d4c58438a.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3d4459e3c6a6.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3d4459e3c6a6.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-491ff27a51a5.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-491ff27a51a5.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-69aa56febc93.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-69aa56febc93.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-74e1ac453bf9.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-74e1ac453bf9.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-76df06b35153.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-76df06b35153.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-bc092005fd3f.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-bc092005fd3f.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c54f60b30f42.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c54f60b30f42.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c6f9029821c4.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c6f9029821c4.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-cbd13fb6d19b.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-cbd13fb6d19b.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-df98fc1dd069.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-df98fc1dd069.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e6dd95e32a3f.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e6dd95e32a3f.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e88e1918cd26.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e88e1918cd26.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f0001b5cde9f.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f0001b5cde9f.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f67adb6018b3.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f67adb6018b3.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f71496c9eae5.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f71496c9eae5.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f74f7917dcf7.dark.svg create mode 100644 content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f74f7917dcf7.svg create mode 100644 content/docs/smallrye-mutiny/main/index.adoc create mode 100644 content/docs/smallrye-mutiny/main/reference/distributed_systems_are_asynchronous.dark.png create mode 100644 content/docs/smallrye-mutiny/main/reference/distributed_systems_are_asynchronous.png create mode 100644 content/docs/smallrye-mutiny/main/reference/going-reactive-a-few-pitfalls.adoc create mode 100644 content/docs/smallrye-mutiny/main/reference/migrating-to-mutiny-2.adoc create mode 100644 content/docs/smallrye-mutiny/main/reference/publications.adoc create mode 100644 content/docs/smallrye-mutiny/main/reference/uni-and-multi.adoc create mode 100644 content/docs/smallrye-mutiny/main/reference/what-is-reactive-programming.adoc create mode 100644 content/docs/smallrye-mutiny/main/reference/what-makes-mutiny-different.adoc create mode 100644 content/docs/smallrye-mutiny/main/reference/why-is-asynchronous-important.adoc create mode 100644 content/docs/smallrye-mutiny/main/tags-index.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/creating-multi-pipelines.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/creating-uni-pipelines.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/getting-mutiny.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/handling-failures.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/hello-mutiny.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/mutiny-workshop.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/observing-events.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/retrying.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/running-workshop-sample.dark.png create mode 100644 content/docs/smallrye-mutiny/main/tutorials/running-workshop-sample.png create mode 100644 content/docs/smallrye-mutiny/main/tutorials/transforming-items-asynchronously.adoc create mode 100644 content/docs/smallrye-mutiny/main/tutorials/transforming-items.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_attributes.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/ack/AutoNack.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/ack/MessageAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/ack/NackOnEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/ack/PreAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/ack/StreamAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/customization/ClientProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpCloudEventProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/beans/Chain.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/beans/MessageProcessingBean.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/beans/PayloadProcessingBean.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/broadcast/BroadcastExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/broadcast/BroadcastWithCountExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/camel/api/CamelApi.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/CamelFileConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/CamelFileMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/IncomingCamelMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/camel/processor/CamelProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/consumption/ConsumptionExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/converters/ConverterExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/converters/MyConverter.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/decorators/ConsumedMessageDecorator.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/emitter/ChannelExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/emitter/EmitterExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/emitter/EmitterFactoryExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/emitter/MutinyExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/emitter/MyImperativeBean.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/generation/GenerationExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/incomings/IncomingsExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/interceptors/MyInterceptor.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/ConsumerTest.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/KafkaTest.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/KafkaWithBaseTest.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/OffsetsTest.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/ProducerTest.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/TopicsTest.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/Converters.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaCheckpointExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaCustomCommit.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaDeadLetterExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRebalancedConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRecordBatchExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/MyCheckpointStateStore.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaCloudEventProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaProducerRecordExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaRecordExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaTransactionalProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/ProducerInterceptorBeanExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/merge/MergeExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/messages/MessageExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/mqtt/customization/ClientProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/mqtt/inbound/MqttPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/mqtt/inbound/MqttPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/mqtt/outbound/MqttPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/mqtt/outbound/MqttPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/processing/ProcessingExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/processing/StreamExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/quickstart/ReactiveMessagingExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/customization/RabbitMQProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/skip/SingleSkip.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/skip/StreamSkip.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/testing/MyTest.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_examples/testing/MyTestSetup.java create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-amqp-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-amqp-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-camel-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-camel-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-jms-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-jms-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-kafka-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-kafka-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-mqtt-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-mqtt-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-rabbitmq-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_generated/smallrye-rabbitmq-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/_nav.yml create mode 100644 content/docs/smallrye-reactive-messaging/3/amqp/amqp.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/amqp/client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/amqp/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/amqp/rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/amqp/receiving-amqp-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/amqp/sending-amqp-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/camel/camel-processor.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/camel/camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/camel/receiving-messages-from-camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/camel/sending-messages-to-camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/camel/using-existing-routes.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/acknowledgement.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/advanced-config.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/blocking.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/broadcast.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/concepts.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/connectors.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/converters.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/decorators.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/emitter.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/incomings.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/logging.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/merge.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/message-context.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/model.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/signatures.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/skipping.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/concepts/testing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/getting-started.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/images/chain.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/chain.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/channels.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/channels.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/connectors.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/connectors.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/favicon.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/incoming.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/logo.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/message.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/messages.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/messages.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/outgoing.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/overview.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/overview.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/processor.png create mode 100644 content/docs/smallrye-reactive-messaging/3/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-reactive-messaging/3/index.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/jms/advanced-jms.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/jms/jms.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/jms/receiving-jms-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/jms/sending-jms-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/avro-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/client-service.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/consumer-rebalance-listener.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/default-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/kafka.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/kerberos.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/protobuf-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/receiving-kafka-records.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/test-companion.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/transactions.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/kafka/writing-kafka-records.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/mqtt/client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/mqtt/mqtt.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/mqtt/receiving-mqtt-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/mqtt/sending-messages-to-mqtt.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-cloud.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/rabbitmq/receiving-messages-from-rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/3/rabbitmq/sending-messages-to-rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_attributes.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/ack/AutoNack.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/ack/MessageAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/ack/NackOnEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/ack/PreAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/ack/StreamAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/ClientProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/MyCbsTokenProvider.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/MySasTokenProvider.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpCloudEventProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpReplierWithMetadata.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/beans/Chain.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/beans/MessageProcessingBean.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/beans/PayloadProcessingBean.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/broadcast/BroadcastExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/broadcast/BroadcastWithCountExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/camel/api/CamelApi.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/CamelFileConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/CamelFileMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/IncomingCamelMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/camel/processor/CamelProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyAckHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyConnector.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyConnectorWithPartials.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingChannel.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingChannelWithPartials.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingMetadata.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyMessage.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyMessageConverter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingChannel.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingChannelWithPartials.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingMessage.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingMetadata.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/test/MyConnectorTest.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/test/WeldTestBase.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/consumption/ConsumptionExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/converters/ConverterExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/converters/MyConverter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/customizers/MyClientCustomizer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/decorators/ConsumedMessageDecorator.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/emitter/ChannelExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/emitter/EmitterExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/emitter/EmitterFactoryExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/emitter/MutinyExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/emitter/MyImperativeBean.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/generation/GenerationExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/genericpayload/GenericPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/incomings/IncomingsExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/incomings/MetadataInjectionExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/interceptors/MyIncomingInterceptor.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/interceptors/MyOutgoingInterceptor.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/ConsumerTest.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/KafkaTest.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/KafkaWithBaseTest.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/OffsetsTest.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/ProducerTest.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/TopicsTest.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/Converters.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaCheckpointExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaCustomCommit.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaDeadLetterExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRebalancedConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRecordBatchExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupAckExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupNackExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/MyCheckpointStateStore.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCloudEventProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCustomHeaderReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaProducerRecordExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRecordExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaTransactionalProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/MyReplyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/ProducerInterceptorBeanExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyValueExtractorFromPayload.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyedExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyedMultiExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/merge/MergeExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/messages/MessageExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/mqtt/customization/ClientProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/mqtt/inbound/MqttPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/mqtt/inbound/MqttPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/mqtt/outbound/MqttPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/mqtt/outbound/MqttPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/observability/ContextMessageObservationCollector.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/observability/SimpleMessageObservationCollector.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/outgoings/OutgoingsExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/outgoings/SplitterMultiExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/outgoings/TargetedExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pausable/PausableController.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/processing/ProcessingExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/processing/StreamExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/configuration/PulsarClientConfigProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/configuration/PulsarSchemaProvider.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMessageBatchExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarKeyValueExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarTransactionalProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/quickstart/ReactiveMessagingExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/customization/ArgumentProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/customization/RabbitMQProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQRejectMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/skip/SingleSkip.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/skip/StreamSkip.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsCustomAckStrategy.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsCustomNackStrategy.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsMessageStringConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsSdkMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsStringConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/json/SqsJsonMapping.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsMessageStringProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsStringProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/testing/MyTest.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_examples/testing/MyTestSetup.java create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-amqp-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-amqp-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-camel-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-camel-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-jms-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-jms-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-kafka-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-kafka-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-mqtt-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-mqtt-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-pulsar-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-pulsar-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-rabbitmq-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-rabbitmq-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sns-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sqs-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sqs-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_nav.yml create mode 100644 content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-client.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-consumer.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-producer.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/amqp/amqp.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/amqp/cbs-authentication.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/amqp/client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/amqp/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/amqp/rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/amqp/receiving-amqp-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/amqp/request-reply.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/amqp/sending-amqp-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/camel/camel-processor.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/camel/camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/camel/receiving-messages-from-camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/camel/sending-messages-to-camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/camel/using-existing-routes.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/acknowledgement.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/advanced-config.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/blocking.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/broadcast.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/client-customizers.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/concepts.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/connectors.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/contributing-connectors.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/converters.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/decorators.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/emitter.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/generic-payloads.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/incoming-concurrency.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/incoming-metadata-injection.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/incomings.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/keyed-multi.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/logging.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/merge.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/message-context.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/model.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/observability.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/outgoings.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/pausable-channels.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/signatures.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/skipping.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/concepts/testing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/getting-started.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/images/chain.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/chain.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/channels.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/channels.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/connectors.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/connectors.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/favicon.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/incoming.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/logo.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/message.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/messages.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/messages.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/outgoing.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/overview.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/overview.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/processor.png create mode 100644 content/docs/smallrye-reactive-messaging/4/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-reactive-messaging/4/index.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/jms/advanced-jms.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/jms/jms.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/jms/receiving-jms-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/jms/sending-jms-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/avro-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/client-service.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/consumer-rebalance-listener.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/default-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/kafka.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/kerberos.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/protobuf-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/receiving-kafka-records.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/request-reply.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/test-companion.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/transactions.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/kafka/writing-kafka-records.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/mqtt/client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/mqtt/mqtt.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/mqtt/receiving-mqtt-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/mqtt/sending-messages-to-mqtt.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/pulsar/client-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/pulsar/client-service.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/pulsar/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/pulsar/pulsar.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/pulsar/receiving-pulsar-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/pulsar/schema-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/pulsar/sending-messages-to-pulsar.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/pulsar/transactions.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-cloud.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/rabbitmq/receiving-messages-from-rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/rabbitmq/request-reply.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/rabbitmq/sending-messages-to-rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/sns/sending-aws-sns-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/sns/sns.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/sqs/receiving-aws-sqs-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/sqs/sending-aws-sqs-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/4/sqs/sqs.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_attributes.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/ack/AutoNack.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/ack/MessageAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/ack/NackOnEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/ack/PreAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/ack/StreamAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/ClientProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/MyCbsTokenProvider.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/MySasTokenProvider.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpCloudEventProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpReplierWithMetadata.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/beans/Chain.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/beans/MessageProcessingBean.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/beans/PayloadProcessingBean.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/broadcast/BroadcastExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/broadcast/BroadcastWithCountExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/camel/api/CamelApi.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/CamelFileConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/CamelFileMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/IncomingCamelMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/camel/processor/CamelProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyAckHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyConnector.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyConnectorWithPartials.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingChannel.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingChannelWithPartials.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingMetadata.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyMessage.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyMessageConverter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingChannel.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingChannelWithPartials.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingMessage.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingMetadata.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/test/MyConnectorTest.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/test/WeldTestBase.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/consumption/ConsumptionExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/converters/ConverterExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/converters/MyConverter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/customizers/MyClientCustomizer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/decorators/ConsumedMessageDecorator.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/emitter/ChannelExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/emitter/EmitterExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/emitter/EmitterFactoryExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/emitter/MutinyExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/emitter/MyImperativeBean.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/generation/GenerationExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/genericpayload/GenericPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/incomings/IncomingsExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/incomings/MetadataInjectionExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/interceptors/MyIncomingInterceptor.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/interceptors/MyOutgoingInterceptor.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/ConsumerTest.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/KafkaTest.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/KafkaWithBaseTest.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/OffsetsTest.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/ProducerTest.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/TopicsTest.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/Converters.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaCheckpointExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaCustomCommit.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaDeadLetterExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRebalancedConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRecordBatchExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupAckExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupNackExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/MyCheckpointStateStore.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCloudEventProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCustomHeaderReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaProducerRecordExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRecordExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaTransactionalProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/MyReplyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/ProducerInterceptorBeanExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyValueExtractorFromPayload.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyedExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyedMultiExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/merge/MergeExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/messages/MessageExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/customization/ClientProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/inbound/MqttPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/inbound/MqttPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/outbound/MqttPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/outbound/MqttPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/observability/ContextMessageObservationCollector.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/observability/SimpleMessageObservationCollector.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/OutgoingsExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/SplitterMultiExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/TargetedExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pausable/PausableController.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/processing/ProcessingExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/processing/StreamExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/configuration/PulsarClientConfigProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/configuration/PulsarSchemaProvider.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMessageBatchExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarKeyValueExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarTransactionalProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/quickstart/ReactiveMessagingExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/skip/SingleSkip.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/skip/StreamSkip.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsCustomAckStrategy.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsCustomNackStrategy.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsMessageStringConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsSdkMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsStringConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/json/SqsJsonMapping.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsMessageStringProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsStringProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/testing/MyTest.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_examples/testing/MyTestSetup.java create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-amqp-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-amqp-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-camel-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-camel-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-jms-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-jms-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-kafka-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-kafka-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-mqtt-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-mqtt-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-pulsar-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-pulsar-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sns-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sqs-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sqs-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_nav.yml create mode 100644 content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-client.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-consumer.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-producer.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/amqp/amqp.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/amqp/cbs-authentication.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/amqp/client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/amqp/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/amqp/rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/amqp/receiving-amqp-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/amqp/request-reply.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/amqp/sending-amqp-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/camel/camel-processor.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/camel/camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/camel/receiving-messages-from-camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/camel/sending-messages-to-camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/camel/using-existing-routes.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/acknowledgement.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/advanced-config.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/blocking.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/broadcast.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/client-customizers.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/concepts.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/connectors.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/contributing-connectors.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/converters.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/decorators.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/emitter.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/generic-payloads.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/incoming-concurrency.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/incoming-metadata-injection.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/incomings.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/keyed-multi.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/logging.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/merge.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/message-context.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/model.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/observability.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/outgoings.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/pausable-channels.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/signatures.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/skipping.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/concepts/testing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/getting-started.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/chain.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/chain.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/channels.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/channels.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/connectors.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/connectors.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/favicon.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/incoming.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/logo.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/message.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/messages.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/messages.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/outgoing.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/overview.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/overview.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/processor.png create mode 100644 content/docs/smallrye-reactive-messaging/latest/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-reactive-messaging/latest/index.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/jms/advanced-jms.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/jms/jms.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/jms/receiving-jms-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/jms/sending-jms-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/avro-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/client-service.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/consumer-rebalance-listener.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/default-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/kafka.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/kerberos.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/protobuf-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/receiving-kafka-records.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/request-reply.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/test-companion.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/transactions.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/kafka/writing-kafka-records.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/mqtt/client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/mqtt/mqtt.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/mqtt/receiving-mqtt-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/mqtt/sending-messages-to-mqtt.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/pulsar/client-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/pulsar/client-service.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/pulsar/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/pulsar/pulsar.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/pulsar/receiving-pulsar-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/pulsar/schema-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/pulsar/sending-messages-to-pulsar.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/pulsar/transactions.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-cloud.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-tracing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/rabbitmq/receiving-messages-from-rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/rabbitmq/request-reply.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/rabbitmq/sending-messages-to-rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/sns/sending-aws-sns-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/sns/sns.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/sqs/receiving-aws-sqs-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/sqs/sending-aws-sqs-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/latest/sqs/sqs.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_attributes.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/ack/AutoNack.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/ack/MessageAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/ack/NackOnEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/ack/PreAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/ack/StreamAckExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/ClientProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/MyCbsTokenProvider.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/MySasTokenProvider.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpCloudEventProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpReplierWithMetadata.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/beans/Chain.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/beans/MessageProcessingBean.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/beans/PayloadProcessingBean.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/broadcast/BroadcastExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/broadcast/BroadcastWithCountExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/camel/api/CamelApi.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/CamelFileConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/CamelFileMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/IncomingCamelMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/camel/processor/CamelProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyAckHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyConnector.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyConnectorWithPartials.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingChannel.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingChannelWithPartials.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingMetadata.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyMessage.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyMessageConverter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingChannel.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingChannelWithPartials.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingMessage.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingMetadata.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/test/MyConnectorTest.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/test/WeldTestBase.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/consumption/ConsumptionExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/converters/ConverterExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/converters/MyConverter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/customizers/MyClientCustomizer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/decorators/ConsumedMessageDecorator.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/emitter/ChannelExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/emitter/EmitterExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/emitter/EmitterFactoryExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/emitter/MutinyExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/emitter/MyImperativeBean.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/generation/GenerationExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/genericpayload/GenericPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/incomings/IncomingsExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/incomings/MetadataInjectionExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/interceptors/MyIncomingInterceptor.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/interceptors/MyOutgoingInterceptor.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/ConsumerTest.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/KafkaTest.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/KafkaWithBaseTest.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/OffsetsTest.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/ProducerTest.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/TopicsTest.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/Converters.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaCheckpointExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaCustomCommit.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaDeadLetterExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaManualPartitionPauseResume.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRebalancedConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRecordBatchExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupAckExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupNackExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/MyCheckpointStateStore.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCloudEventProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCustomHeaderReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaProducerRecordExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRecordExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaTransactionalProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/MyReplyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/ProducerInterceptorBeanExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyValueExtractorFromPayload.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyedExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyedMultiExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/merge/MergeExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/messages/MessageExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/mqtt/customization/ClientProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/mqtt/inbound/MqttPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/mqtt/inbound/MqttPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/mqtt/outbound/MqttPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/mqtt/outbound/MqttPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/observability/ContextMessageObservationCollector.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/observability/SimpleMessageObservationCollector.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/outgoings/OutgoingsExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/outgoings/SplitterMultiExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/outgoings/TargetedExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pausable/PausableController.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/processing/ProcessingExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/processing/StreamExamples.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/configuration/PulsarClientConfigProducers.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/configuration/PulsarSchemaProvider.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMessageBatchExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarPriceConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarKeyValueExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarPriceMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarPriceProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarTransactionalProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/quickstart/ReactiveMessagingExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQReplier.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/skip/SingleSkip.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/skip/StreamSkip.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsMessageProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsCustomAckStrategy.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsCustomNackStrategy.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsMessageStringConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsSdkMessageConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsStringConsumer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/json/SqsJsonMapping.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsMessageStringProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsOutboundMetadataExample.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsStringProducer.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/testing/MyTest.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_examples/testing/MyTestSetup.java create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-amqp-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-amqp-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-camel-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-camel-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-jms-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-jms-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-kafka-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-kafka-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-mqtt-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-mqtt-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-pulsar-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-pulsar-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sns-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sqs-incoming.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sqs-outgoing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_nav.yml create mode 100644 content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-client.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-consumer.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-producer.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/amqp/amqp.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/amqp/cbs-authentication.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/amqp/client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/amqp/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/amqp/rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/amqp/receiving-amqp-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/amqp/request-reply.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/amqp/sending-amqp-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/camel/camel-processor.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/camel/camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/camel/receiving-messages-from-camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/camel/sending-messages-to-camel.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/camel/using-existing-routes.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/acknowledgement.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/advanced-config.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/blocking.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/broadcast.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/client-customizers.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/concepts.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/connectors.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/contributing-connectors.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/converters.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/decorators.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/emitter.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/generic-payloads.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/incoming-concurrency.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/incoming-metadata-injection.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/incomings.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/keyed-multi.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/logging.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/merge.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/message-context.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/model.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/observability.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/outgoings.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/pausable-channels.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/signatures.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/skipping.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/concepts/testing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/getting-started.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/images/chain.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/chain.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/channels.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/channels.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/connectors.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/connectors.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/favicon.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/incoming.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/logo.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/message.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/messages.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/messages.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/outgoing.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/overview.dark.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/overview.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/processor.png create mode 100644 content/docs/smallrye-reactive-messaging/main/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-reactive-messaging/main/index.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/jms/advanced-jms.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/jms/jms-transactions.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/jms/jms.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/jms/receiving-jms-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/jms/sending-jms-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/avro-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/client-service.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/consumer-rebalance-listener.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/default-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/kafka.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/kerberos.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/protobuf-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/receiving-kafka-records.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/request-reply.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/test-companion.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/transactions.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/kafka/writing-kafka-records.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/mqtt/client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/mqtt/mqtt.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/mqtt/receiving-mqtt-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/mqtt/sending-messages-to-mqtt.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/pulsar/client-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/pulsar/client-service.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/pulsar/health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/pulsar/pulsar.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/pulsar/receiving-pulsar-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/pulsar/schema-configuration.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/pulsar/sending-messages-to-pulsar.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/pulsar/transactions.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-client-customization.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-cloud.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-health.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-tracing.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/rabbitmq/receiving-messages-from-rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/rabbitmq/request-reply.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/rabbitmq/sending-messages-to-rabbitmq.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/sns/sending-aws-sns-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/sns/sns.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/sqs/receiving-aws-sqs-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/sqs/sending-aws-sqs-messages.adoc create mode 100644 content/docs/smallrye-reactive-messaging/main/sqs/sqs.adoc create mode 100644 content/docs/smallrye-stork/1/_attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_examples/examples/AcmeDiscoveryApiUsage.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/AcmeLoadBalancer.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/AcmeLoadBalancerProvider.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/AcmeSelectorApiUsage.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/AcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/AcmeServiceDiscoveryProvider.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/CachedAcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/CachedAcmeServiceDiscoveryProvider.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/DefinitionExample.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/HelloClient.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/InitializationExample.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/LookupExample.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/StorkApiExample.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/StorkEntryPointExample.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/StorkServiceExample.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/StorkServiceLookupExample.java create mode 100644 content/docs/smallrye-stork/1/_examples/examples/StorkServiceSelectionExample.java create mode 100644 content/docs/smallrye-stork/1/_generated/composite-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_generated/consul-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_generated/consul-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_generated/eureka-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_generated/eureka-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_generated/kubernetes-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_generated/least-response-time-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_generated/power-of-two-choices-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_generated/random-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_generated/static-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/1/_nav.yml create mode 100644 content/docs/smallrye-stork/1/concepts.adoc create mode 100644 content/docs/smallrye-stork/1/images/diagrams/plantuml-22429aea1395.dark.svg create mode 100644 content/docs/smallrye-stork/1/images/diagrams/plantuml-22429aea1395.svg create mode 100644 content/docs/smallrye-stork/1/images/diagrams/plantuml-383c9b353dda.dark.svg create mode 100644 content/docs/smallrye-stork/1/images/diagrams/plantuml-383c9b353dda.svg create mode 100644 content/docs/smallrye-stork/1/images/diagrams/plantuml-a0003ba546d7.dark.svg create mode 100644 content/docs/smallrye-stork/1/images/diagrams/plantuml-a0003ba546d7.svg create mode 100644 content/docs/smallrye-stork/1/images/problem-dark.png create mode 100644 content/docs/smallrye-stork/1/images/problem-light.png create mode 100644 content/docs/smallrye-stork/1/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-stork/1/images/solution-dark.png create mode 100644 content/docs/smallrye-stork/1/images/solution-light.png create mode 100644 content/docs/smallrye-stork/1/images/stork-white.png create mode 100644 content/docs/smallrye-stork/1/index.adoc create mode 100644 content/docs/smallrye-stork/1/load-balancer/custom-load-balancer.adoc create mode 100644 content/docs/smallrye-stork/1/load-balancer/least-requests.adoc create mode 100644 content/docs/smallrye-stork/1/load-balancer/power-of-two-choices.adoc create mode 100644 content/docs/smallrye-stork/1/load-balancer/random.adoc create mode 100644 content/docs/smallrye-stork/1/load-balancer/response-time.adoc create mode 100644 content/docs/smallrye-stork/1/load-balancer/round-robin.adoc create mode 100644 content/docs/smallrye-stork/1/load-balancer/sticky.adoc create mode 100644 content/docs/smallrye-stork/1/programmatic-api.adoc create mode 100644 content/docs/smallrye-stork/1/quarkus.adoc create mode 100644 content/docs/smallrye-stork/1/service-discovery/composite.adoc create mode 100644 content/docs/smallrye-stork/1/service-discovery/consul.adoc create mode 100644 content/docs/smallrye-stork/1/service-discovery/custom-service-discovery.adoc create mode 100644 content/docs/smallrye-stork/1/service-discovery/dns.adoc create mode 100644 content/docs/smallrye-stork/1/service-discovery/eureka.adoc create mode 100644 content/docs/smallrye-stork/1/service-discovery/knative.adoc create mode 100644 content/docs/smallrye-stork/1/service-discovery/kubernetes.adoc create mode 100644 content/docs/smallrye-stork/1/service-discovery/static-list.adoc create mode 100644 content/docs/smallrye-stork/2/_attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeDiscoveryApiUsage.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeLoadBalancer.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeLoadBalancerProvider.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeObservationCollector.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeRegistrarApiUsage.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeSelectorApiUsage.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeServiceDiscoveryProvider.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeServiceRegistrar.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/AcmeServiceRegistrarProvider.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/CachedAcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/CachedAcmeServiceDiscoveryProvider.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/DefinitionExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/HelloClient.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/InitializationExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/LookupExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/ObservableInitializationExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/ObservationExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/SpringBootInitializationExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/StorkApiExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/StorkEntryPointExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/StorkServiceExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/StorkServiceLookupExample.java create mode 100644 content/docs/smallrye-stork/2/_examples/examples/StorkServiceSelectionExample.java create mode 100644 content/docs/smallrye-stork/2/_generated/composite-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/consul-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/consul-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/dns-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/eureka-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/eureka-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/knative-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/kubernetes-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/least-requests-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/least-response-time-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/power-of-two-choices-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/random-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/static-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/static-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_generated/sticky-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/2/_nav.yml create mode 100644 content/docs/smallrye-stork/2/concepts.adoc create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-383c9b353dda.dark.svg create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-383c9b353dda.svg create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-3c6c7f0192c2.dark.svg create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-3c6c7f0192c2.svg create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-a0003ba546d7.dark.svg create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-a0003ba546d7.svg create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-bc915c97a9fa.dark.svg create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-bc915c97a9fa.svg create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-c8137b2f4bb7.dark.svg create mode 100644 content/docs/smallrye-stork/2/images/diagrams/plantuml-c8137b2f4bb7.svg create mode 100644 content/docs/smallrye-stork/2/images/problem-dark.png create mode 100644 content/docs/smallrye-stork/2/images/problem-light.png create mode 100644 content/docs/smallrye-stork/2/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-stork/2/images/solution-dark.png create mode 100644 content/docs/smallrye-stork/2/images/solution-light.png create mode 100644 content/docs/smallrye-stork/2/images/stork-white.png create mode 100644 content/docs/smallrye-stork/2/index.adoc create mode 100644 content/docs/smallrye-stork/2/load-balancer/custom-load-balancer.adoc create mode 100644 content/docs/smallrye-stork/2/load-balancer/least-requests.adoc create mode 100644 content/docs/smallrye-stork/2/load-balancer/least-response-time.adoc create mode 100644 content/docs/smallrye-stork/2/load-balancer/overview.adoc create mode 100644 content/docs/smallrye-stork/2/load-balancer/power-of-two-choices.adoc create mode 100644 content/docs/smallrye-stork/2/load-balancer/random.adoc create mode 100644 content/docs/smallrye-stork/2/load-balancer/round-robin.adoc create mode 100644 content/docs/smallrye-stork/2/load-balancer/sticky.adoc create mode 100644 content/docs/smallrye-stork/2/microprofile-config.adoc create mode 100644 content/docs/smallrye-stork/2/observability.adoc create mode 100644 content/docs/smallrye-stork/2/programmatic-api.adoc create mode 100644 content/docs/smallrye-stork/2/quarkus.adoc create mode 100644 content/docs/smallrye-stork/2/service-discovery/composite.adoc create mode 100644 content/docs/smallrye-stork/2/service-discovery/consul.adoc create mode 100644 content/docs/smallrye-stork/2/service-discovery/custom-service-discovery.adoc create mode 100644 content/docs/smallrye-stork/2/service-discovery/dns.adoc create mode 100644 content/docs/smallrye-stork/2/service-discovery/eureka.adoc create mode 100644 content/docs/smallrye-stork/2/service-discovery/knative.adoc create mode 100644 content/docs/smallrye-stork/2/service-discovery/kubernetes.adoc create mode 100644 content/docs/smallrye-stork/2/service-discovery/overview.adoc create mode 100644 content/docs/smallrye-stork/2/service-discovery/static-list.adoc create mode 100644 content/docs/smallrye-stork/2/service-registration/consul.adoc create mode 100644 content/docs/smallrye-stork/2/service-registration/custom-service-registration.adoc create mode 100644 content/docs/smallrye-stork/2/service-registration/eureka.adoc create mode 100644 content/docs/smallrye-stork/2/service-registration/overview.adoc create mode 100644 content/docs/smallrye-stork/2/service-registration/static-list.adoc create mode 100644 content/docs/smallrye-stork/2/springboot-config.adoc create mode 100644 content/docs/smallrye-stork/latest/_attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeDiscoveryApiUsage.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeLoadBalancer.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeLoadBalancerProvider.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeObservationCollector.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeRegistrarApiUsage.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeSelectorApiUsage.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceDiscoveryProvider.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceRegistrar.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceRegistrarProvider.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/CachedAcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/CachedAcmeServiceDiscoveryProvider.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/DefinitionExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/HelloClient.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/InitializationExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/LookupExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/ObservableInitializationExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/ObservationExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/SpringBootInitializationExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/StorkApiExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/StorkEntryPointExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/StorkServiceExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/StorkServiceLookupExample.java create mode 100644 content/docs/smallrye-stork/latest/_examples/examples/StorkServiceSelectionExample.java create mode 100644 content/docs/smallrye-stork/latest/_generated/composite-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/consul-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/consul-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/dns-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/eureka-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/eureka-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/knative-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/kubernetes-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/least-requests-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/least-response-time-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/power-of-two-choices-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/random-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/static-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/static-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_generated/sticky-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/latest/_nav.yml create mode 100644 content/docs/smallrye-stork/latest/concepts.adoc create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-383c9b353dda.dark.svg create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-383c9b353dda.svg create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-3c6c7f0192c2.dark.svg create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-3c6c7f0192c2.svg create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-a0003ba546d7.dark.svg create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-a0003ba546d7.svg create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-bc915c97a9fa.dark.svg create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-bc915c97a9fa.svg create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-c8137b2f4bb7.dark.svg create mode 100644 content/docs/smallrye-stork/latest/images/diagrams/plantuml-c8137b2f4bb7.svg create mode 100644 content/docs/smallrye-stork/latest/images/problem-dark.png create mode 100644 content/docs/smallrye-stork/latest/images/problem-light.png create mode 100644 content/docs/smallrye-stork/latest/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-stork/latest/images/solution-dark.png create mode 100644 content/docs/smallrye-stork/latest/images/solution-light.png create mode 100644 content/docs/smallrye-stork/latest/images/stork-white.png create mode 100644 content/docs/smallrye-stork/latest/index.adoc create mode 100644 content/docs/smallrye-stork/latest/load-balancer/custom-load-balancer.adoc create mode 100644 content/docs/smallrye-stork/latest/load-balancer/least-requests.adoc create mode 100644 content/docs/smallrye-stork/latest/load-balancer/least-response-time.adoc create mode 100644 content/docs/smallrye-stork/latest/load-balancer/overview.adoc create mode 100644 content/docs/smallrye-stork/latest/load-balancer/power-of-two-choices.adoc create mode 100644 content/docs/smallrye-stork/latest/load-balancer/random.adoc create mode 100644 content/docs/smallrye-stork/latest/load-balancer/round-robin.adoc create mode 100644 content/docs/smallrye-stork/latest/load-balancer/sticky.adoc create mode 100644 content/docs/smallrye-stork/latest/logging.adoc create mode 100644 content/docs/smallrye-stork/latest/microprofile-config.adoc create mode 100644 content/docs/smallrye-stork/latest/observability.adoc create mode 100644 content/docs/smallrye-stork/latest/programmatic-api.adoc create mode 100644 content/docs/smallrye-stork/latest/quarkus.adoc create mode 100644 content/docs/smallrye-stork/latest/service-discovery/composite.adoc create mode 100644 content/docs/smallrye-stork/latest/service-discovery/consul.adoc create mode 100644 content/docs/smallrye-stork/latest/service-discovery/custom-service-discovery.adoc create mode 100644 content/docs/smallrye-stork/latest/service-discovery/dns.adoc create mode 100644 content/docs/smallrye-stork/latest/service-discovery/eureka.adoc create mode 100644 content/docs/smallrye-stork/latest/service-discovery/knative.adoc create mode 100644 content/docs/smallrye-stork/latest/service-discovery/kubernetes.adoc create mode 100644 content/docs/smallrye-stork/latest/service-discovery/overview.adoc create mode 100644 content/docs/smallrye-stork/latest/service-discovery/static-list.adoc create mode 100644 content/docs/smallrye-stork/latest/service-registration/consul.adoc create mode 100644 content/docs/smallrye-stork/latest/service-registration/custom-service-registration.adoc create mode 100644 content/docs/smallrye-stork/latest/service-registration/eureka.adoc create mode 100644 content/docs/smallrye-stork/latest/service-registration/overview.adoc create mode 100644 content/docs/smallrye-stork/latest/service-registration/static-list.adoc create mode 100644 content/docs/smallrye-stork/latest/springboot-config.adoc create mode 100644 content/docs/smallrye-stork/main/_attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeDiscoveryApiUsage.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeLoadBalancer.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeLoadBalancerProvider.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeObservationCollector.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeRegistrarApiUsage.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeSelectorApiUsage.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeServiceDiscoveryProvider.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeServiceRegistrar.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/AcmeServiceRegistrarProvider.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/CachedAcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/CachedAcmeServiceDiscoveryProvider.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/DefinitionExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/HelloClient.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/InitializationExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/LookupExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/ObservableInitializationExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/ObservationExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/SpringBootInitializationExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/StorkApiExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/StorkEntryPointExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/StorkServiceExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/StorkServiceLookupExample.java create mode 100644 content/docs/smallrye-stork/main/_examples/examples/StorkServiceSelectionExample.java create mode 100644 content/docs/smallrye-stork/main/_generated/composite-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/consul-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/consul-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/dns-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/eureka-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/eureka-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/knative-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/kubernetes-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/least-requests-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/least-response-time-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/power-of-two-choices-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/random-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/static-sd-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/static-sr-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_generated/sticky-lb-attributes.adoc create mode 100644 content/docs/smallrye-stork/main/_nav.yml create mode 100644 content/docs/smallrye-stork/main/concepts.adoc create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-383c9b353dda.dark.svg create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-383c9b353dda.svg create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-3c6c7f0192c2.dark.svg create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-3c6c7f0192c2.svg create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-a0003ba546d7.dark.svg create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-a0003ba546d7.svg create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-bc915c97a9fa.dark.svg create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-bc915c97a9fa.svg create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-c8137b2f4bb7.dark.svg create mode 100644 content/docs/smallrye-stork/main/images/diagrams/plantuml-c8137b2f4bb7.svg create mode 100644 content/docs/smallrye-stork/main/images/problem-dark.png create mode 100644 content/docs/smallrye-stork/main/images/problem-light.png create mode 100644 content/docs/smallrye-stork/main/images/redhat_reversed.svg create mode 100644 content/docs/smallrye-stork/main/images/solution-dark.png create mode 100644 content/docs/smallrye-stork/main/images/solution-light.png create mode 100644 content/docs/smallrye-stork/main/images/stork-white.png create mode 100644 content/docs/smallrye-stork/main/index.adoc create mode 100644 content/docs/smallrye-stork/main/load-balancer/custom-load-balancer.adoc create mode 100644 content/docs/smallrye-stork/main/load-balancer/least-requests.adoc create mode 100644 content/docs/smallrye-stork/main/load-balancer/least-response-time.adoc create mode 100644 content/docs/smallrye-stork/main/load-balancer/overview.adoc create mode 100644 content/docs/smallrye-stork/main/load-balancer/power-of-two-choices.adoc create mode 100644 content/docs/smallrye-stork/main/load-balancer/random.adoc create mode 100644 content/docs/smallrye-stork/main/load-balancer/round-robin.adoc create mode 100644 content/docs/smallrye-stork/main/load-balancer/sticky.adoc create mode 100644 content/docs/smallrye-stork/main/logging.adoc create mode 100644 content/docs/smallrye-stork/main/microprofile-config.adoc create mode 100644 content/docs/smallrye-stork/main/observability.adoc create mode 100644 content/docs/smallrye-stork/main/programmatic-api.adoc create mode 100644 content/docs/smallrye-stork/main/quarkus.adoc create mode 100644 content/docs/smallrye-stork/main/service-discovery/composite.adoc create mode 100644 content/docs/smallrye-stork/main/service-discovery/consul.adoc create mode 100644 content/docs/smallrye-stork/main/service-discovery/custom-service-discovery.adoc create mode 100644 content/docs/smallrye-stork/main/service-discovery/dns.adoc create mode 100644 content/docs/smallrye-stork/main/service-discovery/eureka.adoc create mode 100644 content/docs/smallrye-stork/main/service-discovery/knative.adoc create mode 100644 content/docs/smallrye-stork/main/service-discovery/kubernetes.adoc create mode 100644 content/docs/smallrye-stork/main/service-discovery/overview.adoc create mode 100644 content/docs/smallrye-stork/main/service-discovery/static-list.adoc create mode 100644 content/docs/smallrye-stork/main/service-registration/consul.adoc create mode 100644 content/docs/smallrye-stork/main/service-registration/custom-service-registration.adoc create mode 100644 content/docs/smallrye-stork/main/service-registration/eureka.adoc create mode 100644 content/docs/smallrye-stork/main/service-registration/overview.adoc create mode 100644 content/docs/smallrye-stork/main/service-registration/static-list.adoc create mode 100644 content/docs/smallrye-stork/main/springboot-config.adoc create mode 100644 data/docs.yml create mode 100644 data/docversions.yml delete mode 100644 docs/antora-playbook.yml delete mode 100644 docs/antora.yml delete mode 100644 docs/modules/ROOT/pages/index.adoc create mode 100644 jbang-catalog.json create mode 100644 templates/layouts/doc.html create mode 100644 templates/partials/docs-brand.html create mode 100644 templates/partials/docs-contents-list.html create mode 100644 templates/partials/docs-contents.html create mode 100644 templates/partials/docs-nav.html create mode 100644 tools/docs/Antora2Adoc.java create mode 100644 tools/docs/Common.java create mode 100644 tools/docs/DarkImages.java create mode 100644 tools/docs/Docs.java create mode 100644 tools/docs/GhPagesRedirects.java create mode 100644 tools/docs/MkDocs2Adoc.java create mode 100644 tools/docs/Preview.java create mode 100644 tools/docs/Redirects.java create mode 100644 tools/docs/RewriteLinks.java create mode 100644 tools/docs/Sync.java create mode 100644 tools/docs/link-maps/smallrye-graphql.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2068080fa..01a2a432e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,7 +20,7 @@ on: - 'NOTICE' - 'README*' # Daily, so a post dated later than the merge publishes on its date - # (future-dated posts are left out until then), and the docs pick up new releases. + # (future-dated posts are left out until then). schedule: - cron: "0 6 * * *" workflow_dispatch: @@ -34,16 +34,6 @@ jobs: build: runs-on: ubuntu-latest - services: - kroki: - image: yuzutech/kroki - env: - KROKI_MERMAID_HOST: kroki-mermaid - ports: - - 8000:8000 - kroki-mermaid: - image: yuzutech/kroki-mermaid - steps: - name: checkout uses: actions/checkout@v4 @@ -51,16 +41,6 @@ jobs: # The sitemap plugin reads each page's last change from git history. fetch-depth: 0 - # Before the site: the Roq build leaves a node_modules/ in the repository root, and - # npm would install Antora there instead of in docs/. - - name: generate docs - run: | - cd docs - # asciidoctor-kroki must stay on 0.18.1: since 1.0.0, its extensions are - # async and require Asciidoctor.js 4, while Antora 2.3 uses Asciidoctor.js 1.5.9 - npm i @antora/cli@2.3 @antora/site-generator-default@2.3 asciidoctor-kroki@0.18.1 - ./node_modules/@antora/cli/bin/antora --stacktrace generate antora-playbook.yml - - name: generate website uses: quarkiverse/quarkus-roq@v1.1 with: @@ -72,8 +52,14 @@ jobs: - name: put the stylesheet in the pages run: java .github/InlineStyles.java target/roq - - name: add docs to the website - run: cp -r docs/build/site target/roq/docs + # GitHub Pages cannot redirect: the documentation addresses this site published before + # (Antora's /docs///.html) get small redirect pages. + - uses: jbangdev/setup-jbang@2b1b465a7b75f4222b81426f23a01e013aa7b95c # v0.1.1 + with: + version: 0.138.0 + + - name: add redirects for moved documentation + run: jbang tools/docs/Docs.java redirects target/roq - name: attach website uses: actions/upload-artifact@v4 diff --git a/.github/workflows/docs-check.yml b/.github/workflows/docs-check.yml new file mode 100644 index 000000000..cd36b2cbd --- /dev/null +++ b/.github/workflows/docs-check.yml @@ -0,0 +1,88 @@ +name: Check project documentation + +# Reusable: a SmallRye project calls this on pull requests that touch its docs. It renders the +# pull request's AsciiDoc with the smallrye.io site exactly as it will be published, fails on a +# missing include or a page that does not render, and attaches the rendered docs as an artifact. +# +# jobs: +# docs: +# uses: smallrye/smallrye.github.io/.github/workflows/docs-check.yml@develop +# with: +# project: smallrye-graphql # the key in smallrye.github.io data/docs.yml + +on: + workflow_call: + inputs: + project: + description: 'Project key in data/docs.yml' + type: string + required: true + +# It renders pull-request content: read-only, no secrets. +permissions: + contents: read + +jobs: + check: + runs-on: ubuntu-latest + # Diagram blocks ([mermaid], [plantuml], ...) are rendered to SVG by the sync (tools/docs/Docs.java). + services: + kroki: + image: yuzutech/kroki + env: + KROKI_MERMAID_HOST: kroki-mermaid + ports: + - 8000:8000 + kroki-mermaid: + image: yuzutech/kroki-mermaid + env: + KROKI_URL: http://localhost:8000 + steps: + - name: checkout the project + uses: actions/checkout@v4 + with: + path: project + + - name: checkout smallrye.io + uses: actions/checkout@v4 + with: + repository: smallrye/smallrye.github.io + ref: develop + path: site + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 21 + cache: maven + cache-dependency-path: site/pom.xml + + - uses: jbangdev/setup-jbang@2b1b465a7b75f4222b81426f23a01e013aa7b95c # v0.1.1 + with: + version: 0.138.0 + + - name: copy the docs into the site + env: + PROJECT: ${{ inputs.project }} + run: jbang site/tools/docs/Docs.java sync --strict --project "$PROJECT" --version main --source project + + - name: render the site + working-directory: site + env: + QUARKUS_ROQ_GENERATOR_BATCH: 'true' + run: | + ./mvnw -B -q package quarkus:run -DskipTests 2>&1 | tee ../render.log + # Asciidoctor warnings (such as a section level out of sequence) are reported; a page that + # fails to render, or an include that cannot be resolved, fails the check. + grep -E 'WARNING \[asciidoctor\]' ../render.log | sed 's/^.*WARNING \[asciidoctor\] ([^)]*) /::warning::/' || true + if grep -E 'Roq request failed|Error occurred while rendering|SEVERE \[asciidoctor\]' ../render.log; then + echo "::error::The documentation does not render cleanly, see the lines above" + exit 1 + fi + + - name: attach the rendered docs + uses: actions/upload-artifact@v4 + with: + name: docs-${{ inputs.project }} + path: site/target/roq + retention-days: 7 diff --git a/.github/workflows/docs-sync.yml b/.github/workflows/docs-sync.yml new file mode 100644 index 000000000..c535e74a3 --- /dev/null +++ b/.github/workflows/docs-sync.yml @@ -0,0 +1,101 @@ +name: Sync project documentation + +# Pulls each project's AsciiDoc documentation (data/docs.yml) into content/docs/ and commits it to +# develop, which then builds and deploys the site. Nightly it picks up new commits on the projects' +# main branches and new release tags; it can also be run by hand for one project or one version. + +on: + schedule: + - cron: "30 4 * * *" + workflow_dispatch: + inputs: + project: + description: 'Project key from data/docs.yml (empty: all projects)' + required: false + version: + description: 'Version id (main, latest, a stream id); with ref, syncs exactly that' + required: false + ref: + description: 'Branch or tag to sync the version from' + required: false + force: + description: 'Sync even when nothing changed upstream' + type: boolean + default: false + +concurrency: + group: docs-sync + cancel-in-progress: false + +jobs: + sync: + if: github.repository_owner == 'smallrye' + runs-on: ubuntu-latest + # Diagram blocks ([mermaid], [plantuml], ...) are rendered to SVG by the sync (tools/docs/Docs.java). + services: + kroki: + image: yuzutech/kroki + env: + KROKI_MERMAID_HOST: kroki-mermaid + ports: + - 8000:8000 + kroki-mermaid: + image: yuzutech/kroki-mermaid + env: + KROKI_URL: http://localhost:8000 + steps: + - uses: actions/create-github-app-token@v1 + id: app-token + with: + app-id: ${{ vars.CI_APP_ID }} + private-key: ${{ secrets.CI_APP_PRIVATE_KEY }} + + - uses: actions/checkout@v4 + with: + ref: develop + # A push made with the app token (not GITHUB_TOKEN) starts the website build. + token: ${{ steps.app-token.outputs.token }} + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 21 + + - uses: jbangdev/setup-jbang@2b1b465a7b75f4222b81426f23a01e013aa7b95c # v0.1.1 + with: + version: 0.138.0 + + # Releases still documented with MkDocs are converted with pandoc. + - name: install pandoc + run: sudo apt-get update -qq && sudo apt-get install -y -qq pandoc + + - name: sync + env: + PROJECT: ${{ inputs.project }} + VERSION: ${{ inputs.version }} + REF: ${{ inputs.ref }} + FORCE: ${{ inputs.force }} + run: | + if [ -n "$VERSION" ] && [ -n "$REF" ]; then + args=(--project "$PROJECT" --version "$VERSION" --ref "$REF") + else + args=(--auto) + [ -n "$PROJECT" ] && args+=(--project "$PROJECT") + [ "$FORCE" = true ] && args+=(--force) + fi + jbang tools/docs/Docs.java sync "${args[@]}" --summary "$GITHUB_STEP_SUMMARY" + + - name: commit + run: | + git add -A content/docs data/docversions.yml + if git diff --cached --quiet; then + echo "Documentation unchanged" + exit 0 + fi + slug='${{ steps.app-token.outputs.app-slug }}' + git config user.name "$slug[bot]" + git config user.email "$(gh api "/users/$slug%5Bbot%5D" --jq .id)+$slug[bot]@users.noreply.github.com" + git commit -q -m "Sync project documentation" + git push origin develop + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} diff --git a/.gitignore b/.gitignore index d90d69d7f..0695d4521 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ package-lock.json .idea .vscode .quarkus +__pycache__/ diff --git a/README.md b/README.md index 09d8d209d..f71f55695 100644 --- a/README.md +++ b/README.md @@ -51,22 +51,90 @@ Add `content/posts/YYYY-MM-DD-name.adoc`. The header carries the post's details: `:page-author:` is a key in `data/authors.yml`; add yourself there first. A post dated in the future is published by the first build on or after that date (the workflow runs daily). -## Building the documentation +## Project documentation -The documentation at `/docs/` is built separately with Antora, from the repositories listed in -`docs/antora-playbook.yml`, and copied into the site by CI. +Each project keeps its documentation in its own repository, as AsciiDoc laid out like the +Quarkus guides (`docs/src/main/asciidoc/`: one page per `.adoc` file, `_nav.yml` for the sidebar, +`_attributes.adoc` for shared attributes, examples included from compiled sources). This site +pulls it in and publishes it at `/docs///`. -1. Install Antora. See [Antora installation](https://docs.antora.org/antora/2.3/install/install-antora/). -2. Go to the `docs` directory and run +| What | Where | +| --- | --- | +| The projects, their repositories and the versions followed | `data/docs.yml` | +| The synced pages, one directory per version | `content/docs///` | +| Synced versions, their refs and navigation (generated) | `data/docversions.yml` | +| The documentation layout and its sidebar | `templates/layouts/doc.html`, `templates/partials/docs-nav.html` | +| The `/docs/` hub | `content/docs/index.html` | +| Sync and conversion tools | `tools/docs/` | + +The tools are one [JBang](https://www.jbang.dev) program, `tools/docs/Docs.java`: Java and JBang are +all they need (pandoc, or podman to run it in a container, only to convert releases still +documented with MkDocs). + +`sync` copies a project's docs from a branch or tag (or a local checkout) into `content/docs/`. +The `Sync project documentation` workflow runs it nightly: each project's `main` branch becomes +`main`, and its newest release tag becomes `latest`; the commit to `develop` then deploys. A release +whose docs are still MkDocs or Antora is converted on the fly by `mkdocs2adoc` or `antora2adoc`, +which are also the tools to convert a project's sources once. + +```bash +jbang tools/docs/Docs.java sync --auto # what the nightly job does +jbang tools/docs/Docs.java sync --project smallrye-graphql --version main --source ../smallrye-graphql +jbang tools/docs/Docs.java --help # every tool +``` + +### Previewing a project's documentation + +In a project's checkout, `jbang docs-preview@smallrye/smallrye.github.io` (or `./mvnw -Pdocs-preview` +where the project has that profile) shows its documentation on a local smallrye.io at +`http://localhost:8080/docs//main/`, and publishes it again whenever a page or an included +example changes. It downloads this site's sources once a day; `--site ../smallrye.github.io` uses a +checkout instead, to try changes to the site itself. + +Projects call `.github/workflows/docs-check.yml` from their pull requests: it renders their docs +with this site and fails on a broken include or a page that does not render. + +Converting a project once (then commit the result in the project's repository): + +```bash +jbang tools/docs/Docs.java mkdocs2adoc --mkdocs ../project/mkdocs.yml --out ../project/docs/src/main/asciidoc +jbang tools/docs/Docs.java antora2adoc --antora ../project/doc --out ../project/docs/src/main/asciidoc +``` + +Diagram blocks (`[mermaid]`, `[plantuml]`, ...) are rendered to SVG during the sync, by a Kroki +server (`KROKI_URL`, https://kroki.io by default; the workflows run their own). + +On the dark theme, the docs pages show a dark version of each drawing (`DarkImages.java`, part of the +sync), so diagrams do not sit on a light block: + +- a dark version the project drew itself, next to the image: `x.dark.png` for `x.png`, or `x-dark.png` + for `x-light.png`; +- otherwise the sync makes one: diagrams get their colours turned around (same hue, lightness inverted), + and so do PNGs that look like drawings (mostly white or transparent, with darker lines), their white + becoming transparent. Screenshots and photos keep a light paper behind them; +- a project opts an image out with the `no-dark` role (`image::x.png[...,role=no-dark]`), or in with + `dark-invert` (an SVG, or a PNG the check passes over). + +`jbang tools/docs/Docs.java dark-images content/docs//` makes them again for a +synced version. + +### Old addresses - antora generate antora-playbook.yml --fetch +The documentation addresses this site published before (Antora's +`/docs///.html`) are listed under `legacy` in `data/docs.yml`. The build +writes a redirect page for each of them (`Docs.java redirects`), and +`Docs.java rewrite-links --check target/roq content/posts/*.adoc` points blog links at the new +addresses, checking every page and anchor against the generated site. -3. The HTML for the SmallRye documentation is now in `docs/build/site`. +The projects' old MkDocs sites (their `gh-pages` branches, at `smallrye.io///`) are +replaced by redirect pages: `Docs.java gh-pages-redirects --project --checkout +--site target/roq` sends every page of every version to the same page of the version this site +publishes for that major line (older majors are streams in `data/docs.yml`). Javadoc stays as it is. ## Deployment Pushing to `develop` runs `.github/workflows/build.yml`: it generates the site with the Roq -GitHub Action, builds the documentation with Antora, and pushes the result to the `main` +GitHub Action (project docs included), adds the redirects for old documentation addresses, and pushes the result to the `main` branch, which GitHub Pages serves. Pull requests build the site without deploying it. The workflow also runs daily and can be started by hand from the Actions tab. diff --git a/config/application.properties b/config/application.properties index 57bfbdc0a..b9ceb61cd 100644 --- a/config/application.properties +++ b/config/application.properties @@ -18,4 +18,21 @@ quarkus.roq.generator.timeout=180 # the Jekyll site. The layouts print the title, so Asciidoctor must not repeat it: a key # ending in "!" unsets the attribute (the value is ignored but cannot be empty). quarkus.asciidoc.attributes."showtitle!"=unset -quarkus.asciidoc.attributes.idseparator=_ +# Asciidoctor renders in SAFE mode, which keeps includes inside base_dir. The site root (rather +# than each page's directory) lets a docs page in a subdirectory include its version's +# _attributes.adoc and _examples/, while nothing outside the site can be included. +quarkus.asciidoc.base-dir=site +# "@" makes it a default a page can override: blog posts keep Jekyll's ids (_like_this), while +# project docs set Quarkus-style ids (like-this) in their _attributes.adoc. +quarkus.asciidoc.attributes.idseparator=_@ + +# Project documentation, pulled from each project's repository by tools/docs/sync.py into +# content/docs/// and published at /docs////. +site.collections.docs=true +site.collections.docs.layout=doc +site.collections.docs.link=/:path +# Docs are AsciiDoc: their {attribute} references are not Qute expressions. +site.escaped-pages=docs/*/** +# The docs templates walk data/docs.yml and data/docversions.yml, whose list items Qute can +# only type as Object; as on quarkus.io, check those expressions at render time instead. +quarkus.qute.type-check-excludes=java.lang.Object.* diff --git a/content/404.html b/content/404.html index 286928a47..84d9392f9 100644 --- a/content/404.html +++ b/content/404.html @@ -10,4 +10,4 @@ # own grey screen instead of the site's. link: /404.html --- -

The requested page could not be found. Try the home page, the project list or the documentation.

+

The requested page could not be found. Try the home page, the project list or the documentation.

diff --git a/content/docs/index.html b/content/docs/index.html new file mode 100644 index 000000000..0a41428dd --- /dev/null +++ b/content/docs/index.html @@ -0,0 +1,31 @@ +--- +layout: page +title: Documentation +description: Documentation for every SmallRye project, from the latest release back to the main branch. +eyebrow: SmallRye +link: /docs/ +--- +{@io.quarkiverse.roq.frontmatter.runtime.model.Site site} +{! The projects and their documentation versions come from data/docs.yml and data/docversions.yml. !} +{#for g in cdi:docs.getJsonArray('groups')} +

{=g.getString('name')}

+ +{/for} diff --git a/content/docs/jandex/latest/_attributes.adoc b/content/docs/jandex/latest/_attributes.adoc new file mode 100644 index 000000000..356e69a55 --- /dev/null +++ b/content/docs/jandex/latest/_attributes.adoc @@ -0,0 +1,18 @@ +:project-version: 3.6.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:partialsdir: {version-root}_partials +:examples-dir: {version-root}_examples +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.6.0 +:relfileprefix: /docs/jandex/latest/ +:imagesdir: /docs/jandex/latest +:docs-project: jandex +:docs-version: latest +:docs-ref: 3.6.0 diff --git a/content/docs/jandex/latest/_nav.yml b/content/docs/jandex/latest/_nav.yml new file mode 100644 index 000000000..7594b1a6d --- /dev/null +++ b/content/docs/jandex/latest/_nav.yml @@ -0,0 +1,20 @@ +title: Jandex +nav: +- title: Introduction + page: index +- title: Jandex + items: + - title: Getting Jandex + page: core/getting + - title: Browsing Declarations and Types + page: core/browsing + - title: Indexing Classes + page: core/indexing +- title: Jandex Maven Plugin + items: + - title: Basic Usage + page: maven/basic + - title: Advanced Usage + page: maven/advanced + - title: Usage with Shading + page: maven/shading diff --git a/content/docs/jandex/latest/core/browsing.adoc b/content/docs/jandex/latest/core/browsing.adoc new file mode 100644 index 000000000..631289c77 --- /dev/null +++ b/content/docs/jandex/latest/core/browsing.adoc @@ -0,0 +1,156 @@ += Browsing Declarations and Types +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Browsing a Class + +The following example demonstrates indexing a class and browsing its methods: + +[source,java] +---- +Index index = Index.of(Map.class); + +ClassInfo clazz = index.getClassByName(DotName.createSimple("java.util.Map")); + +for (MethodInfo method : clazz.methods()) { + System.out.println(method); +} +---- + +== Searching for Annotations + +The following example demonstrates indexing the `Thread` and `String` classes, and searching for methods that have been marked with `@Deprecated`: + +[source,java] +---- +Indexer indexer = new Indexer(); +indexer.indexClass(Thread.class); +indexer.indexClass(String.class); +Index index = indexer.complete(); + +DotName deprecated = DotName.createSimple("java.lang.Deprecated"); +List annotations = index.getAnnotations(deprecated); + +for (AnnotationInstance annotation : annotations) { + switch (annotation.target().kind()) { + case METHOD: + System.out.println(annotation.target()); + break; + } +} +---- + +== Analyzing Generics + +The following example demonstrates indexing the `Collections` class and printing the resolved bound on the `List` method parameter, which resolves to `Comparable` from the method type parameter. + +The `sort()` method analyzed by the example is defined in source as: + +[source,java] +---- +public static > void sort(List list) +---- + +The example code, which prints `Comparable` followed by `T`, is: + +[source,java] +---- +Index index = Index.of(Collections.class); + +ClassInfo clazz = index.getClassByName(DotName.createSimple("java.util.Collections")); +Type listType = Type.create(DotName.createSimple("java.util.List"), Type.Kind.CLASS); +MethodInfo sort = clazz.method("sort", listType); + +Type t = sort.parameterTypes().get(0).asParameterizedType() // List> + .arguments().get(0).asTypeVariable() // T extends Comparable + .bounds().get(0); // Comparable + +System.out.println(t); + +Type b = t.asParameterizedType() // Comparable + .arguments().get(0).asWildcardType() // ? super T + .superBound(); // T + +System.out.println(b); +---- + +== Browsing Type Annotations + +Consider a declaration with complex nested generic type which contains a `@Label` annotation: + +[source,java] +---- +Map> names; +---- + +The following code will print `Name`, the annotation value associated with the type: + +[source,java] +---- +Indexer indexer = new Indexer(); +indexer.indexClass(Test.class); +indexer.indexClass(Test.Label.class); +Index index = indexer.complete(); + +FieldInfo field = index.getClassByName(Test.class).field("names"); +System.out.println( + field.type().asParameterizedType() // Map> + .arguments().get(1).asParameterizedType() // List<@Label("Name") String> + .arguments().get(0) // @Label("Name") String + .annotations().get(0) // @Label("Name") + .value().asString() // "Name" +); +---- + +== Searching for Type Annotations + +A type annotation can also be located by searching for the annotation. +The target for a found type annotation is represented as a `TypeTarget`. +The `TypeTarget` provides a reference to the annotated type, as well as the enclosing target that contains the type. +The target itself can be a method, a class, or a field. +The usage of that target can be a number of places, including parameters, return types, type parameters, type arguments, class extends values, type bounds and receiver types. +Subclasses of `TypeTarget` provide the necessary information to locate the starting point of the usage. + +Since the particular type use can occur at any depth, the relevant branch of the type tree constrained by the above starting point must be traversed to understand the context of the use. + +Consider a declaration with complex nested generic type which contains a `@Label` annotation: + +[source,java] +---- +Map> names; +---- + +The following code locates a type annotation and then inspects its location: + +[source,java] +---- +Indexer indexer = new Indexer(); +indexer.indexClass(Test.class); +indexer.indexClass(Test.Label.class); +Index index = indexer.complete(); + +DotName label = DotName.createSimple("Test$Label"); +List annotations = index.getAnnotations(label); +for (AnnotationInstance annotation : annotations) { + if (annotation.target().kind() == AnnotationTarget.Kind.TYPE) { + TypeTarget typeTarget = annotation.target().asType(); + System.out.println("Type usage is located within: " + typeTarget.enclosingTarget()); + System.out.println("Usage type: " + typeTarget.usage()); + System.out.println("Target type: " + typeTarget.target()); + System.out.println("Expected target? " + (typeTarget.enclosingTarget().asField().type() + .asParameterizedType().arguments().get(1) + .asParameterizedType().arguments().get(0) + == typeTarget.target())); + } +} +---- + +The output is: + +[source] +---- +Type usage is located within: java.util.Map> Test.names +Usage type: EMPTY +Target type: java.lang.@Label("Name") String +Expected target? true +---- diff --git a/content/docs/jandex/latest/core/getting.adoc b/content/docs/jandex/latest/core/getting.adoc new file mode 100644 index 000000000..33d10a90c --- /dev/null +++ b/content/docs/jandex/latest/core/getting.adoc @@ -0,0 +1,21 @@ += Getting Jandex +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Using Jandex in a Maven Project + +Just add the following to your POM: + +[source,xml] +---- + + io.smallrye + jandex + ${version.jandex} + +---- + +== Downloading Jandex + +If you don't use Maven, you can download the Jandex JAR link:https://search.maven.org/search?q=g:io.smallrye%20a:jandex[from Maven Central]. +This JAR is completely self-sufficient and doesn't require any dependencies. diff --git a/content/docs/jandex/latest/core/indexing.adoc b/content/docs/jandex/latest/core/indexing.adoc new file mode 100644 index 000000000..33c78394d --- /dev/null +++ b/content/docs/jandex/latest/core/indexing.adoc @@ -0,0 +1,74 @@ += Indexing Classes +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Creating a Persistent Index Using the API + +The following example demonstrates indexing a class and persisting the index to disk. +The resulting file can later be loaded and used. + +[source,java] +---- +Indexer indexer = new Indexer(); +indexer.indexClass(Map.class); +Index index = indexer.complete(); + +try (FileOutputStream out = new FileOutputStream("/tmp/index.idx")) { + IndexWriter writer = new IndexWriter(out); + writer.write(index); +} +---- + +== Loading a Persistent Index + +The following example demonstrates loading the index from the previous example and using that index to print all methods on `java.util.Map`: + +[source,java] +---- +Index index; +try (FileInputStream input = new FileInputStream("/tmp/index.idx")) { + IndexReader reader = new IndexReader(input); + index = reader.read(); +} + +ClassInfo clazz = index.getClassByName(DotName.createSimple("java.util.Map")); + +for (MethodInfo method : clazz.methods()) { + System.out.println(method); +} +---- + +== Creating a Persistent Index Using the CLI + +The following example demonstrates indexing hibernate core, followed by the entire Java +JDK 8 using Jandex on the CLI: + +[source,bash] +---- +$ java -jar jandex-2.4.2.Final.jar hibernate-core-6.0.0.Final.jar + Wrote hibernate-core-6.0.0.Final-jar.idx in 0.9170 seconds + (5746 classes, 50 annotations, 2995 instances, 61729 class usages, 1737428 bytes) +$ java -jar jandex-2.4.2.Final.jar rt.jar + Wrote rt-jar.idx in 1.7310 seconds + (20226 classes, 57 annotations, 2476 instances, 246298 class usages, 5890787 bytes) +---- + +The above summary output tells us that this version of Hibernate ORM has 5,746 classes, and those classes contained 2,995 annotation declarations, using 50 different annotation types. +The resulting index is 1.7 MB uncompressed, which is only 19% of the 9.0MB compressed jar size, or 4% of the uncompressed class file data. +If the index is stored in the jar (using the -m option) it can be compressed an additional 43%, leading to a jar growth of only 11%. + +== Using the Ant Task to Index Your Project + +The following Ant task can be used with either the `maven-antrun-plugin` or an Ant build to build an index for your project: + +[source,xml] +---- + + + + +---- + +== Using the Maven Plugin to Index Your Project + +See xref:maven/basic.adoc[Basic Maven Plugin Usage]. diff --git a/content/docs/jandex/latest/index.adoc b/content/docs/jandex/latest/index.adoc new file mode 100644 index 000000000..b9ddf2a4e --- /dev/null +++ b/content/docs/jandex/latest/index.adoc @@ -0,0 +1,85 @@ += Jandex +include::_attributes.adoc[] + +Jandex is a space efficient Java class file indexer and offline reflection library. + +It supports: + +* Indexing a set of classes into a memory efficient representation +* Browsing and searching for annotations, including Java 8 type annotations +* Browsing and searching for declarations and types, including generic type information +* Browsing and searching through the class and interface inheritance hierarchy +* Persisting an index in a custom storage efficient format and fast loading of that format +* Compatibility with previous API and storage format versions, as described in the <> +* Execution via API, command line tool, Ant, and Maven plugin + +Remember that Jandex has extensive API documentation in the link:https://javadoc.io/doc/io.smallrye/jandex/latest/index.html[javadoc form]. +This documentation site is currently rather incomplete, so please consult the javadoc frequently. + +== Requirements + +Jandex 3.0+ requires Java 8 to run. + +TIP: The runtime Java version does _not_ affect the Jandex bytecode parsing capabilities. +Jandex running on Java 8 can still parse Java 17 bytecode. + +== Getting Help + +Issues can be reported in link:https://github.com/smallrye/jandex/issues[GitHub Issues]. + +For discussions, use the link:https://groups.google.com/g/smallrye[SmallRye Google Group] or the link:https://quarkusio.zulipchat.com/[Quarkus Zulip chat]. + +[[compatibility_promise]] +== Compatibility Promise + +Jandex uses an `X.Y.Z` versioning scheme. +In the following text, we call `X` a _major_ version, `Y` a _minor_ version, and `Z` a _micro_ version. + +=== API + +Jandex may break backward compatibility for _callers_ of the Jandex API in major versions. +If you only call Jandex API, updating to a newer minor or micro version is safe. + +Jandex may break backward compatibility for users that _extend_ Jandex classes or _implement_ Jandex interfaces in minor or major versions. +If you extend Jandex classes or implement Jandex interfaces, updating to a newer micro version is safe. + +=== Persistent Index Format + +The persistent index format is versioned. +Jandex is backward compatible when it comes to reading the persistent index, but not forward compatible. +In other words, newer Jandex can read older index, but older Jandex can't read newer index. + +Jandex may introduce a new persistent index format version in minor or major versions. +If you distribute a Jandex index as part of your artifacts, updating to a newer micro version is safe. +Updating to a newer minor or major version may require consumers of the Jandex index to also update. + +[[persistent_index_format_versions]] +== Persistent Index Format Versions + +For reference, this table shows which Jandex version produces which persistent format version by default. +It is also a maximum persistent index format version the given Jandex version can read. + +|=== +|Jandex version |Persistent format version + +|Jandex 3.3.x, 3.4.x, 3.5.x, 3.6.x +|13 + +|Jandex 3.2.x +|12 + +|Jandex 3.0.x, 3.1.x +|11 + +|Jandex 2.4.x +|10 + +|Jandex 2.1.1+, 2.2.x, 2.3.x +|9 + +|Jandex 2.1.0 +|8 (version 7 only in Jandex 2.1.0.Beta1 and Beta2) + +|Jandex 2.0.x +|6 +|=== diff --git a/content/docs/jandex/latest/maven/advanced.adoc b/content/docs/jandex/latest/maven/advanced.adoc new file mode 100644 index 000000000..417961d5e --- /dev/null +++ b/content/docs/jandex/latest/maven/advanced.adoc @@ -0,0 +1,123 @@ += Advanced Maven Plugin Usage +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you need to process more than one directory of classes, you can specify multiple `fileSets` like this: + +[source,xml] +---- + + + + io.smallrye + jandex-maven-plugin + ${version.jandex} + + + make-index + + jandex + + + + + ${project.build.directory}/generated-classes/foo + + + ${project.build.directory}/generated-classes/bar + + + + + + + + +---- + +To turn _off_ processing of `target/classes`, add the following configuration: + +[source,xml] +---- +false +---- + +For any `fileSet`, you can also fine-tune the classes that are processed using the following options: + +[source,xml] +---- + + ${project.build.directory}/somedir + + + **/indexed/*.class + **/idxd/*.class + + + + **/*NotIndexed.class + + + false + +---- + +A `fileSet` may specify a _dependency_ instead of a directory. +That dependency must exist among the set of dependencies of the Maven project being built. +A `groupId` and `artifactId` are mandatory, a `classifier` is optional: + +[source,xml] +---- + + + com.example + my-project + + + com/example/my/project/api/**/*.class + + + com/example/**/_private/*.class + + +---- + +== Index Location and Version + +To change where the persistent index is located, the `indexDir` and `indexName` configuration properties can be used. + +CAUTION: These properties should be left unchanged. +Jandex consumers typically look for a persistent Jandex index in the default location. + +The `indexDir` property defaults to `${project.build.outputDirectory}/META-INF` (so `target/classes/META-INF` by default), while `indexName` defaults to `jandex.idx`. +Therefore, the index is by default stored to `target/classes/META-INF/jandex.idx`. + +This example moves the index to `target/classes/index.dat`: + +[source,xml] +---- + + io.smallrye + jandex-maven-plugin + ${version.jandex} + + + make-index + + jandex + + + ${project.build.outputDirectory} + index.dat + + + + +---- + +The `indexVersion` property can be used to produce an older index version. +By default, the index version produced is the latest version supported by the Jandex version. +Possible values of the `indexVersion` property can be found in link:/docs/jandex/latest/#persistent_index_format_versions[the table of persistent index format versions]. + +CAUTION: It is usually best to leave the index version unchanged. +Exercise care when upgrading Jandex itself. diff --git a/content/docs/jandex/latest/maven/basic.adoc b/content/docs/jandex/latest/maven/basic.adoc new file mode 100644 index 000000000..8d24608cd --- /dev/null +++ b/content/docs/jandex/latest/maven/basic.adoc @@ -0,0 +1,30 @@ += Basic Maven Plugin Usage +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This is how you add a persistent Jandex index to your Maven project: + +[source,xml] +---- + + + + io.smallrye + jandex-maven-plugin + ${version.jandex} + + + make-index + + jandex + + + + + + +---- + +The `jandex` goal is bound to the `process-classes` phase by default. + +This configuration will index all `.class` files in your `target/classes` directory, and write the index to `target/classes/META-INF/jandex.idx`. diff --git a/content/docs/jandex/latest/maven/shading.adoc b/content/docs/jandex/latest/maven/shading.adoc new file mode 100644 index 000000000..ed0d3b27d --- /dev/null +++ b/content/docs/jandex/latest/maven/shading.adoc @@ -0,0 +1,51 @@ += Using Jandex Maven Plugin with Shading +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Jandex Maven plugin has an additional goal `jandex-jar` that can be used to create an index inside an existing JAR. +This goal is not bound to any phase by default, so you have to configure that manually. + +It is useful together with shading, where the Maven Shade plugin creates a JAR from multiple previously existing JARs. +A shaded JAR may already contain a Jandex index, if at least one of the constituent JARs contains one, but that index is most likely _not_ what you want. +First, it is an unmodified index originating in one of the constituent JARs. +If multiple constituent JARs contain an index, only one of them makes it to the shaded JAR; the others are lost. +Second, during shading, classes may be relocated, so the index data may become stale. + +There is no support for merging existing index files from the original JARs. +Likewise, there is no support for applying class relocations over an existing index. + +In short, if you want a shaded JAR to have a Jandex index, you have to reindex it. + +[source,xml] +---- + + io.smallrye + jandex-maven-plugin + ${version.jandex} + + + uberjar-index + package + + jandex-jar + + + ${project.build.directory}/${project.build.finalName}.jar + + com/example/my/project/**/*.class + + + com/example/**/_private/*.class + + + + + +---- + +If we want to reindex a shaded JAR, we have to make sure that the `jandex-jar` goal of the Jandex Maven plugin executes _later_ than the `shade` goal of the Maven Shade plugin. +In this example, we bind the `jandex-jar` goal to the `package` phase, which is also the phase in which the `shade` goal of the Maven Shade plugin executes by default. +In such case, we have to put the `` element of the Jandex Maven plugin _after_ the `` element of the Maven Shade plugin. + +Remember that if the Jandex Maven plugin operates on a JAR that was produced by the Maven Shade plugin, and if the Maven Shade plugin is configured to perform class relocations, the Jandex Maven plugin operates on already relocated classes. +This is important for configuring includes and excludes correctly. diff --git a/content/docs/jandex/main/_attributes.adoc b/content/docs/jandex/main/_attributes.adoc new file mode 100644 index 000000000..d0832da94 --- /dev/null +++ b/content/docs/jandex/main/_attributes.adoc @@ -0,0 +1,18 @@ +:project-version: 3.6.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:partialsdir: {version-root}_partials +:examples-dir: {version-root}_examples +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.6.0 +:relfileprefix: /docs/jandex/main/ +:imagesdir: /docs/jandex/main +:docs-project: jandex +:docs-version: main +:docs-ref: main diff --git a/content/docs/jandex/main/_nav.yml b/content/docs/jandex/main/_nav.yml new file mode 100644 index 000000000..7594b1a6d --- /dev/null +++ b/content/docs/jandex/main/_nav.yml @@ -0,0 +1,20 @@ +title: Jandex +nav: +- title: Introduction + page: index +- title: Jandex + items: + - title: Getting Jandex + page: core/getting + - title: Browsing Declarations and Types + page: core/browsing + - title: Indexing Classes + page: core/indexing +- title: Jandex Maven Plugin + items: + - title: Basic Usage + page: maven/basic + - title: Advanced Usage + page: maven/advanced + - title: Usage with Shading + page: maven/shading diff --git a/content/docs/jandex/main/core/browsing.adoc b/content/docs/jandex/main/core/browsing.adoc new file mode 100644 index 000000000..631289c77 --- /dev/null +++ b/content/docs/jandex/main/core/browsing.adoc @@ -0,0 +1,156 @@ += Browsing Declarations and Types +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Browsing a Class + +The following example demonstrates indexing a class and browsing its methods: + +[source,java] +---- +Index index = Index.of(Map.class); + +ClassInfo clazz = index.getClassByName(DotName.createSimple("java.util.Map")); + +for (MethodInfo method : clazz.methods()) { + System.out.println(method); +} +---- + +== Searching for Annotations + +The following example demonstrates indexing the `Thread` and `String` classes, and searching for methods that have been marked with `@Deprecated`: + +[source,java] +---- +Indexer indexer = new Indexer(); +indexer.indexClass(Thread.class); +indexer.indexClass(String.class); +Index index = indexer.complete(); + +DotName deprecated = DotName.createSimple("java.lang.Deprecated"); +List annotations = index.getAnnotations(deprecated); + +for (AnnotationInstance annotation : annotations) { + switch (annotation.target().kind()) { + case METHOD: + System.out.println(annotation.target()); + break; + } +} +---- + +== Analyzing Generics + +The following example demonstrates indexing the `Collections` class and printing the resolved bound on the `List` method parameter, which resolves to `Comparable` from the method type parameter. + +The `sort()` method analyzed by the example is defined in source as: + +[source,java] +---- +public static > void sort(List list) +---- + +The example code, which prints `Comparable` followed by `T`, is: + +[source,java] +---- +Index index = Index.of(Collections.class); + +ClassInfo clazz = index.getClassByName(DotName.createSimple("java.util.Collections")); +Type listType = Type.create(DotName.createSimple("java.util.List"), Type.Kind.CLASS); +MethodInfo sort = clazz.method("sort", listType); + +Type t = sort.parameterTypes().get(0).asParameterizedType() // List> + .arguments().get(0).asTypeVariable() // T extends Comparable + .bounds().get(0); // Comparable + +System.out.println(t); + +Type b = t.asParameterizedType() // Comparable + .arguments().get(0).asWildcardType() // ? super T + .superBound(); // T + +System.out.println(b); +---- + +== Browsing Type Annotations + +Consider a declaration with complex nested generic type which contains a `@Label` annotation: + +[source,java] +---- +Map> names; +---- + +The following code will print `Name`, the annotation value associated with the type: + +[source,java] +---- +Indexer indexer = new Indexer(); +indexer.indexClass(Test.class); +indexer.indexClass(Test.Label.class); +Index index = indexer.complete(); + +FieldInfo field = index.getClassByName(Test.class).field("names"); +System.out.println( + field.type().asParameterizedType() // Map> + .arguments().get(1).asParameterizedType() // List<@Label("Name") String> + .arguments().get(0) // @Label("Name") String + .annotations().get(0) // @Label("Name") + .value().asString() // "Name" +); +---- + +== Searching for Type Annotations + +A type annotation can also be located by searching for the annotation. +The target for a found type annotation is represented as a `TypeTarget`. +The `TypeTarget` provides a reference to the annotated type, as well as the enclosing target that contains the type. +The target itself can be a method, a class, or a field. +The usage of that target can be a number of places, including parameters, return types, type parameters, type arguments, class extends values, type bounds and receiver types. +Subclasses of `TypeTarget` provide the necessary information to locate the starting point of the usage. + +Since the particular type use can occur at any depth, the relevant branch of the type tree constrained by the above starting point must be traversed to understand the context of the use. + +Consider a declaration with complex nested generic type which contains a `@Label` annotation: + +[source,java] +---- +Map> names; +---- + +The following code locates a type annotation and then inspects its location: + +[source,java] +---- +Indexer indexer = new Indexer(); +indexer.indexClass(Test.class); +indexer.indexClass(Test.Label.class); +Index index = indexer.complete(); + +DotName label = DotName.createSimple("Test$Label"); +List annotations = index.getAnnotations(label); +for (AnnotationInstance annotation : annotations) { + if (annotation.target().kind() == AnnotationTarget.Kind.TYPE) { + TypeTarget typeTarget = annotation.target().asType(); + System.out.println("Type usage is located within: " + typeTarget.enclosingTarget()); + System.out.println("Usage type: " + typeTarget.usage()); + System.out.println("Target type: " + typeTarget.target()); + System.out.println("Expected target? " + (typeTarget.enclosingTarget().asField().type() + .asParameterizedType().arguments().get(1) + .asParameterizedType().arguments().get(0) + == typeTarget.target())); + } +} +---- + +The output is: + +[source] +---- +Type usage is located within: java.util.Map> Test.names +Usage type: EMPTY +Target type: java.lang.@Label("Name") String +Expected target? true +---- diff --git a/content/docs/jandex/main/core/getting.adoc b/content/docs/jandex/main/core/getting.adoc new file mode 100644 index 000000000..33d10a90c --- /dev/null +++ b/content/docs/jandex/main/core/getting.adoc @@ -0,0 +1,21 @@ += Getting Jandex +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Using Jandex in a Maven Project + +Just add the following to your POM: + +[source,xml] +---- + + io.smallrye + jandex + ${version.jandex} + +---- + +== Downloading Jandex + +If you don't use Maven, you can download the Jandex JAR link:https://search.maven.org/search?q=g:io.smallrye%20a:jandex[from Maven Central]. +This JAR is completely self-sufficient and doesn't require any dependencies. diff --git a/content/docs/jandex/main/core/indexing.adoc b/content/docs/jandex/main/core/indexing.adoc new file mode 100644 index 000000000..33c78394d --- /dev/null +++ b/content/docs/jandex/main/core/indexing.adoc @@ -0,0 +1,74 @@ += Indexing Classes +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Creating a Persistent Index Using the API + +The following example demonstrates indexing a class and persisting the index to disk. +The resulting file can later be loaded and used. + +[source,java] +---- +Indexer indexer = new Indexer(); +indexer.indexClass(Map.class); +Index index = indexer.complete(); + +try (FileOutputStream out = new FileOutputStream("/tmp/index.idx")) { + IndexWriter writer = new IndexWriter(out); + writer.write(index); +} +---- + +== Loading a Persistent Index + +The following example demonstrates loading the index from the previous example and using that index to print all methods on `java.util.Map`: + +[source,java] +---- +Index index; +try (FileInputStream input = new FileInputStream("/tmp/index.idx")) { + IndexReader reader = new IndexReader(input); + index = reader.read(); +} + +ClassInfo clazz = index.getClassByName(DotName.createSimple("java.util.Map")); + +for (MethodInfo method : clazz.methods()) { + System.out.println(method); +} +---- + +== Creating a Persistent Index Using the CLI + +The following example demonstrates indexing hibernate core, followed by the entire Java +JDK 8 using Jandex on the CLI: + +[source,bash] +---- +$ java -jar jandex-2.4.2.Final.jar hibernate-core-6.0.0.Final.jar + Wrote hibernate-core-6.0.0.Final-jar.idx in 0.9170 seconds + (5746 classes, 50 annotations, 2995 instances, 61729 class usages, 1737428 bytes) +$ java -jar jandex-2.4.2.Final.jar rt.jar + Wrote rt-jar.idx in 1.7310 seconds + (20226 classes, 57 annotations, 2476 instances, 246298 class usages, 5890787 bytes) +---- + +The above summary output tells us that this version of Hibernate ORM has 5,746 classes, and those classes contained 2,995 annotation declarations, using 50 different annotation types. +The resulting index is 1.7 MB uncompressed, which is only 19% of the 9.0MB compressed jar size, or 4% of the uncompressed class file data. +If the index is stored in the jar (using the -m option) it can be compressed an additional 43%, leading to a jar growth of only 11%. + +== Using the Ant Task to Index Your Project + +The following Ant task can be used with either the `maven-antrun-plugin` or an Ant build to build an index for your project: + +[source,xml] +---- + + + + +---- + +== Using the Maven Plugin to Index Your Project + +See xref:maven/basic.adoc[Basic Maven Plugin Usage]. diff --git a/content/docs/jandex/main/index.adoc b/content/docs/jandex/main/index.adoc new file mode 100644 index 000000000..b9ddf2a4e --- /dev/null +++ b/content/docs/jandex/main/index.adoc @@ -0,0 +1,85 @@ += Jandex +include::_attributes.adoc[] + +Jandex is a space efficient Java class file indexer and offline reflection library. + +It supports: + +* Indexing a set of classes into a memory efficient representation +* Browsing and searching for annotations, including Java 8 type annotations +* Browsing and searching for declarations and types, including generic type information +* Browsing and searching through the class and interface inheritance hierarchy +* Persisting an index in a custom storage efficient format and fast loading of that format +* Compatibility with previous API and storage format versions, as described in the <> +* Execution via API, command line tool, Ant, and Maven plugin + +Remember that Jandex has extensive API documentation in the link:https://javadoc.io/doc/io.smallrye/jandex/latest/index.html[javadoc form]. +This documentation site is currently rather incomplete, so please consult the javadoc frequently. + +== Requirements + +Jandex 3.0+ requires Java 8 to run. + +TIP: The runtime Java version does _not_ affect the Jandex bytecode parsing capabilities. +Jandex running on Java 8 can still parse Java 17 bytecode. + +== Getting Help + +Issues can be reported in link:https://github.com/smallrye/jandex/issues[GitHub Issues]. + +For discussions, use the link:https://groups.google.com/g/smallrye[SmallRye Google Group] or the link:https://quarkusio.zulipchat.com/[Quarkus Zulip chat]. + +[[compatibility_promise]] +== Compatibility Promise + +Jandex uses an `X.Y.Z` versioning scheme. +In the following text, we call `X` a _major_ version, `Y` a _minor_ version, and `Z` a _micro_ version. + +=== API + +Jandex may break backward compatibility for _callers_ of the Jandex API in major versions. +If you only call Jandex API, updating to a newer minor or micro version is safe. + +Jandex may break backward compatibility for users that _extend_ Jandex classes or _implement_ Jandex interfaces in minor or major versions. +If you extend Jandex classes or implement Jandex interfaces, updating to a newer micro version is safe. + +=== Persistent Index Format + +The persistent index format is versioned. +Jandex is backward compatible when it comes to reading the persistent index, but not forward compatible. +In other words, newer Jandex can read older index, but older Jandex can't read newer index. + +Jandex may introduce a new persistent index format version in minor or major versions. +If you distribute a Jandex index as part of your artifacts, updating to a newer micro version is safe. +Updating to a newer minor or major version may require consumers of the Jandex index to also update. + +[[persistent_index_format_versions]] +== Persistent Index Format Versions + +For reference, this table shows which Jandex version produces which persistent format version by default. +It is also a maximum persistent index format version the given Jandex version can read. + +|=== +|Jandex version |Persistent format version + +|Jandex 3.3.x, 3.4.x, 3.5.x, 3.6.x +|13 + +|Jandex 3.2.x +|12 + +|Jandex 3.0.x, 3.1.x +|11 + +|Jandex 2.4.x +|10 + +|Jandex 2.1.1+, 2.2.x, 2.3.x +|9 + +|Jandex 2.1.0 +|8 (version 7 only in Jandex 2.1.0.Beta1 and Beta2) + +|Jandex 2.0.x +|6 +|=== diff --git a/content/docs/jandex/main/maven/advanced.adoc b/content/docs/jandex/main/maven/advanced.adoc new file mode 100644 index 000000000..4f993ca32 --- /dev/null +++ b/content/docs/jandex/main/maven/advanced.adoc @@ -0,0 +1,123 @@ += Advanced Maven Plugin Usage +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you need to process more than one directory of classes, you can specify multiple `fileSets` like this: + +[source,xml] +---- + + + + io.smallrye + jandex-maven-plugin + ${version.jandex} + + + make-index + + jandex + + + + + ${project.build.directory}/generated-classes/foo + + + ${project.build.directory}/generated-classes/bar + + + + + + + + +---- + +To turn _off_ processing of `target/classes`, add the following configuration: + +[source,xml] +---- +false +---- + +For any `fileSet`, you can also fine-tune the classes that are processed using the following options: + +[source,xml] +---- + + ${project.build.directory}/somedir + + + **/indexed/*.class + **/idxd/*.class + + + + **/*NotIndexed.class + + + false + +---- + +A `fileSet` may specify a _dependency_ instead of a directory. +That dependency must exist among the set of dependencies of the Maven project being built. +A `groupId` and `artifactId` are mandatory, a `classifier` is optional: + +[source,xml] +---- + + + com.example + my-project + + + com/example/my/project/api/**/*.class + + + com/example/**/_private/*.class + + +---- + +== Index Location and Version + +To change where the persistent index is located, the `indexDir` and `indexName` configuration properties can be used. + +CAUTION: These properties should be left unchanged. +Jandex consumers typically look for a persistent Jandex index in the default location. + +The `indexDir` property defaults to `${project.build.outputDirectory}/META-INF` (so `target/classes/META-INF` by default), while `indexName` defaults to `jandex.idx`. +Therefore, the index is by default stored to `target/classes/META-INF/jandex.idx`. + +This example moves the index to `target/classes/index.dat`: + +[source,xml] +---- + + io.smallrye + jandex-maven-plugin + ${version.jandex} + + + make-index + + jandex + + + ${project.build.outputDirectory} + index.dat + + + + +---- + +The `indexVersion` property can be used to produce an older index version. +By default, the index version produced is the latest version supported by the Jandex version. +Possible values of the `indexVersion` property can be found in link:/docs/jandex/main/#persistent_index_format_versions[the table of persistent index format versions]. + +CAUTION: It is usually best to leave the index version unchanged. +Exercise care when upgrading Jandex itself. diff --git a/content/docs/jandex/main/maven/basic.adoc b/content/docs/jandex/main/maven/basic.adoc new file mode 100644 index 000000000..8d24608cd --- /dev/null +++ b/content/docs/jandex/main/maven/basic.adoc @@ -0,0 +1,30 @@ += Basic Maven Plugin Usage +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This is how you add a persistent Jandex index to your Maven project: + +[source,xml] +---- + + + + io.smallrye + jandex-maven-plugin + ${version.jandex} + + + make-index + + jandex + + + + + + +---- + +The `jandex` goal is bound to the `process-classes` phase by default. + +This configuration will index all `.class` files in your `target/classes` directory, and write the index to `target/classes/META-INF/jandex.idx`. diff --git a/content/docs/jandex/main/maven/shading.adoc b/content/docs/jandex/main/maven/shading.adoc new file mode 100644 index 000000000..ed0d3b27d --- /dev/null +++ b/content/docs/jandex/main/maven/shading.adoc @@ -0,0 +1,51 @@ += Using Jandex Maven Plugin with Shading +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Jandex Maven plugin has an additional goal `jandex-jar` that can be used to create an index inside an existing JAR. +This goal is not bound to any phase by default, so you have to configure that manually. + +It is useful together with shading, where the Maven Shade plugin creates a JAR from multiple previously existing JARs. +A shaded JAR may already contain a Jandex index, if at least one of the constituent JARs contains one, but that index is most likely _not_ what you want. +First, it is an unmodified index originating in one of the constituent JARs. +If multiple constituent JARs contain an index, only one of them makes it to the shaded JAR; the others are lost. +Second, during shading, classes may be relocated, so the index data may become stale. + +There is no support for merging existing index files from the original JARs. +Likewise, there is no support for applying class relocations over an existing index. + +In short, if you want a shaded JAR to have a Jandex index, you have to reindex it. + +[source,xml] +---- + + io.smallrye + jandex-maven-plugin + ${version.jandex} + + + uberjar-index + package + + jandex-jar + + + ${project.build.directory}/${project.build.finalName}.jar + + com/example/my/project/**/*.class + + + com/example/**/_private/*.class + + + + + +---- + +If we want to reindex a shaded JAR, we have to make sure that the `jandex-jar` goal of the Jandex Maven plugin executes _later_ than the `shade` goal of the Maven Shade plugin. +In this example, we bind the `jandex-jar` goal to the `package` phase, which is also the phase in which the `shade` goal of the Maven Shade plugin executes by default. +In such case, we have to put the `` element of the Jandex Maven plugin _after_ the `` element of the Maven Shade plugin. + +Remember that if the Jandex Maven plugin operates on a JAR that was produced by the Maven Shade plugin, and if the Maven Shade plugin is configured to perform class relocations, the Jandex Maven plugin operates on already relocated classes. +This is important for configuring includes and excludes correctly. diff --git a/content/docs/smallrye-config/2/_attributes.adoc b/content/docs/smallrye-config/2/_attributes.adoc new file mode 100644 index 000000000..6bb868eca --- /dev/null +++ b/content/docs/smallrye-config/2/_attributes.adoc @@ -0,0 +1,21 @@ +:project-version: 2.13.3 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Config +:javadoc-version: latest +:version: {project-version} +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 2.13.3 +:relfileprefix: /docs/smallrye-config/2/ +:imagesdir: /docs/smallrye-config/2 +:docs-project: smallrye-config +:docs-version: 2 +:docs-ref: 2.13.3 diff --git a/content/docs/smallrye-config/2/_nav.yml b/content/docs/smallrye-config/2/_nav.yml new file mode 100644 index 000000000..e5bcafd99 --- /dev/null +++ b/content/docs/smallrye-config/2/_nav.yml @@ -0,0 +1,58 @@ +title: SmallRye Config +nav: +- title: Home + page: index +- title: Config + items: + - title: Getting Started + page: config/getting-started + - title: Expressions + page: config/expressions + - title: Profiles + page: config/profiles + - title: Environment Variables + page: config/environment-variables + - title: Indexed Properties + page: config/indexed-properties + - title: ConfigValue + page: config/config-value + - title: Mappings + page: config/mappings + - title: Map Support + page: config/map-support + - title: Secret Keys + page: config/secret-keys + - title: Configuration Reference + page: config/configuration +- title: Config Sources + items: + - title: Custom + page: config-sources/custom + - title: Factories + page: config-sources/factories + - title: Locations + page: config-sources/locations + - title: YAML + page: config-sources/yaml + - title: FileSystem + page: config-sources/filesystem + - title: ZooKeeper + page: config-sources/zookeeper + - title: HOCON + page: config-sources/hocon +- title: Converters + items: + - title: Custom + page: converters/custom + - title: JSON + page: converters/json +- title: Extensions + items: + - title: Interceptors + page: extensions/interceptors + - title: Fallback + page: extensions/fallback + - title: Relocate + page: extensions/relocate + - title: Logging + page: extensions/logging diff --git a/content/docs/smallrye-config/2/assets/smallrye-icon.svg b/content/docs/smallrye-config/2/assets/smallrye-icon.svg new file mode 100644 index 000000000..c10b011e0 --- /dev/null +++ b/content/docs/smallrye-config/2/assets/smallrye-icon.svg @@ -0,0 +1,21 @@ + + + + + SmallRye Icon + + + + + + + + + diff --git a/content/docs/smallrye-config/2/config-sources/custom.adoc b/content/docs/smallrye-config/2/config-sources/custom.adoc new file mode 100644 index 000000000..76dd15c11 --- /dev/null +++ b/content/docs/smallrye-config/2/config-sources/custom.adoc @@ -0,0 +1,173 @@ += Config Sources +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Custom `ConfigSource` + +It’s possible to create a custom ConfigSource as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config]. + +With a Custom `ConfigSource` it is possible to read additional configuration values and add them to the `Config` +instance in a defined ordinal. This allows overriding values from other sources or falling back to other values. + +A custom `ConfigSource` requires an implementation of `org.eclipse.microprofile.config.spi.ConfigSource` or +`org.eclipse.microprofile.config.spi.ConfigSourceProvider`. Each implementation requires registration via the +`ServiceLoader` mechanism, either in `META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource` or +`META-INF/services/org.eclipse.microprofile.config.spi.ConfigSourceProvider` files. + +Consider a simple in-memory ConfigSource: + +[source,java] +---- +package org.acme.config; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +public class InMemoryConfigSource implements ConfigSource { + private static final Map configuration = new HashMap<>(); + + static { + configuration.put("my.prop", "1234"); + } + + @Override + public int getOrdinal() { + return 275; + } + + @Override + public Set getPropertyNames() { + return configuration.keySet(); + } + + @Override + public String getValue(final String propertyName) { + return configuration.get(propertyName); + } + + @Override + public String getName() { + return InMemoryConfigSource.class.getSimpleName(); + } +} +---- + +And registration in: + +_META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource_ + +[source,properties] +---- +org.acme.config.InMemoryConfigSource +---- + +The `InMemoryConfigSource` will be ordered between the `System properties` config source, and the +`Environment variables` config source due to the `350` ordinal. + +In this case, `my.prop` from `InMemoryConfigSource` will only be used if the `Config` instance is unable to find a +value in `System Properties`, ignoring all the other lower ordinal config sources. + +== `ConfigSourceFactory` + +Another way to create a `ConfigSource` is via the SmallRye Config `io.smallrye.config.ConfigSourceFactory` API. The +difference between the SmallRye Config factory and the standard way to create a `ConfigSource` as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config], is the factory ability to provide a context +with access to the current configuration. + +Each implementation of `io.smallrye.config.ConfigSourceFactory` requires registration via the `ServiceLoader` mechanism +in the `META-INF/services/io.smallrye.config.ConfigSourceFactory` file. + +[source,java] +---- +package org.acme.config; + +import java.util.Collections; +import java.util.OptionalInt; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import io.smallrye.config.ConfigSourceContext; +import io.smallrye.config.ConfigSourceFactory; +import io.smallrye.config.ConfigValue; +import io.smallrye.config.PropertiesConfigSource; + +public class URLConfigSourceFactory implements ConfigSourceFactory { + @Override + public Iterable getConfigSources(final ConfigSourceContext context) { + final ConfigValue value = context.getValue("config.url"); + if (value == null || value.getValue() == null) { + return Collections.emptyList(); + } + + try { + return Collections.singletonList(new PropertiesConfigSource(new URL(value.getValue()))); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public OptionalInt getPriority() { + return OptionalInt.of(290); + } +} +---- + +And registration in: + +_META-INF/services/io.smallrye.config.ConfigSourceFactory_ + +[source,properties] +---- +org.acme.config.URLConfigSourceFactory +---- + +By implementing `io.smallrye.config.ConfigSourceFactory`, a list of `ConfigSource` may be provided via the +`Iterable++<++ConfigSource++>++ getConfigSources(ConfigSourceContext context)` method. The `ConfigSourceFactory` may also +assign a priority by overriding the method `OptionalInt getPriority()`. The priority value is used to sort multiple +`io.smallrye.config.ConfigSourceFactory` (if found). Higher the value, higher the priority. + +[WARNING] +==== + +The `io.smallrye.config.ConfigSourceFactory` priority does not affect the `ConfigSource` ordinal. These are sorted +independently. + +==== + +When the Factory is initializing, the provided `ConfigSourceContext` may call the method +`ConfigValue getValue(String name)`. This method looks up configuration names in all `ConfigSource`s that were already +initialized by the `Config` instance, including sources with lower ordinals than the ones defined in the +`ConfigSourceFactory`. This means that a `Config` instance is initialized in two steps: first all `ConfigSource` and +`ConfigSourceProvider` and then the `ConfigSourceFactory`. Only configuation values found in the first step are avaible +to the ++`++ConfigSourceFactory. + +The `ConfigSource` list provided by a `ConfigSourceFactory` is not taken into consideration to +configure other sources produced by a lower priority `ConfigSourceFactory`. + +== Override `ConfigSource` ordinal + +The special configuration property name `config++_++ordinal` can be set in any `ConfigSource` to override its default +ordinal. + +For instance, setting the system property `-Dconfig++_++ordinal=200` will override the ordinal for the `System properties` +config source and move it to be looked up after the `Environment Variables` config source. + +== Properties + +The https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/PropertiesConfigSource.java[PropertiesConfigSource] +creates a `ConfigSource` from Java `Properties`, `Map++<++String, String++>++` objects or a `.properties` file (referenced by +its URL). + +== Config Value Properties + +The https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/ConfigValuePropertiesConfigSource.java[ConfigValuePropertiesConfigSource] a `ConfigSource` from Java `Properties`, `Map++<++String, String++>++` objects or +a `.properties` file (referenced by its URL) with support for `io.smallrye.config.ConfigValue`. + +== `.env` + +The https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/DotEnvConfigSourceProvider.java[DotEnvConfigSourceProvider] create a `ConfigSource` from a `.env` file. diff --git a/content/docs/smallrye-config/2/config-sources/factories.adoc b/content/docs/smallrye-config/2/config-sources/factories.adoc new file mode 100644 index 000000000..ff1d09d07 --- /dev/null +++ b/content/docs/smallrye-config/2/config-sources/factories.adoc @@ -0,0 +1,86 @@ += Config Source Factory +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Another way to create a `ConfigSource` is via the `ConfigSourceFactory`. The difference between the SmallRye Config +Factory and the standard way to make a `ConfigSource` as specified in MicroProfile Config is the Factory's ability to +provide a context with access to the available configuration. With the `ConfigSourceFactory` it is possible to +bootstrap a `ConfigSource` that configures itself with previously initialized `ConfigSource's`. + +By implementing +https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/ConfigSourceFactory.java[ConfigSourceFactory], +a list of `ConfigSource's` may be provided via the `Iterable++<++ConfigSource++>++ getConfigSources(ConfigSourceContext context)` method. The `ConfigSourceFactory` may also +assign a priority by overriding the default method `OptionalInt getPriority()`. The priority only sorts the factories +during initialization. After initialization, the provided `ConfigSources` will use their own ordinal and sorted with +all `ConfigSources` available in the `Config` instance. + +When the Factory initializes, the provided `ConfigSourceContext` may call the method +`ConfigValue getValue(String name)`. This method looks up configuration names in all `ConfigSource's` already +initialized by the `Config` instance, including sources with lower ordinals than the ones defined in the +`ConfigSourceFactory`. The `ConfigSourceFactory` does not consider `ConfigSources's` provided by other +`ConfigSourceFactory's` (the priority does not matter). + +Registration of a `ConfigSourceFactory` is done via the `ServiceLoader` mechanism by providing the +implementation classes in a `META-INF/services/io.smallrye.config.ConfigSourceFactory` file. Alternatively, factories +may be registered via the Programmatic API in `SmallRyeConfigBuilder#withSources`. + +A `ConfigSourceFactory` requires an implementation of `io.smallrye.config.ConfigSourceFactory`. Each implementation +requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceFactory` file. Alternatively, interceptors may be registered via the +Programmatic API in `SmallRyeConfigBuilder#withSources`. + +[source,java] +---- +package org.acme.config + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.Collections; +import java.util.List; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import io.smallrye.config.ConfigMessages; +import io.smallrye.config.PropertiesConfigSource; +import io.smallrye.config.ConfigSourceContext; +import io.smallrye.config.ConfigSourceFactory; +import io.smallrye.config.ConfigValue; + +public class FileSystemConfigSourceFactory implements ConfigSourceFactory { + @Override + public Iterable getConfigSources(final ConfigSourceContext context) { + final ConfigValue value = context.getValue("org.acme.config.file.locations"); + if (value == null || value.getValue() == null) { + return Collections.emptyList(); + } + + try { + return List.of(new PropertiesConfigSource(toURL(value.getValue()), 250)); + } catch (IOException e) { + return Collections.emptyList(); + } + } + + private URL toURL(final String value) { + try { + return new URI(value).toURL(); + } catch (URISyntaxException | MalformedURLException e) { + throw ConfigMessages.msg.uriSyntaxInvalid(e, value); + } + } +} +---- + +And registration in: +_META-INF/services/io.smallrye.config.ConfigSourceFactory_ + +[source,properties] +---- +org.acme.config.FileSystemConfigSourceFactory +---- + +The `FileSystemConfigSourceFactory` look ups the configuration value for `org.acme.config.file.locations`, and uses it +to set up an additional `ConfigSource`. diff --git a/content/docs/smallrye-config/2/config-sources/filesystem.adoc b/content/docs/smallrye-config/2/config-sources/filesystem.adoc new file mode 100644 index 000000000..66e16db05 --- /dev/null +++ b/content/docs/smallrye-config/2/config-sources/filesystem.adoc @@ -0,0 +1,51 @@ += FileSystem Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source loads configuration values for each file found in a directory. Each file corresponds to a single +property, where the file name is the configuration property name and the file content the configuration value. + +For instance, if a directory structure looks like: + +.... +foo/ +|__num.max +|__num.size +.... + +The `FileSystem` Config Source will provide 2 properties: + +* num.max +* num.size + +[WARNING] +==== + +Nested directories are not supported. + +==== + +This Config Source can be used to read configuration from +https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap[Kubernetes ConfigMap]. Check the +https://github.com/smallrye/smallrye-config/blob/main/examples/configmap/README.adoc[Kubernetes ConfigMap ConfigSource Example]. + +The same mapping rules as defined for environment variables are applied, so the `FileSystem` Config Source will search +for a given property name `num.max`: + +* Exact match (`num.max`) +* Replace each character that is neither alphanumeric nor ++_++ with ++_++ (`num++_++max`) +* Replace each character that is neither alphanumeric nor ++_++ with ++_++; then convert the name to upper case (`NUM++_++MAX`) + +The following dependency is required in the classpath to use the `FileSystem` Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-file-system + {version} + +---- + +The configuration property `smallrye.config.source.file.locations` sets the directory paths to look up the files. It +accepts multiple locations separated by a comma and each must represent a valid URI to a directory. diff --git a/content/docs/smallrye-config/2/config-sources/hocon.adoc b/content/docs/smallrye-config/2/config-sources/hocon.adoc new file mode 100644 index 000000000..23b29b437 --- /dev/null +++ b/content/docs/smallrye-config/2/config-sources/hocon.adoc @@ -0,0 +1,46 @@ += HOCON Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use the https://github.com/lightbend/config/blob/main/HOCON.md[HOCON] file format to +load configuration values. The HOCON Config Source loads the +configuration from the file `META-INF/microprofile-config.conf`. It has a lower ordinal (`50`) than the +`microprofile-config.properties`. + +The following dependency is required in the classpath to use the HOCON Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-hocon + {version} + +---- + +Expressions defined as `$++{++value}` (unquoted) are resolved internally by the HOCON Config Source as described in the +https://github.com/lightbend/config/blob/main/HOCON.md#substitutions[HOCON Substitutions] documentation. Quoted +Expressions defined as `"$++{++value}"` are resolved by xref:config/expressions.adoc[SmallRye Config Property Expressions]. + +Consider: + +*hocon.conf* + +[source,conf] +---- +{ + foo: "bar", + hocon: ${foo}, + config: "${foo}" +} +---- + +*application.properties* + +[source,properties] +---- +config_ordinal=1000 +foo=baz +---- + +The value of `hocon` is `bar` and the value of `config` is `baz` (if the properties source has a higher ordinal). diff --git a/content/docs/smallrye-config/2/config-sources/locations.adoc b/content/docs/smallrye-config/2/config-sources/locations.adoc new file mode 100644 index 000000000..1457440e3 --- /dev/null +++ b/content/docs/smallrye-config/2/config-sources/locations.adoc @@ -0,0 +1,77 @@ += Locations +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Additionally, to the default config locations specified by the +https://github.com/eclipse/microprofile-config/[MicroProfile Config] specification, SmallRye Config provides a way to +scan additional locations for configuration properties files. + +The `smallrye.config.locations` configuration property accepts multiple locations separated by a comma `,` and each +ust represent a valid `URI`. The supported `URI` schemes are: + +* file or directory (`file:`) +* classpath resource +* jar resource (`jar:`) +* http resource (`http:`) + +Each `URI` scheme loads all discovered resources in a `ConfigSource`. All loaded sources use the same ordinal of the +source that found the `smallrye.config.locations` configuration property. For instance, if `smallrye.config.locations` +is set as a system property, then all loaded sources have their ordinals set to `400` (system properties use `400` as +their ordinal). The ordinal may be overridden directly in the resource by setting the `config++_++ordinal` property. +Sources are sorted first by their ordinal, then by location order, and finally by loading order. + +If a profile is active, and the `URI` represents a single resource (for instance a file), then resources that match +the active profile are also loaded. The profile resource name must follow the pattern: `++{++location}-++{++profile}`. A +profile resource is only loaded if the unprofiled resource is also available in the same location. This is to keep a +consistent loading order and pair all the resources together. + +Profile resources are not taken into account if the location is a directory since there is no reliable way to discover +which file is the main resource. Properties that use the profile prefix syntax `%profile.` will work as expected. + +_All properties files from a directory_ + +[source,properties] +---- +# loads all files from a relative path +smallrye.config.locations=./src/main/resources/ + +# loads all files from an absolute path +smallrye.config.locations=/user/local/config +---- + +For relative paths, the JVM `user.dir` property defines the current directory. + +_A specific file_ + +[source,properties] +---- +smallrye.config.locations=./src/main/resources/additional.properties +---- + +If a profile `dev` is active, and an `additional-dev.properties` file exists, this will also be loaded. + +_All `additional.properties` files from the classpath_ + +[source,properties] +---- +smallrye.config.locations=additional.properties +---- + +If a profile `prod` is active, and an `additional-prod.properties` resources exists next to the `additional.properties` +resource, this will also be loaded. + +_The `resources.properties` file from a specific jar_ + +[source,properties] +---- +smallrye.config.locations=jar:file:///user/local/app/lib/resources-.jar!/resources.properties +---- + +If a profile `test` is active, and an `additional-test.properties` respource exists, this will also be loaded. + +_The `config.properties` file from a web server_ + +[source,properties] +---- +smallrye.config.locations=http://localhost:8080/config/config. +---- diff --git a/content/docs/smallrye-config/2/config-sources/yaml.adoc b/content/docs/smallrye-config/2/config-sources/yaml.adoc new file mode 100644 index 000000000..855f6b063 --- /dev/null +++ b/content/docs/smallrye-config/2/config-sources/yaml.adoc @@ -0,0 +1,18 @@ += YAML Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use a `yaml` file to load configuration values. The YAML Config Source loads the +configuration from the file `META-INF/microprofile-config.yaml`. It has a higher ordinal (`110`) than the +`microprofile-config.properties`. + +The following dependency is required in the classpath to use the YAML Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-yaml + {version} + +---- diff --git a/content/docs/smallrye-config/2/config-sources/zookeeper.adoc b/content/docs/smallrye-config/2/config-sources/zookeeper.adoc new file mode 100644 index 000000000..37f27785d --- /dev/null +++ b/content/docs/smallrye-config/2/config-sources/zookeeper.adoc @@ -0,0 +1,30 @@ += ZooKeeper Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows using https://zookeeper.apache.org/index.html[Apache ZooKeeper] to load configuration +values. + +The following dependency is required in the classpath to use the ZooKeeper Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-zookeeper + {version} + +---- + +It also requires to set up additional configuration properties to identify the ZooKeeper instance: + +[source,properties] +---- +io.smallrye.configsource.zookeeper.url=localhost:2181 +io.smallrye.configsource.zookeeper.applicationId=applicationId +---- + +The ZooKeeper Config Source will look for configuration values in a ZooKeeper instance running in the url set in +`io.smallrye.configsource.zookeeper.url` and in the znodes available in `/applicationId/`. + +This Config Source has an ordinal of `150`. diff --git a/content/docs/smallrye-config/2/config/config-value.adoc b/content/docs/smallrye-config/2/config/config-value.adoc new file mode 100644 index 000000000..63d58d715 --- /dev/null +++ b/content/docs/smallrye-config/2/config/config-value.adoc @@ -0,0 +1,8 @@ += Config Value +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.ConfigValue` is a metadata object that holds additional information after the lookup of a +configuration property. It is able to hold information of configuration property name, value, profile, the +`ConfigSource` from where the configuration was loaded, the ordinal of the `ConfigSource` and a line number from where +the configuration was loaded if exists. diff --git a/content/docs/smallrye-config/2/config/configuration.adoc b/content/docs/smallrye-config/2/config/configuration.adoc new file mode 100644 index 000000000..79e5d381b --- /dev/null +++ b/content/docs/smallrye-config/2/config/configuration.adoc @@ -0,0 +1,41 @@ += Configuration Reference +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== `smallrye.config.profile` + +The main xref:config/profiles.adoc[Profile] to activate. + +____ +* type: String++[]++ +* default: +____ + +== `smallrye.config.profile.parent` + +The parent xref:config/profiles.adoc#parent-profile[Profile] to activate. + +____ +* type: String++[]++ +* default: +____ + +== `smallrye.config.locations` + +xref:config-sources/locations.adoc[Additional config locations] to be loaded with the Config. The configuration supports +multiple locations separated by a comma and each must represent a valid `java.net.URI`. + +____ +* type: URI++[]++ +* default: +____ + +== `smallrye.config.mapping.validate-unknown` + +xref:config/mappings.adoc#retrieval[Validates] that a `@ConfigMapping` maps every available configuration name contained in the +mapping prefix. + +____ +* type: boolean +* default: false +____ diff --git a/content/docs/smallrye-config/2/config/environment-variables.adoc b/content/docs/smallrye-config/2/config/environment-variables.adoc new file mode 100644 index 000000000..af2b6b98f --- /dev/null +++ b/content/docs/smallrye-config/2/config/environment-variables.adoc @@ -0,0 +1,76 @@ += Environment Variables +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Environment Variable names follow the conversion rules specified by https://github.com/eclipse/microprofile-config/blob/master/spec/src/main/asciidoc/configsources.asciidoc#default-configsources[MicroProfile Config]. + +SmallRye Config specifies additional conversion rules: + +* A property with double quotes `foo."bar".baz`, replace each character that is neither alphanumeric nor `++_++` +with `++_++`: `FOO++__++BAR++__++BAZ` +* A property with dashes `foo.bar-baz`, replace each character that is neither alphanumeric nor `++_++` +with `++_++`: `FOO++_++BAR++_++BAZ` +* An indexed property `foo.bar++[++0++]++` or `foo.bar++[++0++]++.baz`, replace each character that is neither alphanumeric nor `++_++` +with `++_++`: `FOO++_++BAR++_++0++_++` or `FOO++_++BAR++_++0++__++BAZ`. + +[CAUTION] +==== + +Environment Variables format cannot represent the entire spectrum of common property names. + +==== + +The lookup of configuration values from Environment Variables will always use the dotted format name. For +instance, the lookup of the Environment Variable `FOO++_++BAR` value, requires the property name `foo.bar`: + +[source,java] +---- +ConfigProvider.getConfig().getValue("foo.bar", String.class); +---- + +When SmallRyeConfig performs the lookup on the Environment Variables Config Source, it applies the conversion rules to +find the matching property name and retrieve the value. + +In some situations, looking up the exact property name is impossible. For instance, when SmallRye Config has to look up +a configuration that is part of a `Map`, and the property name contains a dynamic segment (a `Map` key). In this case, +SmallRye Config relies upon each source's list of property names. These must be converted back to their most likely +dotted format for Environment Variables. + +By default, the underscore `++_++` of an Environment Variable name always maps to a dot `.`. If the property name +contains a dash or some other special character, that property name can be specified in another Config +Source, with the expected dotted format. It will provide additional information to SmallRye Config to perform a +two-way conversion and match the property names. + +For instance: + +*Config A* + +[source,console] +---- +FOO_BAR_BAZ=VALUE +---- + +Will map to `foo.bar.baz` and value `value`. + +*Config B* + +[source,console] +---- +FOO_BAR_BAZ=VALUE +---- + +[source,properties] +---- +foo.bar-baz=default +---- + +Will map to `foo.bar-baz` and value `value`. + +[NOTE] +==== + +The property name in dotted format needs to exist somewhere to provide this additional information. It can be set in a +low ordinal source, even without value. The Environment Variables source will override the value and map the correct +configuration name. + +==== diff --git a/content/docs/smallrye-config/2/config/expressions.adoc b/content/docs/smallrye-config/2/config/expressions.adoc new file mode 100644 index 000000000..99187c64a --- /dev/null +++ b/content/docs/smallrye-config/2/config/expressions.adoc @@ -0,0 +1,34 @@ += Property Expressions +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config provides property expressions expansion on configuration values. An expression string is a mix of plain +strings and expression segments, which are wrapped by the sequence $++{++ ... }. + +For instance, the following configuration properties file: + +[source,properties] +---- +remote.host=smallrye.io +callable.url=https://${remote.host}/ +---- + +The resolved value of the `callable.url` property is `https://smallrye.io/`. + +Additionally, the Expression Expansion engine supports the following segments: + +* `$++{++expression:value}` - Provides a default value after the `:` if the expansion doesn’t find a value. +* `$++{++my.prop$++{++compose}}` - Composed expressions. Inner expressions are resolved first. +* `$++{++my.prop}$++{++my.prop}` - Multiple expressions. + +If an expression cannot be expanded and no default is supplied a `NoSuchElementException` is thrown. + +Expression expansion may be selectively disabled with `io.smallrye.config.Expressions`: + +[source,java] +---- +Config config = ConfigProvider.getConfig(); + +String url = Expressions.withoutExpansion(() -> + config.getValue("callable.url", String.class)); +---- diff --git a/content/docs/smallrye-config/2/config/getting-started.adoc b/content/docs/smallrye-config/2/config/getting-started.adoc new file mode 100644 index 000000000..3e3bbd124 --- /dev/null +++ b/content/docs/smallrye-config/2/config/getting-started.adoc @@ -0,0 +1,172 @@ += Getting Started +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Config Sources + +By default, SmallRye Config reads configuration properties from multiple configuration sources (by descending ordinal): + +[arabic] +. (`400`) System properties +. (`300`) Environment variables +. (`100`) MicroProfile Config configuration file `META-INF/microprofile-config.properties` in the classpath + +A configuration source is handled by a `ConfigSource`. A `ConfigSource` provides configuration values from a specific +place. + +The final configuration is the aggregation of the properties defined by all these sources. A configuration property +lookup starts by the highest ordinal configuration source available and works it way down to other sources until a +match is found. This means that any configuration property may override a value just by setting a different value in a +higher ordinal config source. For example, a property configured using an Environment Variable overrides the value +provided using the `microprofile-config.properties` file. + +=== System Properties + +System properties can be handed to the application through the `-D` flag during startup. For instance, +`java -Dmy.prop -jar my.jar`. + +=== Environment Variables + +Environment variables are set directly in the host operating system. Environment variables names follow the conversion +rules detailed by xref:config/environment-variables.adoc[Environment Variables]. + +=== MicroProfile Config configuration file + +The MicroProfile Config configuration file `META-INF/microprofile-config.properties` in the classpath. It follows the +standard convention for `properties` files. + +[source,properties] +---- +greeting.message=hello +goodbye.message=bye +---- + +=== Additional Config Sources + +SmallRye Config provides additional extensions which cover other configuration formats and stores: + +* xref:config-sources/yaml.adoc[YAML] +* xref:config-sources/filesystem.adoc[File System] +* xref:config-sources/zookeeper.adoc[ZooKeeper] +* xref:config-sources/hocon.adoc[HOCON] + +It is also possible to create a xref:config-sources/custom.adoc[Custom ConfigSource]. + +== Retrieving the Configuration + +=== Programmatically + +The `org.eclipse.microprofile.config.ConfigProvider.getConfig()` API allows to access the +`org.eclipse.microprofile.config.Config` API programmatically. + +[source,java] +---- +Config config = ConfigProvider.getConfig(); + +String message = config.getValue("greeting.message", String.class); +---- + +The `Config` instance will be created and registered to the current context class loader if no such configuration is +already created and registered. This means that subsequent calls to `ConfigProvider.getConfig()` will return the same +`Config` instance if the context class loader is the same. + +To obtain a detached instanced, use the `io.smallrye.config.SmallRyeConfigBuilder`: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .addDefaultInterceptors() + .addDefaultSources() + .build(); + +String message = config.getValue("greeting.message", String.class); +---- + +=== With CDI + +In a CDI environment, configuration can be injected in CDI aware beans with `@Inject` and +the `org.eclipse.microprofile.config.inject.ConfigProperty` qualifier. + +[source,java] +---- +@Inject +@ConfigProperty(name = "greeting.message") +String message; + +@Inject +@ConfigProperty(name = "greeting.suffix", defaultValue="!") +String suffix; + +@Inject +@ConfigProperty(name = "greeting.name") +Optional name; + +@Inject +SmallRyeConfig config; +---- + +* If a value if not provided for this `greeting.message`, the application startup fails with a +`javax.enterprise.inject.spi.DeploymentException: No config value of type ++[++class java.lang.String++]++ exists for: greeting.message`. +* The default value `!` is injected if the configuration does not provide a value for `greeting.suffix`. +* The property `greeting.name` is optional - an empty Optional is injected if the configuration does not provide a +value for it. + +== Override Config + +It is possible to override `Config` default initialization `ConfigProvider.getConfig()`, by extending +`io.smallrye.config.SmallRyeConfigFactory` and registering the implementation with the `ServiceLoader` mechanism. + +== Config vs SmallRyeConfig + +The `io.smallrye.config.SmallRyeConfig` is an implementation of `org.eclipse.microprofile.config.Config` and provides +additional APIs and helper methods not available in `org.eclipse.microprofile.config.Config`. To obtain an instance of +`io.smallrye.config.SmallRyeConfig`, the original `org.eclipse.microprofile.config.Config` can be unwrapped: + +[source,java] +---- +Config config = ConfigProvider.getConfig(); +SmallRyeConfig smallRyeConfig = config.unwrap(SmallRyeConfig.class); +---- + +Or if using the builder it can be obtained directly: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder().build(); +---- + +A few notable APIs provided by `io.smallrye.config.SmallRyeConfig` allow to: + +* Retrive multiple values into a specified `Collection` +* Retrive xref:config/indexed-properties.adoc[Indexed Values] +* Retrive xref:config/mappings.adoc[Config Mappings] instances +* Retrieve the raw value of a configuration +* Check if a property is present +* Retrieve a `Converter` +* Convert values + +== Converters + +The `ConfigSource` retrieves a configuration value as a `String`. Other data types require a conversion using the +`org.eclipse.microprofile.config.spi.Converter` API. + +Most of the common `Converter` types are provided by default: + +* `boolean` and `java.lang.Boolean`; the values "true", "1", "YES", "Y" "ON" represent `true`. Any other value will be +interpreted as `false` +* `byte` and `java.lang.Byte` +* `short` and `java.lang.Short` +* `int`, `java.lang.Integer`, and `java.util.OptionalInt` +* `long`, `java.lang.Long`, and `java.util.OptionalLong` +* `float` and `java.lang.Float`; a dot '.' is used to separate the fractional digits +* `double`, `java.lang.Double`, and `java.util.OptionalDouble`; a dot '.' is used to separate the fractional digits +* `char` and `java.lang.Character` +* `java.lang.Class` based on the result of `Class.forName` +* `java.net.InetAddress` +* `java.util.UUID` +* `java.util.Currency` +* `java.util.regex.Pattern` +* Any class with declared static methods `of`, `valueOf` or `parse` that take a `String` or a `CharSequence` +* Any class with declared constructors that takes a `String` or a `CharSequence` + +All default converters have a priority of `1`. diff --git a/content/docs/smallrye-config/2/config/indexed-properties.adoc b/content/docs/smallrye-config/2/config/indexed-properties.adoc new file mode 100644 index 000000000..7a1e1ab99 --- /dev/null +++ b/content/docs/smallrye-config/2/config/indexed-properties.adoc @@ -0,0 +1,31 @@ += Indexed Properties +:version-root: ../ +include::{version-root}_attributes.adoc[] + +In https://github.com/eclipse/microprofile-config/[MicroProfile Config], a config value with unescaped commas may be +converted to `Collection`. It works for simple cases, but it becomes cumbersome and limited for more advanced use cases. + +Indexed Properties provide a way to use indexes in config property names to map specific elements in a `Collection` +type. Since the indexed element is part of the property name, it can also map complex object types. Consider: + +[source,properties] +---- +# MicroProfile Config - Collection Values +my.collection=dog,cat,turtle + +# SmallRye Config - Indexed Property +my.indexed.collection[0]=dog +my.indexed.collection[1]=cat +my.indexed.collection[2]=turtle +---- + +The indexed property syntax uses the property name and square brackets with an index in between. + +A call to `Config#getValues("my.collection", String.class)`, will automatically create and convert a `List++<++String++>++` +that contains the values `dog`, `cat` and `turtle`. A call to `Config#getValues("my.indexed.collection", String.class)` +returns the exact same result. For compatibility reasons, if SmallRye Config finds the same property name in their +indexed and unindexed format, the unindexed value has priority. + +The indexed property is sorted by its index before being added to the target `Collection`. Any gaps in the indexes do +not resolve to the target `Collection`, which means that the `Collection` result will store all values without empty +elements. diff --git a/content/docs/smallrye-config/2/config/map-support.adoc b/content/docs/smallrye-config/2/config/map-support.adoc new file mode 100644 index 000000000..9dcea9a91 --- /dev/null +++ b/content/docs/smallrye-config/2/config/map-support.adoc @@ -0,0 +1,57 @@ += Map Support +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config allows injecting multiple configuration parameters as a `Map`. The configuration value syntax is +represented by `++<++key1++>++=++<++value1++>++;++<++key2++>++=++<++value2++>++` Consider: + +[source,properties] +---- +server.reasons=200=OK;201=Created +---- + +The previous configuration could be injected directly in a CDI Bean: + +With `@ConfigProperty` + +[source,java] +---- +@ApplicationScoped +public class ConfigBean { + @Inject + @ConfigProperty(name = "server.reasons", defaultValue = "200=OK;201=Created") + Map reasons; +} +---- + +With `@ConfigProperties` + +[source,java] +---- +@ConfigProperties(prefix = "server") +public class Config { + Map reasons; +} +---- + +[NOTE] +==== + +Only the direct sub properties will be converted into a `Map` and +injected into the target bean, the rest will be ignored. In other words, +in the previous example, a property whose name is `reasons.200.a` would +be ignored as not considered as a direct sub property. + +==== + +[NOTE] +==== + +The property will be considered as missing if no direct sub properties +could be found. + +==== + +It is also possible to retrieve the `Map` programmatically by calling the methods +`SmallRyeConfig#getValues("server.reasons", Integer.class, String.class)` or +`SmallRyeConfig#getOptionalValues("server.reasons", Integer.class, String.class)`. diff --git a/content/docs/smallrye-config/2/config/mappings.adoc b/content/docs/smallrye-config/2/config/mappings.adoc new file mode 100644 index 000000000..191c17231 --- /dev/null +++ b/content/docs/smallrye-config/2/config/mappings.adoc @@ -0,0 +1,473 @@ += Mappings +:version-root: ../ +include::{version-root}_attributes.adoc[] + +With SmallRye Config Mappings, it is possible to group multiple configuration properties in a single interface that +share the same prefix (or namespace). It supports the following set of features: + +* Automatic conversion of the configuration type, including `List`, `Set`, `Map`, `Optional` and primitive types. +* Nested Config Mapping groups. +* Configuration Properties Naming Strategies +* Integration with Bean Validation + +A Config Mapping requires an interface with minimal metadata configuration annotated with +`io.smallrye.config.ConfigMapping`: + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + String host(); + + int port(); +} +---- + +The `Server` interface is able to map configurations with the name `server.host` into the `Server#host()` method and +`server.port` into `Server#port()` method. The configuration property name to lookup is built from the prefix, and the +method name with `.` (dot) as the separator. + +[WARNING] +==== + +If a mapping fails to match a configuration property a `NoSuchElementException` is thrown, unless the mapped +element is an `Optional`. + +==== + +== Registration + +Registration of Config Mappings is automatic in CDI aware environments with the `@ConfigMapping` annotation. + +In non-CDI environments, the Config Mapping can be registered via `SmallRyeConfigBuilder#withMapping`. In this case, +the `@ConfigMapping` is completely optional (but recommendeded to set the prefix). + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .withMapping(Server.class) + .build(); +---- + +== Retrieval + +A config mapping interface can be injected into any CDI aware bean: + +[source,java] +---- +@ApplicationScoped +class BusinessBean { + @Inject + Server server; + + public void businessMethod() { + String host = server.host(); + } +} +---- + +In non-CDI environments, use the API `io.smallrye.config.SmallRyeConfig#getConfigMapping` to retrieve the config +mapping instance: + +[source,java] +---- +SmallRyeConfig config = ConfigProvider.getConfig().unwrap(SmallRyeConfig.class); +Server server = config.getConfigMapping(Server.class); +---- + +[NOTE] +==== + +Config Mapping instances are cached. They are populated when the `Config` instance is initialized. + +==== + +For a Config Mapping to be valid, it needs to match every configuration property name contained in the `Config` under +the specified prefix set in `@ConfigMapping`. This prevents unknown configuration properties in the `Config`. This +behaviour can be disabled with the configuration `smallrye.config.mapping.validate-unknown=false`. + +== Nested Groups + +A nested mapping provides a way to map sub-groups of configuration properties. + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + String host(); + + int port(); + + Log log(); + + interface Log { + boolean enabled(); + + String suffix(); + + boolean rotate(); + } +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.log.enabled=true +server.log.suffix=.log +server.log.rotate=false +---- + +The method name of a mapping group acts as a sub-prefix in the property name. In this case the matching property to +`Server.Log#enabled` is `server.log.enabled`. + +== Overriding property names + +=== `@WithName` + +If a method name and a property name do not match, the `io.smallrye.config.WithName` annotation can +override the method name mapping and use the name supplied in the annotation. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @WithName("name") + String host(); + + int port(); +} +---- + +[source,properties] +---- +server.name=localhost +server.port=8080 +---- + +=== `@WithParentName` + +The `io.smallrye.config.WithParent` annotation allows configurations mappings to inherit its parent container name, +simplifying the configuration property name required to match the mapping. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @WithParentName + ServerHostAndPort hostAndPort(); + + @WithParentName + ServerInfo info(); +} + +interface ServerHostAndPort { + String host(); + + int port(); +} + +interface ServerInfo { + String name(); +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.name=konoha +---- + +Without the `@WithParentName` the method `ServerInfo#name` maps the configuration property `server.info.name`. With +`@WithParentName`, the `Server#info` mapping will inherit the parent name from `Server` and `ServerInfo#name` maps to +the property `server.name` instead. + +=== NamingStrategy + +Method names in camelCase map to kebab-case configuration property names by default. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + String theHost(); + + int thePort(); +} +---- + +[source,properties] +---- +server.the-host=localhost +server.the-port=8080 +---- + +The mapping strategy can be adjusted by setting `namingStrategy` value in the `@ConfigMapping` annotation. + +[source,java] +---- +@ConfigMapping(prefix = "server", namingStrategy = ConfigMapping.NamingStrategy.VERBATIM) +public interface ServerVerbatimNamingStrategy { + String theHost(); + + int thePort(); +} +---- + +[source,properties] +---- +server.theHost=localhost +server.thePort=8080 +---- + +The `@ConfigMapping` annotation support the following naming stategies: + +* KEBAB++_++CASE - The method name is derived by replacing case changes with a dash to map the configuration property. +* VERBATIM - The method name is used as is to map the configuration property. +* SNAKE++_++CASE - The method name is derived by replacing case changes with an underscore to map the configuration property. + +== Conversion + +A config mapping interface support automatic conversions of all types available for conversion in `Config`. + +[source,java] +---- +@ConfigMapping +public interface SomeTypes { + @WithName("int") + int intPrimitive(); + + @WithName("int") + Integer intWrapper(); + + @WithName("long") + long longPrimitive(); + + @WithName("long") + Long longWrapper(); + + @WithName("float") + float floatPrimitive(); + + @WithName("float") + Float floatWrapper(); + + @WithName("double") + double doublePrimitive(); + + @WithName("double") + Double doubleWrapper(); + + @WithName("char") + char charPrimitive(); + + @WithName("char") + Character charWrapper(); + + @WithName("boolean") + boolean booleanPrimitive(); + + @WithName("boolean") + Boolean booleanWrapper(); +} +---- + +[source,properties] +---- +int=9 +long=9999999999 +float=99.9 +double=99.99 +char=c +boolean=true +---- + +This is also valid for `Optional` and friends. + +[source,java] +---- +@ConfigMapping +public interface Optionals { + Optional server(); + + Optional optional(); + + @WithName("optional.int") + OptionalInt optionalInt(); + + interface Server { + String host(); + + int port(); + } +} +---- + +In this case, the mapping won’t fail if the configuraton properties values are missing. + +=== `@WithConverter` + +The `io.smallrye.config.WithConverter` annotation provides a way to set a specific `Converter` in a mapping. + +[source,java] +---- +@ConfigMapping +public interface Converters { + @WithConverter(FooBarConverter.class) + String foo(); +} + +public static class FooBarConverter implements Converter { + @Override + public String convert(final String value) { + return "bar"; + } +} +---- + +[source,properties] +---- +foo=foo +---- + +A call to `Converters.foo()` results in the value `bar`. + +== Collections + +A config mapping is also able to map the collections types `List` and `Set`: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface ServerCollections { + Set environments(); + + interface Environment { + String name(); + + List apps(); + + interface App { + String name(); + + List services(); + + Optional> databases(); + } + } +} +---- + +[source,properties] +---- +server.environments[0].name=dev +server.environments[0].apps[0].name=rest +server.environments[0].apps[0].services=bookstore,registration +server.environments[0].apps[0].databases=pg,h2 +server.environments[0].apps[1].name=batch +server.environments[0].apps[1].services=stock,warehouse +---- + +The `List` and `Set` mappings can use xref:config/indexed-properties.adoc[Indexed Properties] to map configuration values in +mapping groups. + +== Maps + +A config mapping is also able to map a `Map`: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + String host(); + + int port(); + + Map form(); + + Map> aliases(); + + interface Alias { + String name(); + } +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.form.login-page=login.html +server.form.error-page=error.html +server.form.landing-page=index.html +server.aliases.localhost[0].name=prod +server.aliases.localhost[1].name=127.0.0.1 +---- + +The configuration property name needs to specify an additional segment to act as the map key. The `server.form` matches +the `Server#form` `Map` and the segments `login-page`, `error-page` and `landing-page` represent the `Map` +keys. + +For collection types, the key requires the indexed format. The configuration name `server.aliases.localhost++[++0++]++.name` +maps to the `Map++<++String, List++<++Alias++>>++ aliases()` member, where `localhost` is the `Map` key, `++[++0++]++` is the index of the +`List++<++Alias++>++` where the `Alias` element will be stored, containing the name `prod`. + +== Defaults + +The `io.smallrye.config.WithDefault` annotation allows to set a default property value into a mapping (and prevent +errors if the configuration value is not available in any `ConfigSource`). + +[source,java] +---- +public interface Defaults { + @WithDefault("foo") + String foo(); + + @WithDefault("bar") + String bar(); +} +---- + +No configuration properties are required. The `Defaults#foo()` will return the value `foo` and `Defaults#bar()` will +return the value `bar`. + +== ToString + +If the config mapping contains a `toString` method declaration, the config mapping instance will include a proper +implementation of the `toString` method. + +[CAUTION] +==== + +Do not include a `toString` declaration in a config mapping with sensitive information + +==== + +== Validation + +A config mapping may combine annotations from https://beanvalidation.org/[Bean Validation] to validate configuration +properties values. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @Size(min = 2, max = 20) + String host(); + + @Max(10000) + int port(); +} +---- + +The application startup fails with a `io.smallrye.config.ConfigValidationException` if the configuration properties +values do not follow the contraints defined in `Server`. + +[NOTE] +==== + +For validation to work, the `smallrye-config-validator` dependency is required in the classpath. + +==== diff --git a/content/docs/smallrye-config/2/config/profiles.adoc b/content/docs/smallrye-config/2/config/profiles.adoc new file mode 100644 index 000000000..1fee0e314 --- /dev/null +++ b/content/docs/smallrye-config/2/config/profiles.adoc @@ -0,0 +1,222 @@ += Profiles +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Applications often require different configurations depending on the target environment. For example, the local +development environment may be different from the production environment. Profiles allow for multiple configurations +in the same file or separate files and select between them via a profile name. + +== Profile aware properties + +To be able to set properties with the same name, each property needs to be prefixed with a percentage sign `%` followed +by the profile name and a dot `.` in the syntax `%++{++profile-name}.config.name`: + +[NOTE] +==== + +[source,properties] +---- +http.port=8080 +%dev.http.port=8181 +---- + +==== + +To activate the profile `dev`, the configuration `smallrye.config.profile=dev` has to be set into any valid +`ConfigSource`. + +Any lookup to the `http.port` property name will first search by the active profile name `%dev.http.port` and then +fallback to `http.port` if no value is present. In this case a lookup to the property `http.port` with the `dev` profile +active, yields the value `8181`. + +== Profile aware files + +Properties for a specific profile may reside in a `microprofile-config-++{++profile}.properties` named file. The previous +example can be expressed as: + +[NOTE] +==== + +.microprofile-config.properties +[source,properties] +---- +http.port=8080 +---- + +.microprofile-config-dev.properties +[source,properties] +---- +http.port=8181 +---- + +==== + +In this style, the property names in the profile aware file do not need to be prefixed with the profile name. + +[NOTE] +==== + +Properties in the profile aware file have priority over profile aware properties defined in the main file. + +==== + +[WARNING] +==== + +Do not use Profile aware files to set `smallrye.config.profile`. This will not work because the +the profile is required in advance to load the profile aware files. + +==== + +== Priority + +Profile lookups are only valid if the `ConfigSource` has a higher ordinal than a lookup to the regular configuration +name. Consider: + +[NOTE] +==== + +.main.properties +[source,properties] +---- +config_ordinal=1000 +http.port=8080 +---- + +.profile.properties +[source,properties] +---- +config_ordinal=100 +%dev.http.port=8181 +---- + +==== + +Even with the profile `dev` active, the lookup value for `my.prop` is `1234`. This prevents lower ordinal sources to +set a profile property value that cannot be overridden unless the profile property is also overridden. + +== Multiple Profiles + +Multiple Profiles may be active at the same time. The configuration `smallrye.config.profile` accepts a comma-separated +list of profile names: `smallrye.config.profile=common,dev`. Both `common` and `dev` are separate profiles. + +When multiple profiles are active, the rules for profile configuration are the same. If two profiles define the same +configuration, then the last listed profile has priority. Consider: + +[NOTE] +==== + +[source,properties] +---- +smallrye.config.profile=common,dev + +my.prop=1234 +%common.my.prop=1234 +%dev.my.prop=5678 + +%common.commom.prop=common +%dev.dev.prop=dev +%test.test.prop=test +---- + +==== + +Then + +* `common.prop` value is `common` +* `dev.prop` value is `dev` +* `my.prop` value is `5678` +* `test.prop` does not have a value + +It is also possible to define multiple profile properties, with a comma-separated list of profile names: + +[NOTE] +==== + +[source,properties] +---- +%prod,dev.my.prop=1234 +---- + +==== + +The property name `common.prop` is active in both `dev` and `prod` profile. If the same property name exists in +multiple profile properties then, the property name with the most specific profile wins: + +[NOTE] +==== + +[source,properties] +---- +smallrye.config.profile=dev + +%prod,dev.my.prop=1234 + +%dev.my.prop=5678 +---- + +==== + +Then `my.prop` value is `5678`. + +== Parent Profile + +A Parent Profile adds multiple levels of hierarchy to the current profile. The configuration +`smallrye.config.profile.parent` also acccepts a comma-separated list of profile names. + +When the Parent Profile is active, if a property cannot be found in the current active Profile, the config lookup +fallbacks to the Parent Profile. Consider: + +[NOTE] +==== + +[source,properties] +---- +smallrye.config.profile=dev +smallrye.config.profile.parent=common + +my.prop=1234 +%common.my.prop=0 +%dev.my.prop=5678 + +%common.commom.prop=common +%dev.dev.prop=dev +%test.test.prop=test +---- + +==== + +Then + +* `common.prop` value is `common` +* `dev.prop` value is `dev` +* `my.prop` value is `0` +* `test.prop` does not have a value + +[WARNING] +==== + +Do not use Profile aware files to set smallrye.config.profile.parent++`++. This will not work because the +the profile is required in advance to load the profile aware files. + +==== + +=== Multi-level Hierarchy + +The Parent Profile also supports multiple levels of hierarchies: + +[NOTE] +==== + +[source,properties] +---- +smallrye.config.profile=child +%child.smallrye.config.profile.parent=parent +%parent.smallrye.config.profile.parent=grandparent +%grandparent.smallrye.config.profile.parent=greatgrandparent +%greatgrandparent.smallrye.config.profile.parent=end +---- + +==== + +Will load the following profiles in order: `child`, `parent`, `grandparent`, `greatgrandparent`, `end` diff --git a/content/docs/smallrye-config/2/config/secret-keys.adoc b/content/docs/smallrye-config/2/config/secret-keys.adoc new file mode 100644 index 000000000..6b96ba7b6 --- /dev/null +++ b/content/docs/smallrye-config/2/config/secret-keys.adoc @@ -0,0 +1,39 @@ += Secret Keys +:version-root: ../ +include::{version-root}_attributes.adoc[] + +When configuration properties contain passwords or other kinds of secrets, Smallrye Config can hide them to prevent +accidental exposure of such values. + +*This is no way a replacement for securing secrets.* Proper security mechanisms must still be used to secure +secrets. However, there is still the basic problem that passwords and secrets are generally encoded simply as strings. +Secret Keys provides a way to "lock" the configuration so that secrets do not appear unless explicitly enabled. + +To mark specific keys as secrets, register an instance of `io.smallrye.config.SecretKeysConfigSourceInterceptor` by using your interceptor factory as follows: + +[source,java] +---- +public class SecretKeysConfigInterceptorFactory implements ConfigSourceInterceptorFactory { + @Override + public ConfigSourceInterceptor getInterceptor(ConfigSourceInterceptorContext context) { + return new SecretKeysConfigSourceInterceptor(Set.of("secret")); + } +} +---- + +Register this factory so that it can be found at runtime by creating a `META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file that contains the fully qualified name of this factory class. + +From this point forward, every lookup to the configuration name `secret` will throw a `SecurityException`. + +Access the Secret Keys using the APIs `io.smallrye.config.SecretKeys#doUnlocked(java.lang.Runnable)` +and `io.smallrye.config.SecretKeys#doUnlocked(java.util.function.Supplier++<++T++>++)`. + +[source,java] +---- +String secretValue = SecretKeys.doUnlocked(() -> { + config.getValue("secret", String.class); +}); +---- + +Secret Keys are only unlocked in the context of `doUnlocked`. Once the execution completes, the secrets become locked +again. diff --git a/content/docs/smallrye-config/2/converters/custom.adoc b/content/docs/smallrye-config/2/converters/custom.adoc new file mode 100644 index 000000000..eb7d6d3c4 --- /dev/null +++ b/content/docs/smallrye-config/2/converters/custom.adoc @@ -0,0 +1,102 @@ += Custom `Converter` +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to create a custom `Converter` type as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config]. + +A custom `Converter` requires an implementation of `org.eclipse.microprofile.config.spi.Converter`. Each implementation +requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/org.eclipse.microprofile.config.spi.Converter` file. Consider: + +[source,java] +---- +package org.acme.config; + +public class CustomValue { + + private final int number; + + public CustomValue(int number) { + this.number = number; + } + + public int getNumber() { + return number; + } +} +---- + +The corresponding converter can look like: + +[source,java] +---- +package org.acme.config; + +import org.eclipse.microprofile.config.spi.Converter; + +public class CustomValueConverter implements Converter { + + @Override + public CustomValue convert(String value) { + return new CustomValue(Integer.parseInt(value)); + } +} +---- + +And registration in: + +++_++META-INF/services/org.eclipse.microprofile.config.spi.Converter + +[source,properties] +---- +org.acme.config.CustomValue +---- + +[WARNING] +==== + +The custom `Converter` class must be `public`, must have a `public` constructor with no arguments, and must not be +abstract. + +==== + +The `CustomValueConverter` converts the configuration value to the `CustomValue` type automatically. + +[source,java] +---- +Config config = ConfigProvider.getConfig(); +CustomValue value = config.getValue("custom.value", CustomValue.class); +---- + +The `javax.annotation.Priority` annotation overrides the `Converter` priority and change converters precedence to fine +tune the execution order. By default, if no `@Priority` is specified by the `Converter`, the converter is registered +with a priority of `100`. Consider: + +[source,java] +---- +package org.acme.config; + +import javax.annotation.Priority; +import org.eclipse.microprofile.config.spi.Converter; + +@Priority(150) +public class SecretConverter implements Converter { + + @Override + public CustomValue convert(String value) { + final int secretNumber; + if (value.startsFrom("OBF:")) { + secretNumber = Integer.parseInt(SecretDecoder.decode(value)); + } else { + secretNumber = Integer.parseInt(value); + } + + return new CustomValue(secretNumber); + } +} +---- + +Two `Converter`s, (`CustomValueConverter` and `SecretConverter`) can convert the same type `CustomValue`. Since +`SecretConverter` has a priority of `150`, it will be used instead of a `CustomValueConverter` which has a default +priority of `100` (no annotation). diff --git a/content/docs/smallrye-config/2/converters/json.adoc b/content/docs/smallrye-config/2/converters/json.adoc new file mode 100644 index 000000000..1bab43e72 --- /dev/null +++ b/content/docs/smallrye-config/2/converters/json.adoc @@ -0,0 +1,37 @@ += JSON Converter +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JSON Converter allows to convert a configuration value into a `JsonObject` or `JsonArray`. + +The following dependency is required in the classpath to use the JSON Converter: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-converter-json + {version} + +---- + +`JsonObject` or `JsonArray` are automatically converted from their `String` value. + +[source,java] +---- +@Inject +@ConfigProperty(name = "someJsonArray") +private JsonArray someValue; + +@Inject +@ConfigProperty(name = "someJsonObject") +private JsonObject someValue; +---- + +[source,properties] +---- +someJsonArray=["value1","value2","value3"] +someJsonObject={"foo": "bar", "count":100} +---- + +The value of the configuration properties must be valid JSON, or a `JsonParsingException` is thrown. diff --git a/content/docs/smallrye-config/2/extensions/config-events.adoc b/content/docs/smallrye-config/2/extensions/config-events.adoc new file mode 100644 index 000000000..cd43004ac --- /dev/null +++ b/content/docs/smallrye-config/2/extensions/config-events.adoc @@ -0,0 +1,158 @@ += Config Events +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Config Events extension allows you to fire change events on Config Sources. + +== Usage + +To use the Config Events, add the following to your Maven `pom.xml`: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-events + {version} + +---- + +== Events + +The CDI Event is a `ChangeEvent` and contains the following fields: + +* String key +* Optional++<++String++>++ oldValue +* String newValue +* Type type +* String fromSource + +The `ChangeEvent` can be of any of the following types: + +* NEW - When you create a new key and value (i.e. the key does not exist anywhere in any config source) +* UPDATE - When you update a value of an existing key (i.e. the key and value exist somewhere in a config source) +* REMOVE - When you remove the value from the source (and that changed the overall config) + +=== Observing Events + +You can listen to all or some of these events, filtering by `type` and/or `key` and/or `source`, example: + +[source,java] +---- +// Getting all config event +public void all(@Observes ChangeEvent changeEvent){ + log.log(Level.SEVERE, "ALL: Received a config change event: {0}", changeEvent); +} + +// Get only new values +public void newValue(@Observes @TypeFilter(Type.NEW) ChangeEvent changeEvent){ + log.log(Level.SEVERE, "NEW: Received a config change event: {0}", changeEvent); +} + +// Get only override values +public void overrideValue(@Observes @TypeFilter(Type.UPDATE) ChangeEvent changeEvent){ + log.log(Level.SEVERE, "UPDATE: Received a config change event: {0}", changeEvent); +} + +// Get only revert values +public void revertValue(@Observes @TypeFilter(Type.REMOVE) ChangeEvent changeEvent){ + log.log(Level.SEVERE, "REMOVE: Received a config change event: {0}", changeEvent); +} + +// Getting all config event when key is some.key +public void allForKey(@Observes @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "ALL for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config event when key is some.key for new events +public void newForKey(@Observes @TypeFilter(Type.NEW) @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "NEW for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config event when key is some.key for override events +public void overrideForKey(@Observes @TypeFilter(Type.UPDATE) @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "UPDATE for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config event when key is some.key for revert events +public void revertForKey(@Observes @TypeFilter(Type.REMOVE) @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "REMOVE for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config events for a certain source +public void allForSource(@Observes @SourceFilter("MemoryConfigSource") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "ALL for source [MemoryConfigSource]: Received a config change event: {0}", changeEvent); +} + +// Getting all config events for a certain source +public void allForSourceAndKey(@Observes @SourceFilter("MemoryConfigSource") @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "ALL for source [MemoryConfigSource] and for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config events for a certain source +public void overrideForSourceAndKey(@Observes @TypeFilter(Type.UPDATE) @SourceFilter("MemoryConfigSource") @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "UPDATE for source [MemoryConfigSource] and for key [some.key]: Received a config change event: {0}", changeEvent); +} +---- + +Note: You can filter by including the `@TypeFilter` and/or the `@KeyFilter` and/or the `@SourceFilter`. + +=== Pattern matching on field. + +You might want to listen for fields that match a certain regex. + +Example, listen to all keys that starts with `some.`: + +[source,java] +---- +@RegexFilter("^some\\..+") +public void allForPatternMatchOnKey(@Observes ChangeEvent changeEvent){ + log.log(Level.SEVERE, "Pattern match on key: Received a config change event: {0}", changeEvent); +} +---- + +By default, it will match on `key`, however you also listen on another field, for example, listen to all `oldValue` +that starts with `some.`: + +[source,java] +---- +@RegexFilter(onField = Field.oldValue, value = "^some\\..+") +public void allForPatternMatchOnOldValue(@Observes ChangeEvent changeEvent){ + log.log(Level.SEVERE, "Pattern match on old value: Received a config change event: {0}", changeEvent); +} +---- + +You can Match on the following fields of the `ChangeEvent` object: + +* key +* oldValue +* newValue +* fromSource + +== Implementing Events in a ConfigSource + +The `ChangeEventNotifier` allows you to detect changes and fire the appropriate events. + +To use it in your own source: + +* Get a snapshot of the properties before the change. +* Get a snapshot of the properties after the change. +* Call `detectChangesAndFire` method: + +Example: + +[source,java] +---- +Map before = new HashMap<>(configSource.getProperties()); +memoryConfigSource.getProperties().remove(key); +Map after = new HashMap<>(configSource.getProperties()); +ChangeEventNotifier.getInstance().detectChangesAndFire(before, after,configSource.getName()); +---- + +or if you know the change and do not need detection: + +[source,java] +---- +configSource.getProperties().remove(key); +ChangeEventNotifier.getInstance().fire(new ChangeEvent(Type.REMOVE,key,getOptionalOldValue(oldValue),null,configSource.getName())); +---- diff --git a/content/docs/smallrye-config/2/extensions/config-source-injection.adoc b/content/docs/smallrye-config/2/extensions/config-source-injection.adoc new file mode 100644 index 000000000..7d79eafd3 --- /dev/null +++ b/content/docs/smallrye-config/2/extensions/config-source-injection.adoc @@ -0,0 +1,44 @@ += Config Source Injection +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Config Source Injection extension allows you to use CDI injection to inject a ConfigSource by name in your CDI +aware beans, or by looking it up programatically in the CDI `BeanManager`. + +== Usage + +To use the Config Source Injection, add the following to your Maven `pom.xml`: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-injection + {version} + +---- + +=== Injecting Sources + +You can inject a `ConfigSource` by referencing it by name: + +[source,java] +---- +@Inject +@Name("MemoryConfigSource") +private ConfigSource memoryConfigSource; + +@Inject +@Name("SysPropConfigSource") +private ConfigSource systemPropertiesConfigSource; +---- + +You can also get a Map of all config sources. The map key holds the `ConfigSource` name and the map value the +`ConfigSource`: + +[source,java] +---- +@Inject +@ConfigSourceMap +private Map configSourceMap; +---- diff --git a/content/docs/smallrye-config/2/extensions/fallback.adoc b/content/docs/smallrye-config/2/extensions/fallback.adoc new file mode 100644 index 000000000..cb0cde97a --- /dev/null +++ b/content/docs/smallrye-config/2/extensions/fallback.adoc @@ -0,0 +1,37 @@ += Fallback +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.FallbackConfigSourceInterceptor` allows to fall back to another configuration name, by +providing a transformation function or just a simple key value map. + +When a configuration name does not exist, there might be another configuration name that the config can +fall back to provide the same expected behavior. The fallback function is only applied if the original resolved +configuration name is not found and resolved to the fallback name. + +[source,java] +---- +package org.acme; + +import java.util.function.Function; +import io.smallrye.config.FallbackConfigSourceInterceptor; + +public class MicroProfileConfigFallbackInterceptor extends FallbackConfigSourceInterceptor { + public MicroProfileConfigFallbackInterceptor(final Function mapping) { + super(name -> name.startsWith("microprofile.config") ? + name.replaceAll("microprofile\\.config", "smallrye.config") : + name); + } +} +---- + +And registration in: +_META-INF/services/io.smallrye.config.ConfigSourceInterceptor_ + +[source,properties] +---- +io.smallrye.config.MicroProfileConfigFallbackInterceptor +---- + +The `MicroProfileConfigFallbackInterceptor` can fallback configuration names in the `microprofile.config` namespace +to the `smallrye.config` namespace. diff --git a/content/docs/smallrye-config/2/extensions/interceptors.adoc b/content/docs/smallrye-config/2/extensions/interceptors.adoc new file mode 100644 index 000000000..78063959f --- /dev/null +++ b/content/docs/smallrye-config/2/extensions/interceptors.adoc @@ -0,0 +1,82 @@ += Interceptors +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config provides an interceptor chain that hooks into the configuration values resolution. This is useful to +implement features like xref:config/profiles.adoc[Profiles] , xref:config/expressions.adoc[Property Expressions], or just +logging to find out where the config value was loaded from. + +An interceptor can be created by implementing the +https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/ConfigSourceInterceptor.java[ConfigSourceInterceptor] +interface. + +An interceptor requires an implementation of `io.smallrye.config.ConfigSourceInterceptor`. Each implementation requires +registration via the `ServiceLoader` mechanism in the `META-INF/services/io.smallrye.config.ConfigSourceInterceptor` +file. Alternatively, interceptors may be registered via the Programmatic API in +`SmallRyeConfigBuilder#withInterceptors`. + +The `io.smallrye.config.ConfigSourceInterceptor` is able to intercept the resolution of a configuration name with the +method `ConfigValue getValue(ConfigSourceInterceptorContext context, String name)`. The `ConfigSourceInterceptorContext` +is used to proceed with the interceptor chain. The chain can be short-circuited by returning an instance of +`io.smallrye.config.ConfigValue`. The `ConfigValue` objects hold information about the key name, value, config source +origin and ordinal. + +[NOTE] +==== + +The interceptor chain is applied before any conversion is performed on the configuration value. + +==== + +[source,java] +---- +package org.acme.config; + +import javax.annotation.Priority; + +import io.smallrye.config.ConfigSourceInterceptor; +import io.smallrye.config.ConfigLogging; + +@Priority(Priorities.LIBRARY + 200) +public class LoggingConfigSourceInterceptor implements ConfigSourceInterceptor { + private static final long serialVersionUID = 367246512037404779L; + + @Override + public ConfigValue getValue(final ConfigSourceInterceptorContext context, final String name) { + ConfigValue configValue = doLocked(() -> context.proceed(name)); + if (configValue != null) { + ConfigLogging.log.lookup(configValue.getName(), configValue.getLocation(), configValue.getValue()); + } else { + ConfigLogging.log.notFound(name); + } + return configValue; + } +} +---- + +And registration in: +_META-INF/services/io.smallrye.config.ConfigSourceInterceptor_ + +[source,properties] +---- +org.acme.config.LoggingConfigSourceInterceptor +---- + +The `LoggingConfigSourceInterceptor` logs looks up configuration names in the provided logging platform. The log +information includes config name and value, the config source origin and location if exists. + +Interceptors may also be created with an implementation of `io.smallrye.config.ConfigSourceInterceptorFactory`. Each +implementation requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file. Alternatively, interceptors factories may +be registered via the Programmatic API in `SmallRyeConfigBuilder#withInterceptorFactories`. + +The `ConfigSourceInterceptorFactory` can initialize an interceptor with access to the current chain +(so it can be used to configure the interceptor and retrieve configuration values) and set the priority. + +A `ConfigSourceInterceptor` implementation class can specify a priority by way of the standard +`javax.annotation.Priority` annotation. If no priority is explicitly assigned, the default priority value of +`io.smallrye.config.Priorities.APPLICATION` is assumed. If multiple interceptors are registered with the same priority, +then their execution order may be non-deterministic. + +A collection of built-in priority constants can be found in `io.smallrye.config.Priorities`. It is recommended to +use `io.smallrye.config.Priorities.APPLICATION` as a baseline for user defined interceptors. diff --git a/content/docs/smallrye-config/2/extensions/logging.adoc b/content/docs/smallrye-config/2/extensions/logging.adoc new file mode 100644 index 000000000..3a42e6573 --- /dev/null +++ b/content/docs/smallrye-config/2/extensions/logging.adoc @@ -0,0 +1,15 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== LoggingConfigSourceInterceptor + +The `io.smallrye.config.LoggingConfigSourceInterceptor` logs lookups of configuration names in the provided logging +platform. The log information includes config name and value, the config source origin and location if it exists. + +The log is done as `debug`, so the debug threshold must be set to `debug` for the `io.smallrye.config` appender to +display the logs. + +This requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file of the +`io.smallrye.config.LoggingConfigSourceInterceptor` interceptor. diff --git a/content/docs/smallrye-config/2/extensions/relocate.adoc b/content/docs/smallrye-config/2/extensions/relocate.adoc new file mode 100644 index 000000000..726c07fdb --- /dev/null +++ b/content/docs/smallrye-config/2/extensions/relocate.adoc @@ -0,0 +1,37 @@ += Relocate +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.RelocateConfigSourceInterceptor` allows to relocate a configuration name to another name, by +providing a transformation function or just a simple key value map. + +When a configuration key is renamed, lookup needs to happen on the new name, but also on the old name if the +config sources are not updated yet. The relocation function gives priority to the new resolved configuration name or +resolves to the old name if no value is found under the new relocation name. + +[source,java] +---- +package org.acme; + +import java.util.function.Function; +import io.smallrye.config.RelocateConfigSourceInterceptor; + +public class MicroProfileConfigRelocateInterceptor extends RelocateConfigSourceInterceptor { + public MicroProfileConfigRelocateInterceptor(final Function mapping) { + super(name -> name.startsWith("microprofile.config") ? + name.replaceAll("microprofile\\.config", "smallrye.config") : + name); + } +} +---- + +And registration in: +_META-INF/services/io.smallrye.config.ConfigSourceInterceptor_ + +[source,properties] +---- +io.smallrye.config.MicroProfileConfigRelocateInterceptor +---- + +The `MicroProfileConfigRelocateInterceptor` can relocate configuration names in the `microprofile.config` namespace +to the `smallrye.config` namespace. diff --git a/content/docs/smallrye-config/2/index.adoc b/content/docs/smallrye-config/2/index.adoc new file mode 100644 index 000000000..8f38127ab --- /dev/null +++ b/content/docs/smallrye-config/2/index.adoc @@ -0,0 +1,82 @@ += SmallRye Config +include::_attributes.adoc[] + +*SmallRye Config* is a library that provides a way to configure applications, frameworks and containers. It is used +in applications servers like https://wildfly.org/[WildFly] and https://openliberty.io[Open Liberty], or frameworks +like https://quarkus.io[Quarkus]. It can also be used completely standalone in any Java application, which makes it a +very flexible library. + +It follows the https://github.com/eclipse/microprofile-config/[MicroProfile Config] specification to provide +the initial config foundations and expands with it own concepts to cover a wide range of use cases observed in the +configuration space. + +== Use SmallRye Config in a Java application + +Add the _dependency_ to your project using your preferred build tool: + +[.tabs] +==== + +Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config + {version} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.config:smallrye-config:{versions}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.config:smallrye-config:{versions}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.config:smallrye-config:{versions} +---- + +-- + +==== + +And retrieve a `SmallRyeConfig` instance with: + +[source,java] +---- +SmallRyeConfig config = ConfigProvider.getConfig().unwrap(SmallRyeConfig.class); +---- + +[NOTE] +==== + +`SmallRyeConfig` is the entry point to all the config capabilities provided by SmallRye Config. + +==== diff --git a/content/docs/smallrye-config/3/_attributes.adoc b/content/docs/smallrye-config/3/_attributes.adoc new file mode 100644 index 000000000..1a04bab4a --- /dev/null +++ b/content/docs/smallrye-config/3/_attributes.adoc @@ -0,0 +1,21 @@ +:project-version: 3.18.3 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Config +:javadoc-version: latest +:version: {project-version} +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.18.3 +:relfileprefix: /docs/smallrye-config/3/ +:imagesdir: /docs/smallrye-config/3 +:docs-project: smallrye-config +:docs-version: 3 +:docs-ref: 3.18.3 diff --git a/content/docs/smallrye-config/3/_nav.yml b/content/docs/smallrye-config/3/_nav.yml new file mode 100644 index 000000000..8f3c48833 --- /dev/null +++ b/content/docs/smallrye-config/3/_nav.yml @@ -0,0 +1,66 @@ +title: SmallRye Config +nav: +- title: Home + page: index +- title: Config + items: + - title: Getting Started + page: config/getting-started + - title: Expressions + page: config/expressions + - title: Profiles + page: config/profiles + - title: Environment Variables + page: config/environment-variables + - title: Indexed Properties + page: config/indexed-properties + - title: ConfigValue + page: config/config-value + - title: Mappings + page: config/mappings + - title: Map Support + page: config/map-support + - title: Secret Keys + page: config/secret-keys + - title: Customizer + page: config/customizer + - title: Configuration Reference + page: config/configuration +- title: Config Sources + items: + - title: Custom + page: config-sources/custom + - title: Factories + page: config-sources/factories + - title: Locations + page: config-sources/locations + - title: YAML + page: config-sources/yaml + - title: JSON + page: config-sources/json + - title: FileSystem + page: config-sources/filesystem + - title: ZooKeeper + page: config-sources/zookeeper + - title: HOCON + page: config-sources/hocon + - title: KeyStore + page: config-sources/keystore +- title: Converters + items: + - title: Custom + page: converters/custom +- title: Extensions + items: + - title: Interceptors + page: extensions/interceptors + - title: Fallback + page: extensions/fallback + - title: Relocate + page: extensions/relocate + - title: Logging + page: extensions/logging + - title: Events + page: extensions/config-events + - title: Config Source Injection + page: extensions/config-source-injection diff --git a/content/docs/smallrye-config/3/assets/smallrye-icon.svg b/content/docs/smallrye-config/3/assets/smallrye-icon.svg new file mode 100644 index 000000000..c10b011e0 --- /dev/null +++ b/content/docs/smallrye-config/3/assets/smallrye-icon.svg @@ -0,0 +1,21 @@ + + + + + SmallRye Icon + + + + + + + + + diff --git a/content/docs/smallrye-config/3/config-sources/custom.adoc b/content/docs/smallrye-config/3/config-sources/custom.adoc new file mode 100644 index 000000000..bd9cc1444 --- /dev/null +++ b/content/docs/smallrye-config/3/config-sources/custom.adoc @@ -0,0 +1,166 @@ += Config Sources +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Custom `ConfigSource` + +It’s possible to create a custom ConfigSource as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config]. + +With a Custom `ConfigSource` it is possible to read additional configuration values and add them to the `Config` +instance in a defined ordinal. This allows overriding values from other sources or falling back to other values. + +A custom `ConfigSource` requires an implementation of `org.eclipse.microprofile.config.spi.ConfigSource` or +`org.eclipse.microprofile.config.spi.ConfigSourceProvider`. Each implementation requires registration via the +`ServiceLoader` mechanism, either in `META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource` or +`META-INF/services/org.eclipse.microprofile.config.spi.ConfigSourceProvider` files. + +Consider a simple in-memory ConfigSource: + +[source,java] +---- +package org.acme.config; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +public class InMemoryConfigSource implements ConfigSource { + private static final Map configuration = new HashMap<>(); + + static { + configuration.put("my.prop", "1234"); + } + + @Override + public int getOrdinal() { + return 350; + } + + @Override + public Set getPropertyNames() { + return configuration.keySet(); + } + + @Override + public String getValue(final String propertyName) { + return configuration.get(propertyName); + } + + @Override + public String getName() { + return InMemoryConfigSource.class.getSimpleName(); + } +} +---- + +And registration in: + +.META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource +[source,properties] +---- +org.acme.config.InMemoryConfigSource +---- + +The `InMemoryConfigSource` will be ordered between the `System properties` config source, and the +`Environment variables` config source due to the `350` ordinal. + +In this case, `my.prop` from `InMemoryConfigSource` will only be used if the `Config` instance is unable to find a +value in `System Properties`, ignoring all the other lower ordinal config sources. + +== `ConfigSourceFactory` + +Another way to create a `ConfigSource` is via the SmallRye Config `io.smallrye.config.ConfigSourceFactory` API. The +difference between the SmallRye Config factory and the standard way to create a `ConfigSource` as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config], is the factory ability to provide a context +with access to the current configuration. + +Each implementation of `io.smallrye.config.ConfigSourceFactory` requires registration via the `ServiceLoader` mechanism +in the `META-INF/services/io.smallrye.config.ConfigSourceFactory` file. + +[source,java] +---- +package org.acme.config; + +import java.util.Collections; +import java.util.OptionalInt; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import io.smallrye.config.ConfigSourceContext; +import io.smallrye.config.ConfigSourceFactory; +import io.smallrye.config.ConfigValue; +import io.smallrye.config.PropertiesConfigSource; + +public class URLConfigSourceFactory implements ConfigSourceFactory { + @Override + public Iterable getConfigSources(final ConfigSourceContext context) { + final ConfigValue value = context.getValue("config.url"); + if (value == null || value.getValue() == null) { + return Collections.emptyList(); + } + + try { + return Collections.singletonList(new PropertiesConfigSource(new URL(value.getValue()))); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public OptionalInt getPriority() { + return OptionalInt.of(290); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceFactory +[source,properties] +---- +org.acme.config.URLConfigSourceFactory +---- + +By implementing `io.smallrye.config.ConfigSourceFactory`, a list of `ConfigSource` may be provided via the +`Iterable++<++ConfigSource++>++ getConfigSources(ConfigSourceContext context)` method. The `ConfigSourceFactory` may also +assign a priority by overriding the method `OptionalInt getPriority()`. The priority value is used to sort multiple +`io.smallrye.config.ConfigSourceFactory` (if found). Higher the value, higher the priority. + +[WARNING] +==== + +The `io.smallrye.config.ConfigSourceFactory` priority does not affect the `ConfigSource` ordinal. These are sorted +independently. + +==== + +When the Factory is initializing, the provided `ConfigSourceContext` may call the method +`ConfigValue getValue(String name)`. This method looks up configuration names in all `ConfigSource`s that were already +initialized by the `Config` instance, including sources with lower ordinals than the ones defined in the +`ConfigSourceFactory`. This means that a `Config` instance is initialized in two steps: first all `ConfigSource` and +`ConfigSourceProvider` and then the `ConfigSourceFactory`. Only configuation values found in the first step are avaible +to the ++`++ConfigSourceFactory. + +The `ConfigSource` list provided by a `ConfigSourceFactory` is not taken into consideration to +configure other sources produced by a lower priority `ConfigSourceFactory`. + +== Override `ConfigSource` ordinal + +The special configuration property name `config++_++ordinal` can be set in any `ConfigSource` to override its default +ordinal. + +For instance, setting the system property `-Dconfig++_++ordinal=200` will override the ordinal for the `System properties` +config source and move it to be looked up after the `Environment Variables` config source. + +== Properties + +The https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/PropertiesConfigSource.java[PropertiesConfigSource] +creates a `ConfigSource` from Java `Properties`, `Map++<++String, String++>++` objects or a `.properties` file (referenced by +its URL). + +== `.env` + +The https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/DotEnvConfigSourceProvider.java[DotEnvConfigSourceProvider] create a `ConfigSource` from a `.env` file. diff --git a/content/docs/smallrye-config/3/config-sources/factories.adoc b/content/docs/smallrye-config/3/config-sources/factories.adoc new file mode 100644 index 000000000..3d5155d44 --- /dev/null +++ b/content/docs/smallrye-config/3/config-sources/factories.adoc @@ -0,0 +1,109 @@ += Config Source Factory +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Another way to create a `ConfigSource` is via the `ConfigSourceFactory`. The difference between the SmallRye Config +Factory and the standard way to make a `ConfigSource` as specified in MicroProfile Config is the Factory's ability to +provide a context with access to the available configuration. With the `ConfigSourceFactory` it is possible to +bootstrap a `ConfigSource` that configures itself with previously initialized `ConfigSource's`. + +By implementing +https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/ConfigSourceFactory.java[ConfigSourceFactory], +a list of `ConfigSource's` may be provided via the `Iterable++<++ConfigSource++>++ getConfigSources(ConfigSourceContext context)` method. The `ConfigSourceFactory` may also +assign a priority by overriding the default method `OptionalInt getPriority()`. The priority only sorts the factories +during initialization. After initialization, the provided `ConfigSources` will use their own ordinal and sorted with +all `ConfigSources` available in the `Config` instance. + +When the Factory initializes, the provided `ConfigSourceContext` may call the method +`ConfigValue getValue(String name)`. This method looks up configuration names in all `ConfigSource's` already +initialized by the `Config` instance, including sources with lower ordinals than the ones defined in the +`ConfigSourceFactory`. The `ConfigSourceFactory` does not consider `ConfigSources's` provided by other +`ConfigSourceFactory's` (the priority does not matter). + +Registration of a `ConfigSourceFactory` is done via the `ServiceLoader` mechanism by providing the +implementation classes in a `META-INF/services/io.smallrye.config.ConfigSourceFactory` file. Alternatively, factories +may be registered via the Programmatic API in `SmallRyeConfigBuilder#withSources`. + +A `ConfigSourceFactory` requires an implementation of `io.smallrye.config.ConfigSourceFactory`. Each implementation +requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceFactory` file. Alternatively, interceptors may be registered via the +Programmatic API in `SmallRyeConfigBuilder#withSources`. + +[source,java] +---- +package org.acme.config + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.Collections; +import java.util.List; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import io.smallrye.config._private.ConfigMessages; +import io.smallrye.config.PropertiesConfigSource; +import io.smallrye.config.ConfigSourceContext; +import io.smallrye.config.ConfigSourceFactory; +import io.smallrye.config.ConfigValue; + +public class FileSystemConfigSourceFactory implements ConfigSourceFactory { + @Override + public Iterable getConfigSources(final ConfigSourceContext context) { + final ConfigValue value = context.getValue("org.acme.config.file.locations"); + if (value == null || value.getValue() == null) { + return Collections.emptyList(); + } + + try { + return List.of(new PropertiesConfigSource(toURL(value.getValue()), 250)); + } catch (IOException e) { + return Collections.emptyList(); + } + } + + private URL toURL(final String value) { + try { + return new URI(value).toURL(); + } catch (URISyntaxException | MalformedURLException e) { + throw ConfigMessages.msg.uriSyntaxInvalid(e, value); + } + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceFactory +[source,properties] +---- +org.acme.config.FileSystemConfigSourceFactory +---- + +The `FileSystemConfigSourceFactory` look ups the configuration value for `org.acme.config.file.locations`, and uses it +to set up an additional `ConfigSource`. + +Alternatively, a `ConfigurableConfigSourceFactory` accepts a `ConfigMapping` interface to configure the `ConfigSource`: + +[source,java] +---- +@ConfigMapping(prefix = "org.acme.config.file") +interface FileSystemConfig { + List locations(); +} +---- + +[source,java] +---- +public class FileSystemConfigurableConfigSourceFactory implements ConfigurableConfigSourceFactory { + @Override + public Iterable getConfigSources(ConfigSourceContext context, FileSystemConfig config) { + + } +} +---- + +With a `ConfigurableConfigSourceFactory` it is not required to look up the configuration values with +`ConfigSourceContext`. The values are automatically mapped with the defined `@ConfigMapping`. diff --git a/content/docs/smallrye-config/3/config-sources/filesystem.adoc b/content/docs/smallrye-config/3/config-sources/filesystem.adoc new file mode 100644 index 000000000..66e16db05 --- /dev/null +++ b/content/docs/smallrye-config/3/config-sources/filesystem.adoc @@ -0,0 +1,51 @@ += FileSystem Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source loads configuration values for each file found in a directory. Each file corresponds to a single +property, where the file name is the configuration property name and the file content the configuration value. + +For instance, if a directory structure looks like: + +.... +foo/ +|__num.max +|__num.size +.... + +The `FileSystem` Config Source will provide 2 properties: + +* num.max +* num.size + +[WARNING] +==== + +Nested directories are not supported. + +==== + +This Config Source can be used to read configuration from +https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap[Kubernetes ConfigMap]. Check the +https://github.com/smallrye/smallrye-config/blob/main/examples/configmap/README.adoc[Kubernetes ConfigMap ConfigSource Example]. + +The same mapping rules as defined for environment variables are applied, so the `FileSystem` Config Source will search +for a given property name `num.max`: + +* Exact match (`num.max`) +* Replace each character that is neither alphanumeric nor ++_++ with ++_++ (`num++_++max`) +* Replace each character that is neither alphanumeric nor ++_++ with ++_++; then convert the name to upper case (`NUM++_++MAX`) + +The following dependency is required in the classpath to use the `FileSystem` Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-file-system + {version} + +---- + +The configuration property `smallrye.config.source.file.locations` sets the directory paths to look up the files. It +accepts multiple locations separated by a comma and each must represent a valid URI to a directory. diff --git a/content/docs/smallrye-config/3/config-sources/hocon.adoc b/content/docs/smallrye-config/3/config-sources/hocon.adoc new file mode 100644 index 000000000..23b29b437 --- /dev/null +++ b/content/docs/smallrye-config/3/config-sources/hocon.adoc @@ -0,0 +1,46 @@ += HOCON Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use the https://github.com/lightbend/config/blob/main/HOCON.md[HOCON] file format to +load configuration values. The HOCON Config Source loads the +configuration from the file `META-INF/microprofile-config.conf`. It has a lower ordinal (`50`) than the +`microprofile-config.properties`. + +The following dependency is required in the classpath to use the HOCON Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-hocon + {version} + +---- + +Expressions defined as `$++{++value}` (unquoted) are resolved internally by the HOCON Config Source as described in the +https://github.com/lightbend/config/blob/main/HOCON.md#substitutions[HOCON Substitutions] documentation. Quoted +Expressions defined as `"$++{++value}"` are resolved by xref:config/expressions.adoc[SmallRye Config Property Expressions]. + +Consider: + +*hocon.conf* + +[source,conf] +---- +{ + foo: "bar", + hocon: ${foo}, + config: "${foo}" +} +---- + +*application.properties* + +[source,properties] +---- +config_ordinal=1000 +foo=baz +---- + +The value of `hocon` is `bar` and the value of `config` is `baz` (if the properties source has a higher ordinal). diff --git a/content/docs/smallrye-config/3/config-sources/json.adoc b/content/docs/smallrye-config/3/config-sources/json.adoc new file mode 100644 index 000000000..54fe1a808 --- /dev/null +++ b/content/docs/smallrye-config/3/config-sources/json.adoc @@ -0,0 +1,6 @@ += JSON Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The xref:config-sources/yaml.adoc[YAML Config Source] also accepts the JSON format as its contents. The configuration file +`META-INF/microprofile-config.yaml`, still requires to use the `yaml` extension. diff --git a/content/docs/smallrye-config/3/config-sources/keystore.adoc b/content/docs/smallrye-config/3/config-sources/keystore.adoc new file mode 100644 index 000000000..19c2dac49 --- /dev/null +++ b/content/docs/smallrye-config/3/config-sources/keystore.adoc @@ -0,0 +1,67 @@ += KeyStore Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use a Java `KeyStore` to load configuration values. It uses an ordinal of `100`. + +The following dependency is required in the classpath to use the KeyStore Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-keystore + {version} + +---- + +== Create a KeyStore + +The following command creates a simple KeyStore + +[source,bash] +---- +keytool -importpass -alias my.secret -keystore keystore -storepass secret -storetype PKCS12 -v +---- + +The `-alias my.secret` stores the configuration property name `my.secret` in the KeyStore. The command will +interactively ask for the value to be stored in the KeyStore. + +== Read the KeyStore + +The KeyStore Config Source supports reading multiple keystore files: + +[source,properties] +---- +smallrye.config.source.keystore.one.path=keystore-one +smallrye.config.source.keystore.one.password=password + +smallrye.config.source.keystore.two.path=keystore-two +smallrye.config.source.keystore.two.password=password +---- + +The names are arbitrary and can be any name. The name `one` and `two` are used to distinguish both KeyStores. + +If a stored configuration property requires a xref:config/secret-keys.adoc[Secret Handler] to decode a value, set +the handler name with `smallrye.config.source.keystore."name".handler`. + +== Configuration + +[width="100%",cols="95%,2%,3%",options="header",] +|=== +|Configuration Property |Type |Default +|`smallrye.config.source.keystore."name".path` + +The KeyStore path. |String | +|`smallrye.config.source.keystore."name".password` + +The KeyStore password. |String | +|`smallrye.config.source.keystore."name".type` + +The KeyStore type. |String |`PKCS12` +|`smallrye.config.source.keystore."name".handler` + +An Optional secret keys handler. |String | +|`smallrye.config.source.keystore."name".aliases."key".name` + +An Optional aliases key name. |String | +|`smallrye.config.source.keystore."name".aliases."key".password` + +An Optional aliases key password. |String | +|`smallrye.config.source.keystore."name".aliases."key".handler` + +An Optional aliases key secret keys handler. |String | +|=== diff --git a/content/docs/smallrye-config/3/config-sources/locations.adoc b/content/docs/smallrye-config/3/config-sources/locations.adoc new file mode 100644 index 000000000..84bdc6c76 --- /dev/null +++ b/content/docs/smallrye-config/3/config-sources/locations.adoc @@ -0,0 +1,82 @@ += Locations +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Additionally, to the default config locations specified by the +https://github.com/eclipse/microprofile-config/[MicroProfile Config] specification, SmallRye Config provides a way to +scan additional locations for configuration properties files. + +The `smallrye.config.locations` configuration property accepts multiple locations separated by a comma `,` and each +ust represent a valid `URI`. The supported `URI` schemes are: + +* file or directory (`file:`) +* classpath resource +* jar resource (`jar:`) +* http resource (`http:`) + +Each `URI` scheme loads all discovered resources in a `ConfigSource`. All loaded sources use the same ordinal of the +source that found the `smallrye.config.locations` configuration property. For instance, if `smallrye.config.locations` +is set as a system property, then all loaded sources have their ordinals set to `400` (system properties use `400` as +their ordinal). The ordinal may be overridden directly in the resource by setting the `config++_++ordinal` property. +Sources are sorted first by their ordinal, then by location order, and finally by loading order. + +If a profile is active, and the `URI` represents a single resource (for instance a file), then resources that match +the active profile are also loaded. The profile resource name must follow the pattern: `++{++location}-++{++profile}`. A +profile resource is only loaded if the unprofiled resource is also available in the same location. This is to keep a +consistent loading order and pair all the resources together. + +Profile resources are not taken into account if the location is a directory since there is no reliable way to discover +which file is the main resource. Properties that use the profile prefix syntax `%profile.` will work as expected. + +_All properties files from a directory_ + +[source,properties] +---- +# loads all files from a relative path +smallrye.config.locations=./src/main/resources/ + +# loads all files from an absolute path +smallrye.config.locations=/user/local/config +---- + +For relative paths, the JVM `user.dir` property defines the current directory. + +_A specific file_ + +../src/main/resources/additional.properties + +[source,properties] +---- +smallrye.config.locations=./src/main/resources/additional.properties +---- + +If a profile `dev` is active, and an `additional-dev.properties` file exists, this will also be loaded. + +_All `additional.properties` files from the classpath_ + +.additional.properties +[source,properties] +---- +smallrye.config.locations=additional.properties +---- + +If a profile `prod` is active, and an `additional-prod.properties` resources exists next to the `additional.properties` +resource, this will also be loaded. + +_The `resources.properties` file from a specific jar_ + +.jar:file:///user/local/app/lib/resources-.jar!/resources.properties +[source,properties] +---- +smallrye.config.locations=jar:file:///user/local/app/lib/resources-.jar!/resources.properties +---- + +If a profile `test` is active, and an `additional-test.properties` resource exists, this will also be loaded. + +_The `config.properties` file from a web server_ + +.http://localhost:8080/config/config.properties +[source,properties] +---- +smallrye.config.locations=http://localhost:8080/config/config.properties +---- diff --git a/content/docs/smallrye-config/3/config-sources/yaml.adoc b/content/docs/smallrye-config/3/config-sources/yaml.adoc new file mode 100644 index 000000000..0c8bb5e3f --- /dev/null +++ b/content/docs/smallrye-config/3/config-sources/yaml.adoc @@ -0,0 +1,21 @@ += YAML Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use a `yaml` file to load configuration values. The YAML Config Source loads the configuration from the following files: + +[arabic] +. (`265`) `application.yaml++|++yml` in `config` folder, located in the current working directory +. (`255`) `application.yaml++|++yml` in the classpath +. (`110`) MicroProfile Config configuration file `META-INF/microprofile-config.yaml++|++yml` in the classpath + +The following dependency is required in the classpath to use the YAML Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-yaml + {version} + +---- diff --git a/content/docs/smallrye-config/3/config-sources/zookeeper.adoc b/content/docs/smallrye-config/3/config-sources/zookeeper.adoc new file mode 100644 index 000000000..37f27785d --- /dev/null +++ b/content/docs/smallrye-config/3/config-sources/zookeeper.adoc @@ -0,0 +1,30 @@ += ZooKeeper Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows using https://zookeeper.apache.org/index.html[Apache ZooKeeper] to load configuration +values. + +The following dependency is required in the classpath to use the ZooKeeper Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-zookeeper + {version} + +---- + +It also requires to set up additional configuration properties to identify the ZooKeeper instance: + +[source,properties] +---- +io.smallrye.configsource.zookeeper.url=localhost:2181 +io.smallrye.configsource.zookeeper.applicationId=applicationId +---- + +The ZooKeeper Config Source will look for configuration values in a ZooKeeper instance running in the url set in +`io.smallrye.configsource.zookeeper.url` and in the znodes available in `/applicationId/`. + +This Config Source has an ordinal of `150`. diff --git a/content/docs/smallrye-config/3/config/config-value.adoc b/content/docs/smallrye-config/3/config/config-value.adoc new file mode 100644 index 000000000..63d58d715 --- /dev/null +++ b/content/docs/smallrye-config/3/config/config-value.adoc @@ -0,0 +1,8 @@ += Config Value +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.ConfigValue` is a metadata object that holds additional information after the lookup of a +configuration property. It is able to hold information of configuration property name, value, profile, the +`ConfigSource` from where the configuration was loaded, the ordinal of the `ConfigSource` and a line number from where +the configuration was loaded if exists. diff --git a/content/docs/smallrye-config/3/config/configuration.adoc b/content/docs/smallrye-config/3/config/configuration.adoc new file mode 100644 index 000000000..5cb6ba5f5 --- /dev/null +++ b/content/docs/smallrye-config/3/config/configuration.adoc @@ -0,0 +1,20 @@ += Configuration Reference +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[width="100%",cols="92%,4%,4%",options="header",] +|=== +|Configuration Property |Type |Default +|`smallrye.config.profile` + +The main xref:config/profiles.adoc[Profile] to activate. |String++[]++ | +|`smallrye.config.profile.parent` + +The parent xref:config/profiles.adoc#parent-profile[Profile] to activate. |String | +|`smallrye.config.locations` + +xref:config-sources/locations.adoc[Additional config locations] to be loaded with the Config. The configuration supports multiple locations separated by a comma and each must represent a valid `java.net.URI`. |URI++[]++ | +|`smallrye.config.mapping.validate-unknown` + +xref:config/mappings.adoc#retrieval[Validates] that a `@ConfigMapping` maps every available configuration name contained in the mapping prefix. |boolean |false +|`smallrye.config.secret-handlers` + +The names of the secret handlers to be loaded. A value of `all` loads all available secret handlers and a value of `none` skips the load. |String++[]++ |all +|`smallrye.config.log.values` + +Enable logging of configuration values lookup in DEBUG log level. |boolean |false +|=== diff --git a/content/docs/smallrye-config/3/config/customizer.adoc b/content/docs/smallrye-config/3/config/customizer.adoc new file mode 100644 index 000000000..e841a645b --- /dev/null +++ b/content/docs/smallrye-config/3/config/customizer.adoc @@ -0,0 +1,49 @@ += Customizer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +A `SmallRyeConfigBuilderCustomizer` allows to customize a `SmallRyeConfigBuilder`, used to create the `SmallRyeConfig` +instance. + +Registration of a `SmallRyeConfigBuilderCustomizer` is done via the `ServiceLoader` mechanism by providing the +implementation classes in a `META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer` file. Alternatively, +customizers may be registered via the Programmatic API in `SmallRyeConfigBuilder#withCustomizers`. + +The `SmallRyeConfigBuilderCustomizer` may also +assign a priority by overriding the default method `int priority()`. Customizers are sorted by ascending priority and +executed in that order, meaning that higher numeric priorities will execute last, possible overriding values set by +previous customizers. + +.CustomConfigBuilder +[source,java] +---- +package org.acme.config; + +import io.smallrye.config.SmallRyeConfigBuilder; +import io.smallrye.config.SmallRyeConfigBuilderCustomizer; + +public class CustomConfigBuilder implements SmallRyeConfigBuilderCustomizer { + @Override + public void configBuilder(final SmallRyeConfigBuilder builder) { + builder.withDefaultValue("my.default", "1234"); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer +[source,properties] +---- +org.acme.config.CustomConfigBuilder +---- + +The `CustomConfigBuilder` will be executed when creating a new `SmallRyeConfig` from a `SmallRyeConfigBuilder`: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder().build(); +config.getValue("my.default", int.class); +---- + +A look up to `my.default` returns the value `1234`, registered by the `CustomConfigBuilder`. diff --git a/content/docs/smallrye-config/3/config/environment-variables.adoc b/content/docs/smallrye-config/3/config/environment-variables.adoc new file mode 100644 index 000000000..15579d8e6 --- /dev/null +++ b/content/docs/smallrye-config/3/config/environment-variables.adoc @@ -0,0 +1,80 @@ += Environment Variables +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Environment Variable names follow the conversion rules specified by https://github.com/eclipse/microprofile-config/blob/master/spec/src/main/asciidoc/configsources.asciidoc#default-configsources[MicroProfile Config]. + +SmallRye Config specifies additional conversion rules: + +* A property with double quotes `foo."bar".baz` or `foo.bar."baz"`, replace each character that is neither alphanumeric +nor `++_++` with `++_++`: `FOO++__++BAR++__++BAZ` or `FOO++_++BAR++__++BAZ++_++` ; +* A property with dashes `foo.bar-baz`, replace each character that is neither alphanumeric nor `++_++` +with `++_++`: `FOO++_++BAR++_++BAZ` +* An indexed property `foo.bar++[++0++]++` or `foo.bar++[++0++]++.baz`, replace each character that is neither alphanumeric nor `++_++` +with `++_++`: `FOO++_++BAR++_++0++_++` or `FOO++_++BAR++_++0++__++BAZ`. + +[CAUTION] +==== + +Environment Variables format cannot represent the entire spectrum of common property names. + +==== + +The lookup of configuration values from Environment Variables will always use the dotted format name. For +instance, the lookup of the Environment Variable `FOO++_++BAR` value, requires the property name `foo.bar`: + +[source,java] +---- +Config config = Config.getOrCreate(); +String value = config.getValue("foo.bar", String.class); +---- + +When SmallRyeConfig performs the lookup on the Environment Variables Config Source, it applies the conversion rules to +find the matching property name and retrieve the value. + +In some situations, looking up the exact property name is impossible. For instance, when SmallRye Config has to look up +a configuration that is part of a `Map`, and the property name contains a dynamic segment (a `Map` key). In this case, +SmallRye Config relies upon each source's list of property names. These must be converted back to their most likely +dotted format for Environment Variables. + +By default, the underscore `++_++` of an Environment Variable name always maps to a dot `.`. If the property name +contains a dash or some other special character, that property name can be specified in another Config +Source, with the expected dotted format. It will provide additional information to SmallRye Config to perform a +two-way conversion and match the property names. + +Consider: + +..env + +[source,console] +---- +FOO_BAR_BAZ=VALUE +---- + +Will map to `foo.bar.baz` and value `value`. + +If `foo.bar-baz` is available in any source: + +..env + +[source,console] +---- +FOO_BAR_BAZ=VALUE +---- + +.application.properties +[source,properties] +---- +foo.bar-baz=default +---- + +Will map to `foo.bar-baz` and value `value`. + +[NOTE] +==== + +The property name in dotted format needs to exist somewhere to provide this additional information. It can be set in a +low ordinal source, even without value. The Environment Variables source will override the value and map the correct +configuration name. + +==== diff --git a/content/docs/smallrye-config/3/config/expressions.adoc b/content/docs/smallrye-config/3/config/expressions.adoc new file mode 100644 index 000000000..736d5dd41 --- /dev/null +++ b/content/docs/smallrye-config/3/config/expressions.adoc @@ -0,0 +1,32 @@ += Property Expressions +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config provides property expressions expansion on configuration values. An expression string is a mix of plain +strings and expression segments, which are wrapped by the sequence $++{++ ... }. + +For instance, the following configuration properties file: + +[source,properties] +---- +remote.host=smallrye.io +callable.url=https://${remote.host}/ +---- + +The resolved value of the `callable.url` property is `https://smallrye.io/`. + +Additionally, the Expression Expansion engine supports the following segments: + +* `$++{++expression:value}` - Provides a default value after the `:` if the expansion doesn’t find a value. +* `$++{++my.prop$++{++compose}}` - Composed expressions. Inner expressions are resolved first. +* `$++{++my.prop}$++{++my.prop}` - Multiple expressions. + +If an expression cannot be expanded and no default is supplied a `NoSuchElementException` is thrown. + +Expression expansion may be selectively disabled with `io.smallrye.config.Expressions`: + +[source,java] +---- +Config config = Config.getOrCreate(); +String url = Expressions.withoutExpansion(() -> config.getValue("callable.url", String.class)); +---- diff --git a/content/docs/smallrye-config/3/config/getting-started.adoc b/content/docs/smallrye-config/3/config/getting-started.adoc new file mode 100644 index 000000000..d2eb46c6d --- /dev/null +++ b/content/docs/smallrye-config/3/config/getting-started.adoc @@ -0,0 +1,182 @@ += Getting Started +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Config Sources + +By default, SmallRye Config reads configuration properties from multiple configuration sources (by descending ordinal): + +[arabic] +. (`400`) System properties +. (`300`) Environment variables +. (`295`) `.env` file in the current working directory +. (`260`) `application.properties` in `config` folder, located in the current working directory +. (`250`) `application.properties` in the classpath +. (`100`) MicroProfile Config configuration file `META-INF/microprofile-config.properties` in the classpath + +A configuration source is handled by a `ConfigSource`. A `ConfigSource` provides configuration values from a specific +place. + +The final configuration is the aggregation of the properties defined by all these sources. A configuration property +lookup starts by the highest ordinal configuration source available and works it way down to other sources until a +match is found. This means that any configuration property may override a value just by setting a different value in a +higher ordinal config source. For example, a property configured using an Environment Variable overrides the value +provided using the `microprofile-config.properties` file. + +=== System Properties + +System properties can be handed to the application through the `-D` flag during startup. For instance, +`java -Dmy.prop -jar my.jar`. + +=== Environment Variables + +Environment variables are set directly in the host operating system. Environment variables names follow the conversion +rules detailed by xref:config/environment-variables.adoc[Environment Variables]. + +=== MicroProfile Config configuration file + +The MicroProfile Config configuration file `META-INF/microprofile-config.properties` in the classpath. It follows the +standard convention for `properties` files. + +.META-INF/microprofile-config.properties +[source,properties] +---- +greeting.message=hello +goodbye.message=bye +---- + +=== Additional Config Sources + +SmallRye Config provides additional extensions which cover other configuration formats and stores: + +* xref:config-sources/yaml.adoc[YAML] +* xref:config-sources/filesystem.adoc[File System] +* xref:config-sources/zookeeper.adoc[ZooKeeper] +* xref:config-sources/hocon.adoc[HOCON] + +It is also possible to create a xref:config-sources/custom.adoc[Custom ConfigSource]. + +== Retrieving the Configuration + +=== Programmatically + +The `io.smallrye.config.Config#getOrCreate()` API allows to access the `io.smallrye.config.Config` API +programmatically: + +[source,java] +---- +import io.smallrye.config.Config; + +Config config = Config.getOrCreate(); +String message = config.getValue("greeting.message", String.class); +---- + +The `Config` instance will be created and registered to the current context class loader if no such configuration is +already created and registered. This means that subsequent calls to `Config.getOrCreate()` or +`Config.get()` will return the same `Config` instance if the context class loader is the same. + +To obtain a detached instanced, use the `io.smallrye.config.SmallRyeConfigBuilder`: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .addDefaultInterceptors() + .addDefaultSources() + .build(); + +String message = config.getValue("greeting.message", String.class); +---- + +=== With CDI + +In a CDI environment, configuration can be injected in CDI aware beans with `@Inject` and +the `org.eclipse.microprofile.config.inject.ConfigProperty` qualifier. + +[source,java] +---- +@Inject +@ConfigProperty(name = "greeting.message") +String message; + +@Inject +@ConfigProperty(name = "greeting.suffix", defaultValue="!") +String suffix; + +@Inject +@ConfigProperty(name = "greeting.name") +Optional name; + +@Inject +SmallRyeConfig config; +---- + +* If a value if not provided for this `greeting.message`, the application startup fails with a +`jakarta.enterprise.inject.spi.DeploymentException: No config value of type ++[++class java.lang.String++]++ exists for: greeting.message`. +* The default value `!` is injected if the configuration does not provide a value for `greeting.suffix`. +* The property `greeting.name` is optional - an empty Optional is injected if the configuration does not provide a +value for it. + +== Override Config + +It is possible to override `Config` default initialization `Config.getOrCreate()`, by extending +`io.smallrye.config.SmallRyeConfigFactory` and registering the implementation with the `ServiceLoader` mechanism. + +== Config vs SmallRyeConfig + +The `io.smallrye.config.Config` is an extension of `org.eclipse.microprofile.config.Config` and provides +additional APIs and helper methods not available in `org.eclipse.microprofile.config.Config`. To obtain an instance of +`io.smallrye.config.Config`, the original `org.eclipse.microprofile.config.Config` can be unwrapped: + +[source,java] +---- +import io.smallrye.config.SmallRyeConfig; +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.config.ConfigProvider; + +Config config = ConfigProvider.getConfig(); +SmallRyeConfig smallRyeConfig = config.unwrap(SmallRyeConfig.class); +---- + +Or obtained directly: + +[source,java] +---- +Config config = Config.getOrCreate(); +---- + +A few notable APIs provided by `io.smallrye.config.Config` allow to: + +* Retrieve multiple values into a specified `Collection` +* Retrieve xref:config/indexed-properties.adoc[Indexed Values] +* Retrieve xref:config/mappings.adoc[Config Mappings] instances +* Retrieve the raw value of a configuration +* Check if a property is present +* Retrieve a `Converter` +* Convert values + +== Converters + +The `ConfigSource` retrieves a configuration value as a `String`. Other data types require a conversion using the +`org.eclipse.microprofile.config.spi.Converter` API. + +Most of the common `Converter` types are provided by default: + +* `boolean` and `java.lang.Boolean`; the values "true", "1", "YES", "Y" "ON" represent `true`. Any other value will be +interpreted as `false` +* `byte` and `java.lang.Byte` +* `short` and `java.lang.Short` +* `int`, `java.lang.Integer`, and `java.util.OptionalInt` +* `long`, `java.lang.Long`, and `java.util.OptionalLong` +* `float` and `java.lang.Float`; a dot '.' is used to separate the fractional digits +* `double`, `java.lang.Double`, and `java.util.OptionalDouble`; a dot '.' is used to separate the fractional digits +* `char` and `java.lang.Character` +* `java.lang.Class` based on the result of `Class.forName` +* `java.net.InetAddress` +* `java.util.UUID` +* `java.util.Currency` +* `java.util.regex.Pattern` +* `java.nio.file.Path` +* Any class with declared static methods `of`, `valueOf` or `parse` that take a `String` or a `CharSequence` +* Any class with declared constructors that takes a `String` or a `CharSequence` + +All default converters have a priority of `1`. diff --git a/content/docs/smallrye-config/3/config/indexed-properties.adoc b/content/docs/smallrye-config/3/config/indexed-properties.adoc new file mode 100644 index 000000000..78b32cc10 --- /dev/null +++ b/content/docs/smallrye-config/3/config/indexed-properties.adoc @@ -0,0 +1,32 @@ += Indexed Properties +:version-root: ../ +include::{version-root}_attributes.adoc[] + +In https://github.com/eclipse/microprofile-config/[MicroProfile Config], a config value with unescaped commas may be +converted to `Collection`. It works for simple cases, but it becomes cumbersome and limited for more advanced use cases. + +Indexed Properties provide a way to use indexes in config property names to map specific elements in a `Collection` +type. Since the indexed element is part of the property name, it can also map complex object types. Consider: + +[source,properties] +---- +# MicroProfile Config - Collection Values +my.collection=dog,cat,turtle + +# SmallRye Config - Indexed Property +my.indexed.collection[0]=dog +my.indexed.collection[1]=cat +my.indexed.collection[2]=turtle +---- + +The indexed property syntax uses the property name and square brackets with an index in between. + +A call to `Config#getValues("my.collection", String.class)`, will automatically create and convert a `List++<++String++>++` +that contains the values `dog`, `cat` and `turtle`. A call to `Config#getValues("my.indexed.collection", String.class)` +returns the exact same result. The indexed property format is prioritized when both styles are found in the same +configuration source. When available in multiple sources, the higher ordinal source wins, like any other configuration +lookup. + +The indexed property is sorted by its index before being added to the target `Collection`. Any gaps in the indexes do +not resolve to the target `Collection`, which means that the `Collection` result will store all values without empty +elements. diff --git a/content/docs/smallrye-config/3/config/map-support.adoc b/content/docs/smallrye-config/3/config/map-support.adoc new file mode 100644 index 000000000..72b42740c --- /dev/null +++ b/content/docs/smallrye-config/3/config/map-support.adoc @@ -0,0 +1,60 @@ += Map Support +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config allows injecting multiple configuration parameters as a `Map`. The configuration value syntax is +represented by `property.name.map-key=value` Consider: + +[source,properties] +---- +server.reasons.200=OK +server.reasons.201=Created +---- + +The previous configuration could be injected directly in a CDI Bean: + +With `@ConfigProperty` + +[source,java] +---- +@ApplicationScoped +public class ConfigBean { + @Inject + @ConfigProperty(name = "server.reasons") + Map reasons; +} +---- + +With `@ConfigProperties` + +[source,java] +---- +@ConfigProperties(prefix = "server") +public class Config { + Map reasons; +} +---- + +The `Map` will contains the keys `200` and `201`, which map to the values `OK` and `Created`. + +[NOTE] +==== + +Only the direct sub properties will be converted into a `Map` and +injected into the target bean, the rest will be ignored. In other words, +in the previous example, a property whose name is `reasons.200.a` would +be ignored as not considered as a direct sub property. + +==== + +[NOTE] +==== + +The property will be considered as missing if no direct sub properties +could be found. + +==== + +It is also possible to retrieve the `Map` programmatically by calling the methods +`SmallRyeConfig#getValues("server.reasons", Integer.class, String.class)` or +`SmallRyeConfig#getOptionalValues("server.reasons", Integer.class, String.class)`. diff --git a/content/docs/smallrye-config/3/config/mappings.adoc b/content/docs/smallrye-config/3/config/mappings.adoc new file mode 100644 index 000000000..a8dabf642 --- /dev/null +++ b/content/docs/smallrye-config/3/config/mappings.adoc @@ -0,0 +1,727 @@ += Mappings +:version-root: ../ +include::{version-root}_attributes.adoc[] + +With SmallRye Config Mappings, it is possible to group multiple configuration properties in a single interface that +share the same prefix (or namespace). It supports the following set of features: + +* Automatic conversion of the configuration type, including `List`, `Set`, `Map`, `Optional` and primitive types. +* Nested Config Mapping groups. +* Configuration Properties Naming Strategies +* Integration with Bean Validation + +== Mapping Rules + +A complex object type uses the following rules to map configuration values to their member values: + +* A configuration path is built by taking the object type prefix (or namespace) and the mapping member name +* The member name is converted to its kebab-case format +* If the member name is represented as a getter, the member name is taken from its property name equivalent, and then +converted to its kebab-case format +* The configuration value is automatically converted to the member type +* The configuration path is required to exist with a valid configuration value or the mapping will fail + +[NOTE] +==== + +Kebab-case - the method name is derived by replacing case changes with a dash to map the configuration property. + +==== + +A Config Mapping requires an interface with minimal metadata configuration annotated with +`io.smallrye.config.ConfigMapping`: + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + String host(); + + int port(); +} +---- + +The `Server` interface is able to map configurations with the name `server.host` into the `Server#host()` method and +`server.port` into `Server#port()` method. The configuration property name to lookup is built from the prefix, and the +method name with `.` (dot) as the separator. + +[WARNING] +==== + +If a mapping fails to match a configuration property the config system throws a `NoSuchElementException`, unless +the mapped element is an `Optional`. + +==== + +The `@ConfigMapping` interface must obey the following rules: + +* A mapping method cannot accept parameters +* A mapping method return type cannot be void +* A mapping cannot use self-reference types +* `default` methods are allowed + +== Registration + +Registration of Config Mappings is automatic in CDI aware environments with the `@ConfigMapping` annotation. + +In non-CDI environments, the Config Mapping can be registered via `SmallRyeConfigBuilder#withMapping`. In this case, +the `@ConfigMapping` is completely optional (but recommendeded to set the prefix). + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .withMapping(Server.class) + .build(); +---- + +== Retrieval + +A config mapping interface can be injected into any CDI aware bean: + +[source,java] +---- +@ApplicationScoped +class BusinessBean { + @Inject + Server server; + + public void businessMethod() { + String host = server.host(); + } +} +---- + +In non-CDI environments, use the API `io.smallrye.config.SmallRyeConfig#getConfigMapping` to retrieve the config +mapping instance: + +[source,java] +---- +Config config = Config.getOrCreate(); +Server server = config.getConfigMapping(Server.class); +---- + +[NOTE] +==== + +Config Mapping instances are cached. They are populated when the `SmallRyeConfig` instance is initialized and +their values are not updated on `ConfigSource` changes. + +==== + +For a Config Mapping to be valid, it needs to match every configuration property name contained in the `Config` under +the specified prefix set in `@ConfigMapping`. This prevents unknown configuration properties in the `Config`. This +behaviour can be disabled with the configuration `smallrye.config.mapping.validate-unknown=false`, or by ignoring +specified paths with `io.smallrye.config.SmallRyeConfigBuilder.withMappingIgnore`. + +== Defaults + +The `io.smallrye.config.WithDefault` annotation allows to set a default property value into a mapping (and prevent +errors if the configuration value is not available in any `ConfigSource`). + +[source,java] +---- +public interface Defaults { + @WithDefault("foo") + String foo(); + + @WithDefault("bar") + String bar(); +} +---- + +No configuration properties are required. The `Defaults#foo()` will return the value `foo` and `Defaults#bar()` will +return the value `bar`. + +== Nested Groups + +A nested mapping provides a way to map sub-groups of configuration properties. + +* A nested type contributes with its name (converted to its kebab-case format) +* The configuration path is built by taking the root object type prefix (or namespace), the nested type name and the +member name of the nested type + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + String host(); + + int port(); + + Log log(); + + interface Log { + boolean enabled(); + + String suffix(); + + boolean rotate(); + } +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.log.enabled=true +server.log.suffix=.log +server.log.rotate=false +---- + +The method name of a mapping group acts as a sub-prefix in the property name. In this case the matching property to +`Server.Log#enabled` is `server.log.enabled`. + +== Hierarchy + +A config mapping can extend another mapping and inherit all its super members: + +[source,java] +---- +public interface Parent { + String name(); +} + +@ConfigMapping(prefix = "child") +public interface Child extends Parent { + +} +---- + +And override members: + +[source,java] +---- +public interface Parent { + String name(); +} + +@ConfigMapping(prefix = "child") +public interface Child extends Parent { + @WithName("child-name") + String name(); +} +---- + +== Overriding property names + +=== `@WithName` + +If a method name and a property name do not match, the `io.smallrye.config.WithName` annotation can +override the method name mapping and use the name supplied in the annotation. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @WithName("name") + String host(); + + int port(); +} +---- + +[source,properties] +---- +server.name=localhost +server.port=8080 +---- + +=== `@WithParentName` + +The `io.smallrye.config.WithParentName` annotation allows configurations mappings to inherit its parent container name, +simplifying the configuration property name required to match the mapping. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @WithParentName + ServerHostAndPort hostAndPort(); + + @WithParentName + ServerInfo info(); +} + +interface ServerHostAndPort { + String host(); + + int port(); +} + +interface ServerInfo { + String name(); +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.name=konoha +---- + +Without the `@WithParentName` the method `ServerInfo#name` maps the configuration property `server.info.name`. With +`@WithParentName`, the `Server#info` mapping will inherit the parent name from `Server` and `ServerInfo#name` maps to +the property `server.name` instead. + +=== NamingStrategy + +Method names in camelCase map to kebab-case configuration property names by default. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + String theHost(); + + int thePort(); +} +---- + +[source,properties] +---- +server.the-host=localhost +server.the-port=8080 +---- + +The mapping strategy can be adjusted by setting `namingStrategy` value in the `@ConfigMapping` annotation. + +[source,java] +---- +@ConfigMapping(prefix = "server", namingStrategy = ConfigMapping.NamingStrategy.VERBATIM) +public interface ServerVerbatimNamingStrategy { + String theHost(); + + int thePort(); +} +---- + +[source,properties] +---- +server.theHost=localhost +server.thePort=8080 +---- + +The `@ConfigMapping` annotation support the following naming stategies: + +* KEBAB++_++CASE - The method name is derived by replacing case changes with a dash to map the configuration property. +* VERBATIM - The method name is used as is to map the configuration property. +* SNAKE++_++CASE - The method name is derived by replacing case changes with an underscore to map the configuration property. + +== Conversion + +A config mapping interface support automatic conversions of all types available for conversion in `Config`. + +[source,java] +---- +@ConfigMapping +public interface SomeTypes { + @WithName("int") + int intPrimitive(); + + @WithName("int") + Integer intWrapper(); + + @WithName("long") + long longPrimitive(); + + @WithName("long") + Long longWrapper(); + + @WithName("float") + float floatPrimitive(); + + @WithName("float") + Float floatWrapper(); + + @WithName("double") + double doublePrimitive(); + + @WithName("double") + Double doubleWrapper(); + + @WithName("char") + char charPrimitive(); + + @WithName("char") + Character charWrapper(); + + @WithName("boolean") + boolean booleanPrimitive(); + + @WithName("boolean") + Boolean booleanWrapper(); +} +---- + +[source,properties] +---- +int=9 +long=9999999999 +float=99.9 +double=99.99 +char=c +boolean=true +---- + +This is also valid for `Optional` and friends. + +[source,java] +---- +@ConfigMapping +public interface Optionals { + Optional server(); + + Optional optional(); + + @WithName("optional.int") + OptionalInt optionalInt(); + + interface Server { + String host(); + + int port(); + } +} +---- + +In this case, the mapping won’t fail if the configuraton properties values are missing. + +=== `@WithConverter` + +The `io.smallrye.config.WithConverter` annotation provides a way to set a specific `Converter` in a mapping. + +[source,java] +---- +@ConfigMapping +public interface Converters { + @WithConverter(FooBarConverter.class) + String foo(); +} + +public static class FooBarConverter implements Converter { + @Override + public String convert(final String value) { + return "bar"; + } +} +---- + +[source,properties] +---- +foo=foo +---- + +A call to `Converters.foo()` results in the value `bar`. + +== Collections + +A config mapping is also able to map the collections types `List` and `Set`. + +* A member with a `Collection` type requires the configuration name to be in its indexed format +* Each configuration name, plus its index maps the configuration value to the corresponding `Collection` element in the +object type +* The index must be part of the configuration path, by appending the index between square brackets to the`Collection` +member +* The index specified in the configuration name is used to order the element in the `Collection` +* Missing elements or gaps are removed + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface ServerCollections { + Set environments(); + + interface Environment { + String name(); + + List apps(); + + interface App { + String name(); + + List services(); + + Optional> databases(); + } + } +} +---- + +[source,properties] +---- +server.environments[0].name=dev +server.environments[0].apps[0].name=rest +server.environments[0].apps[0].services=bookstore,registration +server.environments[0].apps[0].databases=pg,h2 +server.environments[0].apps[1].name=batch +server.environments[0].apps[1].services=stock,warehouse +---- + +The `List` and `Set` mappings can use xref:config/indexed-properties.adoc[Indexed Properties] to map configuration values in +mapping groups. + +[NOTE] +==== + +A `List` mapping is backed by an `ArrayList`, and a `Set` mapping is backed by a `HashSet`. + +==== + +== Maps + +A config mapping is also able to map a `Map`. + +* A member with a `Map` type requires an additional configuration name added to the configuration path of the `Map` +member to act as a map key +* The additional configuration name maps a Map entry with the configuration name as the `Map` entry key and +the configuration value as the Map entry value + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + String host(); + + int port(); + + Map form(); + + Map> aliases(); + + interface Alias { + String name(); + } +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.form.index=index.html +server.form.login.page=login.html +server.form.error.page=error.html +server.aliases.localhost[0].name=prod +server.aliases.localhost[1].name=127.0.0.1 +server.aliases.\"io.smallrye\"[0].name=smallrye +---- + +The configuration property name needs to specify an additional segment to act as the map key. The `server.form` matches +the `Server#form` `Map` and the segments `index`, `login.page` and `error.page` represent the `Map` +keys. + +[NOTE] +==== + +A `Map` mapping is backed by an `HashMap`. + +==== + +When populating a `Map`, `SmallRyeConfig` requires the configuration names listed in +`SmallRyeConfig#getPropertyNames` to find the `Map` keys. If a `ConfigSource` does not support +`getPropertyNames` (empty), the names must be provided by another `ConfigSource` that can do so. After retrieving the +map keys, `SmallRyeConfig` performs the lookup of the values with the regular `ConfigSource` ordinal ordering. Even if +a `ConfigSource` does not provide `getPropertyNames` it can provide the value by having the name listed in another +capable `ConfigSource`. + +For collection types, the key requires the indexed format. The configuration name `server.aliases.localhost++[++0++]++.name` +maps to the `Map++<++String, List++<++Alias++>>++ aliases()` member, where `localhost` is the `Map` key, `++[++0++]++` is the index of the +`List++<++Alias++>++` collection where the `Alias` element will be stored, containing the name `prod`. + +[TIP] +.Map quoted keys requirement +==== + +They `Map` key part in the configuration property name may require quotes to delimit the key if the key contains +a dot, otherwise they are optional. If the key name is delimted by quotes, all configuration property names related +with the same name must use the quoted format across all sources, including Environment Variables. + +==== + +=== `@WithUnnamedKey` + +The `io.smallrye.config.WithUnnamedKey` annotation allows to omit a single map key in the configuration path: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithUnnamedKey("localhost") + Map aliases(); + + interface Alias { + String name(); + } +} +---- + +[source,properties] +---- +server.aliases.name=localhost +server.aliases.prod.name=prod +---- + +The `sever.aliases.name` is an unnamed `Map` property, because it does not contain the `Map` key to populate the `Map` +entry. Due to `@WithUnnamedKey("localhost")` the `Map` key is not required in the configuration path. The key used to +look up the Map entry is given by `io.smallrye.config.WithUnnamedKey#value`: + +[source,java] +---- +Server server = config.getConfigMapping(Server.class); +Map localhost = server.aliases.get("localhost"); +---- + +[WARNING] +==== + +If the unnamed key (in this case `localhost`) is explicitly set in a property name, the mapping will throw an error. + +==== + +=== `@WithKeys` + +The `io.smallrye.config.WithKeys` annotation allows to define which `Map` keys must be loaded by +the configuration: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithKeys(KeysProvider.class) + Map aliases(); + + interface Alias { + String name(); + } + + class KeysProvider implements Supplier> { + @Override + public Iterable get() { + return List.of("dev", "test", "prod"); + } + } +} +---- + +In this case, `SmallRyeConfig` will look for the map keys `dev`, `test` and `prod` instead of discovering the keys +with `SmallRyeConfig#getPropertyNames`: + +[source,properties] +---- +servers.alias.dev.name=dev +servers.alias.test.name=test +servers.alias.prod.name=prod +---- + +The provided list will effectively substitute the lookup in `SmallRyeConfig#getPropertyNames`, thus enabling a +`ConfigSource` that does not list its properties, to contribute configuration to the `Map`. Each key must exist in +the final configuration (relative to the `Map` path segment), or the mapping will fail with a +`ConfigValidationException`. + +=== `@WithDefaults` + +The `io.smallrye.config.WithDefaults` is a marker annotation to use only in a `Map` to return the default value for +the value element on any key lookup: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithDefaults + Map aliases(); + + interface Alias { + @WithDefault("localhost") + String name(); + } +} +---- + +[source,properties] +---- +server.aliases.prod.name=prod +---- + +A look-up to the `aliases` `Map` with the key `localhost`, `any` or any other key, returns a `Alias` instance, where +`Alias.name` is `localhost`, which is the default value. A look-up to `prod` returns a `Alias` instance, where +`Alias.name` is `prod` because the property is defined in the configuration as `server.aliases.prod.name=prod`. + +The `Map` can only iterate and size the defined keys. In this case, the `aliases` `Map` only iterates the `prod` key, +and the size is `1`. + +[source,java] +---- +Server server = config.getConfigMapping(Server.class); +Map localhost = server.aliases.get("localhost"); +Map any = server.aliases.get("any"); +Map any = server.aliases.get("prod"); +---- + +== Optionals + +* A mapping can wrap any complex type with an `Optional` +* `Optional` mappings do not require the configuration path and value to be present + +== Secrets + +* A mapping can mark a member type as a secret with `Secret++<++T++>++`: + +[source,java] +---- +@ConfigMapping(prefix = "credentials") +public interface Credentials { + String username(); + + Secret password(); +} +---- + +A `Secret` value modifies the behaviour of the config system by: + +* Omitting the name of the secret in `SmallRyeConfig#getPropertyNames()` +* Omitting the name and value of the secret in the mapping `toString` method +* Throwing a `SecurityException` when trying to retrieve the value via `SmallRyeConfig` programmatic API + +A Secret can be of any type that can be converted by a registered `org.eclipse.microprofile.config.spi.Converter` of +the same type. + +== toString, equals, hashcode + +If the config mapping contains a `toString` method declaration, the config mapping instance will include a proper +implementation of the `toString` method. The `equals` and `hashcode` methods are included automatically. + +[CAUTION] +==== + +Do not include a `toString` declaration in a config mapping with sensitive information. + +==== + +== Validation + +A config mapping may combine annotations from https://beanvalidation.org/[Bean Validation] to validate configuration +properties values. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @Size(min = 2, max = 20) + String host(); + + @Max(10000) + int port(); +} +---- + +The application startup fails with a `io.smallrye.config.ConfigValidationException` if the configuration properties +values do not follow the contraints defined in `Server`. + +[NOTE] +==== + +For validation to work, the `smallrye-config-validator` dependency is required in the classpath. + +==== diff --git a/content/docs/smallrye-config/3/config/profiles.adoc b/content/docs/smallrye-config/3/config/profiles.adoc new file mode 100644 index 000000000..ca2dd361e --- /dev/null +++ b/content/docs/smallrye-config/3/config/profiles.adoc @@ -0,0 +1,192 @@ += Profiles +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Applications often require different configurations depending on the target environment. For example, the local +development environment may be different from the production environment. Profiles allow for multiple configurations +in the same file or separate files and select between them via a profile name. + +== Profile aware properties + +To be able to set properties with the same name, each property needs to be prefixed with a percentage sign `%` followed +by the profile name and a dot `.` in the syntax `%++{++profile-name}.config.name`: + +.META-INF/microprofile-config.properties +[source,properties] +---- +http.port=8080 +%dev.http.port=8181 +---- + +To activate the profile `dev`, the configuration `smallrye.config.profile=dev` has to be set into any valid +`ConfigSource`. + +Any lookup to the `http.port` property name will first search by the active profile name `%dev.http.port` and then +fallback to `http.port` if no value is present. In this case a lookup to the property `http.port` with the `dev` profile +active, yields the value `8181`. + +[WARNING] +==== + +The profile must be set in one of the primary sources (system properties, environment variables, +`application.properties`, or any other source that does not require configuration) to determine the proper +configuration. + +==== + +== Profile aware files + +Properties for a specific profile may reside in a `microprofile-config-++{++profile}.properties` named file. The previous +example can be expressed as: + +.META-INF/microprofile-config.properties +[source,properties] +---- +http.port=8080 +---- + +.META-INF/microprofile-config-dev.properties +[source,properties] +---- +http.port=8181 +---- + +In this style, the property names in the profile aware file do not need to be prefixed with the profile name. + +[NOTE] +==== + +Properties in the profile aware file have priority over profile aware properties defined in the main file. + +==== + +[WARNING] +==== + +Do not use Profile aware files to set `smallrye.config.profile`. This will not work because the +the profile is required in advance to load the profile aware files. + +==== + +== Priority + +Profile lookups are only valid if the `ConfigSource` has a higher ordinal than a lookup to the regular configuration +name. Consider: + +.main.properties +[source,properties] +---- +config_ordinal=1000 +http.port=8080 +---- + +.profile.properties +[source,properties] +---- +config_ordinal=100 +%dev.http.port=8181 +---- + +Even with the profile `dev` active, the lookup value for `my.prop` is `1234`. This prevents lower ordinal sources to +set a profile property value that cannot be overridden unless the profile property is also overridden. + +== Multiple Profiles + +Multiple Profiles may be active at the same time. The configuration `smallrye.config.profile` accepts a comma-separated +list of profile names: `smallrye.config.profile=common,dev`. Both `common` and `dev` are separate profiles. + +When multiple profiles are active, the rules for profile configuration are the same. If two profiles define the same +configuration, then the last listed profile has priority. Consider: + +[source,properties] +---- +smallrye.config.profile=common,dev + +my.prop=1234 +%common.my.prop=1234 +%dev.my.prop=5678 + +%common.commom.prop=common +%dev.dev.prop=dev +%test.test.prop=test +---- + +Then + +* `common.prop` value is `common` +* `dev.prop` value is `dev` +* `my.prop` value is `5678` +* `test.prop` does not have a value + +It is also possible to define multiple profile properties, with a comma-separated list of profile names: + +[source,properties] +---- +%prod,dev.my.prop=1234 +---- + +The property name `common.prop` is active in both `dev` and `prod` profile. If the same property name exists in +multiple profile properties then, the property name with the most specific profile wins: + +[source,properties] +---- +smallrye.config.profile=dev + +%prod,dev.my.prop=1234 + +%dev.my.prop=5678 +---- + +Then `my.prop` value is `5678`. + +== Parent Profile + +A Parent Profile adds multiple levels of hierarchy to the current profile. The configuration +`smallrye.config.profile.parent` also acccepts a comma-separated list of profile names. + +When the Parent Profile is active, if a property cannot be found in the current active Profile, the config lookup +fallbacks to the Parent Profile. Consider: + +[source,properties] +---- +smallrye.config.profile=dev +smallrye.config.profile.parent=common + +my.prop=1234 +%common.my.prop=0 +%dev.my.prop=5678 + +%common.commom.prop=common +%dev.dev.prop=dev +%test.test.prop=test +---- + +Then + +* `common.prop` value is `common` +* `dev.prop` value is `dev` +* `my.prop` value is `0` +* `test.prop` does not have a value + +[WARNING] +==== + +Do not use Profile aware files to set smallrye.config.profile.parent++`++. This will not work because the +the profile is required in advance to load the profile aware files. + +==== + +=== Multi-level Hierarchy + +The Parent Profile also supports multiple levels of hierarchies: + +[source,properties] +---- +smallrye.config.profile=child +%child.smallrye.config.profile.parent=parent +%parent.smallrye.config.profile.parent=grandparent +%grandparent.smallrye.config.profile.parent=greatgrandparent +%greatgrandparent.smallrye.config.profile.parent=end +---- + +Will load the following profiles in order: `child`, `parent`, `grandparent`, `greatgrandparent`, `end` diff --git a/content/docs/smallrye-config/3/config/secret-keys.adoc b/content/docs/smallrye-config/3/config/secret-keys.adoc new file mode 100644 index 000000000..b0d4cf6b5 --- /dev/null +++ b/content/docs/smallrye-config/3/config/secret-keys.adoc @@ -0,0 +1,126 @@ += Secret Keys +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Secret Keys Expressions + +In SmallRye Config, a secret configuration may be expressed as `$++{++handler::value}`, where the `handler` is the name of +a `io.smallrye.config.SecretKeysHandler` to decode or decrypt the `value` separated by a double colon `::`. + +It is possible to create a custom `SecretKeysHandler` and provide different ways to decode or decrypt configuration +values. + +A custom `SecretKeysHandler` requires an implementation of `io.smallrye.config.SecretKeysHandler` or +`io.smallrye.config.SecretKeysHandlerFactory`. Each implementation requires registration via the `ServiceLoader` +mechanism, either in `META-INF/services/io.smallrye.config.SecretKeysHandler` or +`META-INF/services/io.smallrye.config.SecretKeysHandlerFactory` files. + +[CAUTION] +==== + +It is not possible to mix Secret Keys Expressions with Property Expressions. + +==== + +=== Crypto + +The `smallrye-config-crypto` artifact contains a few out-of-the-box `SecretKeysHandler`s ready for use. It requires +the following dependency: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-crypto + {version} + +---- + +==== AES/GCM/NoPadding `$++{++aes-gcm-nopadding::...}` + +* The encoding length is 128. +* The secret and the encryption key (without padding) must be base 64 encoded. + +[NOTE] +==== + +.application.properties +[source,properties] +---- +smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key=DDne5obnfH1RSeTg71xSZg + +my.secret=${aes-gcm-nopadding::DLTb_9zxThxeT5iAQqswEl5Dn1ju4FdM9hIyVip35t5V} +---- + +The `$++{++aes-gcm-nopadding::...}` `SecretKeyHandler` requires +`smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key` configuration to state the encryption key to be +used by the `aes-gcm-nopaddin` handler. + +A lookup to `my.secret` will use the `SecretKeysHandler` name `aes-gcm-nopadding` to decode the value +`DJNrZ6LfpupFv6QbXyXhvzD8eVDnDa++_++kTliQBpuzTobDZxlg`. + +==== + +[NOTE] +==== + +It is possible to generate the encrypted secret with the following http://jbang.dev/[JBang] script: + +[source,shell] +---- +jbang https://raw.githubusercontent.com/smallrye/smallrye-config/main/documentation/src/main/docs/config/secret-handlers/encryptor.java -s= -k=` +---- + +==== + +===== Configuration + +[width="100%",cols="90%,5%,5%",options="header",] +|=== +|Configuration Property |Type |Default +|`smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key` + +The encryption key to use to decode secrets encoded by the `AES/GCM/NoPadding` algorithm. |String | +|`"smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key-decode"` + +Decode the encryption key in Base64, if the plain text key was used to encrypt the secret. |boolean |false +|=== + +== Secret Keys Names + +When configuration properties contain passwords or other kinds of secrets, Smallrye Config can hide them to prevent +accidental exposure of such values. + +*This is no way a replacement for securing secrets.* Proper security mechanisms must still be used to secure +secrets. However, there is still the fundamental problem that passwords and secrets are generally encoded simply as +strings. Secret Keys provides a way to "lock" the configuration so that secrets do not appear unless explicitly enabled. + +To mark specific keys as secrets, register an instance of `io.smallrye.config.SecretKeysConfigSourceInterceptor` by +using the interceptor factory as follows: + +[source,java] +---- +public class SecretKeysConfigInterceptorFactory implements ConfigSourceInterceptorFactory { + @Override + public ConfigSourceInterceptor getInterceptor(ConfigSourceInterceptorContext context) { + return new SecretKeysConfigSourceInterceptor(Set.of("secret")); + } +} +---- + +Register the factory so that it can be found at runtime by creating a +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file that contains the fully qualified name of +this factory class. + +From this point forward, every lookup to the configuration name `secret` will throw a `SecurityException`. + +Access the Secret Keys using the APIs `io.smallrye.config.SecretKeys#doUnlocked(java.lang.Runnable)` +and `io.smallrye.config.SecretKeys#doUnlocked(java.util.function.Supplier++<++T++>++)`. + +[source,java] +---- +String secretValue = SecretKeys.doUnlocked(() -> { + config.getValue("secret", String.class); +}); +---- + +Secret Keys are only unlocked in the context of `doUnlocked`. Once the execution completes, the secrets become locked +again. diff --git a/content/docs/smallrye-config/3/converters/custom.adoc b/content/docs/smallrye-config/3/converters/custom.adoc new file mode 100644 index 000000000..6e495919c --- /dev/null +++ b/content/docs/smallrye-config/3/converters/custom.adoc @@ -0,0 +1,101 @@ += Custom `Converter` +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to create a custom `Converter` type as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config]. + +A custom `Converter` requires an implementation of `org.eclipse.microprofile.config.spi.Converter`. Each implementation +requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/org.eclipse.microprofile.config.spi.Converter` file. Consider: + +[source,java] +---- +package org.acme.config; + +public class CustomValue { + + private final int number; + + public CustomValue(int number) { + this.number = number; + } + + public int getNumber() { + return number; + } +} +---- + +The corresponding converter can look like: + +[source,java] +---- +package org.acme.config; + +import org.eclipse.microprofile.config.spi.Converter; + +public class CustomValueConverter implements Converter { + + @Override + public CustomValue convert(String value) { + return new CustomValue(Integer.parseInt(value)); + } +} +---- + +And registration in: + +.META-INF/services/org.eclipse.microprofile.config.spi.Converter +[source,properties] +---- +org.acme.config.CustomValue +---- + +[WARNING] +==== + +The custom `Converter` class must be `public`, must have a `public` constructor with no arguments, and must not be +abstract. + +==== + +The `CustomValueConverter` converts the configuration value to the `CustomValue` type automatically. + +[source,java] +---- +Config config = Config.getOrCreate(); +CustomValue value = config.getValue("custom.value", CustomValue.class); +---- + +The `jakarta.annotation.Priority` annotation overrides the `Converter` priority and change converters precedence to fine +tune the execution order. By default, if no `@Priority` is specified by the `Converter`, the converter is registered +with a priority of `100`. Consider: + +[source,java] +---- +package org.acme.config; + +import jakarta.annotation.Priority; +import org.eclipse.microprofile.config.spi.Converter; + +@Priority(150) +public class SecretConverter implements Converter { + + @Override + public CustomValue convert(String value) { + final int secretNumber; + if (value.startsFrom("OBF:")) { + secretNumber = Integer.parseInt(SecretDecoder.decode(value)); + } else { + secretNumber = Integer.parseInt(value); + } + + return new CustomValue(secretNumber); + } +} +---- + +Two `Converter`s, (`CustomValueConverter` and `SecretConverter`) can convert the same type `CustomValue`. Since +`SecretConverter` has a priority of `150`, it will be used instead of a `CustomValueConverter` which has a default +priority of `100` (no annotation). diff --git a/content/docs/smallrye-config/3/extensions/config-events.adoc b/content/docs/smallrye-config/3/extensions/config-events.adoc new file mode 100644 index 000000000..cd43004ac --- /dev/null +++ b/content/docs/smallrye-config/3/extensions/config-events.adoc @@ -0,0 +1,158 @@ += Config Events +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Config Events extension allows you to fire change events on Config Sources. + +== Usage + +To use the Config Events, add the following to your Maven `pom.xml`: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-events + {version} + +---- + +== Events + +The CDI Event is a `ChangeEvent` and contains the following fields: + +* String key +* Optional++<++String++>++ oldValue +* String newValue +* Type type +* String fromSource + +The `ChangeEvent` can be of any of the following types: + +* NEW - When you create a new key and value (i.e. the key does not exist anywhere in any config source) +* UPDATE - When you update a value of an existing key (i.e. the key and value exist somewhere in a config source) +* REMOVE - When you remove the value from the source (and that changed the overall config) + +=== Observing Events + +You can listen to all or some of these events, filtering by `type` and/or `key` and/or `source`, example: + +[source,java] +---- +// Getting all config event +public void all(@Observes ChangeEvent changeEvent){ + log.log(Level.SEVERE, "ALL: Received a config change event: {0}", changeEvent); +} + +// Get only new values +public void newValue(@Observes @TypeFilter(Type.NEW) ChangeEvent changeEvent){ + log.log(Level.SEVERE, "NEW: Received a config change event: {0}", changeEvent); +} + +// Get only override values +public void overrideValue(@Observes @TypeFilter(Type.UPDATE) ChangeEvent changeEvent){ + log.log(Level.SEVERE, "UPDATE: Received a config change event: {0}", changeEvent); +} + +// Get only revert values +public void revertValue(@Observes @TypeFilter(Type.REMOVE) ChangeEvent changeEvent){ + log.log(Level.SEVERE, "REMOVE: Received a config change event: {0}", changeEvent); +} + +// Getting all config event when key is some.key +public void allForKey(@Observes @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "ALL for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config event when key is some.key for new events +public void newForKey(@Observes @TypeFilter(Type.NEW) @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "NEW for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config event when key is some.key for override events +public void overrideForKey(@Observes @TypeFilter(Type.UPDATE) @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "UPDATE for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config event when key is some.key for revert events +public void revertForKey(@Observes @TypeFilter(Type.REMOVE) @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "REMOVE for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config events for a certain source +public void allForSource(@Observes @SourceFilter("MemoryConfigSource") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "ALL for source [MemoryConfigSource]: Received a config change event: {0}", changeEvent); +} + +// Getting all config events for a certain source +public void allForSourceAndKey(@Observes @SourceFilter("MemoryConfigSource") @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "ALL for source [MemoryConfigSource] and for key [some.key]: Received a config change event: {0}", changeEvent); +} + +// Getting all config events for a certain source +public void overrideForSourceAndKey(@Observes @TypeFilter(Type.UPDATE) @SourceFilter("MemoryConfigSource") @KeyFilter("some.key") ChangeEvent changeEvent){ + log.log(Level.SEVERE, "UPDATE for source [MemoryConfigSource] and for key [some.key]: Received a config change event: {0}", changeEvent); +} +---- + +Note: You can filter by including the `@TypeFilter` and/or the `@KeyFilter` and/or the `@SourceFilter`. + +=== Pattern matching on field. + +You might want to listen for fields that match a certain regex. + +Example, listen to all keys that starts with `some.`: + +[source,java] +---- +@RegexFilter("^some\\..+") +public void allForPatternMatchOnKey(@Observes ChangeEvent changeEvent){ + log.log(Level.SEVERE, "Pattern match on key: Received a config change event: {0}", changeEvent); +} +---- + +By default, it will match on `key`, however you also listen on another field, for example, listen to all `oldValue` +that starts with `some.`: + +[source,java] +---- +@RegexFilter(onField = Field.oldValue, value = "^some\\..+") +public void allForPatternMatchOnOldValue(@Observes ChangeEvent changeEvent){ + log.log(Level.SEVERE, "Pattern match on old value: Received a config change event: {0}", changeEvent); +} +---- + +You can Match on the following fields of the `ChangeEvent` object: + +* key +* oldValue +* newValue +* fromSource + +== Implementing Events in a ConfigSource + +The `ChangeEventNotifier` allows you to detect changes and fire the appropriate events. + +To use it in your own source: + +* Get a snapshot of the properties before the change. +* Get a snapshot of the properties after the change. +* Call `detectChangesAndFire` method: + +Example: + +[source,java] +---- +Map before = new HashMap<>(configSource.getProperties()); +memoryConfigSource.getProperties().remove(key); +Map after = new HashMap<>(configSource.getProperties()); +ChangeEventNotifier.getInstance().detectChangesAndFire(before, after,configSource.getName()); +---- + +or if you know the change and do not need detection: + +[source,java] +---- +configSource.getProperties().remove(key); +ChangeEventNotifier.getInstance().fire(new ChangeEvent(Type.REMOVE,key,getOptionalOldValue(oldValue),null,configSource.getName())); +---- diff --git a/content/docs/smallrye-config/3/extensions/config-source-injection.adoc b/content/docs/smallrye-config/3/extensions/config-source-injection.adoc new file mode 100644 index 000000000..7d79eafd3 --- /dev/null +++ b/content/docs/smallrye-config/3/extensions/config-source-injection.adoc @@ -0,0 +1,44 @@ += Config Source Injection +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Config Source Injection extension allows you to use CDI injection to inject a ConfigSource by name in your CDI +aware beans, or by looking it up programatically in the CDI `BeanManager`. + +== Usage + +To use the Config Source Injection, add the following to your Maven `pom.xml`: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-injection + {version} + +---- + +=== Injecting Sources + +You can inject a `ConfigSource` by referencing it by name: + +[source,java] +---- +@Inject +@Name("MemoryConfigSource") +private ConfigSource memoryConfigSource; + +@Inject +@Name("SysPropConfigSource") +private ConfigSource systemPropertiesConfigSource; +---- + +You can also get a Map of all config sources. The map key holds the `ConfigSource` name and the map value the +`ConfigSource`: + +[source,java] +---- +@Inject +@ConfigSourceMap +private Map configSourceMap; +---- diff --git a/content/docs/smallrye-config/3/extensions/fallback.adoc b/content/docs/smallrye-config/3/extensions/fallback.adoc new file mode 100644 index 000000000..05af7251d --- /dev/null +++ b/content/docs/smallrye-config/3/extensions/fallback.adoc @@ -0,0 +1,59 @@ += Fallback +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.FallbackConfigSourceInterceptor` allows to fall back to another configuration name, by +providing a transformation function or just a simple key value map. + +When a configuration name does not exist, there might be another configuration name that the config can +fall back to provide the same expected behavior. The fallback function is only applied if the original resolved +configuration name is not found and resolved to the fallback name. + +[source,java] +---- +package org.acme.config; + +import io.smallrye.config.FallbackConfigSourceInterceptor; + +public class MicroProfileConfigFallbackInterceptor extends FallbackConfigSourceInterceptor { + public MicroProfileConfigFallbackInterceptor() { + super(name -> name.startsWith("mp.config") ? + name.replaceAll("mp\\.config", "smallrye.config") : + name); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceInterceptor +[source,properties] +---- +org.acme.config.MicroProfileConfigFallbackInterceptor +---- + +The `MicroProfileConfigFallbackInterceptor` can fallback configuration names in the `mp.config` namespace +to the `smallrye.config` namespace. + +[NOTE] +==== + +.application.properties +[source,properties] +---- +mp.config.profile=test +smallrye.config.profile=prod +---- + +A lookup to `mp.config.profile` returns the value `test`. + +.application.properties +[source,properties] +---- +smallrye.config.profile=prod +---- + +A lookup to `mp.config.profile` returns the value `prod`. The config is not able to find a value for +`mp.config.profile`, so the interceptor fallbacks and lookups the value of `smallrye.config.profile`. + +==== diff --git a/content/docs/smallrye-config/3/extensions/interceptors.adoc b/content/docs/smallrye-config/3/extensions/interceptors.adoc new file mode 100644 index 000000000..78d60980a --- /dev/null +++ b/content/docs/smallrye-config/3/extensions/interceptors.adoc @@ -0,0 +1,84 @@ += Interceptors +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config provides an interceptor chain that hooks into the configuration values resolution. This is useful to +implement features like xref:config/profiles.adoc[Profiles] , xref:config/expressions.adoc[Property Expressions], or just +logging to find out where the config value was loaded from. + +An interceptor can be created by implementing the +https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/ConfigSourceInterceptor.java[ConfigSourceInterceptor] +interface. + +An interceptor requires an implementation of `io.smallrye.config.ConfigSourceInterceptor`. Each implementation requires +registration via the `ServiceLoader` mechanism in the `META-INF/services/io.smallrye.config.ConfigSourceInterceptor` +file. Alternatively, interceptors may be registered via the Programmatic API in +`SmallRyeConfigBuilder#withInterceptors`. + +The `io.smallrye.config.ConfigSourceInterceptor` is able to intercept the resolution of a configuration name with the +method `ConfigValue getValue(ConfigSourceInterceptorContext context, String name)`. The `ConfigSourceInterceptorContext` +is used to proceed with the interceptor chain. The chain can be short-circuited by returning an instance of +`io.smallrye.config.ConfigValue`. The `ConfigValue` objects hold information about the key name, value, config source +origin and ordinal. + +[NOTE] +==== + +The interceptor chain is applied before any conversion is performed on the configuration value. + +==== + +[source,java] +---- +package org.acme.config; + +import static io.smallrye.config.SecretKeys.doLocked; + +import jakarta.annotation.Priority; + +import io.smallrye.config.ConfigSourceInterceptor; +import io.smallrye.config._private.ConfigLogging; + +@Priority(Priorities.LIBRARY + 200) +public class LoggingConfigSourceInterceptor implements ConfigSourceInterceptor { + private static final long serialVersionUID = 367246512037404779L; + + @Override + public ConfigValue getValue(final ConfigSourceInterceptorContext context, final String name) { + ConfigValue configValue = doLocked(() -> context.proceed(name)); + if (configValue != null) { + ConfigLogging.log.lookup(configValue.getName(), configValue.getLocation(), configValue.getValue()); + } else { + ConfigLogging.log.notFound(name); + } + return configValue; + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceInterceptor +[source,properties] +---- +org.acme.config.LoggingConfigSourceInterceptor +---- + +The `LoggingConfigSourceInterceptor` logs looks up configuration names in the provided logging platform. The log +information includes config name and value, the config source origin and location if exists. + +Interceptors may also be created with an implementation of `io.smallrye.config.ConfigSourceInterceptorFactory`. Each +implementation requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file. Alternatively, interceptors factories may +be registered via the Programmatic API in `SmallRyeConfigBuilder#withInterceptorFactories`. + +The `ConfigSourceInterceptorFactory` can initialize an interceptor with access to the current chain +(so it can be used to configure the interceptor and retrieve configuration values) and set the priority. + +A `ConfigSourceInterceptor` implementation class can specify a priority by way of the standard +`jakarta.annotation.Priority` annotation. If no priority is explicitly assigned, the default priority value of +`io.smallrye.config.Priorities.APPLICATION` is assumed. If multiple interceptors are registered with the same priority, +then their execution order may be non-deterministic. + +A collection of built-in priority constants can be found in `io.smallrye.config.Priorities`. It is recommended to +use `io.smallrye.config.Priorities.APPLICATION` as a baseline for user defined interceptors. diff --git a/content/docs/smallrye-config/3/extensions/logging.adoc b/content/docs/smallrye-config/3/extensions/logging.adoc new file mode 100644 index 000000000..3a42e6573 --- /dev/null +++ b/content/docs/smallrye-config/3/extensions/logging.adoc @@ -0,0 +1,15 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== LoggingConfigSourceInterceptor + +The `io.smallrye.config.LoggingConfigSourceInterceptor` logs lookups of configuration names in the provided logging +platform. The log information includes config name and value, the config source origin and location if it exists. + +The log is done as `debug`, so the debug threshold must be set to `debug` for the `io.smallrye.config` appender to +display the logs. + +This requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file of the +`io.smallrye.config.LoggingConfigSourceInterceptor` interceptor. diff --git a/content/docs/smallrye-config/3/extensions/relocate.adoc b/content/docs/smallrye-config/3/extensions/relocate.adoc new file mode 100644 index 000000000..e33ee4f6a --- /dev/null +++ b/content/docs/smallrye-config/3/extensions/relocate.adoc @@ -0,0 +1,51 @@ += Relocate +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.RelocateConfigSourceInterceptor` allows to relocate a configuration name to another name, by +providing a transformation function or just a simple key value map. + +When a configuration key is renamed, lookup needs to happen on the new name, but also on the old name if the +config sources are not updated yet. The relocation function gives priority to the new resolved configuration name or +resolves to the old name if no value is found under the new relocation name. + +[source,java] +---- +package org.acme.config; + +import io.smallrye.config.RelocateConfigSourceInterceptor; + +public class MicroProfileConfigRelocateInterceptor extends RelocateConfigSourceInterceptor { + public MicroProfileConfigRelocateInterceptor() { + super(name -> name.startsWith("mp.config") ? + name.replaceAll("mp\\.config", "smallrye.config") : + name); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceInterceptor +[source,properties] +---- +org.acme.config.MicroProfileConfigRelocateInterceptor +---- + +The `MicroProfileConfigRelocateInterceptor` can relocate configuration names in the `mp.config` namespace +to the `smallrye.config` namespace. + +[NOTE] +==== + +.application.properties +[source,properties] +---- +mp.config.profile=test +smallrye.config.profile=prod +---- + +A lookup to `mp.config.profile` returns the value `prod`. The config finds a valid value in the relocated name +`smallrye.config.profile`, so the interceptor will use this value instead of the one in `mp.config.profile`. + +==== diff --git a/content/docs/smallrye-config/3/index.adoc b/content/docs/smallrye-config/3/index.adoc new file mode 100644 index 000000000..dca56db0f --- /dev/null +++ b/content/docs/smallrye-config/3/index.adoc @@ -0,0 +1,97 @@ += SmallRye Config +include::_attributes.adoc[] + +*SmallRye Config* is a library that provides a way to configure applications, frameworks and containers. It is used +in applications servers like https://wildfly.org/[WildFly], https://openliberty.io[Open Liberty] and +https://tomee.apache.org[TomEE] or frameworks like https://quarkus.io[Quarkus]. It can also be used completely +standalone in any Java application, which makes it a very flexible library. + +It follows the https://github.com/eclipse/microprofile-config/[MicroProfile Config] specification to provide +the initial config foundations and expands with it own concepts to cover a wide range of use cases observed in the +configuration space. + +== Use SmallRye Config in a Java application + +Add the _dependency_ to your project using your preferred build tool: + +[.tabs] +==== + +Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config + {version} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.config:smallrye-config:{version}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.config:smallrye-config:{version}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.config:smallrye-config:{version} +---- + +-- + +==== + +And retrieve a `SmallRyeConfig` instance with: + +[source,java] +---- +Config config = io.smallrye.config.Config.getOrCreate(); +---- + +[NOTE] +==== + +The `SmallRyeConfig` instance will be created and registered to the context class loader if no such configuration +is already created and registered. + +==== + +Or build your own: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder().build(); +---- + +[NOTE] +==== + +`io.smallrye.config.Config` is the entry point to all the config capabilities provided by SmallRye Config. + +==== diff --git a/content/docs/smallrye-config/latest/_attributes.adoc b/content/docs/smallrye-config/latest/_attributes.adoc new file mode 100644 index 000000000..6594580bf --- /dev/null +++ b/content/docs/smallrye-config/latest/_attributes.adoc @@ -0,0 +1,21 @@ +:project-version: 4.0.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Config +:javadoc-version: latest +:version: {project-version} +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 4.0.0 +:relfileprefix: /docs/smallrye-config/latest/ +:imagesdir: /docs/smallrye-config/latest +:docs-project: smallrye-config +:docs-version: latest +:docs-ref: 4.0.0 diff --git a/content/docs/smallrye-config/latest/_nav.yml b/content/docs/smallrye-config/latest/_nav.yml new file mode 100644 index 000000000..6a14b50be --- /dev/null +++ b/content/docs/smallrye-config/latest/_nav.yml @@ -0,0 +1,66 @@ +title: SmallRye Config +nav: +- title: Home + page: index +- title: Config + items: + - title: Getting Started + page: config/getting-started + - title: Expressions + page: config/expressions + - title: Profiles + page: config/profiles + - title: Environment Variables + page: config/environment-variables + - title: Indexed Properties + page: config/indexed-properties + - title: ConfigValue + page: config/config-value + - title: Mappings + page: config/mappings + - title: Instance Builder + page: config/instance-builder + - title: Map Support + page: config/map-support + - title: Secret Keys + page: config/secret-keys + - title: Customizer + page: config/customizer + - title: Configuration Reference + page: config/configuration +- title: Config Sources + items: + - title: Custom + page: config-sources/custom + - title: Factories + page: config-sources/factories + - title: Locations + page: config-sources/locations + - title: YAML + page: config-sources/yaml + - title: TOML + page: config-sources/toml + - title: JSON + page: config-sources/json + - title: FileSystem + page: config-sources/filesystem + - title: ZooKeeper + page: config-sources/zookeeper + - title: HOCON + page: config-sources/hocon + - title: KeyStore + page: config-sources/keystore +- title: Converters + items: + - title: Custom + page: converters/custom +- title: Extensions + items: + - title: Interceptors + page: extensions/interceptors + - title: Fallback + page: extensions/fallback + - title: Relocate + page: extensions/relocate + - title: Logging + page: extensions/logging diff --git a/content/docs/smallrye-config/latest/assets/smallrye-icon.svg b/content/docs/smallrye-config/latest/assets/smallrye-icon.svg new file mode 100644 index 000000000..c10b011e0 --- /dev/null +++ b/content/docs/smallrye-config/latest/assets/smallrye-icon.svg @@ -0,0 +1,21 @@ + + + + + SmallRye Icon + + + + + + + + + diff --git a/content/docs/smallrye-config/latest/config-sources/custom.adoc b/content/docs/smallrye-config/latest/config-sources/custom.adoc new file mode 100644 index 000000000..bd9cc1444 --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/custom.adoc @@ -0,0 +1,166 @@ += Config Sources +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Custom `ConfigSource` + +It’s possible to create a custom ConfigSource as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config]. + +With a Custom `ConfigSource` it is possible to read additional configuration values and add them to the `Config` +instance in a defined ordinal. This allows overriding values from other sources or falling back to other values. + +A custom `ConfigSource` requires an implementation of `org.eclipse.microprofile.config.spi.ConfigSource` or +`org.eclipse.microprofile.config.spi.ConfigSourceProvider`. Each implementation requires registration via the +`ServiceLoader` mechanism, either in `META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource` or +`META-INF/services/org.eclipse.microprofile.config.spi.ConfigSourceProvider` files. + +Consider a simple in-memory ConfigSource: + +[source,java] +---- +package org.acme.config; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +public class InMemoryConfigSource implements ConfigSource { + private static final Map configuration = new HashMap<>(); + + static { + configuration.put("my.prop", "1234"); + } + + @Override + public int getOrdinal() { + return 350; + } + + @Override + public Set getPropertyNames() { + return configuration.keySet(); + } + + @Override + public String getValue(final String propertyName) { + return configuration.get(propertyName); + } + + @Override + public String getName() { + return InMemoryConfigSource.class.getSimpleName(); + } +} +---- + +And registration in: + +.META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource +[source,properties] +---- +org.acme.config.InMemoryConfigSource +---- + +The `InMemoryConfigSource` will be ordered between the `System properties` config source, and the +`Environment variables` config source due to the `350` ordinal. + +In this case, `my.prop` from `InMemoryConfigSource` will only be used if the `Config` instance is unable to find a +value in `System Properties`, ignoring all the other lower ordinal config sources. + +== `ConfigSourceFactory` + +Another way to create a `ConfigSource` is via the SmallRye Config `io.smallrye.config.ConfigSourceFactory` API. The +difference between the SmallRye Config factory and the standard way to create a `ConfigSource` as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config], is the factory ability to provide a context +with access to the current configuration. + +Each implementation of `io.smallrye.config.ConfigSourceFactory` requires registration via the `ServiceLoader` mechanism +in the `META-INF/services/io.smallrye.config.ConfigSourceFactory` file. + +[source,java] +---- +package org.acme.config; + +import java.util.Collections; +import java.util.OptionalInt; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import io.smallrye.config.ConfigSourceContext; +import io.smallrye.config.ConfigSourceFactory; +import io.smallrye.config.ConfigValue; +import io.smallrye.config.PropertiesConfigSource; + +public class URLConfigSourceFactory implements ConfigSourceFactory { + @Override + public Iterable getConfigSources(final ConfigSourceContext context) { + final ConfigValue value = context.getValue("config.url"); + if (value == null || value.getValue() == null) { + return Collections.emptyList(); + } + + try { + return Collections.singletonList(new PropertiesConfigSource(new URL(value.getValue()))); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public OptionalInt getPriority() { + return OptionalInt.of(290); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceFactory +[source,properties] +---- +org.acme.config.URLConfigSourceFactory +---- + +By implementing `io.smallrye.config.ConfigSourceFactory`, a list of `ConfigSource` may be provided via the +`Iterable++<++ConfigSource++>++ getConfigSources(ConfigSourceContext context)` method. The `ConfigSourceFactory` may also +assign a priority by overriding the method `OptionalInt getPriority()`. The priority value is used to sort multiple +`io.smallrye.config.ConfigSourceFactory` (if found). Higher the value, higher the priority. + +[WARNING] +==== + +The `io.smallrye.config.ConfigSourceFactory` priority does not affect the `ConfigSource` ordinal. These are sorted +independently. + +==== + +When the Factory is initializing, the provided `ConfigSourceContext` may call the method +`ConfigValue getValue(String name)`. This method looks up configuration names in all `ConfigSource`s that were already +initialized by the `Config` instance, including sources with lower ordinals than the ones defined in the +`ConfigSourceFactory`. This means that a `Config` instance is initialized in two steps: first all `ConfigSource` and +`ConfigSourceProvider` and then the `ConfigSourceFactory`. Only configuation values found in the first step are avaible +to the ++`++ConfigSourceFactory. + +The `ConfigSource` list provided by a `ConfigSourceFactory` is not taken into consideration to +configure other sources produced by a lower priority `ConfigSourceFactory`. + +== Override `ConfigSource` ordinal + +The special configuration property name `config++_++ordinal` can be set in any `ConfigSource` to override its default +ordinal. + +For instance, setting the system property `-Dconfig++_++ordinal=200` will override the ordinal for the `System properties` +config source and move it to be looked up after the `Environment Variables` config source. + +== Properties + +The https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/PropertiesConfigSource.java[PropertiesConfigSource] +creates a `ConfigSource` from Java `Properties`, `Map++<++String, String++>++` objects or a `.properties` file (referenced by +its URL). + +== `.env` + +The https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/DotEnvConfigSourceProvider.java[DotEnvConfigSourceProvider] create a `ConfigSource` from a `.env` file. diff --git a/content/docs/smallrye-config/latest/config-sources/factories.adoc b/content/docs/smallrye-config/latest/config-sources/factories.adoc new file mode 100644 index 000000000..a3c26281c --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/factories.adoc @@ -0,0 +1,130 @@ += Config Source Factory +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Another way to create a `ConfigSource` is via the `ConfigSourceFactory`. The difference between the SmallRye Config +Factory and the standard way to make a `ConfigSource` as specified in MicroProfile Config is the Factory's ability to +provide a context with access to the available configuration. With the `ConfigSourceFactory` it is possible to +bootstrap a `ConfigSource` that configures itself with previously initialized `ConfigSource's`. + +By implementing +https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/ConfigSourceFactory.java[ConfigSourceFactory], +a list of `ConfigSource's` may be provided via the `Iterable++<++ConfigSource++>++ getConfigSources(ConfigSourceContext context)` method. The `ConfigSourceFactory` may also +assign a priority by overriding the default method `OptionalInt getPriority()`. The priority only sorts the factories +during initialization. After initialization, the provided `ConfigSources` will use their own ordinal and sorted with +all `ConfigSources` available in the `Config` instance. + +When the Factory initializes, the provided `ConfigSourceContext` may call the method +`ConfigValue getValue(String name)`. This method looks up configuration names in all `ConfigSource's` already +initialized by the `Config` instance, including sources with lower ordinals than the ones defined in the +`ConfigSourceFactory`. The `ConfigSourceFactory` does not consider `ConfigSources's` provided by other +`ConfigSourceFactory's` (the priority does not matter). + +Registration of a `ConfigSourceFactory` is done via the `ServiceLoader` mechanism by providing the +implementation classes in a `META-INF/services/io.smallrye.config.ConfigSourceFactory` file. Alternatively, factories +may be registered via the Programmatic API in `SmallRyeConfigBuilder#withSources`. + +A `ConfigSourceFactory` requires an implementation of `io.smallrye.config.ConfigSourceFactory`. Each implementation +requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceFactory` file. Alternatively, interceptors may be registered via the +Programmatic API in `SmallRyeConfigBuilder#withSources`. + +[source,java] +---- +package org.acme.config + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.Collections; +import java.util.List; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import io.smallrye.config._private.ConfigMessages; +import io.smallrye.config.PropertiesConfigSource; +import io.smallrye.config.ConfigSourceContext; +import io.smallrye.config.ConfigSourceFactory; +import io.smallrye.config.ConfigValue; + +public class FileSystemConfigSourceFactory implements ConfigSourceFactory { + @Override + public Iterable getConfigSources(final ConfigSourceContext context) { + final ConfigValue value = context.getValue("org.acme.config.file.locations"); + if (value == null || value.getValue() == null) { + return Collections.emptyList(); + } + + try { + return List.of(new PropertiesConfigSource(toURL(value.getValue()), 250)); + } catch (IOException e) { + return Collections.emptyList(); + } + } + + private URL toURL(final String value) { + try { + return new URI(value).toURL(); + } catch (URISyntaxException | MalformedURLException e) { + throw ConfigMessages.msg.uriSyntaxInvalid(e, value); + } + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceFactory +[source,properties] +---- +org.acme.config.FileSystemConfigSourceFactory +---- + +The `FileSystemConfigSourceFactory` look ups the configuration value for `org.acme.config.file.locations`, and uses it +to set up an additional `ConfigSource`. + +== `ConfigurableConfigSourceFactory` + +A `ConfigurableConfigSourceFactory` accepts a `@ConfigMapping` interface to configure the `ConfigSource`, removing the +need to look up configuration values manually via `ConfigSourceContext`: + +[source,java] +---- +@ConfigMapping(prefix = "org.acme.config.file") +interface FileSystemConfig { + List locations(); +} +---- + +[source,java] +---- +public class FileSystemConfigurableConfigSourceFactory implements ConfigurableConfigSourceFactory { + @Override + public Iterable getConfigSources(ConfigSourceContext context, FileSystemConfig config) { + List sources = new ArrayList<>(); + for (URL url : config.locations()) { + try { + sources.add(new PropertiesConfigSource(url, 250)); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + return sources; + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceFactory +[source,properties] +---- +org.acme.config.FileSystemConfigurableConfigSourceFactory +---- + +The `ConfigMapping` interface is automatically populated from all `ConfigSource`s already initialized at the time the +factory runs. Values are resolved using the same two-step initialization as a regular `ConfigSourceFactory`: sources +from `ConfigSource` / `ConfigSourceProvider` registrations are available, but sources from other +`ConfigSourceFactory` implementations are not. diff --git a/content/docs/smallrye-config/latest/config-sources/filesystem.adoc b/content/docs/smallrye-config/latest/config-sources/filesystem.adoc new file mode 100644 index 000000000..66e16db05 --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/filesystem.adoc @@ -0,0 +1,51 @@ += FileSystem Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source loads configuration values for each file found in a directory. Each file corresponds to a single +property, where the file name is the configuration property name and the file content the configuration value. + +For instance, if a directory structure looks like: + +.... +foo/ +|__num.max +|__num.size +.... + +The `FileSystem` Config Source will provide 2 properties: + +* num.max +* num.size + +[WARNING] +==== + +Nested directories are not supported. + +==== + +This Config Source can be used to read configuration from +https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap[Kubernetes ConfigMap]. Check the +https://github.com/smallrye/smallrye-config/blob/main/examples/configmap/README.adoc[Kubernetes ConfigMap ConfigSource Example]. + +The same mapping rules as defined for environment variables are applied, so the `FileSystem` Config Source will search +for a given property name `num.max`: + +* Exact match (`num.max`) +* Replace each character that is neither alphanumeric nor ++_++ with ++_++ (`num++_++max`) +* Replace each character that is neither alphanumeric nor ++_++ with ++_++; then convert the name to upper case (`NUM++_++MAX`) + +The following dependency is required in the classpath to use the `FileSystem` Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-file-system + {version} + +---- + +The configuration property `smallrye.config.source.file.locations` sets the directory paths to look up the files. It +accepts multiple locations separated by a comma and each must represent a valid URI to a directory. diff --git a/content/docs/smallrye-config/latest/config-sources/hocon.adoc b/content/docs/smallrye-config/latest/config-sources/hocon.adoc new file mode 100644 index 000000000..23b29b437 --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/hocon.adoc @@ -0,0 +1,46 @@ += HOCON Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use the https://github.com/lightbend/config/blob/main/HOCON.md[HOCON] file format to +load configuration values. The HOCON Config Source loads the +configuration from the file `META-INF/microprofile-config.conf`. It has a lower ordinal (`50`) than the +`microprofile-config.properties`. + +The following dependency is required in the classpath to use the HOCON Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-hocon + {version} + +---- + +Expressions defined as `$++{++value}` (unquoted) are resolved internally by the HOCON Config Source as described in the +https://github.com/lightbend/config/blob/main/HOCON.md#substitutions[HOCON Substitutions] documentation. Quoted +Expressions defined as `"$++{++value}"` are resolved by xref:config/expressions.adoc[SmallRye Config Property Expressions]. + +Consider: + +*hocon.conf* + +[source,conf] +---- +{ + foo: "bar", + hocon: ${foo}, + config: "${foo}" +} +---- + +*application.properties* + +[source,properties] +---- +config_ordinal=1000 +foo=baz +---- + +The value of `hocon` is `bar` and the value of `config` is `baz` (if the properties source has a higher ordinal). diff --git a/content/docs/smallrye-config/latest/config-sources/json.adoc b/content/docs/smallrye-config/latest/config-sources/json.adoc new file mode 100644 index 000000000..54fe1a808 --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/json.adoc @@ -0,0 +1,6 @@ += JSON Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The xref:config-sources/yaml.adoc[YAML Config Source] also accepts the JSON format as its contents. The configuration file +`META-INF/microprofile-config.yaml`, still requires to use the `yaml` extension. diff --git a/content/docs/smallrye-config/latest/config-sources/keystore.adoc b/content/docs/smallrye-config/latest/config-sources/keystore.adoc new file mode 100644 index 000000000..19c2dac49 --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/keystore.adoc @@ -0,0 +1,67 @@ += KeyStore Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use a Java `KeyStore` to load configuration values. It uses an ordinal of `100`. + +The following dependency is required in the classpath to use the KeyStore Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-keystore + {version} + +---- + +== Create a KeyStore + +The following command creates a simple KeyStore + +[source,bash] +---- +keytool -importpass -alias my.secret -keystore keystore -storepass secret -storetype PKCS12 -v +---- + +The `-alias my.secret` stores the configuration property name `my.secret` in the KeyStore. The command will +interactively ask for the value to be stored in the KeyStore. + +== Read the KeyStore + +The KeyStore Config Source supports reading multiple keystore files: + +[source,properties] +---- +smallrye.config.source.keystore.one.path=keystore-one +smallrye.config.source.keystore.one.password=password + +smallrye.config.source.keystore.two.path=keystore-two +smallrye.config.source.keystore.two.password=password +---- + +The names are arbitrary and can be any name. The name `one` and `two` are used to distinguish both KeyStores. + +If a stored configuration property requires a xref:config/secret-keys.adoc[Secret Handler] to decode a value, set +the handler name with `smallrye.config.source.keystore."name".handler`. + +== Configuration + +[width="100%",cols="95%,2%,3%",options="header",] +|=== +|Configuration Property |Type |Default +|`smallrye.config.source.keystore."name".path` + +The KeyStore path. |String | +|`smallrye.config.source.keystore."name".password` + +The KeyStore password. |String | +|`smallrye.config.source.keystore."name".type` + +The KeyStore type. |String |`PKCS12` +|`smallrye.config.source.keystore."name".handler` + +An Optional secret keys handler. |String | +|`smallrye.config.source.keystore."name".aliases."key".name` + +An Optional aliases key name. |String | +|`smallrye.config.source.keystore."name".aliases."key".password` + +An Optional aliases key password. |String | +|`smallrye.config.source.keystore."name".aliases."key".handler` + +An Optional aliases key secret keys handler. |String | +|=== diff --git a/content/docs/smallrye-config/latest/config-sources/locations.adoc b/content/docs/smallrye-config/latest/config-sources/locations.adoc new file mode 100644 index 000000000..84bdc6c76 --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/locations.adoc @@ -0,0 +1,82 @@ += Locations +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Additionally, to the default config locations specified by the +https://github.com/eclipse/microprofile-config/[MicroProfile Config] specification, SmallRye Config provides a way to +scan additional locations for configuration properties files. + +The `smallrye.config.locations` configuration property accepts multiple locations separated by a comma `,` and each +ust represent a valid `URI`. The supported `URI` schemes are: + +* file or directory (`file:`) +* classpath resource +* jar resource (`jar:`) +* http resource (`http:`) + +Each `URI` scheme loads all discovered resources in a `ConfigSource`. All loaded sources use the same ordinal of the +source that found the `smallrye.config.locations` configuration property. For instance, if `smallrye.config.locations` +is set as a system property, then all loaded sources have their ordinals set to `400` (system properties use `400` as +their ordinal). The ordinal may be overridden directly in the resource by setting the `config++_++ordinal` property. +Sources are sorted first by their ordinal, then by location order, and finally by loading order. + +If a profile is active, and the `URI` represents a single resource (for instance a file), then resources that match +the active profile are also loaded. The profile resource name must follow the pattern: `++{++location}-++{++profile}`. A +profile resource is only loaded if the unprofiled resource is also available in the same location. This is to keep a +consistent loading order and pair all the resources together. + +Profile resources are not taken into account if the location is a directory since there is no reliable way to discover +which file is the main resource. Properties that use the profile prefix syntax `%profile.` will work as expected. + +_All properties files from a directory_ + +[source,properties] +---- +# loads all files from a relative path +smallrye.config.locations=./src/main/resources/ + +# loads all files from an absolute path +smallrye.config.locations=/user/local/config +---- + +For relative paths, the JVM `user.dir` property defines the current directory. + +_A specific file_ + +../src/main/resources/additional.properties + +[source,properties] +---- +smallrye.config.locations=./src/main/resources/additional.properties +---- + +If a profile `dev` is active, and an `additional-dev.properties` file exists, this will also be loaded. + +_All `additional.properties` files from the classpath_ + +.additional.properties +[source,properties] +---- +smallrye.config.locations=additional.properties +---- + +If a profile `prod` is active, and an `additional-prod.properties` resources exists next to the `additional.properties` +resource, this will also be loaded. + +_The `resources.properties` file from a specific jar_ + +.jar:file:///user/local/app/lib/resources-.jar!/resources.properties +[source,properties] +---- +smallrye.config.locations=jar:file:///user/local/app/lib/resources-.jar!/resources.properties +---- + +If a profile `test` is active, and an `additional-test.properties` resource exists, this will also be loaded. + +_The `config.properties` file from a web server_ + +.http://localhost:8080/config/config.properties +[source,properties] +---- +smallrye.config.locations=http://localhost:8080/config/config.properties +---- diff --git a/content/docs/smallrye-config/latest/config-sources/toml.adoc b/content/docs/smallrye-config/latest/config-sources/toml.adoc new file mode 100644 index 000000000..84319a738 --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/toml.adoc @@ -0,0 +1,22 @@ += TOML Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use a https://toml.io[TOML] file to load configuration values. The TOML Config Source +loads the configuration from the following files: + +[arabic] +. (`265`) `application.toml` in `config` folder, located in the current working directory +. (`255`) `application.toml` in the classpath +. (`110`) MicroProfile Config configuration file `META-INF/microprofile-config.toml` in the classpath + +The following dependency is required in the classpath to use the TOML Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-toml + {version} + +---- diff --git a/content/docs/smallrye-config/latest/config-sources/yaml.adoc b/content/docs/smallrye-config/latest/config-sources/yaml.adoc new file mode 100644 index 000000000..0c8bb5e3f --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/yaml.adoc @@ -0,0 +1,21 @@ += YAML Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use a `yaml` file to load configuration values. The YAML Config Source loads the configuration from the following files: + +[arabic] +. (`265`) `application.yaml++|++yml` in `config` folder, located in the current working directory +. (`255`) `application.yaml++|++yml` in the classpath +. (`110`) MicroProfile Config configuration file `META-INF/microprofile-config.yaml++|++yml` in the classpath + +The following dependency is required in the classpath to use the YAML Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-yaml + {version} + +---- diff --git a/content/docs/smallrye-config/latest/config-sources/zookeeper.adoc b/content/docs/smallrye-config/latest/config-sources/zookeeper.adoc new file mode 100644 index 000000000..37f27785d --- /dev/null +++ b/content/docs/smallrye-config/latest/config-sources/zookeeper.adoc @@ -0,0 +1,30 @@ += ZooKeeper Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows using https://zookeeper.apache.org/index.html[Apache ZooKeeper] to load configuration +values. + +The following dependency is required in the classpath to use the ZooKeeper Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-zookeeper + {version} + +---- + +It also requires to set up additional configuration properties to identify the ZooKeeper instance: + +[source,properties] +---- +io.smallrye.configsource.zookeeper.url=localhost:2181 +io.smallrye.configsource.zookeeper.applicationId=applicationId +---- + +The ZooKeeper Config Source will look for configuration values in a ZooKeeper instance running in the url set in +`io.smallrye.configsource.zookeeper.url` and in the znodes available in `/applicationId/`. + +This Config Source has an ordinal of `150`. diff --git a/content/docs/smallrye-config/latest/config/config-value.adoc b/content/docs/smallrye-config/latest/config/config-value.adoc new file mode 100644 index 000000000..63d58d715 --- /dev/null +++ b/content/docs/smallrye-config/latest/config/config-value.adoc @@ -0,0 +1,8 @@ += Config Value +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.ConfigValue` is a metadata object that holds additional information after the lookup of a +configuration property. It is able to hold information of configuration property name, value, profile, the +`ConfigSource` from where the configuration was loaded, the ordinal of the `ConfigSource` and a line number from where +the configuration was loaded if exists. diff --git a/content/docs/smallrye-config/latest/config/configuration.adoc b/content/docs/smallrye-config/latest/config/configuration.adoc new file mode 100644 index 000000000..cb7a1b582 --- /dev/null +++ b/content/docs/smallrye-config/latest/config/configuration.adoc @@ -0,0 +1,20 @@ += Configuration Reference +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[width="100%",cols="92%,4%,4%",options="header",] +|=== +|Configuration Property |Type |Default +|`smallrye.config.profile` + +The main xref:config/profiles.adoc[Profile] to activate. |String++[]++ | +|`smallrye.config.profile.parent` + +The parent xref:config/profiles.adoc#parent-profile[Profile] to activate. |String | +|`smallrye.config.locations` + +xref:config-sources/locations.adoc[Additional config locations] to be loaded with the Config. The configuration supports multiple locations separated by a comma and each must represent a valid `java.net.URI`. |URI++[]++ | +|`smallrye.config.mapping.validate-unknown` + +xref:config/mappings.adoc#retrieval[Validates] that a `@ConfigMapping` maps every available configuration name contained in the mapping prefix. |boolean |true +|`smallrye.config.secret-handlers` + +The names of the secret handlers to be loaded. A value of `all` loads all available secret handlers and a value of `none` skips the load. |String++[]++ |all +|`smallrye.config.log.values` + +Enable logging of configuration values lookup in DEBUG log level. |boolean |false +|=== diff --git a/content/docs/smallrye-config/latest/config/customizer.adoc b/content/docs/smallrye-config/latest/config/customizer.adoc new file mode 100644 index 000000000..e841a645b --- /dev/null +++ b/content/docs/smallrye-config/latest/config/customizer.adoc @@ -0,0 +1,49 @@ += Customizer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +A `SmallRyeConfigBuilderCustomizer` allows to customize a `SmallRyeConfigBuilder`, used to create the `SmallRyeConfig` +instance. + +Registration of a `SmallRyeConfigBuilderCustomizer` is done via the `ServiceLoader` mechanism by providing the +implementation classes in a `META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer` file. Alternatively, +customizers may be registered via the Programmatic API in `SmallRyeConfigBuilder#withCustomizers`. + +The `SmallRyeConfigBuilderCustomizer` may also +assign a priority by overriding the default method `int priority()`. Customizers are sorted by ascending priority and +executed in that order, meaning that higher numeric priorities will execute last, possible overriding values set by +previous customizers. + +.CustomConfigBuilder +[source,java] +---- +package org.acme.config; + +import io.smallrye.config.SmallRyeConfigBuilder; +import io.smallrye.config.SmallRyeConfigBuilderCustomizer; + +public class CustomConfigBuilder implements SmallRyeConfigBuilderCustomizer { + @Override + public void configBuilder(final SmallRyeConfigBuilder builder) { + builder.withDefaultValue("my.default", "1234"); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer +[source,properties] +---- +org.acme.config.CustomConfigBuilder +---- + +The `CustomConfigBuilder` will be executed when creating a new `SmallRyeConfig` from a `SmallRyeConfigBuilder`: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder().build(); +config.getValue("my.default", int.class); +---- + +A look up to `my.default` returns the value `1234`, registered by the `CustomConfigBuilder`. diff --git a/content/docs/smallrye-config/latest/config/environment-variables.adoc b/content/docs/smallrye-config/latest/config/environment-variables.adoc new file mode 100644 index 000000000..15579d8e6 --- /dev/null +++ b/content/docs/smallrye-config/latest/config/environment-variables.adoc @@ -0,0 +1,80 @@ += Environment Variables +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Environment Variable names follow the conversion rules specified by https://github.com/eclipse/microprofile-config/blob/master/spec/src/main/asciidoc/configsources.asciidoc#default-configsources[MicroProfile Config]. + +SmallRye Config specifies additional conversion rules: + +* A property with double quotes `foo."bar".baz` or `foo.bar."baz"`, replace each character that is neither alphanumeric +nor `++_++` with `++_++`: `FOO++__++BAR++__++BAZ` or `FOO++_++BAR++__++BAZ++_++` ; +* A property with dashes `foo.bar-baz`, replace each character that is neither alphanumeric nor `++_++` +with `++_++`: `FOO++_++BAR++_++BAZ` +* An indexed property `foo.bar++[++0++]++` or `foo.bar++[++0++]++.baz`, replace each character that is neither alphanumeric nor `++_++` +with `++_++`: `FOO++_++BAR++_++0++_++` or `FOO++_++BAR++_++0++__++BAZ`. + +[CAUTION] +==== + +Environment Variables format cannot represent the entire spectrum of common property names. + +==== + +The lookup of configuration values from Environment Variables will always use the dotted format name. For +instance, the lookup of the Environment Variable `FOO++_++BAR` value, requires the property name `foo.bar`: + +[source,java] +---- +Config config = Config.getOrCreate(); +String value = config.getValue("foo.bar", String.class); +---- + +When SmallRyeConfig performs the lookup on the Environment Variables Config Source, it applies the conversion rules to +find the matching property name and retrieve the value. + +In some situations, looking up the exact property name is impossible. For instance, when SmallRye Config has to look up +a configuration that is part of a `Map`, and the property name contains a dynamic segment (a `Map` key). In this case, +SmallRye Config relies upon each source's list of property names. These must be converted back to their most likely +dotted format for Environment Variables. + +By default, the underscore `++_++` of an Environment Variable name always maps to a dot `.`. If the property name +contains a dash or some other special character, that property name can be specified in another Config +Source, with the expected dotted format. It will provide additional information to SmallRye Config to perform a +two-way conversion and match the property names. + +Consider: + +..env + +[source,console] +---- +FOO_BAR_BAZ=VALUE +---- + +Will map to `foo.bar.baz` and value `value`. + +If `foo.bar-baz` is available in any source: + +..env + +[source,console] +---- +FOO_BAR_BAZ=VALUE +---- + +.application.properties +[source,properties] +---- +foo.bar-baz=default +---- + +Will map to `foo.bar-baz` and value `value`. + +[NOTE] +==== + +The property name in dotted format needs to exist somewhere to provide this additional information. It can be set in a +low ordinal source, even without value. The Environment Variables source will override the value and map the correct +configuration name. + +==== diff --git a/content/docs/smallrye-config/latest/config/expressions.adoc b/content/docs/smallrye-config/latest/config/expressions.adoc new file mode 100644 index 000000000..f76d0df5c --- /dev/null +++ b/content/docs/smallrye-config/latest/config/expressions.adoc @@ -0,0 +1,75 @@ += Property Expressions +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config provides property expressions expansion on configuration values. An expression string is a mix of plain +strings and expression segments, which are wrapped by the sequence $++{++ ... }. + +For instance, the following configuration properties file: + +[source,properties] +---- +remote.host=smallrye.io +callable.url=https://${remote.host}/ +---- + +The resolved value of the `callable.url` property is `https://smallrye.io/`. + +Additionally, the Expression Expansion engine supports the following segments: + +* `$++{++expression:value}` - Provides a default value after the `:` if the expansion doesn’t find a value. +* `$++{++my.prop$++{++compose}}` - Composed expressions. Inner expressions are resolved first. +* `$++{++my.prop}$++{++my.prop}` - Multiple expressions. + +If an expression cannot be expanded and no default is supplied a `NoSuchElementException` is thrown. + +== Escaping + +A `$` that begins an expression segment can be escaped with a backslash to treat it as a literal character: + +[source,properties] +---- +# value is: ${my.prop} +expression=\${my.prop} +---- + +A backslash that immediately precedes a `$` can itself be escaped with another backslash: + +[source,properties] +---- +# my.prop=value +# value is: \value +expression=\\${my.prop} +---- + +Escaping only applies to values that contain an expression segment. In a value that has no `$++{++ ... }` segment, +every backslash is treated as a literal character and nothing needs escaping (for example, a Windows path such as +`C:++\++some++\++path` is used as-is). + +As soon as a value contains an expression segment, the whole value is processed for escapes and backslash becomes an +escape character everywhere in it, not just before a `$`. Standard escape sequences are interpreted (`++\++n`, `++\++r`, `++\++t`, +`++\++b`, `++\++f`) and a backslash before any other character is dropped. To keep a literal backslash in such a value, double +it: + +[source,properties] +---- +# value is: C:\some\path\value (my.prop=value) +expression=C:\\some\\path\\${my.prop} +---- + +== Disabling Expansion + +Expression expansion may be selectively disabled for a block of code using `io.smallrye.config.Expressions.withoutExpansion()`. +The raw (unexpanded) value is returned for any property looked up within the block: + +[source,properties] +---- +callable.url=https://${remote.host}/ +---- + +[source,java] +---- +Config config = Config.getOrCreate(); +// returns "https://${remote.host}/" +String url = Expressions.withoutExpansion(() -> config.getValue("callable.url", String.class)); +---- diff --git a/content/docs/smallrye-config/latest/config/getting-started.adoc b/content/docs/smallrye-config/latest/config/getting-started.adoc new file mode 100644 index 000000000..d2eb46c6d --- /dev/null +++ b/content/docs/smallrye-config/latest/config/getting-started.adoc @@ -0,0 +1,182 @@ += Getting Started +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Config Sources + +By default, SmallRye Config reads configuration properties from multiple configuration sources (by descending ordinal): + +[arabic] +. (`400`) System properties +. (`300`) Environment variables +. (`295`) `.env` file in the current working directory +. (`260`) `application.properties` in `config` folder, located in the current working directory +. (`250`) `application.properties` in the classpath +. (`100`) MicroProfile Config configuration file `META-INF/microprofile-config.properties` in the classpath + +A configuration source is handled by a `ConfigSource`. A `ConfigSource` provides configuration values from a specific +place. + +The final configuration is the aggregation of the properties defined by all these sources. A configuration property +lookup starts by the highest ordinal configuration source available and works it way down to other sources until a +match is found. This means that any configuration property may override a value just by setting a different value in a +higher ordinal config source. For example, a property configured using an Environment Variable overrides the value +provided using the `microprofile-config.properties` file. + +=== System Properties + +System properties can be handed to the application through the `-D` flag during startup. For instance, +`java -Dmy.prop -jar my.jar`. + +=== Environment Variables + +Environment variables are set directly in the host operating system. Environment variables names follow the conversion +rules detailed by xref:config/environment-variables.adoc[Environment Variables]. + +=== MicroProfile Config configuration file + +The MicroProfile Config configuration file `META-INF/microprofile-config.properties` in the classpath. It follows the +standard convention for `properties` files. + +.META-INF/microprofile-config.properties +[source,properties] +---- +greeting.message=hello +goodbye.message=bye +---- + +=== Additional Config Sources + +SmallRye Config provides additional extensions which cover other configuration formats and stores: + +* xref:config-sources/yaml.adoc[YAML] +* xref:config-sources/filesystem.adoc[File System] +* xref:config-sources/zookeeper.adoc[ZooKeeper] +* xref:config-sources/hocon.adoc[HOCON] + +It is also possible to create a xref:config-sources/custom.adoc[Custom ConfigSource]. + +== Retrieving the Configuration + +=== Programmatically + +The `io.smallrye.config.Config#getOrCreate()` API allows to access the `io.smallrye.config.Config` API +programmatically: + +[source,java] +---- +import io.smallrye.config.Config; + +Config config = Config.getOrCreate(); +String message = config.getValue("greeting.message", String.class); +---- + +The `Config` instance will be created and registered to the current context class loader if no such configuration is +already created and registered. This means that subsequent calls to `Config.getOrCreate()` or +`Config.get()` will return the same `Config` instance if the context class loader is the same. + +To obtain a detached instanced, use the `io.smallrye.config.SmallRyeConfigBuilder`: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .addDefaultInterceptors() + .addDefaultSources() + .build(); + +String message = config.getValue("greeting.message", String.class); +---- + +=== With CDI + +In a CDI environment, configuration can be injected in CDI aware beans with `@Inject` and +the `org.eclipse.microprofile.config.inject.ConfigProperty` qualifier. + +[source,java] +---- +@Inject +@ConfigProperty(name = "greeting.message") +String message; + +@Inject +@ConfigProperty(name = "greeting.suffix", defaultValue="!") +String suffix; + +@Inject +@ConfigProperty(name = "greeting.name") +Optional name; + +@Inject +SmallRyeConfig config; +---- + +* If a value if not provided for this `greeting.message`, the application startup fails with a +`jakarta.enterprise.inject.spi.DeploymentException: No config value of type ++[++class java.lang.String++]++ exists for: greeting.message`. +* The default value `!` is injected if the configuration does not provide a value for `greeting.suffix`. +* The property `greeting.name` is optional - an empty Optional is injected if the configuration does not provide a +value for it. + +== Override Config + +It is possible to override `Config` default initialization `Config.getOrCreate()`, by extending +`io.smallrye.config.SmallRyeConfigFactory` and registering the implementation with the `ServiceLoader` mechanism. + +== Config vs SmallRyeConfig + +The `io.smallrye.config.Config` is an extension of `org.eclipse.microprofile.config.Config` and provides +additional APIs and helper methods not available in `org.eclipse.microprofile.config.Config`. To obtain an instance of +`io.smallrye.config.Config`, the original `org.eclipse.microprofile.config.Config` can be unwrapped: + +[source,java] +---- +import io.smallrye.config.SmallRyeConfig; +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.config.ConfigProvider; + +Config config = ConfigProvider.getConfig(); +SmallRyeConfig smallRyeConfig = config.unwrap(SmallRyeConfig.class); +---- + +Or obtained directly: + +[source,java] +---- +Config config = Config.getOrCreate(); +---- + +A few notable APIs provided by `io.smallrye.config.Config` allow to: + +* Retrieve multiple values into a specified `Collection` +* Retrieve xref:config/indexed-properties.adoc[Indexed Values] +* Retrieve xref:config/mappings.adoc[Config Mappings] instances +* Retrieve the raw value of a configuration +* Check if a property is present +* Retrieve a `Converter` +* Convert values + +== Converters + +The `ConfigSource` retrieves a configuration value as a `String`. Other data types require a conversion using the +`org.eclipse.microprofile.config.spi.Converter` API. + +Most of the common `Converter` types are provided by default: + +* `boolean` and `java.lang.Boolean`; the values "true", "1", "YES", "Y" "ON" represent `true`. Any other value will be +interpreted as `false` +* `byte` and `java.lang.Byte` +* `short` and `java.lang.Short` +* `int`, `java.lang.Integer`, and `java.util.OptionalInt` +* `long`, `java.lang.Long`, and `java.util.OptionalLong` +* `float` and `java.lang.Float`; a dot '.' is used to separate the fractional digits +* `double`, `java.lang.Double`, and `java.util.OptionalDouble`; a dot '.' is used to separate the fractional digits +* `char` and `java.lang.Character` +* `java.lang.Class` based on the result of `Class.forName` +* `java.net.InetAddress` +* `java.util.UUID` +* `java.util.Currency` +* `java.util.regex.Pattern` +* `java.nio.file.Path` +* Any class with declared static methods `of`, `valueOf` or `parse` that take a `String` or a `CharSequence` +* Any class with declared constructors that takes a `String` or a `CharSequence` + +All default converters have a priority of `1`. diff --git a/content/docs/smallrye-config/latest/config/indexed-properties.adoc b/content/docs/smallrye-config/latest/config/indexed-properties.adoc new file mode 100644 index 000000000..78b32cc10 --- /dev/null +++ b/content/docs/smallrye-config/latest/config/indexed-properties.adoc @@ -0,0 +1,32 @@ += Indexed Properties +:version-root: ../ +include::{version-root}_attributes.adoc[] + +In https://github.com/eclipse/microprofile-config/[MicroProfile Config], a config value with unescaped commas may be +converted to `Collection`. It works for simple cases, but it becomes cumbersome and limited for more advanced use cases. + +Indexed Properties provide a way to use indexes in config property names to map specific elements in a `Collection` +type. Since the indexed element is part of the property name, it can also map complex object types. Consider: + +[source,properties] +---- +# MicroProfile Config - Collection Values +my.collection=dog,cat,turtle + +# SmallRye Config - Indexed Property +my.indexed.collection[0]=dog +my.indexed.collection[1]=cat +my.indexed.collection[2]=turtle +---- + +The indexed property syntax uses the property name and square brackets with an index in between. + +A call to `Config#getValues("my.collection", String.class)`, will automatically create and convert a `List++<++String++>++` +that contains the values `dog`, `cat` and `turtle`. A call to `Config#getValues("my.indexed.collection", String.class)` +returns the exact same result. The indexed property format is prioritized when both styles are found in the same +configuration source. When available in multiple sources, the higher ordinal source wins, like any other configuration +lookup. + +The indexed property is sorted by its index before being added to the target `Collection`. Any gaps in the indexes do +not resolve to the target `Collection`, which means that the `Collection` result will store all values without empty +elements. diff --git a/content/docs/smallrye-config/latest/config/instance-builder.adoc b/content/docs/smallrye-config/latest/config/instance-builder.adoc new file mode 100644 index 000000000..1bd05231f --- /dev/null +++ b/content/docs/smallrye-config/latest/config/instance-builder.adoc @@ -0,0 +1,234 @@ += Instance Builder +:version-root: ../ +include::{version-root}_attributes.adoc[] + +With the `io.smallrye.config.ConfigInstanceBuilder` API, it is possible to create instances of a configuration interface +programmatically, without requiring a `SmallRyeConfig` or any configuration source. This is useful for testing, default +configurations, or any scenario where configuration values are known at build time. + +== Usage + +A configuration interface instance is created with `ConfigInstanceBuilder.forInterface()`: + +[source,java] +---- +interface Server { + String host(); + + int port(); +} + +Server server = ConfigInstanceBuilder.forInterface(Server.class) + .with(Server::host, "localhost") + .with(Server::port, 8080) + .build(); +---- + +The builder uses method references to identify which property to set, providing compile-time type safety without +string-based property names. The `with` method accepts a method reference to the configuration interface member and the +value to set. + +[NOTE] +==== + +The configuration interface does not require the `@ConfigMapping` annotation to work with the builder. Any valid +configuration interface is accepted. + +==== + +== Primitive Types + +The builder provides dedicated `with()` overloads for `int`, `long`, `double`, and `boolean` primitive types. Other +primitive types (`byte`, `short`, `float`, `char`) are set via the generic `with()` method using their boxed types: + +[source,java] +---- +@ConfigMapping +interface Primitives { + int intValue(); + + boolean booleanValue(); + + byte byteValue(); +} + +Primitives primitives = ConfigInstanceBuilder.forInterface(Primitives.class) + .with(Primitives::intValue, 42) + .with(Primitives::booleanValue, true) + .with(Primitives::byteValue, Byte.valueOf((byte) 1)) + .build(); +---- + +== Optional Properties + +The `withOptional()` method sets optional properties. If an optional property is not set, it defaults to empty: + +[source,java] +---- +interface AppConfig { + Optional name(); + + OptionalInt timeout(); +} + +AppConfig config = ConfigInstanceBuilder.forInterface(AppConfig.class) + .withOptional(AppConfig::name, "MyApp") + .withOptional(AppConfig::timeout, 30) + .build(); +---- + +The `withOptional` method wraps the value in `Optional.of()`, `OptionalInt.of()`, `OptionalLong.of()`, or +`OptionalDouble.of()` depending on the property type. + +== Defaults + +Properties annotated with `io.smallrye.config.WithDefault` are automatically applied when no value is explicitly set +in the builder: + +[source,java] +---- +interface ServerDefaults { + @WithDefault("localhost") + String host(); + + @WithDefault("8080") + int port(); +} + +ServerDefaults server = ConfigInstanceBuilder.forInterface(ServerDefaults.class).build(); +---- + +The `ServerDefaults#host()` will return the value `localhost` and `ServerDefaults#port()` will return the value `8080`. + +Explicitly set values override the `@WithDefault` annotation: + +[source,java] +---- +ServerDefaults server = ConfigInstanceBuilder.forInterface(ServerDefaults.class) + .with(ServerDefaults::host, "0.0.0.0") + .build(); +---- + +The `ServerDefaults#host()` will return the value `0.0.0.0` and `ServerDefaults#port()` will return the value `8080`. + +== Nested Groups + +Nested configuration groups are built separately and composed into the parent builder: + +[source,java] +---- +interface AppConfig { + String name(); + + DatabaseConfig database(); +} + +interface DatabaseConfig { + String url(); + + int poolSize(); +} + +AppConfig config = ConfigInstanceBuilder.forInterface(AppConfig.class) + .with(AppConfig::name, "MyApp") + .with(AppConfig::database, ConfigInstanceBuilder.forInterface(DatabaseConfig.class) + .with(DatabaseConfig::url, "jdbc:h2:mem:test") + .with(DatabaseConfig::poolSize, 10) + .build()) + .build(); +---- + +If a nested group has `@WithDefault` values for all its members, the nested group instance is automatically built with +those defaults when not explicitly set in the builder. + +== Collections and Maps + +`List`, `Set`, and `Map` types are set directly with their values: + +[source,java] +---- +interface AppConfig { + List hosts(); + + Map labels(); +} + +AppConfig config = ConfigInstanceBuilder.forInterface(AppConfig.class) + .with(AppConfig::hosts, List.of("host1", "host2")) + .with(AppConfig::labels, Map.of("env", "prod", "region", "us-east")) + .build(); +---- + +Collections and Maps annotated with `@WithDefault` are automatically populated when not explicitly set. + +== Converters + +The builder uses the same converter mechanism as `SmallRyeConfig`. Converters are discovered via the +`java.util.ServiceLoader` mechanism, or can be registered explicitly with `ConfigInstanceBuilder.registerConverter()`: + +[source,java] +---- +ConfigInstanceBuilder.registerConverter(Duration.class, new MyDurationConverter()); +---- + +Properties annotated with `io.smallrye.config.WithConverter` use the specified converter for both `@WithDefault` value +conversion and any value set via the builder: + +[source,java] +---- +interface AppConfig { + @WithDefault("30s") + @WithConverter(DurationConverter.class) + Duration timeout(); + + @WithConverter(MemorySizeConverter.class) + MemorySize maxBodySize(); +} +---- + +[NOTE] +==== + +Converters registered with `registerConverter` are global and shared across all `ConfigInstanceBuilder` instances. + +==== + +== Required Properties + +Properties without a `@WithDefault` are considered required. Calling `build()` throws a `NoSuchElementException` if +any required property is missing: + +[source,java] +---- +interface Server { + String host(); + + @WithDefault("8080") + int port(); +} + +// Throws NoSuchElementException because host is required +ConfigInstanceBuilder.forInterface(Server.class).build(); + +// Works because host is provided +ConfigInstanceBuilder.forInterface(Server.class) + .with(Server::host, "localhost") + .build(); +---- + +== Builder Reuse + +A builder can be used to produce multiple instances. Each `build()` call creates a new independent instance: + +[source,java] +---- +ConfigInstanceBuilder builder = ConfigInstanceBuilder.forInterface(Server.class) + .with(Server::host, "localhost") + .with(Server::port, 8080); + +Server first = builder.build(); +Server second = builder.build(); +---- + +The `first` and `second` instances are equal but not the same object. Values set after a `build()` call affect only +subsequent builds. diff --git a/content/docs/smallrye-config/latest/config/map-support.adoc b/content/docs/smallrye-config/latest/config/map-support.adoc new file mode 100644 index 000000000..72b42740c --- /dev/null +++ b/content/docs/smallrye-config/latest/config/map-support.adoc @@ -0,0 +1,60 @@ += Map Support +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config allows injecting multiple configuration parameters as a `Map`. The configuration value syntax is +represented by `property.name.map-key=value` Consider: + +[source,properties] +---- +server.reasons.200=OK +server.reasons.201=Created +---- + +The previous configuration could be injected directly in a CDI Bean: + +With `@ConfigProperty` + +[source,java] +---- +@ApplicationScoped +public class ConfigBean { + @Inject + @ConfigProperty(name = "server.reasons") + Map reasons; +} +---- + +With `@ConfigProperties` + +[source,java] +---- +@ConfigProperties(prefix = "server") +public class Config { + Map reasons; +} +---- + +The `Map` will contains the keys `200` and `201`, which map to the values `OK` and `Created`. + +[NOTE] +==== + +Only the direct sub properties will be converted into a `Map` and +injected into the target bean, the rest will be ignored. In other words, +in the previous example, a property whose name is `reasons.200.a` would +be ignored as not considered as a direct sub property. + +==== + +[NOTE] +==== + +The property will be considered as missing if no direct sub properties +could be found. + +==== + +It is also possible to retrieve the `Map` programmatically by calling the methods +`SmallRyeConfig#getValues("server.reasons", Integer.class, String.class)` or +`SmallRyeConfig#getOptionalValues("server.reasons", Integer.class, String.class)`. diff --git a/content/docs/smallrye-config/latest/config/mappings.adoc b/content/docs/smallrye-config/latest/config/mappings.adoc new file mode 100644 index 000000000..b7454239f --- /dev/null +++ b/content/docs/smallrye-config/latest/config/mappings.adoc @@ -0,0 +1,860 @@ += Mappings +:version-root: ../ +include::{version-root}_attributes.adoc[] + +With SmallRye Config Mappings, it is possible to group multiple configuration properties in a single interface that +share the same prefix (or namespace). It supports the following set of features: + +* Automatic conversion of the configuration type, including `List`, `Set`, `Map`, `Optional` and primitive types. +* Nested Config Mapping groups. +* Configuration Properties Naming Strategies +* Integration with Bean Validation + +== Mapping Rules + +A complex object type uses the following rules to map configuration values to their member values: + +* A configuration path is built by taking the object type prefix (or namespace) and the mapping member name +* The member name is converted to its kebab-case format +* If the member name is represented as a getter, the member name is taken from its property name equivalent, and then +converted to its kebab-case format +* The configuration value is automatically converted to the member type +* The configuration path is required to exist with a valid configuration value or the mapping will fail + +[NOTE] +==== + +Kebab-case - the method name is derived by replacing case changes with a dash to map the configuration property. + +==== + +A Config Mapping requires an interface with minimal metadata configuration annotated with +`io.smallrye.config.ConfigMapping`: + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + String host(); + + int port(); +} +---- + +The `Server` interface is able to map configurations with the name `server.host` into the `Server#host()` method and +`server.port` into `Server#port()` method. The configuration property name to lookup is built from the prefix, and the +method name with `.` (dot) as the separator. + +[WARNING] +==== + +If a mapping fails to match a configuration property the config system throws a `NoSuchElementException`, unless +the mapped element is an `Optional`. + +==== + +The `@ConfigMapping` interface must obey the following rules: + +* A mapping method cannot accept parameters +* A mapping method return type cannot be void +* A mapping cannot use self-reference types +* `default` methods are allowed + +== Registration + +Registration of Config Mappings is automatic in CDI aware environments with the `@ConfigMapping` annotation. + +In non-CDI environments, the Config Mapping can be registered via `SmallRyeConfigBuilder#withMapping`. In this case, +the `@ConfigMapping` is completely optional (but recommendeded to set the prefix). + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .withMapping(Server.class) + .build(); +---- + +== Retrieval + +A config mapping interface can be injected into any CDI aware bean: + +[source,java] +---- +@ApplicationScoped +class BusinessBean { + @Inject + Server server; + + public void businessMethod() { + String host = server.host(); + } +} +---- + +In non-CDI environments, use the API `io.smallrye.config.SmallRyeConfig#getConfigMapping` to retrieve the config +mapping instance: + +[source,java] +---- +Config config = Config.getOrCreate(); +Server server = config.getConfigMapping(Server.class); +---- + +[NOTE] +==== + +Config Mapping instances are cached. They are populated when the `SmallRyeConfig` instance is initialized and +their values are not updated on `ConfigSource` changes. + +==== + +For a Config Mapping to be valid, it needs to match every configuration property name contained in the `Config` under +the specified prefix set in `@ConfigMapping`. This prevents unknown configuration properties in the `Config`. + +=== Disabling validation + +Validation can be disabled entirely in two ways: + +Via configuration property: + +[source,properties] +---- +smallrye.config.mapping.validate-unknown=false +---- + +Or programmatically via the builder: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .withMapping(Server.class) + .withValidateUnknown(false) + .build(); +---- + +=== Ignoring specific paths + +Rather than disabling validation entirely, specific paths can be ignored with +`SmallRyeConfigBuilder#withMappingIgnore`. The path argument supports three patterns: + +[cols=",",options="header",] +|=== +|Pattern |Meaning +|`foo.bar` |Ignores the exact configuration name `foo.bar` +|`foo.++*++` |Ignores all direct child names under `foo` +|`foo.++**++` |Ignores all names under `foo` at any level (recursive) +|=== + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .withMapping(Server.class) + .withMappingIgnore("server.foo") // ignore the exact name + .withMappingIgnore("server.extras.*") // ignore direct children of server.extras + .withMappingIgnore("server.legacy.**") // ignore everything under server.legacy + .build(); +---- + +Multiple calls to `withMappingIgnore` accumulate — each call adds to the set of ignored paths. + +== Defaults + +The `io.smallrye.config.WithDefault` annotation allows to set a default property value into a mapping (and prevent +errors if the configuration value is not available in any `ConfigSource`). + +[source,java] +---- +public interface Defaults { + @WithDefault("foo") + String foo(); + + @WithDefault("bar") + String bar(); +} +---- + +No configuration properties are required. The `Defaults#foo()` will return the value `foo` and `Defaults#bar()` will +return the value `bar`. + +== Nested Groups + +A nested mapping provides a way to map sub-groups of configuration properties. + +* A nested type contributes with its name (converted to its kebab-case format) +* The configuration path is built by taking the root object type prefix (or namespace), the nested type name and the +member name of the nested type + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + String host(); + + int port(); + + Log log(); + + interface Log { + boolean enabled(); + + String suffix(); + + boolean rotate(); + } +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.log.enabled=true +server.log.suffix=.log +server.log.rotate=false +---- + +The method name of a mapping group acts as a sub-prefix in the property name. In this case the matching property to +`Server.Log#enabled` is `server.log.enabled`. + +== Hierarchy + +A config mapping can extend another mapping and inherit all its super members: + +[source,java] +---- +public interface Parent { + String name(); +} + +@ConfigMapping(prefix = "child") +public interface Child extends Parent { + +} +---- + +And override members: + +[source,java] +---- +public interface Parent { + String name(); +} + +@ConfigMapping(prefix = "child") +public interface Child extends Parent { + @WithName("child-name") + String name(); +} +---- + +== Overriding property names + +=== `@WithName` + +If a method name and a property name do not match, the `io.smallrye.config.WithName` annotation can +override the method name mapping and use the name supplied in the annotation. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @WithName("name") + String host(); + + int port(); +} +---- + +[source,properties] +---- +server.name=localhost +server.port=8080 +---- + +=== `@WithParentName` + +The `io.smallrye.config.WithParentName` annotation allows configurations mappings to inherit its parent container name, +simplifying the configuration property name required to match the mapping. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @WithParentName + ServerHostAndPort hostAndPort(); + + @WithParentName + ServerInfo info(); +} + +interface ServerHostAndPort { + String host(); + + int port(); +} + +interface ServerInfo { + String name(); +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.name=konoha +---- + +Without the `@WithParentName` the method `ServerInfo#name` maps the configuration property `server.info.name`. With +`@WithParentName`, the `Server#info` mapping will inherit the parent name from `Server` and `ServerInfo#name` maps to +the property `server.name` instead. + +=== NamingStrategy + +Method names in camelCase map to kebab-case configuration property names by default. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + String theHost(); + + int thePort(); +} +---- + +[source,properties] +---- +server.the-host=localhost +server.the-port=8080 +---- + +The mapping strategy can be adjusted by setting `namingStrategy` value in the `@ConfigMapping` annotation. + +[source,java] +---- +@ConfigMapping(prefix = "server", namingStrategy = ConfigMapping.NamingStrategy.VERBATIM) +public interface ServerVerbatimNamingStrategy { + String theHost(); + + int thePort(); +} +---- + +[source,properties] +---- +server.theHost=localhost +server.thePort=8080 +---- + +The `@ConfigMapping` annotation support the following naming stategies: + +* KEBAB++_++CASE - The method name is derived by replacing case changes with a dash to map the configuration property. +* VERBATIM - The method name is used as is to map the configuration property. +* SNAKE++_++CASE - The method name is derived by replacing case changes with an underscore to map the configuration property. + +=== `beanStyleGetters` + +The `beanStyleGetters` attribute (default `false`) enables matching bean-style getter names (`get`/`is` prefixed) to +their property name equivalent. For example, `getHost()` and `isEnabled()` map to the properties `host` and `enabled` +respectively: + +[source,java] +---- +@ConfigMapping(prefix = "server", beanStyleGetters = true) +public interface Server { + String getHost(); + + int getPort(); + + boolean isEnabled(); +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.enabled=true +---- + +[WARNING] +==== + +Bean-style getter matching allows multiple method names to match the same configuration name. For instance, +`getFoo` and `isFoo` both match `foo`, which may not be intended. Prefer simple method names that match +one-to-one with their configuration names. + +==== + +== Conversion + +A config mapping interface support automatic conversions of all types available for conversion in `Config`. + +[source,java] +---- +@ConfigMapping +public interface SomeTypes { + @WithName("int") + int intPrimitive(); + + @WithName("int") + Integer intWrapper(); + + @WithName("long") + long longPrimitive(); + + @WithName("long") + Long longWrapper(); + + @WithName("float") + float floatPrimitive(); + + @WithName("float") + Float floatWrapper(); + + @WithName("double") + double doublePrimitive(); + + @WithName("double") + Double doubleWrapper(); + + @WithName("char") + char charPrimitive(); + + @WithName("char") + Character charWrapper(); + + @WithName("boolean") + boolean booleanPrimitive(); + + @WithName("boolean") + Boolean booleanWrapper(); +} +---- + +[source,properties] +---- +int=9 +long=9999999999 +float=99.9 +double=99.99 +char=c +boolean=true +---- + +This is also valid for `Optional` and friends. + +[source,java] +---- +@ConfigMapping +public interface Optionals { + Optional server(); + + Optional optional(); + + @WithName("optional.int") + OptionalInt optionalInt(); + + interface Server { + String host(); + + int port(); + } +} +---- + +In this case, the mapping won’t fail if the configuraton properties values are missing. + +=== `@WithConverter` + +The `io.smallrye.config.WithConverter` annotation provides a way to set a specific `Converter` in a mapping. + +[source,java] +---- +@ConfigMapping +public interface Converters { + @WithConverter(FooBarConverter.class) + String foo(); +} + +public static class FooBarConverter implements Converter { + @Override + public String convert(final String value) { + return "bar"; + } +} +---- + +[source,properties] +---- +foo=foo +---- + +A call to `Converters.foo()` results in the value `bar`. + +== Collections + +A config mapping is also able to map the collections types `List` and `Set`. + +* A member with a `Collection` type requires the configuration name to be in its indexed format +* Each configuration name, plus its index maps the configuration value to the corresponding `Collection` element in the +object type +* The index must be part of the configuration path, by appending the index between square brackets to the`Collection` +member +* The index specified in the configuration name is used to order the element in the `Collection` +* Missing elements or gaps are removed + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface ServerCollections { + Set environments(); + + interface Environment { + String name(); + + List apps(); + + interface App { + String name(); + + List services(); + + Optional> databases(); + } + } +} +---- + +[source,properties] +---- +server.environments[0].name=dev +server.environments[0].apps[0].name=rest +server.environments[0].apps[0].services=bookstore,registration +server.environments[0].apps[0].databases=pg,h2 +server.environments[0].apps[1].name=batch +server.environments[0].apps[1].services=stock,warehouse +---- + +The `List` and `Set` mappings can use xref:config/indexed-properties.adoc[Indexed Properties] to map configuration values in +mapping groups. + +[NOTE] +==== + +A `List` mapping is backed by an `ArrayList`, and a `Set` mapping is backed by a `HashSet`. + +==== + +== Maps + +A config mapping is also able to map a `Map`. + +* A member with a `Map` type requires an additional configuration name added to the configuration path of the `Map` +member to act as a map key +* The additional configuration name maps a Map entry with the configuration name as the `Map` entry key and +the configuration value as the Map entry value + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + String host(); + + int port(); + + Map form(); + + Map> aliases(); + + interface Alias { + String name(); + } +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.form.index=index.html +server.form.login.page=login.html +server.form.error.page=error.html +server.aliases.localhost[0].name=prod +server.aliases.localhost[1].name=127.0.0.1 +server.aliases.\"io.smallrye\"[0].name=smallrye +---- + +The configuration property name needs to specify an additional segment to act as the map key. The `server.form` matches +the `Server#form` `Map` and the segments `index`, `login.page` and `error.page` represent the `Map` +keys. + +[NOTE] +==== + +A `Map` mapping is backed by an `HashMap`. + +==== + +When populating a `Map`, `SmallRyeConfig` requires the configuration names listed in +`SmallRyeConfig#getPropertyNames` to find the `Map` keys. If a `ConfigSource` does not support +`getPropertyNames` (empty), the names must be provided by another `ConfigSource` that can do so. After retrieving the +map keys, `SmallRyeConfig` performs the lookup of the values with the regular `ConfigSource` ordinal ordering. Even if +a `ConfigSource` does not provide `getPropertyNames` it can provide the value by having the name listed in another +capable `ConfigSource`. + +For collection types, the key requires the indexed format. The configuration name `server.aliases.localhost++[++0++]++.name` +maps to the `Map++<++String, List++<++Alias++>>++ aliases()` member, where `localhost` is the `Map` key, `++[++0++]++` is the index of the +`List++<++Alias++>++` collection where the `Alias` element will be stored, containing the name `prod`. + +[TIP] +.Map quoted keys requirement +==== + +The `Map` key part in the configuration property name may require quotes to delimit the key if the key contains +a dot, otherwise they are optional. If the key name is delimited by quotes, all configuration property names related +with the same name must use the quoted format across all sources, including Environment Variables. + +==== + +[WARNING] +.Do not mix quoted and unquoted keys +==== + +For a key that spans a single segment, the quoted and unquoted forms name the same `Map` key. Both +`server.aliases.localhost.name` and `server.aliases."localhost".name` refer to the key `localhost`, so writing both +makes the key ambiguous. + +When `SmallRyeConfig` finds both forms, it resolves the entry with the quoted form and logs a warning: + +.... +SRCFG01009: The Map path keys "server.aliases."localhost"" and "server.aliases.localhost" are ambiguous. These can +cause issues in the mapping. Please, do not mix quoted and unquoted in the same Map key. Using +server.aliases."localhost". +.... + +Because only the quoted form is used to look up the entry values, the property names written in the unquoted form +are left unmapped, and the mapping fails validation: + +.... +SRCFG00050: server.aliases.localhost.name does not map to any root +.... + +If the two forms also split the members of a nested group between them, the members that only exist in the +unquoted form are not found at all, and the mapping additionally fails with: + +.... +SRCFG00014: The config property server.aliases."localhost".name is required but it could not be found in any config source +.... + +Either form works on its own, so pick one and use it consistently for a given key across all sources. + +==== + +=== `@WithUnnamedKey` + +The `io.smallrye.config.WithUnnamedKey` annotation allows to omit a single map key in the configuration path: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithUnnamedKey("localhost") + Map aliases(); + + interface Alias { + String name(); + } +} +---- + +[source,properties] +---- +server.aliases.name=localhost +server.aliases.prod.name=prod +---- + +The `sever.aliases.name` is an unnamed `Map` property, because it does not contain the `Map` key to populate the `Map` +entry. Due to `@WithUnnamedKey("localhost")` the `Map` key is not required in the configuration path. The key used to +look up the Map entry is given by `io.smallrye.config.WithUnnamedKey#value`: + +[source,java] +---- +Server server = config.getConfigMapping(Server.class); +Map localhost = server.aliases.get("localhost"); +---- + +[WARNING] +==== + +If the unnamed key (in this case `localhost`) is explicitly set in a property name, the explicit value takes precedence + +==== + +The `eager` attribute (default `true`) controls whether the unnamed key entry is included in the `Map` when its values +come only from defaults. When `eager = false`, the unnamed key entry is excluded from the `Map` unless at least one +of its values is explicitly set in a configuration source: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithUnnamedKey(value = "localhost", eager = false) + Map aliases(); + + interface Alias { + @WithDefault("localhost") + String name(); + } +} +---- + +With `eager = false` and no properties set, `server.aliases` returns an empty `Map`. With `eager = true` (the +default), it returns a `Map` with the key `localhost` populated from the `@WithDefault`. + +=== `@WithKeys` + +The `io.smallrye.config.WithKeys` annotation allows to define which `Map` keys must be loaded by +the configuration: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithKeys(KeysProvider.class) + Map aliases(); + + interface Alias { + String name(); + } + + class KeysProvider implements Supplier> { + @Override + public Iterable get() { + return List.of("dev", "test", "prod"); + } + } +} +---- + +In this case, `SmallRyeConfig` will look for the map keys `dev`, `test` and `prod` instead of discovering the keys +with `SmallRyeConfig#getPropertyNames`: + +[source,properties] +---- +servers.alias.dev.name=dev +servers.alias.test.name=test +servers.alias.prod.name=prod +---- + +The provided list will effectively substitute the lookup in `SmallRyeConfig#getPropertyNames`, thus enabling a +`ConfigSource` that does not list its properties, to contribute configuration to the `Map`. Each key must exist in +the final configuration (relative to the `Map` path segment), or the mapping will fail with a +`ConfigValidationException`. + +=== `@WithDefaults` + +The `io.smallrye.config.WithDefaults` is a marker annotation to use only in a `Map` to return the default value for +the value element on any key lookup: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithDefaults + Map aliases(); + + interface Alias { + @WithDefault("localhost") + String name(); + } +} +---- + +[source,properties] +---- +server.aliases.prod.name=prod +---- + +A look-up to the `aliases` `Map` with the key `localhost`, `any` or any other key, returns a `Alias` instance, where +`Alias.name` is `localhost`, which is the default value. A look-up to `prod` returns a `Alias` instance, where +`Alias.name` is `prod` because the property is defined in the configuration as `server.aliases.prod.name=prod`. + +The `Map` can only iterate and size the defined keys. In this case, the `aliases` `Map` only iterates the `prod` key, +and the size is `1`. + +[source,java] +---- +Server server = config.getConfigMapping(Server.class); +Map localhost = server.aliases().get("localhost"); +Map any = server.aliases().get("any"); +Map prod = server.aliases().get("prod"); +---- + +== Optionals + +* A mapping can wrap any complex type with an `Optional` +* `Optional` mappings do not require the configuration path and value to be present + +== Secrets + +* A mapping can mark a member type as a secret with `Secret++<++T++>++`: + +[source,java] +---- +@ConfigMapping(prefix = "credentials") +public interface Credentials { + String username(); + + Secret password(); +} +---- + +A `Secret` value modifies the behaviour of the config system by: + +* Omitting the name of the secret in `SmallRyeConfig#getPropertyNames()` +* Omitting the name and value of the secret in the mapping `toString` method +* Throwing a `SecurityException` when trying to retrieve the value via `SmallRyeConfig` programmatic API + +A Secret can be of any type that can be converted by a registered `org.eclipse.microprofile.config.spi.Converter` of +the same type. + +== toString, equals, hashcode + +If the config mapping contains a `toString` method declaration, the config mapping instance will include a proper +implementation of the `toString` method. The `equals` and `hashcode` methods are included automatically. + +[CAUTION] +==== + +Do not include a `toString` declaration in a config mapping with sensitive information. + +==== + +== Validation + +A config mapping may combine annotations from https://beanvalidation.org/[Bean Validation] to validate configuration +properties values. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @Size(min = 2, max = 20) + String host(); + + @Max(10000) + int port(); +} +---- + +The application startup fails with a `io.smallrye.config.ConfigValidationException` if the configuration properties +values do not follow the contraints defined in `Server`. + +[NOTE] +==== + +For validation to work, the `smallrye-config-validator` dependency is required in the classpath. + +==== diff --git a/content/docs/smallrye-config/latest/config/profiles.adoc b/content/docs/smallrye-config/latest/config/profiles.adoc new file mode 100644 index 000000000..ca2dd361e --- /dev/null +++ b/content/docs/smallrye-config/latest/config/profiles.adoc @@ -0,0 +1,192 @@ += Profiles +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Applications often require different configurations depending on the target environment. For example, the local +development environment may be different from the production environment. Profiles allow for multiple configurations +in the same file or separate files and select between them via a profile name. + +== Profile aware properties + +To be able to set properties with the same name, each property needs to be prefixed with a percentage sign `%` followed +by the profile name and a dot `.` in the syntax `%++{++profile-name}.config.name`: + +.META-INF/microprofile-config.properties +[source,properties] +---- +http.port=8080 +%dev.http.port=8181 +---- + +To activate the profile `dev`, the configuration `smallrye.config.profile=dev` has to be set into any valid +`ConfigSource`. + +Any lookup to the `http.port` property name will first search by the active profile name `%dev.http.port` and then +fallback to `http.port` if no value is present. In this case a lookup to the property `http.port` with the `dev` profile +active, yields the value `8181`. + +[WARNING] +==== + +The profile must be set in one of the primary sources (system properties, environment variables, +`application.properties`, or any other source that does not require configuration) to determine the proper +configuration. + +==== + +== Profile aware files + +Properties for a specific profile may reside in a `microprofile-config-++{++profile}.properties` named file. The previous +example can be expressed as: + +.META-INF/microprofile-config.properties +[source,properties] +---- +http.port=8080 +---- + +.META-INF/microprofile-config-dev.properties +[source,properties] +---- +http.port=8181 +---- + +In this style, the property names in the profile aware file do not need to be prefixed with the profile name. + +[NOTE] +==== + +Properties in the profile aware file have priority over profile aware properties defined in the main file. + +==== + +[WARNING] +==== + +Do not use Profile aware files to set `smallrye.config.profile`. This will not work because the +the profile is required in advance to load the profile aware files. + +==== + +== Priority + +Profile lookups are only valid if the `ConfigSource` has a higher ordinal than a lookup to the regular configuration +name. Consider: + +.main.properties +[source,properties] +---- +config_ordinal=1000 +http.port=8080 +---- + +.profile.properties +[source,properties] +---- +config_ordinal=100 +%dev.http.port=8181 +---- + +Even with the profile `dev` active, the lookup value for `my.prop` is `1234`. This prevents lower ordinal sources to +set a profile property value that cannot be overridden unless the profile property is also overridden. + +== Multiple Profiles + +Multiple Profiles may be active at the same time. The configuration `smallrye.config.profile` accepts a comma-separated +list of profile names: `smallrye.config.profile=common,dev`. Both `common` and `dev` are separate profiles. + +When multiple profiles are active, the rules for profile configuration are the same. If two profiles define the same +configuration, then the last listed profile has priority. Consider: + +[source,properties] +---- +smallrye.config.profile=common,dev + +my.prop=1234 +%common.my.prop=1234 +%dev.my.prop=5678 + +%common.commom.prop=common +%dev.dev.prop=dev +%test.test.prop=test +---- + +Then + +* `common.prop` value is `common` +* `dev.prop` value is `dev` +* `my.prop` value is `5678` +* `test.prop` does not have a value + +It is also possible to define multiple profile properties, with a comma-separated list of profile names: + +[source,properties] +---- +%prod,dev.my.prop=1234 +---- + +The property name `common.prop` is active in both `dev` and `prod` profile. If the same property name exists in +multiple profile properties then, the property name with the most specific profile wins: + +[source,properties] +---- +smallrye.config.profile=dev + +%prod,dev.my.prop=1234 + +%dev.my.prop=5678 +---- + +Then `my.prop` value is `5678`. + +== Parent Profile + +A Parent Profile adds multiple levels of hierarchy to the current profile. The configuration +`smallrye.config.profile.parent` also acccepts a comma-separated list of profile names. + +When the Parent Profile is active, if a property cannot be found in the current active Profile, the config lookup +fallbacks to the Parent Profile. Consider: + +[source,properties] +---- +smallrye.config.profile=dev +smallrye.config.profile.parent=common + +my.prop=1234 +%common.my.prop=0 +%dev.my.prop=5678 + +%common.commom.prop=common +%dev.dev.prop=dev +%test.test.prop=test +---- + +Then + +* `common.prop` value is `common` +* `dev.prop` value is `dev` +* `my.prop` value is `0` +* `test.prop` does not have a value + +[WARNING] +==== + +Do not use Profile aware files to set smallrye.config.profile.parent++`++. This will not work because the +the profile is required in advance to load the profile aware files. + +==== + +=== Multi-level Hierarchy + +The Parent Profile also supports multiple levels of hierarchies: + +[source,properties] +---- +smallrye.config.profile=child +%child.smallrye.config.profile.parent=parent +%parent.smallrye.config.profile.parent=grandparent +%grandparent.smallrye.config.profile.parent=greatgrandparent +%greatgrandparent.smallrye.config.profile.parent=end +---- + +Will load the following profiles in order: `child`, `parent`, `grandparent`, `greatgrandparent`, `end` diff --git a/content/docs/smallrye-config/latest/config/secret-keys.adoc b/content/docs/smallrye-config/latest/config/secret-keys.adoc new file mode 100644 index 000000000..df27211bf --- /dev/null +++ b/content/docs/smallrye-config/latest/config/secret-keys.adoc @@ -0,0 +1,232 @@ += Secret Keys +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Secret Keys Expressions + +In SmallRye Config, a secret configuration may be expressed as `$++{++handler::value}`, where the `handler` is the name of +a `io.smallrye.config.SecretKeysHandler` to decode or decrypt the `value` separated by a double colon `::`. + +It is possible to create a custom `SecretKeysHandler` and provide different ways to decode or decrypt configuration +values. + +A custom `SecretKeysHandler` requires an implementation of `io.smallrye.config.SecretKeysHandler` or +`io.smallrye.config.SecretKeysHandlerFactory`. Each implementation requires registration via the `ServiceLoader` +mechanism, either in `META-INF/services/io.smallrye.config.SecretKeysHandler` or +`META-INF/services/io.smallrye.config.SecretKeysHandlerFactory` files. + +=== Custom `SecretKeysHandler` + +A direct `SecretKeysHandler` implementation is suitable when the handler needs no configuration of its own: + +[source,java] +---- +public class Base64SecretKeysHandler implements SecretKeysHandler { + @Override + public String decode(final String secret) { + return new String(Base64.getDecoder().decode(secret)); + } + + @Override + public String getName() { + return "base64"; + } +} +---- + +.META-INF/services/io.smallrye.config.SecretKeysHandler + +.... +org.acme.config.Base64SecretKeysHandler +.... + +A secret value encoded with the `base64` handler can then be expressed as: + +[source,properties] +---- +my.secret=${base64::SGVsbG8gV29ybGQ=} +---- + +=== `SecretKeysHandlerFactory` + +When a handler requires configuration from other config sources (for example, a key or a credential read from +the config), use `SecretKeysHandlerFactory` instead. The factory receives a `ConfigSourceContext` that provides +access to all config sources initialized before the factory runs: + +[source,java] +---- +public class VaultSecretKeysHandlerFactory implements SecretKeysHandlerFactory { + @Override + public SecretKeysHandler getSecretKeysHandler(final ConfigSourceContext context) { + ConfigValue token = context.getValue("vault.token"); + return new VaultSecretKeysHandler(token.getValue()); + } + + @Override + public String getName() { + return "vault"; + } +} +---- + +.META-INF/services/io.smallrye.config.SecretKeysHandlerFactory +[source,properties] +---- +org.acme.config.VaultSecretKeysHandlerFactory +---- + +=== `LazySecretKeysHandler` + +`SecretKeysHandlerFactory` initializes during the first phase of `SmallRyeConfig` bootstrap, alongside regular +`ConfigSource` and `ConfigSourceProvider` registrations. This means that config values produced by a +`ConfigSourceFactory` are *not* yet available when the factory's `getSecretKeysHandler` is called. + +For handlers that depend on sources provided by a `ConfigSourceFactory`, wrap an inner `SecretKeysHandlerFactory` +in a `SecretKeysHandlerFactory.LazySecretKeysHandler`. The inner factory's `getSecretKeysHandler` is only invoked +the first time a value actually needs to be decoded, by which point all sources — including those from +`ConfigSourceFactory` — are fully initialized: + +[source,java] +---- +public class VaultSecretKeysHandlerFactory implements SecretKeysHandlerFactory { + @Override + public SecretKeysHandler getSecretKeysHandler(final ConfigSourceContext context) { + return new LazySecretKeysHandler(new SecretKeysHandlerFactory() { + @Override + public SecretKeysHandler getSecretKeysHandler(final ConfigSourceContext context) { + // This runs lazily, after all sources are ready. + ConfigValue token = context.getValue("vault.token"); + return new VaultSecretKeysHandler(token.getValue()); + } + + @Override + public String getName() { + return "vault"; + } + }); + } + + @Override + public String getName() { + return "vault"; + } +} +---- + +[WARNING] +==== + +The inner factory wrapped by `LazySecretKeysHandler` is what defers initialization. Do not call +`context.getValue` in the outer `getSecretKeysHandler`; only the inner factory's `getSecretKeysHandler` (invoked lazily) may resolve configuration values. + +==== + +[CAUTION] +==== + +It is not possible to mix Secret Keys Expressions with Property Expressions. + +==== + +=== Crypto + +The `smallrye-config-crypto` artifact contains a few out-of-the-box `SecretKeysHandler`s ready for use. It requires +the following dependency: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-crypto + {version} + +---- + +==== AES/GCM/NoPadding `$++{++aes-gcm-nopadding::...}` + +* The encoding length is 128. +* The secret and the encryption key (without padding) must be base 64 encoded. + +[NOTE] +==== + +.application.properties +[source,properties] +---- +smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key=DDne5obnfH1RSeTg71xSZg + +my.secret=${aes-gcm-nopadding::DLTb_9zxThxeT5iAQqswEl5Dn1ju4FdM9hIyVip35t5V} +---- + +The `$++{++aes-gcm-nopadding::...}` `SecretKeyHandler` requires +`smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key` configuration to state the encryption key to be +used by the `aes-gcm-nopaddin` handler. + +A lookup to `my.secret` will use the `SecretKeysHandler` name `aes-gcm-nopadding` to decode the value +`DJNrZ6LfpupFv6QbXyXhvzD8eVDnDa++_++kTliQBpuzTobDZxlg`. + +==== + +[NOTE] +==== + +It is possible to generate the encrypted secret with the following http://jbang.dev/[JBang] script: + +[source,shell] +---- +jbang https://raw.githubusercontent.com/smallrye/smallrye-config/main/documentation/src/main/docs/config/secret-handlers/encryptor.java -s= -k=` +---- + +==== + +===== Configuration + +[width="100%",cols="90%,5%,5%",options="header",] +|=== +|Configuration Property |Type |Default +|`smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key` + +The encryption key to use to decode secrets encoded by the `AES/GCM/NoPadding` algorithm. |String | +|`"smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key-decode"` + +Decode the encryption key in Base64, if the plain text key was used to encrypt the secret. |boolean |false +|=== + +== Secret Keys Names + +When configuration properties contain passwords or other kinds of secrets, Smallrye Config can hide them to prevent +accidental exposure of such values. + +*This is no way a replacement for securing secrets.* Proper security mechanisms must still be used to secure +secrets. However, there is still the fundamental problem that passwords and secrets are generally encoded simply as +strings. Secret Keys provides a way to "lock" the configuration so that secrets do not appear unless explicitly enabled. + +To mark specific keys as secrets, register an instance of `io.smallrye.config.SecretKeysConfigSourceInterceptor` by +using the interceptor factory as follows: + +[source,java] +---- +public class SecretKeysConfigInterceptorFactory implements ConfigSourceInterceptorFactory { + @Override + public ConfigSourceInterceptor getInterceptor(ConfigSourceInterceptorContext context) { + return new SecretKeysConfigSourceInterceptor(Set.of("secret")); + } +} +---- + +Register the factory so that it can be found at runtime by creating a +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file that contains the fully qualified name of +this factory class. + +From this point forward, every lookup to the configuration name `secret` will throw a `SecurityException`. + +Access the Secret Keys using the APIs `io.smallrye.config.SecretKeys#doUnlocked(java.lang.Runnable)` +and `io.smallrye.config.SecretKeys#doUnlocked(java.util.function.Supplier++<++T++>++)`. + +[source,java] +---- +String secretValue = SecretKeys.doUnlocked(() -> { + config.getValue("secret", String.class); +}); +---- + +Secret Keys are only unlocked in the context of `doUnlocked`. Once the execution completes, the secrets become locked +again. diff --git a/content/docs/smallrye-config/latest/converters/custom.adoc b/content/docs/smallrye-config/latest/converters/custom.adoc new file mode 100644 index 000000000..e95f13ad9 --- /dev/null +++ b/content/docs/smallrye-config/latest/converters/custom.adoc @@ -0,0 +1,101 @@ += Custom `Converter` +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to create a custom `Converter` type as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config]. + +A custom `Converter` requires an implementation of `org.eclipse.microprofile.config.spi.Converter`. Each implementation +requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/org.eclipse.microprofile.config.spi.Converter` file. Consider: + +[source,java] +---- +package org.acme.config; + +public class CustomValue { + + private final int number; + + public CustomValue(int number) { + this.number = number; + } + + public int getNumber() { + return number; + } +} +---- + +The corresponding converter can look like: + +[source,java] +---- +package org.acme.config; + +import org.eclipse.microprofile.config.spi.Converter; + +public class CustomValueConverter implements Converter { + + @Override + public CustomValue convert(String value) { + return new CustomValue(Integer.parseInt(value)); + } +} +---- + +And registration in: + +.META-INF/services/org.eclipse.microprofile.config.spi.Converter +[source,properties] +---- +org.acme.config.CustomValueConverter +---- + +[WARNING] +==== + +The custom `Converter` class must be `public`, must have a `public` constructor with no arguments, and must not be +abstract. + +==== + +The `CustomValueConverter` converts the configuration value to the `CustomValue` type automatically. + +[source,java] +---- +Config config = Config.getOrCreate(); +CustomValue value = config.getValue("custom.value", CustomValue.class); +---- + +The `jakarta.annotation.Priority` annotation overrides the `Converter` priority and change converters precedence to fine +tune the execution order. By default, if no `@Priority` is specified by the `Converter`, the converter is registered +with a priority of `100`. Consider: + +[source,java] +---- +package org.acme.config; + +import jakarta.annotation.Priority; +import org.eclipse.microprofile.config.spi.Converter; + +@Priority(150) +public class SecretConverter implements Converter { + + @Override + public CustomValue convert(String value) { + final int secretNumber; + if (value.startsFrom("OBF:")) { + secretNumber = Integer.parseInt(SecretDecoder.decode(value)); + } else { + secretNumber = Integer.parseInt(value); + } + + return new CustomValue(secretNumber); + } +} +---- + +Two `Converter`s, (`CustomValueConverter` and `SecretConverter`) can convert the same type `CustomValue`. Since +`SecretConverter` has a priority of `150`, it will be used instead of a `CustomValueConverter` which has a default +priority of `100` (no annotation). diff --git a/content/docs/smallrye-config/latest/extensions/fallback.adoc b/content/docs/smallrye-config/latest/extensions/fallback.adoc new file mode 100644 index 000000000..05af7251d --- /dev/null +++ b/content/docs/smallrye-config/latest/extensions/fallback.adoc @@ -0,0 +1,59 @@ += Fallback +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.FallbackConfigSourceInterceptor` allows to fall back to another configuration name, by +providing a transformation function or just a simple key value map. + +When a configuration name does not exist, there might be another configuration name that the config can +fall back to provide the same expected behavior. The fallback function is only applied if the original resolved +configuration name is not found and resolved to the fallback name. + +[source,java] +---- +package org.acme.config; + +import io.smallrye.config.FallbackConfigSourceInterceptor; + +public class MicroProfileConfigFallbackInterceptor extends FallbackConfigSourceInterceptor { + public MicroProfileConfigFallbackInterceptor() { + super(name -> name.startsWith("mp.config") ? + name.replaceAll("mp\\.config", "smallrye.config") : + name); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceInterceptor +[source,properties] +---- +org.acme.config.MicroProfileConfigFallbackInterceptor +---- + +The `MicroProfileConfigFallbackInterceptor` can fallback configuration names in the `mp.config` namespace +to the `smallrye.config` namespace. + +[NOTE] +==== + +.application.properties +[source,properties] +---- +mp.config.profile=test +smallrye.config.profile=prod +---- + +A lookup to `mp.config.profile` returns the value `test`. + +.application.properties +[source,properties] +---- +smallrye.config.profile=prod +---- + +A lookup to `mp.config.profile` returns the value `prod`. The config is not able to find a value for +`mp.config.profile`, so the interceptor fallbacks and lookups the value of `smallrye.config.profile`. + +==== diff --git a/content/docs/smallrye-config/latest/extensions/interceptors.adoc b/content/docs/smallrye-config/latest/extensions/interceptors.adoc new file mode 100644 index 000000000..8811bf0dc --- /dev/null +++ b/content/docs/smallrye-config/latest/extensions/interceptors.adoc @@ -0,0 +1,179 @@ += Interceptors +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config provides an interceptor chain that hooks into the configuration values resolution. This is useful to +implement features like xref:config/profiles.adoc[Profiles] , xref:config/expressions.adoc[Property Expressions], or just +logging to find out where the config value was loaded from. + +An interceptor can be created by implementing the +https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/ConfigSourceInterceptor.java[ConfigSourceInterceptor] +interface. + +An interceptor requires an implementation of `io.smallrye.config.ConfigSourceInterceptor`. Each implementation requires +registration via the `ServiceLoader` mechanism in the `META-INF/services/io.smallrye.config.ConfigSourceInterceptor` +file. Alternatively, interceptors may be registered via the Programmatic API in +`SmallRyeConfigBuilder#withInterceptors`. + +`io.smallrye.config.ConfigSourceInterceptor` exposes two interception points: + +* `ConfigValue getValue(ConfigSourceInterceptorContext context, String name)` — intercepts the resolution of a +configuration value by name. +* `Iterator++<++String++>++ iterateNames(ConfigSourceInterceptorContext context)` — intercepts the iteration of all known +configuration property names. + +The `ConfigSourceInterceptorContext` is used to proceed with the interceptor chain. Calling `context.proceed(name)` +continues to the next interceptor in the chain. The chain can be short-circuited by returning a custom instance of +`io.smallrye.config.ConfigValue` from `getValue`, or a custom `Iterator++<++String++>++` from `iterateNames`. The `ConfigValue` +objects hold information about the key name, value, config source origin and ordinal. + +[NOTE] +==== + +The interceptor chain is applied before any conversion is performed on the configuration value. + +==== + +[source,java] +---- +package org.acme.config; + +import jakarta.annotation.Priority; + +import io.smallrye.config.ConfigSourceInterceptor; +import io.smallrye.config.Priorities; + +@Priority(Priorities.APPLICATION) +public class LoggingConfigSourceInterceptor implements ConfigSourceInterceptor { + @Override + public ConfigValue getValue(final ConfigSourceInterceptorContext context, final String name) { + ConfigValue configValue = context.proceed(name); + if (configValue != null) { + System.out.println("Looked up: " + configValue.getName() + "=" + configValue.getValue()); + } else { + System.out.println("Not found: " + name); + } + return configValue; + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceInterceptor +[source,properties] +---- +org.acme.config.LoggingConfigSourceInterceptor +---- + +The `LoggingConfigSourceInterceptor` logs each configuration name lookup. The logged information includes the config +name and value, and (from the resolved `ConfigValue`) the config source origin and location if they exist. + +== `iterateNames` + +The `iterateNames` method intercepts the set of configuration property names visible to the rest of the chain. The +default implementation simply delegates to `context.iterateNames()`. Override it to add, remove, or transform names. + +A common use case is hiding sensitive property names from enumeration while still allowing their values to be +retrieved: + +[source,java] +---- +package org.acme.config; + +import java.util.Iterator; + +import jakarta.annotation.Priority; + +import io.smallrye.config.ConfigSourceInterceptor; +import io.smallrye.config.ConfigSourceInterceptorContext; +import io.smallrye.config.Priorities; + +@Priority(Priorities.APPLICATION) +public class HidingConfigSourceInterceptor implements ConfigSourceInterceptor { + @Override + public ConfigValue getValue(final ConfigSourceInterceptorContext context, final String name) { + return context.proceed(name); + } + + @Override + public Iterator iterateNames(final ConfigSourceInterceptorContext context) { + Iterator names = context.iterateNames(); + return new Iterator<>() { + @Override + public boolean hasNext() { + return names.hasNext(); + } + + @Override + public String next() { + String name = names.next(); + // filter out any name starting with "secret." + return name.startsWith("secret.") ? next() : name; + } + }; + } +} +---- + +[NOTE] +==== + +`iterateNames` affects the results of `Config#getPropertyNames()` and is used by Config Mappings to discover +`Map` keys. Interceptors that hide names will also prevent those names from being mapped into `Map` entries. + +==== + +== `ConfigSourceInterceptorContext` + +`ConfigSourceInterceptorContext` provides two ways to continue the chain: + +* `proceed(String name)` — passes the lookup to the *next* interceptor in the chain. This is the standard method +to use in most interceptors. +* `restart(String name)` — re-invokes the *first* interceptor in the chain from the beginning. This is intended for +relocating or compatibility interceptors that resolve a new name and need the full chain to re-evaluate it, including +profile expansion and expression resolution. Passing the original name to `restart` can cause an infinite loop, so +care must be taken. + +Example — an interceptor that resolves an alias name and restarts the full chain for the resolved name: + +[source,java] +---- +package org.acme.config; + +import jakarta.annotation.Priority; + +import io.smallrye.config.ConfigSourceInterceptor; +import io.smallrye.config.ConfigSourceInterceptorContext; +import io.smallrye.config.ConfigValue; +import io.smallrye.config.Priorities; + +@Priority(Priorities.APPLICATION) +public class AliasConfigSourceInterceptor implements ConfigSourceInterceptor { + @Override + public ConfigValue getValue(final ConfigSourceInterceptorContext context, final String name) { + if (name.equals("app.host")) { + // Restart the chain with the canonical name so profiles and + // expressions are re-applied to the resolved name. + return context.restart("server.host"); + } + return context.proceed(name); + } +} +---- + +Interceptors may also be created with an implementation of `io.smallrye.config.ConfigSourceInterceptorFactory`. Each +implementation requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file. Alternatively, interceptors factories may +be registered via the Programmatic API in `SmallRyeConfigBuilder#withInterceptorFactories`. + +The `ConfigSourceInterceptorFactory` can initialize an interceptor with access to the current chain +(so it can be used to configure the interceptor and retrieve configuration values) and set the priority. + +A `ConfigSourceInterceptor` implementation class can specify a priority by way of the standard +`jakarta.annotation.Priority` annotation. If no priority is explicitly assigned, the default priority value of +`io.smallrye.config.Priorities.APPLICATION` is assumed. If multiple interceptors are registered with the same priority, +then their execution order may be non-deterministic. + +A collection of built-in priority constants can be found in `io.smallrye.config.Priorities`. It is recommended to +use `io.smallrye.config.Priorities.APPLICATION` as a baseline for user defined interceptors. diff --git a/content/docs/smallrye-config/latest/extensions/logging.adoc b/content/docs/smallrye-config/latest/extensions/logging.adoc new file mode 100644 index 000000000..3a42e6573 --- /dev/null +++ b/content/docs/smallrye-config/latest/extensions/logging.adoc @@ -0,0 +1,15 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== LoggingConfigSourceInterceptor + +The `io.smallrye.config.LoggingConfigSourceInterceptor` logs lookups of configuration names in the provided logging +platform. The log information includes config name and value, the config source origin and location if it exists. + +The log is done as `debug`, so the debug threshold must be set to `debug` for the `io.smallrye.config` appender to +display the logs. + +This requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file of the +`io.smallrye.config.LoggingConfigSourceInterceptor` interceptor. diff --git a/content/docs/smallrye-config/latest/extensions/relocate.adoc b/content/docs/smallrye-config/latest/extensions/relocate.adoc new file mode 100644 index 000000000..e33ee4f6a --- /dev/null +++ b/content/docs/smallrye-config/latest/extensions/relocate.adoc @@ -0,0 +1,51 @@ += Relocate +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.RelocateConfigSourceInterceptor` allows to relocate a configuration name to another name, by +providing a transformation function or just a simple key value map. + +When a configuration key is renamed, lookup needs to happen on the new name, but also on the old name if the +config sources are not updated yet. The relocation function gives priority to the new resolved configuration name or +resolves to the old name if no value is found under the new relocation name. + +[source,java] +---- +package org.acme.config; + +import io.smallrye.config.RelocateConfigSourceInterceptor; + +public class MicroProfileConfigRelocateInterceptor extends RelocateConfigSourceInterceptor { + public MicroProfileConfigRelocateInterceptor() { + super(name -> name.startsWith("mp.config") ? + name.replaceAll("mp\\.config", "smallrye.config") : + name); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceInterceptor +[source,properties] +---- +org.acme.config.MicroProfileConfigRelocateInterceptor +---- + +The `MicroProfileConfigRelocateInterceptor` can relocate configuration names in the `mp.config` namespace +to the `smallrye.config` namespace. + +[NOTE] +==== + +.application.properties +[source,properties] +---- +mp.config.profile=test +smallrye.config.profile=prod +---- + +A lookup to `mp.config.profile` returns the value `prod`. The config finds a valid value in the relocated name +`smallrye.config.profile`, so the interceptor will use this value instead of the one in `mp.config.profile`. + +==== diff --git a/content/docs/smallrye-config/latest/index.adoc b/content/docs/smallrye-config/latest/index.adoc new file mode 100644 index 000000000..dca56db0f --- /dev/null +++ b/content/docs/smallrye-config/latest/index.adoc @@ -0,0 +1,97 @@ += SmallRye Config +include::_attributes.adoc[] + +*SmallRye Config* is a library that provides a way to configure applications, frameworks and containers. It is used +in applications servers like https://wildfly.org/[WildFly], https://openliberty.io[Open Liberty] and +https://tomee.apache.org[TomEE] or frameworks like https://quarkus.io[Quarkus]. It can also be used completely +standalone in any Java application, which makes it a very flexible library. + +It follows the https://github.com/eclipse/microprofile-config/[MicroProfile Config] specification to provide +the initial config foundations and expands with it own concepts to cover a wide range of use cases observed in the +configuration space. + +== Use SmallRye Config in a Java application + +Add the _dependency_ to your project using your preferred build tool: + +[.tabs] +==== + +Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config + {version} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.config:smallrye-config:{version}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.config:smallrye-config:{version}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.config:smallrye-config:{version} +---- + +-- + +==== + +And retrieve a `SmallRyeConfig` instance with: + +[source,java] +---- +Config config = io.smallrye.config.Config.getOrCreate(); +---- + +[NOTE] +==== + +The `SmallRyeConfig` instance will be created and registered to the context class loader if no such configuration +is already created and registered. + +==== + +Or build your own: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder().build(); +---- + +[NOTE] +==== + +`io.smallrye.config.Config` is the entry point to all the config capabilities provided by SmallRye Config. + +==== diff --git a/content/docs/smallrye-config/main/_attributes.adoc b/content/docs/smallrye-config/main/_attributes.adoc new file mode 100644 index 000000000..0aefa5869 --- /dev/null +++ b/content/docs/smallrye-config/main/_attributes.adoc @@ -0,0 +1,21 @@ +:project-version: 4.0.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Config +:javadoc-version: latest +:version: {project-version} +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 4.0.0 +:relfileprefix: /docs/smallrye-config/main/ +:imagesdir: /docs/smallrye-config/main +:docs-project: smallrye-config +:docs-version: main +:docs-ref: main diff --git a/content/docs/smallrye-config/main/_nav.yml b/content/docs/smallrye-config/main/_nav.yml new file mode 100644 index 000000000..6a14b50be --- /dev/null +++ b/content/docs/smallrye-config/main/_nav.yml @@ -0,0 +1,66 @@ +title: SmallRye Config +nav: +- title: Home + page: index +- title: Config + items: + - title: Getting Started + page: config/getting-started + - title: Expressions + page: config/expressions + - title: Profiles + page: config/profiles + - title: Environment Variables + page: config/environment-variables + - title: Indexed Properties + page: config/indexed-properties + - title: ConfigValue + page: config/config-value + - title: Mappings + page: config/mappings + - title: Instance Builder + page: config/instance-builder + - title: Map Support + page: config/map-support + - title: Secret Keys + page: config/secret-keys + - title: Customizer + page: config/customizer + - title: Configuration Reference + page: config/configuration +- title: Config Sources + items: + - title: Custom + page: config-sources/custom + - title: Factories + page: config-sources/factories + - title: Locations + page: config-sources/locations + - title: YAML + page: config-sources/yaml + - title: TOML + page: config-sources/toml + - title: JSON + page: config-sources/json + - title: FileSystem + page: config-sources/filesystem + - title: ZooKeeper + page: config-sources/zookeeper + - title: HOCON + page: config-sources/hocon + - title: KeyStore + page: config-sources/keystore +- title: Converters + items: + - title: Custom + page: converters/custom +- title: Extensions + items: + - title: Interceptors + page: extensions/interceptors + - title: Fallback + page: extensions/fallback + - title: Relocate + page: extensions/relocate + - title: Logging + page: extensions/logging diff --git a/content/docs/smallrye-config/main/assets/smallrye-icon.svg b/content/docs/smallrye-config/main/assets/smallrye-icon.svg new file mode 100644 index 000000000..c10b011e0 --- /dev/null +++ b/content/docs/smallrye-config/main/assets/smallrye-icon.svg @@ -0,0 +1,21 @@ + + + + + SmallRye Icon + + + + + + + + + diff --git a/content/docs/smallrye-config/main/config-sources/custom.adoc b/content/docs/smallrye-config/main/config-sources/custom.adoc new file mode 100644 index 000000000..bd9cc1444 --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/custom.adoc @@ -0,0 +1,166 @@ += Config Sources +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Custom `ConfigSource` + +It’s possible to create a custom ConfigSource as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config]. + +With a Custom `ConfigSource` it is possible to read additional configuration values and add them to the `Config` +instance in a defined ordinal. This allows overriding values from other sources or falling back to other values. + +A custom `ConfigSource` requires an implementation of `org.eclipse.microprofile.config.spi.ConfigSource` or +`org.eclipse.microprofile.config.spi.ConfigSourceProvider`. Each implementation requires registration via the +`ServiceLoader` mechanism, either in `META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource` or +`META-INF/services/org.eclipse.microprofile.config.spi.ConfigSourceProvider` files. + +Consider a simple in-memory ConfigSource: + +[source,java] +---- +package org.acme.config; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +public class InMemoryConfigSource implements ConfigSource { + private static final Map configuration = new HashMap<>(); + + static { + configuration.put("my.prop", "1234"); + } + + @Override + public int getOrdinal() { + return 350; + } + + @Override + public Set getPropertyNames() { + return configuration.keySet(); + } + + @Override + public String getValue(final String propertyName) { + return configuration.get(propertyName); + } + + @Override + public String getName() { + return InMemoryConfigSource.class.getSimpleName(); + } +} +---- + +And registration in: + +.META-INF/services/org.eclipse.microprofile.config.spi.ConfigSource +[source,properties] +---- +org.acme.config.InMemoryConfigSource +---- + +The `InMemoryConfigSource` will be ordered between the `System properties` config source, and the +`Environment variables` config source due to the `350` ordinal. + +In this case, `my.prop` from `InMemoryConfigSource` will only be used if the `Config` instance is unable to find a +value in `System Properties`, ignoring all the other lower ordinal config sources. + +== `ConfigSourceFactory` + +Another way to create a `ConfigSource` is via the SmallRye Config `io.smallrye.config.ConfigSourceFactory` API. The +difference between the SmallRye Config factory and the standard way to create a `ConfigSource` as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config], is the factory ability to provide a context +with access to the current configuration. + +Each implementation of `io.smallrye.config.ConfigSourceFactory` requires registration via the `ServiceLoader` mechanism +in the `META-INF/services/io.smallrye.config.ConfigSourceFactory` file. + +[source,java] +---- +package org.acme.config; + +import java.util.Collections; +import java.util.OptionalInt; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import io.smallrye.config.ConfigSourceContext; +import io.smallrye.config.ConfigSourceFactory; +import io.smallrye.config.ConfigValue; +import io.smallrye.config.PropertiesConfigSource; + +public class URLConfigSourceFactory implements ConfigSourceFactory { + @Override + public Iterable getConfigSources(final ConfigSourceContext context) { + final ConfigValue value = context.getValue("config.url"); + if (value == null || value.getValue() == null) { + return Collections.emptyList(); + } + + try { + return Collections.singletonList(new PropertiesConfigSource(new URL(value.getValue()))); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public OptionalInt getPriority() { + return OptionalInt.of(290); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceFactory +[source,properties] +---- +org.acme.config.URLConfigSourceFactory +---- + +By implementing `io.smallrye.config.ConfigSourceFactory`, a list of `ConfigSource` may be provided via the +`Iterable++<++ConfigSource++>++ getConfigSources(ConfigSourceContext context)` method. The `ConfigSourceFactory` may also +assign a priority by overriding the method `OptionalInt getPriority()`. The priority value is used to sort multiple +`io.smallrye.config.ConfigSourceFactory` (if found). Higher the value, higher the priority. + +[WARNING] +==== + +The `io.smallrye.config.ConfigSourceFactory` priority does not affect the `ConfigSource` ordinal. These are sorted +independently. + +==== + +When the Factory is initializing, the provided `ConfigSourceContext` may call the method +`ConfigValue getValue(String name)`. This method looks up configuration names in all `ConfigSource`s that were already +initialized by the `Config` instance, including sources with lower ordinals than the ones defined in the +`ConfigSourceFactory`. This means that a `Config` instance is initialized in two steps: first all `ConfigSource` and +`ConfigSourceProvider` and then the `ConfigSourceFactory`. Only configuation values found in the first step are avaible +to the ++`++ConfigSourceFactory. + +The `ConfigSource` list provided by a `ConfigSourceFactory` is not taken into consideration to +configure other sources produced by a lower priority `ConfigSourceFactory`. + +== Override `ConfigSource` ordinal + +The special configuration property name `config++_++ordinal` can be set in any `ConfigSource` to override its default +ordinal. + +For instance, setting the system property `-Dconfig++_++ordinal=200` will override the ordinal for the `System properties` +config source and move it to be looked up after the `Environment Variables` config source. + +== Properties + +The https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/PropertiesConfigSource.java[PropertiesConfigSource] +creates a `ConfigSource` from Java `Properties`, `Map++<++String, String++>++` objects or a `.properties` file (referenced by +its URL). + +== `.env` + +The https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/DotEnvConfigSourceProvider.java[DotEnvConfigSourceProvider] create a `ConfigSource` from a `.env` file. diff --git a/content/docs/smallrye-config/main/config-sources/factories.adoc b/content/docs/smallrye-config/main/config-sources/factories.adoc new file mode 100644 index 000000000..a3c26281c --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/factories.adoc @@ -0,0 +1,130 @@ += Config Source Factory +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Another way to create a `ConfigSource` is via the `ConfigSourceFactory`. The difference between the SmallRye Config +Factory and the standard way to make a `ConfigSource` as specified in MicroProfile Config is the Factory's ability to +provide a context with access to the available configuration. With the `ConfigSourceFactory` it is possible to +bootstrap a `ConfigSource` that configures itself with previously initialized `ConfigSource's`. + +By implementing +https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/ConfigSourceFactory.java[ConfigSourceFactory], +a list of `ConfigSource's` may be provided via the `Iterable++<++ConfigSource++>++ getConfigSources(ConfigSourceContext context)` method. The `ConfigSourceFactory` may also +assign a priority by overriding the default method `OptionalInt getPriority()`. The priority only sorts the factories +during initialization. After initialization, the provided `ConfigSources` will use their own ordinal and sorted with +all `ConfigSources` available in the `Config` instance. + +When the Factory initializes, the provided `ConfigSourceContext` may call the method +`ConfigValue getValue(String name)`. This method looks up configuration names in all `ConfigSource's` already +initialized by the `Config` instance, including sources with lower ordinals than the ones defined in the +`ConfigSourceFactory`. The `ConfigSourceFactory` does not consider `ConfigSources's` provided by other +`ConfigSourceFactory's` (the priority does not matter). + +Registration of a `ConfigSourceFactory` is done via the `ServiceLoader` mechanism by providing the +implementation classes in a `META-INF/services/io.smallrye.config.ConfigSourceFactory` file. Alternatively, factories +may be registered via the Programmatic API in `SmallRyeConfigBuilder#withSources`. + +A `ConfigSourceFactory` requires an implementation of `io.smallrye.config.ConfigSourceFactory`. Each implementation +requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceFactory` file. Alternatively, interceptors may be registered via the +Programmatic API in `SmallRyeConfigBuilder#withSources`. + +[source,java] +---- +package org.acme.config + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.util.Collections; +import java.util.List; + +import org.eclipse.microprofile.config.spi.ConfigSource; + +import io.smallrye.config._private.ConfigMessages; +import io.smallrye.config.PropertiesConfigSource; +import io.smallrye.config.ConfigSourceContext; +import io.smallrye.config.ConfigSourceFactory; +import io.smallrye.config.ConfigValue; + +public class FileSystemConfigSourceFactory implements ConfigSourceFactory { + @Override + public Iterable getConfigSources(final ConfigSourceContext context) { + final ConfigValue value = context.getValue("org.acme.config.file.locations"); + if (value == null || value.getValue() == null) { + return Collections.emptyList(); + } + + try { + return List.of(new PropertiesConfigSource(toURL(value.getValue()), 250)); + } catch (IOException e) { + return Collections.emptyList(); + } + } + + private URL toURL(final String value) { + try { + return new URI(value).toURL(); + } catch (URISyntaxException | MalformedURLException e) { + throw ConfigMessages.msg.uriSyntaxInvalid(e, value); + } + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceFactory +[source,properties] +---- +org.acme.config.FileSystemConfigSourceFactory +---- + +The `FileSystemConfigSourceFactory` look ups the configuration value for `org.acme.config.file.locations`, and uses it +to set up an additional `ConfigSource`. + +== `ConfigurableConfigSourceFactory` + +A `ConfigurableConfigSourceFactory` accepts a `@ConfigMapping` interface to configure the `ConfigSource`, removing the +need to look up configuration values manually via `ConfigSourceContext`: + +[source,java] +---- +@ConfigMapping(prefix = "org.acme.config.file") +interface FileSystemConfig { + List locations(); +} +---- + +[source,java] +---- +public class FileSystemConfigurableConfigSourceFactory implements ConfigurableConfigSourceFactory { + @Override + public Iterable getConfigSources(ConfigSourceContext context, FileSystemConfig config) { + List sources = new ArrayList<>(); + for (URL url : config.locations()) { + try { + sources.add(new PropertiesConfigSource(url, 250)); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + return sources; + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceFactory +[source,properties] +---- +org.acme.config.FileSystemConfigurableConfigSourceFactory +---- + +The `ConfigMapping` interface is automatically populated from all `ConfigSource`s already initialized at the time the +factory runs. Values are resolved using the same two-step initialization as a regular `ConfigSourceFactory`: sources +from `ConfigSource` / `ConfigSourceProvider` registrations are available, but sources from other +`ConfigSourceFactory` implementations are not. diff --git a/content/docs/smallrye-config/main/config-sources/filesystem.adoc b/content/docs/smallrye-config/main/config-sources/filesystem.adoc new file mode 100644 index 000000000..66e16db05 --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/filesystem.adoc @@ -0,0 +1,51 @@ += FileSystem Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source loads configuration values for each file found in a directory. Each file corresponds to a single +property, where the file name is the configuration property name and the file content the configuration value. + +For instance, if a directory structure looks like: + +.... +foo/ +|__num.max +|__num.size +.... + +The `FileSystem` Config Source will provide 2 properties: + +* num.max +* num.size + +[WARNING] +==== + +Nested directories are not supported. + +==== + +This Config Source can be used to read configuration from +https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap[Kubernetes ConfigMap]. Check the +https://github.com/smallrye/smallrye-config/blob/main/examples/configmap/README.adoc[Kubernetes ConfigMap ConfigSource Example]. + +The same mapping rules as defined for environment variables are applied, so the `FileSystem` Config Source will search +for a given property name `num.max`: + +* Exact match (`num.max`) +* Replace each character that is neither alphanumeric nor ++_++ with ++_++ (`num++_++max`) +* Replace each character that is neither alphanumeric nor ++_++ with ++_++; then convert the name to upper case (`NUM++_++MAX`) + +The following dependency is required in the classpath to use the `FileSystem` Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-file-system + {version} + +---- + +The configuration property `smallrye.config.source.file.locations` sets the directory paths to look up the files. It +accepts multiple locations separated by a comma and each must represent a valid URI to a directory. diff --git a/content/docs/smallrye-config/main/config-sources/hocon.adoc b/content/docs/smallrye-config/main/config-sources/hocon.adoc new file mode 100644 index 000000000..23b29b437 --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/hocon.adoc @@ -0,0 +1,46 @@ += HOCON Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use the https://github.com/lightbend/config/blob/main/HOCON.md[HOCON] file format to +load configuration values. The HOCON Config Source loads the +configuration from the file `META-INF/microprofile-config.conf`. It has a lower ordinal (`50`) than the +`microprofile-config.properties`. + +The following dependency is required in the classpath to use the HOCON Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-hocon + {version} + +---- + +Expressions defined as `$++{++value}` (unquoted) are resolved internally by the HOCON Config Source as described in the +https://github.com/lightbend/config/blob/main/HOCON.md#substitutions[HOCON Substitutions] documentation. Quoted +Expressions defined as `"$++{++value}"` are resolved by xref:config/expressions.adoc[SmallRye Config Property Expressions]. + +Consider: + +*hocon.conf* + +[source,conf] +---- +{ + foo: "bar", + hocon: ${foo}, + config: "${foo}" +} +---- + +*application.properties* + +[source,properties] +---- +config_ordinal=1000 +foo=baz +---- + +The value of `hocon` is `bar` and the value of `config` is `baz` (if the properties source has a higher ordinal). diff --git a/content/docs/smallrye-config/main/config-sources/json.adoc b/content/docs/smallrye-config/main/config-sources/json.adoc new file mode 100644 index 000000000..54fe1a808 --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/json.adoc @@ -0,0 +1,6 @@ += JSON Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The xref:config-sources/yaml.adoc[YAML Config Source] also accepts the JSON format as its contents. The configuration file +`META-INF/microprofile-config.yaml`, still requires to use the `yaml` extension. diff --git a/content/docs/smallrye-config/main/config-sources/keystore.adoc b/content/docs/smallrye-config/main/config-sources/keystore.adoc new file mode 100644 index 000000000..19c2dac49 --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/keystore.adoc @@ -0,0 +1,67 @@ += KeyStore Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use a Java `KeyStore` to load configuration values. It uses an ordinal of `100`. + +The following dependency is required in the classpath to use the KeyStore Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-keystore + {version} + +---- + +== Create a KeyStore + +The following command creates a simple KeyStore + +[source,bash] +---- +keytool -importpass -alias my.secret -keystore keystore -storepass secret -storetype PKCS12 -v +---- + +The `-alias my.secret` stores the configuration property name `my.secret` in the KeyStore. The command will +interactively ask for the value to be stored in the KeyStore. + +== Read the KeyStore + +The KeyStore Config Source supports reading multiple keystore files: + +[source,properties] +---- +smallrye.config.source.keystore.one.path=keystore-one +smallrye.config.source.keystore.one.password=password + +smallrye.config.source.keystore.two.path=keystore-two +smallrye.config.source.keystore.two.password=password +---- + +The names are arbitrary and can be any name. The name `one` and `two` are used to distinguish both KeyStores. + +If a stored configuration property requires a xref:config/secret-keys.adoc[Secret Handler] to decode a value, set +the handler name with `smallrye.config.source.keystore."name".handler`. + +== Configuration + +[width="100%",cols="95%,2%,3%",options="header",] +|=== +|Configuration Property |Type |Default +|`smallrye.config.source.keystore."name".path` + +The KeyStore path. |String | +|`smallrye.config.source.keystore."name".password` + +The KeyStore password. |String | +|`smallrye.config.source.keystore."name".type` + +The KeyStore type. |String |`PKCS12` +|`smallrye.config.source.keystore."name".handler` + +An Optional secret keys handler. |String | +|`smallrye.config.source.keystore."name".aliases."key".name` + +An Optional aliases key name. |String | +|`smallrye.config.source.keystore."name".aliases."key".password` + +An Optional aliases key password. |String | +|`smallrye.config.source.keystore."name".aliases."key".handler` + +An Optional aliases key secret keys handler. |String | +|=== diff --git a/content/docs/smallrye-config/main/config-sources/locations.adoc b/content/docs/smallrye-config/main/config-sources/locations.adoc new file mode 100644 index 000000000..84bdc6c76 --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/locations.adoc @@ -0,0 +1,82 @@ += Locations +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Additionally, to the default config locations specified by the +https://github.com/eclipse/microprofile-config/[MicroProfile Config] specification, SmallRye Config provides a way to +scan additional locations for configuration properties files. + +The `smallrye.config.locations` configuration property accepts multiple locations separated by a comma `,` and each +ust represent a valid `URI`. The supported `URI` schemes are: + +* file or directory (`file:`) +* classpath resource +* jar resource (`jar:`) +* http resource (`http:`) + +Each `URI` scheme loads all discovered resources in a `ConfigSource`. All loaded sources use the same ordinal of the +source that found the `smallrye.config.locations` configuration property. For instance, if `smallrye.config.locations` +is set as a system property, then all loaded sources have their ordinals set to `400` (system properties use `400` as +their ordinal). The ordinal may be overridden directly in the resource by setting the `config++_++ordinal` property. +Sources are sorted first by their ordinal, then by location order, and finally by loading order. + +If a profile is active, and the `URI` represents a single resource (for instance a file), then resources that match +the active profile are also loaded. The profile resource name must follow the pattern: `++{++location}-++{++profile}`. A +profile resource is only loaded if the unprofiled resource is also available in the same location. This is to keep a +consistent loading order and pair all the resources together. + +Profile resources are not taken into account if the location is a directory since there is no reliable way to discover +which file is the main resource. Properties that use the profile prefix syntax `%profile.` will work as expected. + +_All properties files from a directory_ + +[source,properties] +---- +# loads all files from a relative path +smallrye.config.locations=./src/main/resources/ + +# loads all files from an absolute path +smallrye.config.locations=/user/local/config +---- + +For relative paths, the JVM `user.dir` property defines the current directory. + +_A specific file_ + +../src/main/resources/additional.properties + +[source,properties] +---- +smallrye.config.locations=./src/main/resources/additional.properties +---- + +If a profile `dev` is active, and an `additional-dev.properties` file exists, this will also be loaded. + +_All `additional.properties` files from the classpath_ + +.additional.properties +[source,properties] +---- +smallrye.config.locations=additional.properties +---- + +If a profile `prod` is active, and an `additional-prod.properties` resources exists next to the `additional.properties` +resource, this will also be loaded. + +_The `resources.properties` file from a specific jar_ + +.jar:file:///user/local/app/lib/resources-.jar!/resources.properties +[source,properties] +---- +smallrye.config.locations=jar:file:///user/local/app/lib/resources-.jar!/resources.properties +---- + +If a profile `test` is active, and an `additional-test.properties` resource exists, this will also be loaded. + +_The `config.properties` file from a web server_ + +.http://localhost:8080/config/config.properties +[source,properties] +---- +smallrye.config.locations=http://localhost:8080/config/config.properties +---- diff --git a/content/docs/smallrye-config/main/config-sources/toml.adoc b/content/docs/smallrye-config/main/config-sources/toml.adoc new file mode 100644 index 000000000..84319a738 --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/toml.adoc @@ -0,0 +1,22 @@ += TOML Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use a https://toml.io[TOML] file to load configuration values. The TOML Config Source +loads the configuration from the following files: + +[arabic] +. (`265`) `application.toml` in `config` folder, located in the current working directory +. (`255`) `application.toml` in the classpath +. (`110`) MicroProfile Config configuration file `META-INF/microprofile-config.toml` in the classpath + +The following dependency is required in the classpath to use the TOML Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-toml + {version} + +---- diff --git a/content/docs/smallrye-config/main/config-sources/yaml.adoc b/content/docs/smallrye-config/main/config-sources/yaml.adoc new file mode 100644 index 000000000..0c8bb5e3f --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/yaml.adoc @@ -0,0 +1,21 @@ += YAML Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows to use a `yaml` file to load configuration values. The YAML Config Source loads the configuration from the following files: + +[arabic] +. (`265`) `application.yaml++|++yml` in `config` folder, located in the current working directory +. (`255`) `application.yaml++|++yml` in the classpath +. (`110`) MicroProfile Config configuration file `META-INF/microprofile-config.yaml++|++yml` in the classpath + +The following dependency is required in the classpath to use the YAML Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-yaml + {version} + +---- diff --git a/content/docs/smallrye-config/main/config-sources/zookeeper.adoc b/content/docs/smallrye-config/main/config-sources/zookeeper.adoc new file mode 100644 index 000000000..37f27785d --- /dev/null +++ b/content/docs/smallrye-config/main/config-sources/zookeeper.adoc @@ -0,0 +1,30 @@ += ZooKeeper Config Source +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This Config Source allows using https://zookeeper.apache.org/index.html[Apache ZooKeeper] to load configuration +values. + +The following dependency is required in the classpath to use the ZooKeeper Config Source: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-source-zookeeper + {version} + +---- + +It also requires to set up additional configuration properties to identify the ZooKeeper instance: + +[source,properties] +---- +io.smallrye.configsource.zookeeper.url=localhost:2181 +io.smallrye.configsource.zookeeper.applicationId=applicationId +---- + +The ZooKeeper Config Source will look for configuration values in a ZooKeeper instance running in the url set in +`io.smallrye.configsource.zookeeper.url` and in the znodes available in `/applicationId/`. + +This Config Source has an ordinal of `150`. diff --git a/content/docs/smallrye-config/main/config/config-value.adoc b/content/docs/smallrye-config/main/config/config-value.adoc new file mode 100644 index 000000000..63d58d715 --- /dev/null +++ b/content/docs/smallrye-config/main/config/config-value.adoc @@ -0,0 +1,8 @@ += Config Value +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.ConfigValue` is a metadata object that holds additional information after the lookup of a +configuration property. It is able to hold information of configuration property name, value, profile, the +`ConfigSource` from where the configuration was loaded, the ordinal of the `ConfigSource` and a line number from where +the configuration was loaded if exists. diff --git a/content/docs/smallrye-config/main/config/configuration.adoc b/content/docs/smallrye-config/main/config/configuration.adoc new file mode 100644 index 000000000..cb7a1b582 --- /dev/null +++ b/content/docs/smallrye-config/main/config/configuration.adoc @@ -0,0 +1,20 @@ += Configuration Reference +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[width="100%",cols="92%,4%,4%",options="header",] +|=== +|Configuration Property |Type |Default +|`smallrye.config.profile` + +The main xref:config/profiles.adoc[Profile] to activate. |String++[]++ | +|`smallrye.config.profile.parent` + +The parent xref:config/profiles.adoc#parent-profile[Profile] to activate. |String | +|`smallrye.config.locations` + +xref:config-sources/locations.adoc[Additional config locations] to be loaded with the Config. The configuration supports multiple locations separated by a comma and each must represent a valid `java.net.URI`. |URI++[]++ | +|`smallrye.config.mapping.validate-unknown` + +xref:config/mappings.adoc#retrieval[Validates] that a `@ConfigMapping` maps every available configuration name contained in the mapping prefix. |boolean |true +|`smallrye.config.secret-handlers` + +The names of the secret handlers to be loaded. A value of `all` loads all available secret handlers and a value of `none` skips the load. |String++[]++ |all +|`smallrye.config.log.values` + +Enable logging of configuration values lookup in DEBUG log level. |boolean |false +|=== diff --git a/content/docs/smallrye-config/main/config/customizer.adoc b/content/docs/smallrye-config/main/config/customizer.adoc new file mode 100644 index 000000000..e841a645b --- /dev/null +++ b/content/docs/smallrye-config/main/config/customizer.adoc @@ -0,0 +1,49 @@ += Customizer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +A `SmallRyeConfigBuilderCustomizer` allows to customize a `SmallRyeConfigBuilder`, used to create the `SmallRyeConfig` +instance. + +Registration of a `SmallRyeConfigBuilderCustomizer` is done via the `ServiceLoader` mechanism by providing the +implementation classes in a `META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer` file. Alternatively, +customizers may be registered via the Programmatic API in `SmallRyeConfigBuilder#withCustomizers`. + +The `SmallRyeConfigBuilderCustomizer` may also +assign a priority by overriding the default method `int priority()`. Customizers are sorted by ascending priority and +executed in that order, meaning that higher numeric priorities will execute last, possible overriding values set by +previous customizers. + +.CustomConfigBuilder +[source,java] +---- +package org.acme.config; + +import io.smallrye.config.SmallRyeConfigBuilder; +import io.smallrye.config.SmallRyeConfigBuilderCustomizer; + +public class CustomConfigBuilder implements SmallRyeConfigBuilderCustomizer { + @Override + public void configBuilder(final SmallRyeConfigBuilder builder) { + builder.withDefaultValue("my.default", "1234"); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer +[source,properties] +---- +org.acme.config.CustomConfigBuilder +---- + +The `CustomConfigBuilder` will be executed when creating a new `SmallRyeConfig` from a `SmallRyeConfigBuilder`: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder().build(); +config.getValue("my.default", int.class); +---- + +A look up to `my.default` returns the value `1234`, registered by the `CustomConfigBuilder`. diff --git a/content/docs/smallrye-config/main/config/environment-variables.adoc b/content/docs/smallrye-config/main/config/environment-variables.adoc new file mode 100644 index 000000000..15579d8e6 --- /dev/null +++ b/content/docs/smallrye-config/main/config/environment-variables.adoc @@ -0,0 +1,80 @@ += Environment Variables +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Environment Variable names follow the conversion rules specified by https://github.com/eclipse/microprofile-config/blob/master/spec/src/main/asciidoc/configsources.asciidoc#default-configsources[MicroProfile Config]. + +SmallRye Config specifies additional conversion rules: + +* A property with double quotes `foo."bar".baz` or `foo.bar."baz"`, replace each character that is neither alphanumeric +nor `++_++` with `++_++`: `FOO++__++BAR++__++BAZ` or `FOO++_++BAR++__++BAZ++_++` ; +* A property with dashes `foo.bar-baz`, replace each character that is neither alphanumeric nor `++_++` +with `++_++`: `FOO++_++BAR++_++BAZ` +* An indexed property `foo.bar++[++0++]++` or `foo.bar++[++0++]++.baz`, replace each character that is neither alphanumeric nor `++_++` +with `++_++`: `FOO++_++BAR++_++0++_++` or `FOO++_++BAR++_++0++__++BAZ`. + +[CAUTION] +==== + +Environment Variables format cannot represent the entire spectrum of common property names. + +==== + +The lookup of configuration values from Environment Variables will always use the dotted format name. For +instance, the lookup of the Environment Variable `FOO++_++BAR` value, requires the property name `foo.bar`: + +[source,java] +---- +Config config = Config.getOrCreate(); +String value = config.getValue("foo.bar", String.class); +---- + +When SmallRyeConfig performs the lookup on the Environment Variables Config Source, it applies the conversion rules to +find the matching property name and retrieve the value. + +In some situations, looking up the exact property name is impossible. For instance, when SmallRye Config has to look up +a configuration that is part of a `Map`, and the property name contains a dynamic segment (a `Map` key). In this case, +SmallRye Config relies upon each source's list of property names. These must be converted back to their most likely +dotted format for Environment Variables. + +By default, the underscore `++_++` of an Environment Variable name always maps to a dot `.`. If the property name +contains a dash or some other special character, that property name can be specified in another Config +Source, with the expected dotted format. It will provide additional information to SmallRye Config to perform a +two-way conversion and match the property names. + +Consider: + +..env + +[source,console] +---- +FOO_BAR_BAZ=VALUE +---- + +Will map to `foo.bar.baz` and value `value`. + +If `foo.bar-baz` is available in any source: + +..env + +[source,console] +---- +FOO_BAR_BAZ=VALUE +---- + +.application.properties +[source,properties] +---- +foo.bar-baz=default +---- + +Will map to `foo.bar-baz` and value `value`. + +[NOTE] +==== + +The property name in dotted format needs to exist somewhere to provide this additional information. It can be set in a +low ordinal source, even without value. The Environment Variables source will override the value and map the correct +configuration name. + +==== diff --git a/content/docs/smallrye-config/main/config/expressions.adoc b/content/docs/smallrye-config/main/config/expressions.adoc new file mode 100644 index 000000000..f76d0df5c --- /dev/null +++ b/content/docs/smallrye-config/main/config/expressions.adoc @@ -0,0 +1,75 @@ += Property Expressions +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config provides property expressions expansion on configuration values. An expression string is a mix of plain +strings and expression segments, which are wrapped by the sequence $++{++ ... }. + +For instance, the following configuration properties file: + +[source,properties] +---- +remote.host=smallrye.io +callable.url=https://${remote.host}/ +---- + +The resolved value of the `callable.url` property is `https://smallrye.io/`. + +Additionally, the Expression Expansion engine supports the following segments: + +* `$++{++expression:value}` - Provides a default value after the `:` if the expansion doesn’t find a value. +* `$++{++my.prop$++{++compose}}` - Composed expressions. Inner expressions are resolved first. +* `$++{++my.prop}$++{++my.prop}` - Multiple expressions. + +If an expression cannot be expanded and no default is supplied a `NoSuchElementException` is thrown. + +== Escaping + +A `$` that begins an expression segment can be escaped with a backslash to treat it as a literal character: + +[source,properties] +---- +# value is: ${my.prop} +expression=\${my.prop} +---- + +A backslash that immediately precedes a `$` can itself be escaped with another backslash: + +[source,properties] +---- +# my.prop=value +# value is: \value +expression=\\${my.prop} +---- + +Escaping only applies to values that contain an expression segment. In a value that has no `$++{++ ... }` segment, +every backslash is treated as a literal character and nothing needs escaping (for example, a Windows path such as +`C:++\++some++\++path` is used as-is). + +As soon as a value contains an expression segment, the whole value is processed for escapes and backslash becomes an +escape character everywhere in it, not just before a `$`. Standard escape sequences are interpreted (`++\++n`, `++\++r`, `++\++t`, +`++\++b`, `++\++f`) and a backslash before any other character is dropped. To keep a literal backslash in such a value, double +it: + +[source,properties] +---- +# value is: C:\some\path\value (my.prop=value) +expression=C:\\some\\path\\${my.prop} +---- + +== Disabling Expansion + +Expression expansion may be selectively disabled for a block of code using `io.smallrye.config.Expressions.withoutExpansion()`. +The raw (unexpanded) value is returned for any property looked up within the block: + +[source,properties] +---- +callable.url=https://${remote.host}/ +---- + +[source,java] +---- +Config config = Config.getOrCreate(); +// returns "https://${remote.host}/" +String url = Expressions.withoutExpansion(() -> config.getValue("callable.url", String.class)); +---- diff --git a/content/docs/smallrye-config/main/config/getting-started.adoc b/content/docs/smallrye-config/main/config/getting-started.adoc new file mode 100644 index 000000000..d2eb46c6d --- /dev/null +++ b/content/docs/smallrye-config/main/config/getting-started.adoc @@ -0,0 +1,182 @@ += Getting Started +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Config Sources + +By default, SmallRye Config reads configuration properties from multiple configuration sources (by descending ordinal): + +[arabic] +. (`400`) System properties +. (`300`) Environment variables +. (`295`) `.env` file in the current working directory +. (`260`) `application.properties` in `config` folder, located in the current working directory +. (`250`) `application.properties` in the classpath +. (`100`) MicroProfile Config configuration file `META-INF/microprofile-config.properties` in the classpath + +A configuration source is handled by a `ConfigSource`. A `ConfigSource` provides configuration values from a specific +place. + +The final configuration is the aggregation of the properties defined by all these sources. A configuration property +lookup starts by the highest ordinal configuration source available and works it way down to other sources until a +match is found. This means that any configuration property may override a value just by setting a different value in a +higher ordinal config source. For example, a property configured using an Environment Variable overrides the value +provided using the `microprofile-config.properties` file. + +=== System Properties + +System properties can be handed to the application through the `-D` flag during startup. For instance, +`java -Dmy.prop -jar my.jar`. + +=== Environment Variables + +Environment variables are set directly in the host operating system. Environment variables names follow the conversion +rules detailed by xref:config/environment-variables.adoc[Environment Variables]. + +=== MicroProfile Config configuration file + +The MicroProfile Config configuration file `META-INF/microprofile-config.properties` in the classpath. It follows the +standard convention for `properties` files. + +.META-INF/microprofile-config.properties +[source,properties] +---- +greeting.message=hello +goodbye.message=bye +---- + +=== Additional Config Sources + +SmallRye Config provides additional extensions which cover other configuration formats and stores: + +* xref:config-sources/yaml.adoc[YAML] +* xref:config-sources/filesystem.adoc[File System] +* xref:config-sources/zookeeper.adoc[ZooKeeper] +* xref:config-sources/hocon.adoc[HOCON] + +It is also possible to create a xref:config-sources/custom.adoc[Custom ConfigSource]. + +== Retrieving the Configuration + +=== Programmatically + +The `io.smallrye.config.Config#getOrCreate()` API allows to access the `io.smallrye.config.Config` API +programmatically: + +[source,java] +---- +import io.smallrye.config.Config; + +Config config = Config.getOrCreate(); +String message = config.getValue("greeting.message", String.class); +---- + +The `Config` instance will be created and registered to the current context class loader if no such configuration is +already created and registered. This means that subsequent calls to `Config.getOrCreate()` or +`Config.get()` will return the same `Config` instance if the context class loader is the same. + +To obtain a detached instanced, use the `io.smallrye.config.SmallRyeConfigBuilder`: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .addDefaultInterceptors() + .addDefaultSources() + .build(); + +String message = config.getValue("greeting.message", String.class); +---- + +=== With CDI + +In a CDI environment, configuration can be injected in CDI aware beans with `@Inject` and +the `org.eclipse.microprofile.config.inject.ConfigProperty` qualifier. + +[source,java] +---- +@Inject +@ConfigProperty(name = "greeting.message") +String message; + +@Inject +@ConfigProperty(name = "greeting.suffix", defaultValue="!") +String suffix; + +@Inject +@ConfigProperty(name = "greeting.name") +Optional name; + +@Inject +SmallRyeConfig config; +---- + +* If a value if not provided for this `greeting.message`, the application startup fails with a +`jakarta.enterprise.inject.spi.DeploymentException: No config value of type ++[++class java.lang.String++]++ exists for: greeting.message`. +* The default value `!` is injected if the configuration does not provide a value for `greeting.suffix`. +* The property `greeting.name` is optional - an empty Optional is injected if the configuration does not provide a +value for it. + +== Override Config + +It is possible to override `Config` default initialization `Config.getOrCreate()`, by extending +`io.smallrye.config.SmallRyeConfigFactory` and registering the implementation with the `ServiceLoader` mechanism. + +== Config vs SmallRyeConfig + +The `io.smallrye.config.Config` is an extension of `org.eclipse.microprofile.config.Config` and provides +additional APIs and helper methods not available in `org.eclipse.microprofile.config.Config`. To obtain an instance of +`io.smallrye.config.Config`, the original `org.eclipse.microprofile.config.Config` can be unwrapped: + +[source,java] +---- +import io.smallrye.config.SmallRyeConfig; +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.config.ConfigProvider; + +Config config = ConfigProvider.getConfig(); +SmallRyeConfig smallRyeConfig = config.unwrap(SmallRyeConfig.class); +---- + +Or obtained directly: + +[source,java] +---- +Config config = Config.getOrCreate(); +---- + +A few notable APIs provided by `io.smallrye.config.Config` allow to: + +* Retrieve multiple values into a specified `Collection` +* Retrieve xref:config/indexed-properties.adoc[Indexed Values] +* Retrieve xref:config/mappings.adoc[Config Mappings] instances +* Retrieve the raw value of a configuration +* Check if a property is present +* Retrieve a `Converter` +* Convert values + +== Converters + +The `ConfigSource` retrieves a configuration value as a `String`. Other data types require a conversion using the +`org.eclipse.microprofile.config.spi.Converter` API. + +Most of the common `Converter` types are provided by default: + +* `boolean` and `java.lang.Boolean`; the values "true", "1", "YES", "Y" "ON" represent `true`. Any other value will be +interpreted as `false` +* `byte` and `java.lang.Byte` +* `short` and `java.lang.Short` +* `int`, `java.lang.Integer`, and `java.util.OptionalInt` +* `long`, `java.lang.Long`, and `java.util.OptionalLong` +* `float` and `java.lang.Float`; a dot '.' is used to separate the fractional digits +* `double`, `java.lang.Double`, and `java.util.OptionalDouble`; a dot '.' is used to separate the fractional digits +* `char` and `java.lang.Character` +* `java.lang.Class` based on the result of `Class.forName` +* `java.net.InetAddress` +* `java.util.UUID` +* `java.util.Currency` +* `java.util.regex.Pattern` +* `java.nio.file.Path` +* Any class with declared static methods `of`, `valueOf` or `parse` that take a `String` or a `CharSequence` +* Any class with declared constructors that takes a `String` or a `CharSequence` + +All default converters have a priority of `1`. diff --git a/content/docs/smallrye-config/main/config/indexed-properties.adoc b/content/docs/smallrye-config/main/config/indexed-properties.adoc new file mode 100644 index 000000000..78b32cc10 --- /dev/null +++ b/content/docs/smallrye-config/main/config/indexed-properties.adoc @@ -0,0 +1,32 @@ += Indexed Properties +:version-root: ../ +include::{version-root}_attributes.adoc[] + +In https://github.com/eclipse/microprofile-config/[MicroProfile Config], a config value with unescaped commas may be +converted to `Collection`. It works for simple cases, but it becomes cumbersome and limited for more advanced use cases. + +Indexed Properties provide a way to use indexes in config property names to map specific elements in a `Collection` +type. Since the indexed element is part of the property name, it can also map complex object types. Consider: + +[source,properties] +---- +# MicroProfile Config - Collection Values +my.collection=dog,cat,turtle + +# SmallRye Config - Indexed Property +my.indexed.collection[0]=dog +my.indexed.collection[1]=cat +my.indexed.collection[2]=turtle +---- + +The indexed property syntax uses the property name and square brackets with an index in between. + +A call to `Config#getValues("my.collection", String.class)`, will automatically create and convert a `List++<++String++>++` +that contains the values `dog`, `cat` and `turtle`. A call to `Config#getValues("my.indexed.collection", String.class)` +returns the exact same result. The indexed property format is prioritized when both styles are found in the same +configuration source. When available in multiple sources, the higher ordinal source wins, like any other configuration +lookup. + +The indexed property is sorted by its index before being added to the target `Collection`. Any gaps in the indexes do +not resolve to the target `Collection`, which means that the `Collection` result will store all values without empty +elements. diff --git a/content/docs/smallrye-config/main/config/instance-builder.adoc b/content/docs/smallrye-config/main/config/instance-builder.adoc new file mode 100644 index 000000000..1bd05231f --- /dev/null +++ b/content/docs/smallrye-config/main/config/instance-builder.adoc @@ -0,0 +1,234 @@ += Instance Builder +:version-root: ../ +include::{version-root}_attributes.adoc[] + +With the `io.smallrye.config.ConfigInstanceBuilder` API, it is possible to create instances of a configuration interface +programmatically, without requiring a `SmallRyeConfig` or any configuration source. This is useful for testing, default +configurations, or any scenario where configuration values are known at build time. + +== Usage + +A configuration interface instance is created with `ConfigInstanceBuilder.forInterface()`: + +[source,java] +---- +interface Server { + String host(); + + int port(); +} + +Server server = ConfigInstanceBuilder.forInterface(Server.class) + .with(Server::host, "localhost") + .with(Server::port, 8080) + .build(); +---- + +The builder uses method references to identify which property to set, providing compile-time type safety without +string-based property names. The `with` method accepts a method reference to the configuration interface member and the +value to set. + +[NOTE] +==== + +The configuration interface does not require the `@ConfigMapping` annotation to work with the builder. Any valid +configuration interface is accepted. + +==== + +== Primitive Types + +The builder provides dedicated `with()` overloads for `int`, `long`, `double`, and `boolean` primitive types. Other +primitive types (`byte`, `short`, `float`, `char`) are set via the generic `with()` method using their boxed types: + +[source,java] +---- +@ConfigMapping +interface Primitives { + int intValue(); + + boolean booleanValue(); + + byte byteValue(); +} + +Primitives primitives = ConfigInstanceBuilder.forInterface(Primitives.class) + .with(Primitives::intValue, 42) + .with(Primitives::booleanValue, true) + .with(Primitives::byteValue, Byte.valueOf((byte) 1)) + .build(); +---- + +== Optional Properties + +The `withOptional()` method sets optional properties. If an optional property is not set, it defaults to empty: + +[source,java] +---- +interface AppConfig { + Optional name(); + + OptionalInt timeout(); +} + +AppConfig config = ConfigInstanceBuilder.forInterface(AppConfig.class) + .withOptional(AppConfig::name, "MyApp") + .withOptional(AppConfig::timeout, 30) + .build(); +---- + +The `withOptional` method wraps the value in `Optional.of()`, `OptionalInt.of()`, `OptionalLong.of()`, or +`OptionalDouble.of()` depending on the property type. + +== Defaults + +Properties annotated with `io.smallrye.config.WithDefault` are automatically applied when no value is explicitly set +in the builder: + +[source,java] +---- +interface ServerDefaults { + @WithDefault("localhost") + String host(); + + @WithDefault("8080") + int port(); +} + +ServerDefaults server = ConfigInstanceBuilder.forInterface(ServerDefaults.class).build(); +---- + +The `ServerDefaults#host()` will return the value `localhost` and `ServerDefaults#port()` will return the value `8080`. + +Explicitly set values override the `@WithDefault` annotation: + +[source,java] +---- +ServerDefaults server = ConfigInstanceBuilder.forInterface(ServerDefaults.class) + .with(ServerDefaults::host, "0.0.0.0") + .build(); +---- + +The `ServerDefaults#host()` will return the value `0.0.0.0` and `ServerDefaults#port()` will return the value `8080`. + +== Nested Groups + +Nested configuration groups are built separately and composed into the parent builder: + +[source,java] +---- +interface AppConfig { + String name(); + + DatabaseConfig database(); +} + +interface DatabaseConfig { + String url(); + + int poolSize(); +} + +AppConfig config = ConfigInstanceBuilder.forInterface(AppConfig.class) + .with(AppConfig::name, "MyApp") + .with(AppConfig::database, ConfigInstanceBuilder.forInterface(DatabaseConfig.class) + .with(DatabaseConfig::url, "jdbc:h2:mem:test") + .with(DatabaseConfig::poolSize, 10) + .build()) + .build(); +---- + +If a nested group has `@WithDefault` values for all its members, the nested group instance is automatically built with +those defaults when not explicitly set in the builder. + +== Collections and Maps + +`List`, `Set`, and `Map` types are set directly with their values: + +[source,java] +---- +interface AppConfig { + List hosts(); + + Map labels(); +} + +AppConfig config = ConfigInstanceBuilder.forInterface(AppConfig.class) + .with(AppConfig::hosts, List.of("host1", "host2")) + .with(AppConfig::labels, Map.of("env", "prod", "region", "us-east")) + .build(); +---- + +Collections and Maps annotated with `@WithDefault` are automatically populated when not explicitly set. + +== Converters + +The builder uses the same converter mechanism as `SmallRyeConfig`. Converters are discovered via the +`java.util.ServiceLoader` mechanism, or can be registered explicitly with `ConfigInstanceBuilder.registerConverter()`: + +[source,java] +---- +ConfigInstanceBuilder.registerConverter(Duration.class, new MyDurationConverter()); +---- + +Properties annotated with `io.smallrye.config.WithConverter` use the specified converter for both `@WithDefault` value +conversion and any value set via the builder: + +[source,java] +---- +interface AppConfig { + @WithDefault("30s") + @WithConverter(DurationConverter.class) + Duration timeout(); + + @WithConverter(MemorySizeConverter.class) + MemorySize maxBodySize(); +} +---- + +[NOTE] +==== + +Converters registered with `registerConverter` are global and shared across all `ConfigInstanceBuilder` instances. + +==== + +== Required Properties + +Properties without a `@WithDefault` are considered required. Calling `build()` throws a `NoSuchElementException` if +any required property is missing: + +[source,java] +---- +interface Server { + String host(); + + @WithDefault("8080") + int port(); +} + +// Throws NoSuchElementException because host is required +ConfigInstanceBuilder.forInterface(Server.class).build(); + +// Works because host is provided +ConfigInstanceBuilder.forInterface(Server.class) + .with(Server::host, "localhost") + .build(); +---- + +== Builder Reuse + +A builder can be used to produce multiple instances. Each `build()` call creates a new independent instance: + +[source,java] +---- +ConfigInstanceBuilder builder = ConfigInstanceBuilder.forInterface(Server.class) + .with(Server::host, "localhost") + .with(Server::port, 8080); + +Server first = builder.build(); +Server second = builder.build(); +---- + +The `first` and `second` instances are equal but not the same object. Values set after a `build()` call affect only +subsequent builds. diff --git a/content/docs/smallrye-config/main/config/map-support.adoc b/content/docs/smallrye-config/main/config/map-support.adoc new file mode 100644 index 000000000..72b42740c --- /dev/null +++ b/content/docs/smallrye-config/main/config/map-support.adoc @@ -0,0 +1,60 @@ += Map Support +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config allows injecting multiple configuration parameters as a `Map`. The configuration value syntax is +represented by `property.name.map-key=value` Consider: + +[source,properties] +---- +server.reasons.200=OK +server.reasons.201=Created +---- + +The previous configuration could be injected directly in a CDI Bean: + +With `@ConfigProperty` + +[source,java] +---- +@ApplicationScoped +public class ConfigBean { + @Inject + @ConfigProperty(name = "server.reasons") + Map reasons; +} +---- + +With `@ConfigProperties` + +[source,java] +---- +@ConfigProperties(prefix = "server") +public class Config { + Map reasons; +} +---- + +The `Map` will contains the keys `200` and `201`, which map to the values `OK` and `Created`. + +[NOTE] +==== + +Only the direct sub properties will be converted into a `Map` and +injected into the target bean, the rest will be ignored. In other words, +in the previous example, a property whose name is `reasons.200.a` would +be ignored as not considered as a direct sub property. + +==== + +[NOTE] +==== + +The property will be considered as missing if no direct sub properties +could be found. + +==== + +It is also possible to retrieve the `Map` programmatically by calling the methods +`SmallRyeConfig#getValues("server.reasons", Integer.class, String.class)` or +`SmallRyeConfig#getOptionalValues("server.reasons", Integer.class, String.class)`. diff --git a/content/docs/smallrye-config/main/config/mappings.adoc b/content/docs/smallrye-config/main/config/mappings.adoc new file mode 100644 index 000000000..b7454239f --- /dev/null +++ b/content/docs/smallrye-config/main/config/mappings.adoc @@ -0,0 +1,860 @@ += Mappings +:version-root: ../ +include::{version-root}_attributes.adoc[] + +With SmallRye Config Mappings, it is possible to group multiple configuration properties in a single interface that +share the same prefix (or namespace). It supports the following set of features: + +* Automatic conversion of the configuration type, including `List`, `Set`, `Map`, `Optional` and primitive types. +* Nested Config Mapping groups. +* Configuration Properties Naming Strategies +* Integration with Bean Validation + +== Mapping Rules + +A complex object type uses the following rules to map configuration values to their member values: + +* A configuration path is built by taking the object type prefix (or namespace) and the mapping member name +* The member name is converted to its kebab-case format +* If the member name is represented as a getter, the member name is taken from its property name equivalent, and then +converted to its kebab-case format +* The configuration value is automatically converted to the member type +* The configuration path is required to exist with a valid configuration value or the mapping will fail + +[NOTE] +==== + +Kebab-case - the method name is derived by replacing case changes with a dash to map the configuration property. + +==== + +A Config Mapping requires an interface with minimal metadata configuration annotated with +`io.smallrye.config.ConfigMapping`: + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + String host(); + + int port(); +} +---- + +The `Server` interface is able to map configurations with the name `server.host` into the `Server#host()` method and +`server.port` into `Server#port()` method. The configuration property name to lookup is built from the prefix, and the +method name with `.` (dot) as the separator. + +[WARNING] +==== + +If a mapping fails to match a configuration property the config system throws a `NoSuchElementException`, unless +the mapped element is an `Optional`. + +==== + +The `@ConfigMapping` interface must obey the following rules: + +* A mapping method cannot accept parameters +* A mapping method return type cannot be void +* A mapping cannot use self-reference types +* `default` methods are allowed + +== Registration + +Registration of Config Mappings is automatic in CDI aware environments with the `@ConfigMapping` annotation. + +In non-CDI environments, the Config Mapping can be registered via `SmallRyeConfigBuilder#withMapping`. In this case, +the `@ConfigMapping` is completely optional (but recommendeded to set the prefix). + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .withMapping(Server.class) + .build(); +---- + +== Retrieval + +A config mapping interface can be injected into any CDI aware bean: + +[source,java] +---- +@ApplicationScoped +class BusinessBean { + @Inject + Server server; + + public void businessMethod() { + String host = server.host(); + } +} +---- + +In non-CDI environments, use the API `io.smallrye.config.SmallRyeConfig#getConfigMapping` to retrieve the config +mapping instance: + +[source,java] +---- +Config config = Config.getOrCreate(); +Server server = config.getConfigMapping(Server.class); +---- + +[NOTE] +==== + +Config Mapping instances are cached. They are populated when the `SmallRyeConfig` instance is initialized and +their values are not updated on `ConfigSource` changes. + +==== + +For a Config Mapping to be valid, it needs to match every configuration property name contained in the `Config` under +the specified prefix set in `@ConfigMapping`. This prevents unknown configuration properties in the `Config`. + +=== Disabling validation + +Validation can be disabled entirely in two ways: + +Via configuration property: + +[source,properties] +---- +smallrye.config.mapping.validate-unknown=false +---- + +Or programmatically via the builder: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .withMapping(Server.class) + .withValidateUnknown(false) + .build(); +---- + +=== Ignoring specific paths + +Rather than disabling validation entirely, specific paths can be ignored with +`SmallRyeConfigBuilder#withMappingIgnore`. The path argument supports three patterns: + +[cols=",",options="header",] +|=== +|Pattern |Meaning +|`foo.bar` |Ignores the exact configuration name `foo.bar` +|`foo.++*++` |Ignores all direct child names under `foo` +|`foo.++**++` |Ignores all names under `foo` at any level (recursive) +|=== + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder() + .withMapping(Server.class) + .withMappingIgnore("server.foo") // ignore the exact name + .withMappingIgnore("server.extras.*") // ignore direct children of server.extras + .withMappingIgnore("server.legacy.**") // ignore everything under server.legacy + .build(); +---- + +Multiple calls to `withMappingIgnore` accumulate — each call adds to the set of ignored paths. + +== Defaults + +The `io.smallrye.config.WithDefault` annotation allows to set a default property value into a mapping (and prevent +errors if the configuration value is not available in any `ConfigSource`). + +[source,java] +---- +public interface Defaults { + @WithDefault("foo") + String foo(); + + @WithDefault("bar") + String bar(); +} +---- + +No configuration properties are required. The `Defaults#foo()` will return the value `foo` and `Defaults#bar()` will +return the value `bar`. + +== Nested Groups + +A nested mapping provides a way to map sub-groups of configuration properties. + +* A nested type contributes with its name (converted to its kebab-case format) +* The configuration path is built by taking the root object type prefix (or namespace), the nested type name and the +member name of the nested type + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + String host(); + + int port(); + + Log log(); + + interface Log { + boolean enabled(); + + String suffix(); + + boolean rotate(); + } +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.log.enabled=true +server.log.suffix=.log +server.log.rotate=false +---- + +The method name of a mapping group acts as a sub-prefix in the property name. In this case the matching property to +`Server.Log#enabled` is `server.log.enabled`. + +== Hierarchy + +A config mapping can extend another mapping and inherit all its super members: + +[source,java] +---- +public interface Parent { + String name(); +} + +@ConfigMapping(prefix = "child") +public interface Child extends Parent { + +} +---- + +And override members: + +[source,java] +---- +public interface Parent { + String name(); +} + +@ConfigMapping(prefix = "child") +public interface Child extends Parent { + @WithName("child-name") + String name(); +} +---- + +== Overriding property names + +=== `@WithName` + +If a method name and a property name do not match, the `io.smallrye.config.WithName` annotation can +override the method name mapping and use the name supplied in the annotation. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @WithName("name") + String host(); + + int port(); +} +---- + +[source,properties] +---- +server.name=localhost +server.port=8080 +---- + +=== `@WithParentName` + +The `io.smallrye.config.WithParentName` annotation allows configurations mappings to inherit its parent container name, +simplifying the configuration property name required to match the mapping. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @WithParentName + ServerHostAndPort hostAndPort(); + + @WithParentName + ServerInfo info(); +} + +interface ServerHostAndPort { + String host(); + + int port(); +} + +interface ServerInfo { + String name(); +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.name=konoha +---- + +Without the `@WithParentName` the method `ServerInfo#name` maps the configuration property `server.info.name`. With +`@WithParentName`, the `Server#info` mapping will inherit the parent name from `Server` and `ServerInfo#name` maps to +the property `server.name` instead. + +=== NamingStrategy + +Method names in camelCase map to kebab-case configuration property names by default. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + String theHost(); + + int thePort(); +} +---- + +[source,properties] +---- +server.the-host=localhost +server.the-port=8080 +---- + +The mapping strategy can be adjusted by setting `namingStrategy` value in the `@ConfigMapping` annotation. + +[source,java] +---- +@ConfigMapping(prefix = "server", namingStrategy = ConfigMapping.NamingStrategy.VERBATIM) +public interface ServerVerbatimNamingStrategy { + String theHost(); + + int thePort(); +} +---- + +[source,properties] +---- +server.theHost=localhost +server.thePort=8080 +---- + +The `@ConfigMapping` annotation support the following naming stategies: + +* KEBAB++_++CASE - The method name is derived by replacing case changes with a dash to map the configuration property. +* VERBATIM - The method name is used as is to map the configuration property. +* SNAKE++_++CASE - The method name is derived by replacing case changes with an underscore to map the configuration property. + +=== `beanStyleGetters` + +The `beanStyleGetters` attribute (default `false`) enables matching bean-style getter names (`get`/`is` prefixed) to +their property name equivalent. For example, `getHost()` and `isEnabled()` map to the properties `host` and `enabled` +respectively: + +[source,java] +---- +@ConfigMapping(prefix = "server", beanStyleGetters = true) +public interface Server { + String getHost(); + + int getPort(); + + boolean isEnabled(); +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.enabled=true +---- + +[WARNING] +==== + +Bean-style getter matching allows multiple method names to match the same configuration name. For instance, +`getFoo` and `isFoo` both match `foo`, which may not be intended. Prefer simple method names that match +one-to-one with their configuration names. + +==== + +== Conversion + +A config mapping interface support automatic conversions of all types available for conversion in `Config`. + +[source,java] +---- +@ConfigMapping +public interface SomeTypes { + @WithName("int") + int intPrimitive(); + + @WithName("int") + Integer intWrapper(); + + @WithName("long") + long longPrimitive(); + + @WithName("long") + Long longWrapper(); + + @WithName("float") + float floatPrimitive(); + + @WithName("float") + Float floatWrapper(); + + @WithName("double") + double doublePrimitive(); + + @WithName("double") + Double doubleWrapper(); + + @WithName("char") + char charPrimitive(); + + @WithName("char") + Character charWrapper(); + + @WithName("boolean") + boolean booleanPrimitive(); + + @WithName("boolean") + Boolean booleanWrapper(); +} +---- + +[source,properties] +---- +int=9 +long=9999999999 +float=99.9 +double=99.99 +char=c +boolean=true +---- + +This is also valid for `Optional` and friends. + +[source,java] +---- +@ConfigMapping +public interface Optionals { + Optional server(); + + Optional optional(); + + @WithName("optional.int") + OptionalInt optionalInt(); + + interface Server { + String host(); + + int port(); + } +} +---- + +In this case, the mapping won’t fail if the configuraton properties values are missing. + +=== `@WithConverter` + +The `io.smallrye.config.WithConverter` annotation provides a way to set a specific `Converter` in a mapping. + +[source,java] +---- +@ConfigMapping +public interface Converters { + @WithConverter(FooBarConverter.class) + String foo(); +} + +public static class FooBarConverter implements Converter { + @Override + public String convert(final String value) { + return "bar"; + } +} +---- + +[source,properties] +---- +foo=foo +---- + +A call to `Converters.foo()` results in the value `bar`. + +== Collections + +A config mapping is also able to map the collections types `List` and `Set`. + +* A member with a `Collection` type requires the configuration name to be in its indexed format +* Each configuration name, plus its index maps the configuration value to the corresponding `Collection` element in the +object type +* The index must be part of the configuration path, by appending the index between square brackets to the`Collection` +member +* The index specified in the configuration name is used to order the element in the `Collection` +* Missing elements or gaps are removed + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface ServerCollections { + Set environments(); + + interface Environment { + String name(); + + List apps(); + + interface App { + String name(); + + List services(); + + Optional> databases(); + } + } +} +---- + +[source,properties] +---- +server.environments[0].name=dev +server.environments[0].apps[0].name=rest +server.environments[0].apps[0].services=bookstore,registration +server.environments[0].apps[0].databases=pg,h2 +server.environments[0].apps[1].name=batch +server.environments[0].apps[1].services=stock,warehouse +---- + +The `List` and `Set` mappings can use xref:config/indexed-properties.adoc[Indexed Properties] to map configuration values in +mapping groups. + +[NOTE] +==== + +A `List` mapping is backed by an `ArrayList`, and a `Set` mapping is backed by a `HashSet`. + +==== + +== Maps + +A config mapping is also able to map a `Map`. + +* A member with a `Map` type requires an additional configuration name added to the configuration path of the `Map` +member to act as a map key +* The additional configuration name maps a Map entry with the configuration name as the `Map` entry key and +the configuration value as the Map entry value + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + String host(); + + int port(); + + Map form(); + + Map> aliases(); + + interface Alias { + String name(); + } +} +---- + +[source,properties] +---- +server.host=localhost +server.port=8080 +server.form.index=index.html +server.form.login.page=login.html +server.form.error.page=error.html +server.aliases.localhost[0].name=prod +server.aliases.localhost[1].name=127.0.0.1 +server.aliases.\"io.smallrye\"[0].name=smallrye +---- + +The configuration property name needs to specify an additional segment to act as the map key. The `server.form` matches +the `Server#form` `Map` and the segments `index`, `login.page` and `error.page` represent the `Map` +keys. + +[NOTE] +==== + +A `Map` mapping is backed by an `HashMap`. + +==== + +When populating a `Map`, `SmallRyeConfig` requires the configuration names listed in +`SmallRyeConfig#getPropertyNames` to find the `Map` keys. If a `ConfigSource` does not support +`getPropertyNames` (empty), the names must be provided by another `ConfigSource` that can do so. After retrieving the +map keys, `SmallRyeConfig` performs the lookup of the values with the regular `ConfigSource` ordinal ordering. Even if +a `ConfigSource` does not provide `getPropertyNames` it can provide the value by having the name listed in another +capable `ConfigSource`. + +For collection types, the key requires the indexed format. The configuration name `server.aliases.localhost++[++0++]++.name` +maps to the `Map++<++String, List++<++Alias++>>++ aliases()` member, where `localhost` is the `Map` key, `++[++0++]++` is the index of the +`List++<++Alias++>++` collection where the `Alias` element will be stored, containing the name `prod`. + +[TIP] +.Map quoted keys requirement +==== + +The `Map` key part in the configuration property name may require quotes to delimit the key if the key contains +a dot, otherwise they are optional. If the key name is delimited by quotes, all configuration property names related +with the same name must use the quoted format across all sources, including Environment Variables. + +==== + +[WARNING] +.Do not mix quoted and unquoted keys +==== + +For a key that spans a single segment, the quoted and unquoted forms name the same `Map` key. Both +`server.aliases.localhost.name` and `server.aliases."localhost".name` refer to the key `localhost`, so writing both +makes the key ambiguous. + +When `SmallRyeConfig` finds both forms, it resolves the entry with the quoted form and logs a warning: + +.... +SRCFG01009: The Map path keys "server.aliases."localhost"" and "server.aliases.localhost" are ambiguous. These can +cause issues in the mapping. Please, do not mix quoted and unquoted in the same Map key. Using +server.aliases."localhost". +.... + +Because only the quoted form is used to look up the entry values, the property names written in the unquoted form +are left unmapped, and the mapping fails validation: + +.... +SRCFG00050: server.aliases.localhost.name does not map to any root +.... + +If the two forms also split the members of a nested group between them, the members that only exist in the +unquoted form are not found at all, and the mapping additionally fails with: + +.... +SRCFG00014: The config property server.aliases."localhost".name is required but it could not be found in any config source +.... + +Either form works on its own, so pick one and use it consistently for a given key across all sources. + +==== + +=== `@WithUnnamedKey` + +The `io.smallrye.config.WithUnnamedKey` annotation allows to omit a single map key in the configuration path: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithUnnamedKey("localhost") + Map aliases(); + + interface Alias { + String name(); + } +} +---- + +[source,properties] +---- +server.aliases.name=localhost +server.aliases.prod.name=prod +---- + +The `sever.aliases.name` is an unnamed `Map` property, because it does not contain the `Map` key to populate the `Map` +entry. Due to `@WithUnnamedKey("localhost")` the `Map` key is not required in the configuration path. The key used to +look up the Map entry is given by `io.smallrye.config.WithUnnamedKey#value`: + +[source,java] +---- +Server server = config.getConfigMapping(Server.class); +Map localhost = server.aliases.get("localhost"); +---- + +[WARNING] +==== + +If the unnamed key (in this case `localhost`) is explicitly set in a property name, the explicit value takes precedence + +==== + +The `eager` attribute (default `true`) controls whether the unnamed key entry is included in the `Map` when its values +come only from defaults. When `eager = false`, the unnamed key entry is excluded from the `Map` unless at least one +of its values is explicitly set in a configuration source: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithUnnamedKey(value = "localhost", eager = false) + Map aliases(); + + interface Alias { + @WithDefault("localhost") + String name(); + } +} +---- + +With `eager = false` and no properties set, `server.aliases` returns an empty `Map`. With `eager = true` (the +default), it returns a `Map` with the key `localhost` populated from the `@WithDefault`. + +=== `@WithKeys` + +The `io.smallrye.config.WithKeys` annotation allows to define which `Map` keys must be loaded by +the configuration: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithKeys(KeysProvider.class) + Map aliases(); + + interface Alias { + String name(); + } + + class KeysProvider implements Supplier> { + @Override + public Iterable get() { + return List.of("dev", "test", "prod"); + } + } +} +---- + +In this case, `SmallRyeConfig` will look for the map keys `dev`, `test` and `prod` instead of discovering the keys +with `SmallRyeConfig#getPropertyNames`: + +[source,properties] +---- +servers.alias.dev.name=dev +servers.alias.test.name=test +servers.alias.prod.name=prod +---- + +The provided list will effectively substitute the lookup in `SmallRyeConfig#getPropertyNames`, thus enabling a +`ConfigSource` that does not list its properties, to contribute configuration to the `Map`. Each key must exist in +the final configuration (relative to the `Map` path segment), or the mapping will fail with a +`ConfigValidationException`. + +=== `@WithDefaults` + +The `io.smallrye.config.WithDefaults` is a marker annotation to use only in a `Map` to return the default value for +the value element on any key lookup: + +[source,java] +---- +@ConfigMapping(prefix = "server") +public interface Server { + @WithDefaults + Map aliases(); + + interface Alias { + @WithDefault("localhost") + String name(); + } +} +---- + +[source,properties] +---- +server.aliases.prod.name=prod +---- + +A look-up to the `aliases` `Map` with the key `localhost`, `any` or any other key, returns a `Alias` instance, where +`Alias.name` is `localhost`, which is the default value. A look-up to `prod` returns a `Alias` instance, where +`Alias.name` is `prod` because the property is defined in the configuration as `server.aliases.prod.name=prod`. + +The `Map` can only iterate and size the defined keys. In this case, the `aliases` `Map` only iterates the `prod` key, +and the size is `1`. + +[source,java] +---- +Server server = config.getConfigMapping(Server.class); +Map localhost = server.aliases().get("localhost"); +Map any = server.aliases().get("any"); +Map prod = server.aliases().get("prod"); +---- + +== Optionals + +* A mapping can wrap any complex type with an `Optional` +* `Optional` mappings do not require the configuration path and value to be present + +== Secrets + +* A mapping can mark a member type as a secret with `Secret++<++T++>++`: + +[source,java] +---- +@ConfigMapping(prefix = "credentials") +public interface Credentials { + String username(); + + Secret password(); +} +---- + +A `Secret` value modifies the behaviour of the config system by: + +* Omitting the name of the secret in `SmallRyeConfig#getPropertyNames()` +* Omitting the name and value of the secret in the mapping `toString` method +* Throwing a `SecurityException` when trying to retrieve the value via `SmallRyeConfig` programmatic API + +A Secret can be of any type that can be converted by a registered `org.eclipse.microprofile.config.spi.Converter` of +the same type. + +== toString, equals, hashcode + +If the config mapping contains a `toString` method declaration, the config mapping instance will include a proper +implementation of the `toString` method. The `equals` and `hashcode` methods are included automatically. + +[CAUTION] +==== + +Do not include a `toString` declaration in a config mapping with sensitive information. + +==== + +== Validation + +A config mapping may combine annotations from https://beanvalidation.org/[Bean Validation] to validate configuration +properties values. + +[source,java] +---- +@ConfigMapping(prefix = "server") +interface Server { + @Size(min = 2, max = 20) + String host(); + + @Max(10000) + int port(); +} +---- + +The application startup fails with a `io.smallrye.config.ConfigValidationException` if the configuration properties +values do not follow the contraints defined in `Server`. + +[NOTE] +==== + +For validation to work, the `smallrye-config-validator` dependency is required in the classpath. + +==== diff --git a/content/docs/smallrye-config/main/config/profiles.adoc b/content/docs/smallrye-config/main/config/profiles.adoc new file mode 100644 index 000000000..ca2dd361e --- /dev/null +++ b/content/docs/smallrye-config/main/config/profiles.adoc @@ -0,0 +1,192 @@ += Profiles +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Applications often require different configurations depending on the target environment. For example, the local +development environment may be different from the production environment. Profiles allow for multiple configurations +in the same file or separate files and select between them via a profile name. + +== Profile aware properties + +To be able to set properties with the same name, each property needs to be prefixed with a percentage sign `%` followed +by the profile name and a dot `.` in the syntax `%++{++profile-name}.config.name`: + +.META-INF/microprofile-config.properties +[source,properties] +---- +http.port=8080 +%dev.http.port=8181 +---- + +To activate the profile `dev`, the configuration `smallrye.config.profile=dev` has to be set into any valid +`ConfigSource`. + +Any lookup to the `http.port` property name will first search by the active profile name `%dev.http.port` and then +fallback to `http.port` if no value is present. In this case a lookup to the property `http.port` with the `dev` profile +active, yields the value `8181`. + +[WARNING] +==== + +The profile must be set in one of the primary sources (system properties, environment variables, +`application.properties`, or any other source that does not require configuration) to determine the proper +configuration. + +==== + +== Profile aware files + +Properties for a specific profile may reside in a `microprofile-config-++{++profile}.properties` named file. The previous +example can be expressed as: + +.META-INF/microprofile-config.properties +[source,properties] +---- +http.port=8080 +---- + +.META-INF/microprofile-config-dev.properties +[source,properties] +---- +http.port=8181 +---- + +In this style, the property names in the profile aware file do not need to be prefixed with the profile name. + +[NOTE] +==== + +Properties in the profile aware file have priority over profile aware properties defined in the main file. + +==== + +[WARNING] +==== + +Do not use Profile aware files to set `smallrye.config.profile`. This will not work because the +the profile is required in advance to load the profile aware files. + +==== + +== Priority + +Profile lookups are only valid if the `ConfigSource` has a higher ordinal than a lookup to the regular configuration +name. Consider: + +.main.properties +[source,properties] +---- +config_ordinal=1000 +http.port=8080 +---- + +.profile.properties +[source,properties] +---- +config_ordinal=100 +%dev.http.port=8181 +---- + +Even with the profile `dev` active, the lookup value for `my.prop` is `1234`. This prevents lower ordinal sources to +set a profile property value that cannot be overridden unless the profile property is also overridden. + +== Multiple Profiles + +Multiple Profiles may be active at the same time. The configuration `smallrye.config.profile` accepts a comma-separated +list of profile names: `smallrye.config.profile=common,dev`. Both `common` and `dev` are separate profiles. + +When multiple profiles are active, the rules for profile configuration are the same. If two profiles define the same +configuration, then the last listed profile has priority. Consider: + +[source,properties] +---- +smallrye.config.profile=common,dev + +my.prop=1234 +%common.my.prop=1234 +%dev.my.prop=5678 + +%common.commom.prop=common +%dev.dev.prop=dev +%test.test.prop=test +---- + +Then + +* `common.prop` value is `common` +* `dev.prop` value is `dev` +* `my.prop` value is `5678` +* `test.prop` does not have a value + +It is also possible to define multiple profile properties, with a comma-separated list of profile names: + +[source,properties] +---- +%prod,dev.my.prop=1234 +---- + +The property name `common.prop` is active in both `dev` and `prod` profile. If the same property name exists in +multiple profile properties then, the property name with the most specific profile wins: + +[source,properties] +---- +smallrye.config.profile=dev + +%prod,dev.my.prop=1234 + +%dev.my.prop=5678 +---- + +Then `my.prop` value is `5678`. + +== Parent Profile + +A Parent Profile adds multiple levels of hierarchy to the current profile. The configuration +`smallrye.config.profile.parent` also acccepts a comma-separated list of profile names. + +When the Parent Profile is active, if a property cannot be found in the current active Profile, the config lookup +fallbacks to the Parent Profile. Consider: + +[source,properties] +---- +smallrye.config.profile=dev +smallrye.config.profile.parent=common + +my.prop=1234 +%common.my.prop=0 +%dev.my.prop=5678 + +%common.commom.prop=common +%dev.dev.prop=dev +%test.test.prop=test +---- + +Then + +* `common.prop` value is `common` +* `dev.prop` value is `dev` +* `my.prop` value is `0` +* `test.prop` does not have a value + +[WARNING] +==== + +Do not use Profile aware files to set smallrye.config.profile.parent++`++. This will not work because the +the profile is required in advance to load the profile aware files. + +==== + +=== Multi-level Hierarchy + +The Parent Profile also supports multiple levels of hierarchies: + +[source,properties] +---- +smallrye.config.profile=child +%child.smallrye.config.profile.parent=parent +%parent.smallrye.config.profile.parent=grandparent +%grandparent.smallrye.config.profile.parent=greatgrandparent +%greatgrandparent.smallrye.config.profile.parent=end +---- + +Will load the following profiles in order: `child`, `parent`, `grandparent`, `greatgrandparent`, `end` diff --git a/content/docs/smallrye-config/main/config/secret-keys.adoc b/content/docs/smallrye-config/main/config/secret-keys.adoc new file mode 100644 index 000000000..df27211bf --- /dev/null +++ b/content/docs/smallrye-config/main/config/secret-keys.adoc @@ -0,0 +1,232 @@ += Secret Keys +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Secret Keys Expressions + +In SmallRye Config, a secret configuration may be expressed as `$++{++handler::value}`, where the `handler` is the name of +a `io.smallrye.config.SecretKeysHandler` to decode or decrypt the `value` separated by a double colon `::`. + +It is possible to create a custom `SecretKeysHandler` and provide different ways to decode or decrypt configuration +values. + +A custom `SecretKeysHandler` requires an implementation of `io.smallrye.config.SecretKeysHandler` or +`io.smallrye.config.SecretKeysHandlerFactory`. Each implementation requires registration via the `ServiceLoader` +mechanism, either in `META-INF/services/io.smallrye.config.SecretKeysHandler` or +`META-INF/services/io.smallrye.config.SecretKeysHandlerFactory` files. + +=== Custom `SecretKeysHandler` + +A direct `SecretKeysHandler` implementation is suitable when the handler needs no configuration of its own: + +[source,java] +---- +public class Base64SecretKeysHandler implements SecretKeysHandler { + @Override + public String decode(final String secret) { + return new String(Base64.getDecoder().decode(secret)); + } + + @Override + public String getName() { + return "base64"; + } +} +---- + +.META-INF/services/io.smallrye.config.SecretKeysHandler + +.... +org.acme.config.Base64SecretKeysHandler +.... + +A secret value encoded with the `base64` handler can then be expressed as: + +[source,properties] +---- +my.secret=${base64::SGVsbG8gV29ybGQ=} +---- + +=== `SecretKeysHandlerFactory` + +When a handler requires configuration from other config sources (for example, a key or a credential read from +the config), use `SecretKeysHandlerFactory` instead. The factory receives a `ConfigSourceContext` that provides +access to all config sources initialized before the factory runs: + +[source,java] +---- +public class VaultSecretKeysHandlerFactory implements SecretKeysHandlerFactory { + @Override + public SecretKeysHandler getSecretKeysHandler(final ConfigSourceContext context) { + ConfigValue token = context.getValue("vault.token"); + return new VaultSecretKeysHandler(token.getValue()); + } + + @Override + public String getName() { + return "vault"; + } +} +---- + +.META-INF/services/io.smallrye.config.SecretKeysHandlerFactory +[source,properties] +---- +org.acme.config.VaultSecretKeysHandlerFactory +---- + +=== `LazySecretKeysHandler` + +`SecretKeysHandlerFactory` initializes during the first phase of `SmallRyeConfig` bootstrap, alongside regular +`ConfigSource` and `ConfigSourceProvider` registrations. This means that config values produced by a +`ConfigSourceFactory` are *not* yet available when the factory's `getSecretKeysHandler` is called. + +For handlers that depend on sources provided by a `ConfigSourceFactory`, wrap an inner `SecretKeysHandlerFactory` +in a `SecretKeysHandlerFactory.LazySecretKeysHandler`. The inner factory's `getSecretKeysHandler` is only invoked +the first time a value actually needs to be decoded, by which point all sources — including those from +`ConfigSourceFactory` — are fully initialized: + +[source,java] +---- +public class VaultSecretKeysHandlerFactory implements SecretKeysHandlerFactory { + @Override + public SecretKeysHandler getSecretKeysHandler(final ConfigSourceContext context) { + return new LazySecretKeysHandler(new SecretKeysHandlerFactory() { + @Override + public SecretKeysHandler getSecretKeysHandler(final ConfigSourceContext context) { + // This runs lazily, after all sources are ready. + ConfigValue token = context.getValue("vault.token"); + return new VaultSecretKeysHandler(token.getValue()); + } + + @Override + public String getName() { + return "vault"; + } + }); + } + + @Override + public String getName() { + return "vault"; + } +} +---- + +[WARNING] +==== + +The inner factory wrapped by `LazySecretKeysHandler` is what defers initialization. Do not call +`context.getValue` in the outer `getSecretKeysHandler`; only the inner factory's `getSecretKeysHandler` (invoked lazily) may resolve configuration values. + +==== + +[CAUTION] +==== + +It is not possible to mix Secret Keys Expressions with Property Expressions. + +==== + +=== Crypto + +The `smallrye-config-crypto` artifact contains a few out-of-the-box `SecretKeysHandler`s ready for use. It requires +the following dependency: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config-crypto + {version} + +---- + +==== AES/GCM/NoPadding `$++{++aes-gcm-nopadding::...}` + +* The encoding length is 128. +* The secret and the encryption key (without padding) must be base 64 encoded. + +[NOTE] +==== + +.application.properties +[source,properties] +---- +smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key=DDne5obnfH1RSeTg71xSZg + +my.secret=${aes-gcm-nopadding::DLTb_9zxThxeT5iAQqswEl5Dn1ju4FdM9hIyVip35t5V} +---- + +The `$++{++aes-gcm-nopadding::...}` `SecretKeyHandler` requires +`smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key` configuration to state the encryption key to be +used by the `aes-gcm-nopaddin` handler. + +A lookup to `my.secret` will use the `SecretKeysHandler` name `aes-gcm-nopadding` to decode the value +`DJNrZ6LfpupFv6QbXyXhvzD8eVDnDa++_++kTliQBpuzTobDZxlg`. + +==== + +[NOTE] +==== + +It is possible to generate the encrypted secret with the following http://jbang.dev/[JBang] script: + +[source,shell] +---- +jbang https://raw.githubusercontent.com/smallrye/smallrye-config/main/documentation/src/main/docs/config/secret-handlers/encryptor.java -s= -k=` +---- + +==== + +===== Configuration + +[width="100%",cols="90%,5%,5%",options="header",] +|=== +|Configuration Property |Type |Default +|`smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key` + +The encryption key to use to decode secrets encoded by the `AES/GCM/NoPadding` algorithm. |String | +|`"smallrye.config.secret-handler.aes-gcm-nopadding.encryption-key-decode"` + +Decode the encryption key in Base64, if the plain text key was used to encrypt the secret. |boolean |false +|=== + +== Secret Keys Names + +When configuration properties contain passwords or other kinds of secrets, Smallrye Config can hide them to prevent +accidental exposure of such values. + +*This is no way a replacement for securing secrets.* Proper security mechanisms must still be used to secure +secrets. However, there is still the fundamental problem that passwords and secrets are generally encoded simply as +strings. Secret Keys provides a way to "lock" the configuration so that secrets do not appear unless explicitly enabled. + +To mark specific keys as secrets, register an instance of `io.smallrye.config.SecretKeysConfigSourceInterceptor` by +using the interceptor factory as follows: + +[source,java] +---- +public class SecretKeysConfigInterceptorFactory implements ConfigSourceInterceptorFactory { + @Override + public ConfigSourceInterceptor getInterceptor(ConfigSourceInterceptorContext context) { + return new SecretKeysConfigSourceInterceptor(Set.of("secret")); + } +} +---- + +Register the factory so that it can be found at runtime by creating a +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file that contains the fully qualified name of +this factory class. + +From this point forward, every lookup to the configuration name `secret` will throw a `SecurityException`. + +Access the Secret Keys using the APIs `io.smallrye.config.SecretKeys#doUnlocked(java.lang.Runnable)` +and `io.smallrye.config.SecretKeys#doUnlocked(java.util.function.Supplier++<++T++>++)`. + +[source,java] +---- +String secretValue = SecretKeys.doUnlocked(() -> { + config.getValue("secret", String.class); +}); +---- + +Secret Keys are only unlocked in the context of `doUnlocked`. Once the execution completes, the secrets become locked +again. diff --git a/content/docs/smallrye-config/main/converters/custom.adoc b/content/docs/smallrye-config/main/converters/custom.adoc new file mode 100644 index 000000000..e95f13ad9 --- /dev/null +++ b/content/docs/smallrye-config/main/converters/custom.adoc @@ -0,0 +1,101 @@ += Custom `Converter` +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to create a custom `Converter` type as specified in +https://github.com/eclipse/microprofile-config/[MicroProfile Config]. + +A custom `Converter` requires an implementation of `org.eclipse.microprofile.config.spi.Converter`. Each implementation +requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/org.eclipse.microprofile.config.spi.Converter` file. Consider: + +[source,java] +---- +package org.acme.config; + +public class CustomValue { + + private final int number; + + public CustomValue(int number) { + this.number = number; + } + + public int getNumber() { + return number; + } +} +---- + +The corresponding converter can look like: + +[source,java] +---- +package org.acme.config; + +import org.eclipse.microprofile.config.spi.Converter; + +public class CustomValueConverter implements Converter { + + @Override + public CustomValue convert(String value) { + return new CustomValue(Integer.parseInt(value)); + } +} +---- + +And registration in: + +.META-INF/services/org.eclipse.microprofile.config.spi.Converter +[source,properties] +---- +org.acme.config.CustomValueConverter +---- + +[WARNING] +==== + +The custom `Converter` class must be `public`, must have a `public` constructor with no arguments, and must not be +abstract. + +==== + +The `CustomValueConverter` converts the configuration value to the `CustomValue` type automatically. + +[source,java] +---- +Config config = Config.getOrCreate(); +CustomValue value = config.getValue("custom.value", CustomValue.class); +---- + +The `jakarta.annotation.Priority` annotation overrides the `Converter` priority and change converters precedence to fine +tune the execution order. By default, if no `@Priority` is specified by the `Converter`, the converter is registered +with a priority of `100`. Consider: + +[source,java] +---- +package org.acme.config; + +import jakarta.annotation.Priority; +import org.eclipse.microprofile.config.spi.Converter; + +@Priority(150) +public class SecretConverter implements Converter { + + @Override + public CustomValue convert(String value) { + final int secretNumber; + if (value.startsFrom("OBF:")) { + secretNumber = Integer.parseInt(SecretDecoder.decode(value)); + } else { + secretNumber = Integer.parseInt(value); + } + + return new CustomValue(secretNumber); + } +} +---- + +Two `Converter`s, (`CustomValueConverter` and `SecretConverter`) can convert the same type `CustomValue`. Since +`SecretConverter` has a priority of `150`, it will be used instead of a `CustomValueConverter` which has a default +priority of `100` (no annotation). diff --git a/content/docs/smallrye-config/main/extensions/fallback.adoc b/content/docs/smallrye-config/main/extensions/fallback.adoc new file mode 100644 index 000000000..05af7251d --- /dev/null +++ b/content/docs/smallrye-config/main/extensions/fallback.adoc @@ -0,0 +1,59 @@ += Fallback +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.FallbackConfigSourceInterceptor` allows to fall back to another configuration name, by +providing a transformation function or just a simple key value map. + +When a configuration name does not exist, there might be another configuration name that the config can +fall back to provide the same expected behavior. The fallback function is only applied if the original resolved +configuration name is not found and resolved to the fallback name. + +[source,java] +---- +package org.acme.config; + +import io.smallrye.config.FallbackConfigSourceInterceptor; + +public class MicroProfileConfigFallbackInterceptor extends FallbackConfigSourceInterceptor { + public MicroProfileConfigFallbackInterceptor() { + super(name -> name.startsWith("mp.config") ? + name.replaceAll("mp\\.config", "smallrye.config") : + name); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceInterceptor +[source,properties] +---- +org.acme.config.MicroProfileConfigFallbackInterceptor +---- + +The `MicroProfileConfigFallbackInterceptor` can fallback configuration names in the `mp.config` namespace +to the `smallrye.config` namespace. + +[NOTE] +==== + +.application.properties +[source,properties] +---- +mp.config.profile=test +smallrye.config.profile=prod +---- + +A lookup to `mp.config.profile` returns the value `test`. + +.application.properties +[source,properties] +---- +smallrye.config.profile=prod +---- + +A lookup to `mp.config.profile` returns the value `prod`. The config is not able to find a value for +`mp.config.profile`, so the interceptor fallbacks and lookups the value of `smallrye.config.profile`. + +==== diff --git a/content/docs/smallrye-config/main/extensions/interceptors.adoc b/content/docs/smallrye-config/main/extensions/interceptors.adoc new file mode 100644 index 000000000..8811bf0dc --- /dev/null +++ b/content/docs/smallrye-config/main/extensions/interceptors.adoc @@ -0,0 +1,179 @@ += Interceptors +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Config provides an interceptor chain that hooks into the configuration values resolution. This is useful to +implement features like xref:config/profiles.adoc[Profiles] , xref:config/expressions.adoc[Property Expressions], or just +logging to find out where the config value was loaded from. + +An interceptor can be created by implementing the +https://github.com/smallrye/smallrye-config/blob/main/implementation/src/main/java/io/smallrye/config/ConfigSourceInterceptor.java[ConfigSourceInterceptor] +interface. + +An interceptor requires an implementation of `io.smallrye.config.ConfigSourceInterceptor`. Each implementation requires +registration via the `ServiceLoader` mechanism in the `META-INF/services/io.smallrye.config.ConfigSourceInterceptor` +file. Alternatively, interceptors may be registered via the Programmatic API in +`SmallRyeConfigBuilder#withInterceptors`. + +`io.smallrye.config.ConfigSourceInterceptor` exposes two interception points: + +* `ConfigValue getValue(ConfigSourceInterceptorContext context, String name)` — intercepts the resolution of a +configuration value by name. +* `Iterator++<++String++>++ iterateNames(ConfigSourceInterceptorContext context)` — intercepts the iteration of all known +configuration property names. + +The `ConfigSourceInterceptorContext` is used to proceed with the interceptor chain. Calling `context.proceed(name)` +continues to the next interceptor in the chain. The chain can be short-circuited by returning a custom instance of +`io.smallrye.config.ConfigValue` from `getValue`, or a custom `Iterator++<++String++>++` from `iterateNames`. The `ConfigValue` +objects hold information about the key name, value, config source origin and ordinal. + +[NOTE] +==== + +The interceptor chain is applied before any conversion is performed on the configuration value. + +==== + +[source,java] +---- +package org.acme.config; + +import jakarta.annotation.Priority; + +import io.smallrye.config.ConfigSourceInterceptor; +import io.smallrye.config.Priorities; + +@Priority(Priorities.APPLICATION) +public class LoggingConfigSourceInterceptor implements ConfigSourceInterceptor { + @Override + public ConfigValue getValue(final ConfigSourceInterceptorContext context, final String name) { + ConfigValue configValue = context.proceed(name); + if (configValue != null) { + System.out.println("Looked up: " + configValue.getName() + "=" + configValue.getValue()); + } else { + System.out.println("Not found: " + name); + } + return configValue; + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceInterceptor +[source,properties] +---- +org.acme.config.LoggingConfigSourceInterceptor +---- + +The `LoggingConfigSourceInterceptor` logs each configuration name lookup. The logged information includes the config +name and value, and (from the resolved `ConfigValue`) the config source origin and location if they exist. + +== `iterateNames` + +The `iterateNames` method intercepts the set of configuration property names visible to the rest of the chain. The +default implementation simply delegates to `context.iterateNames()`. Override it to add, remove, or transform names. + +A common use case is hiding sensitive property names from enumeration while still allowing their values to be +retrieved: + +[source,java] +---- +package org.acme.config; + +import java.util.Iterator; + +import jakarta.annotation.Priority; + +import io.smallrye.config.ConfigSourceInterceptor; +import io.smallrye.config.ConfigSourceInterceptorContext; +import io.smallrye.config.Priorities; + +@Priority(Priorities.APPLICATION) +public class HidingConfigSourceInterceptor implements ConfigSourceInterceptor { + @Override + public ConfigValue getValue(final ConfigSourceInterceptorContext context, final String name) { + return context.proceed(name); + } + + @Override + public Iterator iterateNames(final ConfigSourceInterceptorContext context) { + Iterator names = context.iterateNames(); + return new Iterator<>() { + @Override + public boolean hasNext() { + return names.hasNext(); + } + + @Override + public String next() { + String name = names.next(); + // filter out any name starting with "secret." + return name.startsWith("secret.") ? next() : name; + } + }; + } +} +---- + +[NOTE] +==== + +`iterateNames` affects the results of `Config#getPropertyNames()` and is used by Config Mappings to discover +`Map` keys. Interceptors that hide names will also prevent those names from being mapped into `Map` entries. + +==== + +== `ConfigSourceInterceptorContext` + +`ConfigSourceInterceptorContext` provides two ways to continue the chain: + +* `proceed(String name)` — passes the lookup to the *next* interceptor in the chain. This is the standard method +to use in most interceptors. +* `restart(String name)` — re-invokes the *first* interceptor in the chain from the beginning. This is intended for +relocating or compatibility interceptors that resolve a new name and need the full chain to re-evaluate it, including +profile expansion and expression resolution. Passing the original name to `restart` can cause an infinite loop, so +care must be taken. + +Example — an interceptor that resolves an alias name and restarts the full chain for the resolved name: + +[source,java] +---- +package org.acme.config; + +import jakarta.annotation.Priority; + +import io.smallrye.config.ConfigSourceInterceptor; +import io.smallrye.config.ConfigSourceInterceptorContext; +import io.smallrye.config.ConfigValue; +import io.smallrye.config.Priorities; + +@Priority(Priorities.APPLICATION) +public class AliasConfigSourceInterceptor implements ConfigSourceInterceptor { + @Override + public ConfigValue getValue(final ConfigSourceInterceptorContext context, final String name) { + if (name.equals("app.host")) { + // Restart the chain with the canonical name so profiles and + // expressions are re-applied to the resolved name. + return context.restart("server.host"); + } + return context.proceed(name); + } +} +---- + +Interceptors may also be created with an implementation of `io.smallrye.config.ConfigSourceInterceptorFactory`. Each +implementation requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file. Alternatively, interceptors factories may +be registered via the Programmatic API in `SmallRyeConfigBuilder#withInterceptorFactories`. + +The `ConfigSourceInterceptorFactory` can initialize an interceptor with access to the current chain +(so it can be used to configure the interceptor and retrieve configuration values) and set the priority. + +A `ConfigSourceInterceptor` implementation class can specify a priority by way of the standard +`jakarta.annotation.Priority` annotation. If no priority is explicitly assigned, the default priority value of +`io.smallrye.config.Priorities.APPLICATION` is assumed. If multiple interceptors are registered with the same priority, +then their execution order may be non-deterministic. + +A collection of built-in priority constants can be found in `io.smallrye.config.Priorities`. It is recommended to +use `io.smallrye.config.Priorities.APPLICATION` as a baseline for user defined interceptors. diff --git a/content/docs/smallrye-config/main/extensions/logging.adoc b/content/docs/smallrye-config/main/extensions/logging.adoc new file mode 100644 index 000000000..3a42e6573 --- /dev/null +++ b/content/docs/smallrye-config/main/extensions/logging.adoc @@ -0,0 +1,15 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== LoggingConfigSourceInterceptor + +The `io.smallrye.config.LoggingConfigSourceInterceptor` logs lookups of configuration names in the provided logging +platform. The log information includes config name and value, the config source origin and location if it exists. + +The log is done as `debug`, so the debug threshold must be set to `debug` for the `io.smallrye.config` appender to +display the logs. + +This requires registration via the `ServiceLoader` mechanism in the +`META-INF/services/io.smallrye.config.ConfigSourceInterceptorFactory` file of the +`io.smallrye.config.LoggingConfigSourceInterceptor` interceptor. diff --git a/content/docs/smallrye-config/main/extensions/relocate.adoc b/content/docs/smallrye-config/main/extensions/relocate.adoc new file mode 100644 index 000000000..e33ee4f6a --- /dev/null +++ b/content/docs/smallrye-config/main/extensions/relocate.adoc @@ -0,0 +1,51 @@ += Relocate +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.config.RelocateConfigSourceInterceptor` allows to relocate a configuration name to another name, by +providing a transformation function or just a simple key value map. + +When a configuration key is renamed, lookup needs to happen on the new name, but also on the old name if the +config sources are not updated yet. The relocation function gives priority to the new resolved configuration name or +resolves to the old name if no value is found under the new relocation name. + +[source,java] +---- +package org.acme.config; + +import io.smallrye.config.RelocateConfigSourceInterceptor; + +public class MicroProfileConfigRelocateInterceptor extends RelocateConfigSourceInterceptor { + public MicroProfileConfigRelocateInterceptor() { + super(name -> name.startsWith("mp.config") ? + name.replaceAll("mp\\.config", "smallrye.config") : + name); + } +} +---- + +And registration in: + +.META-INF/services/io.smallrye.config.ConfigSourceInterceptor +[source,properties] +---- +org.acme.config.MicroProfileConfigRelocateInterceptor +---- + +The `MicroProfileConfigRelocateInterceptor` can relocate configuration names in the `mp.config` namespace +to the `smallrye.config` namespace. + +[NOTE] +==== + +.application.properties +[source,properties] +---- +mp.config.profile=test +smallrye.config.profile=prod +---- + +A lookup to `mp.config.profile` returns the value `prod`. The config finds a valid value in the relocated name +`smallrye.config.profile`, so the interceptor will use this value instead of the one in `mp.config.profile`. + +==== diff --git a/content/docs/smallrye-config/main/index.adoc b/content/docs/smallrye-config/main/index.adoc new file mode 100644 index 000000000..dca56db0f --- /dev/null +++ b/content/docs/smallrye-config/main/index.adoc @@ -0,0 +1,97 @@ += SmallRye Config +include::_attributes.adoc[] + +*SmallRye Config* is a library that provides a way to configure applications, frameworks and containers. It is used +in applications servers like https://wildfly.org/[WildFly], https://openliberty.io[Open Liberty] and +https://tomee.apache.org[TomEE] or frameworks like https://quarkus.io[Quarkus]. It can also be used completely +standalone in any Java application, which makes it a very flexible library. + +It follows the https://github.com/eclipse/microprofile-config/[MicroProfile Config] specification to provide +the initial config foundations and expands with it own concepts to cover a wide range of use cases observed in the +configuration space. + +== Use SmallRye Config in a Java application + +Add the _dependency_ to your project using your preferred build tool: + +[.tabs] +==== + +Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config + {version} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.config:smallrye-config:{version}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.config:smallrye-config:{version}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.config:smallrye-config:{version} +---- + +-- + +==== + +And retrieve a `SmallRyeConfig` instance with: + +[source,java] +---- +Config config = io.smallrye.config.Config.getOrCreate(); +---- + +[NOTE] +==== + +The `SmallRyeConfig` instance will be created and registered to the context class loader if no such configuration +is already created and registered. + +==== + +Or build your own: + +[source,java] +---- +SmallRyeConfig config = new SmallRyeConfigBuilder().build(); +---- + +[NOTE] +==== + +`io.smallrye.config.Config` is the entry point to all the config capabilities provided by SmallRye Config. + +==== diff --git a/content/docs/smallrye-fault-tolerance/5/_attributes.adoc b/content/docs/smallrye-fault-tolerance/5/_attributes.adoc new file mode 100644 index 000000000..605282246 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/_attributes.adoc @@ -0,0 +1,24 @@ +:project-version: 5.6.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:partialsdir: {version-root}_partials +:examples-dir: {version-root}_examples +:smallrye-fault-tolerance: SmallRye Fault Tolerance +:smallrye-fault-tolerance-version: 5.6.0 +:microprofile-fault-tolerance: MicroProfile Fault Tolerance +:microprofile-fault-tolerance-version: 3.0 +:microprofile-fault-tolerance-url: https://download.eclipse.org/microprofile/microprofile-fault-tolerance-3.0/microprofile-fault-tolerance-spec-3.0.html +:vertx4-version: 4.3.4 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 5.6.0 +:relfileprefix: /docs/smallrye-fault-tolerance/5/ +:imagesdir: /docs/smallrye-fault-tolerance/5 +:docs-project: smallrye-fault-tolerance +:docs-version: 5 +:docs-ref: 5.6.0 diff --git a/content/docs/smallrye-fault-tolerance/5/_nav.yml b/content/docs/smallrye-fault-tolerance/5/_nav.yml new file mode 100644 index 000000000..2f9f56b2a --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/_nav.yml @@ -0,0 +1,44 @@ +title: SmallRye Fault Tolerance +nav: +- title: Overview + page: index +- title: Usage + items: + - title: Basic Usage + page: usage/basic + - title: Extra Features + page: usage/extra + - title: Programmatic API + page: usage/programmatic-api +- title: Integration + items: + - title: Introduction + page: integration/intro + - title: Metrics + page: integration/metrics + - title: Thread Pool + page: integration/thread-pool + - title: Context Propagation + page: integration/context-propagation + - title: OpenTracing + page: integration/opentracing + - title: Event Loop + page: integration/event-loop + - title: Additional Asynchronous Types Integration Concerns + page: integration/async-types + - title: Kotlin Integration Concerns + page: integration/kotlin + - title: Programmatic API Integration Concerns + page: integration/programmatic-api +- title: Internals + items: + - title: Project Structure + page: internals/project-structure + - title: Instructions + page: internals/instructions + - title: Fault Tolerance Core + page: internals/core + - title: Configuration System + page: internals/config + - title: Logging + page: internals/logging diff --git a/content/docs/smallrye-fault-tolerance/5/index.adoc b/content/docs/smallrye-fault-tolerance/5/index.adoc new file mode 100644 index 000000000..71bfe345f --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/index.adoc @@ -0,0 +1,11 @@ += SmallRye Fault Tolerance Documentation +include::_attributes.adoc[] + +{smallrye-fault-tolerance} {smallrye-fault-tolerance-version} is an implementation of https://github.com/eclipse/microprofile-fault-tolerance/[Eclipse {microprofile-fault-tolerance}] {microprofile-fault-tolerance-version}. + + +Runtimes that currently use {smallrye-fault-tolerance} include: + +* https://quarkus.io/[Quarkus] +* https://wildfly.org/[WildFly] +* https://thorntail.io/[Thorntail] diff --git a/content/docs/smallrye-fault-tolerance/5/integration/async-types.adoc b/content/docs/smallrye-fault-tolerance/5/integration/async-types.adoc new file mode 100644 index 000000000..f37491fd9 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/integration/async-types.adoc @@ -0,0 +1,14 @@ += Additional Asynchronous Types Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns for xref:usage/extra.adoc#async-types[Additional Asynchronous Types]. + +To enable support of additional asynchronous types, it is required that the support library is present. +That is: + +* https://smallrye.io/smallrye-mutiny/[Mutiny]: `io.smallrye:smallrye-fault-tolerance-mutiny` +* https://github.com/ReactiveX/RxJava/tree/3.x[RxJava 3]: `io.smallrye:smallrye-fault-tolerance-rxjava3` + +These libraries include some service providers that {smallrye-fault-tolerance} will automatically load and use. +Therefore, no more integration is necessary. diff --git a/content/docs/smallrye-fault-tolerance/5/integration/context-propagation.adoc b/content/docs/smallrye-fault-tolerance/5/integration/context-propagation.adoc new file mode 100644 index 000000000..a39b7816d --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/integration/context-propagation.adoc @@ -0,0 +1,8 @@ += Context Propagation +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} supports MicroProfile Context Propagation for `@Asynchronous` method invocations, if 2 conditions are satisfied: + +- the integrator provides a MicroProfile Context Propagation enabled thread pool (see xref:integration/thread-pool.adoc[Thread Pool]); +- the `io.smallrye:smallrye-fault-tolerance-context-propagation` artifact is present (it provides alternative implementations of some internal services, loaded using `ServiceLoader`). diff --git a/content/docs/smallrye-fault-tolerance/5/integration/event-loop.adoc b/content/docs/smallrye-fault-tolerance/5/integration/event-loop.adoc new file mode 100644 index 000000000..c86a28679 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/integration/event-loop.adoc @@ -0,0 +1,32 @@ += Event Loop +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} provides an API to integrate with event loops used in non-blocking runtimes. + +WARNING: This integration API comes from the `core` module and so is treated as private. +If you intend to implement it, please let us know in the {smallrye-fault-tolerance} issue tracker. +We'd prefer all the implementations to live in the {smallrye-fault-tolerance} project. + +The integrator must implement the `EventLoop` interface, which lets {smallrye-fault-tolerance} submit ``Runnable``s to the event loop for execution. +Implementations are discovered through `ServiceLoader`, so the corresponding `META-INF/services/\...` file must also exist. + +At most one implementation of `EventLoop` may be present at runtime. +{smallrye-fault-tolerance} will use it to execute non-blocking guarded methods when the caller was originally on an event loop thread. +This is important in case of: + +- retries, when there's a delay between retry attempts (the delay must not block); +- bulkheads, when a task is queued (such task is executed when some other task finishes, which happens on an unknown thread). + +If no event loop integration is present, the tasks described above will be offloaded to the xref:integration/thread-pool.adoc[thread pool]. + +== Vert.x + +{smallrye-fault-tolerance} includes an implementation of the event loop integration API for Vert.x. +This implementation is compiled and tested against Vert.x version {vertx4-version}, but should also work fine with Vert.x 3.x. + +This implementation is present in the `io.smallrye:smallrye-fault-tolerance-vertx` artifact. +Including this artifact is enough to enable the Vert.x integration. + +NOTE: The Vert.x implementation is treated as public, but only as described here. +That is, the artifact should be treated as opaque, no guarantees about its internals are made. diff --git a/content/docs/smallrye-fault-tolerance/5/integration/intro.adoc b/content/docs/smallrye-fault-tolerance/5/integration/intro.adoc new file mode 100644 index 000000000..71bcf3074 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/integration/intro.adoc @@ -0,0 +1,40 @@ += Introduction +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} comprises the following main artifacts: + +* `io.smallrye:smallrye-fault-tolerance-api`: public API for the features provided on top of {microprofile-fault-tolerance}, including a programmatic API; +* `io.smallrye:smallrye-fault-tolerance-core`: core implementations of fault tolerance strategies; +* `io.smallrye:smallrye-fault-tolerance`: CDI-based implementation of {microprofile-fault-tolerance} with {smallrye-fault-tolerance} extensions, including a programmatic API; +* `io.smallrye:smallrye-fault-tolerance-autoconfig-core`: runtime part of the {smallrye-fault-tolerance} configuration system. +** (There's also `io.smallrye:smallrye-fault-tolerance-autoconfig-processor`, but that is only used during {smallrye-fault-tolerance} build and isn't required at runtime.) + +These artifacts must be always present, together with the following dependencies: + +* Jakarta CDI, Annotations and Interceptors API; +* `org.eclipse.microprofile.fault-tolerance:microprofile-fault-tolerance-api`; +* `org.eclipse.microprofile.config:microprofile-config-api` and some implementation; +* `org.jboss.logging:jboss-logging`. + +Some other artifacts are provided to facilitate additional integrations. +These are described in the subsequent sections. + +Most of the integration is performed automatically by the CDI Portable Extension present in {smallrye-fault-tolerance}: `io.smallrye.faulttolerance.FaultToleranceExtension`. +Make sure the extension is active. +The remaining integration concerns are described in the following sections: + +* xref:integration/metrics.adoc[emitting metrics] for fault tolerance strategies; +* xref:integration/thread-pool.adoc[providing a thread pool] for `@Asynchronous` methods and other asynchronous tasks; +* xref:integration/context-propagation.adoc[enabling Context Propagation] for `@Asynchronous` methods; +* xref:integration/opentracing.adoc[enabling OpenTracing integration] with Context Propagation; +* xref:integration/event-loop.adoc[integrating an event loop] for non-blocking method invocations; +* xref:integration/async-types.adoc[integrating additional types] for asynchronous invocations; +* xref:integration/kotlin.adoc[integrating Kotlin support] for `suspend` functions; +* xref:integration/programmatic-api.adoc[integrating the programmatic API] that {smallrye-fault-tolerance} provides. + +== Standalone Implementation of the Programmatic API + +A completely standalone implementation of the programmatic API exists in the `io.smallrye:smallrye-fault-tolerance-standalone` artifact. +This is supposed to be used in a non-CDI environment. +Runtimes that integrate {smallrye-fault-tolerance} typically do so using CDI, and so should ignore this artifact. diff --git a/content/docs/smallrye-fault-tolerance/5/integration/kotlin.adoc b/content/docs/smallrye-fault-tolerance/5/integration/kotlin.adoc new file mode 100644 index 000000000..07a098e38 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/integration/kotlin.adoc @@ -0,0 +1,11 @@ += Kotlin Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns for xref:usage/extra.adoc#kotlin-suspend-functions[Kotlin `suspend` functions]. + +To enable support of Kotlin suspending functions, it is required that the support library is present. +Its coordinates are: `io.smallrye:smallrye-fault-tolerance-kotlin`. + +This library includes some service providers that {smallrye-fault-tolerance} will automatically load and use. +Therefore, no more integration is necessary. diff --git a/content/docs/smallrye-fault-tolerance/5/integration/metrics.adoc b/content/docs/smallrye-fault-tolerance/5/integration/metrics.adoc new file mode 100644 index 000000000..61e58b0bc --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/integration/metrics.adoc @@ -0,0 +1,45 @@ += Metrics +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} provides support for MicroProfile Metrics and Micrometer. +Alternatively, metrics may be completely disabled at the integration level. + +As usual, this integration is based on CDI, so an integrator must select one of the following classes and add it to the set of types scanned during CDI bean discovery: + +* `io.smallrye.faulttolerance.metrics.MicroProfileMetricsProvider` +* `io.smallrye.faulttolerance.metrics.MicrometerProvider` +* `io.smallrye.faulttolerance.metrics.NoopProvider` + +All these classes implement an internal interface `MetricsProvider`. +This interface, together with an internal core interface `MetricsRecorder`, is used by the rest of {smallrye-fault-tolerance} to interact with the metrics system. + +NOTE: Only the _names_ of the classes listed above are treated as public. +That is, the classes should be treated as opaque, no guarantees about their internals are made. + +The possibility to choose a metrics implementation is currently mainly provided for Quarkus. +The CDI Portable Extension present in {smallrye-fault-tolerance} always assumes MicroProfile Metrics are required. + +Metrics providers have additional requirements, as described below. + +== MicroProfile Metrics + +If MicroProfile Metrics are used, the integrator must ensure that the following artifacts are present: + +* `org.eclipse.microprofile.metrics:microprofile-metrics-api`; +* some implementation of MicroProfile Metrics. + +NOTE: As mentioned above, when an integrator relies on the CDI Portable Extension provided by {smallrye-fault-tolerance}, this is currently the default and only option. +Therefore, presence of MicroProfile Metrics is mandatory for those integrators. + +== Micrometer + +If Micrometer is used, the integrator must ensure that the following artifact is present: + +* `io.micrometer:micrometer-core`. + +== Noop + +If the "noop" provider is used, metrics are completely disabled and the `MP_Fault_Tolerance_Metrics_Enabled` configuration property is ignored at runtime. + +No metrics API and implementation is required in this case. diff --git a/content/docs/smallrye-fault-tolerance/5/integration/opentracing.adoc b/content/docs/smallrye-fault-tolerance/5/integration/opentracing.adoc new file mode 100644 index 000000000..9d5955ff8 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/integration/opentracing.adoc @@ -0,0 +1,13 @@ += OpenTracing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} includes an integration between MicroProfile Context Propagation and OpenTracing. +That is, {smallrye-fault-tolerance} includes an implementation of `ThreadContextProvider` which propagates the active OpenTracing span from one thread to another. +This can be used when xref:integration/context-propagation.adoc[Context Propagation] is enabled. + +This integration is present in the `io.smallrye:smallrye-fault-tolerance-tracing-propagation` artifact. +It is used automatically when xref:integration/context-propagation.adoc[Context Propagation] is present. +When Context Propagation is not present, this artifact can still be in place, it just won't do anything. + +Technically, this doesn't even belong to {smallrye-fault-tolerance}, but it's present for historical reasons. diff --git a/content/docs/smallrye-fault-tolerance/5/integration/programmatic-api.adoc b/content/docs/smallrye-fault-tolerance/5/integration/programmatic-api.adoc new file mode 100644 index 000000000..a5ba5c395 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/integration/programmatic-api.adoc @@ -0,0 +1,25 @@ += Programmatic API Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns of the xref:usage/programmatic-api.adoc[Programmatic API] of {smallrye-fault-tolerance}. + +== Standalone Implementation + +The standalone implementation provides no integration points. +It is, as the name suggests, completely standalone. + +At the moment, it is not possible to change the thread pool to which actions are offloaded. +A single cached thread pool, obtained using `Executors.newCachedThreadPool()`, is used for all thread offloads. + +Users of the standalone implementation that also use an event loop based library, such as Vert.x, may integrate the event loop support as described in xref:integration/event-loop.adoc[Event Loop]. + +== CDI implementation + +The CDI implementation will use the thread pool an integrator provides (see xref:integration/thread-pool.adoc[Thread Pool]). +This also extends to the context propagation integration (see xref:integration/context-propagation.adoc[Context Propagation]). + +It will also use the event loop support, if integrator provides one (see xref:integration/event-loop.adoc[Event Loop]). + +In other words, runtimes that use the CDI implementation don't have to do any extra integration work. +The existing integration is enough. diff --git a/content/docs/smallrye-fault-tolerance/5/integration/thread-pool.adoc b/content/docs/smallrye-fault-tolerance/5/integration/thread-pool.adoc new file mode 100644 index 000000000..b223fd4fb --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/integration/thread-pool.adoc @@ -0,0 +1,30 @@ += Thread Pool +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} expects integrators to provide a thread pool for running `@Asynchronous` methods and other asynchronous tasks. +This integration is based on CDI. + +The integrator should provide a CDI bean which implements `AsyncExecutorProvider`. +The bean should be `@Singleton`, must be marked as alternative and selected globally for the application. + +There is a default thread pool in case no integration is provided, but it shouldn't be used outside of tests or experiments. +This is provided by the `AsyncExecutorProvider` default implementation, `DefaultAsyncExecutorProvider`. + +Integrators that are themselves Jakarta EE application servers and don't want to expose their own thread pool can subclass `DefaultAsyncExecutorProvider`. +This at least allows customizing the `ThreadFactory`. + +== Configuration + +If the integrator doesn't provide a thread pool, the default thread pool is used as described above. +In such case, the following configuration properties are recognized: + +- `io.smallrye.faulttolerance.mainThreadPoolSize`: maximum number of threads in the thread pool. +Defaults to `100`. + +- `io.smallrye.faulttolerance.mainThreadPoolQueueSize`: size of the queue that the thread pool should use. +Can be `> 0`, in which case the queue will be bounded to given size. +Can be `0`, in which case there will be no queue, and the thread pool will reject excess tasks. +Can be `-1`, in which case the queue will be unbounded. +Values `< -1` are an error. +Defaults to `-1`. diff --git a/content/docs/smallrye-fault-tolerance/5/internals/config.adoc b/content/docs/smallrye-fault-tolerance/5/internals/config.adoc new file mode 100644 index 000000000..26c7a1045 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/internals/config.adoc @@ -0,0 +1,103 @@ += Configuration System +:version-root: ../ +include::{version-root}_attributes.adoc[] + +WARNING: Please note that everything explained here is an implementation detail. +API stability for these interfaces and classes is _not_ guaranteed! +This documentation is only present to provide implementation insight for people who have to debug issues or want to contribute. + +The xref:internals/core.adoc[core] fault tolerance strategies are configured simply by constructor parameters. +This is fine, since they are an internal implementation detail. +However, the constructor parameters correspond closely to the members of {microprofile-fault-tolerance} annotations. +The idea is that core fault tolerance strategies have no dependency on the {microprofile-fault-tolerance} API, but given a fault tolerance annotation, creating an instance of the corresponding strategy should be straightforward. + +On top of the core layer, {smallrye-fault-tolerance} implements {microprofile-fault-tolerance}, including a configuration system conforming to the specification. +This document briefly describes how the configuration system works. + +== `FaultToleranceOperation` + +The fault tolerance interceptor, which is the main entrypoint, looks up a `FaultToleranceOperation` instance for each class/method combination it has to process. +The `FaultToleranceOperation` holds a bean class, a descriptor of the guarded method, and configuration for each fault tolerance strategy applied to the method. +It also orchestrates configuration validation. +The interceptor uses a `FaultToleranceOperation` to instantiate all the core fault tolerance strategies for given guarded method. + +The `FaultToleranceOperation` instances are created early on, during application deployment, for all beans that use {microprofile-fault-tolerance}. +It may happen that a `FaultToleranceOperation` is created lazily, for special constructs such as runtime-built proxies, but that is largely irrelevant from the configuration perspective. + +== `FaultToleranceMethod` + +A `FaultToleranceOperation` is created from a `FaultToleranceMethod`. +A `FaultToleranceMethod` holds, again, a bean class, a descriptor of the guarded method, and the annotation instance for each annotation that is present on the guarded method or the class declaring the method. +It also knows what annotations have been declared directly on the method, and what annotations have been declared on the class. +This is because the {microprofile-fault-tolerance} configuration rules distinguish these two cases. + +A `FaultToleranceMethod` must be created in a CDI extension, because it represents the knowledge CDI has about the guarded method. +Note that CDI extensions may add, remove or modify annotations, so `FaultToleranceMethod` doesn't just hold the annotation instances as present in the class bytecode. + +.Quarkus +**** +In environments that bootstrap the CDI container during application build, such as Quarkus, the set of all ``FaultToleranceMethod``s in the application should be collected during build and transferred to runtime. +Then, at application runtime, ``FaultToleranceOperation``s should be created and validated. + +{smallrye-fault-tolerance} doesn't do anything like that, but is designed with Quarkus (and eventual CDI Lite) in mind. +**** + +The main difference between `FaultToleranceMethod` and `FaultToleranceOperation` is that `FaultToleranceMethod` holds annotation instances, while `FaultToleranceOperation` holds configuration. + +== `@AutoConfig` + +As described above, `FaultToleranceMethod` holds annotation instances, while `FaultToleranceOperation` holds configuration. +Yet, `FaultToleranceOperation` exposes the annotation types (such as `@Fallback`) to anyone who needs the configuration. +The configuration consumers simply call the annotation methods (such as `fallbackMethod()`), and configuration is handled behind the scenes, following the {microprofile-fault-tolerance} configuration rules. + +The infrastructure behind this is present in the `autoconfig` module. +This module allows creating simple configuration interfaces like this: + +[source,java] +---- +@AutoConfig +interface FallbackConfig extends Fallback, Config { + default void validate() { + ... + } +} +---- + +The config interface must: + +. be annotated with `@AutoConfig`; +. extend the annotation interface (`Fallback` in this case); +. extend the `Config` interface (from the `autoconfig/core` module); +. provide a `default` implementation of the `validate` method (defined in `Config`). + +For each such interface, an implementation class will be automatically generated by an annotation processor (implemented in the `autoconfig/processor` module). +In this case, it would be called `FallbackConfigImpl`. + +This implementation class has a `static` method called `create` that accepts a `FaultToleranceMethod`. +It follows that for each guarded method, a new instance must be created. +If given `FaultToleranceMethod` doesn't contain an instance of particular annotation, `create` simply returns `null`. + +The implementation class also overrides all methods from the annotation type. +Each annotation method is implemented to first consult MicroProfile Config, and only second to consult the annotation instance (which, as we described above, is present on the `FaultToleranceMethod`). + +The implementation class is supposed to be used just like the annotation type itself. +In other words, to obtain configured values, call the annotation methods on the config interface instance. +For example, to obtain the `fallbackMethod` value, with respect to the {microprofile-fault-tolerance} configuration rules, we obtain an instance of `FallbackConfigImpl` and call `fallbackMethod`. + +The `FaultToleranceOperation` class holds instances of these config interfaces, and exposes them to configuration consumers. +It actually only exposes the annotation types, not the full config interface, but that is enough. + +== Putting it all together + +Let's recap how it all works. + +First, for each guarded method in the application, a `FaultToleranceMethod` instance is created, holding all the annotations that affect the method. + +Second, for each `FaultToleranceMethod`, a `FaultToleranceOperation` is created. +That, in turn, creates an instance of all relevant config interfaces. + +Finally, the fault tolerance interceptor looks up a `FaultToleranceOperation` and creates a chain of fault tolerance strategies. +For each fault tolerance strategy in the chain, the interceptor looks up configuration values from the corresponding config interface. + +The chain of fault tolerance strategies is created on the first invocation to a given guarded method and cached for all subsequent invocations. +That is how we satisfy the requirement that all stateful fault tolerance strategies are singletons, but that's a different story. diff --git a/content/docs/smallrye-fault-tolerance/5/internals/core.adoc b/content/docs/smallrye-fault-tolerance/5/internals/core.adoc new file mode 100644 index 000000000..a98aa743a --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/internals/core.adoc @@ -0,0 +1,105 @@ += Fault Tolerance Core +:version-root: ../ +include::{version-root}_attributes.adoc[] + +WARNING: Please note that everything explained here is an implementation detail. +API stability for these interfaces and classes is _not_ guaranteed! +This documentation is only present to provide implementation insight for people who have to debug issues or want to contribute. + +The core idea in {smallrye-fault-tolerance} is a `FaultToleranceStrategy`. +It is an interface that looks like this: + +[source,java] +---- +interface FaultToleranceStrategy { + V apply(InvocationContext ctx) throws Exception; +} +---- + +The `InvocationContext` is a `Callable` that represents the method invocation guarded by this fault tolerance strategy. +The fault tolerance strategy does its work around `ctx.call()`. +It can catch exceptions, invoke `ctx.call()` multiple times, invoke something else, etc. +As an example, let's consider this strategy, applicable to methods that return a `String`: + +[source,java] +---- +public class MyStringFallback implements FaultToleranceStrategy { + @Override + public String apply(InvocationContext ctx) { + try { + return ctx.call(); + } catch (Exception ignored) { + return "my string value"; + } + } +} +---- + +This is a very simple fallback mechanism, which returns a pre-defined value in case of an exception. + +In the {smallrye-fault-tolerance} codebase, you can find implementations of all the strategies required by {microprofile-fault-tolerance}: retry, fallback, timeout, circuit breaker or bulkhead. +Asynchronous invocation, delegated to a thread pool, is of course also supported. + +When multiple fault tolerance strategies are supposed to be used to guard one method, they form a chain. +Continuing with our simple example, adding the ability to chain with another strategy would look like this: + +[source,java] +---- +public class MyStringFallback implements FaultToleranceStrategy { + private final FaultToleranceStrategy delegate; + + public MyStringFallback(FaultToleranceStrategy delegate) { + this.delegate = delegate; + } + + @Override + public String apply(InvocationContext ctx) { + try { + return delegate.apply(ctx); + } catch (Exception ignored) { + return "my string value"; + } + } +} +---- + +We see that one strategy delegates to another, passing the `InvocationContext` along. +In fact, all the implementations in {smallrye-fault-tolerance} are written like this: they expect to be used in a chain, so they take another `FaultToleranceStrategy` to which they delegate. +But if all strategies have this form, when is `ctx.call()` actually invoked? +Good question! +The ultimate `ctx.call()` invocation is done by a special fault tolerance strategy which is called, well, `Invocation`. + +As an example which uses real {microprofile-fault-tolerance} annotations, let's consider this method: + +[source,java] +---- +@Retry(...) +@Timeout(...) +@Fallback(...) +public void doSomething() { + ... +} +---- + +The chain of fault tolerance strategies will look roughly like this: + +[source] +---- +Fallback( + Retry( + Timeout( + Invocation( + // ctx.call() will happen here + // that will, in turn, invoke doSomething() + ) + ) + ) +) +---- + +The order in which the strategies are chained (or, in fact, nested) is specified by {microprofile-fault-tolerance}. + +Other strategies might also be present in more complex cases. +For example, if metrics are enabled, a special strategy is used that collects metrics. +If the method is `@Asynchronous`, a special strategy is used that offloads method execution to another thread. +Etc. diff --git a/content/docs/smallrye-fault-tolerance/5/internals/instructions.adoc b/content/docs/smallrye-fault-tolerance/5/internals/instructions.adoc new file mode 100644 index 000000000..2b275e995 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/internals/instructions.adoc @@ -0,0 +1,21 @@ += Instructions +:version-root: ../ +include::{version-root}_attributes.adoc[] + +To compile this project and install the artifacts into local Maven repository, run: + +[source,bash] +---- +mvn clean install +---- + +This will also run all the tests and the TCK. + +You can use + +[source,bash] +---- +mvn clean install -DskipTests +---- + +to skip the tests and make the build a lot faster. diff --git a/content/docs/smallrye-fault-tolerance/5/internals/logging.adoc b/content/docs/smallrye-fault-tolerance/5/internals/logging.adoc new file mode 100644 index 000000000..5e64a9c0c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/internals/logging.adoc @@ -0,0 +1,16 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Logging in {smallrye-fault-tolerance} is based on https://jboss-logging.github.io/jboss-logging-tools/[JBoss Logging Tools] (see also https://github.com/smallrye/smallrye/wiki/I18N-Messages-and-Logging[SmallRye instructions]). +It's an annotation processor that takes annotated interfaces and generates logger implementations with out of the box support for message codes and internationalization. +We use a project code of `SRFTL`. +Message codes are divided into ranges that are defined in the `message-ranges.txt` file in the root directory. + +In addition to logging, JBoss Logging Tools can also be used for creating exceptions, again, with out of the box support for message codes and internationalization. +Contrary to both documentation sites mentioned above, it _is_ possible to mix logging and exceptions in a single interface, as demonstrated by `CdiLogger`. +However, {smallrye-fault-tolerance} doesn't use this feature yet, with the exception of `CdiLogger.multipleCircuitBreakersWithTheSameName`. +This should be rectified in the future. + +Note that `DEBUG` and `TRACE` logging doesn't need message codes or internationalization, so we usually don't declare logger methods for them, unless the log message requires parameters. +We still declare the logger interface, let it extend `BasicLogger` and use the singleton instance to log plain ``String``s. diff --git a/content/docs/smallrye-fault-tolerance/5/internals/project-structure.adoc b/content/docs/smallrye-fault-tolerance/5/internals/project-structure.adoc new file mode 100644 index 000000000..a3090d00e --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/internals/project-structure.adoc @@ -0,0 +1,28 @@ += Project Structure +:version-root: ../ +include::{version-root}_attributes.adoc[] + +* `api`: {smallrye-fault-tolerance} API, additional to the {microprofile-fault-tolerance} API. + Treated as a public API. +* `implementation/core`: Implementation of core fault tolerance strategies. + Independent of the {microprofile-fault-tolerance} API or the {smallrye-fault-tolerance} API. + Treated as private API, no compatibility guaranteed. +* `implementation/fault-tolerance`: Implementation of the {microprofile-fault-tolerance} API and the {smallrye-fault-tolerance} API. + Based on CDI and the `core` module. + The configuration system is based on the `autoconfig` module. +* `implementation/autoconfig/core`: Core classes of the {smallrye-fault-tolerance} configuration system. + Required at runtime. +* `implementation/autoconfig/processor`: An annotation processor that generates implementations of config interfaces. + Only required during {smallrye-fault-tolerance} build. +* `implementation/context-propagation`: Optional integration with MicroProfile Context Propagation. + See xref:integration/context-propagation.adoc[Context Propagation integration]. +* `implementation/tracing-propagation`: Optional integration between MicroProfile Context Propagation and OpenTracing. + See xref:integration/opentracing.adoc[OpenTracing integration]. +* `implementation/vertx`: Optional integration of the Vert.x event loop. + See xref:integration/event-loop.adoc[event loop integration]. +* `testsuite/basic`: Basic test suite. + Some parts of it overlap with the Eclipse MicroProfile Fault Tolerance TCK. +* `testsuite/integration`: Integration test suite. + Includes several Context Propagation and Vert.x tests. +* `testsuite/tck`: Runs the implementation against the Eclipse MicroProfile Fault Tolerance TCK. +* `doc`: This documentation. diff --git a/content/docs/smallrye-fault-tolerance/5/usage/basic.adoc b/content/docs/smallrye-fault-tolerance/5/usage/basic.adoc new file mode 100644 index 000000000..e123d281e --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/usage/basic.adoc @@ -0,0 +1,174 @@ += Basic Usage +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Installation + +As an application developer, you don't have to "install" {smallrye-fault-tolerance} in any way. +Your chosen runtime, such as Quarkus or WildFly, already integrates {smallrye-fault-tolerance} to provide {microprofile-fault-tolerance}. +Please refer to the documentation of your selected runtime to understand how to enable MicroProfile Fault Tolerance. + +If you are a framework developer, interested in integrating {smallrye-fault-tolerance}, please refer to the xref:integration/intro.adoc[integration] chapter. + +== Annotations + +{microprofile-fault-tolerance} is built on top of CDI and interceptors. +This lets you guard method calls with selected fault tolerance strategies simply by annotating a CDI bean class or method with one of the fault tolerance annotations. +For example: + +[source,java] +---- +@ApplicationScoped // <1> +public class MyService { + @Retry // <2> + public String hello() { + ... + } +} +---- + +<1> `@ApplicationScoped` is a bean defining annotation. + It makes the `MyService` class a CDI bean. +<2> `@Retry` is a fault tolerance annotation. + It could also be placed on the class, in which case it would apply to all methods in the class. + +Here, if the `hello` method throws an exception, the invocation will be retried several times, until the method returns a value. + +TIP: CDI beginners often expect that this will work if you create an instance manually: `new MyService()`. +That is not the case. +You have to let the CDI container construct an instance for you and inject it: `@Inject MyService service`. +What you get injected is actually a proxy that implements the additional behaviors. + +The fault tolerance strategies present in {microprofile-fault-tolerance}, together with the corresponding annotations, are: + +* `@Asynchronous`: offload method execution to another thread +* `@Bulkhead`: limit concurrent invocations +* `@CircuitBreaker`: prevent invocations if previous invocations failed too often +* `@Fallback`: provide alternative result in case of a failure +* `@Retry`: retry several times in case of a failure +* `@Timeout`: fail if the invocation takes too long + +We won't go into detail here. +This is all described in the {microprofile-fault-tolerance-url}[{microprofile-fault-tolerance} specification]. + +== Configuration + +The fault tolerance strategies can be configured using annotation attributes, such as: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 10, retryOn = IOException.class) // <1> + public String hello() { + ... + } +} +---- + +<1> Retries will only be attempted if the thrown exception was `IOException`. + Other exceptions will be rethrown directly. + Also the maximum number of retry attempts is changed to 10 (the default is 3). + +This is convenient, but changing such configuration requires recompilation. +For that reason, {microprofile-fault-tolerance} also allows configuration using MicroProfile Config. +For example: + +[source,properties] +---- +com.example.MyService/hello/Retry/maxRetries=5 +---- + +Again, this is all described in the {microprofile-fault-tolerance-url}#configuration[{microprofile-fault-tolerance} specification], so we won't go into detail here. + +[[metrics]] +== Metrics + +The {microprofile-fault-tolerance} specification describes how implementations should expose metrics over MicroProfile Metrics. +As usual, this is described in the {microprofile-fault-tolerance-url}#_integration_with_microprofile_metrics[{microprofile-fault-tolerance} specification]. + +=== Micrometer + +In addition to the MicroProfile Metrics support, demanded by the {microprofile-fault-tolerance} specification, {smallrye-fault-tolerance} also provides support for Micrometer. +The set of metrics emitted to Micrometer is the same as the set of metrics emitted to MicroProfile Metrics, using the same metric names and tags. +Metric types are mapped as closely as possible: + +|=== +| Name | MicroProfile Metrics | Micrometer + +| `ft.invocations.total` +| counter +| counter + +| `ft.retry.calls.total` +| counter +| counter + +| `ft.retry.retries.total` +| counter +| counter + +| `ft.timeout.calls.total` +| counter +| counter + +| `ft.timeout.executionDuration` +| histogram +| timer + +| `ft.circuitbreaker.calls.total` +| counter +| counter + +| `ft.circuitbreaker.state.total` +| gauge +| time gauge + +| `ft.circuitbreaker.opened.total` +| counter +| counter + +| `ft.bulkhead.calls.total` +| counter +| counter + +| `ft.bulkhead.executionsRunning` +| gauge +| gauge + +| `ft.bulkhead.executionsWaiting` +| gauge +| gauge + +| `ft.bulkhead.runningDuration` +| histogram +| timer + +| `ft.bulkhead.waitingDuration` +| histogram +| timer + +| `ft.ratelimit.calls.total` +| counter +| counter +|=== + +Note that distribution summaries in Micrometer, including timers, do not emit quantile buckets by default. +Micrometer recommends that libraries should not configure them out of the box, so if you need them, you should use a `MeterFilter`. + +The following implementation makes sure Micrometer emits the same quantile buckets as MicroProfile Metrics for all fault tolerance metrics: + +```java +static final MeterFilter ENABLE_HISTOGRAMS = new MeterFilter() { + @Override + public DistributionStatisticConfig configure(Meter.Id id, DistributionStatisticConfig config) { + if (id.getName().startsWith("ft.")) { + return DistributionStatisticConfig.builder() + .percentiles(0.5, 0.75, 0.95, 0.98, 0.99, 0.999) + .build() + .merge(config); + } + return config; + } +}; +``` diff --git a/content/docs/smallrye-fault-tolerance/5/usage/extra.adoc b/content/docs/smallrye-fault-tolerance/5/usage/extra.adoc new file mode 100644 index 000000000..940379331 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/usage/extra.adoc @@ -0,0 +1,835 @@ += Extra Features +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} provides several features that are not present in the {microprofile-fault-tolerance} specification. +Their public API is present in the `io.smallrye:smallrye-fault-tolerance-api` artifact. + +Note that these features may have experimental status, marked by the `@Experimental` annotation. + +== Circuit Breaker Maintenance + +It is sometimes useful to see the circuit breaker status from within the application, or reset it to the initial state. +This is possible in two steps: + +. Give the circuit breaker a name by annotating the guarded method with `@CircuitBreakerName`: ++ +[source,java] +---- +@ApplicationScoped +public class MyService { + @CircuitBreaker + @CircuitBreakerName("hello-cb") // <1> + public String hello() { + ... + } +} +---- ++ +<1> The circuit breaker guarding the `MyService.hello` method is given a name `hello-cb`. +. Inject `CircuitBreakerMaintenance` and call its methods: ++ +[source,java] +---- +@ApplicationScoped +public class Example { + @Inject + CircuitBreakerMaintenance maintenance; + + public void test() { + System.out.println("Circuit breaker state: " + + maintenance.currentState("hello-cb")); // <1> + maintenance.resetAll(); // <2> + } +} +---- ++ +<1> Obtains current circuit breaker state. +<2> Resets all circuit breakers to the initial state. + +The `CircuitBreakerMaintenance` interface provides 4 methods: + +. `currentState(name)`: returns current state of given circuit breaker. + The return type `CircuitBreakerState` is an `enum` with 3 values: `CLOSED`, `OPEN`, `HALF_OPEN`. +- `onStateChange(name, callback)`: registers a callback that will be called when given circuit breaker changes state. +. `reset(name)`: resets given circuit breaker to the initial state. +. `resetAll()`: resets all circuit breakers in the application to the initial state. + +See the javadoc of those methods for more information. + +[[async-nonblocking]] +== @AsynchronousNonBlocking + +In addition to the {microprofile-fault-tolerance} `@Asynchronous` annotation, {smallrye-fault-tolerance} offers an annotation for asynchronous non-blocking processing: `@AsynchronousNonBlocking`. + +This annotation may only be placed on methods that return `CompletionStage`, because the `Future` type can't really be used for non-blocking processing. +It may also be placed on a class, in which case all business methods must return `CompletionStage`. + +As opposed to `@Asynchronous`, the `@AsynchronousNonBlocking` annotation does _not_ offload the method execution to another thread. +The method is allowed to proceed on the original thread, assuming that it returns quickly and all processing it does is performed in a non-blocking way. + +|=== +|Annotation |Method return type |Execution + +|`@Asynchronous` +|`Future` or `CompletionStage` +|offloaded to a thread pool + +|`@AsynchronousNonBlocking` +|`CompletionStage` +|proceeds on the original thread +|=== + +=== When to Use @Asynchronous + +Use `@Asynchronous` if the method has blocking logic, but you don’t want to block the caller thread. +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @Asynchronous // <1> + CompletionStage hello() { + ... + } +} +---- + +<1> Using the `@Asynchronous` annotation, because the method blocks, and it is necessary to offload its execution to another thread. + +The thread pool that is used for offloading method calls is provided by the runtime that integrates {smallrye-fault-tolerance}. + +=== When to Use @AsynchronousNonBlocking + +Use `@AsynchronousNonBlocking` if the method _does not_ have blocking logic, and you want the execution to stay on the caller thread. +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @AsynchronousNonBlocking // <1> + CompletionStage hello() { + ... + } +} +---- + +<1> Using the `@AsynchronousNonBlocking` annotation, because the method does not block and offloading execution to another thread is not necessary. + +If the guarded method uses `@Retry` and some delay between retries is configured, only the initial execution is guaranteed to occur on the original thread. +Subsequent attempts may be offloaded to an extra thread, so that the original thread is not blocked on the delay. + +If the guarded method uses `@Bulkhead`, the execution is _not_ guaranteed to occur on the original thread. +If the execution has to wait in the bulkhead queue, it may later end up on a different thread. + +If the original thread is an event loop thread and event loop integration is enabled, then the event loop is always used to execute the guarded method. +In such case, all retry attempts and queued bulkhead executions are guaranteed to happen on the original thread. + +=== How to Combine Them + +When these annotations are combined, an annotation on a method has priority over an annotation on a class. +For example: + +[source,java] +---- +@ApplicationScoped +@AsynchronousNonBlocking +public class MyService { + @Retry + CompletionStage hello() { // <1> + ... + } + + @Retry + @Asynchronous + CompletionStage helloBlocking() { // <2> + ... + } +} +---- + +<1> Treated as `@AsynchronousNonBlocking`, based on the class annotation. +<2> Treated as `@Asynchronous`, the method annotation has priority over the class annotation. + +It is an error to put both `@Asynchronous` and `@AsynchronousNonBlocking` on the same program element. + +=== Recommendation + +Use the <>. +In this mode, methods returning `CompletionStage` are automatically treated as if they were `@AsynchronousNonBlocking`. +Use `@Asynchronous` to mark blocking methods for thread offload. + +If you can't use the non-compatible mode, use `@AsynchronousNonBlocking` or `@Asynchronous` to mark all asynchronous methods. + +IMPORTANT: In previous releases, {smallrye-fault-tolerance} recommended to use the `@Blocking` and `@NonBlocking` annotations. +Using these annotations *for fault tolerance purposes* is now deprecated. +They are still supported, but at some point, {smallrye-fault-tolerance} will stop recognizing them. + +We also recommend avoiding `@Asynchronous` methods that return `Future`, because the only way to obtain the future value is blocking. + +[[async-types]] +== Additional Asynchronous Types + +{microprofile-fault-tolerance} supports asynchronous fault tolerance for methods that return `CompletionStage`. +(The `Future` type is not truly asynchronous, so we won't take it into account here.) +{smallrye-fault-tolerance} adds support for additional asynchronous types: + +* Mutiny: `Uni` +* RxJava: `Single`, `Maybe`, `Completable` + +These types are treated just like `CompletionStage`, so everything that works for `CompletionStage` works for these types as well. +Stream-like types (`Multi`, `Observable`, `Flowable`) are not supported, because their semantics can't be easily expressed in terms of `CompletionStage`. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @AsynchronousNonBlocking // <1> + Uni hello() { // <2> + ... + } +} +---- + +<1> Using the `@AsynchronousNonBlocking` annotation described in <>, because the method doesn't block and offloading execution to another thread is not necessary. +<2> Returning the `Uni` type from Mutiny. +This shows that whatever works for `CompletionStage` also works for the other async types. + +The implementation internally converts the async types to a `CompletionStage` and back. +This means that to be able to use any particular asynchronous type, the corresponding converter must be present. +{smallrye-fault-tolerance} provides support libraries for popular asynchronous types, and these support libraries include the corresponding converters. + +It is possible that the runtime you use already provides the correct integration. +Otherwise, add a dependency to your application: + +* https://smallrye.io/smallrye-mutiny/[Mutiny]: `io.smallrye:smallrye-fault-tolerance-mutiny` +* https://github.com/ReactiveX/RxJava/tree/3.x[RxJava 3]: `io.smallrye:smallrye-fault-tolerance-rxjava3` + +.Quarkus +**** +In Quarkus, the Mutiny support library is present by default. +You can use fault tolerance on methods that return `Uni` out of the box. +**** + +== Backoff Strategies for `@Retry` + +When retrying failed operations, it is often useful to make a delay between retry attempts. +This delay is also called "backoff". +The `@Retry` annotation in {microprofile-fault-tolerance} supports a single backoff strategy: constant. +That is, the delay between all retry attempts is identical (with the exception of a random jitter). + +{smallrye-fault-tolerance} offers 3 annotations to specify a different backoff strategy: + +* `@ExponentialBackoff` +* `@FibonacciBackoff` +* `@CustomBackoff` + +One of these annotations may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @ExponentialBackoff + public void hello() { + ... + } +} +---- + +It is an error to add a backoff annotation to a program element that doesn't have `@Retry` (e.g. add `@Retry` on a class and `@ExponentialBackoff` on a method). +It is also an error to add more than one of these annotations to the same program element. + +When any one of these annotations is present, it modifies the behavior specified by the `@Retry` annotation. +The new behavior is as follows: + +For `@ExponentialBackoff`, the delays between retry attempts grow exponentially, using a defined `factor`. +By default, the `factor` is 2, so each delay is 2 * the previous delay. +For example, if the initial delay (specified by `@Retry`) is 1 second, then the second delay is 2 seconds, third delay is 4 seconds, fourth delay is 8 seconds etc. +It is possible to define a `maxDelay`, so that this growth has a limit. + +For `@FibonacciBackoff`, the delays between retry attempts grow per the Fibonacci sequence. +For example, if the initial delay (specified by `@Retry`) is 1 second, then the second delay is 2 seconds, third delay is 3 seconds, fourth delay is 5 seconds etc. +It is possible to define a `maxDelay`, so that this growth has a limit. + +Both `@ExponentialBackoff` and `@FibonacciBackoff` also apply jitter, exactly like plain `@Retry`. + +Also, since `@Retry` has a default `maxDuration` of 3 minutes and default `maxRetries` of 3, both `@ExponentialBackoff` and `@FibonacciBackoff` define a `maxDelay` of 1 minute. +If we redefine `maxRetries` to a much higher value, and the guarded method keeps failing, the delay would eventually become higher than 1 minute. +In that case, it will be limited to 1 minute. +Of course, `maxDelay` can be configured. +If set to `0`, there's no limit, and the delays will grow without bounds. + +For `@CustomBackoff`, computing the delays between retry attempts is delegated to a specified implementation of `CustomBackoffStrategy`. +This is an advanced option. + +For more information about these backoff strategies, see the javadoc of the annotations. + +=== Configuration + +These annotations may be configured using the same mechanism as {microprofile-fault-tolerance} annotations. +For example, to modify the `factor` of the `@ExponentialBackoff` annotation above, you can use: + +[source,properties] +---- +com.example.MyService/hello/ExponentialBackoff/factor=3 +---- + +=== Metrics + +These annotations do not have any special metrics. +All `@Retry` metrics are still present and reflect the altered behavior. + +[[noncompatible-mode]] +== Non-compatible Mode + +{smallrye-fault-tolerance} offers a mode where certain features are improved beyond specification, as described below. +This mode is *not compatible* with the {microprofile-fault-tolerance} specification (and doesn't necessarily pass the entire TCK). + +This mode is disabled by default. +To enable, set the configuration property `smallrye.faulttolerance.mp-compatibility` to `false`. + +.Quarkus +**** +In Quarkus, the non-compatible mode is enabled by default. +To restore compatibility, add the following to your `application.properties`: + +[source,properties] +---- +smallrye.faulttolerance.mp-compatibility=true +---- + +Note that the non-compatible mode is available since {smallrye-fault-tolerance} 5.2.0 and Quarkus 2.1.0.Final. +Previous versions are always compatible. +**** + +[[method-asynchrony]] +=== Determining Asynchrony from Method Signature + +In the non-compatible mode, method asynchrony is determined solely from its signature. +That is, methods that + +* have some fault tolerance annotation (such as `@Retry`), +* return `CompletionStage` (or some other <>), + +always have asynchronous fault tolerance applied. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + CompletionStage hello() { // <1> + ... + } + + @Retry + Uni helloMutiny() { // <2> + ... + } + + @Retry + @Asynchronous + CompletionStage helloBlocking() { // <3> + ... + } +} +---- + +<1> Executed on the original thread, because the method returns `CompletionStage`. +It is as if the method was annotated `@AsynchronousNonBlocking`. +<2> Executed on the original thread, because the method returns an <>. +It is as if the method was annotated `@AsynchronousNonBlocking`. +<3> The explicit `@Asynchronous` annotation is honored. +The method is executed on a thread pool. + +Note that the existing annotations still work without a change, both in compatible and non-compatible mode. +That is, if a method (or class) is annotated `@Asynchronous`, execution will be offloaded to a thread pool. +If a method (or class) is annotated `@AsynchronousNonBlocking`, execution will happen on the original thread. + +Also note that this doesn't affect methods returning `Future`. +You still have to annotate them `@Asynchronous` to make sure they are executed on a thread pool and are guarded properly. +As mentioned in the <> section, we discourage using these methods, because the only way to obtain the future value is blocking. + +=== Inspecting Exception Cause Chains + +The `@CircuitBreaker`, `@Fallback` and `@Retry` annotations can be used to specify that certain exceptions should be treated as failures and others as successes. +This is limited to inspecting the actual exception that was thrown. +However, in many usecases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +In the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@Fallback` method throws an exception, the decision process is: + +1. if the exception is assignable to one of the `skipOn` exceptions, fallback is skipped and the exception is rethrown; +2. otherwise, if the exception is assignable to one of the `applyOn` exceptions, fallback is applied; +3. otherwise, if the cause chain of the exception contains an exception assignable to one of the `skipOn` exceptions, fallback is skipped and the exception is rethrown; +4. otherwise, if the cause chain of the exception contains an exception assignable to one of the `applyOn` exceptions, fallback is applied; +5. otherwise, the exception is rethrown. + +For example, say we have this method: + +[source, java] +---- +@Fallback(fallbackMethod = "fallback", + skipOn = ExpectedOutcomeException.class, + applyOn = IOException.class) +public Result doSomething() { + ... +} + +public Result fallback() { + ... +} +---- + +If `doSomething` throws an `ExpectedOutcomeException`, fallback is skipped and the exception is thrown. +If `doSomething` throws an `IOException`, fallback is applied. +If `doSomething` throws a `WrapperException` whose cause is `ExpectedOutcomeException`, fallback is skipped and the exception is thrown. +If `doSomething` throws a `WrapperException` whose cause is `IOException`, fallback is applied. + +Comparing with the `@Fallback` specification, {smallrye-fault-tolerance} inserts 2 more steps into the decision process that inspect the cause chain. +Note that these steps are executed if and only if the thrown exception matches neither `skipOn` nor `applyOn`. +If the thrown exception matches either of them, the cause chain is not inspected at all. + +Similar behavior applies to `@CircuitBreaker` and `@Retry`. +All 3 annotations follow the same principle: exceptions considered success have priority over those considered failure. + +|=== +| Fault Tolerance annotation | Exception is first tested against | and then against + +| `@Fallback` +| `skipOn` +| `applyOn` + +| `@CircuitBreaker` +| `skipOn` +| `failOn` + +| `@Retry` +| `abortOn` +| `retryOn` +|=== + +=== Fallback Method with Exception Parameter + +In the non-compatible mode, {smallrye-fault-tolerance} supports access to the causing exception in a `@Fallback` method. + +A fallback method, as defind by the {microprofile-fault-tolerance} specification, must have the same parameters as the guarded method. +{smallrye-fault-tolerance} permits defining one additional parameter, at the end of the parameter list, which must be of an exception type. +If such parameter is defined, the exception that caused the fallback will be supplied in it. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { // <1> + ... + } +} +---- + +<1> The fallback method matches the guarded method signature, except for one additional parameter at the end. + +All rules of {microprofile-fault-tolerance} specification related to looking up fallback methods still apply. +That is, the return types must match, the parameter types must match (with this one exception), etc. + +If the thrown exception is not assignable to the exception parameter type, it is rethrown as if no fallback was declared. +In the previous example, if `IllegalStateException` was thrown, the fallback method would not be called, as `IllegalStateException` is not a subtype of `IllegalArgumentException`. + +If the guarded method has a vararg parameter and you want to declare a fallback method with an exception parameter, simply replace the vararg syntax with an array type: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String... params) { + ... + } + + public String fallback(String[] params, IllegalArgumentException cause) { + ... + } +} +---- + +==== Multiple Fallback Methods with Exception Parameter + +It is possible to declare multiple overloads of the fallback method, each having different type of the exception parameter: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } +} +---- + +In that case, which fallback method is called depends on the type of thrown exception. +The method that declares a most-specific supertype of the actual exception is selected. + +In the previous example, if `IllegalArgumentException` was thrown by `doSomething`, the first fallback method would be called. +If `IllegalStateException` was thrown, the second fallback method would be called. + +If the thrown exception is not assignable to the exception parameter type of any fallback method, it is rethrown as if no fallback was declared. + +==== Fallback Methods with and without Exception Parameter + +It is possible to declare the fallback method with and without an exception parameter at the same time: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } + + public String fallback(String param) { + ... + } +} +---- + +The fallback methods with an exception parameter have precedence. +The fallback method without an exception parameter is only called if the thrown exception is not assignable to any declared exception parameter. + +==== Interactions with `applyOn` / `skipOn` + +The presence or absence of a fallback method with specific exception parameter may seem related to the usage of `applyOn` / `skipOn` on the `@Fallback` annotation, but in fact, it is not. +These features are completely independent. + +Simply put, the `applyOn` / `skipOn` configuration is always evaluated first. +A fallback method is only selected and invoked when this configuration indicates that a fallback should apply. + +If `@Fallback` is configured to skip `IllegalStateException` and `IllegalStateException` is thrown, no fallback method is invoked. +That applies even if a fallback method with a matching exception parameter exists. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback", skipOn = IllegalStateException.class) + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } + + public String fallback(String param) { + ... + } +} +---- + +In this case: + +- if `doSomething` throws `IllegalArgumentException`, the first fallback method is called; +- if `doSomething` throws `IllegalStateException`, no fallback method is called, because this exception type is skipped; +- if `doSomething` throws any other `RuntimeException`, the second fallback method is called; +- if `doSomething` throws any other exception, the last fallback method is called. + +[[kotlin-suspend-functions]] +== Kotlin `suspend` Functions + +{smallrye-fault-tolerance} includes support for Kotlin suspending functions. +They are treated as <>, even though the internal implementation is more complex than support for Mutiny or RxJava. + +For example: + +[source,kotlin] +---- +@ApplicationScoped +open class MyService { + @Retry(maxRetries = 2) + @Fallback(fallbackMethod = "helloFallback") + open suspend fun hello(): String { // <1> + delay(100) + throw IllegalArgumentException() + } + + private suspend fun helloFallback(): String { // <2> + delay(100) + return "hello" + } +} +---- + +<1> As a suspending function, this method can only be called from another suspending function. +It will be guarded by the retry and fallback strategies, as defined using the annotations. +<2> Similarly to fallback methods in Java, fallback methods in Kotlin must have the same signature as the guarded method. +Since the guarded method is suspending, the fallback method must be suspending. + +As mentioned above, suspending functions are treated as async types. +This means that for asynchronous fault tolerance to work correctly on suspending functions, they must be determined to be asynchronous. +That happens automatically in the <>, based on the method signature, but if you use strictly compatible mode, the `@Asynchronous` or `@AsynchronousNonBlocking` annotation must be present. +It is expected that most users will use the Kotlin support in the non-compatible mode, so the example above does not include any such annotation. + +To be able to use this, a support library must be present. +It is possible that the runtime you use already provides the correct integration. +Otherwise, add a dependency to your application: `io.smallrye:smallrye-fault-tolerance-kotlin`. + +.Quarkus +**** +In Quarkus, the Kotlin support library is present by default, if you use the Quarkus Kotlin support. +You can declare fault tolerance annotations on suspending methods out of the box. +**** + +=== Programmatic API + +Suspending functions are currently only supported in the declarative, annotation-based API, as shown in the example above. +The xref:usage/programmatic-api.adoc[Programmatic API] of {smallrye-fault-tolerance} does not support suspending functions, but other than that, it can of course be used from Kotlin through its Java interop. + +== Reusable, Preconfigured Fault Tolerance + +The declarative, annotation-based API of {microprofile-fault-tolerance} doesn't allow sharing configuration of fault tolerance strategies across multiple classes. +In a single class, the configuration may be shared across all methods by putting the annotations on the class instead of individual methods, but even then, _stateful_ fault tolerance strategies are not shared. +Each method has its own bulkhead and/or circuit breaker, which is often not what you want. + +The xref:usage/programmatic-api.adoc[programmatic API] of {smallrye-fault-tolerance} allows using a single `FaultTolerance` object to guard multiple disparate actions, which allows reuse and state sharing. +It is possible to use a programmatically constructed `FaultTolerance` object declaratively, using the `@ApplyFaultTolerance` annotation. + +To be able to do that, we need a bean of type `FaultTolerance` with the `@Identifier` qualifier: + +[source,java] +---- +@ApplicationScoped +public class PreconfiguredFaultTolerance { + @Produces + @Identifier("my-fault-tolerance") + public static final FaultTolerance FT = FaultTolerance.create() + .withRetry().maxRetries(2).done() + .withFallback().handler(() -> "fallback").done() + .build(); +} +---- + +See the xref:usage/programmatic-api.adoc[programmatic API] documentation for more information about creating the `FaultTolerance` instance. + +It is customary to create the bean by declaring a `static` producer field, just like in the previous example. + +Once we have that, we can apply `my-fault-tolerance` to synchronous methods that return `String`: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @ApplyFaultTolerance("my-fault-tolerance") + public String doSomething() { + ... + } +} +---- + +It is also possible to create a bean of type `FaultTolerance` and apply it to synchronous methods that return many different types. +Note that this effectively precludes defining a useful fallback, because fallback can only be defined when the value type is known. + +It is also possible to define a bean of type `FaultTolerance>` and apply it to asynchronous methods that return `CompletionStage`. +Likewise, it is possible to do this for <>. + +Note that you can't define a synchronous `FaultTolerance` object and apply it to any asynchronous method. +Similarly, you can't define an asynchronous `FaultTolerance>` and apply it to a synchronous method or an asynchronous method with different <>. +This limitation will be lifted in the future. + +== Rate Limit + +{smallrye-fault-tolerance} includes an additional fault tolerance strategy, not prescribed by the {microprofile-fault-tolerance} specification: _rate limit_. + +Rate limit enforces a maximum number of permitted invocations in a time window of some length. +For example, with a rate limit, one can make sure that a method may only be called 50 times per minute. +Invocations that would exceed the limit are rejected with an exception of type `RateLimitException`. + +Additionally, it is possible to define minimum spacing between invocations. +For example, with minimum spacing of 1 second, if a second invocation happens 500 millis after the first, it is rejected even if the limit wouldn't be exceeded yet. + +Rate limit is superficially similar to a bulkhead (concurrency limit), but is in fact quite different. +Bulkhead limits the number of executions happening concurrently at any point in time. +Rate limit limits the number of executions in a time window of some length, without considering concurrency. + +=== Rate Limit Usage + +A method or a class can be annotated with `@RateLimit`, which means the method or the methods in the class will apply the rate limit strategy. + +The following annotation members control the rate limit behavior: + +- `value`: the limit of maximum invocations to be permitted in the time window; +- `window` and `windowUnit`: the length of the time window; +- `minSpacing` and `minSpacingUnit`: the minimum spacing between two consecutive invocations; +- `type`: the type of time windows used for rate limiting, described below. + +The previous example with 50 maximum invocations per minute and minimum spacing of 1 second would look like this: + +[source,java] +---- +@RateLimit(value = 50, + window = 1, windowUnit = ChronoUnit.MINUTES, + minSpacing = 1, minSpacingUnit = ChronoUnit.SECONDS) +public void doSomething() { + ... +} +---- + +=== Time Window Type + +{smallrye-fault-tolerance} supports three types of a time window used for rate limiting: _fixed_, _rolling_ and _smooth_. + +Fixed time windows are a result of dividing time into non-overlapping intervals of given length. +The invocation limit is enforced for each interval independently. +This means that short bursts of invocations occuring near the time window boundaries may temporarily exceed the configured rate limit. +This kind of rate limiting is also called _fixed window_ rate limiting. + +Rolling time windows enforce the limit continuously, instead of dividing time into independent intervals. +The invocation limit is enforced for all possible time intervals of given length, regardless of overlap. +This is more precise, but requires more memory and may be slower. +This kind of rate limiting is also called _sliding log_ rate limiting. + +Smooth time windows enforce a uniform distribution of invocations under a rate calculated from given time window length and given limit. +If recent rate of invocations is under the limit, a subsequent burst of invocations is allowed during a shorter time span, but the calculated rate is never exceeded. +This kind of rate limiting is also called _token bucket_ or _leaky bucket (as a meter)_ rate limiting, with the additional property that all work units are considered to have the same size. + +The type of time window used for rate limiting is configured using the `type` annotation member: + +[source,java] +---- +@RateLimit(value = 50, + window = 1, windowUnit = ChronoUnit.MINUTES, + minSpacing = 1, minSpacingUnit = ChronoUnit.SECONDS, + type = RateLimitType.ROLLING) +public void doSomething() { + ... +} +---- + + +=== Lifecycle + +Rate limit needs to maintain some state between invocations, depending on the time window type. +It may be the number of recent invocations or the time stamp of last invocation. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@RateLimit` annotation. + +More specifically, the rate limit state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same rate limit state. + +=== Interactions with Other Annotations + +The `@RateLimit` annotation can be used together with all other fault tolerance annotations. +If a method would hypothetically declare all fault tolerance annotations, the fault tolerance strategies would be nested like this: + +[source] +---- +Fallback( + Retry( + CircuitBreaker( + RateLimit( + Timeout( + Bulkhead( + ... the guarded method ... + ) + ) + ) + ) + ) +) +---- + +If `@Fallback` is used with `@RateLimit`, the fallback method or handler may be invoked if a `RateLimitException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@RateLimit`, each retry attempt is processed by the rate limit as an independent invocation. +If `RateLimitException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@RateLimit`, the circuit breaker is checked before enforcing the rate limit. +If rate limiting results in `RateLimitException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +=== Configuration + +The configuration system of {microprofile-fault-tolerance} applies to `@RateLimit` without a change. + +For example, assume the following class: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @RateLimit(value = 50, + window = 1, windowUnit = ChronoUnit.MINUTES, + minSpacing = 1, minSpacingUnit = ChronoUnit.SECONDS) + public void doSomething() { + ... + } +} +---- + +The rate limit configured for the `doSomething` method may be reconfigured like this: + +[source,properties] +---- +com.example.MyService/doSomething/RateLimit/value=150 +---- + +=== Metrics + +Rate limit exposes metrics to MicroProfile Metrics, following other {microprofile-fault-tolerance} metrics. + +[cols="1,5"] +|=== +| Name | `ft.ratelimit.calls.total` +| Type | `Counter` +| Unit | None +| Description | The number of times the rate limit logic was run. This will usually be once per method call, but may be zero times if the circuit breaker prevented execution or more than once if the method call is retried. +| Tags +a| * `method` - the fully qualified method name +* `rateLimitResult` = `[permitted\|rejected]` - whether the rate limit permitted the method call +|=== + +Micrometer is of course also supported, as described in xref:usage/basic.adoc#metrics[Metrics]. diff --git a/content/docs/smallrye-fault-tolerance/5/usage/programmatic-api.adoc b/content/docs/smallrye-fault-tolerance/5/usage/programmatic-api.adoc new file mode 100644 index 000000000..c73dde1c5 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/5/usage/programmatic-api.adoc @@ -0,0 +1,340 @@ += Programmatic API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +In addition to the declarative, annotation-based API of {microprofile-fault-tolerance}, {smallrye-fault-tolerance} also offers a programmatic API for advanced scenarios. +This API is present in the `io.smallrye:smallrye-fault-tolerance-api` artifact, just like all other additional APIs {smallrye-fault-tolerance} provides. + +== Installation + +If you use {smallrye-fault-tolerance} as part of a runtime that implements {microprofile-fault-tolerance}, you don't have to do anything. +The programmatic API is ready to use. +In this documentation, we'll call this the _CDI implementation_ of the programmatic API, because it's integrated with the {microprofile-fault-tolerance} implementation, which is naturally based on CDI. + +.Quarkus +**** +In Quarkus, the {smallrye-fault-tolerance} API is brought in automatically, as a transitive dependency of the Quarkus extension for {smallrye-fault-tolerance}. +That is, you don't need to do anything to be able to use the programmatic API. +**** + +.WildFly +**** +In WildFly, the {smallrye-fault-tolerance} API is not readily available to deployments. +If you want to use it, you need to add a module dependency to the deployment using `jboss-deployment-structure.xml`. + +Note that at the time of this writing, the {smallrye-fault-tolerance} module in WildFly is considered private. +If you do add a module dependency on it, to be able to use the {smallrye-fault-tolerance} API, you may be stepping out of the WildFly support scope. +**** + +In addition to the CDI implementation, {smallrye-fault-tolerance} also offers a _standalone implementation_ that is meant to be used outside of any runtime. +This implementation does not need CDI or anything else. +If you want to use {smallrye-fault-tolerance} in a standalone fashion, just add a dependency on `io.smallrye:smallrye-fault-tolerance-standalone`. +The API is brought in transitively. + +== Usage + +The entrypoint to the programmatic API is the `FaultTolerance` interface. + +This interface represents a configured set of fault tolerance strategies. +Their configuration, order of application and behavior in general corresponds to the declarative API, so if you know that, you'll feel right at home. +If not, the javadoc has all the information you need (though it often points to the annotation-based API for more information). + +To create an instance of `FaultTolerance`, you can use the `create` and `createAsync` static methods. +They return a builder which has to be used to add and configure all the fault tolerance strategies that should apply. +There is no external configuration, so all configuration properties have to be set explicitly, using the builder methods. +If you don't set a configuration property, it will default to the same value the annotation-based API uses. + +.Disabling Fault Tolerance +**** +There's one exception to the "no external configuration" rule. + +The CDI implementation looks for the well-known `MP_Fault_Tolerance_NonFallback_Enabled` configuration property in MicroProfile Config. +The standalone implementation looks for a system property with the same name. + +If such property exists and is set to `false`, only the fallback and thread offload fault tolerance strategies will be applied. +Everything else will be ignored. + +Note that this is somewhat different to the declarative, annotation-based API, where only fallback is retained and the `@Asynchronous` strategy is skipped as well. +Since this significantly changes execution semantics, the programmatic API will apply thread offload even if fault tolerance is disabled. + +Similarly to the declarative API, implementations of the programmatic API also read this property only once, when the `FaultTolerance` API is first used. +It is _not_ read again later. +**** + +Let's take a look at a simple example: + +[source,java] +---- +public class MyService { + private static final FaultTolerance guarded = FaultTolerance.create() // <1> + .withFallback().handler(() -> "fallback").done() // <2> + .build(); // <3> + + public String hello() throws Exception { + return guarded.call(() -> externalService.hello()); // <4> + } +} +---- + +<1> The `create` invocation typically has to include an explicit type argument (``). + The `FaultTolerance` interface has a type parameter which should be set to the return type of the guarded actions. + This is required to be able to guarantee that a fallback value is of the same type. +<2> The fallback handler may be a simple supplier of the fallback value, or a function that takes the exception and transforms it to the fallback value. + Here, we use the simpler option. + Note that we don't set any other configuration options. + This means that the default set of exceptions is used to determine when fallback should apply. +<3> The `build` method returns a `FaultTolerance` instance, which can later be used to guard arbitrary `String`-returning actions. +<4> Here, we call `externalService.hello()` and guard the call with the previously configured set of fault tolerance strategies. + (In this case, just fallback.) + The `call` method uses the `Callable` type to represent the called action. + Similar methods exist that accept a `Supplier` (`get`) or `Runnable` (`run`). + +The previous example shows how to apply fault tolerance to synchronous actions. +{smallrye-fault-tolerance} naturally also supports guarding asynchronous actions, using the `CompletionStage` type. +Unlike the declarative API, the programmatic API doesn't support asynchronous actions that return the `Future` type. + +[source,java] +---- +public class MyService { + private static final FaultTolerance> guarded = FaultTolerance.createAsync() // <1> + .withBulkhead().done() // <2> + .withThreadOffload(true) // <3> + .build(); + + public CompletionStage hello() throws Exception { + return guarded.call(() -> externalService.hello()); // <4> + } +} +---- + +<1> The `createAsync` method takes a type parameter of `String` and returns a builder for fault tolerance of type `CompletionStage`. +<2> Here, we add a bulkhead. + Since we don't configure any property, default values are used. + That is, at most 10 concurrent executions are permitted, and 10 more executions may be waiting in a queue. +<3> And here, we add a thread offload. + This is only possible for asynchronous actions, and corresponds to the `@Asynchronous` annotation from {microprofile-fault-tolerance}. +<4> Note that here, unlike the previous example, the `externalService.hello()` method is assumed to return `CompletionStage`. + +Asynchronous actions may be blocking or non-blocking. +In the example above, we assume the `externalService.hello()` call is blocking, so we set thread offload to `true`. +{smallrye-fault-tolerance} will automatically move the actual execution of the action to another thread. + +If we didn't configure `withThreadOffload`, however, the execution would continue on the original thread. +This is often desired for non-blocking actions, which are very common in modern reactive architectures. + +Also note that in this example, we configured multiple fault tolerance strategies: bulkhead and thread offload. +When that happens, the fault tolerance strategies are ordered according to the MicroProfile Fault Tolerance specification, just like in the declarative API. +Order of all the `with*` method invocations doesn’t matter. + +=== Synchronous vs. Asynchronous + +What's the difference between `FaultTolerance.>create()` and `FaultTolerance.createAsync()`? +Both may be used to guard an action that returns `CompletionStage`, correct? + +Well, yes and no. + +The synchronous variant (created using `create()`) will only guard the synchronous part of the action -- the part that ends by returning the `CompletionStage` instance. +It will _not_ guard the asynchronous behavior. + +For example, if an action returns a `CompletionStage` object, synchronous fault tolerance will consider that action successfully finished. +If that `CompletionStage` later completes with an exception, synchronous fault tolerance will never know. +What's more, the fact that this action has already "finished" means that the action will also leave the bulkhead, so concurrency limiting will not work properly. + +The asynchronous variant (created using `createAsync()`), on the other hand, will not treat the action as finished until the `CompletionStage` actually completes. +That is, the asynchronous action will only leave the bulkhead when it's complete, so concurrency limiting works as expected. +And if the `CompletionStage` completes exceptionally, asynchronous fault tolerance will treat that as a failure and react accordingly. + +To summarize, if you need to guard asynchronous actions, blocking or non-blocking, always use `createAsync`. + +=== Single-Action Usage + +The `FaultTolerance` API is general and permits guarding multiple different actions using the same set of fault tolerance strategies. +Often, that isn't necessary and we need to guard just a single action, altough possibly several times. + +For such use case, the `FaultTolerance` API provides shortcuts that work with the `Callable`, `Supplier` and `Runnable` types. + +First off, a `FaultTolerance` instance may be adapted to a `Callable`, `Supplier` or `Runnable` using the `adapt*` methods. +For example: + +[source,java] +---- +public class MyService { + private static final FaultTolerance guard = FaultTolerance.create() + .withTimeout().duration(5, ChronoUnit.SECONDS).done() + .build(); // <1> + + public String hello() throws Exception { + Callable callable = guard.adaptCallable(() -> externalService.hello()); // <2> + + return callable.call(); // <3> + } + +} +---- + +<1> Create a `FaultTolerance` object that can guard arbitrary `String`-returning actions. +<2> Adapt the general `FaultTolerance` instance to a `Callable` that guards the `externalService.hello()` invocation. + Similar methods exist that accept and return a `Supplier` (`adaptSupplier`) and `Runnable` (`adaptRunnable`). +<3> You can do whatever you wish with the adapted `Callable`. + Here, we just call it once, which isn't very interesting, but it could possibly be called multiple times, passed to other methods etc. + +This style of usage still creates a `FaultTolerance` instance first. +If that is not necessary, you can create a `Callable`, `Supplier` or `Runnable` directly: + +[source, java] +---- +public class MyService { + private static final Callable guard = FaultTolerance.createCallable(() -> externalService.hello()) // <1> + .withTimeout().duration(5, ChronoUnit.SECONDS).done() + .build(); + + public String hello() throws Exception { + return guard.call(); // <2> + } +} +---- + +<1> The `createCallable` method returns a fault tolerance builder that provides the same configuration options, but in the end, returns a `Callable`. + In this case, a `Callable`. + These methods typically don't require an explicit type argument, because it can be inferred from the type of action passed in. + Similar methods exist that return a builder which, in the end, returns a `Supplier` (`createSupplier`) or `Runnable` (`createRunnable`). +<2> Here, we don't have to do anything special, just call the existing `Callable`. + Again, it could possibly be called multiple times, passed to other methods etc. + +=== Stateful Fault Tolerance Strategies + +The bulkhead, circuit breaker and rate limit strategies are stateful. +That is, they hold some state required for their correct functioning, such as the number of current executions for bulkhead, the rolling window of successes/failures for circuit breaker, or the time window for rate limit. +If you use these strategies, you have to consider their lifecycle. + +The {smallrye-fault-tolerance} programmatic API makes such reasoning pretty straightforward. +Each `FaultTolerance` object has its own instance of each fault tolerance strategy, including the stateful strategies. +If you use a single `FaultTolerance` object for guarding multiple different actions, all those actions will be guarded by the same bulkhead, circuit breaker and/or rate limit. +If, on the other hand, you use different `FaultTolerance` objects for guarding different actions, each action will be guarded by its own bulkhead, circuit breaker and/or rate limit. + +If you use the `adapt*` methods, the resulting `Callable`, `Supplier` or `Runnable` objects will guard the underlying action using the original `FaultTolerance` instance, so stateful strategies will be shared. + +If you use the `create*` methods that directly return `Callable`, `Supplier` or `Runnable`, each such creation will have its own `FaultTolerance` instance under the hood, so stateful strategies will _not_ be shared. + +=== Circuit Breaker Maintenance + +The `CircuitBreakerMaintenance` API, accessed through `FaultTolerance.circuitBreakerMaintenance()` or by injection in the CDI implementation, can be used to manipulate all named circuit breakers. +A circuit breaker is given a name by calling `withCircuitBreaker().name("\...")` on the fault tolerance builder, or using the `@CircuitBreakerName` annotation in the declarative API. + +Additionally, `CircuitBreakerMaintenance.resetAll()` will also reset all unnamed circuit breakers declared using the `@CicruitBreaker` annotation. +For this to work, all unnamed circuit breakers have to be remembered. +This is safe in case of the declarative, annotation-based API, because the number of such declared circuit breakers is fixed. +At the same time, this would _not_ be safe to do for all unnamed circuit breakers created using the programmatic API, as their number is potentially unbounded. +(In other words, remembering all unnamed circuit breakers created using the programmatic API would easily lead to a memory leak.) + +Therefore, all circuit breakers created using the programmatic API must be given a name when `CircuitBreakerMaintenance` is supposed to affect them. +Note that duplicate names are not permitted and lead to an error, so lifecycle of the circuit breaker must be carefully considered. + +=== Event Listeners + +The programmatic API has one feature that the declarative API doesn't have: ability to observe certain events. +For example, when configuring a circuit breaker, it is possible to register a callback for circuit breaker state changes or for a situation when an open circuit breaker prevents an invocation. +When configuring a timeout, it is possible to register a callback for when the invocation times out, etc. etc. +For example: + +[source,java] +---- +private static final FaultTolerance guard = FaultTolerance.create() + .withTimeout().duration(5, ChronoUnit.SECONDS).onTimeout(() -> ...).done() // <1> + .build(); +---- + +<1> The `onTimeout` method takes a `Runnable` that will later be executed whenever an invocation guarded by `guard` times out. + +All event listeners registered like this must run quickly and must not throw exceptions. + +=== Summary of `FaultTolerance` Methods + +There's a number of static `create*` methods on the `FaultTolerance` interface. +Which one do you want to call depends on the result type of the builder and whether the guarded actions are synchronous or asynchronous. + +|=== +| The builder result type | Synchronous actions | Asynchronous actions + +| `FaultTolerance` +| `create()` -> `FaultTolerance` +| `createAsync()` -> `FaultTolerance>` + +| `Callable` +| `createCallable(Callable)` -> `Callable` +| `createAsyncCallable(Callable>)` -> `Callable>` + +| `Supplier` +| `createSupplier(Supplier)` -> `Supplier` +| `createAsyncSupplier(Supplier>)` -> `Supplier>` + +| `Runnable` +| `createRunnable(Runnable)` -> `Runnable` +| `createAsyncRunnable(Runnable)` -> `Runnable` +|=== + +When you have an instance of `FaultTolerance`, there's also a number of instance methods that either execute an action, or adapt an unguarded action to a guarded one. +Which one do you want to call depends on the type used to represent the action. + +|=== +| The action type | Execute | Adapt + +| `Callable` +| `call(Callable)` -> `T` +| `adaptCallable(Callable)` -> `Callable` + +| `Supplier` +| `get(Supplier)` -> `T` +| `adaptSupplier(Supplier)` -> `Supplier` + +| `Runnable` +| `run(Runnable)` -> `void` +| `adaptRunnable(Runnable)` -> `Runnable` +|=== + +== Mutiny Support + +In addition to the `FaultTolerance` interface, which provides support for guarding synchronous actions and asynchronous actions using `CompletionStage`, there's a special programmatic API entrypoint for asynchronous actions using the Mutiny library. +It is enough to include the Mutiny support library `io.smallrye:smallrye-fault-tolerance-mutiny`, as described in xref:usage/extra.adoc#async-types[Additional Asynchronous Types]. + +This entrypoint is called `MutinyFaultTolerance` and it includes static factory methods for creating a `Callable>`, `Supplier` and `FaultTolerance>`. +Guarding a `Multi` is not supported. + +These factory methods return the common fault tolerance builder, which is supposed to be used just like the builder used when guarding an async action of type `CompletionStage`. +For example: + +[source, java] +---- +public class MyService { + private final Supplier> guard = MutinyFaultTolerance.createSupplier(() -> externalService.hello()) // <1> + .withTimeout().duration(5, ChronoUnit.SECONDS).done() + .withFallback().handler(() -> Uni.createFrom().item("fallback")).done() + .build(); + + public Uni hello() { + return guard.get(); + } +} +---- + +<1> The call to `externalService.hello()` is supposed to return `Uni`. + +Note that the `Uni` type is lazy, so the action itself won't execute until the guarded `Uni` is subscribed to. + +.Quarkus +**** +In Quarkus, the Mutiny support library is present by default. +You can use `MutinyFaultTolerance` out of the box. +**** + +== Configuration and Metrics + +As mentioned above, with the single exception of `MP_Fault_Tolerance_NonFallback_Enabled`, there is no external configuration support. +This may change in the future, though possibly only in the CDI implementation. + +At the moment, the programmatic API of {smallrye-fault-tolerance} is not integrated with metrics. +This will change in the future, though possibly only in the CDI implementation. + +== Integration Concerns + +Integration concerns, which are particularly interesting for users of the standalone implementation, are xref:integration/programmatic-api.adoc[described] in the integration section. diff --git a/content/docs/smallrye-fault-tolerance/6/_attributes.adoc b/content/docs/smallrye-fault-tolerance/6/_attributes.adoc new file mode 100644 index 000000000..856204445 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/_attributes.adoc @@ -0,0 +1,24 @@ +:project-version: 6.11.4 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:partialsdir: {version-root}_partials +:examples-dir: {version-root}_examples +:smallrye-fault-tolerance: SmallRye Fault Tolerance +:smallrye-fault-tolerance-version: 6.11.4 +:microprofile-fault-tolerance: MicroProfile Fault Tolerance +:microprofile-fault-tolerance-version: 4.1.2 +:microprofile-fault-tolerance-url: https://download.eclipse.org/microprofile/microprofile-fault-tolerance-4.1/microprofile-fault-tolerance-spec-4.1.html +:vertx4-version: 4.5.25 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 6.11.4 +:relfileprefix: /docs/smallrye-fault-tolerance/6/ +:imagesdir: /docs/smallrye-fault-tolerance/6 +:docs-project: smallrye-fault-tolerance +:docs-version: 6 +:docs-ref: 6.11.4 diff --git a/content/docs/smallrye-fault-tolerance/6/_nav.yml b/content/docs/smallrye-fault-tolerance/6/_nav.yml new file mode 100644 index 000000000..601e84f10 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/_nav.yml @@ -0,0 +1,82 @@ +title: SmallRye Fault Tolerance +nav: +- title: Overview + page: index +- title: How-to + items: + - title: Begin + page: howto/begin + - title: Supply Fallback Values + page: howto/fallback + - title: Limit Concurrency + page: howto/bulkhead + - title: Fail Fast on Recurring Failures + page: howto/circuit-breaker + - title: Watch for Timeouts + page: howto/timeout + - title: Retry on Failures + page: howto/retry + - title: Guard Asynchronous Methods + page: howto/asynchronous + - title: Limit Execution Rate + page: howto/rate-limit + - title: Use Multiple Strategies + page: howto/multiple +- title: Reference + items: + - title: Fallback + page: reference/fallback + - title: Bulkhead + page: reference/bulkhead + - title: Circuit Breaker + page: reference/circuit-breaker + - title: Timeout + page: reference/timeout + - title: Retry + page: reference/retry + - title: Asynchronous Execution + page: reference/asynchronous + - title: Rate Limit + page: reference/rate-limit + - title: Configuration + page: reference/config + - title: Metrics + page: reference/metrics + - title: Non-compatible Mode + page: reference/non-compat + - title: Programmatic API + page: reference/programmatic-api + - title: Reusable Fault Tolerance + page: reference/reusable +- title: Integration + items: + - title: Introduction + page: integration/intro + - title: Metrics + page: integration/metrics + - title: Thread Pool + page: integration/thread-pool + - title: Context Propagation + page: integration/context-propagation + - title: OpenTracing + page: integration/opentracing + - title: Event Loop + page: integration/event-loop + - title: Additional Asynchronous Types Integration Concerns + page: integration/async-types + - title: Kotlin Integration Concerns + page: integration/kotlin + - title: Programmatic API Integration Concerns + page: integration/programmatic-api +- title: Internals + items: + - title: Project Structure + page: internals/project-structure + - title: Instructions + page: internals/instructions + - title: Fault Tolerance Core + page: internals/core + - title: Configuration System + page: internals/config + - title: Logging + page: internals/logging diff --git a/content/docs/smallrye-fault-tolerance/6/_partials/internals.adoc b/content/docs/smallrye-fault-tolerance/6/_partials/internals.adoc new file mode 100644 index 000000000..6a5d9340f --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/_partials/internals.adoc @@ -0,0 +1,3 @@ +WARNING: Note that everything explained here is an implementation detail. +API stability for these interfaces and classes is _not_ guaranteed! +This documentation is only present to provide implementation insight for people who have to debug issues or want to contribute. diff --git a/content/docs/smallrye-fault-tolerance/6/_partials/non-compat.adoc b/content/docs/smallrye-fault-tolerance/6/_partials/non-compat.adoc new file mode 100644 index 000000000..e087cdb10 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/_partials/non-compat.adoc @@ -0,0 +1 @@ +IMPORTANT: This feature only works in the xref:reference/non-compat.adoc[non-compatible mode]. diff --git a/content/docs/smallrye-fault-tolerance/6/_partials/srye-feature.adoc b/content/docs/smallrye-fault-tolerance/6/_partials/srye-feature.adoc new file mode 100644 index 000000000..0f4a979cf --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/_partials/srye-feature.adoc @@ -0,0 +1 @@ +IMPORTANT: This is an additional feature of {smallrye-fault-tolerance} and is not specified by {microprofile-fault-tolerance}. diff --git a/content/docs/smallrye-fault-tolerance/6/_partials/time-unit-inconsistency.adoc b/content/docs/smallrye-fault-tolerance/6/_partials/time-unit-inconsistency.adoc new file mode 100644 index 000000000..b742c482b --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/_partials/time-unit-inconsistency.adoc @@ -0,0 +1,3 @@ +NOTE: Note the naming inconsistency between `{time-value-name}` and `{time-unit-bad-name}`. +It is common for the time unit property to be named after the time value property, e.g. `{time-unit-good-name}`. +Fixing this inconsistency would be a breaking change the {microprofile-fault-tolerance} specification is not willing to make. diff --git a/content/docs/smallrye-fault-tolerance/6/howto/asynchronous.adoc b/content/docs/smallrye-fault-tolerance/6/howto/asynchronous.adoc new file mode 100644 index 000000000..4c8394666 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/howto/asynchronous.adoc @@ -0,0 +1,102 @@ += How to Guard Asynchronous Methods +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} allows offloading method calls to another thread, as well as applying asynchronous fault tolerance. + +Asynchronous fault tolerance means guarding not just the synchronous method execution, but the entire asynchronous operation started by the method call, until the result is delivered. +For example: + +[source,java] +---- +CompletionStage doSomething() { + return CompletableFuture.supplyAsync(() -> { + if (someCondition) { + return someValue; + } else { + throw someException; + } + }); +} +---- + +This method always returns a `CompletionStage` and it never throws an exception. +However, if `someCondition` does not hold, the `CompletionStage` returned from the method will complete exceptionally. + +Ordinary (non-asynchronous) fault tolerance: + +* never considers this operation failing, because the method returns a value and does not throw an exception; +* considers this operation finished when the method returns. + +Asynchronous fault tolerance, on the other hand: + +* defers its decision process to the moment when the returned `CompletionStage` completes, +* and considers this operation running until that happens. + +As a special case, if an asynchronous method in fact does throw an exception (it typically shouldn't), it is treated as if it returned a `CompletionStage` that is already completed exceptionally with the thrown exception. + +== `@Asynchronous` + +A method that returns `java.util.concurrent.Future` or `java.util.concurrent.CompletionStage` may be annotated `@Asynchronous`. +Such method is executed on another thread. +Additionally, if the return type is `CompletionStage`, asynchronous fault tolerance applies. + +[NOTE] +==== +Note that if an `@Asynchronous` method returns a `Future`, asynchronous fault tolerance does _not_ apply. +Only the synchronous method execution is guarded. + +Asynchronous fault tolerance only applies if the `@Asynchronous` method returns `CompletionStage`. +==== + +Use `@Asynchronous` if the method has blocking logic, but you don’t want to block the caller thread. +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @Asynchronous // <1> + CompletionStage hello() { + ... blocking IO here ... + } +} +---- + +<1> Using the `@Asynchronous` annotation, because the method blocks, and it is necessary to offload its execution to another thread. + +== `@AsynchronousNonBlocking` + +include::{partialsdir}/srye-feature.adoc[] + +A method that returns `CompletionStage` may be annotated `@AsynchronousNonBlocking`. +In such case, the method is executed on the original thread, but asynchronous fault tolerance still applies. + +Use `@AsynchronousNonBlocking` if the method _does not_ have blocking logic, and you want the execution to stay on the caller thread. +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @AsynchronousNonBlocking // <1> + CompletionStage hello() { + ... non-blocking IO here ... + } +} +---- + +<1> Using the `@AsynchronousNonBlocking` annotation, because the method does not block and offloading execution to another thread is not necessary. + +=== Non-compatible mode + +include::{partialsdir}/non-compat.adoc[] + +In the non-compatible mode, the `@AsynchronousNonBlocking` annotation is not necessary. +A method that returns `CompletionStage` and is not annotated `@Asynchronous` is automatically treated as `@AsynchronousNonBlocking`. + +== Links + +For more information, see xref:reference/asynchronous.adoc[the Asynchronous Execution reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/6/howto/begin.adoc b/content/docs/smallrye-fault-tolerance/6/howto/begin.adoc new file mode 100644 index 000000000..3b5f0f3e7 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/howto/begin.adoc @@ -0,0 +1,129 @@ += How to Begin +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Installation + +As an application developer, you don't have to "install" {smallrye-fault-tolerance} in any way. +Your chosen runtime, such as Quarkus or WildFly, already integrates {smallrye-fault-tolerance} to provide {microprofile-fault-tolerance}. +Please refer to the documentation of your selected runtime to understand how to enable MicroProfile Fault Tolerance. + +.Quarkus +**** +In case of Quarkus, it is enough to add a dependency on `io.quarkus:quarkus-smallrye-fault-tolerance`. + +See the https://quarkus.io/guides/smallrye-fault-tolerance[{smallrye-fault-tolerance} guide] in Quarkus documentation for more. +**** + +.WildFly +**** +In case of WildFly, the {microprofile-fault-tolerance} subsystem must be enabled. +It is not included in the default `standalone` or `standalone-full` profiles, but it is included in the `standalone-microprofile` profile. +It is easiest to just start WildFly in this profile. + +See the https://docs.wildfly.org/27/Admin_Guide.html#MicroProfile-Fault-Tolerance-SmallRye[{microprofile-fault-tolerance} chapter] in WildFly Admin Guide for more. +**** + +If you are a framework developer, interested in integrating {smallrye-fault-tolerance} in your framework or runtime, please refer to the xref:integration/intro.adoc[Integration] section. + +== Usage + +{microprofile-fault-tolerance} is built on top of CDI and interceptors. +This lets you guard method calls with selected fault tolerance strategies simply by annotating a CDI bean class or method with one of the fault tolerance annotations. +For example: + +[source,java] +---- +@ApplicationScoped // <1> +public class MyService { + @Retry // <2> + public String hello() { + ... + } +} +---- + +<1> `@ApplicationScoped` is a bean defining annotation. +It makes the `MyService` class a CDI bean. +<2> `@Retry` is a fault tolerance annotation. + +Here, if the `hello` method throws an exception, the invocation will be retried several times, until the method returns a value. + +The annotation may also be present on a class, in which case it applies to all business method in the class: + +[source,java] +---- +package com.example; + +@ApplicationScoped +@Retry // <1> +public class MyService { + public String hello() { // <2> + ... + } +} +---- +<1> `@Retry` is a fault tolerance annotation. +<2> The `hello()` method will use the retry strategy, because it is defined on the class. + +A class-level annotation may be overridden by explicitly annotating a method. + +TIP: CDI beginners often expect that this will work if you create an instance manually: `new MyService()`. +That is not the case. +You have to let the CDI container construct an instance for you and inject it: `@Inject MyService service`. +What you get injected is actually a proxy that implements the additional behaviors. + +The fault tolerance strategies present in {microprofile-fault-tolerance}, together with the corresponding annotations, are: + +* `@Asynchronous`: offload method execution to another thread +* `@Bulkhead`: limit concurrent invocations +* `@CircuitBreaker`: prevent invocations if previous invocations failed too often +* `@Fallback`: provide alternative result in case of a failure +* `@Retry`: retry several times in case of a failure +* `@Timeout`: fail if the invocation takes too long + +{smallrye-fault-tolerance} adds some more fault tolerance strategies and annotations: + +* `@ApplyGuard`: apply a programmatically-defined guard +* `@AsynchronousNonBlocking`: apply asynchronous fault tolerance without offloading method execution to another thread +* `@RateLimit`: limit rate of method invocations + +These are all described in the corresponding how-to and reference guides. +The {microprofile-fault-tolerance} features are also described in the {microprofile-fault-tolerance-url}[specification]. + +== Configuration + +The fault tolerance strategies can be configured using annotations, such as: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 10, retryOn = IOException.class) // <1> + public String hello() { + ... + } +} +---- + +<1> Retries will only be attempted if the thrown exception was `IOException`. +Other exceptions will be rethrown directly. +Also, the maximum number of retry attempts is changed to 10 (the default is 3). + +This is convenient, but changing such configuration requires recompilation. +For that reason, configuration using MicroProfile Config is also possible. +For example: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService/hello".retry.max-retries=5 <1> + +# alternatively, a specification-defined property can be used +com.example.MyService/hello/Retry/maxRetries=5 <1> +---- +<1> Even though the `@Retry` annotation says that `maxRetries` should be 10, this configuration takes precedence. +The maximum number of retries will be 5. + +Since this example configuration does not modify the `retryOn` setting, the configuration provided in the annotation still applies. + +For more information about configuration, see xref:reference/config.adoc[the Configuration reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/6/howto/bulkhead.adoc b/content/docs/smallrye-fault-tolerance/6/howto/bulkhead.adoc new file mode 100644 index 000000000..39326779c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/howto/bulkhead.adoc @@ -0,0 +1,33 @@ += How to Limit Concurrency +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to prevent an operation from having too many concurrent executions using a _bulkhead_. + +NOTE: In general, the term _bulkhead_ refers to system compartmentalization, or the practice of preventing failures in one part of the system from spreading to other parts of the system. +In {microprofile-fault-tolerance}, the term refers to one specific instance of the general idea: a _concurrency limiter_. + +== `@Bulkhead` + +The `@Bulkhead` annotation specifies that a concurrency limit should be enforced for all calls of the method. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Bulkhead // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must not have too many concurrent executions. +Since there is no configuration, the default is at most 10 concurrent calls. + +If some callers attempt to invoke the method when the concurrency limit has already been reached, they will fail with `BulkheadException`. + +It is possible to specify the maximum allowed concurrency, as well as define a queue for excess invocations in case of xref:howto/asynchronous.adoc[asynchronous methods]. + +== Links + +For more information, see xref:reference/bulkhead.adoc[the Bulkhead reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/6/howto/circuit-breaker.adoc b/content/docs/smallrye-fault-tolerance/6/howto/circuit-breaker.adoc new file mode 100644 index 000000000..0dcd618ec --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/howto/circuit-breaker.adoc @@ -0,0 +1,33 @@ += How to Fail Fast on Recurring Failures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If an operation fails too often, it is possible to prevent executing that operation and fail fast using a _circuit breaker_. + +The circuit breaker starts _closed_, in which state it allows all invocations to proceed. +If too many invocations fail, the circuit breaker moves to _open_, in which state it prevents all invocations and fails fast. +After some time in _open_, the circuit breaker moves to _half-open_, in which state it determines whether it should continue failing fast (and move back to _open_) or allow invocations again (and move to _closed_). + +== `@CircuitBreaker` + +The `@CircuitBreaker` annotation specifies that method invocations should be prevented if the method failed too often recently. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @CircuitBreaker // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must be guarded with a circuit breaker. + +If some callers attempt to invoke the method when the circuit breaker is _open_, they will fail with `CircuitBreakerOpenException`. + +It is possible to configure the number of recent invocations the circuit breaker should track, the failure rate, and so on. + +== Links + +For more information, see xref:reference/circuit-breaker.adoc[the Circuit Breaker reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/6/howto/fallback.adoc b/content/docs/smallrye-fault-tolerance/6/howto/fallback.adoc new file mode 100644 index 000000000..a0fb8826d --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/howto/fallback.adoc @@ -0,0 +1,62 @@ += How to Supply Fallback Values +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If an operation fails, it is often possible to replace the failure with an alternative result: a _fallback_. + +== `@Fallback` + +=== Using a Fallback Method + +The `@Fallback` annotation allows specifying a method that should be called in case an exception is thrown. +The fallback method must have the same parameter types as the guarded method, and must return a type that is assignable to the guarded method's return type. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") // <1> + public String hello() { + ... + } + + private String fallback() { + return "fallback"; + } +} +---- +<1> Declares that if `hello()` throws an exception, the `fallback()` method is called and its result is returned instead. + +In this particular case, if `hello()` throws an exception, that exception is swallowed and the string `"fallback"` is returned. +It is possible to specify that fallback should only apply to certain exception types or that it should be skipped for certain exception types. + +=== Using a Fallback Handler + +Alternatively, the `@Fallback` annotation allows specifying a fallback handler that should be called. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(MyFallback.class) // <1> + public String hello() { + ... + } +} +---- +<1> Declares that if `hello()` throws an exception, the `MyFallback` handler is used to obtain a fallback value. + +[source,java] +---- +public class MyFallback implements FallbackHandler { // <1> + String handle(ExecutionContext context) { // <2> + return "fallback"; + } +} +---- +<1> A fallback handler must implement the `FallbackHandler` interface. +<2> The `ExecutionContext` provides access to the guarded method, its parameter values, and the thrown exception. + +== Links + +For more information, see xref:reference/fallback.adoc[the Fallback reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/6/howto/multiple.adoc b/content/docs/smallrye-fault-tolerance/6/howto/multiple.adoc new file mode 100644 index 000000000..7ee19a470 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/howto/multiple.adoc @@ -0,0 +1,58 @@ += How to Use Multiple Strategies +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to use multiple fault tolerance strategies to guard a single method. +For example, it is possible to use fallback together with retry and timeout: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 5) + @Fallback(fallbackMethod = "fallback") + @Timeout + public String hello() { + ... + } + + public String fallback() { + return "fallback"; + } +} +---- + +In such case, the fault tolerance strategies are nested in a pre-defined order: + +[source] +---- +Fallback( + Retry( + CircuitBreaker( + RateLimit( + Timeout( + Bulkhead( + ... the guarded method ... + ) + ) + ) + ) + ) +) +---- + +In the previous example, this means that timeout is nested inside retry, which in turn is nested inside fallback. +If the method times out (the default timeout is 1 second), it is retried (up to 5 times). +If no attempt succeeds, fallback is used. + +== Links + +Reference guides for all fault tolerance strategies explain in detail how they interact with one another: + +* xref:reference/asynchronous.adoc#interactions[@Asynchronous and @AsynchronousNonBlocking] +* xref:reference/bulkhead.adoc#interactions[@Bulkhead] +* xref:reference/circuit-breaker.adoc#interactions[@CircuitBreaker] +* xref:reference/fallback.adoc#interactions[@Fallback] +* xref:reference/rate-limit.adoc#interactions[@RateLimit] +* xref:reference/retry.adoc#interactions[@Retry] +* xref:reference/timeout.adoc#interactions[@Timeout] diff --git a/content/docs/smallrye-fault-tolerance/6/howto/rate-limit.adoc b/content/docs/smallrye-fault-tolerance/6/howto/rate-limit.adoc new file mode 100644 index 000000000..c818bfdfe --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/howto/rate-limit.adoc @@ -0,0 +1,33 @@ += How to Limit Execution Rate +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +It is possible to prevent an operation from being executed too often using a _rate limit_. + +== `@RateLimit` + +The `@RateLimit` annotation specifies that a rate limit should be enforced for all method calls. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @RateLimit // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must not be called too often. +Since there is no configuration, the default is at most 100 calls per 1 minute. + +If the method is called too often, excess attempts will fail with `RateLimitException`. + +It is possible to specify the maximum allowed rate of execution (the rate limit), together with minimum spacing between invocations. +There are also several types of rate limiting to choose from. + +== Links + +For more information, see xref:reference/rate-limit.adoc[the Rate Limit reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/6/howto/retry.adoc b/content/docs/smallrye-fault-tolerance/6/howto/retry.adoc new file mode 100644 index 000000000..865403c37 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/howto/retry.adoc @@ -0,0 +1,33 @@ += How to Retry on Failures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If an operation fails, it is possible to _retry_ the operation in case the failure was just a temporary glitch. + +CAUTION: In case an operation fails due to the target system being overloaded, retrying will likely make the overload situation even worse. +Use sparingly, preferably with a xref:howto/bulkhead.adoc[concurrency limit] or a xref:howto/circuit-breaker.adoc[circuit breaker]. + +== `@Retry` + +The `@Retry` annotation specifies that a method should be called again in case a previous execution thrown an exception. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry // <1> + public String hello() { + ... + } +} +---- +<1> Declares that if `hello()` throws an exception, the exception is swallowed and `hello()` is called again. +Since there is no configuration, at most 3 retry attempts will be done before rethrowing the exception. + +It is possible to specify the maximum number of retry attempts, as well as the maximum duration for which retries should be attempted. +Further, it is possible to specify some delay between retry attempts, together with random jitter. +Finally, it is possible to specify that calls should be retried only for certain exception types or that retrying should be aborted for certain exception types. + +== Links + +For more information, see xref:reference/retry.adoc[the Retry reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/6/howto/timeout.adoc b/content/docs/smallrye-fault-tolerance/6/howto/timeout.adoc new file mode 100644 index 000000000..c3e9fdf8b --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/howto/timeout.adoc @@ -0,0 +1,28 @@ += How to Watch for Timeouts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to prevent an operation from taking too long using a _timeout_. + +== `@Timeout` + +The `@Timeout` annotation specifies that all calls of the method should fail if they take too long. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Timeout // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must not take too long. +Since there is no configuration, the default is at most 1 second. + +If the method call takes too long, the caller will get a `TimeoutException` instead. + +== Links + +For more information, see xref:reference/timeout.adoc[the Timeout reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/6/images/diagrams/mermaid-f40d3cbcabca.dark.svg b/content/docs/smallrye-fault-tolerance/6/images/diagrams/mermaid-f40d3cbcabca.dark.svg new file mode 100644 index 000000000..cfe00df23 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/images/diagrams/mermaid-f40d3cbcabca.dark.svg @@ -0,0 +1 @@ +

Recent invocations failed too often

Configured time elapsed

All probe invocations succeeded

Some probe invocations failed

[CLOSED] Allow invocations and track the number of successes and failures

[OPEN] Fail fast, prevent all invocations

[HALF-OPEN] Allow some probe invocations to proceed

\ No newline at end of file diff --git a/content/docs/smallrye-fault-tolerance/6/images/diagrams/mermaid-f40d3cbcabca.svg b/content/docs/smallrye-fault-tolerance/6/images/diagrams/mermaid-f40d3cbcabca.svg new file mode 100644 index 000000000..a31aed359 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/images/diagrams/mermaid-f40d3cbcabca.svg @@ -0,0 +1 @@ +

Recent invocations failed too often

Configured time elapsed

All probe invocations succeeded

Some probe invocations failed

[CLOSED] Allow invocations and track the number of successes and failures

[OPEN] Fail fast, prevent all invocations

[HALF-OPEN] Allow some probe invocations to proceed

\ No newline at end of file diff --git a/content/docs/smallrye-fault-tolerance/6/index.adoc b/content/docs/smallrye-fault-tolerance/6/index.adoc new file mode 100644 index 000000000..c8eccf252 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/index.adoc @@ -0,0 +1,77 @@ += SmallRye Fault Tolerance Documentation +include::_attributes.adoc[] + +{smallrye-fault-tolerance} {smallrye-fault-tolerance-version} is an implementation of https://github.com/eclipse/microprofile-fault-tolerance/[Eclipse {microprofile-fault-tolerance}] {microprofile-fault-tolerance-version} with additional features not defined by the specification. + +It provides a declarative, annotation-based API for guarding method calls: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry // <1> + public String hello() { + ... + } +} +---- +<1> If `hello()` throws an exception, the invocation will be retried several times, until the method returns a value. + +It also provides a programmatic API to build reusable guards: + +[source,java] +---- +public class MyService { + private static final TypedGuard GUARD = TypedGuard.create(String.class) + .withFallback().handler(() -> "fallback").done() // <1> + .build(); + + public String hello() throws Exception { + return GUARD.call(() -> externalService.hello()); // <2> + } +} +---- +<1> If the guarded call throws an exception, the fallback value will be returned instead. +<2> The guarded call simply invokes some external service. + +CAUTION: The fault tolerance strategies provided by {smallrye-fault-tolerance} are best suited for guarding network interactions. +To handle ordinary exceptions, it is typically best to use the plain old `try` / `catch` / `finally` blocks. +Using {smallrye-fault-tolerance} as a replacement of exception handling is often a bad idea. + +NOTE: Some additional features may have experimental status, marked by the `@Experimental` annotation. +The programmatic API to build reusable guards, as mentioned above, is one example, but there are more. + +== Runtimes + +Runtimes that currently use {smallrye-fault-tolerance} include: + +* https://quarkus.io/[Quarkus] +* https://wildfly.org/[WildFly] + +== Navigation + +This documentation site has several sections, as you can see in the menu. + +=== How-to Guides + +How-tos are task-oriented guides that let you quickly start using some feature. +They provide a short overview, but not many details. + +TIP: If you're just starting with {smallrye-fault-tolerance}, start with the how-tos. + +=== References + +References are detailed guides that let you understand some feature in depth. +They also provide information about more advanced options or features. + +TIP: If the how-to guide doesn't answer a question you have, the reference guide should. + +=== Integration + +The articles here address concerns that runtimes integrating {smallrye-fault-tolerance} might have. +Useful for people who maintain {smallrye-fault-tolerance} integration into some bigger framework or platform, but not required for application developers. + +=== Internals + +A few random articles that describe some parts of the {smallrye-fault-tolerance} code base. +Useful for prospective contributors or generally curious users, but not required for application developers. diff --git a/content/docs/smallrye-fault-tolerance/6/integration/async-types.adoc b/content/docs/smallrye-fault-tolerance/6/integration/async-types.adoc new file mode 100644 index 000000000..f4706c68c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/integration/async-types.adoc @@ -0,0 +1,15 @@ += Additional Asynchronous Types Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns for xref:reference/asynchronous.adoc#async-types[Additional Asynchronous Types]. + +To enable support of additional asynchronous types, it is required that the support library is present. +That is: + +* https://smallrye.io/smallrye-mutiny/[Mutiny]: `io.smallrye:smallrye-fault-tolerance-mutiny` +* https://github.com/ReactiveX/RxJava/tree/3.x[RxJava 3]: `io.smallrye:smallrye-fault-tolerance-rxjava3` +* https://vertx.io/docs/vertx-core/java/#_future_results[Vert.x `Future`]: `io.smallrye:smallrye-fault-tolerance-vertx` + +These libraries include some service providers that {smallrye-fault-tolerance} will automatically load and use. +Therefore, no more integration is necessary. diff --git a/content/docs/smallrye-fault-tolerance/6/integration/context-propagation.adoc b/content/docs/smallrye-fault-tolerance/6/integration/context-propagation.adoc new file mode 100644 index 000000000..a39b7816d --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/integration/context-propagation.adoc @@ -0,0 +1,8 @@ += Context Propagation +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} supports MicroProfile Context Propagation for `@Asynchronous` method invocations, if 2 conditions are satisfied: + +- the integrator provides a MicroProfile Context Propagation enabled thread pool (see xref:integration/thread-pool.adoc[Thread Pool]); +- the `io.smallrye:smallrye-fault-tolerance-context-propagation` artifact is present (it provides alternative implementations of some internal services, loaded using `ServiceLoader`). diff --git a/content/docs/smallrye-fault-tolerance/6/integration/event-loop.adoc b/content/docs/smallrye-fault-tolerance/6/integration/event-loop.adoc new file mode 100644 index 000000000..df4a58fc5 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/integration/event-loop.adoc @@ -0,0 +1,37 @@ += Event Loop +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} provides an API to integrate with event loops used in non-blocking runtimes. + +WARNING: This integration API comes from the `core` module and so is treated as private. +If you intend to implement it, please let us know in the {smallrye-fault-tolerance} issue tracker. +We'd prefer all the implementations to live in the {smallrye-fault-tolerance} project. + +The integrator must implement the `EventLoop` interface, which lets {smallrye-fault-tolerance} submit ``Runnable``s to the event loop for execution. +Implementations are discovered through `ServiceLoader`, so the corresponding `META-INF/services/\...` file must also exist. + +At most one implementation of `EventLoop` may be present at runtime. +{smallrye-fault-tolerance} will use it to execute non-blocking guarded methods when the caller was originally on an event loop thread. +This is important in case of: + +- retries, when there's a delay between retry attempts (the delay must not block); +- bulkheads, when a task is queued (such task is executed when some other task finishes, which happens on an unknown thread). + +If no event loop integration is present, the tasks described above will be offloaded to the xref:integration/thread-pool.adoc[thread pool]. + +The event loop integration is also used in some other situations when guarding non-blocking methods: + +- fallbacks, when the original method fails (the fallback is executed on the original event loop); +- timeouts, when timeout occurs (the failure is signalled on the original event loop). + +== Vert.x + +{smallrye-fault-tolerance} includes an implementation of the event loop integration API for Vert.x. +This implementation is compiled and tested against Vert.x version {vertx4-version}, but should also work fine with Vert.x 3.x. + +This implementation is present in the `io.smallrye:smallrye-fault-tolerance-vertx` artifact. +Including this artifact is enough to enable the Vert.x integration. + +NOTE: The Vert.x implementation is treated as public, but only as described here. +That is, the artifact should be treated as opaque, no guarantees about its internals are made. diff --git a/content/docs/smallrye-fault-tolerance/6/integration/intro.adoc b/content/docs/smallrye-fault-tolerance/6/integration/intro.adoc new file mode 100644 index 000000000..fb0c49de5 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/integration/intro.adoc @@ -0,0 +1,41 @@ += Introduction +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} comprises the following main artifacts: + +* `io.smallrye:smallrye-fault-tolerance-api`: public API for the features provided on top of {microprofile-fault-tolerance}, including a programmatic API; +* `io.smallrye:smallrye-fault-tolerance-apiimpl`: implementation of the programmatic API; +* `io.smallrye:smallrye-fault-tolerance-core`: core implementations of fault tolerance strategies; +* `io.smallrye:smallrye-fault-tolerance`: CDI-based implementation of {microprofile-fault-tolerance} with {smallrye-fault-tolerance} extensions, including a programmatic API; +* `io.smallrye:smallrye-fault-tolerance-autoconfig-core`: runtime part of the {smallrye-fault-tolerance} configuration system. +** (There's also `io.smallrye:smallrye-fault-tolerance-autoconfig-processor`, but that is only used during {smallrye-fault-tolerance} build and isn't required at runtime.) + +These artifacts must be always present, together with the following dependencies: + +* Jakarta CDI, Annotations and Interceptors API; +* `org.eclipse.microprofile.fault-tolerance:microprofile-fault-tolerance-api`; +* `org.eclipse.microprofile.config:microprofile-config-api` and some implementation; +* `org.jboss.logging:jboss-logging`. + +Some other artifacts are provided to facilitate additional integrations. +These are described in the subsequent sections. + +Most of the integration is performed automatically by the CDI Portable Extension present in {smallrye-fault-tolerance}: `io.smallrye.faulttolerance.FaultToleranceExtension`. +Make sure the extension is active. +The remaining integration concerns are described in the following sections: + +* xref:integration/metrics.adoc[emitting metrics] for fault tolerance strategies; +* xref:integration/thread-pool.adoc[providing a thread pool] for `@Asynchronous` methods and other asynchronous tasks; +* xref:integration/context-propagation.adoc[enabling Context Propagation] for `@Asynchronous` methods; +* xref:integration/opentracing.adoc[enabling OpenTracing integration] with Context Propagation; +* xref:integration/event-loop.adoc[integrating an event loop] for non-blocking method invocations; +* xref:integration/async-types.adoc[integrating additional types] for asynchronous invocations; +* xref:integration/kotlin.adoc[integrating Kotlin support] for `suspend` functions; +* xref:integration/programmatic-api.adoc[integrating the programmatic API] that {smallrye-fault-tolerance} provides. + +== Standalone Implementation of the Programmatic API + +A completely standalone implementation of the programmatic API exists in the `io.smallrye:smallrye-fault-tolerance-standalone` artifact. +This is supposed to be used in a non-CDI environment. +Runtimes that integrate {smallrye-fault-tolerance} typically do so using CDI, and so should ignore this artifact. diff --git a/content/docs/smallrye-fault-tolerance/6/integration/kotlin.adoc b/content/docs/smallrye-fault-tolerance/6/integration/kotlin.adoc new file mode 100644 index 000000000..98d9804f9 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/integration/kotlin.adoc @@ -0,0 +1,11 @@ += Kotlin Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns for xref:reference/asynchronous.adoc#kotlin-suspend-functions[Kotlin `suspend` functions]. + +To enable support of Kotlin suspending functions, it is required that the support library is present. +Its coordinates are: `io.smallrye:smallrye-fault-tolerance-kotlin`. + +This library includes some service providers that {smallrye-fault-tolerance} will automatically load and use. +Therefore, no more integration is necessary. diff --git a/content/docs/smallrye-fault-tolerance/6/integration/metrics.adoc b/content/docs/smallrye-fault-tolerance/6/integration/metrics.adoc new file mode 100644 index 000000000..6bc41895f --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/integration/metrics.adoc @@ -0,0 +1,75 @@ += Metrics +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} provides support for MicroProfile Metrics, OpenTelemetry and Micrometer. +Alternatively, metrics may be completely disabled at the integration level. + +As usual, this integration is based on CDI. +{smallrye-fault-tolerance} includes an internal interface `MetricsProvider` and these implementations: + +* `io.smallrye.faulttolerance.metrics.MicroProfileMetricsProvider` +* `io.smallrye.faulttolerance.metrics.OpenTelemetryProvider` +* `io.smallrye.faulttolerance.metrics.MicrometerProvider` +* `io.smallrye.faulttolerance.metrics.NoopProvider` + +There are 2 possible ways how to integrate metrics: + +* exactly 1 class from the list above is a bean; +* more than 1 class from the list above is a bean, in which case, `io.smallrye.faulttolerance.metrics.CompoundMetricsProvider` must also be a bean. + +NOTE: Only the _names_ of the classes listed above are treated as public. +That is, the classes should be treated as opaque, no guarantees about their internals are made. + +== Default Integration + +In case the integrator uses the CDI Portable Extension `FaultToleranceExtension` and lets the container create an instance, metrics presence is discovered automatically. +All present metrics systems are used. + +== Using a `FaultToleranceExtension` Constructor + +In case the integrator uses the CDI Portable Extension `FaultToleranceExtension` and creates its instance manually, they can use a constructor. + +In addition to a zero-parameter constructor, which is used in the default integration as described above, there are constructors that take a parameter of `MetricsIntegration` or `Set`. + +`MetricsIntegration` is an enum with these values: + +* `MICROPROFILE_METRICS`: use MicroProfile Metrics integration +* `OPENTELEMETRY`: use OpenTelemetry (MicroProfile Telemetry) integration +* `MICROMETER`: use Micrometer integration +* `NOOP`: no metrics + +== Metrics Providers + +Metrics providers have additional requirements, as described below. + +=== MicroProfile Metrics + +If MicroProfile Metrics should be used, the integrator must ensure that the following artifacts are present: + +* `org.eclipse.microprofile.metrics:microprofile-metrics-api`; +* some implementation of MicroProfile Metrics. + +=== OpenTelemetry + +If OpenTelemetry should be used, the integrator must ensure that the following artifact is present: + +* `io.opentelemetry:opentelemetry-api`. + +Further, a bean of type `io.opentelemetry.api.metrics.Meter` must exist. +This bean is used to emit the actual metrics. + +=== Micrometer + +If Micrometer should be used, the integrator must ensure that the following artifact is present: + +* `io.micrometer:micrometer-core`. + +Further, a bean of type `io.micrometer.core.instrument.MeterRegistry` must exist. +This bean is used to emit the actual metrics. + +=== Noop + +If the "noop" provider is used, metrics are completely disabled. + +No metrics API and implementation is required in this case. diff --git a/content/docs/smallrye-fault-tolerance/6/integration/opentracing.adoc b/content/docs/smallrye-fault-tolerance/6/integration/opentracing.adoc new file mode 100644 index 000000000..9d5955ff8 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/integration/opentracing.adoc @@ -0,0 +1,13 @@ += OpenTracing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} includes an integration between MicroProfile Context Propagation and OpenTracing. +That is, {smallrye-fault-tolerance} includes an implementation of `ThreadContextProvider` which propagates the active OpenTracing span from one thread to another. +This can be used when xref:integration/context-propagation.adoc[Context Propagation] is enabled. + +This integration is present in the `io.smallrye:smallrye-fault-tolerance-tracing-propagation` artifact. +It is used automatically when xref:integration/context-propagation.adoc[Context Propagation] is present. +When Context Propagation is not present, this artifact can still be in place, it just won't do anything. + +Technically, this doesn't even belong to {smallrye-fault-tolerance}, but it's present for historical reasons. diff --git a/content/docs/smallrye-fault-tolerance/6/integration/programmatic-api.adoc b/content/docs/smallrye-fault-tolerance/6/integration/programmatic-api.adoc new file mode 100644 index 000000000..1bef9aa24 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/integration/programmatic-api.adoc @@ -0,0 +1,49 @@ += Programmatic API Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns of the xref:reference/programmatic-api.adoc[Programmatic API] of {smallrye-fault-tolerance}. + +== CDI Implementation + +Runtimes that provide the CDI implementation of the programmatic API don't have to do any extra integration work. +The existing integration is enough. + +== Standalone Implementation + +The standalone implementation exposes a single integration point: the `StandaloneFaultTolerance.configure()` static method. +This method must be called before fault tolerance is first used. +It accepts a custom implementation of the `Configuration` interface, which allows customizing: + +* `enabled()`: if `false`, all fault tolerance strategies except fallback and thread offload are disabled +* `executor()`: executor for thread offloads and other asynchronous tasks +* `metricsAdapter()`: adapter for metrics, see below + +When no `Configuration` is provided, sensible defaults are used: + +* fault tolerance is enabled unless system property `MP_Fault_Tolerance_NonFallback_Enabled` is set to `false` +* a thread pool obtained using `Executors.newCachedThreadPool()` is used as an executor +* no metrics are emitted + +Users of the standalone implementation that also use an event loop based library, such as Vert.x, may integrate the event loop support as described in xref:integration/event-loop.adoc[Event Loop]. + +=== Lifecycle + +The thread pool and all other internal resources are initialized lazily, on the first use. +The `StandaloneFaultTolerance.shutdown()` method may be used on application shutdown to shut down these internal resources. + +The executor is only shut down when no `Configuration` was provided and {smallrye-fault-tolerance} had to create an executor on its own. +If `Configuration` was provided, the executor shutdown is left to the integrator; it is _not_ attempted automatically. + +At the end of `StandaloneFaultTolerance.shutdown()`, the `Configuration.onShutdown()` method is called. + +After `StandaloneFaultTolerance.shutdown()`, it is not possible to reinitialize {smallrye-fault-tolerance} again. + +=== Metrics + +In the standalone implementation, MicroProfile Metrics make no sense, as that is exclusively based on CDI. +It is however possible to integrate with OpenTelemetry or Micrometer. + +The `Configuration.metricsAdapter()` method must be implemented and return an instance of `io.smallrye.faulttolerance.standalone.OpenTelemetryAdapter` or `io.smallrye.faulttolerance.standalone.MicrometerAdapter`. +The constructor of `OpenTelemetryAdapter` accepts the `Meter` to which metrics shall be emitted. +The constructor of `MicrometerAdapter` accepts the `MeterRegistry` to which metrics shall be emitted. diff --git a/content/docs/smallrye-fault-tolerance/6/integration/thread-pool.adoc b/content/docs/smallrye-fault-tolerance/6/integration/thread-pool.adoc new file mode 100644 index 000000000..b223fd4fb --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/integration/thread-pool.adoc @@ -0,0 +1,30 @@ += Thread Pool +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} expects integrators to provide a thread pool for running `@Asynchronous` methods and other asynchronous tasks. +This integration is based on CDI. + +The integrator should provide a CDI bean which implements `AsyncExecutorProvider`. +The bean should be `@Singleton`, must be marked as alternative and selected globally for the application. + +There is a default thread pool in case no integration is provided, but it shouldn't be used outside of tests or experiments. +This is provided by the `AsyncExecutorProvider` default implementation, `DefaultAsyncExecutorProvider`. + +Integrators that are themselves Jakarta EE application servers and don't want to expose their own thread pool can subclass `DefaultAsyncExecutorProvider`. +This at least allows customizing the `ThreadFactory`. + +== Configuration + +If the integrator doesn't provide a thread pool, the default thread pool is used as described above. +In such case, the following configuration properties are recognized: + +- `io.smallrye.faulttolerance.mainThreadPoolSize`: maximum number of threads in the thread pool. +Defaults to `100`. + +- `io.smallrye.faulttolerance.mainThreadPoolQueueSize`: size of the queue that the thread pool should use. +Can be `> 0`, in which case the queue will be bounded to given size. +Can be `0`, in which case there will be no queue, and the thread pool will reject excess tasks. +Can be `-1`, in which case the queue will be unbounded. +Values `< -1` are an error. +Defaults to `-1`. diff --git a/content/docs/smallrye-fault-tolerance/6/internals/config.adoc b/content/docs/smallrye-fault-tolerance/6/internals/config.adoc new file mode 100644 index 000000000..6e505c7b2 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/internals/config.adoc @@ -0,0 +1,119 @@ += Configuration System +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/internals.adoc[] + +The xref:internals/core.adoc[core] fault tolerance strategies are configured simply by constructor parameters. +This is fine, since they are an internal implementation detail. +However, the constructor parameters correspond closely to the members of {microprofile-fault-tolerance} annotations. +The idea is that core fault tolerance strategies have no dependency on the {microprofile-fault-tolerance} API, but given a fault tolerance annotation, creating an instance of the corresponding strategy should be straightforward. + +On top of the core layer, {smallrye-fault-tolerance} implements {microprofile-fault-tolerance}, including a configuration system conforming to the specification. +This document briefly describes how the configuration system works. + +== `FaultToleranceOperation` + +The fault tolerance interceptor, which is the main entrypoint, looks up a `FaultToleranceOperation` instance for each class/method combination it has to process. +The `FaultToleranceOperation` holds a bean class, a descriptor of the guarded method, and configuration for each fault tolerance strategy applied to the method. +It also orchestrates configuration validation. +The interceptor uses a `FaultToleranceOperation` to instantiate all the core fault tolerance strategies for given guarded method. + +The `FaultToleranceOperation` instances are created early on, during application deployment, for all beans that use {microprofile-fault-tolerance}. +It may happen that a `FaultToleranceOperation` is created lazily, for special constructs such as runtime-built proxies, but that is largely irrelevant from the configuration perspective. + +== `FaultToleranceMethod` + +A `FaultToleranceOperation` is created from a `FaultToleranceMethod`. +A `FaultToleranceMethod` holds, again, a bean class, a descriptor of the guarded method, and the annotation instance for each annotation that is present on the guarded method or the class declaring the method. +It also knows what annotations have been declared directly on the method, and what annotations have been declared on the class. +This is because the {microprofile-fault-tolerance} configuration rules distinguish these two cases. + +A `FaultToleranceMethod` must be created in a CDI extension, because it represents the knowledge CDI has about the guarded method. +Note that CDI extensions may add, remove or modify annotations, so `FaultToleranceMethod` doesn't just hold the annotation instances as present in the class bytecode. + +.Quarkus +**** +In environments that bootstrap the CDI container during application build, such as Quarkus, the set of all ``FaultToleranceMethod``s in the application should be collected during build and transferred to runtime. +Then, at application runtime, ``FaultToleranceOperation``s should be created and validated. + +{smallrye-fault-tolerance} doesn't do anything like that, but is designed with Quarkus (and CDI Lite) in mind. +**** + +The main difference between `FaultToleranceMethod` and `FaultToleranceOperation` is that `FaultToleranceMethod` holds annotation instances, while `FaultToleranceOperation` holds configuration. + +== `@AutoConfig` + +As described above, `FaultToleranceMethod` holds annotation instances, while `FaultToleranceOperation` holds configuration. +Yet, `FaultToleranceOperation` exposes the annotation types (such as `@CircuitBreaker`) to anyone who needs the configuration. +The configuration consumers simply call the annotation methods (such as `requestVolumeThreshold()`), and configuration is handled behind the scenes, following the {microprofile-fault-tolerance} configuration rules. + +The infrastructure behind this is present in the `autoconfig` module. +This module allows creating simple configuration interfaces like this: + +[source,java] +---- +@AutoConfig +interface CircuitBreakerConfig extends CircuitBreaker, Config { + default void validate() { + ... + } +} +---- + +The config interface must: + +. be annotated with `@AutoConfig`; +. extend the annotation interface (`CircuitBreaker` in this case); +. extend the `Config` (or `ConfigDeclarativeOnly`) interface (from the `autoconfig/core` module); +. provide a `default` implementation of the `validate` method (defined in `Config`). + +For each such interface, an implementation class will be automatically generated by an annotation processor (implemented in the `autoconfig/processor` module). +In this case, it would be called `CircuitBreakerConfigImpl`. + +This implementation class has a `static` method called `create()` that accepts a `FaultToleranceMethod`. +It follows that for each guarded method, a new instance must be created. +If given `FaultToleranceMethod` doesn't contain an instance of particular annotation, `create()` simply returns `null`. + +The implementation class also overrides all methods from the annotation type. +Each annotation method is implemented to first consult MicroProfile Config, and only second to consult the annotation instance (which, as we described above, is present on the `FaultToleranceMethod`). + +The implementation class is supposed to be used just like the annotation type itself. +In other words, to obtain configured values, call the annotation methods on the config interface instance. +For example, to obtain the `requestVolumeThreshold` value, with respect to the {microprofile-fault-tolerance} configuration rules, we obtain an instance of `CircuitBreakerConfigImpl` and call `requestVolumeThreshold()`. + +The `FaultToleranceOperation` class holds instances of these config interfaces, and exposes them to configuration consumers. +It actually only exposes the annotation types, not the full config interface, but that is enough. + +== Putting it all together + +Let's recap how it all works. + +First, for each guarded method in the application, a `FaultToleranceMethod` instance is created, holding all the annotations that affect the method. + +Second, for each `FaultToleranceMethod`, a `FaultToleranceOperation` is created. +That, in turn, creates an instance of all relevant config interfaces. + +Finally, the fault tolerance interceptor looks up a `FaultToleranceOperation` and creates a chain of fault tolerance strategies. +For each fault tolerance strategy in the chain, the interceptor looks up configuration values from the corresponding config interface. + +The chain of fault tolerance strategies is created on the first invocation to a given guarded method and cached for all subsequent invocations. +That is how we satisfy the requirement that all stateful fault tolerance strategies are singletons, but that's a different story. + +== Supplement: Programmatic API + +The description above is slightly simplified for readability. +It is precise enough to describe how configuration works in the declarative, annotation-based API. + +The programmatic API itself supports configuration when used together with `@ApplyGuard`. +However, it doesn't support configuring _all_ strategies; some are built in a different manner and no configuration is possible. + +Therefore, the `FaultToleranceOperation` class described above is actually split into 2 classes: + +* `BasicFaultToleranceOperation`, which is shared for both configuration systems and holds all `Config` objects, +* its subclass `FaultToleranceOperation`, which only applies in case of the declarative API and holds all `ConfigDeclarativeOnly` objects. + +In addition to the description above, implementations of the `Config` interface (but not `ConfigDeclarativeOnly`) also include a `create()` method that takes a `String` identifier and a `Supplier` of the backing annotation instance. +This is supposed to be used to create an instance for configuring the programmatic API, because there's no `FaultToleranceMethod` in such case. +Also, a zero-configuration implementation of the `Config` interface is generated, called `...NoConfigImpl`. +This exists to be able to use the config interface even in the non-`@ApplyGuard` case, where no configuration is possible. diff --git a/content/docs/smallrye-fault-tolerance/6/internals/core.adoc b/content/docs/smallrye-fault-tolerance/6/internals/core.adoc new file mode 100644 index 000000000..271f108a9 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/internals/core.adoc @@ -0,0 +1,123 @@ += Fault Tolerance Core +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/internals.adoc[] + +The core idea in {smallrye-fault-tolerance} is a `FaultToleranceStrategy`. +It is an interface that looks like this: + +[source,java] +---- +interface FaultToleranceStrategy { + Future apply(FaultToleranceContext ctx); +} +---- + +NOTE: The `Future` type here is _not_ a `java.util.concurrent.Future`. +It comes from {smallrye-fault-tolerance} and it could be described as a very bare-bones variant of `CompletableFuture`, except it's split into `Completer` and `Future`. +It is not supposed to be used outside of this project. + +The `FaultToleranceContext` is similar to a `Callable>`; it represents the method invocation guarded by this fault tolerance strategy. +The fault tolerance strategy does its work around `ctx.call()`. +It can catch exceptions, invoke `ctx.call()` multiple times, invoke something else, etc. +As an example, let's consider this strategy, applicable to methods that return a `String`: + +[source,java] +---- +public class MyStringFallback implements FaultToleranceStrategy { + @Override + public Future apply(FaultToleranceContext ctx) { + Completer completer = Completer.create(); + try { + ctx.call().then((value, error) -> { + if (error == null) { + completer.complete(value); + } else { + completer.complete("my string value"); + } + }); + } catch (Exception ignored) { + completer.complete("my string value"); + } + return completer.future(); + } +} +---- + +This is a very simple fallback mechanism, which returns a pre-defined value in case of an exception. + +In the {smallrye-fault-tolerance} codebase, you can find implementations of all the strategies required by {microprofile-fault-tolerance}: retry, fallback, timeout, circuit breaker or bulkhead. +Asynchronous invocation, delegated to a thread pool, is of course also supported. + +When multiple fault tolerance strategies are supposed to be used to guard one method, they form a chain. +Continuing with our simple example, adding the ability to chain with another strategy would look like this: + +[source,java] +---- +public class MyStringFallback implements FaultToleranceStrategy { + private final FaultToleranceStrategy delegate; + + public MyStringFallback(FaultToleranceStrategy delegate) { + this.delegate = delegate; + } + + @Override + public Future apply(FaultToleranceContext ctx) { + Completer completer = Completer.create(); + try { + delegate.apply(ctx).then((value, error) -> { + if (error == null) { + completer.complete(value); + } else { + completer.complete("my string value"); + } + }); + } catch (Exception ignored) { + completer.complete("my string value"); + } + return completer.future(); + } +} +---- + +We see that one strategy delegates to another, passing the `FaultToleranceContext` along. +In fact, all the implementations in {smallrye-fault-tolerance} are written like this: they expect to be used in a chain, so they take another `FaultToleranceStrategy` to which they delegate. +But if all strategies have this form, when is `ctx.call()` actually invoked? +Good question! +The ultimate `ctx.call()` invocation is done by a special fault tolerance strategy which is called, well, `Invocation`. + +As an example which uses real {microprofile-fault-tolerance} annotations, let's consider this method: + +[source,java] +---- +@Retry(...) +@Timeout(...) +@Fallback(...) +public void doSomething() { + ... +} +---- + +The chain of fault tolerance strategies will look roughly like this: + +[source] +---- +Fallback( + Retry( + Timeout( + Invocation( + // ctx.call() will happen here + // that will, in turn, invoke doSomething() + ) + ) + ) +) +---- + +The order in which the strategies are chained (or, in fact, nested) is specified by {microprofile-fault-tolerance}. + +Other strategies might also be present in more complex cases. +For example, if metrics are enabled, a special strategy is used that collects metrics. +If the method is `@Asynchronous`, a special strategy is used that offloads method execution to another thread. +Etc. diff --git a/content/docs/smallrye-fault-tolerance/6/internals/instructions.adoc b/content/docs/smallrye-fault-tolerance/6/internals/instructions.adoc new file mode 100644 index 000000000..2b275e995 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/internals/instructions.adoc @@ -0,0 +1,21 @@ += Instructions +:version-root: ../ +include::{version-root}_attributes.adoc[] + +To compile this project and install the artifacts into local Maven repository, run: + +[source,bash] +---- +mvn clean install +---- + +This will also run all the tests and the TCK. + +You can use + +[source,bash] +---- +mvn clean install -DskipTests +---- + +to skip the tests and make the build a lot faster. diff --git a/content/docs/smallrye-fault-tolerance/6/internals/logging.adoc b/content/docs/smallrye-fault-tolerance/6/internals/logging.adoc new file mode 100644 index 000000000..bacfff5ec --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/internals/logging.adoc @@ -0,0 +1,16 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Logging in {smallrye-fault-tolerance} is based on https://jboss-logging.github.io/jboss-logging-tools/[JBoss Logging Tools] (see also https://github.com/smallrye/smallrye/wiki/I18N-Messages-and-Logging[SmallRye instructions]). +It's an annotation processor that takes annotated interfaces and generates logger implementations with out of the box support for message codes and internationalization. +We use a project code of `SRFTL`. +Message codes are divided into ranges that are defined in the `message-ranges.txt` file in the root directory. + +In addition to logging, JBoss Logging Tools can also be used for creating exceptions, again, with out of the box support for message codes and internationalization. +Contrary to both documentation sites mentioned above, it _is_ possible to mix logging and exceptions in a single interface, as demonstrated by `CdiLogger`. +However, {smallrye-fault-tolerance} doesn't use this feature yet, with the exception of a few methods in `CdiLogger`. +This should be rectified in the future. + +Note that `DEBUG` and `TRACE` logging doesn't need message codes or internationalization, so we usually don't declare logger methods for them, unless the log message requires parameters. +We still declare the logger interface, let it extend `BasicLogger` and use the singleton instance to log plain ``String``s. diff --git a/content/docs/smallrye-fault-tolerance/6/internals/project-structure.adoc b/content/docs/smallrye-fault-tolerance/6/internals/project-structure.adoc new file mode 100644 index 000000000..4006ad846 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/internals/project-structure.adoc @@ -0,0 +1,39 @@ += Project Structure +:version-root: ../ +include::{version-root}_attributes.adoc[] + +* `api`: {smallrye-fault-tolerance} API, additional to the {microprofile-fault-tolerance} API. + Treated as a public API. +* `implementation/core`: Implementation of core fault tolerance strategies. + Independent of the {microprofile-fault-tolerance} API or the {smallrye-fault-tolerance} API. + Treated as private API, no compatibility guaranteed. +* `implementation/apiimpl`: Implementation of the programmatic API. + Based on the `core` module. + Treated as private API, no compatibility guaranteed. +* `implementation/fault-tolerance`: Implementation of the {microprofile-fault-tolerance} API and the {smallrye-fault-tolerance} API. + Based on CDI and the `core` module. + The configuration system is based on the `autoconfig` module. +* `implementation/autoconfig/core`: Core classes of the {smallrye-fault-tolerance} configuration system. + Required at runtime. +* `implementation/autoconfig/processor`: An annotation processor that generates implementations of config interfaces. + Only required during {smallrye-fault-tolerance} build. +* `implementation/context-propagation`: Optional integration with MicroProfile Context Propagation. + See xref:integration/context-propagation.adoc[Context Propagation integration]. +* `implementation/kotlin`: Optional integration with Kotlin. + See xref:integration/kotlin.adoc[Kotlin Integration Concerns]. +* `implementation/mutiny`: Optional integration with Mutiny. + See xref:integration/async-types.adoc[Additional Asynchronous Types Integration Concerns]. +* `implementation/rxjava3`: Optional integration with RxJava 3. + See xref:integration/async-types.adoc[Additional Asynchronous Types Integration Concerns]. +* `implementation/standalone`: Standalone implementation of the {smallrye-fault-tolerance} programmatic API. + See xref:integration/programmatic-api.adoc[Programmatic API Integration Concerns]. +* `implementation/tracing-propagation`: Optional integration between MicroProfile Context Propagation and OpenTracing. + See xref:integration/opentracing.adoc[OpenTracing integration]. +* `implementation/vertx`: Optional integration of the Vert.x event loop and Vert.x `Future`. + See xref:integration/event-loop.adoc[Event Loop integration] and xref:integration/async-types.adoc[Additional Asynchronous Types Integration Concerns]. +* `testsuite/basic`: Basic test suite. + Some parts of it overlap with the Eclipse MicroProfile Fault Tolerance TCK. +* `testsuite/integration`: Integration test suite. + Includes several Context Propagation and Vert.x tests. +* `testsuite/tck`: Runs the implementation against the Eclipse MicroProfile Fault Tolerance TCK. +* `doc`: This documentation. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/asynchronous.adoc b/content/docs/smallrye-fault-tolerance/6/reference/asynchronous.adoc new file mode 100644 index 000000000..64507ae60 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/asynchronous.adoc @@ -0,0 +1,277 @@ += Asynchronous Execution +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/asynchronous.adoc[How to Guard Asynchronous Methods]. +The how-to guide also explains what _asynchronous fault tolerance_ is and when does it apply. + +== Description + +=== `@Asynchronous` + +This annotation may only be placed on methods that return `java.util.concurrent.Future` or java.util.concurrent.`CompletionStage`. +It may also be placed on a class, in which case all business methods must return `Future` or `CompletionStage`. + +The method call is offloaded to another thread. +The thread pool that is used for offloading method calls is provided by the runtime that integrates {smallrye-fault-tolerance}. + +=== `@AsynchronousNonBlocking` + +include::{partialsdir}/srye-feature.adoc[] + +In addition to the {microprofile-fault-tolerance} `@Asynchronous` annotation, {smallrye-fault-tolerance} offers an annotation for asynchronous non-blocking processing: `@AsynchronousNonBlocking`. + +This annotation may only be placed on methods that return `CompletionStage`, because the `Future` type cannot really be used for non-blocking processing. +It may also be placed on a class, in which case all business methods must return `CompletionStage`. + +As opposed to `@Asynchronous`, the `@AsynchronousNonBlocking` annotation does _not_ offload the method execution to another thread. +The method is allowed to proceed on the original thread, assuming that it returns quickly and all processing it does is performed in a non-blocking way. + +=== `@Asynchronous` and `@AsynchronousNonBlocking` Compared + +|=== +|Annotation |Method return type |Execution + +|`@Asynchronous` +|`Future` or `CompletionStage` +|offloaded to a thread pool + +|`@AsynchronousNonBlocking` +|`CompletionStage` +|proceeds on the original thread +|=== + +=== `@Asynchronous` and `@AsynchronousNonBlocking` Combined + +When these annotations are combined, an annotation on a method has priority over an annotation on a class. +For example: + +[source,java] +---- +@ApplicationScoped +@Asynchronous +public class MyService { + @Retry + CompletionStage hello() { // <1> + ... + } + + @Retry + @AsynchronousNonBlocking + CompletionStage helloBlocking() { // <2> + ... + } +} +---- + +<1> Treated as `@Asynchronous`, based on the class annotation. +<2> Treated as `@AsynchronousNonBlocking`, the method annotation has priority over the class annotation. + +It is an error to put both `@Asynchronous` and `@AsynchronousNonBlocking` on the same program element. + +[[recommendation]] +=== Recommendation + +Use the <>. +In this mode, methods returning `CompletionStage` are automatically treated as if they were `@AsynchronousNonBlocking`. +Use `@Asynchronous` to mark blocking methods for thread offload. + +If you can't use the non-compatible mode, use `@AsynchronousNonBlocking` or `@Asynchronous` to mark all asynchronous methods. + +IMPORTANT: In previous releases, {smallrye-fault-tolerance} recommended to use the `@Blocking` and `@NonBlocking` annotations. +Using these annotations *for fault tolerance purposes* is now deprecated. +They are still supported, but at some point, {smallrye-fault-tolerance} will stop recognizing them. + +We also recommend avoiding `@Asynchronous` methods that return `Future`, because the only way to obtain the future value is blocking. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +=== `@Asynchronous` + +`@Asynchronous` does not interact with other fault tolerance strategies, with the obvious exception that it moves execution to another thread. + +=== `@AsynchronousNonBlocking` + +If the guarded method uses `@Retry` and some delay between retries is configured, only the initial execution is guaranteed to occur on the original thread. +Subsequent attempts may be offloaded to an extra thread, so that the original thread is not blocked on the delay. + +If the guarded method uses `@Bulkhead`, the execution is _not_ guaranteed to occur on the original thread. +If the execution has to wait in the bulkhead queue, it may later end up on a different thread. + +If the original thread is an event loop thread and event loop integration is enabled, then the event loop is always used to execute the guarded method. +In such case, all retry attempts and queued bulkhead executions are guaranteed to happen on the original thread. + +[[configuration]] +== Configuration + +There is no configuration for `@Asynchronous` or `@AsynchronousNonBlocking`. + +[[metrics]] +== Metrics + +Asynchronous execution does not emit any metrics. + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. + +== Extra Features + +[[async-types]] +=== Additional Asynchronous Types + +include::{partialsdir}/srye-feature.adoc[] + +{microprofile-fault-tolerance} supports asynchronous fault tolerance for methods that return `CompletionStage`. +(The `java.util.concurrent.Future` type is not truly asynchronous, so we won't take it into account here.) +{smallrye-fault-tolerance} adds support for additional asynchronous types: + +* Mutiny: `Uni` +* RxJava 3: `Single`, `Maybe`, `Completable` +* Vert.x: `io.vertx.core.Future` + +These types are treated just like `CompletionStage`, so everything that works for `CompletionStage` works for these types as well. +Stream-like types (`Multi`, `Observable`, `Flowable`) are not supported, because their semantics can't be easily expressed in terms of `CompletionStage`. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @AsynchronousNonBlocking // <1> + Uni hello() { // <2> + ... + } +} +---- + +<1> Using the `@AsynchronousNonBlocking` annotation, because the method doesn't block and offloading execution to another thread is not necessary. +<2> Returning the `Uni` type from Mutiny. +This shows that whatever works for `CompletionStage` also works for the other async types. + +The implementation internally converts the async types to a `CompletionStage` and back. +This means that to be able to use any particular asynchronous type, the corresponding converter must be present. +{smallrye-fault-tolerance} provides support libraries for popular asynchronous types, and these support libraries include the corresponding converters. + +It is possible that the runtime you use already provides the correct integration. +Otherwise, add a dependency to your application: + +* https://smallrye.io/smallrye-mutiny/[Mutiny]: `io.smallrye:smallrye-fault-tolerance-mutiny` +* https://github.com/ReactiveX/RxJava/tree/3.x[RxJava 3]: `io.smallrye:smallrye-fault-tolerance-rxjava3` +* https://vertx.io/docs/vertx-core/java/#_future_results[Vert.x `Future`]: `io.smallrye:smallrye-fault-tolerance-vertx` + +.Quarkus +**** +In Quarkus, the Mutiny and Vert.x support libraries are present by default. +You can use fault tolerance on methods that return `Uni` (and Vert.x `Future`) out of the box. +**** + +[[kotlin-suspend-functions]] +=== Kotlin `suspend` Functions + +include::{partialsdir}/srye-feature.adoc[] + +{smallrye-fault-tolerance} includes support for Kotlin suspending functions. +They are treated as <>, even though the internal implementation is more complex than support for Mutiny or RxJava 3. + +For example: + +[source,kotlin] +---- +@ApplicationScoped +open class MyService { + @Retry(maxRetries = 2) + @Fallback(fallbackMethod = "helloFallback") + open suspend fun hello(): String { // <1> + delay(100) + throw IllegalArgumentException() + } + + private suspend fun helloFallback(): String { // <2> + delay(100) + return "hello" + } +} +---- + +<1> As a suspending function, this method can only be called from another suspending function. +It will be guarded by the retry and fallback strategies, as defined using the annotations. +<2> Similarly to fallback methods in Java, fallback methods in Kotlin must have the same signature as the guarded method. +Since the guarded method is suspending, the fallback method must be suspending. + +As mentioned above, suspending functions are treated as async types. +This means that for asynchronous fault tolerance to work correctly on suspending functions, they must be determined to be asynchronous. +That happens automatically in the <>, based on the method signature, but if you use strictly compatible mode, the `@Asynchronous` or `@AsynchronousNonBlocking` annotation must be present. +It is expected that most users will use the Kotlin support in the non-compatible mode, so the example above does not include any such annotation. + +To be able to use this, a support library must be present. +It is possible that the runtime you use already provides the correct integration. +Otherwise, add a dependency to your application: `io.smallrye:smallrye-fault-tolerance-kotlin`. + +.Quarkus +**** +In Quarkus, the Kotlin support library is present by default, if you use the Quarkus Kotlin support. +You can declare fault tolerance annotations on suspending methods out of the box. +**** + +==== Programmatic API + +Suspending functions are currently only supported in the declarative, annotation-based API, as shown in the example above. +The xref:reference/programmatic-api.adoc[Programmatic API] of {smallrye-fault-tolerance} does not support suspending functions, but other than that, it can of course be used from Kotlin through its Java interop. + +[[method-asynchrony]] +=== Determining Asynchrony from Method Signature + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +In the non-compatible mode, method asynchrony is determined solely from its signature. +That is, methods that + +* have some fault tolerance annotation (such as `@Retry`), +* return `CompletionStage` (or some other <>), + +always have asynchronous fault tolerance applied. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + CompletionStage hello() { // <1> + ... + } + + @Retry + Uni helloMutiny() { // <2> + ... + } + + @Retry + @Asynchronous + CompletionStage helloBlocking() { // <3> + ... + } +} +---- + +<1> Executed on the original thread, because the method returns `CompletionStage`. +It is as if the method was annotated `@AsynchronousNonBlocking`. +<2> Executed on the original thread, because the method returns an <>. +It is as if the method was annotated `@AsynchronousNonBlocking`. +<3> The explicit `@Asynchronous` annotation is honored. +The method is executed on a thread pool. + +Note that the existing annotations still work without a change, both in compatible and non-compatible mode. +That is, if a method (or class) is annotated `@Asynchronous`, execution will be offloaded to a thread pool. +If a method (or class) is annotated `@AsynchronousNonBlocking`, execution will happen on the original thread. + +Also note that this doesn't affect methods returning `java.util.concurrent.Future`. +You still have to annotate them `@Asynchronous` to make sure they are executed on a thread pool and are guarded properly. +As mentioned in the <>, we discourage using these methods, because the only way to obtain the future value is blocking. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/bulkhead.adoc b/content/docs/smallrye-fault-tolerance/6/reference/bulkhead.adoc new file mode 100644 index 000000000..a12b417d5 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/bulkhead.adoc @@ -0,0 +1,143 @@ += Bulkhead +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/bulkhead.adoc[How to Limit Concurrency]. + +== Description + +If a guarded method is called by too many callers concurrently, the excess attempts will fail with `BulkheadException`. + +If the guarded method is `@Asynchronous` or `@AsynchronousNonBlocking`, excess attempts are first put into a queue. +The queued attempts are executed later. +When the queue becomes full, excess attempts are rejected with `BulkheadException`. + +=== Lifecycle + +Bulkhead needs to maintain some state between invocations: the number of current executions and the queue of asynchronous executions. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@Bulkhead` annotation. + +More specifically, the bulkhead state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same bulkhead state. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@Bulkhead`, the fallback method or handler may be invoked if a `BulkheadException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@Bulkhead`, each retry attempt is processed by the bulkhead as an independent invocation. +If `BulkheadException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@Bulkhead`, the circuit breaker is checked before enforcing the concurrency limit. +If concurrency limiting results in `BulkheadException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +If `@RateLimit` is used with `@Bulkhead`, the rate limit is enforced before enforcing the concurrency limit. + +If `@Timeout` is used with `@Bulkhead`, the timeout watcher is started before enforcing the concurrency limit. + +[[configuration]] +== Configuration + +There are 2 configuration options, corresponding to the 2 members of the `@Bulkhead` annotation. + +=== `value` + +Type: `int` + +Default: `10` + +The concurrency limit. + +=== `waitingTaskQueue` + +Type: `int` + +Default: `10` + +The size of queue for excess attempts. +Only effective when the method is `@Asynchronous` or `@AsynchronousNonBlocking`. +See xref:reference/asynchronous.adoc[the Asynchronous Execution reference guide]. + +[[metrics]] +== Metrics + +Bulkhead exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.calls.total` +| Type +a| * MP Metrics: `Counter` +* OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the bulkhead logic was run. This is usually once per method call, but may be zero times if the circuit breaker or rate limit prevented execution or more than once if the method call was retried. +| Tags +a| * `method` - the fully qualified method name +* `bulkheadResult` = `[accepted\|rejected]` - whether the bulkhead allowed the method call to run +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.executionsRunning` +| Type +a| * MP Metrics: `Gauge` +* OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | Number of currently running executions. +| Tags +a| * `method` - the fully qualified method name +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.executionsWaiting` +| Type +a| * MP Metrics: `Gauge` +* OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | Number of executions currently waiting in the queue. +| Tags +a| * `method` - the fully qualified method name +| Notes | Only added if the method is also `@Asynchronous` or `@AsynchronousNonBlocking` +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.runningDuration` +| Type +a| * MP Metrics: `Histogram` +* OpenTelemetry: `DoubleHistogram` with explicit bucket boundaries `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]` +* Micrometer: `Timer` +| Unit +a| * MP Metrics: nanoseconds +* OpenTelemetry: seconds +* Micrometer: nanoseconds +| Description | Histogram of the time that method executions spent running. +| Tags +a| * `method` - the fully qualified method name +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.waitingDuration` +| Type +a| * MP Metrics: `Histogram` +* OpenTelemetry: `DoubleHistogram` with explicit bucket boundaries `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]` +* Micrometer: `Timer` +| Unit +a| * MP Metrics: nanoseconds +* OpenTelemetry: seconds +* Micrometer: nanoseconds +| Description | Histogram of the time that method executions spent waiting in the queue. +| Tags +a| * `method` - the fully qualified method name +| Notes | Only added if the method is also `@Asynchronous` or `@AsynchronousNonBlocking` +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/circuit-breaker.adoc b/content/docs/smallrye-fault-tolerance/6/reference/circuit-breaker.adoc new file mode 100644 index 000000000..c71bcfc2c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/circuit-breaker.adoc @@ -0,0 +1,288 @@ += Circuit Breaker +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/circuit-breaker.adoc[How to Fail Fast on Recurring Failures]. + +== Description + +The circuit breaker is a simple state machine: + +[.has-dark] +image::images/diagrams/mermaid-f40d3cbcabca.svg[circuit-breaker] + +The circuit breaker starts _closed_. +In this state, the circuit breaker maintains a rolling window of recent invocations. +For each invocation, the rolling window tracks whether it finished successfully or failed. + +The rolling window must be full to take any state transition decision. +For example, if the rolling window has size 10, a closed circuit breaker always allows at least 10 invocations. + +If the rolling window contains a number of failures higher than the configured ratio, a closed circuit breaker moves to _open_. +When the circuit breaker is open, invocations are not allowed to proceed. +Instead, the circuit breaker fails fast and throws `CircuitBreakerOpenException`. + +For example, if the rolling window has size 10 and the failure rate is 0.5, it means that 5 invocations out of the most recent 10 invocations must fail for the circuit breaker to move to _open_. + +After some time, an open circuit breaker moves to _half-open_ to determine whether failing fast is still appropriate. +A half-open circuit breaker allows some configured number of probe attempts to proceed. +If all of them succeed, the circuit breaker moves to _closed_ and invocations are allowed again. +If some probe invocations fail, the circuit breaker moves back to _open_ and invocations are prevented. + +Successes and failures are determined from the method result. +More specifically: + +. If the guarded method returns normally, it is treated as success. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `skipOn` types (see <>), it is treated as success. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `failOn` types (see <>), it is treated as failure. +. Otherwise, it is treated as success. + +=== Lifecycle + +Circuit breaker needs to maintain some state between invocations: the number of recent successful invocations, the number of recent failed invocations, and so on. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@CircuitBreaker` annotation. + +More specifically, the circuit breaker state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same circuit breaker state. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@CircuitBreaker`, the fallback method or handler may be invoked if a `CircuitBreakerOpenException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@CircuitBreaker`, each retry attempt is processed by the circuit breaker as an independent invocation. +If `CircuitBreakerOpenException` is thrown, the execution may be retried, depending on how retry is configured. + +[[configuration]] +== Configuration + +There are 7 configuration options, corresponding to the 7 members of the `@CircuitBreaker` annotation. + +=== `requestVolumeThreshold` + +Type: `int` + +Default: `20` + +The size of the rolling window. +That is, the number of recent consecutive invocations tracked by a _closed_ circuit breaker. + +=== `failureRatio` + +Type: `double` + +Default: `0.5` + +The ratio of failures in the rolling window that causes a _closed_ circuit breaker to move to _open_. + +=== `delay` + `delayUnit` + +Type: `long` + `ChronoUnit` + +Default: `5000 millis`, or 5 seconds + +The delay after which an _open_ circuit breaker moves to _half-open_. + +=== `successThreshold` + +Type: `int` + +Default: `1` + +The number of probe invocations allowed when the circuit breaker is _half-open_. +If they all succeed, the circuit breaker moves to _closed_, otherwise it moves back to _open_. + +[[fail-on]] +=== `failOn` + +Type: `Class[]` + +Default: `{Throwable.class}` + +Set of exception types that the circuit breaker considers failures. + +[[skip-on]] +=== `skipOn` + +Type: `Class[]` + +Default: `{}` + +Set of exception types that the circuit breaker considers success. +This configuration takes precedence over `failOn`. + +[[metrics]] +== Metrics + +Circuit breaker exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.calls.total` +| Type +a| * MP Metrics: `Counter` +* OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the circuit breaker logic was run. This is usually once per method call, but may be more than once if the method call is retried. +| Tags +a| * `method` - the fully qualified method name +* `circuitBreakerResult` = `[success\|failure\|circuitBreakerOpen]` - the result of the method call, as considered by the circuit breaker +** `success` - the method ran and was successful +** `failure` - the method ran and failed +** `circuitBreakerOpen` - the method did not run because the circuit breaker was in open or half-open state +|=== + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.state.total` +| Type +a| * MP Metrics: `Gauge` +* OpenTelemetry: `LongCounter` +* Micrometer: `TimeGauge` +| Unit +a| * MP Metrics: nanoseconds +* OpenTelemetry: nanoseconds +* Micrometer: nanoseconds +| Description | Amount of time the circuit breaker has spent in each state +| Tags +a| * `method` - the fully qualified method name +* `state` = `[open\|closed\|halfOpen]` - the circuit breaker state +| Notes | Although this metric is a `Gauge`, its value increases monotonically. +|=== + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.opened.total` +| Type +a| * MP Metrics: `Counter` +* OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | Number of times the circuit breaker has moved from closed state to open state +| Tags +a| * `method` - the fully qualified method name +|=== + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.state.current` +2+a| +include::{partialsdir}/srye-feature.adoc[] +| Type +a| * MP Metrics: `Gauge` +* OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | Whether the circuit breaker is currently in given state (`1`) or not (`0`) +| Tags +a| * `method` - the fully qualified method name +* `state` = `[open\|closed\|halfOpen]` - the circuit breaker state +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. + +== Extra Features + +=== Circuit Breaker Maintenance + +include::{partialsdir}/srye-feature.adoc[] + +It is sometimes useful to see the circuit breaker status from within the application, or reset it to the initial state. +This is possible in two steps: + +. Give the circuit breaker a name by annotating the guarded method with `@CircuitBreakerName`: ++ +[source,java] +---- +@ApplicationScoped +public class MyService { + @CircuitBreaker + @CircuitBreakerName("hello-cb") // <1> + public String hello() { + ... + } +} +---- ++ +<1> The circuit breaker guarding the `MyService.hello` method is given a name `hello-cb`. +. Inject `CircuitBreakerMaintenance` and call its methods: ++ +[source,java] +---- +@ApplicationScoped +public class Example { + @Inject + CircuitBreakerMaintenance maintenance; + + public void test() { + System.out.println("Circuit breaker state: " + + maintenance.currentState("hello-cb")); // <1> + maintenance.resetAll(); // <2> + } +} +---- ++ +<1> Obtains current circuit breaker state. +<2> Resets all circuit breakers to the initial state. + +The `CircuitBreakerMaintenance` interface provides 4 methods: + +. `currentState(name)`: returns current state of given circuit breaker. +The return type `CircuitBreakerState` is an `enum` with 3 values: `CLOSED`, `OPEN`, `HALF_OPEN`. +. `onStateChange(name, callback)`: registers a callback that will be called when given circuit breaker changes state. +. `reset(name)`: resets given circuit breaker to the initial state. +. `resetAll()`: resets all circuit breakers in the application to the initial state. + +See the javadoc of those methods for more information. + +[[inspecting-exception-cause-chains]] +=== Inspecting Exception Cause Chains + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +The `@CircuitBreaker` annotation can specify that certain exceptions should be treated as failures (`failOn`) and others as successes (`skipOn`). +The specification limits this to inspecting the actual exception that was thrown. +However, in many cases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +For that reason, in the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@CircuitBreaker` method throws an exception, the decision process is: + +1. If the `skipOn` exceptions are not default and the exception is assignable to one of the `skipOn` exceptions, the circuit breaker treats it as a success. +2. Otherwise, if the `failOn` exceptions are not default and the exception is assignable to one of the `failOn` exceptions, the circuit breaker treats it as a failure. +3. Otherwise, if the exception is assignable to one of the `skipOn` exceptions or its cause chain contains an exception assignable to one of the `skipOn` exceptions, the circuit breaker treats it as a success. +4. Otherwise, if the exception is assignable to one of the `failOn` exceptions or its cause chain contains an exception assignable to one of the `failOn` exceptions, the circuit breaker treats it as a failure. +5. Otherwise, the exception is treated as a success. + +For example: + +[source,java] +---- +@CircuitBreaker(requestVolumeThreshold = 10, + skipOn = ExpectedOutcomeException.class, // <1> + failOn = IOException.class) // <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, the circuit breaker treats it as a success. +<2> If `doSomething` throws an `IOException`, or a `WrapperException` whose cause is `IOException`, the circuit breaker treats it as a failure. + +[source,java] +---- +@CircuitBreaker(requestVolumeThreshold = 10, + skipOn = ExpectedOutcomeException.class) // <1> <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, the circuit breaker treats it as a success. +<2> There's no `failOn`, so the 2nd step in the algorithm above is skipped. +This is what turns the `WrapperException` whose cause is `ExpectedOutcomeException` into a success. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/config.adoc b/content/docs/smallrye-fault-tolerance/6/reference/config.adoc new file mode 100644 index 000000000..7a9288a12 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/config.adoc @@ -0,0 +1,207 @@ += Configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The fault tolerance strategies are primarily configured using annotations. +This is convenient, but changing such configuration requires recompilation. +For that reason, configuration using MicroProfile Config is also possible. + +NOTE: The configuration system of {microprofile-fault-tolerance}, as described in this guide, also applies to annotations defined by {smallrye-fault-tolerance}. + +== Annotation on Method + +The annotation may be present on a method: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 10, retryOn = IOException.class) // <1> + public String hello() { + ... + } +} +---- + +<1> Retries will only be attempted if the thrown exception was `IOException`. +Other exceptions will be rethrown directly. +Also, the maximum number of retry attempts is changed to 10 (the default is 3). + +To change the `maxRetries` property using MicroProfile Config, set: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService/hello".retry.max-retries=5 + +# alternatively, a specification-defined property can be used +com.example.MyService/hello/Retry/maxRetries=5 +---- + +== Annotation on Class + +The annotation may be present on a class, in which case it applies to all business method in the class: + +[source,java] +---- +package com.example; + +@ApplicationScoped +@Retry(maxRetries = 10, retryOn = IOException.class) // <1> +public class MyService { + public String hello() { + ... + } +} +---- +<1> The `hello()` method will use the `@Retry` strategy, as configured in this annotation. + +A class-level annotation may be overridden by explicitly annotating a method. + +The MicroProfile Config configuration property doesn't include the method name in this case: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService".retry.max-retries=5 + +# alternatively, a specification-defined property can be used +com.example.MyService/Retry/maxRetries=5 +---- + +[IMPORTANT] +==== +Attempting to configure some property for a method or a class which does not have the annotation has no effect. + +* If the annotation is present on a method, the configuration property must target the method. +* If the annotation is present on a class, the configuration property must target the class. +==== + +== Global Configuration + +It is also possible to reconfigure some property for all annotations in the application. +For example: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.max-retries=5 + +# alternatively, a specification-defined property can be used +Retry/maxRetries=5 +---- + +All `@Retry` annotations in the application will be considered to have `maxRetries` set to `5`. + +== Configuration Priority + +The most specific configuration has priority over more general configuration. + +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +@Retry(maxRetries = 5) +public class MyService { + public String simpleHello() { + ... + } + + @Retry(maxRetries = 10) + public String complexHello() { + ... + } +} +---- + +The following configuration: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.max-retries=30 +smallrye.faulttolerance."com.example.MyService".retry.max-retries=15 +smallrye.faulttolerance."com.example.MyService/complexHello".retry.max-retries=20 + +# alternatively, specification-defined properties can be used +Retry/maxRetries=30 +com.example.MyService/Retry/maxRetries=15 +com.example.MyService/complexHello/Retry/maxRetries=20 +---- + +Has the following effects: + +* `MyService.complexHello()` has `maxRetries` set to `20`. +* `MyService.simpleHello()` has `maxRetries` set to `15`. +* Other `@Retry` methods in the application have `maxRetries` set to `30`. + +== Disabling Fault Tolerance + +It is possible to disable certain fault tolerance annotation on some method, if the annotation is present on the method: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService/hello".retry.enabled=false + +# alternatively, a specification-defined property can be used +com.example.MyService/hello/Retry/enabled=false +---- + +Or on some class, if the annotation is present on the class: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService".retry.enabled=5 + +# alternatively, a specification-defined property can be used +com.example.MyService/Retry/enabled=false +---- + +Or globally: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.enabled=false + +# alternatively, a specification-defined property can be used +Retry/enabled=false +---- + +It is also possible to disable all fault tolerance completely: + +[source,properties] +---- +smallrye.faulttolerance.enabled=false + +# alternatively, a specification-defined property can be used +MP_Fault_Tolerance_NonFallback_Enabled=false +---- + +This will leave only fallbacks enabled, all other annotations will be disabled. + +== {smallrye-fault-tolerance} Configuration Properties + +As demonstrated in the examples above, {smallrye-fault-tolerance} provides its own configuration properties, in addition to the specification-defined properties. +The specification-defined properties can of course be used, but the {smallrye-fault-tolerance} configuration properties have higher priority. + +The mapping is relatively straightforward: + +- `///` moves to `smallrye.faulttolerance."/"..` +- `//` moves to `smallrye.faulttolerance.""..` +- `/` moves to `smallrye.faulttolerance.global..` + +All the `` and `` parts are changed from camel case (`BeforeRetry`, `methodName`) to kebab case (`before-retry`, `method-name`). +Two annotation members are special cased to improve consistency: + +- `Retry/durationUnit` moves to `retry.max-duration-unit`, because the value property is called `maxDuration` (`max-duration`) +- `Retry/jitterDelayUnit` moves to `retry.jitter-unit`, because the value property is called `jitter` + +Further: + +- `MP_Fault_Tolerance_NonFallback_Enabled` moves to `smallrye.faulttolerance.enabled` +- `MP_Fault_Tolerance_Metrics_Enabled` moves to `smallrye.faulttolerance.metrics.enabled` + +== Links + +Configuration is described in detail in the {microprofile-fault-tolerance-url}#configuration[{microprofile-fault-tolerance} specification]. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/fallback.adoc b/content/docs/smallrye-fault-tolerance/6/reference/fallback.adoc new file mode 100644 index 000000000..af6316c15 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/fallback.adoc @@ -0,0 +1,302 @@ += Fallback +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/fallback.adoc[How to Supply Fallback Values]. + +== Description + +If a guarded method throws an exception, fallback will prevent that exception from being propagated to the caller. +Instead, a fallback method or fallback handler is called and their result is returned. + +More specifically: + +. If the guarded method returns normally, its return value is returned. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `skipOn` types (see <>), the exception is rethrown. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `applyOn` types (see <>), the fallback value is obtained and returned. +. Otherwise, the exception is rethrown. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used, the fallback method or handler may be invoked if other fault tolerance strategies throw an exception, depending on the fallback configuration. + +[[configuration]] +== Configuration + +There are 4 configuration options, corresponding to the 4 members of the `@Fallback` annotation. + +Exactly one of `value` or `fallbackMethod` must be set explicitly, they don't have a useful default value. + +=== `value` + +Type: `Class>` + +Default: empty + +Class of the fallback handler implementation that should be used to obtain the fallback value. +When this is set, the `fallbackMethod` must be left empty. + +The fallback handler class must implement the `FallbackHandler` interface. +The type argument to `FallbackHandler` must be assignable to the return type of the guarded method. +For example, if the guarded method returns `Number`, the fallback handler may implement `FallbackHandler` or `FallbackHandler`. + +=== `fallbackMethod` + +Type: `String` + +Default: empty + +Name of the fallback method that should be used to obtain the fallback value. +When this is set, the `value` must be left empty. + +The fallback method must be declared directly on the class where the guarded method is declared, or must be inherited from any of the class's supertypes. +The fallback method must have the same parameter types as the guarded method. +The fallback method must have a return type that is assignable to the return type of the guarded method. +For example, if the guarded method returns `Number`, the fallback method may return `Number` or `Integer`. + +[[apply-on]] +=== `applyOn` + +Type: `Class[]` + +Default: `{Throwable.class}` + +Set of exception types to which fallback applies. + +[[skip-on]] +=== `skipOn` + +Type: `Class[]` + +Default: `{}` + +Set of exception types to which fallback does _not_ apply. +This configuration takes precedence over `applyOn`. + +[[metrics]] +== Metrics + +Fallback does not emit any metrics on its own. + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. +Fallback is included in the overall method invocation metric described there. + +== Extra Features + +[[fallback-methods-with-exception-parameter]] +=== Fallback Methods with Exception Parameter + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +{smallrye-fault-tolerance} provides access to the causing exception in a fallback method. + +A fallback method, as defind by the {microprofile-fault-tolerance} specification, must have the same parameters as the guarded method. +{smallrye-fault-tolerance} permits defining one additional parameter, at the end of the parameter list, which must be of an exception type. +If such parameter is defined, the exception that caused the fallback will be supplied in it. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { // <1> + ... + } +} +---- + +<1> The fallback method matches the guarded method signature, except for one additional parameter at the end. + +All rules of {microprofile-fault-tolerance} specification related to looking up fallback methods still apply. +That is, the return types must match, the parameter types must match (with this one exception), etc. + +If the thrown exception is not assignable to the exception parameter type, it is rethrown as if no fallback was declared. +In the previous example, if `IllegalStateException` was thrown, the fallback method would not be called, as `IllegalStateException` is not a subtype of `IllegalArgumentException`. + +If the guarded method has a vararg parameter and you want to declare a fallback method with an exception parameter, simply replace the vararg syntax with an array type: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String... params) { + ... + } + + public String fallback(String[] params, IllegalArgumentException cause) { + ... + } +} +---- + +==== Multiple Fallback Methods with Exception Parameter + +It is possible to declare multiple overloads of the fallback method, each having different type of the exception parameter: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } +} +---- + +In that case, which fallback method is called depends on the type of thrown exception. +The method that declares a most-specific supertype of the actual exception is selected. + +In the previous example, if `IllegalArgumentException` was thrown by `doSomething`, the first fallback method would be called. +If `IllegalStateException` was thrown, the second fallback method would be called. + +If the thrown exception is not assignable to the exception parameter type of any fallback method, it is rethrown as if no fallback was declared. + +==== Fallback Methods with and without Exception Parameter + +It is possible to declare the fallback method with and without an exception parameter at the same time: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } + + public String fallback(String param) { + ... + } +} +---- + +The fallback methods with an exception parameter have precedence. +The fallback method without an exception parameter is only called if the thrown exception is not assignable to any declared exception parameter. + +==== Interactions with `applyOn` / `skipOn` + +The presence or absence of a fallback method with specific exception parameter may seem related to the usage of `applyOn` / `skipOn` on the `@Fallback` annotation, but in fact, it is not. +These features are completely independent. + +Simply put, the `applyOn` / `skipOn` configuration is always evaluated first. +A fallback method is only selected and invoked when this configuration indicates that a fallback should apply. + +If `@Fallback` is configured to skip `IllegalStateException` and `IllegalStateException` is thrown, no fallback method is invoked. +That applies even if a fallback method with a matching exception parameter exists. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback", skipOn = IllegalStateException.class) + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } + + public String fallback(String param) { + ... + } +} +---- + +In this case: + +- if `doSomething` throws `IllegalArgumentException`, the first fallback method is called; +- if `doSomething` throws `IllegalStateException`, no fallback method is called, because this exception type is skipped; +- if `doSomething` throws any other `RuntimeException`, the second fallback method is called; +- if `doSomething` throws any other exception, the last fallback method is called. + +[[inspecting-exception-cause-chains]] +=== Inspecting Exception Cause Chains + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +The `@Fallback` annotation can specify that certain exceptions should be treated as failures (`applyOn`) and others as successes (`skipOn`). +The specification limits this to inspecting the actual exception that was thrown. +However, in many cases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +For that reason, in the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@Fallback` method throws an exception, the decision process is: + +1. If the `skipOn` exceptions are not default and the exception is assignable to one of the `skipOn` exceptions, fallback is skipped and the exception is rethrown. +2. Otherwise, if the `applyOn` exceptions are not default and the exception is assignable to one of the `applyOn` exceptions, fallback is applied. +3. Otherwise, if the exception is assignable to one of the `skipOn` exceptions or its cause chain contains an exception assignable to one of the `skipOn` exceptions, fallback is skipped and the exception is rethrown. +4. Otherwise, if the exception is assignable to one of the `applyOn` exceptions or its cause chain contains an exception assignable to one of the `applyOn` exceptions, fallback is applied. +5. Otherwise, the exception is rethrown. + +For example: + +[source,java] +---- +@Fallback(fallbackMethod = "fallback", + skipOn = ExpectedOutcomeException.class, // <1> + applyOn = IOException.class) // <2> +public Result doSomething() { + ... +} + +public Result fallback() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, fallback is skipped and the exception is thrown. +<2> If `doSomething` throws an `IOException`, or a `WrapperException` whose cause is `IOException`, fallback is applied. + +[source,java] +---- +@Fallback(fallbackMethod = "fallback", + skipOn = ExpectedOutcomeException.class) // <1> <2> +public Result doSomething() { + ... +} + +public Result fallback() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, fallback is skipped and the exception is thrown. +<2> There's no `applyOn`, so the 2nd step in the algorithm above is skipped. +This is what turns the `WrapperException` whose cause is `ExpectedOutcomeException` into a skipped fallback. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/metrics.adoc b/content/docs/smallrye-fault-tolerance/6/reference/metrics.adoc new file mode 100644 index 000000000..3aae5532e --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/metrics.adoc @@ -0,0 +1,114 @@ += Metrics +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} exposes metrics, as {microprofile-fault-tolerance-url}#_integration_with_microprofile_metrics_and_microprofile_telemetry[specified] by {microprofile-fault-tolerance}. + +[[general]] +== General Metrics + +For all methods guarded with some fault tolerance strategy, the following metric is emitted: + +[cols="1,5"] +|=== +| Name | `ft.invocations.total` +| Type +a| * MP Metrics: `Counter` +* OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the method was called. +| Tags +a| * `method` - the fully qualified method name +* `result` = `[valueReturned\|exceptionThrown]` - whether the invocation returned a value or threw an exception +* `fallback` = `[applied\|notApplied\|notDefined]` - `applied` if fallback was used, `notApplied` if a fallback is configured but was not used, `notDefined` if a fallback is not configured +|=== + +For xref:reference/asynchronous.adoc[asynchronous methods], "value returned" means that the `CompletionStage` completed successfully, while "exception thrown" means that the `CompletionStage` completed exceptionally. + +== Specific Metrics + +In addition to the general metrics described above, most fault tolerance strategies emit their own metrics. +Those are described in the reference guides: + +* xref:reference/bulkhead.adoc#metrics[Bulkhead] +* xref:reference/circuit-breaker.adoc#metrics[Circuit Breaker] +* xref:reference/rate-limit.adoc#metrics[Rate Limit] +* xref:reference/retry.adoc#metrics[Retry] +* xref:reference/timeout.adoc#metrics[Timeout] + +== Timer Metrics + +For task scheduling purposes (e.g. watching timeouts or delaying retries), {smallrye-fault-tolerance} maintains one thread called the _timer thread_. +Most of the time, it is kept sleeping (parked), it only wakes up (unparks) when necessary to submit tasks to executors. + +The behavior of the timer thread can be observed through the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.timer.scheduled` +| Type +a| * MP Metrics: `Gauge` +* OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | The number of tasks that are currently scheduled (for future execution) on the timer. +| Tags +a| * `id` - the ID of the timer, to distinguish multiple timers in a multi-application environment +|=== + +== Micrometer Support + +In addition to the MicroProfile Metrics and OpenTelemetry support (as specified by {microprofile-fault-tolerance}), {smallrye-fault-tolerance} also provides support for https://micrometer.io/[Micrometer]. +The set of metrics emitted to Micrometer is the same, using the same metric names and tags. + +Note that distribution summaries in Micrometer, including timers, do not emit quantiles by default. +Micrometer recommends that libraries should not configure them out of the box, so if you need them, you should use a `MeterFilter`. + +The following implementation makes sure Micrometer emits the same quantiles as MicroProfile Metrics for all fault tolerance metrics: + +[source,java] +---- +static final MeterFilter ENABLE_HISTOGRAMS = new MeterFilter() { + @Override + public DistributionStatisticConfig configure(Meter.Id id, DistributionStatisticConfig config) { + if (id.getName().startsWith("ft.")) { + return DistributionStatisticConfig.builder() + .percentiles(0.5, 0.75, 0.95, 0.98, 0.99, 0.999) + .build() + .merge(config); + } + return config; + } +}; +---- + +== Disabling Metrics + +It is possible to completely disable fault tolerance metrics using MicroProfile Config: + +[source,properties] +---- +smallrye.faulttolerance.metrics.enabled=false + +# alternatively, a specification-defined property can be used +MP_Fault_Tolerance_Metrics_Enabled=false +---- + +It is also possible to disable individual metric providers: + +[source,properties] +---- +# to disable MP Metrics +smallrye.faulttolerance.mpmetrics.disabled=true + +# to disable OpenTelemetry Metrics +smallrye.faulttolerance.opentelemetry.disabled=true + +# to disable Micrometer +smallrye.faulttolerance.micrometer.disabled=true +---- + +Note that setting `smallrye.faulttolerance.*.disabled` to `false` does not mean the provider is enabled unconditionally. +When that provider is not discovered or selected by the integrator, it cannot be enabled in any way. +These properties are only meant for disabling an otherwise enabled metrics provider; not the other way around. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/non-compat.adoc b/content/docs/smallrye-fault-tolerance/6/reference/non-compat.adoc new file mode 100644 index 000000000..20fcf0b64 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/non-compat.adoc @@ -0,0 +1,36 @@ += Non-compatible Mode +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +{smallrye-fault-tolerance} offers a mode where certain features are improved beyond specification, as described below. +This mode is *not compatible* with the {microprofile-fault-tolerance} specification (and doesn't necessarily pass the entire TCK). + +This mode is disabled by default. +To enable, set the configuration property `smallrye.faulttolerance.mp-compatibility` to `false`. + +.Quarkus +**** +In Quarkus, the non-compatible mode is enabled by default. +To restore compatibility, add the following to your `application.properties`: + +[source,properties] +---- +smallrye.faulttolerance.mp-compatibility=true +---- + +Note that the non-compatible mode is available since {smallrye-fault-tolerance} 5.2.0 and Quarkus 2.1.0.Final. +Previous versions are always compatible. +**** + +== Improvements + +The improvements enabled in the non-compatible mode are: + +* xref:reference/asynchronous.adoc#method-asynchrony[Determining asynchrony from method signatures] +* Inspecting exception cause chains +** in xref:reference/fallback.adoc#inspecting-exception-cause-chains[fallback] +** in xref:reference/circuit-breaker.adoc#inspecting-exception-cause-chains[circuit breaker] +** in xref:reference/retry.adoc#inspecting-exception-cause-chains[retry] +* xref:reference/fallback.adoc#fallback-methods-with-exception-parameter[Fallback methods with exception parameter] diff --git a/content/docs/smallrye-fault-tolerance/6/reference/programmatic-api.adoc b/content/docs/smallrye-fault-tolerance/6/reference/programmatic-api.adoc new file mode 100644 index 000000000..f36db7e87 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/programmatic-api.adoc @@ -0,0 +1,414 @@ += Programmatic API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +In addition to the declarative, annotation-based API of {microprofile-fault-tolerance}, {smallrye-fault-tolerance} also offers a programmatic API for advanced scenarios. +This API is present in the `io.smallrye:smallrye-fault-tolerance-api` artifact, just like all other additional APIs {smallrye-fault-tolerance} provides. + +== Installation + +If you use {smallrye-fault-tolerance} as part of a runtime that implements {microprofile-fault-tolerance}, you don't have to do anything. +The programmatic API is ready to use. +In this documentation, we'll call this the _CDI implementation_ of the programmatic API, because it's integrated with the {microprofile-fault-tolerance} implementation, which is naturally based on CDI. + +.Quarkus +**** +In Quarkus, the {smallrye-fault-tolerance} API is brought in automatically, as a transitive dependency of the Quarkus extension for {smallrye-fault-tolerance}. +That is, you don't need to do anything to be able to use the programmatic API. +**** + +.WildFly +**** +In WildFly, the {smallrye-fault-tolerance} API is not readily available to deployments. +If you want to use it, you need to add a module dependency to the deployment using `jboss-deployment-structure.xml`. + +Note that at the time of this writing, the {smallrye-fault-tolerance} module in WildFly is considered private. +If you do add a module dependency on it, to be able to use the {smallrye-fault-tolerance} API, you may be stepping out of the WildFly support scope. +**** + +In addition to the CDI implementation, {smallrye-fault-tolerance} also offers a _standalone implementation_ that is meant to be used outside of any runtime. +This implementation does not need CDI or anything else. +If you want to use {smallrye-fault-tolerance} in a standalone fashion, just add a dependency on `io.smallrye:smallrye-fault-tolerance-standalone`. +The API is brought in transitively. + +== Usage + +The entrypoints to the programmatic API are the `Guard` and `TypedGuard` interfaces. + +These interfaces represent a configured set of fault tolerance strategies. +Their configuration, order of application and behavior in general corresponds to the declarative API, so if you know that, you'll feel right at home. +If not, the javadoc has all the information you need (though it often points to the annotation-based API for more information). + +The interfaces are very similar, there are only 2 differences: + +. `Guard` requires specifying the return type of the guarded operation for each `call()` or `get()` (or `adapt*`) method call. + `TypedGuard`, on the other hand, requires specifying the return type once, when creating an instance using `create()`. + Therefore, `Guard` may be used for guarding many different types, while `TypedGuard` may only be used to guard single type. +. `TypedGuard` allows defining a fallback. + `Guard` does not. + +In the following text, we'll only talk about `Guard`, but it also applies to `TypedGuard` without a change (except of the differences mentioned above). + +To create an instance of `Guard`, you can use the `create` static method. +It returns a builder which has to be used to add and configure all the fault tolerance strategies that should apply. +There is no external configuration, so all configuration properties have to be set explicitly, using the builder methods. +If you don't set a configuration property, it will default to the same value the annotation-based API uses. + +.Disabling Fault Tolerance +**** +There's one exception to the "no external configuration" rule. + +The CDI implementation looks for the `smallrye.faulttolerance.enabled` / `MP_Fault_Tolerance_NonFallback_Enabled` configuration properties in MicroProfile Config. +The standalone implementation looks for system properties with the same name, or obtains the value from custom configuration (as xref:integration/programmatic-api.adoc[described] in the integration section). + +If at least one of these properties exists and is set to `false`, only the fallback and thread offload fault tolerance strategies will be applied. +Everything else will be ignored. + +Note that this is somewhat different to the declarative, annotation-based API, where only fallback is retained and the `@Asynchronous` strategy is skipped as well. +Since this significantly changes execution semantics, the programmatic API will apply thread offload even if fault tolerance is disabled. + +Similarly to the declarative API, implementations of the programmatic API also read this property only once, when the `Guard` API is first used. +It is _not_ read again later. +**** + +Let's take a look at a simple example: + +[source,java] +---- +public class MyService { + private static final Guard GUARD = Guard.create() + .withRetry().maxRetries(3).done() + .build(); + + public String hello() throws Exception { + return GUARD.call(() -> externalService.hello(), String.class); // <1> + } +} +---- + +<1> Here, we call `externalService.hello()` and guard the call with the previously configured set of fault tolerance strategies. + The `call` method used here takes the `Callable` type, which represent the guarded action. + The `get` method works just like `call`, but accepts a `Supplier`. + +The previous example shows how to apply fault tolerance to synchronous actions. +{smallrye-fault-tolerance} naturally also supports guarding asynchronous actions, using the `java.util.concurrent.CompletionStage` type. +Unlike the declarative API, the programmatic API doesn't support asynchronous actions that return the `java.util.concurrent.Future` type. + +[source,java] +---- +public class MyService { + private static final Guard GUARD = Guard.create() + .withBulkhead().done() + .withThreadOffload(true) // <1> + .build(); + + public CompletionStage hello() throws Exception { + return GUARD.call(() -> externalService.hello(), + new TypeLiteral>() {}); // <2> + } +} +---- + +<1> The thread offload here only applies to asynchronous actions. + If you use the same `GUARD` to guard a synchronous action, no thread offload will apply. +<2> Note that here, we use the `TypeLiteral` class (from CDI) to specify the type of the guarded action. + +Asynchronous actions may be blocking or non-blocking. +In the example above, we assume the `externalService.hello()` call is blocking, so we set thread offload to `true`. +{smallrye-fault-tolerance} will automatically move the actual execution of the action to another thread. + +If we didn't configure `withThreadOffload`, however, the execution of an asynchronous action would continue on the original thread. +This is often desired for non-blocking actions, which are very common in modern reactive architectures. + +Also note that in this example, we configured multiple fault tolerance strategies: bulkhead and thread offload. +When that happens, the fault tolerance strategies are ordered according to the {microprofile-fault-tolerance} specification, just like in the declarative API. +Order of all the `with*` method invocations doesn’t matter. + +=== Single-Action Usage + +The `Guard` API is general and permits guarding multiple different actions using the same set of fault tolerance strategies. +Often, we need to guard just a single action, although possibly several times. + +For such use case, the `Guard` instance may be adapted to a `Callable` or `Supplier` using the `adapt*` methods: + +[source,java] +---- +public class MyService { + private static final Callable guard = Guard.create() + .withTimeout().duration(5, ChronoUnit.SECONDS).done() + .build() // <1> + .adaptCallable(() -> externalService.hello(), String.class); // <2> + + public String hello() throws Exception { + return callable.call(); // <3> + } + +} +---- + +<1> Create a `Guard` object that can guard arbitrary actions. +<2> Adapt the general `Guard` instance to a `Callable` that guards the `externalService.hello()` invocation. + Similar method exists that accepts and returns a `Supplier`: `adaptSupplier`. +<3> You can do whatever you wish with the adapted `Callable`. + Here, we just call it once, which isn't very interesting, but it could possibly be called multiple times, passed to other methods etc. + +=== Synchronous vs. Asynchronous + +The `Guard` and `TypedGuard` interfaces both decide whether the guarded action is synchronous or asynchronous based on the action type. +This is given to `Guard` when calling or adapting the action, and to `TypedGuard` when creating it. + +If the type is asynchronous (such as `CompletionStage`), the asynchronous behavior will also be guarded; the action is only considered complete when the `CompletionStage` actually completes. +If the type is not asynchronous, only the synchronous behavior will be guarded; the action is considered complete when the method returns. + +To enable support of additional asynchronous types, it is enough to include the support libraries, as described in xref:reference/asynchronous.adoc#async-types[Additional Asynchronous Types]. + +==== Mutiny Support + +For example, when the Mutiny support library `io.smallrye:smallrye-fault-tolerance-mutiny` is present, both `Guard` and `TypedGuard` will recognize `Uni` as an asynchronous type and guard it properly. +Guarding a `Multi` is not supported. + +For example: + +[source,java] +---- +public class MyService { + private final Supplier> GUARD = TypedGuard.create( + new TypeLiteral>() {}) + .withTimeout().duration(5, ChronoUnit.SECONDS).done() + .withFallback().handler(() -> Uni.createFrom().item("fallback")).done() + .build() + .adaptSupplier(() -> externalService.hello()); // <1> + + public Uni hello() { + return guard.get(); + } +} +---- + +<1> The call to `externalService.hello()` is supposed to return `Uni`. + +Note that the `Uni` type is lazy, so the action itself won't execute until the guarded `Uni` is subscribed to. + +.Quarkus +**** +In Quarkus, the Mutiny support library is present by default. +You can guard `Uni`-returning actions out of the box. +**** + +=== Stateful Fault Tolerance Strategies + +The bulkhead, circuit breaker and rate limit strategies are stateful. +That is, they hold some state required for their correct functioning, such as the number of current executions for bulkhead, the rolling window of successes/failures for circuit breaker, or the time window for rate limit. +If you use these strategies, you have to consider their lifecycle. + +The {smallrye-fault-tolerance} programmatic API makes such reasoning pretty straightforward. +Each `Guard` object has its own instance of each fault tolerance strategy, including the stateful strategies. +If you use a single `Guard` object for guarding multiple different actions, all those actions will be guarded by the same bulkhead, circuit breaker and/or rate limit. +If, on the other hand, you use different `Guard` objects for guarding different actions, each action will be guarded by its own bulkhead, circuit breaker and/or rate limit. + +If you call the `adapt*` methods on the same `Guard` multiple times, the resulting `Callable` or `Supplier` objects will guard the underlying action using the original `Guard` instance, so stateful strategies will be shared. + +=== Circuit Breaker Maintenance + +The `CircuitBreakerMaintenance` API, accessed through `CircuitBreakerMaintenance.get()` or by injection in the CDI implementation, can be used to manipulate all named circuit breakers. +A circuit breaker is given a name by calling `withCircuitBreaker().name("\...")` on the fault tolerance builder, or using the `@CircuitBreakerName` annotation in the declarative API. + +Additionally, `CircuitBreakerMaintenance.resetAll()` will also reset all unnamed circuit breakers declared using the `@CicruitBreaker` annotation. +For this to work, all unnamed circuit breakers have to be remembered. +This is safe in case of the declarative, annotation-based API, because the number of such declared circuit breakers is fixed. +At the same time, this would _not_ be safe to do for all unnamed circuit breakers created using the programmatic API, as their number is potentially unbounded. +(In other words, remembering all unnamed circuit breakers created using the programmatic API would easily lead to a memory leak.) + +Therefore, all circuit breakers created using the programmatic API must be given a name when `CircuitBreakerMaintenance` is supposed to affect them. +Note that duplicate names are not permitted and lead to an error, so lifecycle of the circuit breaker must be carefully considered. + +=== Event Listeners + +The programmatic API has one feature that the declarative API doesn't have: ability to observe certain events. +For example, when configuring a circuit breaker, it is possible to register a callback for circuit breaker state changes or for a situation when an open circuit breaker prevents an invocation. +When configuring a timeout, it is possible to register a callback for when the invocation times out, etc. etc. +For example: + +[source,java] +---- +private static final Guard GUARD = Guard.create() + .withTimeout().duration(5, ChronoUnit.SECONDS).onTimeout(() -> ...).done() // <1> + .build(); +---- + +<1> The `onTimeout` method takes a `Runnable` that will later be executed whenever an invocation guarded by `GUARD` times out. + +All event listeners registered like this must run quickly and must not throw exceptions. + +== Configuration + +As mentioned above, except of `smallrye.faulttolerance.enabled` / `MP_Fault_Tolerance_NonFallback_Enabled`, there is no support for external configuration of fault tolerance strategies. +This may change in the future, though possibly only in the CDI implementation. + +== Metrics + +The programmatic API is integrated with metrics. +All metrics, as described xref:reference/metrics.adoc[in the Metrics reference guide] and the linked guides, are supported. +The only difference is the value of the `method` tag. +With the programmatic API, the `method` tag will be set to the _description_ of the guarded operation, provided on the `Guard` builder. + +[source,java] +---- +private static final Guard GUARD = Guard.create() + .withDescription("hello") // <1> + .withRetry().maxRetries(3).done() + .build(); +---- + +<1> A description of `hello` is set, it will be used as a value of the `method` tag in all metrics. + +It is possible to create multiple `Guard` objects with the same description. +In this case, it won't be possible to distinguish the different `Guard` objects in metrics; their values will be aggregated. + +If no description is provided, metrics are not emitted. + +== Differences to the Specification + +`Guard` and `TypedGuard` have the following differences to standard MicroProfile Fault Tolerance: + +* asynchronous actions of type `java.util.concurrent.Future` are not supported; +* the fallback, circuit breaker and retry strategies always inspect the cause chain of exceptions, following the behavior of SmallRye Fault Tolerance in the non-compatible mode. + +== Kotlin `suspend` Functions + +The `Guard` and `TypedGuard` APIs do not support Kotlin `suspend` functions at the moment. + +== Integration Concerns + +Integration concerns, which are particularly interesting for users of the standalone implementation, are xref:integration/programmatic-api.adoc[described] in the integration section. + +[[migration_from_faulttolerance]] +== Migration from `FaultTolerance` + +The 1st version of the programmatic API had the `FaultTolerance` interface. +This is deprecated and scheduled for removal in {smallrye-fault-tolerance} 7.0. +The replacement are the `Guard` and `TypedGuard` types. + +When migrating, one first has to decide which type to use as a replacement. +The `TypedGuard` is much closer to the `FaultTolerance` type, so that is the easiest way to migrate. +There are some differences still: + +- the `create()` static method now takes a parameter that expresses the guarded action type, either as a `Class` or as a `TypeLiteral`; +- there are no `cast()` and `castAsync()` methods, because `TypedGuard` only guards actions of a single type; +- there is no support for guarding or adapting ``Runnable``s, only ``Callable``s and ``Supplier``s are supported. + As a replacement for `Runnable`, a `Supplier` (or `Supplier>` etc.) can be used. + +For example, these usages of `FaultTolerance`: + +[source,java] +---- +static final FaultTolerance FT1 = FaultTolerance.create() + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withFallback().handler(() -> "fallback").done() + .build(); + +static final FaultTolerance> FT2 = FaultTolerance.createAsync() + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +can be rewritten to: + +[source,java] +---- +static final TypedGuard GUARD1 = TypedGuard.create(String.class) + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withFallback().handler(() -> "fallback").done() + .build(); + +static final TypedGuard> GUARD2 = TypedGuard.create( + new TypeLiteral>() {}) + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +After creating a `TypedGuard`, there's no change in how it's used. +The methods `call()`, `get()`, `adaptCallable()` and `adaptSupplier()` have the same signatures as before. + +`TypedGuard` is the only possible replacement if you need fallback. +If you don't need fallback, and especially if you need to guard actions of multiple types, `Guard` is a better choice. + +The differences are: + +- `Guard` has no type parameter (is not generic) and does not allow defining fallback; +- there are no `cast()` and `castAsync()` methods, because they are no longer needed; +- there is no support for guarding or adapting ``Runnable``s, only ``Callable``s and ``Supplier``s are supported. + As a replacement for `Runnable`, a `Supplier` (or `Supplier>` etc.) can be used. + +For example, these usages of `FaultTolerance`: + +[source,java] +---- +static final FaultTolerance FT1 = FaultTolerance.create() + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withCircuitBreaker().done() + .build(); + +static final FaultTolerance> FT2 = FaultTolerance.createAsync() + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +can be rewritten to: + +[source,java] +---- +static final Guard GUARD1 = Guard.create() + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withCircuitBreaker().done() + .build(); + +static final Guard GUARD2 = Guard.create() + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +Now, as mentioned above, `Guard` is used slightly differently than `FaultTolerance`. +The methods `call()`, `get()`, `adaptCallable()` and `adaptSupplier()` take an extra parameter that expresses the type of the guarded action, again either as a `Class` or as a `TypeLiteral`. + +For example, these usages of `FaultTolerance`: + +[source,java] +---- +String result1 = FT1.call(() -> externalService.hello()); +CompletionStage result2 = FT2.get(() -> externalService.helloAsync()); + +Callable callable = FT1.adaptCallable( + () -> externalService.hello()); +Supplier> supplier = FT2.adaptSupplier( + () -> externalService.helloAsync()); +---- + +can be rewritten to: + +[source,java] +---- +String result1 = GUARD1.call(() -> externalService.hello(), String.class); +CompletionStage result2 = GUARD2.get(() -> externalService.helloAsync(), + new TypeLiteral>() {}); + +Callable callable = GUARD1.adaptCallable( + () -> externalService.hello(), String.class); +Supplier> supplier = GUARD2.adaptSupplier( + () -> externalService.helloAsync(), + new TypeLiteral>() {}); +---- diff --git a/content/docs/smallrye-fault-tolerance/6/reference/rate-limit.adoc b/content/docs/smallrye-fault-tolerance/6/reference/rate-limit.adoc new file mode 100644 index 000000000..8e9ea45cd --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/rate-limit.adoc @@ -0,0 +1,149 @@ += Rate Limit +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/rate-limit.adoc[How to Limit Execution Rate]. + +include::{partialsdir}/srye-feature.adoc[] + +== Description + +Rate limit enforces a maximum number of permitted invocations in a time window of some length. +For example, with a rate limit, one can make sure that a method may only be called 50 times per minute. +Invocations that would exceed the limit are rejected with an exception of type `RateLimitException`. + +Additionally, it is possible to define minimum spacing between invocations. +For example, with minimum spacing of 1 second, if a second invocation happens 500 millis after the first, it is rejected even if the limit would not be exceeded yet. + +Rate limit is superficially similar to a bulkhead (concurrency limit), but is in fact quite different. +Bulkhead limits the number of executions happening concurrently at any point in time. +Rate limit limits the number of executions in a time window of some length, without considering concurrency. + +A method or a class can be annotated with `@RateLimit`, which means the method or the methods in the class will apply the rate limit strategy. +The previous example with 50 maximum invocations per minute and minimum spacing of 1 second would look like this: + +[source,java] +---- +@RateLimit(value = 50, + window = 1, windowUnit = ChronoUnit.MINUTES, + minSpacing = 1, minSpacingUnit = ChronoUnit.SECONDS) +public void doSomething() { + ... +} +---- + +The `RateLimitException` class has a method `getRetryAfterMillis()` which returns the number of milliseconds after which the user may retry the rejected invocation. +Retrying sooner is guaranteed to be rejected again. +Note that this information is accurate only at the time the invocation is rejected. +It may be invalidated by any subsequent or concurrent invocations, so there is no guarantee that a retry attempt after the given number of milliseconds will in fact be permitted. + +=== Lifecycle + +Rate limit needs to maintain some state between invocations: the number of recent invocations, the time stamp of last invocation, and so on. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@RateLimit` annotation. + +More specifically, the rate limit state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same rate limit state. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@RateLimit`, the fallback method or handler may be invoked if a `RateLimitException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@RateLimit`, each retry attempt is processed by the rate limit as an independent invocation. +If `RateLimitException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@RateLimit`, the circuit breaker is checked before enforcing the rate limit. +If rate limiting results in `RateLimitException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +[[configuration]] +== Configuration + +There are 6 configuration options, corresponding to the 6 members of the `@RateLimit` annotation. + +=== `value` + +Type: `int` + +Default: `100` + +The limit of maximum invocations to be permitted in the time window. + +=== `window` + `windowUnit` + +Type: `long` + `ChronoUnit` + +Default: `1 second` + +The length of the time window. + +=== `minSpacing` + `minSpacingUnit` + +Type: `long` + `ChronoUnit` + +Default: `0 seconds` + +The minimum spacing between two consecutive invocations. + +=== `type` + +Type: `RateLimitType` + +Default: `RateLimitType.FIXED` + +The type of time window used for rate limiting. +There are 3 types of time windows used for rate limiting: _fixed_, _rolling_ and _smooth_. + +Fixed time windows are a result of dividing time into non-overlapping intervals of given length. +The invocation limit is enforced for each interval independently. +This means that short bursts of invocations occuring near the time window boundaries may temporarily exceed the configured rate limit. +This kind of rate limiting is also called _fixed window_ rate limiting. + +Rolling time windows enforce the limit continuously, instead of dividing time into independent intervals. +The invocation limit is enforced for all possible time intervals of given length, regardless of overlap. +This is more precise, but requires more memory and may be slower. +This kind of rate limiting is also called _sliding log_ rate limiting. + +Smooth time windows enforce a uniform distribution of invocations under a rate calculated from given time window length and given limit. +If recent rate of invocations is under the limit, a subsequent burst of invocations is allowed during a shorter time span, but the calculated rate is never exceeded. +This kind of rate limiting is also called _token bucket_ or _leaky bucket (as a meter)_ rate limiting, with the additional property that all work units are considered to have the same size. + +With fixed and rolling time windows, rejected invocations always count towards the limit, so if a caller continuously invokes the guarded method faster than the configuration allows, all invocations are rejected until the caller slows down. +With smooth time windows, rejected invocations do not count towards the recent rate of invocations. + +Example usage: + +[source,java] +---- +@RateLimit(value = 50, + window = 1, windowUnit = ChronoUnit.MINUTES, + minSpacing = 1, minSpacingUnit = ChronoUnit.SECONDS, + type = RateLimitType.ROLLING) +public void doSomething() { + ... +} +---- + +[[metrics]] +== Metrics + +Rate limit exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.ratelimit.calls.total` +| Type +a| * MP Metrics: `Counter` +* OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the rate limit logic was run. This is usually once per method call, but may be zero times if the circuit breaker prevented execution or more than once if the method call was retried. +| Tags +a| * `method` - the fully qualified method name +* `rateLimitResult` = `[permitted\|rejected]` - whether the rate limit permitted the method call +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/retry.adoc b/content/docs/smallrye-fault-tolerance/6/reference/retry.adoc new file mode 100644 index 000000000..cfc4aaf6c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/retry.adoc @@ -0,0 +1,352 @@ += Retry +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/retry.adoc[How to Retry on Failures]. + +== Description + +If a guarded method throws an exception, retry will swallow that exception and call the method again. + +More specifically: + +. If the guarded method returns normally, its return value is returned. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `abortOn` types (see <>), retrying is aborted and the exception is rethrown. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `retryOn` types (see <>), the method call is retried. +. Otherwise, the exception is rethrown. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@Retry`, the fallback method or handler may be invoked if all retry attempts failed, depending on the fallback configuration. + +[[configuration]] +== Configuration + +There are 9 configuration options, corresponding to the 9 members of the `@Retry` annotation. + +=== `maxRetries` + +Type: `int` + +Default: `3` + +The maximum number of retries. +`-1` means the maximum number of retries is unlimited. + +=== `delay` + `delayUnit` + +Type: `long` + `ChronoUnit` + +Default: `0 millis` + +The delay between retry attempts. + +=== `maxDuration` + `durationUnit` + +Type: `long` + `ChronoUnit` + +Default: `180_000 millis`, or 3 minutes + +The maximum duration for which retries will be attempted. + +:time-value-name: maxDuration +:time-unit-bad-name: durationUnit +:time-unit-good-name: maxDurationUnit +include::{partialsdir}/time-unit-inconsistency.adoc[] + +=== `jitter` + `jitterDelayUnit` + +Type: `long` + `ChronoUnit` + +Default: `200 millis` + +The maximum jitter to adjust the delay between retries. +If set, the delay before each retry attempt will be computed as follows: + +. Generate random number from the closed interval `[-jitter, jitter]`. +. Add the generated random number to the configured `delay`. +. If the result is by any chance negative, use `0`. + +:time-value-name: jitter +:time-unit-bad-name: jitterDelayUnit +:time-unit-good-name: jitterUnit +include::{partialsdir}/time-unit-inconsistency.adoc[] + +[[retry-on]] +=== `retryOn` + +Type: `Class[]` + +Default: `{Exception.class}` + +Set of exception types that trigger a retry. + +[[abort-on]] +=== `abortOn` + +Type: `Class[]` + +Default: `{}` + +Set of exception types that abort retrying. +This configuration takes precedence over `retryOn`. + +[[metrics]] +== Metrics + +Retry exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.retry.calls.total` +| Type +a| * MP Metrics: `Counter` +* OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the retry logic was run. This will always be once per method call. +| Tags +a| * `method` - the fully qualified method name +* `retried` = `[true\|false]` - whether any retries occurred +* `retryResult` = `[valueReturned\|exceptionNotRetryable\|maxRetriesReached\|maxDurationReached]` - the reason that last attempt to call the method was not retried +|=== + +[cols="1,5"] +|=== +| Name | `ft.retry.retries.total` +| Type +a| * MP Metrics: `Counter` +* OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the method was retried +| Tags +a| * `method` - the fully qualified method name +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. + +== Extra Features + +=== Backoff Strategies for `@Retry` + +include::{partialsdir}/srye-feature.adoc[] + +When retrying failed operations, it is often useful to make a delay between retry attempts. +This delay is also called "backoff". +The `@Retry` annotation in {microprofile-fault-tolerance} supports a single backoff strategy: constant. +That is, the delay between all retry attempts is identical (except for a random jitter). + +{smallrye-fault-tolerance} offers 3 annotations to specify a different backoff strategy: + +* `@ExponentialBackoff` +* `@FibonacciBackoff` +* `@CustomBackoff` + +One of these annotations may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @ExponentialBackoff + public void hello() { + ... + } +} +---- + +It is an error to add a backoff annotation to a program element that doesn't have `@Retry` (e.g. add `@Retry` on a class and `@ExponentialBackoff` on a method). +It is also an error to add more than one of these annotations to the same program element. + +When any one of these annotations is present, it modifies the behavior specified by the `@Retry` annotation. +The new behavior is as follows: + +For `@ExponentialBackoff`, the delays between retry attempts grow exponentially, using a defined `factor`. +By default, the `factor` is 2, so each delay is 2 * the previous delay. +For example, if the initial delay (specified by `@Retry`) is 1 second, then the second delay is 2 seconds, third delay is 4 seconds, fourth delay is 8 seconds etc. +It is possible to define a `maxDelay`, so that this growth has a limit. + +For `@FibonacciBackoff`, the delays between retry attempts grow per the Fibonacci sequence. +For example, if the initial delay (specified by `@Retry`) is 1 second, then the second delay is 2 seconds, third delay is 3 seconds, fourth delay is 5 seconds etc. +It is possible to define a `maxDelay`, so that this growth has a limit. + +Both `@ExponentialBackoff` and `@FibonacciBackoff` also apply jitter, exactly like plain `@Retry`. + +Also, since `@Retry` has a default `maxDuration` of 3 minutes and default `maxRetries` of 3, both `@ExponentialBackoff` and `@FibonacciBackoff` define a `maxDelay` of 1 minute. +If we redefine `maxRetries` to a much higher value, and the guarded method keeps failing, the delay would eventually become higher than 1 minute. +In that case, it will be limited to 1 minute. +Of course, `maxDelay` can be configured. +If set to `0`, there's no limit, and the delays will grow without bounds. + +For `@CustomBackoff`, computing the delays between retry attempts is delegated to a specified implementation of `CustomBackoffStrategy`. +This is an advanced option. + +For more information about these backoff strategies, see the javadoc of the annotations. + +=== Predicate-Based `@Retry` + +include::{partialsdir}/srye-feature.adoc[] + +By default, an operation is retried only if it fails and the exception is assignable to one of the classes defined in `@Retry.retryOn` (and not assignable to any of the classes defined in `@Retry.abortOn`). +With the `@RetryWhen` annotation, it is possible to instead define a custom predicate for the exception, as well as a predicate for the result. + +The `@RetryWhen` annotation may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @RetryWhen( + result = IsNull.class, // <1> + exception = IsRuntimeException.class // <2> + ) + public String hello() { + ... + } + + public static final class IsNull implements Predicate { + @Override + public boolean test(Object o) { + return o == null; + } + } + + public static final class IsRuntimeException implements Predicate { + @Override + public boolean test(Throwable throwable) { + return throwable instanceof RuntimeException; + } + } +} +---- + +<1> When the method returns `null`, it will be retried. +<2> When the method throws a `RuntimeException`, it will be retried. + +All other results are considered expected and are not retried. + +It is an error to specify `@RetryWhen.exception` if `@Retry.retryOn` / `@Retry.abortOn` is specified. +Specifying `@RetryWhen.result` together with `@Retry.retryOn` / `@Retry.abortOn` is possible, although perhaps not the best idea. + +It is an error to add a `@RetryWhen` annotation to a program element that doesn't have `@Retry` (e.g. add `@Retry` on a class and `@RetryWhen` on a method). + +For more information about `@RetryWhen`, see the javadoc of the annotation. + +=== Before Retry Actions + +include::{partialsdir}/srye-feature.adoc[] + +The `@BeforeRetry` annotation supports specifying an action that should be performed before any retry. +The action will _not_ be performed before the initial attempt. + +The `@BeforeRetry` annotation may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @BeforeRetry(methodName = "beforeRetry") // <1> + public String hello() { + ... + } + + public void beforeRetry() { // <2> + ... + } +} +---- + +<1> Specifies that before retrying, the `beforeRetry` method should be called. +<2> The method must return `void` and have no parameters. + +Alternatively, it is possible to specify a class that is an implementation of the `BeforeRetryHandler` interface: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @BeforeRetry(MyBeforeRetry.class) // <1> + public String hello() { + ... + } + + public static class MyBeforeRetry implements BeforeRetryHandler { + public void handle(ExecutionContext context) { + ... + } + } +} +---- + +<1> Specifies that the `MyBeforeRetry` handler should be called before retrying. + +It is only possible to specify one option; specifying both `value` and `methodName` leads to a deployment problem. + +Note that the before retry action must fast and non-blocking (i.e., it must not do any IO or long-running computations) and must not throw an exception. + +[[inspecting-exception-cause-chains]] +=== Inspecting Exception Cause Chains + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +The `@Retry` annotation can specify that certain exceptions should be treated as failures (`retryOn`) and others as successes (`abortOn`). +The specification limits this to inspecting the actual exception that was thrown. +However, in many cases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +For that reason, in the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@Retry` method throws an exception, the decision process is: + +1. If the `abortOn` exceptions are not default and the exception is assignable to one of the `abortOn` exceptions, retry is aborted and the exception is rethrown. +2. Otherwise, if the `retryOn` exceptions are not default and the exception is assignable to one of the `retryOn` exceptions, retry is attempted. +3. Otherwise, if the exception is assignable to one of the `abortOn` exceptions or its cause chain contains an exception assignable to one of the `abortOn` exceptions, retry is aborted and the exception is rethrown. +4. Otherwise, if the exception is assignable to one of the `retryOn` exceptions or its cause chain contains an exception assignable to one of the `retryOn` exceptions, retry is attempted. +5. Otherwise, the exception is rethrown. + +For example: + +[source,java] +---- +@Retry(maxRetries = 5, + abortOn = ExpectedOutcomeException.class, // <1> + retryOn = IOException.class) // <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, retry is aborted and the exception is thrown. +<2> If `doSomething` throws an `IOException`, or a `WrapperException` whose cause is `IOException`, retry is attempted. + +[source,java] +---- +@Retry(maxRetries = 5, + abortOn = ExpectedOutcomeException.class) // <1> <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, retry is aborted and the exception is thrown. +<2> There's no `retryOn`, so the 2nd step in the algorithm above is skipped. +This is what turns the `WrapperException` whose cause is `ExpectedOutcomeException` into an aborted retry. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/reusable.adoc b/content/docs/smallrye-fault-tolerance/6/reference/reusable.adoc new file mode 100644 index 000000000..9a3379455 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/reusable.adoc @@ -0,0 +1,244 @@ += Reusable Fault Tolerance +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +The declarative, annotation-based API of {microprofile-fault-tolerance} doesn't allow sharing configuration of fault tolerance strategies across multiple classes. +In a single class, the configuration may be shared across all methods by putting the annotations on the class instead of individual methods, but even then, _stateful_ fault tolerance strategies are not shared. +Each method has its own bulkhead, circuit breaker and/or rate limit, which is often not what you want. + +The xref:reference/programmatic-api.adoc[programmatic API] of {smallrye-fault-tolerance} allows using a single `Guard` or `TypedGuard` object to guard multiple disparate actions, which allows reuse and state sharing. +It is possible to use a programmatically constructed `Guard` or `TypedGuard` object declaratively, using the `@ApplyGuard` annotation. + +To be able to do that, we need a bean of type `Guard` (or `TypedGuard`) with the `@Identifier` qualifier: + +[source,java] +---- +@ApplicationScoped +public class PreconfiguredFaultTolerance { + @Produces + @Identifier("my-fault-tolerance") + public static final Guard GUARD = Guard.create() + .withRetry().maxRetries(2).done() + .withTimeout().done() + .build(); +} +---- + +See the xref:reference/programmatic-api.adoc[programmatic API] documentation for more information about creating the `Guard` or `TypedGuard` instance. + +It is customary to create the bean by declaring a `static` producer field, just like in the previous example. + +Once we have that, we can apply `my-fault-tolerance` to any method: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @ApplyGuard("my-fault-tolerance") + public String doSomething() { + ... + } + + @ApplyGuard("my-fault-tolerance") + public CompletionStage doSomethingElse() { + ... + } +} +---- + +== Defining Fallback + +Note that it is not possible to define a fallback on `Guard`, because fallback is tied to the action type. +It is possible to define a fallback on `TypedGuard`, because it can only be used to guard methods with a single return type, equal to the type the `TypedGuard` was created with. + +However, the `@ApplyGuard` annotation pays attention to the `@Fallback` annotation. +If `@Fallback` is defined, it is used both by `Guard` and `TypedGuard` instances, and it overrides the possible fallback defined on the `TypedGuard`. + +== Defining Thread Offload + +Both `Guard` and `TypedGuard` allow enabling or disabling thread offload. +This is ignored by `@ApplyGuard` if the annotated method is asynchronous as determined from the method signature and possible annotations (`@Asynchronous` and `@AsynchronousNonBlocking`). +See xref:reference/asynchronous.adoc[] for more information about how that determination works. + +The thread offload configuration of `Guard` or `TypedGuard` is only honored when the method cannot be determined to be asynchronous, but it still declares an asynchronous return type. + +.Compatible Mode +**** +In the compatible mode, methods are determined to be asynchronous when they are annotated `@Asynchronous` or `@AsynchronousNonBlocking` and they declare an asynchronous return type. +For such methods, the `Guard` / `TypedGuard` thread offload configuration does not apply. + +For methods that declare an asynchronous return type but are not annotated with `@Asynchronous` or `@AsynchronousNonBlocking`, the configuration on `Guard` / `TypedGuard` is honored. +**** + +.Non-compatible Mode +**** +In the non-compatible mode, methods are determined to be asynchronous whenever they declare an asynchronous return type. +The `@Asynchronous` and `@AsynchronousNonBlocking` only affect whether the invocation of that method is offloaded to an extra thread. +If none of these annotations is present, no thread offload happens. + +In other words, in non-compatible mode, the `Guard` / `TypedGuard` thread offload configuration never applies. + +See xref:reference/non-compat.adoc[] for more information about the non-compatible mode. +**** + +== Configuration + +Even though the programmatic API of `Guard` and `TypedGuard` does not support configuration, the declarative API of `@ApplyGuard` does. + +The configuration closely resembles xref:reference/config.adoc[the configuration of the declarative API], where instead of the `` or `/`, you use the identifier that's used in the `@Identifier` qualifier and in the `@ApplyGuard` annotation. + +CAUTION: When configuring the `Guard` or `TypedGuard` using the following configuration properties, it is recommended to never use the `[Typed]Guard` programmatically. +The reason is that configuration is applied on the first invocation, and if that invocation is programmatic, the configuration key is unknown. + +For example, let's assume the following preconfigured `Guard` object: + +[source,java] +---- +@ApplicationScoped +public class PreconfiguredFaultTolerance { + @Produces + @Identifier("my-fault-tolerance") + public static final Guard GUARD = Guard.create() + .withRetry().maxRetries(2).done() + .withTimeout().done() + .build(); +} +---- + +This `Guard` supports retry and timeout; any attempt to configure other strategies will be ignored. + +To reconfigure the number of maximum retries, the following configuration properties may be used: + +[source,properties] +---- +smallrye.faulttolerance."my-fault-tolerance".retry.max-retries=5 + +# alternatively, a specification-defined property can be used +my-fault-tolerance/Retry/maxRetries=5 +---- + +Global configuration that applies to all usages of retry is also respected by `@ApplyGuard`: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.max-retries=5 + +# alternatively, a specification-defined property can be used +Retry/maxRetries=5 +---- + +Note that the configuration keys follow the configuration of the declarative API, even if the methods in the programmatic API builders are named differently. +For example, to set the rate limit in the programmatic API, the `RateLimitBuilder` uses a method called `limit()`, while the corresponding annotation member of `@RateLimit` is named `value()`. +The configuration key in both cases is `rate-limit.value` (or `RateLimit/value`). + +=== Disabling Fault Tolerance + +Configuration properties for disabling individual strategies also work: + +[source,properties] +---- +smallrye.faulttolerance."my-fault-tolerance".retry.enabled=false + +# alternatively, a specification-defined property can be used +my-fault-tolerance/Retry/enabled=false +---- + +Or globally: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.enabled=false + +# alternatively, a specification-defined property can be used +Retry/enabled=false +---- + +=== Supported Strategies + +The following fault tolerance strategies, when defined on a `Guard` (or `TypedGuard`) and used through `@ApplyGuard`, may be configured: + +* bulkhead (except of `BulkheadBuilder.enableSynchronousQueueing()`) +* circuit breaker +* rate limit +* retry, including exponential backoff and Fibonacci backoff +* timeout + +In the programmatic API, the following strategies are not built declaratively, and so their configuration is ignored: + +* fallback +* circuit breaker name (cannot be configured in the declarative API either) +* certain parts of retry: custom backoff, before retry action and retry predicates +* thread offload + +== Metrics + +Methods annotated `@ApplyGuard` gather metrics similarly to methods annotated with {microprofile-fault-tolerance} annotations. +That is, each method gets its own metrics, with the `method` tag being `.`. + +At the same time, state is still shared. +All methods annotated `@ApplyGuard` share the same bulkhead, circuit breaker and/or rate limit. + +If the `Guard` or `TypedGuard` object used for `@ApplyGuard` is also used xref:reference/programmatic-api.adoc[programmatically], that usage is coalesced in metrics (where the `method` tag is set to the description). + +== Differences to the Specification + +`@ApplyGuard` has the same differences to standard MicroProfile Fault Tolerance as `Guard` / `TypedGuard`: + +* asynchronous actions of type `java.util.concurrent.Future` are not supported; +* the fallback, circuit breaker and retry strategies always inspect the cause chain of exceptions, following the behavior of SmallRye Fault Tolerance in the non-compatible mode. + +== Kotlin `suspend` Functions + +Even though the programmatic API of `Guard` and `TypedGuard` does not support Kotlin `suspend` functions, the declarative API of `@ApplyGuard` does. +When the guard is a `Guard`, no restrictions apply. + +When the guard is a `TypedGuard`, however, its type must be a synchronous return type of the `suspend` function. +For example, when the `suspend` function is declared to return a `String` asynchronously: + +[source,kotlin] +---- +@ApplyGuard("my-fault-tolerance") +@Fallback(fallbackMethod = "fallback") +suspend fun hello(): String { + delay(100) + throw IllegalArgumentException() +} +---- + +The `TypedGuard` must be declared to guard actions of type `String`: + +[source,kotlin] +---- +@Produces +@Identifier("my-fault-tolerance") +val GUARD = TypedGuard.create(String::class.java) + .withRetry().maxRetries(2).done() + .withFallback().handler(Supplier { "fallback" }).done() + .build() +---- + +This means that a possible fallback declared on the `TypedGuard` must be synchronous; it cannot be a `suspend` lambda. + +The `@Fallback` method, if declared, must have a matching signature and so must be a `suspend` function: + +[source,kotlin] +---- +suspend fun fallback(): String { + delay(100) + return "fallback" +} +---- + +[[migration_from_applyfaulttolerance]] +== Migration from `@ApplyFaultTolerance` + +The 1st version of the programmatic API had the `@ApplyFaultTolerance` annotation. +That annotation is deprecated and scheduled for removal in {smallrye-fault-tolerance} 7.0. + +To migrate, replace `@ApplyFaultTolerance` with `@ApplyGuard` and change the `FaultTolerance<>` producers to produce `Guard` or `TypedGuard<>`. +See xref:reference/programmatic-api.adoc#migration_from_faulttolerance[the programmatic API migration guide] for more details about that. + +Note that it is not possible to define both `Guard` and `TypedGuard<>` with the same identifier; that leads to a deployment problem. +Therefore, for each producer of `FaultTolerance<>`, you have to decide whether the replacement should be `Guard` or `TypedGuard<>`. diff --git a/content/docs/smallrye-fault-tolerance/6/reference/timeout.adoc b/content/docs/smallrye-fault-tolerance/6/reference/timeout.adoc new file mode 100644 index 000000000..1dd6b9037 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/6/reference/timeout.adoc @@ -0,0 +1,81 @@ += Timeout +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/timeout.adoc[How to Watch for Timeouts]. + +== Description + +If a guarded method takes too long, the caller will get a `TimeoutException`. + +If the guarded method is not `@Asynchronous` or `@AsynchronousNonBlocking`, the thread executing the method is interrupted. +Note that interruption requires cooperation from the executing code (for example, it must not swallow `InterruptedException`). +In other words, it is not guaranteed that interrupting the method will actually make it stop. + +If the guarded method is `@Asynchronous` or `@AsynchronousNonBlocking`, timeout is always signalled correctly, but there is no cancellation. +Even after timeout, the asynchronous action will keep running; its eventual result is just ignored. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@Timeout`, the fallback method or handler may be invoked if a `TimeoutException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@Timeout`, each retry attempt is processed by the timeout as an independent invocation. +If `TimeoutException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@Timeout`, the circuit breaker is checked before enforcing the timeout. +If enforcing the timeout results in `TimeoutException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +If `@RateLimit` is used with `@Timeout`, the rate limit is enforced before enforcing the timeout. + +[[configuration]] +== Configuration + +There are 2 configuration options, corresponding to the 2 members of the `@Timeout` annotation. + +=== `value` + `unit` + +Type: `long` + `ChronoUnit` + +Default: `1000 millis`, or 1 second + +The timeout to enforce. + +[[metrics]] +== Metrics + +Timeout exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.timeout.calls.total` +| Type +a| * MP Metrics: `Counter` +* OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the timeout logic was run. This is usually once per method call, but may be zero times if the circuit breaker or rate limit prevents execution or more than once if the method is retried. +| Tags +a| * `method` - the fully qualified method name +* `timedOut` = `[true\|false]` - whether the method call timed out +|=== + +[cols="1,5"] +|=== +| Name | `ft.timeout.executionDuration` +| Type +a| * MP Metrics: `Histogram` +* OpenTelemetry: `DoubleHistogram` with explicit bucket boundaries `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]` +* Micrometer: `Timer` +| Unit +a| * MP Metrics: nanoseconds +* OpenTelemetry: seconds +* Micrometer: nanoseconds +| Description | Histogram of execution times for the method +| Tags +a| * `method` - the fully qualified method name +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. diff --git a/content/docs/smallrye-fault-tolerance/latest/_attributes.adoc b/content/docs/smallrye-fault-tolerance/latest/_attributes.adoc new file mode 100644 index 000000000..231612638 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/_attributes.adoc @@ -0,0 +1,24 @@ +:project-version: 7.0.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:partialsdir: {version-root}_partials +:examples-dir: {version-root}_examples +:smallrye-fault-tolerance: SmallRye Fault Tolerance +:smallrye-fault-tolerance-version: 7.0.0 +:microprofile-fault-tolerance: MicroProfile Fault Tolerance +:microprofile-fault-tolerance-version: 4.1.2 +:microprofile-fault-tolerance-url: https://download.eclipse.org/microprofile/microprofile-fault-tolerance-4.1/microprofile-fault-tolerance-spec-4.1.html +:vertx4-version: 4.5.25 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 7.0.0 +:relfileprefix: /docs/smallrye-fault-tolerance/latest/ +:imagesdir: /docs/smallrye-fault-tolerance/latest +:docs-project: smallrye-fault-tolerance +:docs-version: latest +:docs-ref: 7.0.0 diff --git a/content/docs/smallrye-fault-tolerance/latest/_nav.yml b/content/docs/smallrye-fault-tolerance/latest/_nav.yml new file mode 100644 index 000000000..1c25b6497 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/_nav.yml @@ -0,0 +1,80 @@ +title: SmallRye Fault Tolerance +nav: +- title: Overview + page: index +- title: How-to + items: + - title: Begin + page: howto/begin + - title: Supply Fallback Values + page: howto/fallback + - title: Limit Concurrency + page: howto/bulkhead + - title: Fail Fast on Recurring Failures + page: howto/circuit-breaker + - title: Watch for Timeouts + page: howto/timeout + - title: Retry on Failures + page: howto/retry + - title: Guard Asynchronous Methods + page: howto/asynchronous + - title: Limit Execution Rate + page: howto/rate-limit + - title: Use Multiple Strategies + page: howto/multiple +- title: Reference + items: + - title: Fallback + page: reference/fallback + - title: Bulkhead + page: reference/bulkhead + - title: Circuit Breaker + page: reference/circuit-breaker + - title: Timeout + page: reference/timeout + - title: Retry + page: reference/retry + - title: Asynchronous Execution + page: reference/asynchronous + - title: Rate Limit + page: reference/rate-limit + - title: Configuration + page: reference/config + - title: Metrics + page: reference/metrics + - title: Non-compatible Mode + page: reference/non-compat + - title: Programmatic API + page: reference/programmatic-api + - title: Reusable Fault Tolerance + page: reference/reusable +- title: Integration + items: + - title: Introduction + page: integration/intro + - title: Metrics + page: integration/metrics + - title: Thread Pool + page: integration/thread-pool + - title: Context Propagation + page: integration/context-propagation + - title: Event Loop + page: integration/event-loop + - title: Additional Asynchronous Types Integration Concerns + page: integration/async-types + - title: Kotlin Integration Concerns + page: integration/kotlin + - title: Programmatic API Integration Concerns + page: integration/programmatic-api +- title: Internals + items: + - title: Project Structure + page: internals/project-structure + - title: Instructions + page: internals/instructions + - title: Fault Tolerance Core + page: internals/core + - title: Configuration System + page: internals/config + - title: Logging + page: internals/logging diff --git a/content/docs/smallrye-fault-tolerance/latest/_partials/internals.adoc b/content/docs/smallrye-fault-tolerance/latest/_partials/internals.adoc new file mode 100644 index 000000000..6a5d9340f --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/_partials/internals.adoc @@ -0,0 +1,3 @@ +WARNING: Note that everything explained here is an implementation detail. +API stability for these interfaces and classes is _not_ guaranteed! +This documentation is only present to provide implementation insight for people who have to debug issues or want to contribute. diff --git a/content/docs/smallrye-fault-tolerance/latest/_partials/non-compat.adoc b/content/docs/smallrye-fault-tolerance/latest/_partials/non-compat.adoc new file mode 100644 index 000000000..e087cdb10 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/_partials/non-compat.adoc @@ -0,0 +1 @@ +IMPORTANT: This feature only works in the xref:reference/non-compat.adoc[non-compatible mode]. diff --git a/content/docs/smallrye-fault-tolerance/latest/_partials/srye-feature.adoc b/content/docs/smallrye-fault-tolerance/latest/_partials/srye-feature.adoc new file mode 100644 index 000000000..0f4a979cf --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/_partials/srye-feature.adoc @@ -0,0 +1 @@ +IMPORTANT: This is an additional feature of {smallrye-fault-tolerance} and is not specified by {microprofile-fault-tolerance}. diff --git a/content/docs/smallrye-fault-tolerance/latest/_partials/time-unit-inconsistency.adoc b/content/docs/smallrye-fault-tolerance/latest/_partials/time-unit-inconsistency.adoc new file mode 100644 index 000000000..b742c482b --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/_partials/time-unit-inconsistency.adoc @@ -0,0 +1,3 @@ +NOTE: Note the naming inconsistency between `{time-value-name}` and `{time-unit-bad-name}`. +It is common for the time unit property to be named after the time value property, e.g. `{time-unit-good-name}`. +Fixing this inconsistency would be a breaking change the {microprofile-fault-tolerance} specification is not willing to make. diff --git a/content/docs/smallrye-fault-tolerance/latest/howto/asynchronous.adoc b/content/docs/smallrye-fault-tolerance/latest/howto/asynchronous.adoc new file mode 100644 index 000000000..4c8394666 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/howto/asynchronous.adoc @@ -0,0 +1,102 @@ += How to Guard Asynchronous Methods +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} allows offloading method calls to another thread, as well as applying asynchronous fault tolerance. + +Asynchronous fault tolerance means guarding not just the synchronous method execution, but the entire asynchronous operation started by the method call, until the result is delivered. +For example: + +[source,java] +---- +CompletionStage doSomething() { + return CompletableFuture.supplyAsync(() -> { + if (someCondition) { + return someValue; + } else { + throw someException; + } + }); +} +---- + +This method always returns a `CompletionStage` and it never throws an exception. +However, if `someCondition` does not hold, the `CompletionStage` returned from the method will complete exceptionally. + +Ordinary (non-asynchronous) fault tolerance: + +* never considers this operation failing, because the method returns a value and does not throw an exception; +* considers this operation finished when the method returns. + +Asynchronous fault tolerance, on the other hand: + +* defers its decision process to the moment when the returned `CompletionStage` completes, +* and considers this operation running until that happens. + +As a special case, if an asynchronous method in fact does throw an exception (it typically shouldn't), it is treated as if it returned a `CompletionStage` that is already completed exceptionally with the thrown exception. + +== `@Asynchronous` + +A method that returns `java.util.concurrent.Future` or `java.util.concurrent.CompletionStage` may be annotated `@Asynchronous`. +Such method is executed on another thread. +Additionally, if the return type is `CompletionStage`, asynchronous fault tolerance applies. + +[NOTE] +==== +Note that if an `@Asynchronous` method returns a `Future`, asynchronous fault tolerance does _not_ apply. +Only the synchronous method execution is guarded. + +Asynchronous fault tolerance only applies if the `@Asynchronous` method returns `CompletionStage`. +==== + +Use `@Asynchronous` if the method has blocking logic, but you don’t want to block the caller thread. +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @Asynchronous // <1> + CompletionStage hello() { + ... blocking IO here ... + } +} +---- + +<1> Using the `@Asynchronous` annotation, because the method blocks, and it is necessary to offload its execution to another thread. + +== `@AsynchronousNonBlocking` + +include::{partialsdir}/srye-feature.adoc[] + +A method that returns `CompletionStage` may be annotated `@AsynchronousNonBlocking`. +In such case, the method is executed on the original thread, but asynchronous fault tolerance still applies. + +Use `@AsynchronousNonBlocking` if the method _does not_ have blocking logic, and you want the execution to stay on the caller thread. +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @AsynchronousNonBlocking // <1> + CompletionStage hello() { + ... non-blocking IO here ... + } +} +---- + +<1> Using the `@AsynchronousNonBlocking` annotation, because the method does not block and offloading execution to another thread is not necessary. + +=== Non-compatible mode + +include::{partialsdir}/non-compat.adoc[] + +In the non-compatible mode, the `@AsynchronousNonBlocking` annotation is not necessary. +A method that returns `CompletionStage` and is not annotated `@Asynchronous` is automatically treated as `@AsynchronousNonBlocking`. + +== Links + +For more information, see xref:reference/asynchronous.adoc[the Asynchronous Execution reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/latest/howto/begin.adoc b/content/docs/smallrye-fault-tolerance/latest/howto/begin.adoc new file mode 100644 index 000000000..3b5f0f3e7 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/howto/begin.adoc @@ -0,0 +1,129 @@ += How to Begin +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Installation + +As an application developer, you don't have to "install" {smallrye-fault-tolerance} in any way. +Your chosen runtime, such as Quarkus or WildFly, already integrates {smallrye-fault-tolerance} to provide {microprofile-fault-tolerance}. +Please refer to the documentation of your selected runtime to understand how to enable MicroProfile Fault Tolerance. + +.Quarkus +**** +In case of Quarkus, it is enough to add a dependency on `io.quarkus:quarkus-smallrye-fault-tolerance`. + +See the https://quarkus.io/guides/smallrye-fault-tolerance[{smallrye-fault-tolerance} guide] in Quarkus documentation for more. +**** + +.WildFly +**** +In case of WildFly, the {microprofile-fault-tolerance} subsystem must be enabled. +It is not included in the default `standalone` or `standalone-full` profiles, but it is included in the `standalone-microprofile` profile. +It is easiest to just start WildFly in this profile. + +See the https://docs.wildfly.org/27/Admin_Guide.html#MicroProfile-Fault-Tolerance-SmallRye[{microprofile-fault-tolerance} chapter] in WildFly Admin Guide for more. +**** + +If you are a framework developer, interested in integrating {smallrye-fault-tolerance} in your framework or runtime, please refer to the xref:integration/intro.adoc[Integration] section. + +== Usage + +{microprofile-fault-tolerance} is built on top of CDI and interceptors. +This lets you guard method calls with selected fault tolerance strategies simply by annotating a CDI bean class or method with one of the fault tolerance annotations. +For example: + +[source,java] +---- +@ApplicationScoped // <1> +public class MyService { + @Retry // <2> + public String hello() { + ... + } +} +---- + +<1> `@ApplicationScoped` is a bean defining annotation. +It makes the `MyService` class a CDI bean. +<2> `@Retry` is a fault tolerance annotation. + +Here, if the `hello` method throws an exception, the invocation will be retried several times, until the method returns a value. + +The annotation may also be present on a class, in which case it applies to all business method in the class: + +[source,java] +---- +package com.example; + +@ApplicationScoped +@Retry // <1> +public class MyService { + public String hello() { // <2> + ... + } +} +---- +<1> `@Retry` is a fault tolerance annotation. +<2> The `hello()` method will use the retry strategy, because it is defined on the class. + +A class-level annotation may be overridden by explicitly annotating a method. + +TIP: CDI beginners often expect that this will work if you create an instance manually: `new MyService()`. +That is not the case. +You have to let the CDI container construct an instance for you and inject it: `@Inject MyService service`. +What you get injected is actually a proxy that implements the additional behaviors. + +The fault tolerance strategies present in {microprofile-fault-tolerance}, together with the corresponding annotations, are: + +* `@Asynchronous`: offload method execution to another thread +* `@Bulkhead`: limit concurrent invocations +* `@CircuitBreaker`: prevent invocations if previous invocations failed too often +* `@Fallback`: provide alternative result in case of a failure +* `@Retry`: retry several times in case of a failure +* `@Timeout`: fail if the invocation takes too long + +{smallrye-fault-tolerance} adds some more fault tolerance strategies and annotations: + +* `@ApplyGuard`: apply a programmatically-defined guard +* `@AsynchronousNonBlocking`: apply asynchronous fault tolerance without offloading method execution to another thread +* `@RateLimit`: limit rate of method invocations + +These are all described in the corresponding how-to and reference guides. +The {microprofile-fault-tolerance} features are also described in the {microprofile-fault-tolerance-url}[specification]. + +== Configuration + +The fault tolerance strategies can be configured using annotations, such as: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 10, retryOn = IOException.class) // <1> + public String hello() { + ... + } +} +---- + +<1> Retries will only be attempted if the thrown exception was `IOException`. +Other exceptions will be rethrown directly. +Also, the maximum number of retry attempts is changed to 10 (the default is 3). + +This is convenient, but changing such configuration requires recompilation. +For that reason, configuration using MicroProfile Config is also possible. +For example: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService/hello".retry.max-retries=5 <1> + +# alternatively, a specification-defined property can be used +com.example.MyService/hello/Retry/maxRetries=5 <1> +---- +<1> Even though the `@Retry` annotation says that `maxRetries` should be 10, this configuration takes precedence. +The maximum number of retries will be 5. + +Since this example configuration does not modify the `retryOn` setting, the configuration provided in the annotation still applies. + +For more information about configuration, see xref:reference/config.adoc[the Configuration reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/latest/howto/bulkhead.adoc b/content/docs/smallrye-fault-tolerance/latest/howto/bulkhead.adoc new file mode 100644 index 000000000..39326779c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/howto/bulkhead.adoc @@ -0,0 +1,33 @@ += How to Limit Concurrency +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to prevent an operation from having too many concurrent executions using a _bulkhead_. + +NOTE: In general, the term _bulkhead_ refers to system compartmentalization, or the practice of preventing failures in one part of the system from spreading to other parts of the system. +In {microprofile-fault-tolerance}, the term refers to one specific instance of the general idea: a _concurrency limiter_. + +== `@Bulkhead` + +The `@Bulkhead` annotation specifies that a concurrency limit should be enforced for all calls of the method. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Bulkhead // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must not have too many concurrent executions. +Since there is no configuration, the default is at most 10 concurrent calls. + +If some callers attempt to invoke the method when the concurrency limit has already been reached, they will fail with `BulkheadException`. + +It is possible to specify the maximum allowed concurrency, as well as define a queue for excess invocations in case of xref:howto/asynchronous.adoc[asynchronous methods]. + +== Links + +For more information, see xref:reference/bulkhead.adoc[the Bulkhead reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/latest/howto/circuit-breaker.adoc b/content/docs/smallrye-fault-tolerance/latest/howto/circuit-breaker.adoc new file mode 100644 index 000000000..0dcd618ec --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/howto/circuit-breaker.adoc @@ -0,0 +1,33 @@ += How to Fail Fast on Recurring Failures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If an operation fails too often, it is possible to prevent executing that operation and fail fast using a _circuit breaker_. + +The circuit breaker starts _closed_, in which state it allows all invocations to proceed. +If too many invocations fail, the circuit breaker moves to _open_, in which state it prevents all invocations and fails fast. +After some time in _open_, the circuit breaker moves to _half-open_, in which state it determines whether it should continue failing fast (and move back to _open_) or allow invocations again (and move to _closed_). + +== `@CircuitBreaker` + +The `@CircuitBreaker` annotation specifies that method invocations should be prevented if the method failed too often recently. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @CircuitBreaker // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must be guarded with a circuit breaker. + +If some callers attempt to invoke the method when the circuit breaker is _open_, they will fail with `CircuitBreakerOpenException`. + +It is possible to configure the number of recent invocations the circuit breaker should track, the failure rate, and so on. + +== Links + +For more information, see xref:reference/circuit-breaker.adoc[the Circuit Breaker reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/latest/howto/fallback.adoc b/content/docs/smallrye-fault-tolerance/latest/howto/fallback.adoc new file mode 100644 index 000000000..a0fb8826d --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/howto/fallback.adoc @@ -0,0 +1,62 @@ += How to Supply Fallback Values +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If an operation fails, it is often possible to replace the failure with an alternative result: a _fallback_. + +== `@Fallback` + +=== Using a Fallback Method + +The `@Fallback` annotation allows specifying a method that should be called in case an exception is thrown. +The fallback method must have the same parameter types as the guarded method, and must return a type that is assignable to the guarded method's return type. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") // <1> + public String hello() { + ... + } + + private String fallback() { + return "fallback"; + } +} +---- +<1> Declares that if `hello()` throws an exception, the `fallback()` method is called and its result is returned instead. + +In this particular case, if `hello()` throws an exception, that exception is swallowed and the string `"fallback"` is returned. +It is possible to specify that fallback should only apply to certain exception types or that it should be skipped for certain exception types. + +=== Using a Fallback Handler + +Alternatively, the `@Fallback` annotation allows specifying a fallback handler that should be called. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(MyFallback.class) // <1> + public String hello() { + ... + } +} +---- +<1> Declares that if `hello()` throws an exception, the `MyFallback` handler is used to obtain a fallback value. + +[source,java] +---- +public class MyFallback implements FallbackHandler { // <1> + String handle(ExecutionContext context) { // <2> + return "fallback"; + } +} +---- +<1> A fallback handler must implement the `FallbackHandler` interface. +<2> The `ExecutionContext` provides access to the guarded method, its parameter values, and the thrown exception. + +== Links + +For more information, see xref:reference/fallback.adoc[the Fallback reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/latest/howto/multiple.adoc b/content/docs/smallrye-fault-tolerance/latest/howto/multiple.adoc new file mode 100644 index 000000000..7ee19a470 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/howto/multiple.adoc @@ -0,0 +1,58 @@ += How to Use Multiple Strategies +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to use multiple fault tolerance strategies to guard a single method. +For example, it is possible to use fallback together with retry and timeout: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 5) + @Fallback(fallbackMethod = "fallback") + @Timeout + public String hello() { + ... + } + + public String fallback() { + return "fallback"; + } +} +---- + +In such case, the fault tolerance strategies are nested in a pre-defined order: + +[source] +---- +Fallback( + Retry( + CircuitBreaker( + RateLimit( + Timeout( + Bulkhead( + ... the guarded method ... + ) + ) + ) + ) + ) +) +---- + +In the previous example, this means that timeout is nested inside retry, which in turn is nested inside fallback. +If the method times out (the default timeout is 1 second), it is retried (up to 5 times). +If no attempt succeeds, fallback is used. + +== Links + +Reference guides for all fault tolerance strategies explain in detail how they interact with one another: + +* xref:reference/asynchronous.adoc#interactions[@Asynchronous and @AsynchronousNonBlocking] +* xref:reference/bulkhead.adoc#interactions[@Bulkhead] +* xref:reference/circuit-breaker.adoc#interactions[@CircuitBreaker] +* xref:reference/fallback.adoc#interactions[@Fallback] +* xref:reference/rate-limit.adoc#interactions[@RateLimit] +* xref:reference/retry.adoc#interactions[@Retry] +* xref:reference/timeout.adoc#interactions[@Timeout] diff --git a/content/docs/smallrye-fault-tolerance/latest/howto/rate-limit.adoc b/content/docs/smallrye-fault-tolerance/latest/howto/rate-limit.adoc new file mode 100644 index 000000000..c818bfdfe --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/howto/rate-limit.adoc @@ -0,0 +1,33 @@ += How to Limit Execution Rate +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +It is possible to prevent an operation from being executed too often using a _rate limit_. + +== `@RateLimit` + +The `@RateLimit` annotation specifies that a rate limit should be enforced for all method calls. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @RateLimit // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must not be called too often. +Since there is no configuration, the default is at most 100 calls per 1 minute. + +If the method is called too often, excess attempts will fail with `RateLimitException`. + +It is possible to specify the maximum allowed rate of execution (the rate limit), together with minimum spacing between invocations. +There are also several types of rate limiting to choose from. + +== Links + +For more information, see xref:reference/rate-limit.adoc[the Rate Limit reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/latest/howto/retry.adoc b/content/docs/smallrye-fault-tolerance/latest/howto/retry.adoc new file mode 100644 index 000000000..865403c37 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/howto/retry.adoc @@ -0,0 +1,33 @@ += How to Retry on Failures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If an operation fails, it is possible to _retry_ the operation in case the failure was just a temporary glitch. + +CAUTION: In case an operation fails due to the target system being overloaded, retrying will likely make the overload situation even worse. +Use sparingly, preferably with a xref:howto/bulkhead.adoc[concurrency limit] or a xref:howto/circuit-breaker.adoc[circuit breaker]. + +== `@Retry` + +The `@Retry` annotation specifies that a method should be called again in case a previous execution thrown an exception. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry // <1> + public String hello() { + ... + } +} +---- +<1> Declares that if `hello()` throws an exception, the exception is swallowed and `hello()` is called again. +Since there is no configuration, at most 3 retry attempts will be done before rethrowing the exception. + +It is possible to specify the maximum number of retry attempts, as well as the maximum duration for which retries should be attempted. +Further, it is possible to specify some delay between retry attempts, together with random jitter. +Finally, it is possible to specify that calls should be retried only for certain exception types or that retrying should be aborted for certain exception types. + +== Links + +For more information, see xref:reference/retry.adoc[the Retry reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/latest/howto/timeout.adoc b/content/docs/smallrye-fault-tolerance/latest/howto/timeout.adoc new file mode 100644 index 000000000..c3e9fdf8b --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/howto/timeout.adoc @@ -0,0 +1,28 @@ += How to Watch for Timeouts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to prevent an operation from taking too long using a _timeout_. + +== `@Timeout` + +The `@Timeout` annotation specifies that all calls of the method should fail if they take too long. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Timeout // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must not take too long. +Since there is no configuration, the default is at most 1 second. + +If the method call takes too long, the caller will get a `TimeoutException` instead. + +== Links + +For more information, see xref:reference/timeout.adoc[the Timeout reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/latest/images/diagrams/mermaid-f40d3cbcabca.dark.svg b/content/docs/smallrye-fault-tolerance/latest/images/diagrams/mermaid-f40d3cbcabca.dark.svg new file mode 100644 index 000000000..cfe00df23 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/images/diagrams/mermaid-f40d3cbcabca.dark.svg @@ -0,0 +1 @@ +

Recent invocations failed too often

Configured time elapsed

All probe invocations succeeded

Some probe invocations failed

[CLOSED] Allow invocations and track the number of successes and failures

[OPEN] Fail fast, prevent all invocations

[HALF-OPEN] Allow some probe invocations to proceed

\ No newline at end of file diff --git a/content/docs/smallrye-fault-tolerance/latest/images/diagrams/mermaid-f40d3cbcabca.svg b/content/docs/smallrye-fault-tolerance/latest/images/diagrams/mermaid-f40d3cbcabca.svg new file mode 100644 index 000000000..a31aed359 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/images/diagrams/mermaid-f40d3cbcabca.svg @@ -0,0 +1 @@ +

Recent invocations failed too often

Configured time elapsed

All probe invocations succeeded

Some probe invocations failed

[CLOSED] Allow invocations and track the number of successes and failures

[OPEN] Fail fast, prevent all invocations

[HALF-OPEN] Allow some probe invocations to proceed

\ No newline at end of file diff --git a/content/docs/smallrye-fault-tolerance/latest/index.adoc b/content/docs/smallrye-fault-tolerance/latest/index.adoc new file mode 100644 index 000000000..c8eccf252 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/index.adoc @@ -0,0 +1,77 @@ += SmallRye Fault Tolerance Documentation +include::_attributes.adoc[] + +{smallrye-fault-tolerance} {smallrye-fault-tolerance-version} is an implementation of https://github.com/eclipse/microprofile-fault-tolerance/[Eclipse {microprofile-fault-tolerance}] {microprofile-fault-tolerance-version} with additional features not defined by the specification. + +It provides a declarative, annotation-based API for guarding method calls: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry // <1> + public String hello() { + ... + } +} +---- +<1> If `hello()` throws an exception, the invocation will be retried several times, until the method returns a value. + +It also provides a programmatic API to build reusable guards: + +[source,java] +---- +public class MyService { + private static final TypedGuard GUARD = TypedGuard.create(String.class) + .withFallback().handler(() -> "fallback").done() // <1> + .build(); + + public String hello() throws Exception { + return GUARD.call(() -> externalService.hello()); // <2> + } +} +---- +<1> If the guarded call throws an exception, the fallback value will be returned instead. +<2> The guarded call simply invokes some external service. + +CAUTION: The fault tolerance strategies provided by {smallrye-fault-tolerance} are best suited for guarding network interactions. +To handle ordinary exceptions, it is typically best to use the plain old `try` / `catch` / `finally` blocks. +Using {smallrye-fault-tolerance} as a replacement of exception handling is often a bad idea. + +NOTE: Some additional features may have experimental status, marked by the `@Experimental` annotation. +The programmatic API to build reusable guards, as mentioned above, is one example, but there are more. + +== Runtimes + +Runtimes that currently use {smallrye-fault-tolerance} include: + +* https://quarkus.io/[Quarkus] +* https://wildfly.org/[WildFly] + +== Navigation + +This documentation site has several sections, as you can see in the menu. + +=== How-to Guides + +How-tos are task-oriented guides that let you quickly start using some feature. +They provide a short overview, but not many details. + +TIP: If you're just starting with {smallrye-fault-tolerance}, start with the how-tos. + +=== References + +References are detailed guides that let you understand some feature in depth. +They also provide information about more advanced options or features. + +TIP: If the how-to guide doesn't answer a question you have, the reference guide should. + +=== Integration + +The articles here address concerns that runtimes integrating {smallrye-fault-tolerance} might have. +Useful for people who maintain {smallrye-fault-tolerance} integration into some bigger framework or platform, but not required for application developers. + +=== Internals + +A few random articles that describe some parts of the {smallrye-fault-tolerance} code base. +Useful for prospective contributors or generally curious users, but not required for application developers. diff --git a/content/docs/smallrye-fault-tolerance/latest/integration/async-types.adoc b/content/docs/smallrye-fault-tolerance/latest/integration/async-types.adoc new file mode 100644 index 000000000..f4706c68c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/integration/async-types.adoc @@ -0,0 +1,15 @@ += Additional Asynchronous Types Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns for xref:reference/asynchronous.adoc#async-types[Additional Asynchronous Types]. + +To enable support of additional asynchronous types, it is required that the support library is present. +That is: + +* https://smallrye.io/smallrye-mutiny/[Mutiny]: `io.smallrye:smallrye-fault-tolerance-mutiny` +* https://github.com/ReactiveX/RxJava/tree/3.x[RxJava 3]: `io.smallrye:smallrye-fault-tolerance-rxjava3` +* https://vertx.io/docs/vertx-core/java/#_future_results[Vert.x `Future`]: `io.smallrye:smallrye-fault-tolerance-vertx` + +These libraries include some service providers that {smallrye-fault-tolerance} will automatically load and use. +Therefore, no more integration is necessary. diff --git a/content/docs/smallrye-fault-tolerance/latest/integration/context-propagation.adoc b/content/docs/smallrye-fault-tolerance/latest/integration/context-propagation.adoc new file mode 100644 index 000000000..a39b7816d --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/integration/context-propagation.adoc @@ -0,0 +1,8 @@ += Context Propagation +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} supports MicroProfile Context Propagation for `@Asynchronous` method invocations, if 2 conditions are satisfied: + +- the integrator provides a MicroProfile Context Propagation enabled thread pool (see xref:integration/thread-pool.adoc[Thread Pool]); +- the `io.smallrye:smallrye-fault-tolerance-context-propagation` artifact is present (it provides alternative implementations of some internal services, loaded using `ServiceLoader`). diff --git a/content/docs/smallrye-fault-tolerance/latest/integration/event-loop.adoc b/content/docs/smallrye-fault-tolerance/latest/integration/event-loop.adoc new file mode 100644 index 000000000..2cc5818ac --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/integration/event-loop.adoc @@ -0,0 +1,37 @@ += Event Loop +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} provides an API to integrate with event loops used in non-blocking runtimes. + +WARNING: This integration API comes from the `core` module and so is treated as private. +If you intend to implement it, please let us know in the {smallrye-fault-tolerance} issue tracker. +We'd prefer all the implementations to live in the {smallrye-fault-tolerance} project. + +The integrator must implement the `EventLoop` interface, which lets {smallrye-fault-tolerance} submit ``Runnable``s to the event loop for execution. +Implementations are discovered through `ServiceLoader`, so the corresponding `META-INF/services/\...` file must also exist. + +At most one implementation of `EventLoop` may be present at runtime. +{smallrye-fault-tolerance} will use it to execute non-blocking guarded methods when the caller was originally on an event loop thread. +This is important in case of: + +- retries, when there's a delay between retry attempts (the delay must not block); +- bulkheads, when a task is queued (such task is executed when some other task finishes, which happens on an unknown thread). + +If no event loop integration is present, the tasks described above will be offloaded to the xref:integration/thread-pool.adoc[thread pool]. + +The event loop integration is also used in some other situations when guarding non-blocking methods: + +- fallbacks, when the original method fails (the fallback is executed on the original event loop); +- timeouts, when timeout occurs (the failure is signalled on the original event loop). + +== Vert.x + +{smallrye-fault-tolerance} includes an implementation of the event loop integration API for Vert.x. +This implementation is compiled and tested against Vert.x version {vertx-version}, but should also work fine with Vert.x 4.x. + +This implementation is present in the `io.smallrye:smallrye-fault-tolerance-vertx` artifact. +Including this artifact is enough to enable the Vert.x integration. + +NOTE: The Vert.x implementation is treated as public, but only as described here. +That is, the artifact should be treated as opaque, no guarantees about its internals are made. diff --git a/content/docs/smallrye-fault-tolerance/latest/integration/intro.adoc b/content/docs/smallrye-fault-tolerance/latest/integration/intro.adoc new file mode 100644 index 000000000..6f416fe4c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/integration/intro.adoc @@ -0,0 +1,40 @@ += Introduction +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} comprises the following main artifacts: + +* `io.smallrye:smallrye-fault-tolerance-api`: public API for the features provided on top of {microprofile-fault-tolerance}, including a programmatic API; +* `io.smallrye:smallrye-fault-tolerance-apiimpl`: implementation of the programmatic API; +* `io.smallrye:smallrye-fault-tolerance-core`: core implementations of fault tolerance strategies; +* `io.smallrye:smallrye-fault-tolerance`: CDI-based implementation of {microprofile-fault-tolerance} with {smallrye-fault-tolerance} extensions, including a programmatic API; +* `io.smallrye:smallrye-fault-tolerance-autoconfig-core`: runtime part of the {smallrye-fault-tolerance} configuration system. +** (There's also `io.smallrye:smallrye-fault-tolerance-autoconfig-processor`, but that is only used during {smallrye-fault-tolerance} build and isn't required at runtime.) + +These artifacts must be always present, together with the following dependencies: + +* Jakarta CDI, Annotations and Interceptors API; +* `org.eclipse.microprofile.fault-tolerance:microprofile-fault-tolerance-api`; +* `org.eclipse.microprofile.config:microprofile-config-api` and some implementation; +* `org.jboss.logging:jboss-logging`. + +Some other artifacts are provided to facilitate additional integrations. +These are described in the subsequent sections. + +Most of the integration is performed automatically by the CDI Portable Extension present in {smallrye-fault-tolerance}: `io.smallrye.faulttolerance.FaultToleranceExtension`. +Make sure the extension is active. +The remaining integration concerns are described in the following sections: + +* xref:integration/metrics.adoc[emitting metrics] for fault tolerance strategies; +* xref:integration/thread-pool.adoc[providing a thread pool] for `@Asynchronous` methods and other asynchronous tasks; +* xref:integration/context-propagation.adoc[enabling Context Propagation] for `@Asynchronous` methods; +* xref:integration/event-loop.adoc[integrating an event loop] for non-blocking method invocations; +* xref:integration/async-types.adoc[integrating additional types] for asynchronous invocations; +* xref:integration/kotlin.adoc[integrating Kotlin support] for `suspend` functions; +* xref:integration/programmatic-api.adoc[integrating the programmatic API] that {smallrye-fault-tolerance} provides. + +== Standalone Implementation of the Programmatic API + +A completely standalone implementation of the programmatic API exists in the `io.smallrye:smallrye-fault-tolerance-standalone` artifact. +This is supposed to be used in a non-CDI environment. +Runtimes that integrate {smallrye-fault-tolerance} typically do so using CDI, and so should ignore this artifact. diff --git a/content/docs/smallrye-fault-tolerance/latest/integration/kotlin.adoc b/content/docs/smallrye-fault-tolerance/latest/integration/kotlin.adoc new file mode 100644 index 000000000..98d9804f9 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/integration/kotlin.adoc @@ -0,0 +1,11 @@ += Kotlin Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns for xref:reference/asynchronous.adoc#kotlin-suspend-functions[Kotlin `suspend` functions]. + +To enable support of Kotlin suspending functions, it is required that the support library is present. +Its coordinates are: `io.smallrye:smallrye-fault-tolerance-kotlin`. + +This library includes some service providers that {smallrye-fault-tolerance} will automatically load and use. +Therefore, no more integration is necessary. diff --git a/content/docs/smallrye-fault-tolerance/latest/integration/metrics.adoc b/content/docs/smallrye-fault-tolerance/latest/integration/metrics.adoc new file mode 100644 index 000000000..fda9de26f --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/integration/metrics.adoc @@ -0,0 +1,66 @@ += Metrics +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} provides support for OpenTelemetry and Micrometer. +Alternatively, metrics may be completely disabled at the integration level. + +As usual, this integration is based on CDI. +{smallrye-fault-tolerance} includes an internal interface `MetricsProvider` and these implementations: + +* `io.smallrye.faulttolerance.metrics.OpenTelemetryProvider` +* `io.smallrye.faulttolerance.metrics.MicrometerProvider` +* `io.smallrye.faulttolerance.metrics.NoopProvider` + +There are 2 possible ways how to integrate metrics: + +* exactly 1 class from the list above is a bean; +* more than 1 class from the list above is a bean, in which case, `io.smallrye.faulttolerance.metrics.CompoundMetricsProvider` must also be a bean. + +NOTE: Only the _names_ of the classes listed above are treated as public. +That is, the classes should be treated as opaque, no guarantees about their internals are made. + +== Default Integration + +In case the integrator uses the CDI Portable Extension `FaultToleranceExtension` and lets the container create an instance, metrics presence is discovered automatically. +All present metrics systems are used. + +== Using a `FaultToleranceExtension` Constructor + +In case the integrator uses the CDI Portable Extension `FaultToleranceExtension` and creates its instance manually, they can use a constructor. + +In addition to a zero-parameter constructor, which is used in the default integration as described above, there are constructors that take a parameter of `MetricsIntegration` or `Set`. + +`MetricsIntegration` is an enum with these values: + +* `OPENTELEMETRY`: use OpenTelemetry (MicroProfile Telemetry) integration +* `MICROMETER`: use Micrometer integration +* `NOOP`: no metrics + +== Metrics Providers + +Metrics providers have additional requirements, as described below. + +=== OpenTelemetry + +If OpenTelemetry should be used, the integrator must ensure that the following artifact is present: + +* `io.opentelemetry:opentelemetry-api`. + +Further, a bean of type `io.opentelemetry.api.metrics.Meter` must exist. +This bean is used to emit the actual metrics. + +=== Micrometer + +If Micrometer should be used, the integrator must ensure that the following artifact is present: + +* `io.micrometer:micrometer-core`. + +Further, a bean of type `io.micrometer.core.instrument.MeterRegistry` must exist. +This bean is used to emit the actual metrics. + +=== Noop + +If the "noop" provider is used, metrics are completely disabled. + +No metrics API and implementation is required in this case. diff --git a/content/docs/smallrye-fault-tolerance/latest/integration/programmatic-api.adoc b/content/docs/smallrye-fault-tolerance/latest/integration/programmatic-api.adoc new file mode 100644 index 000000000..636973a75 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/integration/programmatic-api.adoc @@ -0,0 +1,48 @@ += Programmatic API Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns of the xref:reference/programmatic-api.adoc[Programmatic API] of {smallrye-fault-tolerance}. + +== CDI Implementation + +Runtimes that provide the CDI implementation of the programmatic API don't have to do any extra integration work. +The existing integration is enough. + +== Standalone Implementation + +The standalone implementation exposes a single integration point: the `StandaloneFaultTolerance.configure()` static method. +This method must be called before fault tolerance is first used. +It accepts a custom implementation of the `Configuration` interface, which allows customizing: + +* `enabled()`: if `false`, all fault tolerance strategies except fallback and thread offload are disabled +* `executor()`: executor for thread offloads and other asynchronous tasks +* `metricsAdapter()`: adapter for metrics, see below + +When no `Configuration` is provided, sensible defaults are used: + +* fault tolerance is enabled unless system property `MP_Fault_Tolerance_NonFallback_Enabled` is set to `false` +* a thread pool obtained using `Executors.newCachedThreadPool()` is used as an executor +* no metrics are emitted + +Users of the standalone implementation that also use an event loop based library, such as Vert.x, may integrate the event loop support as described in xref:integration/event-loop.adoc[Event Loop]. + +=== Lifecycle + +The thread pool and all other internal resources are initialized lazily, on the first use. +The `StandaloneFaultTolerance.shutdown()` method may be used on application shutdown to shut down these internal resources. + +The executor is only shut down when no `Configuration` was provided and {smallrye-fault-tolerance} had to create an executor on its own. +If `Configuration` was provided, the executor shutdown is left to the integrator; it is _not_ attempted automatically. + +At the end of `StandaloneFaultTolerance.shutdown()`, the `Configuration.onShutdown()` method is called. + +After `StandaloneFaultTolerance.shutdown()`, it is not possible to reinitialize {smallrye-fault-tolerance} again. + +=== Metrics + +It is possible to integrate with OpenTelemetry or Micrometer. + +The `Configuration.metricsAdapter()` method must be implemented and return an instance of `io.smallrye.faulttolerance.standalone.OpenTelemetryAdapter` or `io.smallrye.faulttolerance.standalone.MicrometerAdapter`. +The constructor of `OpenTelemetryAdapter` accepts the `Meter` to which metrics shall be emitted. +The constructor of `MicrometerAdapter` accepts the `MeterRegistry` to which metrics shall be emitted. diff --git a/content/docs/smallrye-fault-tolerance/latest/integration/thread-pool.adoc b/content/docs/smallrye-fault-tolerance/latest/integration/thread-pool.adoc new file mode 100644 index 000000000..b223fd4fb --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/integration/thread-pool.adoc @@ -0,0 +1,30 @@ += Thread Pool +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} expects integrators to provide a thread pool for running `@Asynchronous` methods and other asynchronous tasks. +This integration is based on CDI. + +The integrator should provide a CDI bean which implements `AsyncExecutorProvider`. +The bean should be `@Singleton`, must be marked as alternative and selected globally for the application. + +There is a default thread pool in case no integration is provided, but it shouldn't be used outside of tests or experiments. +This is provided by the `AsyncExecutorProvider` default implementation, `DefaultAsyncExecutorProvider`. + +Integrators that are themselves Jakarta EE application servers and don't want to expose their own thread pool can subclass `DefaultAsyncExecutorProvider`. +This at least allows customizing the `ThreadFactory`. + +== Configuration + +If the integrator doesn't provide a thread pool, the default thread pool is used as described above. +In such case, the following configuration properties are recognized: + +- `io.smallrye.faulttolerance.mainThreadPoolSize`: maximum number of threads in the thread pool. +Defaults to `100`. + +- `io.smallrye.faulttolerance.mainThreadPoolQueueSize`: size of the queue that the thread pool should use. +Can be `> 0`, in which case the queue will be bounded to given size. +Can be `0`, in which case there will be no queue, and the thread pool will reject excess tasks. +Can be `-1`, in which case the queue will be unbounded. +Values `< -1` are an error. +Defaults to `-1`. diff --git a/content/docs/smallrye-fault-tolerance/latest/internals/config.adoc b/content/docs/smallrye-fault-tolerance/latest/internals/config.adoc new file mode 100644 index 000000000..6e505c7b2 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/internals/config.adoc @@ -0,0 +1,119 @@ += Configuration System +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/internals.adoc[] + +The xref:internals/core.adoc[core] fault tolerance strategies are configured simply by constructor parameters. +This is fine, since they are an internal implementation detail. +However, the constructor parameters correspond closely to the members of {microprofile-fault-tolerance} annotations. +The idea is that core fault tolerance strategies have no dependency on the {microprofile-fault-tolerance} API, but given a fault tolerance annotation, creating an instance of the corresponding strategy should be straightforward. + +On top of the core layer, {smallrye-fault-tolerance} implements {microprofile-fault-tolerance}, including a configuration system conforming to the specification. +This document briefly describes how the configuration system works. + +== `FaultToleranceOperation` + +The fault tolerance interceptor, which is the main entrypoint, looks up a `FaultToleranceOperation` instance for each class/method combination it has to process. +The `FaultToleranceOperation` holds a bean class, a descriptor of the guarded method, and configuration for each fault tolerance strategy applied to the method. +It also orchestrates configuration validation. +The interceptor uses a `FaultToleranceOperation` to instantiate all the core fault tolerance strategies for given guarded method. + +The `FaultToleranceOperation` instances are created early on, during application deployment, for all beans that use {microprofile-fault-tolerance}. +It may happen that a `FaultToleranceOperation` is created lazily, for special constructs such as runtime-built proxies, but that is largely irrelevant from the configuration perspective. + +== `FaultToleranceMethod` + +A `FaultToleranceOperation` is created from a `FaultToleranceMethod`. +A `FaultToleranceMethod` holds, again, a bean class, a descriptor of the guarded method, and the annotation instance for each annotation that is present on the guarded method or the class declaring the method. +It also knows what annotations have been declared directly on the method, and what annotations have been declared on the class. +This is because the {microprofile-fault-tolerance} configuration rules distinguish these two cases. + +A `FaultToleranceMethod` must be created in a CDI extension, because it represents the knowledge CDI has about the guarded method. +Note that CDI extensions may add, remove or modify annotations, so `FaultToleranceMethod` doesn't just hold the annotation instances as present in the class bytecode. + +.Quarkus +**** +In environments that bootstrap the CDI container during application build, such as Quarkus, the set of all ``FaultToleranceMethod``s in the application should be collected during build and transferred to runtime. +Then, at application runtime, ``FaultToleranceOperation``s should be created and validated. + +{smallrye-fault-tolerance} doesn't do anything like that, but is designed with Quarkus (and CDI Lite) in mind. +**** + +The main difference between `FaultToleranceMethod` and `FaultToleranceOperation` is that `FaultToleranceMethod` holds annotation instances, while `FaultToleranceOperation` holds configuration. + +== `@AutoConfig` + +As described above, `FaultToleranceMethod` holds annotation instances, while `FaultToleranceOperation` holds configuration. +Yet, `FaultToleranceOperation` exposes the annotation types (such as `@CircuitBreaker`) to anyone who needs the configuration. +The configuration consumers simply call the annotation methods (such as `requestVolumeThreshold()`), and configuration is handled behind the scenes, following the {microprofile-fault-tolerance} configuration rules. + +The infrastructure behind this is present in the `autoconfig` module. +This module allows creating simple configuration interfaces like this: + +[source,java] +---- +@AutoConfig +interface CircuitBreakerConfig extends CircuitBreaker, Config { + default void validate() { + ... + } +} +---- + +The config interface must: + +. be annotated with `@AutoConfig`; +. extend the annotation interface (`CircuitBreaker` in this case); +. extend the `Config` (or `ConfigDeclarativeOnly`) interface (from the `autoconfig/core` module); +. provide a `default` implementation of the `validate` method (defined in `Config`). + +For each such interface, an implementation class will be automatically generated by an annotation processor (implemented in the `autoconfig/processor` module). +In this case, it would be called `CircuitBreakerConfigImpl`. + +This implementation class has a `static` method called `create()` that accepts a `FaultToleranceMethod`. +It follows that for each guarded method, a new instance must be created. +If given `FaultToleranceMethod` doesn't contain an instance of particular annotation, `create()` simply returns `null`. + +The implementation class also overrides all methods from the annotation type. +Each annotation method is implemented to first consult MicroProfile Config, and only second to consult the annotation instance (which, as we described above, is present on the `FaultToleranceMethod`). + +The implementation class is supposed to be used just like the annotation type itself. +In other words, to obtain configured values, call the annotation methods on the config interface instance. +For example, to obtain the `requestVolumeThreshold` value, with respect to the {microprofile-fault-tolerance} configuration rules, we obtain an instance of `CircuitBreakerConfigImpl` and call `requestVolumeThreshold()`. + +The `FaultToleranceOperation` class holds instances of these config interfaces, and exposes them to configuration consumers. +It actually only exposes the annotation types, not the full config interface, but that is enough. + +== Putting it all together + +Let's recap how it all works. + +First, for each guarded method in the application, a `FaultToleranceMethod` instance is created, holding all the annotations that affect the method. + +Second, for each `FaultToleranceMethod`, a `FaultToleranceOperation` is created. +That, in turn, creates an instance of all relevant config interfaces. + +Finally, the fault tolerance interceptor looks up a `FaultToleranceOperation` and creates a chain of fault tolerance strategies. +For each fault tolerance strategy in the chain, the interceptor looks up configuration values from the corresponding config interface. + +The chain of fault tolerance strategies is created on the first invocation to a given guarded method and cached for all subsequent invocations. +That is how we satisfy the requirement that all stateful fault tolerance strategies are singletons, but that's a different story. + +== Supplement: Programmatic API + +The description above is slightly simplified for readability. +It is precise enough to describe how configuration works in the declarative, annotation-based API. + +The programmatic API itself supports configuration when used together with `@ApplyGuard`. +However, it doesn't support configuring _all_ strategies; some are built in a different manner and no configuration is possible. + +Therefore, the `FaultToleranceOperation` class described above is actually split into 2 classes: + +* `BasicFaultToleranceOperation`, which is shared for both configuration systems and holds all `Config` objects, +* its subclass `FaultToleranceOperation`, which only applies in case of the declarative API and holds all `ConfigDeclarativeOnly` objects. + +In addition to the description above, implementations of the `Config` interface (but not `ConfigDeclarativeOnly`) also include a `create()` method that takes a `String` identifier and a `Supplier` of the backing annotation instance. +This is supposed to be used to create an instance for configuring the programmatic API, because there's no `FaultToleranceMethod` in such case. +Also, a zero-configuration implementation of the `Config` interface is generated, called `...NoConfigImpl`. +This exists to be able to use the config interface even in the non-`@ApplyGuard` case, where no configuration is possible. diff --git a/content/docs/smallrye-fault-tolerance/latest/internals/core.adoc b/content/docs/smallrye-fault-tolerance/latest/internals/core.adoc new file mode 100644 index 000000000..271f108a9 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/internals/core.adoc @@ -0,0 +1,123 @@ += Fault Tolerance Core +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/internals.adoc[] + +The core idea in {smallrye-fault-tolerance} is a `FaultToleranceStrategy`. +It is an interface that looks like this: + +[source,java] +---- +interface FaultToleranceStrategy { + Future apply(FaultToleranceContext ctx); +} +---- + +NOTE: The `Future` type here is _not_ a `java.util.concurrent.Future`. +It comes from {smallrye-fault-tolerance} and it could be described as a very bare-bones variant of `CompletableFuture`, except it's split into `Completer` and `Future`. +It is not supposed to be used outside of this project. + +The `FaultToleranceContext` is similar to a `Callable>`; it represents the method invocation guarded by this fault tolerance strategy. +The fault tolerance strategy does its work around `ctx.call()`. +It can catch exceptions, invoke `ctx.call()` multiple times, invoke something else, etc. +As an example, let's consider this strategy, applicable to methods that return a `String`: + +[source,java] +---- +public class MyStringFallback implements FaultToleranceStrategy { + @Override + public Future apply(FaultToleranceContext ctx) { + Completer completer = Completer.create(); + try { + ctx.call().then((value, error) -> { + if (error == null) { + completer.complete(value); + } else { + completer.complete("my string value"); + } + }); + } catch (Exception ignored) { + completer.complete("my string value"); + } + return completer.future(); + } +} +---- + +This is a very simple fallback mechanism, which returns a pre-defined value in case of an exception. + +In the {smallrye-fault-tolerance} codebase, you can find implementations of all the strategies required by {microprofile-fault-tolerance}: retry, fallback, timeout, circuit breaker or bulkhead. +Asynchronous invocation, delegated to a thread pool, is of course also supported. + +When multiple fault tolerance strategies are supposed to be used to guard one method, they form a chain. +Continuing with our simple example, adding the ability to chain with another strategy would look like this: + +[source,java] +---- +public class MyStringFallback implements FaultToleranceStrategy { + private final FaultToleranceStrategy delegate; + + public MyStringFallback(FaultToleranceStrategy delegate) { + this.delegate = delegate; + } + + @Override + public Future apply(FaultToleranceContext ctx) { + Completer completer = Completer.create(); + try { + delegate.apply(ctx).then((value, error) -> { + if (error == null) { + completer.complete(value); + } else { + completer.complete("my string value"); + } + }); + } catch (Exception ignored) { + completer.complete("my string value"); + } + return completer.future(); + } +} +---- + +We see that one strategy delegates to another, passing the `FaultToleranceContext` along. +In fact, all the implementations in {smallrye-fault-tolerance} are written like this: they expect to be used in a chain, so they take another `FaultToleranceStrategy` to which they delegate. +But if all strategies have this form, when is `ctx.call()` actually invoked? +Good question! +The ultimate `ctx.call()` invocation is done by a special fault tolerance strategy which is called, well, `Invocation`. + +As an example which uses real {microprofile-fault-tolerance} annotations, let's consider this method: + +[source,java] +---- +@Retry(...) +@Timeout(...) +@Fallback(...) +public void doSomething() { + ... +} +---- + +The chain of fault tolerance strategies will look roughly like this: + +[source] +---- +Fallback( + Retry( + Timeout( + Invocation( + // ctx.call() will happen here + // that will, in turn, invoke doSomething() + ) + ) + ) +) +---- + +The order in which the strategies are chained (or, in fact, nested) is specified by {microprofile-fault-tolerance}. + +Other strategies might also be present in more complex cases. +For example, if metrics are enabled, a special strategy is used that collects metrics. +If the method is `@Asynchronous`, a special strategy is used that offloads method execution to another thread. +Etc. diff --git a/content/docs/smallrye-fault-tolerance/latest/internals/instructions.adoc b/content/docs/smallrye-fault-tolerance/latest/internals/instructions.adoc new file mode 100644 index 000000000..2b275e995 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/internals/instructions.adoc @@ -0,0 +1,21 @@ += Instructions +:version-root: ../ +include::{version-root}_attributes.adoc[] + +To compile this project and install the artifacts into local Maven repository, run: + +[source,bash] +---- +mvn clean install +---- + +This will also run all the tests and the TCK. + +You can use + +[source,bash] +---- +mvn clean install -DskipTests +---- + +to skip the tests and make the build a lot faster. diff --git a/content/docs/smallrye-fault-tolerance/latest/internals/logging.adoc b/content/docs/smallrye-fault-tolerance/latest/internals/logging.adoc new file mode 100644 index 000000000..bacfff5ec --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/internals/logging.adoc @@ -0,0 +1,16 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Logging in {smallrye-fault-tolerance} is based on https://jboss-logging.github.io/jboss-logging-tools/[JBoss Logging Tools] (see also https://github.com/smallrye/smallrye/wiki/I18N-Messages-and-Logging[SmallRye instructions]). +It's an annotation processor that takes annotated interfaces and generates logger implementations with out of the box support for message codes and internationalization. +We use a project code of `SRFTL`. +Message codes are divided into ranges that are defined in the `message-ranges.txt` file in the root directory. + +In addition to logging, JBoss Logging Tools can also be used for creating exceptions, again, with out of the box support for message codes and internationalization. +Contrary to both documentation sites mentioned above, it _is_ possible to mix logging and exceptions in a single interface, as demonstrated by `CdiLogger`. +However, {smallrye-fault-tolerance} doesn't use this feature yet, with the exception of a few methods in `CdiLogger`. +This should be rectified in the future. + +Note that `DEBUG` and `TRACE` logging doesn't need message codes or internationalization, so we usually don't declare logger methods for them, unless the log message requires parameters. +We still declare the logger interface, let it extend `BasicLogger` and use the singleton instance to log plain ``String``s. diff --git a/content/docs/smallrye-fault-tolerance/latest/internals/project-structure.adoc b/content/docs/smallrye-fault-tolerance/latest/internals/project-structure.adoc new file mode 100644 index 000000000..aa14ffa82 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/internals/project-structure.adoc @@ -0,0 +1,37 @@ += Project Structure +:version-root: ../ +include::{version-root}_attributes.adoc[] + +* `api`: {smallrye-fault-tolerance} API, additional to the {microprofile-fault-tolerance} API. + Treated as a public API. +* `implementation/core`: Implementation of core fault tolerance strategies. + Independent of the {microprofile-fault-tolerance} API or the {smallrye-fault-tolerance} API. + Treated as private API, no compatibility guaranteed. +* `implementation/apiimpl`: Implementation of the programmatic API. + Based on the `core` module. + Treated as private API, no compatibility guaranteed. +* `implementation/fault-tolerance`: Implementation of the {microprofile-fault-tolerance} API and the {smallrye-fault-tolerance} API. + Based on CDI and the `core` module. + The configuration system is based on the `autoconfig` module. +* `implementation/autoconfig/core`: Core classes of the {smallrye-fault-tolerance} configuration system. + Required at runtime. +* `implementation/autoconfig/processor`: An annotation processor that generates implementations of config interfaces. + Only required during {smallrye-fault-tolerance} build. +* `implementation/context-propagation`: Optional integration with MicroProfile Context Propagation. + See xref:integration/context-propagation.adoc[Context Propagation integration]. +* `implementation/kotlin`: Optional integration with Kotlin. + See xref:integration/kotlin.adoc[Kotlin Integration Concerns]. +* `implementation/mutiny`: Optional integration with Mutiny. + See xref:integration/async-types.adoc[Additional Asynchronous Types Integration Concerns]. +* `implementation/rxjava3`: Optional integration with RxJava 3. + See xref:integration/async-types.adoc[Additional Asynchronous Types Integration Concerns]. +* `implementation/standalone`: Standalone implementation of the {smallrye-fault-tolerance} programmatic API. + See xref:integration/programmatic-api.adoc[Programmatic API Integration Concerns]. +* `implementation/vertx`: Optional integration of the Vert.x event loop and Vert.x `Future`. + See xref:integration/event-loop.adoc[Event Loop integration] and xref:integration/async-types.adoc[Additional Asynchronous Types Integration Concerns]. +* `testsuite/basic`: Basic test suite. + Some parts of it overlap with the Eclipse MicroProfile Fault Tolerance TCK. +* `testsuite/integration`: Integration test suite. + Includes several Context Propagation and Vert.x tests. +* `testsuite/tck`: Runs the implementation against the Eclipse MicroProfile Fault Tolerance TCK. +* `doc`: This documentation. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/asynchronous.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/asynchronous.adoc new file mode 100644 index 000000000..0937cf522 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/asynchronous.adoc @@ -0,0 +1,276 @@ += Asynchronous Execution +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/asynchronous.adoc[How to Guard Asynchronous Methods]. +The how-to guide also explains what _asynchronous fault tolerance_ is and when does it apply. + +== Description + +=== `@Asynchronous` + +This annotation may only be placed on methods that return `java.util.concurrent.Future` or java.util.concurrent.`CompletionStage`. +It may also be placed on a class, in which case all business methods must return `Future` or `CompletionStage`. + +The method call is offloaded to another thread. +The thread pool that is used for offloading method calls is provided by the runtime that integrates {smallrye-fault-tolerance}. + +=== `@AsynchronousNonBlocking` + +include::{partialsdir}/srye-feature.adoc[] + +In addition to the {microprofile-fault-tolerance} `@Asynchronous` annotation, {smallrye-fault-tolerance} offers an annotation for asynchronous non-blocking processing: `@AsynchronousNonBlocking`. + +This annotation may only be placed on methods that return `CompletionStage`, because the `Future` type cannot really be used for non-blocking processing. +It may also be placed on a class, in which case all business methods must return `CompletionStage`. + +As opposed to `@Asynchronous`, the `@AsynchronousNonBlocking` annotation does _not_ offload the method execution to another thread. +The method is allowed to proceed on the original thread, assuming that it returns quickly and all processing it does is performed in a non-blocking way. + +=== `@Asynchronous` and `@AsynchronousNonBlocking` Compared + +|=== +|Annotation |Method return type |Execution + +|`@Asynchronous` +|`Future` or `CompletionStage` +|offloaded to a thread pool + +|`@AsynchronousNonBlocking` +|`CompletionStage` +|proceeds on the original thread +|=== + +=== `@Asynchronous` and `@AsynchronousNonBlocking` Combined + +When these annotations are combined, an annotation on a method has priority over an annotation on a class. +For example: + +[source,java] +---- +@ApplicationScoped +@Asynchronous +public class MyService { + @Retry + CompletionStage hello() { // <1> + ... + } + + @Retry + @AsynchronousNonBlocking + CompletionStage helloBlocking() { // <2> + ... + } +} +---- + +<1> Treated as `@Asynchronous`, based on the class annotation. +<2> Treated as `@AsynchronousNonBlocking`, the method annotation has priority over the class annotation. + +It is an error to put both `@Asynchronous` and `@AsynchronousNonBlocking` on the same program element. + +[[recommendation]] +=== Recommendation + +Use the <>. +In this mode, methods returning `CompletionStage` are automatically treated as if they were `@AsynchronousNonBlocking`. +Use `@Asynchronous` to mark blocking methods for thread offload. + +If you can't use the non-compatible mode, use `@AsynchronousNonBlocking` or `@Asynchronous` to mark all asynchronous methods. + +IMPORTANT: In previous releases, {smallrye-fault-tolerance} recommended to use the `@Blocking` and `@NonBlocking` annotations. +Using these annotations *for fault tolerance purposes* is no longer supported, starting with {smallrye-fault-tolerance} 7.0.0. + +We also recommend avoiding `@Asynchronous` methods that return `Future`, because the only way to obtain the future value is blocking. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +=== `@Asynchronous` + +`@Asynchronous` does not interact with other fault tolerance strategies, with the obvious exception that it moves execution to another thread. + +=== `@AsynchronousNonBlocking` + +If the guarded method uses `@Retry` and some delay between retries is configured, only the initial execution is guaranteed to occur on the original thread. +Subsequent attempts may be offloaded to an extra thread, so that the original thread is not blocked on the delay. + +If the guarded method uses `@Bulkhead`, the execution is _not_ guaranteed to occur on the original thread. +If the execution has to wait in the bulkhead queue, it may later end up on a different thread. + +If the original thread is an event loop thread and event loop integration is enabled, then the event loop is always used to execute the guarded method. +In such case, all retry attempts and queued bulkhead executions are guaranteed to happen on the original thread. + +[[configuration]] +== Configuration + +There is no configuration for `@Asynchronous` or `@AsynchronousNonBlocking`. + +[[metrics]] +== Metrics + +Asynchronous execution does not emit any metrics. + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. + +== Extra Features + +[[async-types]] +=== Additional Asynchronous Types + +include::{partialsdir}/srye-feature.adoc[] + +{microprofile-fault-tolerance} supports asynchronous fault tolerance for methods that return `CompletionStage`. +(The `java.util.concurrent.Future` type is not truly asynchronous, so we won't take it into account here.) +{smallrye-fault-tolerance} adds support for additional asynchronous types: + +* Mutiny: `Uni` +* RxJava 3: `Single`, `Maybe`, `Completable` +* Vert.x: `io.vertx.core.Future` + +These types are treated just like `CompletionStage`, so everything that works for `CompletionStage` works for these types as well. +Stream-like types (`Multi`, `Observable`, `Flowable`) are not supported, because their semantics can't be easily expressed in terms of `CompletionStage`. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @AsynchronousNonBlocking // <1> + Uni hello() { // <2> + ... + } +} +---- + +<1> Using the `@AsynchronousNonBlocking` annotation, because the method doesn't block and offloading execution to another thread is not necessary. +<2> Returning the `Uni` type from Mutiny. +This shows that whatever works for `CompletionStage` also works for the other async types. + +The implementation internally converts the async types to a `CompletionStage` and back. +This means that to be able to use any particular asynchronous type, the corresponding converter must be present. +{smallrye-fault-tolerance} provides support libraries for popular asynchronous types, and these support libraries include the corresponding converters. + +It is possible that the runtime you use already provides the correct integration. +Otherwise, add a dependency to your application: + +* https://smallrye.io/smallrye-mutiny/[Mutiny]: `io.smallrye:smallrye-fault-tolerance-mutiny` +* https://github.com/ReactiveX/RxJava/tree/3.x[RxJava 3]: `io.smallrye:smallrye-fault-tolerance-rxjava3` +* https://vertx.io/docs/vertx-core/java/#_future_results[Vert.x `Future`]: `io.smallrye:smallrye-fault-tolerance-vertx` + +.Quarkus +**** +In Quarkus, the Mutiny and Vert.x support libraries are present by default. +You can use fault tolerance on methods that return `Uni` (and Vert.x `Future`) out of the box. +**** + +[[kotlin-suspend-functions]] +=== Kotlin `suspend` Functions + +include::{partialsdir}/srye-feature.adoc[] + +{smallrye-fault-tolerance} includes support for Kotlin suspending functions. +They are treated as <>, even though the internal implementation is more complex than support for Mutiny or RxJava 3. + +For example: + +[source,kotlin] +---- +@ApplicationScoped +open class MyService { + @Retry(maxRetries = 2) + @Fallback(fallbackMethod = "helloFallback") + open suspend fun hello(): String { // <1> + delay(100) + throw IllegalArgumentException() + } + + private suspend fun helloFallback(): String { // <2> + delay(100) + return "hello" + } +} +---- + +<1> As a suspending function, this method can only be called from another suspending function. +It will be guarded by the retry and fallback strategies, as defined using the annotations. +<2> Similarly to fallback methods in Java, fallback methods in Kotlin must have the same signature as the guarded method. +Since the guarded method is suspending, the fallback method must be suspending. + +As mentioned above, suspending functions are treated as async types. +This means that for asynchronous fault tolerance to work correctly on suspending functions, they must be determined to be asynchronous. +That happens automatically in the <>, based on the method signature, but if you use strictly compatible mode, the `@Asynchronous` or `@AsynchronousNonBlocking` annotation must be present. +It is expected that most users will use the Kotlin support in the non-compatible mode, so the example above does not include any such annotation. + +To be able to use this, a support library must be present. +It is possible that the runtime you use already provides the correct integration. +Otherwise, add a dependency to your application: `io.smallrye:smallrye-fault-tolerance-kotlin`. + +.Quarkus +**** +In Quarkus, the Kotlin support library is present by default, if you use the Quarkus Kotlin support. +You can declare fault tolerance annotations on suspending methods out of the box. +**** + +==== Programmatic API + +Suspending functions are currently only supported in the declarative, annotation-based API, as shown in the example above. +The xref:reference/programmatic-api.adoc[Programmatic API] of {smallrye-fault-tolerance} does not support suspending functions, but other than that, it can of course be used from Kotlin through its Java interop. + +[[method-asynchrony]] +=== Determining Asynchrony from Method Signature + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +In the non-compatible mode, method asynchrony is determined solely from its signature. +That is, methods that + +* have some fault tolerance annotation (such as `@Retry`), +* return `CompletionStage` (or some other <>), + +always have asynchronous fault tolerance applied. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + CompletionStage hello() { // <1> + ... + } + + @Retry + Uni helloMutiny() { // <2> + ... + } + + @Retry + @Asynchronous + CompletionStage helloBlocking() { // <3> + ... + } +} +---- + +<1> Executed on the original thread, because the method returns `CompletionStage`. +It is as if the method was annotated `@AsynchronousNonBlocking`. +<2> Executed on the original thread, because the method returns an <>. +It is as if the method was annotated `@AsynchronousNonBlocking`. +<3> The explicit `@Asynchronous` annotation is honored. +The method is executed on a thread pool. + +Note that the existing annotations still work without a change, both in compatible and non-compatible mode. +That is, if a method (or class) is annotated `@Asynchronous`, execution will be offloaded to a thread pool. +If a method (or class) is annotated `@AsynchronousNonBlocking`, execution will happen on the original thread. + +Also note that this doesn't affect methods returning `java.util.concurrent.Future`. +You still have to annotate them `@Asynchronous` to make sure they are executed on a thread pool and are guarded properly. +As mentioned in the <>, we discourage using these methods, because the only way to obtain the future value is blocking. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/bulkhead.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/bulkhead.adoc new file mode 100644 index 000000000..a671d958b --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/bulkhead.adoc @@ -0,0 +1,136 @@ += Bulkhead +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/bulkhead.adoc[How to Limit Concurrency]. + +== Description + +If a guarded method is called by too many callers concurrently, the excess attempts will fail with `BulkheadException`. + +If the guarded method is `@Asynchronous` or `@AsynchronousNonBlocking`, excess attempts are first put into a queue. +The queued attempts are executed later. +When the queue becomes full, excess attempts are rejected with `BulkheadException`. + +=== Lifecycle + +Bulkhead needs to maintain some state between invocations: the number of current executions and the queue of asynchronous executions. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@Bulkhead` annotation. + +More specifically, the bulkhead state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same bulkhead state. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@Bulkhead`, the fallback method or handler may be invoked if a `BulkheadException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@Bulkhead`, each retry attempt is processed by the bulkhead as an independent invocation. +If `BulkheadException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@Bulkhead`, the circuit breaker is checked before enforcing the concurrency limit. +If concurrency limiting results in `BulkheadException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +If `@RateLimit` is used with `@Bulkhead`, the rate limit is enforced before enforcing the concurrency limit. + +If `@Timeout` is used with `@Bulkhead`, the timeout watcher is started before enforcing the concurrency limit. + +[[configuration]] +== Configuration + +There are 2 configuration options, corresponding to the 2 members of the `@Bulkhead` annotation. + +=== `value` + +Type: `int` + +Default: `10` + +The concurrency limit. + +=== `waitingTaskQueue` + +Type: `int` + +Default: `10` + +The size of queue for excess attempts. +Only effective when the method is `@Asynchronous` or `@AsynchronousNonBlocking`. +See xref:reference/asynchronous.adoc[the Asynchronous Execution reference guide]. + +[[metrics]] +== Metrics + +Bulkhead exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the bulkhead logic was run. This is usually once per method call, but may be zero times if the circuit breaker or rate limit prevented execution or more than once if the method call was retried. +| Tags +a| * `method` - the fully qualified method name +* `bulkheadResult` = `[accepted\|rejected]` - whether the bulkhead allowed the method call to run +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.executionsRunning` +| Type +a| * OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | Number of currently running executions. +| Tags +a| * `method` - the fully qualified method name +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.executionsWaiting` +| Type +a| * OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | Number of executions currently waiting in the queue. +| Tags +a| * `method` - the fully qualified method name +| Notes | Only added if the method is also `@Asynchronous` or `@AsynchronousNonBlocking` +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.runningDuration` +| Type +a| * OpenTelemetry: `DoubleHistogram` with explicit bucket boundaries `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]` +* Micrometer: `Timer` +| Unit +a| * OpenTelemetry: seconds +* Micrometer: nanoseconds +| Description | Histogram of the time that method executions spent running. +| Tags +a| * `method` - the fully qualified method name +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.waitingDuration` +| Type +a| * OpenTelemetry: `DoubleHistogram` with explicit bucket boundaries `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]` +* Micrometer: `Timer` +| Unit +a| * OpenTelemetry: seconds +* Micrometer: nanoseconds +| Description | Histogram of the time that method executions spent waiting in the queue. +| Tags +a| * `method` - the fully qualified method name +| Notes | Only added if the method is also `@Asynchronous` or `@AsynchronousNonBlocking` +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/circuit-breaker.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/circuit-breaker.adoc new file mode 100644 index 000000000..9dc477b7e --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/circuit-breaker.adoc @@ -0,0 +1,283 @@ += Circuit Breaker +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/circuit-breaker.adoc[How to Fail Fast on Recurring Failures]. + +== Description + +The circuit breaker is a simple state machine: + +[.has-dark] +image::images/diagrams/mermaid-f40d3cbcabca.svg[circuit-breaker] + +The circuit breaker starts _closed_. +In this state, the circuit breaker maintains a rolling window of recent invocations. +For each invocation, the rolling window tracks whether it finished successfully or failed. + +The rolling window must be full to take any state transition decision. +For example, if the rolling window has size 10, a closed circuit breaker always allows at least 10 invocations. + +If the rolling window contains a number of failures higher than the configured ratio, a closed circuit breaker moves to _open_. +When the circuit breaker is open, invocations are not allowed to proceed. +Instead, the circuit breaker fails fast and throws `CircuitBreakerOpenException`. + +For example, if the rolling window has size 10 and the failure rate is 0.5, it means that 5 invocations out of the most recent 10 invocations must fail for the circuit breaker to move to _open_. + +After some time, an open circuit breaker moves to _half-open_ to determine whether failing fast is still appropriate. +A half-open circuit breaker allows some configured number of probe attempts to proceed. +If all of them succeed, the circuit breaker moves to _closed_ and invocations are allowed again. +If some probe invocations fail, the circuit breaker moves back to _open_ and invocations are prevented. + +Successes and failures are determined from the method result. +More specifically: + +. If the guarded method returns normally, it is treated as success. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `skipOn` types (see <>), it is treated as success. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `failOn` types (see <>), it is treated as failure. +. Otherwise, it is treated as success. + +=== Lifecycle + +Circuit breaker needs to maintain some state between invocations: the number of recent successful invocations, the number of recent failed invocations, and so on. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@CircuitBreaker` annotation. + +More specifically, the circuit breaker state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same circuit breaker state. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@CircuitBreaker`, the fallback method or handler may be invoked if a `CircuitBreakerOpenException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@CircuitBreaker`, each retry attempt is processed by the circuit breaker as an independent invocation. +If `CircuitBreakerOpenException` is thrown, the execution may be retried, depending on how retry is configured. + +[[configuration]] +== Configuration + +There are 7 configuration options, corresponding to the 7 members of the `@CircuitBreaker` annotation. + +=== `requestVolumeThreshold` + +Type: `int` + +Default: `20` + +The size of the rolling window. +That is, the number of recent consecutive invocations tracked by a _closed_ circuit breaker. + +=== `failureRatio` + +Type: `double` + +Default: `0.5` + +The ratio of failures in the rolling window that causes a _closed_ circuit breaker to move to _open_. + +=== `delay` + `delayUnit` + +Type: `long` + `ChronoUnit` + +Default: `5000 millis`, or 5 seconds + +The delay after which an _open_ circuit breaker moves to _half-open_. + +=== `successThreshold` + +Type: `int` + +Default: `1` + +The number of probe invocations allowed when the circuit breaker is _half-open_. +If they all succeed, the circuit breaker moves to _closed_, otherwise it moves back to _open_. + +[[fail-on]] +=== `failOn` + +Type: `Class[]` + +Default: `{Throwable.class}` + +Set of exception types that the circuit breaker considers failures. + +[[skip-on]] +=== `skipOn` + +Type: `Class[]` + +Default: `{}` + +Set of exception types that the circuit breaker considers success. +This configuration takes precedence over `failOn`. + +[[metrics]] +== Metrics + +Circuit breaker exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the circuit breaker logic was run. This is usually once per method call, but may be more than once if the method call is retried. +| Tags +a| * `method` - the fully qualified method name +* `circuitBreakerResult` = `[success\|failure\|circuitBreakerOpen]` - the result of the method call, as considered by the circuit breaker +** `success` - the method ran and was successful +** `failure` - the method ran and failed +** `circuitBreakerOpen` - the method did not run because the circuit breaker was in open or half-open state +|=== + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.state.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `TimeGauge` +| Unit +a| * OpenTelemetry: nanoseconds +* Micrometer: nanoseconds +| Description | Amount of time the circuit breaker has spent in each state +| Tags +a| * `method` - the fully qualified method name +* `state` = `[open\|closed\|halfOpen]` - the circuit breaker state +| Notes | Although this metric is a `Gauge`, its value increases monotonically. +|=== + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.opened.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | Number of times the circuit breaker has moved from closed state to open state +| Tags +a| * `method` - the fully qualified method name +|=== + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.state.current` +2+a| +include::{partialsdir}/srye-feature.adoc[] +| Type +a| * OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | Whether the circuit breaker is currently in given state (`1`) or not (`0`) +| Tags +a| * `method` - the fully qualified method name +* `state` = `[open\|closed\|halfOpen]` - the circuit breaker state +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. + +== Extra Features + +=== Circuit Breaker Maintenance + +include::{partialsdir}/srye-feature.adoc[] + +It is sometimes useful to see the circuit breaker status from within the application, or reset it to the initial state. +This is possible in two steps: + +. Give the circuit breaker a name by annotating the guarded method with `@CircuitBreakerName`: ++ +[source,java] +---- +@ApplicationScoped +public class MyService { + @CircuitBreaker + @CircuitBreakerName("hello-cb") // <1> + public String hello() { + ... + } +} +---- ++ +<1> The circuit breaker guarding the `MyService.hello` method is given a name `hello-cb`. +. Inject `CircuitBreakerMaintenance` and call its methods: ++ +[source,java] +---- +@ApplicationScoped +public class Example { + @Inject + CircuitBreakerMaintenance maintenance; + + public void test() { + System.out.println("Circuit breaker state: " + + maintenance.currentState("hello-cb")); // <1> + maintenance.resetAll(); // <2> + } +} +---- ++ +<1> Obtains current circuit breaker state. +<2> Resets all circuit breakers to the initial state. + +The `CircuitBreakerMaintenance` interface provides 4 methods: + +. `currentState(name)`: returns current state of given circuit breaker. +The return type `CircuitBreakerState` is an `enum` with 3 values: `CLOSED`, `OPEN`, `HALF_OPEN`. +. `onStateChange(name, callback)`: registers a callback that will be called when given circuit breaker changes state. +. `reset(name)`: resets given circuit breaker to the initial state. +. `resetAll()`: resets all circuit breakers in the application to the initial state. + +See the javadoc of those methods for more information. + +[[inspecting-exception-cause-chains]] +=== Inspecting Exception Cause Chains + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +The `@CircuitBreaker` annotation can specify that certain exceptions should be treated as failures (`failOn`) and others as successes (`skipOn`). +The specification limits this to inspecting the actual exception that was thrown. +However, in many cases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +For that reason, in the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@CircuitBreaker` method throws an exception, the decision process is: + +1. If the `skipOn` exceptions are not default and the exception is assignable to one of the `skipOn` exceptions, the circuit breaker treats it as a success. +2. Otherwise, if the `failOn` exceptions are not default and the exception is assignable to one of the `failOn` exceptions, the circuit breaker treats it as a failure. +3. Otherwise, if the exception is assignable to one of the `skipOn` exceptions or its cause chain contains an exception assignable to one of the `skipOn` exceptions, the circuit breaker treats it as a success. +4. Otherwise, if the exception is assignable to one of the `failOn` exceptions or its cause chain contains an exception assignable to one of the `failOn` exceptions, the circuit breaker treats it as a failure. +5. Otherwise, the exception is treated as a success. + +For example: + +[source,java] +---- +@CircuitBreaker(requestVolumeThreshold = 10, + skipOn = ExpectedOutcomeException.class, // <1> + failOn = IOException.class) // <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, the circuit breaker treats it as a success. +<2> If `doSomething` throws an `IOException`, or a `WrapperException` whose cause is `IOException`, the circuit breaker treats it as a failure. + +[source,java] +---- +@CircuitBreaker(requestVolumeThreshold = 10, + skipOn = ExpectedOutcomeException.class) // <1> <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, the circuit breaker treats it as a success. +<2> There's no `failOn`, so the 2nd step in the algorithm above is skipped. +This is what turns the `WrapperException` whose cause is `ExpectedOutcomeException` into a success. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/config.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/config.adoc new file mode 100644 index 000000000..7a9288a12 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/config.adoc @@ -0,0 +1,207 @@ += Configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The fault tolerance strategies are primarily configured using annotations. +This is convenient, but changing such configuration requires recompilation. +For that reason, configuration using MicroProfile Config is also possible. + +NOTE: The configuration system of {microprofile-fault-tolerance}, as described in this guide, also applies to annotations defined by {smallrye-fault-tolerance}. + +== Annotation on Method + +The annotation may be present on a method: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 10, retryOn = IOException.class) // <1> + public String hello() { + ... + } +} +---- + +<1> Retries will only be attempted if the thrown exception was `IOException`. +Other exceptions will be rethrown directly. +Also, the maximum number of retry attempts is changed to 10 (the default is 3). + +To change the `maxRetries` property using MicroProfile Config, set: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService/hello".retry.max-retries=5 + +# alternatively, a specification-defined property can be used +com.example.MyService/hello/Retry/maxRetries=5 +---- + +== Annotation on Class + +The annotation may be present on a class, in which case it applies to all business method in the class: + +[source,java] +---- +package com.example; + +@ApplicationScoped +@Retry(maxRetries = 10, retryOn = IOException.class) // <1> +public class MyService { + public String hello() { + ... + } +} +---- +<1> The `hello()` method will use the `@Retry` strategy, as configured in this annotation. + +A class-level annotation may be overridden by explicitly annotating a method. + +The MicroProfile Config configuration property doesn't include the method name in this case: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService".retry.max-retries=5 + +# alternatively, a specification-defined property can be used +com.example.MyService/Retry/maxRetries=5 +---- + +[IMPORTANT] +==== +Attempting to configure some property for a method or a class which does not have the annotation has no effect. + +* If the annotation is present on a method, the configuration property must target the method. +* If the annotation is present on a class, the configuration property must target the class. +==== + +== Global Configuration + +It is also possible to reconfigure some property for all annotations in the application. +For example: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.max-retries=5 + +# alternatively, a specification-defined property can be used +Retry/maxRetries=5 +---- + +All `@Retry` annotations in the application will be considered to have `maxRetries` set to `5`. + +== Configuration Priority + +The most specific configuration has priority over more general configuration. + +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +@Retry(maxRetries = 5) +public class MyService { + public String simpleHello() { + ... + } + + @Retry(maxRetries = 10) + public String complexHello() { + ... + } +} +---- + +The following configuration: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.max-retries=30 +smallrye.faulttolerance."com.example.MyService".retry.max-retries=15 +smallrye.faulttolerance."com.example.MyService/complexHello".retry.max-retries=20 + +# alternatively, specification-defined properties can be used +Retry/maxRetries=30 +com.example.MyService/Retry/maxRetries=15 +com.example.MyService/complexHello/Retry/maxRetries=20 +---- + +Has the following effects: + +* `MyService.complexHello()` has `maxRetries` set to `20`. +* `MyService.simpleHello()` has `maxRetries` set to `15`. +* Other `@Retry` methods in the application have `maxRetries` set to `30`. + +== Disabling Fault Tolerance + +It is possible to disable certain fault tolerance annotation on some method, if the annotation is present on the method: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService/hello".retry.enabled=false + +# alternatively, a specification-defined property can be used +com.example.MyService/hello/Retry/enabled=false +---- + +Or on some class, if the annotation is present on the class: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService".retry.enabled=5 + +# alternatively, a specification-defined property can be used +com.example.MyService/Retry/enabled=false +---- + +Or globally: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.enabled=false + +# alternatively, a specification-defined property can be used +Retry/enabled=false +---- + +It is also possible to disable all fault tolerance completely: + +[source,properties] +---- +smallrye.faulttolerance.enabled=false + +# alternatively, a specification-defined property can be used +MP_Fault_Tolerance_NonFallback_Enabled=false +---- + +This will leave only fallbacks enabled, all other annotations will be disabled. + +== {smallrye-fault-tolerance} Configuration Properties + +As demonstrated in the examples above, {smallrye-fault-tolerance} provides its own configuration properties, in addition to the specification-defined properties. +The specification-defined properties can of course be used, but the {smallrye-fault-tolerance} configuration properties have higher priority. + +The mapping is relatively straightforward: + +- `///` moves to `smallrye.faulttolerance."/"..` +- `//` moves to `smallrye.faulttolerance.""..` +- `/` moves to `smallrye.faulttolerance.global..` + +All the `` and `` parts are changed from camel case (`BeforeRetry`, `methodName`) to kebab case (`before-retry`, `method-name`). +Two annotation members are special cased to improve consistency: + +- `Retry/durationUnit` moves to `retry.max-duration-unit`, because the value property is called `maxDuration` (`max-duration`) +- `Retry/jitterDelayUnit` moves to `retry.jitter-unit`, because the value property is called `jitter` + +Further: + +- `MP_Fault_Tolerance_NonFallback_Enabled` moves to `smallrye.faulttolerance.enabled` +- `MP_Fault_Tolerance_Metrics_Enabled` moves to `smallrye.faulttolerance.metrics.enabled` + +== Links + +Configuration is described in detail in the {microprofile-fault-tolerance-url}#configuration[{microprofile-fault-tolerance} specification]. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/fallback.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/fallback.adoc new file mode 100644 index 000000000..af6316c15 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/fallback.adoc @@ -0,0 +1,302 @@ += Fallback +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/fallback.adoc[How to Supply Fallback Values]. + +== Description + +If a guarded method throws an exception, fallback will prevent that exception from being propagated to the caller. +Instead, a fallback method or fallback handler is called and their result is returned. + +More specifically: + +. If the guarded method returns normally, its return value is returned. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `skipOn` types (see <>), the exception is rethrown. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `applyOn` types (see <>), the fallback value is obtained and returned. +. Otherwise, the exception is rethrown. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used, the fallback method or handler may be invoked if other fault tolerance strategies throw an exception, depending on the fallback configuration. + +[[configuration]] +== Configuration + +There are 4 configuration options, corresponding to the 4 members of the `@Fallback` annotation. + +Exactly one of `value` or `fallbackMethod` must be set explicitly, they don't have a useful default value. + +=== `value` + +Type: `Class>` + +Default: empty + +Class of the fallback handler implementation that should be used to obtain the fallback value. +When this is set, the `fallbackMethod` must be left empty. + +The fallback handler class must implement the `FallbackHandler` interface. +The type argument to `FallbackHandler` must be assignable to the return type of the guarded method. +For example, if the guarded method returns `Number`, the fallback handler may implement `FallbackHandler` or `FallbackHandler`. + +=== `fallbackMethod` + +Type: `String` + +Default: empty + +Name of the fallback method that should be used to obtain the fallback value. +When this is set, the `value` must be left empty. + +The fallback method must be declared directly on the class where the guarded method is declared, or must be inherited from any of the class's supertypes. +The fallback method must have the same parameter types as the guarded method. +The fallback method must have a return type that is assignable to the return type of the guarded method. +For example, if the guarded method returns `Number`, the fallback method may return `Number` or `Integer`. + +[[apply-on]] +=== `applyOn` + +Type: `Class[]` + +Default: `{Throwable.class}` + +Set of exception types to which fallback applies. + +[[skip-on]] +=== `skipOn` + +Type: `Class[]` + +Default: `{}` + +Set of exception types to which fallback does _not_ apply. +This configuration takes precedence over `applyOn`. + +[[metrics]] +== Metrics + +Fallback does not emit any metrics on its own. + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. +Fallback is included in the overall method invocation metric described there. + +== Extra Features + +[[fallback-methods-with-exception-parameter]] +=== Fallback Methods with Exception Parameter + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +{smallrye-fault-tolerance} provides access to the causing exception in a fallback method. + +A fallback method, as defind by the {microprofile-fault-tolerance} specification, must have the same parameters as the guarded method. +{smallrye-fault-tolerance} permits defining one additional parameter, at the end of the parameter list, which must be of an exception type. +If such parameter is defined, the exception that caused the fallback will be supplied in it. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { // <1> + ... + } +} +---- + +<1> The fallback method matches the guarded method signature, except for one additional parameter at the end. + +All rules of {microprofile-fault-tolerance} specification related to looking up fallback methods still apply. +That is, the return types must match, the parameter types must match (with this one exception), etc. + +If the thrown exception is not assignable to the exception parameter type, it is rethrown as if no fallback was declared. +In the previous example, if `IllegalStateException` was thrown, the fallback method would not be called, as `IllegalStateException` is not a subtype of `IllegalArgumentException`. + +If the guarded method has a vararg parameter and you want to declare a fallback method with an exception parameter, simply replace the vararg syntax with an array type: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String... params) { + ... + } + + public String fallback(String[] params, IllegalArgumentException cause) { + ... + } +} +---- + +==== Multiple Fallback Methods with Exception Parameter + +It is possible to declare multiple overloads of the fallback method, each having different type of the exception parameter: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } +} +---- + +In that case, which fallback method is called depends on the type of thrown exception. +The method that declares a most-specific supertype of the actual exception is selected. + +In the previous example, if `IllegalArgumentException` was thrown by `doSomething`, the first fallback method would be called. +If `IllegalStateException` was thrown, the second fallback method would be called. + +If the thrown exception is not assignable to the exception parameter type of any fallback method, it is rethrown as if no fallback was declared. + +==== Fallback Methods with and without Exception Parameter + +It is possible to declare the fallback method with and without an exception parameter at the same time: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } + + public String fallback(String param) { + ... + } +} +---- + +The fallback methods with an exception parameter have precedence. +The fallback method without an exception parameter is only called if the thrown exception is not assignable to any declared exception parameter. + +==== Interactions with `applyOn` / `skipOn` + +The presence or absence of a fallback method with specific exception parameter may seem related to the usage of `applyOn` / `skipOn` on the `@Fallback` annotation, but in fact, it is not. +These features are completely independent. + +Simply put, the `applyOn` / `skipOn` configuration is always evaluated first. +A fallback method is only selected and invoked when this configuration indicates that a fallback should apply. + +If `@Fallback` is configured to skip `IllegalStateException` and `IllegalStateException` is thrown, no fallback method is invoked. +That applies even if a fallback method with a matching exception parameter exists. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback", skipOn = IllegalStateException.class) + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } + + public String fallback(String param) { + ... + } +} +---- + +In this case: + +- if `doSomething` throws `IllegalArgumentException`, the first fallback method is called; +- if `doSomething` throws `IllegalStateException`, no fallback method is called, because this exception type is skipped; +- if `doSomething` throws any other `RuntimeException`, the second fallback method is called; +- if `doSomething` throws any other exception, the last fallback method is called. + +[[inspecting-exception-cause-chains]] +=== Inspecting Exception Cause Chains + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +The `@Fallback` annotation can specify that certain exceptions should be treated as failures (`applyOn`) and others as successes (`skipOn`). +The specification limits this to inspecting the actual exception that was thrown. +However, in many cases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +For that reason, in the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@Fallback` method throws an exception, the decision process is: + +1. If the `skipOn` exceptions are not default and the exception is assignable to one of the `skipOn` exceptions, fallback is skipped and the exception is rethrown. +2. Otherwise, if the `applyOn` exceptions are not default and the exception is assignable to one of the `applyOn` exceptions, fallback is applied. +3. Otherwise, if the exception is assignable to one of the `skipOn` exceptions or its cause chain contains an exception assignable to one of the `skipOn` exceptions, fallback is skipped and the exception is rethrown. +4. Otherwise, if the exception is assignable to one of the `applyOn` exceptions or its cause chain contains an exception assignable to one of the `applyOn` exceptions, fallback is applied. +5. Otherwise, the exception is rethrown. + +For example: + +[source,java] +---- +@Fallback(fallbackMethod = "fallback", + skipOn = ExpectedOutcomeException.class, // <1> + applyOn = IOException.class) // <2> +public Result doSomething() { + ... +} + +public Result fallback() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, fallback is skipped and the exception is thrown. +<2> If `doSomething` throws an `IOException`, or a `WrapperException` whose cause is `IOException`, fallback is applied. + +[source,java] +---- +@Fallback(fallbackMethod = "fallback", + skipOn = ExpectedOutcomeException.class) // <1> <2> +public Result doSomething() { + ... +} + +public Result fallback() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, fallback is skipped and the exception is thrown. +<2> There's no `applyOn`, so the 2nd step in the algorithm above is skipped. +This is what turns the `WrapperException` whose cause is `ExpectedOutcomeException` into a skipped fallback. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/metrics.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/metrics.adoc new file mode 100644 index 000000000..09300ea27 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/metrics.adoc @@ -0,0 +1,109 @@ += Metrics +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} exposes metrics, as {microprofile-fault-tolerance-url}#_integration_with_microprofile_metrics_and_microprofile_telemetry[specified] by {microprofile-fault-tolerance}. + +[[general]] +== General Metrics + +For all methods guarded with some fault tolerance strategy, the following metric is emitted: + +[cols="1,5"] +|=== +| Name | `ft.invocations.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the method was called. +| Tags +a| * `method` - the fully qualified method name +* `result` = `[valueReturned\|exceptionThrown]` - whether the invocation returned a value or threw an exception +* `fallback` = `[applied\|notApplied\|notDefined]` - `applied` if fallback was used, `notApplied` if a fallback is configured but was not used, `notDefined` if a fallback is not configured +|=== + +For xref:reference/asynchronous.adoc[asynchronous methods], "value returned" means that the `CompletionStage` completed successfully, while "exception thrown" means that the `CompletionStage` completed exceptionally. + +== Specific Metrics + +In addition to the general metrics described above, most fault tolerance strategies emit their own metrics. +Those are described in the reference guides: + +* xref:reference/bulkhead.adoc#metrics[Bulkhead] +* xref:reference/circuit-breaker.adoc#metrics[Circuit Breaker] +* xref:reference/rate-limit.adoc#metrics[Rate Limit] +* xref:reference/retry.adoc#metrics[Retry] +* xref:reference/timeout.adoc#metrics[Timeout] + +== Timer Metrics + +For task scheduling purposes (e.g. watching timeouts or delaying retries), {smallrye-fault-tolerance} maintains one thread called the _timer thread_. +Most of the time, it is kept sleeping (parked), it only wakes up (unparks) when necessary to submit tasks to executors. + +The behavior of the timer thread can be observed through the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.timer.scheduled` +| Type +a| * OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | The number of tasks that are currently scheduled (for future execution) on the timer. +| Tags +a| * `id` - the ID of the timer, to distinguish multiple timers in a multi-application environment +|=== + +== Micrometer Support + +In addition to the OpenTelemetry support (as specified by {microprofile-fault-tolerance}), {smallrye-fault-tolerance} also provides support for https://micrometer.io/[Micrometer]. +The set of metrics emitted to Micrometer is the same, using the same metric names and tags. + +Note that distribution summaries in Micrometer, including timers, do not emit quantiles by default. +Micrometer recommends that libraries should not configure them out of the box, so if you need them, you should use a `MeterFilter`. + +The following implementation makes sure Micrometer emits some common quantiles for all fault tolerance metrics: + +[source,java] +---- +static final MeterFilter ENABLE_HISTOGRAMS = new MeterFilter() { + @Override + public DistributionStatisticConfig configure(Meter.Id id, DistributionStatisticConfig config) { + if (id.getName().startsWith("ft.")) { + return DistributionStatisticConfig.builder() + .percentiles(0.5, 0.75, 0.9, 0.95, 0.99, 0.999) + .build() + .merge(config); + } + return config; + } +}; +---- + +== Disabling Metrics + +It is possible to completely disable fault tolerance metrics using MicroProfile Config: + +[source,properties] +---- +smallrye.faulttolerance.metrics.enabled=false + +# alternatively, a specification-defined property can be used +MP_Fault_Tolerance_Metrics_Enabled=false +---- + +It is also possible to disable individual metric providers: + +[source,properties] +---- +# to disable OpenTelemetry Metrics +smallrye.faulttolerance.opentelemetry.disabled=true + +# to disable Micrometer +smallrye.faulttolerance.micrometer.disabled=true +---- + +Note that setting `smallrye.faulttolerance.*.disabled` to `false` does not mean the provider is enabled unconditionally. +When that provider is not discovered or selected by the integrator, it cannot be enabled in any way. +These properties are only meant for disabling an otherwise enabled metrics provider; not the other way around. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/non-compat.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/non-compat.adoc new file mode 100644 index 000000000..20fcf0b64 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/non-compat.adoc @@ -0,0 +1,36 @@ += Non-compatible Mode +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +{smallrye-fault-tolerance} offers a mode where certain features are improved beyond specification, as described below. +This mode is *not compatible* with the {microprofile-fault-tolerance} specification (and doesn't necessarily pass the entire TCK). + +This mode is disabled by default. +To enable, set the configuration property `smallrye.faulttolerance.mp-compatibility` to `false`. + +.Quarkus +**** +In Quarkus, the non-compatible mode is enabled by default. +To restore compatibility, add the following to your `application.properties`: + +[source,properties] +---- +smallrye.faulttolerance.mp-compatibility=true +---- + +Note that the non-compatible mode is available since {smallrye-fault-tolerance} 5.2.0 and Quarkus 2.1.0.Final. +Previous versions are always compatible. +**** + +== Improvements + +The improvements enabled in the non-compatible mode are: + +* xref:reference/asynchronous.adoc#method-asynchrony[Determining asynchrony from method signatures] +* Inspecting exception cause chains +** in xref:reference/fallback.adoc#inspecting-exception-cause-chains[fallback] +** in xref:reference/circuit-breaker.adoc#inspecting-exception-cause-chains[circuit breaker] +** in xref:reference/retry.adoc#inspecting-exception-cause-chains[retry] +* xref:reference/fallback.adoc#fallback-methods-with-exception-parameter[Fallback methods with exception parameter] diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/programmatic-api.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/programmatic-api.adoc new file mode 100644 index 000000000..2260df49e --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/programmatic-api.adoc @@ -0,0 +1,414 @@ += Programmatic API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +In addition to the declarative, annotation-based API of {microprofile-fault-tolerance}, {smallrye-fault-tolerance} also offers a programmatic API for advanced scenarios. +This API is present in the `io.smallrye:smallrye-fault-tolerance-api` artifact, just like all other additional APIs {smallrye-fault-tolerance} provides. + +== Installation + +If you use {smallrye-fault-tolerance} as part of a runtime that implements {microprofile-fault-tolerance}, you don't have to do anything. +The programmatic API is ready to use. +In this documentation, we'll call this the _CDI implementation_ of the programmatic API, because it's integrated with the {microprofile-fault-tolerance} implementation, which is naturally based on CDI. + +.Quarkus +**** +In Quarkus, the {smallrye-fault-tolerance} API is brought in automatically, as a transitive dependency of the Quarkus extension for {smallrye-fault-tolerance}. +That is, you don't need to do anything to be able to use the programmatic API. +**** + +.WildFly +**** +In WildFly, the {smallrye-fault-tolerance} API is not readily available to deployments. +If you want to use it, you need to add a module dependency to the deployment using `jboss-deployment-structure.xml`. + +Note that at the time of this writing, the {smallrye-fault-tolerance} module in WildFly is considered private. +If you do add a module dependency on it, to be able to use the {smallrye-fault-tolerance} API, you may be stepping out of the WildFly support scope. +**** + +In addition to the CDI implementation, {smallrye-fault-tolerance} also offers a _standalone implementation_ that is meant to be used outside of any runtime. +This implementation does not need CDI or anything else. +If you want to use {smallrye-fault-tolerance} in a standalone fashion, just add a dependency on `io.smallrye:smallrye-fault-tolerance-standalone`. +The API is brought in transitively. + +== Usage + +The entrypoints to the programmatic API are the `Guard` and `TypedGuard` interfaces. + +These interfaces represent a configured set of fault tolerance strategies. +Their configuration, order of application and behavior in general corresponds to the declarative API, so if you know that, you'll feel right at home. +If not, the javadoc has all the information you need (though it often points to the annotation-based API for more information). + +The interfaces are very similar, there are only 2 differences: + +. `Guard` requires specifying the return type of the guarded operation for each `call()` or `get()` (or `adapt*`) method call. + `TypedGuard`, on the other hand, requires specifying the return type once, when creating an instance using `create()`. + Therefore, `Guard` may be used for guarding many different types, while `TypedGuard` may only be used to guard single type. +. `TypedGuard` allows defining a fallback. + `Guard` does not. + +In the following text, we'll only talk about `Guard`, but it also applies to `TypedGuard` without a change (except of the differences mentioned above). + +To create an instance of `Guard`, you can use the `create` static method. +It returns a builder which has to be used to add and configure all the fault tolerance strategies that should apply. +There is no external configuration, so all configuration properties have to be set explicitly, using the builder methods. +If you don't set a configuration property, it will default to the same value the annotation-based API uses. + +.Disabling Fault Tolerance +**** +There's one exception to the "no external configuration" rule. + +The CDI implementation looks for the `smallrye.faulttolerance.enabled` / `MP_Fault_Tolerance_NonFallback_Enabled` configuration properties in MicroProfile Config. +The standalone implementation looks for system properties with the same name, or obtains the value from custom configuration (as xref:integration/programmatic-api.adoc[described] in the integration section). + +If at least one of these properties exists and is set to `false`, only the fallback and thread offload fault tolerance strategies will be applied. +Everything else will be ignored. + +Note that this is somewhat different to the declarative, annotation-based API, where only fallback is retained and the `@Asynchronous` strategy is skipped as well. +Since this significantly changes execution semantics, the programmatic API will apply thread offload even if fault tolerance is disabled. + +Similarly to the declarative API, implementations of the programmatic API also read this property only once, when the `Guard` API is first used. +It is _not_ read again later. +**** + +Let's take a look at a simple example: + +[source,java] +---- +public class MyService { + private static final Guard GUARD = Guard.create() + .withRetry().maxRetries(3).done() + .build(); + + public String hello() throws Exception { + return GUARD.call(() -> externalService.hello(), String.class); // <1> + } +} +---- + +<1> Here, we call `externalService.hello()` and guard the call with the previously configured set of fault tolerance strategies. + The `call` method used here takes the `Callable` type, which represent the guarded action. + The `get` method works just like `call`, but accepts a `Supplier`. + +The previous example shows how to apply fault tolerance to synchronous actions. +{smallrye-fault-tolerance} naturally also supports guarding asynchronous actions, using the `java.util.concurrent.CompletionStage` type. +Unlike the declarative API, the programmatic API doesn't support asynchronous actions that return the `java.util.concurrent.Future` type. + +[source,java] +---- +public class MyService { + private static final Guard GUARD = Guard.create() + .withBulkhead().done() + .withThreadOffload(true) // <1> + .build(); + + public CompletionStage hello() throws Exception { + return GUARD.call(() -> externalService.hello(), + new TypeLiteral>() {}); // <2> + } +} +---- + +<1> The thread offload here only applies to asynchronous actions. + If you use the same `GUARD` to guard a synchronous action, no thread offload will apply. +<2> Note that here, we use the `TypeLiteral` class (from CDI) to specify the type of the guarded action. + +Asynchronous actions may be blocking or non-blocking. +In the example above, we assume the `externalService.hello()` call is blocking, so we set thread offload to `true`. +{smallrye-fault-tolerance} will automatically move the actual execution of the action to another thread. + +If we didn't configure `withThreadOffload`, however, the execution of an asynchronous action would continue on the original thread. +This is often desired for non-blocking actions, which are very common in modern reactive architectures. + +Also note that in this example, we configured multiple fault tolerance strategies: bulkhead and thread offload. +When that happens, the fault tolerance strategies are ordered according to the {microprofile-fault-tolerance} specification, just like in the declarative API. +Order of all the `with*` method invocations doesn’t matter. + +=== Single-Action Usage + +The `Guard` API is general and permits guarding multiple different actions using the same set of fault tolerance strategies. +Often, we need to guard just a single action, although possibly several times. + +For such use case, the `Guard` instance may be adapted to a `Callable` or `Supplier` using the `adapt*` methods: + +[source,java] +---- +public class MyService { + private static final Callable guard = Guard.create() + .withTimeout().duration(5, ChronoUnit.SECONDS).done() + .build() // <1> + .adaptCallable(() -> externalService.hello(), String.class); // <2> + + public String hello() throws Exception { + return callable.call(); // <3> + } + +} +---- + +<1> Create a `Guard` object that can guard arbitrary actions. +<2> Adapt the general `Guard` instance to a `Callable` that guards the `externalService.hello()` invocation. + Similar method exists that accepts and returns a `Supplier`: `adaptSupplier`. +<3> You can do whatever you wish with the adapted `Callable`. + Here, we just call it once, which isn't very interesting, but it could possibly be called multiple times, passed to other methods etc. + +=== Synchronous vs. Asynchronous + +The `Guard` and `TypedGuard` interfaces both decide whether the guarded action is synchronous or asynchronous based on the action type. +This is given to `Guard` when calling or adapting the action, and to `TypedGuard` when creating it. + +If the type is asynchronous (such as `CompletionStage`), the asynchronous behavior will also be guarded; the action is only considered complete when the `CompletionStage` actually completes. +If the type is not asynchronous, only the synchronous behavior will be guarded; the action is considered complete when the method returns. + +To enable support of additional asynchronous types, it is enough to include the support libraries, as described in xref:reference/asynchronous.adoc#async-types[Additional Asynchronous Types]. + +==== Mutiny Support + +For example, when the Mutiny support library `io.smallrye:smallrye-fault-tolerance-mutiny` is present, both `Guard` and `TypedGuard` will recognize `Uni` as an asynchronous type and guard it properly. +Guarding a `Multi` is not supported. + +For example: + +[source,java] +---- +public class MyService { + private final Supplier> GUARD = TypedGuard.create( + new TypeLiteral>() {}) + .withTimeout().duration(5, ChronoUnit.SECONDS).done() + .withFallback().handler(() -> Uni.createFrom().item("fallback")).done() + .build() + .adaptSupplier(() -> externalService.hello()); // <1> + + public Uni hello() { + return guard.get(); + } +} +---- + +<1> The call to `externalService.hello()` is supposed to return `Uni`. + +Note that the `Uni` type is lazy, so the action itself won't execute until the guarded `Uni` is subscribed to. + +.Quarkus +**** +In Quarkus, the Mutiny support library is present by default. +You can guard `Uni`-returning actions out of the box. +**** + +=== Stateful Fault Tolerance Strategies + +The bulkhead, circuit breaker and rate limit strategies are stateful. +That is, they hold some state required for their correct functioning, such as the number of current executions for bulkhead, the rolling window of successes/failures for circuit breaker, or the time window for rate limit. +If you use these strategies, you have to consider their lifecycle. + +The {smallrye-fault-tolerance} programmatic API makes such reasoning pretty straightforward. +Each `Guard` object has its own instance of each fault tolerance strategy, including the stateful strategies. +If you use a single `Guard` object for guarding multiple different actions, all those actions will be guarded by the same bulkhead, circuit breaker and/or rate limit. +If, on the other hand, you use different `Guard` objects for guarding different actions, each action will be guarded by its own bulkhead, circuit breaker and/or rate limit. + +If you call the `adapt*` methods on the same `Guard` multiple times, the resulting `Callable` or `Supplier` objects will guard the underlying action using the original `Guard` instance, so stateful strategies will be shared. + +=== Circuit Breaker Maintenance + +The `CircuitBreakerMaintenance` API, accessed through `CircuitBreakerMaintenance.get()` or by injection in the CDI implementation, can be used to manipulate all named circuit breakers. +A circuit breaker is given a name by calling `withCircuitBreaker().name("\...")` on the fault tolerance builder, or using the `@CircuitBreakerName` annotation in the declarative API. + +Additionally, `CircuitBreakerMaintenance.resetAll()` will also reset all unnamed circuit breakers declared using the `@CicruitBreaker` annotation. +For this to work, all unnamed circuit breakers have to be remembered. +This is safe in case of the declarative, annotation-based API, because the number of such declared circuit breakers is fixed. +At the same time, this would _not_ be safe to do for all unnamed circuit breakers created using the programmatic API, as their number is potentially unbounded. +(In other words, remembering all unnamed circuit breakers created using the programmatic API would easily lead to a memory leak.) + +Therefore, all circuit breakers created using the programmatic API must be given a name when `CircuitBreakerMaintenance` is supposed to affect them. +Note that duplicate names are not permitted and lead to an error, so lifecycle of the circuit breaker must be carefully considered. + +=== Event Listeners + +The programmatic API has one feature that the declarative API doesn't have: ability to observe certain events. +For example, when configuring a circuit breaker, it is possible to register a callback for circuit breaker state changes or for a situation when an open circuit breaker prevents an invocation. +When configuring a timeout, it is possible to register a callback for when the invocation times out, etc. etc. +For example: + +[source,java] +---- +private static final Guard GUARD = Guard.create() + .withTimeout().duration(5, ChronoUnit.SECONDS).onTimeout(() -> ...).done() // <1> + .build(); +---- + +<1> The `onTimeout` method takes a `Runnable` that will later be executed whenever an invocation guarded by `GUARD` times out. + +All event listeners registered like this must run quickly and must not throw exceptions. + +== Configuration + +As mentioned above, except of `smallrye.faulttolerance.enabled` / `MP_Fault_Tolerance_NonFallback_Enabled`, there is no support for external configuration of fault tolerance strategies. +This may change in the future, though possibly only in the CDI implementation. + +== Metrics + +The programmatic API is integrated with metrics. +All metrics, as described xref:reference/metrics.adoc[in the Metrics reference guide] and the linked guides, are supported. +The only difference is the value of the `method` tag. +With the programmatic API, the `method` tag will be set to the _description_ of the guarded operation, provided on the `Guard` builder. + +[source,java] +---- +private static final Guard GUARD = Guard.create() + .withDescription("hello") // <1> + .withRetry().maxRetries(3).done() + .build(); +---- + +<1> A description of `hello` is set, it will be used as a value of the `method` tag in all metrics. + +It is possible to create multiple `Guard` objects with the same description. +In this case, it won't be possible to distinguish the different `Guard` objects in metrics; their values will be aggregated. + +If no description is provided, metrics are not emitted. + +== Differences to the Specification + +`Guard` and `TypedGuard` have the following differences to standard MicroProfile Fault Tolerance: + +* asynchronous actions of type `java.util.concurrent.Future` are not supported; +* the fallback, circuit breaker and retry strategies always inspect the cause chain of exceptions, following the behavior of SmallRye Fault Tolerance in the non-compatible mode. + +== Kotlin `suspend` Functions + +The `Guard` and `TypedGuard` APIs do not support Kotlin `suspend` functions at the moment. + +== Integration Concerns + +Integration concerns, which are particularly interesting for users of the standalone implementation, are xref:integration/programmatic-api.adoc[described] in the integration section. + +[[migration_from_faulttolerance]] +== Migration from `FaultTolerance` + +The 1st version of the programmatic API had the `FaultTolerance` interface. +That interface was removed in {smallrye-fault-tolerance} 7.0. +The replacement are the `Guard` and `TypedGuard` types. + +When migrating, one first has to decide which type to use as a replacement. +The `TypedGuard` is much closer to the `FaultTolerance` type, so that is the easiest way to migrate. +There are some differences still: + +- the `create()` static method now takes a parameter that expresses the guarded action type, either as a `Class` or as a `TypeLiteral`; +- there are no `cast()` and `castAsync()` methods, because `TypedGuard` only guards actions of a single type; +- there is no support for guarding or adapting ``Runnable``s, only ``Callable``s and ``Supplier``s are supported. + As a replacement for `Runnable`, a `Supplier` (or `Supplier>` etc.) can be used. + +For example, these usages of `FaultTolerance`: + +[source,java] +---- +static final FaultTolerance FT1 = FaultTolerance.create() + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withFallback().handler(() -> "fallback").done() + .build(); + +static final FaultTolerance> FT2 = FaultTolerance.createAsync() + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +can be rewritten to: + +[source,java] +---- +static final TypedGuard GUARD1 = TypedGuard.create(String.class) + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withFallback().handler(() -> "fallback").done() + .build(); + +static final TypedGuard> GUARD2 = TypedGuard.create( + new TypeLiteral>() {}) + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +After creating a `TypedGuard`, there's no change in how it's used. +The methods `call()`, `get()`, `adaptCallable()` and `adaptSupplier()` have the same signatures as before. + +`TypedGuard` is the only possible replacement if you need fallback. +If you don't need fallback, and especially if you need to guard actions of multiple types, `Guard` is a better choice. + +The differences are: + +- `Guard` has no type parameter (is not generic) and does not allow defining fallback; +- there are no `cast()` and `castAsync()` methods, because they are no longer needed; +- there is no support for guarding or adapting ``Runnable``s, only ``Callable``s and ``Supplier``s are supported. + As a replacement for `Runnable`, a `Supplier` (or `Supplier>` etc.) can be used. + +For example, these usages of `FaultTolerance`: + +[source,java] +---- +static final FaultTolerance FT1 = FaultTolerance.create() + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withCircuitBreaker().done() + .build(); + +static final FaultTolerance> FT2 = FaultTolerance.createAsync() + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +can be rewritten to: + +[source,java] +---- +static final Guard GUARD1 = Guard.create() + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withCircuitBreaker().done() + .build(); + +static final Guard GUARD2 = Guard.create() + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +Now, as mentioned above, `Guard` is used slightly differently than `FaultTolerance`. +The methods `call()`, `get()`, `adaptCallable()` and `adaptSupplier()` take an extra parameter that expresses the type of the guarded action, again either as a `Class` or as a `TypeLiteral`. + +For example, these usages of `FaultTolerance`: + +[source,java] +---- +String result1 = FT1.call(() -> externalService.hello()); +CompletionStage result2 = FT2.get(() -> externalService.helloAsync()); + +Callable callable = FT1.adaptCallable( + () -> externalService.hello()); +Supplier> supplier = FT2.adaptSupplier( + () -> externalService.helloAsync()); +---- + +can be rewritten to: + +[source,java] +---- +String result1 = GUARD1.call(() -> externalService.hello(), String.class); +CompletionStage result2 = GUARD2.get(() -> externalService.helloAsync(), + new TypeLiteral>() {}); + +Callable callable = GUARD1.adaptCallable( + () -> externalService.hello(), String.class); +Supplier> supplier = GUARD2.adaptSupplier( + () -> externalService.helloAsync(), + new TypeLiteral>() {}); +---- diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/rate-limit.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/rate-limit.adoc new file mode 100644 index 000000000..abb823f0f --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/rate-limit.adoc @@ -0,0 +1,148 @@ += Rate Limit +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/rate-limit.adoc[How to Limit Execution Rate]. + +include::{partialsdir}/srye-feature.adoc[] + +== Description + +Rate limit enforces a maximum number of permitted invocations in a time window of some length. +For example, with a rate limit, one can make sure that a method may only be called 50 times per minute. +Invocations that would exceed the limit are rejected with an exception of type `RateLimitException`. + +Additionally, it is possible to define minimum spacing between invocations. +For example, with minimum spacing of 1 second, if a second invocation happens 500 millis after the first, it is rejected even if the limit would not be exceeded yet. + +Rate limit is superficially similar to a bulkhead (concurrency limit), but is in fact quite different. +Bulkhead limits the number of executions happening concurrently at any point in time. +Rate limit limits the number of executions in a time window of some length, without considering concurrency. + +A method or a class can be annotated with `@RateLimit`, which means the method or the methods in the class will apply the rate limit strategy. +The previous example with 50 maximum invocations per minute and minimum spacing of 1 second would look like this: + +[source,java] +---- +@RateLimit(value = 50, + window = 1, windowUnit = ChronoUnit.MINUTES, + minSpacing = 1, minSpacingUnit = ChronoUnit.SECONDS) +public void doSomething() { + ... +} +---- + +The `RateLimitException` class has a method `getRetryAfterMillis()` which returns the number of milliseconds after which the user may retry the rejected invocation. +Retrying sooner is guaranteed to be rejected again. +Note that this information is accurate only at the time the invocation is rejected. +It may be invalidated by any subsequent or concurrent invocations, so there is no guarantee that a retry attempt after the given number of milliseconds will in fact be permitted. + +=== Lifecycle + +Rate limit needs to maintain some state between invocations: the number of recent invocations, the time stamp of last invocation, and so on. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@RateLimit` annotation. + +More specifically, the rate limit state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same rate limit state. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@RateLimit`, the fallback method or handler may be invoked if a `RateLimitException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@RateLimit`, each retry attempt is processed by the rate limit as an independent invocation. +If `RateLimitException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@RateLimit`, the circuit breaker is checked before enforcing the rate limit. +If rate limiting results in `RateLimitException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +[[configuration]] +== Configuration + +There are 6 configuration options, corresponding to the 6 members of the `@RateLimit` annotation. + +=== `value` + +Type: `int` + +Default: `100` + +The limit of maximum invocations to be permitted in the time window. + +=== `window` + `windowUnit` + +Type: `long` + `ChronoUnit` + +Default: `1 second` + +The length of the time window. + +=== `minSpacing` + `minSpacingUnit` + +Type: `long` + `ChronoUnit` + +Default: `0 seconds` + +The minimum spacing between two consecutive invocations. + +=== `type` + +Type: `RateLimitType` + +Default: `RateLimitType.FIXED` + +The type of time window used for rate limiting. +There are 3 types of time windows used for rate limiting: _fixed_, _rolling_ and _smooth_. + +Fixed time windows are a result of dividing time into non-overlapping intervals of given length. +The invocation limit is enforced for each interval independently. +This means that short bursts of invocations occuring near the time window boundaries may temporarily exceed the configured rate limit. +This kind of rate limiting is also called _fixed window_ rate limiting. + +Rolling time windows enforce the limit continuously, instead of dividing time into independent intervals. +The invocation limit is enforced for all possible time intervals of given length, regardless of overlap. +This is more precise, but requires more memory and may be slower. +This kind of rate limiting is also called _sliding log_ rate limiting. + +Smooth time windows enforce a uniform distribution of invocations under a rate calculated from given time window length and given limit. +If recent rate of invocations is under the limit, a subsequent burst of invocations is allowed during a shorter time span, but the calculated rate is never exceeded. +This kind of rate limiting is also called _token bucket_ or _leaky bucket (as a meter)_ rate limiting, with the additional property that all work units are considered to have the same size. + +With fixed and rolling time windows, rejected invocations always count towards the limit, so if a caller continuously invokes the guarded method faster than the configuration allows, all invocations are rejected until the caller slows down. +With smooth time windows, rejected invocations do not count towards the recent rate of invocations. + +Example usage: + +[source,java] +---- +@RateLimit(value = 50, + window = 1, windowUnit = ChronoUnit.MINUTES, + minSpacing = 1, minSpacingUnit = ChronoUnit.SECONDS, + type = RateLimitType.ROLLING) +public void doSomething() { + ... +} +---- + +[[metrics]] +== Metrics + +Rate limit exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.ratelimit.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the rate limit logic was run. This is usually once per method call, but may be zero times if the circuit breaker prevented execution or more than once if the method call was retried. +| Tags +a| * `method` - the fully qualified method name +* `rateLimitResult` = `[permitted\|rejected]` - whether the rate limit permitted the method call +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/retry.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/retry.adoc new file mode 100644 index 000000000..0c3bf8dc4 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/retry.adoc @@ -0,0 +1,350 @@ += Retry +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/retry.adoc[How to Retry on Failures]. + +== Description + +If a guarded method throws an exception, retry will swallow that exception and call the method again. + +More specifically: + +. If the guarded method returns normally, its return value is returned. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `abortOn` types (see <>), retrying is aborted and the exception is rethrown. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `retryOn` types (see <>), the method call is retried. +. Otherwise, the exception is rethrown. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@Retry`, the fallback method or handler may be invoked if all retry attempts failed, depending on the fallback configuration. + +[[configuration]] +== Configuration + +There are 9 configuration options, corresponding to the 9 members of the `@Retry` annotation. + +=== `maxRetries` + +Type: `int` + +Default: `3` + +The maximum number of retries. +`-1` means the maximum number of retries is unlimited. + +=== `delay` + `delayUnit` + +Type: `long` + `ChronoUnit` + +Default: `0 millis` + +The delay between retry attempts. + +=== `maxDuration` + `durationUnit` + +Type: `long` + `ChronoUnit` + +Default: `180_000 millis`, or 3 minutes + +The maximum duration for which retries will be attempted. + +:time-value-name: maxDuration +:time-unit-bad-name: durationUnit +:time-unit-good-name: maxDurationUnit +include::{partialsdir}/time-unit-inconsistency.adoc[] + +=== `jitter` + `jitterDelayUnit` + +Type: `long` + `ChronoUnit` + +Default: `200 millis` + +The maximum jitter to adjust the delay between retries. +If set, the delay before each retry attempt will be computed as follows: + +. Generate random number from the closed interval `[-jitter, jitter]`. +. Add the generated random number to the configured `delay`. +. If the result is by any chance negative, use `0`. + +:time-value-name: jitter +:time-unit-bad-name: jitterDelayUnit +:time-unit-good-name: jitterUnit +include::{partialsdir}/time-unit-inconsistency.adoc[] + +[[retry-on]] +=== `retryOn` + +Type: `Class[]` + +Default: `{Exception.class}` + +Set of exception types that trigger a retry. + +[[abort-on]] +=== `abortOn` + +Type: `Class[]` + +Default: `{}` + +Set of exception types that abort retrying. +This configuration takes precedence over `retryOn`. + +[[metrics]] +== Metrics + +Retry exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.retry.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the retry logic was run. This will always be once per method call. +| Tags +a| * `method` - the fully qualified method name +* `retried` = `[true\|false]` - whether any retries occurred +* `retryResult` = `[valueReturned\|exceptionNotRetryable\|maxRetriesReached\|maxDurationReached]` - the reason that last attempt to call the method was not retried +|=== + +[cols="1,5"] +|=== +| Name | `ft.retry.retries.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the method was retried +| Tags +a| * `method` - the fully qualified method name +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. + +== Extra Features + +=== Backoff Strategies for `@Retry` + +include::{partialsdir}/srye-feature.adoc[] + +When retrying failed operations, it is often useful to make a delay between retry attempts. +This delay is also called "backoff". +The `@Retry` annotation in {microprofile-fault-tolerance} supports a single backoff strategy: constant. +That is, the delay between all retry attempts is identical (except for a random jitter). + +{smallrye-fault-tolerance} offers 3 annotations to specify a different backoff strategy: + +* `@ExponentialBackoff` +* `@FibonacciBackoff` +* `@CustomBackoff` + +One of these annotations may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @ExponentialBackoff + public void hello() { + ... + } +} +---- + +It is an error to add a backoff annotation to a program element that doesn't have `@Retry` (e.g. add `@Retry` on a class and `@ExponentialBackoff` on a method). +It is also an error to add more than one of these annotations to the same program element. + +When any one of these annotations is present, it modifies the behavior specified by the `@Retry` annotation. +The new behavior is as follows: + +For `@ExponentialBackoff`, the delays between retry attempts grow exponentially, using a defined `factor`. +By default, the `factor` is 2, so each delay is 2 * the previous delay. +For example, if the initial delay (specified by `@Retry`) is 1 second, then the second delay is 2 seconds, third delay is 4 seconds, fourth delay is 8 seconds etc. +It is possible to define a `maxDelay`, so that this growth has a limit. + +For `@FibonacciBackoff`, the delays between retry attempts grow per the Fibonacci sequence. +For example, if the initial delay (specified by `@Retry`) is 1 second, then the second delay is 2 seconds, third delay is 3 seconds, fourth delay is 5 seconds etc. +It is possible to define a `maxDelay`, so that this growth has a limit. + +Both `@ExponentialBackoff` and `@FibonacciBackoff` also apply jitter, exactly like plain `@Retry`. + +Also, since `@Retry` has a default `maxDuration` of 3 minutes and default `maxRetries` of 3, both `@ExponentialBackoff` and `@FibonacciBackoff` define a `maxDelay` of 1 minute. +If we redefine `maxRetries` to a much higher value, and the guarded method keeps failing, the delay would eventually become higher than 1 minute. +In that case, it will be limited to 1 minute. +Of course, `maxDelay` can be configured. +If set to `0`, there's no limit, and the delays will grow without bounds. + +For `@CustomBackoff`, computing the delays between retry attempts is delegated to a specified implementation of `CustomBackoffStrategy`. +This is an advanced option. + +For more information about these backoff strategies, see the javadoc of the annotations. + +=== Predicate-Based `@Retry` + +include::{partialsdir}/srye-feature.adoc[] + +By default, an operation is retried only if it fails and the exception is assignable to one of the classes defined in `@Retry.retryOn` (and not assignable to any of the classes defined in `@Retry.abortOn`). +With the `@RetryWhen` annotation, it is possible to instead define a custom predicate for the exception, as well as a predicate for the result. + +The `@RetryWhen` annotation may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @RetryWhen( + result = IsNull.class, // <1> + exception = IsRuntimeException.class // <2> + ) + public String hello() { + ... + } + + public static final class IsNull implements Predicate { + @Override + public boolean test(Object o) { + return o == null; + } + } + + public static final class IsRuntimeException implements Predicate { + @Override + public boolean test(Throwable throwable) { + return throwable instanceof RuntimeException; + } + } +} +---- + +<1> When the method returns `null`, it will be retried. +<2> When the method throws a `RuntimeException`, it will be retried. + +All other results are considered expected and are not retried. + +It is an error to specify `@RetryWhen.exception` if `@Retry.retryOn` / `@Retry.abortOn` is specified. +Specifying `@RetryWhen.result` together with `@Retry.retryOn` / `@Retry.abortOn` is possible, although perhaps not the best idea. + +It is an error to add a `@RetryWhen` annotation to a program element that doesn't have `@Retry` (e.g. add `@Retry` on a class and `@RetryWhen` on a method). + +For more information about `@RetryWhen`, see the javadoc of the annotation. + +=== Before Retry Actions + +include::{partialsdir}/srye-feature.adoc[] + +The `@BeforeRetry` annotation supports specifying an action that should be performed before any retry. +The action will _not_ be performed before the initial attempt. + +The `@BeforeRetry` annotation may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @BeforeRetry(methodName = "beforeRetry") // <1> + public String hello() { + ... + } + + public void beforeRetry() { // <2> + ... + } +} +---- + +<1> Specifies that before retrying, the `beforeRetry` method should be called. +<2> The method must return `void` and have no parameters. + +Alternatively, it is possible to specify a class that is an implementation of the `BeforeRetryHandler` interface: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @BeforeRetry(MyBeforeRetry.class) // <1> + public String hello() { + ... + } + + public static class MyBeforeRetry implements BeforeRetryHandler { + public void handle(ExecutionContext context) { + ... + } + } +} +---- + +<1> Specifies that the `MyBeforeRetry` handler should be called before retrying. + +It is only possible to specify one option; specifying both `value` and `methodName` leads to a deployment problem. + +Note that the before retry action must fast and non-blocking (i.e., it must not do any IO or long-running computations) and must not throw an exception. + +[[inspecting-exception-cause-chains]] +=== Inspecting Exception Cause Chains + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +The `@Retry` annotation can specify that certain exceptions should be treated as failures (`retryOn`) and others as successes (`abortOn`). +The specification limits this to inspecting the actual exception that was thrown. +However, in many cases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +For that reason, in the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@Retry` method throws an exception, the decision process is: + +1. If the `abortOn` exceptions are not default and the exception is assignable to one of the `abortOn` exceptions, retry is aborted and the exception is rethrown. +2. Otherwise, if the `retryOn` exceptions are not default and the exception is assignable to one of the `retryOn` exceptions, retry is attempted. +3. Otherwise, if the exception is assignable to one of the `abortOn` exceptions or its cause chain contains an exception assignable to one of the `abortOn` exceptions, retry is aborted and the exception is rethrown. +4. Otherwise, if the exception is assignable to one of the `retryOn` exceptions or its cause chain contains an exception assignable to one of the `retryOn` exceptions, retry is attempted. +5. Otherwise, the exception is rethrown. + +For example: + +[source,java] +---- +@Retry(maxRetries = 5, + abortOn = ExpectedOutcomeException.class, // <1> + retryOn = IOException.class) // <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, retry is aborted and the exception is thrown. +<2> If `doSomething` throws an `IOException`, or a `WrapperException` whose cause is `IOException`, retry is attempted. + +[source,java] +---- +@Retry(maxRetries = 5, + abortOn = ExpectedOutcomeException.class) // <1> <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, retry is aborted and the exception is thrown. +<2> There's no `retryOn`, so the 2nd step in the algorithm above is skipped. +This is what turns the `WrapperException` whose cause is `ExpectedOutcomeException` into an aborted retry. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/reusable.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/reusable.adoc new file mode 100644 index 000000000..9e7d97d04 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/reusable.adoc @@ -0,0 +1,244 @@ += Reusable Fault Tolerance +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +The declarative, annotation-based API of {microprofile-fault-tolerance} doesn't allow sharing configuration of fault tolerance strategies across multiple classes. +In a single class, the configuration may be shared across all methods by putting the annotations on the class instead of individual methods, but even then, _stateful_ fault tolerance strategies are not shared. +Each method has its own bulkhead, circuit breaker and/or rate limit, which is often not what you want. + +The xref:reference/programmatic-api.adoc[programmatic API] of {smallrye-fault-tolerance} allows using a single `Guard` or `TypedGuard` object to guard multiple disparate actions, which allows reuse and state sharing. +It is possible to use a programmatically constructed `Guard` or `TypedGuard` object declaratively, using the `@ApplyGuard` annotation. + +To be able to do that, we need a bean of type `Guard` (or `TypedGuard`) with the `@Identifier` qualifier: + +[source,java] +---- +@ApplicationScoped +public class PreconfiguredFaultTolerance { + @Produces + @Identifier("my-fault-tolerance") + public static final Guard GUARD = Guard.create() + .withRetry().maxRetries(2).done() + .withTimeout().done() + .build(); +} +---- + +See the xref:reference/programmatic-api.adoc[programmatic API] documentation for more information about creating the `Guard` or `TypedGuard` instance. + +It is customary to create the bean by declaring a `static` producer field, just like in the previous example. + +Once we have that, we can apply `my-fault-tolerance` to any method: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @ApplyGuard("my-fault-tolerance") + public String doSomething() { + ... + } + + @ApplyGuard("my-fault-tolerance") + public CompletionStage doSomethingElse() { + ... + } +} +---- + +== Defining Fallback + +Note that it is not possible to define a fallback on `Guard`, because fallback is tied to the action type. +It is possible to define a fallback on `TypedGuard`, because it can only be used to guard methods with a single return type, equal to the type the `TypedGuard` was created with. + +However, the `@ApplyGuard` annotation pays attention to the `@Fallback` annotation. +If `@Fallback` is defined, it is used both by `Guard` and `TypedGuard` instances, and it overrides the possible fallback defined on the `TypedGuard`. + +== Defining Thread Offload + +Both `Guard` and `TypedGuard` allow enabling or disabling thread offload. +This is ignored by `@ApplyGuard` if the annotated method is asynchronous as determined from the method signature and possible annotations (`@Asynchronous` and `@AsynchronousNonBlocking`). +See xref:reference/asynchronous.adoc[] for more information about how that determination works. + +The thread offload configuration of `Guard` or `TypedGuard` is only honored when the method cannot be determined to be asynchronous, but it still declares an asynchronous return type. + +.Compatible Mode +**** +In the compatible mode, methods are determined to be asynchronous when they are annotated `@Asynchronous` or `@AsynchronousNonBlocking` and they declare an asynchronous return type. +For such methods, the `Guard` / `TypedGuard` thread offload configuration does not apply. + +For methods that declare an asynchronous return type but are not annotated with `@Asynchronous` or `@AsynchronousNonBlocking`, the configuration on `Guard` / `TypedGuard` is honored. +**** + +.Non-compatible Mode +**** +In the non-compatible mode, methods are determined to be asynchronous whenever they declare an asynchronous return type. +The `@Asynchronous` and `@AsynchronousNonBlocking` only affect whether the invocation of that method is offloaded to an extra thread. +If none of these annotations is present, no thread offload happens. + +In other words, in non-compatible mode, the `Guard` / `TypedGuard` thread offload configuration never applies. + +See xref:reference/non-compat.adoc[] for more information about the non-compatible mode. +**** + +== Configuration + +Even though the programmatic API of `Guard` and `TypedGuard` does not support configuration, the declarative API of `@ApplyGuard` does. + +The configuration closely resembles xref:reference/config.adoc[the configuration of the declarative API], where instead of the `` or `/`, you use the identifier that's used in the `@Identifier` qualifier and in the `@ApplyGuard` annotation. + +CAUTION: When configuring the `Guard` or `TypedGuard` using the following configuration properties, it is recommended to never use the `[Typed]Guard` programmatically. +The reason is that configuration is applied on the first invocation, and if that invocation is programmatic, the configuration key is unknown. + +For example, let's assume the following preconfigured `Guard` object: + +[source,java] +---- +@ApplicationScoped +public class PreconfiguredFaultTolerance { + @Produces + @Identifier("my-fault-tolerance") + public static final Guard GUARD = Guard.create() + .withRetry().maxRetries(2).done() + .withTimeout().done() + .build(); +} +---- + +This `Guard` supports retry and timeout; any attempt to configure other strategies will be ignored. + +To reconfigure the number of maximum retries, the following configuration properties may be used: + +[source,properties] +---- +smallrye.faulttolerance."my-fault-tolerance".retry.max-retries=5 + +# alternatively, a specification-defined property can be used +my-fault-tolerance/Retry/maxRetries=5 +---- + +Global configuration that applies to all usages of retry is also respected by `@ApplyGuard`: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.max-retries=5 + +# alternatively, a specification-defined property can be used +Retry/maxRetries=5 +---- + +Note that the configuration keys follow the configuration of the declarative API, even if the methods in the programmatic API builders are named differently. +For example, to set the rate limit in the programmatic API, the `RateLimitBuilder` uses a method called `limit()`, while the corresponding annotation member of `@RateLimit` is named `value()`. +The configuration key in both cases is `rate-limit.value` (or `RateLimit/value`). + +=== Disabling Fault Tolerance + +Configuration properties for disabling individual strategies also work: + +[source,properties] +---- +smallrye.faulttolerance."my-fault-tolerance".retry.enabled=false + +# alternatively, a specification-defined property can be used +my-fault-tolerance/Retry/enabled=false +---- + +Or globally: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.enabled=false + +# alternatively, a specification-defined property can be used +Retry/enabled=false +---- + +=== Supported Strategies + +The following fault tolerance strategies, when defined on a `Guard` (or `TypedGuard`) and used through `@ApplyGuard`, may be configured: + +* bulkhead (except of `BulkheadBuilder.enableSynchronousQueueing()`) +* circuit breaker +* rate limit +* retry, including exponential backoff and Fibonacci backoff +* timeout + +In the programmatic API, the following strategies are not built declaratively, and so their configuration is ignored: + +* fallback +* circuit breaker name (cannot be configured in the declarative API either) +* certain parts of retry: custom backoff, before retry action and retry predicates +* thread offload + +== Metrics + +Methods annotated `@ApplyGuard` gather metrics similarly to methods annotated with {microprofile-fault-tolerance} annotations. +That is, each method gets its own metrics, with the `method` tag being `.`. + +At the same time, state is still shared. +All methods annotated `@ApplyGuard` share the same bulkhead, circuit breaker and/or rate limit. + +If the `Guard` or `TypedGuard` object used for `@ApplyGuard` is also used xref:reference/programmatic-api.adoc[programmatically], that usage is coalesced in metrics (where the `method` tag is set to the description). + +== Differences to the Specification + +`@ApplyGuard` has the same differences to standard MicroProfile Fault Tolerance as `Guard` / `TypedGuard`: + +* asynchronous actions of type `java.util.concurrent.Future` are not supported; +* the fallback, circuit breaker and retry strategies always inspect the cause chain of exceptions, following the behavior of SmallRye Fault Tolerance in the non-compatible mode. + +== Kotlin `suspend` Functions + +Even though the programmatic API of `Guard` and `TypedGuard` does not support Kotlin `suspend` functions, the declarative API of `@ApplyGuard` does. +When the guard is a `Guard`, no restrictions apply. + +When the guard is a `TypedGuard`, however, its type must be a synchronous return type of the `suspend` function. +For example, when the `suspend` function is declared to return a `String` asynchronously: + +[source,kotlin] +---- +@ApplyGuard("my-fault-tolerance") +@Fallback(fallbackMethod = "fallback") +suspend fun hello(): String { + delay(100) + throw IllegalArgumentException() +} +---- + +The `TypedGuard` must be declared to guard actions of type `String`: + +[source,kotlin] +---- +@Produces +@Identifier("my-fault-tolerance") +val GUARD = TypedGuard.create(String::class.java) + .withRetry().maxRetries(2).done() + .withFallback().handler(Supplier { "fallback" }).done() + .build() +---- + +This means that a possible fallback declared on the `TypedGuard` must be synchronous; it cannot be a `suspend` lambda. + +The `@Fallback` method, if declared, must have a matching signature and so must be a `suspend` function: + +[source,kotlin] +---- +suspend fun fallback(): String { + delay(100) + return "fallback" +} +---- + +[[migration_from_applyfaulttolerance]] +== Migration from `@ApplyFaultTolerance` + +The 1st version of the programmatic API had the `@ApplyFaultTolerance` annotation. +That annotation was removed in {smallrye-fault-tolerance} 7.0. + +To migrate, replace `@ApplyFaultTolerance` with `@ApplyGuard` and change the `FaultTolerance<>` producers to produce `Guard` or `TypedGuard<>`. +See xref:reference/programmatic-api.adoc#migration_from_faulttolerance[the programmatic API migration guide] for more details about that. + +Note that it is not possible to define both `Guard` and `TypedGuard<>` with the same identifier; that leads to a deployment problem. +Therefore, for each producer of `FaultTolerance<>`, you have to decide whether the replacement should be `Guard` or `TypedGuard<>`. diff --git a/content/docs/smallrye-fault-tolerance/latest/reference/timeout.adoc b/content/docs/smallrye-fault-tolerance/latest/reference/timeout.adoc new file mode 100644 index 000000000..183009bd7 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/latest/reference/timeout.adoc @@ -0,0 +1,78 @@ += Timeout +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/timeout.adoc[How to Watch for Timeouts]. + +== Description + +If a guarded method takes too long, the caller will get a `TimeoutException`. + +If the guarded method is not `@Asynchronous` or `@AsynchronousNonBlocking`, the thread executing the method is interrupted. +Note that interruption requires cooperation from the executing code (for example, it must not swallow `InterruptedException`). +In other words, it is not guaranteed that interrupting the method will actually make it stop. + +If the guarded method is `@Asynchronous` or `@AsynchronousNonBlocking`, timeout is always signalled correctly, but there is no cancellation. +Even after timeout, the asynchronous action will keep running; its eventual result is just ignored. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@Timeout`, the fallback method or handler may be invoked if a `TimeoutException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@Timeout`, each retry attempt is processed by the timeout as an independent invocation. +If `TimeoutException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@Timeout`, the circuit breaker is checked before enforcing the timeout. +If enforcing the timeout results in `TimeoutException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +If `@RateLimit` is used with `@Timeout`, the rate limit is enforced before enforcing the timeout. + +[[configuration]] +== Configuration + +There are 2 configuration options, corresponding to the 2 members of the `@Timeout` annotation. + +=== `value` + `unit` + +Type: `long` + `ChronoUnit` + +Default: `1000 millis`, or 1 second + +The timeout to enforce. + +[[metrics]] +== Metrics + +Timeout exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.timeout.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the timeout logic was run. This is usually once per method call, but may be zero times if the circuit breaker or rate limit prevents execution or more than once if the method is retried. +| Tags +a| * `method` - the fully qualified method name +* `timedOut` = `[true\|false]` - whether the method call timed out +|=== + +[cols="1,5"] +|=== +| Name | `ft.timeout.executionDuration` +| Type +a| * OpenTelemetry: `DoubleHistogram` with explicit bucket boundaries `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]` +* Micrometer: `Timer` +| Unit +a| * OpenTelemetry: seconds +* Micrometer: nanoseconds +| Description | Histogram of execution times for the method +| Tags +a| * `method` - the fully qualified method name +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. diff --git a/content/docs/smallrye-fault-tolerance/main/_attributes.adoc b/content/docs/smallrye-fault-tolerance/main/_attributes.adoc new file mode 100644 index 000000000..3dacb848d --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/_attributes.adoc @@ -0,0 +1,24 @@ +:project-version: 7.0.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:partialsdir: {version-root}_partials +:examples-dir: {version-root}_examples +:smallrye-fault-tolerance: SmallRye Fault Tolerance +:smallrye-fault-tolerance-version: 7.0.0 +:microprofile-fault-tolerance: MicroProfile Fault Tolerance +:microprofile-fault-tolerance-version: 4.1.2 +:microprofile-fault-tolerance-url: https://download.eclipse.org/microprofile/microprofile-fault-tolerance-4.1/microprofile-fault-tolerance-spec-4.1.html +:vertx4-version: 4.5.25 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 7.0.0 +:relfileprefix: /docs/smallrye-fault-tolerance/main/ +:imagesdir: /docs/smallrye-fault-tolerance/main +:docs-project: smallrye-fault-tolerance +:docs-version: main +:docs-ref: main diff --git a/content/docs/smallrye-fault-tolerance/main/_nav.yml b/content/docs/smallrye-fault-tolerance/main/_nav.yml new file mode 100644 index 000000000..1c25b6497 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/_nav.yml @@ -0,0 +1,80 @@ +title: SmallRye Fault Tolerance +nav: +- title: Overview + page: index +- title: How-to + items: + - title: Begin + page: howto/begin + - title: Supply Fallback Values + page: howto/fallback + - title: Limit Concurrency + page: howto/bulkhead + - title: Fail Fast on Recurring Failures + page: howto/circuit-breaker + - title: Watch for Timeouts + page: howto/timeout + - title: Retry on Failures + page: howto/retry + - title: Guard Asynchronous Methods + page: howto/asynchronous + - title: Limit Execution Rate + page: howto/rate-limit + - title: Use Multiple Strategies + page: howto/multiple +- title: Reference + items: + - title: Fallback + page: reference/fallback + - title: Bulkhead + page: reference/bulkhead + - title: Circuit Breaker + page: reference/circuit-breaker + - title: Timeout + page: reference/timeout + - title: Retry + page: reference/retry + - title: Asynchronous Execution + page: reference/asynchronous + - title: Rate Limit + page: reference/rate-limit + - title: Configuration + page: reference/config + - title: Metrics + page: reference/metrics + - title: Non-compatible Mode + page: reference/non-compat + - title: Programmatic API + page: reference/programmatic-api + - title: Reusable Fault Tolerance + page: reference/reusable +- title: Integration + items: + - title: Introduction + page: integration/intro + - title: Metrics + page: integration/metrics + - title: Thread Pool + page: integration/thread-pool + - title: Context Propagation + page: integration/context-propagation + - title: Event Loop + page: integration/event-loop + - title: Additional Asynchronous Types Integration Concerns + page: integration/async-types + - title: Kotlin Integration Concerns + page: integration/kotlin + - title: Programmatic API Integration Concerns + page: integration/programmatic-api +- title: Internals + items: + - title: Project Structure + page: internals/project-structure + - title: Instructions + page: internals/instructions + - title: Fault Tolerance Core + page: internals/core + - title: Configuration System + page: internals/config + - title: Logging + page: internals/logging diff --git a/content/docs/smallrye-fault-tolerance/main/_partials/internals.adoc b/content/docs/smallrye-fault-tolerance/main/_partials/internals.adoc new file mode 100644 index 000000000..6a5d9340f --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/_partials/internals.adoc @@ -0,0 +1,3 @@ +WARNING: Note that everything explained here is an implementation detail. +API stability for these interfaces and classes is _not_ guaranteed! +This documentation is only present to provide implementation insight for people who have to debug issues or want to contribute. diff --git a/content/docs/smallrye-fault-tolerance/main/_partials/non-compat.adoc b/content/docs/smallrye-fault-tolerance/main/_partials/non-compat.adoc new file mode 100644 index 000000000..e087cdb10 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/_partials/non-compat.adoc @@ -0,0 +1 @@ +IMPORTANT: This feature only works in the xref:reference/non-compat.adoc[non-compatible mode]. diff --git a/content/docs/smallrye-fault-tolerance/main/_partials/srye-feature.adoc b/content/docs/smallrye-fault-tolerance/main/_partials/srye-feature.adoc new file mode 100644 index 000000000..0f4a979cf --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/_partials/srye-feature.adoc @@ -0,0 +1 @@ +IMPORTANT: This is an additional feature of {smallrye-fault-tolerance} and is not specified by {microprofile-fault-tolerance}. diff --git a/content/docs/smallrye-fault-tolerance/main/_partials/time-unit-inconsistency.adoc b/content/docs/smallrye-fault-tolerance/main/_partials/time-unit-inconsistency.adoc new file mode 100644 index 000000000..b742c482b --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/_partials/time-unit-inconsistency.adoc @@ -0,0 +1,3 @@ +NOTE: Note the naming inconsistency between `{time-value-name}` and `{time-unit-bad-name}`. +It is common for the time unit property to be named after the time value property, e.g. `{time-unit-good-name}`. +Fixing this inconsistency would be a breaking change the {microprofile-fault-tolerance} specification is not willing to make. diff --git a/content/docs/smallrye-fault-tolerance/main/howto/asynchronous.adoc b/content/docs/smallrye-fault-tolerance/main/howto/asynchronous.adoc new file mode 100644 index 000000000..4c8394666 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/howto/asynchronous.adoc @@ -0,0 +1,102 @@ += How to Guard Asynchronous Methods +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} allows offloading method calls to another thread, as well as applying asynchronous fault tolerance. + +Asynchronous fault tolerance means guarding not just the synchronous method execution, but the entire asynchronous operation started by the method call, until the result is delivered. +For example: + +[source,java] +---- +CompletionStage doSomething() { + return CompletableFuture.supplyAsync(() -> { + if (someCondition) { + return someValue; + } else { + throw someException; + } + }); +} +---- + +This method always returns a `CompletionStage` and it never throws an exception. +However, if `someCondition` does not hold, the `CompletionStage` returned from the method will complete exceptionally. + +Ordinary (non-asynchronous) fault tolerance: + +* never considers this operation failing, because the method returns a value and does not throw an exception; +* considers this operation finished when the method returns. + +Asynchronous fault tolerance, on the other hand: + +* defers its decision process to the moment when the returned `CompletionStage` completes, +* and considers this operation running until that happens. + +As a special case, if an asynchronous method in fact does throw an exception (it typically shouldn't), it is treated as if it returned a `CompletionStage` that is already completed exceptionally with the thrown exception. + +== `@Asynchronous` + +A method that returns `java.util.concurrent.Future` or `java.util.concurrent.CompletionStage` may be annotated `@Asynchronous`. +Such method is executed on another thread. +Additionally, if the return type is `CompletionStage`, asynchronous fault tolerance applies. + +[NOTE] +==== +Note that if an `@Asynchronous` method returns a `Future`, asynchronous fault tolerance does _not_ apply. +Only the synchronous method execution is guarded. + +Asynchronous fault tolerance only applies if the `@Asynchronous` method returns `CompletionStage`. +==== + +Use `@Asynchronous` if the method has blocking logic, but you don’t want to block the caller thread. +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @Asynchronous // <1> + CompletionStage hello() { + ... blocking IO here ... + } +} +---- + +<1> Using the `@Asynchronous` annotation, because the method blocks, and it is necessary to offload its execution to another thread. + +== `@AsynchronousNonBlocking` + +include::{partialsdir}/srye-feature.adoc[] + +A method that returns `CompletionStage` may be annotated `@AsynchronousNonBlocking`. +In such case, the method is executed on the original thread, but asynchronous fault tolerance still applies. + +Use `@AsynchronousNonBlocking` if the method _does not_ have blocking logic, and you want the execution to stay on the caller thread. +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @AsynchronousNonBlocking // <1> + CompletionStage hello() { + ... non-blocking IO here ... + } +} +---- + +<1> Using the `@AsynchronousNonBlocking` annotation, because the method does not block and offloading execution to another thread is not necessary. + +=== Non-compatible mode + +include::{partialsdir}/non-compat.adoc[] + +In the non-compatible mode, the `@AsynchronousNonBlocking` annotation is not necessary. +A method that returns `CompletionStage` and is not annotated `@Asynchronous` is automatically treated as `@AsynchronousNonBlocking`. + +== Links + +For more information, see xref:reference/asynchronous.adoc[the Asynchronous Execution reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/main/howto/begin.adoc b/content/docs/smallrye-fault-tolerance/main/howto/begin.adoc new file mode 100644 index 000000000..3b5f0f3e7 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/howto/begin.adoc @@ -0,0 +1,129 @@ += How to Begin +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Installation + +As an application developer, you don't have to "install" {smallrye-fault-tolerance} in any way. +Your chosen runtime, such as Quarkus or WildFly, already integrates {smallrye-fault-tolerance} to provide {microprofile-fault-tolerance}. +Please refer to the documentation of your selected runtime to understand how to enable MicroProfile Fault Tolerance. + +.Quarkus +**** +In case of Quarkus, it is enough to add a dependency on `io.quarkus:quarkus-smallrye-fault-tolerance`. + +See the https://quarkus.io/guides/smallrye-fault-tolerance[{smallrye-fault-tolerance} guide] in Quarkus documentation for more. +**** + +.WildFly +**** +In case of WildFly, the {microprofile-fault-tolerance} subsystem must be enabled. +It is not included in the default `standalone` or `standalone-full` profiles, but it is included in the `standalone-microprofile` profile. +It is easiest to just start WildFly in this profile. + +See the https://docs.wildfly.org/27/Admin_Guide.html#MicroProfile-Fault-Tolerance-SmallRye[{microprofile-fault-tolerance} chapter] in WildFly Admin Guide for more. +**** + +If you are a framework developer, interested in integrating {smallrye-fault-tolerance} in your framework or runtime, please refer to the xref:integration/intro.adoc[Integration] section. + +== Usage + +{microprofile-fault-tolerance} is built on top of CDI and interceptors. +This lets you guard method calls with selected fault tolerance strategies simply by annotating a CDI bean class or method with one of the fault tolerance annotations. +For example: + +[source,java] +---- +@ApplicationScoped // <1> +public class MyService { + @Retry // <2> + public String hello() { + ... + } +} +---- + +<1> `@ApplicationScoped` is a bean defining annotation. +It makes the `MyService` class a CDI bean. +<2> `@Retry` is a fault tolerance annotation. + +Here, if the `hello` method throws an exception, the invocation will be retried several times, until the method returns a value. + +The annotation may also be present on a class, in which case it applies to all business method in the class: + +[source,java] +---- +package com.example; + +@ApplicationScoped +@Retry // <1> +public class MyService { + public String hello() { // <2> + ... + } +} +---- +<1> `@Retry` is a fault tolerance annotation. +<2> The `hello()` method will use the retry strategy, because it is defined on the class. + +A class-level annotation may be overridden by explicitly annotating a method. + +TIP: CDI beginners often expect that this will work if you create an instance manually: `new MyService()`. +That is not the case. +You have to let the CDI container construct an instance for you and inject it: `@Inject MyService service`. +What you get injected is actually a proxy that implements the additional behaviors. + +The fault tolerance strategies present in {microprofile-fault-tolerance}, together with the corresponding annotations, are: + +* `@Asynchronous`: offload method execution to another thread +* `@Bulkhead`: limit concurrent invocations +* `@CircuitBreaker`: prevent invocations if previous invocations failed too often +* `@Fallback`: provide alternative result in case of a failure +* `@Retry`: retry several times in case of a failure +* `@Timeout`: fail if the invocation takes too long + +{smallrye-fault-tolerance} adds some more fault tolerance strategies and annotations: + +* `@ApplyGuard`: apply a programmatically-defined guard +* `@AsynchronousNonBlocking`: apply asynchronous fault tolerance without offloading method execution to another thread +* `@RateLimit`: limit rate of method invocations + +These are all described in the corresponding how-to and reference guides. +The {microprofile-fault-tolerance} features are also described in the {microprofile-fault-tolerance-url}[specification]. + +== Configuration + +The fault tolerance strategies can be configured using annotations, such as: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 10, retryOn = IOException.class) // <1> + public String hello() { + ... + } +} +---- + +<1> Retries will only be attempted if the thrown exception was `IOException`. +Other exceptions will be rethrown directly. +Also, the maximum number of retry attempts is changed to 10 (the default is 3). + +This is convenient, but changing such configuration requires recompilation. +For that reason, configuration using MicroProfile Config is also possible. +For example: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService/hello".retry.max-retries=5 <1> + +# alternatively, a specification-defined property can be used +com.example.MyService/hello/Retry/maxRetries=5 <1> +---- +<1> Even though the `@Retry` annotation says that `maxRetries` should be 10, this configuration takes precedence. +The maximum number of retries will be 5. + +Since this example configuration does not modify the `retryOn` setting, the configuration provided in the annotation still applies. + +For more information about configuration, see xref:reference/config.adoc[the Configuration reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/main/howto/bulkhead.adoc b/content/docs/smallrye-fault-tolerance/main/howto/bulkhead.adoc new file mode 100644 index 000000000..39326779c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/howto/bulkhead.adoc @@ -0,0 +1,33 @@ += How to Limit Concurrency +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to prevent an operation from having too many concurrent executions using a _bulkhead_. + +NOTE: In general, the term _bulkhead_ refers to system compartmentalization, or the practice of preventing failures in one part of the system from spreading to other parts of the system. +In {microprofile-fault-tolerance}, the term refers to one specific instance of the general idea: a _concurrency limiter_. + +== `@Bulkhead` + +The `@Bulkhead` annotation specifies that a concurrency limit should be enforced for all calls of the method. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Bulkhead // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must not have too many concurrent executions. +Since there is no configuration, the default is at most 10 concurrent calls. + +If some callers attempt to invoke the method when the concurrency limit has already been reached, they will fail with `BulkheadException`. + +It is possible to specify the maximum allowed concurrency, as well as define a queue for excess invocations in case of xref:howto/asynchronous.adoc[asynchronous methods]. + +== Links + +For more information, see xref:reference/bulkhead.adoc[the Bulkhead reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/main/howto/circuit-breaker.adoc b/content/docs/smallrye-fault-tolerance/main/howto/circuit-breaker.adoc new file mode 100644 index 000000000..0dcd618ec --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/howto/circuit-breaker.adoc @@ -0,0 +1,33 @@ += How to Fail Fast on Recurring Failures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If an operation fails too often, it is possible to prevent executing that operation and fail fast using a _circuit breaker_. + +The circuit breaker starts _closed_, in which state it allows all invocations to proceed. +If too many invocations fail, the circuit breaker moves to _open_, in which state it prevents all invocations and fails fast. +After some time in _open_, the circuit breaker moves to _half-open_, in which state it determines whether it should continue failing fast (and move back to _open_) or allow invocations again (and move to _closed_). + +== `@CircuitBreaker` + +The `@CircuitBreaker` annotation specifies that method invocations should be prevented if the method failed too often recently. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @CircuitBreaker // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must be guarded with a circuit breaker. + +If some callers attempt to invoke the method when the circuit breaker is _open_, they will fail with `CircuitBreakerOpenException`. + +It is possible to configure the number of recent invocations the circuit breaker should track, the failure rate, and so on. + +== Links + +For more information, see xref:reference/circuit-breaker.adoc[the Circuit Breaker reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/main/howto/fallback.adoc b/content/docs/smallrye-fault-tolerance/main/howto/fallback.adoc new file mode 100644 index 000000000..a0fb8826d --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/howto/fallback.adoc @@ -0,0 +1,62 @@ += How to Supply Fallback Values +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If an operation fails, it is often possible to replace the failure with an alternative result: a _fallback_. + +== `@Fallback` + +=== Using a Fallback Method + +The `@Fallback` annotation allows specifying a method that should be called in case an exception is thrown. +The fallback method must have the same parameter types as the guarded method, and must return a type that is assignable to the guarded method's return type. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") // <1> + public String hello() { + ... + } + + private String fallback() { + return "fallback"; + } +} +---- +<1> Declares that if `hello()` throws an exception, the `fallback()` method is called and its result is returned instead. + +In this particular case, if `hello()` throws an exception, that exception is swallowed and the string `"fallback"` is returned. +It is possible to specify that fallback should only apply to certain exception types or that it should be skipped for certain exception types. + +=== Using a Fallback Handler + +Alternatively, the `@Fallback` annotation allows specifying a fallback handler that should be called. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(MyFallback.class) // <1> + public String hello() { + ... + } +} +---- +<1> Declares that if `hello()` throws an exception, the `MyFallback` handler is used to obtain a fallback value. + +[source,java] +---- +public class MyFallback implements FallbackHandler { // <1> + String handle(ExecutionContext context) { // <2> + return "fallback"; + } +} +---- +<1> A fallback handler must implement the `FallbackHandler` interface. +<2> The `ExecutionContext` provides access to the guarded method, its parameter values, and the thrown exception. + +== Links + +For more information, see xref:reference/fallback.adoc[the Fallback reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/main/howto/multiple.adoc b/content/docs/smallrye-fault-tolerance/main/howto/multiple.adoc new file mode 100644 index 000000000..7ee19a470 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/howto/multiple.adoc @@ -0,0 +1,58 @@ += How to Use Multiple Strategies +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to use multiple fault tolerance strategies to guard a single method. +For example, it is possible to use fallback together with retry and timeout: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 5) + @Fallback(fallbackMethod = "fallback") + @Timeout + public String hello() { + ... + } + + public String fallback() { + return "fallback"; + } +} +---- + +In such case, the fault tolerance strategies are nested in a pre-defined order: + +[source] +---- +Fallback( + Retry( + CircuitBreaker( + RateLimit( + Timeout( + Bulkhead( + ... the guarded method ... + ) + ) + ) + ) + ) +) +---- + +In the previous example, this means that timeout is nested inside retry, which in turn is nested inside fallback. +If the method times out (the default timeout is 1 second), it is retried (up to 5 times). +If no attempt succeeds, fallback is used. + +== Links + +Reference guides for all fault tolerance strategies explain in detail how they interact with one another: + +* xref:reference/asynchronous.adoc#interactions[@Asynchronous and @AsynchronousNonBlocking] +* xref:reference/bulkhead.adoc#interactions[@Bulkhead] +* xref:reference/circuit-breaker.adoc#interactions[@CircuitBreaker] +* xref:reference/fallback.adoc#interactions[@Fallback] +* xref:reference/rate-limit.adoc#interactions[@RateLimit] +* xref:reference/retry.adoc#interactions[@Retry] +* xref:reference/timeout.adoc#interactions[@Timeout] diff --git a/content/docs/smallrye-fault-tolerance/main/howto/rate-limit.adoc b/content/docs/smallrye-fault-tolerance/main/howto/rate-limit.adoc new file mode 100644 index 000000000..c818bfdfe --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/howto/rate-limit.adoc @@ -0,0 +1,33 @@ += How to Limit Execution Rate +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +It is possible to prevent an operation from being executed too often using a _rate limit_. + +== `@RateLimit` + +The `@RateLimit` annotation specifies that a rate limit should be enforced for all method calls. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @RateLimit // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must not be called too often. +Since there is no configuration, the default is at most 100 calls per 1 minute. + +If the method is called too often, excess attempts will fail with `RateLimitException`. + +It is possible to specify the maximum allowed rate of execution (the rate limit), together with minimum spacing between invocations. +There are also several types of rate limiting to choose from. + +== Links + +For more information, see xref:reference/rate-limit.adoc[the Rate Limit reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/main/howto/retry.adoc b/content/docs/smallrye-fault-tolerance/main/howto/retry.adoc new file mode 100644 index 000000000..865403c37 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/howto/retry.adoc @@ -0,0 +1,33 @@ += How to Retry on Failures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If an operation fails, it is possible to _retry_ the operation in case the failure was just a temporary glitch. + +CAUTION: In case an operation fails due to the target system being overloaded, retrying will likely make the overload situation even worse. +Use sparingly, preferably with a xref:howto/bulkhead.adoc[concurrency limit] or a xref:howto/circuit-breaker.adoc[circuit breaker]. + +== `@Retry` + +The `@Retry` annotation specifies that a method should be called again in case a previous execution thrown an exception. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry // <1> + public String hello() { + ... + } +} +---- +<1> Declares that if `hello()` throws an exception, the exception is swallowed and `hello()` is called again. +Since there is no configuration, at most 3 retry attempts will be done before rethrowing the exception. + +It is possible to specify the maximum number of retry attempts, as well as the maximum duration for which retries should be attempted. +Further, it is possible to specify some delay between retry attempts, together with random jitter. +Finally, it is possible to specify that calls should be retried only for certain exception types or that retrying should be aborted for certain exception types. + +== Links + +For more information, see xref:reference/retry.adoc[the Retry reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/main/howto/timeout.adoc b/content/docs/smallrye-fault-tolerance/main/howto/timeout.adoc new file mode 100644 index 000000000..c3e9fdf8b --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/howto/timeout.adoc @@ -0,0 +1,28 @@ += How to Watch for Timeouts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is possible to prevent an operation from taking too long using a _timeout_. + +== `@Timeout` + +The `@Timeout` annotation specifies that all calls of the method should fail if they take too long. + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Timeout // <1> + public String hello() { + ... + } +} +---- +<1> Declares that `hello()` must not take too long. +Since there is no configuration, the default is at most 1 second. + +If the method call takes too long, the caller will get a `TimeoutException` instead. + +== Links + +For more information, see xref:reference/timeout.adoc[the Timeout reference guide]. diff --git a/content/docs/smallrye-fault-tolerance/main/images/diagrams/mermaid-f40d3cbcabca.dark.svg b/content/docs/smallrye-fault-tolerance/main/images/diagrams/mermaid-f40d3cbcabca.dark.svg new file mode 100644 index 000000000..cfe00df23 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/images/diagrams/mermaid-f40d3cbcabca.dark.svg @@ -0,0 +1 @@ +

Recent invocations failed too often

Configured time elapsed

All probe invocations succeeded

Some probe invocations failed

[CLOSED] Allow invocations and track the number of successes and failures

[OPEN] Fail fast, prevent all invocations

[HALF-OPEN] Allow some probe invocations to proceed

\ No newline at end of file diff --git a/content/docs/smallrye-fault-tolerance/main/images/diagrams/mermaid-f40d3cbcabca.svg b/content/docs/smallrye-fault-tolerance/main/images/diagrams/mermaid-f40d3cbcabca.svg new file mode 100644 index 000000000..a31aed359 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/images/diagrams/mermaid-f40d3cbcabca.svg @@ -0,0 +1 @@ +

Recent invocations failed too often

Configured time elapsed

All probe invocations succeeded

Some probe invocations failed

[CLOSED] Allow invocations and track the number of successes and failures

[OPEN] Fail fast, prevent all invocations

[HALF-OPEN] Allow some probe invocations to proceed

\ No newline at end of file diff --git a/content/docs/smallrye-fault-tolerance/main/index.adoc b/content/docs/smallrye-fault-tolerance/main/index.adoc new file mode 100644 index 000000000..c8eccf252 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/index.adoc @@ -0,0 +1,77 @@ += SmallRye Fault Tolerance Documentation +include::_attributes.adoc[] + +{smallrye-fault-tolerance} {smallrye-fault-tolerance-version} is an implementation of https://github.com/eclipse/microprofile-fault-tolerance/[Eclipse {microprofile-fault-tolerance}] {microprofile-fault-tolerance-version} with additional features not defined by the specification. + +It provides a declarative, annotation-based API for guarding method calls: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry // <1> + public String hello() { + ... + } +} +---- +<1> If `hello()` throws an exception, the invocation will be retried several times, until the method returns a value. + +It also provides a programmatic API to build reusable guards: + +[source,java] +---- +public class MyService { + private static final TypedGuard GUARD = TypedGuard.create(String.class) + .withFallback().handler(() -> "fallback").done() // <1> + .build(); + + public String hello() throws Exception { + return GUARD.call(() -> externalService.hello()); // <2> + } +} +---- +<1> If the guarded call throws an exception, the fallback value will be returned instead. +<2> The guarded call simply invokes some external service. + +CAUTION: The fault tolerance strategies provided by {smallrye-fault-tolerance} are best suited for guarding network interactions. +To handle ordinary exceptions, it is typically best to use the plain old `try` / `catch` / `finally` blocks. +Using {smallrye-fault-tolerance} as a replacement of exception handling is often a bad idea. + +NOTE: Some additional features may have experimental status, marked by the `@Experimental` annotation. +The programmatic API to build reusable guards, as mentioned above, is one example, but there are more. + +== Runtimes + +Runtimes that currently use {smallrye-fault-tolerance} include: + +* https://quarkus.io/[Quarkus] +* https://wildfly.org/[WildFly] + +== Navigation + +This documentation site has several sections, as you can see in the menu. + +=== How-to Guides + +How-tos are task-oriented guides that let you quickly start using some feature. +They provide a short overview, but not many details. + +TIP: If you're just starting with {smallrye-fault-tolerance}, start with the how-tos. + +=== References + +References are detailed guides that let you understand some feature in depth. +They also provide information about more advanced options or features. + +TIP: If the how-to guide doesn't answer a question you have, the reference guide should. + +=== Integration + +The articles here address concerns that runtimes integrating {smallrye-fault-tolerance} might have. +Useful for people who maintain {smallrye-fault-tolerance} integration into some bigger framework or platform, but not required for application developers. + +=== Internals + +A few random articles that describe some parts of the {smallrye-fault-tolerance} code base. +Useful for prospective contributors or generally curious users, but not required for application developers. diff --git a/content/docs/smallrye-fault-tolerance/main/integration/async-types.adoc b/content/docs/smallrye-fault-tolerance/main/integration/async-types.adoc new file mode 100644 index 000000000..f4706c68c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/integration/async-types.adoc @@ -0,0 +1,15 @@ += Additional Asynchronous Types Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns for xref:reference/asynchronous.adoc#async-types[Additional Asynchronous Types]. + +To enable support of additional asynchronous types, it is required that the support library is present. +That is: + +* https://smallrye.io/smallrye-mutiny/[Mutiny]: `io.smallrye:smallrye-fault-tolerance-mutiny` +* https://github.com/ReactiveX/RxJava/tree/3.x[RxJava 3]: `io.smallrye:smallrye-fault-tolerance-rxjava3` +* https://vertx.io/docs/vertx-core/java/#_future_results[Vert.x `Future`]: `io.smallrye:smallrye-fault-tolerance-vertx` + +These libraries include some service providers that {smallrye-fault-tolerance} will automatically load and use. +Therefore, no more integration is necessary. diff --git a/content/docs/smallrye-fault-tolerance/main/integration/context-propagation.adoc b/content/docs/smallrye-fault-tolerance/main/integration/context-propagation.adoc new file mode 100644 index 000000000..a39b7816d --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/integration/context-propagation.adoc @@ -0,0 +1,8 @@ += Context Propagation +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} supports MicroProfile Context Propagation for `@Asynchronous` method invocations, if 2 conditions are satisfied: + +- the integrator provides a MicroProfile Context Propagation enabled thread pool (see xref:integration/thread-pool.adoc[Thread Pool]); +- the `io.smallrye:smallrye-fault-tolerance-context-propagation` artifact is present (it provides alternative implementations of some internal services, loaded using `ServiceLoader`). diff --git a/content/docs/smallrye-fault-tolerance/main/integration/event-loop.adoc b/content/docs/smallrye-fault-tolerance/main/integration/event-loop.adoc new file mode 100644 index 000000000..2cc5818ac --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/integration/event-loop.adoc @@ -0,0 +1,37 @@ += Event Loop +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} provides an API to integrate with event loops used in non-blocking runtimes. + +WARNING: This integration API comes from the `core` module and so is treated as private. +If you intend to implement it, please let us know in the {smallrye-fault-tolerance} issue tracker. +We'd prefer all the implementations to live in the {smallrye-fault-tolerance} project. + +The integrator must implement the `EventLoop` interface, which lets {smallrye-fault-tolerance} submit ``Runnable``s to the event loop for execution. +Implementations are discovered through `ServiceLoader`, so the corresponding `META-INF/services/\...` file must also exist. + +At most one implementation of `EventLoop` may be present at runtime. +{smallrye-fault-tolerance} will use it to execute non-blocking guarded methods when the caller was originally on an event loop thread. +This is important in case of: + +- retries, when there's a delay between retry attempts (the delay must not block); +- bulkheads, when a task is queued (such task is executed when some other task finishes, which happens on an unknown thread). + +If no event loop integration is present, the tasks described above will be offloaded to the xref:integration/thread-pool.adoc[thread pool]. + +The event loop integration is also used in some other situations when guarding non-blocking methods: + +- fallbacks, when the original method fails (the fallback is executed on the original event loop); +- timeouts, when timeout occurs (the failure is signalled on the original event loop). + +== Vert.x + +{smallrye-fault-tolerance} includes an implementation of the event loop integration API for Vert.x. +This implementation is compiled and tested against Vert.x version {vertx-version}, but should also work fine with Vert.x 4.x. + +This implementation is present in the `io.smallrye:smallrye-fault-tolerance-vertx` artifact. +Including this artifact is enough to enable the Vert.x integration. + +NOTE: The Vert.x implementation is treated as public, but only as described here. +That is, the artifact should be treated as opaque, no guarantees about its internals are made. diff --git a/content/docs/smallrye-fault-tolerance/main/integration/intro.adoc b/content/docs/smallrye-fault-tolerance/main/integration/intro.adoc new file mode 100644 index 000000000..6f416fe4c --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/integration/intro.adoc @@ -0,0 +1,40 @@ += Introduction +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} comprises the following main artifacts: + +* `io.smallrye:smallrye-fault-tolerance-api`: public API for the features provided on top of {microprofile-fault-tolerance}, including a programmatic API; +* `io.smallrye:smallrye-fault-tolerance-apiimpl`: implementation of the programmatic API; +* `io.smallrye:smallrye-fault-tolerance-core`: core implementations of fault tolerance strategies; +* `io.smallrye:smallrye-fault-tolerance`: CDI-based implementation of {microprofile-fault-tolerance} with {smallrye-fault-tolerance} extensions, including a programmatic API; +* `io.smallrye:smallrye-fault-tolerance-autoconfig-core`: runtime part of the {smallrye-fault-tolerance} configuration system. +** (There's also `io.smallrye:smallrye-fault-tolerance-autoconfig-processor`, but that is only used during {smallrye-fault-tolerance} build and isn't required at runtime.) + +These artifacts must be always present, together with the following dependencies: + +* Jakarta CDI, Annotations and Interceptors API; +* `org.eclipse.microprofile.fault-tolerance:microprofile-fault-tolerance-api`; +* `org.eclipse.microprofile.config:microprofile-config-api` and some implementation; +* `org.jboss.logging:jboss-logging`. + +Some other artifacts are provided to facilitate additional integrations. +These are described in the subsequent sections. + +Most of the integration is performed automatically by the CDI Portable Extension present in {smallrye-fault-tolerance}: `io.smallrye.faulttolerance.FaultToleranceExtension`. +Make sure the extension is active. +The remaining integration concerns are described in the following sections: + +* xref:integration/metrics.adoc[emitting metrics] for fault tolerance strategies; +* xref:integration/thread-pool.adoc[providing a thread pool] for `@Asynchronous` methods and other asynchronous tasks; +* xref:integration/context-propagation.adoc[enabling Context Propagation] for `@Asynchronous` methods; +* xref:integration/event-loop.adoc[integrating an event loop] for non-blocking method invocations; +* xref:integration/async-types.adoc[integrating additional types] for asynchronous invocations; +* xref:integration/kotlin.adoc[integrating Kotlin support] for `suspend` functions; +* xref:integration/programmatic-api.adoc[integrating the programmatic API] that {smallrye-fault-tolerance} provides. + +== Standalone Implementation of the Programmatic API + +A completely standalone implementation of the programmatic API exists in the `io.smallrye:smallrye-fault-tolerance-standalone` artifact. +This is supposed to be used in a non-CDI environment. +Runtimes that integrate {smallrye-fault-tolerance} typically do so using CDI, and so should ignore this artifact. diff --git a/content/docs/smallrye-fault-tolerance/main/integration/kotlin.adoc b/content/docs/smallrye-fault-tolerance/main/integration/kotlin.adoc new file mode 100644 index 000000000..98d9804f9 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/integration/kotlin.adoc @@ -0,0 +1,11 @@ += Kotlin Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns for xref:reference/asynchronous.adoc#kotlin-suspend-functions[Kotlin `suspend` functions]. + +To enable support of Kotlin suspending functions, it is required that the support library is present. +Its coordinates are: `io.smallrye:smallrye-fault-tolerance-kotlin`. + +This library includes some service providers that {smallrye-fault-tolerance} will automatically load and use. +Therefore, no more integration is necessary. diff --git a/content/docs/smallrye-fault-tolerance/main/integration/metrics.adoc b/content/docs/smallrye-fault-tolerance/main/integration/metrics.adoc new file mode 100644 index 000000000..fda9de26f --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/integration/metrics.adoc @@ -0,0 +1,66 @@ += Metrics +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} provides support for OpenTelemetry and Micrometer. +Alternatively, metrics may be completely disabled at the integration level. + +As usual, this integration is based on CDI. +{smallrye-fault-tolerance} includes an internal interface `MetricsProvider` and these implementations: + +* `io.smallrye.faulttolerance.metrics.OpenTelemetryProvider` +* `io.smallrye.faulttolerance.metrics.MicrometerProvider` +* `io.smallrye.faulttolerance.metrics.NoopProvider` + +There are 2 possible ways how to integrate metrics: + +* exactly 1 class from the list above is a bean; +* more than 1 class from the list above is a bean, in which case, `io.smallrye.faulttolerance.metrics.CompoundMetricsProvider` must also be a bean. + +NOTE: Only the _names_ of the classes listed above are treated as public. +That is, the classes should be treated as opaque, no guarantees about their internals are made. + +== Default Integration + +In case the integrator uses the CDI Portable Extension `FaultToleranceExtension` and lets the container create an instance, metrics presence is discovered automatically. +All present metrics systems are used. + +== Using a `FaultToleranceExtension` Constructor + +In case the integrator uses the CDI Portable Extension `FaultToleranceExtension` and creates its instance manually, they can use a constructor. + +In addition to a zero-parameter constructor, which is used in the default integration as described above, there are constructors that take a parameter of `MetricsIntegration` or `Set`. + +`MetricsIntegration` is an enum with these values: + +* `OPENTELEMETRY`: use OpenTelemetry (MicroProfile Telemetry) integration +* `MICROMETER`: use Micrometer integration +* `NOOP`: no metrics + +== Metrics Providers + +Metrics providers have additional requirements, as described below. + +=== OpenTelemetry + +If OpenTelemetry should be used, the integrator must ensure that the following artifact is present: + +* `io.opentelemetry:opentelemetry-api`. + +Further, a bean of type `io.opentelemetry.api.metrics.Meter` must exist. +This bean is used to emit the actual metrics. + +=== Micrometer + +If Micrometer should be used, the integrator must ensure that the following artifact is present: + +* `io.micrometer:micrometer-core`. + +Further, a bean of type `io.micrometer.core.instrument.MeterRegistry` must exist. +This bean is used to emit the actual metrics. + +=== Noop + +If the "noop" provider is used, metrics are completely disabled. + +No metrics API and implementation is required in this case. diff --git a/content/docs/smallrye-fault-tolerance/main/integration/programmatic-api.adoc b/content/docs/smallrye-fault-tolerance/main/integration/programmatic-api.adoc new file mode 100644 index 000000000..636973a75 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/integration/programmatic-api.adoc @@ -0,0 +1,48 @@ += Programmatic API Integration Concerns +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This page describes integration concerns of the xref:reference/programmatic-api.adoc[Programmatic API] of {smallrye-fault-tolerance}. + +== CDI Implementation + +Runtimes that provide the CDI implementation of the programmatic API don't have to do any extra integration work. +The existing integration is enough. + +== Standalone Implementation + +The standalone implementation exposes a single integration point: the `StandaloneFaultTolerance.configure()` static method. +This method must be called before fault tolerance is first used. +It accepts a custom implementation of the `Configuration` interface, which allows customizing: + +* `enabled()`: if `false`, all fault tolerance strategies except fallback and thread offload are disabled +* `executor()`: executor for thread offloads and other asynchronous tasks +* `metricsAdapter()`: adapter for metrics, see below + +When no `Configuration` is provided, sensible defaults are used: + +* fault tolerance is enabled unless system property `MP_Fault_Tolerance_NonFallback_Enabled` is set to `false` +* a thread pool obtained using `Executors.newCachedThreadPool()` is used as an executor +* no metrics are emitted + +Users of the standalone implementation that also use an event loop based library, such as Vert.x, may integrate the event loop support as described in xref:integration/event-loop.adoc[Event Loop]. + +=== Lifecycle + +The thread pool and all other internal resources are initialized lazily, on the first use. +The `StandaloneFaultTolerance.shutdown()` method may be used on application shutdown to shut down these internal resources. + +The executor is only shut down when no `Configuration` was provided and {smallrye-fault-tolerance} had to create an executor on its own. +If `Configuration` was provided, the executor shutdown is left to the integrator; it is _not_ attempted automatically. + +At the end of `StandaloneFaultTolerance.shutdown()`, the `Configuration.onShutdown()` method is called. + +After `StandaloneFaultTolerance.shutdown()`, it is not possible to reinitialize {smallrye-fault-tolerance} again. + +=== Metrics + +It is possible to integrate with OpenTelemetry or Micrometer. + +The `Configuration.metricsAdapter()` method must be implemented and return an instance of `io.smallrye.faulttolerance.standalone.OpenTelemetryAdapter` or `io.smallrye.faulttolerance.standalone.MicrometerAdapter`. +The constructor of `OpenTelemetryAdapter` accepts the `Meter` to which metrics shall be emitted. +The constructor of `MicrometerAdapter` accepts the `MeterRegistry` to which metrics shall be emitted. diff --git a/content/docs/smallrye-fault-tolerance/main/integration/thread-pool.adoc b/content/docs/smallrye-fault-tolerance/main/integration/thread-pool.adoc new file mode 100644 index 000000000..b223fd4fb --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/integration/thread-pool.adoc @@ -0,0 +1,30 @@ += Thread Pool +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} expects integrators to provide a thread pool for running `@Asynchronous` methods and other asynchronous tasks. +This integration is based on CDI. + +The integrator should provide a CDI bean which implements `AsyncExecutorProvider`. +The bean should be `@Singleton`, must be marked as alternative and selected globally for the application. + +There is a default thread pool in case no integration is provided, but it shouldn't be used outside of tests or experiments. +This is provided by the `AsyncExecutorProvider` default implementation, `DefaultAsyncExecutorProvider`. + +Integrators that are themselves Jakarta EE application servers and don't want to expose their own thread pool can subclass `DefaultAsyncExecutorProvider`. +This at least allows customizing the `ThreadFactory`. + +== Configuration + +If the integrator doesn't provide a thread pool, the default thread pool is used as described above. +In such case, the following configuration properties are recognized: + +- `io.smallrye.faulttolerance.mainThreadPoolSize`: maximum number of threads in the thread pool. +Defaults to `100`. + +- `io.smallrye.faulttolerance.mainThreadPoolQueueSize`: size of the queue that the thread pool should use. +Can be `> 0`, in which case the queue will be bounded to given size. +Can be `0`, in which case there will be no queue, and the thread pool will reject excess tasks. +Can be `-1`, in which case the queue will be unbounded. +Values `< -1` are an error. +Defaults to `-1`. diff --git a/content/docs/smallrye-fault-tolerance/main/internals/config.adoc b/content/docs/smallrye-fault-tolerance/main/internals/config.adoc new file mode 100644 index 000000000..6e505c7b2 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/internals/config.adoc @@ -0,0 +1,119 @@ += Configuration System +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/internals.adoc[] + +The xref:internals/core.adoc[core] fault tolerance strategies are configured simply by constructor parameters. +This is fine, since they are an internal implementation detail. +However, the constructor parameters correspond closely to the members of {microprofile-fault-tolerance} annotations. +The idea is that core fault tolerance strategies have no dependency on the {microprofile-fault-tolerance} API, but given a fault tolerance annotation, creating an instance of the corresponding strategy should be straightforward. + +On top of the core layer, {smallrye-fault-tolerance} implements {microprofile-fault-tolerance}, including a configuration system conforming to the specification. +This document briefly describes how the configuration system works. + +== `FaultToleranceOperation` + +The fault tolerance interceptor, which is the main entrypoint, looks up a `FaultToleranceOperation` instance for each class/method combination it has to process. +The `FaultToleranceOperation` holds a bean class, a descriptor of the guarded method, and configuration for each fault tolerance strategy applied to the method. +It also orchestrates configuration validation. +The interceptor uses a `FaultToleranceOperation` to instantiate all the core fault tolerance strategies for given guarded method. + +The `FaultToleranceOperation` instances are created early on, during application deployment, for all beans that use {microprofile-fault-tolerance}. +It may happen that a `FaultToleranceOperation` is created lazily, for special constructs such as runtime-built proxies, but that is largely irrelevant from the configuration perspective. + +== `FaultToleranceMethod` + +A `FaultToleranceOperation` is created from a `FaultToleranceMethod`. +A `FaultToleranceMethod` holds, again, a bean class, a descriptor of the guarded method, and the annotation instance for each annotation that is present on the guarded method or the class declaring the method. +It also knows what annotations have been declared directly on the method, and what annotations have been declared on the class. +This is because the {microprofile-fault-tolerance} configuration rules distinguish these two cases. + +A `FaultToleranceMethod` must be created in a CDI extension, because it represents the knowledge CDI has about the guarded method. +Note that CDI extensions may add, remove or modify annotations, so `FaultToleranceMethod` doesn't just hold the annotation instances as present in the class bytecode. + +.Quarkus +**** +In environments that bootstrap the CDI container during application build, such as Quarkus, the set of all ``FaultToleranceMethod``s in the application should be collected during build and transferred to runtime. +Then, at application runtime, ``FaultToleranceOperation``s should be created and validated. + +{smallrye-fault-tolerance} doesn't do anything like that, but is designed with Quarkus (and CDI Lite) in mind. +**** + +The main difference between `FaultToleranceMethod` and `FaultToleranceOperation` is that `FaultToleranceMethod` holds annotation instances, while `FaultToleranceOperation` holds configuration. + +== `@AutoConfig` + +As described above, `FaultToleranceMethod` holds annotation instances, while `FaultToleranceOperation` holds configuration. +Yet, `FaultToleranceOperation` exposes the annotation types (such as `@CircuitBreaker`) to anyone who needs the configuration. +The configuration consumers simply call the annotation methods (such as `requestVolumeThreshold()`), and configuration is handled behind the scenes, following the {microprofile-fault-tolerance} configuration rules. + +The infrastructure behind this is present in the `autoconfig` module. +This module allows creating simple configuration interfaces like this: + +[source,java] +---- +@AutoConfig +interface CircuitBreakerConfig extends CircuitBreaker, Config { + default void validate() { + ... + } +} +---- + +The config interface must: + +. be annotated with `@AutoConfig`; +. extend the annotation interface (`CircuitBreaker` in this case); +. extend the `Config` (or `ConfigDeclarativeOnly`) interface (from the `autoconfig/core` module); +. provide a `default` implementation of the `validate` method (defined in `Config`). + +For each such interface, an implementation class will be automatically generated by an annotation processor (implemented in the `autoconfig/processor` module). +In this case, it would be called `CircuitBreakerConfigImpl`. + +This implementation class has a `static` method called `create()` that accepts a `FaultToleranceMethod`. +It follows that for each guarded method, a new instance must be created. +If given `FaultToleranceMethod` doesn't contain an instance of particular annotation, `create()` simply returns `null`. + +The implementation class also overrides all methods from the annotation type. +Each annotation method is implemented to first consult MicroProfile Config, and only second to consult the annotation instance (which, as we described above, is present on the `FaultToleranceMethod`). + +The implementation class is supposed to be used just like the annotation type itself. +In other words, to obtain configured values, call the annotation methods on the config interface instance. +For example, to obtain the `requestVolumeThreshold` value, with respect to the {microprofile-fault-tolerance} configuration rules, we obtain an instance of `CircuitBreakerConfigImpl` and call `requestVolumeThreshold()`. + +The `FaultToleranceOperation` class holds instances of these config interfaces, and exposes them to configuration consumers. +It actually only exposes the annotation types, not the full config interface, but that is enough. + +== Putting it all together + +Let's recap how it all works. + +First, for each guarded method in the application, a `FaultToleranceMethod` instance is created, holding all the annotations that affect the method. + +Second, for each `FaultToleranceMethod`, a `FaultToleranceOperation` is created. +That, in turn, creates an instance of all relevant config interfaces. + +Finally, the fault tolerance interceptor looks up a `FaultToleranceOperation` and creates a chain of fault tolerance strategies. +For each fault tolerance strategy in the chain, the interceptor looks up configuration values from the corresponding config interface. + +The chain of fault tolerance strategies is created on the first invocation to a given guarded method and cached for all subsequent invocations. +That is how we satisfy the requirement that all stateful fault tolerance strategies are singletons, but that's a different story. + +== Supplement: Programmatic API + +The description above is slightly simplified for readability. +It is precise enough to describe how configuration works in the declarative, annotation-based API. + +The programmatic API itself supports configuration when used together with `@ApplyGuard`. +However, it doesn't support configuring _all_ strategies; some are built in a different manner and no configuration is possible. + +Therefore, the `FaultToleranceOperation` class described above is actually split into 2 classes: + +* `BasicFaultToleranceOperation`, which is shared for both configuration systems and holds all `Config` objects, +* its subclass `FaultToleranceOperation`, which only applies in case of the declarative API and holds all `ConfigDeclarativeOnly` objects. + +In addition to the description above, implementations of the `Config` interface (but not `ConfigDeclarativeOnly`) also include a `create()` method that takes a `String` identifier and a `Supplier` of the backing annotation instance. +This is supposed to be used to create an instance for configuring the programmatic API, because there's no `FaultToleranceMethod` in such case. +Also, a zero-configuration implementation of the `Config` interface is generated, called `...NoConfigImpl`. +This exists to be able to use the config interface even in the non-`@ApplyGuard` case, where no configuration is possible. diff --git a/content/docs/smallrye-fault-tolerance/main/internals/core.adoc b/content/docs/smallrye-fault-tolerance/main/internals/core.adoc new file mode 100644 index 000000000..271f108a9 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/internals/core.adoc @@ -0,0 +1,123 @@ += Fault Tolerance Core +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/internals.adoc[] + +The core idea in {smallrye-fault-tolerance} is a `FaultToleranceStrategy`. +It is an interface that looks like this: + +[source,java] +---- +interface FaultToleranceStrategy { + Future apply(FaultToleranceContext ctx); +} +---- + +NOTE: The `Future` type here is _not_ a `java.util.concurrent.Future`. +It comes from {smallrye-fault-tolerance} and it could be described as a very bare-bones variant of `CompletableFuture`, except it's split into `Completer` and `Future`. +It is not supposed to be used outside of this project. + +The `FaultToleranceContext` is similar to a `Callable>`; it represents the method invocation guarded by this fault tolerance strategy. +The fault tolerance strategy does its work around `ctx.call()`. +It can catch exceptions, invoke `ctx.call()` multiple times, invoke something else, etc. +As an example, let's consider this strategy, applicable to methods that return a `String`: + +[source,java] +---- +public class MyStringFallback implements FaultToleranceStrategy { + @Override + public Future apply(FaultToleranceContext ctx) { + Completer completer = Completer.create(); + try { + ctx.call().then((value, error) -> { + if (error == null) { + completer.complete(value); + } else { + completer.complete("my string value"); + } + }); + } catch (Exception ignored) { + completer.complete("my string value"); + } + return completer.future(); + } +} +---- + +This is a very simple fallback mechanism, which returns a pre-defined value in case of an exception. + +In the {smallrye-fault-tolerance} codebase, you can find implementations of all the strategies required by {microprofile-fault-tolerance}: retry, fallback, timeout, circuit breaker or bulkhead. +Asynchronous invocation, delegated to a thread pool, is of course also supported. + +When multiple fault tolerance strategies are supposed to be used to guard one method, they form a chain. +Continuing with our simple example, adding the ability to chain with another strategy would look like this: + +[source,java] +---- +public class MyStringFallback implements FaultToleranceStrategy { + private final FaultToleranceStrategy delegate; + + public MyStringFallback(FaultToleranceStrategy delegate) { + this.delegate = delegate; + } + + @Override + public Future apply(FaultToleranceContext ctx) { + Completer completer = Completer.create(); + try { + delegate.apply(ctx).then((value, error) -> { + if (error == null) { + completer.complete(value); + } else { + completer.complete("my string value"); + } + }); + } catch (Exception ignored) { + completer.complete("my string value"); + } + return completer.future(); + } +} +---- + +We see that one strategy delegates to another, passing the `FaultToleranceContext` along. +In fact, all the implementations in {smallrye-fault-tolerance} are written like this: they expect to be used in a chain, so they take another `FaultToleranceStrategy` to which they delegate. +But if all strategies have this form, when is `ctx.call()` actually invoked? +Good question! +The ultimate `ctx.call()` invocation is done by a special fault tolerance strategy which is called, well, `Invocation`. + +As an example which uses real {microprofile-fault-tolerance} annotations, let's consider this method: + +[source,java] +---- +@Retry(...) +@Timeout(...) +@Fallback(...) +public void doSomething() { + ... +} +---- + +The chain of fault tolerance strategies will look roughly like this: + +[source] +---- +Fallback( + Retry( + Timeout( + Invocation( + // ctx.call() will happen here + // that will, in turn, invoke doSomething() + ) + ) + ) +) +---- + +The order in which the strategies are chained (or, in fact, nested) is specified by {microprofile-fault-tolerance}. + +Other strategies might also be present in more complex cases. +For example, if metrics are enabled, a special strategy is used that collects metrics. +If the method is `@Asynchronous`, a special strategy is used that offloads method execution to another thread. +Etc. diff --git a/content/docs/smallrye-fault-tolerance/main/internals/instructions.adoc b/content/docs/smallrye-fault-tolerance/main/internals/instructions.adoc new file mode 100644 index 000000000..2b275e995 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/internals/instructions.adoc @@ -0,0 +1,21 @@ += Instructions +:version-root: ../ +include::{version-root}_attributes.adoc[] + +To compile this project and install the artifacts into local Maven repository, run: + +[source,bash] +---- +mvn clean install +---- + +This will also run all the tests and the TCK. + +You can use + +[source,bash] +---- +mvn clean install -DskipTests +---- + +to skip the tests and make the build a lot faster. diff --git a/content/docs/smallrye-fault-tolerance/main/internals/logging.adoc b/content/docs/smallrye-fault-tolerance/main/internals/logging.adoc new file mode 100644 index 000000000..bacfff5ec --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/internals/logging.adoc @@ -0,0 +1,16 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Logging in {smallrye-fault-tolerance} is based on https://jboss-logging.github.io/jboss-logging-tools/[JBoss Logging Tools] (see also https://github.com/smallrye/smallrye/wiki/I18N-Messages-and-Logging[SmallRye instructions]). +It's an annotation processor that takes annotated interfaces and generates logger implementations with out of the box support for message codes and internationalization. +We use a project code of `SRFTL`. +Message codes are divided into ranges that are defined in the `message-ranges.txt` file in the root directory. + +In addition to logging, JBoss Logging Tools can also be used for creating exceptions, again, with out of the box support for message codes and internationalization. +Contrary to both documentation sites mentioned above, it _is_ possible to mix logging and exceptions in a single interface, as demonstrated by `CdiLogger`. +However, {smallrye-fault-tolerance} doesn't use this feature yet, with the exception of a few methods in `CdiLogger`. +This should be rectified in the future. + +Note that `DEBUG` and `TRACE` logging doesn't need message codes or internationalization, so we usually don't declare logger methods for them, unless the log message requires parameters. +We still declare the logger interface, let it extend `BasicLogger` and use the singleton instance to log plain ``String``s. diff --git a/content/docs/smallrye-fault-tolerance/main/internals/project-structure.adoc b/content/docs/smallrye-fault-tolerance/main/internals/project-structure.adoc new file mode 100644 index 000000000..aa14ffa82 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/internals/project-structure.adoc @@ -0,0 +1,37 @@ += Project Structure +:version-root: ../ +include::{version-root}_attributes.adoc[] + +* `api`: {smallrye-fault-tolerance} API, additional to the {microprofile-fault-tolerance} API. + Treated as a public API. +* `implementation/core`: Implementation of core fault tolerance strategies. + Independent of the {microprofile-fault-tolerance} API or the {smallrye-fault-tolerance} API. + Treated as private API, no compatibility guaranteed. +* `implementation/apiimpl`: Implementation of the programmatic API. + Based on the `core` module. + Treated as private API, no compatibility guaranteed. +* `implementation/fault-tolerance`: Implementation of the {microprofile-fault-tolerance} API and the {smallrye-fault-tolerance} API. + Based on CDI and the `core` module. + The configuration system is based on the `autoconfig` module. +* `implementation/autoconfig/core`: Core classes of the {smallrye-fault-tolerance} configuration system. + Required at runtime. +* `implementation/autoconfig/processor`: An annotation processor that generates implementations of config interfaces. + Only required during {smallrye-fault-tolerance} build. +* `implementation/context-propagation`: Optional integration with MicroProfile Context Propagation. + See xref:integration/context-propagation.adoc[Context Propagation integration]. +* `implementation/kotlin`: Optional integration with Kotlin. + See xref:integration/kotlin.adoc[Kotlin Integration Concerns]. +* `implementation/mutiny`: Optional integration with Mutiny. + See xref:integration/async-types.adoc[Additional Asynchronous Types Integration Concerns]. +* `implementation/rxjava3`: Optional integration with RxJava 3. + See xref:integration/async-types.adoc[Additional Asynchronous Types Integration Concerns]. +* `implementation/standalone`: Standalone implementation of the {smallrye-fault-tolerance} programmatic API. + See xref:integration/programmatic-api.adoc[Programmatic API Integration Concerns]. +* `implementation/vertx`: Optional integration of the Vert.x event loop and Vert.x `Future`. + See xref:integration/event-loop.adoc[Event Loop integration] and xref:integration/async-types.adoc[Additional Asynchronous Types Integration Concerns]. +* `testsuite/basic`: Basic test suite. + Some parts of it overlap with the Eclipse MicroProfile Fault Tolerance TCK. +* `testsuite/integration`: Integration test suite. + Includes several Context Propagation and Vert.x tests. +* `testsuite/tck`: Runs the implementation against the Eclipse MicroProfile Fault Tolerance TCK. +* `doc`: This documentation. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/asynchronous.adoc b/content/docs/smallrye-fault-tolerance/main/reference/asynchronous.adoc new file mode 100644 index 000000000..0937cf522 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/asynchronous.adoc @@ -0,0 +1,276 @@ += Asynchronous Execution +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/asynchronous.adoc[How to Guard Asynchronous Methods]. +The how-to guide also explains what _asynchronous fault tolerance_ is and when does it apply. + +== Description + +=== `@Asynchronous` + +This annotation may only be placed on methods that return `java.util.concurrent.Future` or java.util.concurrent.`CompletionStage`. +It may also be placed on a class, in which case all business methods must return `Future` or `CompletionStage`. + +The method call is offloaded to another thread. +The thread pool that is used for offloading method calls is provided by the runtime that integrates {smallrye-fault-tolerance}. + +=== `@AsynchronousNonBlocking` + +include::{partialsdir}/srye-feature.adoc[] + +In addition to the {microprofile-fault-tolerance} `@Asynchronous` annotation, {smallrye-fault-tolerance} offers an annotation for asynchronous non-blocking processing: `@AsynchronousNonBlocking`. + +This annotation may only be placed on methods that return `CompletionStage`, because the `Future` type cannot really be used for non-blocking processing. +It may also be placed on a class, in which case all business methods must return `CompletionStage`. + +As opposed to `@Asynchronous`, the `@AsynchronousNonBlocking` annotation does _not_ offload the method execution to another thread. +The method is allowed to proceed on the original thread, assuming that it returns quickly and all processing it does is performed in a non-blocking way. + +=== `@Asynchronous` and `@AsynchronousNonBlocking` Compared + +|=== +|Annotation |Method return type |Execution + +|`@Asynchronous` +|`Future` or `CompletionStage` +|offloaded to a thread pool + +|`@AsynchronousNonBlocking` +|`CompletionStage` +|proceeds on the original thread +|=== + +=== `@Asynchronous` and `@AsynchronousNonBlocking` Combined + +When these annotations are combined, an annotation on a method has priority over an annotation on a class. +For example: + +[source,java] +---- +@ApplicationScoped +@Asynchronous +public class MyService { + @Retry + CompletionStage hello() { // <1> + ... + } + + @Retry + @AsynchronousNonBlocking + CompletionStage helloBlocking() { // <2> + ... + } +} +---- + +<1> Treated as `@Asynchronous`, based on the class annotation. +<2> Treated as `@AsynchronousNonBlocking`, the method annotation has priority over the class annotation. + +It is an error to put both `@Asynchronous` and `@AsynchronousNonBlocking` on the same program element. + +[[recommendation]] +=== Recommendation + +Use the <>. +In this mode, methods returning `CompletionStage` are automatically treated as if they were `@AsynchronousNonBlocking`. +Use `@Asynchronous` to mark blocking methods for thread offload. + +If you can't use the non-compatible mode, use `@AsynchronousNonBlocking` or `@Asynchronous` to mark all asynchronous methods. + +IMPORTANT: In previous releases, {smallrye-fault-tolerance} recommended to use the `@Blocking` and `@NonBlocking` annotations. +Using these annotations *for fault tolerance purposes* is no longer supported, starting with {smallrye-fault-tolerance} 7.0.0. + +We also recommend avoiding `@Asynchronous` methods that return `Future`, because the only way to obtain the future value is blocking. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +=== `@Asynchronous` + +`@Asynchronous` does not interact with other fault tolerance strategies, with the obvious exception that it moves execution to another thread. + +=== `@AsynchronousNonBlocking` + +If the guarded method uses `@Retry` and some delay between retries is configured, only the initial execution is guaranteed to occur on the original thread. +Subsequent attempts may be offloaded to an extra thread, so that the original thread is not blocked on the delay. + +If the guarded method uses `@Bulkhead`, the execution is _not_ guaranteed to occur on the original thread. +If the execution has to wait in the bulkhead queue, it may later end up on a different thread. + +If the original thread is an event loop thread and event loop integration is enabled, then the event loop is always used to execute the guarded method. +In such case, all retry attempts and queued bulkhead executions are guaranteed to happen on the original thread. + +[[configuration]] +== Configuration + +There is no configuration for `@Asynchronous` or `@AsynchronousNonBlocking`. + +[[metrics]] +== Metrics + +Asynchronous execution does not emit any metrics. + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. + +== Extra Features + +[[async-types]] +=== Additional Asynchronous Types + +include::{partialsdir}/srye-feature.adoc[] + +{microprofile-fault-tolerance} supports asynchronous fault tolerance for methods that return `CompletionStage`. +(The `java.util.concurrent.Future` type is not truly asynchronous, so we won't take it into account here.) +{smallrye-fault-tolerance} adds support for additional asynchronous types: + +* Mutiny: `Uni` +* RxJava 3: `Single`, `Maybe`, `Completable` +* Vert.x: `io.vertx.core.Future` + +These types are treated just like `CompletionStage`, so everything that works for `CompletionStage` works for these types as well. +Stream-like types (`Multi`, `Observable`, `Flowable`) are not supported, because their semantics can't be easily expressed in terms of `CompletionStage`. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + @AsynchronousNonBlocking // <1> + Uni hello() { // <2> + ... + } +} +---- + +<1> Using the `@AsynchronousNonBlocking` annotation, because the method doesn't block and offloading execution to another thread is not necessary. +<2> Returning the `Uni` type from Mutiny. +This shows that whatever works for `CompletionStage` also works for the other async types. + +The implementation internally converts the async types to a `CompletionStage` and back. +This means that to be able to use any particular asynchronous type, the corresponding converter must be present. +{smallrye-fault-tolerance} provides support libraries for popular asynchronous types, and these support libraries include the corresponding converters. + +It is possible that the runtime you use already provides the correct integration. +Otherwise, add a dependency to your application: + +* https://smallrye.io/smallrye-mutiny/[Mutiny]: `io.smallrye:smallrye-fault-tolerance-mutiny` +* https://github.com/ReactiveX/RxJava/tree/3.x[RxJava 3]: `io.smallrye:smallrye-fault-tolerance-rxjava3` +* https://vertx.io/docs/vertx-core/java/#_future_results[Vert.x `Future`]: `io.smallrye:smallrye-fault-tolerance-vertx` + +.Quarkus +**** +In Quarkus, the Mutiny and Vert.x support libraries are present by default. +You can use fault tolerance on methods that return `Uni` (and Vert.x `Future`) out of the box. +**** + +[[kotlin-suspend-functions]] +=== Kotlin `suspend` Functions + +include::{partialsdir}/srye-feature.adoc[] + +{smallrye-fault-tolerance} includes support for Kotlin suspending functions. +They are treated as <>, even though the internal implementation is more complex than support for Mutiny or RxJava 3. + +For example: + +[source,kotlin] +---- +@ApplicationScoped +open class MyService { + @Retry(maxRetries = 2) + @Fallback(fallbackMethod = "helloFallback") + open suspend fun hello(): String { // <1> + delay(100) + throw IllegalArgumentException() + } + + private suspend fun helloFallback(): String { // <2> + delay(100) + return "hello" + } +} +---- + +<1> As a suspending function, this method can only be called from another suspending function. +It will be guarded by the retry and fallback strategies, as defined using the annotations. +<2> Similarly to fallback methods in Java, fallback methods in Kotlin must have the same signature as the guarded method. +Since the guarded method is suspending, the fallback method must be suspending. + +As mentioned above, suspending functions are treated as async types. +This means that for asynchronous fault tolerance to work correctly on suspending functions, they must be determined to be asynchronous. +That happens automatically in the <>, based on the method signature, but if you use strictly compatible mode, the `@Asynchronous` or `@AsynchronousNonBlocking` annotation must be present. +It is expected that most users will use the Kotlin support in the non-compatible mode, so the example above does not include any such annotation. + +To be able to use this, a support library must be present. +It is possible that the runtime you use already provides the correct integration. +Otherwise, add a dependency to your application: `io.smallrye:smallrye-fault-tolerance-kotlin`. + +.Quarkus +**** +In Quarkus, the Kotlin support library is present by default, if you use the Quarkus Kotlin support. +You can declare fault tolerance annotations on suspending methods out of the box. +**** + +==== Programmatic API + +Suspending functions are currently only supported in the declarative, annotation-based API, as shown in the example above. +The xref:reference/programmatic-api.adoc[Programmatic API] of {smallrye-fault-tolerance} does not support suspending functions, but other than that, it can of course be used from Kotlin through its Java interop. + +[[method-asynchrony]] +=== Determining Asynchrony from Method Signature + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +In the non-compatible mode, method asynchrony is determined solely from its signature. +That is, methods that + +* have some fault tolerance annotation (such as `@Retry`), +* return `CompletionStage` (or some other <>), + +always have asynchronous fault tolerance applied. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Retry + CompletionStage hello() { // <1> + ... + } + + @Retry + Uni helloMutiny() { // <2> + ... + } + + @Retry + @Asynchronous + CompletionStage helloBlocking() { // <3> + ... + } +} +---- + +<1> Executed on the original thread, because the method returns `CompletionStage`. +It is as if the method was annotated `@AsynchronousNonBlocking`. +<2> Executed on the original thread, because the method returns an <>. +It is as if the method was annotated `@AsynchronousNonBlocking`. +<3> The explicit `@Asynchronous` annotation is honored. +The method is executed on a thread pool. + +Note that the existing annotations still work without a change, both in compatible and non-compatible mode. +That is, if a method (or class) is annotated `@Asynchronous`, execution will be offloaded to a thread pool. +If a method (or class) is annotated `@AsynchronousNonBlocking`, execution will happen on the original thread. + +Also note that this doesn't affect methods returning `java.util.concurrent.Future`. +You still have to annotate them `@Asynchronous` to make sure they are executed on a thread pool and are guarded properly. +As mentioned in the <>, we discourage using these methods, because the only way to obtain the future value is blocking. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/bulkhead.adoc b/content/docs/smallrye-fault-tolerance/main/reference/bulkhead.adoc new file mode 100644 index 000000000..a671d958b --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/bulkhead.adoc @@ -0,0 +1,136 @@ += Bulkhead +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/bulkhead.adoc[How to Limit Concurrency]. + +== Description + +If a guarded method is called by too many callers concurrently, the excess attempts will fail with `BulkheadException`. + +If the guarded method is `@Asynchronous` or `@AsynchronousNonBlocking`, excess attempts are first put into a queue. +The queued attempts are executed later. +When the queue becomes full, excess attempts are rejected with `BulkheadException`. + +=== Lifecycle + +Bulkhead needs to maintain some state between invocations: the number of current executions and the queue of asynchronous executions. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@Bulkhead` annotation. + +More specifically, the bulkhead state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same bulkhead state. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@Bulkhead`, the fallback method or handler may be invoked if a `BulkheadException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@Bulkhead`, each retry attempt is processed by the bulkhead as an independent invocation. +If `BulkheadException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@Bulkhead`, the circuit breaker is checked before enforcing the concurrency limit. +If concurrency limiting results in `BulkheadException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +If `@RateLimit` is used with `@Bulkhead`, the rate limit is enforced before enforcing the concurrency limit. + +If `@Timeout` is used with `@Bulkhead`, the timeout watcher is started before enforcing the concurrency limit. + +[[configuration]] +== Configuration + +There are 2 configuration options, corresponding to the 2 members of the `@Bulkhead` annotation. + +=== `value` + +Type: `int` + +Default: `10` + +The concurrency limit. + +=== `waitingTaskQueue` + +Type: `int` + +Default: `10` + +The size of queue for excess attempts. +Only effective when the method is `@Asynchronous` or `@AsynchronousNonBlocking`. +See xref:reference/asynchronous.adoc[the Asynchronous Execution reference guide]. + +[[metrics]] +== Metrics + +Bulkhead exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the bulkhead logic was run. This is usually once per method call, but may be zero times if the circuit breaker or rate limit prevented execution or more than once if the method call was retried. +| Tags +a| * `method` - the fully qualified method name +* `bulkheadResult` = `[accepted\|rejected]` - whether the bulkhead allowed the method call to run +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.executionsRunning` +| Type +a| * OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | Number of currently running executions. +| Tags +a| * `method` - the fully qualified method name +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.executionsWaiting` +| Type +a| * OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | Number of executions currently waiting in the queue. +| Tags +a| * `method` - the fully qualified method name +| Notes | Only added if the method is also `@Asynchronous` or `@AsynchronousNonBlocking` +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.runningDuration` +| Type +a| * OpenTelemetry: `DoubleHistogram` with explicit bucket boundaries `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]` +* Micrometer: `Timer` +| Unit +a| * OpenTelemetry: seconds +* Micrometer: nanoseconds +| Description | Histogram of the time that method executions spent running. +| Tags +a| * `method` - the fully qualified method name +|=== + +[cols="1,5"] +|=== +| Name | `ft.bulkhead.waitingDuration` +| Type +a| * OpenTelemetry: `DoubleHistogram` with explicit bucket boundaries `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]` +* Micrometer: `Timer` +| Unit +a| * OpenTelemetry: seconds +* Micrometer: nanoseconds +| Description | Histogram of the time that method executions spent waiting in the queue. +| Tags +a| * `method` - the fully qualified method name +| Notes | Only added if the method is also `@Asynchronous` or `@AsynchronousNonBlocking` +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/circuit-breaker.adoc b/content/docs/smallrye-fault-tolerance/main/reference/circuit-breaker.adoc new file mode 100644 index 000000000..9dc477b7e --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/circuit-breaker.adoc @@ -0,0 +1,283 @@ += Circuit Breaker +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/circuit-breaker.adoc[How to Fail Fast on Recurring Failures]. + +== Description + +The circuit breaker is a simple state machine: + +[.has-dark] +image::images/diagrams/mermaid-f40d3cbcabca.svg[circuit-breaker] + +The circuit breaker starts _closed_. +In this state, the circuit breaker maintains a rolling window of recent invocations. +For each invocation, the rolling window tracks whether it finished successfully or failed. + +The rolling window must be full to take any state transition decision. +For example, if the rolling window has size 10, a closed circuit breaker always allows at least 10 invocations. + +If the rolling window contains a number of failures higher than the configured ratio, a closed circuit breaker moves to _open_. +When the circuit breaker is open, invocations are not allowed to proceed. +Instead, the circuit breaker fails fast and throws `CircuitBreakerOpenException`. + +For example, if the rolling window has size 10 and the failure rate is 0.5, it means that 5 invocations out of the most recent 10 invocations must fail for the circuit breaker to move to _open_. + +After some time, an open circuit breaker moves to _half-open_ to determine whether failing fast is still appropriate. +A half-open circuit breaker allows some configured number of probe attempts to proceed. +If all of them succeed, the circuit breaker moves to _closed_ and invocations are allowed again. +If some probe invocations fail, the circuit breaker moves back to _open_ and invocations are prevented. + +Successes and failures are determined from the method result. +More specifically: + +. If the guarded method returns normally, it is treated as success. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `skipOn` types (see <>), it is treated as success. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `failOn` types (see <>), it is treated as failure. +. Otherwise, it is treated as success. + +=== Lifecycle + +Circuit breaker needs to maintain some state between invocations: the number of recent successful invocations, the number of recent failed invocations, and so on. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@CircuitBreaker` annotation. + +More specifically, the circuit breaker state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same circuit breaker state. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@CircuitBreaker`, the fallback method or handler may be invoked if a `CircuitBreakerOpenException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@CircuitBreaker`, each retry attempt is processed by the circuit breaker as an independent invocation. +If `CircuitBreakerOpenException` is thrown, the execution may be retried, depending on how retry is configured. + +[[configuration]] +== Configuration + +There are 7 configuration options, corresponding to the 7 members of the `@CircuitBreaker` annotation. + +=== `requestVolumeThreshold` + +Type: `int` + +Default: `20` + +The size of the rolling window. +That is, the number of recent consecutive invocations tracked by a _closed_ circuit breaker. + +=== `failureRatio` + +Type: `double` + +Default: `0.5` + +The ratio of failures in the rolling window that causes a _closed_ circuit breaker to move to _open_. + +=== `delay` + `delayUnit` + +Type: `long` + `ChronoUnit` + +Default: `5000 millis`, or 5 seconds + +The delay after which an _open_ circuit breaker moves to _half-open_. + +=== `successThreshold` + +Type: `int` + +Default: `1` + +The number of probe invocations allowed when the circuit breaker is _half-open_. +If they all succeed, the circuit breaker moves to _closed_, otherwise it moves back to _open_. + +[[fail-on]] +=== `failOn` + +Type: `Class[]` + +Default: `{Throwable.class}` + +Set of exception types that the circuit breaker considers failures. + +[[skip-on]] +=== `skipOn` + +Type: `Class[]` + +Default: `{}` + +Set of exception types that the circuit breaker considers success. +This configuration takes precedence over `failOn`. + +[[metrics]] +== Metrics + +Circuit breaker exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the circuit breaker logic was run. This is usually once per method call, but may be more than once if the method call is retried. +| Tags +a| * `method` - the fully qualified method name +* `circuitBreakerResult` = `[success\|failure\|circuitBreakerOpen]` - the result of the method call, as considered by the circuit breaker +** `success` - the method ran and was successful +** `failure` - the method ran and failed +** `circuitBreakerOpen` - the method did not run because the circuit breaker was in open or half-open state +|=== + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.state.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `TimeGauge` +| Unit +a| * OpenTelemetry: nanoseconds +* Micrometer: nanoseconds +| Description | Amount of time the circuit breaker has spent in each state +| Tags +a| * `method` - the fully qualified method name +* `state` = `[open\|closed\|halfOpen]` - the circuit breaker state +| Notes | Although this metric is a `Gauge`, its value increases monotonically. +|=== + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.opened.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | Number of times the circuit breaker has moved from closed state to open state +| Tags +a| * `method` - the fully qualified method name +|=== + +[cols="1,5"] +|=== +| Name | `ft.circuitbreaker.state.current` +2+a| +include::{partialsdir}/srye-feature.adoc[] +| Type +a| * OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | Whether the circuit breaker is currently in given state (`1`) or not (`0`) +| Tags +a| * `method` - the fully qualified method name +* `state` = `[open\|closed\|halfOpen]` - the circuit breaker state +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. + +== Extra Features + +=== Circuit Breaker Maintenance + +include::{partialsdir}/srye-feature.adoc[] + +It is sometimes useful to see the circuit breaker status from within the application, or reset it to the initial state. +This is possible in two steps: + +. Give the circuit breaker a name by annotating the guarded method with `@CircuitBreakerName`: ++ +[source,java] +---- +@ApplicationScoped +public class MyService { + @CircuitBreaker + @CircuitBreakerName("hello-cb") // <1> + public String hello() { + ... + } +} +---- ++ +<1> The circuit breaker guarding the `MyService.hello` method is given a name `hello-cb`. +. Inject `CircuitBreakerMaintenance` and call its methods: ++ +[source,java] +---- +@ApplicationScoped +public class Example { + @Inject + CircuitBreakerMaintenance maintenance; + + public void test() { + System.out.println("Circuit breaker state: " + + maintenance.currentState("hello-cb")); // <1> + maintenance.resetAll(); // <2> + } +} +---- ++ +<1> Obtains current circuit breaker state. +<2> Resets all circuit breakers to the initial state. + +The `CircuitBreakerMaintenance` interface provides 4 methods: + +. `currentState(name)`: returns current state of given circuit breaker. +The return type `CircuitBreakerState` is an `enum` with 3 values: `CLOSED`, `OPEN`, `HALF_OPEN`. +. `onStateChange(name, callback)`: registers a callback that will be called when given circuit breaker changes state. +. `reset(name)`: resets given circuit breaker to the initial state. +. `resetAll()`: resets all circuit breakers in the application to the initial state. + +See the javadoc of those methods for more information. + +[[inspecting-exception-cause-chains]] +=== Inspecting Exception Cause Chains + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +The `@CircuitBreaker` annotation can specify that certain exceptions should be treated as failures (`failOn`) and others as successes (`skipOn`). +The specification limits this to inspecting the actual exception that was thrown. +However, in many cases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +For that reason, in the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@CircuitBreaker` method throws an exception, the decision process is: + +1. If the `skipOn` exceptions are not default and the exception is assignable to one of the `skipOn` exceptions, the circuit breaker treats it as a success. +2. Otherwise, if the `failOn` exceptions are not default and the exception is assignable to one of the `failOn` exceptions, the circuit breaker treats it as a failure. +3. Otherwise, if the exception is assignable to one of the `skipOn` exceptions or its cause chain contains an exception assignable to one of the `skipOn` exceptions, the circuit breaker treats it as a success. +4. Otherwise, if the exception is assignable to one of the `failOn` exceptions or its cause chain contains an exception assignable to one of the `failOn` exceptions, the circuit breaker treats it as a failure. +5. Otherwise, the exception is treated as a success. + +For example: + +[source,java] +---- +@CircuitBreaker(requestVolumeThreshold = 10, + skipOn = ExpectedOutcomeException.class, // <1> + failOn = IOException.class) // <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, the circuit breaker treats it as a success. +<2> If `doSomething` throws an `IOException`, or a `WrapperException` whose cause is `IOException`, the circuit breaker treats it as a failure. + +[source,java] +---- +@CircuitBreaker(requestVolumeThreshold = 10, + skipOn = ExpectedOutcomeException.class) // <1> <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, the circuit breaker treats it as a success. +<2> There's no `failOn`, so the 2nd step in the algorithm above is skipped. +This is what turns the `WrapperException` whose cause is `ExpectedOutcomeException` into a success. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/config.adoc b/content/docs/smallrye-fault-tolerance/main/reference/config.adoc new file mode 100644 index 000000000..7a9288a12 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/config.adoc @@ -0,0 +1,207 @@ += Configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The fault tolerance strategies are primarily configured using annotations. +This is convenient, but changing such configuration requires recompilation. +For that reason, configuration using MicroProfile Config is also possible. + +NOTE: The configuration system of {microprofile-fault-tolerance}, as described in this guide, also applies to annotations defined by {smallrye-fault-tolerance}. + +== Annotation on Method + +The annotation may be present on a method: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry(maxRetries = 10, retryOn = IOException.class) // <1> + public String hello() { + ... + } +} +---- + +<1> Retries will only be attempted if the thrown exception was `IOException`. +Other exceptions will be rethrown directly. +Also, the maximum number of retry attempts is changed to 10 (the default is 3). + +To change the `maxRetries` property using MicroProfile Config, set: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService/hello".retry.max-retries=5 + +# alternatively, a specification-defined property can be used +com.example.MyService/hello/Retry/maxRetries=5 +---- + +== Annotation on Class + +The annotation may be present on a class, in which case it applies to all business method in the class: + +[source,java] +---- +package com.example; + +@ApplicationScoped +@Retry(maxRetries = 10, retryOn = IOException.class) // <1> +public class MyService { + public String hello() { + ... + } +} +---- +<1> The `hello()` method will use the `@Retry` strategy, as configured in this annotation. + +A class-level annotation may be overridden by explicitly annotating a method. + +The MicroProfile Config configuration property doesn't include the method name in this case: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService".retry.max-retries=5 + +# alternatively, a specification-defined property can be used +com.example.MyService/Retry/maxRetries=5 +---- + +[IMPORTANT] +==== +Attempting to configure some property for a method or a class which does not have the annotation has no effect. + +* If the annotation is present on a method, the configuration property must target the method. +* If the annotation is present on a class, the configuration property must target the class. +==== + +== Global Configuration + +It is also possible to reconfigure some property for all annotations in the application. +For example: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.max-retries=5 + +# alternatively, a specification-defined property can be used +Retry/maxRetries=5 +---- + +All `@Retry` annotations in the application will be considered to have `maxRetries` set to `5`. + +== Configuration Priority + +The most specific configuration has priority over more general configuration. + +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +@Retry(maxRetries = 5) +public class MyService { + public String simpleHello() { + ... + } + + @Retry(maxRetries = 10) + public String complexHello() { + ... + } +} +---- + +The following configuration: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.max-retries=30 +smallrye.faulttolerance."com.example.MyService".retry.max-retries=15 +smallrye.faulttolerance."com.example.MyService/complexHello".retry.max-retries=20 + +# alternatively, specification-defined properties can be used +Retry/maxRetries=30 +com.example.MyService/Retry/maxRetries=15 +com.example.MyService/complexHello/Retry/maxRetries=20 +---- + +Has the following effects: + +* `MyService.complexHello()` has `maxRetries` set to `20`. +* `MyService.simpleHello()` has `maxRetries` set to `15`. +* Other `@Retry` methods in the application have `maxRetries` set to `30`. + +== Disabling Fault Tolerance + +It is possible to disable certain fault tolerance annotation on some method, if the annotation is present on the method: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService/hello".retry.enabled=false + +# alternatively, a specification-defined property can be used +com.example.MyService/hello/Retry/enabled=false +---- + +Or on some class, if the annotation is present on the class: + +[source,properties] +---- +smallrye.faulttolerance."com.example.MyService".retry.enabled=5 + +# alternatively, a specification-defined property can be used +com.example.MyService/Retry/enabled=false +---- + +Or globally: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.enabled=false + +# alternatively, a specification-defined property can be used +Retry/enabled=false +---- + +It is also possible to disable all fault tolerance completely: + +[source,properties] +---- +smallrye.faulttolerance.enabled=false + +# alternatively, a specification-defined property can be used +MP_Fault_Tolerance_NonFallback_Enabled=false +---- + +This will leave only fallbacks enabled, all other annotations will be disabled. + +== {smallrye-fault-tolerance} Configuration Properties + +As demonstrated in the examples above, {smallrye-fault-tolerance} provides its own configuration properties, in addition to the specification-defined properties. +The specification-defined properties can of course be used, but the {smallrye-fault-tolerance} configuration properties have higher priority. + +The mapping is relatively straightforward: + +- `///` moves to `smallrye.faulttolerance."/"..` +- `//` moves to `smallrye.faulttolerance.""..` +- `/` moves to `smallrye.faulttolerance.global..` + +All the `` and `` parts are changed from camel case (`BeforeRetry`, `methodName`) to kebab case (`before-retry`, `method-name`). +Two annotation members are special cased to improve consistency: + +- `Retry/durationUnit` moves to `retry.max-duration-unit`, because the value property is called `maxDuration` (`max-duration`) +- `Retry/jitterDelayUnit` moves to `retry.jitter-unit`, because the value property is called `jitter` + +Further: + +- `MP_Fault_Tolerance_NonFallback_Enabled` moves to `smallrye.faulttolerance.enabled` +- `MP_Fault_Tolerance_Metrics_Enabled` moves to `smallrye.faulttolerance.metrics.enabled` + +== Links + +Configuration is described in detail in the {microprofile-fault-tolerance-url}#configuration[{microprofile-fault-tolerance} specification]. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/fallback.adoc b/content/docs/smallrye-fault-tolerance/main/reference/fallback.adoc new file mode 100644 index 000000000..af6316c15 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/fallback.adoc @@ -0,0 +1,302 @@ += Fallback +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/fallback.adoc[How to Supply Fallback Values]. + +== Description + +If a guarded method throws an exception, fallback will prevent that exception from being propagated to the caller. +Instead, a fallback method or fallback handler is called and their result is returned. + +More specifically: + +. If the guarded method returns normally, its return value is returned. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `skipOn` types (see <>), the exception is rethrown. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `applyOn` types (see <>), the fallback value is obtained and returned. +. Otherwise, the exception is rethrown. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used, the fallback method or handler may be invoked if other fault tolerance strategies throw an exception, depending on the fallback configuration. + +[[configuration]] +== Configuration + +There are 4 configuration options, corresponding to the 4 members of the `@Fallback` annotation. + +Exactly one of `value` or `fallbackMethod` must be set explicitly, they don't have a useful default value. + +=== `value` + +Type: `Class>` + +Default: empty + +Class of the fallback handler implementation that should be used to obtain the fallback value. +When this is set, the `fallbackMethod` must be left empty. + +The fallback handler class must implement the `FallbackHandler` interface. +The type argument to `FallbackHandler` must be assignable to the return type of the guarded method. +For example, if the guarded method returns `Number`, the fallback handler may implement `FallbackHandler` or `FallbackHandler`. + +=== `fallbackMethod` + +Type: `String` + +Default: empty + +Name of the fallback method that should be used to obtain the fallback value. +When this is set, the `value` must be left empty. + +The fallback method must be declared directly on the class where the guarded method is declared, or must be inherited from any of the class's supertypes. +The fallback method must have the same parameter types as the guarded method. +The fallback method must have a return type that is assignable to the return type of the guarded method. +For example, if the guarded method returns `Number`, the fallback method may return `Number` or `Integer`. + +[[apply-on]] +=== `applyOn` + +Type: `Class[]` + +Default: `{Throwable.class}` + +Set of exception types to which fallback applies. + +[[skip-on]] +=== `skipOn` + +Type: `Class[]` + +Default: `{}` + +Set of exception types to which fallback does _not_ apply. +This configuration takes precedence over `applyOn`. + +[[metrics]] +== Metrics + +Fallback does not emit any metrics on its own. + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. +Fallback is included in the overall method invocation metric described there. + +== Extra Features + +[[fallback-methods-with-exception-parameter]] +=== Fallback Methods with Exception Parameter + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +{smallrye-fault-tolerance} provides access to the causing exception in a fallback method. + +A fallback method, as defind by the {microprofile-fault-tolerance} specification, must have the same parameters as the guarded method. +{smallrye-fault-tolerance} permits defining one additional parameter, at the end of the parameter list, which must be of an exception type. +If such parameter is defined, the exception that caused the fallback will be supplied in it. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { // <1> + ... + } +} +---- + +<1> The fallback method matches the guarded method signature, except for one additional parameter at the end. + +All rules of {microprofile-fault-tolerance} specification related to looking up fallback methods still apply. +That is, the return types must match, the parameter types must match (with this one exception), etc. + +If the thrown exception is not assignable to the exception parameter type, it is rethrown as if no fallback was declared. +In the previous example, if `IllegalStateException` was thrown, the fallback method would not be called, as `IllegalStateException` is not a subtype of `IllegalArgumentException`. + +If the guarded method has a vararg parameter and you want to declare a fallback method with an exception parameter, simply replace the vararg syntax with an array type: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String... params) { + ... + } + + public String fallback(String[] params, IllegalArgumentException cause) { + ... + } +} +---- + +==== Multiple Fallback Methods with Exception Parameter + +It is possible to declare multiple overloads of the fallback method, each having different type of the exception parameter: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } +} +---- + +In that case, which fallback method is called depends on the type of thrown exception. +The method that declares a most-specific supertype of the actual exception is selected. + +In the previous example, if `IllegalArgumentException` was thrown by `doSomething`, the first fallback method would be called. +If `IllegalStateException` was thrown, the second fallback method would be called. + +If the thrown exception is not assignable to the exception parameter type of any fallback method, it is rethrown as if no fallback was declared. + +==== Fallback Methods with and without Exception Parameter + +It is possible to declare the fallback method with and without an exception parameter at the same time: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback") + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } + + public String fallback(String param) { + ... + } +} +---- + +The fallback methods with an exception parameter have precedence. +The fallback method without an exception parameter is only called if the thrown exception is not assignable to any declared exception parameter. + +==== Interactions with `applyOn` / `skipOn` + +The presence or absence of a fallback method with specific exception parameter may seem related to the usage of `applyOn` / `skipOn` on the `@Fallback` annotation, but in fact, it is not. +These features are completely independent. + +Simply put, the `applyOn` / `skipOn` configuration is always evaluated first. +A fallback method is only selected and invoked when this configuration indicates that a fallback should apply. + +If `@Fallback` is configured to skip `IllegalStateException` and `IllegalStateException` is thrown, no fallback method is invoked. +That applies even if a fallback method with a matching exception parameter exists. + +For example: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @Fallback(fallbackMethod = "fallback", skipOn = IllegalStateException.class) + public String doSomething(String param) { + ... + } + + public String fallback(String param, IllegalArgumentException cause) { + ... + } + + public String fallback(String param, RuntimeException cause) { + ... + } + + public String fallback(String param) { + ... + } +} +---- + +In this case: + +- if `doSomething` throws `IllegalArgumentException`, the first fallback method is called; +- if `doSomething` throws `IllegalStateException`, no fallback method is called, because this exception type is skipped; +- if `doSomething` throws any other `RuntimeException`, the second fallback method is called; +- if `doSomething` throws any other exception, the last fallback method is called. + +[[inspecting-exception-cause-chains]] +=== Inspecting Exception Cause Chains + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +The `@Fallback` annotation can specify that certain exceptions should be treated as failures (`applyOn`) and others as successes (`skipOn`). +The specification limits this to inspecting the actual exception that was thrown. +However, in many cases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +For that reason, in the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@Fallback` method throws an exception, the decision process is: + +1. If the `skipOn` exceptions are not default and the exception is assignable to one of the `skipOn` exceptions, fallback is skipped and the exception is rethrown. +2. Otherwise, if the `applyOn` exceptions are not default and the exception is assignable to one of the `applyOn` exceptions, fallback is applied. +3. Otherwise, if the exception is assignable to one of the `skipOn` exceptions or its cause chain contains an exception assignable to one of the `skipOn` exceptions, fallback is skipped and the exception is rethrown. +4. Otherwise, if the exception is assignable to one of the `applyOn` exceptions or its cause chain contains an exception assignable to one of the `applyOn` exceptions, fallback is applied. +5. Otherwise, the exception is rethrown. + +For example: + +[source,java] +---- +@Fallback(fallbackMethod = "fallback", + skipOn = ExpectedOutcomeException.class, // <1> + applyOn = IOException.class) // <2> +public Result doSomething() { + ... +} + +public Result fallback() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, fallback is skipped and the exception is thrown. +<2> If `doSomething` throws an `IOException`, or a `WrapperException` whose cause is `IOException`, fallback is applied. + +[source,java] +---- +@Fallback(fallbackMethod = "fallback", + skipOn = ExpectedOutcomeException.class) // <1> <2> +public Result doSomething() { + ... +} + +public Result fallback() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, fallback is skipped and the exception is thrown. +<2> There's no `applyOn`, so the 2nd step in the algorithm above is skipped. +This is what turns the `WrapperException` whose cause is `ExpectedOutcomeException` into a skipped fallback. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/metrics.adoc b/content/docs/smallrye-fault-tolerance/main/reference/metrics.adoc new file mode 100644 index 000000000..09300ea27 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/metrics.adoc @@ -0,0 +1,109 @@ += Metrics +:version-root: ../ +include::{version-root}_attributes.adoc[] + +{smallrye-fault-tolerance} exposes metrics, as {microprofile-fault-tolerance-url}#_integration_with_microprofile_metrics_and_microprofile_telemetry[specified] by {microprofile-fault-tolerance}. + +[[general]] +== General Metrics + +For all methods guarded with some fault tolerance strategy, the following metric is emitted: + +[cols="1,5"] +|=== +| Name | `ft.invocations.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the method was called. +| Tags +a| * `method` - the fully qualified method name +* `result` = `[valueReturned\|exceptionThrown]` - whether the invocation returned a value or threw an exception +* `fallback` = `[applied\|notApplied\|notDefined]` - `applied` if fallback was used, `notApplied` if a fallback is configured but was not used, `notDefined` if a fallback is not configured +|=== + +For xref:reference/asynchronous.adoc[asynchronous methods], "value returned" means that the `CompletionStage` completed successfully, while "exception thrown" means that the `CompletionStage` completed exceptionally. + +== Specific Metrics + +In addition to the general metrics described above, most fault tolerance strategies emit their own metrics. +Those are described in the reference guides: + +* xref:reference/bulkhead.adoc#metrics[Bulkhead] +* xref:reference/circuit-breaker.adoc#metrics[Circuit Breaker] +* xref:reference/rate-limit.adoc#metrics[Rate Limit] +* xref:reference/retry.adoc#metrics[Retry] +* xref:reference/timeout.adoc#metrics[Timeout] + +== Timer Metrics + +For task scheduling purposes (e.g. watching timeouts or delaying retries), {smallrye-fault-tolerance} maintains one thread called the _timer thread_. +Most of the time, it is kept sleeping (parked), it only wakes up (unparks) when necessary to submit tasks to executors. + +The behavior of the timer thread can be observed through the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.timer.scheduled` +| Type +a| * OpenTelemetry: `LongUpDownCounter` +* Micrometer: `Gauge` +| Unit | None +| Description | The number of tasks that are currently scheduled (for future execution) on the timer. +| Tags +a| * `id` - the ID of the timer, to distinguish multiple timers in a multi-application environment +|=== + +== Micrometer Support + +In addition to the OpenTelemetry support (as specified by {microprofile-fault-tolerance}), {smallrye-fault-tolerance} also provides support for https://micrometer.io/[Micrometer]. +The set of metrics emitted to Micrometer is the same, using the same metric names and tags. + +Note that distribution summaries in Micrometer, including timers, do not emit quantiles by default. +Micrometer recommends that libraries should not configure them out of the box, so if you need them, you should use a `MeterFilter`. + +The following implementation makes sure Micrometer emits some common quantiles for all fault tolerance metrics: + +[source,java] +---- +static final MeterFilter ENABLE_HISTOGRAMS = new MeterFilter() { + @Override + public DistributionStatisticConfig configure(Meter.Id id, DistributionStatisticConfig config) { + if (id.getName().startsWith("ft.")) { + return DistributionStatisticConfig.builder() + .percentiles(0.5, 0.75, 0.9, 0.95, 0.99, 0.999) + .build() + .merge(config); + } + return config; + } +}; +---- + +== Disabling Metrics + +It is possible to completely disable fault tolerance metrics using MicroProfile Config: + +[source,properties] +---- +smallrye.faulttolerance.metrics.enabled=false + +# alternatively, a specification-defined property can be used +MP_Fault_Tolerance_Metrics_Enabled=false +---- + +It is also possible to disable individual metric providers: + +[source,properties] +---- +# to disable OpenTelemetry Metrics +smallrye.faulttolerance.opentelemetry.disabled=true + +# to disable Micrometer +smallrye.faulttolerance.micrometer.disabled=true +---- + +Note that setting `smallrye.faulttolerance.*.disabled` to `false` does not mean the provider is enabled unconditionally. +When that provider is not discovered or selected by the integrator, it cannot be enabled in any way. +These properties are only meant for disabling an otherwise enabled metrics provider; not the other way around. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/non-compat.adoc b/content/docs/smallrye-fault-tolerance/main/reference/non-compat.adoc new file mode 100644 index 000000000..20fcf0b64 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/non-compat.adoc @@ -0,0 +1,36 @@ += Non-compatible Mode +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +{smallrye-fault-tolerance} offers a mode where certain features are improved beyond specification, as described below. +This mode is *not compatible* with the {microprofile-fault-tolerance} specification (and doesn't necessarily pass the entire TCK). + +This mode is disabled by default. +To enable, set the configuration property `smallrye.faulttolerance.mp-compatibility` to `false`. + +.Quarkus +**** +In Quarkus, the non-compatible mode is enabled by default. +To restore compatibility, add the following to your `application.properties`: + +[source,properties] +---- +smallrye.faulttolerance.mp-compatibility=true +---- + +Note that the non-compatible mode is available since {smallrye-fault-tolerance} 5.2.0 and Quarkus 2.1.0.Final. +Previous versions are always compatible. +**** + +== Improvements + +The improvements enabled in the non-compatible mode are: + +* xref:reference/asynchronous.adoc#method-asynchrony[Determining asynchrony from method signatures] +* Inspecting exception cause chains +** in xref:reference/fallback.adoc#inspecting-exception-cause-chains[fallback] +** in xref:reference/circuit-breaker.adoc#inspecting-exception-cause-chains[circuit breaker] +** in xref:reference/retry.adoc#inspecting-exception-cause-chains[retry] +* xref:reference/fallback.adoc#fallback-methods-with-exception-parameter[Fallback methods with exception parameter] diff --git a/content/docs/smallrye-fault-tolerance/main/reference/programmatic-api.adoc b/content/docs/smallrye-fault-tolerance/main/reference/programmatic-api.adoc new file mode 100644 index 000000000..2260df49e --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/programmatic-api.adoc @@ -0,0 +1,414 @@ += Programmatic API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +In addition to the declarative, annotation-based API of {microprofile-fault-tolerance}, {smallrye-fault-tolerance} also offers a programmatic API for advanced scenarios. +This API is present in the `io.smallrye:smallrye-fault-tolerance-api` artifact, just like all other additional APIs {smallrye-fault-tolerance} provides. + +== Installation + +If you use {smallrye-fault-tolerance} as part of a runtime that implements {microprofile-fault-tolerance}, you don't have to do anything. +The programmatic API is ready to use. +In this documentation, we'll call this the _CDI implementation_ of the programmatic API, because it's integrated with the {microprofile-fault-tolerance} implementation, which is naturally based on CDI. + +.Quarkus +**** +In Quarkus, the {smallrye-fault-tolerance} API is brought in automatically, as a transitive dependency of the Quarkus extension for {smallrye-fault-tolerance}. +That is, you don't need to do anything to be able to use the programmatic API. +**** + +.WildFly +**** +In WildFly, the {smallrye-fault-tolerance} API is not readily available to deployments. +If you want to use it, you need to add a module dependency to the deployment using `jboss-deployment-structure.xml`. + +Note that at the time of this writing, the {smallrye-fault-tolerance} module in WildFly is considered private. +If you do add a module dependency on it, to be able to use the {smallrye-fault-tolerance} API, you may be stepping out of the WildFly support scope. +**** + +In addition to the CDI implementation, {smallrye-fault-tolerance} also offers a _standalone implementation_ that is meant to be used outside of any runtime. +This implementation does not need CDI or anything else. +If you want to use {smallrye-fault-tolerance} in a standalone fashion, just add a dependency on `io.smallrye:smallrye-fault-tolerance-standalone`. +The API is brought in transitively. + +== Usage + +The entrypoints to the programmatic API are the `Guard` and `TypedGuard` interfaces. + +These interfaces represent a configured set of fault tolerance strategies. +Their configuration, order of application and behavior in general corresponds to the declarative API, so if you know that, you'll feel right at home. +If not, the javadoc has all the information you need (though it often points to the annotation-based API for more information). + +The interfaces are very similar, there are only 2 differences: + +. `Guard` requires specifying the return type of the guarded operation for each `call()` or `get()` (or `adapt*`) method call. + `TypedGuard`, on the other hand, requires specifying the return type once, when creating an instance using `create()`. + Therefore, `Guard` may be used for guarding many different types, while `TypedGuard` may only be used to guard single type. +. `TypedGuard` allows defining a fallback. + `Guard` does not. + +In the following text, we'll only talk about `Guard`, but it also applies to `TypedGuard` without a change (except of the differences mentioned above). + +To create an instance of `Guard`, you can use the `create` static method. +It returns a builder which has to be used to add and configure all the fault tolerance strategies that should apply. +There is no external configuration, so all configuration properties have to be set explicitly, using the builder methods. +If you don't set a configuration property, it will default to the same value the annotation-based API uses. + +.Disabling Fault Tolerance +**** +There's one exception to the "no external configuration" rule. + +The CDI implementation looks for the `smallrye.faulttolerance.enabled` / `MP_Fault_Tolerance_NonFallback_Enabled` configuration properties in MicroProfile Config. +The standalone implementation looks for system properties with the same name, or obtains the value from custom configuration (as xref:integration/programmatic-api.adoc[described] in the integration section). + +If at least one of these properties exists and is set to `false`, only the fallback and thread offload fault tolerance strategies will be applied. +Everything else will be ignored. + +Note that this is somewhat different to the declarative, annotation-based API, where only fallback is retained and the `@Asynchronous` strategy is skipped as well. +Since this significantly changes execution semantics, the programmatic API will apply thread offload even if fault tolerance is disabled. + +Similarly to the declarative API, implementations of the programmatic API also read this property only once, when the `Guard` API is first used. +It is _not_ read again later. +**** + +Let's take a look at a simple example: + +[source,java] +---- +public class MyService { + private static final Guard GUARD = Guard.create() + .withRetry().maxRetries(3).done() + .build(); + + public String hello() throws Exception { + return GUARD.call(() -> externalService.hello(), String.class); // <1> + } +} +---- + +<1> Here, we call `externalService.hello()` and guard the call with the previously configured set of fault tolerance strategies. + The `call` method used here takes the `Callable` type, which represent the guarded action. + The `get` method works just like `call`, but accepts a `Supplier`. + +The previous example shows how to apply fault tolerance to synchronous actions. +{smallrye-fault-tolerance} naturally also supports guarding asynchronous actions, using the `java.util.concurrent.CompletionStage` type. +Unlike the declarative API, the programmatic API doesn't support asynchronous actions that return the `java.util.concurrent.Future` type. + +[source,java] +---- +public class MyService { + private static final Guard GUARD = Guard.create() + .withBulkhead().done() + .withThreadOffload(true) // <1> + .build(); + + public CompletionStage hello() throws Exception { + return GUARD.call(() -> externalService.hello(), + new TypeLiteral>() {}); // <2> + } +} +---- + +<1> The thread offload here only applies to asynchronous actions. + If you use the same `GUARD` to guard a synchronous action, no thread offload will apply. +<2> Note that here, we use the `TypeLiteral` class (from CDI) to specify the type of the guarded action. + +Asynchronous actions may be blocking or non-blocking. +In the example above, we assume the `externalService.hello()` call is blocking, so we set thread offload to `true`. +{smallrye-fault-tolerance} will automatically move the actual execution of the action to another thread. + +If we didn't configure `withThreadOffload`, however, the execution of an asynchronous action would continue on the original thread. +This is often desired for non-blocking actions, which are very common in modern reactive architectures. + +Also note that in this example, we configured multiple fault tolerance strategies: bulkhead and thread offload. +When that happens, the fault tolerance strategies are ordered according to the {microprofile-fault-tolerance} specification, just like in the declarative API. +Order of all the `with*` method invocations doesn’t matter. + +=== Single-Action Usage + +The `Guard` API is general and permits guarding multiple different actions using the same set of fault tolerance strategies. +Often, we need to guard just a single action, although possibly several times. + +For such use case, the `Guard` instance may be adapted to a `Callable` or `Supplier` using the `adapt*` methods: + +[source,java] +---- +public class MyService { + private static final Callable guard = Guard.create() + .withTimeout().duration(5, ChronoUnit.SECONDS).done() + .build() // <1> + .adaptCallable(() -> externalService.hello(), String.class); // <2> + + public String hello() throws Exception { + return callable.call(); // <3> + } + +} +---- + +<1> Create a `Guard` object that can guard arbitrary actions. +<2> Adapt the general `Guard` instance to a `Callable` that guards the `externalService.hello()` invocation. + Similar method exists that accepts and returns a `Supplier`: `adaptSupplier`. +<3> You can do whatever you wish with the adapted `Callable`. + Here, we just call it once, which isn't very interesting, but it could possibly be called multiple times, passed to other methods etc. + +=== Synchronous vs. Asynchronous + +The `Guard` and `TypedGuard` interfaces both decide whether the guarded action is synchronous or asynchronous based on the action type. +This is given to `Guard` when calling or adapting the action, and to `TypedGuard` when creating it. + +If the type is asynchronous (such as `CompletionStage`), the asynchronous behavior will also be guarded; the action is only considered complete when the `CompletionStage` actually completes. +If the type is not asynchronous, only the synchronous behavior will be guarded; the action is considered complete when the method returns. + +To enable support of additional asynchronous types, it is enough to include the support libraries, as described in xref:reference/asynchronous.adoc#async-types[Additional Asynchronous Types]. + +==== Mutiny Support + +For example, when the Mutiny support library `io.smallrye:smallrye-fault-tolerance-mutiny` is present, both `Guard` and `TypedGuard` will recognize `Uni` as an asynchronous type and guard it properly. +Guarding a `Multi` is not supported. + +For example: + +[source,java] +---- +public class MyService { + private final Supplier> GUARD = TypedGuard.create( + new TypeLiteral>() {}) + .withTimeout().duration(5, ChronoUnit.SECONDS).done() + .withFallback().handler(() -> Uni.createFrom().item("fallback")).done() + .build() + .adaptSupplier(() -> externalService.hello()); // <1> + + public Uni hello() { + return guard.get(); + } +} +---- + +<1> The call to `externalService.hello()` is supposed to return `Uni`. + +Note that the `Uni` type is lazy, so the action itself won't execute until the guarded `Uni` is subscribed to. + +.Quarkus +**** +In Quarkus, the Mutiny support library is present by default. +You can guard `Uni`-returning actions out of the box. +**** + +=== Stateful Fault Tolerance Strategies + +The bulkhead, circuit breaker and rate limit strategies are stateful. +That is, they hold some state required for their correct functioning, such as the number of current executions for bulkhead, the rolling window of successes/failures for circuit breaker, or the time window for rate limit. +If you use these strategies, you have to consider their lifecycle. + +The {smallrye-fault-tolerance} programmatic API makes such reasoning pretty straightforward. +Each `Guard` object has its own instance of each fault tolerance strategy, including the stateful strategies. +If you use a single `Guard` object for guarding multiple different actions, all those actions will be guarded by the same bulkhead, circuit breaker and/or rate limit. +If, on the other hand, you use different `Guard` objects for guarding different actions, each action will be guarded by its own bulkhead, circuit breaker and/or rate limit. + +If you call the `adapt*` methods on the same `Guard` multiple times, the resulting `Callable` or `Supplier` objects will guard the underlying action using the original `Guard` instance, so stateful strategies will be shared. + +=== Circuit Breaker Maintenance + +The `CircuitBreakerMaintenance` API, accessed through `CircuitBreakerMaintenance.get()` or by injection in the CDI implementation, can be used to manipulate all named circuit breakers. +A circuit breaker is given a name by calling `withCircuitBreaker().name("\...")` on the fault tolerance builder, or using the `@CircuitBreakerName` annotation in the declarative API. + +Additionally, `CircuitBreakerMaintenance.resetAll()` will also reset all unnamed circuit breakers declared using the `@CicruitBreaker` annotation. +For this to work, all unnamed circuit breakers have to be remembered. +This is safe in case of the declarative, annotation-based API, because the number of such declared circuit breakers is fixed. +At the same time, this would _not_ be safe to do for all unnamed circuit breakers created using the programmatic API, as their number is potentially unbounded. +(In other words, remembering all unnamed circuit breakers created using the programmatic API would easily lead to a memory leak.) + +Therefore, all circuit breakers created using the programmatic API must be given a name when `CircuitBreakerMaintenance` is supposed to affect them. +Note that duplicate names are not permitted and lead to an error, so lifecycle of the circuit breaker must be carefully considered. + +=== Event Listeners + +The programmatic API has one feature that the declarative API doesn't have: ability to observe certain events. +For example, when configuring a circuit breaker, it is possible to register a callback for circuit breaker state changes or for a situation when an open circuit breaker prevents an invocation. +When configuring a timeout, it is possible to register a callback for when the invocation times out, etc. etc. +For example: + +[source,java] +---- +private static final Guard GUARD = Guard.create() + .withTimeout().duration(5, ChronoUnit.SECONDS).onTimeout(() -> ...).done() // <1> + .build(); +---- + +<1> The `onTimeout` method takes a `Runnable` that will later be executed whenever an invocation guarded by `GUARD` times out. + +All event listeners registered like this must run quickly and must not throw exceptions. + +== Configuration + +As mentioned above, except of `smallrye.faulttolerance.enabled` / `MP_Fault_Tolerance_NonFallback_Enabled`, there is no support for external configuration of fault tolerance strategies. +This may change in the future, though possibly only in the CDI implementation. + +== Metrics + +The programmatic API is integrated with metrics. +All metrics, as described xref:reference/metrics.adoc[in the Metrics reference guide] and the linked guides, are supported. +The only difference is the value of the `method` tag. +With the programmatic API, the `method` tag will be set to the _description_ of the guarded operation, provided on the `Guard` builder. + +[source,java] +---- +private static final Guard GUARD = Guard.create() + .withDescription("hello") // <1> + .withRetry().maxRetries(3).done() + .build(); +---- + +<1> A description of `hello` is set, it will be used as a value of the `method` tag in all metrics. + +It is possible to create multiple `Guard` objects with the same description. +In this case, it won't be possible to distinguish the different `Guard` objects in metrics; their values will be aggregated. + +If no description is provided, metrics are not emitted. + +== Differences to the Specification + +`Guard` and `TypedGuard` have the following differences to standard MicroProfile Fault Tolerance: + +* asynchronous actions of type `java.util.concurrent.Future` are not supported; +* the fallback, circuit breaker and retry strategies always inspect the cause chain of exceptions, following the behavior of SmallRye Fault Tolerance in the non-compatible mode. + +== Kotlin `suspend` Functions + +The `Guard` and `TypedGuard` APIs do not support Kotlin `suspend` functions at the moment. + +== Integration Concerns + +Integration concerns, which are particularly interesting for users of the standalone implementation, are xref:integration/programmatic-api.adoc[described] in the integration section. + +[[migration_from_faulttolerance]] +== Migration from `FaultTolerance` + +The 1st version of the programmatic API had the `FaultTolerance` interface. +That interface was removed in {smallrye-fault-tolerance} 7.0. +The replacement are the `Guard` and `TypedGuard` types. + +When migrating, one first has to decide which type to use as a replacement. +The `TypedGuard` is much closer to the `FaultTolerance` type, so that is the easiest way to migrate. +There are some differences still: + +- the `create()` static method now takes a parameter that expresses the guarded action type, either as a `Class` or as a `TypeLiteral`; +- there are no `cast()` and `castAsync()` methods, because `TypedGuard` only guards actions of a single type; +- there is no support for guarding or adapting ``Runnable``s, only ``Callable``s and ``Supplier``s are supported. + As a replacement for `Runnable`, a `Supplier` (or `Supplier>` etc.) can be used. + +For example, these usages of `FaultTolerance`: + +[source,java] +---- +static final FaultTolerance FT1 = FaultTolerance.create() + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withFallback().handler(() -> "fallback").done() + .build(); + +static final FaultTolerance> FT2 = FaultTolerance.createAsync() + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +can be rewritten to: + +[source,java] +---- +static final TypedGuard GUARD1 = TypedGuard.create(String.class) + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withFallback().handler(() -> "fallback").done() + .build(); + +static final TypedGuard> GUARD2 = TypedGuard.create( + new TypeLiteral>() {}) + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +After creating a `TypedGuard`, there's no change in how it's used. +The methods `call()`, `get()`, `adaptCallable()` and `adaptSupplier()` have the same signatures as before. + +`TypedGuard` is the only possible replacement if you need fallback. +If you don't need fallback, and especially if you need to guard actions of multiple types, `Guard` is a better choice. + +The differences are: + +- `Guard` has no type parameter (is not generic) and does not allow defining fallback; +- there are no `cast()` and `castAsync()` methods, because they are no longer needed; +- there is no support for guarding or adapting ``Runnable``s, only ``Callable``s and ``Supplier``s are supported. + As a replacement for `Runnable`, a `Supplier` (or `Supplier>` etc.) can be used. + +For example, these usages of `FaultTolerance`: + +[source,java] +---- +static final FaultTolerance FT1 = FaultTolerance.create() + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withCircuitBreaker().done() + .build(); + +static final FaultTolerance> FT2 = FaultTolerance.createAsync() + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +can be rewritten to: + +[source,java] +---- +static final Guard GUARD1 = Guard.create() + .withDescription("ft1") + .withRetry().maxRetries(3).done() + .withCircuitBreaker().done() + .build(); + +static final Guard GUARD2 = Guard.create() + .withDescription("ft2") + .withBulkhead().limit(5).queueSize(100).done() + .withTimeout().duration(3, ChronoUnit.SECONDS).done() + .build(); +---- + +Now, as mentioned above, `Guard` is used slightly differently than `FaultTolerance`. +The methods `call()`, `get()`, `adaptCallable()` and `adaptSupplier()` take an extra parameter that expresses the type of the guarded action, again either as a `Class` or as a `TypeLiteral`. + +For example, these usages of `FaultTolerance`: + +[source,java] +---- +String result1 = FT1.call(() -> externalService.hello()); +CompletionStage result2 = FT2.get(() -> externalService.helloAsync()); + +Callable callable = FT1.adaptCallable( + () -> externalService.hello()); +Supplier> supplier = FT2.adaptSupplier( + () -> externalService.helloAsync()); +---- + +can be rewritten to: + +[source,java] +---- +String result1 = GUARD1.call(() -> externalService.hello(), String.class); +CompletionStage result2 = GUARD2.get(() -> externalService.helloAsync(), + new TypeLiteral>() {}); + +Callable callable = GUARD1.adaptCallable( + () -> externalService.hello(), String.class); +Supplier> supplier = GUARD2.adaptSupplier( + () -> externalService.helloAsync(), + new TypeLiteral>() {}); +---- diff --git a/content/docs/smallrye-fault-tolerance/main/reference/rate-limit.adoc b/content/docs/smallrye-fault-tolerance/main/reference/rate-limit.adoc new file mode 100644 index 000000000..abb823f0f --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/rate-limit.adoc @@ -0,0 +1,148 @@ += Rate Limit +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/rate-limit.adoc[How to Limit Execution Rate]. + +include::{partialsdir}/srye-feature.adoc[] + +== Description + +Rate limit enforces a maximum number of permitted invocations in a time window of some length. +For example, with a rate limit, one can make sure that a method may only be called 50 times per minute. +Invocations that would exceed the limit are rejected with an exception of type `RateLimitException`. + +Additionally, it is possible to define minimum spacing between invocations. +For example, with minimum spacing of 1 second, if a second invocation happens 500 millis after the first, it is rejected even if the limit would not be exceeded yet. + +Rate limit is superficially similar to a bulkhead (concurrency limit), but is in fact quite different. +Bulkhead limits the number of executions happening concurrently at any point in time. +Rate limit limits the number of executions in a time window of some length, without considering concurrency. + +A method or a class can be annotated with `@RateLimit`, which means the method or the methods in the class will apply the rate limit strategy. +The previous example with 50 maximum invocations per minute and minimum spacing of 1 second would look like this: + +[source,java] +---- +@RateLimit(value = 50, + window = 1, windowUnit = ChronoUnit.MINUTES, + minSpacing = 1, minSpacingUnit = ChronoUnit.SECONDS) +public void doSomething() { + ... +} +---- + +The `RateLimitException` class has a method `getRetryAfterMillis()` which returns the number of milliseconds after which the user may retry the rejected invocation. +Retrying sooner is guaranteed to be rejected again. +Note that this information is accurate only at the time the invocation is rejected. +It may be invalidated by any subsequent or concurrent invocations, so there is no guarantee that a retry attempt after the given number of milliseconds will in fact be permitted. + +=== Lifecycle + +Rate limit needs to maintain some state between invocations: the number of recent invocations, the time stamp of last invocation, and so on. +This state is a singleton, irrespective of the lifecycle of the bean that uses the `@RateLimit` annotation. + +More specifically, the rate limit state is uniquely identified by the combination of the bean class (`java.lang.Class`) and the method object (`java.lang.reflect.Method`) representing the guarded method. + +For example, if there’s a guarded method `doWork` on a bean which is `@RequestScoped`, each request will have its own instance of the bean, but all invocations of `doWork` will share the same rate limit state. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@RateLimit`, the fallback method or handler may be invoked if a `RateLimitException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@RateLimit`, each retry attempt is processed by the rate limit as an independent invocation. +If `RateLimitException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@RateLimit`, the circuit breaker is checked before enforcing the rate limit. +If rate limiting results in `RateLimitException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +[[configuration]] +== Configuration + +There are 6 configuration options, corresponding to the 6 members of the `@RateLimit` annotation. + +=== `value` + +Type: `int` + +Default: `100` + +The limit of maximum invocations to be permitted in the time window. + +=== `window` + `windowUnit` + +Type: `long` + `ChronoUnit` + +Default: `1 second` + +The length of the time window. + +=== `minSpacing` + `minSpacingUnit` + +Type: `long` + `ChronoUnit` + +Default: `0 seconds` + +The minimum spacing between two consecutive invocations. + +=== `type` + +Type: `RateLimitType` + +Default: `RateLimitType.FIXED` + +The type of time window used for rate limiting. +There are 3 types of time windows used for rate limiting: _fixed_, _rolling_ and _smooth_. + +Fixed time windows are a result of dividing time into non-overlapping intervals of given length. +The invocation limit is enforced for each interval independently. +This means that short bursts of invocations occuring near the time window boundaries may temporarily exceed the configured rate limit. +This kind of rate limiting is also called _fixed window_ rate limiting. + +Rolling time windows enforce the limit continuously, instead of dividing time into independent intervals. +The invocation limit is enforced for all possible time intervals of given length, regardless of overlap. +This is more precise, but requires more memory and may be slower. +This kind of rate limiting is also called _sliding log_ rate limiting. + +Smooth time windows enforce a uniform distribution of invocations under a rate calculated from given time window length and given limit. +If recent rate of invocations is under the limit, a subsequent burst of invocations is allowed during a shorter time span, but the calculated rate is never exceeded. +This kind of rate limiting is also called _token bucket_ or _leaky bucket (as a meter)_ rate limiting, with the additional property that all work units are considered to have the same size. + +With fixed and rolling time windows, rejected invocations always count towards the limit, so if a caller continuously invokes the guarded method faster than the configuration allows, all invocations are rejected until the caller slows down. +With smooth time windows, rejected invocations do not count towards the recent rate of invocations. + +Example usage: + +[source,java] +---- +@RateLimit(value = 50, + window = 1, windowUnit = ChronoUnit.MINUTES, + minSpacing = 1, minSpacingUnit = ChronoUnit.SECONDS, + type = RateLimitType.ROLLING) +public void doSomething() { + ... +} +---- + +[[metrics]] +== Metrics + +Rate limit exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.ratelimit.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the rate limit logic was run. This is usually once per method call, but may be zero times if the circuit breaker prevented execution or more than once if the method call was retried. +| Tags +a| * `method` - the fully qualified method name +* `rateLimitResult` = `[permitted\|rejected]` - whether the rate limit permitted the method call +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/retry.adoc b/content/docs/smallrye-fault-tolerance/main/reference/retry.adoc new file mode 100644 index 000000000..0c3bf8dc4 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/retry.adoc @@ -0,0 +1,350 @@ += Retry +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/retry.adoc[How to Retry on Failures]. + +== Description + +If a guarded method throws an exception, retry will swallow that exception and call the method again. + +More specifically: + +. If the guarded method returns normally, its return value is returned. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `abortOn` types (see <>), retrying is aborted and the exception is rethrown. +. Otherwise, if the guarded method throws an exception whose type is assignable to any of the `retryOn` types (see <>), the method call is retried. +. Otherwise, the exception is rethrown. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@Retry`, the fallback method or handler may be invoked if all retry attempts failed, depending on the fallback configuration. + +[[configuration]] +== Configuration + +There are 9 configuration options, corresponding to the 9 members of the `@Retry` annotation. + +=== `maxRetries` + +Type: `int` + +Default: `3` + +The maximum number of retries. +`-1` means the maximum number of retries is unlimited. + +=== `delay` + `delayUnit` + +Type: `long` + `ChronoUnit` + +Default: `0 millis` + +The delay between retry attempts. + +=== `maxDuration` + `durationUnit` + +Type: `long` + `ChronoUnit` + +Default: `180_000 millis`, or 3 minutes + +The maximum duration for which retries will be attempted. + +:time-value-name: maxDuration +:time-unit-bad-name: durationUnit +:time-unit-good-name: maxDurationUnit +include::{partialsdir}/time-unit-inconsistency.adoc[] + +=== `jitter` + `jitterDelayUnit` + +Type: `long` + `ChronoUnit` + +Default: `200 millis` + +The maximum jitter to adjust the delay between retries. +If set, the delay before each retry attempt will be computed as follows: + +. Generate random number from the closed interval `[-jitter, jitter]`. +. Add the generated random number to the configured `delay`. +. If the result is by any chance negative, use `0`. + +:time-value-name: jitter +:time-unit-bad-name: jitterDelayUnit +:time-unit-good-name: jitterUnit +include::{partialsdir}/time-unit-inconsistency.adoc[] + +[[retry-on]] +=== `retryOn` + +Type: `Class[]` + +Default: `{Exception.class}` + +Set of exception types that trigger a retry. + +[[abort-on]] +=== `abortOn` + +Type: `Class[]` + +Default: `{}` + +Set of exception types that abort retrying. +This configuration takes precedence over `retryOn`. + +[[metrics]] +== Metrics + +Retry exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.retry.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the retry logic was run. This will always be once per method call. +| Tags +a| * `method` - the fully qualified method name +* `retried` = `[true\|false]` - whether any retries occurred +* `retryResult` = `[valueReturned\|exceptionNotRetryable\|maxRetriesReached\|maxDurationReached]` - the reason that last attempt to call the method was not retried +|=== + +[cols="1,5"] +|=== +| Name | `ft.retry.retries.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the method was retried +| Tags +a| * `method` - the fully qualified method name +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. + +== Extra Features + +=== Backoff Strategies for `@Retry` + +include::{partialsdir}/srye-feature.adoc[] + +When retrying failed operations, it is often useful to make a delay between retry attempts. +This delay is also called "backoff". +The `@Retry` annotation in {microprofile-fault-tolerance} supports a single backoff strategy: constant. +That is, the delay between all retry attempts is identical (except for a random jitter). + +{smallrye-fault-tolerance} offers 3 annotations to specify a different backoff strategy: + +* `@ExponentialBackoff` +* `@FibonacciBackoff` +* `@CustomBackoff` + +One of these annotations may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @ExponentialBackoff + public void hello() { + ... + } +} +---- + +It is an error to add a backoff annotation to a program element that doesn't have `@Retry` (e.g. add `@Retry` on a class and `@ExponentialBackoff` on a method). +It is also an error to add more than one of these annotations to the same program element. + +When any one of these annotations is present, it modifies the behavior specified by the `@Retry` annotation. +The new behavior is as follows: + +For `@ExponentialBackoff`, the delays between retry attempts grow exponentially, using a defined `factor`. +By default, the `factor` is 2, so each delay is 2 * the previous delay. +For example, if the initial delay (specified by `@Retry`) is 1 second, then the second delay is 2 seconds, third delay is 4 seconds, fourth delay is 8 seconds etc. +It is possible to define a `maxDelay`, so that this growth has a limit. + +For `@FibonacciBackoff`, the delays between retry attempts grow per the Fibonacci sequence. +For example, if the initial delay (specified by `@Retry`) is 1 second, then the second delay is 2 seconds, third delay is 3 seconds, fourth delay is 5 seconds etc. +It is possible to define a `maxDelay`, so that this growth has a limit. + +Both `@ExponentialBackoff` and `@FibonacciBackoff` also apply jitter, exactly like plain `@Retry`. + +Also, since `@Retry` has a default `maxDuration` of 3 minutes and default `maxRetries` of 3, both `@ExponentialBackoff` and `@FibonacciBackoff` define a `maxDelay` of 1 minute. +If we redefine `maxRetries` to a much higher value, and the guarded method keeps failing, the delay would eventually become higher than 1 minute. +In that case, it will be limited to 1 minute. +Of course, `maxDelay` can be configured. +If set to `0`, there's no limit, and the delays will grow without bounds. + +For `@CustomBackoff`, computing the delays between retry attempts is delegated to a specified implementation of `CustomBackoffStrategy`. +This is an advanced option. + +For more information about these backoff strategies, see the javadoc of the annotations. + +=== Predicate-Based `@Retry` + +include::{partialsdir}/srye-feature.adoc[] + +By default, an operation is retried only if it fails and the exception is assignable to one of the classes defined in `@Retry.retryOn` (and not assignable to any of the classes defined in `@Retry.abortOn`). +With the `@RetryWhen` annotation, it is possible to instead define a custom predicate for the exception, as well as a predicate for the result. + +The `@RetryWhen` annotation may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @RetryWhen( + result = IsNull.class, // <1> + exception = IsRuntimeException.class // <2> + ) + public String hello() { + ... + } + + public static final class IsNull implements Predicate { + @Override + public boolean test(Object o) { + return o == null; + } + } + + public static final class IsRuntimeException implements Predicate { + @Override + public boolean test(Throwable throwable) { + return throwable instanceof RuntimeException; + } + } +} +---- + +<1> When the method returns `null`, it will be retried. +<2> When the method throws a `RuntimeException`, it will be retried. + +All other results are considered expected and are not retried. + +It is an error to specify `@RetryWhen.exception` if `@Retry.retryOn` / `@Retry.abortOn` is specified. +Specifying `@RetryWhen.result` together with `@Retry.retryOn` / `@Retry.abortOn` is possible, although perhaps not the best idea. + +It is an error to add a `@RetryWhen` annotation to a program element that doesn't have `@Retry` (e.g. add `@Retry` on a class and `@RetryWhen` on a method). + +For more information about `@RetryWhen`, see the javadoc of the annotation. + +=== Before Retry Actions + +include::{partialsdir}/srye-feature.adoc[] + +The `@BeforeRetry` annotation supports specifying an action that should be performed before any retry. +The action will _not_ be performed before the initial attempt. + +The `@BeforeRetry` annotation may be present on any program element (method or class) that also has the `@Retry` annotation. +For example: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @BeforeRetry(methodName = "beforeRetry") // <1> + public String hello() { + ... + } + + public void beforeRetry() { // <2> + ... + } +} +---- + +<1> Specifies that before retrying, the `beforeRetry` method should be called. +<2> The method must return `void` and have no parameters. + +Alternatively, it is possible to specify a class that is an implementation of the `BeforeRetryHandler` interface: + +[source,java] +---- +package com.example; + +@ApplicationScoped +public class MyService { + @Retry + @BeforeRetry(MyBeforeRetry.class) // <1> + public String hello() { + ... + } + + public static class MyBeforeRetry implements BeforeRetryHandler { + public void handle(ExecutionContext context) { + ... + } + } +} +---- + +<1> Specifies that the `MyBeforeRetry` handler should be called before retrying. + +It is only possible to specify one option; specifying both `value` and `methodName` leads to a deployment problem. + +Note that the before retry action must fast and non-blocking (i.e., it must not do any IO or long-running computations) and must not throw an exception. + +[[inspecting-exception-cause-chains]] +=== Inspecting Exception Cause Chains + +include::{partialsdir}/srye-feature.adoc[] + +include::{partialsdir}/non-compat.adoc[] + +The `@Retry` annotation can specify that certain exceptions should be treated as failures (`retryOn`) and others as successes (`abortOn`). +The specification limits this to inspecting the actual exception that was thrown. +However, in many cases, exceptions are wrapped and the exception the user wants to decide on is only present in the cause chain. + +For that reason, in the non-compatible mode, if the actual thrown exception isn't known failure or known success, {smallrye-fault-tolerance} inspects the cause chain. +To be specific, in case a `@Retry` method throws an exception, the decision process is: + +1. If the `abortOn` exceptions are not default and the exception is assignable to one of the `abortOn` exceptions, retry is aborted and the exception is rethrown. +2. Otherwise, if the `retryOn` exceptions are not default and the exception is assignable to one of the `retryOn` exceptions, retry is attempted. +3. Otherwise, if the exception is assignable to one of the `abortOn` exceptions or its cause chain contains an exception assignable to one of the `abortOn` exceptions, retry is aborted and the exception is rethrown. +4. Otherwise, if the exception is assignable to one of the `retryOn` exceptions or its cause chain contains an exception assignable to one of the `retryOn` exceptions, retry is attempted. +5. Otherwise, the exception is rethrown. + +For example: + +[source,java] +---- +@Retry(maxRetries = 5, + abortOn = ExpectedOutcomeException.class, // <1> + retryOn = IOException.class) // <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, retry is aborted and the exception is thrown. +<2> If `doSomething` throws an `IOException`, or a `WrapperException` whose cause is `IOException`, retry is attempted. + +[source,java] +---- +@Retry(maxRetries = 5, + abortOn = ExpectedOutcomeException.class) // <1> <2> +public Result doSomething() { + ... +} +---- + +<1> If `doSomething` throws an `ExpectedOutcomeException`, or a `WrapperException` whose cause is `ExpectedOutcomeException`, retry is aborted and the exception is thrown. +<2> There's no `retryOn`, so the 2nd step in the algorithm above is skipped. +This is what turns the `WrapperException` whose cause is `ExpectedOutcomeException` into an aborted retry. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/reusable.adoc b/content/docs/smallrye-fault-tolerance/main/reference/reusable.adoc new file mode 100644 index 000000000..9e7d97d04 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/reusable.adoc @@ -0,0 +1,244 @@ += Reusable Fault Tolerance +:version-root: ../ +include::{version-root}_attributes.adoc[] + +include::{partialsdir}/srye-feature.adoc[] + +The declarative, annotation-based API of {microprofile-fault-tolerance} doesn't allow sharing configuration of fault tolerance strategies across multiple classes. +In a single class, the configuration may be shared across all methods by putting the annotations on the class instead of individual methods, but even then, _stateful_ fault tolerance strategies are not shared. +Each method has its own bulkhead, circuit breaker and/or rate limit, which is often not what you want. + +The xref:reference/programmatic-api.adoc[programmatic API] of {smallrye-fault-tolerance} allows using a single `Guard` or `TypedGuard` object to guard multiple disparate actions, which allows reuse and state sharing. +It is possible to use a programmatically constructed `Guard` or `TypedGuard` object declaratively, using the `@ApplyGuard` annotation. + +To be able to do that, we need a bean of type `Guard` (or `TypedGuard`) with the `@Identifier` qualifier: + +[source,java] +---- +@ApplicationScoped +public class PreconfiguredFaultTolerance { + @Produces + @Identifier("my-fault-tolerance") + public static final Guard GUARD = Guard.create() + .withRetry().maxRetries(2).done() + .withTimeout().done() + .build(); +} +---- + +See the xref:reference/programmatic-api.adoc[programmatic API] documentation for more information about creating the `Guard` or `TypedGuard` instance. + +It is customary to create the bean by declaring a `static` producer field, just like in the previous example. + +Once we have that, we can apply `my-fault-tolerance` to any method: + +[source,java] +---- +@ApplicationScoped +public class MyService { + @ApplyGuard("my-fault-tolerance") + public String doSomething() { + ... + } + + @ApplyGuard("my-fault-tolerance") + public CompletionStage doSomethingElse() { + ... + } +} +---- + +== Defining Fallback + +Note that it is not possible to define a fallback on `Guard`, because fallback is tied to the action type. +It is possible to define a fallback on `TypedGuard`, because it can only be used to guard methods with a single return type, equal to the type the `TypedGuard` was created with. + +However, the `@ApplyGuard` annotation pays attention to the `@Fallback` annotation. +If `@Fallback` is defined, it is used both by `Guard` and `TypedGuard` instances, and it overrides the possible fallback defined on the `TypedGuard`. + +== Defining Thread Offload + +Both `Guard` and `TypedGuard` allow enabling or disabling thread offload. +This is ignored by `@ApplyGuard` if the annotated method is asynchronous as determined from the method signature and possible annotations (`@Asynchronous` and `@AsynchronousNonBlocking`). +See xref:reference/asynchronous.adoc[] for more information about how that determination works. + +The thread offload configuration of `Guard` or `TypedGuard` is only honored when the method cannot be determined to be asynchronous, but it still declares an asynchronous return type. + +.Compatible Mode +**** +In the compatible mode, methods are determined to be asynchronous when they are annotated `@Asynchronous` or `@AsynchronousNonBlocking` and they declare an asynchronous return type. +For such methods, the `Guard` / `TypedGuard` thread offload configuration does not apply. + +For methods that declare an asynchronous return type but are not annotated with `@Asynchronous` or `@AsynchronousNonBlocking`, the configuration on `Guard` / `TypedGuard` is honored. +**** + +.Non-compatible Mode +**** +In the non-compatible mode, methods are determined to be asynchronous whenever they declare an asynchronous return type. +The `@Asynchronous` and `@AsynchronousNonBlocking` only affect whether the invocation of that method is offloaded to an extra thread. +If none of these annotations is present, no thread offload happens. + +In other words, in non-compatible mode, the `Guard` / `TypedGuard` thread offload configuration never applies. + +See xref:reference/non-compat.adoc[] for more information about the non-compatible mode. +**** + +== Configuration + +Even though the programmatic API of `Guard` and `TypedGuard` does not support configuration, the declarative API of `@ApplyGuard` does. + +The configuration closely resembles xref:reference/config.adoc[the configuration of the declarative API], where instead of the `` or `/`, you use the identifier that's used in the `@Identifier` qualifier and in the `@ApplyGuard` annotation. + +CAUTION: When configuring the `Guard` or `TypedGuard` using the following configuration properties, it is recommended to never use the `[Typed]Guard` programmatically. +The reason is that configuration is applied on the first invocation, and if that invocation is programmatic, the configuration key is unknown. + +For example, let's assume the following preconfigured `Guard` object: + +[source,java] +---- +@ApplicationScoped +public class PreconfiguredFaultTolerance { + @Produces + @Identifier("my-fault-tolerance") + public static final Guard GUARD = Guard.create() + .withRetry().maxRetries(2).done() + .withTimeout().done() + .build(); +} +---- + +This `Guard` supports retry and timeout; any attempt to configure other strategies will be ignored. + +To reconfigure the number of maximum retries, the following configuration properties may be used: + +[source,properties] +---- +smallrye.faulttolerance."my-fault-tolerance".retry.max-retries=5 + +# alternatively, a specification-defined property can be used +my-fault-tolerance/Retry/maxRetries=5 +---- + +Global configuration that applies to all usages of retry is also respected by `@ApplyGuard`: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.max-retries=5 + +# alternatively, a specification-defined property can be used +Retry/maxRetries=5 +---- + +Note that the configuration keys follow the configuration of the declarative API, even if the methods in the programmatic API builders are named differently. +For example, to set the rate limit in the programmatic API, the `RateLimitBuilder` uses a method called `limit()`, while the corresponding annotation member of `@RateLimit` is named `value()`. +The configuration key in both cases is `rate-limit.value` (or `RateLimit/value`). + +=== Disabling Fault Tolerance + +Configuration properties for disabling individual strategies also work: + +[source,properties] +---- +smallrye.faulttolerance."my-fault-tolerance".retry.enabled=false + +# alternatively, a specification-defined property can be used +my-fault-tolerance/Retry/enabled=false +---- + +Or globally: + +[source,properties] +---- +smallrye.faulttolerance.global.retry.enabled=false + +# alternatively, a specification-defined property can be used +Retry/enabled=false +---- + +=== Supported Strategies + +The following fault tolerance strategies, when defined on a `Guard` (or `TypedGuard`) and used through `@ApplyGuard`, may be configured: + +* bulkhead (except of `BulkheadBuilder.enableSynchronousQueueing()`) +* circuit breaker +* rate limit +* retry, including exponential backoff and Fibonacci backoff +* timeout + +In the programmatic API, the following strategies are not built declaratively, and so their configuration is ignored: + +* fallback +* circuit breaker name (cannot be configured in the declarative API either) +* certain parts of retry: custom backoff, before retry action and retry predicates +* thread offload + +== Metrics + +Methods annotated `@ApplyGuard` gather metrics similarly to methods annotated with {microprofile-fault-tolerance} annotations. +That is, each method gets its own metrics, with the `method` tag being `.`. + +At the same time, state is still shared. +All methods annotated `@ApplyGuard` share the same bulkhead, circuit breaker and/or rate limit. + +If the `Guard` or `TypedGuard` object used for `@ApplyGuard` is also used xref:reference/programmatic-api.adoc[programmatically], that usage is coalesced in metrics (where the `method` tag is set to the description). + +== Differences to the Specification + +`@ApplyGuard` has the same differences to standard MicroProfile Fault Tolerance as `Guard` / `TypedGuard`: + +* asynchronous actions of type `java.util.concurrent.Future` are not supported; +* the fallback, circuit breaker and retry strategies always inspect the cause chain of exceptions, following the behavior of SmallRye Fault Tolerance in the non-compatible mode. + +== Kotlin `suspend` Functions + +Even though the programmatic API of `Guard` and `TypedGuard` does not support Kotlin `suspend` functions, the declarative API of `@ApplyGuard` does. +When the guard is a `Guard`, no restrictions apply. + +When the guard is a `TypedGuard`, however, its type must be a synchronous return type of the `suspend` function. +For example, when the `suspend` function is declared to return a `String` asynchronously: + +[source,kotlin] +---- +@ApplyGuard("my-fault-tolerance") +@Fallback(fallbackMethod = "fallback") +suspend fun hello(): String { + delay(100) + throw IllegalArgumentException() +} +---- + +The `TypedGuard` must be declared to guard actions of type `String`: + +[source,kotlin] +---- +@Produces +@Identifier("my-fault-tolerance") +val GUARD = TypedGuard.create(String::class.java) + .withRetry().maxRetries(2).done() + .withFallback().handler(Supplier { "fallback" }).done() + .build() +---- + +This means that a possible fallback declared on the `TypedGuard` must be synchronous; it cannot be a `suspend` lambda. + +The `@Fallback` method, if declared, must have a matching signature and so must be a `suspend` function: + +[source,kotlin] +---- +suspend fun fallback(): String { + delay(100) + return "fallback" +} +---- + +[[migration_from_applyfaulttolerance]] +== Migration from `@ApplyFaultTolerance` + +The 1st version of the programmatic API had the `@ApplyFaultTolerance` annotation. +That annotation was removed in {smallrye-fault-tolerance} 7.0. + +To migrate, replace `@ApplyFaultTolerance` with `@ApplyGuard` and change the `FaultTolerance<>` producers to produce `Guard` or `TypedGuard<>`. +See xref:reference/programmatic-api.adoc#migration_from_faulttolerance[the programmatic API migration guide] for more details about that. + +Note that it is not possible to define both `Guard` and `TypedGuard<>` with the same identifier; that leads to a deployment problem. +Therefore, for each producer of `FaultTolerance<>`, you have to decide whether the replacement should be `Guard` or `TypedGuard<>`. diff --git a/content/docs/smallrye-fault-tolerance/main/reference/timeout.adoc b/content/docs/smallrye-fault-tolerance/main/reference/timeout.adoc new file mode 100644 index 000000000..183009bd7 --- /dev/null +++ b/content/docs/smallrye-fault-tolerance/main/reference/timeout.adoc @@ -0,0 +1,78 @@ += Timeout +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For introduction, see xref:howto/timeout.adoc[How to Watch for Timeouts]. + +== Description + +If a guarded method takes too long, the caller will get a `TimeoutException`. + +If the guarded method is not `@Asynchronous` or `@AsynchronousNonBlocking`, the thread executing the method is interrupted. +Note that interruption requires cooperation from the executing code (for example, it must not swallow `InterruptedException`). +In other words, it is not guaranteed that interrupting the method will actually make it stop. + +If the guarded method is `@Asynchronous` or `@AsynchronousNonBlocking`, timeout is always signalled correctly, but there is no cancellation. +Even after timeout, the asynchronous action will keep running; its eventual result is just ignored. + +[[interactions]] +== Interactions with Other Strategies + +See xref:howto/multiple.adoc[How to Use Multiple Strategies] for an overview of how fault tolerance strategies are nested. + +If `@Fallback` is used with `@Timeout`, the fallback method or handler may be invoked if a `TimeoutException` is thrown, depending on the fallback configuration. + +If `@Retry` is used with `@Timeout`, each retry attempt is processed by the timeout as an independent invocation. +If `TimeoutException` is thrown, the execution may be retried, depending on how retry is configured. + +If `@CircuitBreaker` is used with `@Timeout`, the circuit breaker is checked before enforcing the timeout. +If enforcing the timeout results in `TimeoutException`, this may be counted as a failure, depending on how the circuit breaker is configured. + +If `@RateLimit` is used with `@Timeout`, the rate limit is enforced before enforcing the timeout. + +[[configuration]] +== Configuration + +There are 2 configuration options, corresponding to the 2 members of the `@Timeout` annotation. + +=== `value` + `unit` + +Type: `long` + `ChronoUnit` + +Default: `1000 millis`, or 1 second + +The timeout to enforce. + +[[metrics]] +== Metrics + +Timeout exposes the following metrics: + +[cols="1,5"] +|=== +| Name | `ft.timeout.calls.total` +| Type +a| * OpenTelemetry: `LongCounter` +* Micrometer: `Counter` +| Unit | None +| Description | The number of times the timeout logic was run. This is usually once per method call, but may be zero times if the circuit breaker or rate limit prevents execution or more than once if the method is retried. +| Tags +a| * `method` - the fully qualified method name +* `timedOut` = `[true\|false]` - whether the method call timed out +|=== + +[cols="1,5"] +|=== +| Name | `ft.timeout.executionDuration` +| Type +a| * OpenTelemetry: `DoubleHistogram` with explicit bucket boundaries `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]` +* Micrometer: `Timer` +| Unit +a| * OpenTelemetry: seconds +* Micrometer: nanoseconds +| Description | Histogram of execution times for the method +| Tags +a| * `method` - the fully qualified method name +|=== + +See xref:reference/metrics.adoc[the Metrics reference guide] for general metrics information. diff --git a/content/docs/smallrye-graphql/1/_attributes.adoc b/content/docs/smallrye-graphql/1/_attributes.adoc new file mode 100644 index 000000000..cee3f4aac --- /dev/null +++ b/content/docs/smallrye-graphql/1/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 1.9.5 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye GraphQL +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 1.9.5 +:relfileprefix: /docs/smallrye-graphql/1/ +:imagesdir: /docs/smallrye-graphql/1 +:docs-project: smallrye-graphql +:docs-version: 1 +:docs-ref: 1.9.5 diff --git a/content/docs/smallrye-graphql/1/_examples/examples/dynamicclient/MyClientUsage.java b/content/docs/smallrye-graphql/1/_examples/examples/dynamicclient/MyClientUsage.java new file mode 100644 index 000000000..75341f569 --- /dev/null +++ b/content/docs/smallrye-graphql/1/_examples/examples/dynamicclient/MyClientUsage.java @@ -0,0 +1,37 @@ +package examples.dynamicclient; + +import examples.typesafeclient.SuperHero; +import io.smallrye.graphql.client.GraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.core.Document; +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; + +import javax.inject.Inject; +import javax.json.JsonArray; +import java.util.List; +import java.util.concurrent.ExecutionException; + +import static io.smallrye.graphql.client.core.Argument.arg; +import static io.smallrye.graphql.client.core.Argument.args; +import static io.smallrye.graphql.client.core.Document.document; +import static io.smallrye.graphql.client.core.Field.field; +import static io.smallrye.graphql.client.core.Operation.operation; + +public class MyClientUsage { + + @Inject + @GraphQLClient("superHeroes") + DynamicGraphQLClient client; + + public void execute() throws ExecutionException, InterruptedException { + Document document = document( // <1> + operation(field("allHeroesIn", + args(arg("location", "Outer Space")), + field("name"), + field("superPowers")))); + Response response = client.executeSync(document); // <2> + + JsonArray heroesArray = response.getData().getJsonArray("allHeroesIn"); // <3> + List heroes = response.getList(SuperHero.class, "allHeroesIn"); // <4> + } +} diff --git a/content/docs/smallrye-graphql/1/_examples/examples/dynamicclient/MyClientUsageString.java b/content/docs/smallrye-graphql/1/_examples/examples/dynamicclient/MyClientUsageString.java new file mode 100644 index 000000000..efa20efee --- /dev/null +++ b/content/docs/smallrye-graphql/1/_examples/examples/dynamicclient/MyClientUsageString.java @@ -0,0 +1,39 @@ +package examples.dynamicclient; + +import io.smallrye.graphql.client.GraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; + +import javax.inject.Inject; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ExecutionException; + +public class MyClientUsageString { + + @Inject + @GraphQLClient("superheroes") + DynamicGraphQLClient client; + + public void execute() throws ExecutionException, InterruptedException { + String queryWithInlineVariables = // <1> + "query {" + + " allHeroesIn(location: \"Outer Space\") {" + + " name" + + " superPowers" + + " }" + + "}"; + Response response = client.executeSync(queryWithInlineVariables); + + String queryWithExtractedVariables = // <2> + "query($loc: String) {" + + " allHeroesIn(location: $loc) {" + + " name" + + " superPowers" + + " }" + + "}"; + Map variables = new HashMap<>(); // <3> + variables.put("loc", "Outer Space"); + Response response2 = client.executeSync(queryWithExtractedVariables, variables); + } +} diff --git a/content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/MyClientUsage.java b/content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/MyClientUsage.java new file mode 100644 index 000000000..2c574e1f2 --- /dev/null +++ b/content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/MyClientUsage.java @@ -0,0 +1,16 @@ +package examples.typesafeclient; + +import javax.inject.Inject; +import java.util.List; + +public class MyClientUsage { + + @Inject + SuperHeroesApi superHeroesApi; + + public void execute() { + List allHeroes = superHeroesApi.allHeroesIn("Outer Space"); + // ... + } + +} diff --git a/content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/SuperHero.java b/content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/SuperHero.java new file mode 100644 index 000000000..7c19a1119 --- /dev/null +++ b/content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/SuperHero.java @@ -0,0 +1,12 @@ +package examples.typesafeclient; + +import java.util.List; + +public class SuperHero { + + private String name; + private List superPowers; + + // plus getters and setters + +} diff --git a/content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/SuperHeroesApi.java b/content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/SuperHeroesApi.java new file mode 100644 index 000000000..0fae71966 --- /dev/null +++ b/content/docs/smallrye-graphql/1/_examples/examples/typesafeclient/SuperHeroesApi.java @@ -0,0 +1,12 @@ +package examples.typesafeclient; + +import io.smallrye.graphql.client.typesafe.api.GraphQLClientApi; + +import java.util.List; + +@GraphQLClientApi +public interface SuperHeroesApi { + + List allHeroesIn(String location); + +} diff --git a/content/docs/smallrye-graphql/1/_nav.yml b/content/docs/smallrye-graphql/1/_nav.yml new file mode 100644 index 000000000..9ab6f9cb6 --- /dev/null +++ b/content/docs/smallrye-graphql/1/_nav.yml @@ -0,0 +1,54 @@ +title: SmallRye GraphQL +nav: +- title: Overview + page: index +- title: Server side features + items: + - title: Customizing JSON deserializers + page: custom-json-deserializers + - title: Directives + page: directives + - title: Federation + page: federation + - title: Custom error extensions + page: custom-error-extensions + - title: Response extensions + page: extensions +- title: Typesafe client + items: + - title: Basic usage + page: typesafe-client-usage + - title: Reactive + page: typesafe-client-reactive-types + - title: Custom scalar types + page: typesafe-client-custom-scalars + - title: Adding headers + page: typesafe-client-headers + - title: Logging + page: typesafe-client-logging + - title: Running multiple queries at once + page: typesafe-client-multiple-queries + - title: Error handling + page: typesafe-client-error-handling +- title: Dynamic client + items: + - title: Basic usage + page: dynamic-client-usage + - title: Error handling + page: dynamic-client-error-handling +- title: Clients in general + items: + - title: Using SmallRye Stork + page: using-smallrye-stork +- title: Developer tools + items: + - title: Maven plugin + page: maven-plugin + - title: Gradle plugin + page: gradle-plugin +- title: Reference material + items: + - title: Server-side configuration + page: server-configuration + - title: Client-side configuration + page: client-configuration diff --git a/content/docs/smallrye-graphql/1/client-configuration.adoc b/content/docs/smallrye-graphql/1/client-configuration.adoc new file mode 100644 index 000000000..ceaad890a --- /dev/null +++ b/content/docs/smallrye-graphql/1/client-configuration.adoc @@ -0,0 +1,27 @@ += Client-side configuration properties +include::_attributes.adoc[] + +Note: if you are using Quarkus, it is recommended to use the `quarkus.++*++` property counterparts instead. +See https://quarkus.io/guides/all-config#quarkus-smallrye-graphql-client_quarkus-smallrye-graphql-client-smallrye-graphql-client[Quarkus Documentation] for more info. + +[width="100%",cols="33%,35%,32%",options="header",] +|=== +|Property |Default value |Meaning +|`CLIENT++_++NAME/mp-graphql/url` |none |Denotes URL to connect to +|`CLIENT++_++NAME/mp-graphql/header/KEY` |none |Adds a HTTP header named `KEY` to all HTTP requests performed by the client +|`CLIENT++_++NAME/mp-graphql/subprotocols` |`graphql-ws,graphql-transport-ws` |Comma-separated list of websocket subprotocols supported by this client. We currently support `graphql-ws` and `graphql-transport-ws`. If multiple subprotocols are provided, choosing the actual subprotocol will be subject to negotiation with the server. +|`CLIENT++_++NAME/mp-graphql/keystore` |none |Path to client's keystore (for example `file:/path/to/keystore` or `classpath:path/to/keystore`) +|`CLIENT++_++NAME/mp-graphql/keystoreType` |`JKS` |Keystore type +|`CLIENT++_++NAME/mp-graphql/keystorePassword` |none |Keystore password +|`CLIENT++_++NAME/mp-graphql/truststore` |none |Path to client's truststore (for example `file:/path/to/truststore` or `classpath:path/to/truststore`) +|`CLIENT++_++NAME/mp-graphql/truststoreType` |`JKS` |Truststore type +|`CLIENT++_++NAME/mp-graphql/truststorePassword` |none |Truststore password +|`CLIENT++_++NAME/mp-graphql/proxyHost` |none |Hostname of the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyPort` |none |Port of the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyUsername` |none |Username for the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyPassword` |none |Password for the proxy to use +|`CLIENT++_++NAME/mp-graphql/maxRedirects` |16 |Max number of redirects to follow. Set to 0 to disable redirects. +|`CLIENT++_++NAME/mp-graphql/websocketInitializationTimeout` |none |Maximum time in milliseconds that will be allowed to wait for the server to acknowledge a websocket connection. +|`CLIENT++_++NAME/mp-graphql/runSingleOperationsOverWebsocket` |`false` |If true, then queries and mutations will run over the websocket transport rather than pure HTTP. Off by default, because it has higher overhead. +|`CLIENT++_++NAME/mp-graphql/initPayload/KEY` |none |Adds a property named `KEY` to the `connection++_++init` message payload when negotiating a websocket connection. All values will be treated as string. For other types instatiate the API with the builder. +|=== diff --git a/content/docs/smallrye-graphql/1/custom-error-extensions.adoc b/content/docs/smallrye-graphql/1/custom-error-extensions.adoc new file mode 100644 index 000000000..82aa86e5b --- /dev/null +++ b/content/docs/smallrye-graphql/1/custom-error-extensions.adoc @@ -0,0 +1,44 @@ += GraphQL Error Extensions +include::_attributes.adoc[] + +Exceptions are reported in GraphQL in the `errors` array, next to the `data` field, so it's possible to return partial results, e.g.: + +[source,json] +---- +{ + "data": { + "superHero": { + "name": "Wolverine", + "location": null + } + }, + "errors": [{ + "message":"location unknown", + "path": ["superHero","location"], + "extensions":{"code":"location-unknown"} + }] +} +---- + +The `location` field couldn't be returned, and in the `errors`, there's the reason with a few predefined fields, +and a map of `extensions` that can contain custom details about the error. + +You can add your own extensions by implementing the `io.smallrye.graphql.api.ErrorExtensionProvider` interface and +adding your class name to a file `META-INF/services/io.smallrye.graphql.api.ErrorExtensionProvider` (this is a `ServiceLoader`). + +As an example, this class provides an extension named `exception-length` with the length of the simple class name of the exception: + +[source,java] +---- +public class ExceptionLengthErrorExtensionProvider implements ErrorExtensionProvider { + @Override + public String getKey() { + return "exception-length"; + } + + @Override + public JsonNumber mapValueFrom(Throwable exception) { + return Json.createValue(exception.getClass().getSimpleName().length()); + } +} +---- diff --git a/content/docs/smallrye-graphql/1/custom-json-deserializers.adoc b/content/docs/smallrye-graphql/1/custom-json-deserializers.adoc new file mode 100644 index 000000000..902ca3582 --- /dev/null +++ b/content/docs/smallrye-graphql/1/custom-json-deserializers.adoc @@ -0,0 +1,30 @@ += Customizing JSON-B deserializers +include::_attributes.adoc[] + +If your application needs finer-grained control over JSON deserialization than you can achieve via +formatting annotations like `@JsonbDateFormat`, you may plug in your own custom instances of the `Jsonb` class +for each input type that your GraphQL application exposes. + +To do this, you'll need to create an implementation of `io.smallrye.graphql.spi.EventingService` +and implement its `overrideJsonbConfig` method. +An example that plugs in a custom date format for a particular class that is used as input: + +.... +public class CustomJsonbService implements EventingService { + + @Override + public String getConfigKey() { + return null; // activate this service always regardless of the configuration + } + + @Override + public Map overrideJsonbConfig() { + JsonbConfig config = new JsonbConfig().withDateFormat("MM dd yyyy HH:mm Z", null); + return Collections.singletonMap("org.example.model.MyModelClass", JsonbBuilder.create(config)); + } +} +.... + +As the discovery of eventing services uses the ServiceLoader mechanism, don't forget to add a +`META-INF/services/io.smallrye.graphql.spi.EventingService` file that contains the fully qualified +name of your implementation. diff --git a/content/docs/smallrye-graphql/1/directives.adoc b/content/docs/smallrye-graphql/1/directives.adoc new file mode 100644 index 000000000..34b420ca8 --- /dev/null +++ b/content/docs/smallrye-graphql/1/directives.adoc @@ -0,0 +1,45 @@ += Directives +include::_attributes.adoc[] + +== Custom Directives + +You can add your own https://spec.graphql.org/draft/#sec-Language.Directives[GraphQL Directives] by writing +a corresponding Java Annotation and annotate it as `@Directive`, e.g.: + +[source,java] +---- +@Directive(on = { OBJECT, INTERFACE }) +@Description("Just a test") +@Retention(RUNTIME) +public @interface MyDirective { +} +---- + +Directives can be repeatable, see the `@Key` annotation for an example. + +== Directives generated from Bean Validation annotations + +If your project uses Bean Validation to validate fields on input types and operation arguments, and you enable +inclusion of directives in the schema (by setting `smallrye.graphql.schema.includeDirectives=true`), +then constraints decoded from annotations will be added to your schema as directives. This is currently only +supported for some built-in constraints (annotations from the +`javax.validation.constraints` package), and custom constraints aren't supported at all. + +Each bean validation annotation is mapped to a single `@constraint` directive. The directive is declared as repeatable, +so if you have multiple constraints on an input field, the field will contain multiple `@constraint` directives. +The following table describes the mapping between BV annotations and `@constraint` directives (all currently supported +BV annotations are listed here): + +[cols=",",options="header",] +|=== +|BV annotation |GraphQL directive +|`@Size(MIN, MAX)` |`@constraint(minLength=MIN, maxLength=MAX)` +|`@Email` |`@constraint(format='email')` +|`@Max` |`@constraint(max=VALUE)` +|`@Min` |`@constraint(min=VALUE)` +|`@Pattern(REGEXP)` |`@constraint(pattern=REGEXP)` +|=== + +Note: The `@NotNull` annotation does not map to a directive, instead it makes the GraphQL type non-nullable. + +Constraints will only appear on fields of input types and operation arguments. diff --git a/content/docs/smallrye-graphql/1/dynamic-client-error-handling.adoc b/content/docs/smallrye-graphql/1/dynamic-client-error-handling.adoc new file mode 100644 index 000000000..e7a9b5f79 --- /dev/null +++ b/content/docs/smallrye-graphql/1/dynamic-client-error-handling.adoc @@ -0,0 +1,34 @@ += Error handling with dynamic clients +include::_attributes.adoc[] + +== System-level errors + +If the service returns a system-level error (which means the response body doesn't contain +a valid GraphQL response document), the client invocation will (instead of returning a +`io.smallrye.graphql.client.Response`) throw a `io.smallrye.graphql.client.InvalidResponseException` +whose message contains information about the received status code, status message, and body +contents. + +== Application-level errors + +If the service returns one or more application-level errors (which means that +there is valid GraphQL response in the body that has a non-empty `errors` entry), the +client invocation will return a `io.smallrye.graphql.client.Response` as normal, and that object +will contain information about the errors. Errors are represented as `io.smallrye.graphql.client.GraphQLError` +objects and can be inspected after retrieving a list of all errors using `response.getErrors()`. + +____ +++[++NOTE++]++ +An error response is considered application-level regardless of the HTTP status code as long as it +contains a valid GraphQL response. We define a GraphQL response as a well-formed JSON document +that contains at least one of `errors`, `data` and `extensions` entries, and no other entries beyond +that. +____ + +It is also possible to convert a response's errors into a `io.smallrye.graphql.client.GraphQLClientException` +by calling `throwExceptionIfErrors()` - the response has to be cast to `ResponseImpl` for this as of now. +This method will, if there are any errors in the response, convert the errors into a `GraphQLClientException` +and throw it. + +If you need to access the HTTP response code and message pertaining to a response that contained +application-level errors, refer to xref:dynamic-client-usage.adoc#accessing-http-headers-and-response-codes[Accessing HTTP headers and response codes]. diff --git a/content/docs/smallrye-graphql/1/dynamic-client-usage.adoc b/content/docs/smallrye-graphql/1/dynamic-client-usage.adoc new file mode 100644 index 000000000..d166184dd --- /dev/null +++ b/content/docs/smallrye-graphql/1/dynamic-client-usage.adoc @@ -0,0 +1,113 @@ += Dynamic client introduction and basic usage +include::_attributes.adoc[] + +A Java GraphQL client. The main difference from the typesafe client is +that while the typesafe client behaves like a typesafe proxy very +similar to the MicroProfile REST Client, the dynamic client is more like +the JAX-RS client from the `javax.ws.rs.client` package. Instead of +working with model classes directly, the dynamic client focuses on +programmatically working with GraphQL documents representing GraphQL +requests and responses. It still offers the option to convert between +documents and model classes when necessary. + +In the current implementation, Vert.x HTTP client is used for handling +the underlying traffic. + +Creating a client instance + +Generally there are two ways to obtain a client instance. + +First, using CDI injection where the configuration values are defined in system +properties: + +[source,java] +---- +@Inject +@GraphQLClient("superheroes") +DynamicGraphQLClient client; + +// assuming that this system property exists: +// superheroes/mp-graphql/url=https://superheroes.org/graphql +---- + +The above example assumes that configuration for the client is present in system properties. For a full list of +supported configuration properties, see link:/client_configuration[Client configuration reference] + +The other way to build a client is programmatically using a builder: + +[source,java] +---- +DynamicGraphQLClient client = DynamicGraphQLClientBuilder.newBuilder() + .url("https://superheroes.org/graphql") + .build(); +---- + +The usage examples in the following sections will assume using the first approach - injection. + +Basic Usage + +Given the following GraphQL service on the server side: + +[source,java] +---- +@GraphQLApi +class SuperHeroesApi { + @Query + List allHeroesIn(String location) { + // .... + } +} + +class SuperHero { + private String name; + private List superPowers; +} +---- + +Such service can be queried this way: + +[source,java] +---- +include::{examples-dir}/examples/dynamicclient/MyClientUsage.java[] +---- + +* ++<++1++>++ Creating the document representing the request. We used static +imports to make the code easy to read, they all come from the +classes in the `io.smallrye.graphql.client.core` package. +* ++<++2++>++ Executing the request. You can either do that in a blocking way, or +request a `Uni` if you prefer the reactive style. +* ++<++3++>++ Obtaining the resulting list of heroes as a `JsonArray`. +* ++<++4++>++ Obtaining the resulting list of heroes as instances of the model +class. This is optional, you can continue working with the data as a `JsonArray` if you prefer. + +Using plain strings instead of the DSL + +If you don't like the DSL for some reason and want to use plain strings for your queries, these two examples +will serve you: + +[source,java] +---- +include::{examples-dir}/examples/dynamicclient/MyClientUsageString.java[] +---- + +* ++<++1++>++: In this variant, we inline values for query arguments directly into the query string. +* ++<++2++>++: In this variant, argument values are extracted into variables. The `location` argument of the `allHeroesIn` query is +declared to be using the variable `loc` (the variable can also be named `location` same as the argument, if +you prefer). +* ++<++3++>++: Here we create a map that defines the values for each variable. Values of this map are `Object`s, +so you can put in strings, numbers, booleans, or any object that corresponds to a GraphQL type and can be +serialized to JSON. Inserting a `JsonObject` directly is also supported. + +Accessing HTTP headers and response codes + +To access HTTP transport metadata that was passed by the server, you can inspect the `Response` object. + +`Response.getTransportMeta("HEADER-NAME")` returns a `List++<++String++>++` containing (potentially multiple) values of the requested header. + +To get the HTTP status code or status message, these are stored inside the `transportMeta` map too. `ResponseImpl` +contains convenience methods to retrieve them: `ResponseImpl.getStatusCode()` and `ResponseImpl.getStatusMessage()`. +It's also possible to retrieve them directly without casting to `ResponseImpl` by calling +`Integer.valueOf(response.getTransportMeta().get("++<++status-code++>++").get(0))` and + +`response.getTransportMeta().get("++<++status-message++>++").get(0)`. + +HTTP headers, status codes and messages are only available for operations executed over pure HTTP, not via websockets! diff --git a/content/docs/smallrye-graphql/1/extensions.adoc b/content/docs/smallrye-graphql/1/extensions.adoc new file mode 100644 index 000000000..0ebe7dfdf --- /dev/null +++ b/content/docs/smallrye-graphql/1/extensions.adoc @@ -0,0 +1,52 @@ += Adding extensions to GraphQL response +include::_attributes.adoc[] + +*SmallRye GraphQL* allows the user to add their own extensions inside the GraphQL response +which is received from the server. The `extensions` are stored next to the `data` field in the GraphQL response. + +[source,json] +---- +{ + "data": { + "shirt": { + "size": "L" + } + }, + "extensions": { + "country": "Germany", + "pi": 3.1415926535 + } +} +---- + +To add extensions, you need to `@Inject` an instance of `SmallRyeContext` in your `@GraphQLApi` annotated class. +After that, you can add your own extensions via the method `addExtensions` +with its input parameters: `key : String` as an identification of the added extension. +And `value: Object` as a value of the extension. Value can be any given object that can be converted into JsonValue. + +As an example, this class below contains the query `getShirt` and during the http request, the query adds these extensions: +`++{++"country": "Germany", "pi": 3.1415926535}`. +These extensions will be sent back via response in the `extensions` field. + +[source,java] +---- +import javax.inject.Inject; + +@GraphQLApi +public class ShirtResources { + @Inject + SmallRyeContext smallRyeContext; + + @Query + public Shirt getShirt() { + smallRyeContext.addExtensions("country", "Germany"); + smallRyeContext.addExtensions("pi", 3.1415926535); + //... + } +} +---- + +____ +++[++NOTE++]++ +You can also use the method `setAddedExtensions(Map++<++String, Object++>++ addedExtensions)` to set all the extensions with map instance. +____ diff --git a/content/docs/smallrye-graphql/1/federation.adoc b/content/docs/smallrye-graphql/1/federation.adoc new file mode 100644 index 000000000..081a24edc --- /dev/null +++ b/content/docs/smallrye-graphql/1/federation.adoc @@ -0,0 +1,66 @@ += Federation +include::_attributes.adoc[] + +Support for https://www.apollographql.com/docs/federation[GraphQL Federation] is enabled by default. If you add one of the federation annotations, the corresponding directives will be declared to your schema and the additional Federation queries will be added automatically. You can also disable Federation completely by setting the `smallrye.graphql.federation.enabled` config key to `false`. + +You can add the Federation directives by using the equivalent Java annotation, e.g. to extend a `Product` entity with a `price` field, you can write a class: + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.Id; + +import io.smallrye.graphql.api.federation.Extends; +import io.smallrye.graphql.api.federation.Key; + +@Extends @Key(fields = "id") +public class Product { + @Id + private String id; + + @Description("The price in cent") + private Integer price; + + // getters and setters omitted +} +---- + +And a normal query method that takes the `key` fields as a parameter and returns the requested type: + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.GraphQLApi; +import org.eclipse.microprofile.graphql.Id; +import org.eclipse.microprofile.graphql.Query; + +@GraphQLApi +public class Prices { + @Query + public Product product(@Id String id) { + return ... + } +} +---- + +The GraphQL Schema then contains: + +[source,graphql] +---- +type Product @extends @key(fields : "id") { + id: ID + price: Int +} + +union _Entity = Product + +type Query { + _entities(representations: [_Any!]!): [_Entity]! + _service: _Service! + product(id: ID): Product +} +---- + +If you can resolve, e.g., the product with different types of ids, you can add multiple `@Key` annotations. diff --git a/content/docs/smallrye-graphql/1/gradle-plugin.adoc b/content/docs/smallrye-graphql/1/gradle-plugin.adoc new file mode 100644 index 000000000..1cee539ab --- /dev/null +++ b/content/docs/smallrye-graphql/1/gradle-plugin.adoc @@ -0,0 +1,80 @@ += SmallRye GraphQL Gradle plugin +include::_attributes.adoc[] + +This Gradle plugin allows you to generate the GraphQL Schema on build and save it as a text file. + +Add this to your build.gradle: + +.... +plugins { + id 'io.smallrye.graphql' version '1.0.2-SNAPSHOT' +} +.... + +The schema will appear as `build/generated/schema.graphql` by default. + +The plugin’s `generateSchema` task can customized like: + +.... +generateSchema { + destination = null + includeTransitiveDependencies = true + includeScalars = true +} +.... + +This will include the project’s dependencies (including the transitive +dependencies) to scan for GraphQL model classes. As the destination is +set to `null` the generated schema will only be output to the console +and saved to a file. + +In case external dependencies need to be scanned for GraphQL model +classes a more advanced configuration could look like: + +.... +configrations { + graphQLSchema +} + +dependencies { + graphQLSchema .. +} + +generateSchema { + includeDependencies = true + configurations = ["graphQLSchema"] +} +.... + +This defines a separate `graphQLSchema` configuration. In the +dependencies block the external dependencies containing the GraphQL mode +class should then be registered for the `graphQLSchema` configuration. +The `generateSchema` task is then customized to only include +dependencies from the `graphQLSchema` configuration. Also note that we +set `includeDependencies` to `true` (and not +`includeTransitiveDependencies`). This will make sure only direct +dependencies will be be scanned and not possible transitive +dependencies. + +Configuration options + +* `destination` - To override the default +`build/generated/schema.graphql` destination. +* `includeDependencies` - Scan project’s dependencies for GraphQL +model classes too. Default false. +* `includeTransitiveDependencies` - Scan project’s dependencies +(including the transitive dependencies) for GraphQL model classes +too. Default false. +* `configurations` - If the above `includeDependencies` or +`includeTransitiveDependencies` is true, you can control what +configurations should be included. Default is `implementation`. +* `dependencyExtensions` - If the above `includeDependencies` or +`includeTransitiveDependencies` is true, you can control what +dependency extensions should be included. Default is `jar`. +* `includeScalars` - Include scalars in the schema. Default false. +* `includeDirectives` - Include directives in the schema. Default +false. +* `includeSchemaDefinition` - Include the schema definition. Default +false. +* `includeIntrospectionTypes` - Include the introspection types in the +schema. Default false. diff --git a/content/docs/smallrye-graphql/1/images/redhat_reversed.svg b/content/docs/smallrye-graphql/1/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-graphql/1/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-graphql/1/index.adoc b/content/docs/smallrye-graphql/1/index.adoc new file mode 100644 index 000000000..f277286e0 --- /dev/null +++ b/content/docs/smallrye-graphql/1/index.adoc @@ -0,0 +1,6 @@ += Overview +include::_attributes.adoc[] + +SmallRye GraphQL is a library that allows you to easily use GraphQL (both server-side endpoints +and client-side code) in your Java-based projects. It implements +the MicroProfile GraphQL specification. diff --git a/content/docs/smallrye-graphql/1/maven-plugin.adoc b/content/docs/smallrye-graphql/1/maven-plugin.adoc new file mode 100644 index 000000000..b3f175eff --- /dev/null +++ b/content/docs/smallrye-graphql/1/maven-plugin.adoc @@ -0,0 +1,45 @@ += SmallRye GraphQL Maven plugin +include::_attributes.adoc[] + +This Maven plugin allows you to generate the GraphQL Schema on build and save it as a text file. + +Add this to your pom.xml: + +[source,xml] +---- + + smallrye-graphql-maven-plugin + io.smallrye + + + + generate-schema + + + + +---- + +The schema will appear as `target/generated/schema.graphql` by default. The goal is bound to the `process-classes` +build phase. + +Configuration options + +* `destination` - To override the default `target/generated/schema.graphql` destination +* `includeDependencies` - Scan project’s dependencies for GraphQL +model classes too. This is necessary if your GraphQL endpoint exposes +classes that are not in the application's main module. Off (`false`) by default, because +scanning a potentially large dependency tree slows down execution substantially. +Usage of reactive types does not require turning this option on. +* `includeDependenciesScopes` - If the above `includeDependencies` is +true, you can control what scopes should be included. Default is +`compile, system` +* `includeDependenciesTypes` - If the above `includeDependencies` is +true, you can control what types should be included. Default is +`jar` +* `includeScalars` - Include scalars in the schema. Default false. +* `includeDirectives` - Include directives in the schema. Default false. +* `includeSchemaDefinition` - Include the schema definition. Default false. +* `includeIntrospectionTypes` - Include the introspection types in the schema. Default false. +* `typeAutoNameStrategy` - Strategy for transforming class names into GraphQL type names. +Valid values are `MergeInnerClass`, `Full` and`Default`. diff --git a/content/docs/smallrye-graphql/1/server-configuration.adoc b/content/docs/smallrye-graphql/1/server-configuration.adoc new file mode 100644 index 000000000..054c01128 --- /dev/null +++ b/content/docs/smallrye-graphql/1/server-configuration.adoc @@ -0,0 +1,38 @@ += Configuration properties +include::_attributes.adoc[] + +These are properties understood directly by SmallRye GraphQL. If you're using SmallRye GraphQL through +Quarkus, these will generally work, but Quarkus offers its own counterparts for most of these, +and it is recommended to use the `quarkus.++*++` properties. Refer to the Quarkus documentation: +https://quarkus.io/guides/all-config#quarkus-smallrye-graphql_quarkus-smallrye-graphql-smallrye-graphql[Server] and +https://quarkus.io/guides/all-config#quarkus-smallrye-graphql-client_quarkus-smallrye-graphql-client-smallrye-graphql-client[Client] +side Quarkus properties. + +== From MicroProfile GraphQL + +[width="100%",cols="33%,35%,32%",options="header",] +|=== +|Property |Default value |Meaning +|`mp.graphql.defaultErrorMessage` |`Server Error` |Error message for hidden exceptions +|`mp.graphql.hideErrorMessage` |Runtime exceptions |Exceptions that will be hidden +|`mp.graphql.showErrorMessage` |Checked exceptions |Exceptions that will not be hidden. +|=== + +== From SmallRye GraphQL + +[width="100%",cols="33%,35%,32%",options="header",] +|=== +|Property |Default value |Meaning +|`smallrye.graphql.printDataFetcherException` |`false` |Include the stacktrace of the data fetching exception in the log output +|`smallrye.graphql.allowGet` |`false` |Allow HTTP GET Method +|`smallrye.graphql.metrics.enabled` |`false` |Enable metrics +|`smallrye.graphql.tracing.enabled` |`false` |Enable tracing +|`smallrye.graphql.validation.enabled` |`true` if Bean Validation is present |Enable Bean Validation. This property is DEPRECATED, setting to `false` won't actually turn off validation. It will be removed in a future release. +|`smallrye.graphql.events.enabled` |`true` if one of metrics, tracing or bean validation is true |Enable eventing +|`smallrye.graphql.logPayload` |`false` |Log the payload in the log file +|`smallrye.graphql.fieldVisibility` | |To control the field visibility on introspection +|`smallrye.graphql.schema.includeScalars` |`true` |Include Scalar definitions in the schema +|`smallrye.graphql.schema.includeSchemaDefinition` |`false` |Include Schema definition +|`smallrye.graphql.schema.includeDirectives` |`false` |Include directives in the schema +|`smallrye.graphql.schema.includeIntrospectionTypes` |`false` |Include Introspection types in the schema +|=== diff --git a/content/docs/smallrye-graphql/1/typesafe-client-custom-scalars.adoc b/content/docs/smallrye-graphql/1/typesafe-client-custom-scalars.adoc new file mode 100644 index 000000000..c6fbc61ce --- /dev/null +++ b/content/docs/smallrye-graphql/1/typesafe-client-custom-scalars.adoc @@ -0,0 +1,38 @@ += Custom scalar types +include::_attributes.adoc[] + +If the remote service contains custom scalar types represented as strings in GraphQL documents, +a typesafe client can learn to understand these types through introducing a class that represents them. +The class has to contain logic necessary for serializing and deserializing from/to raw strings. + +A model class is considered to represent a scalar GraphQL type if it contains a static builder method +named `of`, `valueOf`, or `parse` whose sole parameter is a `java.lang.String` and it returns an +instance of the class itself. The name of the GraphQL type is assumed to be equal to the short name +of the class. + +For example, if the server supports a `URL` type (there is a `scalar URL` clause in the schema), +create a class that represents a value for `URL`: + +[source,java] +---- +public class URL { + + private String value; + + public URL(String value) { + this.value = value; + } + + public static URL valueOf(String value) { // <1> + return new URL(value); + } + + @Override + public String toString() { // <2> + return value; + } +} +---- + +* ++<++1++>++ The static `valueOf(String)` method will be used for deserializing a `URL` from a string. +* ++<++2++>++ The `toString()` will be used for serializing a `URL` into a string to be sent to the GraphQL service diff --git a/content/docs/smallrye-graphql/1/typesafe-client-error-handling.adoc b/content/docs/smallrye-graphql/1/typesafe-client-error-handling.adoc new file mode 100644 index 000000000..dd8464f37 --- /dev/null +++ b/content/docs/smallrye-graphql/1/typesafe-client-error-handling.adoc @@ -0,0 +1,60 @@ += Error handling in typesafe clients +include::_attributes.adoc[] + +== System-level errors + +If the service returns a system-level error (which means the response body doesn't contain +a valid GraphQL response document), the client invocation will throw a +`io.smallrye.graphql.client.InvalidResponseException` +whose message contains information about the received status code, status message, and body +contents. + +== Application-level errors + +If the service returns one or more application-level errors (which means that +there is valid GraphQL response in the body that has a non-empty `errors` entry), +the client normally throws a `GraphQLClientException` containing the details in a list of +`GraphQLClientError`. + +____ +++[++NOTE++]++ +An error response is considered application-level regardless of the HTTP status code as long as it +contains a valid GraphQL response. We define a GraphQL response as a well-formed JSON document +that contains at least one of `errors`, `data` and `extensions` entries, and no other entries beyond +that. +____ + +If the error is specific to a `location`, you can use an `ErrorOr` +wrapper on the target field; the client the maps the error to that +wrapper instead of throwing an exception. I.e. your `SuperHero` class +could look like this: + +[source,java] +---- +class SuperHero { + String name; + ErrorOr location; +} +---- + +If the service returns a response like this: + +[source,json] +---- +{ + "data": { + "superHero": { + "name": "Wolverine", + "location": null + } + }, + "errors": [{ + "message":"location unknown", + "path": ["superHero","location"], + "extensions":{"code":"location-unknown"} + }] +} +---- + +Then the `SuperHero#location` wrapper field will not contain a `value` +but only the error above. See the `ErrorOr` class for details. diff --git a/content/docs/smallrye-graphql/1/typesafe-client-headers.adoc b/content/docs/smallrye-graphql/1/typesafe-client-headers.adoc new file mode 100644 index 000000000..d3dea2f6c --- /dev/null +++ b/content/docs/smallrye-graphql/1/typesafe-client-headers.adoc @@ -0,0 +1,84 @@ += Adding headers +include::_attributes.adoc[] + +To add a custom header to the http requests sent out by the GraphQL +Client, annotate your method or the API interface as `@Header`, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + @Header(name = "S.H.I.E.L.D.-Clearance", constant = "TOP-SECRET") + List allHeroesIn(String location); +} +---- + +The value can be specified with a `constant` or the name of a `method` for dynamic values, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + @Header(name = "S.H.I.E.L.D.-Clearance", method = "establishShieldClearance") + List allHeroesIn(String location); + + static Clearance establishShieldClearance() { + return userIsInRole(MANAGER) ? TOP_SECRET : PUBLIC; + } +} +---- + +* This example uses an enum, but it can be any Object; the GraphQL client +calls `toString()` to convert it. + +The method must be `static` and accessible by the interface, i.e. in the +interface itself or in one of the classes it’s nested in; if it’s in a +different class, prefix it with the fully qualified class name and a dot +`"."`, e.g. +`@Header(name = "S.H.I.E.L.D.-Clearance", method = "org.superheroes.SecurityTools.establishShieldClearance")`. + +A third option is to pass the value of a header as an API method +parameter: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + List allHeroesIn(String location, @Header(name = "S.H.I.E.L.D.-Clearance") Clearance clearance); +} +---- + +The `@Header` parameter will not be part of the GraphQL query. + +The `name` of the header is always static, but can optionally be derived from the name of the parameter or method, i.e. if it has a `@Name` annotation, that annotation value is used. If it's not annotated, the method name (eventually stripped off a leading `get`) or the parameter name (if it's enabled in the compiler settings) is converted from camel case to kebab case, i.e. a parameter `@Header String requestIdentifier` will result in a header named `Request-Identifier`. + +`@Header` annotations can also be defined via `@Stereotype`. + +When instantiating the API with the builder, you can set (or overwrite) +one or more headers there: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder() + .header("S.H.I.E.L.D.-Clearance", "TOP-SECRET") + .build(SuperHeroesApi.class); +---- + +Authorization headers + +To add an `Authorization` header, instead of using the generic `@Header` +annotation, you can also use the special `@AuthorizationHeader` +annotation. It produces a `BASIC` `Authorization` header by default or a +`BEARER` token. You can configure the credentials in MP Config with a +prefix plus `/mp-graphql/` and either `username` and `password` for +`BASIC` or `bearer` for `BEARER`. The config key defaults to the fully +qualified name of the `GraphQLClientApi` interface or its `configKey`. + +You can use a custom prefix by setting the `confPrefix`. The infix +`/mp-graphql/` is still applied, unless you end the `confPrefix` with +`++*++`, e.g. +`@AuthorizationHeader(confPrefix = "org.superheroes.security.basic.++*++` +will use `org.superheroes.security.basic.username`, while `++*++` will use +plain `username`. + +`@AuthorizationHeader` annotations can be defined via `@Stereotype`. diff --git a/content/docs/smallrye-graphql/1/typesafe-client-logging.adoc b/content/docs/smallrye-graphql/1/typesafe-client-logging.adoc new file mode 100644 index 000000000..dad8dffc9 --- /dev/null +++ b/content/docs/smallrye-graphql/1/typesafe-client-logging.adoc @@ -0,0 +1,7 @@ += Logging in typesafe clients +include::_attributes.adoc[] + +The Client implementation logs all GraphQL requests and responses at +level `INFO` with the interface API as the logger name. It also logs the +keys of all headers added at level `DEBUG`; not the values, as they may +be security sensitive. diff --git a/content/docs/smallrye-graphql/1/typesafe-client-multiple-queries.adoc b/content/docs/smallrye-graphql/1/typesafe-client-multiple-queries.adoc new file mode 100644 index 000000000..80b399f00 --- /dev/null +++ b/content/docs/smallrye-graphql/1/typesafe-client-multiple-queries.adoc @@ -0,0 +1,48 @@ += Multiple +include::_attributes.adoc[] + +Say you need the result from several root queries, e.g. all +`superHeroes` and all `superVillains`. Java only supports a single +return value, so you’ll need a wrapper class: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + HeroesAndVillains heroesAndVillains(); +} + +@Multiple +class HeroesAndVillains { + List superHeroes; + List superVillains; +} +---- + +The `@Multiple` annotation 'inlines' the wrapper class, i.e. the actual +query is: + +[source,graphql] +---- +query heroesAndVillains { superHeroes {...} superVillains {...}} +---- + +The actual response below will be mapped to an instance of the +`HeroesAndVillains` wrapper class: + +[source,json] +---- +{ + "data": { + "superHeroes": [ ... ], + "superVillains": [ ... ] + } +} +---- + +If the nested queries require parameters, use `@` annotations to put +them on the field (remember: GraphQL fields can have parameters). + +If you need the same request several times (e.g. with different query +parameters), use `@Name` annotations, so the actual field names are used +as xref:#_name_mapping_aliases[alias]. diff --git a/content/docs/smallrye-graphql/1/typesafe-client-reactive-types.adoc b/content/docs/smallrye-graphql/1/typesafe-client-reactive-types.adoc new file mode 100644 index 000000000..a1c7b98c1 --- /dev/null +++ b/content/docs/smallrye-graphql/1/typesafe-client-reactive-types.adoc @@ -0,0 +1,48 @@ += Reactive types usage in typesafe clients +include::_attributes.adoc[] + +== Reactive types with queries and mutations + +Regardless of the type that a query or mutation returns, you can always wrap the return type in a `Uni` in your +`@GraphQLClientApi` interface. The `Uni` will be completed after the response is received and processed. + +== Subscriptions + +The return type of a subscription operation must always be wrapped in a `Multi`. +The communication with the server runs over a WebSocket. + +=== Important note about errors + +When using the typesafe client for subscriptions, if it is expected that the server might return errors, +then it is highly recommended to wrap the return types into an `ErrorOr` +(for example, turn the API method `@Subscription Multi++<++Person++>++ people` into `@Subscription Multi++<++ErrorOr++<++Person++>>++ people`). +The reason is once there is an error returned from the service and the result can't be turned into a domain object due to that, +the `Multi` will receive a failure as a result. Because of the design of Mutiny, a `Multi` can't continue producing any items after +a failure. That means the subscription will be cancelled after the first error, even though the server might continue +sending more items. In such case, your application would have to detect the error and start a new subscription. +See xref:typesafe-client-error-handling.adoc[Error handling] for more details on how to use `ErrorOr`. + +=== Subscription example + +Given a server-side definition like this: + +[source,java] +---- +@Subscription +public Multi countToFive() { + return Multi.createFrom().range(0, 5); +} +---- + +A client to consume this subscription can look like this: + +[source,java] +---- +client.countToFive + .subscribe() + .with( // onItem: + i -> System.out.println("Received number" + i), + // onFailure: + (t) -> t.printStackTrace() + ); +---- diff --git a/content/docs/smallrye-graphql/1/typesafe-client-usage.adoc b/content/docs/smallrye-graphql/1/typesafe-client-usage.adoc new file mode 100644 index 000000000..175949bc8 --- /dev/null +++ b/content/docs/smallrye-graphql/1/typesafe-client-usage.adoc @@ -0,0 +1,153 @@ += Basic usage +include::_attributes.adoc[] + +A Java code-first type-safe GraphQL Client API suggestion for +https://github.com/eclipse/microprofile-graphql/issues/185[Microprofile GraphQL Issue +#185]. + +Basic Usage + +Creating the client-side counterpart of the GraphQL API: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/SuperHeroesApi.java[] +---- + +A model class: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/SuperHero.java[] +---- + +Injecting the client using CDI and using it: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/MyClientUsage.java[] +---- + +* The default request type is `query`. To make it a mutation, annotate +it `@Mutation`. The parameter name is only available if you compile +the source with the `-parameters` option. Otherwise, you’ll have to +annotate all parameters with `@Name`. + +The example above uses CDI, e.g. when you are in a MicroProfile or +Jakarta EE environment. If you are in an environment without CDI +support, you need to instantiate the API interface by using the builder: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder().build(SuperHeroesApi.class); +---- + +The basic idea of the Java code-first approach is that you start by +writing the DTOs and query/mutation methods as you need them in your +client. This ensures that you don’t request fields that you don’t need; +the thinking is inspired by https://martinfowler.com/articles/consumerDrivenContracts.html[Consumer Driven +Contracts]. + +If the server uses names different from yours, you can simply use +annotations to do a mapping: + +Name Mapping / Aliases + +If the server defines a different field or parameter name, annotate it +with `@Name`. If the server defines a different query name, annotate the +method as, e.g., `@Query("findHeroesCurrentlyLocatedIn")`. + +By renaming methods, you can also define several variations of the same +request but using different return types or parameters. E.g.: + +[source,java] +---- +public interface SuperHeroesApi { + SuperHero findHeroByName(String name); + + @Query("findHeroByName") + SuperHeroWithTeams findHeroWithTeamsByName(String name); +} +---- + +* The `SuperHero` class has no team affiliations (for this example). +* The `SuperHeroWithTeams` class has a `List++<++Team++>++ teamAffiliations` +field. The actual query name is still `findHeroByName`. The `Team` +class doesn’t contain the members to break recursion. + +If you rename a field or method, the real field or method name will be +used as an alias, so you can select the same data twice (see `and` +below). + +Configuration + +If the endpoint is always the same, e.g. a public API of a cloud +service, you can add the URL to your API annotation, e.g.: + +[source,java] +---- +@GraphQLClientApi(endpoint = "https://superheroes.org/graphql") +interface SuperHeroesApi { +} +---- + +When instantiating the API with the builder, you can set (or overwrite) +the endpoint there: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder() + .endpoint("https://superheroes.org/graphql") + .build(SuperHeroesApi.class); +---- + +Commonly you’ll need different endpoints, e.g. when you need one +endpoint for your production system, but a different endpoint for your +test system. Simply use https://download.eclipse.org/microprofile/microprofile-config-1.4/microprofile-config-spec.html[MicroProfile +Config] +to set the endpoint; similar to the https://download.eclipse.org/microprofile/microprofile-rest-client-1.4.1/microprofile-rest-client-1.4.1.html[MicroProfile Rest +Client], +the key for the endpoint is the fully qualified name of the api +interface, plus `/mp-graphql/url`, e.g.: + +[source,properties] +---- +org.superheroes.SuperHeroesApi/mp-graphql/url=https://superheroes.org/graphql +---- + +If you want to use a different key, set the base config key on the +annotation `@GraphQLClientApi(configKey = "superheroes")`; then use this +key for the endpoint `superheroes/mp-graphql/url`. + +When using the builder, you can override the config key as well: +`TypesafeGraphQLClientBuilder.newBuilder().configKey("superheroes")`. + +NestedParameter + +Some APIs require parameters beyond the root level, e.g. for filtering +or paginating nested lists. Say you have a schema like this: + +[source,graphql] +---- +type Query { + team(name: String!): Team! +} + +type Team { + members(first: Int!): [SuperHero!]! +} +---- + +To pass the parameter to the nested field/method, annotate it as +`@NestedParameter`, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface TeamsApi { + Team team(String name, @NestedParameter("members") int first); +} +---- + +The value of the `@NestedParameter` annotation is the dot-delimited path +to the nested field/method that the value should be added to. diff --git a/content/docs/smallrye-graphql/1/using-smallrye-stork.adoc b/content/docs/smallrye-graphql/1/using-smallrye-stork.adoc new file mode 100644 index 000000000..46064219c --- /dev/null +++ b/content/docs/smallrye-graphql/1/using-smallrye-stork.adoc @@ -0,0 +1,53 @@ += Using SmallRye Stork +include::_attributes.adoc[] + +SmallRye GraphQL client (both dynamic and typesafe) supports SmallRye Stork for +service discovery and load balancing. If your client is configured to connect to a URI +with the `stork://` or `storks://` scheme, then Stork will be used to determine the +actual endpoints to connect to. Load balancing, if configured, will be applied in a way that +each HTTP request can be routed to a different service instance. For WebSocket traffic, +once a WebSocket connection is established, the client will keep using that connection +for as long as possible. If that connection is lost for any reason and needs to be +reestablished, then the load balancer can route it to a different instance. + +== Using with Quarkus + +The dependency on Stork is declared as optional, so if you want to use it, you might need +to add it explicitly. If you're using Quarkus, use the Stork extension along with +the desired service discovery implementation, for example: + +.... + + io.quarkus + quarkus-smallrye-stork + + + io.smallrye.stork + smallrye-stork-service-discovery-static-list + +.... + +Example configuration in Quarkus `application.properties`: + +.... +quarkus.smallrye-graphql-client.myclient.url=stork://foo-service/graphql +quarkus.stork.foo-service.service-discovery.type=static +quarkus.stork.foo-service.service-discovery.address-list=server1.com:8080,server2.com:8080 +.... + +== When running as a standalone application + +If you're using the client in a standalone mode outside any container that handles +Stork initialization for you, you might need two additional steps to get it working: + +Add a configuration provider for Stork, such as + +.... + + io.smallrye.stork + stork-microprofile-config + +.... + +And before initializing any GraphQL client instances, make sure that Stork is initialized +by calling `io.smallrye.stork.Stork.initialize()` once. diff --git a/content/docs/smallrye-graphql/2/_attributes.adoc b/content/docs/smallrye-graphql/2/_attributes.adoc new file mode 100644 index 000000000..40c49b10d --- /dev/null +++ b/content/docs/smallrye-graphql/2/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 2.18.5 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye GraphQL +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 2.18.5 +:relfileprefix: /docs/smallrye-graphql/2/ +:imagesdir: /docs/smallrye-graphql/2 +:docs-project: smallrye-graphql +:docs-version: 2 +:docs-ref: 2.18.5 diff --git a/content/docs/smallrye-graphql/2/_examples/examples/dynamicclient/MyClientUsage.java b/content/docs/smallrye-graphql/2/_examples/examples/dynamicclient/MyClientUsage.java new file mode 100644 index 000000000..f0d731ca8 --- /dev/null +++ b/content/docs/smallrye-graphql/2/_examples/examples/dynamicclient/MyClientUsage.java @@ -0,0 +1,37 @@ +package examples.dynamicclient; + +import examples.typesafeclient.SuperHero; +import io.smallrye.graphql.client.GraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.core.Document; +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; + +import jakarta.inject.Inject; +import jakarta.json.JsonArray; +import java.util.List; +import java.util.concurrent.ExecutionException; + +import static io.smallrye.graphql.client.core.Argument.arg; +import static io.smallrye.graphql.client.core.Argument.args; +import static io.smallrye.graphql.client.core.Document.document; +import static io.smallrye.graphql.client.core.Field.field; +import static io.smallrye.graphql.client.core.Operation.operation; + +public class MyClientUsage { + + @Inject + @GraphQLClient("superHeroes") + DynamicGraphQLClient client; + + public void execute() throws ExecutionException, InterruptedException { + Document document = document( // <1> + operation(field("allHeroesIn", + args(arg("location", "Outer Space")), + field("name"), + field("superPowers")))); + Response response = client.executeSync(document); // <2> + + JsonArray heroesArray = response.getData().getJsonArray("allHeroesIn"); // <3> + List heroes = response.getList(SuperHero.class, "allHeroesIn"); // <4> + } +} diff --git a/content/docs/smallrye-graphql/2/_examples/examples/dynamicclient/MyClientUsageString.java b/content/docs/smallrye-graphql/2/_examples/examples/dynamicclient/MyClientUsageString.java new file mode 100644 index 000000000..c761d64b1 --- /dev/null +++ b/content/docs/smallrye-graphql/2/_examples/examples/dynamicclient/MyClientUsageString.java @@ -0,0 +1,39 @@ +package examples.dynamicclient; + +import io.smallrye.graphql.client.GraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; + +import jakarta.inject.Inject; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ExecutionException; + +public class MyClientUsageString { + + @Inject + @GraphQLClient("superheroes") + DynamicGraphQLClient client; + + public void execute() throws ExecutionException, InterruptedException { + String queryWithInlineVariables = // <1> + "query {" + + " allHeroesIn(location: \"Outer Space\") {" + + " name" + + " superPowers" + + " }" + + "}"; + Response response = client.executeSync(queryWithInlineVariables); + + String queryWithExtractedVariables = // <2> + "query($loc: String) {" + + " allHeroesIn(location: $loc) {" + + " name" + + " superPowers" + + " }" + + "}"; + Map variables = new HashMap<>(); // <3> + variables.put("loc", "Outer Space"); + Response response2 = client.executeSync(queryWithExtractedVariables, variables); + } +} diff --git a/content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/MyClientUsage.java b/content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/MyClientUsage.java new file mode 100644 index 000000000..be521d196 --- /dev/null +++ b/content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/MyClientUsage.java @@ -0,0 +1,16 @@ +package examples.typesafeclient; + +import jakarta.inject.Inject; +import java.util.List; + +public class MyClientUsage { + + @Inject + SuperHeroesApi superHeroesApi; + + public void execute() { + List allHeroes = superHeroesApi.allHeroesIn("Outer Space"); + // ... + } + +} diff --git a/content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/SuperHero.java b/content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/SuperHero.java new file mode 100644 index 000000000..7c19a1119 --- /dev/null +++ b/content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/SuperHero.java @@ -0,0 +1,12 @@ +package examples.typesafeclient; + +import java.util.List; + +public class SuperHero { + + private String name; + private List superPowers; + + // plus getters and setters + +} diff --git a/content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/SuperHeroesApi.java b/content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/SuperHeroesApi.java new file mode 100644 index 000000000..0fae71966 --- /dev/null +++ b/content/docs/smallrye-graphql/2/_examples/examples/typesafeclient/SuperHeroesApi.java @@ -0,0 +1,12 @@ +package examples.typesafeclient; + +import io.smallrye.graphql.client.typesafe.api.GraphQLClientApi; + +import java.util.List; + +@GraphQLClientApi +public interface SuperHeroesApi { + + List allHeroesIn(String location); + +} diff --git a/content/docs/smallrye-graphql/2/_nav.yml b/content/docs/smallrye-graphql/2/_nav.yml new file mode 100644 index 000000000..69ee5af0b --- /dev/null +++ b/content/docs/smallrye-graphql/2/_nav.yml @@ -0,0 +1,74 @@ +title: SmallRye GraphQL +nav: +- title: Overview + page: index +- title: Server side features + items: + - title: Customizing JSON (de)serializers + page: custom-json-serializers-deserializers + - title: Directives + page: directives + - title: Federation + page: federation + - title: Custom error extensions + page: custom-error-extensions + - title: Response extensions + page: extensions + - title: Returning Void from Mutations + page: mutation-void + - title: Handling of the WebSocket's init-payload + page: handling-init-payload-from-the-websocket + - title: Custom scalars + page: custom-scalar + - title: Inspecting executable directives + page: inspecting-executable-directives-on-server-side + - title: Namespaces + page: namespaces-on-server-side + - title: Kotlin support + page: kotlin +- title: Typesafe client + items: + - title: Basic usage + page: typesafe-client-usage + - title: Unions and Interfaces + page: typesafe-client-unions-and-interfaces + - title: Reactive + page: typesafe-client-reactive-types + - title: Custom scalar types + page: typesafe-client-custom-scalars + - title: Adding headers + page: typesafe-client-headers + - title: Logging + page: typesafe-client-logging + - title: Running multiple queries at once + page: typesafe-client-multiple-queries + - title: Error handling + page: typesafe-client-error-handling + - title: Accessing metadata of responses + page: typesafe-client-accessing-metadata-of-responses + - title: Static Directives + page: typesafe-client-directives +- title: Dynamic client + items: + - title: Basic usage + page: dynamic-client-usage + - title: Error handling + page: dynamic-client-error-handling +- title: Clients in general + items: + - title: Bootstrapping the client + page: client-standalone + - title: Using SmallRye Stork + page: using-smallrye-stork +- title: Developer tools + items: + - title: Maven plugin + page: maven-plugin + - title: Gradle plugin + page: gradle-plugin +- title: Reference material + items: + - title: Server-side configuration + page: server-configuration + - title: Client-side configuration + page: client-configuration diff --git a/content/docs/smallrye-graphql/2/client-configuration.adoc b/content/docs/smallrye-graphql/2/client-configuration.adoc new file mode 100644 index 000000000..7da22fddd --- /dev/null +++ b/content/docs/smallrye-graphql/2/client-configuration.adoc @@ -0,0 +1,28 @@ += Client-side configuration properties +include::_attributes.adoc[] + +Note: if you are using Quarkus, it is recommended to use the `quarkus.++*++` property counterparts instead. +See https://quarkus.io/guides/all-config#quarkus-smallrye-graphql-client_quarkus-smallrye-graphql-client-smallrye-graphql-client[Quarkus Documentation] for more info. + +[width="100%",cols="18%,10%,72%",options="header",] +|=== +|Property |Default value |Meaning +|`CLIENT++_++NAME/mp-graphql/url` |none |Denotes URL to connect to +|`CLIENT++_++NAME/mp-graphql/header/KEY` |none |Adds a HTTP header named `KEY` to all HTTP requests performed by the client +|`CLIENT++_++NAME/mp-graphql/subprotocols` |`graphql-ws,graphql-transport-ws` |Comma-separated list of websocket subprotocols supported by this client. We currently support `graphql-ws` and `graphql-transport-ws`. If multiple subprotocols are provided, choosing the actual subprotocol will be subject to negotiation with the server. +|`CLIENT++_++NAME/mp-graphql/keystore` |none |Path to client's keystore (for example `file:/path/to/keystore` or `classpath:path/to/keystore`) +|`CLIENT++_++NAME/mp-graphql/keystoreType` |`JKS` |Keystore type +|`CLIENT++_++NAME/mp-graphql/keystorePassword` |none |Keystore password +|`CLIENT++_++NAME/mp-graphql/truststore` |none |Path to client's truststore (for example `file:/path/to/truststore` or `classpath:path/to/truststore`) +|`CLIENT++_++NAME/mp-graphql/truststoreType` |`JKS` |Truststore type +|`CLIENT++_++NAME/mp-graphql/truststorePassword` |none |Truststore password +|`CLIENT++_++NAME/mp-graphql/proxyHost` |none |Hostname of the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyPort` |none |Port of the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyUsername` |none |Username for the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyPassword` |none |Password for the proxy to use +|`CLIENT++_++NAME/mp-graphql/maxRedirects` |16 |Max number of redirects to follow. Set to 0 to disable redirects. +|`CLIENT++_++NAME/mp-graphql/websocketInitializationTimeout` |none |Maximum time in milliseconds that will be allowed to wait for the server to acknowledge a websocket connection. +|`CLIENT++_++NAME/mp-graphql/runSingleOperationsOverWebsocket` |`false` |If true, then queries and mutations will run over the websocket transport rather than pure HTTP. Off by default, because it has higher overhead. +|`CLIENT++_++NAME/mp-graphql/initPayload/KEY` |none |Adds a property named `KEY` to the `connection++_++init` message payload when negotiating a websocket connection. All values will be treated as string. For other types instatiate the API with the builder. +|`CLIENT++_++NAME/mp-graphql/allowUnexpectedResponseFields` |`false` |If true and there is an unexpected field in the response payload, it won't throw an error, and it will log a warning message. +|=== diff --git a/content/docs/smallrye-graphql/2/client-standalone.adoc b/content/docs/smallrye-graphql/2/client-standalone.adoc new file mode 100644 index 000000000..e991a36b2 --- /dev/null +++ b/content/docs/smallrye-graphql/2/client-standalone.adoc @@ -0,0 +1,76 @@ += Bootstraping GraphQL clients +include::_attributes.adoc[] + +In general, it is recommended to use SmallRye GraphQL client through the +https://quarkus.io/guides/smallrye-graphql-client[Quarkus extension], +or the https://github.com/wildfly-extras/wildfly-graphql-feature-pack/wiki/GraphQL-client-guide[WildFly feature pack], +each of them having their own documentation about how to set up dependencies and bootstrap a client. +It is however also possible to use SmallRye GraphQL Client in a standalone application outside any container. +The single dependency that you need is `io.smallrye:smallrye-graphql-client-implementation-vertx`, as the +Vert.x based implementation is currently the only supported one. + +If you're using the client as a script and notice that the JVM doesn't exit even after you close the client instance, +it's probably because the client is maintaining a `Vertx` instance that it created automatically. To solve this +issue, you might need to create a `Vertx` instance on your own, pass it to the client builder, and then close it after +closing the client. See the following JBang snippet for an example. + +== Logging with a standalone (Java SE) application using the SmallRye GraphQL Client + +If you want to properly configure logging in a standalone application, you +will also need to add a logging implementation to the classpath. The client +code uses the JBoss Logging facade, so you can, for example, use the JBoss +Logmanager. Add the `org.jboss.logmanager:jboss-logmanager` dependency to +your project(it needs to be on the runtime classpath). You will also need to +run the application with this system property declared: +`-Djava.util.logging.manager=org.jboss.logmanager.LogManager`. + +To customize logging levels etc, it picks up the `logging.properties` file +from the root of the runtime classpath, so, for example if using Maven and +the exec plugin to start the application, you would place the file into +`src/main/resources/logging.properties`. For an example of the contents of +this file, see +https://github.com/jamezp/jboss-logging-example/blob/master/src/main/resources/logging.properties. + +== Using with JBang + +This is a full script runnable directly with https://www.jbang.dev/[JBang] that +uses a dynamic client for connecting to https://countries.trevorblades.com[countries.trevorblades.com] +to obtain a list of countries from its database. + +[source,java] +---- +///usr/bin/env jbang "$0" "$@" ; exit $? +//DEPS io.smallrye:smallrye-graphql-client-implementation-vertx:RELEASE + +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.vertx.dynamic.VertxDynamicGraphQLClientBuilder; + +import io.vertx.core.Vertx; + +// Has a multiline string literal, requires Java 15+! +class Client { + public static void main(String... args) throws Exception { + Vertx vertx = Vertx.vertx(); + DynamicGraphQLClient client = new VertxDynamicGraphQLClientBuilder() + .url("https://countries.trevorblades.com") + .vertx(vertx) + .build(); + try { + Response response = client.executeSync(""" + query { + countries { + name + } + } + """); + System.out.println(response); + } finally { + client.close(); + vertx.close(); + } + } +} +---- + +Save this file as `Client.java` and execute with `jbang Client.java`. diff --git a/content/docs/smallrye-graphql/2/custom-error-extensions.adoc b/content/docs/smallrye-graphql/2/custom-error-extensions.adoc new file mode 100644 index 000000000..82aa86e5b --- /dev/null +++ b/content/docs/smallrye-graphql/2/custom-error-extensions.adoc @@ -0,0 +1,44 @@ += GraphQL Error Extensions +include::_attributes.adoc[] + +Exceptions are reported in GraphQL in the `errors` array, next to the `data` field, so it's possible to return partial results, e.g.: + +[source,json] +---- +{ + "data": { + "superHero": { + "name": "Wolverine", + "location": null + } + }, + "errors": [{ + "message":"location unknown", + "path": ["superHero","location"], + "extensions":{"code":"location-unknown"} + }] +} +---- + +The `location` field couldn't be returned, and in the `errors`, there's the reason with a few predefined fields, +and a map of `extensions` that can contain custom details about the error. + +You can add your own extensions by implementing the `io.smallrye.graphql.api.ErrorExtensionProvider` interface and +adding your class name to a file `META-INF/services/io.smallrye.graphql.api.ErrorExtensionProvider` (this is a `ServiceLoader`). + +As an example, this class provides an extension named `exception-length` with the length of the simple class name of the exception: + +[source,java] +---- +public class ExceptionLengthErrorExtensionProvider implements ErrorExtensionProvider { + @Override + public String getKey() { + return "exception-length"; + } + + @Override + public JsonNumber mapValueFrom(Throwable exception) { + return Json.createValue(exception.getClass().getSimpleName().length()); + } +} +---- diff --git a/content/docs/smallrye-graphql/2/custom-json-serializers-deserializers.adoc b/content/docs/smallrye-graphql/2/custom-json-serializers-deserializers.adoc new file mode 100644 index 000000000..70d87f6b6 --- /dev/null +++ b/content/docs/smallrye-graphql/2/custom-json-serializers-deserializers.adoc @@ -0,0 +1,36 @@ += Customizing JSON-B serializers/deserializers +include::_attributes.adoc[] + +If your application needs finer-grained control over JSON serialization/deserialization than you can achieve via +formatting annotations like `@JsonbDateFormat`, you may plug in your own custom instances of the `Jsonb` class +for each input type that your GraphQL application exposes. + +To do this, you'll need to create an implementation of `io.smallrye.graphql.spi.EventingService` +and implement its `overrideJsonbConfig` method. +An example that plugs in a custom date format for a particular class that is used as input: + +.... +package org.acme.custom.json.config; + +public class CustomJsonbService implements EventingService { + + @Override + public String getConfigKey() { + return null; // activate this service always regardless of the configuration + } + + @Override + public Map overrideJsonbConfig() { + JsonbConfig config = new JsonbConfig().withDateFormat("MM dd yyyy HH:mm Z", null).withDeserializers(OBJECTID_DESERIALIZER).withSerializers( + OBJECTID_SERIALIZER); + return Collections.singletonMap("MyModelClass.class.getName()", JsonbBuilder.create(config)); + } +} +.... + +We can customize the JsonbConfig as per our need in above example we have registered additional serializer and date formatting for the class MyModelClass. + +As the discovery of eventing services uses the ServiceLoader mechanism, don't forget to add a +`META-INF/services/io.smallrye.graphql.spi.EventingService` file that contains the fully qualified +name of your implementation. +Example `org.acme.custom.json.config.CustomJsonbService` diff --git a/content/docs/smallrye-graphql/2/custom-scalar.adoc b/content/docs/smallrye-graphql/2/custom-scalar.adoc new file mode 100644 index 000000000..27be60b11 --- /dev/null +++ b/content/docs/smallrye-graphql/2/custom-scalar.adoc @@ -0,0 +1,36 @@ += Creating GraphQL Custom Scalars with SmallRye GraphQL +include::_attributes.adoc[] + +While by default *MicroProfile GraphQL* specification doesn't provide direct support for creating +custom scalars for GraphQL literal types of String, Int and Float, *SmallRye GraphQL* has implemented +this feature based on user feedback. To implement a *custom scalar* with *SmallRye GraphQL*, +you can annotate your custom scalar class with `@CustomScalar` in addition to following the pattern below +of including a public constructor that takes one of `String`++|++`BigDecimal`++|++`BigInteger` depending on +the scalar type: + +[source,java] +---- + @CustomScalar("BigDecimalString") + public class BigDecimalString implements CustomStringScalar { + public BigDecimalString(String stringValue) { + ... + } + @Override + public String stringValueForSerialization() { + ... + } +} +---- + +In this example, `BigDecimalString` implements the `CustomStringScalar` which is used to identify the +proper (de) serialization for BigDecimalString. `BigDecimalString` also provides a single argument +constructor which takes a String. Finally, `BigDecimalString` implements +`stringValueForSerialization()` which provides the String representation to be used during +serialization. + +____ +++[++NOTE++]++ +If the user wants to create a literal for GraphQL Int or Float, they would implement either +CustomIntScalar with the intValueForSerialization method or CustomFloatScalar with the +floatValueForSerialization method respectively. +____ diff --git a/content/docs/smallrye-graphql/2/directives.adoc b/content/docs/smallrye-graphql/2/directives.adoc new file mode 100644 index 000000000..34b420ca8 --- /dev/null +++ b/content/docs/smallrye-graphql/2/directives.adoc @@ -0,0 +1,45 @@ += Directives +include::_attributes.adoc[] + +== Custom Directives + +You can add your own https://spec.graphql.org/draft/#sec-Language.Directives[GraphQL Directives] by writing +a corresponding Java Annotation and annotate it as `@Directive`, e.g.: + +[source,java] +---- +@Directive(on = { OBJECT, INTERFACE }) +@Description("Just a test") +@Retention(RUNTIME) +public @interface MyDirective { +} +---- + +Directives can be repeatable, see the `@Key` annotation for an example. + +== Directives generated from Bean Validation annotations + +If your project uses Bean Validation to validate fields on input types and operation arguments, and you enable +inclusion of directives in the schema (by setting `smallrye.graphql.schema.includeDirectives=true`), +then constraints decoded from annotations will be added to your schema as directives. This is currently only +supported for some built-in constraints (annotations from the +`javax.validation.constraints` package), and custom constraints aren't supported at all. + +Each bean validation annotation is mapped to a single `@constraint` directive. The directive is declared as repeatable, +so if you have multiple constraints on an input field, the field will contain multiple `@constraint` directives. +The following table describes the mapping between BV annotations and `@constraint` directives (all currently supported +BV annotations are listed here): + +[cols=",",options="header",] +|=== +|BV annotation |GraphQL directive +|`@Size(MIN, MAX)` |`@constraint(minLength=MIN, maxLength=MAX)` +|`@Email` |`@constraint(format='email')` +|`@Max` |`@constraint(max=VALUE)` +|`@Min` |`@constraint(min=VALUE)` +|`@Pattern(REGEXP)` |`@constraint(pattern=REGEXP)` +|=== + +Note: The `@NotNull` annotation does not map to a directive, instead it makes the GraphQL type non-nullable. + +Constraints will only appear on fields of input types and operation arguments. diff --git a/content/docs/smallrye-graphql/2/dynamic-client-error-handling.adoc b/content/docs/smallrye-graphql/2/dynamic-client-error-handling.adoc new file mode 100644 index 000000000..e7a9b5f79 --- /dev/null +++ b/content/docs/smallrye-graphql/2/dynamic-client-error-handling.adoc @@ -0,0 +1,34 @@ += Error handling with dynamic clients +include::_attributes.adoc[] + +== System-level errors + +If the service returns a system-level error (which means the response body doesn't contain +a valid GraphQL response document), the client invocation will (instead of returning a +`io.smallrye.graphql.client.Response`) throw a `io.smallrye.graphql.client.InvalidResponseException` +whose message contains information about the received status code, status message, and body +contents. + +== Application-level errors + +If the service returns one or more application-level errors (which means that +there is valid GraphQL response in the body that has a non-empty `errors` entry), the +client invocation will return a `io.smallrye.graphql.client.Response` as normal, and that object +will contain information about the errors. Errors are represented as `io.smallrye.graphql.client.GraphQLError` +objects and can be inspected after retrieving a list of all errors using `response.getErrors()`. + +____ +++[++NOTE++]++ +An error response is considered application-level regardless of the HTTP status code as long as it +contains a valid GraphQL response. We define a GraphQL response as a well-formed JSON document +that contains at least one of `errors`, `data` and `extensions` entries, and no other entries beyond +that. +____ + +It is also possible to convert a response's errors into a `io.smallrye.graphql.client.GraphQLClientException` +by calling `throwExceptionIfErrors()` - the response has to be cast to `ResponseImpl` for this as of now. +This method will, if there are any errors in the response, convert the errors into a `GraphQLClientException` +and throw it. + +If you need to access the HTTP response code and message pertaining to a response that contained +application-level errors, refer to xref:dynamic-client-usage.adoc#accessing-http-headers-and-response-codes[Accessing HTTP headers and response codes]. diff --git a/content/docs/smallrye-graphql/2/dynamic-client-usage.adoc b/content/docs/smallrye-graphql/2/dynamic-client-usage.adoc new file mode 100644 index 000000000..26832e7d1 --- /dev/null +++ b/content/docs/smallrye-graphql/2/dynamic-client-usage.adoc @@ -0,0 +1,136 @@ += Dynamic client introduction and basic usage +include::_attributes.adoc[] + +A Java GraphQL client. The main difference from the typesafe client is +that while the typesafe client behaves like a typesafe proxy very +similar to the MicroProfile REST Client, the dynamic client is more like +the JAX-RS client from the `jakarta.ws.rs.client` package. Instead of +working with model classes directly, the dynamic client focuses on +programmatically working with GraphQL documents representing GraphQL +requests and responses. It still offers the option to convert between +documents and model classes when necessary. + +In the current implementation, Vert.x HTTP client is used for handling +the underlying traffic. + +Creating a client instance + +Generally there are two ways to obtain a client instance. + +First, using CDI injection where the configuration values are defined in system +properties: + +[source,java] +---- +@Inject +@GraphQLClient("superheroes") +DynamicGraphQLClient client; + +// assuming that this system property exists: +// superheroes/mp-graphql/url=https://superheroes.org/graphql +---- + +The above example assumes that configuration for the client is present in system properties. For a full list of +supported configuration properties, see xref:client-configuration.adoc[Client configuration reference] + +The other way to build a client is programmatically using a builder: + +[source,java] +---- +DynamicGraphQLClient client = DynamicGraphQLClientBuilder.newBuilder() + .url("https://superheroes.org/graphql") + .build(); +---- + +The usage examples in the following sections will assume using the first approach - injection. + +Basic Usage + +Given the following GraphQL service on the server side: + +[source,java] +---- +@GraphQLApi +class SuperHeroesApi { + @Query + List allHeroesIn(String location) { + // .... + } +} + +class SuperHero { + private String name; + private List superPowers; +} +---- + +Such service can be queried this way: + +[source,java] +---- +include::{examples-dir}/examples/dynamicclient/MyClientUsage.java[] +---- + +* ++<++1++>++ Creating the document representing the request. We used static +imports to make the code easy to read, they all come from the +classes in the `io.smallrye.graphql.client.core` package. +* ++<++2++>++ Executing the request. You can either do that in a blocking way, or +request a `Uni` if you prefer the reactive style. +* ++<++3++>++ Obtaining the resulting list of heroes as a `JsonArray`. +* ++<++4++>++ Obtaining the resulting list of heroes as instances of the model +class. This is optional, you can continue working with the data as a `JsonArray` if you prefer. + +Using plain strings instead of the DSL + +If you don't like the DSL for some reason and want to use plain strings for your queries, these two examples +will serve you: + +[source,java] +---- +include::{examples-dir}/examples/dynamicclient/MyClientUsageString.java[] +---- + +* ++<++1++>++: In this variant, we inline values for query arguments directly into the query string. +* ++<++2++>++: In this variant, argument values are extracted into variables. The `location` argument of the `allHeroesIn` query is +declared to be using the variable `loc` (the variable can also be named `location` same as the argument, if +you prefer). +* ++<++3++>++: Here we create a map that defines the values for each variable. Values of this map are `Object`s, +so you can put in strings, numbers, booleans, or any object that corresponds to a GraphQL type and can be +serialized to JSON. Inserting a `JsonObject` directly is also supported. + +Accessing HTTP headers and response codes + +To access HTTP transport metadata that was passed by the server, you can inspect the `Response` object. + +`Response.getTransportMeta("HEADER-NAME")` returns a `List++<++String++>++` containing (potentially multiple) values of the requested header. + +To get the HTTP status code or status message, these are stored inside the `transportMeta` map too. `ResponseImpl` +contains convenience methods to retrieve them: `ResponseImpl.getStatusCode()` and `ResponseImpl.getStatusMessage()`. +It's also possible to retrieve them directly without casting to `ResponseImpl` by calling +`Integer.valueOf(response.getTransportMeta().get("++<++status-code++>++").get(0))` and + +`response.getTransportMeta().get("++<++status-message++>++").get(0)`. + +HTTP headers, status codes and messages are only available for operations executed over pure HTTP, not via websockets! + +Sending extensions to the server + +The GraphQL over HTTP specification allows clients to send an `extensions` map alongside the query. To do this +with the dynamic client, build a `Request` using the `RequestImpl.builder` and pass it to `executeSync` or +`executeAsync`: + +[source,java] +---- +Map extensions = Map.of("myKey", "myValue", "number", 42); + +Request request = RequestImpl.builder("{ myQuery }") + .variables(variables) // optional + .operationName("MyOperation") // optional + .extensions(extensions) + .build(); + +Response response = client.executeSync(request); +---- + +On the server side, the extensions sent by the client can be read from `SmallRyeContext.getExtensionsFromClient()`. +This is separate from `SmallRyeContext.getAddedExtensions()`, which is used for adding extensions to the +outgoing response. diff --git a/content/docs/smallrye-graphql/2/extensions.adoc b/content/docs/smallrye-graphql/2/extensions.adoc new file mode 100644 index 000000000..bad6a5991 --- /dev/null +++ b/content/docs/smallrye-graphql/2/extensions.adoc @@ -0,0 +1,86 @@ += Extensions in SmallRye GraphQL +include::_attributes.adoc[] + +`SmallRyeContext` provides two separate extension mechanisms: + +* *Outbound extensions* (`addedExtensions`) — extensions added by the server and sent back to the client in the response. +* *Inbound extensions* (`extensionsFromClient`) — extensions received from the client as part of the incoming request. + +== Adding extensions to the response + +*SmallRye GraphQL* allows the user to add their own extensions inside the GraphQL response +which is received from the server. The `extensions` are stored next to the `data` field in the GraphQL response. + +[source,json] +---- +{ + "data": { + "shirt": { + "size": "L" + } + }, + "extensions": { + "country": "Germany", + "pi": 3.1415926535 + } +} +---- + +To add extensions, you need to `@Inject` an instance of `SmallRyeContext` in your `@GraphQLApi` annotated class. +After that, you can add your own extensions via the method `addExtension` +with its input parameters: `key : String` as an identification of the added extension, +and `value: Object` as a value of the extension. Value can be any given object that can be converted into JsonValue. + +As an example, this class below contains the query `getShirt` and during the http request, the query adds these extensions: +`++{++"country": "Germany", "pi": 3.1415926535}`. +These extensions will be sent back via response in the `extensions` field. + +[source,java] +---- +import jakarta.inject.Inject; + +@GraphQLApi +public class ShirtResources { + @Inject + SmallRyeContext smallRyeContext; + + @Query + public Shirt getShirt() { + smallRyeContext.addExtension("country", "Germany"); + smallRyeContext.addExtension("pi", 3.1415926535); + //... + } +} +---- + +____ +++[++NOTE++]++ +You can also use `getAddedExtensions()` to access the underlying map directly. +____ + +== Reading extensions from the client request + +Clients can send an `extensions` map alongside the query (as defined by the GraphQL over HTTP specification). +On the server side, these can be read via `SmallRyeContext.getExtensionsFromClient()`, which returns a +`Map++<++String, Object++>++` (or `null` if the client did not send any extensions). + +[source,java] +---- +import jakarta.inject.Inject; + +@GraphQLApi +public class MyApi { + @Inject + SmallRyeContext smallRyeContext; + + @Query + public String process() { + Map clientExtensions = smallRyeContext.getExtensionsFromClient(); + if (clientExtensions != null) { + String traceId = (String) clientExtensions.get("traceId"); + // ... + } + //... + } +} +---- diff --git a/content/docs/smallrye-graphql/2/federation.adoc b/content/docs/smallrye-graphql/2/federation.adoc new file mode 100644 index 000000000..827f544eb --- /dev/null +++ b/content/docs/smallrye-graphql/2/federation.adoc @@ -0,0 +1,213 @@ += Federation +include::_attributes.adoc[] + +Support for https://www.apollographql.com/docs/federation[GraphQL Federation] is enabled by default. If you add one of the federation annotations, the corresponding directives will be declared in your schema, and the additional Federation queries will be added automatically. You can also disable Federation completely by setting the `smallrye.graphql.federation.enabled` config key to `false`. + +You can add the Federation directives by using the equivalent Java annotation, e.g. to extend a `Product` entity with a `price` field, you can write a class: + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.Id; + +import io.smallrye.graphql.api.federation.Extends; +import io.smallrye.graphql.api.federation.Key; + +@Extends @Key(fields = @FieldSet("id")) +public class Product { + @Id + private String id; + + @Description("The price in cent") + private Integer price; + + // getters and setters omitted +} +---- + +And a normal query method that takes the `key` fields as a parameter and returns the requested type: + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.GraphQLApi; +import org.eclipse.microprofile.graphql.Id; +import org.eclipse.microprofile.graphql.Query; + +@GraphQLApi +public class Prices { + @Query + public Product product(@Id String id) { + return [...] + } +} +---- + +The GraphQL Schema then contains: + +[source,graphql] +---- +type Product @extends @key(fields : "id") { + id: ID + price: Int +} + +union _Entity = Product + +type Query { + _entities(representations: [_Any!]!): [_Entity]! + _service: _Service! + product(id: ID): Product +} +---- + +If you can resolve, e.g., the product with different types of ids, you can add multiple `@Key` annotations. +## Federation Batch Resolver + +For better performance, there is the option to use batch resolvers with federation. This is not activated by default. It can be activated by setting `smallrye.graphql.federation.batchResolving.enabled` config key to `true`. + +It is unnecessary to provide batch resolvers for all entities, if there is no batch resolver, a non-batch resolver is used. + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.GraphQLApi; +import org.eclipse.microprofile.graphql.Id; +import org.eclipse.microprofile.graphql.Query; + +@GraphQLApi +public class Prices { + @Query + public List product(@Id List id) { + return [...] + } +} +---- + +It is crucial that the sequence of the argument list matches the order of the result list. Currently, the name of the Argument `id` must match with the property name in the type. + +== Federation Reference Resolver + +In federation, you may also want to extend the external type by some fields without publishing queries into the schema. You can do it by using the annotation `@Resolver`. + +[source,java] +---- +@Extends +@Key(fields = @FieldSet("upc")) +public final class Product { + @External + @NonNull + private String upc; + @External + private Integer weight; + @External + private Integer price; + private Boolean inStock; + @Requires(fields = @FieldSet("price weight")) + private Integer shippingPrice; +} + +@GraphQLApi +public class Api { + @Query // 0 query, that will be added into schema + public Product findByUPC(String upc) { + return new Product(upc , ...etc); + } + + @Resolver // 1 You dont receive external fields price weight here, just key + public Product resolveByUPC(String upc) { + return new Product(upc , ...etc); + } + + @Resolver // 2 The order of variables doesn't matter + public Product resolveByUPCForShipping(int price, String upc, @Name("weight") int someWeight) { + return new Product(upc , someWeight, price, (price * someWeight) /*calculate shippingPrice */, ...etc); + } + + @Resolver // 3 + public Product resolveByUPCForSource(int price, String upc) { + return new Product(upc, price, ...etc); + } + + @Requires(fields = @FieldSet("price")) + public int anotherWeight(@Source Product product) { + return product.price() * 2; + } +} +---- + +Generates the following schema: + +.... +type Product @extends @key(fields : "upc") { + anotherWeight: Int! @requires(fields : "price") + inStock: Boolean + price: Int @external + shippingPrice: Int @requires(fields : "price weight") + upc: String! @external + weight: Int @external +} + +type Query { + _entities(representations: [_Any!]!): [_Entity]! + _service: _Service! +} +.... + +These methods will only be available to the federation router, which may send requests like the following examples: + +.... +// request 1 +query { + _entities(representations: [{ + "__typename": "Product", + "upc": "1" // just id key + }]) { + __typename + ... on Product { + inStock + } + } +} + +// request 2 +query { + _entities(representations: [{ + "__typename": "Product", + "upc": "1", // id key + "price": 100, // shippingPrice requires this field + "weight": 100 // shippingPrice requires this field + }]) { + __typename + ... on Product { + inStock + shippingPrice + } + } +} + +// request 3 +query { + _entities(representations: [{ + "__typename": "Product", + "upc": "2", + "price": 1299 // anotherWeight requires this field + } + ]) { + __typename + ... on Product { + anotherWeight + } + } +} +.... + +Unfortunately, you must make separate methods with different `@External` parameters. + +It is not currently possible to combine them into one separate type. + +You also can use `@Query` (if you want to add queries into the schema) or `@Resolver` (requests 0 and 1). +And if it was requested, `++_++entities` - `@Resolvers` methods are checked first (they have higher priority). diff --git a/content/docs/smallrye-graphql/2/gradle-plugin.adoc b/content/docs/smallrye-graphql/2/gradle-plugin.adoc new file mode 100644 index 000000000..843bf33df --- /dev/null +++ b/content/docs/smallrye-graphql/2/gradle-plugin.adoc @@ -0,0 +1,84 @@ += SmallRye GraphQL Gradle plugin +include::_attributes.adoc[] + +This Gradle plugin allows you to generate the GraphQL Schema on build and save it as a text file. + +Add this to your build.gradle: + +.... +plugins { + id 'io.smallrye.graphql' version 'PLUGIN_VERSION' +} +.... + +The list of existing plugin versions (to substitute the +`PLUGIN++_++VERSION` placeholder) can be found +https://plugins.gradle.org/plugin/io.smallrye.graphql[here]. + +The schema will appear as `build/generated/schema.graphql` by default. + +The plugin’s `generateSchema` task can customized like: + +.... +generateSchema { + destination = null + includeTransitiveDependencies = true + includeScalars = true +} +.... + +This will include the project’s dependencies (including the transitive +dependencies) to scan for GraphQL model classes. As the destination is +set to `null` the generated schema will only be output to the console +and saved to a file. + +In case external dependencies need to be scanned for GraphQL model +classes a more advanced configuration could look like: + +.... +configrations { + graphQLSchema +} + +dependencies { + graphQLSchema .. +} + +generateSchema { + includeDependencies = true + configurations = ["graphQLSchema"] +} +.... + +This defines a separate `graphQLSchema` configuration. In the +dependencies block the external dependencies containing the GraphQL mode +class should then be registered for the `graphQLSchema` configuration. +The `generateSchema` task is then customized to only include +dependencies from the `graphQLSchema` configuration. Also note that we +set `includeDependencies` to `true` (and not +`includeTransitiveDependencies`). This will make sure only direct +dependencies will be be scanned and not possible transitive +dependencies. + +Configuration options + +* `destination` - To override the default +`build/generated/schema.graphql` destination. +* `includeDependencies` - Scan project’s dependencies for GraphQL +model classes too. Default false. +* `includeTransitiveDependencies` - Scan project’s dependencies +(including the transitive dependencies) for GraphQL model classes +too. Default false. +* `configurations` - If the above `includeDependencies` or +`includeTransitiveDependencies` is true, you can control what +configurations should be included. Default is `implementation`. +* `dependencyExtensions` - If the above `includeDependencies` or +`includeTransitiveDependencies` is true, you can control what +dependency extensions should be included. Default is `jar`. +* `includeScalars` - Include scalars in the schema. Default false. +* `includeDirectives` - Include directives in the schema. Default +false. +* `includeSchemaDefinition` - Include the schema definition. Default +false. +* `includeIntrospectionTypes` - Include the introspection types in the +schema. Default false. diff --git a/content/docs/smallrye-graphql/2/handling-init-payload-from-the-websocket.adoc b/content/docs/smallrye-graphql/2/handling-init-payload-from-the-websocket.adoc new file mode 100644 index 000000000..a691d6802 --- /dev/null +++ b/content/docs/smallrye-graphql/2/handling-init-payload-from-the-websocket.adoc @@ -0,0 +1,25 @@ += Handling of the WebSocket's init-payload +include::_attributes.adoc[] + +When executing GraphQL operations over WebSockets (both with the `graphql-ws` and `graphql-transport-ws` protocols), +the client can send an initial payload +to the server when establishing the WebSocket connection. This payload can contain +any information that the server might need to process GraphQL requests, like client agent identification (similar to the `User-Agent` header) or data specific to the client. On the server-side, you can access this payload +via the `GraphQLContext`, which is available through the `DataFetchingEnvironment` object. + +[source,java] +---- +@GraphQLApi +public class HeroResources { + + @Inject + SmallryeContext context; + + // ... + Map initPayload = smallRyeContext + .getDataFetchingEnvironment() + .getGraphQlContext() + .get("init-payload"); + // ... +} +---- diff --git a/content/docs/smallrye-graphql/2/images/redhat_reversed.svg b/content/docs/smallrye-graphql/2/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-graphql/2/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-graphql/2/index.adoc b/content/docs/smallrye-graphql/2/index.adoc new file mode 100644 index 000000000..f277286e0 --- /dev/null +++ b/content/docs/smallrye-graphql/2/index.adoc @@ -0,0 +1,6 @@ += Overview +include::_attributes.adoc[] + +SmallRye GraphQL is a library that allows you to easily use GraphQL (both server-side endpoints +and client-side code) in your Java-based projects. It implements +the MicroProfile GraphQL specification. diff --git a/content/docs/smallrye-graphql/2/inspecting-executable-directives-on-server-side.adoc b/content/docs/smallrye-graphql/2/inspecting-executable-directives-on-server-side.adoc new file mode 100644 index 000000000..cd37d1852 --- /dev/null +++ b/content/docs/smallrye-graphql/2/inspecting-executable-directives-on-server-side.adoc @@ -0,0 +1,39 @@ += Inspecting executable directives on the server side +include::_attributes.adoc[] + +Let's say you have this _GraphQL query_ with an executable directive on a field _location_. + +.... +{ + hero(name: $nameValue) { + name + location @customDirective(arg: true) + } +} +.... + +To inspect your directive on the server side, you must inject a `SmallRyeContext` object and get the relevant information like this. + +[source,java] +---- + @Inject + SmallRyeContext context; + + @Query + public SuperHero getHero(String name) { + // ... + SelectionSet selectionSet = (SelectionSet) context.getDataFetchingEnvironment().getField().getChildren().get(0); + Optional locationNode = selectionSet.getChildren().stream() + .filter(node -> node instanceof Field && ((Field) node).getName().equals("location")).findAny(); // "location" is the field name where the directive is applied. + locationNode.ifPresent(node -> { + List directives = ((Field) node).getDirectives(); + System.out.println(directives); + }); + // the rest of the query... + } +---- + +____ +++[++NOTE++]++ +that `Field` refers to `graphql.language.Field`, not `io.smallrye.graphql.schema.model.Field` +____ diff --git a/content/docs/smallrye-graphql/2/kotlin.adoc b/content/docs/smallrye-graphql/2/kotlin.adoc new file mode 100644 index 000000000..b6ccf535d --- /dev/null +++ b/content/docs/smallrye-graphql/2/kotlin.adoc @@ -0,0 +1,4 @@ += SmallRye Graphql in Kotlin +include::_attributes.adoc[] + +When working with SmallRye GraphQL in Kotlin, it is very important to use the `-Xemit-jvm-type-annotations` flag for the Kotlin compiler. This flag is important to generate the necessary annotations for reflection to work properly. The flag is supported as of Kotlin 1.3.70. diff --git a/content/docs/smallrye-graphql/2/maven-plugin.adoc b/content/docs/smallrye-graphql/2/maven-plugin.adoc new file mode 100644 index 000000000..959ef8596 --- /dev/null +++ b/content/docs/smallrye-graphql/2/maven-plugin.adoc @@ -0,0 +1,48 @@ += SmallRye GraphQL Maven plugin +include::_attributes.adoc[] + +This Maven plugin allows you to generate the GraphQL Schema on build and save it as a text file. + +Add this to your pom.xml: + +[source,xml] +---- + + smallrye-graphql-maven-plugin + io.smallrye + + + + generate-schema + + + + +---- + +The schema will appear as `target/generated/schema.graphql` by default. The goal is bound to the `process-classes` +build phase. + +Configuration options + +* `destination` - To override the default `target/generated/schema.graphql` destination +* `includeDependencies` - Scan project’s dependencies for GraphQL +model classes too. This is necessary if your GraphQL endpoint exposes +classes that are not in the application's main module. Off (`false`) by default, because +scanning a potentially large dependency tree slows down execution substantially. +Usage of reactive types does not require turning this option on. +* `includeDependenciesScopes` - If the above `includeDependencies` is +true, you can control what scopes should be included. Default is +`compile, system` +* `includeDependenciesTypes` - If the above `includeDependencies` is +true, you can control what types should be included. Default is +`jar` +* `includeScalars` - Include scalars in the schema. Default false. +* `includeDirectives` - Include directives in the schema. Default false. +* `includeSchemaDefinition` - Include the schema definition. Default false. +* `includeIntrospectionTypes` - Include the introspection types in the schema. Default false. +* `federationEnabled` - Enable GraphQL Federation. This is automatically +enabled if any Federation-related annotations are found in your application, otherwise the default is false. +You should generally use this in conjunction with `includeDirectives`. +* `typeAutoNameStrategy` - Strategy for transforming class names into GraphQL type names. +Valid values are `MergeInnerClass`, `Full` and`Default`. diff --git a/content/docs/smallrye-graphql/2/mutation-void.adoc b/content/docs/smallrye-graphql/2/mutation-void.adoc new file mode 100644 index 000000000..4fc047e25 --- /dev/null +++ b/content/docs/smallrye-graphql/2/mutation-void.adoc @@ -0,0 +1,24 @@ += Returning Void Type in Mutations with SmallRye GraphQL +include::_attributes.adoc[] + +While by default *MicroProfile GraphQL* specification doesn't provide direct support for returning `void` type from mutation operations, *SmallRye GraphQL* has implemented this feature based on user feedback. + +To implement a *mutation* operation that returns `void` or `Void` type, you can use the following pattern in your annotated `@GraphQLApi` class: + +[source,java] +---- + @Mutation + public void createHero(SuperHero hero) { + superHeroService.create(hero); + } +---- + +In this example, `createHero()` receives a SuperHero object as input, +performs some operation with it (in this case, creating it using a +`superHeroService`). + +____ +++[++NOTE++]++ +On the GraphQL level, this is achieved by returning a special scalar type named Void from the mutation. +This scalar type will always have a value of null. +____ diff --git a/content/docs/smallrye-graphql/2/namespaces-on-server-side.adoc b/content/docs/smallrye-graphql/2/namespaces-on-server-side.adoc new file mode 100644 index 000000000..896ad6537 --- /dev/null +++ b/content/docs/smallrye-graphql/2/namespaces-on-server-side.adoc @@ -0,0 +1,167 @@ += Namespacing on the server side +include::_attributes.adoc[] + +____ +++[++NOTE++]++ +Using approaches to form namespaces in the schema can be useful for large APIs. There are several ways to do this. +However, read the documentation carefully, especially the limitations and possible problems. +____ + +____ +++[++NOTE++]++ You can only use one of the annotations - `@Name` or `@Namespace` over the GraphQLApi classes. +____ + +== Using @Namespace annotation + +The annotation accepts an array of strings containing the nesting of the namespace. +This method allows you to create any nesting of namespaces. +You can use any nesting and also combine different levels. + +[source,java] +---- +@GraphQLApi +@Namespace({"admin", "users"}) +@Description("Admin users operations") +public class AdminUsersApi { + @Query + public List findAll() { + // + } +} + +@GraphQLApi +@Namespace({"admin"}) +@Description("Admin operations") +public class AdminApi { + @Query + public List findAll() { + // + } +} +---- + +Will generate schema + +.... +"Query root" +type Query { + admin: AdminQuery +} + +"Admin operations" +type AdminQuery { + users: AdminUsersQuery + findAll: [Admin] +} + +"Admin users operations" +type AdminUsersQuery { + findAll: [User] +} + +type Admin { + id: BigInteger + ... +} + +type User { + id: BigInteger + ... +} +.... + +And you can send GraphQL request like: + +.... +query { + admin { + users { + findAll { + id + } + } + } +} +.... + +== Using @Name annotation (deprecated) + +____ +++[++NOTE++]++ This feature may be removed in the future. +____ + +It does the same thing as `@Namespace`, the only difference is that there can only be one nesting level. + +[source,java] +---- +@GraphQLApi +@Name("users") +@Description("Users operations") +public class UserApi { + @Query + public List findAll() { + // + } +} +---- + +As a result, you can get methods with the same names. + +.... +query { + users { + findAll { + .... + } + } +} +.... + +== Problems + +While dividing APIs into namespaces may seem convenient, several issues are important to be aware of. + +=== Mutations + +On the client side, be careful when working with mutations. +This violates the GraphQL specification since mutations in this form can be executed in parallel. +Read more here about namespaces https://www.apollographql.com/docs/technotes/TN0012-namespacing-by-separation-of-concern/[Namespacing by Separation of Concerns]. +This article describes how to work with namespaces, what problems you may encounter, and how to solve them. + +What does GraphQL say about this - https://benjie.dev/graphql/nested-mutations["GraphQL" Nested Mutations] + +In summary, you can use nested mutations, but with some overhead on the client side. Be careful with mutations. + +==== Subscriptions + +GraphQL does not guarantee subscription resolution within namespaces. +While you can define subscriptions in namespaces, the generated schema will be valid, but the subscription will not be resolved. +For example, if you try to run such a subscription request, you will get an error. This is the behavior of `graphql-java`. + +[source,java] +---- +@GraphQLApi +@Namepace("resource") +public class ResourceApi { + @Subscription + public Multi resourceChange() { + // + } +} +---- + +.... +subscription { + resource { + resourceChange { + .... + } + } +} +.... + +There is currently no way around this problem. +You must move subscriptions into a separate `@GraphQLApi` class that does not declare any namespace. +++>++ ++[++NOTE++]++ +++>++ Be very careful when designing API with namespace. +++>++ And be aware of all the potential consequences when working with mutations and subscriptions. diff --git a/content/docs/smallrye-graphql/2/server-configuration.adoc b/content/docs/smallrye-graphql/2/server-configuration.adoc new file mode 100644 index 000000000..054c01128 --- /dev/null +++ b/content/docs/smallrye-graphql/2/server-configuration.adoc @@ -0,0 +1,38 @@ += Configuration properties +include::_attributes.adoc[] + +These are properties understood directly by SmallRye GraphQL. If you're using SmallRye GraphQL through +Quarkus, these will generally work, but Quarkus offers its own counterparts for most of these, +and it is recommended to use the `quarkus.++*++` properties. Refer to the Quarkus documentation: +https://quarkus.io/guides/all-config#quarkus-smallrye-graphql_quarkus-smallrye-graphql-smallrye-graphql[Server] and +https://quarkus.io/guides/all-config#quarkus-smallrye-graphql-client_quarkus-smallrye-graphql-client-smallrye-graphql-client[Client] +side Quarkus properties. + +== From MicroProfile GraphQL + +[width="100%",cols="33%,35%,32%",options="header",] +|=== +|Property |Default value |Meaning +|`mp.graphql.defaultErrorMessage` |`Server Error` |Error message for hidden exceptions +|`mp.graphql.hideErrorMessage` |Runtime exceptions |Exceptions that will be hidden +|`mp.graphql.showErrorMessage` |Checked exceptions |Exceptions that will not be hidden. +|=== + +== From SmallRye GraphQL + +[width="100%",cols="33%,35%,32%",options="header",] +|=== +|Property |Default value |Meaning +|`smallrye.graphql.printDataFetcherException` |`false` |Include the stacktrace of the data fetching exception in the log output +|`smallrye.graphql.allowGet` |`false` |Allow HTTP GET Method +|`smallrye.graphql.metrics.enabled` |`false` |Enable metrics +|`smallrye.graphql.tracing.enabled` |`false` |Enable tracing +|`smallrye.graphql.validation.enabled` |`true` if Bean Validation is present |Enable Bean Validation. This property is DEPRECATED, setting to `false` won't actually turn off validation. It will be removed in a future release. +|`smallrye.graphql.events.enabled` |`true` if one of metrics, tracing or bean validation is true |Enable eventing +|`smallrye.graphql.logPayload` |`false` |Log the payload in the log file +|`smallrye.graphql.fieldVisibility` | |To control the field visibility on introspection +|`smallrye.graphql.schema.includeScalars` |`true` |Include Scalar definitions in the schema +|`smallrye.graphql.schema.includeSchemaDefinition` |`false` |Include Schema definition +|`smallrye.graphql.schema.includeDirectives` |`false` |Include directives in the schema +|`smallrye.graphql.schema.includeIntrospectionTypes` |`false` |Include Introspection types in the schema +|=== diff --git a/content/docs/smallrye-graphql/2/typesafe-client-accessing-metadata-of-responses.adoc b/content/docs/smallrye-graphql/2/typesafe-client-accessing-metadata-of-responses.adoc new file mode 100644 index 000000000..cb9875c8d --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-accessing-metadata-of-responses.adoc @@ -0,0 +1,81 @@ += Accessing Metadata of GraphQL Responses with TypesafeResponse +include::_attributes.adoc[] + +The TypesafeResponse class provides a wrapper around the "data" +field of GraphQL responses, along with additional metadata such as errors, +extensions, and transport metadata. Here are the methods you can use to access each type of metadata: + +== Transport metadata + +use `getTransportMeta()` method to retrieve a map of transport metadata associated with the response. +++>++ ++[++NOTE++]++ +++>++ Note that the transport metadata referred to in the context of HTTP requests +++>++ and responses is commonly found in the headers of the communication. +++>++ Therefore, the getTransportMeta() method mentioned here can be used to +++>++ retrieve a map of HTTP headers. +### Extensions +use `getExtensions()` method to retrieve a JsonObject of response extensions. +The method returns a JSON object that represents the response extensions. + +=== Data + +use `get()` method to retrieve the data object. The method returns the data +object if it exists and there are no errors. If there are errors, +it throws a NoSuchElementException with the error message. + +=== Errors + +use `getErrors()` method to retrieve a list of GraphQL errors. +The method returns a list of errors if there are errors and no data object. +If there is a data object, it throws a NoSuchElementException with the error message. + +____ +++[++NOTE++]++ +Note that the get() method assumes that the response has a data object, +and will throw an exception if there are errors without a data object. +If you want to check for errors before retrieving the data object, +use the hasErrors() method, which returns true if there are errors and false otherwise. +____ + +You can use these methods to access and process the metadata of GraphQL +responses returned by the TypesafeResponse class. + +Let's say you want to get as a client extensions from the GraphQL response. +First of all you will need to modify your `GraphQLClientApi` interface to have +your return type class (in this case `SuperHero`) wrapped with +`TypesafeResponse` class. +I.e. your `GraphQLClientApi` interface could look like this: + +[source,java] +---- +import examples.typesafeclient.SuperHero; +import io.smallrye.graphql.client.typesafe.api.TypesafeResponse; + +@GraphQLClientApi +public interface SuperHeroApi { + // ... + TypesafeResponse findSuperHeroByName(String name); + // ... +} +---- + +____ +++[++NOTE++]++ +Note that you can have `TypesafeResponse++<++T++>++` only as a result (return) type of your query. +Unlike `ErrorOr` the class cannot wrap individual fields. +If that is the case `IllegalArgumentException` will be thrown. +____ + +And now to get `extensions` from the response your code will look like something like this: + +[source,java] +---- + @Inject + SuperHeroApi client; + + TypesafeResponse superheroResponse = client.findSuperHeroByName("Batman"); + // returns the "data" field + SuperHero superhero = superhero.get(); + // returns the "extensions" field + JsonObject extensions = superhero.getExtensions(); +---- diff --git a/content/docs/smallrye-graphql/2/typesafe-client-custom-scalars.adoc b/content/docs/smallrye-graphql/2/typesafe-client-custom-scalars.adoc new file mode 100644 index 000000000..c6fbc61ce --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-custom-scalars.adoc @@ -0,0 +1,38 @@ += Custom scalar types +include::_attributes.adoc[] + +If the remote service contains custom scalar types represented as strings in GraphQL documents, +a typesafe client can learn to understand these types through introducing a class that represents them. +The class has to contain logic necessary for serializing and deserializing from/to raw strings. + +A model class is considered to represent a scalar GraphQL type if it contains a static builder method +named `of`, `valueOf`, or `parse` whose sole parameter is a `java.lang.String` and it returns an +instance of the class itself. The name of the GraphQL type is assumed to be equal to the short name +of the class. + +For example, if the server supports a `URL` type (there is a `scalar URL` clause in the schema), +create a class that represents a value for `URL`: + +[source,java] +---- +public class URL { + + private String value; + + public URL(String value) { + this.value = value; + } + + public static URL valueOf(String value) { // <1> + return new URL(value); + } + + @Override + public String toString() { // <2> + return value; + } +} +---- + +* ++<++1++>++ The static `valueOf(String)` method will be used for deserializing a `URL` from a string. +* ++<++2++>++ The `toString()` will be used for serializing a `URL` into a string to be sent to the GraphQL service diff --git a/content/docs/smallrye-graphql/2/typesafe-client-directives.adoc b/content/docs/smallrye-graphql/2/typesafe-client-directives.adoc new file mode 100644 index 000000000..046e90feb --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-directives.adoc @@ -0,0 +1,53 @@ += Typesafe Client Static Directives +include::_attributes.adoc[] + +== Custom Static Directives + +The declaration of custom static directives for the typesafe client follows the same principles as the server-side xref:directives.adoc[directives]. With only exception of using the https://spec.graphql.org/draft/#ExecutableDirectiveLocation[Executable Directive Locations] instead of Type System Directive Locations. + +[source,java] +---- +@Directive(on = { FIELD, VARIABLE_DEFINITION }) +@Retention(RUNTIME) +public @interface MyDirective { + String value() default ""; +} +---- + +Applying this to your API should look like this: + +[source,java] +---- +import io.smallrye.graphql.client.typesafe.api.GraphQLClientApi; + +@GraphQLClientApi +public @interface MyClientApi { + + @Query + @MyDirective("top-level field") + MySuperHero getMySuperHero(@MyDirective("variable definition") String nameOfMySuperHero); + + class MySuperHero { + @MyDirective("field") + String name; + } +} +---- + +Your API is going to generate a query something like this: + +.... +query mySuperHero( + $nameOfMySuperHero: String @myDirective(value: "variable definition") +) { + mySuperHero(nameOfMySuperHero: $nameOfMySuperHero) + @myDirective(value: "top-level field") { + name @myDirective(value: "field") + } +} +.... + +____ +++[++NOTE++]++ +The current implementation supports only FIELD and VARIABLE++_++DEFINITION locations. +____ diff --git a/content/docs/smallrye-graphql/2/typesafe-client-error-handling.adoc b/content/docs/smallrye-graphql/2/typesafe-client-error-handling.adoc new file mode 100644 index 000000000..dd8464f37 --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-error-handling.adoc @@ -0,0 +1,60 @@ += Error handling in typesafe clients +include::_attributes.adoc[] + +== System-level errors + +If the service returns a system-level error (which means the response body doesn't contain +a valid GraphQL response document), the client invocation will throw a +`io.smallrye.graphql.client.InvalidResponseException` +whose message contains information about the received status code, status message, and body +contents. + +== Application-level errors + +If the service returns one or more application-level errors (which means that +there is valid GraphQL response in the body that has a non-empty `errors` entry), +the client normally throws a `GraphQLClientException` containing the details in a list of +`GraphQLClientError`. + +____ +++[++NOTE++]++ +An error response is considered application-level regardless of the HTTP status code as long as it +contains a valid GraphQL response. We define a GraphQL response as a well-formed JSON document +that contains at least one of `errors`, `data` and `extensions` entries, and no other entries beyond +that. +____ + +If the error is specific to a `location`, you can use an `ErrorOr` +wrapper on the target field; the client the maps the error to that +wrapper instead of throwing an exception. I.e. your `SuperHero` class +could look like this: + +[source,java] +---- +class SuperHero { + String name; + ErrorOr location; +} +---- + +If the service returns a response like this: + +[source,json] +---- +{ + "data": { + "superHero": { + "name": "Wolverine", + "location": null + } + }, + "errors": [{ + "message":"location unknown", + "path": ["superHero","location"], + "extensions":{"code":"location-unknown"} + }] +} +---- + +Then the `SuperHero#location` wrapper field will not contain a `value` +but only the error above. See the `ErrorOr` class for details. diff --git a/content/docs/smallrye-graphql/2/typesafe-client-headers.adoc b/content/docs/smallrye-graphql/2/typesafe-client-headers.adoc new file mode 100644 index 000000000..d3dea2f6c --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-headers.adoc @@ -0,0 +1,84 @@ += Adding headers +include::_attributes.adoc[] + +To add a custom header to the http requests sent out by the GraphQL +Client, annotate your method or the API interface as `@Header`, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + @Header(name = "S.H.I.E.L.D.-Clearance", constant = "TOP-SECRET") + List allHeroesIn(String location); +} +---- + +The value can be specified with a `constant` or the name of a `method` for dynamic values, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + @Header(name = "S.H.I.E.L.D.-Clearance", method = "establishShieldClearance") + List allHeroesIn(String location); + + static Clearance establishShieldClearance() { + return userIsInRole(MANAGER) ? TOP_SECRET : PUBLIC; + } +} +---- + +* This example uses an enum, but it can be any Object; the GraphQL client +calls `toString()` to convert it. + +The method must be `static` and accessible by the interface, i.e. in the +interface itself or in one of the classes it’s nested in; if it’s in a +different class, prefix it with the fully qualified class name and a dot +`"."`, e.g. +`@Header(name = "S.H.I.E.L.D.-Clearance", method = "org.superheroes.SecurityTools.establishShieldClearance")`. + +A third option is to pass the value of a header as an API method +parameter: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + List allHeroesIn(String location, @Header(name = "S.H.I.E.L.D.-Clearance") Clearance clearance); +} +---- + +The `@Header` parameter will not be part of the GraphQL query. + +The `name` of the header is always static, but can optionally be derived from the name of the parameter or method, i.e. if it has a `@Name` annotation, that annotation value is used. If it's not annotated, the method name (eventually stripped off a leading `get`) or the parameter name (if it's enabled in the compiler settings) is converted from camel case to kebab case, i.e. a parameter `@Header String requestIdentifier` will result in a header named `Request-Identifier`. + +`@Header` annotations can also be defined via `@Stereotype`. + +When instantiating the API with the builder, you can set (or overwrite) +one or more headers there: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder() + .header("S.H.I.E.L.D.-Clearance", "TOP-SECRET") + .build(SuperHeroesApi.class); +---- + +Authorization headers + +To add an `Authorization` header, instead of using the generic `@Header` +annotation, you can also use the special `@AuthorizationHeader` +annotation. It produces a `BASIC` `Authorization` header by default or a +`BEARER` token. You can configure the credentials in MP Config with a +prefix plus `/mp-graphql/` and either `username` and `password` for +`BASIC` or `bearer` for `BEARER`. The config key defaults to the fully +qualified name of the `GraphQLClientApi` interface or its `configKey`. + +You can use a custom prefix by setting the `confPrefix`. The infix +`/mp-graphql/` is still applied, unless you end the `confPrefix` with +`++*++`, e.g. +`@AuthorizationHeader(confPrefix = "org.superheroes.security.basic.++*++` +will use `org.superheroes.security.basic.username`, while `++*++` will use +plain `username`. + +`@AuthorizationHeader` annotations can be defined via `@Stereotype`. diff --git a/content/docs/smallrye-graphql/2/typesafe-client-logging.adoc b/content/docs/smallrye-graphql/2/typesafe-client-logging.adoc new file mode 100644 index 000000000..dad8dffc9 --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-logging.adoc @@ -0,0 +1,7 @@ += Logging in typesafe clients +include::_attributes.adoc[] + +The Client implementation logs all GraphQL requests and responses at +level `INFO` with the interface API as the logger name. It also logs the +keys of all headers added at level `DEBUG`; not the values, as they may +be security sensitive. diff --git a/content/docs/smallrye-graphql/2/typesafe-client-multiple-queries.adoc b/content/docs/smallrye-graphql/2/typesafe-client-multiple-queries.adoc new file mode 100644 index 000000000..80b399f00 --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-multiple-queries.adoc @@ -0,0 +1,48 @@ += Multiple +include::_attributes.adoc[] + +Say you need the result from several root queries, e.g. all +`superHeroes` and all `superVillains`. Java only supports a single +return value, so you’ll need a wrapper class: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + HeroesAndVillains heroesAndVillains(); +} + +@Multiple +class HeroesAndVillains { + List superHeroes; + List superVillains; +} +---- + +The `@Multiple` annotation 'inlines' the wrapper class, i.e. the actual +query is: + +[source,graphql] +---- +query heroesAndVillains { superHeroes {...} superVillains {...}} +---- + +The actual response below will be mapped to an instance of the +`HeroesAndVillains` wrapper class: + +[source,json] +---- +{ + "data": { + "superHeroes": [ ... ], + "superVillains": [ ... ] + } +} +---- + +If the nested queries require parameters, use `@` annotations to put +them on the field (remember: GraphQL fields can have parameters). + +If you need the same request several times (e.g. with different query +parameters), use `@Name` annotations, so the actual field names are used +as xref:#_name_mapping_aliases[alias]. diff --git a/content/docs/smallrye-graphql/2/typesafe-client-reactive-types.adoc b/content/docs/smallrye-graphql/2/typesafe-client-reactive-types.adoc new file mode 100644 index 000000000..a1c7b98c1 --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-reactive-types.adoc @@ -0,0 +1,48 @@ += Reactive types usage in typesafe clients +include::_attributes.adoc[] + +== Reactive types with queries and mutations + +Regardless of the type that a query or mutation returns, you can always wrap the return type in a `Uni` in your +`@GraphQLClientApi` interface. The `Uni` will be completed after the response is received and processed. + +== Subscriptions + +The return type of a subscription operation must always be wrapped in a `Multi`. +The communication with the server runs over a WebSocket. + +=== Important note about errors + +When using the typesafe client for subscriptions, if it is expected that the server might return errors, +then it is highly recommended to wrap the return types into an `ErrorOr` +(for example, turn the API method `@Subscription Multi++<++Person++>++ people` into `@Subscription Multi++<++ErrorOr++<++Person++>>++ people`). +The reason is once there is an error returned from the service and the result can't be turned into a domain object due to that, +the `Multi` will receive a failure as a result. Because of the design of Mutiny, a `Multi` can't continue producing any items after +a failure. That means the subscription will be cancelled after the first error, even though the server might continue +sending more items. In such case, your application would have to detect the error and start a new subscription. +See xref:typesafe-client-error-handling.adoc[Error handling] for more details on how to use `ErrorOr`. + +=== Subscription example + +Given a server-side definition like this: + +[source,java] +---- +@Subscription +public Multi countToFive() { + return Multi.createFrom().range(0, 5); +} +---- + +A client to consume this subscription can look like this: + +[source,java] +---- +client.countToFive + .subscribe() + .with( // onItem: + i -> System.out.println("Received number" + i), + // onFailure: + (t) -> t.printStackTrace() + ); +---- diff --git a/content/docs/smallrye-graphql/2/typesafe-client-unions-and-interfaces.adoc b/content/docs/smallrye-graphql/2/typesafe-client-unions-and-interfaces.adoc new file mode 100644 index 000000000..36bf138b8 --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-unions-and-interfaces.adoc @@ -0,0 +1,164 @@ += Unions & Interfaces +include::_attributes.adoc[] + +If you consume a GraphQL service with a schema containing either a `Union` or an `Interface`, +the client needs to request different fields via fragments, depending on the requested sub-type, +and deserialize a polymorphic type. + +This is quite complex on the GraphQL side, but the typesafe client makes it very easy to use. + +Unions + +One common use-case for Unions is returning a business error, e.g. when searching for a super hero, +either you find a super hero and maybe you want the name and other fields, +or you don't find it, and maybe you want a message with the reason. +Such a query could look like this: + +[source,graphql] +---- +query find($name: String) { + find(name: $name){ + __typename + ... on SuperHero {name} + ... on SuperHeroNotFound {message} + } +} +---- + +When it finds your super hero, the service could respond with this: + +[source,json] +---- +{ + "data": { + "find": { + "__typename": "SuperHero", + "name": "Spider-Man" + } + } +} +---- + +Or if it doesn't find it, the response could look like this: + +[source,json] +---- +{ + "data": { + "find": { + "__typename":"SuperHeroNotFound", + "message":"There is no hero named Foo" + } + } +} +---- + +On the Java side, this maps quite nicely to an interface, e.g. `SuperHeroResponse` +implemented by the two possible classes returned, e.g. `SuperHero` and `SuperHeroNotFound`; +you only need to provide the typesafe client with this information about these sub-classes by using the +https://jakarta.ee/specifications/jsonb/3.0/jakarta-jsonb-spec-3.0#polymorphic-types[`JSON-B` Polymorphic Types] +annotations `@JsonbTypeInfo` and `@JsonbSubtype`: + +[source,java] +---- + @Union + @JsonbTypeInfo(key = "__typename", value = { + @JsonbSubtype(alias = "SuperHero", type = SuperHero.class), + @JsonbSubtype(alias = "NotFound", type = NotFound.class) + }) + public interface SuperHeroResponse { + } + + public static class SuperHero implements SuperHeroResponse { + String name; + + String getName() { + return name; + } + } + + @Type("SuperHeroNotFound") + public static class NotFound implements SuperHeroResponse { + String message; + + String getMessage() { + return message; + } + } + + @GraphQLClientApi + interface UnionApi { + SuperHeroResponse find(String name); + } +---- + +Note that we rename the `NotFound` class into the GraphQL type `SuperHeroNotFound` to demo that use-case. + +The `@Union` annotation is actually not used and only helps to document what's happening behind the scenes. + +Interfaces + +If a service returns an GraphQL `interface`, that's visible only in the schema; +queries and responses work exactly like for a `union`. +So, interfaces are very similar to unions; but they can share common fields between the sub-types. + +E.g. a query returning either a `MainCharacter` or a `SideKick`, could look like this: + +[source,graphql] +---- +query find($name: String) { + find(name: $name){ + __typename + ... on MainCharacter {name superPower} + ... on SideKick {name mainCharacter} + } +} +---- + +The Java side looks very similar the Union example above: + +[source,java] +---- +@JsonbTypeInfo(key = "__typename", value = { + @JsonbSubtype(alias = "MainCharacter", type = MainCharacter.class), + @JsonbSubtype(alias = "SideKick", type = SideKick.class) +}) +public interface SearchResult { + String getName(); +} + +public static class MainCharacter implements SearchResult { + String name; + String superPower; + + @Override + public String getName() { + return name; + } + + public String getSuperPower() { + return superPower; + } +} + +public static class SideKick implements SearchResult { + String name; + String mainCharacter; + + @Override + public String getName() { + return name; + } + + public String getMainCharacter() { + return mainCharacter; + } +} + +@GraphQLClientApi +interface InterfaceApi { + SearchResult find(String name); + + List all(); +} +---- diff --git a/content/docs/smallrye-graphql/2/typesafe-client-usage.adoc b/content/docs/smallrye-graphql/2/typesafe-client-usage.adoc new file mode 100644 index 000000000..4dabe814b --- /dev/null +++ b/content/docs/smallrye-graphql/2/typesafe-client-usage.adoc @@ -0,0 +1,301 @@ += Java code-first type-safe GraphQL Client API +include::_attributes.adoc[] + +A Java code-first type-safe GraphQL Client API suggestion for +https://github.com/eclipse/microprofile-graphql/issues/185[Microprofile GraphQL Issue +#185]. + +== Basic Usage + +Creating the client-side counterpart of the GraphQL API: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/SuperHeroesApi.java[] +---- + +A model class: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/SuperHero.java[] +---- + +Injecting the client using CDI and using it: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/MyClientUsage.java[] +---- + +* The default request type is `query`. To make it a mutation, annotate +it `@Mutation`. The parameter name is only available if you compile +the source with the `-parameters` option. Otherwise, you’ll have to +annotate all parameters with `@Name`. + +The example above uses CDI, e.g. when you are in a MicroProfile or +Jakarta EE environment. If you are in an environment without CDI +support, you need to instantiate the API interface by using the builder: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder().build(SuperHeroesApi.class); +---- + +The basic idea of the Java code-first approach is to start by +writing the DTOs and query/mutation methods as you need them in your +client. This ensures that you don’t request fields that you don’t need; +the thinking is inspired by https://martinfowler.com/articles/consumerDrivenContracts.html[Consumer Driven +Contracts]. + +If the server uses names different from yours, you can use annotations to do a mapping: + +=== Name Mapping / Aliases + +If the server defines a different field or parameter name, annotate it +with `@Name`. If the server defines a different query name, annotate the +method as, e.g., `@Query("findHeroesCurrentlyLocatedIn")`. + +By renaming methods, you can also define several variations of the same +request but using different return types or parameters. E.g.: + +[source,java] +---- +public interface SuperHeroesApi { + SuperHero findHeroByName(String name); + + @Query("findHeroByName") + SuperHeroWithTeams findHeroWithTeamsByName(String name); +} +---- + +* The `SuperHero` class has no team affiliations (for this example). +* The `SuperHeroWithTeams` class has a `List++<++Team++>++ teamAffiliations` +field. The actual query name is still `findHeroByName`. The `Team` +class doesn’t contain the members to break recursion. + +If you rename a field or method, the real field or method name will be +used as an alias, so you can select the same data twice (see `and` +below). + +=== Configuration + +If the endpoint is always the same, e.g. a public API of a cloud +service, you can add the URL to your API annotation, e.g.: + +[source,java] +---- +@GraphQLClientApi(endpoint = "https://superheroes.org/graphql") +interface SuperHeroesApi { +} +---- + +When instantiating the API with the builder, you can set (or overwrite) +the endpoint there: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder() + .endpoint("https://superheroes.org/graphql") + .build(SuperHeroesApi.class); +---- + +Commonly you’ll need different endpoints, e.g. when you need one +endpoint for your production system, but a different endpoint for your +test system. Simply use https://download.eclipse.org/microprofile/microprofile-config-1.4/microprofile-config-spec.html[MicroProfile +Config] +to set the endpoint; similar to the https://download.eclipse.org/microprofile/microprofile-rest-client-1.4.1/microprofile-rest-client-1.4.1.html[MicroProfile Rest +Client], +the key for the endpoint is the fully qualified name of the API +interface, plus `/mp-graphql/url`, e.g.: + +[source,properties] +---- +org.superheroes.SuperHeroesApi/mp-graphql/url=https://superheroes.org/graphql +---- + +If you want to use a different key, set the base config key on the +annotation `@GraphQLClientApi(configKey = "superheroes")`; then use this +key for the endpoint `superheroes/mp-graphql/url`. + +When using the builder, you can override the config key as well: +`TypesafeGraphQLClientBuilder.newBuilder().configKey("superheroes")`. + +=== NestedParameter + +Some APIs require parameters beyond the root level, e.g. for filtering +or paginating nested lists. Say you have a schema like this: + +[source,graphql] +---- +type Query { + team(name: String!): Team! +} + +type Team { + members(first: Int!): [SuperHero!]! +} +---- + +To pass the parameter to the nested field/method, annotate it as +`@NestedParameter`, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface TeamsApi { + Team team(String name, @NestedParameter("members") int first); +} +---- + +The value of the `@NestedParameter` annotation is the dot-delimited path +to the nested field/method that the value should be added to. + +Example of server code + +[source,java] +---- +@GraphQLApi +public class RoleApi { + @Query + public List findAllRolesByUserId(@NonNull UUID userId) { + // return roles + } + + public List permission(@Source Roles role, @DefaultValue("5") int limit) { + // return permissions, based on roles + } + + public List permissionType(@Source Permission permission, @DefaultValue("5") int limit) { + // return permissionType, based on permission + } +} +---- + +Query looks like + +.... +query { + findAllRolesByUserId(userId: ...) { + id + permission(limit: 2) { + id + permissionType(limit: 3) { + id + } + } + } +} +.... + +On the client side, you can declare the following code: + +[source,java] +---- +public record PermissionType(Long id) { +} + +public record Permission(Long id, List permissionType) { +} + +public record Role(UUID id, List permission) { +} + +@GraphQLClientApi +public interface ApiClient { + List findAllRolesByUserId( + UUID userId, + @NestedParameter("permission") @Name("limit") int permissionLimit, + @NestedParameter("permission.permissionType") @Name("limit") int permissionTypeLimit + ); +} +---- + +== Namespaces + +There are several ways to work with namespaces in a type-safe client: +1. Using `@Namespace` +2. Using `@Name` (deprecated) + +____ +++[++NOTE++]++ You can only use one of the annotations - `@Name` or `@Namespace` on a `GraphClientQLApi` interface. +____ + +=== Using @Namespace annotation + +The `@Namespace` annotation accepts an array of strings specifying the nesting levels of the namespace. +This flexible approach allows you to create namespaces with any desired level of nesting, combining different levels as needed. + +If the remote GraphQL API has the following schema: + +.... +"Query root" +type Query { + admin: AdminQuery +} + +type AdminQuery { + users: AdminUsersQuery +} + +type AdminUsersQuery { + findAll: User +} + +type User { + id: BigInteger + [...] +} +.... + +While declaring the following interface: + +[source,java] +---- +@Namespace({"admin", "users"}) +@GraphQLClientApi +public interface UsersClient { + List findAll(); +} +---- + +Its outcome will be the following GraphQL query: + +.... +query AminUsersFindAll { + admin { + users { + findAll { + id + } + } + } +} +.... + +=== Using @Name (deprecated) + +____ +++[++NOTE++]++ This feature may be removed in the future. +____ + +The `@Name` annotation functions similarly to `@Namespace`, but it is limited to a single nesting level. + +.... +query { + users { + findAll { + ... + } + } +} +.... + +[source,java] +---- +@Name("users") +@GraphQLClientApi +public interface ApiClient { + List findAll(); +} +---- diff --git a/content/docs/smallrye-graphql/2/using-smallrye-stork.adoc b/content/docs/smallrye-graphql/2/using-smallrye-stork.adoc new file mode 100644 index 000000000..46064219c --- /dev/null +++ b/content/docs/smallrye-graphql/2/using-smallrye-stork.adoc @@ -0,0 +1,53 @@ += Using SmallRye Stork +include::_attributes.adoc[] + +SmallRye GraphQL client (both dynamic and typesafe) supports SmallRye Stork for +service discovery and load balancing. If your client is configured to connect to a URI +with the `stork://` or `storks://` scheme, then Stork will be used to determine the +actual endpoints to connect to. Load balancing, if configured, will be applied in a way that +each HTTP request can be routed to a different service instance. For WebSocket traffic, +once a WebSocket connection is established, the client will keep using that connection +for as long as possible. If that connection is lost for any reason and needs to be +reestablished, then the load balancer can route it to a different instance. + +== Using with Quarkus + +The dependency on Stork is declared as optional, so if you want to use it, you might need +to add it explicitly. If you're using Quarkus, use the Stork extension along with +the desired service discovery implementation, for example: + +.... + + io.quarkus + quarkus-smallrye-stork + + + io.smallrye.stork + smallrye-stork-service-discovery-static-list + +.... + +Example configuration in Quarkus `application.properties`: + +.... +quarkus.smallrye-graphql-client.myclient.url=stork://foo-service/graphql +quarkus.stork.foo-service.service-discovery.type=static +quarkus.stork.foo-service.service-discovery.address-list=server1.com:8080,server2.com:8080 +.... + +== When running as a standalone application + +If you're using the client in a standalone mode outside any container that handles +Stork initialization for you, you might need two additional steps to get it working: + +Add a configuration provider for Stork, such as + +.... + + io.smallrye.stork + stork-microprofile-config + +.... + +And before initializing any GraphQL client instances, make sure that Stork is initialized +by calling `io.smallrye.stork.Stork.initialize()` once. diff --git a/content/docs/smallrye-graphql/latest/_attributes.adoc b/content/docs/smallrye-graphql/latest/_attributes.adoc new file mode 100644 index 000000000..8994ecbf4 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 3.0.0.Beta8 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye GraphQL +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.0.0.Beta8 +:relfileprefix: /docs/smallrye-graphql/latest/ +:imagesdir: /docs/smallrye-graphql/latest +:docs-project: smallrye-graphql +:docs-version: latest +:docs-ref: 3.0.0.Beta8 diff --git a/content/docs/smallrye-graphql/latest/_examples/examples/dynamicclient/MyClientUsage.java b/content/docs/smallrye-graphql/latest/_examples/examples/dynamicclient/MyClientUsage.java new file mode 100644 index 000000000..1647626af --- /dev/null +++ b/content/docs/smallrye-graphql/latest/_examples/examples/dynamicclient/MyClientUsage.java @@ -0,0 +1,37 @@ +package examples.dynamicclient; + +import examples.typesafeclient.SuperHero; +import io.smallrye.graphql.client.GraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.core.Document; +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; + +import jakarta.inject.Inject; +import tools.jackson.databind.node.ArrayNode; +import java.util.List; +import java.util.concurrent.ExecutionException; + +import static io.smallrye.graphql.client.core.Argument.arg; +import static io.smallrye.graphql.client.core.Argument.args; +import static io.smallrye.graphql.client.core.Document.document; +import static io.smallrye.graphql.client.core.Field.field; +import static io.smallrye.graphql.client.core.Operation.operation; + +public class MyClientUsage { + + @Inject + @GraphQLClient("superHeroes") + DynamicGraphQLClient client; + + public void execute() throws ExecutionException, InterruptedException { + Document document = document( // <1> + operation(field("allHeroesIn", + args(arg("location", "Outer Space")), + field("name"), + field("superPowers")))); + Response response = client.executeSync(document); // <2> + + ArrayNode heroesArray = (ArrayNode) response.getData().get("allHeroesIn"); // <3> + List heroes = response.getList(SuperHero.class, "allHeroesIn"); // <4> + } +} diff --git a/content/docs/smallrye-graphql/latest/_examples/examples/dynamicclient/MyClientUsageString.java b/content/docs/smallrye-graphql/latest/_examples/examples/dynamicclient/MyClientUsageString.java new file mode 100644 index 000000000..c761d64b1 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/_examples/examples/dynamicclient/MyClientUsageString.java @@ -0,0 +1,39 @@ +package examples.dynamicclient; + +import io.smallrye.graphql.client.GraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; + +import jakarta.inject.Inject; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ExecutionException; + +public class MyClientUsageString { + + @Inject + @GraphQLClient("superheroes") + DynamicGraphQLClient client; + + public void execute() throws ExecutionException, InterruptedException { + String queryWithInlineVariables = // <1> + "query {" + + " allHeroesIn(location: \"Outer Space\") {" + + " name" + + " superPowers" + + " }" + + "}"; + Response response = client.executeSync(queryWithInlineVariables); + + String queryWithExtractedVariables = // <2> + "query($loc: String) {" + + " allHeroesIn(location: $loc) {" + + " name" + + " superPowers" + + " }" + + "}"; + Map variables = new HashMap<>(); // <3> + variables.put("loc", "Outer Space"); + Response response2 = client.executeSync(queryWithExtractedVariables, variables); + } +} diff --git a/content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/MyClientUsage.java b/content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/MyClientUsage.java new file mode 100644 index 000000000..be521d196 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/MyClientUsage.java @@ -0,0 +1,16 @@ +package examples.typesafeclient; + +import jakarta.inject.Inject; +import java.util.List; + +public class MyClientUsage { + + @Inject + SuperHeroesApi superHeroesApi; + + public void execute() { + List allHeroes = superHeroesApi.allHeroesIn("Outer Space"); + // ... + } + +} diff --git a/content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/SuperHero.java b/content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/SuperHero.java new file mode 100644 index 000000000..7c19a1119 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/SuperHero.java @@ -0,0 +1,12 @@ +package examples.typesafeclient; + +import java.util.List; + +public class SuperHero { + + private String name; + private List superPowers; + + // plus getters and setters + +} diff --git a/content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/SuperHeroesApi.java b/content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/SuperHeroesApi.java new file mode 100644 index 000000000..0fae71966 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/_examples/examples/typesafeclient/SuperHeroesApi.java @@ -0,0 +1,12 @@ +package examples.typesafeclient; + +import io.smallrye.graphql.client.typesafe.api.GraphQLClientApi; + +import java.util.List; + +@GraphQLClientApi +public interface SuperHeroesApi { + + List allHeroesIn(String location); + +} diff --git a/content/docs/smallrye-graphql/latest/_nav.yml b/content/docs/smallrye-graphql/latest/_nav.yml new file mode 100644 index 000000000..bfa9b0569 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/_nav.yml @@ -0,0 +1,76 @@ +title: SmallRye GraphQL +nav: +- title: Overview + page: index +- title: Server side features + items: + - title: Customizing JSON (de)serializers + page: custom-json-serializers-deserializers + - title: Directives + page: directives + - title: Federation + page: federation + - title: Custom error extensions + page: custom-error-extensions + - title: Response extensions + page: extensions + - title: Returning Void from Mutations + page: mutation-void + - title: Handling of the WebSocket's init-payload + page: handling-init-payload-from-the-websocket + - title: Custom scalars + page: custom-scalar + - title: Inspecting executable directives + page: inspecting-executable-directives-on-server-side + - title: Namespaces + page: namespaces-on-server-side + - title: Target input fields + page: target-for-input-types + - title: Kotlin support + page: kotlin +- title: Typesafe client + items: + - title: Basic usage + page: typesafe-client-usage + - title: Unions and Interfaces + page: typesafe-client-unions-and-interfaces + - title: Reactive + page: typesafe-client-reactive-types + - title: Custom scalar types + page: typesafe-client-custom-scalars + - title: Adding headers + page: typesafe-client-headers + - title: Logging + page: typesafe-client-logging + - title: Running multiple queries at once + page: typesafe-client-multiple-queries + - title: Error handling + page: typesafe-client-error-handling + - title: Accessing metadata of responses + page: typesafe-client-accessing-metadata-of-responses + - title: Static Directives + page: typesafe-client-directives +- title: Dynamic client + items: + - title: Basic usage + page: dynamic-client-usage + - title: Error handling + page: dynamic-client-error-handling +- title: Clients in general + items: + - title: Bootstrapping the client + page: client-standalone + - title: Using SmallRye Stork + page: using-smallrye-stork +- title: Developer tools + items: + - title: Maven plugin + page: maven-plugin + - title: Gradle plugin + page: gradle-plugin +- title: Reference material + items: + - title: Server-side configuration + page: server-configuration + - title: Client-side configuration + page: client-configuration diff --git a/content/docs/smallrye-graphql/latest/client-configuration.adoc b/content/docs/smallrye-graphql/latest/client-configuration.adoc new file mode 100644 index 000000000..7da22fddd --- /dev/null +++ b/content/docs/smallrye-graphql/latest/client-configuration.adoc @@ -0,0 +1,28 @@ += Client-side configuration properties +include::_attributes.adoc[] + +Note: if you are using Quarkus, it is recommended to use the `quarkus.++*++` property counterparts instead. +See https://quarkus.io/guides/all-config#quarkus-smallrye-graphql-client_quarkus-smallrye-graphql-client-smallrye-graphql-client[Quarkus Documentation] for more info. + +[width="100%",cols="18%,10%,72%",options="header",] +|=== +|Property |Default value |Meaning +|`CLIENT++_++NAME/mp-graphql/url` |none |Denotes URL to connect to +|`CLIENT++_++NAME/mp-graphql/header/KEY` |none |Adds a HTTP header named `KEY` to all HTTP requests performed by the client +|`CLIENT++_++NAME/mp-graphql/subprotocols` |`graphql-ws,graphql-transport-ws` |Comma-separated list of websocket subprotocols supported by this client. We currently support `graphql-ws` and `graphql-transport-ws`. If multiple subprotocols are provided, choosing the actual subprotocol will be subject to negotiation with the server. +|`CLIENT++_++NAME/mp-graphql/keystore` |none |Path to client's keystore (for example `file:/path/to/keystore` or `classpath:path/to/keystore`) +|`CLIENT++_++NAME/mp-graphql/keystoreType` |`JKS` |Keystore type +|`CLIENT++_++NAME/mp-graphql/keystorePassword` |none |Keystore password +|`CLIENT++_++NAME/mp-graphql/truststore` |none |Path to client's truststore (for example `file:/path/to/truststore` or `classpath:path/to/truststore`) +|`CLIENT++_++NAME/mp-graphql/truststoreType` |`JKS` |Truststore type +|`CLIENT++_++NAME/mp-graphql/truststorePassword` |none |Truststore password +|`CLIENT++_++NAME/mp-graphql/proxyHost` |none |Hostname of the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyPort` |none |Port of the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyUsername` |none |Username for the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyPassword` |none |Password for the proxy to use +|`CLIENT++_++NAME/mp-graphql/maxRedirects` |16 |Max number of redirects to follow. Set to 0 to disable redirects. +|`CLIENT++_++NAME/mp-graphql/websocketInitializationTimeout` |none |Maximum time in milliseconds that will be allowed to wait for the server to acknowledge a websocket connection. +|`CLIENT++_++NAME/mp-graphql/runSingleOperationsOverWebsocket` |`false` |If true, then queries and mutations will run over the websocket transport rather than pure HTTP. Off by default, because it has higher overhead. +|`CLIENT++_++NAME/mp-graphql/initPayload/KEY` |none |Adds a property named `KEY` to the `connection++_++init` message payload when negotiating a websocket connection. All values will be treated as string. For other types instatiate the API with the builder. +|`CLIENT++_++NAME/mp-graphql/allowUnexpectedResponseFields` |`false` |If true and there is an unexpected field in the response payload, it won't throw an error, and it will log a warning message. +|=== diff --git a/content/docs/smallrye-graphql/latest/client-standalone.adoc b/content/docs/smallrye-graphql/latest/client-standalone.adoc new file mode 100644 index 000000000..e991a36b2 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/client-standalone.adoc @@ -0,0 +1,76 @@ += Bootstraping GraphQL clients +include::_attributes.adoc[] + +In general, it is recommended to use SmallRye GraphQL client through the +https://quarkus.io/guides/smallrye-graphql-client[Quarkus extension], +or the https://github.com/wildfly-extras/wildfly-graphql-feature-pack/wiki/GraphQL-client-guide[WildFly feature pack], +each of them having their own documentation about how to set up dependencies and bootstrap a client. +It is however also possible to use SmallRye GraphQL Client in a standalone application outside any container. +The single dependency that you need is `io.smallrye:smallrye-graphql-client-implementation-vertx`, as the +Vert.x based implementation is currently the only supported one. + +If you're using the client as a script and notice that the JVM doesn't exit even after you close the client instance, +it's probably because the client is maintaining a `Vertx` instance that it created automatically. To solve this +issue, you might need to create a `Vertx` instance on your own, pass it to the client builder, and then close it after +closing the client. See the following JBang snippet for an example. + +== Logging with a standalone (Java SE) application using the SmallRye GraphQL Client + +If you want to properly configure logging in a standalone application, you +will also need to add a logging implementation to the classpath. The client +code uses the JBoss Logging facade, so you can, for example, use the JBoss +Logmanager. Add the `org.jboss.logmanager:jboss-logmanager` dependency to +your project(it needs to be on the runtime classpath). You will also need to +run the application with this system property declared: +`-Djava.util.logging.manager=org.jboss.logmanager.LogManager`. + +To customize logging levels etc, it picks up the `logging.properties` file +from the root of the runtime classpath, so, for example if using Maven and +the exec plugin to start the application, you would place the file into +`src/main/resources/logging.properties`. For an example of the contents of +this file, see +https://github.com/jamezp/jboss-logging-example/blob/master/src/main/resources/logging.properties. + +== Using with JBang + +This is a full script runnable directly with https://www.jbang.dev/[JBang] that +uses a dynamic client for connecting to https://countries.trevorblades.com[countries.trevorblades.com] +to obtain a list of countries from its database. + +[source,java] +---- +///usr/bin/env jbang "$0" "$@" ; exit $? +//DEPS io.smallrye:smallrye-graphql-client-implementation-vertx:RELEASE + +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.vertx.dynamic.VertxDynamicGraphQLClientBuilder; + +import io.vertx.core.Vertx; + +// Has a multiline string literal, requires Java 15+! +class Client { + public static void main(String... args) throws Exception { + Vertx vertx = Vertx.vertx(); + DynamicGraphQLClient client = new VertxDynamicGraphQLClientBuilder() + .url("https://countries.trevorblades.com") + .vertx(vertx) + .build(); + try { + Response response = client.executeSync(""" + query { + countries { + name + } + } + """); + System.out.println(response); + } finally { + client.close(); + vertx.close(); + } + } +} +---- + +Save this file as `Client.java` and execute with `jbang Client.java`. diff --git a/content/docs/smallrye-graphql/latest/custom-error-extensions.adoc b/content/docs/smallrye-graphql/latest/custom-error-extensions.adoc new file mode 100644 index 000000000..82aa86e5b --- /dev/null +++ b/content/docs/smallrye-graphql/latest/custom-error-extensions.adoc @@ -0,0 +1,44 @@ += GraphQL Error Extensions +include::_attributes.adoc[] + +Exceptions are reported in GraphQL in the `errors` array, next to the `data` field, so it's possible to return partial results, e.g.: + +[source,json] +---- +{ + "data": { + "superHero": { + "name": "Wolverine", + "location": null + } + }, + "errors": [{ + "message":"location unknown", + "path": ["superHero","location"], + "extensions":{"code":"location-unknown"} + }] +} +---- + +The `location` field couldn't be returned, and in the `errors`, there's the reason with a few predefined fields, +and a map of `extensions` that can contain custom details about the error. + +You can add your own extensions by implementing the `io.smallrye.graphql.api.ErrorExtensionProvider` interface and +adding your class name to a file `META-INF/services/io.smallrye.graphql.api.ErrorExtensionProvider` (this is a `ServiceLoader`). + +As an example, this class provides an extension named `exception-length` with the length of the simple class name of the exception: + +[source,java] +---- +public class ExceptionLengthErrorExtensionProvider implements ErrorExtensionProvider { + @Override + public String getKey() { + return "exception-length"; + } + + @Override + public JsonNumber mapValueFrom(Throwable exception) { + return Json.createValue(exception.getClass().getSimpleName().length()); + } +} +---- diff --git a/content/docs/smallrye-graphql/latest/custom-json-serializers-deserializers.adoc b/content/docs/smallrye-graphql/latest/custom-json-serializers-deserializers.adoc new file mode 100644 index 000000000..70d87f6b6 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/custom-json-serializers-deserializers.adoc @@ -0,0 +1,36 @@ += Customizing JSON-B serializers/deserializers +include::_attributes.adoc[] + +If your application needs finer-grained control over JSON serialization/deserialization than you can achieve via +formatting annotations like `@JsonbDateFormat`, you may plug in your own custom instances of the `Jsonb` class +for each input type that your GraphQL application exposes. + +To do this, you'll need to create an implementation of `io.smallrye.graphql.spi.EventingService` +and implement its `overrideJsonbConfig` method. +An example that plugs in a custom date format for a particular class that is used as input: + +.... +package org.acme.custom.json.config; + +public class CustomJsonbService implements EventingService { + + @Override + public String getConfigKey() { + return null; // activate this service always regardless of the configuration + } + + @Override + public Map overrideJsonbConfig() { + JsonbConfig config = new JsonbConfig().withDateFormat("MM dd yyyy HH:mm Z", null).withDeserializers(OBJECTID_DESERIALIZER).withSerializers( + OBJECTID_SERIALIZER); + return Collections.singletonMap("MyModelClass.class.getName()", JsonbBuilder.create(config)); + } +} +.... + +We can customize the JsonbConfig as per our need in above example we have registered additional serializer and date formatting for the class MyModelClass. + +As the discovery of eventing services uses the ServiceLoader mechanism, don't forget to add a +`META-INF/services/io.smallrye.graphql.spi.EventingService` file that contains the fully qualified +name of your implementation. +Example `org.acme.custom.json.config.CustomJsonbService` diff --git a/content/docs/smallrye-graphql/latest/custom-scalar.adoc b/content/docs/smallrye-graphql/latest/custom-scalar.adoc new file mode 100644 index 000000000..27be60b11 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/custom-scalar.adoc @@ -0,0 +1,36 @@ += Creating GraphQL Custom Scalars with SmallRye GraphQL +include::_attributes.adoc[] + +While by default *MicroProfile GraphQL* specification doesn't provide direct support for creating +custom scalars for GraphQL literal types of String, Int and Float, *SmallRye GraphQL* has implemented +this feature based on user feedback. To implement a *custom scalar* with *SmallRye GraphQL*, +you can annotate your custom scalar class with `@CustomScalar` in addition to following the pattern below +of including a public constructor that takes one of `String`++|++`BigDecimal`++|++`BigInteger` depending on +the scalar type: + +[source,java] +---- + @CustomScalar("BigDecimalString") + public class BigDecimalString implements CustomStringScalar { + public BigDecimalString(String stringValue) { + ... + } + @Override + public String stringValueForSerialization() { + ... + } +} +---- + +In this example, `BigDecimalString` implements the `CustomStringScalar` which is used to identify the +proper (de) serialization for BigDecimalString. `BigDecimalString` also provides a single argument +constructor which takes a String. Finally, `BigDecimalString` implements +`stringValueForSerialization()` which provides the String representation to be used during +serialization. + +____ +++[++NOTE++]++ +If the user wants to create a literal for GraphQL Int or Float, they would implement either +CustomIntScalar with the intValueForSerialization method or CustomFloatScalar with the +floatValueForSerialization method respectively. +____ diff --git a/content/docs/smallrye-graphql/latest/directives.adoc b/content/docs/smallrye-graphql/latest/directives.adoc new file mode 100644 index 000000000..34b420ca8 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/directives.adoc @@ -0,0 +1,45 @@ += Directives +include::_attributes.adoc[] + +== Custom Directives + +You can add your own https://spec.graphql.org/draft/#sec-Language.Directives[GraphQL Directives] by writing +a corresponding Java Annotation and annotate it as `@Directive`, e.g.: + +[source,java] +---- +@Directive(on = { OBJECT, INTERFACE }) +@Description("Just a test") +@Retention(RUNTIME) +public @interface MyDirective { +} +---- + +Directives can be repeatable, see the `@Key` annotation for an example. + +== Directives generated from Bean Validation annotations + +If your project uses Bean Validation to validate fields on input types and operation arguments, and you enable +inclusion of directives in the schema (by setting `smallrye.graphql.schema.includeDirectives=true`), +then constraints decoded from annotations will be added to your schema as directives. This is currently only +supported for some built-in constraints (annotations from the +`javax.validation.constraints` package), and custom constraints aren't supported at all. + +Each bean validation annotation is mapped to a single `@constraint` directive. The directive is declared as repeatable, +so if you have multiple constraints on an input field, the field will contain multiple `@constraint` directives. +The following table describes the mapping between BV annotations and `@constraint` directives (all currently supported +BV annotations are listed here): + +[cols=",",options="header",] +|=== +|BV annotation |GraphQL directive +|`@Size(MIN, MAX)` |`@constraint(minLength=MIN, maxLength=MAX)` +|`@Email` |`@constraint(format='email')` +|`@Max` |`@constraint(max=VALUE)` +|`@Min` |`@constraint(min=VALUE)` +|`@Pattern(REGEXP)` |`@constraint(pattern=REGEXP)` +|=== + +Note: The `@NotNull` annotation does not map to a directive, instead it makes the GraphQL type non-nullable. + +Constraints will only appear on fields of input types and operation arguments. diff --git a/content/docs/smallrye-graphql/latest/dynamic-client-error-handling.adoc b/content/docs/smallrye-graphql/latest/dynamic-client-error-handling.adoc new file mode 100644 index 000000000..e7a9b5f79 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/dynamic-client-error-handling.adoc @@ -0,0 +1,34 @@ += Error handling with dynamic clients +include::_attributes.adoc[] + +== System-level errors + +If the service returns a system-level error (which means the response body doesn't contain +a valid GraphQL response document), the client invocation will (instead of returning a +`io.smallrye.graphql.client.Response`) throw a `io.smallrye.graphql.client.InvalidResponseException` +whose message contains information about the received status code, status message, and body +contents. + +== Application-level errors + +If the service returns one or more application-level errors (which means that +there is valid GraphQL response in the body that has a non-empty `errors` entry), the +client invocation will return a `io.smallrye.graphql.client.Response` as normal, and that object +will contain information about the errors. Errors are represented as `io.smallrye.graphql.client.GraphQLError` +objects and can be inspected after retrieving a list of all errors using `response.getErrors()`. + +____ +++[++NOTE++]++ +An error response is considered application-level regardless of the HTTP status code as long as it +contains a valid GraphQL response. We define a GraphQL response as a well-formed JSON document +that contains at least one of `errors`, `data` and `extensions` entries, and no other entries beyond +that. +____ + +It is also possible to convert a response's errors into a `io.smallrye.graphql.client.GraphQLClientException` +by calling `throwExceptionIfErrors()` - the response has to be cast to `ResponseImpl` for this as of now. +This method will, if there are any errors in the response, convert the errors into a `GraphQLClientException` +and throw it. + +If you need to access the HTTP response code and message pertaining to a response that contained +application-level errors, refer to xref:dynamic-client-usage.adoc#accessing-http-headers-and-response-codes[Accessing HTTP headers and response codes]. diff --git a/content/docs/smallrye-graphql/latest/dynamic-client-usage.adoc b/content/docs/smallrye-graphql/latest/dynamic-client-usage.adoc new file mode 100644 index 000000000..26832e7d1 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/dynamic-client-usage.adoc @@ -0,0 +1,136 @@ += Dynamic client introduction and basic usage +include::_attributes.adoc[] + +A Java GraphQL client. The main difference from the typesafe client is +that while the typesafe client behaves like a typesafe proxy very +similar to the MicroProfile REST Client, the dynamic client is more like +the JAX-RS client from the `jakarta.ws.rs.client` package. Instead of +working with model classes directly, the dynamic client focuses on +programmatically working with GraphQL documents representing GraphQL +requests and responses. It still offers the option to convert between +documents and model classes when necessary. + +In the current implementation, Vert.x HTTP client is used for handling +the underlying traffic. + +Creating a client instance + +Generally there are two ways to obtain a client instance. + +First, using CDI injection where the configuration values are defined in system +properties: + +[source,java] +---- +@Inject +@GraphQLClient("superheroes") +DynamicGraphQLClient client; + +// assuming that this system property exists: +// superheroes/mp-graphql/url=https://superheroes.org/graphql +---- + +The above example assumes that configuration for the client is present in system properties. For a full list of +supported configuration properties, see xref:client-configuration.adoc[Client configuration reference] + +The other way to build a client is programmatically using a builder: + +[source,java] +---- +DynamicGraphQLClient client = DynamicGraphQLClientBuilder.newBuilder() + .url("https://superheroes.org/graphql") + .build(); +---- + +The usage examples in the following sections will assume using the first approach - injection. + +Basic Usage + +Given the following GraphQL service on the server side: + +[source,java] +---- +@GraphQLApi +class SuperHeroesApi { + @Query + List allHeroesIn(String location) { + // .... + } +} + +class SuperHero { + private String name; + private List superPowers; +} +---- + +Such service can be queried this way: + +[source,java] +---- +include::{examples-dir}/examples/dynamicclient/MyClientUsage.java[] +---- + +* ++<++1++>++ Creating the document representing the request. We used static +imports to make the code easy to read, they all come from the +classes in the `io.smallrye.graphql.client.core` package. +* ++<++2++>++ Executing the request. You can either do that in a blocking way, or +request a `Uni` if you prefer the reactive style. +* ++<++3++>++ Obtaining the resulting list of heroes as a `JsonArray`. +* ++<++4++>++ Obtaining the resulting list of heroes as instances of the model +class. This is optional, you can continue working with the data as a `JsonArray` if you prefer. + +Using plain strings instead of the DSL + +If you don't like the DSL for some reason and want to use plain strings for your queries, these two examples +will serve you: + +[source,java] +---- +include::{examples-dir}/examples/dynamicclient/MyClientUsageString.java[] +---- + +* ++<++1++>++: In this variant, we inline values for query arguments directly into the query string. +* ++<++2++>++: In this variant, argument values are extracted into variables. The `location` argument of the `allHeroesIn` query is +declared to be using the variable `loc` (the variable can also be named `location` same as the argument, if +you prefer). +* ++<++3++>++: Here we create a map that defines the values for each variable. Values of this map are `Object`s, +so you can put in strings, numbers, booleans, or any object that corresponds to a GraphQL type and can be +serialized to JSON. Inserting a `JsonObject` directly is also supported. + +Accessing HTTP headers and response codes + +To access HTTP transport metadata that was passed by the server, you can inspect the `Response` object. + +`Response.getTransportMeta("HEADER-NAME")` returns a `List++<++String++>++` containing (potentially multiple) values of the requested header. + +To get the HTTP status code or status message, these are stored inside the `transportMeta` map too. `ResponseImpl` +contains convenience methods to retrieve them: `ResponseImpl.getStatusCode()` and `ResponseImpl.getStatusMessage()`. +It's also possible to retrieve them directly without casting to `ResponseImpl` by calling +`Integer.valueOf(response.getTransportMeta().get("++<++status-code++>++").get(0))` and + +`response.getTransportMeta().get("++<++status-message++>++").get(0)`. + +HTTP headers, status codes and messages are only available for operations executed over pure HTTP, not via websockets! + +Sending extensions to the server + +The GraphQL over HTTP specification allows clients to send an `extensions` map alongside the query. To do this +with the dynamic client, build a `Request` using the `RequestImpl.builder` and pass it to `executeSync` or +`executeAsync`: + +[source,java] +---- +Map extensions = Map.of("myKey", "myValue", "number", 42); + +Request request = RequestImpl.builder("{ myQuery }") + .variables(variables) // optional + .operationName("MyOperation") // optional + .extensions(extensions) + .build(); + +Response response = client.executeSync(request); +---- + +On the server side, the extensions sent by the client can be read from `SmallRyeContext.getExtensionsFromClient()`. +This is separate from `SmallRyeContext.getAddedExtensions()`, which is used for adding extensions to the +outgoing response. diff --git a/content/docs/smallrye-graphql/latest/extensions.adoc b/content/docs/smallrye-graphql/latest/extensions.adoc new file mode 100644 index 000000000..bad6a5991 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/extensions.adoc @@ -0,0 +1,86 @@ += Extensions in SmallRye GraphQL +include::_attributes.adoc[] + +`SmallRyeContext` provides two separate extension mechanisms: + +* *Outbound extensions* (`addedExtensions`) — extensions added by the server and sent back to the client in the response. +* *Inbound extensions* (`extensionsFromClient`) — extensions received from the client as part of the incoming request. + +== Adding extensions to the response + +*SmallRye GraphQL* allows the user to add their own extensions inside the GraphQL response +which is received from the server. The `extensions` are stored next to the `data` field in the GraphQL response. + +[source,json] +---- +{ + "data": { + "shirt": { + "size": "L" + } + }, + "extensions": { + "country": "Germany", + "pi": 3.1415926535 + } +} +---- + +To add extensions, you need to `@Inject` an instance of `SmallRyeContext` in your `@GraphQLApi` annotated class. +After that, you can add your own extensions via the method `addExtension` +with its input parameters: `key : String` as an identification of the added extension, +and `value: Object` as a value of the extension. Value can be any given object that can be converted into JsonValue. + +As an example, this class below contains the query `getShirt` and during the http request, the query adds these extensions: +`++{++"country": "Germany", "pi": 3.1415926535}`. +These extensions will be sent back via response in the `extensions` field. + +[source,java] +---- +import jakarta.inject.Inject; + +@GraphQLApi +public class ShirtResources { + @Inject + SmallRyeContext smallRyeContext; + + @Query + public Shirt getShirt() { + smallRyeContext.addExtension("country", "Germany"); + smallRyeContext.addExtension("pi", 3.1415926535); + //... + } +} +---- + +____ +++[++NOTE++]++ +You can also use `getAddedExtensions()` to access the underlying map directly. +____ + +== Reading extensions from the client request + +Clients can send an `extensions` map alongside the query (as defined by the GraphQL over HTTP specification). +On the server side, these can be read via `SmallRyeContext.getExtensionsFromClient()`, which returns a +`Map++<++String, Object++>++` (or `null` if the client did not send any extensions). + +[source,java] +---- +import jakarta.inject.Inject; + +@GraphQLApi +public class MyApi { + @Inject + SmallRyeContext smallRyeContext; + + @Query + public String process() { + Map clientExtensions = smallRyeContext.getExtensionsFromClient(); + if (clientExtensions != null) { + String traceId = (String) clientExtensions.get("traceId"); + // ... + } + //... + } +} +---- diff --git a/content/docs/smallrye-graphql/latest/federation.adoc b/content/docs/smallrye-graphql/latest/federation.adoc new file mode 100644 index 000000000..827f544eb --- /dev/null +++ b/content/docs/smallrye-graphql/latest/federation.adoc @@ -0,0 +1,213 @@ += Federation +include::_attributes.adoc[] + +Support for https://www.apollographql.com/docs/federation[GraphQL Federation] is enabled by default. If you add one of the federation annotations, the corresponding directives will be declared in your schema, and the additional Federation queries will be added automatically. You can also disable Federation completely by setting the `smallrye.graphql.federation.enabled` config key to `false`. + +You can add the Federation directives by using the equivalent Java annotation, e.g. to extend a `Product` entity with a `price` field, you can write a class: + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.Id; + +import io.smallrye.graphql.api.federation.Extends; +import io.smallrye.graphql.api.federation.Key; + +@Extends @Key(fields = @FieldSet("id")) +public class Product { + @Id + private String id; + + @Description("The price in cent") + private Integer price; + + // getters and setters omitted +} +---- + +And a normal query method that takes the `key` fields as a parameter and returns the requested type: + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.GraphQLApi; +import org.eclipse.microprofile.graphql.Id; +import org.eclipse.microprofile.graphql.Query; + +@GraphQLApi +public class Prices { + @Query + public Product product(@Id String id) { + return [...] + } +} +---- + +The GraphQL Schema then contains: + +[source,graphql] +---- +type Product @extends @key(fields : "id") { + id: ID + price: Int +} + +union _Entity = Product + +type Query { + _entities(representations: [_Any!]!): [_Entity]! + _service: _Service! + product(id: ID): Product +} +---- + +If you can resolve, e.g., the product with different types of ids, you can add multiple `@Key` annotations. +## Federation Batch Resolver + +For better performance, there is the option to use batch resolvers with federation. This is not activated by default. It can be activated by setting `smallrye.graphql.federation.batchResolving.enabled` config key to `true`. + +It is unnecessary to provide batch resolvers for all entities, if there is no batch resolver, a non-batch resolver is used. + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.GraphQLApi; +import org.eclipse.microprofile.graphql.Id; +import org.eclipse.microprofile.graphql.Query; + +@GraphQLApi +public class Prices { + @Query + public List product(@Id List id) { + return [...] + } +} +---- + +It is crucial that the sequence of the argument list matches the order of the result list. Currently, the name of the Argument `id` must match with the property name in the type. + +== Federation Reference Resolver + +In federation, you may also want to extend the external type by some fields without publishing queries into the schema. You can do it by using the annotation `@Resolver`. + +[source,java] +---- +@Extends +@Key(fields = @FieldSet("upc")) +public final class Product { + @External + @NonNull + private String upc; + @External + private Integer weight; + @External + private Integer price; + private Boolean inStock; + @Requires(fields = @FieldSet("price weight")) + private Integer shippingPrice; +} + +@GraphQLApi +public class Api { + @Query // 0 query, that will be added into schema + public Product findByUPC(String upc) { + return new Product(upc , ...etc); + } + + @Resolver // 1 You dont receive external fields price weight here, just key + public Product resolveByUPC(String upc) { + return new Product(upc , ...etc); + } + + @Resolver // 2 The order of variables doesn't matter + public Product resolveByUPCForShipping(int price, String upc, @Name("weight") int someWeight) { + return new Product(upc , someWeight, price, (price * someWeight) /*calculate shippingPrice */, ...etc); + } + + @Resolver // 3 + public Product resolveByUPCForSource(int price, String upc) { + return new Product(upc, price, ...etc); + } + + @Requires(fields = @FieldSet("price")) + public int anotherWeight(@Source Product product) { + return product.price() * 2; + } +} +---- + +Generates the following schema: + +.... +type Product @extends @key(fields : "upc") { + anotherWeight: Int! @requires(fields : "price") + inStock: Boolean + price: Int @external + shippingPrice: Int @requires(fields : "price weight") + upc: String! @external + weight: Int @external +} + +type Query { + _entities(representations: [_Any!]!): [_Entity]! + _service: _Service! +} +.... + +These methods will only be available to the federation router, which may send requests like the following examples: + +.... +// request 1 +query { + _entities(representations: [{ + "__typename": "Product", + "upc": "1" // just id key + }]) { + __typename + ... on Product { + inStock + } + } +} + +// request 2 +query { + _entities(representations: [{ + "__typename": "Product", + "upc": "1", // id key + "price": 100, // shippingPrice requires this field + "weight": 100 // shippingPrice requires this field + }]) { + __typename + ... on Product { + inStock + shippingPrice + } + } +} + +// request 3 +query { + _entities(representations: [{ + "__typename": "Product", + "upc": "2", + "price": 1299 // anotherWeight requires this field + } + ]) { + __typename + ... on Product { + anotherWeight + } + } +} +.... + +Unfortunately, you must make separate methods with different `@External` parameters. + +It is not currently possible to combine them into one separate type. + +You also can use `@Query` (if you want to add queries into the schema) or `@Resolver` (requests 0 and 1). +And if it was requested, `++_++entities` - `@Resolvers` methods are checked first (they have higher priority). diff --git a/content/docs/smallrye-graphql/latest/gradle-plugin.adoc b/content/docs/smallrye-graphql/latest/gradle-plugin.adoc new file mode 100644 index 000000000..843bf33df --- /dev/null +++ b/content/docs/smallrye-graphql/latest/gradle-plugin.adoc @@ -0,0 +1,84 @@ += SmallRye GraphQL Gradle plugin +include::_attributes.adoc[] + +This Gradle plugin allows you to generate the GraphQL Schema on build and save it as a text file. + +Add this to your build.gradle: + +.... +plugins { + id 'io.smallrye.graphql' version 'PLUGIN_VERSION' +} +.... + +The list of existing plugin versions (to substitute the +`PLUGIN++_++VERSION` placeholder) can be found +https://plugins.gradle.org/plugin/io.smallrye.graphql[here]. + +The schema will appear as `build/generated/schema.graphql` by default. + +The plugin’s `generateSchema` task can customized like: + +.... +generateSchema { + destination = null + includeTransitiveDependencies = true + includeScalars = true +} +.... + +This will include the project’s dependencies (including the transitive +dependencies) to scan for GraphQL model classes. As the destination is +set to `null` the generated schema will only be output to the console +and saved to a file. + +In case external dependencies need to be scanned for GraphQL model +classes a more advanced configuration could look like: + +.... +configrations { + graphQLSchema +} + +dependencies { + graphQLSchema .. +} + +generateSchema { + includeDependencies = true + configurations = ["graphQLSchema"] +} +.... + +This defines a separate `graphQLSchema` configuration. In the +dependencies block the external dependencies containing the GraphQL mode +class should then be registered for the `graphQLSchema` configuration. +The `generateSchema` task is then customized to only include +dependencies from the `graphQLSchema` configuration. Also note that we +set `includeDependencies` to `true` (and not +`includeTransitiveDependencies`). This will make sure only direct +dependencies will be be scanned and not possible transitive +dependencies. + +Configuration options + +* `destination` - To override the default +`build/generated/schema.graphql` destination. +* `includeDependencies` - Scan project’s dependencies for GraphQL +model classes too. Default false. +* `includeTransitiveDependencies` - Scan project’s dependencies +(including the transitive dependencies) for GraphQL model classes +too. Default false. +* `configurations` - If the above `includeDependencies` or +`includeTransitiveDependencies` is true, you can control what +configurations should be included. Default is `implementation`. +* `dependencyExtensions` - If the above `includeDependencies` or +`includeTransitiveDependencies` is true, you can control what +dependency extensions should be included. Default is `jar`. +* `includeScalars` - Include scalars in the schema. Default false. +* `includeDirectives` - Include directives in the schema. Default +false. +* `includeSchemaDefinition` - Include the schema definition. Default +false. +* `includeIntrospectionTypes` - Include the introspection types in the +schema. Default false. diff --git a/content/docs/smallrye-graphql/latest/handling-init-payload-from-the-websocket.adoc b/content/docs/smallrye-graphql/latest/handling-init-payload-from-the-websocket.adoc new file mode 100644 index 000000000..a691d6802 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/handling-init-payload-from-the-websocket.adoc @@ -0,0 +1,25 @@ += Handling of the WebSocket's init-payload +include::_attributes.adoc[] + +When executing GraphQL operations over WebSockets (both with the `graphql-ws` and `graphql-transport-ws` protocols), +the client can send an initial payload +to the server when establishing the WebSocket connection. This payload can contain +any information that the server might need to process GraphQL requests, like client agent identification (similar to the `User-Agent` header) or data specific to the client. On the server-side, you can access this payload +via the `GraphQLContext`, which is available through the `DataFetchingEnvironment` object. + +[source,java] +---- +@GraphQLApi +public class HeroResources { + + @Inject + SmallryeContext context; + + // ... + Map initPayload = smallRyeContext + .getDataFetchingEnvironment() + .getGraphQlContext() + .get("init-payload"); + // ... +} +---- diff --git a/content/docs/smallrye-graphql/latest/images/redhat_reversed.svg b/content/docs/smallrye-graphql/latest/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-graphql/latest/index.adoc b/content/docs/smallrye-graphql/latest/index.adoc new file mode 100644 index 000000000..f277286e0 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/index.adoc @@ -0,0 +1,6 @@ += Overview +include::_attributes.adoc[] + +SmallRye GraphQL is a library that allows you to easily use GraphQL (both server-side endpoints +and client-side code) in your Java-based projects. It implements +the MicroProfile GraphQL specification. diff --git a/content/docs/smallrye-graphql/latest/inspecting-executable-directives-on-server-side.adoc b/content/docs/smallrye-graphql/latest/inspecting-executable-directives-on-server-side.adoc new file mode 100644 index 000000000..cd37d1852 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/inspecting-executable-directives-on-server-side.adoc @@ -0,0 +1,39 @@ += Inspecting executable directives on the server side +include::_attributes.adoc[] + +Let's say you have this _GraphQL query_ with an executable directive on a field _location_. + +.... +{ + hero(name: $nameValue) { + name + location @customDirective(arg: true) + } +} +.... + +To inspect your directive on the server side, you must inject a `SmallRyeContext` object and get the relevant information like this. + +[source,java] +---- + @Inject + SmallRyeContext context; + + @Query + public SuperHero getHero(String name) { + // ... + SelectionSet selectionSet = (SelectionSet) context.getDataFetchingEnvironment().getField().getChildren().get(0); + Optional locationNode = selectionSet.getChildren().stream() + .filter(node -> node instanceof Field && ((Field) node).getName().equals("location")).findAny(); // "location" is the field name where the directive is applied. + locationNode.ifPresent(node -> { + List directives = ((Field) node).getDirectives(); + System.out.println(directives); + }); + // the rest of the query... + } +---- + +____ +++[++NOTE++]++ +that `Field` refers to `graphql.language.Field`, not `io.smallrye.graphql.schema.model.Field` +____ diff --git a/content/docs/smallrye-graphql/latest/kotlin.adoc b/content/docs/smallrye-graphql/latest/kotlin.adoc new file mode 100644 index 000000000..b6ccf535d --- /dev/null +++ b/content/docs/smallrye-graphql/latest/kotlin.adoc @@ -0,0 +1,4 @@ += SmallRye Graphql in Kotlin +include::_attributes.adoc[] + +When working with SmallRye GraphQL in Kotlin, it is very important to use the `-Xemit-jvm-type-annotations` flag for the Kotlin compiler. This flag is important to generate the necessary annotations for reflection to work properly. The flag is supported as of Kotlin 1.3.70. diff --git a/content/docs/smallrye-graphql/latest/maven-plugin.adoc b/content/docs/smallrye-graphql/latest/maven-plugin.adoc new file mode 100644 index 000000000..959ef8596 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/maven-plugin.adoc @@ -0,0 +1,48 @@ += SmallRye GraphQL Maven plugin +include::_attributes.adoc[] + +This Maven plugin allows you to generate the GraphQL Schema on build and save it as a text file. + +Add this to your pom.xml: + +[source,xml] +---- + + smallrye-graphql-maven-plugin + io.smallrye + + + + generate-schema + + + + +---- + +The schema will appear as `target/generated/schema.graphql` by default. The goal is bound to the `process-classes` +build phase. + +Configuration options + +* `destination` - To override the default `target/generated/schema.graphql` destination +* `includeDependencies` - Scan project’s dependencies for GraphQL +model classes too. This is necessary if your GraphQL endpoint exposes +classes that are not in the application's main module. Off (`false`) by default, because +scanning a potentially large dependency tree slows down execution substantially. +Usage of reactive types does not require turning this option on. +* `includeDependenciesScopes` - If the above `includeDependencies` is +true, you can control what scopes should be included. Default is +`compile, system` +* `includeDependenciesTypes` - If the above `includeDependencies` is +true, you can control what types should be included. Default is +`jar` +* `includeScalars` - Include scalars in the schema. Default false. +* `includeDirectives` - Include directives in the schema. Default false. +* `includeSchemaDefinition` - Include the schema definition. Default false. +* `includeIntrospectionTypes` - Include the introspection types in the schema. Default false. +* `federationEnabled` - Enable GraphQL Federation. This is automatically +enabled if any Federation-related annotations are found in your application, otherwise the default is false. +You should generally use this in conjunction with `includeDirectives`. +* `typeAutoNameStrategy` - Strategy for transforming class names into GraphQL type names. +Valid values are `MergeInnerClass`, `Full` and`Default`. diff --git a/content/docs/smallrye-graphql/latest/mutation-void.adoc b/content/docs/smallrye-graphql/latest/mutation-void.adoc new file mode 100644 index 000000000..4fc047e25 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/mutation-void.adoc @@ -0,0 +1,24 @@ += Returning Void Type in Mutations with SmallRye GraphQL +include::_attributes.adoc[] + +While by default *MicroProfile GraphQL* specification doesn't provide direct support for returning `void` type from mutation operations, *SmallRye GraphQL* has implemented this feature based on user feedback. + +To implement a *mutation* operation that returns `void` or `Void` type, you can use the following pattern in your annotated `@GraphQLApi` class: + +[source,java] +---- + @Mutation + public void createHero(SuperHero hero) { + superHeroService.create(hero); + } +---- + +In this example, `createHero()` receives a SuperHero object as input, +performs some operation with it (in this case, creating it using a +`superHeroService`). + +____ +++[++NOTE++]++ +On the GraphQL level, this is achieved by returning a special scalar type named Void from the mutation. +This scalar type will always have a value of null. +____ diff --git a/content/docs/smallrye-graphql/latest/namespaces-on-server-side.adoc b/content/docs/smallrye-graphql/latest/namespaces-on-server-side.adoc new file mode 100644 index 000000000..896ad6537 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/namespaces-on-server-side.adoc @@ -0,0 +1,167 @@ += Namespacing on the server side +include::_attributes.adoc[] + +____ +++[++NOTE++]++ +Using approaches to form namespaces in the schema can be useful for large APIs. There are several ways to do this. +However, read the documentation carefully, especially the limitations and possible problems. +____ + +____ +++[++NOTE++]++ You can only use one of the annotations - `@Name` or `@Namespace` over the GraphQLApi classes. +____ + +== Using @Namespace annotation + +The annotation accepts an array of strings containing the nesting of the namespace. +This method allows you to create any nesting of namespaces. +You can use any nesting and also combine different levels. + +[source,java] +---- +@GraphQLApi +@Namespace({"admin", "users"}) +@Description("Admin users operations") +public class AdminUsersApi { + @Query + public List findAll() { + // + } +} + +@GraphQLApi +@Namespace({"admin"}) +@Description("Admin operations") +public class AdminApi { + @Query + public List findAll() { + // + } +} +---- + +Will generate schema + +.... +"Query root" +type Query { + admin: AdminQuery +} + +"Admin operations" +type AdminQuery { + users: AdminUsersQuery + findAll: [Admin] +} + +"Admin users operations" +type AdminUsersQuery { + findAll: [User] +} + +type Admin { + id: BigInteger + ... +} + +type User { + id: BigInteger + ... +} +.... + +And you can send GraphQL request like: + +.... +query { + admin { + users { + findAll { + id + } + } + } +} +.... + +== Using @Name annotation (deprecated) + +____ +++[++NOTE++]++ This feature may be removed in the future. +____ + +It does the same thing as `@Namespace`, the only difference is that there can only be one nesting level. + +[source,java] +---- +@GraphQLApi +@Name("users") +@Description("Users operations") +public class UserApi { + @Query + public List findAll() { + // + } +} +---- + +As a result, you can get methods with the same names. + +.... +query { + users { + findAll { + .... + } + } +} +.... + +== Problems + +While dividing APIs into namespaces may seem convenient, several issues are important to be aware of. + +=== Mutations + +On the client side, be careful when working with mutations. +This violates the GraphQL specification since mutations in this form can be executed in parallel. +Read more here about namespaces https://www.apollographql.com/docs/technotes/TN0012-namespacing-by-separation-of-concern/[Namespacing by Separation of Concerns]. +This article describes how to work with namespaces, what problems you may encounter, and how to solve them. + +What does GraphQL say about this - https://benjie.dev/graphql/nested-mutations["GraphQL" Nested Mutations] + +In summary, you can use nested mutations, but with some overhead on the client side. Be careful with mutations. + +==== Subscriptions + +GraphQL does not guarantee subscription resolution within namespaces. +While you can define subscriptions in namespaces, the generated schema will be valid, but the subscription will not be resolved. +For example, if you try to run such a subscription request, you will get an error. This is the behavior of `graphql-java`. + +[source,java] +---- +@GraphQLApi +@Namepace("resource") +public class ResourceApi { + @Subscription + public Multi resourceChange() { + // + } +} +---- + +.... +subscription { + resource { + resourceChange { + .... + } + } +} +.... + +There is currently no way around this problem. +You must move subscriptions into a separate `@GraphQLApi` class that does not declare any namespace. +++>++ ++[++NOTE++]++ +++>++ Be very careful when designing API with namespace. +++>++ And be aware of all the potential consequences when working with mutations and subscriptions. diff --git a/content/docs/smallrye-graphql/latest/server-configuration.adoc b/content/docs/smallrye-graphql/latest/server-configuration.adoc new file mode 100644 index 000000000..054c01128 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/server-configuration.adoc @@ -0,0 +1,38 @@ += Configuration properties +include::_attributes.adoc[] + +These are properties understood directly by SmallRye GraphQL. If you're using SmallRye GraphQL through +Quarkus, these will generally work, but Quarkus offers its own counterparts for most of these, +and it is recommended to use the `quarkus.++*++` properties. Refer to the Quarkus documentation: +https://quarkus.io/guides/all-config#quarkus-smallrye-graphql_quarkus-smallrye-graphql-smallrye-graphql[Server] and +https://quarkus.io/guides/all-config#quarkus-smallrye-graphql-client_quarkus-smallrye-graphql-client-smallrye-graphql-client[Client] +side Quarkus properties. + +== From MicroProfile GraphQL + +[width="100%",cols="33%,35%,32%",options="header",] +|=== +|Property |Default value |Meaning +|`mp.graphql.defaultErrorMessage` |`Server Error` |Error message for hidden exceptions +|`mp.graphql.hideErrorMessage` |Runtime exceptions |Exceptions that will be hidden +|`mp.graphql.showErrorMessage` |Checked exceptions |Exceptions that will not be hidden. +|=== + +== From SmallRye GraphQL + +[width="100%",cols="33%,35%,32%",options="header",] +|=== +|Property |Default value |Meaning +|`smallrye.graphql.printDataFetcherException` |`false` |Include the stacktrace of the data fetching exception in the log output +|`smallrye.graphql.allowGet` |`false` |Allow HTTP GET Method +|`smallrye.graphql.metrics.enabled` |`false` |Enable metrics +|`smallrye.graphql.tracing.enabled` |`false` |Enable tracing +|`smallrye.graphql.validation.enabled` |`true` if Bean Validation is present |Enable Bean Validation. This property is DEPRECATED, setting to `false` won't actually turn off validation. It will be removed in a future release. +|`smallrye.graphql.events.enabled` |`true` if one of metrics, tracing or bean validation is true |Enable eventing +|`smallrye.graphql.logPayload` |`false` |Log the payload in the log file +|`smallrye.graphql.fieldVisibility` | |To control the field visibility on introspection +|`smallrye.graphql.schema.includeScalars` |`true` |Include Scalar definitions in the schema +|`smallrye.graphql.schema.includeSchemaDefinition` |`false` |Include Schema definition +|`smallrye.graphql.schema.includeDirectives` |`false` |Include directives in the schema +|`smallrye.graphql.schema.includeIntrospectionTypes` |`false` |Include Introspection types in the schema +|=== diff --git a/content/docs/smallrye-graphql/latest/target-for-input-types.adoc b/content/docs/smallrye-graphql/latest/target-for-input-types.adoc new file mode 100644 index 000000000..0b990f0c1 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/target-for-input-types.adoc @@ -0,0 +1,72 @@ += Target fields for input types +include::_attributes.adoc[] + +The `@Source` annotation extends *output* types by adding externally-defined fields. Its +counterpart for *input* types is `@Target` (`io.smallrye.graphql.api.Target`). + +With `@Target`, you can add fields to a GraphQL input type the same way `@Source` adds fields to +an output type. The annotated parameter receives the input object, and a sibling parameter +receives the value sent by the client for that field. The method name becomes the input field +name in the schema (overridable with `@Name`), and `@Description` can be added on the method. + +Server-side example: + +[source,java] +---- +import io.smallrye.graphql.api.Target; + +@GraphQLApi +public class CharacterService { + + @Mutation + public Character save(Character input) { + // the input may have been modified by @Target methods below + return input; + } + + public void applyTwitterHandle(@Target Character character, String twitterHandle) { + character.setTwitterHandle(twitterHandle); + } +} +---- + +This generates an extended input type in the schema: + +[source,graphql] +---- +input CharacterInput { + # ... regular fields ... + twitterHandle: String # added by the applyTwitterHandle method +} +---- + +When a client sends a mutation that includes the `twitterHandle` field, the corresponding +`@Target` method is invoked at runtime. If the field is omitted, the method is not called. + +Multiple `@Target` methods on the same input type are supported: + +[source,java] +---- +public void applyTwitterHandle(@Target Character character, String twitterHandle) { + character.setTwitterHandle(twitterHandle); +} + +public void applyNumber(@Target Character character, Integer rating) { + character.setRating(rating); +} +---- + +A `Context` parameter can be injected into target methods: + +[source,java] +---- +public void applyWithContext(@Target Character character, String value, Context context) { + String fieldName = context.getFieldName(); + // ... +} +---- + +____ +++[++NOTE++]++ +`@Target` is currently marked as experimental. +____ diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-accessing-metadata-of-responses.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-accessing-metadata-of-responses.adoc new file mode 100644 index 000000000..cb9875c8d --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-accessing-metadata-of-responses.adoc @@ -0,0 +1,81 @@ += Accessing Metadata of GraphQL Responses with TypesafeResponse +include::_attributes.adoc[] + +The TypesafeResponse class provides a wrapper around the "data" +field of GraphQL responses, along with additional metadata such as errors, +extensions, and transport metadata. Here are the methods you can use to access each type of metadata: + +== Transport metadata + +use `getTransportMeta()` method to retrieve a map of transport metadata associated with the response. +++>++ ++[++NOTE++]++ +++>++ Note that the transport metadata referred to in the context of HTTP requests +++>++ and responses is commonly found in the headers of the communication. +++>++ Therefore, the getTransportMeta() method mentioned here can be used to +++>++ retrieve a map of HTTP headers. +### Extensions +use `getExtensions()` method to retrieve a JsonObject of response extensions. +The method returns a JSON object that represents the response extensions. + +=== Data + +use `get()` method to retrieve the data object. The method returns the data +object if it exists and there are no errors. If there are errors, +it throws a NoSuchElementException with the error message. + +=== Errors + +use `getErrors()` method to retrieve a list of GraphQL errors. +The method returns a list of errors if there are errors and no data object. +If there is a data object, it throws a NoSuchElementException with the error message. + +____ +++[++NOTE++]++ +Note that the get() method assumes that the response has a data object, +and will throw an exception if there are errors without a data object. +If you want to check for errors before retrieving the data object, +use the hasErrors() method, which returns true if there are errors and false otherwise. +____ + +You can use these methods to access and process the metadata of GraphQL +responses returned by the TypesafeResponse class. + +Let's say you want to get as a client extensions from the GraphQL response. +First of all you will need to modify your `GraphQLClientApi` interface to have +your return type class (in this case `SuperHero`) wrapped with +`TypesafeResponse` class. +I.e. your `GraphQLClientApi` interface could look like this: + +[source,java] +---- +import examples.typesafeclient.SuperHero; +import io.smallrye.graphql.client.typesafe.api.TypesafeResponse; + +@GraphQLClientApi +public interface SuperHeroApi { + // ... + TypesafeResponse findSuperHeroByName(String name); + // ... +} +---- + +____ +++[++NOTE++]++ +Note that you can have `TypesafeResponse++<++T++>++` only as a result (return) type of your query. +Unlike `ErrorOr` the class cannot wrap individual fields. +If that is the case `IllegalArgumentException` will be thrown. +____ + +And now to get `extensions` from the response your code will look like something like this: + +[source,java] +---- + @Inject + SuperHeroApi client; + + TypesafeResponse superheroResponse = client.findSuperHeroByName("Batman"); + // returns the "data" field + SuperHero superhero = superhero.get(); + // returns the "extensions" field + JsonObject extensions = superhero.getExtensions(); +---- diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-custom-scalars.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-custom-scalars.adoc new file mode 100644 index 000000000..c6fbc61ce --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-custom-scalars.adoc @@ -0,0 +1,38 @@ += Custom scalar types +include::_attributes.adoc[] + +If the remote service contains custom scalar types represented as strings in GraphQL documents, +a typesafe client can learn to understand these types through introducing a class that represents them. +The class has to contain logic necessary for serializing and deserializing from/to raw strings. + +A model class is considered to represent a scalar GraphQL type if it contains a static builder method +named `of`, `valueOf`, or `parse` whose sole parameter is a `java.lang.String` and it returns an +instance of the class itself. The name of the GraphQL type is assumed to be equal to the short name +of the class. + +For example, if the server supports a `URL` type (there is a `scalar URL` clause in the schema), +create a class that represents a value for `URL`: + +[source,java] +---- +public class URL { + + private String value; + + public URL(String value) { + this.value = value; + } + + public static URL valueOf(String value) { // <1> + return new URL(value); + } + + @Override + public String toString() { // <2> + return value; + } +} +---- + +* ++<++1++>++ The static `valueOf(String)` method will be used for deserializing a `URL` from a string. +* ++<++2++>++ The `toString()` will be used for serializing a `URL` into a string to be sent to the GraphQL service diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-directives.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-directives.adoc new file mode 100644 index 000000000..046e90feb --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-directives.adoc @@ -0,0 +1,53 @@ += Typesafe Client Static Directives +include::_attributes.adoc[] + +== Custom Static Directives + +The declaration of custom static directives for the typesafe client follows the same principles as the server-side xref:directives.adoc[directives]. With only exception of using the https://spec.graphql.org/draft/#ExecutableDirectiveLocation[Executable Directive Locations] instead of Type System Directive Locations. + +[source,java] +---- +@Directive(on = { FIELD, VARIABLE_DEFINITION }) +@Retention(RUNTIME) +public @interface MyDirective { + String value() default ""; +} +---- + +Applying this to your API should look like this: + +[source,java] +---- +import io.smallrye.graphql.client.typesafe.api.GraphQLClientApi; + +@GraphQLClientApi +public @interface MyClientApi { + + @Query + @MyDirective("top-level field") + MySuperHero getMySuperHero(@MyDirective("variable definition") String nameOfMySuperHero); + + class MySuperHero { + @MyDirective("field") + String name; + } +} +---- + +Your API is going to generate a query something like this: + +.... +query mySuperHero( + $nameOfMySuperHero: String @myDirective(value: "variable definition") +) { + mySuperHero(nameOfMySuperHero: $nameOfMySuperHero) + @myDirective(value: "top-level field") { + name @myDirective(value: "field") + } +} +.... + +____ +++[++NOTE++]++ +The current implementation supports only FIELD and VARIABLE++_++DEFINITION locations. +____ diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-error-handling.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-error-handling.adoc new file mode 100644 index 000000000..dd8464f37 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-error-handling.adoc @@ -0,0 +1,60 @@ += Error handling in typesafe clients +include::_attributes.adoc[] + +== System-level errors + +If the service returns a system-level error (which means the response body doesn't contain +a valid GraphQL response document), the client invocation will throw a +`io.smallrye.graphql.client.InvalidResponseException` +whose message contains information about the received status code, status message, and body +contents. + +== Application-level errors + +If the service returns one or more application-level errors (which means that +there is valid GraphQL response in the body that has a non-empty `errors` entry), +the client normally throws a `GraphQLClientException` containing the details in a list of +`GraphQLClientError`. + +____ +++[++NOTE++]++ +An error response is considered application-level regardless of the HTTP status code as long as it +contains a valid GraphQL response. We define a GraphQL response as a well-formed JSON document +that contains at least one of `errors`, `data` and `extensions` entries, and no other entries beyond +that. +____ + +If the error is specific to a `location`, you can use an `ErrorOr` +wrapper on the target field; the client the maps the error to that +wrapper instead of throwing an exception. I.e. your `SuperHero` class +could look like this: + +[source,java] +---- +class SuperHero { + String name; + ErrorOr location; +} +---- + +If the service returns a response like this: + +[source,json] +---- +{ + "data": { + "superHero": { + "name": "Wolverine", + "location": null + } + }, + "errors": [{ + "message":"location unknown", + "path": ["superHero","location"], + "extensions":{"code":"location-unknown"} + }] +} +---- + +Then the `SuperHero#location` wrapper field will not contain a `value` +but only the error above. See the `ErrorOr` class for details. diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-headers.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-headers.adoc new file mode 100644 index 000000000..d3dea2f6c --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-headers.adoc @@ -0,0 +1,84 @@ += Adding headers +include::_attributes.adoc[] + +To add a custom header to the http requests sent out by the GraphQL +Client, annotate your method or the API interface as `@Header`, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + @Header(name = "S.H.I.E.L.D.-Clearance", constant = "TOP-SECRET") + List allHeroesIn(String location); +} +---- + +The value can be specified with a `constant` or the name of a `method` for dynamic values, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + @Header(name = "S.H.I.E.L.D.-Clearance", method = "establishShieldClearance") + List allHeroesIn(String location); + + static Clearance establishShieldClearance() { + return userIsInRole(MANAGER) ? TOP_SECRET : PUBLIC; + } +} +---- + +* This example uses an enum, but it can be any Object; the GraphQL client +calls `toString()` to convert it. + +The method must be `static` and accessible by the interface, i.e. in the +interface itself or in one of the classes it’s nested in; if it’s in a +different class, prefix it with the fully qualified class name and a dot +`"."`, e.g. +`@Header(name = "S.H.I.E.L.D.-Clearance", method = "org.superheroes.SecurityTools.establishShieldClearance")`. + +A third option is to pass the value of a header as an API method +parameter: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + List allHeroesIn(String location, @Header(name = "S.H.I.E.L.D.-Clearance") Clearance clearance); +} +---- + +The `@Header` parameter will not be part of the GraphQL query. + +The `name` of the header is always static, but can optionally be derived from the name of the parameter or method, i.e. if it has a `@Name` annotation, that annotation value is used. If it's not annotated, the method name (eventually stripped off a leading `get`) or the parameter name (if it's enabled in the compiler settings) is converted from camel case to kebab case, i.e. a parameter `@Header String requestIdentifier` will result in a header named `Request-Identifier`. + +`@Header` annotations can also be defined via `@Stereotype`. + +When instantiating the API with the builder, you can set (or overwrite) +one or more headers there: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder() + .header("S.H.I.E.L.D.-Clearance", "TOP-SECRET") + .build(SuperHeroesApi.class); +---- + +Authorization headers + +To add an `Authorization` header, instead of using the generic `@Header` +annotation, you can also use the special `@AuthorizationHeader` +annotation. It produces a `BASIC` `Authorization` header by default or a +`BEARER` token. You can configure the credentials in MP Config with a +prefix plus `/mp-graphql/` and either `username` and `password` for +`BASIC` or `bearer` for `BEARER`. The config key defaults to the fully +qualified name of the `GraphQLClientApi` interface or its `configKey`. + +You can use a custom prefix by setting the `confPrefix`. The infix +`/mp-graphql/` is still applied, unless you end the `confPrefix` with +`++*++`, e.g. +`@AuthorizationHeader(confPrefix = "org.superheroes.security.basic.++*++` +will use `org.superheroes.security.basic.username`, while `++*++` will use +plain `username`. + +`@AuthorizationHeader` annotations can be defined via `@Stereotype`. diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-logging.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-logging.adoc new file mode 100644 index 000000000..dad8dffc9 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-logging.adoc @@ -0,0 +1,7 @@ += Logging in typesafe clients +include::_attributes.adoc[] + +The Client implementation logs all GraphQL requests and responses at +level `INFO` with the interface API as the logger name. It also logs the +keys of all headers added at level `DEBUG`; not the values, as they may +be security sensitive. diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-multiple-queries.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-multiple-queries.adoc new file mode 100644 index 000000000..80b399f00 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-multiple-queries.adoc @@ -0,0 +1,48 @@ += Multiple +include::_attributes.adoc[] + +Say you need the result from several root queries, e.g. all +`superHeroes` and all `superVillains`. Java only supports a single +return value, so you’ll need a wrapper class: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + HeroesAndVillains heroesAndVillains(); +} + +@Multiple +class HeroesAndVillains { + List superHeroes; + List superVillains; +} +---- + +The `@Multiple` annotation 'inlines' the wrapper class, i.e. the actual +query is: + +[source,graphql] +---- +query heroesAndVillains { superHeroes {...} superVillains {...}} +---- + +The actual response below will be mapped to an instance of the +`HeroesAndVillains` wrapper class: + +[source,json] +---- +{ + "data": { + "superHeroes": [ ... ], + "superVillains": [ ... ] + } +} +---- + +If the nested queries require parameters, use `@` annotations to put +them on the field (remember: GraphQL fields can have parameters). + +If you need the same request several times (e.g. with different query +parameters), use `@Name` annotations, so the actual field names are used +as xref:#_name_mapping_aliases[alias]. diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-reactive-types.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-reactive-types.adoc new file mode 100644 index 000000000..a1c7b98c1 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-reactive-types.adoc @@ -0,0 +1,48 @@ += Reactive types usage in typesafe clients +include::_attributes.adoc[] + +== Reactive types with queries and mutations + +Regardless of the type that a query or mutation returns, you can always wrap the return type in a `Uni` in your +`@GraphQLClientApi` interface. The `Uni` will be completed after the response is received and processed. + +== Subscriptions + +The return type of a subscription operation must always be wrapped in a `Multi`. +The communication with the server runs over a WebSocket. + +=== Important note about errors + +When using the typesafe client for subscriptions, if it is expected that the server might return errors, +then it is highly recommended to wrap the return types into an `ErrorOr` +(for example, turn the API method `@Subscription Multi++<++Person++>++ people` into `@Subscription Multi++<++ErrorOr++<++Person++>>++ people`). +The reason is once there is an error returned from the service and the result can't be turned into a domain object due to that, +the `Multi` will receive a failure as a result. Because of the design of Mutiny, a `Multi` can't continue producing any items after +a failure. That means the subscription will be cancelled after the first error, even though the server might continue +sending more items. In such case, your application would have to detect the error and start a new subscription. +See xref:typesafe-client-error-handling.adoc[Error handling] for more details on how to use `ErrorOr`. + +=== Subscription example + +Given a server-side definition like this: + +[source,java] +---- +@Subscription +public Multi countToFive() { + return Multi.createFrom().range(0, 5); +} +---- + +A client to consume this subscription can look like this: + +[source,java] +---- +client.countToFive + .subscribe() + .with( // onItem: + i -> System.out.println("Received number" + i), + // onFailure: + (t) -> t.printStackTrace() + ); +---- diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-unions-and-interfaces.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-unions-and-interfaces.adoc new file mode 100644 index 000000000..36bf138b8 --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-unions-and-interfaces.adoc @@ -0,0 +1,164 @@ += Unions & Interfaces +include::_attributes.adoc[] + +If you consume a GraphQL service with a schema containing either a `Union` or an `Interface`, +the client needs to request different fields via fragments, depending on the requested sub-type, +and deserialize a polymorphic type. + +This is quite complex on the GraphQL side, but the typesafe client makes it very easy to use. + +Unions + +One common use-case for Unions is returning a business error, e.g. when searching for a super hero, +either you find a super hero and maybe you want the name and other fields, +or you don't find it, and maybe you want a message with the reason. +Such a query could look like this: + +[source,graphql] +---- +query find($name: String) { + find(name: $name){ + __typename + ... on SuperHero {name} + ... on SuperHeroNotFound {message} + } +} +---- + +When it finds your super hero, the service could respond with this: + +[source,json] +---- +{ + "data": { + "find": { + "__typename": "SuperHero", + "name": "Spider-Man" + } + } +} +---- + +Or if it doesn't find it, the response could look like this: + +[source,json] +---- +{ + "data": { + "find": { + "__typename":"SuperHeroNotFound", + "message":"There is no hero named Foo" + } + } +} +---- + +On the Java side, this maps quite nicely to an interface, e.g. `SuperHeroResponse` +implemented by the two possible classes returned, e.g. `SuperHero` and `SuperHeroNotFound`; +you only need to provide the typesafe client with this information about these sub-classes by using the +https://jakarta.ee/specifications/jsonb/3.0/jakarta-jsonb-spec-3.0#polymorphic-types[`JSON-B` Polymorphic Types] +annotations `@JsonbTypeInfo` and `@JsonbSubtype`: + +[source,java] +---- + @Union + @JsonbTypeInfo(key = "__typename", value = { + @JsonbSubtype(alias = "SuperHero", type = SuperHero.class), + @JsonbSubtype(alias = "NotFound", type = NotFound.class) + }) + public interface SuperHeroResponse { + } + + public static class SuperHero implements SuperHeroResponse { + String name; + + String getName() { + return name; + } + } + + @Type("SuperHeroNotFound") + public static class NotFound implements SuperHeroResponse { + String message; + + String getMessage() { + return message; + } + } + + @GraphQLClientApi + interface UnionApi { + SuperHeroResponse find(String name); + } +---- + +Note that we rename the `NotFound` class into the GraphQL type `SuperHeroNotFound` to demo that use-case. + +The `@Union` annotation is actually not used and only helps to document what's happening behind the scenes. + +Interfaces + +If a service returns an GraphQL `interface`, that's visible only in the schema; +queries and responses work exactly like for a `union`. +So, interfaces are very similar to unions; but they can share common fields between the sub-types. + +E.g. a query returning either a `MainCharacter` or a `SideKick`, could look like this: + +[source,graphql] +---- +query find($name: String) { + find(name: $name){ + __typename + ... on MainCharacter {name superPower} + ... on SideKick {name mainCharacter} + } +} +---- + +The Java side looks very similar the Union example above: + +[source,java] +---- +@JsonbTypeInfo(key = "__typename", value = { + @JsonbSubtype(alias = "MainCharacter", type = MainCharacter.class), + @JsonbSubtype(alias = "SideKick", type = SideKick.class) +}) +public interface SearchResult { + String getName(); +} + +public static class MainCharacter implements SearchResult { + String name; + String superPower; + + @Override + public String getName() { + return name; + } + + public String getSuperPower() { + return superPower; + } +} + +public static class SideKick implements SearchResult { + String name; + String mainCharacter; + + @Override + public String getName() { + return name; + } + + public String getMainCharacter() { + return mainCharacter; + } +} + +@GraphQLClientApi +interface InterfaceApi { + SearchResult find(String name); + + List all(); +} +---- diff --git a/content/docs/smallrye-graphql/latest/typesafe-client-usage.adoc b/content/docs/smallrye-graphql/latest/typesafe-client-usage.adoc new file mode 100644 index 000000000..4dabe814b --- /dev/null +++ b/content/docs/smallrye-graphql/latest/typesafe-client-usage.adoc @@ -0,0 +1,301 @@ += Java code-first type-safe GraphQL Client API +include::_attributes.adoc[] + +A Java code-first type-safe GraphQL Client API suggestion for +https://github.com/eclipse/microprofile-graphql/issues/185[Microprofile GraphQL Issue +#185]. + +== Basic Usage + +Creating the client-side counterpart of the GraphQL API: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/SuperHeroesApi.java[] +---- + +A model class: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/SuperHero.java[] +---- + +Injecting the client using CDI and using it: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/MyClientUsage.java[] +---- + +* The default request type is `query`. To make it a mutation, annotate +it `@Mutation`. The parameter name is only available if you compile +the source with the `-parameters` option. Otherwise, you’ll have to +annotate all parameters with `@Name`. + +The example above uses CDI, e.g. when you are in a MicroProfile or +Jakarta EE environment. If you are in an environment without CDI +support, you need to instantiate the API interface by using the builder: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder().build(SuperHeroesApi.class); +---- + +The basic idea of the Java code-first approach is to start by +writing the DTOs and query/mutation methods as you need them in your +client. This ensures that you don’t request fields that you don’t need; +the thinking is inspired by https://martinfowler.com/articles/consumerDrivenContracts.html[Consumer Driven +Contracts]. + +If the server uses names different from yours, you can use annotations to do a mapping: + +=== Name Mapping / Aliases + +If the server defines a different field or parameter name, annotate it +with `@Name`. If the server defines a different query name, annotate the +method as, e.g., `@Query("findHeroesCurrentlyLocatedIn")`. + +By renaming methods, you can also define several variations of the same +request but using different return types or parameters. E.g.: + +[source,java] +---- +public interface SuperHeroesApi { + SuperHero findHeroByName(String name); + + @Query("findHeroByName") + SuperHeroWithTeams findHeroWithTeamsByName(String name); +} +---- + +* The `SuperHero` class has no team affiliations (for this example). +* The `SuperHeroWithTeams` class has a `List++<++Team++>++ teamAffiliations` +field. The actual query name is still `findHeroByName`. The `Team` +class doesn’t contain the members to break recursion. + +If you rename a field or method, the real field or method name will be +used as an alias, so you can select the same data twice (see `and` +below). + +=== Configuration + +If the endpoint is always the same, e.g. a public API of a cloud +service, you can add the URL to your API annotation, e.g.: + +[source,java] +---- +@GraphQLClientApi(endpoint = "https://superheroes.org/graphql") +interface SuperHeroesApi { +} +---- + +When instantiating the API with the builder, you can set (or overwrite) +the endpoint there: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder() + .endpoint("https://superheroes.org/graphql") + .build(SuperHeroesApi.class); +---- + +Commonly you’ll need different endpoints, e.g. when you need one +endpoint for your production system, but a different endpoint for your +test system. Simply use https://download.eclipse.org/microprofile/microprofile-config-1.4/microprofile-config-spec.html[MicroProfile +Config] +to set the endpoint; similar to the https://download.eclipse.org/microprofile/microprofile-rest-client-1.4.1/microprofile-rest-client-1.4.1.html[MicroProfile Rest +Client], +the key for the endpoint is the fully qualified name of the API +interface, plus `/mp-graphql/url`, e.g.: + +[source,properties] +---- +org.superheroes.SuperHeroesApi/mp-graphql/url=https://superheroes.org/graphql +---- + +If you want to use a different key, set the base config key on the +annotation `@GraphQLClientApi(configKey = "superheroes")`; then use this +key for the endpoint `superheroes/mp-graphql/url`. + +When using the builder, you can override the config key as well: +`TypesafeGraphQLClientBuilder.newBuilder().configKey("superheroes")`. + +=== NestedParameter + +Some APIs require parameters beyond the root level, e.g. for filtering +or paginating nested lists. Say you have a schema like this: + +[source,graphql] +---- +type Query { + team(name: String!): Team! +} + +type Team { + members(first: Int!): [SuperHero!]! +} +---- + +To pass the parameter to the nested field/method, annotate it as +`@NestedParameter`, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface TeamsApi { + Team team(String name, @NestedParameter("members") int first); +} +---- + +The value of the `@NestedParameter` annotation is the dot-delimited path +to the nested field/method that the value should be added to. + +Example of server code + +[source,java] +---- +@GraphQLApi +public class RoleApi { + @Query + public List findAllRolesByUserId(@NonNull UUID userId) { + // return roles + } + + public List permission(@Source Roles role, @DefaultValue("5") int limit) { + // return permissions, based on roles + } + + public List permissionType(@Source Permission permission, @DefaultValue("5") int limit) { + // return permissionType, based on permission + } +} +---- + +Query looks like + +.... +query { + findAllRolesByUserId(userId: ...) { + id + permission(limit: 2) { + id + permissionType(limit: 3) { + id + } + } + } +} +.... + +On the client side, you can declare the following code: + +[source,java] +---- +public record PermissionType(Long id) { +} + +public record Permission(Long id, List permissionType) { +} + +public record Role(UUID id, List permission) { +} + +@GraphQLClientApi +public interface ApiClient { + List findAllRolesByUserId( + UUID userId, + @NestedParameter("permission") @Name("limit") int permissionLimit, + @NestedParameter("permission.permissionType") @Name("limit") int permissionTypeLimit + ); +} +---- + +== Namespaces + +There are several ways to work with namespaces in a type-safe client: +1. Using `@Namespace` +2. Using `@Name` (deprecated) + +____ +++[++NOTE++]++ You can only use one of the annotations - `@Name` or `@Namespace` on a `GraphClientQLApi` interface. +____ + +=== Using @Namespace annotation + +The `@Namespace` annotation accepts an array of strings specifying the nesting levels of the namespace. +This flexible approach allows you to create namespaces with any desired level of nesting, combining different levels as needed. + +If the remote GraphQL API has the following schema: + +.... +"Query root" +type Query { + admin: AdminQuery +} + +type AdminQuery { + users: AdminUsersQuery +} + +type AdminUsersQuery { + findAll: User +} + +type User { + id: BigInteger + [...] +} +.... + +While declaring the following interface: + +[source,java] +---- +@Namespace({"admin", "users"}) +@GraphQLClientApi +public interface UsersClient { + List findAll(); +} +---- + +Its outcome will be the following GraphQL query: + +.... +query AminUsersFindAll { + admin { + users { + findAll { + id + } + } + } +} +.... + +=== Using @Name (deprecated) + +____ +++[++NOTE++]++ This feature may be removed in the future. +____ + +The `@Name` annotation functions similarly to `@Namespace`, but it is limited to a single nesting level. + +.... +query { + users { + findAll { + ... + } + } +} +.... + +[source,java] +---- +@Name("users") +@GraphQLClientApi +public interface ApiClient { + List findAll(); +} +---- diff --git a/content/docs/smallrye-graphql/latest/using-smallrye-stork.adoc b/content/docs/smallrye-graphql/latest/using-smallrye-stork.adoc new file mode 100644 index 000000000..46064219c --- /dev/null +++ b/content/docs/smallrye-graphql/latest/using-smallrye-stork.adoc @@ -0,0 +1,53 @@ += Using SmallRye Stork +include::_attributes.adoc[] + +SmallRye GraphQL client (both dynamic and typesafe) supports SmallRye Stork for +service discovery and load balancing. If your client is configured to connect to a URI +with the `stork://` or `storks://` scheme, then Stork will be used to determine the +actual endpoints to connect to. Load balancing, if configured, will be applied in a way that +each HTTP request can be routed to a different service instance. For WebSocket traffic, +once a WebSocket connection is established, the client will keep using that connection +for as long as possible. If that connection is lost for any reason and needs to be +reestablished, then the load balancer can route it to a different instance. + +== Using with Quarkus + +The dependency on Stork is declared as optional, so if you want to use it, you might need +to add it explicitly. If you're using Quarkus, use the Stork extension along with +the desired service discovery implementation, for example: + +.... + + io.quarkus + quarkus-smallrye-stork + + + io.smallrye.stork + smallrye-stork-service-discovery-static-list + +.... + +Example configuration in Quarkus `application.properties`: + +.... +quarkus.smallrye-graphql-client.myclient.url=stork://foo-service/graphql +quarkus.stork.foo-service.service-discovery.type=static +quarkus.stork.foo-service.service-discovery.address-list=server1.com:8080,server2.com:8080 +.... + +== When running as a standalone application + +If you're using the client in a standalone mode outside any container that handles +Stork initialization for you, you might need two additional steps to get it working: + +Add a configuration provider for Stork, such as + +.... + + io.smallrye.stork + stork-microprofile-config + +.... + +And before initializing any GraphQL client instances, make sure that Stork is initialized +by calling `io.smallrye.stork.Stork.initialize()` once. diff --git a/content/docs/smallrye-graphql/main/_attributes.adoc b/content/docs/smallrye-graphql/main/_attributes.adoc new file mode 100644 index 000000000..2e27c956b --- /dev/null +++ b/content/docs/smallrye-graphql/main/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 3.0.0.Beta8 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye GraphQL +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.0.0.Beta8 +:relfileprefix: /docs/smallrye-graphql/main/ +:imagesdir: /docs/smallrye-graphql/main +:docs-project: smallrye-graphql +:docs-version: main +:docs-ref: main diff --git a/content/docs/smallrye-graphql/main/_examples/examples/dynamicclient/MyClientUsage.java b/content/docs/smallrye-graphql/main/_examples/examples/dynamicclient/MyClientUsage.java new file mode 100644 index 000000000..1647626af --- /dev/null +++ b/content/docs/smallrye-graphql/main/_examples/examples/dynamicclient/MyClientUsage.java @@ -0,0 +1,37 @@ +package examples.dynamicclient; + +import examples.typesafeclient.SuperHero; +import io.smallrye.graphql.client.GraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.core.Document; +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; + +import jakarta.inject.Inject; +import tools.jackson.databind.node.ArrayNode; +import java.util.List; +import java.util.concurrent.ExecutionException; + +import static io.smallrye.graphql.client.core.Argument.arg; +import static io.smallrye.graphql.client.core.Argument.args; +import static io.smallrye.graphql.client.core.Document.document; +import static io.smallrye.graphql.client.core.Field.field; +import static io.smallrye.graphql.client.core.Operation.operation; + +public class MyClientUsage { + + @Inject + @GraphQLClient("superHeroes") + DynamicGraphQLClient client; + + public void execute() throws ExecutionException, InterruptedException { + Document document = document( // <1> + operation(field("allHeroesIn", + args(arg("location", "Outer Space")), + field("name"), + field("superPowers")))); + Response response = client.executeSync(document); // <2> + + ArrayNode heroesArray = (ArrayNode) response.getData().get("allHeroesIn"); // <3> + List heroes = response.getList(SuperHero.class, "allHeroesIn"); // <4> + } +} diff --git a/content/docs/smallrye-graphql/main/_examples/examples/dynamicclient/MyClientUsageString.java b/content/docs/smallrye-graphql/main/_examples/examples/dynamicclient/MyClientUsageString.java new file mode 100644 index 000000000..c761d64b1 --- /dev/null +++ b/content/docs/smallrye-graphql/main/_examples/examples/dynamicclient/MyClientUsageString.java @@ -0,0 +1,39 @@ +package examples.dynamicclient; + +import io.smallrye.graphql.client.GraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; + +import jakarta.inject.Inject; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ExecutionException; + +public class MyClientUsageString { + + @Inject + @GraphQLClient("superheroes") + DynamicGraphQLClient client; + + public void execute() throws ExecutionException, InterruptedException { + String queryWithInlineVariables = // <1> + "query {" + + " allHeroesIn(location: \"Outer Space\") {" + + " name" + + " superPowers" + + " }" + + "}"; + Response response = client.executeSync(queryWithInlineVariables); + + String queryWithExtractedVariables = // <2> + "query($loc: String) {" + + " allHeroesIn(location: $loc) {" + + " name" + + " superPowers" + + " }" + + "}"; + Map variables = new HashMap<>(); // <3> + variables.put("loc", "Outer Space"); + Response response2 = client.executeSync(queryWithExtractedVariables, variables); + } +} diff --git a/content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/MyClientUsage.java b/content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/MyClientUsage.java new file mode 100644 index 000000000..be521d196 --- /dev/null +++ b/content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/MyClientUsage.java @@ -0,0 +1,16 @@ +package examples.typesafeclient; + +import jakarta.inject.Inject; +import java.util.List; + +public class MyClientUsage { + + @Inject + SuperHeroesApi superHeroesApi; + + public void execute() { + List allHeroes = superHeroesApi.allHeroesIn("Outer Space"); + // ... + } + +} diff --git a/content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/SuperHero.java b/content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/SuperHero.java new file mode 100644 index 000000000..7c19a1119 --- /dev/null +++ b/content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/SuperHero.java @@ -0,0 +1,12 @@ +package examples.typesafeclient; + +import java.util.List; + +public class SuperHero { + + private String name; + private List superPowers; + + // plus getters and setters + +} diff --git a/content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/SuperHeroesApi.java b/content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/SuperHeroesApi.java new file mode 100644 index 000000000..0fae71966 --- /dev/null +++ b/content/docs/smallrye-graphql/main/_examples/examples/typesafeclient/SuperHeroesApi.java @@ -0,0 +1,12 @@ +package examples.typesafeclient; + +import io.smallrye.graphql.client.typesafe.api.GraphQLClientApi; + +import java.util.List; + +@GraphQLClientApi +public interface SuperHeroesApi { + + List allHeroesIn(String location); + +} diff --git a/content/docs/smallrye-graphql/main/_nav.yml b/content/docs/smallrye-graphql/main/_nav.yml new file mode 100644 index 000000000..bfa9b0569 --- /dev/null +++ b/content/docs/smallrye-graphql/main/_nav.yml @@ -0,0 +1,76 @@ +title: SmallRye GraphQL +nav: +- title: Overview + page: index +- title: Server side features + items: + - title: Customizing JSON (de)serializers + page: custom-json-serializers-deserializers + - title: Directives + page: directives + - title: Federation + page: federation + - title: Custom error extensions + page: custom-error-extensions + - title: Response extensions + page: extensions + - title: Returning Void from Mutations + page: mutation-void + - title: Handling of the WebSocket's init-payload + page: handling-init-payload-from-the-websocket + - title: Custom scalars + page: custom-scalar + - title: Inspecting executable directives + page: inspecting-executable-directives-on-server-side + - title: Namespaces + page: namespaces-on-server-side + - title: Target input fields + page: target-for-input-types + - title: Kotlin support + page: kotlin +- title: Typesafe client + items: + - title: Basic usage + page: typesafe-client-usage + - title: Unions and Interfaces + page: typesafe-client-unions-and-interfaces + - title: Reactive + page: typesafe-client-reactive-types + - title: Custom scalar types + page: typesafe-client-custom-scalars + - title: Adding headers + page: typesafe-client-headers + - title: Logging + page: typesafe-client-logging + - title: Running multiple queries at once + page: typesafe-client-multiple-queries + - title: Error handling + page: typesafe-client-error-handling + - title: Accessing metadata of responses + page: typesafe-client-accessing-metadata-of-responses + - title: Static Directives + page: typesafe-client-directives +- title: Dynamic client + items: + - title: Basic usage + page: dynamic-client-usage + - title: Error handling + page: dynamic-client-error-handling +- title: Clients in general + items: + - title: Bootstrapping the client + page: client-standalone + - title: Using SmallRye Stork + page: using-smallrye-stork +- title: Developer tools + items: + - title: Maven plugin + page: maven-plugin + - title: Gradle plugin + page: gradle-plugin +- title: Reference material + items: + - title: Server-side configuration + page: server-configuration + - title: Client-side configuration + page: client-configuration diff --git a/content/docs/smallrye-graphql/main/client-configuration.adoc b/content/docs/smallrye-graphql/main/client-configuration.adoc new file mode 100644 index 000000000..7da22fddd --- /dev/null +++ b/content/docs/smallrye-graphql/main/client-configuration.adoc @@ -0,0 +1,28 @@ += Client-side configuration properties +include::_attributes.adoc[] + +Note: if you are using Quarkus, it is recommended to use the `quarkus.++*++` property counterparts instead. +See https://quarkus.io/guides/all-config#quarkus-smallrye-graphql-client_quarkus-smallrye-graphql-client-smallrye-graphql-client[Quarkus Documentation] for more info. + +[width="100%",cols="18%,10%,72%",options="header",] +|=== +|Property |Default value |Meaning +|`CLIENT++_++NAME/mp-graphql/url` |none |Denotes URL to connect to +|`CLIENT++_++NAME/mp-graphql/header/KEY` |none |Adds a HTTP header named `KEY` to all HTTP requests performed by the client +|`CLIENT++_++NAME/mp-graphql/subprotocols` |`graphql-ws,graphql-transport-ws` |Comma-separated list of websocket subprotocols supported by this client. We currently support `graphql-ws` and `graphql-transport-ws`. If multiple subprotocols are provided, choosing the actual subprotocol will be subject to negotiation with the server. +|`CLIENT++_++NAME/mp-graphql/keystore` |none |Path to client's keystore (for example `file:/path/to/keystore` or `classpath:path/to/keystore`) +|`CLIENT++_++NAME/mp-graphql/keystoreType` |`JKS` |Keystore type +|`CLIENT++_++NAME/mp-graphql/keystorePassword` |none |Keystore password +|`CLIENT++_++NAME/mp-graphql/truststore` |none |Path to client's truststore (for example `file:/path/to/truststore` or `classpath:path/to/truststore`) +|`CLIENT++_++NAME/mp-graphql/truststoreType` |`JKS` |Truststore type +|`CLIENT++_++NAME/mp-graphql/truststorePassword` |none |Truststore password +|`CLIENT++_++NAME/mp-graphql/proxyHost` |none |Hostname of the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyPort` |none |Port of the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyUsername` |none |Username for the proxy to use +|`CLIENT++_++NAME/mp-graphql/proxyPassword` |none |Password for the proxy to use +|`CLIENT++_++NAME/mp-graphql/maxRedirects` |16 |Max number of redirects to follow. Set to 0 to disable redirects. +|`CLIENT++_++NAME/mp-graphql/websocketInitializationTimeout` |none |Maximum time in milliseconds that will be allowed to wait for the server to acknowledge a websocket connection. +|`CLIENT++_++NAME/mp-graphql/runSingleOperationsOverWebsocket` |`false` |If true, then queries and mutations will run over the websocket transport rather than pure HTTP. Off by default, because it has higher overhead. +|`CLIENT++_++NAME/mp-graphql/initPayload/KEY` |none |Adds a property named `KEY` to the `connection++_++init` message payload when negotiating a websocket connection. All values will be treated as string. For other types instatiate the API with the builder. +|`CLIENT++_++NAME/mp-graphql/allowUnexpectedResponseFields` |`false` |If true and there is an unexpected field in the response payload, it won't throw an error, and it will log a warning message. +|=== diff --git a/content/docs/smallrye-graphql/main/client-standalone.adoc b/content/docs/smallrye-graphql/main/client-standalone.adoc new file mode 100644 index 000000000..e991a36b2 --- /dev/null +++ b/content/docs/smallrye-graphql/main/client-standalone.adoc @@ -0,0 +1,76 @@ += Bootstraping GraphQL clients +include::_attributes.adoc[] + +In general, it is recommended to use SmallRye GraphQL client through the +https://quarkus.io/guides/smallrye-graphql-client[Quarkus extension], +or the https://github.com/wildfly-extras/wildfly-graphql-feature-pack/wiki/GraphQL-client-guide[WildFly feature pack], +each of them having their own documentation about how to set up dependencies and bootstrap a client. +It is however also possible to use SmallRye GraphQL Client in a standalone application outside any container. +The single dependency that you need is `io.smallrye:smallrye-graphql-client-implementation-vertx`, as the +Vert.x based implementation is currently the only supported one. + +If you're using the client as a script and notice that the JVM doesn't exit even after you close the client instance, +it's probably because the client is maintaining a `Vertx` instance that it created automatically. To solve this +issue, you might need to create a `Vertx` instance on your own, pass it to the client builder, and then close it after +closing the client. See the following JBang snippet for an example. + +== Logging with a standalone (Java SE) application using the SmallRye GraphQL Client + +If you want to properly configure logging in a standalone application, you +will also need to add a logging implementation to the classpath. The client +code uses the JBoss Logging facade, so you can, for example, use the JBoss +Logmanager. Add the `org.jboss.logmanager:jboss-logmanager` dependency to +your project(it needs to be on the runtime classpath). You will also need to +run the application with this system property declared: +`-Djava.util.logging.manager=org.jboss.logmanager.LogManager`. + +To customize logging levels etc, it picks up the `logging.properties` file +from the root of the runtime classpath, so, for example if using Maven and +the exec plugin to start the application, you would place the file into +`src/main/resources/logging.properties`. For an example of the contents of +this file, see +https://github.com/jamezp/jboss-logging-example/blob/master/src/main/resources/logging.properties. + +== Using with JBang + +This is a full script runnable directly with https://www.jbang.dev/[JBang] that +uses a dynamic client for connecting to https://countries.trevorblades.com[countries.trevorblades.com] +to obtain a list of countries from its database. + +[source,java] +---- +///usr/bin/env jbang "$0" "$@" ; exit $? +//DEPS io.smallrye:smallrye-graphql-client-implementation-vertx:RELEASE + +import io.smallrye.graphql.client.dynamic.api.DynamicGraphQLClient; +import io.smallrye.graphql.client.Response; +import io.smallrye.graphql.client.vertx.dynamic.VertxDynamicGraphQLClientBuilder; + +import io.vertx.core.Vertx; + +// Has a multiline string literal, requires Java 15+! +class Client { + public static void main(String... args) throws Exception { + Vertx vertx = Vertx.vertx(); + DynamicGraphQLClient client = new VertxDynamicGraphQLClientBuilder() + .url("https://countries.trevorblades.com") + .vertx(vertx) + .build(); + try { + Response response = client.executeSync(""" + query { + countries { + name + } + } + """); + System.out.println(response); + } finally { + client.close(); + vertx.close(); + } + } +} +---- + +Save this file as `Client.java` and execute with `jbang Client.java`. diff --git a/content/docs/smallrye-graphql/main/custom-error-extensions.adoc b/content/docs/smallrye-graphql/main/custom-error-extensions.adoc new file mode 100644 index 000000000..82aa86e5b --- /dev/null +++ b/content/docs/smallrye-graphql/main/custom-error-extensions.adoc @@ -0,0 +1,44 @@ += GraphQL Error Extensions +include::_attributes.adoc[] + +Exceptions are reported in GraphQL in the `errors` array, next to the `data` field, so it's possible to return partial results, e.g.: + +[source,json] +---- +{ + "data": { + "superHero": { + "name": "Wolverine", + "location": null + } + }, + "errors": [{ + "message":"location unknown", + "path": ["superHero","location"], + "extensions":{"code":"location-unknown"} + }] +} +---- + +The `location` field couldn't be returned, and in the `errors`, there's the reason with a few predefined fields, +and a map of `extensions` that can contain custom details about the error. + +You can add your own extensions by implementing the `io.smallrye.graphql.api.ErrorExtensionProvider` interface and +adding your class name to a file `META-INF/services/io.smallrye.graphql.api.ErrorExtensionProvider` (this is a `ServiceLoader`). + +As an example, this class provides an extension named `exception-length` with the length of the simple class name of the exception: + +[source,java] +---- +public class ExceptionLengthErrorExtensionProvider implements ErrorExtensionProvider { + @Override + public String getKey() { + return "exception-length"; + } + + @Override + public JsonNumber mapValueFrom(Throwable exception) { + return Json.createValue(exception.getClass().getSimpleName().length()); + } +} +---- diff --git a/content/docs/smallrye-graphql/main/custom-json-serializers-deserializers.adoc b/content/docs/smallrye-graphql/main/custom-json-serializers-deserializers.adoc new file mode 100644 index 000000000..70d87f6b6 --- /dev/null +++ b/content/docs/smallrye-graphql/main/custom-json-serializers-deserializers.adoc @@ -0,0 +1,36 @@ += Customizing JSON-B serializers/deserializers +include::_attributes.adoc[] + +If your application needs finer-grained control over JSON serialization/deserialization than you can achieve via +formatting annotations like `@JsonbDateFormat`, you may plug in your own custom instances of the `Jsonb` class +for each input type that your GraphQL application exposes. + +To do this, you'll need to create an implementation of `io.smallrye.graphql.spi.EventingService` +and implement its `overrideJsonbConfig` method. +An example that plugs in a custom date format for a particular class that is used as input: + +.... +package org.acme.custom.json.config; + +public class CustomJsonbService implements EventingService { + + @Override + public String getConfigKey() { + return null; // activate this service always regardless of the configuration + } + + @Override + public Map overrideJsonbConfig() { + JsonbConfig config = new JsonbConfig().withDateFormat("MM dd yyyy HH:mm Z", null).withDeserializers(OBJECTID_DESERIALIZER).withSerializers( + OBJECTID_SERIALIZER); + return Collections.singletonMap("MyModelClass.class.getName()", JsonbBuilder.create(config)); + } +} +.... + +We can customize the JsonbConfig as per our need in above example we have registered additional serializer and date formatting for the class MyModelClass. + +As the discovery of eventing services uses the ServiceLoader mechanism, don't forget to add a +`META-INF/services/io.smallrye.graphql.spi.EventingService` file that contains the fully qualified +name of your implementation. +Example `org.acme.custom.json.config.CustomJsonbService` diff --git a/content/docs/smallrye-graphql/main/custom-scalar.adoc b/content/docs/smallrye-graphql/main/custom-scalar.adoc new file mode 100644 index 000000000..27be60b11 --- /dev/null +++ b/content/docs/smallrye-graphql/main/custom-scalar.adoc @@ -0,0 +1,36 @@ += Creating GraphQL Custom Scalars with SmallRye GraphQL +include::_attributes.adoc[] + +While by default *MicroProfile GraphQL* specification doesn't provide direct support for creating +custom scalars for GraphQL literal types of String, Int and Float, *SmallRye GraphQL* has implemented +this feature based on user feedback. To implement a *custom scalar* with *SmallRye GraphQL*, +you can annotate your custom scalar class with `@CustomScalar` in addition to following the pattern below +of including a public constructor that takes one of `String`++|++`BigDecimal`++|++`BigInteger` depending on +the scalar type: + +[source,java] +---- + @CustomScalar("BigDecimalString") + public class BigDecimalString implements CustomStringScalar { + public BigDecimalString(String stringValue) { + ... + } + @Override + public String stringValueForSerialization() { + ... + } +} +---- + +In this example, `BigDecimalString` implements the `CustomStringScalar` which is used to identify the +proper (de) serialization for BigDecimalString. `BigDecimalString` also provides a single argument +constructor which takes a String. Finally, `BigDecimalString` implements +`stringValueForSerialization()` which provides the String representation to be used during +serialization. + +____ +++[++NOTE++]++ +If the user wants to create a literal for GraphQL Int or Float, they would implement either +CustomIntScalar with the intValueForSerialization method or CustomFloatScalar with the +floatValueForSerialization method respectively. +____ diff --git a/content/docs/smallrye-graphql/main/directives.adoc b/content/docs/smallrye-graphql/main/directives.adoc new file mode 100644 index 000000000..34b420ca8 --- /dev/null +++ b/content/docs/smallrye-graphql/main/directives.adoc @@ -0,0 +1,45 @@ += Directives +include::_attributes.adoc[] + +== Custom Directives + +You can add your own https://spec.graphql.org/draft/#sec-Language.Directives[GraphQL Directives] by writing +a corresponding Java Annotation and annotate it as `@Directive`, e.g.: + +[source,java] +---- +@Directive(on = { OBJECT, INTERFACE }) +@Description("Just a test") +@Retention(RUNTIME) +public @interface MyDirective { +} +---- + +Directives can be repeatable, see the `@Key` annotation for an example. + +== Directives generated from Bean Validation annotations + +If your project uses Bean Validation to validate fields on input types and operation arguments, and you enable +inclusion of directives in the schema (by setting `smallrye.graphql.schema.includeDirectives=true`), +then constraints decoded from annotations will be added to your schema as directives. This is currently only +supported for some built-in constraints (annotations from the +`javax.validation.constraints` package), and custom constraints aren't supported at all. + +Each bean validation annotation is mapped to a single `@constraint` directive. The directive is declared as repeatable, +so if you have multiple constraints on an input field, the field will contain multiple `@constraint` directives. +The following table describes the mapping between BV annotations and `@constraint` directives (all currently supported +BV annotations are listed here): + +[cols=",",options="header",] +|=== +|BV annotation |GraphQL directive +|`@Size(MIN, MAX)` |`@constraint(minLength=MIN, maxLength=MAX)` +|`@Email` |`@constraint(format='email')` +|`@Max` |`@constraint(max=VALUE)` +|`@Min` |`@constraint(min=VALUE)` +|`@Pattern(REGEXP)` |`@constraint(pattern=REGEXP)` +|=== + +Note: The `@NotNull` annotation does not map to a directive, instead it makes the GraphQL type non-nullable. + +Constraints will only appear on fields of input types and operation arguments. diff --git a/content/docs/smallrye-graphql/main/dynamic-client-error-handling.adoc b/content/docs/smallrye-graphql/main/dynamic-client-error-handling.adoc new file mode 100644 index 000000000..e7a9b5f79 --- /dev/null +++ b/content/docs/smallrye-graphql/main/dynamic-client-error-handling.adoc @@ -0,0 +1,34 @@ += Error handling with dynamic clients +include::_attributes.adoc[] + +== System-level errors + +If the service returns a system-level error (which means the response body doesn't contain +a valid GraphQL response document), the client invocation will (instead of returning a +`io.smallrye.graphql.client.Response`) throw a `io.smallrye.graphql.client.InvalidResponseException` +whose message contains information about the received status code, status message, and body +contents. + +== Application-level errors + +If the service returns one or more application-level errors (which means that +there is valid GraphQL response in the body that has a non-empty `errors` entry), the +client invocation will return a `io.smallrye.graphql.client.Response` as normal, and that object +will contain information about the errors. Errors are represented as `io.smallrye.graphql.client.GraphQLError` +objects and can be inspected after retrieving a list of all errors using `response.getErrors()`. + +____ +++[++NOTE++]++ +An error response is considered application-level regardless of the HTTP status code as long as it +contains a valid GraphQL response. We define a GraphQL response as a well-formed JSON document +that contains at least one of `errors`, `data` and `extensions` entries, and no other entries beyond +that. +____ + +It is also possible to convert a response's errors into a `io.smallrye.graphql.client.GraphQLClientException` +by calling `throwExceptionIfErrors()` - the response has to be cast to `ResponseImpl` for this as of now. +This method will, if there are any errors in the response, convert the errors into a `GraphQLClientException` +and throw it. + +If you need to access the HTTP response code and message pertaining to a response that contained +application-level errors, refer to xref:dynamic-client-usage.adoc#accessing-http-headers-and-response-codes[Accessing HTTP headers and response codes]. diff --git a/content/docs/smallrye-graphql/main/dynamic-client-usage.adoc b/content/docs/smallrye-graphql/main/dynamic-client-usage.adoc new file mode 100644 index 000000000..26832e7d1 --- /dev/null +++ b/content/docs/smallrye-graphql/main/dynamic-client-usage.adoc @@ -0,0 +1,136 @@ += Dynamic client introduction and basic usage +include::_attributes.adoc[] + +A Java GraphQL client. The main difference from the typesafe client is +that while the typesafe client behaves like a typesafe proxy very +similar to the MicroProfile REST Client, the dynamic client is more like +the JAX-RS client from the `jakarta.ws.rs.client` package. Instead of +working with model classes directly, the dynamic client focuses on +programmatically working with GraphQL documents representing GraphQL +requests and responses. It still offers the option to convert between +documents and model classes when necessary. + +In the current implementation, Vert.x HTTP client is used for handling +the underlying traffic. + +Creating a client instance + +Generally there are two ways to obtain a client instance. + +First, using CDI injection where the configuration values are defined in system +properties: + +[source,java] +---- +@Inject +@GraphQLClient("superheroes") +DynamicGraphQLClient client; + +// assuming that this system property exists: +// superheroes/mp-graphql/url=https://superheroes.org/graphql +---- + +The above example assumes that configuration for the client is present in system properties. For a full list of +supported configuration properties, see xref:client-configuration.adoc[Client configuration reference] + +The other way to build a client is programmatically using a builder: + +[source,java] +---- +DynamicGraphQLClient client = DynamicGraphQLClientBuilder.newBuilder() + .url("https://superheroes.org/graphql") + .build(); +---- + +The usage examples in the following sections will assume using the first approach - injection. + +Basic Usage + +Given the following GraphQL service on the server side: + +[source,java] +---- +@GraphQLApi +class SuperHeroesApi { + @Query + List allHeroesIn(String location) { + // .... + } +} + +class SuperHero { + private String name; + private List superPowers; +} +---- + +Such service can be queried this way: + +[source,java] +---- +include::{examples-dir}/examples/dynamicclient/MyClientUsage.java[] +---- + +* ++<++1++>++ Creating the document representing the request. We used static +imports to make the code easy to read, they all come from the +classes in the `io.smallrye.graphql.client.core` package. +* ++<++2++>++ Executing the request. You can either do that in a blocking way, or +request a `Uni` if you prefer the reactive style. +* ++<++3++>++ Obtaining the resulting list of heroes as a `JsonArray`. +* ++<++4++>++ Obtaining the resulting list of heroes as instances of the model +class. This is optional, you can continue working with the data as a `JsonArray` if you prefer. + +Using plain strings instead of the DSL + +If you don't like the DSL for some reason and want to use plain strings for your queries, these two examples +will serve you: + +[source,java] +---- +include::{examples-dir}/examples/dynamicclient/MyClientUsageString.java[] +---- + +* ++<++1++>++: In this variant, we inline values for query arguments directly into the query string. +* ++<++2++>++: In this variant, argument values are extracted into variables. The `location` argument of the `allHeroesIn` query is +declared to be using the variable `loc` (the variable can also be named `location` same as the argument, if +you prefer). +* ++<++3++>++: Here we create a map that defines the values for each variable. Values of this map are `Object`s, +so you can put in strings, numbers, booleans, or any object that corresponds to a GraphQL type and can be +serialized to JSON. Inserting a `JsonObject` directly is also supported. + +Accessing HTTP headers and response codes + +To access HTTP transport metadata that was passed by the server, you can inspect the `Response` object. + +`Response.getTransportMeta("HEADER-NAME")` returns a `List++<++String++>++` containing (potentially multiple) values of the requested header. + +To get the HTTP status code or status message, these are stored inside the `transportMeta` map too. `ResponseImpl` +contains convenience methods to retrieve them: `ResponseImpl.getStatusCode()` and `ResponseImpl.getStatusMessage()`. +It's also possible to retrieve them directly without casting to `ResponseImpl` by calling +`Integer.valueOf(response.getTransportMeta().get("++<++status-code++>++").get(0))` and + +`response.getTransportMeta().get("++<++status-message++>++").get(0)`. + +HTTP headers, status codes and messages are only available for operations executed over pure HTTP, not via websockets! + +Sending extensions to the server + +The GraphQL over HTTP specification allows clients to send an `extensions` map alongside the query. To do this +with the dynamic client, build a `Request` using the `RequestImpl.builder` and pass it to `executeSync` or +`executeAsync`: + +[source,java] +---- +Map extensions = Map.of("myKey", "myValue", "number", 42); + +Request request = RequestImpl.builder("{ myQuery }") + .variables(variables) // optional + .operationName("MyOperation") // optional + .extensions(extensions) + .build(); + +Response response = client.executeSync(request); +---- + +On the server side, the extensions sent by the client can be read from `SmallRyeContext.getExtensionsFromClient()`. +This is separate from `SmallRyeContext.getAddedExtensions()`, which is used for adding extensions to the +outgoing response. diff --git a/content/docs/smallrye-graphql/main/extensions.adoc b/content/docs/smallrye-graphql/main/extensions.adoc new file mode 100644 index 000000000..bad6a5991 --- /dev/null +++ b/content/docs/smallrye-graphql/main/extensions.adoc @@ -0,0 +1,86 @@ += Extensions in SmallRye GraphQL +include::_attributes.adoc[] + +`SmallRyeContext` provides two separate extension mechanisms: + +* *Outbound extensions* (`addedExtensions`) — extensions added by the server and sent back to the client in the response. +* *Inbound extensions* (`extensionsFromClient`) — extensions received from the client as part of the incoming request. + +== Adding extensions to the response + +*SmallRye GraphQL* allows the user to add their own extensions inside the GraphQL response +which is received from the server. The `extensions` are stored next to the `data` field in the GraphQL response. + +[source,json] +---- +{ + "data": { + "shirt": { + "size": "L" + } + }, + "extensions": { + "country": "Germany", + "pi": 3.1415926535 + } +} +---- + +To add extensions, you need to `@Inject` an instance of `SmallRyeContext` in your `@GraphQLApi` annotated class. +After that, you can add your own extensions via the method `addExtension` +with its input parameters: `key : String` as an identification of the added extension, +and `value: Object` as a value of the extension. Value can be any given object that can be converted into JsonValue. + +As an example, this class below contains the query `getShirt` and during the http request, the query adds these extensions: +`++{++"country": "Germany", "pi": 3.1415926535}`. +These extensions will be sent back via response in the `extensions` field. + +[source,java] +---- +import jakarta.inject.Inject; + +@GraphQLApi +public class ShirtResources { + @Inject + SmallRyeContext smallRyeContext; + + @Query + public Shirt getShirt() { + smallRyeContext.addExtension("country", "Germany"); + smallRyeContext.addExtension("pi", 3.1415926535); + //... + } +} +---- + +____ +++[++NOTE++]++ +You can also use `getAddedExtensions()` to access the underlying map directly. +____ + +== Reading extensions from the client request + +Clients can send an `extensions` map alongside the query (as defined by the GraphQL over HTTP specification). +On the server side, these can be read via `SmallRyeContext.getExtensionsFromClient()`, which returns a +`Map++<++String, Object++>++` (or `null` if the client did not send any extensions). + +[source,java] +---- +import jakarta.inject.Inject; + +@GraphQLApi +public class MyApi { + @Inject + SmallRyeContext smallRyeContext; + + @Query + public String process() { + Map clientExtensions = smallRyeContext.getExtensionsFromClient(); + if (clientExtensions != null) { + String traceId = (String) clientExtensions.get("traceId"); + // ... + } + //... + } +} +---- diff --git a/content/docs/smallrye-graphql/main/federation.adoc b/content/docs/smallrye-graphql/main/federation.adoc new file mode 100644 index 000000000..827f544eb --- /dev/null +++ b/content/docs/smallrye-graphql/main/federation.adoc @@ -0,0 +1,213 @@ += Federation +include::_attributes.adoc[] + +Support for https://www.apollographql.com/docs/federation[GraphQL Federation] is enabled by default. If you add one of the federation annotations, the corresponding directives will be declared in your schema, and the additional Federation queries will be added automatically. You can also disable Federation completely by setting the `smallrye.graphql.federation.enabled` config key to `false`. + +You can add the Federation directives by using the equivalent Java annotation, e.g. to extend a `Product` entity with a `price` field, you can write a class: + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.Id; + +import io.smallrye.graphql.api.federation.Extends; +import io.smallrye.graphql.api.federation.Key; + +@Extends @Key(fields = @FieldSet("id")) +public class Product { + @Id + private String id; + + @Description("The price in cent") + private Integer price; + + // getters and setters omitted +} +---- + +And a normal query method that takes the `key` fields as a parameter and returns the requested type: + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.GraphQLApi; +import org.eclipse.microprofile.graphql.Id; +import org.eclipse.microprofile.graphql.Query; + +@GraphQLApi +public class Prices { + @Query + public Product product(@Id String id) { + return [...] + } +} +---- + +The GraphQL Schema then contains: + +[source,graphql] +---- +type Product @extends @key(fields : "id") { + id: ID + price: Int +} + +union _Entity = Product + +type Query { + _entities(representations: [_Any!]!): [_Entity]! + _service: _Service! + product(id: ID): Product +} +---- + +If you can resolve, e.g., the product with different types of ids, you can add multiple `@Key` annotations. +## Federation Batch Resolver + +For better performance, there is the option to use batch resolvers with federation. This is not activated by default. It can be activated by setting `smallrye.graphql.federation.batchResolving.enabled` config key to `true`. + +It is unnecessary to provide batch resolvers for all entities, if there is no batch resolver, a non-batch resolver is used. + +[source,java] +---- +package org.example.price; + +import org.eclipse.microprofile.graphql.GraphQLApi; +import org.eclipse.microprofile.graphql.Id; +import org.eclipse.microprofile.graphql.Query; + +@GraphQLApi +public class Prices { + @Query + public List product(@Id List id) { + return [...] + } +} +---- + +It is crucial that the sequence of the argument list matches the order of the result list. Currently, the name of the Argument `id` must match with the property name in the type. + +== Federation Reference Resolver + +In federation, you may also want to extend the external type by some fields without publishing queries into the schema. You can do it by using the annotation `@Resolver`. + +[source,java] +---- +@Extends +@Key(fields = @FieldSet("upc")) +public final class Product { + @External + @NonNull + private String upc; + @External + private Integer weight; + @External + private Integer price; + private Boolean inStock; + @Requires(fields = @FieldSet("price weight")) + private Integer shippingPrice; +} + +@GraphQLApi +public class Api { + @Query // 0 query, that will be added into schema + public Product findByUPC(String upc) { + return new Product(upc , ...etc); + } + + @Resolver // 1 You dont receive external fields price weight here, just key + public Product resolveByUPC(String upc) { + return new Product(upc , ...etc); + } + + @Resolver // 2 The order of variables doesn't matter + public Product resolveByUPCForShipping(int price, String upc, @Name("weight") int someWeight) { + return new Product(upc , someWeight, price, (price * someWeight) /*calculate shippingPrice */, ...etc); + } + + @Resolver // 3 + public Product resolveByUPCForSource(int price, String upc) { + return new Product(upc, price, ...etc); + } + + @Requires(fields = @FieldSet("price")) + public int anotherWeight(@Source Product product) { + return product.price() * 2; + } +} +---- + +Generates the following schema: + +.... +type Product @extends @key(fields : "upc") { + anotherWeight: Int! @requires(fields : "price") + inStock: Boolean + price: Int @external + shippingPrice: Int @requires(fields : "price weight") + upc: String! @external + weight: Int @external +} + +type Query { + _entities(representations: [_Any!]!): [_Entity]! + _service: _Service! +} +.... + +These methods will only be available to the federation router, which may send requests like the following examples: + +.... +// request 1 +query { + _entities(representations: [{ + "__typename": "Product", + "upc": "1" // just id key + }]) { + __typename + ... on Product { + inStock + } + } +} + +// request 2 +query { + _entities(representations: [{ + "__typename": "Product", + "upc": "1", // id key + "price": 100, // shippingPrice requires this field + "weight": 100 // shippingPrice requires this field + }]) { + __typename + ... on Product { + inStock + shippingPrice + } + } +} + +// request 3 +query { + _entities(representations: [{ + "__typename": "Product", + "upc": "2", + "price": 1299 // anotherWeight requires this field + } + ]) { + __typename + ... on Product { + anotherWeight + } + } +} +.... + +Unfortunately, you must make separate methods with different `@External` parameters. + +It is not currently possible to combine them into one separate type. + +You also can use `@Query` (if you want to add queries into the schema) or `@Resolver` (requests 0 and 1). +And if it was requested, `++_++entities` - `@Resolvers` methods are checked first (they have higher priority). diff --git a/content/docs/smallrye-graphql/main/gradle-plugin.adoc b/content/docs/smallrye-graphql/main/gradle-plugin.adoc new file mode 100644 index 000000000..843bf33df --- /dev/null +++ b/content/docs/smallrye-graphql/main/gradle-plugin.adoc @@ -0,0 +1,84 @@ += SmallRye GraphQL Gradle plugin +include::_attributes.adoc[] + +This Gradle plugin allows you to generate the GraphQL Schema on build and save it as a text file. + +Add this to your build.gradle: + +.... +plugins { + id 'io.smallrye.graphql' version 'PLUGIN_VERSION' +} +.... + +The list of existing plugin versions (to substitute the +`PLUGIN++_++VERSION` placeholder) can be found +https://plugins.gradle.org/plugin/io.smallrye.graphql[here]. + +The schema will appear as `build/generated/schema.graphql` by default. + +The plugin’s `generateSchema` task can customized like: + +.... +generateSchema { + destination = null + includeTransitiveDependencies = true + includeScalars = true +} +.... + +This will include the project’s dependencies (including the transitive +dependencies) to scan for GraphQL model classes. As the destination is +set to `null` the generated schema will only be output to the console +and saved to a file. + +In case external dependencies need to be scanned for GraphQL model +classes a more advanced configuration could look like: + +.... +configrations { + graphQLSchema +} + +dependencies { + graphQLSchema .. +} + +generateSchema { + includeDependencies = true + configurations = ["graphQLSchema"] +} +.... + +This defines a separate `graphQLSchema` configuration. In the +dependencies block the external dependencies containing the GraphQL mode +class should then be registered for the `graphQLSchema` configuration. +The `generateSchema` task is then customized to only include +dependencies from the `graphQLSchema` configuration. Also note that we +set `includeDependencies` to `true` (and not +`includeTransitiveDependencies`). This will make sure only direct +dependencies will be be scanned and not possible transitive +dependencies. + +Configuration options + +* `destination` - To override the default +`build/generated/schema.graphql` destination. +* `includeDependencies` - Scan project’s dependencies for GraphQL +model classes too. Default false. +* `includeTransitiveDependencies` - Scan project’s dependencies +(including the transitive dependencies) for GraphQL model classes +too. Default false. +* `configurations` - If the above `includeDependencies` or +`includeTransitiveDependencies` is true, you can control what +configurations should be included. Default is `implementation`. +* `dependencyExtensions` - If the above `includeDependencies` or +`includeTransitiveDependencies` is true, you can control what +dependency extensions should be included. Default is `jar`. +* `includeScalars` - Include scalars in the schema. Default false. +* `includeDirectives` - Include directives in the schema. Default +false. +* `includeSchemaDefinition` - Include the schema definition. Default +false. +* `includeIntrospectionTypes` - Include the introspection types in the +schema. Default false. diff --git a/content/docs/smallrye-graphql/main/handling-init-payload-from-the-websocket.adoc b/content/docs/smallrye-graphql/main/handling-init-payload-from-the-websocket.adoc new file mode 100644 index 000000000..a691d6802 --- /dev/null +++ b/content/docs/smallrye-graphql/main/handling-init-payload-from-the-websocket.adoc @@ -0,0 +1,25 @@ += Handling of the WebSocket's init-payload +include::_attributes.adoc[] + +When executing GraphQL operations over WebSockets (both with the `graphql-ws` and `graphql-transport-ws` protocols), +the client can send an initial payload +to the server when establishing the WebSocket connection. This payload can contain +any information that the server might need to process GraphQL requests, like client agent identification (similar to the `User-Agent` header) or data specific to the client. On the server-side, you can access this payload +via the `GraphQLContext`, which is available through the `DataFetchingEnvironment` object. + +[source,java] +---- +@GraphQLApi +public class HeroResources { + + @Inject + SmallryeContext context; + + // ... + Map initPayload = smallRyeContext + .getDataFetchingEnvironment() + .getGraphQlContext() + .get("init-payload"); + // ... +} +---- diff --git a/content/docs/smallrye-graphql/main/images/redhat_reversed.svg b/content/docs/smallrye-graphql/main/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-graphql/main/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-graphql/main/index.adoc b/content/docs/smallrye-graphql/main/index.adoc new file mode 100644 index 000000000..f277286e0 --- /dev/null +++ b/content/docs/smallrye-graphql/main/index.adoc @@ -0,0 +1,6 @@ += Overview +include::_attributes.adoc[] + +SmallRye GraphQL is a library that allows you to easily use GraphQL (both server-side endpoints +and client-side code) in your Java-based projects. It implements +the MicroProfile GraphQL specification. diff --git a/content/docs/smallrye-graphql/main/inspecting-executable-directives-on-server-side.adoc b/content/docs/smallrye-graphql/main/inspecting-executable-directives-on-server-side.adoc new file mode 100644 index 000000000..cd37d1852 --- /dev/null +++ b/content/docs/smallrye-graphql/main/inspecting-executable-directives-on-server-side.adoc @@ -0,0 +1,39 @@ += Inspecting executable directives on the server side +include::_attributes.adoc[] + +Let's say you have this _GraphQL query_ with an executable directive on a field _location_. + +.... +{ + hero(name: $nameValue) { + name + location @customDirective(arg: true) + } +} +.... + +To inspect your directive on the server side, you must inject a `SmallRyeContext` object and get the relevant information like this. + +[source,java] +---- + @Inject + SmallRyeContext context; + + @Query + public SuperHero getHero(String name) { + // ... + SelectionSet selectionSet = (SelectionSet) context.getDataFetchingEnvironment().getField().getChildren().get(0); + Optional locationNode = selectionSet.getChildren().stream() + .filter(node -> node instanceof Field && ((Field) node).getName().equals("location")).findAny(); // "location" is the field name where the directive is applied. + locationNode.ifPresent(node -> { + List directives = ((Field) node).getDirectives(); + System.out.println(directives); + }); + // the rest of the query... + } +---- + +____ +++[++NOTE++]++ +that `Field` refers to `graphql.language.Field`, not `io.smallrye.graphql.schema.model.Field` +____ diff --git a/content/docs/smallrye-graphql/main/kotlin.adoc b/content/docs/smallrye-graphql/main/kotlin.adoc new file mode 100644 index 000000000..b6ccf535d --- /dev/null +++ b/content/docs/smallrye-graphql/main/kotlin.adoc @@ -0,0 +1,4 @@ += SmallRye Graphql in Kotlin +include::_attributes.adoc[] + +When working with SmallRye GraphQL in Kotlin, it is very important to use the `-Xemit-jvm-type-annotations` flag for the Kotlin compiler. This flag is important to generate the necessary annotations for reflection to work properly. The flag is supported as of Kotlin 1.3.70. diff --git a/content/docs/smallrye-graphql/main/maven-plugin.adoc b/content/docs/smallrye-graphql/main/maven-plugin.adoc new file mode 100644 index 000000000..959ef8596 --- /dev/null +++ b/content/docs/smallrye-graphql/main/maven-plugin.adoc @@ -0,0 +1,48 @@ += SmallRye GraphQL Maven plugin +include::_attributes.adoc[] + +This Maven plugin allows you to generate the GraphQL Schema on build and save it as a text file. + +Add this to your pom.xml: + +[source,xml] +---- + + smallrye-graphql-maven-plugin + io.smallrye + + + + generate-schema + + + + +---- + +The schema will appear as `target/generated/schema.graphql` by default. The goal is bound to the `process-classes` +build phase. + +Configuration options + +* `destination` - To override the default `target/generated/schema.graphql` destination +* `includeDependencies` - Scan project’s dependencies for GraphQL +model classes too. This is necessary if your GraphQL endpoint exposes +classes that are not in the application's main module. Off (`false`) by default, because +scanning a potentially large dependency tree slows down execution substantially. +Usage of reactive types does not require turning this option on. +* `includeDependenciesScopes` - If the above `includeDependencies` is +true, you can control what scopes should be included. Default is +`compile, system` +* `includeDependenciesTypes` - If the above `includeDependencies` is +true, you can control what types should be included. Default is +`jar` +* `includeScalars` - Include scalars in the schema. Default false. +* `includeDirectives` - Include directives in the schema. Default false. +* `includeSchemaDefinition` - Include the schema definition. Default false. +* `includeIntrospectionTypes` - Include the introspection types in the schema. Default false. +* `federationEnabled` - Enable GraphQL Federation. This is automatically +enabled if any Federation-related annotations are found in your application, otherwise the default is false. +You should generally use this in conjunction with `includeDirectives`. +* `typeAutoNameStrategy` - Strategy for transforming class names into GraphQL type names. +Valid values are `MergeInnerClass`, `Full` and`Default`. diff --git a/content/docs/smallrye-graphql/main/mutation-void.adoc b/content/docs/smallrye-graphql/main/mutation-void.adoc new file mode 100644 index 000000000..4fc047e25 --- /dev/null +++ b/content/docs/smallrye-graphql/main/mutation-void.adoc @@ -0,0 +1,24 @@ += Returning Void Type in Mutations with SmallRye GraphQL +include::_attributes.adoc[] + +While by default *MicroProfile GraphQL* specification doesn't provide direct support for returning `void` type from mutation operations, *SmallRye GraphQL* has implemented this feature based on user feedback. + +To implement a *mutation* operation that returns `void` or `Void` type, you can use the following pattern in your annotated `@GraphQLApi` class: + +[source,java] +---- + @Mutation + public void createHero(SuperHero hero) { + superHeroService.create(hero); + } +---- + +In this example, `createHero()` receives a SuperHero object as input, +performs some operation with it (in this case, creating it using a +`superHeroService`). + +____ +++[++NOTE++]++ +On the GraphQL level, this is achieved by returning a special scalar type named Void from the mutation. +This scalar type will always have a value of null. +____ diff --git a/content/docs/smallrye-graphql/main/namespaces-on-server-side.adoc b/content/docs/smallrye-graphql/main/namespaces-on-server-side.adoc new file mode 100644 index 000000000..896ad6537 --- /dev/null +++ b/content/docs/smallrye-graphql/main/namespaces-on-server-side.adoc @@ -0,0 +1,167 @@ += Namespacing on the server side +include::_attributes.adoc[] + +____ +++[++NOTE++]++ +Using approaches to form namespaces in the schema can be useful for large APIs. There are several ways to do this. +However, read the documentation carefully, especially the limitations and possible problems. +____ + +____ +++[++NOTE++]++ You can only use one of the annotations - `@Name` or `@Namespace` over the GraphQLApi classes. +____ + +== Using @Namespace annotation + +The annotation accepts an array of strings containing the nesting of the namespace. +This method allows you to create any nesting of namespaces. +You can use any nesting and also combine different levels. + +[source,java] +---- +@GraphQLApi +@Namespace({"admin", "users"}) +@Description("Admin users operations") +public class AdminUsersApi { + @Query + public List findAll() { + // + } +} + +@GraphQLApi +@Namespace({"admin"}) +@Description("Admin operations") +public class AdminApi { + @Query + public List findAll() { + // + } +} +---- + +Will generate schema + +.... +"Query root" +type Query { + admin: AdminQuery +} + +"Admin operations" +type AdminQuery { + users: AdminUsersQuery + findAll: [Admin] +} + +"Admin users operations" +type AdminUsersQuery { + findAll: [User] +} + +type Admin { + id: BigInteger + ... +} + +type User { + id: BigInteger + ... +} +.... + +And you can send GraphQL request like: + +.... +query { + admin { + users { + findAll { + id + } + } + } +} +.... + +== Using @Name annotation (deprecated) + +____ +++[++NOTE++]++ This feature may be removed in the future. +____ + +It does the same thing as `@Namespace`, the only difference is that there can only be one nesting level. + +[source,java] +---- +@GraphQLApi +@Name("users") +@Description("Users operations") +public class UserApi { + @Query + public List findAll() { + // + } +} +---- + +As a result, you can get methods with the same names. + +.... +query { + users { + findAll { + .... + } + } +} +.... + +== Problems + +While dividing APIs into namespaces may seem convenient, several issues are important to be aware of. + +=== Mutations + +On the client side, be careful when working with mutations. +This violates the GraphQL specification since mutations in this form can be executed in parallel. +Read more here about namespaces https://www.apollographql.com/docs/technotes/TN0012-namespacing-by-separation-of-concern/[Namespacing by Separation of Concerns]. +This article describes how to work with namespaces, what problems you may encounter, and how to solve them. + +What does GraphQL say about this - https://benjie.dev/graphql/nested-mutations["GraphQL" Nested Mutations] + +In summary, you can use nested mutations, but with some overhead on the client side. Be careful with mutations. + +==== Subscriptions + +GraphQL does not guarantee subscription resolution within namespaces. +While you can define subscriptions in namespaces, the generated schema will be valid, but the subscription will not be resolved. +For example, if you try to run such a subscription request, you will get an error. This is the behavior of `graphql-java`. + +[source,java] +---- +@GraphQLApi +@Namepace("resource") +public class ResourceApi { + @Subscription + public Multi resourceChange() { + // + } +} +---- + +.... +subscription { + resource { + resourceChange { + .... + } + } +} +.... + +There is currently no way around this problem. +You must move subscriptions into a separate `@GraphQLApi` class that does not declare any namespace. +++>++ ++[++NOTE++]++ +++>++ Be very careful when designing API with namespace. +++>++ And be aware of all the potential consequences when working with mutations and subscriptions. diff --git a/content/docs/smallrye-graphql/main/server-configuration.adoc b/content/docs/smallrye-graphql/main/server-configuration.adoc new file mode 100644 index 000000000..054c01128 --- /dev/null +++ b/content/docs/smallrye-graphql/main/server-configuration.adoc @@ -0,0 +1,38 @@ += Configuration properties +include::_attributes.adoc[] + +These are properties understood directly by SmallRye GraphQL. If you're using SmallRye GraphQL through +Quarkus, these will generally work, but Quarkus offers its own counterparts for most of these, +and it is recommended to use the `quarkus.++*++` properties. Refer to the Quarkus documentation: +https://quarkus.io/guides/all-config#quarkus-smallrye-graphql_quarkus-smallrye-graphql-smallrye-graphql[Server] and +https://quarkus.io/guides/all-config#quarkus-smallrye-graphql-client_quarkus-smallrye-graphql-client-smallrye-graphql-client[Client] +side Quarkus properties. + +== From MicroProfile GraphQL + +[width="100%",cols="33%,35%,32%",options="header",] +|=== +|Property |Default value |Meaning +|`mp.graphql.defaultErrorMessage` |`Server Error` |Error message for hidden exceptions +|`mp.graphql.hideErrorMessage` |Runtime exceptions |Exceptions that will be hidden +|`mp.graphql.showErrorMessage` |Checked exceptions |Exceptions that will not be hidden. +|=== + +== From SmallRye GraphQL + +[width="100%",cols="33%,35%,32%",options="header",] +|=== +|Property |Default value |Meaning +|`smallrye.graphql.printDataFetcherException` |`false` |Include the stacktrace of the data fetching exception in the log output +|`smallrye.graphql.allowGet` |`false` |Allow HTTP GET Method +|`smallrye.graphql.metrics.enabled` |`false` |Enable metrics +|`smallrye.graphql.tracing.enabled` |`false` |Enable tracing +|`smallrye.graphql.validation.enabled` |`true` if Bean Validation is present |Enable Bean Validation. This property is DEPRECATED, setting to `false` won't actually turn off validation. It will be removed in a future release. +|`smallrye.graphql.events.enabled` |`true` if one of metrics, tracing or bean validation is true |Enable eventing +|`smallrye.graphql.logPayload` |`false` |Log the payload in the log file +|`smallrye.graphql.fieldVisibility` | |To control the field visibility on introspection +|`smallrye.graphql.schema.includeScalars` |`true` |Include Scalar definitions in the schema +|`smallrye.graphql.schema.includeSchemaDefinition` |`false` |Include Schema definition +|`smallrye.graphql.schema.includeDirectives` |`false` |Include directives in the schema +|`smallrye.graphql.schema.includeIntrospectionTypes` |`false` |Include Introspection types in the schema +|=== diff --git a/content/docs/smallrye-graphql/main/target-for-input-types.adoc b/content/docs/smallrye-graphql/main/target-for-input-types.adoc new file mode 100644 index 000000000..0b990f0c1 --- /dev/null +++ b/content/docs/smallrye-graphql/main/target-for-input-types.adoc @@ -0,0 +1,72 @@ += Target fields for input types +include::_attributes.adoc[] + +The `@Source` annotation extends *output* types by adding externally-defined fields. Its +counterpart for *input* types is `@Target` (`io.smallrye.graphql.api.Target`). + +With `@Target`, you can add fields to a GraphQL input type the same way `@Source` adds fields to +an output type. The annotated parameter receives the input object, and a sibling parameter +receives the value sent by the client for that field. The method name becomes the input field +name in the schema (overridable with `@Name`), and `@Description` can be added on the method. + +Server-side example: + +[source,java] +---- +import io.smallrye.graphql.api.Target; + +@GraphQLApi +public class CharacterService { + + @Mutation + public Character save(Character input) { + // the input may have been modified by @Target methods below + return input; + } + + public void applyTwitterHandle(@Target Character character, String twitterHandle) { + character.setTwitterHandle(twitterHandle); + } +} +---- + +This generates an extended input type in the schema: + +[source,graphql] +---- +input CharacterInput { + # ... regular fields ... + twitterHandle: String # added by the applyTwitterHandle method +} +---- + +When a client sends a mutation that includes the `twitterHandle` field, the corresponding +`@Target` method is invoked at runtime. If the field is omitted, the method is not called. + +Multiple `@Target` methods on the same input type are supported: + +[source,java] +---- +public void applyTwitterHandle(@Target Character character, String twitterHandle) { + character.setTwitterHandle(twitterHandle); +} + +public void applyNumber(@Target Character character, Integer rating) { + character.setRating(rating); +} +---- + +A `Context` parameter can be injected into target methods: + +[source,java] +---- +public void applyWithContext(@Target Character character, String value, Context context) { + String fieldName = context.getFieldName(); + // ... +} +---- + +____ +++[++NOTE++]++ +`@Target` is currently marked as experimental. +____ diff --git a/content/docs/smallrye-graphql/main/typesafe-client-accessing-metadata-of-responses.adoc b/content/docs/smallrye-graphql/main/typesafe-client-accessing-metadata-of-responses.adoc new file mode 100644 index 000000000..cb9875c8d --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-accessing-metadata-of-responses.adoc @@ -0,0 +1,81 @@ += Accessing Metadata of GraphQL Responses with TypesafeResponse +include::_attributes.adoc[] + +The TypesafeResponse class provides a wrapper around the "data" +field of GraphQL responses, along with additional metadata such as errors, +extensions, and transport metadata. Here are the methods you can use to access each type of metadata: + +== Transport metadata + +use `getTransportMeta()` method to retrieve a map of transport metadata associated with the response. +++>++ ++[++NOTE++]++ +++>++ Note that the transport metadata referred to in the context of HTTP requests +++>++ and responses is commonly found in the headers of the communication. +++>++ Therefore, the getTransportMeta() method mentioned here can be used to +++>++ retrieve a map of HTTP headers. +### Extensions +use `getExtensions()` method to retrieve a JsonObject of response extensions. +The method returns a JSON object that represents the response extensions. + +=== Data + +use `get()` method to retrieve the data object. The method returns the data +object if it exists and there are no errors. If there are errors, +it throws a NoSuchElementException with the error message. + +=== Errors + +use `getErrors()` method to retrieve a list of GraphQL errors. +The method returns a list of errors if there are errors and no data object. +If there is a data object, it throws a NoSuchElementException with the error message. + +____ +++[++NOTE++]++ +Note that the get() method assumes that the response has a data object, +and will throw an exception if there are errors without a data object. +If you want to check for errors before retrieving the data object, +use the hasErrors() method, which returns true if there are errors and false otherwise. +____ + +You can use these methods to access and process the metadata of GraphQL +responses returned by the TypesafeResponse class. + +Let's say you want to get as a client extensions from the GraphQL response. +First of all you will need to modify your `GraphQLClientApi` interface to have +your return type class (in this case `SuperHero`) wrapped with +`TypesafeResponse` class. +I.e. your `GraphQLClientApi` interface could look like this: + +[source,java] +---- +import examples.typesafeclient.SuperHero; +import io.smallrye.graphql.client.typesafe.api.TypesafeResponse; + +@GraphQLClientApi +public interface SuperHeroApi { + // ... + TypesafeResponse findSuperHeroByName(String name); + // ... +} +---- + +____ +++[++NOTE++]++ +Note that you can have `TypesafeResponse++<++T++>++` only as a result (return) type of your query. +Unlike `ErrorOr` the class cannot wrap individual fields. +If that is the case `IllegalArgumentException` will be thrown. +____ + +And now to get `extensions` from the response your code will look like something like this: + +[source,java] +---- + @Inject + SuperHeroApi client; + + TypesafeResponse superheroResponse = client.findSuperHeroByName("Batman"); + // returns the "data" field + SuperHero superhero = superhero.get(); + // returns the "extensions" field + JsonObject extensions = superhero.getExtensions(); +---- diff --git a/content/docs/smallrye-graphql/main/typesafe-client-custom-scalars.adoc b/content/docs/smallrye-graphql/main/typesafe-client-custom-scalars.adoc new file mode 100644 index 000000000..c6fbc61ce --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-custom-scalars.adoc @@ -0,0 +1,38 @@ += Custom scalar types +include::_attributes.adoc[] + +If the remote service contains custom scalar types represented as strings in GraphQL documents, +a typesafe client can learn to understand these types through introducing a class that represents them. +The class has to contain logic necessary for serializing and deserializing from/to raw strings. + +A model class is considered to represent a scalar GraphQL type if it contains a static builder method +named `of`, `valueOf`, or `parse` whose sole parameter is a `java.lang.String` and it returns an +instance of the class itself. The name of the GraphQL type is assumed to be equal to the short name +of the class. + +For example, if the server supports a `URL` type (there is a `scalar URL` clause in the schema), +create a class that represents a value for `URL`: + +[source,java] +---- +public class URL { + + private String value; + + public URL(String value) { + this.value = value; + } + + public static URL valueOf(String value) { // <1> + return new URL(value); + } + + @Override + public String toString() { // <2> + return value; + } +} +---- + +* ++<++1++>++ The static `valueOf(String)` method will be used for deserializing a `URL` from a string. +* ++<++2++>++ The `toString()` will be used for serializing a `URL` into a string to be sent to the GraphQL service diff --git a/content/docs/smallrye-graphql/main/typesafe-client-directives.adoc b/content/docs/smallrye-graphql/main/typesafe-client-directives.adoc new file mode 100644 index 000000000..046e90feb --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-directives.adoc @@ -0,0 +1,53 @@ += Typesafe Client Static Directives +include::_attributes.adoc[] + +== Custom Static Directives + +The declaration of custom static directives for the typesafe client follows the same principles as the server-side xref:directives.adoc[directives]. With only exception of using the https://spec.graphql.org/draft/#ExecutableDirectiveLocation[Executable Directive Locations] instead of Type System Directive Locations. + +[source,java] +---- +@Directive(on = { FIELD, VARIABLE_DEFINITION }) +@Retention(RUNTIME) +public @interface MyDirective { + String value() default ""; +} +---- + +Applying this to your API should look like this: + +[source,java] +---- +import io.smallrye.graphql.client.typesafe.api.GraphQLClientApi; + +@GraphQLClientApi +public @interface MyClientApi { + + @Query + @MyDirective("top-level field") + MySuperHero getMySuperHero(@MyDirective("variable definition") String nameOfMySuperHero); + + class MySuperHero { + @MyDirective("field") + String name; + } +} +---- + +Your API is going to generate a query something like this: + +.... +query mySuperHero( + $nameOfMySuperHero: String @myDirective(value: "variable definition") +) { + mySuperHero(nameOfMySuperHero: $nameOfMySuperHero) + @myDirective(value: "top-level field") { + name @myDirective(value: "field") + } +} +.... + +____ +++[++NOTE++]++ +The current implementation supports only FIELD and VARIABLE++_++DEFINITION locations. +____ diff --git a/content/docs/smallrye-graphql/main/typesafe-client-error-handling.adoc b/content/docs/smallrye-graphql/main/typesafe-client-error-handling.adoc new file mode 100644 index 000000000..dd8464f37 --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-error-handling.adoc @@ -0,0 +1,60 @@ += Error handling in typesafe clients +include::_attributes.adoc[] + +== System-level errors + +If the service returns a system-level error (which means the response body doesn't contain +a valid GraphQL response document), the client invocation will throw a +`io.smallrye.graphql.client.InvalidResponseException` +whose message contains information about the received status code, status message, and body +contents. + +== Application-level errors + +If the service returns one or more application-level errors (which means that +there is valid GraphQL response in the body that has a non-empty `errors` entry), +the client normally throws a `GraphQLClientException` containing the details in a list of +`GraphQLClientError`. + +____ +++[++NOTE++]++ +An error response is considered application-level regardless of the HTTP status code as long as it +contains a valid GraphQL response. We define a GraphQL response as a well-formed JSON document +that contains at least one of `errors`, `data` and `extensions` entries, and no other entries beyond +that. +____ + +If the error is specific to a `location`, you can use an `ErrorOr` +wrapper on the target field; the client the maps the error to that +wrapper instead of throwing an exception. I.e. your `SuperHero` class +could look like this: + +[source,java] +---- +class SuperHero { + String name; + ErrorOr location; +} +---- + +If the service returns a response like this: + +[source,json] +---- +{ + "data": { + "superHero": { + "name": "Wolverine", + "location": null + } + }, + "errors": [{ + "message":"location unknown", + "path": ["superHero","location"], + "extensions":{"code":"location-unknown"} + }] +} +---- + +Then the `SuperHero#location` wrapper field will not contain a `value` +but only the error above. See the `ErrorOr` class for details. diff --git a/content/docs/smallrye-graphql/main/typesafe-client-headers.adoc b/content/docs/smallrye-graphql/main/typesafe-client-headers.adoc new file mode 100644 index 000000000..d3dea2f6c --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-headers.adoc @@ -0,0 +1,84 @@ += Adding headers +include::_attributes.adoc[] + +To add a custom header to the http requests sent out by the GraphQL +Client, annotate your method or the API interface as `@Header`, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + @Header(name = "S.H.I.E.L.D.-Clearance", constant = "TOP-SECRET") + List allHeroesIn(String location); +} +---- + +The value can be specified with a `constant` or the name of a `method` for dynamic values, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + @Header(name = "S.H.I.E.L.D.-Clearance", method = "establishShieldClearance") + List allHeroesIn(String location); + + static Clearance establishShieldClearance() { + return userIsInRole(MANAGER) ? TOP_SECRET : PUBLIC; + } +} +---- + +* This example uses an enum, but it can be any Object; the GraphQL client +calls `toString()` to convert it. + +The method must be `static` and accessible by the interface, i.e. in the +interface itself or in one of the classes it’s nested in; if it’s in a +different class, prefix it with the fully qualified class name and a dot +`"."`, e.g. +`@Header(name = "S.H.I.E.L.D.-Clearance", method = "org.superheroes.SecurityTools.establishShieldClearance")`. + +A third option is to pass the value of a header as an API method +parameter: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + List allHeroesIn(String location, @Header(name = "S.H.I.E.L.D.-Clearance") Clearance clearance); +} +---- + +The `@Header` parameter will not be part of the GraphQL query. + +The `name` of the header is always static, but can optionally be derived from the name of the parameter or method, i.e. if it has a `@Name` annotation, that annotation value is used. If it's not annotated, the method name (eventually stripped off a leading `get`) or the parameter name (if it's enabled in the compiler settings) is converted from camel case to kebab case, i.e. a parameter `@Header String requestIdentifier` will result in a header named `Request-Identifier`. + +`@Header` annotations can also be defined via `@Stereotype`. + +When instantiating the API with the builder, you can set (or overwrite) +one or more headers there: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder() + .header("S.H.I.E.L.D.-Clearance", "TOP-SECRET") + .build(SuperHeroesApi.class); +---- + +Authorization headers + +To add an `Authorization` header, instead of using the generic `@Header` +annotation, you can also use the special `@AuthorizationHeader` +annotation. It produces a `BASIC` `Authorization` header by default or a +`BEARER` token. You can configure the credentials in MP Config with a +prefix plus `/mp-graphql/` and either `username` and `password` for +`BASIC` or `bearer` for `BEARER`. The config key defaults to the fully +qualified name of the `GraphQLClientApi` interface or its `configKey`. + +You can use a custom prefix by setting the `confPrefix`. The infix +`/mp-graphql/` is still applied, unless you end the `confPrefix` with +`++*++`, e.g. +`@AuthorizationHeader(confPrefix = "org.superheroes.security.basic.++*++` +will use `org.superheroes.security.basic.username`, while `++*++` will use +plain `username`. + +`@AuthorizationHeader` annotations can be defined via `@Stereotype`. diff --git a/content/docs/smallrye-graphql/main/typesafe-client-logging.adoc b/content/docs/smallrye-graphql/main/typesafe-client-logging.adoc new file mode 100644 index 000000000..dad8dffc9 --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-logging.adoc @@ -0,0 +1,7 @@ += Logging in typesafe clients +include::_attributes.adoc[] + +The Client implementation logs all GraphQL requests and responses at +level `INFO` with the interface API as the logger name. It also logs the +keys of all headers added at level `DEBUG`; not the values, as they may +be security sensitive. diff --git a/content/docs/smallrye-graphql/main/typesafe-client-multiple-queries.adoc b/content/docs/smallrye-graphql/main/typesafe-client-multiple-queries.adoc new file mode 100644 index 000000000..80b399f00 --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-multiple-queries.adoc @@ -0,0 +1,48 @@ += Multiple +include::_attributes.adoc[] + +Say you need the result from several root queries, e.g. all +`superHeroes` and all `superVillains`. Java only supports a single +return value, so you’ll need a wrapper class: + +[source,java] +---- +@GraphQLClientApi +interface SuperHeroesApi { + HeroesAndVillains heroesAndVillains(); +} + +@Multiple +class HeroesAndVillains { + List superHeroes; + List superVillains; +} +---- + +The `@Multiple` annotation 'inlines' the wrapper class, i.e. the actual +query is: + +[source,graphql] +---- +query heroesAndVillains { superHeroes {...} superVillains {...}} +---- + +The actual response below will be mapped to an instance of the +`HeroesAndVillains` wrapper class: + +[source,json] +---- +{ + "data": { + "superHeroes": [ ... ], + "superVillains": [ ... ] + } +} +---- + +If the nested queries require parameters, use `@` annotations to put +them on the field (remember: GraphQL fields can have parameters). + +If you need the same request several times (e.g. with different query +parameters), use `@Name` annotations, so the actual field names are used +as xref:#_name_mapping_aliases[alias]. diff --git a/content/docs/smallrye-graphql/main/typesafe-client-reactive-types.adoc b/content/docs/smallrye-graphql/main/typesafe-client-reactive-types.adoc new file mode 100644 index 000000000..a1c7b98c1 --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-reactive-types.adoc @@ -0,0 +1,48 @@ += Reactive types usage in typesafe clients +include::_attributes.adoc[] + +== Reactive types with queries and mutations + +Regardless of the type that a query or mutation returns, you can always wrap the return type in a `Uni` in your +`@GraphQLClientApi` interface. The `Uni` will be completed after the response is received and processed. + +== Subscriptions + +The return type of a subscription operation must always be wrapped in a `Multi`. +The communication with the server runs over a WebSocket. + +=== Important note about errors + +When using the typesafe client for subscriptions, if it is expected that the server might return errors, +then it is highly recommended to wrap the return types into an `ErrorOr` +(for example, turn the API method `@Subscription Multi++<++Person++>++ people` into `@Subscription Multi++<++ErrorOr++<++Person++>>++ people`). +The reason is once there is an error returned from the service and the result can't be turned into a domain object due to that, +the `Multi` will receive a failure as a result. Because of the design of Mutiny, a `Multi` can't continue producing any items after +a failure. That means the subscription will be cancelled after the first error, even though the server might continue +sending more items. In such case, your application would have to detect the error and start a new subscription. +See xref:typesafe-client-error-handling.adoc[Error handling] for more details on how to use `ErrorOr`. + +=== Subscription example + +Given a server-side definition like this: + +[source,java] +---- +@Subscription +public Multi countToFive() { + return Multi.createFrom().range(0, 5); +} +---- + +A client to consume this subscription can look like this: + +[source,java] +---- +client.countToFive + .subscribe() + .with( // onItem: + i -> System.out.println("Received number" + i), + // onFailure: + (t) -> t.printStackTrace() + ); +---- diff --git a/content/docs/smallrye-graphql/main/typesafe-client-unions-and-interfaces.adoc b/content/docs/smallrye-graphql/main/typesafe-client-unions-and-interfaces.adoc new file mode 100644 index 000000000..36bf138b8 --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-unions-and-interfaces.adoc @@ -0,0 +1,164 @@ += Unions & Interfaces +include::_attributes.adoc[] + +If you consume a GraphQL service with a schema containing either a `Union` or an `Interface`, +the client needs to request different fields via fragments, depending on the requested sub-type, +and deserialize a polymorphic type. + +This is quite complex on the GraphQL side, but the typesafe client makes it very easy to use. + +Unions + +One common use-case for Unions is returning a business error, e.g. when searching for a super hero, +either you find a super hero and maybe you want the name and other fields, +or you don't find it, and maybe you want a message with the reason. +Such a query could look like this: + +[source,graphql] +---- +query find($name: String) { + find(name: $name){ + __typename + ... on SuperHero {name} + ... on SuperHeroNotFound {message} + } +} +---- + +When it finds your super hero, the service could respond with this: + +[source,json] +---- +{ + "data": { + "find": { + "__typename": "SuperHero", + "name": "Spider-Man" + } + } +} +---- + +Or if it doesn't find it, the response could look like this: + +[source,json] +---- +{ + "data": { + "find": { + "__typename":"SuperHeroNotFound", + "message":"There is no hero named Foo" + } + } +} +---- + +On the Java side, this maps quite nicely to an interface, e.g. `SuperHeroResponse` +implemented by the two possible classes returned, e.g. `SuperHero` and `SuperHeroNotFound`; +you only need to provide the typesafe client with this information about these sub-classes by using the +https://jakarta.ee/specifications/jsonb/3.0/jakarta-jsonb-spec-3.0#polymorphic-types[`JSON-B` Polymorphic Types] +annotations `@JsonbTypeInfo` and `@JsonbSubtype`: + +[source,java] +---- + @Union + @JsonbTypeInfo(key = "__typename", value = { + @JsonbSubtype(alias = "SuperHero", type = SuperHero.class), + @JsonbSubtype(alias = "NotFound", type = NotFound.class) + }) + public interface SuperHeroResponse { + } + + public static class SuperHero implements SuperHeroResponse { + String name; + + String getName() { + return name; + } + } + + @Type("SuperHeroNotFound") + public static class NotFound implements SuperHeroResponse { + String message; + + String getMessage() { + return message; + } + } + + @GraphQLClientApi + interface UnionApi { + SuperHeroResponse find(String name); + } +---- + +Note that we rename the `NotFound` class into the GraphQL type `SuperHeroNotFound` to demo that use-case. + +The `@Union` annotation is actually not used and only helps to document what's happening behind the scenes. + +Interfaces + +If a service returns an GraphQL `interface`, that's visible only in the schema; +queries and responses work exactly like for a `union`. +So, interfaces are very similar to unions; but they can share common fields between the sub-types. + +E.g. a query returning either a `MainCharacter` or a `SideKick`, could look like this: + +[source,graphql] +---- +query find($name: String) { + find(name: $name){ + __typename + ... on MainCharacter {name superPower} + ... on SideKick {name mainCharacter} + } +} +---- + +The Java side looks very similar the Union example above: + +[source,java] +---- +@JsonbTypeInfo(key = "__typename", value = { + @JsonbSubtype(alias = "MainCharacter", type = MainCharacter.class), + @JsonbSubtype(alias = "SideKick", type = SideKick.class) +}) +public interface SearchResult { + String getName(); +} + +public static class MainCharacter implements SearchResult { + String name; + String superPower; + + @Override + public String getName() { + return name; + } + + public String getSuperPower() { + return superPower; + } +} + +public static class SideKick implements SearchResult { + String name; + String mainCharacter; + + @Override + public String getName() { + return name; + } + + public String getMainCharacter() { + return mainCharacter; + } +} + +@GraphQLClientApi +interface InterfaceApi { + SearchResult find(String name); + + List all(); +} +---- diff --git a/content/docs/smallrye-graphql/main/typesafe-client-usage.adoc b/content/docs/smallrye-graphql/main/typesafe-client-usage.adoc new file mode 100644 index 000000000..4dabe814b --- /dev/null +++ b/content/docs/smallrye-graphql/main/typesafe-client-usage.adoc @@ -0,0 +1,301 @@ += Java code-first type-safe GraphQL Client API +include::_attributes.adoc[] + +A Java code-first type-safe GraphQL Client API suggestion for +https://github.com/eclipse/microprofile-graphql/issues/185[Microprofile GraphQL Issue +#185]. + +== Basic Usage + +Creating the client-side counterpart of the GraphQL API: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/SuperHeroesApi.java[] +---- + +A model class: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/SuperHero.java[] +---- + +Injecting the client using CDI and using it: + +[source,java] +---- +include::{examples-dir}/examples/typesafeclient/MyClientUsage.java[] +---- + +* The default request type is `query`. To make it a mutation, annotate +it `@Mutation`. The parameter name is only available if you compile +the source with the `-parameters` option. Otherwise, you’ll have to +annotate all parameters with `@Name`. + +The example above uses CDI, e.g. when you are in a MicroProfile or +Jakarta EE environment. If you are in an environment without CDI +support, you need to instantiate the API interface by using the builder: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder().build(SuperHeroesApi.class); +---- + +The basic idea of the Java code-first approach is to start by +writing the DTOs and query/mutation methods as you need them in your +client. This ensures that you don’t request fields that you don’t need; +the thinking is inspired by https://martinfowler.com/articles/consumerDrivenContracts.html[Consumer Driven +Contracts]. + +If the server uses names different from yours, you can use annotations to do a mapping: + +=== Name Mapping / Aliases + +If the server defines a different field or parameter name, annotate it +with `@Name`. If the server defines a different query name, annotate the +method as, e.g., `@Query("findHeroesCurrentlyLocatedIn")`. + +By renaming methods, you can also define several variations of the same +request but using different return types or parameters. E.g.: + +[source,java] +---- +public interface SuperHeroesApi { + SuperHero findHeroByName(String name); + + @Query("findHeroByName") + SuperHeroWithTeams findHeroWithTeamsByName(String name); +} +---- + +* The `SuperHero` class has no team affiliations (for this example). +* The `SuperHeroWithTeams` class has a `List++<++Team++>++ teamAffiliations` +field. The actual query name is still `findHeroByName`. The `Team` +class doesn’t contain the members to break recursion. + +If you rename a field or method, the real field or method name will be +used as an alias, so you can select the same data twice (see `and` +below). + +=== Configuration + +If the endpoint is always the same, e.g. a public API of a cloud +service, you can add the URL to your API annotation, e.g.: + +[source,java] +---- +@GraphQLClientApi(endpoint = "https://superheroes.org/graphql") +interface SuperHeroesApi { +} +---- + +When instantiating the API with the builder, you can set (or overwrite) +the endpoint there: + +[source,java] +---- +SuperHeroesApi api = TypesafeGraphQLClientBuilder.newBuilder() + .endpoint("https://superheroes.org/graphql") + .build(SuperHeroesApi.class); +---- + +Commonly you’ll need different endpoints, e.g. when you need one +endpoint for your production system, but a different endpoint for your +test system. Simply use https://download.eclipse.org/microprofile/microprofile-config-1.4/microprofile-config-spec.html[MicroProfile +Config] +to set the endpoint; similar to the https://download.eclipse.org/microprofile/microprofile-rest-client-1.4.1/microprofile-rest-client-1.4.1.html[MicroProfile Rest +Client], +the key for the endpoint is the fully qualified name of the API +interface, plus `/mp-graphql/url`, e.g.: + +[source,properties] +---- +org.superheroes.SuperHeroesApi/mp-graphql/url=https://superheroes.org/graphql +---- + +If you want to use a different key, set the base config key on the +annotation `@GraphQLClientApi(configKey = "superheroes")`; then use this +key for the endpoint `superheroes/mp-graphql/url`. + +When using the builder, you can override the config key as well: +`TypesafeGraphQLClientBuilder.newBuilder().configKey("superheroes")`. + +=== NestedParameter + +Some APIs require parameters beyond the root level, e.g. for filtering +or paginating nested lists. Say you have a schema like this: + +[source,graphql] +---- +type Query { + team(name: String!): Team! +} + +type Team { + members(first: Int!): [SuperHero!]! +} +---- + +To pass the parameter to the nested field/method, annotate it as +`@NestedParameter`, e.g.: + +[source,java] +---- +@GraphQLClientApi +interface TeamsApi { + Team team(String name, @NestedParameter("members") int first); +} +---- + +The value of the `@NestedParameter` annotation is the dot-delimited path +to the nested field/method that the value should be added to. + +Example of server code + +[source,java] +---- +@GraphQLApi +public class RoleApi { + @Query + public List findAllRolesByUserId(@NonNull UUID userId) { + // return roles + } + + public List permission(@Source Roles role, @DefaultValue("5") int limit) { + // return permissions, based on roles + } + + public List permissionType(@Source Permission permission, @DefaultValue("5") int limit) { + // return permissionType, based on permission + } +} +---- + +Query looks like + +.... +query { + findAllRolesByUserId(userId: ...) { + id + permission(limit: 2) { + id + permissionType(limit: 3) { + id + } + } + } +} +.... + +On the client side, you can declare the following code: + +[source,java] +---- +public record PermissionType(Long id) { +} + +public record Permission(Long id, List permissionType) { +} + +public record Role(UUID id, List permission) { +} + +@GraphQLClientApi +public interface ApiClient { + List findAllRolesByUserId( + UUID userId, + @NestedParameter("permission") @Name("limit") int permissionLimit, + @NestedParameter("permission.permissionType") @Name("limit") int permissionTypeLimit + ); +} +---- + +== Namespaces + +There are several ways to work with namespaces in a type-safe client: +1. Using `@Namespace` +2. Using `@Name` (deprecated) + +____ +++[++NOTE++]++ You can only use one of the annotations - `@Name` or `@Namespace` on a `GraphClientQLApi` interface. +____ + +=== Using @Namespace annotation + +The `@Namespace` annotation accepts an array of strings specifying the nesting levels of the namespace. +This flexible approach allows you to create namespaces with any desired level of nesting, combining different levels as needed. + +If the remote GraphQL API has the following schema: + +.... +"Query root" +type Query { + admin: AdminQuery +} + +type AdminQuery { + users: AdminUsersQuery +} + +type AdminUsersQuery { + findAll: User +} + +type User { + id: BigInteger + [...] +} +.... + +While declaring the following interface: + +[source,java] +---- +@Namespace({"admin", "users"}) +@GraphQLClientApi +public interface UsersClient { + List findAll(); +} +---- + +Its outcome will be the following GraphQL query: + +.... +query AminUsersFindAll { + admin { + users { + findAll { + id + } + } + } +} +.... + +=== Using @Name (deprecated) + +____ +++[++NOTE++]++ This feature may be removed in the future. +____ + +The `@Name` annotation functions similarly to `@Namespace`, but it is limited to a single nesting level. + +.... +query { + users { + findAll { + ... + } + } +} +.... + +[source,java] +---- +@Name("users") +@GraphQLClientApi +public interface ApiClient { + List findAll(); +} +---- diff --git a/content/docs/smallrye-graphql/main/using-smallrye-stork.adoc b/content/docs/smallrye-graphql/main/using-smallrye-stork.adoc new file mode 100644 index 000000000..46064219c --- /dev/null +++ b/content/docs/smallrye-graphql/main/using-smallrye-stork.adoc @@ -0,0 +1,53 @@ += Using SmallRye Stork +include::_attributes.adoc[] + +SmallRye GraphQL client (both dynamic and typesafe) supports SmallRye Stork for +service discovery and load balancing. If your client is configured to connect to a URI +with the `stork://` or `storks://` scheme, then Stork will be used to determine the +actual endpoints to connect to. Load balancing, if configured, will be applied in a way that +each HTTP request can be routed to a different service instance. For WebSocket traffic, +once a WebSocket connection is established, the client will keep using that connection +for as long as possible. If that connection is lost for any reason and needs to be +reestablished, then the load balancer can route it to a different instance. + +== Using with Quarkus + +The dependency on Stork is declared as optional, so if you want to use it, you might need +to add it explicitly. If you're using Quarkus, use the Stork extension along with +the desired service discovery implementation, for example: + +.... + + io.quarkus + quarkus-smallrye-stork + + + io.smallrye.stork + smallrye-stork-service-discovery-static-list + +.... + +Example configuration in Quarkus `application.properties`: + +.... +quarkus.smallrye-graphql-client.myclient.url=stork://foo-service/graphql +quarkus.stork.foo-service.service-discovery.type=static +quarkus.stork.foo-service.service-discovery.address-list=server1.com:8080,server2.com:8080 +.... + +== When running as a standalone application + +If you're using the client in a standalone mode outside any container that handles +Stork initialization for you, you might need two additional steps to get it working: + +Add a configuration provider for Stork, such as + +.... + + io.smallrye.stork + stork-microprofile-config + +.... + +And before initializing any GraphQL client instances, make sure that Stork is initialized +by calling `io.smallrye.stork.Stork.initialize()` once. diff --git a/content/docs/smallrye-health/latest/_attributes.adoc b/content/docs/smallrye-health/latest/_attributes.adoc new file mode 100644 index 000000000..0894420be --- /dev/null +++ b/content/docs/smallrye-health/latest/_attributes.adoc @@ -0,0 +1,18 @@ +:project-version: 4.3.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:partialsdir: {version-root}_partials +:examples-dir: {version-root}_examples +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 4.3.0 +:relfileprefix: /docs/smallrye-health/latest/ +:imagesdir: /docs/smallrye-health/latest +:docs-project: smallrye-health +:docs-version: latest +:docs-ref: 4.3.0 diff --git a/content/docs/smallrye-health/latest/_nav.yml b/content/docs/smallrye-health/latest/_nav.yml new file mode 100644 index 000000000..2b75ac52c --- /dev/null +++ b/content/docs/smallrye-health/latest/_nav.yml @@ -0,0 +1,18 @@ +title: SmallRye Health +nav: +- title: Overview + page: index +- title: Features on top of the specification + items: + - title: Asynchronous health checks + page: async-checks + - title: Health Groups + page: health-groups + - title: Health Registry + page: health-registry + - title: Wellness + page: wellness + - title: Static access + page: static-access + - title: Custom Config properties + page: custom-config-properties diff --git a/content/docs/smallrye-health/latest/async-checks.adoc b/content/docs/smallrye-health/latest/async-checks.adoc new file mode 100644 index 000000000..76a05e243 --- /dev/null +++ b/content/docs/smallrye-health/latest/async-checks.adoc @@ -0,0 +1,44 @@ += Asynchronous health checks +include::_attributes.adoc[] + +== Defining asynchronous checks + +SmallRye Health provides a way to define asynchronous checks that can be consumed +in the reactive applications in a non-blocking manner. These checks are defined in +a very similar way to the usual health checks only they implement a different interface: + +[source,java] +---- +@Liveness <1> +@ApplicationScoped <2> +public class LivenessAsync implements AsyncHealthCheck { <3> + + @Override + public Uni call() { <4> + return Uni.createFrom().item(HealthCheckResponse.up("liveness-async")) + .onItem().delayIt().by(Duration.ofMillis(10)); + } +} +---- +<1> The MicroProfile Health CDI qualifier is still required +<2> The check still needs to be a CDI bean +<3> The asynchronous checks must implement the `AsyncHealthCheck` interface +<4> The return type of the health check `call()` method is `Uni` + +The `Uni` is one of the main types included in the https://smallrye.io/smallrye-mutiny/[Mutiny project] +on top of which asynchronous checks are built. Mutiny provides several ways to transform the +most common reactive types to `Uni`, so if you are used to work with different reacitve +library it should be an issue. + +== Consuming health checks asynchronously + +The `SmallRyeHealthReporter` class was extended to provide variants of get health methods +that end with `*Async()` (e.g. `getLivenessAsync()`) that return an `Uni` so it can +also be included in any reactive pipeline. Example uses of this API is demonstrated for instance in +the `AsyncHealthTest`. + +== References + +* https://github.com/smallrye/smallrye-health/blob/main/api/src/main/java/io/smallrye/health/api/AsyncHealthCheck.java[`AsyncHealthCheck`] +* https://github.com/smallrye/smallrye-health/blob/main/implementation/src/main/java/io/smallrye/health/SmallRyeHealthReporter.java[`SmallRyeHealthReporter`] +* https://github.com/smallrye/smallrye-health/blob/main/testsuite/experimental/src/test/java/io/smallrye/health/test/AsyncHealthTest.java[`AsyncHealthTest`] diff --git a/content/docs/smallrye-health/latest/custom-config-properties.adoc b/content/docs/smallrye-health/latest/custom-config-properties.adoc new file mode 100644 index 000000000..4df522378 --- /dev/null +++ b/content/docs/smallrye-health/latest/custom-config-properties.adoc @@ -0,0 +1,39 @@ += Custom configuration values +include::_attributes.adoc[] + +SmallRye Health provides several custom configuration values that are exposing additional features which are currently not a part of the MicroProfile Health specification. The following sections provide an overview of what users can configure to adjust the executions of health check invocations. + +== Disabling Health Checks with configuration + +In SmallRye Health, you can dynamically choose which `HealthCheck` implementation will be included in the final produces responses with configuration values. To disable any included `HealthCheck` implementation dynamically you can use the following configuration property: + +[source,properties] +---- +io.smallrye.health.check..enabled=false +---- + +where `health-check-classname` is a fully-qualified class name of the `HealthCheck` implementation that should not be included in the responses. This value can be specified dynamically on the application startup with MicroProfile Config values (see https://github.com/eclipse/microprofile-config[MicroProfile Config specification]). + +For instance, for `HealthCheck` implementation included in class `org.acme.TestHC` the property would look like `-Dio.smallrye.health.check.org.acme.TestHC.enabled=false` or `IO_SMALLRYE_HEALTH_CHECK_ORG_ACME_TESTHC_ENABLED=false`. + +== Adding additional JSON properties + +SmallRye Health provides a feature that allows users to specify additional properties with fixed values that should be included in the top level properties of the outputed JSON. To specify additonal JSON properties, you can use the following configuration values: + +[source,properties] +---- +io.smallrye.health.additional.property.testProperty1=testValue1 +io.smallrye.health.additional.property.testProperty2=testValue2 +---- + +which will output a JSON like this: + +[source,json] +---- +{ + "checks": [], + "status": "UP", + "testProperty1": "testValue1", + "testProperty2": "testValue2" +} +---- \ No newline at end of file diff --git a/content/docs/smallrye-health/latest/health-groups.adoc b/content/docs/smallrye-health/latest/health-groups.adoc new file mode 100644 index 000000000..a94eb6295 --- /dev/null +++ b/content/docs/smallrye-health/latest/health-groups.adoc @@ -0,0 +1,72 @@ += Health Groups +include::_attributes.adoc[] + +A health group is simply a user defined group of health checks. Namely, liveness and readiness +(and experimental wellness) are predefined health groups. With this feature users are allowed to +define any number of custom health groups and the individual checks that will belong to them. + +== Including a check in a health group + +To include a health check in a custom health group you can use the `HealthGroup` annotations: + +[source,java] +---- +@HealthGroup("group1") <1> +@HealthGroup("group2") <2> +@ApplicationScoped +public class SuccessfulCustom implements HealthCheck { + @Override + public HealthCheckResponse call() { + return HealthCheckResponse.up("successful-check"); + } +} +---- +<1> The check will belong to the health group _"group1"_ +<2> The check will also belong to the health group _"group2"_ + +A health check can be included in any number of health groups including the liveness and readiness: + +[source,java] +---- +@HealthGroup("custom1") +@HealthGroup("different-group") +@Liveness +@ApplicationScoped +public class GroupsCheck implements HealthCheck { ... +---- + +== Accessing the health groups + +The custom health groups are exposed under the `/health/group` resource tree: + +|=== +| Path | Description +| `/health/group` | All health checks in all groups +| `/health/group/\{group-name}` | All health checks in the group called \{group-name} +|=== + +Please note that is totally valid to define custom health group as a liveness and/or readiness +probe if required. Both liveness and readiness are shorcuts for predefined health groups. + +In the previous example, the `GroupsCheck` will be invoked when accessing: + +* `/health/group` +* `/health/group/custom1` +* `/health/group/different-group` +* `/health/live` + +However, it won't be invoked for instance when accessing: + +* `/health/group/foobar` +* `/health/ready` + +== Default health group + +The configuration property `io.smallrye.health.defaultHealthGroup=\{default-group-name}` can be used to specify the health +group name of a new, default health group that is implicitly added to the all +health checks that don't already belong into any health group. This might be useful to easily categorize the custom health groups. + +== References + +* https://github.com/smallrye/smallrye-health/blob/main/api/src/main/java/io/smallrye/health/api/HealthGroup.java[`HealthGroup`] + diff --git a/content/docs/smallrye-health/latest/health-registry.adoc b/content/docs/smallrye-health/latest/health-registry.adoc new file mode 100644 index 000000000..a5990eee5 --- /dev/null +++ b/content/docs/smallrye-health/latest/health-registry.adoc @@ -0,0 +1,65 @@ += Health Registry +include::_attributes.adoc[] + +A health registry provides a way to register the health checks programatically. It also allows +to remove the programatically registered health checks when they are no longer needed. This presents +an option to dynamically register and unregister health checks based on the user defined criteria. + +== Health Registry usage + +The `HealthRegistry` can be injected as a CDI bean with `@Liveness`, `@Readiness`, `@Startup`, or `@Wellness` qualifiers: + +[source,java] +---- +@Inject +@Liveness +HealthRegistry livenessHealthRegistry; + +@Inject +@Readiness +HealthRegistry readinessHealthRegistry; + +@Inject +@Startup +HealthRegistry startupHealthRegistry; + +@Inject +@Wellness +HealthRegistry wellnessHealthRegistry; +---- + +NOTE: Health group registry have not been requested as of yet but if some applications would find +it useful please raise a new issue in the https://github.com/smallrye/smallrye-health/issues[SmallRye Health issue tracker]. + +You can then register your health check by simple calling the `register` methods: + +[source,java] +---- +public void register() { + livenessHealthRegistry.register(new TestLiveness()); <1> +} + +public void registerReady() { + readinessHealthRegistry.register("dynamic-readiness", new TestReadiness()); <2> +} +---- +<1> If no user defined name is provided during registration the health check is registered as +`TestLiveness.class.getName()` +<2> The user provided name `dynamic-readiness` will be used as the check identificator + +To unregister the registered health check you can call the `remove` methods: + +[source,java] +---- +public void remove() { + livenessHealthRegistry.remove(TestLiveness.class.getName()); +} + +public void removeReady() { + readinessHealthRegistry.remove("dynamic-readiness"); +} +---- + +== Resources + +* https://github.com/smallrye/smallrye-health/blob/main/api/src/main/java/io/smallrye/health/api/HealthRegistry.java[`HealthRegistry`] diff --git a/content/docs/smallrye-health/latest/index.adoc b/content/docs/smallrye-health/latest/index.adoc new file mode 100644 index 000000000..980ac059f --- /dev/null +++ b/content/docs/smallrye-health/latest/index.adoc @@ -0,0 +1,18 @@ += SmallRye Health Documentation +include::_attributes.adoc[] + +SmallRye Health 3.0 is an implementation of the MicroProfile Health 3.0 specification. + +Runtimes that currently use it as their health monitoring implementation include: + +* https://quarkus.io/[Quarkus] +* https://wildfly.org/[WildFly] +* https://thorntail.io/[Thorntail] + + +[[more-resources]] +== More Resources + +* https://github.com/smallrye/smallrye-health/[SmallRye Health GitHub project repository] +* https://github.com/eclipse/microprofile-health/[Eclipse MicroProfile Health repository] +* https://download.eclipse.org/microprofile/microprofile-health-3.0/microprofile-health-spec-3.0.html[MicroProfile 3.0 specification text] diff --git a/content/docs/smallrye-health/latest/static-access.adoc b/content/docs/smallrye-health/latest/static-access.adoc new file mode 100644 index 000000000..847e0fff2 --- /dev/null +++ b/content/docs/smallrye-health/latest/static-access.adoc @@ -0,0 +1,59 @@ += Static access to the SmallRye Health +include::_attributes.adoc[] + +In some contexts it might have been necessary to access SmallRye health capabilities in the non-CDI environments where CDI injection access typical for MicroProfile application is not available. For this reason, SmallRye Health provides a programmatic non-CDI static access to the `SmallRyeHealthReporter` and all different type of `HealthRegistry` so users can register (and unregister) health checks dynamically and invoke the reporter to get the same JSON objects as from usual `/health` calls. + +== Accessing health registry and reporting health + +The class `HealthRegistries` provides several static methods to access different types of health registry that can be used to register different types of health checks (see xref:health-registry.adoc#health-registry[Health registry section]). The simplest way to report health is then: + +[source,java] +---- +public static void main(String[] args) { + HealthRegistry livenessRegistry = HealthRegistries.getRegistry(HealthType.LIVENESS); + + livenessRegistry.register("test-hc", () -> HealthCheckResponse.up("test")); + + SmallRyeHealthReporter reporter = new SmallRyeHealthReporter(); + reporter.reportHealth(System.out, reporter.getHealth()); +} +---- + +== Different types of health registries + +SmallRye Health provides a different health registry for each of the base health types: + +[source,java] +---- +HealthRegistry livenessRegistry = HealthRegistries.getRegistry(HealthType.LIVENESS); +HealthRegistry readinessRegistry = HealthRegistries.getRegistry(HealthType.READINESS); +HealthRegistry startupRegistry = HealthRegistries.getRegistry(HealthType.STARTUP); +HealthRegistry wellnessRegistry = HealthRegistries.getRegistry(HealthType.WELLNESS); +---- + +and also a static access to health groups (experimental, see xref:health-groups.adoc#health-groups[health groups section]): + +[source,java] +---- +HealthRegistry testGroupRegistry = HealthRegistries.getHealthGroupRegistry("test-group"); +Collection healthGroupRegistries = HealthRegistries.getHealthGroupRegistries(); +---- + +== Overriding configuration values + +In CDI environment, SmallRye Health uses MicroProfile Config for its configuration. However, in non-CDI environments, MicroProfile Config doesn't work so all configuration values used in SmallRye Health are overridable by methods in the classes that use particular config values: + +`SmallRyeHealthReporter` + +* #setContextPropagated(boolean) +* #setEmptyChecksOutcome(String) +* #setTimeoutSeconds(int) +* #setAdditionalProperties(Map) + +`AsyncHealthCheckFactory` + +* #setUncheckedExceptionDataStyle(String) + +== Resources + +* https://github.com/smallrye/smallrye-health/blob/main/implementation/src/main/java/io/smallrye/health/registry/HealthRegistries.java[`HealthRegistries`] \ No newline at end of file diff --git a/content/docs/smallrye-health/latest/wellness.adoc b/content/docs/smallrye-health/latest/wellness.adoc new file mode 100644 index 000000000..c21fd7e78 --- /dev/null +++ b/content/docs/smallrye-health/latest/wellness.adoc @@ -0,0 +1,34 @@ += Wellness +include::_attributes.adoc[] + +The wellness is another health groups besides the liveness and readiness that can be standardized +as a group of health checks that don't belong to either liveness (application restart) or +readiness (traffic discards) but have a value for any post processing automatic or manual +health monitoring. + +== The @Wellness annotation + +You can use the `@Wellness` annotation in a similar manner as `@Readiness` or `@Liveness`: + +[source,java] +---- +@Wellness <1> +@ApplicationScoped +public class WellnessCheck implements HealthCheck { + @Override + public HealthCheckResponse call() { + return HealthCheckResponse.up("wellness-check"); + } +} +---- +<1> The `@Wellness` qualifier + +== Accessing the wellness checks + +The wellness checks are exposed under the `/health/well` endpoint. They are also available +at grouped `/health` endpoint together with all other health checks (liveness, readiness, and +health groups). + +== References + +* https://github.com/smallrye/smallrye-health/blob/main/api/src/main/java/io/smallrye/health/api/Wellness.java[`Wellness`] diff --git a/content/docs/smallrye-health/main/_attributes.adoc b/content/docs/smallrye-health/main/_attributes.adoc new file mode 100644 index 000000000..b377e9450 --- /dev/null +++ b/content/docs/smallrye-health/main/_attributes.adoc @@ -0,0 +1,18 @@ +:project-version: 4.3.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:partialsdir: {version-root}_partials +:examples-dir: {version-root}_examples +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 4.3.0 +:relfileprefix: /docs/smallrye-health/main/ +:imagesdir: /docs/smallrye-health/main +:docs-project: smallrye-health +:docs-version: main +:docs-ref: main diff --git a/content/docs/smallrye-health/main/_nav.yml b/content/docs/smallrye-health/main/_nav.yml new file mode 100644 index 000000000..2b75ac52c --- /dev/null +++ b/content/docs/smallrye-health/main/_nav.yml @@ -0,0 +1,18 @@ +title: SmallRye Health +nav: +- title: Overview + page: index +- title: Features on top of the specification + items: + - title: Asynchronous health checks + page: async-checks + - title: Health Groups + page: health-groups + - title: Health Registry + page: health-registry + - title: Wellness + page: wellness + - title: Static access + page: static-access + - title: Custom Config properties + page: custom-config-properties diff --git a/content/docs/smallrye-health/main/async-checks.adoc b/content/docs/smallrye-health/main/async-checks.adoc new file mode 100644 index 000000000..76a05e243 --- /dev/null +++ b/content/docs/smallrye-health/main/async-checks.adoc @@ -0,0 +1,44 @@ += Asynchronous health checks +include::_attributes.adoc[] + +== Defining asynchronous checks + +SmallRye Health provides a way to define asynchronous checks that can be consumed +in the reactive applications in a non-blocking manner. These checks are defined in +a very similar way to the usual health checks only they implement a different interface: + +[source,java] +---- +@Liveness <1> +@ApplicationScoped <2> +public class LivenessAsync implements AsyncHealthCheck { <3> + + @Override + public Uni call() { <4> + return Uni.createFrom().item(HealthCheckResponse.up("liveness-async")) + .onItem().delayIt().by(Duration.ofMillis(10)); + } +} +---- +<1> The MicroProfile Health CDI qualifier is still required +<2> The check still needs to be a CDI bean +<3> The asynchronous checks must implement the `AsyncHealthCheck` interface +<4> The return type of the health check `call()` method is `Uni` + +The `Uni` is one of the main types included in the https://smallrye.io/smallrye-mutiny/[Mutiny project] +on top of which asynchronous checks are built. Mutiny provides several ways to transform the +most common reactive types to `Uni`, so if you are used to work with different reacitve +library it should be an issue. + +== Consuming health checks asynchronously + +The `SmallRyeHealthReporter` class was extended to provide variants of get health methods +that end with `*Async()` (e.g. `getLivenessAsync()`) that return an `Uni` so it can +also be included in any reactive pipeline. Example uses of this API is demonstrated for instance in +the `AsyncHealthTest`. + +== References + +* https://github.com/smallrye/smallrye-health/blob/main/api/src/main/java/io/smallrye/health/api/AsyncHealthCheck.java[`AsyncHealthCheck`] +* https://github.com/smallrye/smallrye-health/blob/main/implementation/src/main/java/io/smallrye/health/SmallRyeHealthReporter.java[`SmallRyeHealthReporter`] +* https://github.com/smallrye/smallrye-health/blob/main/testsuite/experimental/src/test/java/io/smallrye/health/test/AsyncHealthTest.java[`AsyncHealthTest`] diff --git a/content/docs/smallrye-health/main/custom-config-properties.adoc b/content/docs/smallrye-health/main/custom-config-properties.adoc new file mode 100644 index 000000000..4df522378 --- /dev/null +++ b/content/docs/smallrye-health/main/custom-config-properties.adoc @@ -0,0 +1,39 @@ += Custom configuration values +include::_attributes.adoc[] + +SmallRye Health provides several custom configuration values that are exposing additional features which are currently not a part of the MicroProfile Health specification. The following sections provide an overview of what users can configure to adjust the executions of health check invocations. + +== Disabling Health Checks with configuration + +In SmallRye Health, you can dynamically choose which `HealthCheck` implementation will be included in the final produces responses with configuration values. To disable any included `HealthCheck` implementation dynamically you can use the following configuration property: + +[source,properties] +---- +io.smallrye.health.check..enabled=false +---- + +where `health-check-classname` is a fully-qualified class name of the `HealthCheck` implementation that should not be included in the responses. This value can be specified dynamically on the application startup with MicroProfile Config values (see https://github.com/eclipse/microprofile-config[MicroProfile Config specification]). + +For instance, for `HealthCheck` implementation included in class `org.acme.TestHC` the property would look like `-Dio.smallrye.health.check.org.acme.TestHC.enabled=false` or `IO_SMALLRYE_HEALTH_CHECK_ORG_ACME_TESTHC_ENABLED=false`. + +== Adding additional JSON properties + +SmallRye Health provides a feature that allows users to specify additional properties with fixed values that should be included in the top level properties of the outputed JSON. To specify additonal JSON properties, you can use the following configuration values: + +[source,properties] +---- +io.smallrye.health.additional.property.testProperty1=testValue1 +io.smallrye.health.additional.property.testProperty2=testValue2 +---- + +which will output a JSON like this: + +[source,json] +---- +{ + "checks": [], + "status": "UP", + "testProperty1": "testValue1", + "testProperty2": "testValue2" +} +---- \ No newline at end of file diff --git a/content/docs/smallrye-health/main/health-groups.adoc b/content/docs/smallrye-health/main/health-groups.adoc new file mode 100644 index 000000000..a94eb6295 --- /dev/null +++ b/content/docs/smallrye-health/main/health-groups.adoc @@ -0,0 +1,72 @@ += Health Groups +include::_attributes.adoc[] + +A health group is simply a user defined group of health checks. Namely, liveness and readiness +(and experimental wellness) are predefined health groups. With this feature users are allowed to +define any number of custom health groups and the individual checks that will belong to them. + +== Including a check in a health group + +To include a health check in a custom health group you can use the `HealthGroup` annotations: + +[source,java] +---- +@HealthGroup("group1") <1> +@HealthGroup("group2") <2> +@ApplicationScoped +public class SuccessfulCustom implements HealthCheck { + @Override + public HealthCheckResponse call() { + return HealthCheckResponse.up("successful-check"); + } +} +---- +<1> The check will belong to the health group _"group1"_ +<2> The check will also belong to the health group _"group2"_ + +A health check can be included in any number of health groups including the liveness and readiness: + +[source,java] +---- +@HealthGroup("custom1") +@HealthGroup("different-group") +@Liveness +@ApplicationScoped +public class GroupsCheck implements HealthCheck { ... +---- + +== Accessing the health groups + +The custom health groups are exposed under the `/health/group` resource tree: + +|=== +| Path | Description +| `/health/group` | All health checks in all groups +| `/health/group/\{group-name}` | All health checks in the group called \{group-name} +|=== + +Please note that is totally valid to define custom health group as a liveness and/or readiness +probe if required. Both liveness and readiness are shorcuts for predefined health groups. + +In the previous example, the `GroupsCheck` will be invoked when accessing: + +* `/health/group` +* `/health/group/custom1` +* `/health/group/different-group` +* `/health/live` + +However, it won't be invoked for instance when accessing: + +* `/health/group/foobar` +* `/health/ready` + +== Default health group + +The configuration property `io.smallrye.health.defaultHealthGroup=\{default-group-name}` can be used to specify the health +group name of a new, default health group that is implicitly added to the all +health checks that don't already belong into any health group. This might be useful to easily categorize the custom health groups. + +== References + +* https://github.com/smallrye/smallrye-health/blob/main/api/src/main/java/io/smallrye/health/api/HealthGroup.java[`HealthGroup`] + diff --git a/content/docs/smallrye-health/main/health-registry.adoc b/content/docs/smallrye-health/main/health-registry.adoc new file mode 100644 index 000000000..a5990eee5 --- /dev/null +++ b/content/docs/smallrye-health/main/health-registry.adoc @@ -0,0 +1,65 @@ += Health Registry +include::_attributes.adoc[] + +A health registry provides a way to register the health checks programatically. It also allows +to remove the programatically registered health checks when they are no longer needed. This presents +an option to dynamically register and unregister health checks based on the user defined criteria. + +== Health Registry usage + +The `HealthRegistry` can be injected as a CDI bean with `@Liveness`, `@Readiness`, `@Startup`, or `@Wellness` qualifiers: + +[source,java] +---- +@Inject +@Liveness +HealthRegistry livenessHealthRegistry; + +@Inject +@Readiness +HealthRegistry readinessHealthRegistry; + +@Inject +@Startup +HealthRegistry startupHealthRegistry; + +@Inject +@Wellness +HealthRegistry wellnessHealthRegistry; +---- + +NOTE: Health group registry have not been requested as of yet but if some applications would find +it useful please raise a new issue in the https://github.com/smallrye/smallrye-health/issues[SmallRye Health issue tracker]. + +You can then register your health check by simple calling the `register` methods: + +[source,java] +---- +public void register() { + livenessHealthRegistry.register(new TestLiveness()); <1> +} + +public void registerReady() { + readinessHealthRegistry.register("dynamic-readiness", new TestReadiness()); <2> +} +---- +<1> If no user defined name is provided during registration the health check is registered as +`TestLiveness.class.getName()` +<2> The user provided name `dynamic-readiness` will be used as the check identificator + +To unregister the registered health check you can call the `remove` methods: + +[source,java] +---- +public void remove() { + livenessHealthRegistry.remove(TestLiveness.class.getName()); +} + +public void removeReady() { + readinessHealthRegistry.remove("dynamic-readiness"); +} +---- + +== Resources + +* https://github.com/smallrye/smallrye-health/blob/main/api/src/main/java/io/smallrye/health/api/HealthRegistry.java[`HealthRegistry`] diff --git a/content/docs/smallrye-health/main/index.adoc b/content/docs/smallrye-health/main/index.adoc new file mode 100644 index 000000000..980ac059f --- /dev/null +++ b/content/docs/smallrye-health/main/index.adoc @@ -0,0 +1,18 @@ += SmallRye Health Documentation +include::_attributes.adoc[] + +SmallRye Health 3.0 is an implementation of the MicroProfile Health 3.0 specification. + +Runtimes that currently use it as their health monitoring implementation include: + +* https://quarkus.io/[Quarkus] +* https://wildfly.org/[WildFly] +* https://thorntail.io/[Thorntail] + + +[[more-resources]] +== More Resources + +* https://github.com/smallrye/smallrye-health/[SmallRye Health GitHub project repository] +* https://github.com/eclipse/microprofile-health/[Eclipse MicroProfile Health repository] +* https://download.eclipse.org/microprofile/microprofile-health-3.0/microprofile-health-spec-3.0.html[MicroProfile 3.0 specification text] diff --git a/content/docs/smallrye-health/main/static-access.adoc b/content/docs/smallrye-health/main/static-access.adoc new file mode 100644 index 000000000..847e0fff2 --- /dev/null +++ b/content/docs/smallrye-health/main/static-access.adoc @@ -0,0 +1,59 @@ += Static access to the SmallRye Health +include::_attributes.adoc[] + +In some contexts it might have been necessary to access SmallRye health capabilities in the non-CDI environments where CDI injection access typical for MicroProfile application is not available. For this reason, SmallRye Health provides a programmatic non-CDI static access to the `SmallRyeHealthReporter` and all different type of `HealthRegistry` so users can register (and unregister) health checks dynamically and invoke the reporter to get the same JSON objects as from usual `/health` calls. + +== Accessing health registry and reporting health + +The class `HealthRegistries` provides several static methods to access different types of health registry that can be used to register different types of health checks (see xref:health-registry.adoc#health-registry[Health registry section]). The simplest way to report health is then: + +[source,java] +---- +public static void main(String[] args) { + HealthRegistry livenessRegistry = HealthRegistries.getRegistry(HealthType.LIVENESS); + + livenessRegistry.register("test-hc", () -> HealthCheckResponse.up("test")); + + SmallRyeHealthReporter reporter = new SmallRyeHealthReporter(); + reporter.reportHealth(System.out, reporter.getHealth()); +} +---- + +== Different types of health registries + +SmallRye Health provides a different health registry for each of the base health types: + +[source,java] +---- +HealthRegistry livenessRegistry = HealthRegistries.getRegistry(HealthType.LIVENESS); +HealthRegistry readinessRegistry = HealthRegistries.getRegistry(HealthType.READINESS); +HealthRegistry startupRegistry = HealthRegistries.getRegistry(HealthType.STARTUP); +HealthRegistry wellnessRegistry = HealthRegistries.getRegistry(HealthType.WELLNESS); +---- + +and also a static access to health groups (experimental, see xref:health-groups.adoc#health-groups[health groups section]): + +[source,java] +---- +HealthRegistry testGroupRegistry = HealthRegistries.getHealthGroupRegistry("test-group"); +Collection healthGroupRegistries = HealthRegistries.getHealthGroupRegistries(); +---- + +== Overriding configuration values + +In CDI environment, SmallRye Health uses MicroProfile Config for its configuration. However, in non-CDI environments, MicroProfile Config doesn't work so all configuration values used in SmallRye Health are overridable by methods in the classes that use particular config values: + +`SmallRyeHealthReporter` + +* #setContextPropagated(boolean) +* #setEmptyChecksOutcome(String) +* #setTimeoutSeconds(int) +* #setAdditionalProperties(Map) + +`AsyncHealthCheckFactory` + +* #setUncheckedExceptionDataStyle(String) + +== Resources + +* https://github.com/smallrye/smallrye-health/blob/main/implementation/src/main/java/io/smallrye/health/registry/HealthRegistries.java[`HealthRegistries`] \ No newline at end of file diff --git a/content/docs/smallrye-health/main/wellness.adoc b/content/docs/smallrye-health/main/wellness.adoc new file mode 100644 index 000000000..c21fd7e78 --- /dev/null +++ b/content/docs/smallrye-health/main/wellness.adoc @@ -0,0 +1,34 @@ += Wellness +include::_attributes.adoc[] + +The wellness is another health groups besides the liveness and readiness that can be standardized +as a group of health checks that don't belong to either liveness (application restart) or +readiness (traffic discards) but have a value for any post processing automatic or manual +health monitoring. + +== The @Wellness annotation + +You can use the `@Wellness` annotation in a similar manner as `@Readiness` or `@Liveness`: + +[source,java] +---- +@Wellness <1> +@ApplicationScoped +public class WellnessCheck implements HealthCheck { + @Override + public HealthCheckResponse call() { + return HealthCheckResponse.up("wellness-check"); + } +} +---- +<1> The `@Wellness` qualifier + +== Accessing the wellness checks + +The wellness checks are exposed under the `/health/well` endpoint. They are also available +at grouped `/health` endpoint together with all other health checks (liveness, readiness, and +health groups). + +== References + +* https://github.com/smallrye/smallrye-health/blob/main/api/src/main/java/io/smallrye/health/api/Wellness.java[`Wellness`] diff --git a/content/docs/smallrye-jwt/latest/_attributes.adoc b/content/docs/smallrye-jwt/latest/_attributes.adoc new file mode 100644 index 000000000..cca9b00cc --- /dev/null +++ b/content/docs/smallrye-jwt/latest/_attributes.adoc @@ -0,0 +1,18 @@ +:project-version: 4.6.4 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:partialsdir: {version-root}_partials +:examples-dir: {version-root}_examples +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 4.6.4 +:relfileprefix: /docs/smallrye-jwt/latest/ +:imagesdir: /docs/smallrye-jwt/latest +:docs-project: smallrye-jwt +:docs-version: latest +:docs-ref: 4.6.4 diff --git a/content/docs/smallrye-jwt/latest/_nav.yml b/content/docs/smallrye-jwt/latest/_nav.yml new file mode 100644 index 000000000..eb3b51375 --- /dev/null +++ b/content/docs/smallrye-jwt/latest/_nav.yml @@ -0,0 +1,8 @@ +title: SmallRye JWT +nav: +- title: Overview + page: index +- title: Configuration + page: configuration +- title: Generate JWT Tokens + page: generate-jwt diff --git a/content/docs/smallrye-jwt/latest/_partials/attributes.adoc b/content/docs/smallrye-jwt/latest/_partials/attributes.adoc new file mode 100644 index 000000000..503c73041 --- /dev/null +++ b/content/docs/smallrye-jwt/latest/_partials/attributes.adoc @@ -0,0 +1 @@ +:version: 2.1.2-SNAPSHOT diff --git a/content/docs/smallrye-jwt/latest/configuration.adoc b/content/docs/smallrye-jwt/latest/configuration.adoc new file mode 100644 index 000000000..ae4c280cd --- /dev/null +++ b/content/docs/smallrye-jwt/latest/configuration.adoc @@ -0,0 +1,189 @@ +include::_attributes.adoc[] +include::{partialsdir}/attributes.adoc[] + +[[configuration]] + += Configuration + +== MicroProfile JWT properties + +[cols=">. +|mp.jwt.verify.publickey.location|none|Config property allows for an external or internal location of Public Key to be specified. +|mp.jwt.verify.publickey.algorithm|`RS256`|Signature algorithm. Set it to `ES256` to support the Elliptic Curve signature algorithm. +|mp.jwt.decrypt.key.location|none|Config property allows for an external or internal location of Private Decryption Key to be specified. +|mp.jwt.decrypt.key.algorithm|RSA-OAEP, RSA-OAEP-256|Decryption algorithm, both `RSA-OAEP` and `RSA-OAEP-256` will be supported by default. Set it to `RSA-OAEP-256` to support `RSA-OAEP` with `SHA-256` only. +|mp.jwt.verify.issuer|none|Expected value of the JWT `iss` (issuer) claim. +|mp.jwt.verify.audiences|`none`|Comma separated list of the audiences that a token `aud` claim may contain. +|mp.jwt.verify.clock.skew|`60`|Clock skew in seconds used during the token expiration and age verification. An expired token is accepted if the current time is within the number of seconds specified by this property after the token expiration time. The default value is 60 seconds. +|mp.jwt.verify.token.age|`none`|Number of seconds that must not elapse since the `iat` (issued at) time. +|mp.jwt.token.header|`Authorization`|Set this property if another header such as `Cookie` is used to pass the token. +|mp.jwt.token.cookie|`Bearer`|Name of the cookie containing a token. This property will be effective only if `mp.jwt.token.header` is set to `Cookie`. +|=== + +== Supported Public Key Formats + +Public Keys may be formatted in any of the following formats, specified in order of +precedence: + +- Public Key Cryptography Standards #8 (PKCS#8) PEM +- JSON Web Key (JWK) or JSON Web Key Set (JWKS) +- Base64 URL encoded JSON Web Key (JWK) or JSON Web Key Set (JWKS) + +== SmallRye JWT properties + +SmallRye JWT supports many properties which can be used to customize the token processing: + +[cols=" + io.smallrye + smallrye-jwt-build + ${smallrye.jwt.version} + +---- + +== Create JwtClaimsBuilder and set the claims + +The first step is to initialize a `JwtClaimsBuilder` using one of the options below and add some claims to it: + +[source,java] +---- +import java.util.Collections; +import io.smallrye.jwt.build.Jwt; +import io.smallrye.jwt.build.JwtClaimsBuilder; +... +// Create an empty builder and add some claims +JwtClaimsBuilder builder1 = Jwt.claims(); +builder1.claim("customClaim", "custom-value").issuer("https://issuer.org"); +// Or start typing the claims immediately: +// JwtClaimsBuilder builder1 = Jwt.upn("Alice"); + +// Builder created from the existing claims +JwtClaimsBuilder builder2 = Jwt.claims("/tokenClaims.json"); + +// Builder created from a map of claims +JwtClaimsBuilder builder3 = Jwt.claims(Collections.singletonMap("customClaim", "custom-value")); + +// Builder created from JsonObject +JsonObject userName = Json.createObjectBuilder().add("username", "Alice").build(); +JsonObject userAddress = Json.createObjectBuilder().add("city", "someCity").add("street", "someStreet").build(); +JsonObject json = Json.createObjectBuilder(userName).add("address", userAddress).build(); +JwtClaimsBuilder builder4 = Jwt.claims(json); + +// Builder created from JsonWebToken +@Inject JsonWebToken token; +JwtClaimsBuilder builder5 = Jwt.claims(token); +---- + +The API is fluent so the builder initialization can be done as part of the fluent API sequence. The builder will also +set `iat` (issued at) claim to the current time, `exp` (expires at) claim to a sum of the `iat` claim and `smallrye.jwt.new-token.lifespan` +property values and `jti` (unique token identifier) claim if they have not already been set, so one can skip setting them when possible. + +The next step is to decide how to secure the claims. + +== Sign the claims + +The claims can be signed immediately or after the `JSON Web Signature` headers have been set: + +[source,java] +---- +import io.smallrye.jwt.build.Jwt; +... + +// Sign the claims using the private key loaded from the location set with a 'smallrye.jwt.sign.key.location' property. +// No 'jws()' transition is necessary. +String jwt1 = Jwt.claims("/tokenClaims.json").sign(); + +// Set the headers and sign the claims with an RSA private key loaded in the code (the implementation of this method is omitted). Note a 'jws()' transition to a 'JwtSignatureBuilder'. +String jwt2 = Jwt.claims("/tokenClaims.json").jws().keyId("kid1").header("custom-header", "custom-value").sign(getPrivateKey()); +---- + +Note the `alg` (algorithm) header is set to `RS256` by default. + +== Encrypt the claims + +The claims can be encrypted immediately or after the `JSON Web Encryption` headers have been set the same way as they +can be signed. The only minor difference is that encrypting the claims always requires a `jwe() JwtEncryptionBuilder` +transition: + +[source,java] +---- +import io.smallrye.jwt.build.Jwt; +... + +// Encrypt the claims using the public key loaded from the location set with a 'smallrye.jwt.encrypt.key.location' property. +String jwt1 = Jwt.claims("/tokenClaims.json").jwe().encrypt(); + +// Set the headers and encrypt the claims with an RSA public key loaded in the code (the implementation of this method is omitted). +String jwt2 = Jwt.claims("/tokenClaims.json").jwe().header("custom-header", "custom-value").encrypt(getPublicKey()); +---- + +Note the `alg` (key management algorithm) header is set to `RSA-OAEP` and the `enc` (content encryption header) is set to `A256GCM` by default. + +== Sign the claims and encrypt the nested JWT token + +The claims can be signed and then the nested JWT token encrypted by combining the sign and encrypt steps. + +[source,java] +---- +import io.smallrye.jwt.build.Jwt; +... + +// Sign the claims and encrypt the nested token using the private and public keys loaded from the locations set with the 'smallrye.jwt.sign.key.location' and 'smallrye.jwt.encrypt.key.location' properties respectively. +String jwt = Jwt.claims("/tokenClaims.json").innerSign().encrypt(); +---- + +=== Fast JWT Generation + +If `smallrye.jwt.sign.key.location` or/and `smallrye.jwt.encrypt.key.location` properties are set then one can secure the existing claims (resources, maps, JsonObjects) with a single call: +``` +// More compact than Jwt.claims("/claims.json").sign(); +Jwt.sign("/claims.json"); + +// More compact than Jwt.claims("/claims.json").jwe().encrypt(); +Jwt.encrypt("/claims.json"); + +// More compact than Jwt.claims("/claims.json").innerSign().encrypt(); +Jwt.signAndEncrypt("/claims.json"); +``` +As mentioned above, `iat`, `exp`, `jti` and `iss` claims will be added if needed. + +== Configuration + +Smallrye JWT supports the following properties which can be used to customize the way claims are signed and encrypted: + +[cols=">. +|mp.jwt.verify.publickey.location|none|Config property allows for an external or internal location of Public Key to be specified. +|mp.jwt.verify.publickey.algorithm|`RS256`|Signature algorithm. Set it to `ES256` to support the Elliptic Curve signature algorithm. +|mp.jwt.decrypt.key.location|none|Config property allows for an external or internal location of Private Decryption Key to be specified. +|mp.jwt.decrypt.key.algorithm|RSA-OAEP, RSA-OAEP-256|Decryption algorithm, both `RSA-OAEP` and `RSA-OAEP-256` will be supported by default. Set it to `RSA-OAEP-256` to support `RSA-OAEP` with `SHA-256` only. +|mp.jwt.verify.issuer|none|Expected value of the JWT `iss` (issuer) claim. +|mp.jwt.verify.audiences|`none`|Comma separated list of the audiences that a token `aud` claim may contain. +|mp.jwt.verify.clock.skew|`60`|Clock skew in seconds used during the token expiration and age verification. An expired token is accepted if the current time is within the number of seconds specified by this property after the token expiration time. The default value is 60 seconds. +|mp.jwt.verify.token.age|`none`|Number of seconds that must not elapse since the `iat` (issued at) time. +|mp.jwt.token.header|`Authorization`|Set this property if another header such as `Cookie` is used to pass the token. +|mp.jwt.token.cookie|`Bearer`|Name of the cookie containing a token. This property will be effective only if `mp.jwt.token.header` is set to `Cookie`. +|=== + +== Supported Public Key Formats + +Public Keys may be formatted in any of the following formats, specified in order of +precedence: + +- Public Key Cryptography Standards #8 (PKCS#8) PEM +- JSON Web Key (JWK) or JSON Web Key Set (JWKS) +- Base64 URL encoded JSON Web Key (JWK) or JSON Web Key Set (JWKS) + +== SmallRye JWT properties + +SmallRye JWT supports many properties which can be used to customize the token processing: + +[cols=" + io.smallrye + smallrye-jwt-build + ${smallrye.jwt.version} + +---- + +== Create JwtClaimsBuilder and set the claims + +The first step is to initialize a `JwtClaimsBuilder` using one of the options below and add some claims to it: + +[source,java] +---- +import java.util.Collections; +import io.smallrye.jwt.build.Jwt; +import io.smallrye.jwt.build.JwtClaimsBuilder; +... +// Create an empty builder and add some claims +JwtClaimsBuilder builder1 = Jwt.claims(); +builder1.claim("customClaim", "custom-value").issuer("https://issuer.org"); +// Or start typing the claims immediately: +// JwtClaimsBuilder builder1 = Jwt.upn("Alice"); + +// Builder created from the existing claims +JwtClaimsBuilder builder2 = Jwt.claims("/tokenClaims.json"); + +// Builder created from a map of claims +JwtClaimsBuilder builder3 = Jwt.claims(Collections.singletonMap("customClaim", "custom-value")); + +// Builder created from JsonObject +JsonObject userName = Json.createObjectBuilder().add("username", "Alice").build(); +JsonObject userAddress = Json.createObjectBuilder().add("city", "someCity").add("street", "someStreet").build(); +JsonObject json = Json.createObjectBuilder(userName).add("address", userAddress).build(); +JwtClaimsBuilder builder4 = Jwt.claims(json); + +// Builder created from JsonWebToken +@Inject JsonWebToken token; +JwtClaimsBuilder builder5 = Jwt.claims(token); +---- + +The API is fluent so the builder initialization can be done as part of the fluent API sequence. The builder will also +set `iat` (issued at) claim to the current time, `exp` (expires at) claim to a sum of the `iat` claim and `smallrye.jwt.new-token.lifespan` +property values and `jti` (unique token identifier) claim if they have not already been set, so one can skip setting them when possible. + +The next step is to decide how to secure the claims. + +== Sign the claims + +The claims can be signed immediately or after the `JSON Web Signature` headers have been set: + +[source,java] +---- +import io.smallrye.jwt.build.Jwt; +... + +// Sign the claims using the private key loaded from the location set with a 'smallrye.jwt.sign.key.location' property. +// No 'jws()' transition is necessary. +String jwt1 = Jwt.claims("/tokenClaims.json").sign(); + +// Set the headers and sign the claims with an RSA private key loaded in the code (the implementation of this method is omitted). Note a 'jws()' transition to a 'JwtSignatureBuilder'. +String jwt2 = Jwt.claims("/tokenClaims.json").jws().keyId("kid1").header("custom-header", "custom-value").sign(getPrivateKey()); +---- + +Note the `alg` (algorithm) header is set to `RS256` by default. + +== Encrypt the claims + +The claims can be encrypted immediately or after the `JSON Web Encryption` headers have been set the same way as they +can be signed. The only minor difference is that encrypting the claims always requires a `jwe() JwtEncryptionBuilder` +transition: + +[source,java] +---- +import io.smallrye.jwt.build.Jwt; +... + +// Encrypt the claims using the public key loaded from the location set with a 'smallrye.jwt.encrypt.key.location' property. +String jwt1 = Jwt.claims("/tokenClaims.json").jwe().encrypt(); + +// Set the headers and encrypt the claims with an RSA public key loaded in the code (the implementation of this method is omitted). +String jwt2 = Jwt.claims("/tokenClaims.json").jwe().header("custom-header", "custom-value").encrypt(getPublicKey()); +---- + +Note the `alg` (key management algorithm) header is set to `RSA-OAEP` and the `enc` (content encryption header) is set to `A256GCM` by default. + +== Sign the claims and encrypt the nested JWT token + +The claims can be signed and then the nested JWT token encrypted by combining the sign and encrypt steps. + +[source,java] +---- +import io.smallrye.jwt.build.Jwt; +... + +// Sign the claims and encrypt the nested token using the private and public keys loaded from the locations set with the 'smallrye.jwt.sign.key.location' and 'smallrye.jwt.encrypt.key.location' properties respectively. +String jwt = Jwt.claims("/tokenClaims.json").innerSign().encrypt(); +---- + +=== Fast JWT Generation + +If `smallrye.jwt.sign.key.location` or/and `smallrye.jwt.encrypt.key.location` properties are set then one can secure the existing claims (resources, maps, JsonObjects) with a single call: +``` +// More compact than Jwt.claims("/claims.json").sign(); +Jwt.sign("/claims.json"); + +// More compact than Jwt.claims("/claims.json").jwe().encrypt(); +Jwt.encrypt("/claims.json"); + +// More compact than Jwt.claims("/claims.json").innerSign().encrypt(); +Jwt.signAndEncrypt("/claims.json"); +``` +As mentioned above, `iat`, `exp`, `jti` and `iss` claims will be added if needed. + +== Configuration + +Smallrye JWT supports the following properties which can be used to customize the way claims are signed and encrypted: + +[cols=")` in plain Vert.x. + */ + @Override + public Uni asyncStart() { + + /* + * Vert.x stream (ticks every 2 seconds) to Mutiny stream (Multi), + * then increment a counter. + */ + vertx.periodicStream(2000L) + .toMulti() + .subscribe().with(tick -> counter++); + + /* + * HTTP endpoint, where `listen` returns a `Uni`. + * Notifies of the start procedure completion by replacing and + * returning the`Uni` by `Uni`. + */ + return vertx.createHttpServer() + .requestHandler(req -> req.response().endAndForget("@" + counter)) + .listen(8080) + .onItem() + .invoke(() -> System.out.println("See http://127.0.0.1:8080")) + .onFailure() + .invoke(Throwable::printStackTrace) + .replaceWithVoid(); + } + } + + /* + * Main method, deploys a verticle and awaits for the completion with + * an `*AndAwait()` method. + */ + public static void main(String... args) { + var vertx = Vertx.vertx(); + System.out.println("Deployment Starting"); + vertx.deployVerticleAndAwait(MyVerticle::new, new DeploymentOptions()); + System.out.println("Deployment completed"); + } +} diff --git a/content/docs/smallrye-mutiny-vertx-bindings/2/_nav.yml b/content/docs/smallrye-mutiny-vertx-bindings/2/_nav.yml new file mode 100644 index 000000000..b3aae5716 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/2/_nav.yml @@ -0,0 +1,6 @@ +title: Mutiny Vert.x bindings +nav: +- title: Overview + page: index +- title: API Translation + page: api-translation diff --git a/content/docs/smallrye-mutiny-vertx-bindings/2/api-translation.adoc b/content/docs/smallrye-mutiny-vertx-bindings/2/api-translation.adoc new file mode 100644 index 000000000..5c0c1dbf2 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/2/api-translation.adoc @@ -0,0 +1,114 @@ += API translation +include::_attributes.adoc[] + +The Vert.x Mutiny bindings are generated from the existing Vert.x APIs. + +== Vert.x and asynchronous operation methods + +Vert.x is a toolkit that simplifies asynchronous I/O programming. +The Vert.x APIs rely on simple conventions to denote methods doing asynchronous operations: + +[arabic] +. methods that accept a _callback_ as a last parameter, and +. methods that return a Vert.x `Future`. + +Vert.x has historically relied on callbacks, as in: + +[source,java] +---- +public void someOperation(Foo a, Bar b, Baz c, Handler> handler) { + // (...) +} +---- + +Here `someOperation` is a method where `a`, `b` and `c` are _parameters_, and `handler` is a _callback_: + +* the callback is notified when the asynchronous operation done in `someOperation` completes (_continuation_), and +* callbacks are always passed as a last parameter of type `Handler++<++AsyncResult++<++T++>>++`, and +* `AsyncResult` encapsulates an asynchronous result of type `T`, or a failure. + +Since Vert.x 4 asynchronous operations can also be defined by returning a `Future++<++T++>++`, as in: + +[source,java] +---- +public Future someOperation(Foo a, Bar b, Baz c) { + // (...) +} +---- + +Code generators (e.g., Mutiny, RxJava, Kotlin coroutines, etc) can spot these methods and derive their own https://en.wikipedia.org/wiki/Shim_(computing)[shim APIs]. + +For instance with Mutiny `someOperation` becomes: + +[source,java] +---- +public Uni someOperation(Foo a, Bar b, Baz c) { + // (...) +} +---- + +== What does the Mutiny code generator do? + +.Mutiny code generator +image::images/codegen.png[Mutiny code generator] + +The code generator is applied to selected modules from the Vert.x stack. + +The translation rules are the following. + +[width="100%",cols="30%,70%",options="header",] +|=== +|Rule |Translation +|`io.vertx` package |`io.vertx.mutiny` package +|Asynchronous method |A method returning a `Uni++<++T++>++` +|`ReadStreams++<++T++>++` |Consumed as a `Multi++<++T++>++` +|`WriteStreams++<++T++>++` |Consumed as a _Reactive Streams_ `Subscriber++<++T++>++` +|=== + +Because Mutiny is a _Reactive Streams_ compliant implementation, the generated shims also adapt the Vert.x back-pressure protocol to that of _Reactive Streams_. + +[NOTE] +.Method erasure +==== + +The Mutiny code generator _erases_ methods. +Given an asynchronous method `foo(Handler++<++AsyncResult++<++T++>>++)`, then it is not present in the generated shim as it is replaced with `Uni++<++T++>++ foo()`. + +==== + +== Helper methods + +Given an asynchronous operation method, the Mutiny code generator also provides 2 further variants: + +* `xAndAwait()` to block the caller thread until the outcome is received, or throw a `RuntimeException` when a failure arises, and +* `xAndForget()` to trigger the operation then discard the outcome (failures will be logged). + +Given the `someOperation` method above, the generator provides these 3 methods: + +[source,java] +---- +// The canonical Mutiny method +public Uni someOperation(Foo a, Bar b, Baz c) { + // (...) +} + +// Blocks, may throw a RuntimeException +public T someOperationAndAwait(Foo a, Bar b, Baz c) { + // (...) +} + +// Does not block, the result or failure is discarded +public void someOperationAndForget(Foo a, Bar b, Baz c) { + // (...), +} +---- + +== Generate Mutiny variants from your own APIs + +Vert.x uses an open code generator, so you can generate Mutiny APIs for your own asynchronous interfaces. + +The code generator is available from the `io.smallrye.reactive:vertx-mutiny-generator` artifact. +It works with the Vert.x `io.vertx:vertx-codegen` annotation processor. + +You can generate bindings by having the artifacts on the classpath for annotation processing at compilation time, or you may use other ways in your builds. +The code for this project shows how to generate the files using Maven plugins. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/2/images/codegen.png b/content/docs/smallrye-mutiny-vertx-bindings/2/images/codegen.png new file mode 100644 index 0000000000000000000000000000000000000000..71a043c6afe6ca78bdfba0bce9d12b342ed67c78 GIT binary patch literal 1107849 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 z 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

gc}Nf)IGjQ*HW~~N4?yGz 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≶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%0DxUn2a#FEJnfi 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%0A%QNBSGC;jDXPXHpfWXW)DO22<-BBpH{~ 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ģ#qb{HdydcQ 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 Cq%tu8 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-vertx-bindings/2/images/redhat_reversed.svg b/content/docs/smallrye-mutiny-vertx-bindings/2/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/2/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-mutiny-vertx-bindings/2/index.adoc b/content/docs/smallrye-mutiny-vertx-bindings/2/index.adoc new file mode 100644 index 000000000..8d90b5c7b --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/2/index.adoc @@ -0,0 +1,65 @@ += Overview +include::_attributes.adoc[] + +https://vertx.io/[Eclipse Vert.x] is the leading toolkit for writing reactive applications on the JVM. + +While the Vert.x core APIs expose asynchronous programming through _callbacks_ and _promise / future_, code generators offer bindings to other asynchronous programming models, including: https://github.com/vert-x3/vertx-lang-kotlin/tree/master/vertx-lang-kotlin-coroutines[Kotlin coroutines], and https://github.com/vert-x3/vertx-rx[RxJava 1, 2 and 3]. + +This project offers https://vertx.io/[Vert.x] binding for https://smallrye.io/smallrye-mutiny/[Mutiny, an intuitive event-driven reactive programming library for Java]. + +== Getting the bindings + +The bindings can be accessed from the following Maven coordinates: + +* Group: `io.smallrye.reactive` +* Artifact: `smallrye-mutiny-vertx-++<++MODULE++>++` where `MODULE` refers to a Vert.x module, such as `core`, `pg-client`, `web-client`, etc. + +[NOTE] +.The Mutiny bindings are modular +==== + +If you are familiar with other Vert.x bindings such as those for RxJava then you need to be aware that the Mutiny bindings are offered on a per-module basis. +For instance the RxJava 3 bindings are exposed through the `io.vertx:vertx-rx-java3` dependency, and that `vertx-rx-java3` has optional dependencies _on the whole Vert.x stack_. +We think that it is cleaner to offer bindings on a per-module basis, so your project does not have optional dependencies on modules of the Vert.x stack that you don't consume. + +==== + +The full list of supported modules from the Vert.x stack is available at https://github.com/smallrye/smallrye-mutiny-vertx-bindings/tree/main/vertx-mutiny-clients + +== A short example + +The following self-contained https://www.jbang.dev[JBang] script shows some of the features of the Vert.x Mutiny bindings (see the highlights): + +[source,java] +---- +include::{examples-dir}/docs/snippets/hello.java[] +---- + +This script can be run with `./hello.java` or `jbang run hello.java`, and exposes a HTTP server on port 8080: + +.... +$ ./hello.java +[jbang] Building jar... +Deployment Starting +See http://127.0.0.1:8080 +Deployment completed +.... + +The HTTP server responds to any HTTP request with the current value of a counter that is incremented every 2 seconds: + +.... +$ http :8080 +HTTP/1.1 200 OK +content-length: 2 + +@1 + +$ http :8080 +HTTP/1.1 200 OK +content-length: 2 + +@2 +.... + +The deployed verticle uses the Mutiny API, where the `start(Promise++<++Void++>++)` method is replaced by `asyncStart()` method that returns a `Uni++<++Void++>++`. +The code also shows how to convert Vert.x streams into Mutiny `Multi` streams, and how to await for the verticle deployment to complete. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/3/_attributes.adoc b/content/docs/smallrye-mutiny-vertx-bindings/3/_attributes.adoc new file mode 100644 index 000000000..67f676461 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/3/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 3.23.1 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: Mutiny Vert.x bindings +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.23.1 +:relfileprefix: /docs/smallrye-mutiny-vertx-bindings/3/ +:imagesdir: /docs/smallrye-mutiny-vertx-bindings/3 +:docs-project: smallrye-mutiny-vertx-bindings +:docs-version: 3 +:docs-ref: 3.23.1 diff --git a/content/docs/smallrye-mutiny-vertx-bindings/3/_examples/docs/snippets/hello.java b/content/docs/smallrye-mutiny-vertx-bindings/3/_examples/docs/snippets/hello.java new file mode 100644 index 000000000..0e9193688 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/3/_examples/docs/snippets/hello.java @@ -0,0 +1,56 @@ +///usr/bin/env jbang "$0" "$@" ; exit $? +//DEPS io.smallrye.reactive:smallrye-mutiny-vertx-core:2.6.0 + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.vertx.core.AbstractVerticle; +import io.vertx.core.DeploymentOptions; +import io.vertx.mutiny.core.Vertx; + +public class hello { + + static class MyVerticle extends AbstractVerticle { + + private long counter = 0L; + + /* + * Asynchronous start completion notification through a Uni. + * This is the Mutiny variant of `start(Promise)` in plain Vert.x. + */ + @Override + public Uni asyncStart() { + + /* + * Vert.x stream (ticks every 2 seconds) to Mutiny stream (Multi), + * then increment a counter. + */ + vertx.periodicStream(2000L) + .toMulti() + .subscribe().with(tick -> counter++); + + /* + * HTTP endpoint, where `listen` returns a `Uni`. + * Notifies of the start procedure completion by replacing and + * returning the`Uni` by `Uni`. + */ + return vertx.createHttpServer() + .requestHandler(req -> req.response().endAndForget("@" + counter)) + .listen(8080) + .onItem() + .invoke(() -> System.out.println("See http://127.0.0.1:8080")) + .onFailure() + .invoke(Throwable::printStackTrace) + .replaceWithVoid(); + } + } + + /* + * Main method, deploys a verticle and awaits for the completion with + * an `*AndAwait()` method. + */ + public static void main(String... args) { + var vertx = Vertx.vertx(); + System.out.println("Deployment Starting"); + vertx.deployVerticleAndAwait(MyVerticle::new, new DeploymentOptions()); + System.out.println("Deployment completed"); + } +} diff --git a/content/docs/smallrye-mutiny-vertx-bindings/3/_nav.yml b/content/docs/smallrye-mutiny-vertx-bindings/3/_nav.yml new file mode 100644 index 000000000..b3aae5716 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/3/_nav.yml @@ -0,0 +1,6 @@ +title: Mutiny Vert.x bindings +nav: +- title: Overview + page: index +- title: API Translation + page: api-translation diff --git a/content/docs/smallrye-mutiny-vertx-bindings/3/api-translation.adoc b/content/docs/smallrye-mutiny-vertx-bindings/3/api-translation.adoc new file mode 100644 index 000000000..5c0c1dbf2 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/3/api-translation.adoc @@ -0,0 +1,114 @@ += API translation +include::_attributes.adoc[] + +The Vert.x Mutiny bindings are generated from the existing Vert.x APIs. + +== Vert.x and asynchronous operation methods + +Vert.x is a toolkit that simplifies asynchronous I/O programming. +The Vert.x APIs rely on simple conventions to denote methods doing asynchronous operations: + +[arabic] +. methods that accept a _callback_ as a last parameter, and +. methods that return a Vert.x `Future`. + +Vert.x has historically relied on callbacks, as in: + +[source,java] +---- +public void someOperation(Foo a, Bar b, Baz c, Handler> handler) { + // (...) +} +---- + +Here `someOperation` is a method where `a`, `b` and `c` are _parameters_, and `handler` is a _callback_: + +* the callback is notified when the asynchronous operation done in `someOperation` completes (_continuation_), and +* callbacks are always passed as a last parameter of type `Handler++<++AsyncResult++<++T++>>++`, and +* `AsyncResult` encapsulates an asynchronous result of type `T`, or a failure. + +Since Vert.x 4 asynchronous operations can also be defined by returning a `Future++<++T++>++`, as in: + +[source,java] +---- +public Future someOperation(Foo a, Bar b, Baz c) { + // (...) +} +---- + +Code generators (e.g., Mutiny, RxJava, Kotlin coroutines, etc) can spot these methods and derive their own https://en.wikipedia.org/wiki/Shim_(computing)[shim APIs]. + +For instance with Mutiny `someOperation` becomes: + +[source,java] +---- +public Uni someOperation(Foo a, Bar b, Baz c) { + // (...) +} +---- + +== What does the Mutiny code generator do? + +.Mutiny code generator +image::images/codegen.png[Mutiny code generator] + +The code generator is applied to selected modules from the Vert.x stack. + +The translation rules are the following. + +[width="100%",cols="30%,70%",options="header",] +|=== +|Rule |Translation +|`io.vertx` package |`io.vertx.mutiny` package +|Asynchronous method |A method returning a `Uni++<++T++>++` +|`ReadStreams++<++T++>++` |Consumed as a `Multi++<++T++>++` +|`WriteStreams++<++T++>++` |Consumed as a _Reactive Streams_ `Subscriber++<++T++>++` +|=== + +Because Mutiny is a _Reactive Streams_ compliant implementation, the generated shims also adapt the Vert.x back-pressure protocol to that of _Reactive Streams_. + +[NOTE] +.Method erasure +==== + +The Mutiny code generator _erases_ methods. +Given an asynchronous method `foo(Handler++<++AsyncResult++<++T++>>++)`, then it is not present in the generated shim as it is replaced with `Uni++<++T++>++ foo()`. + +==== + +== Helper methods + +Given an asynchronous operation method, the Mutiny code generator also provides 2 further variants: + +* `xAndAwait()` to block the caller thread until the outcome is received, or throw a `RuntimeException` when a failure arises, and +* `xAndForget()` to trigger the operation then discard the outcome (failures will be logged). + +Given the `someOperation` method above, the generator provides these 3 methods: + +[source,java] +---- +// The canonical Mutiny method +public Uni someOperation(Foo a, Bar b, Baz c) { + // (...) +} + +// Blocks, may throw a RuntimeException +public T someOperationAndAwait(Foo a, Bar b, Baz c) { + // (...) +} + +// Does not block, the result or failure is discarded +public void someOperationAndForget(Foo a, Bar b, Baz c) { + // (...), +} +---- + +== Generate Mutiny variants from your own APIs + +Vert.x uses an open code generator, so you can generate Mutiny APIs for your own asynchronous interfaces. + +The code generator is available from the `io.smallrye.reactive:vertx-mutiny-generator` artifact. +It works with the Vert.x `io.vertx:vertx-codegen` annotation processor. + +You can generate bindings by having the artifacts on the classpath for annotation processing at compilation time, or you may use other ways in your builds. +The code for this project shows how to generate the files using Maven plugins. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/3/images/codegen.png b/content/docs/smallrye-mutiny-vertx-bindings/3/images/codegen.png new file mode 100644 index 0000000000000000000000000000000000000000..71a043c6afe6ca78bdfba0bce9d12b342ed67c78 GIT binary patch literal 1107849 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 z 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

gc}Nf)IGjQ*HW~~N4?yGz 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≶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%0DxUn2a#FEJnfi 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%0A%QNBSGC;jDXPXHpfWXW)DO22<-BBpH{~ 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ģ#qb{HdydcQ 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 Cq%tu8 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-vertx-bindings/3/images/redhat_reversed.svg b/content/docs/smallrye-mutiny-vertx-bindings/3/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/3/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-mutiny-vertx-bindings/3/index.adoc b/content/docs/smallrye-mutiny-vertx-bindings/3/index.adoc new file mode 100644 index 000000000..8d90b5c7b --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/3/index.adoc @@ -0,0 +1,65 @@ += Overview +include::_attributes.adoc[] + +https://vertx.io/[Eclipse Vert.x] is the leading toolkit for writing reactive applications on the JVM. + +While the Vert.x core APIs expose asynchronous programming through _callbacks_ and _promise / future_, code generators offer bindings to other asynchronous programming models, including: https://github.com/vert-x3/vertx-lang-kotlin/tree/master/vertx-lang-kotlin-coroutines[Kotlin coroutines], and https://github.com/vert-x3/vertx-rx[RxJava 1, 2 and 3]. + +This project offers https://vertx.io/[Vert.x] binding for https://smallrye.io/smallrye-mutiny/[Mutiny, an intuitive event-driven reactive programming library for Java]. + +== Getting the bindings + +The bindings can be accessed from the following Maven coordinates: + +* Group: `io.smallrye.reactive` +* Artifact: `smallrye-mutiny-vertx-++<++MODULE++>++` where `MODULE` refers to a Vert.x module, such as `core`, `pg-client`, `web-client`, etc. + +[NOTE] +.The Mutiny bindings are modular +==== + +If you are familiar with other Vert.x bindings such as those for RxJava then you need to be aware that the Mutiny bindings are offered on a per-module basis. +For instance the RxJava 3 bindings are exposed through the `io.vertx:vertx-rx-java3` dependency, and that `vertx-rx-java3` has optional dependencies _on the whole Vert.x stack_. +We think that it is cleaner to offer bindings on a per-module basis, so your project does not have optional dependencies on modules of the Vert.x stack that you don't consume. + +==== + +The full list of supported modules from the Vert.x stack is available at https://github.com/smallrye/smallrye-mutiny-vertx-bindings/tree/main/vertx-mutiny-clients + +== A short example + +The following self-contained https://www.jbang.dev[JBang] script shows some of the features of the Vert.x Mutiny bindings (see the highlights): + +[source,java] +---- +include::{examples-dir}/docs/snippets/hello.java[] +---- + +This script can be run with `./hello.java` or `jbang run hello.java`, and exposes a HTTP server on port 8080: + +.... +$ ./hello.java +[jbang] Building jar... +Deployment Starting +See http://127.0.0.1:8080 +Deployment completed +.... + +The HTTP server responds to any HTTP request with the current value of a counter that is incremented every 2 seconds: + +.... +$ http :8080 +HTTP/1.1 200 OK +content-length: 2 + +@1 + +$ http :8080 +HTTP/1.1 200 OK +content-length: 2 + +@2 +.... + +The deployed verticle uses the Mutiny API, where the `start(Promise++<++Void++>++)` method is replaced by `asyncStart()` method that returns a `Uni++<++Void++>++`. +The code also shows how to convert Vert.x streams into Mutiny `Multi` streams, and how to await for the verticle deployment to complete. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/3/using-vertx-expectations.adoc b/content/docs/smallrye-mutiny-vertx-bindings/3/using-vertx-expectations.adoc new file mode 100644 index 000000000..44e817a02 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/3/using-vertx-expectations.adoc @@ -0,0 +1,54 @@ += Using Vert.x expectations +include::_attributes.adoc[] + +Vert.x `Future` support https://javadoc.io/static/io.vertx/vertx-core/4.5.10/io/vertx/core/Expectation.html[expectations] as predicates on the resolved values. + +A good example of pre-defined expectations are those from `HttpResponseExpectation`: + +[source,java] +---- +Future future = client + .request(HttpMethod.GET, "some-uri") + .compose(request -> request + .send() + .expecting(HttpResponseExpectation.SC_OK.and(HttpResponseExpectation.JSON)) + .compose(response -> response + .body() + .map(buffer -> buffer.toJsonObject()))); +---- + +In this example the HTTP response is expected to be with status code 200 (`SC++_++OK`) and have the `application/json` content-type (`JSON`). + +== Where are expectations gone in a Vert.x Mutiny bindings API? + +While expectations are very useful, they apply to `Future` in most of the Vert.x APIs such as the core HTTP client. + +Since the Mutiny bindings generator turns `Future`-returning methods into `Uni`-returning methods, you need to leverage another route to use them. + +== Turning expectations into operators + +The `io.smallrye.mutiny.vertx.core.Expectations` class that comes with the `smallrye-mutiny-vertx-core` artifact bring 2 helper methods. + +The `expecting` methods build functions that can be used with the `Uni::plug` operator, as in: + +[source,java] +---- +Expectation tenToTwenty = (value -> value >= 10 && value <= 20); + +return Uni.createFrom().item(15) + .plug(expectation(tenToTwenty)); +---- + +Some expectations such as those in `HttpResponseExpectation` apply to types from the core Vert.x APIs. +Since the Mutiny bindings generate shims (e.g., `io.vertx.mutiny.core.http.HttpResponseHead`), you need to extract the delegate type for the expectations to work on the correct type (e.g., `io.vertx.core.http.HttpResponseHead`): + +[source,java] +---- +return vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .chain(HttpClientRequest::send) + .plug(expectation(HttpClientResponse::getDelegate, status(200).and(contentType("text/plain")))) + .onItem().transformToUni(HttpClientResponse::body) +---- + +The extractor function here is `HttpClientResponse::getDelegate`, so that the `status(200).and(contentType("text/plain"))` expectation applies to `io.vertx.core.http.HttpResponseHead` and not the `io.vertx.mutiny.core.http.HttpResponseHead` generated shim. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/_attributes.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/_attributes.adoc new file mode 100644 index 000000000..20813e2bd --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 4.0.2 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: Mutiny Vert.x bindings +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 4.0.2 +:relfileprefix: /docs/smallrye-mutiny-vertx-bindings/latest/ +:imagesdir: /docs/smallrye-mutiny-vertx-bindings/latest +:docs-project: smallrye-mutiny-vertx-bindings +:docs-version: latest +:docs-ref: 4.0.2 diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/_nav.yml b/content/docs/smallrye-mutiny-vertx-bindings/latest/_nav.yml new file mode 100644 index 000000000..168665b5a --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/_nav.yml @@ -0,0 +1,20 @@ +title: Mutiny Vert.x bindings +nav: +- title: Overview + page: index +- title: Getting Started + page: getting-started +- title: Uni and Multi + page: uni-and-multi +- title: Type Mapping + page: type-mapping +- title: Error Handling + page: error-handling +- title: Blocking and Testing + page: blocking-and-testing +- title: Using the Generator + page: using-the-generator +- title: Available Modules + page: available-modules +- title: Upgrading from version 3 to 4 + page: migration-guide-3x-4x diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/available-modules.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/available-modules.adoc new file mode 100644 index 000000000..1b55df84f --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/available-modules.adoc @@ -0,0 +1,50 @@ += Available Modules +include::_attributes.adoc[] + +This project provides Mutiny bindings for a wide range of Vert.x modules: web, databases, messaging, authentication, templating, and more. + +== Naming Convention + +All modules share the same group ID and follow a predictable artifact ID pattern: + +* *Group ID*: `io.smallrye.reactive` +* *Artifact ID*: `smallrye-mutiny-vertx-++{++name}` + +The `++{++name}` suffix mirrors the Vert.x module name. +For example, the Vert.x `vertx-web-client` module becomes `smallrye-mutiny-vertx-web-client`. + +== Version Management + +Import the BOM to manage versions centrally. +See xref:getting-started.adoc#adding-the-bom[Getting Started — Adding the BOM] for the dependency management snippet. + +== Finding the Right Module + +To find the Mutiny binding for a Vert.x module, take the Vert.x artifact ID and prefix it with `smallrye-mutiny-`. +For example, the Vert.x `vertx-pg-client` module becomes `smallrye-mutiny-vertx-pg-client`: + +[source,xml] +---- + + io.smallrye.reactive + smallrye-mutiny-vertx-pg-client + +---- + +This pattern applies consistently across all modules. + +== Imports + +When using a Mutiny binding, import from the `io.vertx.mutiny.++*++` packages rather than `io.vertx.core.++*++` or `io.vertx.ext.++*++`. +The Mutiny classes are generated shims that wrap the original Vert.x types. + +[source,java] +---- +// Correct: Mutiny shim +import io.vertx.mutiny.ext.web.client.WebClient; + +// Wrong: original Vert.x type +import io.vertx.ext.web.client.WebClient; +---- + +Configuration and options classes (e.g., `WebClientOptions`) are data objects and are used directly from the Vert.x packages since they do not need shims. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/blocking-and-testing.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/blocking-and-testing.adoc new file mode 100644 index 000000000..5e2e8b435 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/blocking-and-testing.adoc @@ -0,0 +1,325 @@ += Blocking and Testing +include::_attributes.adoc[] + +The Mutiny Vert.x bindings provide blocking APIs that convert asynchronous `Uni` and `Multi` results into synchronous calls. These APIs are essential for testing and are equally valuable for imperative-style programming on virtual threads, worker threads, and CLI tools. + +*Never block on the Vert.x event loop.* Blocking the event loop freezes the entire application. Use these APIs only in contexts where blocking is safe: + +* *Virtual threads* (Java 21{plus}): first-class imperative programming with Vert.x clients +* *Worker threads*: offloaded via `executeBlocking` +* *Tests*: JUnit test methods run outside the event loop +* *CLI tools and scripts*: short-lived programs without an event loop + +== Virtual Threads: Imperative Vert.x + +With Java 21{plus} virtual threads, the blocking APIs let you write Vert.x client code in a straightforward imperative style. Virtual threads can block without wasting platform threads, making `andAwait()` and `.await().atMost()` practical outside of tests. + +For example, a web client call written imperatively: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(8080) + .setDefaultHost("localhost")); + +HttpResponse response = client.get("/api/users") + .as(BodyCodec.jsonObject()) + .sendAndAwait(); + +JsonObject body = response.body(); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(8080) + .setDefaultHost("localhost")); + +HttpResponse response = client.get("/api/users") + .as(BodyCodec.jsonObject()) + .send() + .toCompletionStage().toCompletableFuture().join(); + +JsonObject body = response.body(); +---- + +-- + +==== + +No callbacks, no reactive chains: just sequential code that reads top to bottom. Each `andAwait()` call suspends the virtual thread until the result is available, while the underlying Vert.x event loop continues processing other work. + +== andAwait() + +Methods ending in `andAwait()` block the calling thread indefinitely until the operation completes. Every `Uni`-returning method on a Mutiny Vert.x class has a corresponding `andAwait()` variant. + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); +bus.consumer("address", message -> message.reply("world")) + .completionAndAwait(); + +Message reply = bus.requestAndAwait("address", "hello"); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); +bus.consumer("address", message -> message.reply("world")) + .completion() + .toCompletionStage().toCompletableFuture().join(); + +Message reply = bus.request("address", "hello") + .toCompletionStage().toCompletableFuture().join(); +---- + +-- + +==== + +Use `andAwait()` when you are confident the operation will complete and do not need a timeout: for instance, in tests with controlled infrastructure or on virtual threads where indefinite suspension is acceptable. + +== .await().atMost(Duration) + +For operations that may hang or where you want a safety net, use `.await().atMost(Duration)` on the `Uni` directly. This blocks until the result arrives or the timeout expires, throwing a `TimeoutException` if the deadline is exceeded. + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Buffer payload = vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .onItem().transformToUni(HttpClientRequest::send) + .onItem().transformToUni(HttpClientResponse::body) + .await().atMost(Duration.ofSeconds(5)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Buffer payload = vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .compose(HttpClientRequest::send) + .compose(HttpClientResponse::body) + .toCompletionStage().toCompletableFuture() + .get(5, TimeUnit.SECONDS); +---- + +-- + +==== + +This is the preferred approach when calling external services that might not respond. + +== Blocking Iteration on Multi + +For `Multi` streams, two methods convert the asynchronous stream into a blocking iterator or Java stream: + +* `toBlockingIterable()`: returns an `Iterable` that blocks on each element +* `toBlockingStream()`: returns a `java.util.stream.Stream` that blocks on each element + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +AsyncFile asyncFile = vertx.fileSystem() + .openAndAwait(path, new OpenOptions()); + +asyncFile.toBlockingStream() + .forEach(buffer::appendBuffer); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +AsyncFile asyncFile = vertx.fileSystem() + .open(path, new OpenOptions()) + .toCompletionStage().toCompletableFuture().join(); + +asyncFile.handler(chunk -> buffer.appendBuffer(chunk)); +---- + +-- + +==== + +These are useful for consuming a reactive stream in imperative code, such as reading a file or draining a message consumer. + +== JUnit 5 Testing Pattern + +A standard pattern for testing Mutiny Vert.x code with JUnit 5: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +class WebClientTest { + + Vertx vertx; + + @BeforeEach + void setUp() { + vertx = Vertx.vertx(); + } + + @AfterEach + void tearDown() { + vertx.closeAndAwait(); + } + + @Test + void getJsonObject() { + // ... set up a test HTTP server ... + + WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(server.actualPort()) + .setDefaultHost("localhost")); + + HttpResponse response = client.get("/yo") + .as(BodyCodec.jsonObject()) + .sendAndAwait(); + + assertThat(response.statusCode()).isEqualTo(200); + assertThat(response.body().getString("msg")).isEqualTo("hello"); + } +} +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +@ExtendWith(VertxExtension.class) +class WebClientTest { + + @Test + void getJsonObject(Vertx vertx, VertxTestContext testContext) { + // ... set up a test HTTP server ... + + WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(server.actualPort()) + .setDefaultHost("localhost")); + + client.get("/yo") + .as(BodyCodec.jsonObject()) + .send() + .onComplete(testContext.succeeding(response -> { + testContext.verify(() -> { + assertThat(response.statusCode()).isEqualTo(200); + assertThat(response.body().getString("msg")).isEqualTo("hello"); + }); + testContext.completeNow(); + })); + } +} +---- + +-- + +==== + +Key points: + +* Create a fresh `Vertx` instance in `@BeforeEach` to isolate tests. +* Shut it down with `closeAndAwait()` in `@AfterEach` to release resources. +* Use `andAwait()` or `.await().atMost()` in the test body: JUnit test threads are not event loop threads, so blocking is safe. + +With the Mutiny bindings, tests read sequentially with no callbacks. With vanilla Vert.x, you need `VertxExtension`, `VertxTestContext`, and nested `succeeding` / `verify` callbacks to handle the asynchronous result. + +== executeBlocking for CPU-Intensive Work + +When you need to run CPU-intensive or legacy blocking code from within a Vert.x context, use `vertx.executeBlocking()`. This offloads work to a worker thread pool, returning a result asynchronously. + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni uni = vertx.executeBlocking(() -> { + // Runs on a worker thread — blocking calls are safe here + return expensiveComputation(); +}); + +String result = uni.await().indefinitely(); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future future = vertx.executeBlocking(() -> { + // Runs on a worker thread — blocking calls are safe here + return expensiveComputation(); +}); + +String result = future.toCompletionStage().toCompletableFuture().join(); +---- + +-- + +==== + +Inside the `executeBlocking` callable, you are on a worker thread, so blocking calls are safe. The Mutiny variant returns a `Uni` that can be composed into a larger reactive pipeline or awaited directly. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/error-handling.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/error-handling.adoc new file mode 100644 index 000000000..fa5da0685 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/error-handling.adoc @@ -0,0 +1,435 @@ += Error Handling +include::_attributes.adoc[] + +One advantage of using Mutiny with Vert.x is that errors propagate through the reactive pipeline automatically. +With the callback or `Future`-based API you must manually check for failures at each step. +With Mutiny, failures flow downstream until something handles them, so you focus on the success path and deal with errors once: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +// Errors propagate automatically +client.request(HttpMethod.GET, "/data") + .onItem().transformToUni(HttpClientRequest::send) + .onItem().transformToUni(HttpClientResponse::body) + .subscribe().with( + body -> System.out.println("Got: " + body), + failure -> System.err.println("Failed: " + failure.getMessage()) + ); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +// Manual failure checks at each step +client.request(HttpMethod.GET, "/data") + .compose(request -> request.send()) + .compose(response -> response.body()) + .onSuccess(body -> System.out.println("Got: " + body)) + .onFailure(err -> System.err.println("Failed: " + err.getMessage())); +---- + +-- + +==== + +If any step in the pipeline fails, the remaining `onItem()` operators are skipped and the failure handler receives the error. With vanilla Vert.x, `compose()` chains behave similarly — a failure in any stage short-circuits to the `onFailure` handler — but the Mutiny API makes the distinction between item and failure handling more explicit through its operator vocabulary. + +== Basic failure handling + +The simplest way to handle errors is to provide both a success and failure callback to `subscribe().with()`: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +uni.subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.err.println("Error: " + failure.getMessage()) +); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +future + .onSuccess(item -> System.out.println("Received: " + item)) + .onFailure(err -> System.err.println("Error: " + err.getMessage())); +---- + +-- + +==== + +If you omit the failure callback, unhandled failures are reported to Mutiny's global failure handler. + +== Recovery + +You can recover from failures inline rather than letting them propagate to the subscriber. + +=== Recover with a fallback item + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().recoverWithItem("default value"); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future result = future + .recover(err -> Future.succeededFuture("default value")); +---- + +-- + +==== + +=== Recover with another Uni + +When recovery itself requires an asynchronous operation, use `recoverWithUni`: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().recoverWithUni(() -> fetchFromFallbackService()); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future result = future + .recover(err -> fetchFromFallbackService()); +---- + +-- + +==== + +=== Recover from specific exceptions + +Both recovery methods accept a predicate or exception class to recover selectively: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure(TimeoutException.class).recoverWithItem("timed out") + .onFailure(IOException.class).recoverWithUni(() -> retryElsewhere()); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future result = future + .recover(err -> { + if (err instanceof TimeoutException) { + return Future.succeededFuture("timed out"); + } + if (err instanceof IOException) { + return retryElsewhere(); + } + return Future.failedFuture(err); + }); +---- + +-- + +==== + +With Mutiny, selective recovery is declarative — you chain `.onFailure(ExceptionType.class)` for each case. With vanilla Vert.x, you use a single `recover()` block and check types with `instanceof`. + +== Retries + +Mutiny provides built-in retry support: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().retry().atMost(3); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future fetchWithRetry(int retries) { + return doFetch() + .recover(err -> { + if (retries > 0) { + return fetchWithRetry(retries - 1); + } + return Future.failedFuture(err); + }); +} + +Future result = fetchWithRetry(3); +---- + +-- + +==== + +This retries the upstream operation up to 3 times on any failure. +With vanilla Vert.x, retries require a recursive method that calls itself from within a `recover()` block. + +For production use, add exponential backoff to avoid overwhelming a failing service: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().retry() + .withBackOff(Duration.ofMillis(100), Duration.ofSeconds(5)) + .atMost(5); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future fetchWithBackoff(int retries, long delayMs) { + return doFetch() + .recover(err -> { + if (retries > 0) { + Promise promise = Promise.promise(); + long nextDelay = Math.min(delayMs * 2, 5000); + vertx.setTimer(delayMs, id -> + fetchWithBackoff(retries - 1, nextDelay) + .onComplete(promise)); + return promise.future(); + } + return Future.failedFuture(err); + }); +} + +Future result = fetchWithBackoff(5, 100); +---- + +-- + +==== + +This retries up to 5 times with an initial delay of 100ms that increases exponentially up to a maximum of 5 seconds between attempts. +With vanilla Vert.x, exponential backoff requires managing a `Promise`, a timer via `vertx.setTimer()`, and manual delay calculation — all of which Mutiny handles as a single operator chain. + +== Failure transformation + +You can transform a failure into a different exception type, which is useful for wrapping low-level errors into domain-specific ones: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().transform(err -> new MyServiceException("Operation failed", err)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future result = future + .recover(err -> Future.failedFuture( + new MyServiceException("Operation failed", err))); +---- + +-- + +==== + +== Vert.x expectations with Mutiny + +Vert.x provides an `Expectation` interface that works as a predicate on resolved `Future` values. +Pre-defined expectations such as `HttpResponseExpectation.status(200)` are convenient for validating HTTP responses. + +Since the Mutiny bindings convert `Future`-returning methods into `Uni`-returning methods, you cannot use expectations directly. +Instead, the `io.smallrye.mutiny.vertx.core.Expectations` helper class adapts them for use with `Uni.plug()`. + +=== Simple expectation + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +import static io.smallrye.mutiny.vertx.core.Expectations.expectation; + +Expectation tenToTwenty = (value -> value >= 10 && value <= 20); + +Uni.createFrom().item(15) + .plug(expectation(tenToTwenty)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Expectation tenToTwenty = (value -> value >= 10 && value <= 20); + +Future.succeededFuture(15) + .expecting(tenToTwenty); +---- + +-- + +==== + +If the value does not satisfy the expectation, the `Uni` fails (or the `Future` fails in vanilla Vert.x). +For example, passing `42` instead of `15` would produce a failure with the message: `Unexpected result: 42`. + +=== HTTP response expectations + +Vert.x ships pre-defined expectations for HTTP responses, such as `status()` and `contentType()`. +These expectations are typed against core Vert.x types (e.g., `io.vertx.core.http.HttpResponseHead`), not against the Mutiny shim types (e.g., `io.vertx.mutiny.core.http.HttpResponseHead`). + +To bridge this gap, the `expectation` helper accepts an extractor function as its first argument. +Passing `HttpClientResponse::getDelegate` unwraps the Mutiny shim so the expectation receives the underlying Vert.x type: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +import static io.smallrye.mutiny.vertx.core.Expectations.expectation; +import static io.vertx.core.http.HttpResponseExpectation.contentType; +import static io.vertx.core.http.HttpResponseExpectation.status; + +vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .onItem().transformToUni(HttpClientRequest::send) + .plug(expectation(HttpClientResponse::getDelegate, status(200).and(contentType("text/plain")))) + .onItem().transformToUni(HttpClientResponse::body) + .await().atMost(Duration.ofSeconds(5)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +import static io.vertx.core.http.HttpResponseExpectation.contentType; +import static io.vertx.core.http.HttpResponseExpectation.status; + +vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .compose(HttpClientRequest::send) + .expecting(status(200).and(contentType("text/plain"))) + .compose(HttpClientResponse::body) + .toCompletionStage().toCompletableFuture() + .get(5, TimeUnit.SECONDS); +---- + +-- + +==== + +In this example: + +* `HttpClientResponse::getDelegate` extracts the core Vert.x response from the Mutiny shim. With vanilla Vert.x, no unwrapping is needed since you work directly with the core types. +* `status(200).and(contentType("text/plain"))` combines two expectations: the response must have status 200 and content type `text/plain`. +* If either expectation fails, the `Uni` pipeline (or the `Future` chain) fails with a descriptive error. + +You can combine any number of expectations using `.and()`. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/getting-started.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/getting-started.adoc new file mode 100644 index 000000000..178be01e5 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/getting-started.adoc @@ -0,0 +1,218 @@ += Getting Started +include::_attributes.adoc[] + +This guide walks you through adding SmallRye Mutiny Vert.x Bindings to your project and writing a first reactive application. + +== Prerequisites + +* *Java 17* or later +* *Maven 3.9* or later + +== Adding the BOM + +The simplest way to manage dependency versions is to import the BOM (Bill of Materials) in your `pom.xml`: + +[source,xml] +---- + + + + io.smallrye.reactive + vertx-mutiny-clients-bom + ${mutiny-vertx.version} + pom + import + + + +---- + +Replace `$++{++mutiny-vertx.version}` with the version you want to use, or define it as a Maven property. + +== Adding module dependencies + +With the BOM imported you can add individual modules without specifying a version. +At a minimum you need the core module: + +[source,xml] +---- + + io.smallrye.reactive + smallrye-mutiny-vertx-core + +---- + +If you also want to use the reactive HTTP client (WebClient), add: + +[source,xml] +---- + + io.smallrye.reactive + smallrye-mutiny-vertx-web-client + +---- + +== A complete example + +The following program starts an HTTP server that replies with a greeting and then uses WebClient to call it: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +import io.vertx.mutiny.core.Vertx; +import io.vertx.mutiny.core.http.HttpServer; +import io.vertx.mutiny.ext.web.client.WebClient; +import io.vertx.ext.web.client.WebClientOptions; +import io.vertx.mutiny.ext.web.client.HttpResponse; +import io.vertx.mutiny.ext.web.codec.BodyCodec; + +public class GettingStarted { + + public static void main(String[] args) { + Vertx vertx = Vertx.vertx(); + + HttpServer server = vertx.createHttpServer() + .requestHandler(req -> req.response() + .setStatusCode(200) + .putHeader("content-type", "text/plain") + .endAndForget("Hello from Mutiny!")) + .listenAndAwait(8080); + + System.out.println("Server listening on port " + server.actualPort()); + + WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(8080) + .setDefaultHost("localhost")); + + HttpResponse response = client.get("/") + .as(BodyCodec.string()) + .sendAndAwait(); + + System.out.println("Response: " + response.body()); + + vertx.closeAndAwait(); + } +} +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +import io.vertx.core.Vertx; +import io.vertx.ext.web.client.WebClient; +import io.vertx.ext.web.client.WebClientOptions; +import io.vertx.ext.web.codec.BodyCodec; + +public class GettingStarted { + + public static void main(String[] args) { + Vertx vertx = Vertx.vertx(); + + vertx.createHttpServer() + .requestHandler(req -> req.response() + .setStatusCode(200) + .putHeader("content-type", "text/plain") + .end("Hello from Vert.x!")) + .listen(8080) + .compose(server -> { + System.out.println("Server listening on port " + server.actualPort()); + + WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(8080) + .setDefaultHost("localhost")); + + return client.get("/") + .as(BodyCodec.string()) + .send(); + }) + .onSuccess(response -> + System.out.println("Response: " + response.body())) + .onComplete(v -> vertx.close()); + } +} +---- + +-- + +==== + +=== What is happening here + +[arabic] +. `Vertx.vertx()` creates a Mutiny-based Vert.x instance. +. `listenAndAwait(8080)` starts the server and blocks the calling thread until the server is ready. Under the hood it subscribes to the `Uni++<++HttpServer++>++` returned by `listen()` and awaits its result. +. `sendAndAwait()` sends the HTTP request and blocks until the response arrives: again a convenience wrapper around a `Uni`. +. `closeAndAwait()` shuts down the Vert.x instance. + +=== Using explicit reactive operators + +The `++*++AndAwait()` helpers are convenient for scripts and tests, but in production code you will typically compose operations with Mutiny operators. +Here is the same WebClient call expressed reactively: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +client.get("/") + .as(BodyCodec.string()) + .send() + .onItem().transform(HttpResponse::body) + .subscribe().with( + body -> System.out.println("Response: " + body), + failure -> System.err.println("Request failed: " + failure.getMessage()) + ); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +client.get("/") + .as(BodyCodec.string()) + .send() + .map(HttpResponse::body) + .onSuccess(body -> System.out.println("Response: " + body)) + .onFailure(err -> System.err.println("Request failed: " + err.getMessage())); +---- + +-- + +==== + +Note the use of `onItem().transform()` rather than shorthand aliases: this project favours explicit operator names so that the pipeline reads clearly. + +[TIP] +.Use `io.vertx.mutiny.*` imports +==== + +Always import classes from the `io.vertx.mutiny.++*++` packages, *not* from `io.vertx.core.++*++`. +The Mutiny classes are generated shims that wrap the Vert.x core classes and expose `Uni` / `Multi` return types instead of `Future`. + +==== + +== Next steps + +* xref:uni-and-multi.adoc[Uni and Multi]: learn how `Future` and `ReadStream` map to Mutiny types. +* xref:type-mapping.adoc[Type Mapping]: understand how Vert.x types are converted in the generated bindings. +* xref:error-handling.adoc[Error Handling]: handle failures and use Vert.x expectations with Mutiny. +* xref:available-modules.adoc[Available Modules]: see the full list of generated client modules. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/images/diagrams/mermaid-ccfeac935876.dark.svg b/content/docs/smallrye-mutiny-vertx-bindings/latest/images/diagrams/mermaid-ccfeac935876.dark.svg new file mode 100644 index 000000000..e03fe9129 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/images/diagrams/mermaid-ccfeac935876.dark.svg @@ -0,0 +1 @@ +I/O operationUniSubscriberI/O operationUniSubscriberalt[success][failure]subscribe()start operationresultonItem(result)erroronFailure(error) \ No newline at end of file diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/images/diagrams/mermaid-ccfeac935876.svg b/content/docs/smallrye-mutiny-vertx-bindings/latest/images/diagrams/mermaid-ccfeac935876.svg new file mode 100644 index 000000000..62bc07f57 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/images/diagrams/mermaid-ccfeac935876.svg @@ -0,0 +1 @@ +I/O operationUniSubscriberI/O operationUniSubscriberalt[success][failure]subscribe()start operationresultonItem(result)erroronFailure(error) \ No newline at end of file diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/index.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/index.adoc new file mode 100644 index 000000000..b989797ed --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/index.adoc @@ -0,0 +1,100 @@ += Overview +include::_attributes.adoc[] + +SmallRye Mutiny Vert.x Bindings provides Vert.x client APIs using the https://smallrye.io/smallrye-mutiny/[Mutiny] reactive programming model. +Instead of working with Vert.x `Future` and callback-based APIs, you use `Uni` (for single results) and `Multi` (for streams of items) with a rich, explicit set of operators. +The bindings are generated automatically from the Vert.x source code, so they stay in sync with every Vert.x release. + +== Why Mutiny? + +* *Lazy evaluation*: a `Uni` does nothing until you subscribe, giving you full control over when side effects happen. +* *Explicit operator vocabulary*: methods like `onItem().transform()` and `onFailure().retry()` make the intent of each pipeline stage obvious. +* *Back-pressured streams*: `Multi` implements Reactive Streams, so producers cannot overwhelm consumers. +* *Blocking helpers for tests and virtual threads*: call `andAwait()` to block until a result is available, which is useful in unit tests and when running on virtual threads. + +== Quick Example + +The following example fetches JSON data from an HTTP endpoint. Compare the Mutiny bindings with the equivalent vanilla Vert.x code: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni fetchData(WebClient client) { + return client.get("/api/data") + .as(BodyCodec.jsonObject()) + .send() + .onItem().transform(HttpResponse::body) + .onFailure().retry().atMost(3) + .onFailure().invoke(err -> logger.error("Request failed", err)); +} +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future fetchData(WebClient client, int retries) { + return client.get("/api/data") + .as(BodyCodec.jsonObject()) + .send() + .map(HttpResponse::body) + .recover(err -> { + logger.error("Request failed", err); + if (retries > 0) { + return fetchData(client, retries - 1); + } + return Future.failedFuture(err); + }); +} +---- + +-- + +==== + +With the Mutiny bindings, every step in the pipeline is visible: + +[arabic] +. `send()` returns a `Uni++<++HttpResponse++<++JsonObject++>>++`: nothing happens yet. +. `onItem().transform()` maps the response to its JSON body when the item arrives. +. `onFailure().retry().atMost(3)` retries the entire operation up to 3 times on failure. +. `onFailure().invoke()` logs errors that persist after retries, without swallowing them. + +Notice that retry logic requires no extra code with Mutiny — it is a built-in operator. With vanilla Vert.x, you need to manage a retry counter and use recursive `recover()` calls, as shown in the second tab. + +You can also block for the result when that is appropriate (tests, virtual threads): + +[source,java] +---- +JsonObject body = fetchData(client).await().indefinitely(); +---- + +[TIP] +.Explicit operators +==== + +Mutiny favours explicit names over short aliases. +Prefer `onItem().transform()` over `map`, `onItem().transformToUni()` over `flatMap`, and `onItem().invoke()` over a bare `invoke`. +The longer forms make pipelines easier to read and review. + +==== + +== Next Steps + +* xref:getting-started.adoc[Getting Started]: add the dependency and write your first Mutiny Vert.x program. +* xref:uni-and-multi.adoc[Uni and Multi]: learn the two core reactive types in depth. +* xref:type-mapping.adoc[Type Mapping]: understand how Vert.x types are converted to Mutiny types. +* xref:error-handling.adoc[Error Handling]: strategies for handling failures in reactive pipelines. +* xref:available-modules.adoc[Available Modules]: the full list of generated client modules. +* xref:migration-guide-3x-4x.adoc[Upgrading from version 3 to 4]: migrate to the new Mutiny bindings generator. +* xref:using-the-generator.adoc[Using the binding generator for your own APIs]: learn to use the generator for your own APIs. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/migration-guide-3x-4x.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/migration-guide-3x-4x.adoc new file mode 100644 index 000000000..67bbe0eef --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/migration-guide-3x-4x.adoc @@ -0,0 +1,110 @@ += Upgrading from version 3 to 4 +include::_attributes.adoc[] + +== Overview + +With the release of Vert.x 5, important API changes were made, sometimes breaking the compability with Vert.x 4.x projects. It was an opportunity to release a new version of the generator. This guide will walk through the changes between the Mutiny Vert.x bindings for Vert.x 4 and Vert.x 5. + +== A new Mutiny bindings generator + +In its 3.x version, the Vert.x-mutiny bindings generator was an annotation processor. It was executed on a given module by using the `maven-processor-plugin`. +As an annotation processor, it can only be run during maven compilation. Generating bindings thus requires compiling or recompiling the sources. +The new approach still uses annotations to detect which classes and interfaces must be generated, but annotation processing is now part of a full CLI possessing its own `Main` class and its own lifecycle independent from that of the sources. +This makes it easier to test and faster to run. + +== API changes + +Numerous API changes are due to the transition to Vert.x 5. +The Vert.x 4 to 5 migration guide is available at https://vertx.io/docs/guides/vertx-5-migration-guide/. + +We provide here a brief summary of the breaking changes, the exhaustive list can be found link:compatibility-report-3-to-4.html[in a compatibility report detailing every API change]. + +=== Generics are better specified + +In version 3 of the bindings generator, several generics were left unspecified. We changed this behavior so that every generics used is either correctly specified or uses a wildcard. +See the link:compatibility-report-3-to-4.html[full compatibility report] for more information. + +=== No more Callbacks + +Complete removal of callback methods such as: +`java void request(RequestOptions request, Handler++<++AsyncResult++<++HttpClientRequest++>>++ callback);` + +They have all been replaced with a Future such as: + +[source,java] +---- +Future request(RequestOptions request); +---- + +Consequently, the bindings generator only supports the `Future` style and will generate the following: + +[source,java] +---- +Uni request(RequestOptions request); +---- + +=== Deprecated modules are no more + +[width="100%",cols="22%,78%",options="header",] +|=== +|Sunsetting in 4.x |Replacement in 5.x +|Vert.x Sync |Vert.x virtual threads +|Service Factories |None +|Maven Service Factory |None +|HTTP Service Factory |None +|Vert.x Web OpenAPI |https://vertx.io/docs/vertx-web-openapi-router/java/[Vert.x Web OpenAPI Router] +|Vert.x CLI |None +|=== + +=== Changes with regards to `@DataObject` and `@VertxGen` + +Numerous classes are now annotated `@DataObject` instead of `@VertxGen`. `@DataObject` annotation existed in Vert.x 4.x and was used mainly for `++*++Options.java` classes. No wrappers are thus required, the core Vert.x interface is used directly. They will break existing projects as imports are now invalid. + +Below are some classes that are not converted to Mutiny shims anymore: + +* `io.vertx.core.buffer.Buffer` +* `io.vertx.core.net.Address` +* `io.vertx.core.net.SocketAddress` +* `io.vertx.core.parsetools.JsonEvent` +* `io.vertx.core.MultiMap` +* `io.vertx.core.datagram.DatagramPacket` + +=== SQL clients have been reworked + +In Vert.x 4, `Pool` subtypes were used for every kind of databases: `PgPool, MySQLPool, MSSQLPool`, etc. They have all been removed and replaced with client builder subtypes: + +[source,java] +---- +// 4.x +PgPool client = PgPool.pool(vertx, connectOptions, poolOptions); + +//5.0 +Pool client = PgBuilder.pool() + .with(poolOptions) + .connectingTo(connectOptions) + .using(vertx) + .build(); +---- + +For more information, see https://vertx.io/docs/guides/vertx-5-migration-guide/#_vert_x_sql_client[Vert.x 5 migration guide]. + +== Dropped or replaced modules + +[cols=",",options="header",] +|=== +|Module |Replacement +|service-discovery-++*++ |_dropped_ +|web-openapi |(openapi, web-openapi-router) +|web-auth-shiro |_dropped_ +|web-auth-webauthn |web-auth-webauthn4j +|auth-jdbc |_dropped_ +|jdbc-client |_dropped_ +|web-api-contract |_dropped_ +|web-templ-jade |_dropped_ +|stomp |_dropped_ +|shell |_dropped_ +|=== + +== Using the generator with your own asynchronous APIs + +xref:using-the-generator.adoc[Learn how to use the bindings generator with your own asynchronous APIs]. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/type-mapping.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/type-mapping.adoc new file mode 100644 index 000000000..08fc123d1 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/type-mapping.adoc @@ -0,0 +1,100 @@ += Type Mapping +include::_attributes.adoc[] + +This page documents how Vert.x types are converted into Mutiny types by the code generator. +Understanding these mappings is essential for working with the generated bindings. + +== Overview + +The code generator parses Vert.x source code and produces Mutiny shim classes that wrap the original Vert.x APIs. +The core idea is to replace callback- and `Future`-based patterns with `Uni` and `Multi` from Mutiny. +Types that are already plain data (`JsonObject`, primitives, enums, data objects) pass through unchanged. + +== Type mapping table + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Vert.x Type |Mutiny Type |Notes +|`Future++<++T++>++` |`Uni++<++T++>++` |Primary async conversion +|`ReadStream++<++T++>++` |`Multi++<++T++>++` |Via `toMulti()` on the shim +|`WriteStream++<++T++>++` |`Flow.Subscriber++<++T++>++` |Via `toSubscriber()` on the shim +|`Handler++<++AsyncResult++<++T++>>++` |_(removed)_ |Replaced by subscription model +|`Handler++<++T++>++` |`Consumer++<++T++>++` |Standard functional interface +|`Handler++<++Void++>++` |`Runnable` |No argument needed +|`Handler++<++Promise++<++T++>>++` |`Uni++<++T++>++` |Promise-based handlers become Unis +|`Consumer++<++Promise++<++T++>>++` |`Uni++<++T++>++` |Same treatment as Handler of Promise +|`@VertxGen` types |Shim in `io.vertx.mutiny.++*++` |Each interface gets a wrapper class +|`JsonObject`, `JsonArray` |Pass-through |Used as-is, no conversion +|Primitives, boxed types |Pass-through |`int`, `Integer`, `boolean`, etc. +|Data objects |Pass-through |Vert.x data objects are used directly +|Enums |Pass-through |Enum types are used directly +|`String` |Pass-through |Used as-is +|`Throwable` |Pass-through |Used as-is +|`List++<++T++>++`, `Set++<++T++>++` |Same collection, elements converted |If `T` is a `@VertxGen` type, each element is wrapped +|`Map++<++K, V++>++` |Same map, values converted |If `V` is a `@VertxGen` type, each value is wrapped +|=== + +== Shim classes + +Every Vert.x interface annotated with `@VertxGen` gets a corresponding *shim class* generated in the `io.vertx.mutiny.++*++` package. +The shim wraps the original Vert.x object (called the *delegate*) and exposes converted method signatures. + +Key properties of shim classes: + +* They implement `MutinyDelegate`, which provides the `getDelegate()` method. +* They live in `io.vertx.mutiny.++*++`, mirroring the original package structure (e.g. `io.vertx.core.eventbus.EventBus` becomes `io.vertx.mutiny.core.eventbus.EventBus`). +* They have a `newInstance()` static factory method used internally for wrapping delegates. +* Type parameters on the original interface are preserved in the shim. + +[source,java] +---- +// Original Vert.x interface +io.vertx.core.eventbus.EventBus + +// Generated Mutiny shim +io.vertx.mutiny.core.eventbus.EventBus + +// Accessing the underlying delegate +io.vertx.core.eventbus.EventBus delegate = mutinyEventBus.getDelegate(); +---- + +== Generated method variants + +For every Vert.x method that returns a `Future++<++T++>++`, the generator produces three method variants: the `Uni`-returning reactive method, a blocking `AndAwait` method, and a fire-and-forget `AndForget` method. + +See xref:uni-and-multi.adoc#the-three-method-variants[Uni and Multi — The three method variants] for the full table, return types, and guidance on when to use each variant. + +== ReadStream conversion + +When a `@VertxGen` interface extends `ReadStream++<++T++>++`, the generated shim gains three additional methods: + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Method |Return type |Description +|`toMulti()` |`Multi++<++T++>++` |Converts the read stream into a Mutiny `Multi` +|`toBlockingIterable()` |`Iterable++<++T++>++` |Returns a blocking iterable backed by the `Multi` +|`toBlockingStream()` |`Stream++<++T++>++` |Returns a blocking Java `Stream` backed by the `Multi` +|=== + +The `toMulti()` method is lazy and cached: calling it multiple times returns the same `Multi` instance. +If `T` is itself a `@VertxGen` type, each emitted item is automatically wrapped in its shim class. + +== WriteStream conversion + +When a `@VertxGen` interface extends `WriteStream++<++T++>++`, the generated shim gains a `toSubscriber()` method: + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Method |Return type |Description +|`toSubscriber()` |`Flow.Subscriber++<++T++>++` |Converts the write stream into a reactive `Flow.Subscriber` +|=== + +This lets you pipe a `Multi` into a Vert.x `WriteStream` using standard reactive streams back-pressure. + +== Collections of @VertxGen types + +When a method returns `Future++<++List++<++X++>>++`, `Future++<++Set++<++X++>>++`, or `Future++<++Map++<++K, V++>>++` where `X` or `V` is a `@VertxGen` type, the generator automatically wraps each element in its shim class. + +For example, a method returning `Future++<++List++<++io.vertx.core.eventbus.Message++<++T++>>>++` becomes `Uni++<++List++<++io.vertx.mutiny.core.eventbus.Message++<++T++>>>++`, and each `Message` in the list is wrapped in the Mutiny shim. + +The same applies to `Set` (using `Collectors.toSet()`) and `Map` values (using `Collectors.toMap()`). diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/uni-and-multi.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/uni-and-multi.adoc new file mode 100644 index 000000000..56ea6f159 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/uni-and-multi.adoc @@ -0,0 +1,349 @@ += Uni and Multi +include::_attributes.adoc[] + +The Mutiny Vert.x bindings replace Vert.x's `Future` and `ReadStream` types with Mutiny's two reactive types: `Uni` and `Multi`. +Understanding these types is essential to working with the bindings. + +== What is Uni? + +`Uni++<++T++>++` represents a *single asynchronous result*: it either emits one item of type `T` or a failure. +It is the Mutiny equivalent of Vert.x's `Future++<++T++>++`. + +A `Uni` is *lazy*: nothing happens until you subscribe. +Creating a `Uni` merely declares an asynchronous pipeline; the underlying I/O or computation only starts when a subscriber asks for it. + +[.has-dark] +image::images/diagrams/mermaid-ccfeac935876.svg[mermaid diagram] + +== What is Multi? + +`Multi++<++T++>++` represents an *asynchronous stream* of items: it can emit zero, one, or many items of type `T`, optionally followed by a completion or failure signal. +It is the Mutiny equivalent of Vert.x's `ReadStream++<++T++>++`. + +`Multi` supports *back-pressure*: a subscriber controls how many items it is ready to receive, preventing the producer from overwhelming it. + +== The three method variants + +For every Vert.x method that returns a `Future++<++T++>++`, the code generator produces three variants: + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Variant |Signature |Behavior +|Reactive |`Uni++<++T++>++ method()` |Lazy. Returns a `Uni` that starts the operation on subscription. +|Blocking |`T methodAndAwait()` |Subscribes and blocks the calling thread until the result arrives. +|Fire-and-forget |`EnclosingType methodAndForget()` |Subscribes immediately, discards the result, and returns `this` for fluent chaining. +|=== + +For example, given a Vert.x method `Future++<++HttpServer++>++ listen(int port)` on the `HttpServer` class, the generator produces: + +[source,java] +---- +Uni listen(int port); // reactive +HttpServer listenAndAwait(int port); // blocking helper +HttpServer listenAndForget(int port); // fire-and-forget (returns this) +---- + +Use `methodAndAwait()` in tests and setup code where blocking is acceptable. +Use `methodAndForget()` for one-way operations where you do not need the result. +Prefer `Uni`-returning methods in production reactive pipelines. + +== Side-by-side comparison: event bus + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); + +bus.consumer("address", message -> message.reply("world")) + .completionAndAwait(); + +bus.request("address", "hello") + .onItem().invoke(reply -> System.out.println(reply.body())) + .onFailure().invoke(Throwable::printStackTrace) + .await().atMost(Duration.ofSeconds(10)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); + +bus.consumer("address", message -> message.reply("world")); + +bus.request("address", "hello") + .onSuccess(reply -> System.out.println(reply.body())) + .onFailure(err -> err.printStackTrace()); +---- + +-- + +==== + +With the Mutiny bindings, `request` returns a `Uni++<++Message++<++Object++>>++`. +You compose over it with explicit operators, then subscribe: either by calling `.await()` or `.subscribe().with(...)`. + +== Multi from an event bus consumer + +A `MessageConsumer` can be turned into a `Multi` of messages. +Each message published or sent to the address becomes an item in the stream: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); + +bus.consumer("address").toMulti() + .onItem().transform(Message::body) + .subscribe().with(body -> System.out.println("Received: " + body)); + +bus.send("address", 1); +bus.send("address", 2); +bus.send("address", 3); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); + +bus.consumer("address") + .handler(message -> System.out.println("Received: " + message.body())); + +bus.send("address", 1); +bus.send("address", 2); +bus.send("address", 3); +---- + +-- + +==== + +The `toMulti()` method bridges the Vert.x `ReadStream` into a Mutiny `Multi`. + +== Chaining Uni operations + +Mutiny encourages explicit operator names that describe what each step does. +Here is an HTTP client pipeline that chains several asynchronous steps: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Buffer payload = vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .onItem().transformToUni(HttpClientRequest::send) + .onItem().transformToUni(HttpClientResponse::body) + .await().atMost(Duration.ofSeconds(5)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Buffer payload = vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .compose(HttpClientRequest::send) + .compose(HttpClientResponse::body) + .toCompletionStage().toCompletableFuture() + .get(5, TimeUnit.SECONDS); +---- + +-- + +==== + +Each operator has a clear role: + +* `.onItem().transformToUni(HttpClientRequest::send)`: when the request object arrives, send it and return the response as a new `Uni`. +* `.onItem().transformToUni(HttpClientResponse::body)`: read the response body as another asynchronous step. +* `.await().atMost(Duration.ofSeconds(5))`: block and wait for the final result with a timeout. + +The key operators for chaining are: + +[width="100%",cols="50%,50%",options="header",] +|=== +|Operator |Purpose +|`.onItem().transform(fn)` |Synchronously transform the item (like `map`). +|`.onItem().transformToUni(fn)` |Asynchronously transform the item into another `Uni` (like `flatMap`). +|`.onItem().invoke(fn)` |Perform a side effect without changing the item. +|`.onItem().call(fn)` |Perform an asynchronous side effect (returns a `Uni++<++Void++>++`), then continue with the original item. +|`.onFailure().invoke(fn)` |Perform a side effect when a failure occurs. +|`.onFailure().recoverWithItem(fn)` |Replace a failure with a fallback item. +|=== + +== Subscription model + +A `Uni` does nothing until subscribed. +This is different from Vert.x's `Future`, which represents an already-started operation. + +This laziness gives you an important advantage: you can build up a pipeline, pass it around, and decide _when_ to trigger it. +Multiple subscriptions re-execute the pipeline each time, which is useful for retry logic and repeated operations. + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +// Build the pipeline once — nothing happens yet +Uni> pipeline = bus.request("address", "hello"); + +// Subscribe later, possibly multiple times +pipeline.subscribe().with( + reply -> System.out.println(reply.body()), + failure -> failure.printStackTrace() +); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +// The operation starts immediately — the Future is already in progress +Future> future = bus.request("address", "hello"); + +// Attach callbacks after the fact +future + .onSuccess(reply -> System.out.println(reply.body())) + .onFailure(Throwable::printStackTrace); +---- + +-- + +==== + +== ReadStream to Multi: WebSocket example + +Any Vert.x `ReadStream` is exposed as a `Multi` through the `toMulti()` method. +WebSocket is a practical example: incoming frames arrive as a stream of messages. + +*Server side*: handle each incoming WebSocket connection and read messages as a `Multi`: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +vertx.createHttpServer(new HttpServerOptions().setIdleTimeout(2)) + .webSocketHandler(ws -> { + ws.toMulti() + .subscribe().with(msg -> { + System.out.println("Server received: " + msg); + ws.writeTextMessageAndForget("pong"); + }); + }) + .listenAndAwait(0, "localhost"); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +vertx.createHttpServer(new HttpServerOptions().setIdleTimeout(2)) + .webSocketHandler(ws -> { + ws.handler(msg -> { + System.out.println("Server received: " + msg); + ws.writeTextMessage("pong"); + }); + }) + .listen(0, "localhost") + .onSuccess(server -> System.out.println("Listening on " + server.actualPort())); +---- + +-- + +==== + +*Client side*: connect, send a message, then read responses as a `Multi`: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +WebSocketClient client = vertx.createWebSocketClient(); + +client.connect(port, "localhost", "/") + .onItem().call(ws -> ws.writeTextMessage("ping")) + .onItem().transformToMulti(WebSocket::toMulti) + .subscribe().with(msg -> System.out.println("Client received: " + msg)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +WebSocketClient client = vertx.createWebSocketClient(); + +client.connect(port, "localhost", "/") + .onSuccess(ws -> { + ws.handler(msg -> System.out.println("Client received: " + msg)); + ws.writeTextMessage("ping"); + }); +---- + +-- + +==== + +The client pipeline demonstrates a common pattern: + +[arabic] +. `connect(...)` returns a `Uni++<++WebSocket++>++`. +. `.onItem().call(...)` sends a message as an asynchronous side effect, then continues with the same `WebSocket`. +. `.onItem().transformToMulti(...)` switches from a single `Uni++<++WebSocket++>++` to a `Multi` of incoming messages. +. `.subscribe().with(...)` starts the whole pipeline. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/latest/using-the-generator.adoc b/content/docs/smallrye-mutiny-vertx-bindings/latest/using-the-generator.adoc new file mode 100644 index 000000000..0538ffe59 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/latest/using-the-generator.adoc @@ -0,0 +1,202 @@ += Using the Generator +include::_attributes.adoc[] + +The Mutiny code generator takes Vert.x source files and produces Mutiny shim classes that wrap the original Vert.x APIs with `Uni` and `Multi` return types. You point it at a directory of Vert.x sources, and it outputs ready-to-compile Java files in the `io.vertx.mutiny.++*++` package. + +== CLI Options + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Option |Required |Description +|`--source ++<++path++>++` |Yes |Vert.x Java source directory +|`--output ++<++path++>++` |No |Output directory (dry run if omitted) +|`--additional-source ++<++path++>++` |No, repeatable |Additional sources for symbol resolution +|`--module-name ++<++name++>++` |No |Module name for the generated bindings +|=== + +== CLI Usage + +[source,bash] +---- +java -cp generator.jar io.smallrye.mutiny.vertx.apigenerator.Main \ + --source=path/to/vertx-sources \ + --output=path/to/output \ + --module-name=vertx-web-client +---- + +If `--output` is omitted the generator performs a dry run, parsing and resolving types without writing any files. + +== Maven Integration + +Most users run the generator as part of a Maven build. The pattern uses three plugins executed during the `generate-sources` phase. + +=== 1. Unpack Vert.x Sources + +The `maven-dependency-plugin` extracts Vert.x source JARs into `target/sources/java` so the generator can parse them. + +[source,xml] +---- + + maven-dependency-plugin + + io.vertx + vertx-web-client + sources + jar + + + + unpack-java + generate-sources + unpack-dependencies + + io/vertx/**/*.java + **/impl/**/*.java + ${project.build.directory}/sources/java + + + + + unpack-vertx-core + generate-sources + unpack-dependencies + + io/vertx/**/*.java + **/impl/**/*.java + vertx-core,vertx-auth-common + ${project.basedir}/target/additional-sources/vertx-core + + + + +---- + +[TIP] +.Additional sources +==== + +You might need to generate Mutiny bindings for modules `moduleA` and `moduleB`, where `moduleB` uses classes or interfaces from `moduleA`. +In this instance, you should add `moduleA` as additional sources to ensure that you are using the generated mutiny API for `moduleA` in `moduleB`, and not the original one. +This is easily achievable by setting the `maven-dependency-plugin` for `moduleB` like below. + +[source,xml] +---- + + maven-dependency-plugin + + org.acme + moduleB + sources + jar + + + + unpack-java + generate-sources + unpack-dependencies + + io/vertx/**/*.java + **/impl/**/*.java + ${project.build.directory}/sources/java + + + + + unpack-vertx-core + generate-sources + unpack-dependencies + + io/vertx/**/*.java + **/impl/**/*.java + vertx-core,moduleA + ${project.basedir}/target/additional-sources/vertx-core + + + + +---- + +==== + +=== 2. Run the Generator + +The `exec-maven-plugin` invokes the generator with the unpacked sources as input. + +[source,xml] +---- + + org.codehaus.mojo + exec-maven-plugin + + + generate + generate-sources + java + + io.smallrye.mutiny.vertx.apigenerator.Main + + --module-name=vertx-web-client + --source=${project.basedir}/target/sources + --output=${project.basedir}/target/generated-sources/codegen + --additional-source=${project.basedir}/target/additional-sources/vertx-core + + true + + + + + + io.smallrye.reactive + vertx-mutiny-code-generator + ${project.version} + + + +---- + +=== 3. Add Generated Sources to the Build + +The `build-helper-maven-plugin` adds the generated output directory as a source root so Maven compiles it alongside handwritten code. + +[source,xml] +---- + + org.codehaus.mojo + build-helper-maven-plugin + + + add-source + generate-sources + add-source + + + target/generated-sources/codegen + + + + + +---- + +== Cross-Module Type Resolution + +When a Vert.x module references types defined in another module (for example, `vertx-web-client` uses types from `vertx-core`), the generator needs access to those additional sources to resolve types correctly. Use `--additional-source` to provide them. This flag is repeatable: pass it once for each extra source tree: + +[source,bash] +---- +java -cp generator.jar io.smallrye.mutiny.vertx.apigenerator.Main \ + --source=target/sources \ + --output=target/generated-sources/codegen \ + --additional-source=target/additional-sources/vertx-core \ + --additional-source=target/additional-sources/vertx-auth-common +---- + +In the Maven setup, this corresponds to unpacking the additional module sources into separate directories (as shown in the optional execution above) and passing them via `++<++arg++>++` elements. + +== When You Need the Generator + +Most application developers consume the pre-built Mutiny bindings as Maven dependencies and never run the generator directly. You need it if you are: + +* *A project maintainer* rebuilding the bindings after a Vert.x upgrade. +* *A custom `@VertxGen` API author* who wants Mutiny bindings for your own Vert.x-style interfaces. +* *A Vert.x extension author* producing a new client module that follows the Vert.x codegen conventions. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/_attributes.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/_attributes.adoc new file mode 100644 index 000000000..8e24634c1 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 4.0.2 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: Mutiny Vert.x bindings +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 4.0.2 +:relfileprefix: /docs/smallrye-mutiny-vertx-bindings/main/ +:imagesdir: /docs/smallrye-mutiny-vertx-bindings/main +:docs-project: smallrye-mutiny-vertx-bindings +:docs-version: main +:docs-ref: main diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/_nav.yml b/content/docs/smallrye-mutiny-vertx-bindings/main/_nav.yml new file mode 100644 index 000000000..168665b5a --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/_nav.yml @@ -0,0 +1,20 @@ +title: Mutiny Vert.x bindings +nav: +- title: Overview + page: index +- title: Getting Started + page: getting-started +- title: Uni and Multi + page: uni-and-multi +- title: Type Mapping + page: type-mapping +- title: Error Handling + page: error-handling +- title: Blocking and Testing + page: blocking-and-testing +- title: Using the Generator + page: using-the-generator +- title: Available Modules + page: available-modules +- title: Upgrading from version 3 to 4 + page: migration-guide-3x-4x diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/available-modules.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/available-modules.adoc new file mode 100644 index 000000000..1b55df84f --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/available-modules.adoc @@ -0,0 +1,50 @@ += Available Modules +include::_attributes.adoc[] + +This project provides Mutiny bindings for a wide range of Vert.x modules: web, databases, messaging, authentication, templating, and more. + +== Naming Convention + +All modules share the same group ID and follow a predictable artifact ID pattern: + +* *Group ID*: `io.smallrye.reactive` +* *Artifact ID*: `smallrye-mutiny-vertx-++{++name}` + +The `++{++name}` suffix mirrors the Vert.x module name. +For example, the Vert.x `vertx-web-client` module becomes `smallrye-mutiny-vertx-web-client`. + +== Version Management + +Import the BOM to manage versions centrally. +See xref:getting-started.adoc#adding-the-bom[Getting Started — Adding the BOM] for the dependency management snippet. + +== Finding the Right Module + +To find the Mutiny binding for a Vert.x module, take the Vert.x artifact ID and prefix it with `smallrye-mutiny-`. +For example, the Vert.x `vertx-pg-client` module becomes `smallrye-mutiny-vertx-pg-client`: + +[source,xml] +---- + + io.smallrye.reactive + smallrye-mutiny-vertx-pg-client + +---- + +This pattern applies consistently across all modules. + +== Imports + +When using a Mutiny binding, import from the `io.vertx.mutiny.++*++` packages rather than `io.vertx.core.++*++` or `io.vertx.ext.++*++`. +The Mutiny classes are generated shims that wrap the original Vert.x types. + +[source,java] +---- +// Correct: Mutiny shim +import io.vertx.mutiny.ext.web.client.WebClient; + +// Wrong: original Vert.x type +import io.vertx.ext.web.client.WebClient; +---- + +Configuration and options classes (e.g., `WebClientOptions`) are data objects and are used directly from the Vert.x packages since they do not need shims. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/blocking-and-testing.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/blocking-and-testing.adoc new file mode 100644 index 000000000..5e2e8b435 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/blocking-and-testing.adoc @@ -0,0 +1,325 @@ += Blocking and Testing +include::_attributes.adoc[] + +The Mutiny Vert.x bindings provide blocking APIs that convert asynchronous `Uni` and `Multi` results into synchronous calls. These APIs are essential for testing and are equally valuable for imperative-style programming on virtual threads, worker threads, and CLI tools. + +*Never block on the Vert.x event loop.* Blocking the event loop freezes the entire application. Use these APIs only in contexts where blocking is safe: + +* *Virtual threads* (Java 21{plus}): first-class imperative programming with Vert.x clients +* *Worker threads*: offloaded via `executeBlocking` +* *Tests*: JUnit test methods run outside the event loop +* *CLI tools and scripts*: short-lived programs without an event loop + +== Virtual Threads: Imperative Vert.x + +With Java 21{plus} virtual threads, the blocking APIs let you write Vert.x client code in a straightforward imperative style. Virtual threads can block without wasting platform threads, making `andAwait()` and `.await().atMost()` practical outside of tests. + +For example, a web client call written imperatively: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(8080) + .setDefaultHost("localhost")); + +HttpResponse response = client.get("/api/users") + .as(BodyCodec.jsonObject()) + .sendAndAwait(); + +JsonObject body = response.body(); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(8080) + .setDefaultHost("localhost")); + +HttpResponse response = client.get("/api/users") + .as(BodyCodec.jsonObject()) + .send() + .toCompletionStage().toCompletableFuture().join(); + +JsonObject body = response.body(); +---- + +-- + +==== + +No callbacks, no reactive chains: just sequential code that reads top to bottom. Each `andAwait()` call suspends the virtual thread until the result is available, while the underlying Vert.x event loop continues processing other work. + +== andAwait() + +Methods ending in `andAwait()` block the calling thread indefinitely until the operation completes. Every `Uni`-returning method on a Mutiny Vert.x class has a corresponding `andAwait()` variant. + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); +bus.consumer("address", message -> message.reply("world")) + .completionAndAwait(); + +Message reply = bus.requestAndAwait("address", "hello"); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); +bus.consumer("address", message -> message.reply("world")) + .completion() + .toCompletionStage().toCompletableFuture().join(); + +Message reply = bus.request("address", "hello") + .toCompletionStage().toCompletableFuture().join(); +---- + +-- + +==== + +Use `andAwait()` when you are confident the operation will complete and do not need a timeout: for instance, in tests with controlled infrastructure or on virtual threads where indefinite suspension is acceptable. + +== .await().atMost(Duration) + +For operations that may hang or where you want a safety net, use `.await().atMost(Duration)` on the `Uni` directly. This blocks until the result arrives or the timeout expires, throwing a `TimeoutException` if the deadline is exceeded. + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Buffer payload = vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .onItem().transformToUni(HttpClientRequest::send) + .onItem().transformToUni(HttpClientResponse::body) + .await().atMost(Duration.ofSeconds(5)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Buffer payload = vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .compose(HttpClientRequest::send) + .compose(HttpClientResponse::body) + .toCompletionStage().toCompletableFuture() + .get(5, TimeUnit.SECONDS); +---- + +-- + +==== + +This is the preferred approach when calling external services that might not respond. + +== Blocking Iteration on Multi + +For `Multi` streams, two methods convert the asynchronous stream into a blocking iterator or Java stream: + +* `toBlockingIterable()`: returns an `Iterable` that blocks on each element +* `toBlockingStream()`: returns a `java.util.stream.Stream` that blocks on each element + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +AsyncFile asyncFile = vertx.fileSystem() + .openAndAwait(path, new OpenOptions()); + +asyncFile.toBlockingStream() + .forEach(buffer::appendBuffer); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +AsyncFile asyncFile = vertx.fileSystem() + .open(path, new OpenOptions()) + .toCompletionStage().toCompletableFuture().join(); + +asyncFile.handler(chunk -> buffer.appendBuffer(chunk)); +---- + +-- + +==== + +These are useful for consuming a reactive stream in imperative code, such as reading a file or draining a message consumer. + +== JUnit 5 Testing Pattern + +A standard pattern for testing Mutiny Vert.x code with JUnit 5: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +class WebClientTest { + + Vertx vertx; + + @BeforeEach + void setUp() { + vertx = Vertx.vertx(); + } + + @AfterEach + void tearDown() { + vertx.closeAndAwait(); + } + + @Test + void getJsonObject() { + // ... set up a test HTTP server ... + + WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(server.actualPort()) + .setDefaultHost("localhost")); + + HttpResponse response = client.get("/yo") + .as(BodyCodec.jsonObject()) + .sendAndAwait(); + + assertThat(response.statusCode()).isEqualTo(200); + assertThat(response.body().getString("msg")).isEqualTo("hello"); + } +} +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +@ExtendWith(VertxExtension.class) +class WebClientTest { + + @Test + void getJsonObject(Vertx vertx, VertxTestContext testContext) { + // ... set up a test HTTP server ... + + WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(server.actualPort()) + .setDefaultHost("localhost")); + + client.get("/yo") + .as(BodyCodec.jsonObject()) + .send() + .onComplete(testContext.succeeding(response -> { + testContext.verify(() -> { + assertThat(response.statusCode()).isEqualTo(200); + assertThat(response.body().getString("msg")).isEqualTo("hello"); + }); + testContext.completeNow(); + })); + } +} +---- + +-- + +==== + +Key points: + +* Create a fresh `Vertx` instance in `@BeforeEach` to isolate tests. +* Shut it down with `closeAndAwait()` in `@AfterEach` to release resources. +* Use `andAwait()` or `.await().atMost()` in the test body: JUnit test threads are not event loop threads, so blocking is safe. + +With the Mutiny bindings, tests read sequentially with no callbacks. With vanilla Vert.x, you need `VertxExtension`, `VertxTestContext`, and nested `succeeding` / `verify` callbacks to handle the asynchronous result. + +== executeBlocking for CPU-Intensive Work + +When you need to run CPU-intensive or legacy blocking code from within a Vert.x context, use `vertx.executeBlocking()`. This offloads work to a worker thread pool, returning a result asynchronously. + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni uni = vertx.executeBlocking(() -> { + // Runs on a worker thread — blocking calls are safe here + return expensiveComputation(); +}); + +String result = uni.await().indefinitely(); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future future = vertx.executeBlocking(() -> { + // Runs on a worker thread — blocking calls are safe here + return expensiveComputation(); +}); + +String result = future.toCompletionStage().toCompletableFuture().join(); +---- + +-- + +==== + +Inside the `executeBlocking` callable, you are on a worker thread, so blocking calls are safe. The Mutiny variant returns a `Uni` that can be composed into a larger reactive pipeline or awaited directly. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/error-handling.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/error-handling.adoc new file mode 100644 index 000000000..fa5da0685 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/error-handling.adoc @@ -0,0 +1,435 @@ += Error Handling +include::_attributes.adoc[] + +One advantage of using Mutiny with Vert.x is that errors propagate through the reactive pipeline automatically. +With the callback or `Future`-based API you must manually check for failures at each step. +With Mutiny, failures flow downstream until something handles them, so you focus on the success path and deal with errors once: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +// Errors propagate automatically +client.request(HttpMethod.GET, "/data") + .onItem().transformToUni(HttpClientRequest::send) + .onItem().transformToUni(HttpClientResponse::body) + .subscribe().with( + body -> System.out.println("Got: " + body), + failure -> System.err.println("Failed: " + failure.getMessage()) + ); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +// Manual failure checks at each step +client.request(HttpMethod.GET, "/data") + .compose(request -> request.send()) + .compose(response -> response.body()) + .onSuccess(body -> System.out.println("Got: " + body)) + .onFailure(err -> System.err.println("Failed: " + err.getMessage())); +---- + +-- + +==== + +If any step in the pipeline fails, the remaining `onItem()` operators are skipped and the failure handler receives the error. With vanilla Vert.x, `compose()` chains behave similarly — a failure in any stage short-circuits to the `onFailure` handler — but the Mutiny API makes the distinction between item and failure handling more explicit through its operator vocabulary. + +== Basic failure handling + +The simplest way to handle errors is to provide both a success and failure callback to `subscribe().with()`: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +uni.subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.err.println("Error: " + failure.getMessage()) +); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +future + .onSuccess(item -> System.out.println("Received: " + item)) + .onFailure(err -> System.err.println("Error: " + err.getMessage())); +---- + +-- + +==== + +If you omit the failure callback, unhandled failures are reported to Mutiny's global failure handler. + +== Recovery + +You can recover from failures inline rather than letting them propagate to the subscriber. + +=== Recover with a fallback item + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().recoverWithItem("default value"); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future result = future + .recover(err -> Future.succeededFuture("default value")); +---- + +-- + +==== + +=== Recover with another Uni + +When recovery itself requires an asynchronous operation, use `recoverWithUni`: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().recoverWithUni(() -> fetchFromFallbackService()); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future result = future + .recover(err -> fetchFromFallbackService()); +---- + +-- + +==== + +=== Recover from specific exceptions + +Both recovery methods accept a predicate or exception class to recover selectively: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure(TimeoutException.class).recoverWithItem("timed out") + .onFailure(IOException.class).recoverWithUni(() -> retryElsewhere()); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future result = future + .recover(err -> { + if (err instanceof TimeoutException) { + return Future.succeededFuture("timed out"); + } + if (err instanceof IOException) { + return retryElsewhere(); + } + return Future.failedFuture(err); + }); +---- + +-- + +==== + +With Mutiny, selective recovery is declarative — you chain `.onFailure(ExceptionType.class)` for each case. With vanilla Vert.x, you use a single `recover()` block and check types with `instanceof`. + +== Retries + +Mutiny provides built-in retry support: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().retry().atMost(3); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future fetchWithRetry(int retries) { + return doFetch() + .recover(err -> { + if (retries > 0) { + return fetchWithRetry(retries - 1); + } + return Future.failedFuture(err); + }); +} + +Future result = fetchWithRetry(3); +---- + +-- + +==== + +This retries the upstream operation up to 3 times on any failure. +With vanilla Vert.x, retries require a recursive method that calls itself from within a `recover()` block. + +For production use, add exponential backoff to avoid overwhelming a failing service: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().retry() + .withBackOff(Duration.ofMillis(100), Duration.ofSeconds(5)) + .atMost(5); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future fetchWithBackoff(int retries, long delayMs) { + return doFetch() + .recover(err -> { + if (retries > 0) { + Promise promise = Promise.promise(); + long nextDelay = Math.min(delayMs * 2, 5000); + vertx.setTimer(delayMs, id -> + fetchWithBackoff(retries - 1, nextDelay) + .onComplete(promise)); + return promise.future(); + } + return Future.failedFuture(err); + }); +} + +Future result = fetchWithBackoff(5, 100); +---- + +-- + +==== + +This retries up to 5 times with an initial delay of 100ms that increases exponentially up to a maximum of 5 seconds between attempts. +With vanilla Vert.x, exponential backoff requires managing a `Promise`, a timer via `vertx.setTimer()`, and manual delay calculation — all of which Mutiny handles as a single operator chain. + +== Failure transformation + +You can transform a failure into a different exception type, which is useful for wrapping low-level errors into domain-specific ones: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni result = uni + .onFailure().transform(err -> new MyServiceException("Operation failed", err)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future result = future + .recover(err -> Future.failedFuture( + new MyServiceException("Operation failed", err))); +---- + +-- + +==== + +== Vert.x expectations with Mutiny + +Vert.x provides an `Expectation` interface that works as a predicate on resolved `Future` values. +Pre-defined expectations such as `HttpResponseExpectation.status(200)` are convenient for validating HTTP responses. + +Since the Mutiny bindings convert `Future`-returning methods into `Uni`-returning methods, you cannot use expectations directly. +Instead, the `io.smallrye.mutiny.vertx.core.Expectations` helper class adapts them for use with `Uni.plug()`. + +=== Simple expectation + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +import static io.smallrye.mutiny.vertx.core.Expectations.expectation; + +Expectation tenToTwenty = (value -> value >= 10 && value <= 20); + +Uni.createFrom().item(15) + .plug(expectation(tenToTwenty)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Expectation tenToTwenty = (value -> value >= 10 && value <= 20); + +Future.succeededFuture(15) + .expecting(tenToTwenty); +---- + +-- + +==== + +If the value does not satisfy the expectation, the `Uni` fails (or the `Future` fails in vanilla Vert.x). +For example, passing `42` instead of `15` would produce a failure with the message: `Unexpected result: 42`. + +=== HTTP response expectations + +Vert.x ships pre-defined expectations for HTTP responses, such as `status()` and `contentType()`. +These expectations are typed against core Vert.x types (e.g., `io.vertx.core.http.HttpResponseHead`), not against the Mutiny shim types (e.g., `io.vertx.mutiny.core.http.HttpResponseHead`). + +To bridge this gap, the `expectation` helper accepts an extractor function as its first argument. +Passing `HttpClientResponse::getDelegate` unwraps the Mutiny shim so the expectation receives the underlying Vert.x type: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +import static io.smallrye.mutiny.vertx.core.Expectations.expectation; +import static io.vertx.core.http.HttpResponseExpectation.contentType; +import static io.vertx.core.http.HttpResponseExpectation.status; + +vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .onItem().transformToUni(HttpClientRequest::send) + .plug(expectation(HttpClientResponse::getDelegate, status(200).and(contentType("text/plain")))) + .onItem().transformToUni(HttpClientResponse::body) + .await().atMost(Duration.ofSeconds(5)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +import static io.vertx.core.http.HttpResponseExpectation.contentType; +import static io.vertx.core.http.HttpResponseExpectation.status; + +vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .compose(HttpClientRequest::send) + .expecting(status(200).and(contentType("text/plain"))) + .compose(HttpClientResponse::body) + .toCompletionStage().toCompletableFuture() + .get(5, TimeUnit.SECONDS); +---- + +-- + +==== + +In this example: + +* `HttpClientResponse::getDelegate` extracts the core Vert.x response from the Mutiny shim. With vanilla Vert.x, no unwrapping is needed since you work directly with the core types. +* `status(200).and(contentType("text/plain"))` combines two expectations: the response must have status 200 and content type `text/plain`. +* If either expectation fails, the `Uni` pipeline (or the `Future` chain) fails with a descriptive error. + +You can combine any number of expectations using `.and()`. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/getting-started.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/getting-started.adoc new file mode 100644 index 000000000..178be01e5 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/getting-started.adoc @@ -0,0 +1,218 @@ += Getting Started +include::_attributes.adoc[] + +This guide walks you through adding SmallRye Mutiny Vert.x Bindings to your project and writing a first reactive application. + +== Prerequisites + +* *Java 17* or later +* *Maven 3.9* or later + +== Adding the BOM + +The simplest way to manage dependency versions is to import the BOM (Bill of Materials) in your `pom.xml`: + +[source,xml] +---- + + + + io.smallrye.reactive + vertx-mutiny-clients-bom + ${mutiny-vertx.version} + pom + import + + + +---- + +Replace `$++{++mutiny-vertx.version}` with the version you want to use, or define it as a Maven property. + +== Adding module dependencies + +With the BOM imported you can add individual modules without specifying a version. +At a minimum you need the core module: + +[source,xml] +---- + + io.smallrye.reactive + smallrye-mutiny-vertx-core + +---- + +If you also want to use the reactive HTTP client (WebClient), add: + +[source,xml] +---- + + io.smallrye.reactive + smallrye-mutiny-vertx-web-client + +---- + +== A complete example + +The following program starts an HTTP server that replies with a greeting and then uses WebClient to call it: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +import io.vertx.mutiny.core.Vertx; +import io.vertx.mutiny.core.http.HttpServer; +import io.vertx.mutiny.ext.web.client.WebClient; +import io.vertx.ext.web.client.WebClientOptions; +import io.vertx.mutiny.ext.web.client.HttpResponse; +import io.vertx.mutiny.ext.web.codec.BodyCodec; + +public class GettingStarted { + + public static void main(String[] args) { + Vertx vertx = Vertx.vertx(); + + HttpServer server = vertx.createHttpServer() + .requestHandler(req -> req.response() + .setStatusCode(200) + .putHeader("content-type", "text/plain") + .endAndForget("Hello from Mutiny!")) + .listenAndAwait(8080); + + System.out.println("Server listening on port " + server.actualPort()); + + WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(8080) + .setDefaultHost("localhost")); + + HttpResponse response = client.get("/") + .as(BodyCodec.string()) + .sendAndAwait(); + + System.out.println("Response: " + response.body()); + + vertx.closeAndAwait(); + } +} +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +import io.vertx.core.Vertx; +import io.vertx.ext.web.client.WebClient; +import io.vertx.ext.web.client.WebClientOptions; +import io.vertx.ext.web.codec.BodyCodec; + +public class GettingStarted { + + public static void main(String[] args) { + Vertx vertx = Vertx.vertx(); + + vertx.createHttpServer() + .requestHandler(req -> req.response() + .setStatusCode(200) + .putHeader("content-type", "text/plain") + .end("Hello from Vert.x!")) + .listen(8080) + .compose(server -> { + System.out.println("Server listening on port " + server.actualPort()); + + WebClient client = WebClient.create(vertx, new WebClientOptions() + .setDefaultPort(8080) + .setDefaultHost("localhost")); + + return client.get("/") + .as(BodyCodec.string()) + .send(); + }) + .onSuccess(response -> + System.out.println("Response: " + response.body())) + .onComplete(v -> vertx.close()); + } +} +---- + +-- + +==== + +=== What is happening here + +[arabic] +. `Vertx.vertx()` creates a Mutiny-based Vert.x instance. +. `listenAndAwait(8080)` starts the server and blocks the calling thread until the server is ready. Under the hood it subscribes to the `Uni++<++HttpServer++>++` returned by `listen()` and awaits its result. +. `sendAndAwait()` sends the HTTP request and blocks until the response arrives: again a convenience wrapper around a `Uni`. +. `closeAndAwait()` shuts down the Vert.x instance. + +=== Using explicit reactive operators + +The `++*++AndAwait()` helpers are convenient for scripts and tests, but in production code you will typically compose operations with Mutiny operators. +Here is the same WebClient call expressed reactively: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +client.get("/") + .as(BodyCodec.string()) + .send() + .onItem().transform(HttpResponse::body) + .subscribe().with( + body -> System.out.println("Response: " + body), + failure -> System.err.println("Request failed: " + failure.getMessage()) + ); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +client.get("/") + .as(BodyCodec.string()) + .send() + .map(HttpResponse::body) + .onSuccess(body -> System.out.println("Response: " + body)) + .onFailure(err -> System.err.println("Request failed: " + err.getMessage())); +---- + +-- + +==== + +Note the use of `onItem().transform()` rather than shorthand aliases: this project favours explicit operator names so that the pipeline reads clearly. + +[TIP] +.Use `io.vertx.mutiny.*` imports +==== + +Always import classes from the `io.vertx.mutiny.++*++` packages, *not* from `io.vertx.core.++*++`. +The Mutiny classes are generated shims that wrap the Vert.x core classes and expose `Uni` / `Multi` return types instead of `Future`. + +==== + +== Next steps + +* xref:uni-and-multi.adoc[Uni and Multi]: learn how `Future` and `ReadStream` map to Mutiny types. +* xref:type-mapping.adoc[Type Mapping]: understand how Vert.x types are converted in the generated bindings. +* xref:error-handling.adoc[Error Handling]: handle failures and use Vert.x expectations with Mutiny. +* xref:available-modules.adoc[Available Modules]: see the full list of generated client modules. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/images/diagrams/mermaid-ccfeac935876.dark.svg b/content/docs/smallrye-mutiny-vertx-bindings/main/images/diagrams/mermaid-ccfeac935876.dark.svg new file mode 100644 index 000000000..e03fe9129 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/images/diagrams/mermaid-ccfeac935876.dark.svg @@ -0,0 +1 @@ +I/O operationUniSubscriberI/O operationUniSubscriberalt[success][failure]subscribe()start operationresultonItem(result)erroronFailure(error) \ No newline at end of file diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/images/diagrams/mermaid-ccfeac935876.svg b/content/docs/smallrye-mutiny-vertx-bindings/main/images/diagrams/mermaid-ccfeac935876.svg new file mode 100644 index 000000000..62bc07f57 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/images/diagrams/mermaid-ccfeac935876.svg @@ -0,0 +1 @@ +I/O operationUniSubscriberI/O operationUniSubscriberalt[success][failure]subscribe()start operationresultonItem(result)erroronFailure(error) \ No newline at end of file diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/index.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/index.adoc new file mode 100644 index 000000000..b989797ed --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/index.adoc @@ -0,0 +1,100 @@ += Overview +include::_attributes.adoc[] + +SmallRye Mutiny Vert.x Bindings provides Vert.x client APIs using the https://smallrye.io/smallrye-mutiny/[Mutiny] reactive programming model. +Instead of working with Vert.x `Future` and callback-based APIs, you use `Uni` (for single results) and `Multi` (for streams of items) with a rich, explicit set of operators. +The bindings are generated automatically from the Vert.x source code, so they stay in sync with every Vert.x release. + +== Why Mutiny? + +* *Lazy evaluation*: a `Uni` does nothing until you subscribe, giving you full control over when side effects happen. +* *Explicit operator vocabulary*: methods like `onItem().transform()` and `onFailure().retry()` make the intent of each pipeline stage obvious. +* *Back-pressured streams*: `Multi` implements Reactive Streams, so producers cannot overwhelm consumers. +* *Blocking helpers for tests and virtual threads*: call `andAwait()` to block until a result is available, which is useful in unit tests and when running on virtual threads. + +== Quick Example + +The following example fetches JSON data from an HTTP endpoint. Compare the Mutiny bindings with the equivalent vanilla Vert.x code: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Uni fetchData(WebClient client) { + return client.get("/api/data") + .as(BodyCodec.jsonObject()) + .send() + .onItem().transform(HttpResponse::body) + .onFailure().retry().atMost(3) + .onFailure().invoke(err -> logger.error("Request failed", err)); +} +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Future fetchData(WebClient client, int retries) { + return client.get("/api/data") + .as(BodyCodec.jsonObject()) + .send() + .map(HttpResponse::body) + .recover(err -> { + logger.error("Request failed", err); + if (retries > 0) { + return fetchData(client, retries - 1); + } + return Future.failedFuture(err); + }); +} +---- + +-- + +==== + +With the Mutiny bindings, every step in the pipeline is visible: + +[arabic] +. `send()` returns a `Uni++<++HttpResponse++<++JsonObject++>>++`: nothing happens yet. +. `onItem().transform()` maps the response to its JSON body when the item arrives. +. `onFailure().retry().atMost(3)` retries the entire operation up to 3 times on failure. +. `onFailure().invoke()` logs errors that persist after retries, without swallowing them. + +Notice that retry logic requires no extra code with Mutiny — it is a built-in operator. With vanilla Vert.x, you need to manage a retry counter and use recursive `recover()` calls, as shown in the second tab. + +You can also block for the result when that is appropriate (tests, virtual threads): + +[source,java] +---- +JsonObject body = fetchData(client).await().indefinitely(); +---- + +[TIP] +.Explicit operators +==== + +Mutiny favours explicit names over short aliases. +Prefer `onItem().transform()` over `map`, `onItem().transformToUni()` over `flatMap`, and `onItem().invoke()` over a bare `invoke`. +The longer forms make pipelines easier to read and review. + +==== + +== Next Steps + +* xref:getting-started.adoc[Getting Started]: add the dependency and write your first Mutiny Vert.x program. +* xref:uni-and-multi.adoc[Uni and Multi]: learn the two core reactive types in depth. +* xref:type-mapping.adoc[Type Mapping]: understand how Vert.x types are converted to Mutiny types. +* xref:error-handling.adoc[Error Handling]: strategies for handling failures in reactive pipelines. +* xref:available-modules.adoc[Available Modules]: the full list of generated client modules. +* xref:migration-guide-3x-4x.adoc[Upgrading from version 3 to 4]: migrate to the new Mutiny bindings generator. +* xref:using-the-generator.adoc[Using the binding generator for your own APIs]: learn to use the generator for your own APIs. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/migration-guide-3x-4x.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/migration-guide-3x-4x.adoc new file mode 100644 index 000000000..67bbe0eef --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/migration-guide-3x-4x.adoc @@ -0,0 +1,110 @@ += Upgrading from version 3 to 4 +include::_attributes.adoc[] + +== Overview + +With the release of Vert.x 5, important API changes were made, sometimes breaking the compability with Vert.x 4.x projects. It was an opportunity to release a new version of the generator. This guide will walk through the changes between the Mutiny Vert.x bindings for Vert.x 4 and Vert.x 5. + +== A new Mutiny bindings generator + +In its 3.x version, the Vert.x-mutiny bindings generator was an annotation processor. It was executed on a given module by using the `maven-processor-plugin`. +As an annotation processor, it can only be run during maven compilation. Generating bindings thus requires compiling or recompiling the sources. +The new approach still uses annotations to detect which classes and interfaces must be generated, but annotation processing is now part of a full CLI possessing its own `Main` class and its own lifecycle independent from that of the sources. +This makes it easier to test and faster to run. + +== API changes + +Numerous API changes are due to the transition to Vert.x 5. +The Vert.x 4 to 5 migration guide is available at https://vertx.io/docs/guides/vertx-5-migration-guide/. + +We provide here a brief summary of the breaking changes, the exhaustive list can be found link:compatibility-report-3-to-4.html[in a compatibility report detailing every API change]. + +=== Generics are better specified + +In version 3 of the bindings generator, several generics were left unspecified. We changed this behavior so that every generics used is either correctly specified or uses a wildcard. +See the link:compatibility-report-3-to-4.html[full compatibility report] for more information. + +=== No more Callbacks + +Complete removal of callback methods such as: +`java void request(RequestOptions request, Handler++<++AsyncResult++<++HttpClientRequest++>>++ callback);` + +They have all been replaced with a Future such as: + +[source,java] +---- +Future request(RequestOptions request); +---- + +Consequently, the bindings generator only supports the `Future` style and will generate the following: + +[source,java] +---- +Uni request(RequestOptions request); +---- + +=== Deprecated modules are no more + +[width="100%",cols="22%,78%",options="header",] +|=== +|Sunsetting in 4.x |Replacement in 5.x +|Vert.x Sync |Vert.x virtual threads +|Service Factories |None +|Maven Service Factory |None +|HTTP Service Factory |None +|Vert.x Web OpenAPI |https://vertx.io/docs/vertx-web-openapi-router/java/[Vert.x Web OpenAPI Router] +|Vert.x CLI |None +|=== + +=== Changes with regards to `@DataObject` and `@VertxGen` + +Numerous classes are now annotated `@DataObject` instead of `@VertxGen`. `@DataObject` annotation existed in Vert.x 4.x and was used mainly for `++*++Options.java` classes. No wrappers are thus required, the core Vert.x interface is used directly. They will break existing projects as imports are now invalid. + +Below are some classes that are not converted to Mutiny shims anymore: + +* `io.vertx.core.buffer.Buffer` +* `io.vertx.core.net.Address` +* `io.vertx.core.net.SocketAddress` +* `io.vertx.core.parsetools.JsonEvent` +* `io.vertx.core.MultiMap` +* `io.vertx.core.datagram.DatagramPacket` + +=== SQL clients have been reworked + +In Vert.x 4, `Pool` subtypes were used for every kind of databases: `PgPool, MySQLPool, MSSQLPool`, etc. They have all been removed and replaced with client builder subtypes: + +[source,java] +---- +// 4.x +PgPool client = PgPool.pool(vertx, connectOptions, poolOptions); + +//5.0 +Pool client = PgBuilder.pool() + .with(poolOptions) + .connectingTo(connectOptions) + .using(vertx) + .build(); +---- + +For more information, see https://vertx.io/docs/guides/vertx-5-migration-guide/#_vert_x_sql_client[Vert.x 5 migration guide]. + +== Dropped or replaced modules + +[cols=",",options="header",] +|=== +|Module |Replacement +|service-discovery-++*++ |_dropped_ +|web-openapi |(openapi, web-openapi-router) +|web-auth-shiro |_dropped_ +|web-auth-webauthn |web-auth-webauthn4j +|auth-jdbc |_dropped_ +|jdbc-client |_dropped_ +|web-api-contract |_dropped_ +|web-templ-jade |_dropped_ +|stomp |_dropped_ +|shell |_dropped_ +|=== + +== Using the generator with your own asynchronous APIs + +xref:using-the-generator.adoc[Learn how to use the bindings generator with your own asynchronous APIs]. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/type-mapping.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/type-mapping.adoc new file mode 100644 index 000000000..08fc123d1 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/type-mapping.adoc @@ -0,0 +1,100 @@ += Type Mapping +include::_attributes.adoc[] + +This page documents how Vert.x types are converted into Mutiny types by the code generator. +Understanding these mappings is essential for working with the generated bindings. + +== Overview + +The code generator parses Vert.x source code and produces Mutiny shim classes that wrap the original Vert.x APIs. +The core idea is to replace callback- and `Future`-based patterns with `Uni` and `Multi` from Mutiny. +Types that are already plain data (`JsonObject`, primitives, enums, data objects) pass through unchanged. + +== Type mapping table + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Vert.x Type |Mutiny Type |Notes +|`Future++<++T++>++` |`Uni++<++T++>++` |Primary async conversion +|`ReadStream++<++T++>++` |`Multi++<++T++>++` |Via `toMulti()` on the shim +|`WriteStream++<++T++>++` |`Flow.Subscriber++<++T++>++` |Via `toSubscriber()` on the shim +|`Handler++<++AsyncResult++<++T++>>++` |_(removed)_ |Replaced by subscription model +|`Handler++<++T++>++` |`Consumer++<++T++>++` |Standard functional interface +|`Handler++<++Void++>++` |`Runnable` |No argument needed +|`Handler++<++Promise++<++T++>>++` |`Uni++<++T++>++` |Promise-based handlers become Unis +|`Consumer++<++Promise++<++T++>>++` |`Uni++<++T++>++` |Same treatment as Handler of Promise +|`@VertxGen` types |Shim in `io.vertx.mutiny.++*++` |Each interface gets a wrapper class +|`JsonObject`, `JsonArray` |Pass-through |Used as-is, no conversion +|Primitives, boxed types |Pass-through |`int`, `Integer`, `boolean`, etc. +|Data objects |Pass-through |Vert.x data objects are used directly +|Enums |Pass-through |Enum types are used directly +|`String` |Pass-through |Used as-is +|`Throwable` |Pass-through |Used as-is +|`List++<++T++>++`, `Set++<++T++>++` |Same collection, elements converted |If `T` is a `@VertxGen` type, each element is wrapped +|`Map++<++K, V++>++` |Same map, values converted |If `V` is a `@VertxGen` type, each value is wrapped +|=== + +== Shim classes + +Every Vert.x interface annotated with `@VertxGen` gets a corresponding *shim class* generated in the `io.vertx.mutiny.++*++` package. +The shim wraps the original Vert.x object (called the *delegate*) and exposes converted method signatures. + +Key properties of shim classes: + +* They implement `MutinyDelegate`, which provides the `getDelegate()` method. +* They live in `io.vertx.mutiny.++*++`, mirroring the original package structure (e.g. `io.vertx.core.eventbus.EventBus` becomes `io.vertx.mutiny.core.eventbus.EventBus`). +* They have a `newInstance()` static factory method used internally for wrapping delegates. +* Type parameters on the original interface are preserved in the shim. + +[source,java] +---- +// Original Vert.x interface +io.vertx.core.eventbus.EventBus + +// Generated Mutiny shim +io.vertx.mutiny.core.eventbus.EventBus + +// Accessing the underlying delegate +io.vertx.core.eventbus.EventBus delegate = mutinyEventBus.getDelegate(); +---- + +== Generated method variants + +For every Vert.x method that returns a `Future++<++T++>++`, the generator produces three method variants: the `Uni`-returning reactive method, a blocking `AndAwait` method, and a fire-and-forget `AndForget` method. + +See xref:uni-and-multi.adoc#the-three-method-variants[Uni and Multi — The three method variants] for the full table, return types, and guidance on when to use each variant. + +== ReadStream conversion + +When a `@VertxGen` interface extends `ReadStream++<++T++>++`, the generated shim gains three additional methods: + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Method |Return type |Description +|`toMulti()` |`Multi++<++T++>++` |Converts the read stream into a Mutiny `Multi` +|`toBlockingIterable()` |`Iterable++<++T++>++` |Returns a blocking iterable backed by the `Multi` +|`toBlockingStream()` |`Stream++<++T++>++` |Returns a blocking Java `Stream` backed by the `Multi` +|=== + +The `toMulti()` method is lazy and cached: calling it multiple times returns the same `Multi` instance. +If `T` is itself a `@VertxGen` type, each emitted item is automatically wrapped in its shim class. + +== WriteStream conversion + +When a `@VertxGen` interface extends `WriteStream++<++T++>++`, the generated shim gains a `toSubscriber()` method: + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Method |Return type |Description +|`toSubscriber()` |`Flow.Subscriber++<++T++>++` |Converts the write stream into a reactive `Flow.Subscriber` +|=== + +This lets you pipe a `Multi` into a Vert.x `WriteStream` using standard reactive streams back-pressure. + +== Collections of @VertxGen types + +When a method returns `Future++<++List++<++X++>>++`, `Future++<++Set++<++X++>>++`, or `Future++<++Map++<++K, V++>>++` where `X` or `V` is a `@VertxGen` type, the generator automatically wraps each element in its shim class. + +For example, a method returning `Future++<++List++<++io.vertx.core.eventbus.Message++<++T++>>>++` becomes `Uni++<++List++<++io.vertx.mutiny.core.eventbus.Message++<++T++>>>++`, and each `Message` in the list is wrapped in the Mutiny shim. + +The same applies to `Set` (using `Collectors.toSet()`) and `Map` values (using `Collectors.toMap()`). diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/uni-and-multi.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/uni-and-multi.adoc new file mode 100644 index 000000000..56ea6f159 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/uni-and-multi.adoc @@ -0,0 +1,349 @@ += Uni and Multi +include::_attributes.adoc[] + +The Mutiny Vert.x bindings replace Vert.x's `Future` and `ReadStream` types with Mutiny's two reactive types: `Uni` and `Multi`. +Understanding these types is essential to working with the bindings. + +== What is Uni? + +`Uni++<++T++>++` represents a *single asynchronous result*: it either emits one item of type `T` or a failure. +It is the Mutiny equivalent of Vert.x's `Future++<++T++>++`. + +A `Uni` is *lazy*: nothing happens until you subscribe. +Creating a `Uni` merely declares an asynchronous pipeline; the underlying I/O or computation only starts when a subscriber asks for it. + +[.has-dark] +image::images/diagrams/mermaid-ccfeac935876.svg[mermaid diagram] + +== What is Multi? + +`Multi++<++T++>++` represents an *asynchronous stream* of items: it can emit zero, one, or many items of type `T`, optionally followed by a completion or failure signal. +It is the Mutiny equivalent of Vert.x's `ReadStream++<++T++>++`. + +`Multi` supports *back-pressure*: a subscriber controls how many items it is ready to receive, preventing the producer from overwhelming it. + +== The three method variants + +For every Vert.x method that returns a `Future++<++T++>++`, the code generator produces three variants: + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Variant |Signature |Behavior +|Reactive |`Uni++<++T++>++ method()` |Lazy. Returns a `Uni` that starts the operation on subscription. +|Blocking |`T methodAndAwait()` |Subscribes and blocks the calling thread until the result arrives. +|Fire-and-forget |`EnclosingType methodAndForget()` |Subscribes immediately, discards the result, and returns `this` for fluent chaining. +|=== + +For example, given a Vert.x method `Future++<++HttpServer++>++ listen(int port)` on the `HttpServer` class, the generator produces: + +[source,java] +---- +Uni listen(int port); // reactive +HttpServer listenAndAwait(int port); // blocking helper +HttpServer listenAndForget(int port); // fire-and-forget (returns this) +---- + +Use `methodAndAwait()` in tests and setup code where blocking is acceptable. +Use `methodAndForget()` for one-way operations where you do not need the result. +Prefer `Uni`-returning methods in production reactive pipelines. + +== Side-by-side comparison: event bus + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); + +bus.consumer("address", message -> message.reply("world")) + .completionAndAwait(); + +bus.request("address", "hello") + .onItem().invoke(reply -> System.out.println(reply.body())) + .onFailure().invoke(Throwable::printStackTrace) + .await().atMost(Duration.ofSeconds(10)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); + +bus.consumer("address", message -> message.reply("world")); + +bus.request("address", "hello") + .onSuccess(reply -> System.out.println(reply.body())) + .onFailure(err -> err.printStackTrace()); +---- + +-- + +==== + +With the Mutiny bindings, `request` returns a `Uni++<++Message++<++Object++>>++`. +You compose over it with explicit operators, then subscribe: either by calling `.await()` or `.subscribe().with(...)`. + +== Multi from an event bus consumer + +A `MessageConsumer` can be turned into a `Multi` of messages. +Each message published or sent to the address becomes an item in the stream: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); + +bus.consumer("address").toMulti() + .onItem().transform(Message::body) + .subscribe().with(body -> System.out.println("Received: " + body)); + +bus.send("address", 1); +bus.send("address", 2); +bus.send("address", 3); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +EventBus bus = vertx.eventBus(); + +bus.consumer("address") + .handler(message -> System.out.println("Received: " + message.body())); + +bus.send("address", 1); +bus.send("address", 2); +bus.send("address", 3); +---- + +-- + +==== + +The `toMulti()` method bridges the Vert.x `ReadStream` into a Mutiny `Multi`. + +== Chaining Uni operations + +Mutiny encourages explicit operator names that describe what each step does. +Here is an HTTP client pipeline that chains several asynchronous steps: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +Buffer payload = vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .onItem().transformToUni(HttpClientRequest::send) + .onItem().transformToUni(HttpClientResponse::body) + .await().atMost(Duration.ofSeconds(5)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +Buffer payload = vertx.createHttpClient() + .request(HttpMethod.GET, port, "localhost", "/") + .compose(HttpClientRequest::send) + .compose(HttpClientResponse::body) + .toCompletionStage().toCompletableFuture() + .get(5, TimeUnit.SECONDS); +---- + +-- + +==== + +Each operator has a clear role: + +* `.onItem().transformToUni(HttpClientRequest::send)`: when the request object arrives, send it and return the response as a new `Uni`. +* `.onItem().transformToUni(HttpClientResponse::body)`: read the response body as another asynchronous step. +* `.await().atMost(Duration.ofSeconds(5))`: block and wait for the final result with a timeout. + +The key operators for chaining are: + +[width="100%",cols="50%,50%",options="header",] +|=== +|Operator |Purpose +|`.onItem().transform(fn)` |Synchronously transform the item (like `map`). +|`.onItem().transformToUni(fn)` |Asynchronously transform the item into another `Uni` (like `flatMap`). +|`.onItem().invoke(fn)` |Perform a side effect without changing the item. +|`.onItem().call(fn)` |Perform an asynchronous side effect (returns a `Uni++<++Void++>++`), then continue with the original item. +|`.onFailure().invoke(fn)` |Perform a side effect when a failure occurs. +|`.onFailure().recoverWithItem(fn)` |Replace a failure with a fallback item. +|=== + +== Subscription model + +A `Uni` does nothing until subscribed. +This is different from Vert.x's `Future`, which represents an already-started operation. + +This laziness gives you an important advantage: you can build up a pipeline, pass it around, and decide _when_ to trigger it. +Multiple subscriptions re-execute the pipeline each time, which is useful for retry logic and repeated operations. + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +// Build the pipeline once — nothing happens yet +Uni> pipeline = bus.request("address", "hello"); + +// Subscribe later, possibly multiple times +pipeline.subscribe().with( + reply -> System.out.println(reply.body()), + failure -> failure.printStackTrace() +); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +// The operation starts immediately — the Future is already in progress +Future> future = bus.request("address", "hello"); + +// Attach callbacks after the fact +future + .onSuccess(reply -> System.out.println(reply.body())) + .onFailure(Throwable::printStackTrace); +---- + +-- + +==== + +== ReadStream to Multi: WebSocket example + +Any Vert.x `ReadStream` is exposed as a `Multi` through the `toMulti()` method. +WebSocket is a practical example: incoming frames arrive as a stream of messages. + +*Server side*: handle each incoming WebSocket connection and read messages as a `Multi`: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +vertx.createHttpServer(new HttpServerOptions().setIdleTimeout(2)) + .webSocketHandler(ws -> { + ws.toMulti() + .subscribe().with(msg -> { + System.out.println("Server received: " + msg); + ws.writeTextMessageAndForget("pong"); + }); + }) + .listenAndAwait(0, "localhost"); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +vertx.createHttpServer(new HttpServerOptions().setIdleTimeout(2)) + .webSocketHandler(ws -> { + ws.handler(msg -> { + System.out.println("Server received: " + msg); + ws.writeTextMessage("pong"); + }); + }) + .listen(0, "localhost") + .onSuccess(server -> System.out.println("Listening on " + server.actualPort())); +---- + +-- + +==== + +*Client side*: connect, send a message, then read responses as a `Multi`: + +[.tabs] +==== + +Mutiny Bindings:: ++ +-- + +[source,java] +---- +WebSocketClient client = vertx.createWebSocketClient(); + +client.connect(port, "localhost", "/") + .onItem().call(ws -> ws.writeTextMessage("ping")) + .onItem().transformToMulti(WebSocket::toMulti) + .subscribe().with(msg -> System.out.println("Client received: " + msg)); +---- + +-- + +Vanilla Vert.x:: ++ +-- + +[source,java] +---- +WebSocketClient client = vertx.createWebSocketClient(); + +client.connect(port, "localhost", "/") + .onSuccess(ws -> { + ws.handler(msg -> System.out.println("Client received: " + msg)); + ws.writeTextMessage("ping"); + }); +---- + +-- + +==== + +The client pipeline demonstrates a common pattern: + +[arabic] +. `connect(...)` returns a `Uni++<++WebSocket++>++`. +. `.onItem().call(...)` sends a message as an asynchronous side effect, then continues with the same `WebSocket`. +. `.onItem().transformToMulti(...)` switches from a single `Uni++<++WebSocket++>++` to a `Multi` of incoming messages. +. `.subscribe().with(...)` starts the whole pipeline. diff --git a/content/docs/smallrye-mutiny-vertx-bindings/main/using-the-generator.adoc b/content/docs/smallrye-mutiny-vertx-bindings/main/using-the-generator.adoc new file mode 100644 index 000000000..0538ffe59 --- /dev/null +++ b/content/docs/smallrye-mutiny-vertx-bindings/main/using-the-generator.adoc @@ -0,0 +1,202 @@ += Using the Generator +include::_attributes.adoc[] + +The Mutiny code generator takes Vert.x source files and produces Mutiny shim classes that wrap the original Vert.x APIs with `Uni` and `Multi` return types. You point it at a directory of Vert.x sources, and it outputs ready-to-compile Java files in the `io.vertx.mutiny.++*++` package. + +== CLI Options + +[width="100%",cols="34%,33%,33%",options="header",] +|=== +|Option |Required |Description +|`--source ++<++path++>++` |Yes |Vert.x Java source directory +|`--output ++<++path++>++` |No |Output directory (dry run if omitted) +|`--additional-source ++<++path++>++` |No, repeatable |Additional sources for symbol resolution +|`--module-name ++<++name++>++` |No |Module name for the generated bindings +|=== + +== CLI Usage + +[source,bash] +---- +java -cp generator.jar io.smallrye.mutiny.vertx.apigenerator.Main \ + --source=path/to/vertx-sources \ + --output=path/to/output \ + --module-name=vertx-web-client +---- + +If `--output` is omitted the generator performs a dry run, parsing and resolving types without writing any files. + +== Maven Integration + +Most users run the generator as part of a Maven build. The pattern uses three plugins executed during the `generate-sources` phase. + +=== 1. Unpack Vert.x Sources + +The `maven-dependency-plugin` extracts Vert.x source JARs into `target/sources/java` so the generator can parse them. + +[source,xml] +---- + + maven-dependency-plugin + + io.vertx + vertx-web-client + sources + jar + + + + unpack-java + generate-sources + unpack-dependencies + + io/vertx/**/*.java + **/impl/**/*.java + ${project.build.directory}/sources/java + + + + + unpack-vertx-core + generate-sources + unpack-dependencies + + io/vertx/**/*.java + **/impl/**/*.java + vertx-core,vertx-auth-common + ${project.basedir}/target/additional-sources/vertx-core + + + + +---- + +[TIP] +.Additional sources +==== + +You might need to generate Mutiny bindings for modules `moduleA` and `moduleB`, where `moduleB` uses classes or interfaces from `moduleA`. +In this instance, you should add `moduleA` as additional sources to ensure that you are using the generated mutiny API for `moduleA` in `moduleB`, and not the original one. +This is easily achievable by setting the `maven-dependency-plugin` for `moduleB` like below. + +[source,xml] +---- + + maven-dependency-plugin + + org.acme + moduleB + sources + jar + + + + unpack-java + generate-sources + unpack-dependencies + + io/vertx/**/*.java + **/impl/**/*.java + ${project.build.directory}/sources/java + + + + + unpack-vertx-core + generate-sources + unpack-dependencies + + io/vertx/**/*.java + **/impl/**/*.java + vertx-core,moduleA + ${project.basedir}/target/additional-sources/vertx-core + + + + +---- + +==== + +=== 2. Run the Generator + +The `exec-maven-plugin` invokes the generator with the unpacked sources as input. + +[source,xml] +---- + + org.codehaus.mojo + exec-maven-plugin + + + generate + generate-sources + java + + io.smallrye.mutiny.vertx.apigenerator.Main + + --module-name=vertx-web-client + --source=${project.basedir}/target/sources + --output=${project.basedir}/target/generated-sources/codegen + --additional-source=${project.basedir}/target/additional-sources/vertx-core + + true + + + + + + io.smallrye.reactive + vertx-mutiny-code-generator + ${project.version} + + + +---- + +=== 3. Add Generated Sources to the Build + +The `build-helper-maven-plugin` adds the generated output directory as a source root so Maven compiles it alongside handwritten code. + +[source,xml] +---- + + org.codehaus.mojo + build-helper-maven-plugin + + + add-source + generate-sources + add-source + + + target/generated-sources/codegen + + + + + +---- + +== Cross-Module Type Resolution + +When a Vert.x module references types defined in another module (for example, `vertx-web-client` uses types from `vertx-core`), the generator needs access to those additional sources to resolve types correctly. Use `--additional-source` to provide them. This flag is repeatable: pass it once for each extra source tree: + +[source,bash] +---- +java -cp generator.jar io.smallrye.mutiny.vertx.apigenerator.Main \ + --source=target/sources \ + --output=target/generated-sources/codegen \ + --additional-source=target/additional-sources/vertx-core \ + --additional-source=target/additional-sources/vertx-auth-common +---- + +In the Maven setup, this corresponds to unpacking the additional module sources into separate directories (as shown in the optional execution above) and passing them via `++<++arg++>++` elements. + +== When You Need the Generator + +Most application developers consume the pre-built Mutiny bindings as Maven dependencies and never run the generator directly. You need it if you are: + +* *A project maintainer* rebuilding the bindings after a Vert.x upgrade. +* *A custom `@VertxGen` API author* who wants Mutiny bindings for your own Vert.x-style interfaces. +* *A Vert.x extension author* producing a new client module that follows the Vert.x codegen conventions. diff --git a/content/docs/smallrye-mutiny-zero/0/_attributes.adoc b/content/docs/smallrye-mutiny-zero/0/_attributes.adoc new file mode 100644 index 000000000..45cae6f9f --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 0.5.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: Mutiny Zero +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 0.5.0 +:relfileprefix: /docs/smallrye-mutiny-zero/0/ +:imagesdir: /docs/smallrye-mutiny-zero/0 +:docs-project: smallrye-mutiny-zero +:docs-version: 0 +:docs-ref: 0.5.0 diff --git a/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java b/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java new file mode 100644 index 000000000..3d7ddf2f7 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java @@ -0,0 +1,67 @@ +package docsamples; + +import java.nio.charset.StandardCharsets; +import java.util.concurrent.Executors; +import java.util.concurrent.Flow; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +import io.vertx.core.Vertx; +import io.vertx.core.buffer.Buffer; +import io.vertx.core.http.HttpClient; +import io.vertx.core.http.HttpClientRequest; +import io.vertx.core.http.HttpMethod; +import io.vertx.core.http.RequestOptions; +import mutiny.zero.vertxpublishers.VertxPublisher; + +public class UrbanObservatoryHttpClient { + + public static void main(String[] args) { + + Vertx vertx = Vertx.vertx(); + ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); + + RequestOptions opts = new RequestOptions() + .setSsl(true) + .setHost("api.usb.urbanobservatory.ac.uk") + .setPort(443) + .setMethod(HttpMethod.GET) + .addHeader("Accept", "application/json") + .setURI("/api/v2.0a/sensors/entity"); + + HttpClient httpClient = vertx.createHttpClient(); + + Flow.Publisher publisher = VertxPublisher.fromFuture(() -> httpClient + .request(opts) + .compose(HttpClientRequest::send)); + + publisher.subscribe(new Flow.Subscriber<>() { + + private Flow.Subscription subscription; + + @Override + public void onSubscribe(Flow.Subscription s) { + System.out.println("======================================"); + this.subscription = s; + s.request(1L); + } + + @Override + public void onNext(Buffer buffer) { + System.out.print(buffer.toString(StandardCharsets.UTF_8)); + executor.schedule(() -> subscription.request(1L), 500, TimeUnit.MILLISECONDS); + } + + @Override + public void onError(Throwable t) { + System.out.println("======================================"); + t.printStackTrace(); + } + + @Override + public void onComplete() { + System.out.println("======================================"); + } + }); + } +} diff --git a/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java b/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java new file mode 100644 index 000000000..62b3cc273 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java @@ -0,0 +1,14 @@ +package docsamples; + +import static java.util.concurrent.CompletableFuture.supplyAsync; +import static mutiny.zero.ZeroPublisher.fromCompletionStage; + +import java.util.concurrent.Flow; + +public class FromCompletionStage { + + public static void main(String[] args) { + + Flow.Publisher pun = fromCompletionStage(() -> supplyAsync(() -> 58L)); + } +} diff --git a/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java b/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java new file mode 100644 index 000000000..0b14665f3 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java @@ -0,0 +1,22 @@ +package docsamples; + +import static mutiny.zero.ZeroPublisher.*; + +import java.io.IOException; +import java.util.Arrays; +import java.util.concurrent.Flow.Publisher; + +public class FromKnownValues { + + public static void main(String[] args) { + + // From values + Publisher pub1 = fromItems(1, 2, 3); + + // From an iterable + Publisher pub2 = fromIterable(Arrays.asList(1, 2, 3)); + + // From a failure + Publisher pub3 = fromFailure(new IOException("Broken pipe")); + } +} diff --git a/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java b/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java new file mode 100644 index 000000000..6a78a2cb8 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java @@ -0,0 +1,48 @@ +package docsamples; + +import static mutiny.zero.ZeroPublisher.create; + +import java.util.concurrent.Flow.Publisher; + +import mutiny.zero.BackpressureStrategy; +import mutiny.zero.TubeConfiguration; + +public class FromTube { + + public static void main(String[] args) { + + SampleAsyncSource source = new SampleAsyncSource(); + + TubeConfiguration configuration = new TubeConfiguration() + .withBackpressureStrategy(BackpressureStrategy.BUFFER) + .withBufferSize(256); + + Publisher pub = create(configuration, tube -> { + + // Start + source.start(); + + // Allow items to be received + tube.whenRequested(n -> source.resume()); + + // Termination cases + tube.whenCancelled(source::close); + tube.whenTerminates(() -> System.out.println("Done")); + + // Emit items, pause the source if need be + source.onItem(str -> { + tube.send(str); + if (tube.outstandingRequests() == 0L) { + source.pause(); + } + }); + + // Error + source.onError(tube::fail); + + // Completion + source.onEnd(tube::complete); + + }); + } +} diff --git a/content/docs/smallrye-mutiny-zero/0/_nav.yml b/content/docs/smallrye-mutiny-zero/0/_nav.yml new file mode 100644 index 000000000..4d513c700 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/_nav.yml @@ -0,0 +1,7 @@ +title: Mutiny Zero +nav: +- title: Overview + page: index +- page: quick-start +- page: flow-adapters +- page: vertx-based-reactive-streams-publishers diff --git a/content/docs/smallrye-mutiny-zero/0/assets/reactive-ecosystem.dark.png b/content/docs/smallrye-mutiny-zero/0/assets/reactive-ecosystem.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..53347f2474131d50ef8235a673cb4e9247dbfc03 GIT binary patch literal 60658 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 z D@k$DpcomQ^MxbsT+MdZf9Go$@Cfmo__z$fA;y?=|I@R_vvBozdT1yYFs*SofP zSW>eY5E;2vWGz^QwVSE5^~{STZTzELi*RtZ?Q4<`I1mW0@o&lT522Bu2BY$YvIV^t zeK}*I40`!Y;PyFPZ!zdXWDfN}-$)DqmzR zG!Gk}da(4GgX6uk2zh!=PKINw^{|lG)eq5_1itDXsrG`tXNi274dWM?JjkQ8n2fNp z^OM;IDfPL;#81ysgENVauZO)I>5wxJX?Ht9^5!dSiRk=<^fw{rhc3qsVw*#L_`q0V z%o6aAp`*2hHkxRwI-~qy;gi9EEhpZEO00=byxBTLwodd=@yqCFIjDidOW=hI!zqt8 zrt3{+$3REuUV`LN;pCM8T>W$O#shKtm`+vWWZ7@7&WJJ4@kjK_yuNs2g1eO89if52LPV5s;KKFm$gina9YZSh~dO7Z9NzRK$svnMc zjV;kl5Xc+@anPP_W0s5>q@X+eu*q7h)aA*)G64$YMIQS{=Vmc93UKwIOGG+Xk>TXt3CkK?&MIO38;{g6a zN){Fi(aJ>5OwU)%q3FNnX<@Z!?0w=*fiMaw&?h?ec8N?PPm#+XTYf89H|~LiPd?_g zRS>ra`P3H~>jK4vNCTFy|H=>N`4eN4vj|ZTBnLnHu}p(DiO1hf<$mK8X4vJuq*ghd zq}n2te6|ElQSK@L<{z;nh)md{05k(i5t7QpIdY1ZhFukuGwMl)W?93gDk_&f%CGcZBo=O ztC3nMtX-$!^-`cc0<@N3BNxbT%t*9EDx=}yl7)WA1R~+L7 z#DXf6=e(nnfi&bX6^SBjvz+oSi&3=12uwzYGQIB573S;zpkGnWU=Qw|=gb2%t*XFmxN=$Cp*RI&?bH=C&Cl zc1&-VqjmYQx1u_JXkM(3;(QJ#@NpM!?e_*y@a zat=VCO+i2jO&N!+s$E`q8-uX_ch~cJLk36q@%_VCpkmRTcKzr{N@0N2lGgiw{Gv|N zdTtku)HYWRz=_JqYn#C80(z0O;!6!5-8N{uUdVm-sRFm2o4*kSy>tL>rNXwveC%64 zl7#V!QeB4Nr#^%B!+K6WaUG`owHGB+dRFV1-g_|MEtB~R{<=nOUfOtr(0q72nHcutpa0qh z^5U{){Yk0)3$ZLRo}$YxZlXnJkEBbbaqG@%^R?}bB+~i%2=g8JwSY{()AGEhe|TuW z;1i2Xm}p=_k+F3X_Y>{Ig}0t0D&2&A_PMQ%fkbKG4`Cp{e>8z%Ptb={d932c}3U4AIBYN;^jMG^P)ln(7N%NoBI)fy$6q{((Yd{5a!wVrHw8MIH#fivQKY( z$N5y?u|u0tz*~DiChK~O>L+QJQh{Cm@zWI(9rN5)u=v=~Hd;g7uW`cs6YImc99}7> z4fReYr|y=YX1^C zvk}gb>Z=Un1)7g&xeMU;`4VXVyHIcXqhWr5U(Ou;=lGt$_+-tYzN_ndq%>Uc_iHV6?0pLLU6&%i4b#27|`rbz_CD`|0 z@Io%6Jt-6VlSJ=3;yNAzxL+SS0?eTPm!86F zrQNr^e*h3LcZGAJfv@Dp`mTjHH_IWgvJ~q z=|P+zKQM=1r^S}cskFBK%N!2rCGZ{kmA#>2?Me6l!`=WoIsnr;^~H2?~&H;U!|GM)kR$c07;!jc~CB=2sxu64oA$#Qrmr^qA z7ao#tbU`2fwI_X`r;%TJ@&UFv^oM`}MqmmA5#T+oUwMe#UXh^u%XrIBAT77{S7vDC zQtDayWeSLT7xa-|-+L+Tp7W2G1O^0ToG`$%RlkmRzceeL^q0=-@j&Olu5TS6!h!#+ z@2lSQS-44RRse7W#5AlncYacg|FmdqeStnWAdB*om!1WPF5fP?(kCsv_RHaalf)?< z(S8a4^TGFj$90e`CdCSGSd;x)ejfchcTc2_i2;bR(FFd9eNNBxrr#O%6`VC){RNMF zim7%*x4*Ro*8CTza^ma+q#QP~R(`=gL2jT;y-Va@>{DjW^iC?K?T0`F*5&k4&+TSW zTq@=g^5;YqEJZ6D(U*%-oDrm1+I|EDcr?aT&kw<=7z8y9o5XxHs?qD~Jx97@27O z3EW37sCI_up=J5ky|kZKXjr=<|N7s(zv8H@^l)ErEs0pm5UfQKIpuzP=6plVXIR4q zuL-ijx5(6cP0hO5F9g6H#l0nW3eocE!5q=AsR9f-MJswVdW_&j7YSV^scSjVD|WW` z_|WorDi{CyEkLjeo&v`BpNn%0!>$%dk>19_SpL@Oe5%qYxga5LI8;l%JY=$MQyDT< zyG7i^Sr;)FHlwJ#i&)|w_m)q`cLeaW>q~%{z1*|5a|TloG!#&F^HW-O8D4&*w?)nd zw>7ZHmKb=#C@juTW|Ffcwa1c(~rW|A`AH4bb zqWxRNM{m3trIv2IMsu`sVj(th<|Xh}`E*=|A3r|svfnh-7jAYd=M8Xg>>M883SRj& znkK#87mOkif$~J_U;?ci|3?T7%JSYKW4!5BncKw2x19|`_(zF{uk~#`LI+irGM??! zzo^n4?0#)}NwpN_T}eg%QR_EcK31mYJKD4JZkMd>M|zCwqzJ0zt`X>^2|cvNFL`As zW?;stuOj{^pl3;_$h15Qc*)ehWG=5kbm*Jp=-C^?ls`C?S!8TFpALQK9F31m3+C9h zloQODl1~eM8=GEDLRbg1uB(W2n!INFzT(XY?YXL1i-`WN?GN2)k!N;q&U8Bt3-N&m z)rWv@f!t~T0PFDpQy3JMwaDL$O@FhtNDGN9c7xJufQ1bi=6_wa#&1E6HF8Yd#$)~( z+0-Of)96IYq_?>Xy$e(*&?U>!rytil>Kt9okiZsk^U%YQjPZ5U(eba4-<&Eg4OL&4 z066HZ1#ibu-rcM>{`lN+$Wu2loUDq-F(8SY+ z0s#_frrf~m(nt7R6}=9z+)o>Sw*{X^Po}#3ZToQ}+s)qF^_)h1EI34Pn09HX#?KV# zF}+!gQ@Dwn-&0SyIZuRlnAi?maEzw{eVud#?^faeXvH5D24rEmwYb12&uMSTBIQkd z{19GpVf1xcXXk+m%XA%V4~?YlA1%ufk{L6+x@OP~G3-$FTb}TPCLTG1H6BmlKN9~22z2N9;=O*(yI#Gas{X7fQF_?C@Kz#9Dyo$(&#I6Oi8?fr#xlcn7T<$6@<>Wwj; zHlqB&Tn0!JXLWXbJEDTq4|u)2BfcZtuV8A73Fk5y#cf#avqa?=x)yOH| zkh$9nH;lZ_MMLS5M}z&7V8Ltsy$iC4yKrOg=U67pqGRI5i4sz#YXE3Cc~#<%j#Cb= zZwj(l|4;K_QZ)xk-ejuG8(bIM7UK)uadF3a8rBkQqN50Q`vov0NUD}3WCI$o$5XFP5>p%V*N6$ z8YlGhjX$FyYW=r|Nmp!pmt2boF9<|{O#w*`q@l5}1hoNq4%`KA1ymQa-sEnuKR4Ps z-SW=z(OlY9O_*vj)4pTjJ^VAd%;^+xI>^!{J-~YBXiE)qFTQFf@2NHaeJI~Z^_~1# zlTT&-yKW0H$HunontIR}bcu3^X5M~}n*Zt1$j_F6b|XEgYdi|8UR_g(+_K9UQ6CB8 zLSxZaF<#q0lRxH2G7MJBi^|+lp*c5t-80@>|cDEGzr)1s-CONFg3_K`7Zyi zD*-rgH@)JER!PS|?9KDmelqaq$z^-0U`)(mAi<;e7?V){+XE2NN5}fc!?16(D@eGb zv$k(kaL%4ur@;Bs)PH{=1weyYvgn3=C2Tbi8N21Ptx2$M8kkYtQ_)xt{PY4SkTtVm zW!b~u6ZqISv{$g`3iVRW9-o8EjWT!oIYqQRAX9{`IyUHUYs*Fki22c~$*Oq|sb8pT z;Y{v%uXz3+w*x_@KKzSAXG47SS#G7#*HOZ=J?MdnT&kHWd4C7a{7clF(*mPN*~{c4i5miOqQwiR`SNL}d zXKnBeqZ5y)h|cM0VGujbgD}d6p9*s%?UDZOzbu8mR@tI*EyvCuPlEIc3OHJIWi2yB z?k~Naso&gU0Ac{oC5f|=Uk~>*4IG#bcu1|G;&31KwDUhc0Q)Y(y5+wz$)Bm`Vul=J z*V!pBL|)u%a_)nO2!?~CRYF$kdD)nL8P_v_ob8!7y+i~Z>aGfqOKNOk+tdGe;{u*O z>!taRNpCA=2?%{=sPqgDch}0QM!*|A1)tbcj=*R5qwcd-ZKIT~eM1PSLfIq}>1tYu z98rE?QHISsyPg{=LtafUsd4BTeys-@CVepZIBk(cwGBJg*l1b6fKIwlS-M*6XTjh` z-k&|aaHF=NQE6uoKpWtz){1f*oDpOK15y%a!q4s%b)6u_-?-7zo0~jh!w<%yA+`hs zWL59HitNBf5t{ZP5`!t^x4N~sh`{vs6QEOo`vs%y_eEVdCam^OQcV_h!mvlf+4SlI z7xXZ-?4kdmJI=;KZ$@-%w5asfqOI=NYyc_q;1K6=QgAP>ZI6&}fy~24O7e;pxYlHy zvr~jeA57KtD-N5w5@kY`Ng76y&TWcKqeL0E2pyua=C?(>^fl@qZ~_#3szjs4It$3Z z|A>Ffz#Sqmk_!ma2sC3|#o#0<(_--!r+y84|fH$kupG-y! z1A!TzrlW+ive-QvfnN>S0E@gLAe?hTF1b(rqU(jJbcDzXL+*400~tU#F~MowZ}LEr zS(Tvl@!dC(V4nz~*h}@+&c;SIcU{-~jtKA=scEknA03H&b*t+ZT$cOAVl}%Xz8-z8 zg(6|JiSN`tXxr5h*mAP7M24j&_DUD8)=u>jiABK&z$%pN2X1pz6rzt9WtPx0(D}}h>Hp!8 z(FW(X9zay$xg`dG0#(njZC{7OcoK~`P}R8heJ0@tm_*8~KNz@AW3(>6(V|6GN7h<) zoJ8KnEi~ipqp_XWyER6IXh~Q_W2g_0Ry>cA@JcwqJ!1^}zr*boXxXAO(ULUYFh$p_ z|BQTTs5V)ClB;*?5fD8bspD}t1hwCD9rV5oc=9Y|S==7DK+@NQXdqnQ0%##WP^ahG zT=ZE6s_Xg)UEfbsd!@2_+$giT!L;As=Z2%|Ji{4&KME!v(Y3>G<>k}01>{dLpoXFx zv^2j96WHDy5^xUDltG)Nw~!-Dx8>C;9;5rN8M&c76tnJdL=#L_ zx)QUv*?fb*!S9&167go2i=VEy6_#G~xfNmuPMQPteKEjyB{Pizw_&fL;n=H@A!MCmgB_ zdRcLuaNa2Md)3Y9H*Xhs^|z{)LfzkFEJL(3yQtz5>f@9C(P!rAlx%+Fqm}ANq#pW% zVWvwAnvI{*zY#P<)JY?Ix#Aq?J=#W?&u9$DJJi^gwHh01?}3}Cs&r*oN1gGmipG%Y zha)FJBHr6ngIRUeLQ(P_`(EzcTD$3Y68eegwB$3MSf)!qw`cDt-?Ec9Q>1NVRh#uq zEh^bmkk9C-i2SBETdV5bmSG^LuYvf$v@>neV%84TQK@22?% zZojo?;W*10DUu^B=+B_%DC7;!Z5;#o0_UnK)wM0`G9h2-%WCo>mid^M#T!uanXKi)}MT~PP&2DRn0Q${DGaG`=3`aaOC!9NfYNj*4p`G=HgSa+1&CqmFV5(*s zVe%NJ*AIt6BR%5(!eR3*c2vtul13~}ODoF_Z3GsTv2V2mT1*l@Y}FFo@jw(d-X+xM z4K}&@c}nTfh8uUw85dk`Z7z4tfZ0hbw^C&Y-5_w%9WR`0sw$A_jfME*COd|4r{`~4Z$K_#Ojao+JS5*Cu7(83NIk_g|=>K<1Yi= zfM3X!fNLs%Iu`zqji;X$eNg<=!;u%-LNNn!Mu-}XV8fKqqM}gi2ld<`u^o#r_VX?F z##vUjMBDxX{j96D_ig&u@ojScAyX(3i=8N&AX#_AEsEKj6x!{St1439mo71kNKbtc z$NwE6lrJ^epg@>bp0iPrGR5CFZB9_GrjbuLBm0JFks5Qwx5k&tTOV;rv|=A1T0JcL zn{A^^g|o%&&vor;cNUgo;g*gbGMb?-!5S~hD)_i|a{vvG^(vsLgSjR8{2hYR{{M1J z&kW}hQ-hSBnb9OCO>g>FBPkHz@={FHDXV_}BBJk_ES=Q0mQqBQpRTXM4~A&$jO{$~ zZZ;10PchRA{BByee%5`s=vJNGr)D6@%EWthAFN1|)+u!bF& z`%ycqZ)9;1<#cpXyT`qzS4NxXIhEupL6uE9;uDsmMC&fOMDCRZh)h&|Yb_>lkxdZk z`Z=A8Oil|b^hSF0Nxd^%ts7ZTZp^PQLazG*B~y|Q_YjYkg%1;_yZ)lE#8ZG9g5~}x zI8tzV*m;7Sk=k#RHzIP!;N34bh`>Drr>r!Tb1%$RIIqn4=|2gHS zvb)|LD{HGe4^(Fw7B4UfZ0=mGf6a;8j8^tp7oXVBSgb1FDJ{bPT}$)|2pXO>+RUDL zIO8vF->BoWTUf4RkdS>WTBqM3w6)nANR2y;nsKxRo&9`Ra?002VLT_w3K0MFQ}e={ z94B{&qIhf0*UH)qLhjoGRCQK#z2vF}WD3V%4Edv?-8GyQ3(Mmxib=Zc#XQKmkvu=*m``NFGi8Q%k>eR<0e%{plw0j4Qezu;qA zTPp3wo@rg*2(wDLx~e%`-6N;PlNQ629+34t>Cq66lI2$N)9&3n=SR!#x5)kHps!9} z$t~AXcKJM#^KDrINFi#!(20wRv=5OBCF|NZBJC2%H;(t`(3EX$>;%2aw7xkMXHnTQ zuWnp#DdH$owL#Y6zmHy2UDF^DO!$FM|FQ{-U=7_yN>c_!#>%tI!!O=VJ&~N6`#HC9 zX{Rf23&@5IL z+s=e2So}Gp>$js^Ejo{B`M}kA*+cH3nb)|VU+Blzk+?dmHat^k?S_pEI+v{5r6~Wz z&-d3};l8z&BUAR_u67^pOtvL*^zaSNx-*#<71UM9Ku}BIKTdIVsnKAWMcLP44`eC$+^c<85@Pxt;R{svxeHJ2qA{MV z_L(WR;Z^!aidqtCkc4F@ATrM#rr17db~looGfO`x8U6f;i-DJs;=I2F?07q?qw*&L zOD0e#W&h~0Ws*bnM)Ek>Z`l;0s?~075W0mH36kfRa^DR@M5MM7i%V=Ka@r3Wz&o z0+QE}^4%qdi`rVQ6}d=0KGujil14OMhY!)8WQgb~w#oBkUUYVh1Vm!xDs$||7j6Fqgp7c4bw`k!%;f<#PXGFYW^8M;ZbQ58hl;%& zjA>SjibMs3_BuM2-3JWCY;!6WNd0-Q0C=@wHZtySV6Oqu%Gh0;IGiJX?a|!siQ`w? z%$+|zJh6V@xX}86Og{ZVwYLRIP3D7&es0%REkdkhuHC!y>19{C{$ull?P{g>N7=}5 z&9iKAG&^(5L_VhC+WX@t6xfaL@9yfTy?Ui&s&~yQ_~!MS?u-`Tqga-qGw~g995zo* zthsue+hODB%QNt#?+ZVdeH7G`xMJcFGecuvp?)feh)qFLRYOlD%uu>scG)QA zjwSXa@hDH5q-8#588v!B8pXB$7yP7Z8BzW7>cDNPP9)lCWo;Pv&0 z3XzGLY&0ouo9ss}wHTmK>}R92xlfnGwg%@4ec2++7W_1oO5ZV^a(`Q`8vmhh?l1VX zN=cV%^{~C;NQ!H$(bL@b!4(OWA4(wh0zRh2E|T!}on3ZS1ge2XmC)bpUQrpK4#r@3 zM!&XX^{@)f5|0YikIoH^EYXiJ7i~>{xU>-69NzNj!8A?kyRMSX%Tpft)%KS?3~;wB zgEm(+a;rph`SdrR4rm>5cj<|5VYsqOf2vn^jq6{Vx$LLcM~+3WpR`4>cDDtL5@JR{lbRQ5z3*s)Qq|FM>V2%EMgff}vzs zDRg0SSp(s@ktL-FZJnkVXvO^*SKRwdGe5ZnM+IpZppq4#quz6dTq1|-Jb{wtpMM}C_q3h=sA}{FXp&PYmFCf0j zXcsLd@&K@US4~`1`Z&=PJW1+FDpu1j4M;`Y*TkvimbLNqu#TyYE^XLhoJ)I>>eoX1 zs%@k~A{PlP3P@DTnKt}jw?}kX?vQombUrbMDSLnQG!<@Yb`nO{XUwUz`CRM0!3Yx~| zj~&xcqE;raj;wd~^u|vhR;d{UQMt;bbhNQnZ9qh`>P6RzT)t7oVdcIxdSWF_L$Ix2 zvEz%;gl`@?e?Vh`+|}E2SSx4za#X_^Vp*RS{$0qHedjBTA6)e`Q0STpo+Dl=7U;- z$~zTj1f;YCcB;?sDu_hmQ&2A;xk?ESaUlQ^=$!Vi%*~@^a~)(ztMwMSd=04VZo=qq zN|EbvyX*Fe%XJ|`H^g!~0l=&O7TuZ42Yjs7k$k|FVv1$^I3~XWKp6X1-IprH+(ZuD znGv^%@_Bwj2U2~CvoF$i{d+*1bnY$_l5jsDY19iiMB$QIGn4%(u99PUhlQSAl1v=> z23>UJ;c@@{=I(B$^0ch-P65PTX`A9WnDRPbR|NX(rGIwF*)G-Xkh7l-`Zo&uJ{Vv` zUA;J2psAFB4bQbP5SZX6!sjf5N&qrt;9LBjiaANVt8kR;BrmcoBxwk=CITcf&*ghH zX8});LxB>xzISE8wmbEq=iJ`bhOpXMTgDQf#v^!+wcV7}>jR*mu`Chp7viow`F1d+ z*jelBBEdvslsXbb#P(c35EpZf>$7Vry?`M6J8l@xmHSk+g>gYdVmCFF8Z4OD^mz}U z&xJmyS8{#beV*bqVN%?G;@<;!<~v;XD5*=m?j^gtrNHl=5e!XGgYTJJM@V{}K3~^S z;F44L7}cbfk?m5|KZlYEe7bhr+9G^>*0_dVm&oP z=;*bTa;BU(MSXfftMn=P4gi@kAu^*{mQSa+a>oWsPFb~uSPo;nHIxzpUrJ2h!b4LX_kZBaKf^T=z0W zj+f8Lw>sgxnx$9QF}jGvZe~2W;guu*nS?;=+#X-Ak(_$Y)$l`;o)Dnp`9cm2tjc2I zjzjG4CCA$OJHb0$1@)=d1T4)~1D+vtyIuWj7v?Q9AfTp-GZew{g)awtI1*!Gv_BKa zt6rK8>u}^ABg?BGzRVhzCoGr7_V`A==ze0>_k2`7!x4KPR8ZjaR}EH$WAttY7v!>w zAJ@^>q#If=R6S%fSE|9Xu)w$sTabftouwu&5^@s))!+4KIjD~0nCdh9G9*U?uVp|? zFLOac*XE-R$#z$LmNPIH8M;KcoL$SQAI@`q05(T?r({Ch_2fUe=&v~xpw~vwMBNXW z@;&pZ@v5fCKypLqW|%Fp##)~?0WP!kF_qjMPES}?84Tiq$B=7<8x`!bZPrGPZStG6 zEzGy5>0o>&-V_MFxE%X@;MBy^$6ugdoacl+GOy{=0(!$9bo*M!zGk)`dMShXbouLK6b=|t_p3rW4zOhyHVP=}`Gs*wV zF0ISAWHR>z(ht(BW9tY}>*CI4o|YBXV?c7c6DS9ugjHHS!Gy4Ntp66tgH|47i@Soq z)r_bO2Oj$y+xs^#_-tGK?{{EddT7n3gK=5;2nk=|$EGLMZhnt~58-E-v(wT2cL7g| z`VPN-c4-^~V0l&)4)eK*XCaUk2T-{D?|(h>K5aZV zdX7wXrCm=9$)iZ6zb!TrM$UN$#3LLHPcr%jJp;_;c8~V0&POn|R>Kz|03F{%{Or%^ zxFI*v(pNlW?6iPZ*R1omcd-2A+~C#Vn(#JLQ@haUCvh*LWaS=p8NF31;5m_p0V6?W z(Xd7nfGDp|{@e}TKb>D9#Tz~;|IhIjt^Bqv>XJ@%OF+|E39C#K>Ur2MZgb;P8l}nl z)*NjiWNvMPR5=E)Mft6N_v!zz_nu)*ZQZ{pd%L&jmZG4dR238}AXU0s5JV7Eq)3Yh zh;$)9Xd${q5E0NIBGME@qz0tdsPx_mkc0?G5(x=XLkLOE4CsE}^FQZ)y&vv#*9Uog zveuk)jWy;dzwsMu{e3vs*4$%9&lHa6ND4b6>ruYEQXbscf_8{|(FHFKH0-FG^rrhJ zLTIIIQZTYr)=0<;sT_!GYGn{mJ9Qg5toaq+?o&&slS!47)KklG(r9?NCba_GE}yn2 zc&E^(uya;C3YTP{wkFf_UdULjexjqd4eDxTkH&hsV9L$wJrDZ(9^5(-9Zs8u zzl9!=fH#$sG7zq{4b6Qs0osFU67#z#mAzx)N#sE63eX_FGygU87w4}=H*Sc*@gu7z zrkPl~A-A+LhxZE&eKq4a$3r(MCE-%2yX52KFqVnn(q5Ep5#!VsEs6E8^}6+qa<9Cm zeKk^n;4MTvdQt!G89veWX^|n(u+p_D@Nn-yOCF9GQf}m@p>nz<{1wY-=i70bM+0C( ztFTp->F`6*whKF}^jagmqrBtsEg*k+%bccn$^qu2g7Uw+>(e3RP@09$kJ#Sw;L*P+ z=BQ-NP9nb|M?Fv$4WS&34!0s;#^4PF5Y2lXaT;iNxmS9eA9{omKJEhUc)R3(9=bkN zi(rlKEtn(9586*8ffs@Gxz}uf`OXaLoe!9`vw{*`WieXKfW2gsH zp;kTv!z%CO%1`+}^7|ljGxV{uw{78DHIIv`FqOfOA&+kqBE=QTn`oln`+UgW9NYVG zk`sk&>8R6^fr^u9dmHtIFqEp8SM#kylF*W>|3^vMVxH z!cyvb8{Ra^Aa}0q#|pV1exwuAO%%xVN>Q7aOV;e3H-`&RyYPpijf=E78=Bae?a|(7 zn&GHaZF~(OoKr3k2>i$W2j+X5L$63T_k}UJxx_LgZ64A3J-_$sudZhE~r;Fp*DdnWHY-lWAt7sPTqK7As<;adY8UpJblvRKBj& z0<7x&VWZw%UBO?jUio9!t(9j(h0kU3CLZiQqEnehsvX;Ke9y$58-sm_w{=?Ly~g~8 z!PzU)6UTKTYyEKTjUio)B`Zv;TC71MMvrnk3CQ8Vfs5DbMwGAD4gA;O9$o@Gd{6q` z_WMT}?1$iVT*443x=;Oe0}vFIz8XG5!^o$t^d;uf!$>&pSa8^jZYhJBjP9l8wVJi{ zQPAvg|H0M0%}^8R=0CY{U4dzc!>u0SSC{sFI=@TLbeP!JchB~ySa4>y)Ug_bqb{|< zLp##tZfB8)z#G?b^;U}a*UDY|_A=r8Os_=pByyEB2i70~gzxzwy4 z>3*(5u-b;7Ck88rrG?f18hOfO(0U<+>qjg_w51eCysqHE9k_uk(AEb!ykaoX_X+X6 zPx(iZgj&+b>NPz&0rOc->9I3w9WE09$)`FIb&eE{IH)32`dNYj#pV4WjG8g7Fd8iP zHeY*Ra$)+pD%fcS0wI!p_q>ZwwjAUw4k=p-Gc&^90{CnY(N#Xzm9Efg5R>1U3Vx@I9r7>EHr5Fw$V)iqxNBdj`S*9hxN6d zPp<;9vCqli43d6JBmGGl)8aX>AK5DZOy;DhXh?ZK$Hr*7|8GVhVr_qex6i0|t^D|> zdHUcy%HI2#5mD{~)s?7YEDg6HFE0eReb~2j2Q)W*zP`74@_qk>X)m4C;%eYy&wVGc zmq}=C*>gDJ@1GQ&N0%@!6Dx*9Ltx5lY@6$9V<@P+NpGyeO>fu6)g)%|Mf#weW}A#} z>+q^l0K|vHz**wdnsa~@@0QN)KmtV>9-!NYiQUKlCq1Z z@$&Ub10*@m#%VrI;DMM-j9F5&CB%PmHZX$P51fSt_G%$>dSujvH_aqYr?`PY%V{{q zJ7zccW@RB@{U$YlN^#qq!t&bQT4s=ko^+&u%4cy=U|~+MQZv|fl_Z`JhvM39P*ObR zTbJa#V1zWF+O(c8|7|T4*@{X8x=GatG0KqFLg}FK@7>E9!`E0Plmq^bZSQ0hVF#*G zT-?81QxyrY$+?Q^S!aYODg#F0f#Vmi;ksLO)s*ktt(#~)9C#3zp;yaL`1%q)oajMj z@HG1KSeJk4GdJ>&eAge#FY%{pgM4mit;~Y2V)f*$+M?{fl}9VH>y1l8>DZQ7$J!{* zOSz`Vs>-3&(2wOKn;y!BA8yZ$EzUy*BV#fd0xdzi-tyGZF)XW_AH#0bE6yptnbcm zqYulW7f5oW6~Rk1M}ckBf<6Le`nAX+%Wr1UmO@ECwXym=aGhGtR4|c|2!18g@0AGe zor)jVnoAuiyxw{h^E?WuA9oMD&@(Ocxr^gc+;`lra)N*EyUufUkQ;nKTg_mKo+#L{ z0{t~=A9VqnjdiUIKEQyp?6S8fGn!67Dhck!@H-;YQf53aMk4ojBlr>>YrN*V;|aDW31*PN^1S3(oy^DvF|O(2kw z@u)AeG>5ou4yXVI>}XBaVHdt#c(}>J|IEj-!}QX#=3I4oZaF%Kg+Y?<^(J(s5vTLZ z4?lY;TBBo+DuQHycn2RjdqeQU;2S0bWOpgG zD};Vu^EEWvK?83s_Idz_gLl>kx=fVeMv?d4J!&23AtlStj>`X}7W& zOGDFn5(jDflX3To|BZE(alTyp1Hg_pn&#{rn-Cryb`*_un8FxKdAW;nM4PZe1)}+9*QmBj(mBus$y4 zVb3;i;$?!a8GbM$hg~#Km0l575logW^vRxRV26lr#^^k!HIqeyZ>;=&4gFw7$9Xf2 znUM*mJQ`lQ0i#xQr@$(?m!L+*hTySVVsViLs7;}gUL!SeQHCe>dBx^lbl^35A zP&AY#ufY`nnHO2rZewT=+`pK=8QKA>&+`T|9^4S6D_fuI7hcn@Jw|-XEbAeTe?6ux zxh2MziO#gN^0=pC_e93GE|7`NxT-GSjY9#{+K^(Oi`JFg#6@^sCcdK$gvc6@9yw9u zsfu9q^YTWbq(ta|Rzn-{4XkWpnDWoLpF%H?fnwby4kX^Q#Ri94)ry0&`%baNm(9WH z?ISjuNneV`KW1axUwEul6;%U8j52jcG{F|`$IgA+93A*2H6#2=;!=O~h_shvh~dYQ zMibYTl@Pn1vfPEZ78F!Cop}}~fowAS*vWmq_+trKf(5BDcW9NHnDc+C3_PcI8R27Q zB}Ab5#PGhJC2gt(IRCykawi?v5qwvORlA7%EuF17YwVF1EahV1CjqpQpU}&0OZvxt0}DGZ&w%zyS@amHH49d%leG&&XFyhc`{%VA&F#`25+cdM zM)-hXLT&sQH>SStut0i)E=Y|(=0q>&UQ%1_u$H}b^XUmgg$pGXigbB4sY-_CyA>+* zPUnfl_fr)m3BBCto@e>6N)*c%k)z$< zTE$|a4fQU`x6cD^FHb0{uik2(l0NFDeeqZ(X$|^P#7Githa_99ALXw-z5StX9QIV& zLG~-`maK(6e^~&TXm+*VBvSuT0R$b--Bs2njci*%Qu)1Coo#fT9xlZ>nanKUaAw#9 z!s>!BhvUT#`vzkZDlNsV#Inw~g_Xf2`2-MrJ~XZO8kiLDa2~0z<{@m=K;#Y%>ubmw z*Ada}$m1o!;J?QEXnDmXiCWR*+P@dqjx)s%oSuwPPHPSD!$0_+I$3b89fx?`0#bVM zd6y+{@ypBC>4i3}O_`1MIneuK0Zu<6g7GI?Rm1OZYG*fL)N)HXPnjOetQxuWtkr|- zct2e?nsu<(oVT{KJ0o1!NDVprN(M^E7bkQ{I70hEZD3IG2G>nd-)eqz){lCIZL|zM zHVEF4gtv_Ao-gtszZ(s9rXgg!w3~{AA9hM%PMvHGa{u;yt8jzxu^QdHRq`%mmD;c< z-(t{1t{_MEDUPix8R4sB`jf(N*EHuxZ_4!d`bz}XAMiw0$DC|c2Wb+w^n;S*g+1TW zmWD&qG##XVWwOD;OnAo{TNSACt-~@gQqsAa!R<@V(?bzta*2dPWR?! z8%Arw@_vpmDSun;?p>{OcrHSsyaf|EoW8jshY(oE9}jMpd&G?Nd`ff6*wy&=;t04C z%@|#Gt{CVYzCT)@d&_~>SY@2GbM~8)B$oT8Y-*(5{M~vuzH)2KP4~9` z#H5g8-j0)U=l@HXR?QU=pRUm~uhCShOh0cRoP0b-I22xHkkl)uG;0QQZHc34%lf(J>q7>G8)Z@5y*9lwY7g0XA!)kv5?d`I%+?+ zq>{_$n_RuCOs|=Es|sx7x(-c^t6>$C9mZ(8E4il2V)=b=8fVUKH=Xt|v|3=<+)VCEtV~2BV3w%urnhk{T zM9k7Ybc0%(GsSJwzEPKGf3@4nm!ZY}01!iH%|r6&_nqDH%f7j&!9*PpSqGNijWQF$ zONP&KR_HU+kiQr;sdDp}EJ|r_iOu6QKAjkd86H(> z_#wVLpNPM)7ob*kuJ^Q=VH27A+-35w=bsCpqu) zsAV~}Kf&dQ=<}v}kgZFxq1E=B)QRS{)V1C5 ze~WDs`VL!-Au8>U+3=2O`Nxl_4ON%Y*jv~s&w(9|xBHaWFH)y80x)OOfs)i;oA8>H zl)Fjs>F_D2HCr1!sZps!v<_I{&&laBh+|uI`8_-}|;y z50g(3>@^Sd7E_C)u3~*KDv!VT?m*$=;3ha@PXH@_95K#E9fi=N`$Mx61n&M`dE-Uo^4GH*+%jW7G6B{fpGn(%Sz0X_|VZzP`AaXmT&B zV$Q8nFkpspCG7eK$ND183%w5%b6^+5-7)>f>tU0@Bn{sDy6qcVDXKDip7>?9p&Er1 zKb_T+TxQ|{HyUGAgq zz-D1xDg%yvVOOaHj{Pk}d{WYwLM(J0)0(SMi11tqSTg*TdptO%@%M-Ndn0`YsQ^Ua zhQiw~k_%q_)wrQ`7-#>ystZB;uC*g$F$1dm<8XN|dZKy05x*Zeoc`c_AJ+~lss{?z zc3W#{L!K)bUMwWKM8us?J5e|i9yk{M20H^uF<%ON^PSEABRCnwY0YCc;Sb`6?pd|8 zZq`M3`2IA?6daO!-MQn^WxUIZe-=$vXDd;LCwrdAgjB}MudO9> zIA>ORD;%O~CpdK%6zQgD{uG(mc*$=DB8< z7O9uHf!3ARIPo!j|JcHc)sYT?7|tqo#V5SBC+V~)D-eBk{*QxAk>4DTw2$j;lrZj4 zU%5HcuD7=cly>qR!N(Wt21<2eNNNB_O%6Xcy}){>dNwqysJrot8>@@L5wzJ%(*g8t z_;Cah*&-JDSzIn|3dV)k?pzY5>{b^<4r!Z%a6=~E?6l@@xEz*iCkzhU{n*Dv-$8%g z4q15Wv@XQ~_$bE5vmwVN_Osk-9w2O4)-~8LlkpA5H%tp!#+YkiGj430G*j-D$VIDaE~euJ));(g$g^ zBaN75B0c}(;2_J&MM{x=D*4;I@7Xekx8B3(hn#`+%?y<1fIIs(nZG<{W-R6o{TP7$ z4um<*t>pF_GJEff7`>_*PopBjah#1f1cw8sF5PNw#GiCL@PX{tj^l-=s^SlG(9Qs< zdfKdO_byfQqC4v0>4u=Iq!#M}g``LVA%wq7&O5ey-YOI3Gp701b^5`SsA{)*6BZ3r zDL{k;0`7fZ)U2t^i*dW&m&O2dVZWWH54{Z6e0mclY~kuF6CD~uj;M2_{RV@x>cbx$ z!A(wvOKT`w5G%+EQ7*EfxWDwyyG3=rUpu4|Wf|Z1y#E~EoiLhv%Ahg5Qq}AN0|sT@ z54f9ZL*Pvs(*h+D_wuEcGHz%O%0VwgI%!!eG1+4=?{`_*Zu^~Qxz?jsm(v6AgsJHR zAe=(#`v|8AW{SIiC$5Jw{32^DIvoAv=-9F`4pR$lk4k7#M;FS2jos^l!?z+T<{as} z@~sZo~SEB7^0wCW3s&fPoJ&g*+7EdA|~j@$2F6FqY87nxfIr8ezu5z%F(BZRgVa{KtRmdbzn zy#V6fgr2AvhQ#vAt0#t-i!&o1)+tiF< zZZ(7b`)nytPYDro!oe3YcX-HZif8@g`*->_ejBD~8D+|^(Q%Mrf=B3q@te=9r5Fgv z5e?S?edVLknx-G0%XSQ{>y~5rmal8}(od88&Y}h_bjpV8M59s{R|Yl4ap5vIH!kml z&fJ(t*a-bfmiDB%zYF*PKX$i13?RzfWqdXJq81U*mTNX5_tLe|UfO6whAWMbMXE3c zuiNGFye3*9H-Ol1UFvpr(quSg+Jha;x#+)$mkCKUsYpL2oJFs|?kbSstZU`7*Eg$R zZ+)-dgBYe@P+#y4D^#?pYPBpDH>^)bFF?OwIzg}q4viPWojqzNg8WOJX)d4|WPPQ> z_bbSBrxZEqjPxJ;OI@tDliH=V*TPE~No;lW9EU~w;pHXq*GUg;%l8I?#n_$8Sqca1 z;9jl^&A{+?6L0et#*gG$YC_CXu&CFXC3d0DR^O&{p#Ma3R$lX&$nN7#TW}mvQfGKq zCg0vVK!0kYNgu@%ndbRK5a}26fuCJJpYbkrWBjSxM8aA>lQ?hD;GGt*98ez2I_*C&G9lbZ znPh?3H)XR_&1?Kfnl z!*L`3ClQV-I5RlzS}1~IN&aE(nCV0Z-|?9C%Z8cViF3 zMzveFq=mRr`n_iwE4DhFgDjVHT8er=vtlGWt*Q?>2H=x7pSJd4kgBpCjSQFXLUsK4 zDztGEKkWSd(`9Z(?BcZSY=nD-K!q5pAB6ckQMC&^CX06Uz7DlyhXKyYGW_S{iYPF+?){%W(+K$uO!uAMO|7E785v1w(|~5{##jF7VlgQ zSuJgxN24AB!wZh$7;aeV+%BH_{S#TswuBk{evv4H`rxQ`+Y8RL z?NX4H1=IE^%%v&zKX2dOXE4x-33&)(?^*_Ha zbWZW1ex>f5p%>u@_5OMh4gGUw{Yl%NWad@sg@TZ4tC|w8JHX8NH+o9#APD3*_}3xO z>Utg3XNvOcMFM2KS1IfYL^_>8FE`>M>FpyKV_v^2pcTHus8~AfCs%=9xcbIq`$Rjs za{f#RuRRMML|j=!DXN5gurJE^z8Xm_qIP=L>4AbS7vkd~A4z^}Kuj}qB4$DXNELV! zybD6X$bBH>3Bv5ARHXN1yqb)^!YDl@JF*9C^(g{I=ZMA$ul-V|#ImB+NrY~1;rq>} zG$l_Vp#K*V#+x1UXlUToTIyS9Fd(FW6+{TY@TQ@dt~geeDX3>{t>O819|O*t@CTOB z1d8>_QxU;iuFg*WX33A!r=2>`urO=?e})|RgtKAs*|bibo|WExl+^Q^`J5yV{xFEV zE_oHb4jLjlV%)U5L-DaTuoSi9&hGdJZ1JUkK4w)6CVUbmG}Jjk^1vRkb>bUKO;ja$0S~Wg$zYLJnE&bi~I9=O}r72oihn{ za(k{{$;{B@)0>`Ih}LoVl&bS-aTfxShDb?fmY3OVQ!xrabEz$XBV!mmkzcgkCZ2yu zc#KZJT*X;c&taVVB8L`V4sHZAjiHJ{=`UKwg{|W=To{(8vkUU3-o%|yQ#R?nvJeU2 z9JeH1g*yMZot#R}5viO=pMvr2m9&TkjvXyyTFWSPaJzKNVO~oIb-{mX->=hWH~BXd z_t~&+g*w4me0?TV#*O69swcG2kH&Kj`@gKTVU7g^JS(dq1$b0nGQC+ne~gruQpAvh}e@x)xl zd^Q)>6pg;mR>tqZGw7juDA8oA+P=1;mBJBbP>R}z3poa}BWtXh%+>0?1GK>QDIZ2} zG?azL7>{d=bC|zjRedJ#MYYjHxA1B%z#u%LhUv2^uewl~)GNys3fXDKUX-TBFA{JJ zhXG~}0Oe$a#@Pz6zXTEU8YMnL@OI7>2!x{vxg1f_jQBQv#AsQpb)jFeoNY#}0E8~~ zJj{4zUL(c~z%!trQ9c1s>4V!9$3kq@JTGMhvPzv?C%yU8rjnWM{-lVWxBf z#uQqgH7Zv-csGi=2C-B>Ia|qAM-WEuXYeZR0CfDf>s;Y=}X|F zR7W+mmUb!tG_n)i8zMTPf8K5jly%^TEz3|{$GUG zgC*3??Op2^9bF^DVMQ_?f+dvS`s_nU4?Ulz&v8~qjD_m4t%=%eck(Ab`&L8d)sfAp zAs>Eu|2jXOhuw&Dh-I*D+cahz5ZrW=G~TZ3%*mCi=RXKkeB4v=yc!ePTeY|n6wpW- z3iA!HHci5;kk`p|+}ZC>=1A;yB%N%eHk37zBhfWGmumGV@yDbN`~g_I-nEC;as$0>{G>!z~Sc(Qk}l z5QBtRCLhlYM@v%I?>lBMnOp)I_idrGQNc8qnHf)UM@SjR%B=gKClHBU^>SgQA-BId z0D;|d-3V>7%AY^8;0v(ttQFPy`Jd=HPw}pfNE=v~dK^M;n+FtkIyV%BzJ);AODVK{ z+1L+QEb;uv=6R&ddI%!~#p0g}iKzC#nQaho7m+R1&V^{_>*hRou)z9@q=wnB-p$%5 z7d`F{WqbW9i}8$J)QEWDyikIy@fj9{kYZ$Nt{=YYPg zeK30gGf=K;N!kniFD;Z!3Jvq*lQ?R!eb*bq4QBTqqW0Y_cJzPM#CU3Mh5SCpszKwIR+}i^s4Q`$^@KTFuRuj0dU-*6rA~r z>0zTxXjs_i*791d{hMEd0@ms0GXJg2(RQV!N|j^FfFU8HsLCy>Pxa=a`5d5fX3 z5FFP^<&SO9+zCsA(6%9)5Lg|C3apaCdxvZ<;Ak3Cwz8q1b>l!yyFHO(KLoMDKT$w8 zBO);$OuGtEE78wG$Go=P51%2l$`v-C%HvAZ$@SkSH8gc0a^>oqvbvRg31F27Uv`L; zZm!y2@`uWlWcUV!Ngq#yzq8kk%$UfPjt)IfR=$+A;@I|HdHpFUKJ=B`f+*SZ)5WA9 z%f6QCCO0+?0GkJ_;-^Ck^R8Bw6O{J`QeOX~Lc()@-=XMGySsZG2CnLQ=c7kCuIP2WS#P+^SSy$FTMN6 z_~pzdbWyrAx3GiV$Z>Pev?QtMSGPFZJF)I|{huj@Ipnr#(MP##%8s@%D{psTZqk8+Ttz zuD$eeO@^}}|1!2;Z$-ro_@2l_vbb*Ad~AaMMA09GwT#r7@lCLp=e|xq*z!jMW zt4|))I<0%hXD~7#OXymCP~$~5bI2To`>O)2fN8dCCx;zmgfrdnVF`d5na|J zcoqc9CQots-144=tNtss3!1|3_0T0_2NiW1<~_;9S3t~j0Im<8nqHc@ca;_}8J7qwivOikk!ru)pRt&@Il7>u4T8J> zSuo@&_+6v&5umPc5je-TY?;gNN$@JbU{B`IEnM_M3m4L?FOenoC1a0iREG$`2RO{% zAsDp?)9kvH3r172Z6KzO3Xa>ub3mW1&Ftu4GX8Bc)UiTsHW`B3F9iueufpU?L}C7)(F@mG63EL zgtXJ)-Tty|wyfTzFZV7RE&s-ukH7rt6As=_f~$myS(4WKdH`Ei3IF$i!1HR|E(3MY zw1zt;_FC$tFUI)563%Od!+8K9sIfTmA`%@&nuh`JeCLvx{`?QD-+LL_6`@GjA~qK* zc1*@c`{F>qAsH_WiWy_@KY93MIqJTSpwB7b|1i=Z63deT~p zQ)BXxz;7lREO&Wr-RH`=rq*%s&7Z(Ome~sQYb!lZ3xV+$iF{HJcoG!XfBk5kxW&2f zN{n1?=jX+0{px*KuHu%3w+_oQMp>soZ^X~YplCuu*#5tU7?y$NScnbcvHz2N1FpVr zab;lSEV1YQ{AOLZ)`r9Fs{A=F__3vxo+wjOKk!BeY(5Yda|2WiFsxCVKsxulTf+%M z_LgopdT~3qxI+_(lOTlrIRwwA1T6;-4JAMm*lM(3`EK^3Z2tV!%)crtfcNrjg_Y=t ztW6Y_TiwIp5=-ns4+S^#**pdTeI*a(+LVI@^*Hb|f9Y1Ko%`c`f&b@Th|P=N=mE6t z<&eEoq|WQIU~3H{+>6{L6&nPX1+sPU8D$A~;eSWJwDgeQ>}lW&DD=OhFZ&JF&@i!8 z4d$NIrFX1_cFJu?RYKGit93ekq#u{q|I!yG^`E5#UI5-@FuBAYP?9{kkcr6b=uN9F zBHz|T``>JKRoPp31;LWWxyT0Ux>=!*xKcHjb+mcZ0zzpEU-Ube&^J{ z>ObO)kx9nh7X9jz;Q1|DRS-HD@~Fl_;}LHEe=XzhSA1I0e+|AZDc@pJ1lY(HT4jgZ zm_e)nWA*0|2>M=jx$DWe{GXWKzvsLJ=Et(|n$G`5xZg~v!65hL?vfbkNPR+qN)Krv zT2*Ay`=zi)`6d`@_iL8EqgR%J0@X{EIK*C}s0WyCa1kYw0! zO9)I;LNxoMbR#A!#IR+)%$rMb*gBRUd-|DyW)3Rt;eYeg|6OW`373caA%yqB<24+& z<6x7cJ?%_*s{^VA|7uI8jQ?F_{M+ZvB9)u1ErQZ`GyG<4!Qc7URK-(Yo|%`cD=XtH z+YQq1E=5JtAfslr^EQH!FE=-OGm08 zsy`qar};Mq|C^)z?;cs#2WtKTG&gvB6P&DIo(sK78rT7KTKl&q=Fg!5cE;B6Mi3Aq z&Lcm3P+N;K;CLL3HOw9!@07#D`)f7=AgY2X^c{cT5e)?}|DVUQdh&r%m7B0*O-d3Xx#cBLl2(58H-mLcYuPY85Le{7t^{s|Aeh>8Dfje|FECk(^ zd#xw>Eq1!H)0<)v!SeOkWaMpLaqB#wnH;?thJ1IecI50;>gZbfw*?Ou_vNd#aSj8d zUA_6eK9#wm)MBY{#N5BC{%Q9PJ+q_z2SH1cs{h{6wT5>zDrk#o{}%a>TJ!P(Mr7o_ zYS(uzo%pplOWtHr?emLk`bKyaehFS^#Q&8XoS8;~VY#)EbtQjGGPlQO7bCpdk5RZ1 z(7P|3>95HGHThpd^5mcA8k#N%U3`0S{X}xH&}5}vWvfq;cLsjT>w`0kFSmoF;3xnc zX5|uqRh?+>Yuo|eKW&vk@QK2!{u=B4Um!KMI)+;UcAK%52bjm@0*|vJip(|SCCD8o6UUdUWzAUAipjZLQ%yCh*qHHg5l3GiV@#54K7j zjb)=lsz5B&dr64n1?Wm2DgR1@ywfN(LFVLanh40pO;im4oc7Cd@sLj%*;&qiu)bU6 zv9TyvOxgM(BDj?N7YMj#CHBTV?P7s^D|9sAU;A`A`5i5$yeE3McWpd7i`ly7?>4!*D_y7i11ThMc-?U(L`~bc_71dy^4I#!N}j%OCs%g^_lTW$E1vF zf%_jheh#!GLEKtnClZ~wtreTcc|vkSXXeCOA^(E?t8IG6Y|REWRoy8Wr^^0D9C@8r z=vu9zG(dhINnm}1vchdg*4DiA9H4hepT*O5&q&Dj$9r^k9b^Z~;-DUsgYokuDRfP` zu9-7UFHrmE3_Q!(er-9CEwtSlz|L3;l@!XCSTy+KP1D(#}LZ z7rb5P*iC2Jpc3VkJqGaoHo{qDFKY+yVcLMAmr_n>zH6}PwLK4dT+*<=)bcz8c{<#n z@Okb2aWc)+dsgdJ41|VU54nSZr3DHNA#}yi-26ANz~fI%CD4d7Hls*?K0fWzBc;-- z%chJwDLrqM&$wx3Z8h7IH`5hSBn!n7#Y0X)bGnOMi{Jp`+$e!Nz0#HLLigX}HJvTO zRO@O~{)#K^H^@Y%6sY;DUA(&+-9$ov8(->0m)iI8aS8kIu}fm3oI`-9UmEPTafrj5 z$1HXPQR3=cXkEvnT59zDg?ML=@F?BAP;*N5C%XO>`@s4VhnL;3%{4wYGD8mX1O{Y|>lE(i;CptYlk&13&jW zG9S5pzGbaMW8_hFo!man$sUPiVosDJUoynPCC99tJ{qvh@pZ~qlL7<6qV)wY*Tkrb=# zT%PWZ<$yPOv`u}0+NbH01aoIF>`;oC!eA+Qc!hx|+&Lgyg+M zomF34{;}p4aOc~?wKU4?x5`P`@{QBsN!{k-)xwd;*{3~5wR(nnpi1OCcjbAtn0s}u zrhI{i`9@pcf_Z3IU|J<(20aCJkO%N0tAbkMWc+I@9k>@FdvPrgG0V1i9jP(iUmV`q zb^TqKehYYfQ z3$w(hC*vJQsiFC+L-~F_uJ>+ODQDCvw!M zVmKs1Qt9IwyT9yCl8@@DCBxTrfp)IpQOd!O_{5GY?r}#r@0uT9dp*BAT+rnlL=8+- zQ<$4sY`RqcuLrPA3!1nv*tL9-_>5MgKvICbW-7%@>(XYLIBc^P`-SfzX&R7yy!m0# z0}XlF4K67MkJOP8PZIX!ybo^tQGF)gK!E9GQHj5&aiVEOLsz&bJ!RyVt+|ztw0|St zjT)%C5nh5TqNca*4(Fsxs)^(T)PxQ0P2SL5Kf!D|r}H8CEPhnGu)O{C!5)X)MdPJJ zWuF5&-q>t+JS|5y{jC4#Gl52w5ytd>-C?Wdpbzz0I3|8Jgz7OdZ(M7r@hj=LUl@t% z5*+>=_O!(HeRaUZSjMb+U}0)W|3O`CHJWQ&@C6&=rZe$38mjZvCQionJT>l?o(*U^ z=5go7>ghztm~HL6db@UCD^zdR(Gq1>y?EFcw@-G~=5R+#xLctHWLyO1@px=HC-5)S zmHbORjgNy9wax8OEJ*>>&+m?bnA2h*n^EO}i`#|6biBOi*6`yBvqoXwK_y4oitd+c zU(kXL=uP!1ulSxXB6z@T>9$>e=Ls>UOG~zcR!&w=(yFvZ@9Dba!&m-MhGe?6+$bs~ z<<*S~%fB5-84i+dRg+D>acUpF?sl`@OxJVMi4%AX++r@*y-9;gt)AUZdJW6|H&OFc z8Moat7U2G%RwBP~)NNv4i&ZQp)RjOph6X+kRjh`)-fq(SWDHH{aBEeA-xNRSVM%=9 z>7<`IeC`7*!#Ku%DClX>0frxByt2IV#zzQ7y*>znnut_Zy3-=1bj!AgIWxyMFY3du zn}1KxDp!1`Yw!0FB(>^x}h*4$alF>K%@=j4Jacpksl~sj>fsG^I#QU(T z9)63@896TRMw%S(%wGzAEB{*xvC;iO=(4r6?V*+7!nr-kb&gKK^_B%{RqBeKr#~bg z{<3yN#dY-VYmwFA*9Suj=LT54#{LkzMWmBVaCXy~5&`B6^mG zx%Bq!!b?Y#8fL3JlJ91mgf%?Nk$V3`mSVH0Ywi9dKY^P|XzRK|t$$8P(gvgyA(-X}{VwkEnh?FCD>oUCniY5J|j z>C2RWfS!;bA6L!e+PeI%@{8Ri_yLV06HYF2mQeoM_G#OfIo>#U0csAp zn;;hS@{ypjHMImz!K4_I#GiwP&*>wDE|`{_>vvi*GI}}}%+2E$sg0uu zov%>HV0cG%&=rl!p2{bBdJ`_&+}q%fdfU>qJ~;j>j%^)t3+9@PJ5D~pZnSQzu%8~D zq-(p{7J3chuB|1v+hbL_Q^HhMP1Kt-x|7X3-A&X2=~tLG1oyhLID({G4^e3Ts2v(= zP2V#SOO?*Bf30>JvKQODq&&`hUuxEV;h!G|sjrCL&1Pm=JxR^RQ|3|@3oq9~*KmXX zLUg|#{Quj3i%Zt>Mh7)(tK@B(Gsi3`d)zjeWZY$ZO5NyMTdFV3VRjTPW>;%$*ePP& zy;6v=M}~spQC(6NFJjV>#Hr6tGaZS7I|+qe1DBSF9}h!km~;6p8O*$(Sos*~M*7lu z1a2y4f@=W=f5A4NEZa0gA9`!-HGChO^(Og2>W})hcWl#FOjg&oA~$bS&${d-*ZuRU z#DM1a7hO2&cGC_jW?yd3+b=MFELDI1&oE!)&!lJV55n&1A{aqu(4(vy3*VIeI1*+` z+tepDe;iy%dv-UDbMtk|beeWGqKM`DTKb*3Pz&lRCRu4NX>2?HPkC2d2(KxrMa{vh zAK530aXPiTcL58pn_#T8?Fr2G8Qnjdz zPPm({&?5V2)BFun`N|Ii< zG|n>+>4Dm}oyB6{|O(wa2e@9efHns^f%+_Qhe3 zeXahL13S_3*Qc}LB~RNYCmIwJ7F1l#tYR9dYo0#oryO>B^z?V_P^sj{XeoaSJ3h4W zQe0IsobwL##22zRzKFoQum+4$y%<)lE-Ct6T5quW?(wmhFDp8GiqsOluPG-5T@7*T zxJr?l);2C22s_$jG+8g6rg=_7X8{>rBxKx8cwcSbFdUTCk+dVjcr9%81}ceYuQ*@f z(kV#;JJv5!KZqrk#$;ZoBYkh7eGl-v-T3CTgHVI{qa?JUo7^s4jtX0jut%-LO2hR= z_%;x6P;YYRZMcjE)Q|D8yrPKG&e`CAG;}{~I5mi$GVrfl4DA%GcI6WdPx{>1a68$% zPd2Y^wBTw?IV^x22ma@Jz8s83z$2RjcKB zM7zm3vzZeD79M#)ACvC<{aV-R9J9PZG@F6!h;|f2k(%w?mOp4oXS6<|E_fzNl~&5XU9G|l;-J-ZuKjs1@crwHsr7%)SX|6kORpVy>3QeU zxlmI&+h7mTp}?IV1bGuyIrXf*yH}n&6i&^L5X=@tRVI2EVXTm|Ruu)8mt;Do+BV}l z&vVQ(0o|*E+DlrWkvm=GFMIGe`kYtN>v8_xTS;$Ekb$fFVhc_11LGkRhi2R3y~{*- z{|#a83qW2|R=&8Gd{C1V!FCsPxXFKN$VyUEXSA)Zo;Ql~sQZwl1XG%JbleELStnUl z1$iyiybvV$2o5b!hX8+$cIIGP3)2;+{mh`AoEKR=7UW0vB2xoZx9nd-$P1=J0%4Lt zqt#l?lTU=}Q!ic{n{R%!qMY*))`nmjOQZNq$9V)%%>OzZ*B%(pJnaW74rLTYeh{6Vllk670v%^BGdrD;UUzZfY zycR2go%yVpmxbgGnNSJiSDT@lM}W zmb=~SKiXF>I|%${6)ZH}OPjf|Y94}HR(mmSYvbZKXBDdc@b$rgA0N8JLR{ap9Te?h zr*tIj$bh5LL#EzZ&AYC6HPoG&81vq7G&ozmHbv>Q?rkM$)rTiTJ&?M|#7C)07TwmB zB`|PLu?JPGGL>Ck|4PEiKNiFvIy(-JamcYr#A)|Bkw6R7&8uT~?ri+CV)dk46{6$> z?y(~v)+%2sx@Yxrqr3bnb{BF@R(*G!u8*fwK;bI$T#+TkUqudkR;4wNl5e59x(fw) zn^|$xT2{7j-+=aP}KySHmiX z#}CJ~QX>>&Q1!S~$KJ&kk&;Tr%%XDjl!G&wIUjJ@&2lH@iR0guVTY$)-V_$bcDj*^xpX`pWQP)AR+o>yh1YT98_pKQd-QQoc zK9$5<1PfhJ8tiU&7#x!tqWC|;ZL{!pxx-!dwUmR23{ON+y>j=S$7zO7YQ*zY_&j@#05YNEcX{bW=Gg zoZusMN%Hxxh1y~8XFsaN!E&oIFLPg=vU#XXjK$|Q4|m92Gvj|jTz$r@mYILOMqs#Q zWh$Ri;x*&6D=ST9){6Jpj}dZ1mM&7;`3~0q7B~==tGxUE*D=RHmD+J=-cx8QIu7_GEjg+H|!6TRCY4|NF z^(R>R>EV;pO?k~0>i5RSjMp7vY>iX|j23CVoXToeO-)b6RVC>z&5OeaRgrfLaweQT z_h(mcYjlt^JM%6;{{SbtBZ>Mv)&9K$Y_)RW)%O%MP_qTMXZ{7M4Y_O2Umsk3`fZ{i zk?7xi3}T}+qH^(diZC(bJ@K*(|Iwd4Jf;k%+MNsaw$Y2g z5HkK(W7i&)^cBagowb=6tG1@1Ia`~h6%`-@r#2OPxS*U^`5cuHM9fDhib|`cO(SzH z7bu$V9Qj1^#iMCpDUUNv5iQIzF@-rKQ3u(6?Sy~t{&mm2=brOD_ulXKem zW^yB@nmaZ=mc>a{cq9kIpb1%AZ}R{QI}To_CrID&k4wt*aCE|^AQ?}`ZpYlA(S2Gx zue?62{qhJ0+@Ery3<33EmM0rPFq+2nd(R^-H=dd)gYpV{SfD9wY zgkdtd&s+#6rXs~?2!KHwvBz7VapzFTzR>Sz47~D}0Ht}>-QCquDymLAx#S9PivFp^ zcNU#rL5QevNsCoYNd__BV!tjcDt>~x4Q8XsyU#(p4(Tdpw;W77`E_n-<32iY+{>QG z=JDpXa59KV3)INtCP zFdr{{Q*@zP<+x=$zjUR&(H=zVMz!(Vh>XPwA!lAJFx0>FUSqJPId9iNTcr! z6|3CvCmg^$!o5Y#`-_4|id=Y0AiyGsJg2gs_}V!#&J;jSOV@D6!d3Rv>>=F6yYTgR zP4cV4Xg#>kQpKD{UpK-{zNyy}DU*(S2O~EJDgJFuLpaIuyI&l>? z{@qmCOpHavmqy32;z0SB&w=jzGlpmQQcG14S=H1lgc&5FdnKalYi7i zmh8B!d*6d7+A0@{aL!@kx?dqRIAi`y@UGsf^62;vZJcGDCs^M#f~ zc#GoG|3REH-ELAuT0+cs;&R2IDhCf8JY(XfdpX=1FM%JzHtyxo(Hze-5;df)0_iQE zcB*E(MI5qE+w2xi%z;CHg6Kyk1mdJSw#b&3Dm@AS#i9sa;@T|AfpWj%v^#n8QR3pl zg;)1()pQ-~*vA=d-o|m{K6dGx?hUmn5GRjihzOaUOYJi>VtT9Cr5|O?6PLN3tDnCW zXF4-`yu8^uKLL}@mj#tf!@v?|iRUZ-1h2bJE=jtIPJ(2)Oj|&eDN!PTF1)!ICI8v3 zQ!6bDi*IteUb*+IcS-F?{tgD6vZZ{n_IBT6{C#&=p)e5Prb{1d<_QbAW2?(*-T!Q= z!_9?DO7NOkLv;>J95sLSu<_KW^T-aa_kMvNuG_Lp&dXsr`M8gKHhfL_2vD|q`?tBx z?1W=EkP76e@`|4y7m z$k?|WX+CIOc;uh>?0~581L?)m-e(mVsn6m`n*2w;w>k`)V}`|sV0|xQ+|M#S{+i~5 z%mQe6uqB<4paKL-jT-!@Gd1?N@{|aF%Se6_NWHT+c`eP=Wb@ah(?95A3FZQOR!e0H z*k5t)w75$8jlqoaF&!kWe2AY}Mj$qz)P{AXV8?l%Atm_%Wj75m;%nUl^^S{diFbDu zs!#~+m$ky=%z6XbaC#I5(Mf=v16zJIL0OrAxeSE1_8*VrG=8;*yWCNKeBq^`iZ_9d z`MfIa#rle^w}~-+**ah4$-z(f@Z#bpVYCto8r?!oPdkE>Qpg literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/0/assets/reactive-ecosystem.png b/content/docs/smallrye-mutiny-zero/0/assets/reactive-ecosystem.png new file mode 100644 index 0000000000000000000000000000000000000000..79c0ac63efde3c4b2575dbd78a91d304b2e2d773 GIT binary patch literal 106873 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/0/assets/reactive-minimal.dark.png b/content/docs/smallrye-mutiny-zero/0/assets/reactive-minimal.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..28b82bc891ec4971f89db556b58736b2be12ffd4 GIT binary patch literal 97983 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/latest/assets/reactive-pollution.png b/content/docs/smallrye-mutiny-zero/latest/assets/reactive-pollution.png new file mode 100644 index 0000000000000000000000000000000000000000..76abf4679d6734f44ee0d4ae5a25a2f5184237a6 GIT binary patch literal 171655 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 K>+kgMKK&2RvL#sn literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/latest/assets/redhat_reversed.svg b/content/docs/smallrye-mutiny-zero/latest/assets/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/assets/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-mutiny-zero/latest/flow-adapters.adoc b/content/docs/smallrye-mutiny-zero/latest/flow-adapters.adoc new file mode 100644 index 000000000..461db8c05 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/flow-adapters.adoc @@ -0,0 +1,29 @@ += JDK Flow from/to Reactive Streams Adapters +include::_attributes.adoc[] + +The `mutiny-zero-flow-adapters` library (Maven coordinates `io.smallrye.reactive:mutiny-zero-flow-adapters`) provides a _clean room_ implementation of adapters from and to the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[JDK Flow interfaces] that match those from Reactive Streams. + +== Why another adapter library? + +The implementation of our adapters is similar in spirit to https://github.com/reactive-streams/reactive-streams-jvm/tree/master/api/src/main/java9/org/reactivestreams[those from the Reactive Streams library], but they differ by: + +* failing early rather than passing `null` through in some cases, +* shipping under a https://www.apache.org/licenses/LICENSE-2.0[proper open source license] while the Reactive Streams library took a long time to make any progress towards publishing a new release, see https://github.com/reactive-streams/reactive-streams-jvm/issues/536[#536] and https://github.com/reactive-streams/reactive-streams-jvm/issues/530[#530] +* having correct JPMS (Java modules) descriptors for those who might need modules rather than the classpath. + +== How to use it? + +The public API exposes 2 types: + +* `AdaptersToFlow` to convert Reactive Streams types to `Flow` types, and +* `AdaptersToReactiveStreams` to convert `Flow` types to Reactive Streams types. + +Each type offers factory methods to convert from one type to the other. +For instance here's how you can convert from a Reactive Streams `Publisher` to a `Flow.Publisher`: + +[source,java] +---- +Publisher rsPublisher = connect("foo"); // ... where 'connect' returns a Publisher + +Flow.Publisher flowPublisher = AdaptersToFlow.publisher(rsPublisher); +---- diff --git a/content/docs/smallrye-mutiny-zero/latest/index.adoc b/content/docs/smallrye-mutiny-zero/latest/index.adoc new file mode 100644 index 000000000..8f03d17c0 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/index.adoc @@ -0,0 +1,74 @@ += Overview +include::_attributes.adoc[] + +Mutiny Zero is a minimal API for creating https://www.reactive-streams.org[reactive streams] compliant publishers. + +It weights less than 50K and has 0 external dependency as it uses the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow APIs]). + +== What are reactive streams? + +From the https://www.reactive-streams.org[reactive streams website]: + +____ +Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. +____ + +*Reactive streams are the _lingua franca_ for an open and vendor-neutral asynchronous programming ecosystem in Java.* + +In a _reactive streams_ ecosystem _sources_ with asynchronous I/O can be wrapped as _publishers_, and applications can _subscribe_ to these publishers: + +.Reactive Streams ecosystem +[.has-dark] +image::assets/reactive-ecosystem.png[Reactive Streams ecosystem] + +Since reactive streams are defined as a set of minimal interfaces (see the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow interfaces]), it is possible to mix and match publishers, processors and subscribers from different software stacks. +For instance an event streaming service and a large data store can expose reactive streams compliant clients. +In turn applications can be made end-to-end reactive as long as the code honors reactive streams protocols and semantics. + +Reactive streams is a low-level protocol and applications shall use higher-level reactive programming libraries such as https://smallrye.io/smallrye-mutiny/[Mutiny]. + +== Why is Mutiny Zero any needed? + +The reactive streams interfaces are quite simple, so where is the catch? + +=== It's all about the protocol! + +In a perfect world middleware and service vendors would _simply_ implement these interfaces and ship client libraries. +*The problem with reactive streams is not the interfaces: the protocol is the hard part.* + +https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.4/README.md#specification[Reactive streams come with a specification] and a https://github.com/reactive-streams/reactive-streams-jvm/tree/v1.0.4/tck[TCK to check for publishers, processors and subscribers conformance]. +There are many subtle rules that the TCK verifies, and it can be surprisingly hard to respect all of them. + +Of course one may be tempted to just ignore some rules and just focus on the Java interfaces, but then combining reactive bits will likely break at runtime due to back-pressure and/or threading problems. + +=== Why does it matter to keep the ecosystem open and vendor-neutral? + +Developing reactive streams compliant libraries is difficult, so vendors have been tempted to _simply_ reuse a high-level reactive programming library. + +All of these libraries have ways to create publishers from different eventing models, and because they are _supposed_ to pass the reactive streams TCK then the resulting publishers shall also be compliant. +This is a technically correct yet a poor answer in our opinion. + +.Reactive Streams pollution +[.has-dark] +image::assets/reactive-pollution.png[Reactive Streams pollution] + +We dived into the code of several reactive streams client libraries, and we found out that more often than not they had become tightly-coupled to the peculiarities of certain reactive programming libraries. + +This is a major problem because strong adherence to a complete reactive programming library annihilates the benefits of the reactive streams specification: + +* applications may want to use a different reactive programming library than the one chosen by a vendor, bringing unwanted dependencies (who needs 3 reactive programming libraries in their code base?), +* vendors become bound to the release cycle of the chosen reactive programming library, +* conflicts between versions are more likely to happen because different vendors may depend on incompatible versions of a given reactive programming library. + +== The promise of Mutiny Zero + +The mission of _Mutiny Zero_ is to provide a minimal library for implementing reactive streams compliant publishers. + +.Reactive Streams minimalism +[.has-dark] +image::assets/reactive-minimal.png[Reactive Streams minimalism] + +Mutiny Zero does not want to be a complete reactive programming library for Java, so you will only find APIs and helpers deemed useful to write publishers. +Nothing else, nothing more. + +Application developers must be free to choose their reactive stacks and not be imposed opinionated choices by vendors! diff --git a/content/docs/smallrye-mutiny-zero/latest/quick-start.adoc b/content/docs/smallrye-mutiny-zero/latest/quick-start.adoc new file mode 100644 index 000000000..b6702c04d --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/quick-start.adoc @@ -0,0 +1,83 @@ += Quick start +include::_attributes.adoc[] + +== Getting Mutiny Zero + +You can get Mutiny Zero through the following Maven coordinates: + +* `groupId`: `io.smallrye.reactive` +* `artifactId`: `mutiny-zero` + +Mutiny Zero exposes publishers (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[`java.util.concurrent.Flow`]). + +== Creating publishers + +Your main entry point in the Mutiny Zero API is the `mutiny.zero.ZeroPublisher` interface that exposes factory methods. + +=== Creating from known values + +If you already know the values to be emitted (or a failure), then you can use following factory methods: + +[source,java] +---- +include::{examples-dir}/mutiny-zero/src/test/java/docsamples/FromKnownValues.java[] +---- + +=== Creating from `CompletionStage` + +`CompletionStage` is the Java SDK API for asynchronous operations that emit either a result or a failure. + +Mutiny Zero can create a `Publisher` from a `CompletionStage` that emits exactly 1 item or a failure, then a completion signal: + +[source,java] +---- +include::{examples-dir}/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java[] +---- + +=== Creating using the general-purpose `Tube` API + +For all other cases you should use the `mutiny.zero.Tube` API. + +A `Tube` represents an object you can interact with to emit values, error and completion. +It is aware of cancellation and items requests made by the subscriber. + +A `Tube` is a good abstraction if you want to pass events from an existing asynchronous I/O source as they arrive. +Here is a not so fictional example where `SampleAsyncSource` (an asynchronous I/O API) has to be adapted to a `Publisher`: + +[source,java] +---- +include::{examples-dir}/mutiny-zero/src/test/java/docsamples/FromTube.java[] +---- + +Since `SampleAsyncSource` does not support reactive streams but can be paused and resumed, the `Tube` API is used not just to send items but also to control `SampleAsyncSource`. +The `Tube` also has a buffer of 256 items in case of overflow to cope with the fact that pausing `SampleAsyncSource` may not be immediate. + +Several back-pressure strategies are offered by `Tube`: + +* buffer items (with or without a bound), +* drop items, +* signal an error, +* ignore back-pressure and still send items, +* keep only the last values in a fixed-size buffer. + +`Tube` enforces the reactive streams protocol. +For instance if you have several threads competing to send items, then items will still be emitted _serially_ by one of the threads rather than concurrently. + +== Helpers + +Mutiny Zero offers a few helpers for commonly-needed tasks, but without the intention of becoming a full-fledge reactive programming API. + +Introducing new helpers will always be done carefully by observing real world implementation patterns. + +=== `CompletionStage` helpers + +The `AsyncHelpers` class offers a few helpers to simplify developing against the `CompletionStage`, especially before Java 11. + +* `applyExceptionally` applies a function to map a failure `Throwable` to another `Throwable`. +* `composeExceptionally` applies a function to compose a failure `Throwable` to another `CompletionStage`. + +=== `Publisher` helpers + +More often than not we need a little help when dealing with a `Publisher`. + +* `collectToList` assembles all items from a `Publisher` to a `CompletionStage++<++List++>++`. diff --git a/content/docs/smallrye-mutiny-zero/latest/vertx-based-reactive-streams-publishers.adoc b/content/docs/smallrye-mutiny-zero/latest/vertx-based-reactive-streams-publishers.adoc new file mode 100644 index 000000000..e422a1b88 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/vertx-based-reactive-streams-publishers.adoc @@ -0,0 +1,29 @@ += Vert.x-based Reactive Streams Publishers +include::_attributes.adoc[] + +The `mutiny-zero-vertx-publishers` library (Maven coordinates `io.smallrye.reactive:mutiny-zero-vertx-publishers`) allows creating _Reactive Streams_ publishers from https://vertx.io/[Vert.x] streams. + +This library acts as a thin adapter between Vert.x `ReadStream` and `java.util.concurrent.Flow.Publisher` and uses _Mutiny Zero_ to expose _Reactive Streams_ compliant publishers. + +== API overview + +The entry point is the `mutiny.zero.vertxpublishers.VertxPublisher` interface that exposes 2 static factory methods. + +* `Publisher++<++T++>++ fromSupplier(Supplier++<++ReadStream++<++T++>>++ streamSupplier)` is to be used when some Vert.x API returns a `ReadStream++<++T++>++`. +* `Publisher++<++T++>++ fromFuture(Supplier++<++Future++<++? extends ReadStream++<++T++>>>++ futureStreamSupplier)` is to be used when some Vert.x API asynchronously returns a `ReadStream++<++T++>++` through a `Future`. + +The factory methods use suppliers so that the `ReadStream` instances to be adapted are on a per-subscriber basis. + +== Sample usage + +The following example makes HTTP requests to the https://api.usb.urbanobservatory.ac.uk/[Newcastle University Urban Observatory API] using the Vert.x HTTP client: + +[source,java] +---- +include::{examples-dir}/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java[] +---- + +A new HTTP connection is issued everytime the publisher is being subscribed. +In this example the subscriber controls demand by requesting a new Vert.x `Buffer` every 500ms. + +If you run this program then you will see the JSON response being progressively printed to the standard console in chunks, every 500 milliseconds. diff --git a/content/docs/smallrye-mutiny-zero/main/_attributes.adoc b/content/docs/smallrye-mutiny-zero/main/_attributes.adoc new file mode 100644 index 000000000..46ff4a3ae --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 1.3.1 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: Mutiny Zero +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 1.3.1 +:relfileprefix: /docs/smallrye-mutiny-zero/main/ +:imagesdir: /docs/smallrye-mutiny-zero/main +:docs-project: smallrye-mutiny-zero +:docs-version: main +:docs-ref: main diff --git a/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java b/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java new file mode 100644 index 000000000..3d7ddf2f7 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java @@ -0,0 +1,67 @@ +package docsamples; + +import java.nio.charset.StandardCharsets; +import java.util.concurrent.Executors; +import java.util.concurrent.Flow; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +import io.vertx.core.Vertx; +import io.vertx.core.buffer.Buffer; +import io.vertx.core.http.HttpClient; +import io.vertx.core.http.HttpClientRequest; +import io.vertx.core.http.HttpMethod; +import io.vertx.core.http.RequestOptions; +import mutiny.zero.vertxpublishers.VertxPublisher; + +public class UrbanObservatoryHttpClient { + + public static void main(String[] args) { + + Vertx vertx = Vertx.vertx(); + ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); + + RequestOptions opts = new RequestOptions() + .setSsl(true) + .setHost("api.usb.urbanobservatory.ac.uk") + .setPort(443) + .setMethod(HttpMethod.GET) + .addHeader("Accept", "application/json") + .setURI("/api/v2.0a/sensors/entity"); + + HttpClient httpClient = vertx.createHttpClient(); + + Flow.Publisher publisher = VertxPublisher.fromFuture(() -> httpClient + .request(opts) + .compose(HttpClientRequest::send)); + + publisher.subscribe(new Flow.Subscriber<>() { + + private Flow.Subscription subscription; + + @Override + public void onSubscribe(Flow.Subscription s) { + System.out.println("======================================"); + this.subscription = s; + s.request(1L); + } + + @Override + public void onNext(Buffer buffer) { + System.out.print(buffer.toString(StandardCharsets.UTF_8)); + executor.schedule(() -> subscription.request(1L), 500, TimeUnit.MILLISECONDS); + } + + @Override + public void onError(Throwable t) { + System.out.println("======================================"); + t.printStackTrace(); + } + + @Override + public void onComplete() { + System.out.println("======================================"); + } + }); + } +} diff --git a/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java b/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java new file mode 100644 index 000000000..62b3cc273 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java @@ -0,0 +1,14 @@ +package docsamples; + +import static java.util.concurrent.CompletableFuture.supplyAsync; +import static mutiny.zero.ZeroPublisher.fromCompletionStage; + +import java.util.concurrent.Flow; + +public class FromCompletionStage { + + public static void main(String[] args) { + + Flow.Publisher pun = fromCompletionStage(() -> supplyAsync(() -> 58L)); + } +} diff --git a/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java b/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java new file mode 100644 index 000000000..0b14665f3 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java @@ -0,0 +1,22 @@ +package docsamples; + +import static mutiny.zero.ZeroPublisher.*; + +import java.io.IOException; +import java.util.Arrays; +import java.util.concurrent.Flow.Publisher; + +public class FromKnownValues { + + public static void main(String[] args) { + + // From values + Publisher pub1 = fromItems(1, 2, 3); + + // From an iterable + Publisher pub2 = fromIterable(Arrays.asList(1, 2, 3)); + + // From a failure + Publisher pub3 = fromFailure(new IOException("Broken pipe")); + } +} diff --git a/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java b/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java new file mode 100644 index 000000000..6a78a2cb8 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java @@ -0,0 +1,48 @@ +package docsamples; + +import static mutiny.zero.ZeroPublisher.create; + +import java.util.concurrent.Flow.Publisher; + +import mutiny.zero.BackpressureStrategy; +import mutiny.zero.TubeConfiguration; + +public class FromTube { + + public static void main(String[] args) { + + SampleAsyncSource source = new SampleAsyncSource(); + + TubeConfiguration configuration = new TubeConfiguration() + .withBackpressureStrategy(BackpressureStrategy.BUFFER) + .withBufferSize(256); + + Publisher pub = create(configuration, tube -> { + + // Start + source.start(); + + // Allow items to be received + tube.whenRequested(n -> source.resume()); + + // Termination cases + tube.whenCancelled(source::close); + tube.whenTerminates(() -> System.out.println("Done")); + + // Emit items, pause the source if need be + source.onItem(str -> { + tube.send(str); + if (tube.outstandingRequests() == 0L) { + source.pause(); + } + }); + + // Error + source.onError(tube::fail); + + // Completion + source.onEnd(tube::complete); + + }); + } +} diff --git a/content/docs/smallrye-mutiny-zero/main/_nav.yml b/content/docs/smallrye-mutiny-zero/main/_nav.yml new file mode 100644 index 000000000..4d513c700 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/_nav.yml @@ -0,0 +1,7 @@ +title: Mutiny Zero +nav: +- title: Overview + page: index +- page: quick-start +- page: flow-adapters +- page: vertx-based-reactive-streams-publishers diff --git a/content/docs/smallrye-mutiny-zero/main/assets/reactive-ecosystem.dark.png b/content/docs/smallrye-mutiny-zero/main/assets/reactive-ecosystem.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..53347f2474131d50ef8235a673cb4e9247dbfc03 GIT binary patch literal 60658 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 z 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/main/assets/reactive-ecosystem.png b/content/docs/smallrye-mutiny-zero/main/assets/reactive-ecosystem.png new file mode 100644 index 0000000000000000000000000000000000000000..79c0ac63efde3c4b2575dbd78a91d304b2e2d773 GIT binary patch literal 106873 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/main/assets/reactive-minimal.dark.png b/content/docs/smallrye-mutiny-zero/main/assets/reactive-minimal.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..28b82bc891ec4971f89db556b58736b2be12ffd4 GIT binary patch literal 97983 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/main/assets/reactive-pollution.png b/content/docs/smallrye-mutiny-zero/main/assets/reactive-pollution.png new file mode 100644 index 0000000000000000000000000000000000000000..76abf4679d6734f44ee0d4ae5a25a2f5184237a6 GIT binary patch literal 171655 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 K>+kgMKK&2RvL#sn literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/main/assets/redhat_reversed.svg b/content/docs/smallrye-mutiny-zero/main/assets/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/assets/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-mutiny-zero/main/flow-adapters.adoc b/content/docs/smallrye-mutiny-zero/main/flow-adapters.adoc new file mode 100644 index 000000000..461db8c05 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/flow-adapters.adoc @@ -0,0 +1,29 @@ += JDK Flow from/to Reactive Streams Adapters +include::_attributes.adoc[] + +The `mutiny-zero-flow-adapters` library (Maven coordinates `io.smallrye.reactive:mutiny-zero-flow-adapters`) provides a _clean room_ implementation of adapters from and to the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[JDK Flow interfaces] that match those from Reactive Streams. + +== Why another adapter library? + +The implementation of our adapters is similar in spirit to https://github.com/reactive-streams/reactive-streams-jvm/tree/master/api/src/main/java9/org/reactivestreams[those from the Reactive Streams library], but they differ by: + +* failing early rather than passing `null` through in some cases, +* shipping under a https://www.apache.org/licenses/LICENSE-2.0[proper open source license] while the Reactive Streams library took a long time to make any progress towards publishing a new release, see https://github.com/reactive-streams/reactive-streams-jvm/issues/536[#536] and https://github.com/reactive-streams/reactive-streams-jvm/issues/530[#530] +* having correct JPMS (Java modules) descriptors for those who might need modules rather than the classpath. + +== How to use it? + +The public API exposes 2 types: + +* `AdaptersToFlow` to convert Reactive Streams types to `Flow` types, and +* `AdaptersToReactiveStreams` to convert `Flow` types to Reactive Streams types. + +Each type offers factory methods to convert from one type to the other. +For instance here's how you can convert from a Reactive Streams `Publisher` to a `Flow.Publisher`: + +[source,java] +---- +Publisher rsPublisher = connect("foo"); // ... where 'connect' returns a Publisher + +Flow.Publisher flowPublisher = AdaptersToFlow.publisher(rsPublisher); +---- diff --git a/content/docs/smallrye-mutiny-zero/main/index.adoc b/content/docs/smallrye-mutiny-zero/main/index.adoc new file mode 100644 index 000000000..8f03d17c0 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/index.adoc @@ -0,0 +1,74 @@ += Overview +include::_attributes.adoc[] + +Mutiny Zero is a minimal API for creating https://www.reactive-streams.org[reactive streams] compliant publishers. + +It weights less than 50K and has 0 external dependency as it uses the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow APIs]). + +== What are reactive streams? + +From the https://www.reactive-streams.org[reactive streams website]: + +____ +Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. +____ + +*Reactive streams are the _lingua franca_ for an open and vendor-neutral asynchronous programming ecosystem in Java.* + +In a _reactive streams_ ecosystem _sources_ with asynchronous I/O can be wrapped as _publishers_, and applications can _subscribe_ to these publishers: + +.Reactive Streams ecosystem +[.has-dark] +image::assets/reactive-ecosystem.png[Reactive Streams ecosystem] + +Since reactive streams are defined as a set of minimal interfaces (see the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow interfaces]), it is possible to mix and match publishers, processors and subscribers from different software stacks. +For instance an event streaming service and a large data store can expose reactive streams compliant clients. +In turn applications can be made end-to-end reactive as long as the code honors reactive streams protocols and semantics. + +Reactive streams is a low-level protocol and applications shall use higher-level reactive programming libraries such as https://smallrye.io/smallrye-mutiny/[Mutiny]. + +== Why is Mutiny Zero any needed? + +The reactive streams interfaces are quite simple, so where is the catch? + +=== It's all about the protocol! + +In a perfect world middleware and service vendors would _simply_ implement these interfaces and ship client libraries. +*The problem with reactive streams is not the interfaces: the protocol is the hard part.* + +https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.4/README.md#specification[Reactive streams come with a specification] and a https://github.com/reactive-streams/reactive-streams-jvm/tree/v1.0.4/tck[TCK to check for publishers, processors and subscribers conformance]. +There are many subtle rules that the TCK verifies, and it can be surprisingly hard to respect all of them. + +Of course one may be tempted to just ignore some rules and just focus on the Java interfaces, but then combining reactive bits will likely break at runtime due to back-pressure and/or threading problems. + +=== Why does it matter to keep the ecosystem open and vendor-neutral? + +Developing reactive streams compliant libraries is difficult, so vendors have been tempted to _simply_ reuse a high-level reactive programming library. + +All of these libraries have ways to create publishers from different eventing models, and because they are _supposed_ to pass the reactive streams TCK then the resulting publishers shall also be compliant. +This is a technically correct yet a poor answer in our opinion. + +.Reactive Streams pollution +[.has-dark] +image::assets/reactive-pollution.png[Reactive Streams pollution] + +We dived into the code of several reactive streams client libraries, and we found out that more often than not they had become tightly-coupled to the peculiarities of certain reactive programming libraries. + +This is a major problem because strong adherence to a complete reactive programming library annihilates the benefits of the reactive streams specification: + +* applications may want to use a different reactive programming library than the one chosen by a vendor, bringing unwanted dependencies (who needs 3 reactive programming libraries in their code base?), +* vendors become bound to the release cycle of the chosen reactive programming library, +* conflicts between versions are more likely to happen because different vendors may depend on incompatible versions of a given reactive programming library. + +== The promise of Mutiny Zero + +The mission of _Mutiny Zero_ is to provide a minimal library for implementing reactive streams compliant publishers. + +.Reactive Streams minimalism +[.has-dark] +image::assets/reactive-minimal.png[Reactive Streams minimalism] + +Mutiny Zero does not want to be a complete reactive programming library for Java, so you will only find APIs and helpers deemed useful to write publishers. +Nothing else, nothing more. + +Application developers must be free to choose their reactive stacks and not be imposed opinionated choices by vendors! diff --git a/content/docs/smallrye-mutiny-zero/main/quick-start.adoc b/content/docs/smallrye-mutiny-zero/main/quick-start.adoc new file mode 100644 index 000000000..b6702c04d --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/quick-start.adoc @@ -0,0 +1,83 @@ += Quick start +include::_attributes.adoc[] + +== Getting Mutiny Zero + +You can get Mutiny Zero through the following Maven coordinates: + +* `groupId`: `io.smallrye.reactive` +* `artifactId`: `mutiny-zero` + +Mutiny Zero exposes publishers (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[`java.util.concurrent.Flow`]). + +== Creating publishers + +Your main entry point in the Mutiny Zero API is the `mutiny.zero.ZeroPublisher` interface that exposes factory methods. + +=== Creating from known values + +If you already know the values to be emitted (or a failure), then you can use following factory methods: + +[source,java] +---- +include::{examples-dir}/mutiny-zero/src/test/java/docsamples/FromKnownValues.java[] +---- + +=== Creating from `CompletionStage` + +`CompletionStage` is the Java SDK API for asynchronous operations that emit either a result or a failure. + +Mutiny Zero can create a `Publisher` from a `CompletionStage` that emits exactly 1 item or a failure, then a completion signal: + +[source,java] +---- +include::{examples-dir}/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java[] +---- + +=== Creating using the general-purpose `Tube` API + +For all other cases you should use the `mutiny.zero.Tube` API. + +A `Tube` represents an object you can interact with to emit values, error and completion. +It is aware of cancellation and items requests made by the subscriber. + +A `Tube` is a good abstraction if you want to pass events from an existing asynchronous I/O source as they arrive. +Here is a not so fictional example where `SampleAsyncSource` (an asynchronous I/O API) has to be adapted to a `Publisher`: + +[source,java] +---- +include::{examples-dir}/mutiny-zero/src/test/java/docsamples/FromTube.java[] +---- + +Since `SampleAsyncSource` does not support reactive streams but can be paused and resumed, the `Tube` API is used not just to send items but also to control `SampleAsyncSource`. +The `Tube` also has a buffer of 256 items in case of overflow to cope with the fact that pausing `SampleAsyncSource` may not be immediate. + +Several back-pressure strategies are offered by `Tube`: + +* buffer items (with or without a bound), +* drop items, +* signal an error, +* ignore back-pressure and still send items, +* keep only the last values in a fixed-size buffer. + +`Tube` enforces the reactive streams protocol. +For instance if you have several threads competing to send items, then items will still be emitted _serially_ by one of the threads rather than concurrently. + +== Helpers + +Mutiny Zero offers a few helpers for commonly-needed tasks, but without the intention of becoming a full-fledge reactive programming API. + +Introducing new helpers will always be done carefully by observing real world implementation patterns. + +=== `CompletionStage` helpers + +The `AsyncHelpers` class offers a few helpers to simplify developing against the `CompletionStage`, especially before Java 11. + +* `applyExceptionally` applies a function to map a failure `Throwable` to another `Throwable`. +* `composeExceptionally` applies a function to compose a failure `Throwable` to another `CompletionStage`. + +=== `Publisher` helpers + +More often than not we need a little help when dealing with a `Publisher`. + +* `collectToList` assembles all items from a `Publisher` to a `CompletionStage++<++List++>++`. diff --git a/content/docs/smallrye-mutiny-zero/main/vertx-based-reactive-streams-publishers.adoc b/content/docs/smallrye-mutiny-zero/main/vertx-based-reactive-streams-publishers.adoc new file mode 100644 index 000000000..e422a1b88 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/main/vertx-based-reactive-streams-publishers.adoc @@ -0,0 +1,29 @@ += Vert.x-based Reactive Streams Publishers +include::_attributes.adoc[] + +The `mutiny-zero-vertx-publishers` library (Maven coordinates `io.smallrye.reactive:mutiny-zero-vertx-publishers`) allows creating _Reactive Streams_ publishers from https://vertx.io/[Vert.x] streams. + +This library acts as a thin adapter between Vert.x `ReadStream` and `java.util.concurrent.Flow.Publisher` and uses _Mutiny Zero_ to expose _Reactive Streams_ compliant publishers. + +== API overview + +The entry point is the `mutiny.zero.vertxpublishers.VertxPublisher` interface that exposes 2 static factory methods. + +* `Publisher++<++T++>++ fromSupplier(Supplier++<++ReadStream++<++T++>>++ streamSupplier)` is to be used when some Vert.x API returns a `ReadStream++<++T++>++`. +* `Publisher++<++T++>++ fromFuture(Supplier++<++Future++<++? extends ReadStream++<++T++>>>++ futureStreamSupplier)` is to be used when some Vert.x API asynchronously returns a `ReadStream++<++T++>++` through a `Future`. + +The factory methods use suppliers so that the `ReadStream` instances to be adapted are on a per-subscriber basis. + +== Sample usage + +The following example makes HTTP requests to the https://api.usb.urbanobservatory.ac.uk/[Newcastle University Urban Observatory API] using the Vert.x HTTP client: + +[source,java] +---- +include::{examples-dir}/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java[] +---- + +A new HTTP connection is issued everytime the publisher is being subscribed. +In this example the subscriber controls demand by requesting a new Vert.x `Buffer` every 500ms. + +If you run this program then you will see the JSON response being progressively printed to the standard console in chunks, every 500 milliseconds. diff --git a/content/docs/smallrye-mutiny/2/_attributes.adoc b/content/docs/smallrye-mutiny/2/_attributes.adoc new file mode 100644 index 000000000..9bd5c899d --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_attributes.adoc @@ -0,0 +1,22 @@ +:project-version: 2.9.5 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Mutiny +:javadoc-version: latest +:versions-mutiny: 2.9.5 +:versions-vertx-bindings: 3.20.0 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 2.9.5 +:relfileprefix: /docs/smallrye-mutiny/2/ +:imagesdir: /docs/smallrye-mutiny/2 +:docs-project: smallrye-mutiny +:docs-version: 2 +:docs-ref: 2.9.5 diff --git a/content/docs/smallrye-mutiny/2/_examples/java/FirstProgram.java b/content/docs/smallrye-mutiny/2/_examples/java/FirstProgram.java new file mode 100644 index 000000000..87d40de5d --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/FirstProgram.java @@ -0,0 +1,11 @@ +import io.smallrye.mutiny.Uni; + +public class FirstProgram { + + public static void main(String[] args) { + Uni.createFrom().item("hello") + .onItem().transform(item -> item + " mutiny") + .onItem().transform(String::toUpperCase) + .subscribe().with(item -> System.out.println(">> " + item)); + } +} \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/_examples/java/FirstProgramTest.java b/content/docs/smallrye-mutiny/2/_examples/java/FirstProgramTest.java new file mode 100644 index 000000000..d5c464230 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/FirstProgramTest.java @@ -0,0 +1,44 @@ +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; + +@ExtendWith(SystemOutCaptureExtension.class) +public class FirstProgramTest { + + @Test + public void testFirstProgram(SystemOut out) { + FirstProgram.main(new String[0]); + assertThat(out.get()).contains(">> HELLO MUTINY"); + } + + @Test + public void testUniBuilder(SystemOut out) { + // tag::uni[] + Uni uni1 = Uni.createFrom().item("hello"); + Uni uni2 = uni1.onItem().transform(item -> item + " mutiny"); + Uni uni3 = uni2.onItem().transform(String::toUpperCase); + + uni3.subscribe().with(item -> System.out.println(">> " + item)); + // end::uni[] + assertThat(out.get()).contains("HELLO MUTINY"); + assertThat(uni3.await().indefinitely()).isEqualTo("HELLO MUTINY"); + } + + @Test + public void testUniBuilder2(SystemOut out) { + // tag::uni2[] + Uni uni = Uni.createFrom().item("hello"); + + uni.onItem().transform(item -> item + " mutiny"); + uni.onItem().transform(String::toUpperCase); + + uni.subscribe().with(item -> System.out.println(">> " + item)); + // end::uni2[] + assertThat(out.get()).contains("hello"); + assertThat(uni.await().indefinitely()).isEqualTo("hello"); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/BranchingTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/BranchingTest.java new file mode 100644 index 000000000..320469593 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/BranchingTest.java @@ -0,0 +1,64 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.Random; + +public class BranchingTest { + + @Test + public void uni() { + // tag::pipeline[] + Random random = new Random(); + Uni.createFrom().item(() -> random.nextInt(100)) + .onItem().transformToUni(n -> { + if (n % 2 == 0) { + return evenOperation(n); + } else { + return oddOperation(n); + } + }) + .subscribe().with(System.out::println); + // end::pipeline[] + } + + // tag::branches[] + Uni evenOperation(int n) { + return Uni.createFrom().item("Even number: " + n) + .onItem().invoke(() -> System.out.println("(even branch)")); + } + + Uni oddOperation(int n) { + return Uni.createFrom().item("Odd number: " + n) + .onItem().invoke(() -> System.out.println("(odd branch)")); + } + // end::branches[] + + @Test + public void multi() { + // tag::multi-pipeline[] + Random random = new Random(); + Multi.createBy().repeating().supplier(random::nextInt).atMost(20) + .onItem().transformToUniAndMerge(n -> { + System.out.println("----"); + if (n < 0) { + return drop(); + } else if (n % 2 == 0) { + return evenOperation(n); + } else { + return oddOperation(n); + } + }) + .subscribe().with(str -> System.out.println("=> " + str)); + // end::multi-pipeline[] + } + + // tag::drop[] + Uni drop() { + return Uni.createFrom().nullItem() + .onItem().invoke(() -> System.out.println("(dropping negative value)")); + } + // end::drop[] +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/CompletionStageTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/CompletionStageTest.java new file mode 100644 index 000000000..27b0fd6ba --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/CompletionStageTest.java @@ -0,0 +1,77 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.Executor; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; + +public class CompletionStageTest { + + @Test + public void testSubscribeAsCompletionStage() { + AtomicInteger counter = new AtomicInteger(); + Uni uni = Uni.createFrom().item(() -> "hello-" + counter.getAndIncrement()); + // tag::uni-subscribe-cs[] + CompletionStage cs = uni.subscribeAsCompletionStage(); + // end::uni-subscribe-cs[] + + assertThat(cs.toCompletableFuture().join()).isEqualTo("hello-0"); + + // tag::uni-subscribe-cs-twice[] + // Trigger the underlying operation twice: + CompletionStage cs1 = uni.subscribeAsCompletionStage(); + CompletionStage cs2 = uni.subscribeAsCompletionStage(); + // end::uni-subscribe-cs-twice[] + assertThat(cs1.toCompletableFuture().join()).isEqualTo("hello-1"); + assertThat(cs2.toCompletableFuture().join()).isEqualTo("hello-2"); + } + + + @Test + public void test() { + Executor executor = Runnable::run; + // tag::create-uni[] + Uni uni1 = Uni + // Create from a Completion Stage + .createFrom().completionStage( + CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + + Uni uni2 = Uni + // Create from a Completion Stage supplier (recommended) + .createFrom().completionStage( + () -> CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + // end::create-uni[] + + assertThat(uni1.await().indefinitely()).isEqualTo("HELLO"); + assertThat(uni2.await().indefinitely()).isEqualTo("HELLO"); + + // tag::create-multi[] + Multi multi1 = Multi + .createFrom().completionStage( + CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + + Multi multi2 = Multi + .createFrom().completionStage(() -> + CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + // end::create-multi[] + + assertThat(multi1.collect().asList().await().indefinitely()).containsExactly("HELLO"); + assertThat(multi2.collect().asList().await().indefinitely()).containsExactly("HELLO"); + + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/ContextPassingTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/ContextPassingTest.java new file mode 100644 index 000000000..00897d788 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/ContextPassingTest.java @@ -0,0 +1,99 @@ +package guides; + +import io.smallrye.mutiny.Context; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class ContextPassingTest { + + void contextManipulation() { + + // tag::contextManipulation[] + // Create a context using key / value pairs + Context context = Context.of( + "X-CUSTOMER-ID", "1234", + "X-SPAN-ID", "foo-bar-baz" + ); + + // Get an entry + System.out.println( + context.get("X-SPAN-ID")); + + // Get an entry, use a supplier for a default value if the key is not present + System.out.println( + context.getOrElse("X-SPAN-ID", () -> "")); + + // Add an entry + context.put("foo", "bar"); + + // Remove an entry + context.delete("foo"); + // end::contextManipulation[] + } + + @Test + void sampleUsage() { + Multi pipeline = Multi.createFrom().range(1, 10); + String customerId = "1234"; + + // tag::contextSampleUsage[] + Context context = Context.of("X-CUSTOMER-ID", customerId); + + pipeline.withContext((multi, ctx) -> multi.onItem().transformToUniAndMerge(item -> makeRequest(item, ctx.get("X-CUSTOMER-ID")))) + .subscribe().with(context, item -> handleResponse(item), err -> handleFailure(err)); + // end::contextSampleUsage[] + } + + @Test + void sampleUsageAttachedContext() { + Multi pipeline = Multi.createFrom().range(1, 10); + String customerId = "1234"; + + // tag::contextAttachedSampleUsage[] + Context context = Context.of("X-CUSTOMER-ID", customerId); + + pipeline.attachContext() + .onItem().transformToUniAndMerge(item -> makeRequest(item.get(), item.context().get("X-CUSTOMER-ID"))) + .subscribe().with(context, item -> handleResponse(item), err -> handleFailure(err)); + // end::contextAttachedSampleUsage[] + } + + @Test + void builderUsage() { + Context context = Context.of("X-SPAN-ID", "1234"); + + // tag::builderUsage[] + Uni.createFrom().context(ctx -> makeRequest("db1", ctx.get("X-SPAN-ID"))) + .subscribe().with(context, item -> handleResponse(item), err -> handleFailure(err)); + // end::builderUsage[] + } + + @Test + void emitterUsage() { + Context context = Context.of("X-SPAN-ID", "1234"); + + // tag::emitterUsage[] + Multi.createFrom().emitter(emitter -> { + String customerId = emitter.context().get("X-SPAN-ID"); + for (int i = 0; i < 10; i++) { + emitter.emit("@" + i + " [" + customerId + "]"); + } + emitter.complete(); + }); + // end::emitterUsage[] + } + + private void handleFailure(Throwable err) { + Assertions.fail(err); + } + + private void handleResponse(String item) { + Assertions.assertTrue(item.endsWith("::1234")); + } + + private Uni makeRequest(Object item, Object o) { + return Uni.createFrom().item(item + "::" + o); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/EventsTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/EventsTest.java new file mode 100644 index 000000000..85fd1d709 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/EventsTest.java @@ -0,0 +1,60 @@ +package guides; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.awaitility.Awaitility.await; + +@ExtendWith(SystemOutCaptureExtension.class) +public class EventsTest { + + private void log(String s) { + System.out.println(s); + } + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test(SystemOut out) { + // tag::code[] + Multi source = Multi.createFrom().items("a", "b", "c"); + source + .onItem() // Called for every item + .invoke(item -> log("Received item " + item)) + .onFailure() // Called on failure + .invoke(failure -> log("Failed with " + failure)) + .onCompletion() // Called when the stream completes + .invoke(() -> log("Completed")) + .onSubscription() // Called when the upstream is ready + .invoke(subscription -> log("We are subscribed!")) + .onCancellation() // Called when the downstream cancels + .invoke(() -> log("Cancelled :-(")) + .onRequest() // Called on downstream requests + .invoke(n -> log("Downstream requested " + n + " items")) + .subscribe() + .with(item -> log("Subscriber received " + item)); + // end::code[] + + // + Multi multi = Multi.createFrom().items("a", "b", "c"); + multi.invoke(item -> System.out.println("Received item " + item)); + // + + // + multi.call(item -> executeAnAsyncAction(item)); + // + + await().until(() -> out.get().contains("We are subscribed!")); + await().until(() -> out.get().contains("Downstream requested")); + await().until(() -> out.get().contains("Received item c")); + await().until(() -> out.get().contains("Completed")); + } + + private Uni executeAnAsyncAction(String item) { + return Uni.createFrom().nullItem(); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/PlugTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/PlugTest.java new file mode 100644 index 000000000..c696891a3 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/PlugTest.java @@ -0,0 +1,58 @@ +package guides; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.operators.multi.AbstractMultiOperator; +import io.smallrye.mutiny.operators.multi.MultiOperatorProcessor; +import io.smallrye.mutiny.subscription.MultiSubscriber; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.ThreadLocalRandom; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("InnerClassMayBeStatic") +@ExtendWith(SystemOutCaptureExtension.class) +public class PlugTest { + + @Test + public void plug(SystemOut out) { + // tag::plug[] + Multi.createFrom() + .range(1, 101) + .plug(RandomDrop::new) + .subscribe().with(System.out::println); + // end::plug[] + + assertThat(out.get()).isNotBlank(); + } + + // tag::custom-operator[] + public class RandomDrop extends AbstractMultiOperator { + public RandomDrop(Multi upstream) { + super(upstream); + } + + @Override + public void subscribe(MultiSubscriber downstream) { + upstream.subscribe().withSubscriber(new DropProcessor(downstream)); + } + + private class DropProcessor extends MultiOperatorProcessor { + DropProcessor(MultiSubscriber downstream) { + super(downstream); + } + + @Override + public void onItem(T item) { + if (ThreadLocalRandom.current().nextBoolean()) { + super.onItem(item); + } + } + } + } + // end::custom-operator[] +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/RxTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/RxTest.java new file mode 100644 index 000000000..ba439fe5c --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/RxTest.java @@ -0,0 +1,111 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class RxTest { + + @Test + public void rx() { + Multi multi = Multi.createFrom().range(1, 3); + Uni uni = Uni.createFrom().item(1); + // tag::rx[] + + int result = uni + .map(i -> i + 1) + .await().indefinitely(); + + int result2 = uni + .flatMap(i -> Uni.createFrom().item(i + 1)) + .await().indefinitely(); + + List list = multi + .map(i -> i + 1) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .flatMap(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + List list3 = multi + .concatMap(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + // end::rx[] + assertThat(result).isEqualTo(2); + assertThat(result2).isEqualTo(2); + assertThat(list).containsExactly(2, 3); + assertThat(list2).containsExactly(1, 1, 2, 2); + assertThat(list3).containsExactly(1, 1, 2, 2); + } + + @Test + public void mutiny() { + Multi multi = Multi.createFrom().range(1, 3); + Uni uni = Uni.createFrom().item(1); + // tag::mutiny[] + + int result = uni + .onItem().transform(i -> i + 1) + .await().indefinitely(); + + int result2 = uni + .onItem().transformToUni(i -> Uni.createFrom().item(i + 1)) + .await().indefinitely(); + + // Shortcut for .onItem().transformToUni + int result3 = uni + .chain(i -> Uni.createFrom().item(i + 1)) + .await().indefinitely(); + + List list = multi + .onItem().transform(i -> i + 1) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .onItem().transformToMultiAndMerge(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + // Equivalent to transformToMultiAndMerge but let you configure the flattening process, + // failure management, concurrency... + List list3 = multi + .onItem().transformToMulti(i -> Multi.createFrom().items(i, i)).merge() + .collect().asList() + .await().indefinitely(); + + List list4 = multi + .onItem().transformToMultiAndConcatenate(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + // Equivalent to transformToMultiAndConcatenate but let you configure the flattening process, + // failure management... + List list5 = multi + .onItem().transformToMulti(i -> Multi.createFrom().items(i, i)).concatenate() + .collect().asList() + .await().indefinitely(); + + + // end::mutiny[] + assertThat(result).isEqualTo(2); + assertThat(result2).isEqualTo(2); + assertThat(result3).isEqualTo(2); + assertThat(list).containsExactly(2, 3); + assertThat(list2).containsExactly(1, 1, 2, 2); + assertThat(list3).containsExactly(1, 1, 2, 2); + assertThat(list4).containsExactly(1, 1, 2, 2); + assertThat(list5).containsExactly(1, 1, 2, 2); + } + + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/ShortcutsTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/ShortcutsTest.java new file mode 100644 index 000000000..1d08c9982 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/ShortcutsTest.java @@ -0,0 +1,29 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +public class ShortcutsTest { + + + @Test + public void test() { + + // tag::invoke[] + Multi multi = Multi.createFrom().items("a", "b", "c"); + multi.invoke(item -> System.out.println("Received item " + item)); + // end::invoke[] + + // tag::call[] + multi.call(item -> executeAnAsyncAction(item)); + // end::call[] + + multi.subscribe().with(x -> {}); + } + + private Uni executeAnAsyncAction(String item) { + return Uni.createFrom().nullItem(); + } + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/SpiesTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/SpiesTest.java new file mode 100644 index 000000000..bc2c297dc --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/SpiesTest.java @@ -0,0 +1,40 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.spies.MultiGlobalSpy; +import io.smallrye.mutiny.helpers.spies.MultiOnCompletionSpy; +import io.smallrye.mutiny.helpers.spies.MultiOnRequestSpy; +import io.smallrye.mutiny.helpers.spies.Spy; +import org.junit.jupiter.api.Test; + +public class SpiesTest { + + @Test + public void trackItems() { + // tag::selected[] + Multi multi = Multi.createFrom().items(1, 2, 3); + MultiOnRequestSpy requestSpy = Spy.onRequest(multi); + MultiOnCompletionSpy completionSpy = Spy.onCompletion(requestSpy); + + completionSpy.subscribe().with(System.out::println); + + System.out.println("Number of requests: " + requestSpy.requestedCount()); + System.out.println("Completed? " + completionSpy.invoked()); + // end::selected[] + } + + @Test + public void trackEverything() { + // tag::global[] + Multi multi = Multi.createFrom().items(1, 2, 3); + MultiGlobalSpy spy = Spy.globally(multi); + + spy.subscribe().with(System.out::println); + + System.out.println("Number of requests: " + spy.onRequestSpy().requestedCount()); + System.out.println("Cancelled? " + spy.onCancellationSpy().isCancelled()); + System.out.println("Failure? " + spy.onFailureSpy().lastFailure()); + System.out.println("Items: " + spy.onItemSpy().items()); + // end::global[] + } +} \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/TestSubscribersTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/TestSubscribersTest.java new file mode 100644 index 000000000..3def15e38 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/TestSubscribersTest.java @@ -0,0 +1,54 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; +import org.junit.jupiter.api.Test; + +import java.io.IOException; + +public class TestSubscribersTest { + + @Test + void uni() { + // tag::uni[] + Uni uni = Uni.createFrom().item(63); + + UniAssertSubscriber subscriber = uni + .subscribe().withSubscriber(UniAssertSubscriber.create()); + + subscriber + .awaitItem() + .assertItem(63); + // end::uni[] + } + + @Test + void multi() { + // tag::multi[] + Multi multi = Multi.createFrom().range(1, 5) + .onItem().transform(n -> n * 10); + + AssertSubscriber subscriber = multi.subscribe().withSubscriber(AssertSubscriber.create(10)); + + subscriber + .awaitCompletion() + .assertItems(10, 20, 30, 40); + // end::multi[] + } + + @Test + void failing() { + // tag::failing[] + Multi multi = Multi.createFrom().failure(() -> new IOException("Boom")); + + AssertSubscriber subscriber = multi + .subscribe().withSubscriber(AssertSubscriber.create(10)); + + subscriber + .awaitFailure() + .assertFailedWith(IOException.class, "Boom"); + // end::failing[] + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/UncheckedTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/UncheckedTest.java new file mode 100644 index 000000000..1d15e5bd4 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/UncheckedTest.java @@ -0,0 +1,69 @@ +package guides; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.unchecked.Unchecked; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.io.UncheckedIOException; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +public class UncheckedTest { + + @Test + public void rethrow() { + Uni item = Uni.createFrom().item(1); + + // tag::rethrow[] + Uni uni = item.onItem().transform(i -> { + try { + return methodThrowingIoException(i); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + }); + // end::rethrow[] + + assertThatThrownBy(() -> uni.await().indefinitely()) + .isInstanceOf(RuntimeException.class).hasCauseInstanceOf(IOException.class); + + } + + @Test + public void transformExample() { + Uni item = Uni.createFrom().item(1); + + // tag::transform[] + Uni uni = item.onItem().transform(Unchecked.function(i -> { + // Can throw checked exception + return methodThrowingIoException(i); + })); + // end::transform[] + + assertThatThrownBy(() -> uni.await().indefinitely()) + .isInstanceOf(RuntimeException.class).hasCauseInstanceOf(IOException.class); + + } + + @Test + public void invokeExample() { + Uni item = Uni.createFrom().item(1); + + // tag::invoke[] + Uni uni = item.onItem().invoke(Unchecked.consumer(i -> { + // Can throw checked exception + throw new IOException("boom"); + })); + // end::invoke[] + + assertThatThrownBy(() -> uni.await().indefinitely()) + .isInstanceOf(RuntimeException.class).hasCauseInstanceOf(IOException.class); + + } + + private int methodThrowingIoException(Integer ignored) throws IOException { + throw new IOException("boom"); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/UniMultiComparisonTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/UniMultiComparisonTest.java new file mode 100644 index 000000000..d1df9017c --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/UniMultiComparisonTest.java @@ -0,0 +1,63 @@ +package guides; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import org.junit.jupiter.api.Test; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.awaitility.Awaitility.await; + +@ExtendWith(SystemOutCaptureExtension.class) +public class UniMultiComparisonTest { + + @Test + public void comparison(SystemOut out) { + //tag::code[] + Multi.createFrom().items("a", "b", "c") + .onItem().transform(String::toUpperCase) + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure) + ); + + Uni.createFrom().item("a") + .onItem().transform(String::toUpperCase) + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure) + ); + //end::code[] + + await().until(() -> out.get().contains("Received: C")); + } + + @Test + public void conversion(SystemOut out) { + // + Multi.createFrom().items("a", "b", "c") + .onItem().transform(String::toUpperCase) + // Convert the multi to uni + // It only emits the first item ("a") + .toUni() + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure)); + + Uni.createFrom().item("a") + .onItem().transform(String::toUpperCase) + // Convert the uni to a multi, + // the completion event will be fired after "a": + .toMulti() + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure) + ); + + // + + await().until(() -> out.get().contains("Received: A")); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/UniNullTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/UniNullTest.java new file mode 100644 index 000000000..53ddbeb02 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/UniNullTest.java @@ -0,0 +1,48 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class UniNullTest { + + @Test + public void uni() { + Uni uni = Uni.createFrom().item(() -> null); + // tag::code[] + uni.onItem().ifNull().continueWith("hello"); + uni.onItem().ifNull().switchTo(() -> Uni.createFrom().item("hello")); + uni.onItem().ifNull().failWith(() -> new Exception("Boom!")); + // end::code[] + + assertThat(uni.onItem().ifNull().continueWith("hello").await().indefinitely()).isEqualTo("hello"); + } + + @Test + public void uniNotNull() { + Uni uni = Uni.createFrom().item(() -> null); + // tag::code-not-null[] + uni + .onItem().ifNotNull().transform(String::toUpperCase) + .onItem().ifNull().continueWith("yolo!"); + // end::code-not-null[] + + String r = uni + .onItem().ifNotNull().transform(String::toUpperCase) + .onItem().ifNull().continueWith("yolo!") + .await().indefinitely(); + assertThat(r).isEqualTo("yolo!"); + } + + @Test + public void accumulate() { + Multi multi = Multi.createFrom().range(1, 3); + // + Multi added = multi.onItem().scan(() -> 0, (item, acc) -> acc + item); + // + assertThat(added.subscribe().asIterable()).containsExactly(0, 1, 3); + + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/UniTimeoutTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/UniTimeoutTest.java new file mode 100644 index 000000000..3dcd602ca --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/UniTimeoutTest.java @@ -0,0 +1,102 @@ +package guides; + +import io.smallrye.mutiny.TimeoutException; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import javax.naming.ServiceUnavailableException; +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +public class UniTimeoutTest { + + @Test + public void test() { + Uni uni = Uni.createFrom().nothing(); + // tag::code[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)) + .recoverWithItem("some fallback item"); + // end::code[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("some fallback item"); + } + + @Test + public void testFail() { + Uni uni = Uni.createFrom().nothing(); + // tag::fail[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).fail(); + // end::fail[] + assertThatThrownBy(() -> + uniWithTimeout + .await().indefinitely() + ).isInstanceOf(TimeoutException.class); + } + + @Test + public void testFailRecover() { + Uni uni = Uni.createFrom().nothing(); + // tag::fail-recover[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).fail() + .onFailure(TimeoutException.class).recoverWithItem("we got a timeout"); + // end::fail-recover[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("we got a timeout"); + } + + @Test + public void testFailWithSpecificException() { + Uni uni = Uni.createFrom().nothing(); + // tag::fail-with[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).failWith(() -> new ServiceUnavailableException()); + // end::fail-with[] + assertThatThrownBy(() -> + uniWithTimeout + .await().indefinitely() + ).isInstanceOf(ServiceUnavailableException.class); + } + + @Test + public void testFallback() { + Uni uni = Uni.createFrom().nothing(); + // tag::fallback[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).recoverWithItem(() -> "fallback"); + // end::fallback[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("fallback"); + } + + @Test + public void testFallbackUni() { + Uni uni = Uni.createFrom().nothing(); + // tag::fallback-uni[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).recoverWithUni(() -> someFallbackUni()); + // end::fallback-uni[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("fallback"); + } + + private Uni someFallbackUni() { + return Uni.createFrom().item("fallback"); + } + + + private static class ServiceUnavailableException extends RuntimeException { + + } + + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/DroppedExceptionTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/DroppedExceptionTest.java new file mode 100644 index 000000000..980ecd9b7 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/DroppedExceptionTest.java @@ -0,0 +1,54 @@ +package guides.infrastructure; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import io.smallrye.mutiny.subscription.Cancellable; +import io.smallrye.mutiny.subscription.UniEmitter; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +@ExtendWith(SystemOutCaptureExtension.class) +public class DroppedExceptionTest { + + @Test + public void droppedExceptionTest(SystemOut out) { + // tag::override-handler[] + Infrastructure.setDroppedExceptionHandler(err -> + log(Level.SEVERE, "Mutiny dropped exception", err) + ); + // end::override-handler[] + + // tag::code[] + Cancellable cancellable = Uni.createFrom() + .emitter(this::emitter) + .onCancellation().call(() -> Uni.createFrom().failure(new IOException("boom"))) + .subscribe().with(this::onItem, this::onFailure); + + cancellable.cancel(); + // end::code[] + Assertions.assertThat(out.get()).contains("Mutiny dropped exception"); + } + + private void log(Level severe, String message, Throwable err) { + System.out.println(severe.getName() + ":" + message + " " + err.getMessage()); + } + + private void onFailure(Throwable t) { + // Nothing, the snippet is for pure documentation purposes + } + + private void onItem(Object o) { + // Nothing, the snippet is for pure documentation purposes + } + + private void emitter(UniEmitter uniEmitter) { + // Nothing, the snippet is for pure documentation purposes + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/InfrastructureTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/InfrastructureTest.java new file mode 100644 index 000000000..61da6e036 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/InfrastructureTest.java @@ -0,0 +1,39 @@ +package guides.infrastructure; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import io.smallrye.mutiny.infrastructure.MutinyScheduler; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.concurrent.Executor; + +import static org.assertj.core.api.Assertions.assertThat; + +public class InfrastructureTest { + + @Test + public void test() { + // tag::infra[] + Uni uni1 = Uni.createFrom().item(1) + .emitOn(Infrastructure.getDefaultExecutor()); + + Uni uni2 = Uni.createFrom().item(2) + .onItem().delayIt() + .onExecutor(Infrastructure.getDefaultWorkerPool()) + .by(Duration.ofMillis(10)); + // end::infra[] + + assertThat(uni1.await().indefinitely()).isEqualTo(1); + assertThat(uni2.await().indefinitely()).isEqualTo(2); + + + Executor executor = Runnable::run; + // tag::set-infra[] + Infrastructure.setDefaultExecutor(executor); + // end::set-infra[] + + assertThat(Infrastructure.getDefaultExecutor()).isEqualTo(executor); + assertThat(Infrastructure.getDefaultWorkerPool()).isInstanceOf(MutinyScheduler.class); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/OperatorLoggingTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/OperatorLoggingTest.java new file mode 100644 index 000000000..32746b70a --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/infrastructure/OperatorLoggingTest.java @@ -0,0 +1,36 @@ +package guides.infrastructure; + +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.infrastructure.Infrastructure; + +public class OperatorLoggingTest { + + @Test + public void test() { + // tag::set-logger[] + Infrastructure.setOperatorLogger((id, event, value, err) -> { + Logger logger = LoggerFactory.getLogger(id); + if (err != null) { + logger.info(event + "(" + err.getClass() + "(" + err.getMessage() + "))"); + } else { + if (value != null) { + logger.info(event + "(" + value + ")"); + } else { + logger.info(event + "()"); + } + } + }); + // end::set-logger[] + + // tag::log[] + Multi.createFrom().items(1, 2, 3) + .onItem().transform(n -> n * 10) + .log() + .subscribe().with(item -> System.out.println(">>> " + item)); + // end::log[] + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ImperativeToReactiveTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ImperativeToReactiveTest.java new file mode 100644 index 000000000..cc4484456 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ImperativeToReactiveTest.java @@ -0,0 +1,60 @@ +package guides.integration; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ImperativeToReactiveTest { + + + @Test + public void uniRunSubscriptionOn() { + // tag::uni-runSubscriptionOn[] + Uni uni = Uni.createFrom() + .item(this::invokeRemoteServiceUsingBlockingIO) + .runSubscriptionOn(Infrastructure.getDefaultWorkerPool()); + // end::uni-runSubscriptionOn[] + + String res = uni.await().indefinitely(); + assertThat(res).isEqualTo("Hello"); + } + + @Test + public void multiEmitOn() { + // tag::multi-emitOn[] + Multi multi = Multi.createFrom().items("john", "jack", "sue") + .emitOn(Infrastructure.getDefaultWorkerPool()) + .onItem().transform(this::invokeRemoteServiceUsingBlockingIO); + // end::multi-emitOn[] + + List strings = multi.subscribe().asStream().collect(Collectors.toList()); + assertThat(strings).containsExactly("JOHN", "JACK", "SUE"); + } + + public String invokeRemoteServiceUsingBlockingIO() { + assertThat(Thread.currentThread().getName()).doesNotContain("main"); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + return "Hello"; + } + + public String invokeRemoteServiceUsingBlockingIO(String s) { + assertThat(Thread.currentThread().getName()).doesNotContain("main"); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + return s.toUpperCase(); + } + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ReactiveToImperativeTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ReactiveToImperativeTest.java new file mode 100644 index 000000000..d4cb2397e --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ReactiveToImperativeTest.java @@ -0,0 +1,57 @@ +package guides.integration; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.stream.Stream; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("unchecked") +public class ReactiveToImperativeTest { + + @Test + public void testAwait() { + Uni uni = (Uni) Uni.createFrom().item(() -> 1); + + // tag::await[] + T t = uni.await().indefinitely(); + // end::await[] + + assertThat(t).isEqualTo(1); + } + + @Test + public void testAwaitAtMost() { + Uni uni = (Uni) Uni.createFrom().item(() -> 1); + + // tag::atMost[] + T t = uni.await().atMost(Duration.ofSeconds(1)); + // end::atMost[] + + assertThat(t).isEqualTo(1); + } + + @Test + public void test() { + Multi multi = (Multi) Multi.createFrom().items(1, 2, 3); + + // tag::iterable[] + Iterable iterable = multi.subscribe().asIterable(); + for (T item : iterable) { + doSomethingWithItem(item); + } + // end::iterable[] + + // tag::stream[] + Stream stream = multi.subscribe().asStream(); + stream.forEach(this::doSomethingWithItem); + // end::stream[] + } + + private void doSomethingWithItem(T item) { + assertThat(item).isIn(1, 2, 3); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ReactorTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ReactorTest.java new file mode 100644 index 000000000..83f629379 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/ReactorTest.java @@ -0,0 +1,158 @@ +package guides.integration; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.converters.multi.MultiReactorConverters; +import io.smallrye.mutiny.converters.uni.UniReactorConverters; +import mutiny.zero.flow.adapters.AdaptersToFlow; +import mutiny.zero.flow.adapters.AdaptersToReactiveStreams; +import org.junit.jupiter.api.Test; +import org.reactivestreams.Publisher; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +import java.util.List; +import java.util.concurrent.Flow; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("unchecked") +public class ReactorTest { + + @Test + public void testMultiCreation() { + Flux flux = getFlux(); + Mono mono = getMono(); + + // tag::reactor-multi-create[] + Flow.Publisher fluxAsPublisher = AdaptersToFlow.publisher(flux); + Multi multiFromFlux = Multi.createFrom().publisher(fluxAsPublisher); + + Flow.Publisher monoAsPublisher = AdaptersToFlow.publisher(mono); + Multi multiFromMono = Multi.createFrom().publisher(monoAsPublisher); + // end::reactor-multi-create[] + + List list = multiFromFlux + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a", "b", "c"); + + list = multiFromMono + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a"); + + } + + @Test + public void testUniCreation() { + Flux flux = getFlux(); + Mono mono = getMono(); + + // tag::reactor-uni-create[] + Flow.Publisher fluxAsPublisher = AdaptersToFlow.publisher(flux); + Uni uniFromFlux = Uni.createFrom().publisher(fluxAsPublisher); + + Flow.Publisher monoAsPublisher = AdaptersToFlow.publisher(mono); + Uni uniFromMono = Uni.createFrom().publisher(monoAsPublisher); + // end::reactor-uni-create[] + + String s = uniFromFlux + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = uniFromMono + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + } + + @Test + public void testCreationFromMulti() { + Multi multi = getMulti(); + + // tag::reactor-create-multi[] + Publisher multiAsLegacyPublisher = AdaptersToReactiveStreams.publisher(multi); + + Flux fluxFromMulti = Flux.from(multiAsLegacyPublisher); + Mono monoFromMulti = Mono.from(multiAsLegacyPublisher); + // end::reactor-create-multi[] + + List list = fluxFromMulti + .map(Object::toString) + .collectList() + .block(); + assertThat(list).containsExactly("a", "b", "c"); + + String s = monoFromMulti + .map(Object::toString) + .block(); + assertThat(s).isEqualTo("a"); + } + + @Test + public void testCreationFromUni() { + Uni uni = getUni(); + + // tag::reactor-create-uni[] + Flux fluxFromUni = uni.convert().with(UniReactorConverters.toFlux()); + Mono monoFromUni = uni.convert().with(UniReactorConverters.toMono()); + // end::reactor-create-uni[] + + List list = fluxFromUni + .map(Object::toString) + .collectList() + .block(); + assertThat(list).containsExactly("a"); + + String s = monoFromUni + .map(Object::toString) + .block(); + assertThat(s).isEqualTo("a"); + } + + private Flux getFlux() { + return Flux.just("a", "b", "c") + .map(s -> (T) s); + } + + private Mono getMono() { + return Mono.just("a") + .map(s -> (T) s); + } + + private Multi getMulti() { + return Multi.createFrom().items("a", "b", "c") + .map(s -> (T) s); + } + + private Uni getUni() { + return Uni.createFrom().item("a") + .map(s -> (T) s); + } + + @Test + public void uniExportToReactor() { + Uni uni = Uni.createFrom().item("hello"); + // tag::uni-export[] + Mono mono = uni.convert().with(UniReactorConverters.toMono()); + Flux flux = uni.convert().with(UniReactorConverters.toFlux()); + // end::uni-export[] + + assertThat(mono.block()).isEqualTo("hello"); + assertThat(flux.blockFirst()).isEqualTo("hello"); + } + + @Test + public void multiExportToReactor() { + Multi multi = Multi.createFrom().items("hello", "bonjour"); + // tag::multi-export[] + Mono mono = multi.convert().with(MultiReactorConverters.toMono()); + Flux flux = multi.convert().with(MultiReactorConverters.toFlux()); + // end::multi-export[] + + assertThat(mono.block()).isEqualTo("hello"); + assertThat(flux.toIterable()).containsExactly("hello", "bonjour"); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/RxJavaTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/RxJavaTest.java new file mode 100644 index 000000000..dd1ae117c --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/integration/RxJavaTest.java @@ -0,0 +1,277 @@ +package guides.integration; + +import io.reactivex.rxjava3.core.*; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.converters.multi.MultiRx3Converters; +import io.smallrye.mutiny.converters.uni.UniRx3Converters; +import mutiny.zero.flow.adapters.AdaptersToFlow; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.Optional; +import java.util.concurrent.Flow; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("unchecked") +public class RxJavaTest { + + @Test + public void testMultiCreation() { + Observable observable = getObservable(); + Flowable flowable = getFlowable(); + + // tag::rx-multi-create-observable[] + Multi multiFromObservable = Multi.createFrom() + .converter(MultiRx3Converters.fromObservable(), observable); + // end::rx-multi-create-observable[] + + // tag::rx-multi-create-flowable[] + Flow.Publisher flowableAsPublisher = AdaptersToFlow.publisher(flowable); + + Multi multiFromFlowable = Multi.createFrom().publisher(flowableAsPublisher); + // end::rx-multi-create-flowable[] + + List list = multiFromObservable + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a", "b", "c"); + + list = multiFromFlowable + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a", "b", "c"); + + Completable completable = getCompletable(); + Single single = getSingle(); + Maybe maybe = getMaybe(); + Maybe emptyMaybe = getEmptyMaybe(); + + // tag::rx-multi-create-single[] + Multi multiFromCompletable = Multi.createFrom() + .converter(MultiRx3Converters.fromCompletable(), completable); + Multi multiFromSingle = Multi.createFrom() + .converter(MultiRx3Converters.fromSingle(), single); + Multi multiFromMaybe = Multi.createFrom() + .converter(MultiRx3Converters.fromMaybe(), maybe); + Multi multiFromEmptyMaybe = Multi.createFrom() + .converter(MultiRx3Converters.fromMaybe(), emptyMaybe); + // end::rx-multi-create-single[] + + list = multiFromCompletable + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).isEmpty(); + + list = multiFromSingle + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a"); + + list = multiFromMaybe + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a"); + + list = multiFromEmptyMaybe + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).isEmpty(); + } + + @Test + public void testUniCreation() { + Observable observable = getObservable(); + Flowable flowable = getFlowable(); + + // tag::rx-uni-create-observable[] + Uni uniFromObservable = Uni.createFrom().converter( + UniRx3Converters.fromObservable(), observable); + // end::rx-uni-create-observable[] + + // tag::rx-uni-create-flowable[] + Flow.Publisher flowableAsPublisher = AdaptersToFlow.publisher(flowable); + + Uni uniFromFlowable = Uni.createFrom().publisher(flowableAsPublisher); + // end::rx-uni-create-flowable[] + + String s = uniFromFlowable + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = uniFromObservable + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + Completable completable = getCompletable(); + Single single = getSingle(); + Maybe maybe = getMaybe(); + Maybe emptyMaybe = getEmptyMaybe(); + + // tag::rx-uni-create-single[] + Uni multiFromCompletable = Uni.createFrom() + .converter(UniRx3Converters.fromCompletable(), completable); + Uni multiFromSingle = Uni.createFrom() + .converter(UniRx3Converters.fromSingle(), single); + Uni multiFromMaybe = Uni.createFrom() + .converter(UniRx3Converters.fromMaybe(), maybe); + Uni multiFromEmptyMaybe = Uni.createFrom() + .converter(UniRx3Converters.fromMaybe(), emptyMaybe); + // end::rx-uni-create-single[] + + Void v = multiFromCompletable + .await().indefinitely(); + assertThat(v).isNull(); + + s = multiFromSingle + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = multiFromMaybe + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = multiFromEmptyMaybe + .onItem().castTo(String.class) + .await().indefinitely(); + assertThat(s).isNull(); + } + + @Test + public void testCreatingRxFromMulti() { + Multi multi = getMulti(); + + // tag::create-rx-from-multi[] + Completable completable = multi.convert() + .with(MultiRx3Converters.toCompletable()); + Single> single = multi.convert() + .with(MultiRx3Converters.toSingle()); + Single single2 = multi.convert() + .with(MultiRx3Converters + .toSingle().onEmptyThrow(() -> new Exception("D'oh!"))); + Maybe maybe = multi.convert() + .with(MultiRx3Converters.toMaybe()); + Observable observable = multi.convert() + .with(MultiRx3Converters.toObservable()); + Flowable flowable = multi.convert() + .with(MultiRx3Converters.toFlowable()); + // end::create-rx-from-multi[] + + completable.blockingAwait(); + assertThat(single.blockingGet()).contains((T) "a"); + assertThat(single2.blockingGet()).isEqualTo("a"); + assertThat(maybe.blockingGet()).isEqualTo("a"); + assertThat(observable.blockingIterable()).containsExactly((T) "a", (T) "b", (T) "c"); + assertThat(flowable.blockingIterable()).containsExactly((T) "a", (T) "b", (T) "c"); + } + + @Test + public void testCreatingRxFromUni() { + Uni uni = getUni(); + + // tag::create-rx-from-uni[] + Completable completable = uni.convert().with(UniRx3Converters.toCompletable()); + Single> single = uni.convert().with(UniRx3Converters.toSingle()); + Single single2 = uni.convert().with(UniRx3Converters.toSingle().failOnNull()); + Maybe maybe = uni.convert().with(UniRx3Converters.toMaybe()); + Observable observable = uni.convert().with(UniRx3Converters.toObservable()); + Flowable flowable = uni.convert().with(UniRx3Converters.toFlowable()); + // end::create-rx-from-uni[] + + completable.blockingAwait(); + assertThat(single.blockingGet()).contains((T) "a"); + assertThat(single2.blockingGet()).isEqualTo("a"); + assertThat(maybe.blockingGet()).isEqualTo("a"); + assertThat(observable.blockingIterable()).containsExactly((T) "a"); + assertThat(flowable.blockingIterable()).containsExactly((T) "a"); + } + + @Test + public void uniExportToRx() { + Uni uni = Uni.createFrom().item("hello"); + // + Completable completable = uni.convert().with(UniRx3Converters.toCompletable()); + Single> single = uni.convert().with(UniRx3Converters.toSingle()); + Single single2 = uni.convert().with(UniRx3Converters.toSingle().failOnNull()); + Maybe maybe = uni.convert().with(UniRx3Converters.toMaybe()); + Observable observable = uni.convert().with(UniRx3Converters.toObservable()); + Flowable flowable = uni.convert().with(UniRx3Converters.toFlowable()); + // + + completable.test().assertComplete(); + single.test().assertValue(o -> o.isPresent() && o.get().equals("hello")); + single2.test().assertValue("hello"); + maybe.test().assertValue("hello"); + observable.test().assertValue("hello").assertComplete(); + flowable.test().assertValue("hello").assertComplete(); + } + + @Test + public void multiExportToRx() { + Multi multi = Multi.createFrom().items("hello", "bonjour"); + // + Completable completable = multi.convert() + .with(MultiRx3Converters.toCompletable()); + Single> single = multi.convert() + .with(MultiRx3Converters.toSingle()); + Single single2 = multi.convert() + .with(MultiRx3Converters.toSingle().onEmptyThrow(() -> new Exception("D'oh!"))); + Maybe maybe = multi.convert() + .with(MultiRx3Converters.toMaybe()); + Observable observable = multi.convert() + .with(MultiRx3Converters.toObservable()); + Flowable flowable = multi.convert() + .with(MultiRx3Converters.toFlowable()); + // + + completable.test().assertComplete(); + single.test().assertValue(o -> o.isPresent() && o.get().equals("hello")); + single2.test().assertValue("hello"); + maybe.test().assertValue("hello"); + observable.test().assertValues("hello", "bonjour").assertComplete(); + flowable.test().assertValues("hello", "bonjour").assertComplete(); + } + + private Observable getObservable() { + return Observable.just("a", "b", "c") + .map(s -> (T) s); + } + + private Flowable getFlowable() { + return Flowable.just("a", "b", "c") + .map(s -> (T) s); + } + + private Single getSingle() { + return Single.just("a") + .map(s -> (T) s); + } + + private Maybe getMaybe() { + return Maybe.just("a") + .map(s -> (T) s); + } + + private Maybe getEmptyMaybe() { + return Maybe.empty(); + } + + private Completable getCompletable() { + return Completable.complete(); + } + + private Multi getMulti() { + return Multi.createFrom().items("a", "b", "c") + .map(s -> (T) s); + } + + private Uni getUni() { + return Uni.createFrom().item("a") + .map(s -> (T) s); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/BroadcastProcessorTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/BroadcastProcessorTest.java new file mode 100644 index 000000000..36172511c --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/BroadcastProcessorTest.java @@ -0,0 +1,35 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor; +import org.junit.jupiter.api.Test; + +public class BroadcastProcessorTest { + + @Test + public void test() { + // tag::code[] + BroadcastProcessor processor = BroadcastProcessor.create(); + Multi multi = processor + .onItem().transform(String::toUpperCase) + .onFailure().recoverWithItem("d'oh"); + + new Thread(() -> { + for (int i = 0; i < 1000; i++) { + processor.onNext(Integer.toString(i)); + } + processor.onComplete(); + }).start(); + + // Subscribers can subscribe at any time. + // They will only receive items emitted after their subscription. + // If the source is already terminated (by a completion or a failure signal) + // the subscriber receives this signal. + + // end::code[] + AssertSubscriber subscriber = AssertSubscriber.create(Long.MAX_VALUE); + multi.subscribe().withSubscriber(subscriber) + .awaitCompletion(); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/CollectingItemsTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/CollectingItemsTest.java new file mode 100644 index 000000000..b48d62c53 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/CollectingItemsTest.java @@ -0,0 +1,99 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.tuples.Tuple2; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.*; + +@SuppressWarnings("Convert2MethodRef") +public class CollectingItemsTest { + + @Test + public void testList() { + // tag::list[] + Multi multi = getMulti(); + Uni> uni = multi.collect().asList(); + // end::list[] + + assertThat(uni.await().indefinitely()).containsExactly("a", "b", "c"); + + // tag::first[] + Uni first = multi.collect().first(); + Uni last = multi.collect().last(); + // end::first[] + + assertThat(first.await().indefinitely()).isEqualTo("a"); + assertThat(last.await().indefinitely()).isEqualTo("c"); + } + + @Test + public void testMap() { + // tag::map[] + Multi multi = getMulti(); + Uni> uni = + multi.collect() + .asMap(item -> getUniqueKeyForItem(item)); + // end::map[] + + assertThat(uni.await().indefinitely()).hasSize(3); + } + + @Test + public void testMultiMap() { + // tag::multimap[] + Multi multi = getMulti(); + Uni>> uni = + multi.collect() + .asMultiMap(item -> getKeyForItem(item)); + // end::multimap[] + + assertThat(uni.await().indefinitely()).hasSize(2); + } + + @Test + public void testCustomAccumulator() { + // tag::accumulator[] + Multi multi = getMulti(); + Uni uni = multi.collect() + .in(MyCollection::new, (col, item) -> col.add(item)); + // end::accumulator[] + + assertThat(uni.await().indefinitely()).hasSize(3); + + // tag::collector[] + Uni count = multi.collect() + .with(Collectors.counting()); + // end::collector[] + + assertThat(count.await().indefinitely()).isEqualTo(3); + } + + private String getKeyForItem(String item) { + if( item.equalsIgnoreCase("b")) { + return "b"; + } else { + return "a"; + } + } + + private String getUniqueKeyForItem(String item) { + return item; + } + + private Multi getMulti() { + return Multi.createFrom().items("a", "b", "c"); + } + + private static class MyCollection extends ArrayList { + + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/CombiningItemsTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/CombiningItemsTest.java new file mode 100644 index 000000000..1f02148fd --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/CombiningItemsTest.java @@ -0,0 +1,177 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.tuples.Tuple2; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({ "unchecked", "Convert2MethodRef" }) +@ExtendWith(SystemOutCaptureExtension.class) +public class CombiningItemsTest { + + @Test + public void testWithUni(SystemOut out) throws InterruptedException { + // tag::invocations[] + Uni uniA = invokeHttpServiceA(); + Uni uniB = invokeHttpServiceB(); + // end::invocations[] + + // tag::combination[] + Uni> responses = Uni.combine() + .all().unis(uniA, uniB).asTuple(); + // end::combination[] + + // tag::subscription[] + Uni.combine().all().unis(uniA, uniB).asTuple() + .subscribe().with(tuple -> { + System.out.println("Response from A: " + tuple.getItem1()); + System.out.println("Response from B: " + tuple.getItem2()); + }); + // end::subscription[] + + await().until(() -> out.get().contains("Response from A: Response{content='A'}")); + await().until(() -> out.get().contains("Response from B: Response{content='B'}")); + + // tag::combined-with[] + Uni> uni = Uni.combine() + .all().unis(uniA, uniB).with( + listOfResponses -> { + Map map = new LinkedHashMap<>(); + map.put("A", (Response) listOfResponses.get(0)); + map.put("B", (Response) listOfResponses.get(1)); + return map; + } + ); + // end::combined-with[] + + assertThat(uni.await().indefinitely()).containsKeys("A", "B"); + + // + Uni> uni1 = Uni.combine() + .all().unis(uniA, uniB).withUni( + listOfResponses -> { + Map map = new LinkedHashMap<>(); + map.put("A", (Response) listOfResponses.get(0)); + map.put("B", (Response) listOfResponses.get(1)); + return Uni.createFrom().item(map); + } + ); + // + + assertThat(uni1.await().indefinitely()).containsKeys("A", "B"); + + + Thread.sleep(100); + } + + @Test + public void testWithMulti() throws InterruptedException { + Multi multiA = getMultiA(); + Multi multiB = getMultiB(); + + // tag::combine-multi[] + Multi> combined = Multi.createBy().combining() + .streams(multiA, multiB).asTuple(); + // end::combine-multi[] + + CountDownLatch latch = new CountDownLatch(1); + AtomicInteger i = new AtomicInteger(); + combined.subscribe().with( + tuple -> { + int v = i.incrementAndGet(); + assertThat(tuple.getItem1()).isEqualTo("a" + v); + assertThat(tuple.getItem2()).isEqualTo("b" + v); + }, + () -> latch.countDown() + ); + + assertThat(latch.await(10, TimeUnit.MILLISECONDS)).isTrue(); + + // tag::combine-multi-with[] + Multi.createBy().combining() + .streams(multiA, multiB).using(list -> combineItems(list)) + .subscribe().with(x -> { + // do something with the combined items + }); + // end::combine-multi-with[] + } + + @Test + public void testCombineLast() { + Multi multiA = getMultiA(); + Multi multiB = getMultiB(); + + // tag::combine-last[] + Multi> multi1 = Multi.createBy().combining() + .streams(multiA, multiB) + .latestItems().asTuple(); + + // or + + Multi multi2 = Multi.createBy().combining() + .streams(multiA, multiB) + .latestItems().using(list -> combineItems(list)); + // end::combine-last[] + + List> list = multi1.collect().asList().await().indefinitely(); + assertThat(list).hasSize(3); + assertThat(list.toString()).contains("a3", "b1", "b2", "b3").doesNotContain("a1", "a2"); + List strings = multi2.collect().asList().await().indefinitely(); + assertThat(strings).hasSize(3).containsExactly("a3b1", "a3b2", "a3b3"); + } + + private String combineItems(List list) { + return "" + list.get(0) + list.get(1); + } + + private Multi getMultiA() { + return Multi.createFrom().items("a1", "a2", "a3") + .onItem().transform(s -> (A) s); + } + + private Multi getMultiB() { + return Multi.createFrom().items("b1", "b2", "b3") + .onItem().transform(s -> (B) s); + } + + private Uni invokeHttpServiceA() { + return Uni.createFrom().item(new Response("A")) + .onItem().delayIt().by(Duration.ofMillis(10)); + } + + private Uni invokeHttpServiceB() { + return Uni.createFrom().item(new Response("B")) + .onItem().delayIt().by(Duration.ofMillis(30)); + } + + static class Response { + + private final String content; + + public Response(String content) { + this.content = content; + } + + @Override + public String toString() { + return "Response{" + + "content='" + content + '\'' + + '}'; + } + } + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/ControlDemandTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/ControlDemandTest.java new file mode 100644 index 000000000..2ea2694e1 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/ControlDemandTest.java @@ -0,0 +1,93 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import io.smallrye.mutiny.subscription.DemandPacer; +import io.smallrye.mutiny.subscription.FixedDemandPacer; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.time.temporal.ChronoUnit; + +import static org.assertj.core.api.Assertions.assertThat; + +class ControlDemandTest { + + @Test + void pacing() { + // tag::pacing[] + FixedDemandPacer pacer = new FixedDemandPacer(25L, Duration.ofMillis(100L)); + + Multi multi = Multi.createFrom().range(0, 100) + .paceDemand().on(Infrastructure.getDefaultWorkerPool()).using(pacer); + // end::pacing[] + + AssertSubscriber sub = multi.subscribe().withSubscriber(AssertSubscriber.create()); + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(100); + } + + @Test + void customPacer() { + // tag::custom-pacer[] + DemandPacer pacer = new DemandPacer() { + + @Override + public Request initial() { + return new Request(10L, Duration.ofMillis(100L)); + } + + @Override + public Request apply(Request previousRequest, long observedItemsCount) { + return new Request(previousRequest.demand() * 2, previousRequest.delay().plus(10, ChronoUnit.MILLIS)); + } + }; + // end::custom-pacer[] + } + + @Test + void capping() { + // tag::capConstant[] + AssertSubscriber sub = AssertSubscriber.create(); + + sub = Multi.createFrom().range(0, 100) + .capDemandsTo(50L) + .subscribe().withSubscriber(sub); + + // A first batch of 50 (capped), 25 remain outstanding + sub.request(75L).assertNotTerminated(); + assertThat(sub.getItems()).hasSize(50); + + // Second batch: 25 + 25 = 50 + sub.request(25L).assertCompleted(); + assertThat(sub.getItems()).hasSize(100); + // end::capConstant[] + } + + @Test + void cappingFunction() { + // tag::capFunction[] + AssertSubscriber sub = AssertSubscriber.create(); + + sub = Multi.createFrom().range(0, 100) + .capDemandsUsing(n -> { + if (n > 1) { + return (long) (((double) n) * 0.75d); + } else { + return n; + } + }) + .subscribe().withSubscriber(sub); + + sub.request(100L).assertNotTerminated(); + assertThat(sub.getItems()).hasSize(75); + + sub.request(1L).assertNotTerminated(); + assertThat(sub.getItems()).hasSize(94); + + sub.request(Long.MAX_VALUE).assertCompleted(); + assertThat(sub.getItems()).hasSize(100); + // end::capFunction[] + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/DelayTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/DelayTest.java new file mode 100644 index 000000000..052004e8b --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/DelayTest.java @@ -0,0 +1,87 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.List; +import java.util.Random; + +import static org.assertj.core.api.Assertions.assertThat; + +public class DelayTest { + + @Test + public void testDelayBy() { + // tag::delay-by[] + Uni delayed = Uni.createFrom().item("hello") + .onItem().delayIt().by(Duration.ofMillis(10)); + // end::delay-by[] + String r = delayed.map(s -> "Delayed " + s) + .await().indefinitely(); + assertThat(r).isEqualTo("Delayed hello"); + } + + @Test + public void testDelayUntil() { + // tag::delay-until[] + Uni delayed = Uni.createFrom().item("hello") + // The write method returns a Uni completed + // when the operation is done. + .onItem().delayIt().until(this::write); + // end::delay-until[] + String r = delayed + .map(s -> "Written " + s) + .await().indefinitely(); + assertThat(r).isEqualTo("Written hello"); + } + + @Test + public void testDelayMulti() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5); + // tag::delay-multi[] + Multi delayed = multi + .onItem().call(i -> + // Delay the emission until the returned uni emits its item + Uni.createFrom().nullItem().onItem().delayIt().by(Duration.ofMillis(10)) + ); + // end::delay-multi[] + assertThat(delayed.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5); + } + + @Test + public void testThrottling() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5); + // tag::throttling-multi[] + // Introduce a one second delay between each item + Multi ticks = Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onOverflow().drop(); + Multi delayed = Multi.createBy().combining().streams(ticks, multi) + .using((x, item) -> item); + // end::throttling-multi[] + assertThat(delayed.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5); + } + + @Test + public void testDelayMultiRandom() { + // tag::delay-multi-random[] + Random random = new Random(); + Multi delayed = Multi.createFrom().items(1, 2, 3, 4, 5) + .onItem().call(i -> { + Duration delay = Duration.ofMillis(random.nextInt(100) + 1); + return Uni.createFrom().nullItem().onItem().delayIt().by(delay); + }); + // end::delay-multi-random[] + assertThat(delayed.collect().asList() + .await().indefinitely()) + .containsExactlyInAnyOrder(1, 2, 3, 4, 5); + } + + private Uni write(String s) { + return Uni.createFrom().item(s) + .onItem().delayIt().by(Duration.ofMillis(20)) + .onItem().ignore().andContinueWithNull(); + } + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/EmitOnTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/EmitOnTest.java new file mode 100644 index 000000000..c9398aa36 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/EmitOnTest.java @@ -0,0 +1,62 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class EmitOnTest { + + @Test + public void testEmitOn() { + // tag::example[] + Uni uni = Uni.createFrom().emitter(emitter -> + new Thread(() -> + emitter.complete("hello from " + + Thread.currentThread().getName()) + ).start() + ) + .onItem().transform(item -> { + // Called on the emission thread. + return item.toUpperCase(); + }); + // end::example[] + + assertThat(uni.await().indefinitely()).startsWith("HELLO FROM").doesNotContain("MAIN"); + } + + @Test + public void test(SystemOut out) { + Uni uni = Uni.createFrom().item("hello"); + Multi multi = Multi.createFrom().items("a", "b", "c"); + + ExecutorService executor = Executors.newFixedThreadPool(4); + // tag::code[] + String res0 = uni.emitOn(executor) + .onItem() + .invoke(s -> System.out.println("Received item `" + s + "` on thread: " + + Thread.currentThread().getName())) + .await().indefinitely(); + + String res1 = multi.emitOn(executor) + .onItem() + .invoke(s -> System.out.println("Received item `" + s + "` on thread: " + + Thread.currentThread().getName())) + .collect().first() + .await().indefinitely(); + // end::code[] + + assertThat(out.get()).doesNotContain("main").contains("pool-").contains("hello", "a"); + assertThat(res0).isEqualTo("hello"); + assertThat(res1).isEqualTo("a"); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/FilterTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/FilterTest.java new file mode 100644 index 000000000..39e72d024 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/FilterTest.java @@ -0,0 +1,101 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class FilterTest { + + @Test + public void filter() { + Multi multi = Multi.createFrom().range(1, 11); + // tag::filter[] + List list = multi + .select().where(i -> i > 6) + .collect().asList() + .await().indefinitely(); + // end::filter[] + + // tag::test[] + List list2 = multi + .select().when(i -> Uni.createFrom().item(i > 6)) + .collect().asList() + .await().indefinitely(); + // end::test[] + + assertThat(list).containsExactly(7, 8, 9, 10); + assertThat(list2).containsExactly(7, 8, 9, 10); + } + + @Test + public void take() { + Multi multi = Multi.createFrom().range(1, 11); + // + List list = multi + .select().first(2) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .select().first(i -> i < 3) + .collect().asList() + .await().indefinitely(); + + List list3 = multi + .select().last(2) + .collect().asList() + .await().indefinitely(); + // + assertThat(list).containsExactly(1, 2); + assertThat(list2).containsExactly(1, 2); + assertThat(list3).containsExactly(9, 10); + } + + @Test + public void skip() { + Multi multi = Multi.createFrom().range(1, 11); + // + List list = multi + .skip().first(8) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .skip().first(i -> i < 9) + .collect().asList() + .await().indefinitely(); + + List list3 = multi + .skip().last(8) + .collect().asList() + .await().indefinitely(); + // + assertThat(list).containsExactly(9, 10); + assertThat(list2).containsExactly(9, 10); + assertThat(list3).containsExactly(1, 2); + } + + @Test + public void distinct() { + Multi multi = Multi.createFrom().items(1, 1, 2, 3, 4, 5, 5, 6); + // + List list = multi + .select().distinct() + .collect().asList() + .await().indefinitely(); + // + + // + List list2 = multi + .skip().repetitions() + .collect().asList() + .await().indefinitely(); + // + assertThat(list).containsExactly(1, 2, 3, 4, 5, 6); + assertThat(list2).containsExactly(1, 2, 3, 4, 5, 6); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/MergeConcatTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/MergeConcatTest.java new file mode 100644 index 000000000..580404e7e --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/MergeConcatTest.java @@ -0,0 +1,119 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import org.awaitility.Awaitility; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.List; +import java.util.Random; +import java.util.concurrent.CopyOnWriteArrayList; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({ "unchecked", "Convert2MethodRef" }) +@ExtendWith(SystemOutCaptureExtension.class) +public class MergeConcatTest { + + private final Random random = new Random(); + + @Test + public void testMerge() { + // tag::merge[] + Multi multi1 = getFirstMulti(); + Multi multi2 = getSecondMulti(); + + Multi merged = Multi.createBy().merging().streams(multi1, multi2); + // end::merge[] + + List received = new CopyOnWriteArrayList<>(); + merged.subscribe().with(received::add); + await().until(() -> received.size() == 9); + assertThat(received).contains(1, 2, 3, 4, 5, 6, 7, 8, 9); + } + + @Test + public void testConcat() { + // tag::concat[] + Multi multi1 = getFirstMulti(); + Multi multi2 = getSecondMulti(); + + Multi concatenated = Multi.createBy().concatenating().streams(multi1, multi2); + // end::concat[] + + List received = new CopyOnWriteArrayList<>(); + concatenated.subscribe().with(received::add); + await().until(() -> received.size() == 9); + assertThat(received).containsExactly(1, 2, 3, 4, 5, 6, 7, 8, 9); + } + + @Test + public void testMergeTicks(SystemOut out) { + // tag::merge-ticks[] + Multi first = Multi.createFrom().ticks().every(Duration.ofMillis(10)) + .onItem().transform(l -> "Stream 1 - " + l); + + Multi second = Multi.createFrom().ticks().every(Duration.ofMillis(15)) + .onItem().transform(l -> "Stream 2 - " + l); + + Multi third = Multi.createFrom().ticks().every(Duration.ofMillis(5)) + .onItem().transform(l -> "Stream 3 - " + l); + + Cancellable cancellable = Multi.createBy().merging().streams(first, second, third) + .subscribe().with(s -> System.out.println("Got item: " + s)); + // end::merge-ticks[] + + await().until(() -> out.get().contains("Got item: Stream 3 - 10")); + cancellable.cancel(); + } + + @Test + public void testConcatenateStrings(SystemOut out) { + // tag::concatenate-strings[] + Multi first = Multi.createFrom().items("A1", "A2", "A3"); + Multi second = Multi.createFrom().items("B1", "B2", "B3"); + + Multi.createBy().concatenating().streams(first, second) + .subscribe().with(item -> System.out.print(item)); // "A1A2A3B1B2B3" + + Multi.createBy().concatenating().streams(second, first) + .subscribe().with(item -> System.out.print(item)); // "B1B2B3A1A2A3" + // end::concatenate-strings[] + + await().until(() -> out.get().contains("A1A2A3B1B2B3")); + await().until(() -> out.get().contains("B1B2B3A1A2A3")); + + assertThat( + Multi.createBy().concatenating().streams(first, second) + .collect().in(StringBuffer::new, StringBuffer::append) + .await().indefinitely() + ).isEqualToIgnoringCase("A1A2A3B1B2B3"); + + assertThat( + Multi.createBy().concatenating().streams(second, first) + .collect().in(StringBuffer::new, StringBuffer::append) + .await().indefinitely() + ).isEqualToIgnoringCase("B1B2B3A1A2A3"); + + } + + private Multi getFirstMulti() { + return Multi.createFrom().items(1, 2, 3, 4, 5, 6) + .onItem().call(() -> Uni.createFrom().nullItem().onItem().delayIt() + .by(Duration.ofMillis(random.nextInt(100) + 1))) + .onItem().transform(i -> (T) i); + } + + private Multi getSecondMulti() { + return Multi.createFrom().items(7, 8, 9) + .onItem().call(() -> Uni.createFrom().nullItem().onItem().delayIt() + .by(Duration.ofMillis(random.nextInt(100) + 1))) + .onItem().transform(i -> (T) i); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/PaginationTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/PaginationTest.java new file mode 100644 index 000000000..e032de2a6 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/PaginationTest.java @@ -0,0 +1,97 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import org.junit.jupiter.api.Test; + +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; + +public class PaginationTest { + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test() { + // tag::code[] + PaginatedApi api = new PaginatedApi(); + + Multi stream = Multi.createBy().repeating() + .completionStage( + () -> new AtomicInteger(), + state -> api.getPage(state.getAndIncrement())) + .until(list -> list.isEmpty()) + .onItem().disjoint(); + // end::code[] + stream.subscribe().withSubscriber(AssertSubscriber.create(10)) + .assertCompleted() + .assertItems("a", "b", "c", "d", "e", "f", "g", "h"); + + } + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test2() { + // tag::code2[] + PaginatedApi api = new PaginatedApi(); + + Multi stream = Multi.createBy().repeating() + .uni( + () -> new AtomicInteger(), + state -> api.retrieve(state.getAndIncrement())) + .whilst(page -> page.hasNext()); + // end::code2[] + AssertSubscriber subscriber = stream.subscribe() + .withSubscriber(AssertSubscriber.create(10)) + .assertCompleted(); + + assertThat(subscriber.getItems()).hasSize(3); + + } + + private static class Page { + final boolean hasNext; + + private Page(boolean hasNext) { + this.hasNext = hasNext; + } + + public boolean hasNext() { + return hasNext; + } + } + + + private class PaginatedApi { + + Map> pages = new LinkedHashMap<>(); + + public PaginatedApi() { + pages.put(0, Arrays.asList("a", "b", "c")); + pages.put(1, Arrays.asList("d", "e", "f")); + pages.put(2, Arrays.asList("g", "h")); + pages.put(3, Collections.emptyList()); + } + + CompletionStage> getPage(int page) { + List strings = pages.get(page); + if (strings == null) { + strings = Collections.emptyList(); + } + return CompletableFuture.completedFuture(strings); + } + + + Uni retrieve(int page) { + if (page == 2) { + return Uni.createFrom().item(new Page(false)); + } + return Uni.createFrom().item(new Page(true)); + } + } + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/PollableSourceTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/PollableSourceTest.java new file mode 100644 index 000000000..d5b10e736 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/PollableSourceTest.java @@ -0,0 +1,84 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.awaitility.Awaitility.await; + +@ExtendWith(SystemOutCaptureExtension.class) +public class PollableSourceTest { + + private final ExecutorService executor = Executors.newSingleThreadExecutor(); + + @Test + public void test(SystemOut out) { // NOSONAR + // tag::code[] + PollableDataSource source = new PollableDataSource(); + // First creates a uni that emit the polled item. + // Because `poll` blocks, let's use a specific executor + Uni pollItemFromSource = Uni.createFrom().item(source::poll) + .runSubscriptionOn(executor); + // To get the stream of items, just repeat the uni indefinitely + Multi stream = pollItemFromSource.repeat().indefinitely(); + + Cancellable cancellable = stream.subscribe().with(item -> System.out.println("Polled item: " + item)); + // end::code[] + await().until(() -> source.counter.get() >= 4); + // tag::code[] + // ... later .. + // when you don't want the items anymore, cancel the subscription and close the source if needed. + cancellable.cancel(); + source.close(); + // end::code[] + } + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test2(SystemOut out) { // NOSONAR + // tag::code2[] + PollableDataSource source = new PollableDataSource(); + Multi stream = Multi.createBy().repeating() + .supplier(source::poll) + .until(s -> s == null) + .runSubscriptionOn(executor); + + stream.subscribe().with(item -> System.out.println("Polled item: " + item)); + // end::code2[] + await().until(() -> source.counter.get() >= 5); + } + + private static class PollableDataSource { + + private final AtomicInteger counter = new AtomicInteger(); + + String poll() { + block(); + if (counter.get() == 5) { + return null; + } + return Integer.toString(counter.getAndIncrement()); + } + + private void block() { + try { + Thread.sleep(100); // NOSONAR + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + + public void close() { + // do nothing. + } + } + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/RepetitionsTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/RepetitionsTest.java new file mode 100644 index 000000000..c32dcf760 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/RepetitionsTest.java @@ -0,0 +1,31 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class RepetitionsTest { + + @Test + public void distinct() { + Multi multi = Multi.createFrom().items(1, 1, 2, 3, 4, 5, 5, 6, 1, 4, 4); + // tag::distinct[] + List list = multi + .select().distinct() + .collect().asList() + .await().indefinitely(); + // end::distinct[] + + // tag::repetition[] + List list2 = multi + .skip().repetitions() + .collect().asList() + .await().indefinitely(); + // end::repetition[] + assertThat(list).containsExactly(1, 2, 3, 4, 5, 6); + assertThat(list2).containsExactly(1, 2, 3, 4, 5, 6, 1, 4); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/ReplayTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/ReplayTest.java new file mode 100644 index 000000000..268421678 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/ReplayTest.java @@ -0,0 +1,82 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ReplayTest { + + @Test + public void replayAll() { + // tag::replay-all[] + Multi upstream = Multi.createFrom().range(0, 10); + + Multi replay = Multi.createBy().replaying().ofMulti(upstream); + + List items_1 = replay.collect().asList().await().indefinitely(); + List items_2 = replay.collect().asList().await().indefinitely(); + // end::replay-all[] + + assertThat(items_1) + .isEqualTo(items_2) + .hasSize(10); + System.out.println(items_1); + } + + @Test + public void replayLast() { + // tag::replay-last[] + Multi upstream = Multi.createFrom().range(0, 10); + + Multi replay = Multi.createBy().replaying().upTo(3).ofMulti(upstream); + + List items_1 = replay.collect().asList().await().indefinitely(); + List items_2 = replay.collect().asList().await().indefinitely(); + // end::replay-last[] + + assertThat(items_1) + .isEqualTo(items_2) + .hasSize(3); + System.out.println(items_1); + } + + @Test + public void replayWithSeed() { + // tag::replay-seed[] + Multi upstream = Multi.createFrom().range(0, 10); + Iterable seed = Arrays.asList(-10, -5, -1); + + Multi replay = Multi.createBy().replaying().ofSeedAndMulti(seed, upstream); + + List items_1 = replay.collect().asList().await().indefinitely(); + List items_2 = replay.collect().asList().await().indefinitely(); + // end::replay-seed[] + + assertThat(items_1) + .isEqualTo(items_2) + .hasSize(13); + System.out.println(items_1); + } + + @Test + public void errors() { + // tag::replay-errors[] + Multi upstream = Multi.createBy().concatenating().streams( + Multi.createFrom().range(0, 10), + Multi.createFrom().failure(() -> new IOException("boom")) + ); + + Multi replay = Multi.createBy().replaying().upTo(3).ofMulti(upstream); + + replay.subscribe().with( + n -> System.out.println(" -> " + n), + failure -> System.out.println("Failed: " + failure.getMessage()), + () -> System.out.println("Completed")); + // end::replay-errors[] + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/RunSubscriptionOnTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/RunSubscriptionOnTest.java new file mode 100644 index 000000000..fbe4d38bf --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/RunSubscriptionOnTest.java @@ -0,0 +1,67 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.Executor; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Stream; + +import static org.awaitility.Awaitility.await; +import static org.hamcrest.CoreMatchers.is; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class RunSubscriptionOnTest { + + @Test + public void testRunSubscriptionOn(SystemOut out) { + Executor executor = Infrastructure.getDefaultExecutor(); + AtomicBoolean completed = new AtomicBoolean(); + //tag::runSubscriptionOn[] + Multi.createFrom().items(() -> { + // called on a thread from the executor + return retrieveItemsFromSource(); + }) + .onItem().transform(this::applySomeOperation) + .runSubscriptionOn(executor) + .subscribe().with( + item -> System.out.println("Item: " + item), + Throwable::printStackTrace, + () -> completed.set(true) + ); + //end::runSubscriptionOn[] + + await().untilAtomic(completed, is(true)); + } + + @Test + public void testEmitOn(SystemOut out) { + Executor executor = Infrastructure.getDefaultExecutor(); + AtomicBoolean completed = new AtomicBoolean(); + //tag::emitOn[] + Multi.createFrom().items(this::retrieveItemsFromSource) + .emitOn(executor) + .onItem().transform(this::applySomeOperation) + .subscribe().with( + item -> System.out.println("Item: " + item), + Throwable::printStackTrace, + () -> completed.set(true) + ); + //end::emitOn[] + + await().untilAtomic(completed, is(true)); + } + + public String applySomeOperation(String s) { + return s.toUpperCase(); + } + + public Stream retrieveItemsFromSource() { + return Stream.of("a", "b", "c"); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/SelectAndSkipTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/SelectAndSkipTest.java new file mode 100644 index 000000000..a8ffa4508 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/SelectAndSkipTest.java @@ -0,0 +1,65 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThat; + +public class SelectAndSkipTest { + + @Test + public void testSelect() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5, 6, 7, 8, 9); + + // tag::take-first[] + Multi firstThreeItems = multi.select().first(3); + // end::take-first[] + + // tag::take-last[] + Multi lastThreeItems = multi.select().last(3); + // end::take-last[] + + // tag::take-while[] + Multi takeWhile = multi.select().first(i -> i < 4); + // end::take-while[] + + // tag::take-for[] + Multi takeForDuration = multi.select().first(Duration.ofSeconds(1)); + // end::take-for[] + + assertThat(firstThreeItems.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + assertThat(takeWhile.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + assertThat(lastThreeItems.collect().asList().await().indefinitely()).containsExactly(7, 8, 9); + assertThat(takeForDuration.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5, 6, 7, 8, 9); + + } + + @Test + public void testSkip() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5, 6, 7, 8, 9); + + // tag::skip-first[] + Multi skipThreeItems = multi.skip().first(3); + // end::skip-first[] + + // tag::skip-last[] + Multi skipLastThreeItems = multi.skip().last(3); + // end::skip-last[] + + // tag::skip-while[] + Multi skipWhile = multi.skip().first(i -> i < 4); + // end::skip-while[] + + // tag::skip-for[] + Multi skipForDuration = multi.skip().first(Duration.ofSeconds(1)); + // end::skip-for[] + + assertThat(skipThreeItems.collect().asList().await().indefinitely()).containsExactly(4, 5, 6, 7, 8, 9); + assertThat(skipLastThreeItems.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4 ,5, 6); + assertThat(skipWhile.collect().asList().await().indefinitely()).containsExactly(4, 5, 6, 7, 8, 9); + assertThat(skipForDuration.collect().asList().await().indefinitely()).isEmpty(); + + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/SplitTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/SplitTest.java new file mode 100644 index 000000000..bf2855bb9 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/SplitTest.java @@ -0,0 +1,45 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +public class SplitTest { + + // tag::enum[] + enum Signals { + INPUT, + OUTPUT, + OTHER + } + // end::enum[] + + @Test + public void splitDemo() { + // tag::splits[] + Multi multi = Multi.createFrom().items( + "!a", "?b", "!c", "!d", "123", "?e" + ); + + var splitter = multi.split(Signals.class, s -> { + if (s.startsWith("?")) { + return Signals.INPUT; + } else if (s.startsWith("!")) { + return Signals.OUTPUT; + } else { + return Signals.OTHER; + } + }); + + splitter.get(Signals.INPUT) + .onItem().transform(s -> s.substring(1)) + .subscribe().with(signal -> System.out.println("input - " + signal)); + + splitter.get(Signals.OUTPUT) + .onItem().transform(s -> s.substring(1)) + .subscribe().with(signal -> System.out.println("output - " + signal)); + + splitter.get(Signals.OTHER) + .subscribe().with(signal -> System.out.println("other - " + signal)); + // end::splits[] + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/UniJoinTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/UniJoinTest.java new file mode 100644 index 000000000..a02897084 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/UniJoinTest.java @@ -0,0 +1,54 @@ +package guides.operators; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.groups.UniJoin; +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.List; +import java.util.function.Supplier; + +class UniJoinTest { + + @Test + void joinAll() { + // tag::join-all[] + Uni a = Uni.createFrom().item(1); + Uni b = Uni.createFrom().item(2); + Uni c = Uni.createFrom().item(3); + + Uni> res = Uni.join().all(a, b, c).andCollectFailures(); + // end::join-all[] + + // tag::join-all-ff[] + res = Uni.join().all(a, b, c).andFailFast(); + // end::join-all-ff[] + } + + void joinFirst(Uni a, Uni b, Uni c) { + + // tag::join-first[] + Uni res = Uni.join().first(a, b, c).toTerminate(); + // end::join-first[] + + // tag::join-first-withitem[] + res = Uni.join().first(a, b, c).withItem(); + // end::join-first-withitem[] + + Supplier> supplier = () -> Uni.createFrom().item(63); + boolean someCondition = false; + + // tag::builder[] + UniJoin.Builder builder = Uni.join().builder(); + + while (someCondition) { + Uni uni = supplier.get(); + builder.add(uni); + } + + Uni> all = builder.joinAll().andFailFast(); + + Uni first = builder.joinFirst().withItem(); + // end::builder[] + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/UnicastProcessorTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/UnicastProcessorTest.java new file mode 100644 index 000000000..237b59345 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/operators/UnicastProcessorTest.java @@ -0,0 +1,34 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.operators.multi.processors.UnicastProcessor; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class UnicastProcessorTest { + + @Test + public void test() { + // tag::code[] + UnicastProcessor processor = UnicastProcessor.create(); + Multi multi = processor + .onItem().transform(String::toUpperCase) + .onFailure().recoverWithItem("d'oh"); + + // Create a source of items that does not follow the request protocol + new Thread(() -> { + for (int i = 0; i < 1000; i++) { + processor.onNext(Integer.toString(i)); + } + processor.onComplete(); + }).start(); + + // end::code[] + AssertSubscriber subscriber = AssertSubscriber.create(Long.MAX_VALUE); + multi.subscribe().withSubscriber(subscriber) + .awaitCompletion() + .run(() -> assertThat(subscriber.getItems()).hasSize(1000)); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/guides/reference/PitfallsTest.java b/content/docs/smallrye-mutiny/2/_examples/java/guides/reference/PitfallsTest.java new file mode 100644 index 000000000..1db116a84 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/guides/reference/PitfallsTest.java @@ -0,0 +1,64 @@ +package guides.reference; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; + +public class PitfallsTest { + + private Uni fetch(String id) { + return Uni.createFrom().item("Yolo"); + } + + @Test + public void noMagicScheduling() { + // tag::noMagicJoin[] + Uni> data = Uni.join().all( + fetch("abc"), + fetch("def"), + fetch("123")).andFailFast(); + // end::noMagicJoin[] + } + + @Test + public void inMemoryData() { + // tag::inMemoryData[] + Uni uni = Uni.createFrom().item(123); + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5); + // end::inMemoryData[] + } + + private List obtainValues(String key) { + return List.of(); + } + + // tag::suspiciousPublisher[] + public Multi fetchData(String key) { + List strings = obtainValues(key); + return Multi.createFrom().iterable(strings); + } + // end::suspiciousPublisher[] + + private Multi streamData(String key) { + return Multi.createFrom().items(""); + } + + private Multi extractData(String line) { + return Multi.createFrom().items(""); + } + + private Multi flatmap() { + // tag::flatmap-ism[] + Multi stream = streamData("abc"); + return stream.onItem().transformToMultiAndMerge(line -> { + if (line.trim().length() > 10) { + return extractData(line); + } else { + return Multi.createFrom().item("[N/A]"); + } + }); + // end::flatmap-ism[] + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/tutorials/CreatingMultiTest.java b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/CreatingMultiTest.java new file mode 100644 index 000000000..b2c5e621a --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/CreatingMultiTest.java @@ -0,0 +1,134 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.BlockingIterable; +import io.smallrye.mutiny.subscription.Cancellable; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.Arrays; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.IntStream; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({"Convert2MethodRef"}) +@ExtendWith(SystemOutCaptureExtension.class) +public class CreatingMultiTest { + + @Test + void pipeline(SystemOut out) { + // tag::pipeline[] + Multi.createFrom().items(1, 2, 3, 4, 5) + .onItem().transform(i -> i * 2) + .select().first(3) + .onFailure().recoverWithItem(0) + .subscribe().with(System.out::println); + // end::pipeline[] + assertThat(out.get()).contains("2", "4", "6"); + } + + @Test + void subscription(SystemOut out) { + Multi multi = Multi.createFrom().item(1); + // tag::subscription[] + Cancellable cancellable = multi + .subscribe().with( + item -> System.out.println(item), + failure -> System.out.println("Failed with " + failure), + () -> System.out.println("Completed")); + // end::subscription[] + assertThat(cancellable).isNotNull(); + assertThat(out.get()).contains("1", "Completed").doesNotContain("Failed"); + } + + @Test + public void creation() { + { + // tag::simple[] + Multi multiFromItems = Multi.createFrom().items(1, 2, 3, 4); + Multi multiFromIterable = Multi.createFrom().iterable(Arrays.asList(1, 2, 3, 4, 5)); + // end::simple[] + assertThat(multiFromItems.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4); + assertThat(multiFromIterable.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5); + } + + { + // tag::supplier[] + AtomicInteger counter = new AtomicInteger(); + Multi multi = Multi.createFrom().items(() -> + IntStream.range(counter.getAndIncrement(), counter.get() * 2).boxed()); + // end::supplier[] + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(0, 1); + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(2, 3, 4, 5); + } + + { + // tag::failed[] + // Pass an exception directly: + Multi failed1 = Multi.createFrom().failure(new Exception("boom")); + + // Pass a supplier called for every subscriber: + Multi failed2 = Multi.createFrom().failure(() -> new Exception("boom")); + // end::failed[] + + assertThatThrownBy(() -> failed1.toUni().await().indefinitely()) + .hasMessageContaining("boom"); + assertThatThrownBy(() -> failed2.toUni().await().indefinitely()) + .hasMessageContaining("boom"); + + } + + { + // tag::empty[] + Multi multi = Multi.createFrom().empty(); + // end::empty[] + assertThat(multi.toUni().await().indefinitely()).isNull(); + } + + { + // tag::emitter[] + Multi multi = Multi.createFrom().emitter(em -> { + em.emit(1); + em.emit(2); + em.emit(3); + em.complete(); + }); + // end::emitter[] + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + } + + { + // tag::ticks[] + Multi ticks = Multi.createFrom().ticks().every(Duration.ofMillis(100)); + // end::ticks[] + BlockingIterable longs = ticks + .select().first(3) + .subscribe().asIterable(); + await().until(() -> longs.stream().count() == 3); + } + + { + // tag::generator[] + Multi sequence = Multi.createFrom().generator(() -> 1, (n, emitter) -> { + int next = n + (n / 2) + 1; + if (n < 50) { + emitter.emit(next); + + } else { + emitter.complete(); + } + return next; + }); + // end::generator[] + assertThat(sequence.collect().asList().await().indefinitely()).containsExactly(2, 4, 7, 11, 17, 26, 40, 61); + } + } + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/tutorials/CreatingUniTest.java b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/CreatingUniTest.java new file mode 100644 index 000000000..157e621ee --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/CreatingUniTest.java @@ -0,0 +1,111 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({ "ConstantConditions", "Convert2MethodRef" }) +@ExtendWith(SystemOutCaptureExtension.class) +public class CreatingUniTest { + + @Test + void pipeline(SystemOut out) { + // tag::pipeline[] + Uni.createFrom().item(1) + .onItem().transform(i -> "hello-" + i) + .onItem().delayIt().by(Duration.ofMillis(100)) + .subscribe().with(System.out::println); + // end::pipeline[] + await().untilAsserted(() -> + assertThat(out.get()).contains("hello-1") + ); + } + + @Test + void subscription(SystemOut out) { + Uni uni = Uni.createFrom().item(1); + // tag::subscription[] + Cancellable cancellable = uni + .subscribe().with( + item -> System.out.println(item), + failure -> System.out.println("Failed with " + failure)); + // end::subscription[] + assertThat(cancellable).isNotNull(); + assertThat(out.get()).contains("1").doesNotContain("Failed"); + } + + @Test + public void creation() { + { + // tag::simple[] + Uni uni = Uni.createFrom().item(1); + // end::simple[] + assertThat(uni.await().indefinitely()).isEqualTo(1); + } + + { + // tag::supplier[] + AtomicInteger counter = new AtomicInteger(); + Uni uni = Uni.createFrom().item(() -> counter.getAndIncrement()); + // end::supplier[] + assertThat(uni.await().indefinitely()).isEqualTo(0); + assertThat(uni.await().indefinitely()).isEqualTo(1); + assertThat(uni.await().indefinitely()).isEqualTo(2); + } + + { + // tag::failed[] + // Pass an exception directly: + Uni failed1 = Uni.createFrom().failure(new Exception("boom")); + + // Pass a supplier called for every subscriber: + Uni failed2 = Uni.createFrom().failure(() -> new Exception("boom")); + // end::failed[] + + assertThatThrownBy(() -> failed1.await().indefinitely()) + .hasMessageContaining("boom"); + assertThatThrownBy(() -> failed2.await().indefinitely()) + .hasMessageContaining("boom"); + + } + + { + // tag::null[] + Uni uni = Uni.createFrom().nullItem(); + // end::null[] + assertThat(uni.await().indefinitely()).isNull(); + } + + { + String result = "hello"; + // tag::emitter[] + Uni uni = Uni.createFrom().emitter(em -> { + // When the result is available, emit it + em.complete(result); + }); + // end::emitter[] + assertThat(uni.await().indefinitely()).isEqualTo("hello"); + } + + { + CompletionStage stage = CompletableFuture.completedFuture("hello"); + // tag::cs[] + Uni uni = Uni.createFrom().completionStage(stage); + // end::cs[] + assertThat(uni.await().indefinitely()).isEqualTo("hello"); + } + } + +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/tutorials/HandlingFailuresTest.java b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/HandlingFailuresTest.java new file mode 100644 index 000000000..15d8e3f1d --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/HandlingFailuresTest.java @@ -0,0 +1,105 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class HandlingFailuresTest { + + @Test + public void testInvoke(SystemOut out) { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::invoke[] + Uni u = uni + .onFailure().invoke(failure -> log(failure)); + + Multi m = multi + .onFailure().invoke(failure -> log(failure)); + // end::invoke[] + assertThatThrownBy(() -> u.await().indefinitely()).hasMessageContaining("boom"); + assertThatThrownBy(() -> m.collect().asList() + .await().indefinitely()).hasMessageContaining("boom"); + assertThat(out.get()).contains("boom"); + } + + @Test + public void testTransform(SystemOut out) { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::transform[] + Uni u = uni + .onFailure().transform(failure -> + new ServiceUnavailableException(failure)); + // end::transform[] + assertThatThrownBy(() -> u.await().indefinitely()) + .hasCauseExactlyInstanceOf(ServiceUnavailableException.class); + } + + @Test + public void testRecoverWithItem() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::recover-item[] + Uni u1 = uni + .onFailure().recoverWithItem("hello"); + + Uni u2 = uni + .onFailure().recoverWithItem(f -> getFallback(f)); + // end::recover-item[] + assertThat(u1.await().indefinitely()).isEqualTo("hello"); + assertThat(u2.await().indefinitely()).isEqualTo("hey"); + } + + @Test + public void testCompletionOnFailure() { + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::recover-completion[] + Multi m = multi + .onFailure().recoverWithCompletion(); + // end::recover-completion[] + assertThat(m.collect().asList().await().indefinitely()).isEmpty(); + } + + @Test + public void testSwitch() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::recover-switch[] + Uni u = uni + .onFailure().recoverWithUni(f -> getFallbackUni(f)); + + Multi m = multi + .onFailure().recoverWithMulti(f -> getFallbackMulti(f)); + // end::recover-switch[] + assertThat(u.await().indefinitely()).isEqualTo("hello"); + assertThat(m.collect().asList().await().indefinitely()).containsExactly("hey"); + } + + private Multi getFallbackMulti(Throwable f) { + return Multi.createFrom().item("hey"); + } + + private Uni getFallbackUni(Throwable f) { + return Uni.createFrom().item("hello"); + } + + private String getFallback(Throwable f) { + return "hey"; + } + + private void log(Throwable failure) { + System.out.println(failure.getMessage()); + } + + private static class ServiceUnavailableException extends Throwable { + public ServiceUnavailableException(Throwable ignored) { + } + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/tutorials/ObserveTest.java b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/ObserveTest.java new file mode 100644 index 000000000..c32774f81 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/ObserveTest.java @@ -0,0 +1,65 @@ +package tutorials; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.time.Duration; + +public class ObserveTest { + + @Test + public void test() { + Uni uni = Uni.createFrom().item("hello"); + Multi multi = Multi.createFrom().items("a", "b", "c"); + // tag::invoke[] + Uni u = uni.onItem() + .invoke(i -> System.out.println("Received item: " + i)); + + Multi m = multi.onItem() + .invoke(i -> System.out.println("Received item: " + i)); + // end::invoke[] + + // tag::call[] + multi + .onItem().call(i -> + Uni.createFrom().voidItem() + .onItem().delayIt().by(Duration.ofSeconds(1) + ) + ); + // end::call[] + + MyResource resource = new MyResource(); + // tag::close[] + multi + .onCompletion().call(() -> resource.close()); + // end::close[] + } + + @Test + public void all() { + Multi multi = Multi.createFrom().items("a", "b", "c"); + // tag::invoke-all[] + multi + .onSubscription() + .invoke(() -> System.out.println("⬇️ Subscribed")) + .onItem() + .invoke(i -> System.out.println("⬇️ Received item: " + i)) + .onFailure() + .invoke(f -> System.out.println("⬇️ Failed with " + f)) + .onCompletion() + .invoke(() -> System.out.println("⬇️ Completed")) + .onCancellation() + .invoke(() -> System.out.println("⬆️ Cancelled")) + .onRequest() + .invoke(l -> System.out.println("⬆️ Requested: " + l)); + // end::invoke-all[] + + } + + static class MyResource { + Uni close() { + return Uni.createFrom().voidItem(); + } + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/tutorials/RetryTest.java b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/RetryTest.java new file mode 100644 index 000000000..be31f63cc --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/RetryTest.java @@ -0,0 +1,61 @@ +package tutorials; + +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class RetryTest { + + @Test + public void testRetryAtMost() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::retry-at-most[] + Uni u = uni + .onFailure().retry().atMost(3); + Multi m = multi + .onFailure().retry().atMost(3); + // end::retry-at-most[] + assertThatThrownBy(() -> u.await().indefinitely()).hasMessageContaining("boom"); + assertThatThrownBy(() -> m.collect().asList() + .await().indefinitely()).hasMessageContaining("boom"); + } + + @Test + public void testRetryWithBackoff() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::retry-backoff[] + Uni u = uni + .onFailure().retry() + .withBackOff(Duration.ofMillis(100), Duration.ofSeconds(1)) + .atMost(3); + // end::retry-backoff[] + assertThatThrownBy(() -> u.await().indefinitely()) + .getCause() // Expected exception is wrapped in a java.util.concurrent.CompletionException + .hasMessageContaining("boom") + .hasSuppressedException(new IllegalStateException("Retries exhausted: 3/3")); + } + + @Test + public void testRetryUntil() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::retry-until[] + Uni u = uni + .onFailure().retry() + .until(f -> shouldWeRetry(f)); + // end::retry-until[] + assertThatThrownBy(() -> u.await().indefinitely()).hasMessageContaining("boom"); + } + + private boolean shouldWeRetry(Throwable ignored) { + return false; + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/tutorials/TransformItemsAsyncTest.java b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/TransformItemsAsyncTest.java new file mode 100644 index 000000000..d94777db9 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/TransformItemsAsyncTest.java @@ -0,0 +1,116 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class TransformItemsAsyncTest { + + interface MyAsyncService { + // tag::service[] + Uni invokeRemoteGreetingService(String name); + // end::service[] + } + + static class MyAsyncServiceImpl implements MyAsyncService { + + @Override + public Uni invokeRemoteGreetingService(String name) { + return Uni.createFrom().item(name); + } + } + + MyAsyncServiceImpl service = new MyAsyncServiceImpl(); + + + private Uni invokeRemoteGreetingService(String name) { + return service.invokeRemoteGreetingService(name); + } + + @Test + public void testCall() { + + Uni uni = Uni.createFrom().item("mutiny"); + // tag::call[] + Uni result = uni + .onItem().transformToUni(name -> invokeRemoteGreetingService(name)); + // end::call[] + + assertThat(result.await().indefinitely()).isEqualTo("mutiny"); + } + + @Test + public void testChain(SystemOut out) { + // tag::chain[] + Uni uni = Uni.createFrom().item("Cameron"); + uni + .onItem().transformToUni(name -> invokeRemoteGreetingService(name)) + .subscribe().with( + item -> System.out.println(item), // Print "Hello Cameron", + fail -> fail.printStackTrace()); // Print the failure stack trace + // end::chain[] + assertThat(out.get()).contains("Cameron"); + } + + + @Test + public void testUniToMulti(SystemOut out) { + Uni uni = Uni.createFrom().item("Cameron"); + // tag::uni-to-multi[] + Multi result = uni + .onItem().transformToMulti(item -> Multi.createFrom().items(item, item)); + // end::uni-to-multi[] + assertThat(result.collect().asList().await().indefinitely()).containsExactly("Cameron", "Cameron"); + + // tag::uni-to-multi-2[] + uni + .onItem().transformToMulti(item -> Multi.createFrom().items(item, item)) + .subscribe().with( + item -> System.out.println(item)); // Called twice + // end::uni-to-multi-2[] + assertThat(out.get()).contains("Cameron"); + } + + @Test + public void testMergeAndConcatUni() { + Multi multi = Multi.createFrom().items("a", "b"); + + // tag::merge-concat[] + Multi merged = multi + .onItem().transformToUniAndMerge(name -> invokeRemoteGreetingService(name)); + + Multi concat = multi + .onItem().transformToUniAndConcatenate(name -> invokeRemoteGreetingService(name)); + // end::merge-concat[] + + assertThat(merged.collect().asList().await().indefinitely()).containsExactly("a", "b"); + assertThat(concat.collect().asList().await().indefinitely()).containsExactly("a", "b"); + } + + @Test + public void testMergeAndConcatMulti() { + Multi multi = Multi.createFrom().items("a", "b"); + + // tag::merge-concat-multi[] + Multi merged = multi + .onItem().transformToMultiAndMerge(item -> someMulti(item)); + + Multi concat = multi + .onItem().transformToMultiAndConcatenate(item -> someMulti(item)); + // end::merge-concat-multi[] + + assertThat(merged.collect().asList().await().indefinitely()).containsExactly("a", "b"); + assertThat(concat.collect().asList().await().indefinitely()).containsExactly("a", "b"); + } + + private Multi someMulti(String item) { + return Multi.createFrom().item(item); + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/java/tutorials/TransformItemsTest.java b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/TransformItemsTest.java new file mode 100644 index 000000000..e975e56a8 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/java/tutorials/TransformItemsTest.java @@ -0,0 +1,61 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class TransformItemsTest { + + @Test + public void testUniTransform(SystemOut out) { + // tag::uni-transform[] + Uni someUni = Uni.createFrom().item("hello"); + someUni + .onItem().transform(i -> i.toUpperCase()) + .subscribe().with( + item -> System.out.println(item)); // Print HELLO + // end::uni-transform[] + assertThat(out.get()).contains("HELLO"); + } + + @Test + public void testMultiTransform() { + Multi multi = Multi.createFrom().items("a", "b", "c"); + // tag::multi-transform[] + Multi m = multi.onItem().transform(i -> i.toUpperCase()); + // end::multi-transform[] + assertThat(m.collect().asList().await().indefinitely()).containsExactly("A", "B", "C"); + } + + @Test + public void testMultiTransformWithSubscription(SystemOut out) { + // tag::multi-transform-2[] + Multi someMulti = Multi.createFrom().items("a", "b", "c"); + someMulti + .onItem().transform(i -> i.toUpperCase()) + .subscribe().with( + item -> System.out.println(item)); // Print A B C + // end::multi-transform-2[] + assertThat(out.get()).contains("A", "B", "C"); + } + + @Test + public void testChain() { + Uni uni = Uni.createFrom().item("hello"); + // tag::chain[] + Uni u = uni + .onItem().transform(i -> i.toUpperCase()) + .onItem().transform(i -> i + "!"); + // end::chain[] + + assertThat(u.await().indefinitely()).isEqualTo("HELLO!"); + + } +} diff --git a/content/docs/smallrye-mutiny/2/_examples/kotlin/guides/Coroutines.kt b/content/docs/smallrye-mutiny/2/_examples/kotlin/guides/Coroutines.kt new file mode 100644 index 000000000..db0d3b64f --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/kotlin/guides/Coroutines.kt @@ -0,0 +1,60 @@ +import io.smallrye.mutiny.Multi +import io.smallrye.mutiny.Uni +// tag::importStatements[] +import io.smallrye.mutiny.coroutines.asFlow +import io.smallrye.mutiny.coroutines.asMulti +import io.smallrye.mutiny.coroutines.asUni +import io.smallrye.mutiny.coroutines.awaitSuspending +// end::importStatements[] +import io.smallrye.mutiny.coroutines.uni +import kotlinx.coroutines.Deferred +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.async +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flowOf + +suspend fun uniAwaitSuspending() { + // tag::uniAwaitSuspending[] + val uni: Uni = Uni.createFrom().item("Mutiny ❤ Kotlin") + try { + // Available within suspend function and CoroutineScope + val item: String = uni.awaitSuspending() + } catch (failure: Throwable) { + // onFailure event happened + } + // end::uniAwaitSuspending[] +} + +@ExperimentalCoroutinesApi +suspend fun deferredAsUni() { + // tag::deferredAsUni[] + val deferred: Deferred = GlobalScope.async { "Kotlin ❤ Mutiny" } + val uni: Uni = deferred.asUni() + // end::deferredAsUni[] +} + +@ExperimentalCoroutinesApi +suspend fun multiAsFlow() { + // tag::multiAsFlow[] + val multi: Multi = Multi.createFrom().items("Mutiny", "❤", "Kotlin") + val flow: Flow = multi.asFlow() + // end::multiAsFlow[] +} + +suspend fun flowAsMulti() { + // tag::flowAsMulti[] + val flow: Flow = flowOf("Kotlin", "❤", "Mutiny") + val multi: Multi = flow.asMulti() + // end::flowAsMulti[] +} + +suspend fun uniBuilder() { + // tag::uniBuilder[] + // import io.smallrye.mutiny.coroutines.uni + coroutineScope { + val uni: Uni = uni { "λ 🚧" } + } + // end::uniBuilder[] +} diff --git a/content/docs/smallrye-mutiny/2/_examples/kotlin/guides/UniExt.kt b/content/docs/smallrye-mutiny/2/_examples/kotlin/guides/UniExt.kt new file mode 100644 index 000000000..a8f96faa5 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_examples/kotlin/guides/UniExt.kt @@ -0,0 +1,19 @@ +import io.smallrye.mutiny.Uni +import io.smallrye.mutiny.replaceWithUnit +import io.smallrye.mutiny.uni + +fun uniReplaceWithUnit() { + val uni: Uni = Uni.createFrom().item("") + // tag::uniReplaceWithUnit[] + // import io.smallrye.mutiny.replaceWithUnit + val unitUni : Uni = uni.replaceWithUnit() + assert(unitUni.await().indefinitely() === Unit) + // end::uniReplaceWithUnit[] +} + +fun regularUniBuilder() { + // tag::uniBuilder[] + // import io.smallrye.mutiny.uni + val uni: Uni = uni { "λ 🚧" } + // end::uniBuilder[] +} diff --git a/content/docs/smallrye-mutiny/2/_nav.yml b/content/docs/smallrye-mutiny/2/_nav.yml new file mode 100644 index 000000000..6fbb09d73 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/_nav.yml @@ -0,0 +1,68 @@ +title: SmallRye Mutiny +nav: +- page: index +- title: Tutorials + items: + - page: tutorials/getting-mutiny + - page: tutorials/hello-mutiny + - page: tutorials/creating-uni-pipelines + - page: tutorials/creating-multi-pipelines + - page: tutorials/observing-events + - page: tutorials/transforming-items + - page: tutorials/transforming-items-asynchronously + - page: tutorials/handling-failures + - page: tutorials/retrying + - page: tutorials/mutiny-workshop +- title: Guides + items: + - page: guides/imperative-to-reactive + - page: guides/reactive-to-imperative + - page: guides/unchecked-exceptions + - page: guides/filtering-items + - page: guides/collecting-items + - page: guides/take-skip-items + - page: guides/eliminate-duplicates-and-repetitions + - page: guides/handling-null + - page: guides/handling-timeouts + - page: guides/delaying-events + - page: guides/pagination + - page: guides/polling + - page: guides/emission-threads + - page: guides/emit-on-vs-run-subscription-on + - page: guides/completion-stage + - page: guides/rx + - page: guides/shortcut-methods + - page: guides/merging-and-concatenating-streams + - page: guides/combining-items + - page: guides/joining-unis + - page: guides/converters + - page: guides/testing + - page: guides/spies + - page: guides/custom-operators + - page: guides/dropped-exceptions + - page: guides/framework-integration + - page: guides/hot-streams + - page: guides/integrate-a-non-reactive-source + - page: guides/kotlin + - page: guides/logging + - page: guides/context-passing + - page: guides/replaying-multis + - page: guides/controlling-demand + - page: guides/multi-split + - page: guides/branching + - page: guides/broadcasting-to-multiple-subscribers +- title: Reference + items: + - page: reference/migrating-to-mutiny-2 + - page: reference/why-is-asynchronous-important + - page: reference/what-is-reactive-programming + - page: reference/what-makes-mutiny-different + - page: reference/uni-and-multi + - page: reference/going-reactive-a-few-pitfalls + - page: reference/publications + - title: Tags index + page: tags-index +- title: API + url: https://javadoc.io/doc/io.smallrye.reactive/mutiny/latest/index.html +- title: Discussions/Questions + url: https://github.com/smallrye/smallrye-mutiny/discussions diff --git a/content/docs/smallrye-mutiny/2/assets/CF_logo_horizontal_single_reverse.svg b/content/docs/smallrye-mutiny/2/assets/CF_logo_horizontal_single_reverse.svg new file mode 100644 index 000000000..2b8907471 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/assets/CF_logo_horizontal_single_reverse.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/assets/logo-white.png b/content/docs/smallrye-mutiny/2/assets/logo-white.png new file mode 100644 index 0000000000000000000000000000000000000000..4472249bbcef61c9d03c4979d1b242d5446df403 GIT binary patch literal 3611 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 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/assets/logo.png b/content/docs/smallrye-mutiny/2/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e4ca32a03e03778b4951cff4d073dd544aeddb GIT binary patch literal 49044 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

rEGCE>&@e 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 aKcMY=b)*a3EgnGu{^X@qq$(xMg8mQKIT3*X literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny/2/guides/branching.adoc b/content/docs/smallrye-mutiny/2/guides/branching.adoc new file mode 100644 index 000000000..9391061fb --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/branching.adoc @@ -0,0 +1,57 @@ += How to do branching in a reactive pipeline? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Mutiny and similar reactive programming libraries do not have _branching_ operators similar to `if / else` and `switch/case` statements in Java. + +This does not mean that we can't express _branching_ in a reactive pipeline, and the most classic way is to use a transformation to a `Uni` (also called `flatMap` in functional programming). + +== Expressing branches as Uni operations + +Suppose that we have a pipeline where a `Uni` is created from a random value, and suppose that we want to have a different processing pipeline depending on whether the value is odd or even. +Let's have these 2 `Uni`-returning methods to model different behaviors: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=branches,indent=0] +---- + +We can use the `transformToUni` operator to plug either method depending on the random number: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=pipeline,indent=0] +---- + +Having such a mapping function is a common pattern: it has conditional logic and each branch returns a `Uni` that represents the "sub-pipeline" of what each branch shall do. + +Note that such constructs are primarily relevant when asynchronous I/O are involved and that such asynchronous I/O operations are typically `Uni`-returning methods such as those found in the https://smallrye.io/smallrye-mutiny-vertx-bindings/[Mutiny Vert.x bindings]. + +[TIP] +==== + +There are other ways to express the "result" of a branch. +You could wrap results in a custom type or a container like `java.util.Optional`. + +You could also return a failed `Uni`, and later react by continuing with another `Uni`, another value, or retrying (which would model a loop!). + +==== + +== Branching in a Multi + +The case of `Multi` is even more interesting because a `null`-completed `Uni` is discarded from the stream by any of the `transformToUni++{++...}` methods: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=multi-pipeline,indent=0] +---- + +where `drop()` is as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=drop,indent=0] +---- + +Any negative value is discarded in this `Multi` pipeline, while the positive even and odd numbers get forwarded to the subscriber. diff --git a/content/docs/smallrye-mutiny/2/guides/broadcasting-to-multiple-subscribers.adoc b/content/docs/smallrye-mutiny/2/guides/broadcasting-to-multiple-subscribers.adoc new file mode 100644 index 000000000..85c2cda21 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/broadcasting-to-multiple-subscribers.adoc @@ -0,0 +1,187 @@ += Broadcasting to multiple subscribers (like server-sent events, websockets, etc) +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +It is a common requirement in event-driven applications to have multiple subscribers receiving events from a single events source: + +[.has-dark] +image::images/diagrams/mermaid-f74f7917dcf7.svg[mermaid diagram] + +A good example would be a periodic events stream where the events get pushed every second to multiple https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events[server-sent event] subscribers. + +Let us see how this can be done using Mutiny and the https://quarkus.io/[Quarkus framework]. + +[NOTE] +==== + +We use Quarkus to illustrate a classic real-world usage for the broadcast operator, but the same kind of construct +could be done with another framework or the https://vertx.io/[Vert.x toolkit]. + +==== + +== Use-case: dynamic subscribers + +We expose a HTTP endpoint for server-sent events, and each second we receive the current list of subscribers. +The endpoint is exposed on path `/hello/ticks/++{++id}` where `id` is an identifier for a subscriber. + +We could subscribe and follow the stream using https://httpie.io/[HTTPie] for subscriber `1`: + +[source,text] +---- +$ http --stream :8080/hello/ticks/1 +HTTP/1.1 200 OK +Content-Type: text/event-stream +X-SSE-Content-Type: text/plain +transfer-encoding: chunked + +data:1 + +data:1 + +data:1 + +data:1,2 + +data:1,2 +---- + +The first 3 ticks have just one subscriber (`data:1`), but then once another subscriber arrives at path `/hello/ticks/2` we get ticks with identifiers `1,2`. + +When the connection for subscriber `1` closes, we see the impact on subscriber `2`: + +[source,text] +---- +http --stream :8080/hello/ticks/2 +HTTP/1.1 200 OK +Content-Type: text/event-stream +X-SSE-Content-Type: text/plain +transfer-encoding: chunked + +data:1,2 + +data:1,2 + +data:2 + +data:2 + +data:2 +---- + +== Why is broadcasting required? + +Mutiny offers a publisher for periodic event streams: + +[source,java] +---- +var ticks = Multi.createFrom().ticks().every(Duration.ofSeconds(1)); +---- + +You might wonder why we couldn't simply build our Quarkus endpoints as in: + +[source,java] +---- +@Path("/hello") +public class GreetingResource { + + @GET + @Path("ticks/{id}") + @RestStreamElementType(MediaType.TEXT_PLAIN) + public Multi ticks(String id) { + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + // (rest of the pipeline...) + ; + } +} +---- + +The problem here is that instead of having a single events source to emit ticks, you will have as many as there are subscribers: + +[.has-dark] +image::images/diagrams/mermaid-cbd13fb6d19b.svg[mermaid diagram] + +You might be able to articulate some logic around such construct, but you will end up with many scheduled operations on the Quarkus thread pool. + +Even worse: if your source is not periodic ticks emitted by Mutiny but some event source (e.g., a Kafka topic, a message broker queue, etc) then you might add correctness issues (e.g., not all subscribers get all messages). + +== Broadcasting, listening to subscriptions and cancellations + +It is fortunately quite easy to express such construct by sharing a common `Multi`, and broadcasting events to each subscriber. + +Let's start with the HTTP endpoint: + +[source,java] +---- +private ConcurrentHashSet identifiers = new ConcurrentHashSet<>(); + +private Multi ticks = (...); + +@GET +@Path("ticks/{id}") +@RestStreamElementType(MediaType.TEXT_PLAIN) +public Multi ticks(String id) { + Log.info("New client with id " + id); + identifiers.add(id); + return ticks.onCancellation().invoke(() -> { + Log.info("Removing client with id " + id); + identifiers.remove(id); + }); +} +---- + +The `ticks` method registers a new client in `identifiers`, and removes it upon cancellation. +The returned `Multi` pipeline piggy-backs on top of the _shared_ `Multi`, which is built as follows: + +[source,java] +---- +private Multi ticks = Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onItem().transform(tick -> { + Log.info("tick"); + return identifiers.stream().collect(Collectors.joining(",")); + }) + .onSubscription().invoke(() -> Log.info("Starting to emit ticks")) + .onCancellation().invoke(() -> Log.info("No more ticks")) + .broadcast() + .withCancellationAfterLastSubscriberDeparture() + .toAtLeast(1); +---- + +Here are a few observations. + +[arabic] +. For each periodic tick event, we assemble the current subscribers as a string of the form `"1,2,3"` with `.onItem().transform(...)`. +. We log an event when the periodic event stream starts (see `onSubscription().invoke(...)`). +. We log an event when the periodic event stream stops (see `onCancellation().invoke(...)`). +. We broadcast events to all subscribers, but: +[arabic] +.. there must be at least one subscriber before the stream starts, and +.. the stream is cancelled when the last subscriber departs. + +This construction is quite interesting because we don't emit ticks when there are no subscribers, and we stop it when there are none. + +If you play with such an example then you will see logs similar to these: + +[source,text] +---- +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) New client with id 1 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) Starting to emit ticks +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) Removing client with id 1 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) No more ticks +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-1) New client with id 1 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-1) Starting to emit ticks +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) New client with id 2 +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-1) Removing client with id 1 +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) Removing client with id 2 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) No more ticks +---- diff --git a/content/docs/smallrye-mutiny/2/guides/collecting-items.adoc b/content/docs/smallrye-mutiny/2/guides/collecting-items.adoc new file mode 100644 index 000000000..04a1a5b64 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/collecting-items.adoc @@ -0,0 +1,92 @@ += Collecting items from Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +There are cases where you want to accumulate the items from a `Multi` and produce a `Uni` as a final result. +This is also called a _reduction_ in functional programming. + +The `Uni` fires its item when the `Multi` completes. +Mutiny provides multiple operators to deal with that scenario. +They are available from the `collect()` group. +For example, you can store the items in a list, emit the list on completion, or use a Java `Collector` to customize the aggregation. + +[CAUTION] +==== + +Don't collect items from infinite streams or you will likely end with an out-of-memory failure! + +==== + +== Collecting items into a list + +One of the most common approaches to collect items is to store them in a list (`Uni++<++List++<++T++>>++`) +It emits the final list when the `Multi` completes. + +[.has-dark] +image::images/diagrams/mermaid-69aa56febc93.svg[mermaid diagram] + +How to achieve this with Mutiny? + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=list,indent=0] +---- + +It's important to note that the returned type is a `Uni`. +It emits the list when the multi completes. + +== Collecting items into a map + +You can also collect the items into a `Map`. +In this case, you need to provide a function to compute the key for each item: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=map,indent=0] +---- + +If the key mapper function returns the same key for multiple items, the last one with that key is stored in the final `Map`. +You can collect items in a _multimap_ to handle items with the same keys. + +== Collecting items into a multimap + +A multimap is a `Map++<++K, List++<++T++>>++.` +In the case of a conflicting key, it stores all the items in a list associated with that key. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=multimap,indent=0] +---- + +== Using a custom accumulator + +You can also use a custom _accumulator_ function: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=accumulator,indent=0] +---- + +The `in` method receives two arguments: + +[arabic] +. a supplier providing the new instance of your collection/container +. the accumulator function + +You can also use a Java `Collector`. +For example, in the next example, count the number of items, and produce the final count as item: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=collector,indent=0] +---- + +== Getting the first and last items + +While they are not strictly speaking collecting items, `collect().first()` and `collect().last()` allow retrieving the first and last item from a `Multi`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=first,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/combining-items.adoc b/content/docs/smallrye-mutiny/2/guides/combining-items.adoc new file mode 100644 index 000000000..7e118a7f3 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/combining-items.adoc @@ -0,0 +1,110 @@ += Combining items from streams +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Combining items from various streams is an essential pattern in Reactive Programming. + +It associates the emitted items from multiple streams and emits an _aggregate_. +The downstream receives this _aggregate_ and can handle it smoothly. + +There are plenty of use cases, such as executing two tasks concurrently and waiting for both completions, getting the last items from different streams to build an always up-to-date view, and so on. + +== Combining Unis + +Imagine that you have two asynchronous operations to perform like 2 HTTP requests. +You want to send these requests and be notified when both have completed with their responses ready to be consumed. + +Of course, you could send the first request, wait for the response, and then send the second request. +If both requests are independent, we can do something better: send both concurrently and await for both completions! + +[.has-dark] +image::images/diagrams/mermaid-c54f60b30f42.svg[mermaid diagram] + +How can you achieve this with Mutiny? + +First, each request is a `Uni`, so we have: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=invocations,indent=0] +---- + +Then, we want to combine both _responses_: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combination,indent=0] +---- + +This code creates a new `Uni` produced by combining `uniA` and `uniB`. +The responses are aggregated inside a `Tuple`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=subscription,indent=0] +---- + +The `tuple` aggregates the responses in the same order as the `Uni` sequence. + +If one of the `Uni` fails, so does the combination and you receive the failure: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=invocations,indent=0] +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combination,indent=0] +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=subscription,indent=0] +---- + +Using tuples is convenient but only works if you have less than 10 `Uni` objects. +If you want another structure or deal with 10 `Uni` objects or more then use `combineWith`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combined-with,indent=0] +---- + +== Combining Multis + +Combining `Multis` consists of associating items from different stream per _index_: + +[.has-dark] +image::images/diagrams/mermaid-3d4459e3c6a6.svg[mermaid diagram] + +It associates the first items from the combined streams, then the second items: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combine-multi,indent=0] +---- + +As for `Uni`, you can aggregate the item into tuples (up to 9 items) or combine with a combinator function: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combine-multi-with,indent=0] +---- + +If one of the streams fails, the combined stream propagates the failure and stops the emission. +The combined stream completes as soon as one of the observed stream sends the completion event. + +[NOTE] +==== + +If one of the observed streams never emits any item then the combined stream will not emit anything. + +==== + +== Combining the latest items of Multis + +It can be useful to combine multiple `Multi` streams and receive the _latest_ items from each stream on every emission: + +[.has-dark] +image::images/diagrams/mermaid-f0001b5cde9f.svg[mermaid diagram] + +This is achieved using `latest()`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combine-last,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/completion-stage.adoc b/content/docs/smallrye-mutiny/2/guides/completion-stage.adoc new file mode 100644 index 000000000..9ad73ee5a --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/completion-stage.adoc @@ -0,0 +1,86 @@ += How to deal with CompletionStage? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +`CompletionStage` and `CompletableFuture` are classes provided by Java to represent asynchronous actions. + +== Differences between Uni and CompletionStage + +While `CompletionStage` and `CompletableFuture` are close to `Uni` in terms of use case, there are some fundamental differences. + +`CompletionStage` are _eager_. +When a method returns a `CompletionStage,` the operation has already been triggered. +The outcome is used to complete the returned `CompletionStage`. +On the other side, `Unis` are lazy. +The operation is only triggered once there is a subscription. + +`CompletionStage` _caches_ the outcome. +So, once received, you can retrieve the result. +Every retrieval will get the same result. +With `Uni`, every subscription has the opportunity to re-trigger the operation and gets a different result. + +[TIP] +==== + +You can also _cache_ the outcome with `Uni.memoize().indefinitely()`. + +==== + +== From Uni to CompletionStage + +You can create a `CompletionStage` from `Uni` using `uni.subscribeAsCompletionStage()`. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=uni-subscribe-cs,indent=0] +---- + +It's important to understand that retrieving a `CompletionStage` subscribes to the `Uni`. +If you do this operation twice, it subscribes to the `Uni` twice and re-trigger the operation. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=uni-subscribe-cs-twice,indent=0] +---- + +== Creating a Uni from a CompletionStage + +To create a `Uni` from a `CompletionStage`, use `Uni.createFrom().completionStage(...)`. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=create-uni,indent=0] +---- + +As you can see, there are two versions. +The first one receives the `CompletionStage` directly, while the second one gets a supplier. +In the case of multiple subscriptions on the produced `Uni`, the supplier is called multiple times (once per subscription), and so can change the return `CompletionStage`. +It also delays the creation of the `CompletionStage` until there is a subscription, which only triggers the operation at that time. +If you pass the instance directly, it will always use the same one (even for multiple subscriptions) and triggers the operation even if there is no subscription. +For these reasons, it is generally better to use the variant accepting a supplier. + +Note that if the completion stage produces a `null` value, the resulting `Uni` emits `null` as item. +If the completion stages complete exceptionally, the failure is emitted by the resulting `Uni`. + +== Creating a Multi from a CompletionStage + +To create a `Multi` from a `CompletionStage`, use `Multi.createFrom().completionStage(...)`. +It produces: + +* a multi emitting an item and completing - if the value produced by the completion stage is not `null`, +* an empty multi if the value produced by the completion stage is `null`, +* a failed multi is completion stage is completed exceptionally. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=create-multi,indent=0] +---- + +For the same reason as for `Uni`, there are two versions: + +[arabic] +. one accepting a `CompletionStage` directly +. one accepting a `Supplier++<++CompletionStage++>++`, called at subscription-time, for every subscription. + +It is recommended to use the second version. diff --git a/content/docs/smallrye-mutiny/2/guides/context-passing.adoc b/content/docs/smallrye-mutiny/2/guides/context-passing.adoc new file mode 100644 index 000000000..4dcb0b0a1 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/context-passing.adoc @@ -0,0 +1,90 @@ += Context passing +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Mutiny reactive pipelines let data flow from publishers to subscribers. + +In the vast majority of cases a publisher shall have _all_ required data, and operators shall perform processing based on item values. +For instance a network request shall be made with all request data known in advance, and response processing shall only depend on the response payload. + +That being said there are cases were this is not sufficient, and some data has to be carried along with items. +For instance one intermediary operator in a pipeline may have to make another networked request from which we need to extract some correlation identifier which will be used by another operator down the pipeline. +In such cases one will be tempted to forward tuples consisting of some item value plus some "extra" data. + +For such cases Mutiny offers a _subscriber-provided context_, so all operators involved in a subscription can share some form of _implicit data_. + +== What's in a context? + +A context is a simple key / value, in-memory storage. +Data can be queried, added and deleted from a context, as shown in the following snippet: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=contextManipulation,indent=0] +---- + +`Context` objects are thread-safe, and can be created from sequences of key / value pairs (as shown above), from a Java `Map`, or they can be created empty. + +Note that an empty-created context defers its internal storage allocation until the first call to `put`. +You can see `Context` as a glorified `ConcurrentHashMap` delegate, although this is an implementation detail and Mutiny might explore various internal storage strategies in the future. + +[TIP] +==== + +Contexts shall be primarily used to share transient data used for networked I/O processing such as correlation identifiers, tokens, etc. + +They should not be used as general-purpose data structures that are frequently updated and that hold large amounts of data. + +==== + +== How to access a context? + +Given a `Uni` or a `Multi`, a context can be accessed using the `withContext` operator, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=contextSampleUsage,indent=0] +---- + +This operator builds a sub-pipeline using 2 parameters: the current `Uni` or `Multi` and the context. + +[IMPORTANT] +==== + +The function passed to `withContext` is called at subscription time. + +This means that the context has not had a chance to be updated by upstream operators yet, so be careful with what you do in the body of that function. + +==== + +There is another way to access the context by using the `attachContext` method: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=contextAttachedSampleUsage,indent=0] +---- + +This method materializes the context in the regular pipeline items using the wrapper `ItemWithContext` class. +The `get` method provides the item while the `context` method provides the context. + +== How to access a context at the pipeline source? + +The `Uni` and `Multi` _builder_ methods like `Multi.createFrom()` provide publishers, not operators, so they don't have the `withContext` method. + +The first option is to use the `Uni.createFrom().context(...)` or `Multi.createFrom().context(...)` general purpose method to materialize the context: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=builderUsage,indent=0] +---- + +The `context` method takes a function that accepts a `Context` and returns a pipeline. +This is very similar to the `deferred` builder. + +If you use an `emitter` builder then for both `Uni` and `Multi` cases the emitter object offers a `context` method to access the context: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=emitterUsage,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/controlling-demand.adoc b/content/docs/smallrye-mutiny/2/guides/controlling-demand.adoc new file mode 100644 index 000000000..a5f0b0c77 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/controlling-demand.adoc @@ -0,0 +1,55 @@ += Controlling the demand +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +== Pacing the demand + +A subscription is used for 2 purposes: cancelling a request and demanding batches of items. + +The `Multi.paceDemand()` operator can be used to automatically issue requests at certain points in time. + +The following example issues requests of 25 items every 100ms: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=pacing,indent=0] +---- + +`FixedDemandPacer` is a simple _pacer_ with a fixed demand and a fixed delay. + +You can create more elaborated pacers by implementing the `DemandPacer` interface. +To do so you provide an initial request and a function to evaluate the next request which is evaluated based on the previous request and the number of items emitted since the last request: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=custom-pacer,indent=0] +---- + +The previous example is a custom pacer that doubles the demand and increases the delay for each new request. + +== Capping the demand requests + +The `capDemandsTo` and `capDemandUsing` operators can be used to cap the demand from downstream subscribers. + +The `capDemandTo` operator defines a maximum demand that can flow: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=capConstant,indent=0] +---- + +Here we cap requests to 50 items, so it takes 2 requests to get all 100 items of the upstream range. +The first request of 75 items is capped to a request of 50 items, leaving an outstanding demand of 25 items. +The second request of 25 items is added to the outstanding demand, resulting in a request of 50 items and completing the stream. + +You can also define a custom function that provides a capping value based on a custom formula, or based on earlier demand observations: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=capFunction,indent=0] +---- + +Here we have a function that requests 75% of the downstream requests. + +Note that the function must return a value `n` that satisfies `(0 ++<++ n ++<++= requested)` where `requested` is the downstream demand. diff --git a/content/docs/smallrye-mutiny/2/guides/converters.adoc b/content/docs/smallrye-mutiny/2/guides/converters.adoc new file mode 100644 index 000000000..313692321 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/converters.adoc @@ -0,0 +1,253 @@ += Using other reactive programming libraries +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +You may need to integrate libraries exposing an API using other reactive programming libraries such as RX Java or Reactor. +Mutiny has a built-in conversion mechanism to ease that integration. + +== Picking the right dependency + +You need to add another dependency to access the converters. +Each artifact contains the converters for a specific reactive library. +Pick the right one and add it to your project: + +[.tabs] +==== + +Reactor:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + + io.smallrye.reactive + mutiny-reactor + {versions-mutiny} + +---- + +-- + +RxJava 3:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + + io.smallrye.reactive + mutiny-rxjava3 + {versions-mutiny} + +---- + +-- + +==== + +== Integration with Project Reactor + +https://projectreactor.io/[Project Reactor] is a popular reactive programming library. +It offers two types: `Mono` and `Flux,` both implementing Reactive Stream `Publisher`. + +To use the Reactor `++<++-++>++` Mutiny converter, add the following imports to your class: + +[source,java] +---- +import io.smallrye.mutiny.converters.multi.MultiReactorConverters; +import io.smallrye.mutiny.converters.uni.UniReactorConverters; +---- + +=== Converting a Flux or a Mono into a Multi + +Both `Flux` and `Mono` implement `Publisher`. +As a result, we can use the Reactive Streams interoperability to convert instances from `Flux++<++T++>++` and `Mono++<++T++>++` to `Multi++<++T++>++`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-multi-create,indent=0] +---- + +[WARNING] +==== + +Reactor still uses the legacy Reactive Streams APIs instead of `java.util.concurrent.Flow`, so you need to perform an adaptation. + +We recommend using the https://smallrye.io/smallrye-mutiny-zero/[Mutiny Zero Flow Adapters library] as in these examples (Maven coordinates `io.smallrye.reactive:mutiny-zero-flow-adapters`). + +==== + +=== Converting a Flux or a Mono into a Uni + +As you can create `Uni` from a `Publisher`, the same approach can be used to create `Uni` instances: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-uni-create,indent=0] +---- + +When a `Flux` or `Mono` sends the _completion_ event without having emitted any item, the resulting `Uni` emits `null`. + +When converting a `Flux` to `Uni`, the resulting `Uni` emits the first item. +After that emission, it cancels the subscription to the `Flux`. + +=== Converting a Multi into a Flux or Mono + +Converting a `Multi` into a `Flux` or a `Mono` uses the Reactive Streams interoperability: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-create-multi,indent=0] +---- + +=== Converting a Uni into a Flux or Mono + +Converting a `Uni` into a `Flux` or a `Mono` requires a converter, as `Uni` does not implement Reactive Streams. + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-create-uni,indent=0] +---- + +If the `Uni` emits `null`, it sends the _completion_ event. + +=== Using converter instead of Reactive Streams + +While Reactive Streams interoperability is convenient, Mutiny also provides converters to create `Flux` and `Mono` from `Uni` and `Multi`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=uni-export,indent=0] +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=multi-export,indent=0] +---- + +== Integration with RX Java 3 + +RxJava is another popular reactive programming library. +It offers 5 types: `Completable` (no item), `Single` (one item), `Maybe` (0 or 1 item), `Observable` (multiple items), `Flowable` (multiple items, implements Reactive Stream `Publisher`). + +To use the RxJava `++<++-++>++` Mutiny converters, add the following imports to your class: + +[source,java] +---- +import io.smallrye.mutiny.converters.multi.MultiRx3Converters; +import io.smallrye.mutiny.converters.uni.UniRx3Converters; +---- + +=== Converting an Observable or a Flowable into a Multi + +Both `Observable` and `Flowable` are item streams. +However, `Observable` does not implement `Publisher` and so does not have back-pressure support. + +To create `Multi` from an `Observable,` you need a specific converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-multi-create-observable,indent=0] +---- + +Converting a `Flowable` is easier, as it's a `Publisher`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-multi-create-flowable,indent=0] +---- + +[WARNING] +==== + +Like Reactor, RxJava still uses the legacy Reactive Streams APIs instead of `java.util.concurrent.Flow`, so you need to perform an adaptation. + +==== + +=== Converting a Completable, Single or Maybe into a Multi + +To create a `Multi` from a `Completable,` `Single` or `Maybe` you need specific converters, as none of these types implement Reactive Streams. + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-multi-create-single,indent=0] +---- + +* Creating a `Multi` from a `Completable` always produces a `Multi++<++Void++>++` that only emits the _completion_ or _failure_ event. +* Creating a `Multi` from a `Single` produces a `Multi`. That `Multi` emits the item and then completes it. +* Creating a `Multi` from a `Maybe` produces a `Multi`. That `Multi` emits the item (if any) and then completes it. +If the `Maybe` is empty, then the created `Multi` emits the _completion_ event. + +When a `Completable,` `Single,` or `Maybe` emits a failure, then the resulting `Multi` emits that failure. + +=== Converting an Observable or a Flowable into a Uni + +To create a `Uni` from an `Observable,` you need to use a specific converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-uni-create-observable,indent=0] +---- + +The creation from a `Flowable` can be done using the Reactive Streams interoperability: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-uni-create-flowable,indent=0] +---- + +In both cases, it cancels the subscription to the `Flowable` or `Observable` after receiving the first item. +If the `Flowable` or `Observable` completes without items, the `Uni` emits a `null` item. + +=== Converting a Completable, Single or Maybe into a Uni + +To create a `Uni` from a `Completable,` `Single,` or `Maybe`, you need to use a specific converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-uni-create-single,indent=0] +---- + +Converting a `Completable` to a `Uni` always produces a `Uni++<++Void++>++,` that emits either `null` once the `Completable` completes or the failure if it fails. +The `Maybe` to `Uni` conversion emits a `null` item if the `Maybe` completes without an item. + +=== Converting a Multi into a RX Java objects + +The conversion from a `Multi` to the various RX Java objects is done using converters: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=create-rx-from-multi,indent=0] +---- + +The creation of a `Completable` from a `Multi` discards all the items emitted by the `Multi`. +It only forwards the _completion_ or _failure_ event. + +Converting a `Multi` into a `Single` returns a `Single++<++Optional++<++T++>>++,` as the `Multi` may complete without items. +You can also produce a `Single++<++T++>++` and emit a _failure_ event if the `Multi` completes without items. +You can configure the thrown exception using `onEmptyThrow.` + +[TIP] +==== + +You can also create a `Flowable` from a `Multi` using: `Flowable.fromPublisher(multi)`. + +==== + +=== Converting a Uni into a RX Java type + +Similarly to the conversion from a `Multi` into an RX Type, converting a `Uni` requires a converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=create-rx-from-uni,indent=0] +---- + +The creation of a `Completable` from a `Uni` discards the item and sends the _completion_ signal after emission. + +Converting a `Uni` into a `Single` returns a `Single++<++Optional++<++T++>>++,` as the `Uni` may emit `null.` +You can also produce a `Single++<++T++>++` and emits a _failure_ event if the `Uni` sends `null.` +Configure the failure to forward using `failOnNull.` + +The creation of a `Maybe,` `Flowable,` or an `Observable` from a `Uni` produces an empty `Maybe,` `Flowable,` or `Observable` if the `Uni` emits `null.` +For `Flowable` and `Observable,` if the `Uni` emits a _non-null_ item, that item is emitted, followed immediately by the _completion_ signal. diff --git a/content/docs/smallrye-mutiny/2/guides/custom-operators.adoc b/content/docs/smallrye-mutiny/2/guides/custom-operators.adoc new file mode 100644 index 000000000..8c2baa638 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/custom-operators.adoc @@ -0,0 +1,30 @@ += Can I have custom operators? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Yes, but please write operators responsibly! + +Both `Uni` and `Multi` support custom operators using the `plug` operator. +Here is an example where we use a custom `Multi` operator that randomly drops items: + +[source,java] +---- +include::{examples-dir}/java/guides/PlugTest.java[tags=plug,indent=0] +---- + +with the operator defined as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/PlugTest.java[tags=custom-operator,indent=0] +---- + +[CAUTION] +==== + +Custom operators are an advanced feature: when possible please use the existing operators and use helpers such as `stage` to write readable code. + +In the case of custom `Multi` operators it is wise to test them against the _Reactive Streams TCK_. + +==== diff --git a/content/docs/smallrye-mutiny/2/guides/delaying-events.adoc b/content/docs/smallrye-mutiny/2/guides/delaying-events.adoc new file mode 100644 index 000000000..c62577753 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/delaying-events.adoc @@ -0,0 +1,68 @@ += How to delay events? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +== Delaying Uni's item + +When you have a `Uni`, you can delay the item emission using `onItem().delayIt().by(...)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-by,indent=0] +---- + +You pass a duration. +When the item is received, it _waits for_ that duration before propagating it to the downstream consumer. + +You can also delay the item's emission based on another _companion_ `Uni`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-until,indent=0] +---- + +The item is propagated downstream when the `Uni` returned by the function emits an item (possibly `null`). +If the function emits a failure (or throws an exception), this failure is propagated downstream. + +== Throttling a Multi + +Multi does not have a _delayIt_ operator because applying the same delay to all items is rarely what you want to do. +However, there are several ways to apply a delay in a `Multi`. + +First, you can use the `onItem().call()`, which delays the emission until the `Uni` produced the `call` emits an item. +For example, the following snippet delays all the items by 10 ms: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-multi,indent=0] +---- + +In general, you don't want to apply the same delay to all the items. +You can combine `call` with a random delay as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-multi-random,indent=0] +---- + +Finally, you may want to throttle the items. +For example, you can introduce a (minimum) one-second delay between each item. +To achieve this, combine `Multi.createFrom().ticks()` and the multi to throttled: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=throttling-multi,indent=0] +---- + +[TIP] +==== + +The `onOverflow().drop()` is used to avoid the _ticks_ to fail if the other stream (`multi`) is too slow. + +==== + +== Delaying other types of events + +We have looked at how to delay items, but you may need to delay other events, such as subscription or failure. +For these, use the `call` approach, and return a `Uni` that delay the event's propagation. diff --git a/content/docs/smallrye-mutiny/2/guides/dropped-exceptions.adoc b/content/docs/smallrye-mutiny/2/guides/dropped-exceptions.adoc new file mode 100644 index 000000000..10d0a1524 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/dropped-exceptions.adoc @@ -0,0 +1,26 @@ += How to deal with dropped exceptions? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +There are a few corner cases where Mutiny cannot propagate an exception to a `Uni` or a `Multi` subscriber. + +Consider the following example: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/DroppedExceptionTest.java[tags=code,indent=0] +---- + +The `onCancellation().call(...)` method is called when the `Uni` subscription is cancelled. +The returned `Uni` is failed with a `IOException`, but since the subscription itself has been cancelled then there is no way to catch the exception. + +By default Mutiny reports such dropped exceptions to the standard error stream along with the corresponding stack trace. +You can change how these exceptions are handled using `Infrastructure.setDroppedExceptionHandler`. + +The following logs dropped exceptions to a logger: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/DroppedExceptionTest.java[tags=override-handler,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/eliminate-duplicates-and-repetitions.adoc b/content/docs/smallrye-mutiny/2/guides/eliminate-duplicates-and-repetitions.adoc new file mode 100644 index 000000000..4781db7ef --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/eliminate-duplicates-and-repetitions.adoc @@ -0,0 +1,60 @@ += Eliminate duplicates and repetitions +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +When observing a `Multi`, you may see duplicated items or repetitions. +The `multi.select()` and `multi.skip()` groups provide methods to only select distinct items or drop repetitions. + +== Selecting distinct + +The `.select().distinct()` operator removes all the duplicates. +As a result, the downstream only contains distinct items: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RepetitionsTest.java[tags=distinct,indent=0] +---- + +If you have a stream emitting the `++{++1, 1, 2, 3, 4, 5, 5, 6, 1, 4, 4}` items, then applying `.select().distinct()` on such a stream produces: `++{++1, 2, 3, 4, 5, 6}`. + +[IMPORTANT] +==== + +The operator keeps a reference on all the emitted items, and so, it could lead to memory issues if the stream contains too many distinct items. + +==== + +[TIP] +==== + +By default, `select().distinct()` uses the `hashCode` method from the item's class. +You can pass a custom comparator for more advanced checks. + +==== + +If you have a stream emitting items of type `T`, where duplicates can be identified through an attribute of `T` of type `K`, +then an `extractor` of type `Function++<++T, K++>++` can be defined. Applying `.select().distinct(extractor)` on such a stream will +eliminate duplicates but have a lesser memory overhead as only the references to the extracted keys need to be kept, not the whole object. +A typical usage of this might be for a stream of records where uniqueness is determined by a UUID assigned to every record. + +== Skipping repetitions + +The `.skip().repetitions()` operator removes subsequent repetitions of an item: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RepetitionsTest.java[tags=repetition,indent=0] +---- + +If you have a stream emitting the `++{++1, 1, 2, 3, 4, 5, 5, 6, 1, 4, 4}` items, then applying `.skip().repetitions()` on such a stream produces: `++{++1, 2, 3, 4, 5, 6, 1, 4}`. + +Unlike `.select().distinct()`, you can use this operator on large or infinite streams. + +[TIP] +==== + +By default, `skip().repetitions()` uses the `equals` method from the item's class. +You can pass a custom comparator for more advanced checks. + +==== diff --git a/content/docs/smallrye-mutiny/2/guides/emission-threads.adoc b/content/docs/smallrye-mutiny/2/guides/emission-threads.adoc new file mode 100644 index 000000000..4e3144069 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/emission-threads.adoc @@ -0,0 +1,36 @@ += How to change the emission thread? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Except indicated otherwise, Mutiny invokes the next _stage_ using the thread emitting the event from upstream. +So, in the following code, the _transform_ stage is invoked from the thread emitting the event. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/EmitOnTest.java[tags=example,indent=0] +---- + +You can switch to another thread using the `emitOn` operator. +The `emitOn` operator lets you switch the thread used to dispatch (upstream -++>++ downstream) events, so items, failure and completion events. +Just pass the _executor_ you want to use. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/EmitOnTest.java[tags=code,indent=0] +---- + +[NOTE] +==== + +You cannot pass a specific thread, but you can implement a simple `Executor` dispatching on that specific thread, or use a _single threaded executor_. + +==== + +[WARNING] +==== + +Be careful as this operator can lead to concurrency problems with non thread-safe objects such as CDI request-scoped beans. +It might also break reactive-streams semantics with items being emitted concurrently. + +==== diff --git a/content/docs/smallrye-mutiny/2/guides/emit-on-vs-run-subscription-on.adoc b/content/docs/smallrye-mutiny/2/guides/emit-on-vs-run-subscription-on.adoc new file mode 100644 index 000000000..b4d8604a4 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/emit-on-vs-run-subscription-on.adoc @@ -0,0 +1,45 @@ += What is the difference between emitOn and runSubscriptionOn? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +The `emitOn` and `runSubscriptionOn` are 2 operators influencing on which threads the event are dispatched. +However, they target different types of events and different directions. + +== The case of emitOn + +`emitOn` takes events coming from upstream (items, completion, failure) and replays them downstream on a thread from the given executor. +Consequently, it affects where the subsequent operators execute (until another `emitOn` is used): + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RunSubscriptionOnTest.java[tags=emitOn,indent=0] +---- + +The previous code produces the following sequence: + +[.has-dark] +image::images/diagrams/mermaid-18f9a50c0627.svg[mermaid diagram] + +[WARNING] +==== + +Be careful as this operator can lead to concurrency problems with non thread-safe objects such as CDI request-scoped beans. +It might also break reactive-streams semantics with items being emitted concurrently. + +==== + +== The case of runSubscriptionOn + +`runSubscriptionOn` applies to the subscription process. +It requests the upstream to run its subscription (call of the `subscribe` method on its own upstream) on a thread from the given executor: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RunSubscriptionOnTest.java[tags=runSubscriptionOn,indent=0] +---- + +So, if we consider the previous code snippet, it produces the following sequence: + +[.has-dark] +image::images/diagrams/mermaid-76df06b35153.svg[mermaid diagram] diff --git a/content/docs/smallrye-mutiny/2/guides/filtering-items.adoc b/content/docs/smallrye-mutiny/2/guides/filtering-items.adoc new file mode 100644 index 000000000..e621770d9 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/filtering-items.adoc @@ -0,0 +1,33 @@ += Filtering items from Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +When observing a `Multi`, you may not want to forward all the received items to the downstream. + +Use the `multi.select()` group to select items. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/FilterTest.java[tags=filter,indent=0] +---- + +To _select_ items passing a given predicate, use `multi.select().where(predicate)`: + +`where` accepts a predicate called for each item. +If the predicate returns `true`, the item propagated downstream. +Otherwise, it drops the item. + +The predicate passed to `where` is synchronous. +The `when` method provides an asynchronous version: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/FilterTest.java[tags=test,indent=0] +---- + +`when` accepts a function called for each item. + +Unlike `where` where the predicate returns a boolean synchronously, the function returns a `Uni++<++Boolean++>++`. +It forwards the item downstream if the `uni` produced by the function emits `true`. +Otherwise, it drops the item. diff --git a/content/docs/smallrye-mutiny/2/guides/framework-integration.adoc b/content/docs/smallrye-mutiny/2/guides/framework-integration.adoc new file mode 100644 index 000000000..7dfbb8eb8 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/framework-integration.adoc @@ -0,0 +1,32 @@ += How can I integrate Mutiny with my framework? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Sometimes, Mutiny needs to execute tasks on other threads, such as monitoring time or delaying actions. +Most operators relying on such capacity let you pass either a `ScheduledExecutorService` or an `ExecutorService`. + +By default, Mutiny uses the a _cached_ thread pool as default executor, that creates new threads as needed, but reuse previously constructed threads when they are available. +A `ScheduledExecutorService` is also created but delegates the execution of the delayed/scheduled tasks to the default executor. + +In the case you want to integrate Mutiny with a thread pool managed by a platform, you can configure it using `Infrastructure.setDefaultExecutor()` method: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/InfrastructureTest.java[tags=infra,indent=0] +---- + +You can configure the default executor using the `Infrastructure.setDefaultExecutor` method: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/InfrastructureTest.java[tags=set-infra,indent=0] +---- + +[TIP] +==== + +If you are using Quarkus, the default executor is already configured to use the Quarkus worker thread pool. +Logging is also configured correctly. + +==== diff --git a/content/docs/smallrye-mutiny/2/guides/handling-null.adoc b/content/docs/smallrye-mutiny/2/guides/handling-null.adoc new file mode 100644 index 000000000..fa3abd3dc --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/handling-null.adoc @@ -0,0 +1,40 @@ += How to handle null? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +The `Uni` type can emit `null` as item. + +While there are mixed feelings about `null`, it's part of the Java language and so handled in the `Uni` type. + +[IMPORTANT] +==== + +`Multi` does not support `null` items as it would break the compatibility with the _Reactive Streams_ protocol. + +==== + +Emitting `null` is convenient when returning `Uni++<++Void++>++`. +However, the downstream must expect `null` as item. + +Thus, `Uni` provides specific methods to handle `null` item. +`uni.onItem().ifNull()` lets you decide what you want to do when the received item is `null`: + +[source,java] +---- +include::{examples-dir}/java/guides/UniNullTest.java[tags=code,indent=0] +---- + +A symmetric group of methods is also available with `ifNotNull` which let you handle the case where the item is _not null_: + +[source,java] +---- +include::{examples-dir}/java/guides/UniNullTest.java[tags=code-not-null,indent=0] +---- + +[IMPORTANT] +==== + +While supported, emitting `null` should be avoided except for `Uni++<++Void++>++`. + +==== diff --git a/content/docs/smallrye-mutiny/2/guides/handling-timeouts.adoc b/content/docs/smallrye-mutiny/2/guides/handling-timeouts.adoc new file mode 100644 index 000000000..a687b0a37 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/handling-timeouts.adoc @@ -0,0 +1,53 @@ += How to handle timeouts? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Unis are often used to represent asynchronous operations, like making an HTTP call. +So, it's not rare to need to add a timeout or a deadline on this kind of operation. +If we don't get a response (receive an item in the Mutiny lingo) before that deadline, we consider that the operation failed. + +We can then recover from this failure by using a fallback value, retrying, or any other failure handling strategy. + +To configure a timeout use `Uni.ifNoItem().after(Duration)`: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=code,indent=0] +---- + +When the deadline is reached, you can do various actions. +First you can simply fail: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fail,indent=0] +---- + +A `TimeoutException` is propagated in this case. +So you can handle it specifically in the downstream: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fail-recover,indent=0] +---- + +You can also pass a custom exception: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fail-with,indent=0] +---- + +Failing and recovering might be inconvenient. +So, you can pass a fallback item or `Uni` directly: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fallback,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fallback-uni,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/hot-streams.adoc b/content/docs/smallrye-mutiny/2/guides/hot-streams.adoc new file mode 100644 index 000000000..87c93ce06 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/hot-streams.adoc @@ -0,0 +1,26 @@ += Hot streams +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +In a _cold_ stream, the stream is created when one subscriber subscribes to the stream. +So, if no one subscribes, the actual stream is not created, saving resources (that would be wasted because nobody is interested in the items). + +In a _hot_ stream, the stream exists before subscribers subscribe. +The stream emits items even if no subscribers observe the stream. +If there are no subscribers, the items are just dropped. +Subscribers only get items emitted after their subscription, meaning that any previous items would not be received. + +To create a hot stream, you can use `io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor` that: + +* drops items if no subscribers are present, +* forwards items to the set of observing subscribers. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/BroadcastProcessorTest.java[tags=code,indent=0] +---- + +Note that the `BroadcastProcessor` subscribes to the _hot_ source aggressively and without back-pressure. +However, the `BroadcastProcessor` enforces the back-pressure protocol per subscriber. +If a subscriber is not ready to handle an item emitted by the _hot_ source, an `io.smallrye.mutiny.subscription.BackPressureFailure` is forwarded to this subscriber. diff --git a/content/docs/smallrye-mutiny/2/guides/imperative-to-reactive.adoc b/content/docs/smallrye-mutiny/2/guides/imperative-to-reactive.adoc new file mode 100644 index 000000000..535317c49 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/imperative-to-reactive.adoc @@ -0,0 +1,71 @@ += From imperative to reactive +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +If you use Mutiny, there is a good chance you may want to avoid blocking the caller thread. + +In a _pure_ reactive application, the application logic is executed on one of the few I/O threads, and blocking one of these would have dramatic consequences. +So, here is the big question: _how do you deal with blocking code?_ + +Let's imagine you have blocking code (e.g., connecting to a database using JDBC, reading a file from the file system...), and you want to integrate that into your reactive pipelines while avoiding blocking. +You would need to isolate such blocking parts of your code and run these parts on worker threads. + +Mutiny provides two operators to customize the threads used to handle events: + +* `runSubscriptionOn` - to configure the thread used to execute the code happening at subscription-time +* `emitOn` - to configure the thread used to dispatch events downstream + +== Running blocking code on subscription + +It is very usual to deal with the blocking call during the subscription. +In this case, the `runSubscription` operator is what you need: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ImperativeToReactiveTest.java[tags=uni-runSubscriptionOn,indent=0] +---- + +The code above creates a Uni that will supply the item using a blocking call, here the `invokeRemoteServiceUsingBlockingIO` method. +To avoid blocking the subscriber thread, it uses `runSubscriptionOn` which switches the thread and call `invokeRemoteServiceUsingBlockingIO` on another thread. +Here we pass the default worker thread pool, but you can use your own executor. + +[TIP] +==== + +What's that default worker pool? + +In the previous snippet, you may wonder about `Infrastructure.getDefaultWorkerPool()`. +Mutiny allows the underlying platform to provide a default worker pool. +`Infrastructure.getDefaultWorkerPool()` provides access to this pool. + +==== + +If the underlying platform does not provide a pool, a default one is used. + +Note that `runSubscriptionOn` does not subscribe to the Uni. +It specifies the executor to use when a subscription happens. + +While the snippet above uses `Uni`, you can also use `runSubscriptionOn` on a `Multi`. + +== Executing blocking calls on event + +Using `runSubscriptionOn` works when the blocking operation happens at subscription time. +But, when dealing with `Multi` and need to execute blocking operations for each item, you need to use `emitOn`. + +While `runSubscriptionOn` runs the subscription on the given executor, `emitOn` configures the executor used to propagate downstream the items, failure and completion events: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ImperativeToReactiveTest.java[tags=multi-emitOn,indent=0] +---- + +`emitOn` is also available on `Uni`. + +[WARNING] +==== + +Be careful as this operator can lead to concurrency problems with non thread-safe objects such as CDI request-scoped beans. +It might also break reactive-streams semantics with items being emitted concurrently. + +==== diff --git a/content/docs/smallrye-mutiny/2/guides/integrate-a-non-reactive-source.adoc b/content/docs/smallrye-mutiny/2/guides/integrate-a-non-reactive-source.adoc new file mode 100644 index 000000000..0b0a7982c --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/integrate-a-non-reactive-source.adoc @@ -0,0 +1,20 @@ += How can I create a Multi from a non-reactive source? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +The `UnicastProcessor` is an implementation of `Multi` that lets you enqueue items in a queue. + +The items are then dispatched to the subscriber using the request protocol. +While this pattern is against the idea of back-pressure, it lets you connect sources of data that do not support back-pressure with your subscriber. + +In the following example, the `UnicastProcessor` is used by a thread emitting items. +These items are enqueued in the processor and replayed when the subscriber is connected, following the request protocol. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UnicastProcessorTest.java[tags=code,indent=0] +---- + +By default, the `UnicastProcessor` uses an unbounded queue. +You can also pass a fixed size queue that would reject the items once full. diff --git a/content/docs/smallrye-mutiny/2/guides/joining-unis.adoc b/content/docs/smallrye-mutiny/2/guides/joining-unis.adoc new file mode 100644 index 000000000..eaaa1a204 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/joining-unis.adoc @@ -0,0 +1,67 @@ += Joining several unis +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +A `Uni` represents an operation that either emits a value or a failure. +Examples of operations that fit into a `Uni` include: HTTP client requests, database `insert` queries, sending messages to a broker, etc. + +It is common to trigger several _concurrent_ operations, then _join_ on the results. +For instance you can make HTTP requests to 3 different HTTP APIs, then collect all HTTP responses. +Or you can just take the response from the one who was the fastest. + +`Uni` offers the `join` group to assemble all results from a list of `Uni`, pick the first one that terminates, or pick the first one that terminates with a value. + +== Joining multiple unis + +Given multiple `Uni`, you can join them all and obtain a `Uni` that emits a list of values: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-all,indent=0] +---- + +The assembled values are in the same order as the list of unis. +The last call to `.andCollectFailures()` specifies that if one or several `Uni` fail, then the failures are assembled in a `CompositeException`. + +Sometimes you just want to _fail fast_ if any of the `Uni` fails, and not wait for all unis to terminate: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-all-ff,indent=0] +---- + +When any `Uni` fails, then the failure is directly forwarded as a failure of `res`. + +== Joining on the first Uni + +In some cases you do not want to have all the results but just that of the first `Uni` to respond. +There are actually 2 different cases, depending on whether you want the result of the first `Uni` that emits a value, or just the result of the first `Uni` to terminate. + +If you want to get the first `Uni` that terminates: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-first,indent=0] +---- + +If you want to have the first `Uni` that emits a value (and forget the first failures), then: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-first-withitem,indent=0] +---- + +When all unis fail then `res` fails with a `CompositeException` that reports all failures. + +== Using a builder object + +There are situations where it can be more convenient to gather the unis to join in an iterative fashion. +For this purpose you can use a builder object, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=builder,indent=0] +---- + +The builder offers `joinAll()` and `joinFirst()` methods. diff --git a/content/docs/smallrye-mutiny/2/guides/kotlin.adoc b/content/docs/smallrye-mutiny/2/guides/kotlin.adoc new file mode 100644 index 000000000..796415510 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/kotlin.adoc @@ -0,0 +1,135 @@ += Kotlin integration +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +The module `mutiny-kotlin` provides an integration with Kotlin for use with coroutines and convenient language features. + +There are extension methods available for converting between Mutiny and Kotlin (coroutine) types. +For implementation details please have also a look to these methods' documentation. + +== Dependency coordinates + +The coroutine extension functions are shipped in the package `io.smallrye.mutiny.coroutines`. + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=importStatements,indent=0] +---- + +You need to add the following dependency to your project: + +[.tabs] +==== + +Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + mutiny-kotlin + {versions-mutiny} + +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.reactive:mutiny-kotlin:{versions-mutiny}") +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation "io.smallrye.reactive:mutiny-kotlin:{versions-mutiny}" +---- + +-- + +==== + +== Awaiting a Uni in coroutines + +Within a coroutine or suspend function you can easily await Uni events in a suspended way: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=uniAwaitSuspending,indent=0] +---- + +== Processing a Multi as Flow + +The coroutine `Flow` type matches `Multi` semantically, even though it isn't a feature complete reactive streams implementation. +You can process a `Multi` as `Flow` as follows: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=multiAsFlow,indent=0] +---- + +[NOTE] +==== + +There's no flow control availabe for Kotlin's `Flow`. Published items are buffered for consumption using a coroutine `Channel`. +The buffer size and overflow strategy of that `Channel` can be configured using optional arguments: +`Multi.asFlow(bufferCapacity = Channel.UNLIMITED, bufferOverflowStrategy = BufferOverflow.SUSPEND)`, +for more details please consult the method documentation. + +==== + +== Providing a Deferred value as Uni + +The other way around is also possible, let a Deferred become a Uni: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=deferredAsUni,indent=0] +---- + +== Creating a Multi from a Flow + +Finally, creating a Multi from a Flow is also possible: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=flowAsMulti,indent=0] +---- + +== Language convenience + +=== Unit instead of Void (null) value + +Kotlin has a special value type `Unit` similar to Java's `Void`. +While regular `Uni++<++Void++>++` holds a `null` item, you can get a `Unit` by using the extension function `replaceWithUnit()`: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/UniExt.kt[tags=uniReplaceWithUnit,indent=0] +---- + +=== Uni builder + +Building a `Uni` from Kotlin code can easily be achieved using the following builders available as regular or coroutine variant: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/UniExt.kt[tags=uniBuilder,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=uniBuilder,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/logging.adoc b/content/docs/smallrye-mutiny/2/guides/logging.adoc new file mode 100644 index 000000000..4135995b1 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/logging.adoc @@ -0,0 +1,66 @@ += Logging events +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +Both `Uni` and `Multi` offer a `log` operator that can be used to trace events as they flow through operators. + +Mutiny does not make any assumption on _how_ logging is defined, and does not rely on any specific logging API. + +== Using a logging operator + +The `log` method comes in 2 forms: one that takes an identifier and one that derives the identifier from the upstream class: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/OperatorLoggingTest.java[tags=log,indent=0] +---- + +Here the `log` operator traces all events between the `onItem().transform(...)` operator and the subscriber, as in the following output: + +.... +11:01:48.709 [main] INFO Multi.MultiMapOp.0 - onSubscription() +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - request(9223372036854775807) +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onItem(10) +>>> 10 +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onItem(20) +>>> 20 +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onItem(30) +>>> 30 +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onCompletion() +.... + +There are a few things to note here: + +[arabic] +. we are logging on a `Multi`, so the logging event is prefixed with `Multi` (and `Uni` in the case of a... `Uni`), and +. since we did not specify any identifier in the `log` method call, `MultiMapOp` has been derived from the preceding operator (non-qualified) class name, and +. since there can be multiple subscriptions an integer is appended to the identifier (`0`, `1`, `2`, ...). + +== Defining logging + +What happens when events are being logged is defined with the `Infrastructure` class. +Events are written by default to the standard console output in a format similar to: + +.... +[--> Multi.MultiMapOp.0 | onSubscription() +[--> Multi.MultiMapOp.0 | request(9223372036854775807) +[--> Multi.MultiMapOp.0 | onItem(10) +[--> Multi.MultiMapOp.0 | onItem(20) +[--> Multi.MultiMapOp.0 | onItem(30) +[--> Multi.MultiMapOp.0 | onCompletion() +.... + +The following is an example of configuring logging with http://www.slf4j.org++[++SLF4J++]++: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/OperatorLoggingTest.java[tags=set-logger,indent=0] +---- + +[TIP] +==== + +Note that this is only useful to do when embedding Mutiny in your own stack, some frameworks like https://quarkus.io[Quarkus] will already have defined the correct logging strategy. + +==== diff --git a/content/docs/smallrye-mutiny/2/guides/merging-and-concatenating-streams.adoc b/content/docs/smallrye-mutiny/2/guides/merging-and-concatenating-streams.adoc new file mode 100644 index 000000000..abe8c3428 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/merging-and-concatenating-streams.adoc @@ -0,0 +1,89 @@ += Merging and Concatenating Streams +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Merging or concatenating streams is a frequent operation which consists in taking multiple streams and creating a new `Multi` out of them. +Such an operation observes the items emitted by the different streams and produces a new `Multi` emitting the events. + +All the streams merged or concatenated this way should emit the same type of items. + +== The difference between merge and concatenate + +Understanding the difference between _merge_ and _concatenate_ is essential. + +When _merging_ streams, it observes the different upstreams and emits the items as they come. +If the streams emit their items concurrently, the items from the different streams are interleaved. + +[.has-dark] +image::images/diagrams/mermaid-74e1ac453bf9.svg[mermaid diagram] + +When using _merge_, failures are also propagated to the merged stream, and no more items are emitted after that failure. +The _completion_ event is only emitted by the merged stream when all the observed streams are completed. + +But if we want to keep the order of the observed stream, we need to _concatenate_. + +When _concatenating_, it waits for the first stream to complete before subscribing to the second one. Thus, it ensures that all the items from the first stream have been emitted before emitting the second stream items. It preserves an order corresponding to the source: + +[.has-dark] +image::images/diagrams/mermaid-c6f9029821c4.svg[mermaid diagram] + +When the first stream emits the completion event, it switches to the second stream, and so on. +When the last stream completes, the concatenated stream sends the completion event. +As for _merge_, if a stream fails then there won't be further events. + +== Merging Multis + +To create a new `Multi` from the _merge_ of multiple `Multi` streams use: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=merge,indent=0] +---- + +For example, we can merge multiple streams emitting periodical events: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=merge-ticks,indent=0] +---- + +and the output would be similar to: + +[source,text] +---- +Got item: Stream 1 - 0 +Got item: Stream 2 - 0 +Got item: Stream 3 - 0 +Got item: Stream 3 - 1 +Got item: Stream 1 - 1 +Got item: Stream 3 - 2 +Got item: Stream 2 - 1 +Got item: Stream 3 - 3 +Got item: Stream 1 - 2 +Got item: Stream 3 - 4 +Got item: Stream 3 - 5 +---- + +== Concatenating Multis + +To create a new `Multi` from the _concatenation_ of multiple `Multi` streams use: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=concat,indent=0] +---- + +Don't forget that the streams order matters in this case, as `(streamA, streamB)` does not provide the same result as `(streamB, streamA)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=concatenate-strings,indent=0] +---- + +[IMPORTANT] +==== + +If one of the concatenated streams is unbounded (infinite), the next streams in the list won't be consumed! + +==== diff --git a/content/docs/smallrye-mutiny/2/guides/multi-split.adoc b/content/docs/smallrye-mutiny/2/guides/multi-split.adoc new file mode 100644 index 000000000..d8427562a --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/multi-split.adoc @@ -0,0 +1,51 @@ += Splitting a Multi into several Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +It is possible to split a `Multi` into several `Multi` streams. + +== Using the split operator + +Suppose that we have a stream of strings that represent _signals_, and that we want a `Multi` for each kind of signal: + +* `?foo`, `?bar` are _input_ signals, +* `!foo`, `!bar` are _output_ signals, +* `foo`, `bar` are _other_ signals. + +To do that, we need a function that maps each item of the stream to its target stream. +The splitter API needs a Java enumeration to define keys, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SplitTest.java[tags=enum,indent=0] +---- + +Now we can use the `split` operator that provides a splitter object, and fetch individual `Multi` for each split stream using the `get` method: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SplitTest.java[tags=splits,indent=0] +---- + +This prints the following console output: + +.... +output - a +input - b +output - c +output - d +other - 123 +input - e +.... + +== Notes on using splits + +* Items flow when all splits have a subscriber. +* The flow stops when either of the subscribers cancels, or when any subscriber has a no outstanding demand. +* The flow resumes when all splits have a subscriber again, and when all subscribers have outstanding demand. +* Only one subscriber can be active for a given split. Other subscription attempts will receive an error. +* When a subscriber cancels, then a new subscription attempt on its corresponding split can succeed. +* Subscribing to an already completed or errored split results in receiving the terminal signal (`onComplete()` or `onFailure(err)`). +* The upstream `Multi` gets subscribed to when the first split subscription happens, no matter which split it is. +* The first split subscription passes its context, if any, to the upstream `Multi`. It is expected that all split subscribers share the same context object, or the behavior of your code will most likely be incorrect. diff --git a/content/docs/smallrye-mutiny/2/guides/pagination.adoc b/content/docs/smallrye-mutiny/2/guides/pagination.adoc new file mode 100644 index 000000000..8371841a0 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/pagination.adoc @@ -0,0 +1,46 @@ += How to use paginated APIs? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +There are many REST / HTTP APIs using pagination, _i.e._ return only a subset of the results and you need to request the next _page_ to get the next batch. +Each batch contains a list of item(s). + +To use this kind of API and generate a continuous stream of items, you need to use the `Multi.createBy().repeating()` function. +However, we need to pass a cursor / state to advance and avoid requesting again and again the same page. +Fortunately, `repeating` provides methods to pass a shared state. +So by combining these methods and `disjoint` you can generate streams from these pages: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PaginationTest.java[tags=code,indent=0] +---- + +First, you create a `Multi` containing the items emitted by the `CompletionStage` supplier and pass a state supplier to progress among the pages. + +Then, use `until` to call the paginated API until we have all the items. +At the point we have a stream of list of item such as `++[++"a", "b", "c"++]++, ++[++"d", "e"++]++, ++[]++`. +However, we want the following stream: `"a", "b", "c", "d", "e"`. +The `disjoint` method does exactly this. +It gets the items from the lists and passes them downstream: + +[.has-dark] +image::images/diagrams/mermaid-df98fc1dd069.svg[mermaid diagram] + +`Multi.createBy().repeating()` lets you choose the number of iterations using: + +* `atMost` - exact number of repetitions (or failure happens before reaching that number) +* `until` - the repetition is stopped if the item emitted by the `Uni` *passes* a test (predicate). +It does not propagate the item that did pass the check, and it stops the repetition. +The check verifies if the current item does not contain valid data. +* `whilst` - the repetition is stopped if the item emitted by the `Uni` *does not pass* a test (predicate). +It does propagate the item downstream even if the check does not pass. +However, it stops the repetition. +The test verifies if there is a _next_ batch to be retrieved. + +The following code illustrates the usage of `whilst`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PaginationTest.java[tags=code2,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/polling.adoc b/content/docs/smallrye-mutiny/2/guides/polling.adoc new file mode 100644 index 000000000..88aa7115e --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/polling.adoc @@ -0,0 +1,21 @@ += How to use polling? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +There are many poll-based API around us. +Sometimes you need to use these APIs to generate a stream from the polled values. + +To do this, use the `repeat()` feature: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PollableSourceTest.java[tags=code,indent=0] +---- + +You can also stop the repetition using the `repeat().until()` method which will continue the repetition until the given predicate returns `true`, and/or directly create a `Multi` using `Multi.createBy().repeating()`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PollableSourceTest.java[tags=code2,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/reactive-to-imperative.adoc b/content/docs/smallrye-mutiny/2/guides/reactive-to-imperative.adoc new file mode 100644 index 000000000..b1ede52c1 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/reactive-to-imperative.adoc @@ -0,0 +1,54 @@ += From reactive to imperative +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +There are use cases where you need the items in an imperative manner instead of asynchronous. +Typically, when you serve an HTTP request from a worker thread, you can block. + +Mutiny provides the ability to block until you get the items. + +== Awaiting on Uni's item + +When dealing with a `Uni,` you can block and await the item using: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=await,indent=0] +---- + +This method blocks the caller thread until the observed `uni` emits the item. +Note that the returned item can be `null` if the `uni` emits `null.` +If the `uni` fails, it throws the exception, wrapped in the `CompletionException` for _checked_ exception. + +Blocking forever may not be a great idea. +You can use `uni.await().atMost(Duration)` to pass a deadline. +When the deadline is reached, a `TimeoutException` is thrown: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=atMost,indent=0] +---- + +== Iterating over Multi's items + +When dealing with a `Multi,` you may want to iterate over the items using a simple "foreach." +You can achieve this using `multi.subscribe().asIterable()`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=iterable,indent=0] +---- + +The returned `iterable` is blocking. +It waits for the next items, and during that time, blocks the caller thread. + +The iteration ends once the last item is consumed. +If the `multi` emits a failure, an exception is thrown. + +Similar to `asIterable()`, the `asStream` method lets you retrieve a `java.util.stream.Stream`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=stream,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/replaying-multis.adoc b/content/docs/smallrye-mutiny/2/guides/replaying-multis.adoc new file mode 100644 index 000000000..d2cc64c0e --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/replaying-multis.adoc @@ -0,0 +1,94 @@ += Replaying Multis +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +A `Multi` is a _cold-source_: no processing happens until you subscribe. + +While the `broadcast` operator can be used so that multiple subscribers consume a `Multi` events _at the same time_, it does not support replaying items for _late subscribers_: when a subscriber joins after the `Multi` has completed (or failed), then it won't receive any item. + +This is where _replaying_ can be useful. + +== Replaying all events + +Replaying all events from an upstream `Multi` works as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-all,indent=0] +---- + +Both `item++_++1` and `item++_++2` trigger new subscriptions, and both lists contain the following elements: + +.... +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +.... + +Replaying works by turning `upstream` into a _hot-stream_, meaning that it gets requested `Long.MAX++_++VALUE` elements. +This is done when the first subscription happens. + +The replay operator stores the items in an internal _replay log_, and then each subscriber gets to replay them. + +[IMPORTANT] +==== + +Subscribers demand and cancellation requests are honored while replaying, but `upstream` cannot be cancelled. + +Be careful with unbounded streams as you can exhaust memory! + +In such cases or when you need to replay large amounts of data, you might opt to use some eventing middleware rather than Mutiny replays. + +==== + +== Replaying the last 'n' events + +You can limit the number of elements to replay by using the `upTo` method: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-last,indent=0] +---- + +Each new subscriber gets to replay the last `n` elements from where the replay log is at subscription time. +For instance the first subscriber can observe all events, while a subscriber that joins 2 seconds later might not observe the earlier events. + +Since `Multi.createFrom().range(0, 10)` is an _immediate_ stream, both `item++_++1` and `item++_++2` lists contain the last items: + +.... +[7, 8, 9] +.... + +== Prepending with seed data + +In some cases you might want to prepend some _seed_ data that will be available for replay before the upstream starts emitting. + +You can do so using an `Iterable` to provide such seed data: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-seed,indent=0] +---- + +In which case subscribers can observe the following events: + +.... +[-10, -5, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +.... + +== Replay of failures and completions + +Subscribers get to observe not just items but also the failure and completion events: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-errors,indent=0] +---- + +Running this code yields the following output for any subscriber: + +.... +-> 7 +-> 8 +-> 9 +Failed: boom +.... diff --git a/content/docs/smallrye-mutiny/2/guides/rx.adoc b/content/docs/smallrye-mutiny/2/guides/rx.adoc new file mode 100644 index 000000000..b41ec4f0f --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/rx.adoc @@ -0,0 +1,31 @@ += Using map, flatMap and concatMap +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +If you are a seasoned reactive developer, you may miss the `map`, `flatMap`, `concatMap` methods. + +The Mutiny API is quite different from the _standard_ reactive eXtensions API. + +There are multiple reasons for this choice. +Typically, _flatMap_ is not necessarily well understood by every developer, leading to potentially catastrophic consequences. + +That being said, Mutiny provides the _map_, _flatMap_ and _concatMap_ methods, implementing the most common variant for each: + +[source,java] +---- +include::{examples-dir}/java/guides/RxTest.java[tags=rx,indent=0] +---- + +The Mutiny equivalents are: + +* `map -++>++ onItem().transform()` +* `flatMap -++>++ onItem().transformToUniAndMerge` and `onItem().transformToMultiAndMerge` +* `concatMap -++>++ onItem().transformToUniAndConcatenate` and `onItem().transformToMultiAndConcatenate` + +The following snippet demonstrates how to uses these methods: + +[source,java] +---- +include::{examples-dir}/java/guides/RxTest.java[tags=mutiny,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/shortcut-methods.adoc b/content/docs/smallrye-mutiny/2/guides/shortcut-methods.adoc new file mode 100644 index 000000000..219dcdcb1 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/shortcut-methods.adoc @@ -0,0 +1,44 @@ += Shortcut methods +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +The Mutiny API is decomposed around the idea of groups, each group handling a specific event. +However, to avoid verbosity, Mutiny also exposes _shortcuts_ for the most used methods. +Be aware that these shorts, while making the code shorter, may harm the readability and understandability. + +To _peek_ at items, you can use the `invoke` method: + +[source,java] +---- +include::{examples-dir}/java/guides/ShortcutsTest.java[tags=invoke,indent=0] +---- + +`invoke` is a shortcut for `onItem().invoke(...)`. + +Mutiny also provides the `call` method for executing an action returning a `Uni`. +This is useful to execute an asynchronous action without modifying incoming item: + +[source,java] +---- +include::{examples-dir}/java/guides/ShortcutsTest.java[tags=call,indent=0] +---- + +`call` is a shortcut for `onItem().call(...)`. + +The following table lists the available shortcuts available by the `Uni` class: + +[width="100%",cols="41%,59%",options="header",] +|=== +|Shortcut |Equivalent +|`uni.map(x -++>++ y)` |`uni.onItem().transform(x -++>++ y)` +|`uni.flatMap(x -++>++ uni2)` |`uni.onItem().transformToUni(x -++>++ uni2)` +|`uni.chain(x -++>++ uni2)` |`uni.onItem().transformToUni(x -++>++ uni2)` +|`uni.invoke(x -++>++ System.out.println(x))` |`uni.onItem().invoke(x -++>++ System.out.println(x))` +|`uni.call(x -++>++ uni2)` |`uni.onItem().call(x -++>++ uni2)` +|`uni.eventually(() -++>++ System.out.println("eventually"))` |`uni.onTermination().invoke(() -++>++ System.out.println("eventually"))` +|`uni.eventually(() -++>++ uni2)` |`uni.onTermination().call((ignoredItem, ignoredError, ignoredCancellation) -++>++ uni2)` +|`uni.replaceWith(x)` |`uni.onItem().transform(ignored -++>++ x)` +|`uni.replaceWith(uni2)` |`uni.onItem().transformToUni(ignored -++>++ uni2)` +|`uni.replaceIfNullWith(x)` |`uni.onItem().ifNull().continueWith(x)` +|=== diff --git a/content/docs/smallrye-mutiny/2/guides/spies.adoc b/content/docs/smallrye-mutiny/2/guides/spies.adoc new file mode 100644 index 000000000..2a87e08e8 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/spies.adoc @@ -0,0 +1,71 @@ += Spying on events +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Spies are useful when you need to track which _events_ flow into a `Uni` or a `Multi`. +Spies can track events from groups such as `onItem()`, `onFailure()`, `onSubscribe()`, etc. + +The `io.smallrye.mutiny.helpers.spies.Spy` interface offers factory methods to spy on selected groups, or even on all groups. + +== Spying selected groups + +The following example spies on requests and completion group events: + +[source,java] +---- +include::{examples-dir}/java/guides/SpiesTest.java[tags=selected,indent=0] +---- + +The standard output stream shall display the following text: + +.... +1 +2 +3 +Number of requests: 9223372036854775807 +Completed? true +.... + +The number of requests corresponds to `Long.MAX++_++VALUE`, and a completion event was sent. + +[IMPORTANT] +==== + +It is important to note that spies observe and report events for all subscribers, not just one in particular. + +You should call the `.reset()` method on a given spy to resets its statistics such as the invocation count. + +==== + +== Spying all groups + +You can take advantage of a _global spy_ if you are interested in all event groups: + +[source,java] +---- +include::{examples-dir}/java/guides/SpiesTest.java[tags=global,indent=0] +---- + +Running the snippet above gives the following output: + +.... +1 +2 +3 +Number of requests: 9223372036854775807 +Cancelled? false +Failure? null +Items: [1, 2, 3] +.... + +[WARNING] +==== + +Tracking `onItem()` events on a `Multi` requires storing all items into a list, which can yield an out-of-memory +exception with large streams. + +In such cases consider using `Spy.onItem(multi, false)` to obtain a spy that does not store items, but that can +still report data such as the number of received events (see `spy.invocationCount()`). + +==== diff --git a/content/docs/smallrye-mutiny/2/guides/take-skip-items.adoc b/content/docs/smallrye-mutiny/2/guides/take-skip-items.adoc new file mode 100644 index 000000000..f466d1062 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/take-skip-items.adoc @@ -0,0 +1,116 @@ += Take/Skip the first or last items +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +Multi provides the ability to: + +* only forward items from the beginning of the observed multi, +* only forward the last items (and discard all the other ones), +* skip items from the beginning of the multi, +* skip the last items. + +These actions are available from the `multi.select()` and `multi.skip()` groups, allowing to, respectively, select and skip +items from upstream. + +== Selecting items + +The `multi.select().first` method forwards on the _n_ *first* items from the multi. +It forwards that amount of items and then sends the completion signal. +It also cancels the upstream subscription. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-first,indent=0] +---- + +[NOTE] +==== + +The `select().first()` method selects only the first item. + +==== + +If the observed multi emits fewer items, it sends the completion event when the upstream completes. + +Similarly, The `multi.select().last` operator forwards on the _n_ *last* items from the multi. +It discards all the items emitted beforehand. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-last,indent=0] +---- + +[NOTE] +==== + +The `select().last()` method selects only the last item. + +==== + +The `multi.select().first(Predicate)` operator forwards the items while the passed predicate returns `true`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-while,indent=0] +---- + +It calls the predicate for each item. +Once the predicate returns `false`, it stops forwarding the items downstream. +It also sends the completion event and cancels the upstream subscription. + +Finally, `multi.select().first(Duration)` operator picks the first items emitted during a given period. +Once the passed duration expires, it sends the completion event and cancels the upstream subscription. +If the observed multi completes before the passed duration, it sends the completion event. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-for,indent=0] +---- + +== Skipping items + +You can also skip items using `multi.skip()`. + +The `multi.skip().first(n)` method skips the _n_ *first* items from the multi. +It forwards all the remaining items and sends the completion event when the upstream multi completes. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-first,indent=0] +---- + +If the observed multi emits fewer items, it sends the completion event without emitting any items. + +[NOTE] +==== + +`skip().last()` drops only the very last item. + +==== + +Similarly, The `multi.skip().last(n)` operator skips on the _n_ *last* items from the multi: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-last,indent=0] +---- + +The `multi.skip().first(Predicate)` operator skips the items while the passed predicate returns `true`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-while,indent=0] +---- + +It calls the predicate for each item. +Once the predicate returns `false`, it stops discarding the items and starts forwarding downstream. + +Finally, `multi.skip().first(Duration)` operator skips the first items for a given period. +Once the passed duration expires, it sends the items emitted after the deadline downstream. +If the observed multi completes before the passed duration, it sends the completion event. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-for,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/testing.adoc b/content/docs/smallrye-mutiny/2/guides/testing.adoc new file mode 100644 index 000000000..34299c43d --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/testing.adoc @@ -0,0 +1,28 @@ += How can I write unit / integration tests? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +Mutiny provides subscribers for `Uni` and `Multi` offering helpful assertion methods. +You can use them to test pipelines. + +Here is an example to test a `Uni`: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=uni,indent=0] +---- + +Testing a `Multi` pipeline is similar: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=multi,indent=0] +---- + +The assertions do not just focus on _good_ outcomes, you can also test failures as in: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=failing,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/guides/unchecked-exceptions.adoc b/content/docs/smallrye-mutiny/2/guides/unchecked-exceptions.adoc new file mode 100644 index 000000000..8b0f4206d --- /dev/null +++ b/content/docs/smallrye-mutiny/2/guides/unchecked-exceptions.adoc @@ -0,0 +1,42 @@ += Dealing with checked exceptions +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +When implementing your reactive pipeline, you write lots of functions (`java.util.function.Function`), consumers (`java.util.function.Consumer`), suppliers (`java.util.function.Supplier`) and so on. + +By default, you cannot throw checked exceptions. + +When integrating libraries throwing checked exceptions (like `IOException`) it's not very convenient to add a `try/catch` block and wrap the thrown exception into a runtime exception: + +[source,java] +---- +include::{examples-dir}/java/guides/UncheckedTest.java[tags=rethrow,indent=0] +---- + +Mutiny provides utilities to avoid having to do this manually. + +If your operation throws a _checked exception_, you can use the https://javadoc.io/doc/io.smallrye.reactive/mutiny/latest/io/smallrye/mutiny/unchecked/Unchecked.html[`io.smallrye.mutiny.unchecked.Unchecked`] wrappers. + +For example, if your synchronous transformation uses a method throwing a checked exception, wrap it using `Unchecked.function`: + +[source,java] +---- +include::{examples-dir}/java/guides/UncheckedTest.java[tags=transform,indent=0] +---- + +You can also wrap consumers such as in: + +[source,java] +---- +include::{examples-dir}/java/guides/UncheckedTest.java[tags=invoke,indent=0] +---- + +[TIP] +==== + +You can add the following import statement to simplify the usage of the provided methods: + +`import static io.smallrye.mutiny.unchecked.Unchecked.++*++;` + +==== diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-0277dcc2b534.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-0277dcc2b534.dark.svg new file mode 100644 index 000000000..4de452321 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-0277dcc2b534.dark.svg @@ -0,0 +1 @@ +SubscriberProcessorPublisherSubscriberProcessorPublishersubscribesubscribesubscriptionsubscriptionrequest(5)request(5)onItem("a")onItem("A")onItem("b")onItem("B")cancel()cancel() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-0277dcc2b534.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-0277dcc2b534.svg new file mode 100644 index 000000000..d390d8d76 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-0277dcc2b534.svg @@ -0,0 +1 @@ +SubscriberProcessorPublisherSubscriberProcessorPublishersubscribesubscribesubscriptionsubscriptionrequest(5)request(5)onItem("a")onItem("A")onItem("b")onItem("B")cancel()cancel() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-18f9a50c0627.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-18f9a50c0627.dark.svg new file mode 100644 index 000000000..61cbecb7f --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-18f9a50c0627.dark.svg @@ -0,0 +1 @@ +SubscriberemitOn(executor)MultiSubscriberemitOn(executor)MultiOn caller threadOn executor threadonItem(1)1onItem(1)2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-18f9a50c0627.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-18f9a50c0627.svg new file mode 100644 index 000000000..684d7dc80 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-18f9a50c0627.svg @@ -0,0 +1 @@ +SubscriberemitOn(executor)MultiSubscriberemitOn(executor)MultiOn caller threadOn executor threadonItem(1)1onItem(1)2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3b8d4c58438a.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3b8d4c58438a.dark.svg new file mode 100644 index 000000000..8454c6921 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3b8d4c58438a.dark.svg @@ -0,0 +1 @@ +SubscriberMulti(item)TransformerUniSubscriberMulti(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(item)4onItem(item)5onItem(item)6onItem(item)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3b8d4c58438a.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3b8d4c58438a.svg new file mode 100644 index 000000000..bfccc4178 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3b8d4c58438a.svg @@ -0,0 +1 @@ +SubscriberMulti(item)TransformerUniSubscriberMulti(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(item)4onItem(item)5onItem(item)6onItem(item)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3d4459e3c6a6.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3d4459e3c6a6.dark.svg new file mode 100644 index 000000000..2caf15c72 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3d4459e3c6a6.dark.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([1,a])4onItem(3)5onItem(b)6onItem([2,b])7onItem(c)8 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3d4459e3c6a6.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3d4459e3c6a6.svg new file mode 100644 index 000000000..2e8d7dc42 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-3d4459e3c6a6.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([1,a])4onItem(3)5onItem(b)6onItem([2,b])7onItem(c)8 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-491ff27a51a5.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-491ff27a51a5.dark.svg new file mode 100644 index 000000000..f66422d35 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-491ff27a51a5.dark.svg @@ -0,0 +1 @@ +ObserverStreamObserverStreamObserverStreamObserverStreamonItem("a")onItem("a")onItem("b")onItem("b")onItem("c")onFailure(err)onCompletion() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-491ff27a51a5.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-491ff27a51a5.svg new file mode 100644 index 000000000..767fb50f9 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-491ff27a51a5.svg @@ -0,0 +1 @@ +ObserverStreamObserverStreamObserverStreamObserverStreamonItem("a")onItem("a")onItem("b")onItem("b")onItem("c")onFailure(err)onCompletion() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-69aa56febc93.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-69aa56febc93.dark.svg new file mode 100644 index 000000000..03cc781bd --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-69aa56febc93.dark.svg @@ -0,0 +1 @@ +SubscriberCollect operatorMultiSubscriberCollect operatorMultionItem(1)1onItem(2)2onItem(3)3onItem([1, 2, 3])4 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-69aa56febc93.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-69aa56febc93.svg new file mode 100644 index 000000000..47b820123 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-69aa56febc93.svg @@ -0,0 +1 @@ +SubscriberCollect operatorMultiSubscriberCollect operatorMultionItem(1)1onItem(2)2onItem(3)3onItem([1, 2, 3])4 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-74e1ac453bf9.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-74e1ac453bf9.dark.svg new file mode 100644 index 000000000..222401383 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-74e1ac453bf9.dark.svg @@ -0,0 +1 @@ +Merged streamStream BStream AMerged streamStream BStream Asubscribe1subscribe2onSubscribe(s)3onItem(1)4onSubscribe(s)5onItem(2)6onItem(a)7onItem(3)8onItem(b)9onItem(c)10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-74e1ac453bf9.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-74e1ac453bf9.svg new file mode 100644 index 000000000..d0afbd3b0 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-74e1ac453bf9.svg @@ -0,0 +1 @@ +Merged streamStream BStream AMerged streamStream BStream Asubscribe1subscribe2onSubscribe(s)3onItem(1)4onSubscribe(s)5onItem(2)6onItem(a)7onItem(3)8onItem(b)9onItem(c)10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-76df06b35153.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-76df06b35153.dark.svg new file mode 100644 index 000000000..e6cc9fcb5 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-76df06b35153.dark.svg @@ -0,0 +1 @@ +SubscriberrunSubscriptionOn(executor)MultiSubscriberrunSubscriptionOn(executor)Multion Caller threadOn executor threadsubscribe1subscribe2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-76df06b35153.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-76df06b35153.svg new file mode 100644 index 000000000..137defedd --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-76df06b35153.svg @@ -0,0 +1 @@ +SubscriberrunSubscriptionOn(executor)MultiSubscriberrunSubscriptionOn(executor)Multion Caller threadOn executor threadsubscribe1subscribe2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-bc092005fd3f.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-bc092005fd3f.dark.svg new file mode 100644 index 000000000..285c0bc42 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-bc092005fd3f.dark.svg @@ -0,0 +1 @@ +DownstreamReturned UnisonItem().call(...)MultiDownstreamReturned UnisonItem().call(...)Multiitem11item12result13result14item25item26result27result28item39item310result311result312 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-bc092005fd3f.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-bc092005fd3f.svg new file mode 100644 index 000000000..2f934d514 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-bc092005fd3f.svg @@ -0,0 +1 @@ +DownstreamReturned UnisonItem().call(...)MultiDownstreamReturned UnisonItem().call(...)Multiitem11item12result13result14item25item26result27result28item39item310result311result312 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c54f60b30f42.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c54f60b30f42.dark.svg new file mode 100644 index 000000000..ba93b01b7 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c54f60b30f42.dark.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(a)2onItem([1,a])3onItem(2)4onItem(b)5onItem([2,b])6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c54f60b30f42.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c54f60b30f42.svg new file mode 100644 index 000000000..07645de13 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c54f60b30f42.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(a)2onItem([1,a])3onItem(2)4onItem(b)5onItem([2,b])6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c6f9029821c4.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c6f9029821c4.dark.svg new file mode 100644 index 000000000..42e751a5c --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c6f9029821c4.dark.svg @@ -0,0 +1 @@ +Concatenated streamStream BStream AConcatenated streamStream BStream Asubscribe1onSubscribe(s)2onItem(1)3onItem(2)4onItem(3)5onCompletion()6subscribe7onSubscribe(s)8onItem(a)9onItem(b)10onItem(c)11 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c6f9029821c4.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c6f9029821c4.svg new file mode 100644 index 000000000..64a7d800c --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-c6f9029821c4.svg @@ -0,0 +1 @@ +Concatenated streamStream BStream AConcatenated streamStream BStream Asubscribe1onSubscribe(s)2onItem(1)3onItem(2)4onItem(3)5onCompletion()6subscribe7onSubscribe(s)8onItem(a)9onItem(b)10onItem(c)11 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-cbd13fb6d19b.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-cbd13fb6d19b.dark.svg new file mode 100644 index 000000000..bb108b131 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-cbd13fb6d19b.dark.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Events source

Events source

Publisher

Publisher

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-cbd13fb6d19b.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-cbd13fb6d19b.svg new file mode 100644 index 000000000..4d0a969d8 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-cbd13fb6d19b.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Events source

Events source

Publisher

Publisher

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-df98fc1dd069.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-df98fc1dd069.dark.svg new file mode 100644 index 000000000..89e1b6bf2 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-df98fc1dd069.dark.svg @@ -0,0 +1 @@ +SubscriberDisjoint operatorMultiSubscriberDisjoint operatorMultionItem([a,b,c])1onItem(a)2onItem(b)3onItem(c)4onItem([d,e])5onItem(d)6onItem(e)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-df98fc1dd069.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-df98fc1dd069.svg new file mode 100644 index 000000000..876990fe8 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-df98fc1dd069.svg @@ -0,0 +1 @@ +SubscriberDisjoint operatorMultiSubscriberDisjoint operatorMultionItem([a,b,c])1onItem(a)2onItem(b)3onItem(c)4onItem([d,e])5onItem(d)6onItem(e)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e6dd95e32a3f.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e6dd95e32a3f.dark.svg new file mode 100644 index 000000000..32d6a669c --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e6dd95e32a3f.dark.svg @@ -0,0 +1 @@ +SubscriberTransformerMultiSubscriberTransformerMultionItem(a1)1onItem(a2)2onItem(b1)3onItem(b2)4onItem(c1)5onItem(c2)6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e6dd95e32a3f.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e6dd95e32a3f.svg new file mode 100644 index 000000000..deda34e8f --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e6dd95e32a3f.svg @@ -0,0 +1 @@ +SubscriberTransformerMultiSubscriberTransformerMultionItem(a1)1onItem(a2)2onItem(b1)3onItem(b2)4onItem(c1)5onItem(c2)6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e88e1918cd26.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e88e1918cd26.dark.svg new file mode 100644 index 000000000..1c70d18eb --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e88e1918cd26.dark.svg @@ -0,0 +1 @@ +DownstreamonItem().invoke(...)MultiDownstreamonItem().invoke(...)Multicallback executionitem11item12item23item24item35item36 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e88e1918cd26.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e88e1918cd26.svg new file mode 100644 index 000000000..8f33f491e --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-e88e1918cd26.svg @@ -0,0 +1 @@ +DownstreamonItem().invoke(...)MultiDownstreamonItem().invoke(...)Multicallback executionitem11item12item23item24item35item36 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f0001b5cde9f.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f0001b5cde9f.dark.svg new file mode 100644 index 000000000..1c1b80e53 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f0001b5cde9f.dark.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([2,a])4onItem(3)5onItem([3,a])6onItem(b)7onItem([3,b])8onItem(c)9onItem([3,c])10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f0001b5cde9f.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f0001b5cde9f.svg new file mode 100644 index 000000000..5818402e1 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f0001b5cde9f.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([2,a])4onItem(3)5onItem([3,a])6onItem(b)7onItem([3,b])8onItem(c)9onItem([3,c])10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f67adb6018b3.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f67adb6018b3.dark.svg new file mode 100644 index 000000000..a4bf8bbf3 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f67adb6018b3.dark.svg @@ -0,0 +1 @@ +SubscriberUni(item)TransformerUniSubscriberUni(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(result)4onItem(result)5 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f67adb6018b3.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f67adb6018b3.svg new file mode 100644 index 000000000..3fbcf4900 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f67adb6018b3.svg @@ -0,0 +1 @@ +SubscriberUni(item)TransformerUniSubscriberUni(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(result)4onItem(result)5 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f71496c9eae5.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f71496c9eae5.dark.svg new file mode 100644 index 000000000..5bb4124ce --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f71496c9eae5.dark.svg @@ -0,0 +1 @@ +SubscriberProcessor 2Processor 1PublisherSubscriberProcessor 2Processor 1PublisheronItemonItemonItemonItemonItemonItemonCompletiononCompletiononCompletion \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f71496c9eae5.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f71496c9eae5.svg new file mode 100644 index 000000000..fc83f5b8c --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f71496c9eae5.svg @@ -0,0 +1 @@ +SubscriberProcessor 2Processor 1PublisherSubscriberProcessor 2Processor 1PublisheronItemonItemonItemonItemonItemonItemonCompletiononCompletiononCompletion \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f74f7917dcf7.dark.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f74f7917dcf7.dark.svg new file mode 100644 index 000000000..a36cee964 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f74f7917dcf7.dark.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f74f7917dcf7.svg b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f74f7917dcf7.svg new file mode 100644 index 000000000..b92c0941f --- /dev/null +++ b/content/docs/smallrye-mutiny/2/images/diagrams/mermaid-f74f7917dcf7.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/2/index.adoc b/content/docs/smallrye-mutiny/2/index.adoc new file mode 100644 index 000000000..74b38c67d --- /dev/null +++ b/content/docs/smallrye-mutiny/2/index.adoc @@ -0,0 +1,88 @@ += Mutiny -- Intuitive Event-Driven Reactive Programming Library for Java +include::_attributes.adoc[] + +[source,java] +---- +Uni request = makeSomeNetworkRequest(params); + +request.ifNoItem().after(ofMillis(100)) + .failWith(() -> new TooSlowException("💥")) + .onFailure(IOException.class).recoverWithItem(fail -> "📦") + .subscribe().with( + item -> log("👍 " + item), + err -> log(err.getMessage()) + ); +---- + +xref:tutorials/getting-mutiny.adoc[Get Mutiny {versions-mutiny},role=button] + +[.cards] +-- + +**** + +[discrete] +== Event-Driven + +Mutiny places _events_ at the core of its design. + +With Mutiny, you observe _events_, _react_ to them, and create elegant and readable processing pipelines. + +A PhD in functional programming is not required. + +**** + +**** + +[discrete] +== Navigable + +Even with smart code completion, classes with hundreds of methods are confusing. + +Mutiny provides a navigable and explicit API driving you towards the operator you need. + +**** + +**** + +[discrete] +== Non-blocking I/O + +Mutiny is the perfect companion to tame the asynchronous nature of applications with non-blocking I/O. + +Compose operations in a declarative fashion, transform data, enforce progress, recover from failures and more. + +**** + +**** + +[discrete] +== Quarkus and Vert.x native + +Mutiny is integrated in https://quarkus.io[Quarkus] where every reactive API uses Mutiny, and https://vertx.io[Eclipse Vert.x] clients are made available using Mutiny bindings. + +Mutiny is however an independent library that can ultimately be used in any Java application. + +**** + +**** + +[discrete] +== Made for an asynchronous world + +Mutiny can be used in any asynchronous application such as event-driven microservices, message-based applications, network utilities, data stream processing, and of course... reactive applications! + +**** + +**** + +[discrete] +== Reactive Converters Built-In + +Mutiny is based on the https://www.reactive-streams.org/[Reactive Streams protocol] and https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow], and so it can be integrated with any other reactive programming library. + +In addition, it proposes _converters_ to interact with other popular libraries. + +**** + +-- diff --git a/content/docs/smallrye-mutiny/2/reference/distributed_systems_are_asynchronous.dark.png b/content/docs/smallrye-mutiny/2/reference/distributed_systems_are_asynchronous.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..3067663edb2fd3f48add9cfcc233d7827a5e075d GIT binary patch literal 113808 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%0DE@I$^EEyMIc!|#w|5WIK~B$ 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�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 `fetch` method: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=noMagicJoin,indent=0] +---- + +You might think that the `join` operator schedules the calls to `fetch` to be run concurrently, and then collects the results into a list. +This is not how it works! + +The `join` operator does subscribe to each `Uni++<++String++>++` returned by each call to `fetch`. +When it receives a value, it puts it into a list, and when all values have been received, that list is emitted. +The threads involved here are the ones that emit values in `fetch`. +If `fetch` uses async I/O underneath then you should observe true concurrency, but if `fetch` just emits a value right when the subscription happens then you will merely observe a sequential execution of each call to `fetch`, in order. + +== When to prefer `Uni++<++List++<++T++>>++` over `Multi++<++T++>++` + +The reason why `Multi` exists is to model streams over back-pressured sources. +By conforming to the https://www.reactive-streams.org/[Reactive Streams protocol], a `Multi` respects the control flow requests from its subscribers, avoiding classic problems such as a fast producer and a slow consumer that can yield to memory exhaustion problems. + +That being said, not everything is a stream. +Take the example of relational databases: *databases don't stream!* (for the most parts) + +When you do a query such as `SELECT ++*++ FROM ABC WHERE INDEX ++<++ 123`, you get result rows. +While you might wrap the results in a `Multi++<++Row++>++` as a convenience, the network protocol of the database still sends you all `Row` values and is very unlikely to support any notion of back-pressure on a SQL query result. + +This is why `Uni++<++List++<++Row++>>++` is in this case a better representation of an asynchronous operation than `Multi++<++Row++>++`, because the underlying networked service protocol does not provide you with any back-pressured stream. + +== Creating `Uni` and `Multi` from in-memory data might be suspicious + +You will find lots of occurrences of creating `Uni` and `Multi` from in-memory data in this documentation, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=inMemoryData,indent=0] +---- + +This is convenient and expected when creating tests and examples, but this should be a strong warning in production. +Indeed, if we have a method such as the following: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=suspiciousPublisher,indent=0] +---- + +then it is clear that there is nothing _"reactive"_ in this code _(sadly, you can find such idioms in some well-known "reactive" client libraries, but we digress)_. + +As a rule of thumb, if your *initial* publisher does not make any I/O operation and it already has the data available in memory, then it is suspicious: + +* if it is a `Uni`, then it does not really model an asynchronous I/O operation because the data is already here, and +* if it is a `Multi` then not only there is no asynchronous I/O operation involved, but there is no need for a back-pressure protocol either (see the previous section). + +What is not suspicious however is to create, say, a `Multi` to perform a transformation operation: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=flatmap-ism,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/reference/migrating-to-mutiny-2.adoc b/content/docs/smallrye-mutiny/2/reference/migrating-to-mutiny-2.adoc new file mode 100644 index 000000000..c036345db --- /dev/null +++ b/content/docs/smallrye-mutiny/2/reference/migrating-to-mutiny-2.adoc @@ -0,0 +1,52 @@ += Migrating to Mutiny 2 +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +The upgrade is transparent for most code bases that _use_ Mutiny in applications (e.g., Quarkus applications). + +== Highlights + +* Mutiny 2 is a major release with source and binary incompatible changes to the Mutiny `0.x` and `1.x` series. +* The main highlight of Mutiny 2 is that it is now based on top of the `java.util.concurrent.Flow` APIs instead of the legacy _Reactive Streams APIs_. +* The `Flow` APIs have been part of the JDK since Java 9, and they are the modern _Reactive Streams APIs_. +* Mutiny remains a faithful implementation of the _Reactive Streams_ specification and passes the `Flow` variant of the _Reactive Streams TCK_. +* Deprecated APIs in Mutiny `1.x` have been removed, and experimental APIs have been promoted. + +== Impact of the switch from legacy Reactive Streams APIs to JDK Flow + +* The `Flow` types are isomorphic to the legacy _Reactive Streams API_ types. +* We recommend that you migrate to `Flow` in your own code bases. +* You should encourage third-party libraries to migrate to `Flow`. +* You can always use _adapters_ to go back and forth between `Flow` and legacy _Reactive Streams_ types. + +=== General guidelines + +* If your code _only uses_ `Uni` and `Multi` (i.e., not `org.reactivestreams.Publisher`), then you will be source-compatible with Mutiny 2. You should still recompile and check that your test suites pass. +* If you expose `Multi` as a `org.reactivestreams.Publisher` then you will either need an _adapter_ (see below) or migrate to `java.util.concurrent.Flow.Publisher`. +* If you interact with `org.reactivestreams.Publisher` publishers and you can't migrate them to `java.util.concurrent.Flow.Publisher` (e.g., because it is a third-party library), then you will need an _adapter_. Please encourage third-party libraries to migrate to `Flow`. + +=== Adapters between Flow and legacy Reactive Streams APIs + +* We recommend using the adapters from the https://smallrye.io/smallrye-mutiny-zero[Mutiny Zero project]. +** The Maven coordinates are `groupId: io.smallrye.reactive`, `artifactId: mutiny-zero-flow-adapters` +** Use `AdaptersToFlow` to convert from _Reactive Streams_ types to `Flow` types, and +** Use `AdaptersToReactiveStreams` to convert `Flow` types to _Reactive Streams_ types. +* The Mutiny Zero adapters have virtually zero overhead. + +== Other API changes + +=== Deprecated API removals + +* `Uni` and `Multi` `onSubscribe()` group is now `onSubscription()`. +* `AssertSubscriber.await()` has been replaced by event-specific methods (items, failure, completion, etc). +* The _RxJava 2_ integration module has been discarded (only RxJava 3 is now supported). + +=== Experimental API promotions + +* `Uni` and `Multi` subscription-bound contexts. +* `Uni.join()` publisher. +* `.ifNoItem()` timeout operators. +* `Uni` and `Multi` spies. +* `capDemandsUsing()` and `paceDemand()` request management operators. +* `Multi` `replay()` operator. diff --git a/content/docs/smallrye-mutiny/2/reference/publications.adoc b/content/docs/smallrye-mutiny/2/reference/publications.adoc new file mode 100644 index 000000000..05db24027 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/reference/publications.adoc @@ -0,0 +1,18 @@ += Publications +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,advanced + +Julien Ponge, Arthur Navarro, Clément Escoffier, and Frédéric Le Mouël. 2021. +*https://doi.org/10.1145/3486605.3486788[Analysing the Performance and Costs of Reactive Programming Libraries in Java].* +_In Proceedings of the 8th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems (REBLS ’21)_, October 18, 2021, Chicago, IL, USA. ACM, New York, NY, USA, 10 pages. +https://hal.inria.fr/hal-03409277/document[(PDF)] + +____ +Modern services running in cloud and edge environments need to be resource-efficient to increase deployment density and reduce operating costs. +Asynchronous I/O combined with asynchronous programming provides a solid technical foundation to reach these goals. +Reactive programming and reactive streams are gaining traction in the Java ecosystem. +However, reactive streams implementations tend to be complex to work with and maintain. +This paper discusses the performance of the three major reactive streams compliant libraries used in Java applications: RxJava, Project Reactor, and SmallRye Mutiny. +As we will show, advanced optimization techniques such as operator fusion do not yield better performance on realistic I/O-bound workloads, and they significantly increase development and maintenance costs. +____ diff --git a/content/docs/smallrye-mutiny/2/reference/uni-and-multi.adoc b/content/docs/smallrye-mutiny/2/reference/uni-and-multi.adoc new file mode 100644 index 000000000..bc8181723 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/reference/uni-and-multi.adoc @@ -0,0 +1,44 @@ += Uni and Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +Mutiny defines two _reactive_ types: + +* `Multi` - represents streams of ++_++0..++*_++ items (potentially unbounded) +* `Uni` - represents streams receiving either an item or a failure + +[TIP] +==== + +The Mutiny name comes from the contraction of `Multi` and `Uni` names + +==== + +Both `Uni` and `Multi` are asynchronous types. +They receive and fire events at any time. + +You may wonder why we make the distinction between `Uni` and `Multi.` +Conceptually, a `Uni` is a `Multi,` right? + +In practice, you don't use `Unis` and `Multis` the same way. +The use cases and operations are different. + +* `Uni` does not need the complete ceremony presented above as the _request_ does not make sense. +* The `subscribe` event expresses the interest and triggers the computation, no need for an additional _request_. +* `Uni` can handle items having a `null` value (and has specific methods to handle this case). +* `Multi` does not allow it (because the Reactive Streams specification forbids it). +* Having a `Uni` implementing `Publisher` would be a bit like having `Optional` implementing `Iterable`. + +In other words, `Uni`: + +* can receive at most 1 `item` event, or a `failure` event +* cannot receive a `completion` event (`null` in the case of 0 items) +* cannot receive a `request` event + +The following snippet shows how you can use `Uni` and `Multi`: + +[source,java] +---- +include::{examples-dir}/java/guides/UniMultiComparisonTest.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/reference/what-is-reactive-programming.adoc b/content/docs/smallrye-mutiny/2/reference/what-is-reactive-programming.adoc new file mode 100644 index 000000000..d68a976ae --- /dev/null +++ b/content/docs/smallrye-mutiny/2/reference/what-is-reactive-programming.adoc @@ -0,0 +1,32 @@ += What is Reactive Programming? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +Mutiny is a reactive programming library. +If you look on Wikipedia for reactive programming, you will find the following definition: + +____ +Reactive Programming combines functional programming, the observer pattern, and the iterable pattern. +____ + +While correct, we never found this definition very helpful. +It does not convey clearly what's reactive programming is all about. +So, let's make another definition, much more straightforward: + +____ +Reactive programming is about programming with data streams. +____ + +That's it. +Reactive programming is about streams and especially, observing them. +It pushes that idea to its limit: with reactive programming, everything is a data stream. + +With reactive programming, you observe streams and implement side effects when _something_ flows in the stream: + +[.has-dark] +image::images/diagrams/mermaid-491ff27a51a5.svg[mermaid diagram] + +It's asynchronous by nature as you don't know when the _data_ is going to be seen. +Yet, reactive programming goes beyond this. +It provides a toolbox to compose streams and process events. diff --git a/content/docs/smallrye-mutiny/2/reference/what-makes-mutiny-different.adoc b/content/docs/smallrye-mutiny/2/reference/what-makes-mutiny-different.adoc new file mode 100644 index 000000000..0ef8e094a --- /dev/null +++ b/content/docs/smallrye-mutiny/2/reference/what-makes-mutiny-different.adoc @@ -0,0 +1,110 @@ += What makes Mutiny different? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +There are other reactive programming libraries out there. +In the Java world, we can mention Project Reactor and Rx Java. + +So, what makes Mutiny different from these two well-known libraries? +*The API!* + +Asynchronous is hard to grasp for most developers, and for good reasons. +Thus, the API must not require advanced knowledge or add cognitive overload. +It should help you design your logic and still be intelligible when you return to the code 6 months later. + +To achieve this, Mutiny is built on three pillars: + +* *Event-Driven* - with Mutiny, you listen for _events_ and handle them, +* *API Navigability* - based on the event-driven nature, the API is built around the type of events and drive the navigation based on the kind of event you want to handle, +* *Simplicity* - Mutiny provides only two types (`Multi` and `Uni`), which can handle any kind of asynchronous interactions. + +== Events? + +When you use Mutiny, you design a pipeline in which the events flow. +Your code observes these events and react. + +Each processing stage is a new pipe you append to the pipeline. +This pipe may change the events, create new ones, drops, buffers, whatever you need. + +In general, events flow from upstream to downstream, from source to sinks. +Some events can _swim_ upstream from the sinks to the source. + +Events going from upstream to downstream are published by `Publishers` and consumed by (downstream) `Subscribers,` which may also produce events for their own downstream, as illustrated by the following diagram: + +[.has-dark] +image::images/diagrams/mermaid-f71496c9eae5.svg[mermaid diagram] + +Four types of events can flow in this direction: + +* *Subscribed* - indicates that the upstream has taken into account the subscription - more on this later, +* *Items* - events containing some (business) _value_, +* *Completion* - event indicating that the source won't emit any more items, +* *Failure* - event telling that something terrible happened upstream and that the source cannot continue to emit items. + +`Failure` and `Completion` are terminal events. +Once they are sent, no more items will flow. + +Three types of events flow in the opposite direction, _i.e._ from downstream to upstream: + +* *Subscription* - event sent by a _subscriber_ to indicate its interest for the events (such as items) emitted by upstream +* *Requests* - event sent by a _subscriber_ indicating how many items event it can handle - this is related to back-pressure +* *Cancellation* - event sent by a _subscriber_ to stop the reception of events. + +In a typical scenario: + +[arabic] +. A subscriber _subscribes_ to the upstream - the upstream receive the `subscription request`, and when initialized sends the `subscribed` event to the subscriber +. The subscriber gets the `subscribed` event with a _subscription_ used to emit the `requests` and `cancellation` events +. The subscriber sends a `request` event indicating how many items it can handle at this moment; it can request 1, _n_, or infinite. +. The publisher receiving the `request` event starts emitting at most _n_ item events to the subscriber +. The subscriber can decide at any time to request more events or to cancel the subscription + +[.has-dark] +image::images/diagrams/mermaid-0277dcc2b534.svg[mermaid diagram] + +The `request` event is the cornerstone of the back-pressure protocol. +A subscriber should not request more than what it can handle, and a publisher should not emit more items than the amount of request received. + +[NOTE] +==== + +Mutiny uses the https://www.reactive-streams.org/[Reactive Streams] protocol for back-pressure management and the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow APIs]. + +==== + +[IMPORTANT] +==== + +Don't forget to subscribe! + +If no subscriber _subscribes_, no items will be emitted. +More importantly, nothing will ever happen. + +If your program does not do anything, check that it subscribes, it's a very common error. + +==== + +== An event-driven API? + +Mutiny is an event-driven API. + +For each type of event, there is an `on` associated method that lets you handle this specific event. +For example: + +[source,java] +---- +include::{examples-dir}/java/guides/EventsTest.java[tags=code,indent=0] +---- + +Of course, the methods presented in this snippet are not very interesting, although they are quite useful to trace what's going on. + +You can see a common pattern emerging: + +[source,java] +---- +.onEvent().invoke(event -> ...); +---- + +`invoke` is just one of the methods available. +Each _group_ proposes methods specific to the type of event. For example, `onFailure().recover`, `onCompletion().continueWith` and so on. diff --git a/content/docs/smallrye-mutiny/2/reference/why-is-asynchronous-important.adoc b/content/docs/smallrye-mutiny/2/reference/why-is-asynchronous-important.adoc new file mode 100644 index 000000000..b9c4e2774 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/reference/why-is-asynchronous-important.adoc @@ -0,0 +1,46 @@ += Why is asynchronous important? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +We are living in a distributed world. + +Most of the applications built nowadays are distributed systems. +The Cloud, IoT, microservices, mobile application, even simple CRUD applications are distributed applications. + +Still, developing distributed systems is hard! + +.Distributed systems are asynchronous +[.has-dark] +image::reference/distributed_systems_are_asynchronous.png[Distributed systems are asynchronous] + +Communications in distributed systems are inherently asynchronous and unreliable. +Anything can go wrong, anytime, and often with no prior notice. + +Network disruptions, unavailable services, software, or hardware failures are just a tiny subset of the wide variety of failures that can happen in distributed systems. + +_Correctly_ building distributed applications is a considerable challenge, as it requires re-assessing almost everything we know from traditional software development. + +Most classic applications use a synchronous development model. +Synchronous code is easy to reason about, more comfortable to write and read than asynchronous code, but it has some hidden cost. +This cost emerges when building I/O intensive applications, quite common in distributed applications. + +In general, these traditional applications assign one thread per request, and so they handle multiple concurrent requests with multiple threads. +When the request processing needs to interact over the network, it uses that _worker_ thread, which blocks the thread until the response has been received. +This response may never come, so you need to add watchdogs handling timeouts and other resilience patterns. +And, to handle more requests concurrently, you need to create more threads. + +Threads come at a cost. +Each thread requires memory, and the more threads you have, the more CPU cycles are used to handle the context switches. +Thus, this model ends up being costly, limits the deployment density, and on the Cloud means that you pay bigger bills. + +Fortunately, there is another way, and it relies on non-blocking I/O, an efficient way to handle I/O interactions that do not require additional threads. +While applications using non-blocking I/O are more efficient and better suited for the Cloud's distributed nature, they come with a considerable constraint: you must never block the I/O thread. + +Thus, you need to implement your business logic using an asynchronous development model. + +I/O is not the only reason why asynchronous is essential in Today's systems. +Most of the interactions in the real world are asynchronous and event-driven. +Representing these interactions using synchronous processes is not only wrong; it also introduces fragility in your application. + +Asynchronous is a significant shift. +Mutiny helps you to take the plunge. diff --git a/content/docs/smallrye-mutiny/2/tags-index.adoc b/content/docs/smallrye-mutiny/2/tags-index.adoc new file mode 100644 index 000000000..6f43a9375 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tags-index.adoc @@ -0,0 +1,24 @@ += Index +include::_attributes.adoc[] + +== Document kinds + +[width="100%",cols="18%,82%",options="header",] +|=== +|Tag |Description +|`tutorial` |Tutorials to get started with Mutiny. +|`guides` |Topic-centric guides on how to use Mutiny. +|`reference` |Reference documents to understand core concepts in Mutiny. +|=== + +== Audience level + +[cols=",",options="header",] +|=== +|Tag |Description +|`beginner` |Reading materials if you are new to Mutiny +|`intermediate` |Intermediate operations beyond the basics +|`advanced` |Advanced operations beyond classic usage of Mutiny +|=== + +== Tags diff --git a/content/docs/smallrye-mutiny/2/tutorials/creating-multi-pipelines.adoc b/content/docs/smallrye-mutiny/2/tutorials/creating-multi-pipelines.adoc new file mode 100644 index 000000000..8d551c63f --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tutorials/creating-multi-pipelines.adoc @@ -0,0 +1,152 @@ += Creating `Multi` pipelines +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +A `Multi` represents a _stream_ of data. +A stream can emit 0, 1, n, or an infinite number of items. + +You will rarely create instances of `Multi` yourself but instead use a reactive client that exposes a Mutiny API. +Still, just like `Uni` there exists a rich API for creating `Multi` objects. + +== The Multi type + +A `Multi++<++T++>++` is a data stream that: + +* emits `0..n` item events +* emits a failure event +* emits a completion event for bounded streams + +[WARNING] +==== + +Failures are terminal events: after having received a failure no further item will be emitted. + +==== + +`Multi++<++T++>++` provides many operators that create, transform, and orchestrate `Multi` sequences. +The operators can be used to define a processing pipeline. +The events flow in this pipeline, and each operator can process or transform the events. + +`Multis` are lazy by nature. +To trigger the computation, you must subscribe. + +The following snippet provides a simple example of pipeline using `Multi`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=pipeline,indent=0] +---- + +== Subscribing to a Multi + +Remember, if you don't subscribe, nothing is going to happen. +Also, the pipeline is materialized for each _subscription_. + +When subscribing to a `Multi,` you can pass an item callback (invoked when the item is emitted), or pass two callbacks, one receiving the item and one receiving the failure, or three callbacks to handle respectively the item, failure and completion events. + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=subscription,indent=0] +---- + +Note the returned `Cancellable`: this object allows canceling the stream if need be. + +== Creating Multi from items + +There are many ways to create `Multi` instances. +See `Multi.createFrom()` to see all the possibilities. + +For instance, you can create a `Multi` from known items or from an `Iterable`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=simple,indent=0] +---- + +Every subscriber receives the same set of items (`1`, `2`... `5`) just after the subscription. + +You can also use `Suppliers`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=supplier,indent=0] +---- + +The `Supplier` is called for every subscriber, so each of them will get different values. + +[TIP] +==== + +You can create ranges using `Multi.createFrom().range(start, end)`. + +==== + +== Creating failing Multis + +Streams can also fail. + +Failures are used to indicate to the downstream subscribers that the source encountered a terrible error and cannot continue emitting items. +Create failed `Multi` instances with: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=failed,indent=0] +---- + +== Creating empty Multis + +Unlike `Uni,` `Multi` streams don't send `null` items (this is forbidden in _reactive streams_). + +Instead `Multi` streams send completion events indicating that there are no more items to consume. +Of course, the completion event can happen even if there are no items, creating an empty stream. + +You can create such a stream using: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=empty,indent=0] +---- + +== Creating Multis using an emitter (_advanced_) + +You can create a `Multi` using an emitter. +This approach is useful when integrating callback-based APIs: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=emitter,indent=0] +---- + +The emitter can also send a failure. +It can also get notified of cancellation to, for example, stop the work in progress. + +== Creating Multis from _ticks_ (_advanced_) + +You can create a stream that emit a _ticks_ periodically: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=ticks,indent=0] +---- + +The downstream receives a `long,` which is a counter. +For the first tick, it's 0, then 1, then 2, and so on. + +== Creating Multis from a generator (_advanced_) + +You can create a stream from some _initial state_, and a _generator function_: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=generator,indent=0] +---- + +The initial state is given through a supplier (here `() -++>++ 1`). +The generator function accepts 2 arguments: + +* the current state, +* an emitter that can emit a new item, emit a failure, or emit a completion. + +The generator function return value is the next _current state_. +Running the previous example gives the following number suite: `++{++2, 4, 7, 11, 17, 26, 40, 61}`. diff --git a/content/docs/smallrye-mutiny/2/tutorials/creating-uni-pipelines.adoc b/content/docs/smallrye-mutiny/2/tutorials/creating-uni-pipelines.adoc new file mode 100644 index 000000000..6ffa03df1 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tutorials/creating-uni-pipelines.adoc @@ -0,0 +1,128 @@ += Creating `Uni` pipelines +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +A `Uni` represents a _stream_ that can only emit either an item or a failure event. + +You rarely create instances of `Uni` yourself, but, instead, use a reactive client exposing a Mutiny API that provides `Uni` objects. +That being said, it can be handy at times. + +== The Uni type + +A `Uni++<++T++>++` is a specialized stream that emits only an item or a failure. +Typically, `Uni++<++T++>++` are great to represent asynchronous actions such as a remote procedure call, an HTTP request, or an operation producing a single result. + +`Uni++<++T++>++` provides many operators that create, transform, and orchestrate `Uni` sequences. + +As said, `Uni++<++T++>++` emits either an item or a failure. +Note that the item can be `null,` and the `Uni` API has specific methods for this case. + +Typically, a `Uni++<++Void++>++` always emits `null` as item event or a failure if the represented operation fails. +You can consider the item event as a completion signal indicating the success of the operation. + +The offered operators can be used to define a processing pipeline. +The event, either the item or failure, flows in this pipeline, and each operator can process or transform the event. +`Unis` are lazy by nature. + +To trigger the computation, you must have a final subscriber indicating your interest. +The following snippet provides a simple example of pipeline using `Uni`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=pipeline,indent=0] +---- + +== Subscribing to a Uni + +[IMPORTANT] +==== + +Remember: if you don't subscribe, nothing is going to happen. +What's more, the pipeline is materialized for each _subscription_. + +==== + +When subscribing to a `Uni`, you can pass an item callback (invoked when the item is emitted), or two callbacks (one receiving the item and one receiving the failure): + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=subscription,indent=0] +---- + +Note the returned `Cancellable`: this object allows canceling the operation if need be. + +== Creating Unis from items + +There are many ways to create `Uni` instances. +Use `Uni.createFrom()` to see all the possibilities. + +You can, for instance, create a `Uni` from a known value: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=simple,indent=0] +---- + +Every subscriber receives the item `1` just after the subscription. + +You can also pass a `Supplier`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=supplier,indent=0] +---- + +The `Supplier` is called for every subscriber. +So, each of them will get a different value. + +== Creating failing Unis + +Operations represented by `Unis` can also emit a failure event, indicating that the operation failed. + +You can create failed `Uni` instances with: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=failed,indent=0] +---- + +== Creating `Uni++<++Void++>++` + +When the represented operation to not produce a result, you still need a way to indicate the operation's completion. +For this, you need to emit a `null` item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=null,indent=0] +---- + +== Creating Unis using an emitter (_advanced_) + +You can create a `Uni` using an emitter. +This approach is useful when integrating callback-based APIs: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=emitter,indent=0] +---- + +The emitter can also send a failure. +It can also get notified of cancellation to, for example, stop the work in progress. + +== Creating Unis from a CompletionStage (_advanced_) + +You can also `Uni` objects from `CompletionStage` / `CompletableFuture`. +This is useful when integrating with APIs that are based on these types: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=cs,indent=0] +---- + +[TIP] +==== + +You can also create a `CompletionStage` from a `Uni` using `uni.subscribe().asCompletionStage()` + +==== diff --git a/content/docs/smallrye-mutiny/2/tutorials/getting-mutiny.adoc b/content/docs/smallrye-mutiny/2/tutorials/getting-mutiny.adoc new file mode 100644 index 000000000..651586995 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tutorials/getting-mutiny.adoc @@ -0,0 +1,142 @@ += Getting started with Mutiny +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +== Using Mutiny in a Java application + +Add the _dependency_ to your project using your preferred build tool: + +[.tabs] +==== + +Apache Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + mutiny + {versions-mutiny} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.reactive:mutiny:{versions-mutiny}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.reactive:mutiny:{versions-mutiny}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.reactive:mutiny:{versions-mutiny} +---- + +-- + +==== + +== Using Mutiny with Quarkus + +Most of the https://quarkus.io[Quarkus] extensions with reactive capabilities already depend on Mutiny. + +You can also add the `quarkus-mutiny` dependency explicitly from the command-line: + +[source,bash] +---- +mvn quarkus:add-extension -Dextensions=mutiny +---- + +or by editing the `pom.xml` file and adding: + +[source,xml] +---- + + io.quarkus + quarkus-mutiny + +---- + +== Using Mutiny with Vert.x + +Most of the https://vertx.io[Eclipse Vert.x] stack modules are available through the https://smallrye.io/smallrye-mutiny-vertx-bindings/[SmallRye Mutiny Vert.x Bindings] project. + +Bindings for Vert.x modules are named by prepending `smallrye-mutiny-`. +As an example here's how to add a dependency to the `vertx-core` Mutiny bindings: + +[.tabs] +==== + +Apache Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-mutiny-vertx-core + {versions-vertx-bindings} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.reactive:smallrye-mutiny-vertx-core:{versions-vertx-bindings}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.reactive:smallrye-mutiny-vertx-core:{versions-vertx-bindings}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.reactive:smallrye-mutiny-vertx-core:{versions-vertx-bindings} +---- + +-- + +==== diff --git a/content/docs/smallrye-mutiny/2/tutorials/handling-failures.adoc b/content/docs/smallrye-mutiny/2/tutorials/handling-failures.adoc new file mode 100644 index 000000000..5dab71250 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tutorials/handling-failures.adoc @@ -0,0 +1,96 @@ += Handling failures +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Mutiny provides several operators to handle failures. + +Remember, failures are terminal events sent by the observed stream, indicating that something _bad_ happened. +After a failure, no more items are being received. + +When such an event is received, you can: + +* propagate the failure downstream (default), or +* transform the failure into another failure, or +* recover from it by switching to another stream, passing a fallback item, or completing, or +* retrying (covered in the next guide) + +If you don't handle the failure event, it is propagated downstream until a stage handles the failure or reaches the final subscriber. + +[IMPORTANT] +==== + +on `Multi`, a failure cancels the subscription, meaning you will not receive any more items. +The `retry` operator lets you re-subscribe and continue the reception. + +==== + +== Observing failures + +It can be useful to execute some custom action when a failure happens. +For example, you can log the failure: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=invoke,indent=0] +---- + +[TIP] +==== + +You can also execute an asynchronous action using `onFailure().call(Function++<++Throwable, Uni++<++?++>++)`. +The received failure will be propagated downstream when the `Uni` produced by the passed function emits its item. + +==== + +== Transforming failures + +Another useful action on failure is to transform the failure into a _more meaningful_ failure. + +Typically, you can wrap a low-level failure (like an `IOException`) into a business failure (`ServiceUnavailableException`): + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=transform,indent=0] +---- + +== Recovering using fallback item(s) + +In general, upon failure, you want to recover. +The first approach is to recover by replacing the failure with an item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=recover-item,indent=0] +---- + +The second approach receives a `Supplier` to compute the fallback item. +For the downstream, it didn't fail; it gets the fallback item instead. + +However, don't forget that failures are terminal! +So for `Multi`, the downstream receives the fallback item followed by the completion signal, as no more items can be produced. + +== Completing on failure + +When observing a `Multi` you can replace the failure with the completion signal: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=recover-completion,indent=0] +---- + +The downstream won't see the failure, just the completion event. + +== Switching to another stream + +On failure, you may want to switch to an alternate stream. +When the failure is received, it subscribes to this other stream and propagates the items from this stream instead: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=recover-switch,indent=0] +---- + +The `recoverWithUni` and `recoverWithMulti` methods replace the failed upstream with the returned stream. + +The fallback streams must produce the same type of event as the original upstream. diff --git a/content/docs/smallrye-mutiny/2/tutorials/hello-mutiny.adoc b/content/docs/smallrye-mutiny/2/tutorials/hello-mutiny.adoc new file mode 100644 index 000000000..80fab7b4e --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tutorials/hello-mutiny.adoc @@ -0,0 +1,75 @@ += Hello Mutiny! +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Once you made Mutiny available to your classpath, you can start writing code. +Let's start with this simple program: + +[source,java] +---- +include::{examples-dir}/java/FirstProgram.java[indent=0] +---- + +This program prints: + +.... +>> HELLO MUTINY +.... + +== Dissecting the pipeline + +What's interesting is how this message is _built_. +We described a processing pipeline taking an item, processing it and finally consuming it. + +First, we create a `Uni`, one of the two types with `Multi` that Mutiny provides. +A `Uni` is a stream emitting either a single item or a failure. + +Here, we create a `Uni` emitting the `"hello"` item. +This is the input of our pipeline. +Then we process this item: + +* we append `" mutiny"`, then +* we make it an uppercase string. + +This forms the processing part of our pipeline, and then we finally *subscribe* to the pipeline. + +This last part is essential. +If you don't have a final subscriber, nothing is going to happen. +Mutiny types are lazy, meaning that you need to express your interest. +If you don't, the computation won't even start. + +[IMPORTANT] +==== + +If your program doesn't do anything, verify that you didn't forget to subscribe! + +==== + +== Mutiny uses a builder API! + +Another important aspect is the pipeline construction. +Appending a new _stage_ to a pipeline returns a new `Uni.` + +The previous program is equivalent to: + +[source,java] +---- +include::{examples-dir}/java/FirstProgramTest.java[tags=uni,indent=0] +---- + +It is fundamental to understand that this program is not equivalent to: + +[source,java] +---- +include::{examples-dir}/java/FirstProgramTest.java[tags=uni2,indent=0] +---- + +This program just prints `"++>>++ hello"`, as it does not use the appended stages and the final subscriber consumes the first `Uni.` + +[WARNING] +==== + +Mutiny APIs are not fluent and each computation stage returns a new object. + +==== diff --git a/content/docs/smallrye-mutiny/2/tutorials/mutiny-workshop.adoc b/content/docs/smallrye-mutiny/2/tutorials/mutiny-workshop.adoc new file mode 100644 index 000000000..e4d752b7b --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tutorials/mutiny-workshop.adoc @@ -0,0 +1,16 @@ += Go further with the Mutiny workshop! +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +One great option to teach yourself Mutiny is to go through the https://github.com/smallrye/smallrye-mutiny/tree/main/workshop-examples[Mutiny workshop examples]. + +These self-contained https://jbang.dev/[JBang] scripts cover the main parts of the Mutiny APIs. + +It's a fun and easy way to discover Mutiny! + +Check out https://github.com/smallrye/smallrye-mutiny/tree/main/workshop-examples to learn more. + +.Running a workshop sample +[.has-dark] +image::tutorials/running-workshop-sample.png[Running a workshop sample,width=400] diff --git a/content/docs/smallrye-mutiny/2/tutorials/observing-events.adoc b/content/docs/smallrye-mutiny/2/tutorials/observing-events.adoc new file mode 100644 index 000000000..1a9529485 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tutorials/observing-events.adoc @@ -0,0 +1,113 @@ += Observing events +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Learn how to observe the events emitted by `Uni` and `Multi` instances. + +== Events + +`Uni` and `Multi` emit _events_. +Your code is going to observe and process these events. + +Most of the time, your code is only interested in item and failure events. +But there are other kinds of events such as cancellation, request, completion, and so on: + +[width="100%",cols=">12%,9%,<15%,<64%",options="header",] +|=== +|Event |Uni / Multi |Direction |Note +|*item* |Uni {plus} Multi |upstream -++>++ downstream |The upstream sent an item. +|*failure* |Uni {plus} Multi |upstream -++>++ downstream |The upstream failed. +|*completion* |Multi |upstream -++>++ downstream |The upstream completed. +|*subscribe* |Uni and Multi |downstream -++>++ upstream |A downstream subscriber is interested in the data. +|*subscription* |Uni and Multi |upstream -++>++ downstream |Event happening after a `subscribe` event to indicate that the upstream acknowledged the subscription. +|*cancellation* |Uni and Multi |downstream -++>++ upstream |A downstream subscriber does not want any more events. +|*overflow* |Multi |upstream -++>++ downstream |The upstream has emitted more than the downstream can handle. +|*request* |Multi |downstream -++>++ upstream |The downstream indicates its capacity to handle `n` items. +|=== + +It’s not rare that you need to look at these various events to understand better what’s going on or implement specific side effects. +For example, you may need to close a resource after a completion event or log a message on failure or cancellation. + +For each kind of event, there is an associated group providing the methods to handle that specific event: `onItem()`, `onFailure()`, `onCompletion()` and so on. +These groups provide two methods to _peek_ at the various events without impacting its distribution: `invoke(...)` and `call(...)`. +It does not transform the received event; it notifies you that something happened and let you react. +Once this _reaction_ completes, the event is propagated downstream or upstream depending on the direction of the event. + +== The `invoke` method + +The invoke method is synchronous and the passed callback does not return anything. +Mutiny invokes the configured callback when the observed stream dispatches the event: + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=invoke,indent=0] +---- + +As said above, `invoke` is synchronous. +Mutiny invokes the callback and propagates the event downstream when the callback returns. +It blocks the dispatching. + +[.has-dark] +image::images/diagrams/mermaid-e88e1918cd26.svg[mermaid diagram] + +Of course, we highly recommend you not to block. + +The following snippets show how you can log the different types of events. + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=invoke-all,indent=0] +---- + +The arrows from the previous code snippet indicate if the event comes from the upstream (source) or downstream (consumer) (see the table above for more details). +The `invoke` method does not change the event, except in one case. +If the callback throws an exception, the downstream does not get the actual event but get a failure event instead. + +When observing the failure event, if the callback throws an exception, Mutiny propagates a `CompositeException` aggregating the original failure and the callback failure. + +== The `call` method + +Unlike `invoke`, `call` is asynchronous, and the callback returns a `Uni++<++?++>++` object. + +`call` is often used when you need to implement asynchronous side-effects, such as closing resources. + +[.has-dark] +image::images/diagrams/mermaid-bc092005fd3f.svg[mermaid diagram] + +Mutiny does not dispatch the original event downstream until the Uni returned by the callback emits an item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=call,indent=0] +---- + +As shown in the previous snippet, you can use this approach to delay items. +But, the primary use case is about completing asynchronous actions such as calling an asynchronous `close` method on a resource: + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=close,indent=0] +---- + +Under the hood, Mutiny gets the `Uni` (by invoking the callback) and subscribes to it. +It observes the item or failure event from that Uni. +It discards the item value as only the emission matters in this case. + +If the callback throws an exception or the produced `Uni` produces a failure, Mutiny propagates that failure (or a `CompositeException`) downstream, replacing the original event. + +== Summary + +* The `invoke` and `call` methods are handy when you need to observe a `Uni` or a `Multi` without changing the transiting events. +* Use `invoke` for implementing synchronous side-effects or logging events. +* The asynchronous nature of `call` makes it perfect for implementing asynchronous side-effects, such as closing resources, flushing data, delay items, and so on. + +The following table highlights the key differences: + +[width="100%",cols=">20%,<33%,<47%",options="header",] +|=== +| |`invoke` |`call` +|*Nature* |synchronous |asynchronous +|*Return type* |`void` |`Uni++<++T++>++` +|*Main use cases* |logging, synchronous side-effects |I/O operations, closing resources, flushing data +|=== diff --git a/content/docs/smallrye-mutiny/2/tutorials/retrying.adoc b/content/docs/smallrye-mutiny/2/tutorials/retrying.adoc new file mode 100644 index 000000000..c2ec63ecc --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tutorials/retrying.adoc @@ -0,0 +1,67 @@ += Retrying on failures +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +It is common to want to retry if something terrible happened. + +You can retry upon failure. +The https://quarkus.io/blog/uni-retry/[How does retry... retries] blog post provides a more detailed overview of the retry mechanism. + +[NOTE] +==== + +If despite multiple attempts, it still fails, the failure is propagated downstream. + +==== + +== Retry multiple times + +To retry on failure, use `onFailure().retry()`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/RetryTest.java[tags=retry-at-most,indent=0] +---- + +You pass the number of retries as a parameter. + +[IMPORTANT] +==== + +While `.onFailure().retry().indefinitely()` is available, it may never terminate, so use it with caution. + +==== + +== Introducing delays + +By default, `retry` retries immediately. +When using remote services, it is often better to delay a bit the attempts. + +Mutiny provides a method to configure an exponential backoff: a growing delay between retries. +Configure the exponential backoff as follows: + +[source,java] +---- +include::{examples-dir}/java/tutorials/RetryTest.java[tags=retry-backoff,indent=0] +---- + +The backoff is configured with the initial and max delay. +Optionally, you can also configure a jitter to add a pinch of randomness to the delay. + +When using exponential backoff, you may not want to configure the max number of attempts (`atMost`), but a deadline. +To do so, use either `expireIn` or `expireAt`. + +== Deciding to retry + +As an alternative to `atMost`, you can also use `until`. +This method accepts a predicate called after every failure. +When used, a backoff should not be used. + +If the predicate returned `true,` it retries. +Otherwise, it stops retrying and propagates the last failure downstream: + +[source,java] +---- +include::{examples-dir}/java/tutorials/RetryTest.java[tags=retry-until,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/tutorials/running-workshop-sample.dark.png b/content/docs/smallrye-mutiny/2/tutorials/running-workshop-sample.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1c875b12c0c021f86c7ea4f344b161738b2c46 GIT binary patch literal 78904 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 ~KX%yR_=y0@h?91mdDFOZJ1jR^`R! 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 eIzYVfg$ji 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

X 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

9#rwHT;c>Jjv`|( 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 and `onItem().transformToMulti(Function++<++T, Multi++<++O++>>++)` + +== Uni - Transforming an item into a Uni + +[.has-dark] +image::images/diagrams/mermaid-f67adb6018b3.svg[mermaid diagram] + +Imagine that you have a `Uni++<++String++>++`, and you want to call a remote service. + +Calling a remote service is an asynchronous action represented by a `Uni`, as in: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=service,indent=0] +---- + +To call this service, you need to transform the item received from the first `Uni` into the `Uni` returned by the service: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=call,indent=0] +---- + +This snippet _chains_ the first `Uni` with another one. +The returned `Uni` (`result`) emits the result from the remote service or a failure if anything wrong happened: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=chain,indent=0] +---- + +== Uni - Transforming an item into a Multi + +The previous example produced a single item. +You may want to transform the received item into a stream which is... a `Multi`! + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=uni-to-multi,indent=0] +---- + +This code creates a stream of two elements, duplicating the received item. + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=uni-to-multi-2,indent=0] +---- + +[.has-dark] +image::images/diagrams/mermaid-3b8d4c58438a.svg[mermaid diagram] + +The produced `Multi` objects can of course be more complicated than that and emit items in an asynchronous fashion. + +== Transforming items from Multi - the _merge_ vs _concatenate_ dilemma + +When transforming items emitted by an upstream `Multi,` we need to answer the following question: how are we going to _merge_ the produced items back? + +Let's take an example. +Imagine a `Multi` emitting the `Cameron` and `Donna` items (in order), and you want to call the `invokeRemoteGreetingService` from above. +It thus calls `invokeRemoteGreetingService("Cameron")` then `invokeRemoteGreetingService("Donna")`. + +The service does not have a constant response time (because of network latency or the load), which means that responses can be interleaved. +Indeed, you may receive `"Hello Donna"` before `"Hello Cameron"`. + +Now, how do you want to handle this case? +Do you need to preserve the order and ensure that the downstream subscriber will always get `"Hello Cameron"` first, or do you accept interleaved responses? + +When transforming items from `Multi` into streams, you need to decide in which order the items emitted by the produced stream are going to be received by the downstream subscriber. +Mutiny offers two possibilities: + +[arabic] +. *Merging* -- it does not preserve the order and emits the items from the produced streams as they come, or +. *Concatenating* -- it maintains and concatenates the streams produced for each item. + +== Multi - Transforming an item into a Uni + +To implement the scenario from the last section, you will use `onItem().transformToUniAndMerge` or `onItem().transformToUniAndConcatenate()` depending on your ordering choice: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=merge-concat,indent=0] +---- + +[IMPORTANT] +==== + +* When merging: items from the source `Multi` _may_ be processed *concurrently* depending on the concurrency level that has been set, if any. +* When concatenating: items from the source `Multi` are processed *in order*, waiting for each `Uni` to complete before moving on to the next item. + +==== + +== Multi - Transforming an item into a Multi + +`onItem().transformToMultiAndMerge` and `onItem().transformToMultiAndConcatenate` transform incoming items into `Multi` streams. +The produced `Multi` objects are either _merged_ or _concatenated_: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=merge-concat-multi,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/2/tutorials/transforming-items.adoc b/content/docs/smallrye-mutiny/2/tutorials/transforming-items.adoc new file mode 100644 index 000000000..32dde4f90 --- /dev/null +++ b/content/docs/smallrye-mutiny/2/tutorials/transforming-items.adoc @@ -0,0 +1,54 @@ += Transforming items +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Both `Unis` and `Multis` emit _items_. + +One of the most common operations you will do is transforming these items using a _synchronous_ 1-to-1 function. + +To achieve this, you use `onItem().transform(Function++<++T, U++>++)`. +It calls the passed function for each item and produces the result as an item which is propagated downstream. + +[.has-dark] +image::images/diagrams/mermaid-e6dd95e32a3f.svg[mermaid diagram] + +== Transforming items produced by a Uni + +Let's imagine you have a `Uni++<++String++>++,` and you want to capitalize the received `String`. +Implementing this transformation is done as follows: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=uni-transform,indent=0] +---- + +== Transforming items produced by a Multi + +The only difference for `Multi` is that the function is called for each item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=multi-transform,indent=0] +---- + +The produced items are passed to the downstream subscriber: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=multi-transform-2,indent=0] +---- + +== What if the transformation failed? + +If the transformation throws an exception, that exception is caught and passed to the downstream subscriber as a _failure_ event. +It also means that the subscriber won't get further item after that failure. + +== Chaining multiple transformations + +You can chain multiple transformations: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=chain,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/_attributes.adoc b/content/docs/smallrye-mutiny/latest/_attributes.adoc new file mode 100644 index 000000000..bca0b16c5 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_attributes.adoc @@ -0,0 +1,22 @@ +:project-version: 3.3.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Mutiny +:javadoc-version: latest +:versions-mutiny: 3.3.0 +:versions-vertx-bindings: 4.0.0-beta2 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.3.0 +:relfileprefix: /docs/smallrye-mutiny/latest/ +:imagesdir: /docs/smallrye-mutiny/latest +:docs-project: smallrye-mutiny +:docs-version: latest +:docs-ref: 3.3.0 diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/FirstProgram.java b/content/docs/smallrye-mutiny/latest/_examples/java/FirstProgram.java new file mode 100644 index 000000000..87d40de5d --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/FirstProgram.java @@ -0,0 +1,11 @@ +import io.smallrye.mutiny.Uni; + +public class FirstProgram { + + public static void main(String[] args) { + Uni.createFrom().item("hello") + .onItem().transform(item -> item + " mutiny") + .onItem().transform(String::toUpperCase) + .subscribe().with(item -> System.out.println(">> " + item)); + } +} \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/FirstProgramTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/FirstProgramTest.java new file mode 100644 index 000000000..d5c464230 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/FirstProgramTest.java @@ -0,0 +1,44 @@ +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; + +@ExtendWith(SystemOutCaptureExtension.class) +public class FirstProgramTest { + + @Test + public void testFirstProgram(SystemOut out) { + FirstProgram.main(new String[0]); + assertThat(out.get()).contains(">> HELLO MUTINY"); + } + + @Test + public void testUniBuilder(SystemOut out) { + // tag::uni[] + Uni uni1 = Uni.createFrom().item("hello"); + Uni uni2 = uni1.onItem().transform(item -> item + " mutiny"); + Uni uni3 = uni2.onItem().transform(String::toUpperCase); + + uni3.subscribe().with(item -> System.out.println(">> " + item)); + // end::uni[] + assertThat(out.get()).contains("HELLO MUTINY"); + assertThat(uni3.await().indefinitely()).isEqualTo("HELLO MUTINY"); + } + + @Test + public void testUniBuilder2(SystemOut out) { + // tag::uni2[] + Uni uni = Uni.createFrom().item("hello"); + + uni.onItem().transform(item -> item + " mutiny"); + uni.onItem().transform(String::toUpperCase); + + uni.subscribe().with(item -> System.out.println(">> " + item)); + // end::uni2[] + assertThat(out.get()).contains("hello"); + assertThat(uni.await().indefinitely()).isEqualTo("hello"); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/BranchingTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/BranchingTest.java new file mode 100644 index 000000000..320469593 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/BranchingTest.java @@ -0,0 +1,64 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.Random; + +public class BranchingTest { + + @Test + public void uni() { + // tag::pipeline[] + Random random = new Random(); + Uni.createFrom().item(() -> random.nextInt(100)) + .onItem().transformToUni(n -> { + if (n % 2 == 0) { + return evenOperation(n); + } else { + return oddOperation(n); + } + }) + .subscribe().with(System.out::println); + // end::pipeline[] + } + + // tag::branches[] + Uni evenOperation(int n) { + return Uni.createFrom().item("Even number: " + n) + .onItem().invoke(() -> System.out.println("(even branch)")); + } + + Uni oddOperation(int n) { + return Uni.createFrom().item("Odd number: " + n) + .onItem().invoke(() -> System.out.println("(odd branch)")); + } + // end::branches[] + + @Test + public void multi() { + // tag::multi-pipeline[] + Random random = new Random(); + Multi.createBy().repeating().supplier(random::nextInt).atMost(20) + .onItem().transformToUniAndMerge(n -> { + System.out.println("----"); + if (n < 0) { + return drop(); + } else if (n % 2 == 0) { + return evenOperation(n); + } else { + return oddOperation(n); + } + }) + .subscribe().with(str -> System.out.println("=> " + str)); + // end::multi-pipeline[] + } + + // tag::drop[] + Uni drop() { + return Uni.createFrom().nullItem() + .onItem().invoke(() -> System.out.println("(dropping negative value)")); + } + // end::drop[] +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/CompletionStageTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/CompletionStageTest.java new file mode 100644 index 000000000..27b0fd6ba --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/CompletionStageTest.java @@ -0,0 +1,77 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.Executor; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; + +public class CompletionStageTest { + + @Test + public void testSubscribeAsCompletionStage() { + AtomicInteger counter = new AtomicInteger(); + Uni uni = Uni.createFrom().item(() -> "hello-" + counter.getAndIncrement()); + // tag::uni-subscribe-cs[] + CompletionStage cs = uni.subscribeAsCompletionStage(); + // end::uni-subscribe-cs[] + + assertThat(cs.toCompletableFuture().join()).isEqualTo("hello-0"); + + // tag::uni-subscribe-cs-twice[] + // Trigger the underlying operation twice: + CompletionStage cs1 = uni.subscribeAsCompletionStage(); + CompletionStage cs2 = uni.subscribeAsCompletionStage(); + // end::uni-subscribe-cs-twice[] + assertThat(cs1.toCompletableFuture().join()).isEqualTo("hello-1"); + assertThat(cs2.toCompletableFuture().join()).isEqualTo("hello-2"); + } + + + @Test + public void test() { + Executor executor = Runnable::run; + // tag::create-uni[] + Uni uni1 = Uni + // Create from a Completion Stage + .createFrom().completionStage( + CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + + Uni uni2 = Uni + // Create from a Completion Stage supplier (recommended) + .createFrom().completionStage( + () -> CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + // end::create-uni[] + + assertThat(uni1.await().indefinitely()).isEqualTo("HELLO"); + assertThat(uni2.await().indefinitely()).isEqualTo("HELLO"); + + // tag::create-multi[] + Multi multi1 = Multi + .createFrom().completionStage( + CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + + Multi multi2 = Multi + .createFrom().completionStage(() -> + CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + // end::create-multi[] + + assertThat(multi1.collect().asList().await().indefinitely()).containsExactly("HELLO"); + assertThat(multi2.collect().asList().await().indefinitely()).containsExactly("HELLO"); + + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/ContextPassingTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/ContextPassingTest.java new file mode 100644 index 000000000..00897d788 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/ContextPassingTest.java @@ -0,0 +1,99 @@ +package guides; + +import io.smallrye.mutiny.Context; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class ContextPassingTest { + + void contextManipulation() { + + // tag::contextManipulation[] + // Create a context using key / value pairs + Context context = Context.of( + "X-CUSTOMER-ID", "1234", + "X-SPAN-ID", "foo-bar-baz" + ); + + // Get an entry + System.out.println( + context.get("X-SPAN-ID")); + + // Get an entry, use a supplier for a default value if the key is not present + System.out.println( + context.getOrElse("X-SPAN-ID", () -> "")); + + // Add an entry + context.put("foo", "bar"); + + // Remove an entry + context.delete("foo"); + // end::contextManipulation[] + } + + @Test + void sampleUsage() { + Multi pipeline = Multi.createFrom().range(1, 10); + String customerId = "1234"; + + // tag::contextSampleUsage[] + Context context = Context.of("X-CUSTOMER-ID", customerId); + + pipeline.withContext((multi, ctx) -> multi.onItem().transformToUniAndMerge(item -> makeRequest(item, ctx.get("X-CUSTOMER-ID")))) + .subscribe().with(context, item -> handleResponse(item), err -> handleFailure(err)); + // end::contextSampleUsage[] + } + + @Test + void sampleUsageAttachedContext() { + Multi pipeline = Multi.createFrom().range(1, 10); + String customerId = "1234"; + + // tag::contextAttachedSampleUsage[] + Context context = Context.of("X-CUSTOMER-ID", customerId); + + pipeline.attachContext() + .onItem().transformToUniAndMerge(item -> makeRequest(item.get(), item.context().get("X-CUSTOMER-ID"))) + .subscribe().with(context, item -> handleResponse(item), err -> handleFailure(err)); + // end::contextAttachedSampleUsage[] + } + + @Test + void builderUsage() { + Context context = Context.of("X-SPAN-ID", "1234"); + + // tag::builderUsage[] + Uni.createFrom().context(ctx -> makeRequest("db1", ctx.get("X-SPAN-ID"))) + .subscribe().with(context, item -> handleResponse(item), err -> handleFailure(err)); + // end::builderUsage[] + } + + @Test + void emitterUsage() { + Context context = Context.of("X-SPAN-ID", "1234"); + + // tag::emitterUsage[] + Multi.createFrom().emitter(emitter -> { + String customerId = emitter.context().get("X-SPAN-ID"); + for (int i = 0; i < 10; i++) { + emitter.emit("@" + i + " [" + customerId + "]"); + } + emitter.complete(); + }); + // end::emitterUsage[] + } + + private void handleFailure(Throwable err) { + Assertions.fail(err); + } + + private void handleResponse(String item) { + Assertions.assertTrue(item.endsWith("::1234")); + } + + private Uni makeRequest(Object item, Object o) { + return Uni.createFrom().item(item + "::" + o); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/EventsTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/EventsTest.java new file mode 100644 index 000000000..85fd1d709 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/EventsTest.java @@ -0,0 +1,60 @@ +package guides; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.awaitility.Awaitility.await; + +@ExtendWith(SystemOutCaptureExtension.class) +public class EventsTest { + + private void log(String s) { + System.out.println(s); + } + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test(SystemOut out) { + // tag::code[] + Multi source = Multi.createFrom().items("a", "b", "c"); + source + .onItem() // Called for every item + .invoke(item -> log("Received item " + item)) + .onFailure() // Called on failure + .invoke(failure -> log("Failed with " + failure)) + .onCompletion() // Called when the stream completes + .invoke(() -> log("Completed")) + .onSubscription() // Called when the upstream is ready + .invoke(subscription -> log("We are subscribed!")) + .onCancellation() // Called when the downstream cancels + .invoke(() -> log("Cancelled :-(")) + .onRequest() // Called on downstream requests + .invoke(n -> log("Downstream requested " + n + " items")) + .subscribe() + .with(item -> log("Subscriber received " + item)); + // end::code[] + + // + Multi multi = Multi.createFrom().items("a", "b", "c"); + multi.invoke(item -> System.out.println("Received item " + item)); + // + + // + multi.call(item -> executeAnAsyncAction(item)); + // + + await().until(() -> out.get().contains("We are subscribed!")); + await().until(() -> out.get().contains("Downstream requested")); + await().until(() -> out.get().contains("Received item c")); + await().until(() -> out.get().contains("Completed")); + } + + private Uni executeAnAsyncAction(String item) { + return Uni.createFrom().nullItem(); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/PlugTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/PlugTest.java new file mode 100644 index 000000000..c696891a3 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/PlugTest.java @@ -0,0 +1,58 @@ +package guides; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.operators.multi.AbstractMultiOperator; +import io.smallrye.mutiny.operators.multi.MultiOperatorProcessor; +import io.smallrye.mutiny.subscription.MultiSubscriber; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.ThreadLocalRandom; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("InnerClassMayBeStatic") +@ExtendWith(SystemOutCaptureExtension.class) +public class PlugTest { + + @Test + public void plug(SystemOut out) { + // tag::plug[] + Multi.createFrom() + .range(1, 101) + .plug(RandomDrop::new) + .subscribe().with(System.out::println); + // end::plug[] + + assertThat(out.get()).isNotBlank(); + } + + // tag::custom-operator[] + public class RandomDrop extends AbstractMultiOperator { + public RandomDrop(Multi upstream) { + super(upstream); + } + + @Override + public void subscribe(MultiSubscriber downstream) { + upstream.subscribe().withSubscriber(new DropProcessor(downstream)); + } + + private class DropProcessor extends MultiOperatorProcessor { + DropProcessor(MultiSubscriber downstream) { + super(downstream); + } + + @Override + public void onItem(T item) { + if (ThreadLocalRandom.current().nextBoolean()) { + super.onItem(item); + } + } + } + } + // end::custom-operator[] +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/RxTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/RxTest.java new file mode 100644 index 000000000..ba439fe5c --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/RxTest.java @@ -0,0 +1,111 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class RxTest { + + @Test + public void rx() { + Multi multi = Multi.createFrom().range(1, 3); + Uni uni = Uni.createFrom().item(1); + // tag::rx[] + + int result = uni + .map(i -> i + 1) + .await().indefinitely(); + + int result2 = uni + .flatMap(i -> Uni.createFrom().item(i + 1)) + .await().indefinitely(); + + List list = multi + .map(i -> i + 1) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .flatMap(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + List list3 = multi + .concatMap(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + // end::rx[] + assertThat(result).isEqualTo(2); + assertThat(result2).isEqualTo(2); + assertThat(list).containsExactly(2, 3); + assertThat(list2).containsExactly(1, 1, 2, 2); + assertThat(list3).containsExactly(1, 1, 2, 2); + } + + @Test + public void mutiny() { + Multi multi = Multi.createFrom().range(1, 3); + Uni uni = Uni.createFrom().item(1); + // tag::mutiny[] + + int result = uni + .onItem().transform(i -> i + 1) + .await().indefinitely(); + + int result2 = uni + .onItem().transformToUni(i -> Uni.createFrom().item(i + 1)) + .await().indefinitely(); + + // Shortcut for .onItem().transformToUni + int result3 = uni + .chain(i -> Uni.createFrom().item(i + 1)) + .await().indefinitely(); + + List list = multi + .onItem().transform(i -> i + 1) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .onItem().transformToMultiAndMerge(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + // Equivalent to transformToMultiAndMerge but let you configure the flattening process, + // failure management, concurrency... + List list3 = multi + .onItem().transformToMulti(i -> Multi.createFrom().items(i, i)).merge() + .collect().asList() + .await().indefinitely(); + + List list4 = multi + .onItem().transformToMultiAndConcatenate(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + // Equivalent to transformToMultiAndConcatenate but let you configure the flattening process, + // failure management... + List list5 = multi + .onItem().transformToMulti(i -> Multi.createFrom().items(i, i)).concatenate() + .collect().asList() + .await().indefinitely(); + + + // end::mutiny[] + assertThat(result).isEqualTo(2); + assertThat(result2).isEqualTo(2); + assertThat(result3).isEqualTo(2); + assertThat(list).containsExactly(2, 3); + assertThat(list2).containsExactly(1, 1, 2, 2); + assertThat(list3).containsExactly(1, 1, 2, 2); + assertThat(list4).containsExactly(1, 1, 2, 2); + assertThat(list5).containsExactly(1, 1, 2, 2); + } + + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/ShortcutsTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/ShortcutsTest.java new file mode 100644 index 000000000..1d08c9982 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/ShortcutsTest.java @@ -0,0 +1,29 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +public class ShortcutsTest { + + + @Test + public void test() { + + // tag::invoke[] + Multi multi = Multi.createFrom().items("a", "b", "c"); + multi.invoke(item -> System.out.println("Received item " + item)); + // end::invoke[] + + // tag::call[] + multi.call(item -> executeAnAsyncAction(item)); + // end::call[] + + multi.subscribe().with(x -> {}); + } + + private Uni executeAnAsyncAction(String item) { + return Uni.createFrom().nullItem(); + } + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/SpiesTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/SpiesTest.java new file mode 100644 index 000000000..bc2c297dc --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/SpiesTest.java @@ -0,0 +1,40 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.spies.MultiGlobalSpy; +import io.smallrye.mutiny.helpers.spies.MultiOnCompletionSpy; +import io.smallrye.mutiny.helpers.spies.MultiOnRequestSpy; +import io.smallrye.mutiny.helpers.spies.Spy; +import org.junit.jupiter.api.Test; + +public class SpiesTest { + + @Test + public void trackItems() { + // tag::selected[] + Multi multi = Multi.createFrom().items(1, 2, 3); + MultiOnRequestSpy requestSpy = Spy.onRequest(multi); + MultiOnCompletionSpy completionSpy = Spy.onCompletion(requestSpy); + + completionSpy.subscribe().with(System.out::println); + + System.out.println("Number of requests: " + requestSpy.requestedCount()); + System.out.println("Completed? " + completionSpy.invoked()); + // end::selected[] + } + + @Test + public void trackEverything() { + // tag::global[] + Multi multi = Multi.createFrom().items(1, 2, 3); + MultiGlobalSpy spy = Spy.globally(multi); + + spy.subscribe().with(System.out::println); + + System.out.println("Number of requests: " + spy.onRequestSpy().requestedCount()); + System.out.println("Cancelled? " + spy.onCancellationSpy().isCancelled()); + System.out.println("Failure? " + spy.onFailureSpy().lastFailure()); + System.out.println("Items: " + spy.onItemSpy().items()); + // end::global[] + } +} \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/TestSubscribersTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/TestSubscribersTest.java new file mode 100644 index 000000000..467bd8602 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/TestSubscribersTest.java @@ -0,0 +1,131 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.helpers.test.AssertMulti; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; +import org.junit.jupiter.api.Test; + +import java.io.IOException; + +public class TestSubscribersTest { + + @Test + void uni() { + // tag::uni[] + Uni uni = Uni.createFrom().item(63); + + UniAssertSubscriber subscriber = uni + .subscribe().withSubscriber(UniAssertSubscriber.create()); + + subscriber + .awaitItem() + .assertItem(63); + // end::uni[] + } + + @Test + void multi() { + // tag::multi[] + Multi multi = Multi.createFrom().range(1, 5) + .onItem().transform(n -> n * 10); + + AssertSubscriber subscriber = multi.subscribe().withSubscriber(AssertSubscriber.create(10)); + + subscriber + .awaitCompletion() + .assertItems(10, 20, 30, 40); + // end::multi[] + } + + @Test + void failing() { + // tag::failing[] + Multi multi = Multi.createFrom().failure(() -> new IOException("Boom")); + + AssertSubscriber subscriber = multi + .subscribe().withSubscriber(AssertSubscriber.create(10)); + + subscriber + .awaitFailure() + .assertFailedWith(IOException.class, "Boom"); + // end::failing[] + } + + @Test + void uniPredicate() { + // tag::uni-predicate[] + Uni uni = Uni.createFrom().item(63); + + UniAssertSubscriber subscriber = uni + .subscribe().withSubscriber(UniAssertSubscriber.create()); + + subscriber + .awaitItem() + .assertItem(i -> i > 0, "positive number") + .inspectItem(item -> { + // use any assertion library here + assert item == 63; + }); + // end::uni-predicate[] + } + + @Test + void multiPredicate() { + // tag::multi-predicate[] + Multi multi = Multi.createFrom().range(1, 5) + .onItem().transform(n -> n * 10); + + AssertSubscriber subscriber = multi + .subscribe().withSubscriber(AssertSubscriber.create(10)); + + subscriber + .awaitCompletion() + .assertLastItem(i -> i == 40, "last item is 40") + .assertItemCount(4) + .inspectItems(items -> { + // use any assertion library here + assert items.size() == 4; + }); + // end::multi-predicate[] + } + + @Test + void assertMulti() { + // tag::assert-multi[] + Multi multi = Multi.createFrom().range(1, 6); + + AssertMulti.create(multi) + .expectNext(1, 2, 3) + .expectNextMatches(i -> i > 3, "greater than 3") + .expectNext(5) + .expectComplete() + .verify(); + // end::assert-multi[] + } + + @Test + void assertMultiFailure() { + // tag::assert-multi-failure[] + Multi multi = Multi.createFrom().failure(new IOException("boom")); + + AssertMulti.create(multi) + .expectFailure(IOException.class, "boom") + .verify(); + // end::assert-multi-failure[] + } + + @Test + void assertMultiDemand() { + // tag::assert-multi-demand[] + Multi multi = Multi.createFrom().range(1, 4); + + AssertMulti.create(multi) + .thenRequest(10) + .expectNext(1, 2, 3) + .expectComplete() + .verify(); + // end::assert-multi-demand[] + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/UncheckedTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/UncheckedTest.java new file mode 100644 index 000000000..1d15e5bd4 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/UncheckedTest.java @@ -0,0 +1,69 @@ +package guides; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.unchecked.Unchecked; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.io.UncheckedIOException; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +public class UncheckedTest { + + @Test + public void rethrow() { + Uni item = Uni.createFrom().item(1); + + // tag::rethrow[] + Uni uni = item.onItem().transform(i -> { + try { + return methodThrowingIoException(i); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + }); + // end::rethrow[] + + assertThatThrownBy(() -> uni.await().indefinitely()) + .isInstanceOf(RuntimeException.class).hasCauseInstanceOf(IOException.class); + + } + + @Test + public void transformExample() { + Uni item = Uni.createFrom().item(1); + + // tag::transform[] + Uni uni = item.onItem().transform(Unchecked.function(i -> { + // Can throw checked exception + return methodThrowingIoException(i); + })); + // end::transform[] + + assertThatThrownBy(() -> uni.await().indefinitely()) + .isInstanceOf(RuntimeException.class).hasCauseInstanceOf(IOException.class); + + } + + @Test + public void invokeExample() { + Uni item = Uni.createFrom().item(1); + + // tag::invoke[] + Uni uni = item.onItem().invoke(Unchecked.consumer(i -> { + // Can throw checked exception + throw new IOException("boom"); + })); + // end::invoke[] + + assertThatThrownBy(() -> uni.await().indefinitely()) + .isInstanceOf(RuntimeException.class).hasCauseInstanceOf(IOException.class); + + } + + private int methodThrowingIoException(Integer ignored) throws IOException { + throw new IOException("boom"); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/UniMultiComparisonTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/UniMultiComparisonTest.java new file mode 100644 index 000000000..d1df9017c --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/UniMultiComparisonTest.java @@ -0,0 +1,63 @@ +package guides; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import org.junit.jupiter.api.Test; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.awaitility.Awaitility.await; + +@ExtendWith(SystemOutCaptureExtension.class) +public class UniMultiComparisonTest { + + @Test + public void comparison(SystemOut out) { + //tag::code[] + Multi.createFrom().items("a", "b", "c") + .onItem().transform(String::toUpperCase) + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure) + ); + + Uni.createFrom().item("a") + .onItem().transform(String::toUpperCase) + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure) + ); + //end::code[] + + await().until(() -> out.get().contains("Received: C")); + } + + @Test + public void conversion(SystemOut out) { + // + Multi.createFrom().items("a", "b", "c") + .onItem().transform(String::toUpperCase) + // Convert the multi to uni + // It only emits the first item ("a") + .toUni() + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure)); + + Uni.createFrom().item("a") + .onItem().transform(String::toUpperCase) + // Convert the uni to a multi, + // the completion event will be fired after "a": + .toMulti() + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure) + ); + + // + + await().until(() -> out.get().contains("Received: A")); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/UniNullTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/UniNullTest.java new file mode 100644 index 000000000..53ddbeb02 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/UniNullTest.java @@ -0,0 +1,48 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class UniNullTest { + + @Test + public void uni() { + Uni uni = Uni.createFrom().item(() -> null); + // tag::code[] + uni.onItem().ifNull().continueWith("hello"); + uni.onItem().ifNull().switchTo(() -> Uni.createFrom().item("hello")); + uni.onItem().ifNull().failWith(() -> new Exception("Boom!")); + // end::code[] + + assertThat(uni.onItem().ifNull().continueWith("hello").await().indefinitely()).isEqualTo("hello"); + } + + @Test + public void uniNotNull() { + Uni uni = Uni.createFrom().item(() -> null); + // tag::code-not-null[] + uni + .onItem().ifNotNull().transform(String::toUpperCase) + .onItem().ifNull().continueWith("yolo!"); + // end::code-not-null[] + + String r = uni + .onItem().ifNotNull().transform(String::toUpperCase) + .onItem().ifNull().continueWith("yolo!") + .await().indefinitely(); + assertThat(r).isEqualTo("yolo!"); + } + + @Test + public void accumulate() { + Multi multi = Multi.createFrom().range(1, 3); + // + Multi added = multi.onItem().scan(() -> 0, (item, acc) -> acc + item); + // + assertThat(added.subscribe().asIterable()).containsExactly(0, 1, 3); + + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/UniTimeoutTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/UniTimeoutTest.java new file mode 100644 index 000000000..3dcd602ca --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/UniTimeoutTest.java @@ -0,0 +1,102 @@ +package guides; + +import io.smallrye.mutiny.TimeoutException; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import javax.naming.ServiceUnavailableException; +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +public class UniTimeoutTest { + + @Test + public void test() { + Uni uni = Uni.createFrom().nothing(); + // tag::code[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)) + .recoverWithItem("some fallback item"); + // end::code[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("some fallback item"); + } + + @Test + public void testFail() { + Uni uni = Uni.createFrom().nothing(); + // tag::fail[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).fail(); + // end::fail[] + assertThatThrownBy(() -> + uniWithTimeout + .await().indefinitely() + ).isInstanceOf(TimeoutException.class); + } + + @Test + public void testFailRecover() { + Uni uni = Uni.createFrom().nothing(); + // tag::fail-recover[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).fail() + .onFailure(TimeoutException.class).recoverWithItem("we got a timeout"); + // end::fail-recover[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("we got a timeout"); + } + + @Test + public void testFailWithSpecificException() { + Uni uni = Uni.createFrom().nothing(); + // tag::fail-with[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).failWith(() -> new ServiceUnavailableException()); + // end::fail-with[] + assertThatThrownBy(() -> + uniWithTimeout + .await().indefinitely() + ).isInstanceOf(ServiceUnavailableException.class); + } + + @Test + public void testFallback() { + Uni uni = Uni.createFrom().nothing(); + // tag::fallback[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).recoverWithItem(() -> "fallback"); + // end::fallback[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("fallback"); + } + + @Test + public void testFallbackUni() { + Uni uni = Uni.createFrom().nothing(); + // tag::fallback-uni[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).recoverWithUni(() -> someFallbackUni()); + // end::fallback-uni[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("fallback"); + } + + private Uni someFallbackUni() { + return Uni.createFrom().item("fallback"); + } + + + private static class ServiceUnavailableException extends RuntimeException { + + } + + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/DroppedExceptionTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/DroppedExceptionTest.java new file mode 100644 index 000000000..980ecd9b7 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/DroppedExceptionTest.java @@ -0,0 +1,54 @@ +package guides.infrastructure; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import io.smallrye.mutiny.subscription.Cancellable; +import io.smallrye.mutiny.subscription.UniEmitter; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +@ExtendWith(SystemOutCaptureExtension.class) +public class DroppedExceptionTest { + + @Test + public void droppedExceptionTest(SystemOut out) { + // tag::override-handler[] + Infrastructure.setDroppedExceptionHandler(err -> + log(Level.SEVERE, "Mutiny dropped exception", err) + ); + // end::override-handler[] + + // tag::code[] + Cancellable cancellable = Uni.createFrom() + .emitter(this::emitter) + .onCancellation().call(() -> Uni.createFrom().failure(new IOException("boom"))) + .subscribe().with(this::onItem, this::onFailure); + + cancellable.cancel(); + // end::code[] + Assertions.assertThat(out.get()).contains("Mutiny dropped exception"); + } + + private void log(Level severe, String message, Throwable err) { + System.out.println(severe.getName() + ":" + message + " " + err.getMessage()); + } + + private void onFailure(Throwable t) { + // Nothing, the snippet is for pure documentation purposes + } + + private void onItem(Object o) { + // Nothing, the snippet is for pure documentation purposes + } + + private void emitter(UniEmitter uniEmitter) { + // Nothing, the snippet is for pure documentation purposes + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/InfrastructureTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/InfrastructureTest.java new file mode 100644 index 000000000..61da6e036 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/InfrastructureTest.java @@ -0,0 +1,39 @@ +package guides.infrastructure; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import io.smallrye.mutiny.infrastructure.MutinyScheduler; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.concurrent.Executor; + +import static org.assertj.core.api.Assertions.assertThat; + +public class InfrastructureTest { + + @Test + public void test() { + // tag::infra[] + Uni uni1 = Uni.createFrom().item(1) + .emitOn(Infrastructure.getDefaultExecutor()); + + Uni uni2 = Uni.createFrom().item(2) + .onItem().delayIt() + .onExecutor(Infrastructure.getDefaultWorkerPool()) + .by(Duration.ofMillis(10)); + // end::infra[] + + assertThat(uni1.await().indefinitely()).isEqualTo(1); + assertThat(uni2.await().indefinitely()).isEqualTo(2); + + + Executor executor = Runnable::run; + // tag::set-infra[] + Infrastructure.setDefaultExecutor(executor); + // end::set-infra[] + + assertThat(Infrastructure.getDefaultExecutor()).isEqualTo(executor); + assertThat(Infrastructure.getDefaultWorkerPool()).isInstanceOf(MutinyScheduler.class); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/OperatorLoggingTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/OperatorLoggingTest.java new file mode 100644 index 000000000..32746b70a --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/infrastructure/OperatorLoggingTest.java @@ -0,0 +1,36 @@ +package guides.infrastructure; + +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.infrastructure.Infrastructure; + +public class OperatorLoggingTest { + + @Test + public void test() { + // tag::set-logger[] + Infrastructure.setOperatorLogger((id, event, value, err) -> { + Logger logger = LoggerFactory.getLogger(id); + if (err != null) { + logger.info(event + "(" + err.getClass() + "(" + err.getMessage() + "))"); + } else { + if (value != null) { + logger.info(event + "(" + value + ")"); + } else { + logger.info(event + "()"); + } + } + }); + // end::set-logger[] + + // tag::log[] + Multi.createFrom().items(1, 2, 3) + .onItem().transform(n -> n * 10) + .log() + .subscribe().with(item -> System.out.println(">>> " + item)); + // end::log[] + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ImperativeToReactiveTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ImperativeToReactiveTest.java new file mode 100644 index 000000000..cc4484456 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ImperativeToReactiveTest.java @@ -0,0 +1,60 @@ +package guides.integration; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ImperativeToReactiveTest { + + + @Test + public void uniRunSubscriptionOn() { + // tag::uni-runSubscriptionOn[] + Uni uni = Uni.createFrom() + .item(this::invokeRemoteServiceUsingBlockingIO) + .runSubscriptionOn(Infrastructure.getDefaultWorkerPool()); + // end::uni-runSubscriptionOn[] + + String res = uni.await().indefinitely(); + assertThat(res).isEqualTo("Hello"); + } + + @Test + public void multiEmitOn() { + // tag::multi-emitOn[] + Multi multi = Multi.createFrom().items("john", "jack", "sue") + .emitOn(Infrastructure.getDefaultWorkerPool()) + .onItem().transform(this::invokeRemoteServiceUsingBlockingIO); + // end::multi-emitOn[] + + List strings = multi.subscribe().asStream().collect(Collectors.toList()); + assertThat(strings).containsExactly("JOHN", "JACK", "SUE"); + } + + public String invokeRemoteServiceUsingBlockingIO() { + assertThat(Thread.currentThread().getName()).doesNotContain("main"); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + return "Hello"; + } + + public String invokeRemoteServiceUsingBlockingIO(String s) { + assertThat(Thread.currentThread().getName()).doesNotContain("main"); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + return s.toUpperCase(); + } + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ReactiveToImperativeTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ReactiveToImperativeTest.java new file mode 100644 index 000000000..d4cb2397e --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ReactiveToImperativeTest.java @@ -0,0 +1,57 @@ +package guides.integration; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.stream.Stream; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("unchecked") +public class ReactiveToImperativeTest { + + @Test + public void testAwait() { + Uni uni = (Uni) Uni.createFrom().item(() -> 1); + + // tag::await[] + T t = uni.await().indefinitely(); + // end::await[] + + assertThat(t).isEqualTo(1); + } + + @Test + public void testAwaitAtMost() { + Uni uni = (Uni) Uni.createFrom().item(() -> 1); + + // tag::atMost[] + T t = uni.await().atMost(Duration.ofSeconds(1)); + // end::atMost[] + + assertThat(t).isEqualTo(1); + } + + @Test + public void test() { + Multi multi = (Multi) Multi.createFrom().items(1, 2, 3); + + // tag::iterable[] + Iterable iterable = multi.subscribe().asIterable(); + for (T item : iterable) { + doSomethingWithItem(item); + } + // end::iterable[] + + // tag::stream[] + Stream stream = multi.subscribe().asStream(); + stream.forEach(this::doSomethingWithItem); + // end::stream[] + } + + private void doSomethingWithItem(T item) { + assertThat(item).isIn(1, 2, 3); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ReactorTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ReactorTest.java new file mode 100644 index 000000000..83f629379 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/ReactorTest.java @@ -0,0 +1,158 @@ +package guides.integration; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.converters.multi.MultiReactorConverters; +import io.smallrye.mutiny.converters.uni.UniReactorConverters; +import mutiny.zero.flow.adapters.AdaptersToFlow; +import mutiny.zero.flow.adapters.AdaptersToReactiveStreams; +import org.junit.jupiter.api.Test; +import org.reactivestreams.Publisher; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +import java.util.List; +import java.util.concurrent.Flow; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("unchecked") +public class ReactorTest { + + @Test + public void testMultiCreation() { + Flux flux = getFlux(); + Mono mono = getMono(); + + // tag::reactor-multi-create[] + Flow.Publisher fluxAsPublisher = AdaptersToFlow.publisher(flux); + Multi multiFromFlux = Multi.createFrom().publisher(fluxAsPublisher); + + Flow.Publisher monoAsPublisher = AdaptersToFlow.publisher(mono); + Multi multiFromMono = Multi.createFrom().publisher(monoAsPublisher); + // end::reactor-multi-create[] + + List list = multiFromFlux + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a", "b", "c"); + + list = multiFromMono + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a"); + + } + + @Test + public void testUniCreation() { + Flux flux = getFlux(); + Mono mono = getMono(); + + // tag::reactor-uni-create[] + Flow.Publisher fluxAsPublisher = AdaptersToFlow.publisher(flux); + Uni uniFromFlux = Uni.createFrom().publisher(fluxAsPublisher); + + Flow.Publisher monoAsPublisher = AdaptersToFlow.publisher(mono); + Uni uniFromMono = Uni.createFrom().publisher(monoAsPublisher); + // end::reactor-uni-create[] + + String s = uniFromFlux + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = uniFromMono + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + } + + @Test + public void testCreationFromMulti() { + Multi multi = getMulti(); + + // tag::reactor-create-multi[] + Publisher multiAsLegacyPublisher = AdaptersToReactiveStreams.publisher(multi); + + Flux fluxFromMulti = Flux.from(multiAsLegacyPublisher); + Mono monoFromMulti = Mono.from(multiAsLegacyPublisher); + // end::reactor-create-multi[] + + List list = fluxFromMulti + .map(Object::toString) + .collectList() + .block(); + assertThat(list).containsExactly("a", "b", "c"); + + String s = monoFromMulti + .map(Object::toString) + .block(); + assertThat(s).isEqualTo("a"); + } + + @Test + public void testCreationFromUni() { + Uni uni = getUni(); + + // tag::reactor-create-uni[] + Flux fluxFromUni = uni.convert().with(UniReactorConverters.toFlux()); + Mono monoFromUni = uni.convert().with(UniReactorConverters.toMono()); + // end::reactor-create-uni[] + + List list = fluxFromUni + .map(Object::toString) + .collectList() + .block(); + assertThat(list).containsExactly("a"); + + String s = monoFromUni + .map(Object::toString) + .block(); + assertThat(s).isEqualTo("a"); + } + + private Flux getFlux() { + return Flux.just("a", "b", "c") + .map(s -> (T) s); + } + + private Mono getMono() { + return Mono.just("a") + .map(s -> (T) s); + } + + private Multi getMulti() { + return Multi.createFrom().items("a", "b", "c") + .map(s -> (T) s); + } + + private Uni getUni() { + return Uni.createFrom().item("a") + .map(s -> (T) s); + } + + @Test + public void uniExportToReactor() { + Uni uni = Uni.createFrom().item("hello"); + // tag::uni-export[] + Mono mono = uni.convert().with(UniReactorConverters.toMono()); + Flux flux = uni.convert().with(UniReactorConverters.toFlux()); + // end::uni-export[] + + assertThat(mono.block()).isEqualTo("hello"); + assertThat(flux.blockFirst()).isEqualTo("hello"); + } + + @Test + public void multiExportToReactor() { + Multi multi = Multi.createFrom().items("hello", "bonjour"); + // tag::multi-export[] + Mono mono = multi.convert().with(MultiReactorConverters.toMono()); + Flux flux = multi.convert().with(MultiReactorConverters.toFlux()); + // end::multi-export[] + + assertThat(mono.block()).isEqualTo("hello"); + assertThat(flux.toIterable()).containsExactly("hello", "bonjour"); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/RxJavaTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/RxJavaTest.java new file mode 100644 index 000000000..dd1ae117c --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/integration/RxJavaTest.java @@ -0,0 +1,277 @@ +package guides.integration; + +import io.reactivex.rxjava3.core.*; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.converters.multi.MultiRx3Converters; +import io.smallrye.mutiny.converters.uni.UniRx3Converters; +import mutiny.zero.flow.adapters.AdaptersToFlow; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.Optional; +import java.util.concurrent.Flow; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("unchecked") +public class RxJavaTest { + + @Test + public void testMultiCreation() { + Observable observable = getObservable(); + Flowable flowable = getFlowable(); + + // tag::rx-multi-create-observable[] + Multi multiFromObservable = Multi.createFrom() + .converter(MultiRx3Converters.fromObservable(), observable); + // end::rx-multi-create-observable[] + + // tag::rx-multi-create-flowable[] + Flow.Publisher flowableAsPublisher = AdaptersToFlow.publisher(flowable); + + Multi multiFromFlowable = Multi.createFrom().publisher(flowableAsPublisher); + // end::rx-multi-create-flowable[] + + List list = multiFromObservable + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a", "b", "c"); + + list = multiFromFlowable + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a", "b", "c"); + + Completable completable = getCompletable(); + Single single = getSingle(); + Maybe maybe = getMaybe(); + Maybe emptyMaybe = getEmptyMaybe(); + + // tag::rx-multi-create-single[] + Multi multiFromCompletable = Multi.createFrom() + .converter(MultiRx3Converters.fromCompletable(), completable); + Multi multiFromSingle = Multi.createFrom() + .converter(MultiRx3Converters.fromSingle(), single); + Multi multiFromMaybe = Multi.createFrom() + .converter(MultiRx3Converters.fromMaybe(), maybe); + Multi multiFromEmptyMaybe = Multi.createFrom() + .converter(MultiRx3Converters.fromMaybe(), emptyMaybe); + // end::rx-multi-create-single[] + + list = multiFromCompletable + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).isEmpty(); + + list = multiFromSingle + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a"); + + list = multiFromMaybe + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a"); + + list = multiFromEmptyMaybe + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).isEmpty(); + } + + @Test + public void testUniCreation() { + Observable observable = getObservable(); + Flowable flowable = getFlowable(); + + // tag::rx-uni-create-observable[] + Uni uniFromObservable = Uni.createFrom().converter( + UniRx3Converters.fromObservable(), observable); + // end::rx-uni-create-observable[] + + // tag::rx-uni-create-flowable[] + Flow.Publisher flowableAsPublisher = AdaptersToFlow.publisher(flowable); + + Uni uniFromFlowable = Uni.createFrom().publisher(flowableAsPublisher); + // end::rx-uni-create-flowable[] + + String s = uniFromFlowable + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = uniFromObservable + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + Completable completable = getCompletable(); + Single single = getSingle(); + Maybe maybe = getMaybe(); + Maybe emptyMaybe = getEmptyMaybe(); + + // tag::rx-uni-create-single[] + Uni multiFromCompletable = Uni.createFrom() + .converter(UniRx3Converters.fromCompletable(), completable); + Uni multiFromSingle = Uni.createFrom() + .converter(UniRx3Converters.fromSingle(), single); + Uni multiFromMaybe = Uni.createFrom() + .converter(UniRx3Converters.fromMaybe(), maybe); + Uni multiFromEmptyMaybe = Uni.createFrom() + .converter(UniRx3Converters.fromMaybe(), emptyMaybe); + // end::rx-uni-create-single[] + + Void v = multiFromCompletable + .await().indefinitely(); + assertThat(v).isNull(); + + s = multiFromSingle + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = multiFromMaybe + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = multiFromEmptyMaybe + .onItem().castTo(String.class) + .await().indefinitely(); + assertThat(s).isNull(); + } + + @Test + public void testCreatingRxFromMulti() { + Multi multi = getMulti(); + + // tag::create-rx-from-multi[] + Completable completable = multi.convert() + .with(MultiRx3Converters.toCompletable()); + Single> single = multi.convert() + .with(MultiRx3Converters.toSingle()); + Single single2 = multi.convert() + .with(MultiRx3Converters + .toSingle().onEmptyThrow(() -> new Exception("D'oh!"))); + Maybe maybe = multi.convert() + .with(MultiRx3Converters.toMaybe()); + Observable observable = multi.convert() + .with(MultiRx3Converters.toObservable()); + Flowable flowable = multi.convert() + .with(MultiRx3Converters.toFlowable()); + // end::create-rx-from-multi[] + + completable.blockingAwait(); + assertThat(single.blockingGet()).contains((T) "a"); + assertThat(single2.blockingGet()).isEqualTo("a"); + assertThat(maybe.blockingGet()).isEqualTo("a"); + assertThat(observable.blockingIterable()).containsExactly((T) "a", (T) "b", (T) "c"); + assertThat(flowable.blockingIterable()).containsExactly((T) "a", (T) "b", (T) "c"); + } + + @Test + public void testCreatingRxFromUni() { + Uni uni = getUni(); + + // tag::create-rx-from-uni[] + Completable completable = uni.convert().with(UniRx3Converters.toCompletable()); + Single> single = uni.convert().with(UniRx3Converters.toSingle()); + Single single2 = uni.convert().with(UniRx3Converters.toSingle().failOnNull()); + Maybe maybe = uni.convert().with(UniRx3Converters.toMaybe()); + Observable observable = uni.convert().with(UniRx3Converters.toObservable()); + Flowable flowable = uni.convert().with(UniRx3Converters.toFlowable()); + // end::create-rx-from-uni[] + + completable.blockingAwait(); + assertThat(single.blockingGet()).contains((T) "a"); + assertThat(single2.blockingGet()).isEqualTo("a"); + assertThat(maybe.blockingGet()).isEqualTo("a"); + assertThat(observable.blockingIterable()).containsExactly((T) "a"); + assertThat(flowable.blockingIterable()).containsExactly((T) "a"); + } + + @Test + public void uniExportToRx() { + Uni uni = Uni.createFrom().item("hello"); + // + Completable completable = uni.convert().with(UniRx3Converters.toCompletable()); + Single> single = uni.convert().with(UniRx3Converters.toSingle()); + Single single2 = uni.convert().with(UniRx3Converters.toSingle().failOnNull()); + Maybe maybe = uni.convert().with(UniRx3Converters.toMaybe()); + Observable observable = uni.convert().with(UniRx3Converters.toObservable()); + Flowable flowable = uni.convert().with(UniRx3Converters.toFlowable()); + // + + completable.test().assertComplete(); + single.test().assertValue(o -> o.isPresent() && o.get().equals("hello")); + single2.test().assertValue("hello"); + maybe.test().assertValue("hello"); + observable.test().assertValue("hello").assertComplete(); + flowable.test().assertValue("hello").assertComplete(); + } + + @Test + public void multiExportToRx() { + Multi multi = Multi.createFrom().items("hello", "bonjour"); + // + Completable completable = multi.convert() + .with(MultiRx3Converters.toCompletable()); + Single> single = multi.convert() + .with(MultiRx3Converters.toSingle()); + Single single2 = multi.convert() + .with(MultiRx3Converters.toSingle().onEmptyThrow(() -> new Exception("D'oh!"))); + Maybe maybe = multi.convert() + .with(MultiRx3Converters.toMaybe()); + Observable observable = multi.convert() + .with(MultiRx3Converters.toObservable()); + Flowable flowable = multi.convert() + .with(MultiRx3Converters.toFlowable()); + // + + completable.test().assertComplete(); + single.test().assertValue(o -> o.isPresent() && o.get().equals("hello")); + single2.test().assertValue("hello"); + maybe.test().assertValue("hello"); + observable.test().assertValues("hello", "bonjour").assertComplete(); + flowable.test().assertValues("hello", "bonjour").assertComplete(); + } + + private Observable getObservable() { + return Observable.just("a", "b", "c") + .map(s -> (T) s); + } + + private Flowable getFlowable() { + return Flowable.just("a", "b", "c") + .map(s -> (T) s); + } + + private Single getSingle() { + return Single.just("a") + .map(s -> (T) s); + } + + private Maybe getMaybe() { + return Maybe.just("a") + .map(s -> (T) s); + } + + private Maybe getEmptyMaybe() { + return Maybe.empty(); + } + + private Completable getCompletable() { + return Completable.complete(); + } + + private Multi getMulti() { + return Multi.createFrom().items("a", "b", "c") + .map(s -> (T) s); + } + + private Uni getUni() { + return Uni.createFrom().item("a") + .map(s -> (T) s); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/BroadcastProcessorTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/BroadcastProcessorTest.java new file mode 100644 index 000000000..36172511c --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/BroadcastProcessorTest.java @@ -0,0 +1,35 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor; +import org.junit.jupiter.api.Test; + +public class BroadcastProcessorTest { + + @Test + public void test() { + // tag::code[] + BroadcastProcessor processor = BroadcastProcessor.create(); + Multi multi = processor + .onItem().transform(String::toUpperCase) + .onFailure().recoverWithItem("d'oh"); + + new Thread(() -> { + for (int i = 0; i < 1000; i++) { + processor.onNext(Integer.toString(i)); + } + processor.onComplete(); + }).start(); + + // Subscribers can subscribe at any time. + // They will only receive items emitted after their subscription. + // If the source is already terminated (by a completion or a failure signal) + // the subscriber receives this signal. + + // end::code[] + AssertSubscriber subscriber = AssertSubscriber.create(Long.MAX_VALUE); + multi.subscribe().withSubscriber(subscriber) + .awaitCompletion(); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/CollectingItemsTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/CollectingItemsTest.java new file mode 100644 index 000000000..b48d62c53 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/CollectingItemsTest.java @@ -0,0 +1,99 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.tuples.Tuple2; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.*; + +@SuppressWarnings("Convert2MethodRef") +public class CollectingItemsTest { + + @Test + public void testList() { + // tag::list[] + Multi multi = getMulti(); + Uni> uni = multi.collect().asList(); + // end::list[] + + assertThat(uni.await().indefinitely()).containsExactly("a", "b", "c"); + + // tag::first[] + Uni first = multi.collect().first(); + Uni last = multi.collect().last(); + // end::first[] + + assertThat(first.await().indefinitely()).isEqualTo("a"); + assertThat(last.await().indefinitely()).isEqualTo("c"); + } + + @Test + public void testMap() { + // tag::map[] + Multi multi = getMulti(); + Uni> uni = + multi.collect() + .asMap(item -> getUniqueKeyForItem(item)); + // end::map[] + + assertThat(uni.await().indefinitely()).hasSize(3); + } + + @Test + public void testMultiMap() { + // tag::multimap[] + Multi multi = getMulti(); + Uni>> uni = + multi.collect() + .asMultiMap(item -> getKeyForItem(item)); + // end::multimap[] + + assertThat(uni.await().indefinitely()).hasSize(2); + } + + @Test + public void testCustomAccumulator() { + // tag::accumulator[] + Multi multi = getMulti(); + Uni uni = multi.collect() + .in(MyCollection::new, (col, item) -> col.add(item)); + // end::accumulator[] + + assertThat(uni.await().indefinitely()).hasSize(3); + + // tag::collector[] + Uni count = multi.collect() + .with(Collectors.counting()); + // end::collector[] + + assertThat(count.await().indefinitely()).isEqualTo(3); + } + + private String getKeyForItem(String item) { + if( item.equalsIgnoreCase("b")) { + return "b"; + } else { + return "a"; + } + } + + private String getUniqueKeyForItem(String item) { + return item; + } + + private Multi getMulti() { + return Multi.createFrom().items("a", "b", "c"); + } + + private static class MyCollection extends ArrayList { + + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/CombiningItemsTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/CombiningItemsTest.java new file mode 100644 index 000000000..1f02148fd --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/CombiningItemsTest.java @@ -0,0 +1,177 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.tuples.Tuple2; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({ "unchecked", "Convert2MethodRef" }) +@ExtendWith(SystemOutCaptureExtension.class) +public class CombiningItemsTest { + + @Test + public void testWithUni(SystemOut out) throws InterruptedException { + // tag::invocations[] + Uni uniA = invokeHttpServiceA(); + Uni uniB = invokeHttpServiceB(); + // end::invocations[] + + // tag::combination[] + Uni> responses = Uni.combine() + .all().unis(uniA, uniB).asTuple(); + // end::combination[] + + // tag::subscription[] + Uni.combine().all().unis(uniA, uniB).asTuple() + .subscribe().with(tuple -> { + System.out.println("Response from A: " + tuple.getItem1()); + System.out.println("Response from B: " + tuple.getItem2()); + }); + // end::subscription[] + + await().until(() -> out.get().contains("Response from A: Response{content='A'}")); + await().until(() -> out.get().contains("Response from B: Response{content='B'}")); + + // tag::combined-with[] + Uni> uni = Uni.combine() + .all().unis(uniA, uniB).with( + listOfResponses -> { + Map map = new LinkedHashMap<>(); + map.put("A", (Response) listOfResponses.get(0)); + map.put("B", (Response) listOfResponses.get(1)); + return map; + } + ); + // end::combined-with[] + + assertThat(uni.await().indefinitely()).containsKeys("A", "B"); + + // + Uni> uni1 = Uni.combine() + .all().unis(uniA, uniB).withUni( + listOfResponses -> { + Map map = new LinkedHashMap<>(); + map.put("A", (Response) listOfResponses.get(0)); + map.put("B", (Response) listOfResponses.get(1)); + return Uni.createFrom().item(map); + } + ); + // + + assertThat(uni1.await().indefinitely()).containsKeys("A", "B"); + + + Thread.sleep(100); + } + + @Test + public void testWithMulti() throws InterruptedException { + Multi multiA = getMultiA(); + Multi multiB = getMultiB(); + + // tag::combine-multi[] + Multi> combined = Multi.createBy().combining() + .streams(multiA, multiB).asTuple(); + // end::combine-multi[] + + CountDownLatch latch = new CountDownLatch(1); + AtomicInteger i = new AtomicInteger(); + combined.subscribe().with( + tuple -> { + int v = i.incrementAndGet(); + assertThat(tuple.getItem1()).isEqualTo("a" + v); + assertThat(tuple.getItem2()).isEqualTo("b" + v); + }, + () -> latch.countDown() + ); + + assertThat(latch.await(10, TimeUnit.MILLISECONDS)).isTrue(); + + // tag::combine-multi-with[] + Multi.createBy().combining() + .streams(multiA, multiB).using(list -> combineItems(list)) + .subscribe().with(x -> { + // do something with the combined items + }); + // end::combine-multi-with[] + } + + @Test + public void testCombineLast() { + Multi multiA = getMultiA(); + Multi multiB = getMultiB(); + + // tag::combine-last[] + Multi> multi1 = Multi.createBy().combining() + .streams(multiA, multiB) + .latestItems().asTuple(); + + // or + + Multi multi2 = Multi.createBy().combining() + .streams(multiA, multiB) + .latestItems().using(list -> combineItems(list)); + // end::combine-last[] + + List> list = multi1.collect().asList().await().indefinitely(); + assertThat(list).hasSize(3); + assertThat(list.toString()).contains("a3", "b1", "b2", "b3").doesNotContain("a1", "a2"); + List strings = multi2.collect().asList().await().indefinitely(); + assertThat(strings).hasSize(3).containsExactly("a3b1", "a3b2", "a3b3"); + } + + private String combineItems(List list) { + return "" + list.get(0) + list.get(1); + } + + private Multi getMultiA() { + return Multi.createFrom().items("a1", "a2", "a3") + .onItem().transform(s -> (A) s); + } + + private Multi getMultiB() { + return Multi.createFrom().items("b1", "b2", "b3") + .onItem().transform(s -> (B) s); + } + + private Uni invokeHttpServiceA() { + return Uni.createFrom().item(new Response("A")) + .onItem().delayIt().by(Duration.ofMillis(10)); + } + + private Uni invokeHttpServiceB() { + return Uni.createFrom().item(new Response("B")) + .onItem().delayIt().by(Duration.ofMillis(30)); + } + + static class Response { + + private final String content; + + public Response(String content) { + this.content = content; + } + + @Override + public String toString() { + return "Response{" + + "content='" + content + '\'' + + '}'; + } + } + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/ControlDemandTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/ControlDemandTest.java new file mode 100644 index 000000000..2ea2694e1 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/ControlDemandTest.java @@ -0,0 +1,93 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import io.smallrye.mutiny.subscription.DemandPacer; +import io.smallrye.mutiny.subscription.FixedDemandPacer; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.time.temporal.ChronoUnit; + +import static org.assertj.core.api.Assertions.assertThat; + +class ControlDemandTest { + + @Test + void pacing() { + // tag::pacing[] + FixedDemandPacer pacer = new FixedDemandPacer(25L, Duration.ofMillis(100L)); + + Multi multi = Multi.createFrom().range(0, 100) + .paceDemand().on(Infrastructure.getDefaultWorkerPool()).using(pacer); + // end::pacing[] + + AssertSubscriber sub = multi.subscribe().withSubscriber(AssertSubscriber.create()); + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(100); + } + + @Test + void customPacer() { + // tag::custom-pacer[] + DemandPacer pacer = new DemandPacer() { + + @Override + public Request initial() { + return new Request(10L, Duration.ofMillis(100L)); + } + + @Override + public Request apply(Request previousRequest, long observedItemsCount) { + return new Request(previousRequest.demand() * 2, previousRequest.delay().plus(10, ChronoUnit.MILLIS)); + } + }; + // end::custom-pacer[] + } + + @Test + void capping() { + // tag::capConstant[] + AssertSubscriber sub = AssertSubscriber.create(); + + sub = Multi.createFrom().range(0, 100) + .capDemandsTo(50L) + .subscribe().withSubscriber(sub); + + // A first batch of 50 (capped), 25 remain outstanding + sub.request(75L).assertNotTerminated(); + assertThat(sub.getItems()).hasSize(50); + + // Second batch: 25 + 25 = 50 + sub.request(25L).assertCompleted(); + assertThat(sub.getItems()).hasSize(100); + // end::capConstant[] + } + + @Test + void cappingFunction() { + // tag::capFunction[] + AssertSubscriber sub = AssertSubscriber.create(); + + sub = Multi.createFrom().range(0, 100) + .capDemandsUsing(n -> { + if (n > 1) { + return (long) (((double) n) * 0.75d); + } else { + return n; + } + }) + .subscribe().withSubscriber(sub); + + sub.request(100L).assertNotTerminated(); + assertThat(sub.getItems()).hasSize(75); + + sub.request(1L).assertNotTerminated(); + assertThat(sub.getItems()).hasSize(94); + + sub.request(Long.MAX_VALUE).assertCompleted(); + assertThat(sub.getItems()).hasSize(100); + // end::capFunction[] + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/DelayTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/DelayTest.java new file mode 100644 index 000000000..052004e8b --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/DelayTest.java @@ -0,0 +1,87 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.List; +import java.util.Random; + +import static org.assertj.core.api.Assertions.assertThat; + +public class DelayTest { + + @Test + public void testDelayBy() { + // tag::delay-by[] + Uni delayed = Uni.createFrom().item("hello") + .onItem().delayIt().by(Duration.ofMillis(10)); + // end::delay-by[] + String r = delayed.map(s -> "Delayed " + s) + .await().indefinitely(); + assertThat(r).isEqualTo("Delayed hello"); + } + + @Test + public void testDelayUntil() { + // tag::delay-until[] + Uni delayed = Uni.createFrom().item("hello") + // The write method returns a Uni completed + // when the operation is done. + .onItem().delayIt().until(this::write); + // end::delay-until[] + String r = delayed + .map(s -> "Written " + s) + .await().indefinitely(); + assertThat(r).isEqualTo("Written hello"); + } + + @Test + public void testDelayMulti() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5); + // tag::delay-multi[] + Multi delayed = multi + .onItem().call(i -> + // Delay the emission until the returned uni emits its item + Uni.createFrom().nullItem().onItem().delayIt().by(Duration.ofMillis(10)) + ); + // end::delay-multi[] + assertThat(delayed.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5); + } + + @Test + public void testThrottling() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5); + // tag::throttling-multi[] + // Introduce a one second delay between each item + Multi ticks = Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onOverflow().drop(); + Multi delayed = Multi.createBy().combining().streams(ticks, multi) + .using((x, item) -> item); + // end::throttling-multi[] + assertThat(delayed.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5); + } + + @Test + public void testDelayMultiRandom() { + // tag::delay-multi-random[] + Random random = new Random(); + Multi delayed = Multi.createFrom().items(1, 2, 3, 4, 5) + .onItem().call(i -> { + Duration delay = Duration.ofMillis(random.nextInt(100) + 1); + return Uni.createFrom().nullItem().onItem().delayIt().by(delay); + }); + // end::delay-multi-random[] + assertThat(delayed.collect().asList() + .await().indefinitely()) + .containsExactlyInAnyOrder(1, 2, 3, 4, 5); + } + + private Uni write(String s) { + return Uni.createFrom().item(s) + .onItem().delayIt().by(Duration.ofMillis(20)) + .onItem().ignore().andContinueWithNull(); + } + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/EmitOnTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/EmitOnTest.java new file mode 100644 index 000000000..c9398aa36 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/EmitOnTest.java @@ -0,0 +1,62 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class EmitOnTest { + + @Test + public void testEmitOn() { + // tag::example[] + Uni uni = Uni.createFrom().emitter(emitter -> + new Thread(() -> + emitter.complete("hello from " + + Thread.currentThread().getName()) + ).start() + ) + .onItem().transform(item -> { + // Called on the emission thread. + return item.toUpperCase(); + }); + // end::example[] + + assertThat(uni.await().indefinitely()).startsWith("HELLO FROM").doesNotContain("MAIN"); + } + + @Test + public void test(SystemOut out) { + Uni uni = Uni.createFrom().item("hello"); + Multi multi = Multi.createFrom().items("a", "b", "c"); + + ExecutorService executor = Executors.newFixedThreadPool(4); + // tag::code[] + String res0 = uni.emitOn(executor) + .onItem() + .invoke(s -> System.out.println("Received item `" + s + "` on thread: " + + Thread.currentThread().getName())) + .await().indefinitely(); + + String res1 = multi.emitOn(executor) + .onItem() + .invoke(s -> System.out.println("Received item `" + s + "` on thread: " + + Thread.currentThread().getName())) + .collect().first() + .await().indefinitely(); + // end::code[] + + assertThat(out.get()).doesNotContain("main").contains("pool-").contains("hello", "a"); + assertThat(res0).isEqualTo("hello"); + assertThat(res1).isEqualTo("a"); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/FilterTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/FilterTest.java new file mode 100644 index 000000000..39e72d024 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/FilterTest.java @@ -0,0 +1,101 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class FilterTest { + + @Test + public void filter() { + Multi multi = Multi.createFrom().range(1, 11); + // tag::filter[] + List list = multi + .select().where(i -> i > 6) + .collect().asList() + .await().indefinitely(); + // end::filter[] + + // tag::test[] + List list2 = multi + .select().when(i -> Uni.createFrom().item(i > 6)) + .collect().asList() + .await().indefinitely(); + // end::test[] + + assertThat(list).containsExactly(7, 8, 9, 10); + assertThat(list2).containsExactly(7, 8, 9, 10); + } + + @Test + public void take() { + Multi multi = Multi.createFrom().range(1, 11); + // + List list = multi + .select().first(2) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .select().first(i -> i < 3) + .collect().asList() + .await().indefinitely(); + + List list3 = multi + .select().last(2) + .collect().asList() + .await().indefinitely(); + // + assertThat(list).containsExactly(1, 2); + assertThat(list2).containsExactly(1, 2); + assertThat(list3).containsExactly(9, 10); + } + + @Test + public void skip() { + Multi multi = Multi.createFrom().range(1, 11); + // + List list = multi + .skip().first(8) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .skip().first(i -> i < 9) + .collect().asList() + .await().indefinitely(); + + List list3 = multi + .skip().last(8) + .collect().asList() + .await().indefinitely(); + // + assertThat(list).containsExactly(9, 10); + assertThat(list2).containsExactly(9, 10); + assertThat(list3).containsExactly(1, 2); + } + + @Test + public void distinct() { + Multi multi = Multi.createFrom().items(1, 1, 2, 3, 4, 5, 5, 6); + // + List list = multi + .select().distinct() + .collect().asList() + .await().indefinitely(); + // + + // + List list2 = multi + .skip().repetitions() + .collect().asList() + .await().indefinitely(); + // + assertThat(list).containsExactly(1, 2, 3, 4, 5, 6); + assertThat(list2).containsExactly(1, 2, 3, 4, 5, 6); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/GroupingItemsTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/GroupingItemsTest.java new file mode 100644 index 000000000..022c11219 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/GroupingItemsTest.java @@ -0,0 +1,188 @@ +package guides.operators; + +import io.smallrye.mutiny.GroupedMulti; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.groups.Gatherer; +import io.smallrye.mutiny.groups.Gatherers; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.subscription.BackPressureFailure; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.stream.Collector; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +public class GroupingItemsTest { + + @Test + public void groupIntoLists() { + // tag::groupIntoLists[] + Multi> grouped = Multi.createFrom().range(0, 10) + .group().intoLists().of(3); // Group every 3 items into a list + + List> lists = grouped + .collect().asList() + .await().indefinitely(); + + assertThat(lists).containsExactly( + List.of(0, 1, 2), + List.of(3, 4, 5), + List.of(6, 7, 8), + List.of(9) + ); + // end::groupIntoLists[] + } + + @Test + public void timeBasedListGrouping() { + // tag::timeBasedListGrouping[] + Multi> timeWindows = Multi.createFrom() + .ticks().every(Duration.ofMillis(10)) + .group().intoLists().every(Duration.ofMillis(100)); + + // Each list contains items emitted within a 100ms window + // end::timeBasedListGrouping[] + } + + @Test + public void sizeAndTimeBasedListGrouping() { + // tag::sizeAndTimeBasedListGrouping[] + Multi> combined = Multi.createFrom() + .ticks().every(Duration.ofMillis(10)) + .group().intoLists().of(5, Duration.ofMillis(100)); + + // Emits a list when either 5 items are collected OR 100ms expires, + // whichever happens first + // end::sizeAndTimeBasedListGrouping[] + } + + @Test + public void groupIntoMultis() { + // tag::groupIntoMultis[] + Multi> grouped = Multi.createFrom().range(0, 7) + .group().intoMultis().of(2); // Group every 2 items into a Multi + + // Process each Multi independently - for example, join each group + Multi sums = grouped + .onItem().transformToUniAndConcatenate(multi -> + multi.collect().asList() + .onItem().transform(couple -> couple.stream() + .map(Objects::toString) + .collect(Collectors.joining("-")))); + + List results = sums.collect().asList().await().indefinitely(); + assertThat(results).containsExactly("0-1", "2-3", "4-5", "6"); + // end::groupIntoMultis[] + } + + @Test + public void timeBasedGrouping() { + // tag::timeBasedGrouping[] + Multi> timeWindows = Multi.createFrom() + .ticks().every(Duration.ofMillis(10)) + .group().intoMultis().every(Duration.ofMillis(100)); + + // Each Multi contains items emitted within a 100ms window + // end::timeBasedGrouping[] + } + + @Test + public void groupByKey() { + // tag::groupByKey[] + Multi> groups = Multi.createFrom().range(1, 10) + .group().by(i -> i % 3); // Group by modulo 3 + + // Process each group separately + Uni> result = groups + .onItem().transformToUniAndConcatenate(group -> + group.onItem().transform(Objects::toString) + .collect().asList() + .onItem().transform(l -> group.key() + "(" + String.join(",", l) + ")")) + .collect().asList(); + + List lists = result.await().indefinitely(); + assertThat(lists).containsExactly("1(1,4,7)", "2(2,5,8)", "0(3,6,9)"); + // end::groupByKey[] + } + + @Test + public void groupByKeyAndValue() { + // tag::groupByKeyAndValue[] + Multi> groups = Multi.createFrom().range(1, 10) + .group().by( + i -> i % 2 == 0, // Key: true for even, false for odd + i -> "Number: " + i // Value: transform to string + ); + + Uni>> result = groups + .onItem().transformToUniAndMerge(group -> + group.collect().asList() + ) + .collect().asList(); + + List> lists = result.await().indefinitely(); + assertThat(lists).hasSize(2); + // end::groupByKeyAndValue[] + } + + @Test + public void groupByWithMerge() { + // tag::groupByWithMerge[] + Multi results = Multi.createFrom().range(1, 100) + .group().by(i -> i % 10) // Create 10 groups (0-9) + .onItem().transformToMulti( + group -> group.onItem().transform(i -> "Group " + group.key() + ": " + i) + ) + .merge(10); // Set concurrency to at least the number of groups + + List items = results.collect().asList().await().indefinitely(); + assertThat(items).hasSize(99); + // end::groupByWithMerge[] + } + + @Test + public void groupByDeadlockExample() { + // tag::groupByDeadlock[] + // Creating 10 groups but limiting concurrency to only 2 + Multi dangerous = Multi.createFrom().ticks().every(Duration.ofMillis(10)) + .group().by(i -> i % 10) // Creates 10 groups + .onItem().transformToMulti( + group -> group.onItem().transform(i -> "Group " + group.key() + ": " + i) + ) + .merge(2); // Only 2 groups can be processed concurrently + + // This may hang because groups 3-10 cannot make progress + // while waiting for groups 1-2 to complete + AssertSubscriber sub = dangerous.subscribe() + .withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + sub.awaitFailure(t -> assertThat(t).isInstanceOf(BackPressureFailure.class)); + // end::groupByDeadlock[] + } + + @Test + public void groupByWithConcatenate() { + // tag::groupByWithConcatenate[] + // Safe alternative: use concatenate to process groups sequentially + Multi safe = Multi.createFrom().range(1, 100) + .invoke(i -> System.out.println("emit " + i)) + .group().by(i -> i % 10) + .onItem().transformToMultiAndConcatenate( + group -> group.onItem().transform(i -> "Group " + group.key() + ": " + i) + .invoke(i -> System.out.println("group " + i)) + ); + // Groups are processed one at a time, so no deadlock + + List items = safe.collect().asList().await().indefinitely(); + assertThat(items).hasSize(99); + // end::groupByWithConcatenate[] + } + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/MergeConcatTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/MergeConcatTest.java new file mode 100644 index 000000000..580404e7e --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/MergeConcatTest.java @@ -0,0 +1,119 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import org.awaitility.Awaitility; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.List; +import java.util.Random; +import java.util.concurrent.CopyOnWriteArrayList; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({ "unchecked", "Convert2MethodRef" }) +@ExtendWith(SystemOutCaptureExtension.class) +public class MergeConcatTest { + + private final Random random = new Random(); + + @Test + public void testMerge() { + // tag::merge[] + Multi multi1 = getFirstMulti(); + Multi multi2 = getSecondMulti(); + + Multi merged = Multi.createBy().merging().streams(multi1, multi2); + // end::merge[] + + List received = new CopyOnWriteArrayList<>(); + merged.subscribe().with(received::add); + await().until(() -> received.size() == 9); + assertThat(received).contains(1, 2, 3, 4, 5, 6, 7, 8, 9); + } + + @Test + public void testConcat() { + // tag::concat[] + Multi multi1 = getFirstMulti(); + Multi multi2 = getSecondMulti(); + + Multi concatenated = Multi.createBy().concatenating().streams(multi1, multi2); + // end::concat[] + + List received = new CopyOnWriteArrayList<>(); + concatenated.subscribe().with(received::add); + await().until(() -> received.size() == 9); + assertThat(received).containsExactly(1, 2, 3, 4, 5, 6, 7, 8, 9); + } + + @Test + public void testMergeTicks(SystemOut out) { + // tag::merge-ticks[] + Multi first = Multi.createFrom().ticks().every(Duration.ofMillis(10)) + .onItem().transform(l -> "Stream 1 - " + l); + + Multi second = Multi.createFrom().ticks().every(Duration.ofMillis(15)) + .onItem().transform(l -> "Stream 2 - " + l); + + Multi third = Multi.createFrom().ticks().every(Duration.ofMillis(5)) + .onItem().transform(l -> "Stream 3 - " + l); + + Cancellable cancellable = Multi.createBy().merging().streams(first, second, third) + .subscribe().with(s -> System.out.println("Got item: " + s)); + // end::merge-ticks[] + + await().until(() -> out.get().contains("Got item: Stream 3 - 10")); + cancellable.cancel(); + } + + @Test + public void testConcatenateStrings(SystemOut out) { + // tag::concatenate-strings[] + Multi first = Multi.createFrom().items("A1", "A2", "A3"); + Multi second = Multi.createFrom().items("B1", "B2", "B3"); + + Multi.createBy().concatenating().streams(first, second) + .subscribe().with(item -> System.out.print(item)); // "A1A2A3B1B2B3" + + Multi.createBy().concatenating().streams(second, first) + .subscribe().with(item -> System.out.print(item)); // "B1B2B3A1A2A3" + // end::concatenate-strings[] + + await().until(() -> out.get().contains("A1A2A3B1B2B3")); + await().until(() -> out.get().contains("B1B2B3A1A2A3")); + + assertThat( + Multi.createBy().concatenating().streams(first, second) + .collect().in(StringBuffer::new, StringBuffer::append) + .await().indefinitely() + ).isEqualToIgnoringCase("A1A2A3B1B2B3"); + + assertThat( + Multi.createBy().concatenating().streams(second, first) + .collect().in(StringBuffer::new, StringBuffer::append) + .await().indefinitely() + ).isEqualToIgnoringCase("B1B2B3A1A2A3"); + + } + + private Multi getFirstMulti() { + return Multi.createFrom().items(1, 2, 3, 4, 5, 6) + .onItem().call(() -> Uni.createFrom().nullItem().onItem().delayIt() + .by(Duration.ofMillis(random.nextInt(100) + 1))) + .onItem().transform(i -> (T) i); + } + + private Multi getSecondMulti() { + return Multi.createFrom().items(7, 8, 9) + .onItem().call(() -> Uni.createFrom().nullItem().onItem().delayIt() + .by(Duration.ofMillis(random.nextInt(100) + 1))) + .onItem().transform(i -> (T) i); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PaginationTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PaginationTest.java new file mode 100644 index 000000000..e032de2a6 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PaginationTest.java @@ -0,0 +1,97 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import org.junit.jupiter.api.Test; + +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; + +public class PaginationTest { + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test() { + // tag::code[] + PaginatedApi api = new PaginatedApi(); + + Multi stream = Multi.createBy().repeating() + .completionStage( + () -> new AtomicInteger(), + state -> api.getPage(state.getAndIncrement())) + .until(list -> list.isEmpty()) + .onItem().disjoint(); + // end::code[] + stream.subscribe().withSubscriber(AssertSubscriber.create(10)) + .assertCompleted() + .assertItems("a", "b", "c", "d", "e", "f", "g", "h"); + + } + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test2() { + // tag::code2[] + PaginatedApi api = new PaginatedApi(); + + Multi stream = Multi.createBy().repeating() + .uni( + () -> new AtomicInteger(), + state -> api.retrieve(state.getAndIncrement())) + .whilst(page -> page.hasNext()); + // end::code2[] + AssertSubscriber subscriber = stream.subscribe() + .withSubscriber(AssertSubscriber.create(10)) + .assertCompleted(); + + assertThat(subscriber.getItems()).hasSize(3); + + } + + private static class Page { + final boolean hasNext; + + private Page(boolean hasNext) { + this.hasNext = hasNext; + } + + public boolean hasNext() { + return hasNext; + } + } + + + private class PaginatedApi { + + Map> pages = new LinkedHashMap<>(); + + public PaginatedApi() { + pages.put(0, Arrays.asList("a", "b", "c")); + pages.put(1, Arrays.asList("d", "e", "f")); + pages.put(2, Arrays.asList("g", "h")); + pages.put(3, Collections.emptyList()); + } + + CompletionStage> getPage(int page) { + List strings = pages.get(page); + if (strings == null) { + strings = Collections.emptyList(); + } + return CompletableFuture.completedFuture(strings); + } + + + Uni retrieve(int page) { + if (page == 2) { + return Uni.createFrom().item(new Page(false)); + } + return Uni.createFrom().item(new Page(true)); + } + } + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PausingDemandTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PausingDemandTest.java new file mode 100644 index 000000000..9f27d3dd1 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PausingDemandTest.java @@ -0,0 +1,267 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.subscription.BackPressureStrategy; +import io.smallrye.mutiny.subscription.DemandPauser; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + +class PausingDemandTest { + + @Test + void basicPausing() { + // tag::basic[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = AssertSubscriber.create(); + Multi.createFrom().range(0, 100) + .pauseDemand().using(pauser) + // Throttle the multi + .onItem().call(i -> Uni.createFrom().nullItem() + .onItem().delayIt().by(Duration.ofMillis(10))) + .subscribe().withSubscriber(sub); + + // Unbounded request + sub.request(Long.MAX_VALUE); + // Wait for some items + await().untilAsserted(() -> assertThat(sub.getItems()).hasSizeGreaterThan(10)); + + // Pause the stream + pauser.pause(); + assertThat(pauser.isPaused()).isTrue(); + + int sizeWhenPaused = sub.getItems().size(); + + // Wait - no new items should arrive (except a few in-flight) + await().pollDelay(Duration.ofMillis(100)).until(() -> true); + assertThat(sub.getItems()).hasSizeLessThanOrEqualTo(sizeWhenPaused + 5); + + // Resume the stream + pauser.resume(); + assertThat(pauser.isPaused()).isFalse(); + + // All items eventually arrive + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(100); + // end::basic[] + } + + @Test + void initiallyPaused() { + // tag::initially-paused[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = Multi.createFrom().range(0, 50) + .pauseDemand() + .paused(true) // Start paused + .using(pauser) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // No items arrive while paused + await().pollDelay(Duration.ofMillis(100)).until(() -> true); + assertThat(sub.getItems()).isEmpty(); + assertThat(pauser.isPaused()).isTrue(); + + // Resume to start receiving items + pauser.resume(); + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(50); + // end::initially-paused[] + } + + @Test + void lateSubscription() { + // tag::late-subscription[] + DemandPauser pauser = new DemandPauser(); + AtomicBoolean subscribed = new AtomicBoolean(false); + + AssertSubscriber sub = Multi.createFrom().range(0, 50) + .onSubscription().invoke(() -> subscribed.set(true)) + .pauseDemand() + .paused(true) // Start paused + .lateSubscription(true) // Delay subscription until resumed + .using(pauser) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // Stream is not subscribed yet + await().pollDelay(Duration.ofMillis(100)).until(() -> true); + assertThat(subscribed.get()).isFalse(); + assertThat(sub.getItems()).isEmpty(); + + // Resume triggers subscription and item flow + pauser.resume(); + await().untilAsserted(() -> assertThat(subscribed.get()).isTrue()); + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(50); + // end::late-subscription[] + } + + @Test + void bufferStrategy() { + // tag::buffer-strategy[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = AssertSubscriber.create(Long.MAX_VALUE); + + Multi.createFrom().ticks().every(Duration.ofMillis(10)) + .select().first(100) + .pauseDemand() + .bufferStrategy(BackPressureStrategy.BUFFER) + .bufferSize(20) // Buffer up to 20 items + .using(pauser) + .subscribe().withSubscriber(sub); + + // Wait for some items + await().untilAsserted(() -> assertThat(sub.getItems()).hasSizeGreaterThan(5)); + + // Pause - items buffer up to the limit + pauser.pause(); + + // Wait for buffer to fill + await().pollDelay(Duration.ofMillis(100)) + .untilAsserted(() -> assertThat(pauser.bufferSize()).isGreaterThan(0)); + + // Buffer size is capped + assertThat(pauser.bufferSize()).isLessThanOrEqualTo(20); + + // Resume drains the buffer + pauser.resume(); + await().untilAsserted(() -> assertThat(pauser.bufferSize()).isEqualTo(0)); + // end::buffer-strategy[] + } + + @Test + void dropStrategy() { + // tag::drop-strategy[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = Multi.createFrom().ticks().every(Duration.ofMillis(5)) + .select().first(200) + .pauseDemand() + .bufferStrategy(BackPressureStrategy.DROP) // Drop items while paused + .using(pauser) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // Wait for some items + await().untilAsserted(() -> assertThat(sub.getItems()).hasSizeGreaterThan(20)); + + // Pause - subsequent items are dropped + pauser.pause(); + int sizeWhenPaused = sub.getItems().size(); + + // Wait while items are dropped + await().pollDelay(Duration.ofMillis(200)).until(() -> true); + + // Resume - continue from current position + pauser.resume(); + await().atMost(Duration.ofSeconds(3)) + .untilAsserted(() -> assertThat(sub.getItems().size()).isGreaterThan(sizeWhenPaused + 20)); + + sub.awaitCompletion(); + // Not all items arrived (some were dropped) + assertThat(sub.getItems()).hasSizeLessThan(200); + // end::drop-strategy[] + } + + @Test + void bufferManagement() { + // tag::buffer-management[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = Multi.createFrom().ticks().every(Duration.ofMillis(10)) + .select().first(100) + .pauseDemand() + .bufferStrategy(BackPressureStrategy.BUFFER) + .bufferUnconditionally() // Unbounded buffer + .using(pauser) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // Wait for some items + await().untilAsserted(() -> assertThat(sub.getItems()).hasSizeGreaterThan(5)); + + // Pause and let buffer fill + pauser.pause(); + await().pollDelay(Duration.ofMillis(100)) + .untilAsserted(() -> assertThat(pauser.bufferSize()).isGreaterThan(0)); + + int bufferSize = pauser.bufferSize(); + assertThat(bufferSize).isGreaterThan(0); + + // Clear the buffer + boolean cleared = pauser.clearBuffer(); + assertThat(cleared).isTrue(); + assertThat(pauser.bufferSize()).isEqualTo(0); + + // Resume - items continue from current position (cleared items are lost) + pauser.resume(); + // end::buffer-management[] + } + + @Test + void externalControl() { + // + DemandPauser pauser = new DemandPauser(); + + // Create and transform the stream + Multi stream = Multi.createFrom().range(0, 1000) + .pauseDemand().using(pauser) + .onItem().transform(i -> "Item-" + i) + .onItem().transform(String::toUpperCase); + + // Control the stream from anywhere + pauser.pause(); + + // Later, subscribe to the stream + AssertSubscriber sub = stream + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // No items while paused + await().pollDelay(Duration.ofMillis(100)).until(() -> true); + assertThat(sub.getItems()).isEmpty(); + + // Resume to receive items + pauser.resume(); + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(1000); + // + } + + @Test + void conditionalFlow() { + // + DemandPauser pauser = new DemandPauser(); + AtomicInteger errorCount = new AtomicInteger(0); + + AssertSubscriber sub = Multi.createFrom().range(0, 100) + .pauseDemand().using(pauser) + .onItem().invoke(item -> { + // Simulate error-prone processing + if (item % 20 == 0 && item > 0) { + errorCount.incrementAndGet(); + pauser.pause(); // Pause on errors + } + }) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // Stream pauses when errors occur + await().untilAsserted(() -> assertThat(errorCount.get()).isGreaterThan(0)); + await().untilAsserted(() -> assertThat(pauser.isPaused()).isTrue()); + + // Handle the error, then resume + errorCount.set(0); + pauser.resume(); + + // Stream continues + await().pollDelay(Duration.ofMillis(50)).until(() -> true); + assertThat(sub.getItems().size()).isGreaterThan(20); + // + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PollableSourceTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PollableSourceTest.java new file mode 100644 index 000000000..d5b10e736 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/PollableSourceTest.java @@ -0,0 +1,84 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.awaitility.Awaitility.await; + +@ExtendWith(SystemOutCaptureExtension.class) +public class PollableSourceTest { + + private final ExecutorService executor = Executors.newSingleThreadExecutor(); + + @Test + public void test(SystemOut out) { // NOSONAR + // tag::code[] + PollableDataSource source = new PollableDataSource(); + // First creates a uni that emit the polled item. + // Because `poll` blocks, let's use a specific executor + Uni pollItemFromSource = Uni.createFrom().item(source::poll) + .runSubscriptionOn(executor); + // To get the stream of items, just repeat the uni indefinitely + Multi stream = pollItemFromSource.repeat().indefinitely(); + + Cancellable cancellable = stream.subscribe().with(item -> System.out.println("Polled item: " + item)); + // end::code[] + await().until(() -> source.counter.get() >= 4); + // tag::code[] + // ... later .. + // when you don't want the items anymore, cancel the subscription and close the source if needed. + cancellable.cancel(); + source.close(); + // end::code[] + } + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test2(SystemOut out) { // NOSONAR + // tag::code2[] + PollableDataSource source = new PollableDataSource(); + Multi stream = Multi.createBy().repeating() + .supplier(source::poll) + .until(s -> s == null) + .runSubscriptionOn(executor); + + stream.subscribe().with(item -> System.out.println("Polled item: " + item)); + // end::code2[] + await().until(() -> source.counter.get() >= 5); + } + + private static class PollableDataSource { + + private final AtomicInteger counter = new AtomicInteger(); + + String poll() { + block(); + if (counter.get() == 5) { + return null; + } + return Integer.toString(counter.getAndIncrement()); + } + + private void block() { + try { + Thread.sleep(100); // NOSONAR + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + + public void close() { + // do nothing. + } + } + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/RepetitionsTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/RepetitionsTest.java new file mode 100644 index 000000000..c32dcf760 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/RepetitionsTest.java @@ -0,0 +1,31 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class RepetitionsTest { + + @Test + public void distinct() { + Multi multi = Multi.createFrom().items(1, 1, 2, 3, 4, 5, 5, 6, 1, 4, 4); + // tag::distinct[] + List list = multi + .select().distinct() + .collect().asList() + .await().indefinitely(); + // end::distinct[] + + // tag::repetition[] + List list2 = multi + .skip().repetitions() + .collect().asList() + .await().indefinitely(); + // end::repetition[] + assertThat(list).containsExactly(1, 2, 3, 4, 5, 6); + assertThat(list2).containsExactly(1, 2, 3, 4, 5, 6, 1, 4); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/ReplayTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/ReplayTest.java new file mode 100644 index 000000000..268421678 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/ReplayTest.java @@ -0,0 +1,82 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ReplayTest { + + @Test + public void replayAll() { + // tag::replay-all[] + Multi upstream = Multi.createFrom().range(0, 10); + + Multi replay = Multi.createBy().replaying().ofMulti(upstream); + + List items_1 = replay.collect().asList().await().indefinitely(); + List items_2 = replay.collect().asList().await().indefinitely(); + // end::replay-all[] + + assertThat(items_1) + .isEqualTo(items_2) + .hasSize(10); + System.out.println(items_1); + } + + @Test + public void replayLast() { + // tag::replay-last[] + Multi upstream = Multi.createFrom().range(0, 10); + + Multi replay = Multi.createBy().replaying().upTo(3).ofMulti(upstream); + + List items_1 = replay.collect().asList().await().indefinitely(); + List items_2 = replay.collect().asList().await().indefinitely(); + // end::replay-last[] + + assertThat(items_1) + .isEqualTo(items_2) + .hasSize(3); + System.out.println(items_1); + } + + @Test + public void replayWithSeed() { + // tag::replay-seed[] + Multi upstream = Multi.createFrom().range(0, 10); + Iterable seed = Arrays.asList(-10, -5, -1); + + Multi replay = Multi.createBy().replaying().ofSeedAndMulti(seed, upstream); + + List items_1 = replay.collect().asList().await().indefinitely(); + List items_2 = replay.collect().asList().await().indefinitely(); + // end::replay-seed[] + + assertThat(items_1) + .isEqualTo(items_2) + .hasSize(13); + System.out.println(items_1); + } + + @Test + public void errors() { + // tag::replay-errors[] + Multi upstream = Multi.createBy().concatenating().streams( + Multi.createFrom().range(0, 10), + Multi.createFrom().failure(() -> new IOException("boom")) + ); + + Multi replay = Multi.createBy().replaying().upTo(3).ofMulti(upstream); + + replay.subscribe().with( + n -> System.out.println(" -> " + n), + failure -> System.out.println("Failed: " + failure.getMessage()), + () -> System.out.println("Completed")); + // end::replay-errors[] + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/RunSubscriptionOnTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/RunSubscriptionOnTest.java new file mode 100644 index 000000000..fbe4d38bf --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/RunSubscriptionOnTest.java @@ -0,0 +1,67 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.Executor; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Stream; + +import static org.awaitility.Awaitility.await; +import static org.hamcrest.CoreMatchers.is; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class RunSubscriptionOnTest { + + @Test + public void testRunSubscriptionOn(SystemOut out) { + Executor executor = Infrastructure.getDefaultExecutor(); + AtomicBoolean completed = new AtomicBoolean(); + //tag::runSubscriptionOn[] + Multi.createFrom().items(() -> { + // called on a thread from the executor + return retrieveItemsFromSource(); + }) + .onItem().transform(this::applySomeOperation) + .runSubscriptionOn(executor) + .subscribe().with( + item -> System.out.println("Item: " + item), + Throwable::printStackTrace, + () -> completed.set(true) + ); + //end::runSubscriptionOn[] + + await().untilAtomic(completed, is(true)); + } + + @Test + public void testEmitOn(SystemOut out) { + Executor executor = Infrastructure.getDefaultExecutor(); + AtomicBoolean completed = new AtomicBoolean(); + //tag::emitOn[] + Multi.createFrom().items(this::retrieveItemsFromSource) + .emitOn(executor) + .onItem().transform(this::applySomeOperation) + .subscribe().with( + item -> System.out.println("Item: " + item), + Throwable::printStackTrace, + () -> completed.set(true) + ); + //end::emitOn[] + + await().untilAtomic(completed, is(true)); + } + + public String applySomeOperation(String s) { + return s.toUpperCase(); + } + + public Stream retrieveItemsFromSource() { + return Stream.of("a", "b", "c"); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/SelectAndSkipTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/SelectAndSkipTest.java new file mode 100644 index 000000000..a8ffa4508 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/SelectAndSkipTest.java @@ -0,0 +1,65 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThat; + +public class SelectAndSkipTest { + + @Test + public void testSelect() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5, 6, 7, 8, 9); + + // tag::take-first[] + Multi firstThreeItems = multi.select().first(3); + // end::take-first[] + + // tag::take-last[] + Multi lastThreeItems = multi.select().last(3); + // end::take-last[] + + // tag::take-while[] + Multi takeWhile = multi.select().first(i -> i < 4); + // end::take-while[] + + // tag::take-for[] + Multi takeForDuration = multi.select().first(Duration.ofSeconds(1)); + // end::take-for[] + + assertThat(firstThreeItems.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + assertThat(takeWhile.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + assertThat(lastThreeItems.collect().asList().await().indefinitely()).containsExactly(7, 8, 9); + assertThat(takeForDuration.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5, 6, 7, 8, 9); + + } + + @Test + public void testSkip() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5, 6, 7, 8, 9); + + // tag::skip-first[] + Multi skipThreeItems = multi.skip().first(3); + // end::skip-first[] + + // tag::skip-last[] + Multi skipLastThreeItems = multi.skip().last(3); + // end::skip-last[] + + // tag::skip-while[] + Multi skipWhile = multi.skip().first(i -> i < 4); + // end::skip-while[] + + // tag::skip-for[] + Multi skipForDuration = multi.skip().first(Duration.ofSeconds(1)); + // end::skip-for[] + + assertThat(skipThreeItems.collect().asList().await().indefinitely()).containsExactly(4, 5, 6, 7, 8, 9); + assertThat(skipLastThreeItems.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4 ,5, 6); + assertThat(skipWhile.collect().asList().await().indefinitely()).containsExactly(4, 5, 6, 7, 8, 9); + assertThat(skipForDuration.collect().asList().await().indefinitely()).isEmpty(); + + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/SplitTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/SplitTest.java new file mode 100644 index 000000000..bf2855bb9 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/SplitTest.java @@ -0,0 +1,45 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +public class SplitTest { + + // tag::enum[] + enum Signals { + INPUT, + OUTPUT, + OTHER + } + // end::enum[] + + @Test + public void splitDemo() { + // tag::splits[] + Multi multi = Multi.createFrom().items( + "!a", "?b", "!c", "!d", "123", "?e" + ); + + var splitter = multi.split(Signals.class, s -> { + if (s.startsWith("?")) { + return Signals.INPUT; + } else if (s.startsWith("!")) { + return Signals.OUTPUT; + } else { + return Signals.OTHER; + } + }); + + splitter.get(Signals.INPUT) + .onItem().transform(s -> s.substring(1)) + .subscribe().with(signal -> System.out.println("input - " + signal)); + + splitter.get(Signals.OUTPUT) + .onItem().transform(s -> s.substring(1)) + .subscribe().with(signal -> System.out.println("output - " + signal)); + + splitter.get(Signals.OTHER) + .subscribe().with(signal -> System.out.println("other - " + signal)); + // end::splits[] + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/UniJoinTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/UniJoinTest.java new file mode 100644 index 000000000..a02897084 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/UniJoinTest.java @@ -0,0 +1,54 @@ +package guides.operators; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.groups.UniJoin; +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.List; +import java.util.function.Supplier; + +class UniJoinTest { + + @Test + void joinAll() { + // tag::join-all[] + Uni a = Uni.createFrom().item(1); + Uni b = Uni.createFrom().item(2); + Uni c = Uni.createFrom().item(3); + + Uni> res = Uni.join().all(a, b, c).andCollectFailures(); + // end::join-all[] + + // tag::join-all-ff[] + res = Uni.join().all(a, b, c).andFailFast(); + // end::join-all-ff[] + } + + void joinFirst(Uni a, Uni b, Uni c) { + + // tag::join-first[] + Uni res = Uni.join().first(a, b, c).toTerminate(); + // end::join-first[] + + // tag::join-first-withitem[] + res = Uni.join().first(a, b, c).withItem(); + // end::join-first-withitem[] + + Supplier> supplier = () -> Uni.createFrom().item(63); + boolean someCondition = false; + + // tag::builder[] + UniJoin.Builder builder = Uni.join().builder(); + + while (someCondition) { + Uni uni = supplier.get(); + builder.add(uni); + } + + Uni> all = builder.joinAll().andFailFast(); + + Uni first = builder.joinFirst().withItem(); + // end::builder[] + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/UnicastProcessorTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/UnicastProcessorTest.java new file mode 100644 index 000000000..237b59345 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/operators/UnicastProcessorTest.java @@ -0,0 +1,34 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.operators.multi.processors.UnicastProcessor; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class UnicastProcessorTest { + + @Test + public void test() { + // tag::code[] + UnicastProcessor processor = UnicastProcessor.create(); + Multi multi = processor + .onItem().transform(String::toUpperCase) + .onFailure().recoverWithItem("d'oh"); + + // Create a source of items that does not follow the request protocol + new Thread(() -> { + for (int i = 0; i < 1000; i++) { + processor.onNext(Integer.toString(i)); + } + processor.onComplete(); + }).start(); + + // end::code[] + AssertSubscriber subscriber = AssertSubscriber.create(Long.MAX_VALUE); + multi.subscribe().withSubscriber(subscriber) + .awaitCompletion() + .run(() -> assertThat(subscriber.getItems()).hasSize(1000)); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/guides/reference/PitfallsTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/guides/reference/PitfallsTest.java new file mode 100644 index 000000000..1db116a84 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/guides/reference/PitfallsTest.java @@ -0,0 +1,64 @@ +package guides.reference; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; + +public class PitfallsTest { + + private Uni fetch(String id) { + return Uni.createFrom().item("Yolo"); + } + + @Test + public void noMagicScheduling() { + // tag::noMagicJoin[] + Uni> data = Uni.join().all( + fetch("abc"), + fetch("def"), + fetch("123")).andFailFast(); + // end::noMagicJoin[] + } + + @Test + public void inMemoryData() { + // tag::inMemoryData[] + Uni uni = Uni.createFrom().item(123); + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5); + // end::inMemoryData[] + } + + private List obtainValues(String key) { + return List.of(); + } + + // tag::suspiciousPublisher[] + public Multi fetchData(String key) { + List strings = obtainValues(key); + return Multi.createFrom().iterable(strings); + } + // end::suspiciousPublisher[] + + private Multi streamData(String key) { + return Multi.createFrom().items(""); + } + + private Multi extractData(String line) { + return Multi.createFrom().items(""); + } + + private Multi flatmap() { + // tag::flatmap-ism[] + Multi stream = streamData("abc"); + return stream.onItem().transformToMultiAndMerge(line -> { + if (line.trim().length() > 10) { + return extractData(line); + } else { + return Multi.createFrom().item("[N/A]"); + } + }); + // end::flatmap-ism[] + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/CreatingMultiTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/CreatingMultiTest.java new file mode 100644 index 000000000..b2c5e621a --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/CreatingMultiTest.java @@ -0,0 +1,134 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.BlockingIterable; +import io.smallrye.mutiny.subscription.Cancellable; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.Arrays; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.IntStream; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({"Convert2MethodRef"}) +@ExtendWith(SystemOutCaptureExtension.class) +public class CreatingMultiTest { + + @Test + void pipeline(SystemOut out) { + // tag::pipeline[] + Multi.createFrom().items(1, 2, 3, 4, 5) + .onItem().transform(i -> i * 2) + .select().first(3) + .onFailure().recoverWithItem(0) + .subscribe().with(System.out::println); + // end::pipeline[] + assertThat(out.get()).contains("2", "4", "6"); + } + + @Test + void subscription(SystemOut out) { + Multi multi = Multi.createFrom().item(1); + // tag::subscription[] + Cancellable cancellable = multi + .subscribe().with( + item -> System.out.println(item), + failure -> System.out.println("Failed with " + failure), + () -> System.out.println("Completed")); + // end::subscription[] + assertThat(cancellable).isNotNull(); + assertThat(out.get()).contains("1", "Completed").doesNotContain("Failed"); + } + + @Test + public void creation() { + { + // tag::simple[] + Multi multiFromItems = Multi.createFrom().items(1, 2, 3, 4); + Multi multiFromIterable = Multi.createFrom().iterable(Arrays.asList(1, 2, 3, 4, 5)); + // end::simple[] + assertThat(multiFromItems.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4); + assertThat(multiFromIterable.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5); + } + + { + // tag::supplier[] + AtomicInteger counter = new AtomicInteger(); + Multi multi = Multi.createFrom().items(() -> + IntStream.range(counter.getAndIncrement(), counter.get() * 2).boxed()); + // end::supplier[] + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(0, 1); + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(2, 3, 4, 5); + } + + { + // tag::failed[] + // Pass an exception directly: + Multi failed1 = Multi.createFrom().failure(new Exception("boom")); + + // Pass a supplier called for every subscriber: + Multi failed2 = Multi.createFrom().failure(() -> new Exception("boom")); + // end::failed[] + + assertThatThrownBy(() -> failed1.toUni().await().indefinitely()) + .hasMessageContaining("boom"); + assertThatThrownBy(() -> failed2.toUni().await().indefinitely()) + .hasMessageContaining("boom"); + + } + + { + // tag::empty[] + Multi multi = Multi.createFrom().empty(); + // end::empty[] + assertThat(multi.toUni().await().indefinitely()).isNull(); + } + + { + // tag::emitter[] + Multi multi = Multi.createFrom().emitter(em -> { + em.emit(1); + em.emit(2); + em.emit(3); + em.complete(); + }); + // end::emitter[] + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + } + + { + // tag::ticks[] + Multi ticks = Multi.createFrom().ticks().every(Duration.ofMillis(100)); + // end::ticks[] + BlockingIterable longs = ticks + .select().first(3) + .subscribe().asIterable(); + await().until(() -> longs.stream().count() == 3); + } + + { + // tag::generator[] + Multi sequence = Multi.createFrom().generator(() -> 1, (n, emitter) -> { + int next = n + (n / 2) + 1; + if (n < 50) { + emitter.emit(next); + + } else { + emitter.complete(); + } + return next; + }); + // end::generator[] + assertThat(sequence.collect().asList().await().indefinitely()).containsExactly(2, 4, 7, 11, 17, 26, 40, 61); + } + } + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/CreatingUniTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/CreatingUniTest.java new file mode 100644 index 000000000..157e621ee --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/CreatingUniTest.java @@ -0,0 +1,111 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({ "ConstantConditions", "Convert2MethodRef" }) +@ExtendWith(SystemOutCaptureExtension.class) +public class CreatingUniTest { + + @Test + void pipeline(SystemOut out) { + // tag::pipeline[] + Uni.createFrom().item(1) + .onItem().transform(i -> "hello-" + i) + .onItem().delayIt().by(Duration.ofMillis(100)) + .subscribe().with(System.out::println); + // end::pipeline[] + await().untilAsserted(() -> + assertThat(out.get()).contains("hello-1") + ); + } + + @Test + void subscription(SystemOut out) { + Uni uni = Uni.createFrom().item(1); + // tag::subscription[] + Cancellable cancellable = uni + .subscribe().with( + item -> System.out.println(item), + failure -> System.out.println("Failed with " + failure)); + // end::subscription[] + assertThat(cancellable).isNotNull(); + assertThat(out.get()).contains("1").doesNotContain("Failed"); + } + + @Test + public void creation() { + { + // tag::simple[] + Uni uni = Uni.createFrom().item(1); + // end::simple[] + assertThat(uni.await().indefinitely()).isEqualTo(1); + } + + { + // tag::supplier[] + AtomicInteger counter = new AtomicInteger(); + Uni uni = Uni.createFrom().item(() -> counter.getAndIncrement()); + // end::supplier[] + assertThat(uni.await().indefinitely()).isEqualTo(0); + assertThat(uni.await().indefinitely()).isEqualTo(1); + assertThat(uni.await().indefinitely()).isEqualTo(2); + } + + { + // tag::failed[] + // Pass an exception directly: + Uni failed1 = Uni.createFrom().failure(new Exception("boom")); + + // Pass a supplier called for every subscriber: + Uni failed2 = Uni.createFrom().failure(() -> new Exception("boom")); + // end::failed[] + + assertThatThrownBy(() -> failed1.await().indefinitely()) + .hasMessageContaining("boom"); + assertThatThrownBy(() -> failed2.await().indefinitely()) + .hasMessageContaining("boom"); + + } + + { + // tag::null[] + Uni uni = Uni.createFrom().nullItem(); + // end::null[] + assertThat(uni.await().indefinitely()).isNull(); + } + + { + String result = "hello"; + // tag::emitter[] + Uni uni = Uni.createFrom().emitter(em -> { + // When the result is available, emit it + em.complete(result); + }); + // end::emitter[] + assertThat(uni.await().indefinitely()).isEqualTo("hello"); + } + + { + CompletionStage stage = CompletableFuture.completedFuture("hello"); + // tag::cs[] + Uni uni = Uni.createFrom().completionStage(stage); + // end::cs[] + assertThat(uni.await().indefinitely()).isEqualTo("hello"); + } + } + +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/HandlingFailuresTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/HandlingFailuresTest.java new file mode 100644 index 000000000..15d8e3f1d --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/HandlingFailuresTest.java @@ -0,0 +1,105 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class HandlingFailuresTest { + + @Test + public void testInvoke(SystemOut out) { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::invoke[] + Uni u = uni + .onFailure().invoke(failure -> log(failure)); + + Multi m = multi + .onFailure().invoke(failure -> log(failure)); + // end::invoke[] + assertThatThrownBy(() -> u.await().indefinitely()).hasMessageContaining("boom"); + assertThatThrownBy(() -> m.collect().asList() + .await().indefinitely()).hasMessageContaining("boom"); + assertThat(out.get()).contains("boom"); + } + + @Test + public void testTransform(SystemOut out) { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::transform[] + Uni u = uni + .onFailure().transform(failure -> + new ServiceUnavailableException(failure)); + // end::transform[] + assertThatThrownBy(() -> u.await().indefinitely()) + .hasCauseExactlyInstanceOf(ServiceUnavailableException.class); + } + + @Test + public void testRecoverWithItem() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::recover-item[] + Uni u1 = uni + .onFailure().recoverWithItem("hello"); + + Uni u2 = uni + .onFailure().recoverWithItem(f -> getFallback(f)); + // end::recover-item[] + assertThat(u1.await().indefinitely()).isEqualTo("hello"); + assertThat(u2.await().indefinitely()).isEqualTo("hey"); + } + + @Test + public void testCompletionOnFailure() { + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::recover-completion[] + Multi m = multi + .onFailure().recoverWithCompletion(); + // end::recover-completion[] + assertThat(m.collect().asList().await().indefinitely()).isEmpty(); + } + + @Test + public void testSwitch() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::recover-switch[] + Uni u = uni + .onFailure().recoverWithUni(f -> getFallbackUni(f)); + + Multi m = multi + .onFailure().recoverWithMulti(f -> getFallbackMulti(f)); + // end::recover-switch[] + assertThat(u.await().indefinitely()).isEqualTo("hello"); + assertThat(m.collect().asList().await().indefinitely()).containsExactly("hey"); + } + + private Multi getFallbackMulti(Throwable f) { + return Multi.createFrom().item("hey"); + } + + private Uni getFallbackUni(Throwable f) { + return Uni.createFrom().item("hello"); + } + + private String getFallback(Throwable f) { + return "hey"; + } + + private void log(Throwable failure) { + System.out.println(failure.getMessage()); + } + + private static class ServiceUnavailableException extends Throwable { + public ServiceUnavailableException(Throwable ignored) { + } + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/ObserveTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/ObserveTest.java new file mode 100644 index 000000000..c32774f81 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/ObserveTest.java @@ -0,0 +1,65 @@ +package tutorials; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.time.Duration; + +public class ObserveTest { + + @Test + public void test() { + Uni uni = Uni.createFrom().item("hello"); + Multi multi = Multi.createFrom().items("a", "b", "c"); + // tag::invoke[] + Uni u = uni.onItem() + .invoke(i -> System.out.println("Received item: " + i)); + + Multi m = multi.onItem() + .invoke(i -> System.out.println("Received item: " + i)); + // end::invoke[] + + // tag::call[] + multi + .onItem().call(i -> + Uni.createFrom().voidItem() + .onItem().delayIt().by(Duration.ofSeconds(1) + ) + ); + // end::call[] + + MyResource resource = new MyResource(); + // tag::close[] + multi + .onCompletion().call(() -> resource.close()); + // end::close[] + } + + @Test + public void all() { + Multi multi = Multi.createFrom().items("a", "b", "c"); + // tag::invoke-all[] + multi + .onSubscription() + .invoke(() -> System.out.println("⬇️ Subscribed")) + .onItem() + .invoke(i -> System.out.println("⬇️ Received item: " + i)) + .onFailure() + .invoke(f -> System.out.println("⬇️ Failed with " + f)) + .onCompletion() + .invoke(() -> System.out.println("⬇️ Completed")) + .onCancellation() + .invoke(() -> System.out.println("⬆️ Cancelled")) + .onRequest() + .invoke(l -> System.out.println("⬆️ Requested: " + l)); + // end::invoke-all[] + + } + + static class MyResource { + Uni close() { + return Uni.createFrom().voidItem(); + } + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/RetryTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/RetryTest.java new file mode 100644 index 000000000..be31f63cc --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/RetryTest.java @@ -0,0 +1,61 @@ +package tutorials; + +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class RetryTest { + + @Test + public void testRetryAtMost() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::retry-at-most[] + Uni u = uni + .onFailure().retry().atMost(3); + Multi m = multi + .onFailure().retry().atMost(3); + // end::retry-at-most[] + assertThatThrownBy(() -> u.await().indefinitely()).hasMessageContaining("boom"); + assertThatThrownBy(() -> m.collect().asList() + .await().indefinitely()).hasMessageContaining("boom"); + } + + @Test + public void testRetryWithBackoff() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::retry-backoff[] + Uni u = uni + .onFailure().retry() + .withBackOff(Duration.ofMillis(100), Duration.ofSeconds(1)) + .atMost(3); + // end::retry-backoff[] + assertThatThrownBy(() -> u.await().indefinitely()) + .getCause() // Expected exception is wrapped in a java.util.concurrent.CompletionException + .hasMessageContaining("boom") + .hasSuppressedException(new IllegalStateException("Retries exhausted: 3/3")); + } + + @Test + public void testRetryUntil() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::retry-until[] + Uni u = uni + .onFailure().retry() + .until(f -> shouldWeRetry(f)); + // end::retry-until[] + assertThatThrownBy(() -> u.await().indefinitely()).hasMessageContaining("boom"); + } + + private boolean shouldWeRetry(Throwable ignored) { + return false; + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/TransformItemsAsyncTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/TransformItemsAsyncTest.java new file mode 100644 index 000000000..b8d0ae490 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/TransformItemsAsyncTest.java @@ -0,0 +1,138 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class TransformItemsAsyncTest { + + interface MyAsyncService { + // tag::service[] + Uni invokeRemoteGreetingService(String name); + // end::service[] + } + + static class MyAsyncServiceImpl implements MyAsyncService { + + @Override + public Uni invokeRemoteGreetingService(String name) { + return Uni.createFrom().item(name); + } + } + + MyAsyncServiceImpl service = new MyAsyncServiceImpl(); + + + private Uni invokeRemoteGreetingService(String name) { + return service.invokeRemoteGreetingService(name); + } + + @Test + public void testCall() { + + Uni uni = Uni.createFrom().item("mutiny"); + // tag::call[] + Uni result = uni + .onItem().transformToUni(name -> invokeRemoteGreetingService(name)); + // end::call[] + + assertThat(result.await().indefinitely()).isEqualTo("mutiny"); + } + + @Test + public void testChain(SystemOut out) { + // tag::chain[] + Uni uni = Uni.createFrom().item("Cameron"); + uni + .onItem().transformToUni(name -> invokeRemoteGreetingService(name)) + .subscribe().with( + item -> System.out.println(item), // Print "Hello Cameron", + fail -> fail.printStackTrace()); // Print the failure stack trace + // end::chain[] + assertThat(out.get()).contains("Cameron"); + } + + + @Test + public void testUniToMulti(SystemOut out) { + Uni uni = Uni.createFrom().item("Cameron"); + // tag::uni-to-multi[] + Multi result = uni + .onItem().transformToMulti(item -> Multi.createFrom().items(item, item)); + // end::uni-to-multi[] + assertThat(result.collect().asList().await().indefinitely()).containsExactly("Cameron", "Cameron"); + + // tag::uni-to-multi-2[] + uni + .onItem().transformToMulti(item -> Multi.createFrom().items(item, item)) + .subscribe().with( + item -> System.out.println(item)); // Called twice + // end::uni-to-multi-2[] + assertThat(out.get()).contains("Cameron"); + } + + @Test + public void testMergeAndConcatUni() { + Multi multi = Multi.createFrom().items("a", "b"); + + // tag::merge-concat[] + Multi merged = multi + .onItem().transformToUniAndMerge(name -> invokeRemoteGreetingService(name)); + + Multi concat = multi + .onItem().transformToUniAndConcatenate(name -> invokeRemoteGreetingService(name)); + // end::merge-concat[] + + assertThat(merged.collect().asList().await().indefinitely()).containsExactly("a", "b"); + assertThat(concat.collect().asList().await().indefinitely()).containsExactly("a", "b"); + } + + @Test + public void testMergeAndConcatMulti() { + Multi multi = Multi.createFrom().items("a", "b"); + + // tag::merge-concat-multi[] + Multi merged = multi + .onItem().transformToMultiAndMerge(item -> someMulti(item)); + + Multi concat = multi + .onItem().transformToMultiAndConcatenate(item -> someMulti(item)); + // end::merge-concat-multi[] + + assertThat(merged.collect().asList().await().indefinitely()).containsExactly("a", "b"); + assertThat(concat.collect().asList().await().indefinitely()).containsExactly("a", "b"); + } + + @Test + public void testMergeConcurrency() { + Multi multi = Multi.createFrom().items("a", "b"); + + // tag::merge-concurrency[] + Multi limitConcurrent = multi + .onItem().transformToUni(item -> callService(item)) + .merge(2); + + Multi defaultConcurrent = multi + .onItem().transformToUni(item -> callService(item)) + .merge(); + // end::merge-concurrency[] + + assertThat(limitConcurrent.collect().asList().await().indefinitely()).containsExactly("a", "b"); + assertThat(defaultConcurrent.collect().asList().await().indefinitely()).containsExactly("a", "b"); + } + + private Uni callService(String item) { + return Uni.createFrom().item(item); + } + + private Multi someMulti(String item) { + return Multi.createFrom().item(item); + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/TransformItemsTest.java b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/TransformItemsTest.java new file mode 100644 index 000000000..e975e56a8 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/java/tutorials/TransformItemsTest.java @@ -0,0 +1,61 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class TransformItemsTest { + + @Test + public void testUniTransform(SystemOut out) { + // tag::uni-transform[] + Uni someUni = Uni.createFrom().item("hello"); + someUni + .onItem().transform(i -> i.toUpperCase()) + .subscribe().with( + item -> System.out.println(item)); // Print HELLO + // end::uni-transform[] + assertThat(out.get()).contains("HELLO"); + } + + @Test + public void testMultiTransform() { + Multi multi = Multi.createFrom().items("a", "b", "c"); + // tag::multi-transform[] + Multi m = multi.onItem().transform(i -> i.toUpperCase()); + // end::multi-transform[] + assertThat(m.collect().asList().await().indefinitely()).containsExactly("A", "B", "C"); + } + + @Test + public void testMultiTransformWithSubscription(SystemOut out) { + // tag::multi-transform-2[] + Multi someMulti = Multi.createFrom().items("a", "b", "c"); + someMulti + .onItem().transform(i -> i.toUpperCase()) + .subscribe().with( + item -> System.out.println(item)); // Print A B C + // end::multi-transform-2[] + assertThat(out.get()).contains("A", "B", "C"); + } + + @Test + public void testChain() { + Uni uni = Uni.createFrom().item("hello"); + // tag::chain[] + Uni u = uni + .onItem().transform(i -> i.toUpperCase()) + .onItem().transform(i -> i + "!"); + // end::chain[] + + assertThat(u.await().indefinitely()).isEqualTo("HELLO!"); + + } +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/Coroutines.kt b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/Coroutines.kt new file mode 100644 index 000000000..087e809bb --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/Coroutines.kt @@ -0,0 +1,62 @@ +package guides + +import io.smallrye.mutiny.Multi +import io.smallrye.mutiny.Uni +// tag::importStatements[] +import io.smallrye.mutiny.coroutines.asFlow +import io.smallrye.mutiny.coroutines.asMulti +import io.smallrye.mutiny.coroutines.asUni +import io.smallrye.mutiny.coroutines.awaitSuspending +// end::importStatements[] +import io.smallrye.mutiny.coroutines.uni +import kotlinx.coroutines.Deferred +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.async +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flowOf + +suspend fun uniAwaitSuspending() { + // tag::uniAwaitSuspending[] + val uni: Uni = Uni.createFrom().item("Mutiny ❤ Kotlin") + try { + // Available within suspend function and CoroutineScope + val item: String = uni.awaitSuspending() + } catch (failure: Throwable) { + // onFailure event happened + } + // end::uniAwaitSuspending[] +} + +@ExperimentalCoroutinesApi +suspend fun deferredAsUni() { + // tag::deferredAsUni[] + val deferred: Deferred = GlobalScope.async { "Kotlin ❤ Mutiny" } + val uni: Uni = deferred.asUni() + // end::deferredAsUni[] +} + +@ExperimentalCoroutinesApi +suspend fun multiAsFlow() { + // tag::multiAsFlow[] + val multi: Multi = Multi.createFrom().items("Mutiny", "❤", "Kotlin") + val flow: Flow = multi.asFlow() + // end::multiAsFlow[] +} + +suspend fun flowAsMulti() { + // tag::flowAsMulti[] + val flow: Flow = flowOf("Kotlin", "❤", "Mutiny") + val multi: Multi = flow.asMulti() + // end::flowAsMulti[] +} + +suspend fun uniBuilder() { + // tag::uniBuilder[] + // import io.smallrye.mutiny.coroutines.uni + coroutineScope { + val uni: Uni = uni { "λ 🚧" } + } + // end::uniBuilder[] +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/FailureExt.kt b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/FailureExt.kt new file mode 100644 index 000000000..69b40368f --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/FailureExt.kt @@ -0,0 +1,24 @@ +package guides + +import io.smallrye.mutiny.Multi +import io.smallrye.mutiny.Uni +import io.smallrye.mutiny.onFailure +import java.io.IOException + +fun uniReifiedOnFailure() { + // tag::uniReifiedOnFailure[] + // import io.smallrye.mutiny.onFailure + val uni = Uni.createFrom().failure(IOException("disk full")) + val recovered: Uni = uni.onFailure() + .recoverWithItem("recovered") + // end::uniReifiedOnFailure[] +} + +fun multiReifiedOnFailure() { + // tag::multiReifiedOnFailure[] + // import io.smallrye.mutiny.onFailure + val multi = Multi.createFrom().failure(IOException("disk full")) + val recovered: Multi = multi.onFailure() + .recoverWithItem("recovered") + // end::multiReifiedOnFailure[] +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/MultiAwait.kt b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/MultiAwait.kt new file mode 100644 index 000000000..c8b17f6ed --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/MultiAwait.kt @@ -0,0 +1,41 @@ +package guides + +import io.smallrye.mutiny.Multi +import io.smallrye.mutiny.coroutines.awaitList +import io.smallrye.mutiny.coroutines.awaitFirst +import io.smallrye.mutiny.coroutines.awaitFirstOrThrow +import io.smallrye.mutiny.coroutines.awaitLast +import io.smallrye.mutiny.coroutines.awaitLastOrThrow +import io.smallrye.mutiny.coroutines.awaitEach + +suspend fun multiAwaitList() { + // tag::multiAwaitList[] + val multi = Multi.createFrom().items("a", "b", "c") + val list: List = multi.awaitList() + // end::multiAwaitList[] +} + +suspend fun multiAwaitFirst() { + // tag::multiAwaitFirst[] + val multi = Multi.createFrom().items(1, 2, 3) + val first: Int? = multi.awaitFirst() + val firstOrThrow: Int = multi.awaitFirstOrThrow() + // end::multiAwaitFirst[] +} + +suspend fun multiAwaitLast() { + // tag::multiAwaitLast[] + val multi = Multi.createFrom().items(1, 2, 3) + val last: Int? = multi.awaitLast() + val lastOrThrow: Int = multi.awaitLastOrThrow() + // end::multiAwaitLast[] +} + +suspend fun multiAwaitEach() { + // tag::multiAwaitEach[] + val multi = Multi.createFrom().items(1, 2, 3) + multi.awaitEach { item -> + println("Processing $item") + } + // end::multiAwaitEach[] +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/MultiExt.kt b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/MultiExt.kt new file mode 100644 index 000000000..fca9c651a --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/MultiExt.kt @@ -0,0 +1,50 @@ +package guides + +import io.smallrye.mutiny.multi +import io.smallrye.mutiny.subscription.BackPressureStrategy +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.coroutineScope +import io.smallrye.mutiny.coroutines.multi as multiSuspend + +fun regularMultiBuilder() { + // tag::multiBuilder[] + // import io.smallrye.mutiny.multi + val multi = multi { + emit(1) + emit(2) + emit(3) + } + // end::multiBuilder[] +} + +fun multiBuilderWithBackPressure() { + // tag::multiBuilderBackPressure[] + // import io.smallrye.mutiny.multi + val multi = multi(backPressure = BackPressureStrategy.DROP) { + emit(1) + emit(2) + emit(3) + } + // end::multiBuilderBackPressure[] +} + +@ExperimentalCoroutinesApi +suspend fun suspendMultiBuilder() { + // tag::multiBuilderSuspend[] + // import io.smallrye.mutiny.coroutines.multi + val queryResult = fetchResults() + coroutineScope { + val multi = multiSuspend(context = this) { + queryResult.forEach { result -> emit(result.download()) } + } + } + // end::multiBuilderSuspend[] +} + +interface ResultHandle { + suspend fun download(): String +} + +suspend fun fetchResults(): Iterable { + TODO("Not yet implemented") +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/TupleExt.kt b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/TupleExt.kt new file mode 100644 index 000000000..ae6e56392 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/TupleExt.kt @@ -0,0 +1,21 @@ +package guides + +import io.smallrye.mutiny.Uni +import io.smallrye.mutiny.component1 +import io.smallrye.mutiny.component2 + +fun tupleDestructuring() { + // tag::tupleDestructuring[] + // import io.smallrye.mutiny.component1 + // import io.smallrye.mutiny.component2 + val uni = Uni.combine().all() + .unis( + Uni.createFrom().item("Alice"), + Uni.createFrom().item(30) + ).asTuple() + + val (name, age) = uni.await().indefinitely() + assert(name == "Alice") + assert(age == 30) + // end::tupleDestructuring[] +} diff --git a/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/UniExt.kt b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/UniExt.kt new file mode 100644 index 000000000..988ba47dc --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_examples/kotlin/guides/UniExt.kt @@ -0,0 +1,21 @@ +package guides + +import io.smallrye.mutiny.Uni +import io.smallrye.mutiny.replaceWithUnit +import io.smallrye.mutiny.uni + +fun uniReplaceWithUnit() { + val uni: Uni = Uni.createFrom().item("") + // tag::uniReplaceWithUnit[] + // import io.smallrye.mutiny.replaceWithUnit + val unitUni : Uni = uni.replaceWithUnit() + assert(unitUni.await().indefinitely() === Unit) + // end::uniReplaceWithUnit[] +} + +fun regularUniBuilder() { + // tag::uniBuilder[] + // import io.smallrye.mutiny.uni + val uni: Uni = uni { "λ 🚧" } + // end::uniBuilder[] +} diff --git a/content/docs/smallrye-mutiny/latest/_nav.yml b/content/docs/smallrye-mutiny/latest/_nav.yml new file mode 100644 index 000000000..b8ecc5e64 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/_nav.yml @@ -0,0 +1,69 @@ +title: SmallRye Mutiny +nav: +- page: index +- title: Tutorials + items: + - page: tutorials/getting-mutiny + - page: tutorials/hello-mutiny + - page: tutorials/creating-uni-pipelines + - page: tutorials/creating-multi-pipelines + - page: tutorials/observing-events + - page: tutorials/transforming-items + - page: tutorials/transforming-items-asynchronously + - page: tutorials/handling-failures + - page: tutorials/retrying + - page: tutorials/mutiny-workshop +- title: Guides + items: + - page: guides/imperative-to-reactive + - page: guides/reactive-to-imperative + - page: guides/unchecked-exceptions + - page: guides/filtering-items + - page: guides/collecting-items + - page: guides/grouping-items + - page: guides/take-skip-items + - page: guides/eliminate-duplicates-and-repetitions + - page: guides/handling-null + - page: guides/handling-timeouts + - page: guides/delaying-events + - page: guides/pagination + - page: guides/polling + - page: guides/emission-threads + - page: guides/emit-on-vs-run-subscription-on + - page: guides/completion-stage + - page: guides/rx + - page: guides/shortcut-methods + - page: guides/merging-and-concatenating-streams + - page: guides/combining-items + - page: guides/joining-unis + - page: guides/converters + - page: guides/testing + - page: guides/spies + - page: guides/custom-operators + - page: guides/dropped-exceptions + - page: guides/framework-integration + - page: guides/hot-streams + - page: guides/integrate-a-non-reactive-source + - page: guides/kotlin + - page: guides/logging + - page: guides/context-passing + - page: guides/replaying-multis + - page: guides/controlling-demand + - page: guides/multi-split + - page: guides/branching + - page: guides/broadcasting-to-multiple-subscribers +- title: Reference + items: + - page: reference/migrating-to-mutiny-2 + - page: reference/why-is-asynchronous-important + - page: reference/what-is-reactive-programming + - page: reference/what-makes-mutiny-different + - page: reference/uni-and-multi + - page: reference/going-reactive-a-few-pitfalls + - page: reference/publications + - title: Tags index + page: tags-index +- title: API + url: https://javadoc.io/doc/io.smallrye.reactive/mutiny/latest/index.html +- title: Discussions/Questions + url: https://github.com/smallrye/smallrye-mutiny/discussions diff --git a/content/docs/smallrye-mutiny/latest/assets/CF_logo_horizontal_single_reverse.svg b/content/docs/smallrye-mutiny/latest/assets/CF_logo_horizontal_single_reverse.svg new file mode 100644 index 000000000..2b8907471 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/assets/CF_logo_horizontal_single_reverse.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/assets/logo-white.png b/content/docs/smallrye-mutiny/latest/assets/logo-white.png new file mode 100644 index 0000000000000000000000000000000000000000..4472249bbcef61c9d03c4979d1b242d5446df403 GIT binary patch literal 3611 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 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/assets/logo.png b/content/docs/smallrye-mutiny/latest/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e4ca32a03e03778b4951cff4d073dd544aeddb GIT binary patch literal 49044 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

rEGCE>&@e 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 aKcMY=b)*a3EgnGu{^X@qq$(xMg8mQKIT3*X literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny/latest/guides/branching.adoc b/content/docs/smallrye-mutiny/latest/guides/branching.adoc new file mode 100644 index 000000000..9391061fb --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/branching.adoc @@ -0,0 +1,57 @@ += How to do branching in a reactive pipeline? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Mutiny and similar reactive programming libraries do not have _branching_ operators similar to `if / else` and `switch/case` statements in Java. + +This does not mean that we can't express _branching_ in a reactive pipeline, and the most classic way is to use a transformation to a `Uni` (also called `flatMap` in functional programming). + +== Expressing branches as Uni operations + +Suppose that we have a pipeline where a `Uni` is created from a random value, and suppose that we want to have a different processing pipeline depending on whether the value is odd or even. +Let's have these 2 `Uni`-returning methods to model different behaviors: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=branches,indent=0] +---- + +We can use the `transformToUni` operator to plug either method depending on the random number: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=pipeline,indent=0] +---- + +Having such a mapping function is a common pattern: it has conditional logic and each branch returns a `Uni` that represents the "sub-pipeline" of what each branch shall do. + +Note that such constructs are primarily relevant when asynchronous I/O are involved and that such asynchronous I/O operations are typically `Uni`-returning methods such as those found in the https://smallrye.io/smallrye-mutiny-vertx-bindings/[Mutiny Vert.x bindings]. + +[TIP] +==== + +There are other ways to express the "result" of a branch. +You could wrap results in a custom type or a container like `java.util.Optional`. + +You could also return a failed `Uni`, and later react by continuing with another `Uni`, another value, or retrying (which would model a loop!). + +==== + +== Branching in a Multi + +The case of `Multi` is even more interesting because a `null`-completed `Uni` is discarded from the stream by any of the `transformToUni++{++...}` methods: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=multi-pipeline,indent=0] +---- + +where `drop()` is as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=drop,indent=0] +---- + +Any negative value is discarded in this `Multi` pipeline, while the positive even and odd numbers get forwarded to the subscriber. diff --git a/content/docs/smallrye-mutiny/latest/guides/broadcasting-to-multiple-subscribers.adoc b/content/docs/smallrye-mutiny/latest/guides/broadcasting-to-multiple-subscribers.adoc new file mode 100644 index 000000000..85c2cda21 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/broadcasting-to-multiple-subscribers.adoc @@ -0,0 +1,187 @@ += Broadcasting to multiple subscribers (like server-sent events, websockets, etc) +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +It is a common requirement in event-driven applications to have multiple subscribers receiving events from a single events source: + +[.has-dark] +image::images/diagrams/mermaid-f74f7917dcf7.svg[mermaid diagram] + +A good example would be a periodic events stream where the events get pushed every second to multiple https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events[server-sent event] subscribers. + +Let us see how this can be done using Mutiny and the https://quarkus.io/[Quarkus framework]. + +[NOTE] +==== + +We use Quarkus to illustrate a classic real-world usage for the broadcast operator, but the same kind of construct +could be done with another framework or the https://vertx.io/[Vert.x toolkit]. + +==== + +== Use-case: dynamic subscribers + +We expose a HTTP endpoint for server-sent events, and each second we receive the current list of subscribers. +The endpoint is exposed on path `/hello/ticks/++{++id}` where `id` is an identifier for a subscriber. + +We could subscribe and follow the stream using https://httpie.io/[HTTPie] for subscriber `1`: + +[source,text] +---- +$ http --stream :8080/hello/ticks/1 +HTTP/1.1 200 OK +Content-Type: text/event-stream +X-SSE-Content-Type: text/plain +transfer-encoding: chunked + +data:1 + +data:1 + +data:1 + +data:1,2 + +data:1,2 +---- + +The first 3 ticks have just one subscriber (`data:1`), but then once another subscriber arrives at path `/hello/ticks/2` we get ticks with identifiers `1,2`. + +When the connection for subscriber `1` closes, we see the impact on subscriber `2`: + +[source,text] +---- +http --stream :8080/hello/ticks/2 +HTTP/1.1 200 OK +Content-Type: text/event-stream +X-SSE-Content-Type: text/plain +transfer-encoding: chunked + +data:1,2 + +data:1,2 + +data:2 + +data:2 + +data:2 +---- + +== Why is broadcasting required? + +Mutiny offers a publisher for periodic event streams: + +[source,java] +---- +var ticks = Multi.createFrom().ticks().every(Duration.ofSeconds(1)); +---- + +You might wonder why we couldn't simply build our Quarkus endpoints as in: + +[source,java] +---- +@Path("/hello") +public class GreetingResource { + + @GET + @Path("ticks/{id}") + @RestStreamElementType(MediaType.TEXT_PLAIN) + public Multi ticks(String id) { + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + // (rest of the pipeline...) + ; + } +} +---- + +The problem here is that instead of having a single events source to emit ticks, you will have as many as there are subscribers: + +[.has-dark] +image::images/diagrams/mermaid-cbd13fb6d19b.svg[mermaid diagram] + +You might be able to articulate some logic around such construct, but you will end up with many scheduled operations on the Quarkus thread pool. + +Even worse: if your source is not periodic ticks emitted by Mutiny but some event source (e.g., a Kafka topic, a message broker queue, etc) then you might add correctness issues (e.g., not all subscribers get all messages). + +== Broadcasting, listening to subscriptions and cancellations + +It is fortunately quite easy to express such construct by sharing a common `Multi`, and broadcasting events to each subscriber. + +Let's start with the HTTP endpoint: + +[source,java] +---- +private ConcurrentHashSet identifiers = new ConcurrentHashSet<>(); + +private Multi ticks = (...); + +@GET +@Path("ticks/{id}") +@RestStreamElementType(MediaType.TEXT_PLAIN) +public Multi ticks(String id) { + Log.info("New client with id " + id); + identifiers.add(id); + return ticks.onCancellation().invoke(() -> { + Log.info("Removing client with id " + id); + identifiers.remove(id); + }); +} +---- + +The `ticks` method registers a new client in `identifiers`, and removes it upon cancellation. +The returned `Multi` pipeline piggy-backs on top of the _shared_ `Multi`, which is built as follows: + +[source,java] +---- +private Multi ticks = Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onItem().transform(tick -> { + Log.info("tick"); + return identifiers.stream().collect(Collectors.joining(",")); + }) + .onSubscription().invoke(() -> Log.info("Starting to emit ticks")) + .onCancellation().invoke(() -> Log.info("No more ticks")) + .broadcast() + .withCancellationAfterLastSubscriberDeparture() + .toAtLeast(1); +---- + +Here are a few observations. + +[arabic] +. For each periodic tick event, we assemble the current subscribers as a string of the form `"1,2,3"` with `.onItem().transform(...)`. +. We log an event when the periodic event stream starts (see `onSubscription().invoke(...)`). +. We log an event when the periodic event stream stops (see `onCancellation().invoke(...)`). +. We broadcast events to all subscribers, but: +[arabic] +.. there must be at least one subscriber before the stream starts, and +.. the stream is cancelled when the last subscriber departs. + +This construction is quite interesting because we don't emit ticks when there are no subscribers, and we stop it when there are none. + +If you play with such an example then you will see logs similar to these: + +[source,text] +---- +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) New client with id 1 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) Starting to emit ticks +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) Removing client with id 1 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) No more ticks +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-1) New client with id 1 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-1) Starting to emit ticks +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) New client with id 2 +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-1) Removing client with id 1 +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) Removing client with id 2 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) No more ticks +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/collecting-items.adoc b/content/docs/smallrye-mutiny/latest/guides/collecting-items.adoc new file mode 100644 index 000000000..04a1a5b64 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/collecting-items.adoc @@ -0,0 +1,92 @@ += Collecting items from Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +There are cases where you want to accumulate the items from a `Multi` and produce a `Uni` as a final result. +This is also called a _reduction_ in functional programming. + +The `Uni` fires its item when the `Multi` completes. +Mutiny provides multiple operators to deal with that scenario. +They are available from the `collect()` group. +For example, you can store the items in a list, emit the list on completion, or use a Java `Collector` to customize the aggregation. + +[CAUTION] +==== + +Don't collect items from infinite streams or you will likely end with an out-of-memory failure! + +==== + +== Collecting items into a list + +One of the most common approaches to collect items is to store them in a list (`Uni++<++List++<++T++>>++`) +It emits the final list when the `Multi` completes. + +[.has-dark] +image::images/diagrams/mermaid-69aa56febc93.svg[mermaid diagram] + +How to achieve this with Mutiny? + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=list,indent=0] +---- + +It's important to note that the returned type is a `Uni`. +It emits the list when the multi completes. + +== Collecting items into a map + +You can also collect the items into a `Map`. +In this case, you need to provide a function to compute the key for each item: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=map,indent=0] +---- + +If the key mapper function returns the same key for multiple items, the last one with that key is stored in the final `Map`. +You can collect items in a _multimap_ to handle items with the same keys. + +== Collecting items into a multimap + +A multimap is a `Map++<++K, List++<++T++>>++.` +In the case of a conflicting key, it stores all the items in a list associated with that key. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=multimap,indent=0] +---- + +== Using a custom accumulator + +You can also use a custom _accumulator_ function: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=accumulator,indent=0] +---- + +The `in` method receives two arguments: + +[arabic] +. a supplier providing the new instance of your collection/container +. the accumulator function + +You can also use a Java `Collector`. +For example, in the next example, count the number of items, and produce the final count as item: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=collector,indent=0] +---- + +== Getting the first and last items + +While they are not strictly speaking collecting items, `collect().first()` and `collect().last()` allow retrieving the first and last item from a `Multi`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=first,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/combining-items.adoc b/content/docs/smallrye-mutiny/latest/guides/combining-items.adoc new file mode 100644 index 000000000..7e118a7f3 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/combining-items.adoc @@ -0,0 +1,110 @@ += Combining items from streams +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Combining items from various streams is an essential pattern in Reactive Programming. + +It associates the emitted items from multiple streams and emits an _aggregate_. +The downstream receives this _aggregate_ and can handle it smoothly. + +There are plenty of use cases, such as executing two tasks concurrently and waiting for both completions, getting the last items from different streams to build an always up-to-date view, and so on. + +== Combining Unis + +Imagine that you have two asynchronous operations to perform like 2 HTTP requests. +You want to send these requests and be notified when both have completed with their responses ready to be consumed. + +Of course, you could send the first request, wait for the response, and then send the second request. +If both requests are independent, we can do something better: send both concurrently and await for both completions! + +[.has-dark] +image::images/diagrams/mermaid-c54f60b30f42.svg[mermaid diagram] + +How can you achieve this with Mutiny? + +First, each request is a `Uni`, so we have: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=invocations,indent=0] +---- + +Then, we want to combine both _responses_: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combination,indent=0] +---- + +This code creates a new `Uni` produced by combining `uniA` and `uniB`. +The responses are aggregated inside a `Tuple`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=subscription,indent=0] +---- + +The `tuple` aggregates the responses in the same order as the `Uni` sequence. + +If one of the `Uni` fails, so does the combination and you receive the failure: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=invocations,indent=0] +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combination,indent=0] +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=subscription,indent=0] +---- + +Using tuples is convenient but only works if you have less than 10 `Uni` objects. +If you want another structure or deal with 10 `Uni` objects or more then use `combineWith`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combined-with,indent=0] +---- + +== Combining Multis + +Combining `Multis` consists of associating items from different stream per _index_: + +[.has-dark] +image::images/diagrams/mermaid-3d4459e3c6a6.svg[mermaid diagram] + +It associates the first items from the combined streams, then the second items: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combine-multi,indent=0] +---- + +As for `Uni`, you can aggregate the item into tuples (up to 9 items) or combine with a combinator function: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combine-multi-with,indent=0] +---- + +If one of the streams fails, the combined stream propagates the failure and stops the emission. +The combined stream completes as soon as one of the observed stream sends the completion event. + +[NOTE] +==== + +If one of the observed streams never emits any item then the combined stream will not emit anything. + +==== + +== Combining the latest items of Multis + +It can be useful to combine multiple `Multi` streams and receive the _latest_ items from each stream on every emission: + +[.has-dark] +image::images/diagrams/mermaid-f0001b5cde9f.svg[mermaid diagram] + +This is achieved using `latest()`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combine-last,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/completion-stage.adoc b/content/docs/smallrye-mutiny/latest/guides/completion-stage.adoc new file mode 100644 index 000000000..9ad73ee5a --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/completion-stage.adoc @@ -0,0 +1,86 @@ += How to deal with CompletionStage? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +`CompletionStage` and `CompletableFuture` are classes provided by Java to represent asynchronous actions. + +== Differences between Uni and CompletionStage + +While `CompletionStage` and `CompletableFuture` are close to `Uni` in terms of use case, there are some fundamental differences. + +`CompletionStage` are _eager_. +When a method returns a `CompletionStage,` the operation has already been triggered. +The outcome is used to complete the returned `CompletionStage`. +On the other side, `Unis` are lazy. +The operation is only triggered once there is a subscription. + +`CompletionStage` _caches_ the outcome. +So, once received, you can retrieve the result. +Every retrieval will get the same result. +With `Uni`, every subscription has the opportunity to re-trigger the operation and gets a different result. + +[TIP] +==== + +You can also _cache_ the outcome with `Uni.memoize().indefinitely()`. + +==== + +== From Uni to CompletionStage + +You can create a `CompletionStage` from `Uni` using `uni.subscribeAsCompletionStage()`. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=uni-subscribe-cs,indent=0] +---- + +It's important to understand that retrieving a `CompletionStage` subscribes to the `Uni`. +If you do this operation twice, it subscribes to the `Uni` twice and re-trigger the operation. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=uni-subscribe-cs-twice,indent=0] +---- + +== Creating a Uni from a CompletionStage + +To create a `Uni` from a `CompletionStage`, use `Uni.createFrom().completionStage(...)`. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=create-uni,indent=0] +---- + +As you can see, there are two versions. +The first one receives the `CompletionStage` directly, while the second one gets a supplier. +In the case of multiple subscriptions on the produced `Uni`, the supplier is called multiple times (once per subscription), and so can change the return `CompletionStage`. +It also delays the creation of the `CompletionStage` until there is a subscription, which only triggers the operation at that time. +If you pass the instance directly, it will always use the same one (even for multiple subscriptions) and triggers the operation even if there is no subscription. +For these reasons, it is generally better to use the variant accepting a supplier. + +Note that if the completion stage produces a `null` value, the resulting `Uni` emits `null` as item. +If the completion stages complete exceptionally, the failure is emitted by the resulting `Uni`. + +== Creating a Multi from a CompletionStage + +To create a `Multi` from a `CompletionStage`, use `Multi.createFrom().completionStage(...)`. +It produces: + +* a multi emitting an item and completing - if the value produced by the completion stage is not `null`, +* an empty multi if the value produced by the completion stage is `null`, +* a failed multi is completion stage is completed exceptionally. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=create-multi,indent=0] +---- + +For the same reason as for `Uni`, there are two versions: + +[arabic] +. one accepting a `CompletionStage` directly +. one accepting a `Supplier++<++CompletionStage++>++`, called at subscription-time, for every subscription. + +It is recommended to use the second version. diff --git a/content/docs/smallrye-mutiny/latest/guides/context-passing.adoc b/content/docs/smallrye-mutiny/latest/guides/context-passing.adoc new file mode 100644 index 000000000..4dcb0b0a1 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/context-passing.adoc @@ -0,0 +1,90 @@ += Context passing +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Mutiny reactive pipelines let data flow from publishers to subscribers. + +In the vast majority of cases a publisher shall have _all_ required data, and operators shall perform processing based on item values. +For instance a network request shall be made with all request data known in advance, and response processing shall only depend on the response payload. + +That being said there are cases were this is not sufficient, and some data has to be carried along with items. +For instance one intermediary operator in a pipeline may have to make another networked request from which we need to extract some correlation identifier which will be used by another operator down the pipeline. +In such cases one will be tempted to forward tuples consisting of some item value plus some "extra" data. + +For such cases Mutiny offers a _subscriber-provided context_, so all operators involved in a subscription can share some form of _implicit data_. + +== What's in a context? + +A context is a simple key / value, in-memory storage. +Data can be queried, added and deleted from a context, as shown in the following snippet: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=contextManipulation,indent=0] +---- + +`Context` objects are thread-safe, and can be created from sequences of key / value pairs (as shown above), from a Java `Map`, or they can be created empty. + +Note that an empty-created context defers its internal storage allocation until the first call to `put`. +You can see `Context` as a glorified `ConcurrentHashMap` delegate, although this is an implementation detail and Mutiny might explore various internal storage strategies in the future. + +[TIP] +==== + +Contexts shall be primarily used to share transient data used for networked I/O processing such as correlation identifiers, tokens, etc. + +They should not be used as general-purpose data structures that are frequently updated and that hold large amounts of data. + +==== + +== How to access a context? + +Given a `Uni` or a `Multi`, a context can be accessed using the `withContext` operator, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=contextSampleUsage,indent=0] +---- + +This operator builds a sub-pipeline using 2 parameters: the current `Uni` or `Multi` and the context. + +[IMPORTANT] +==== + +The function passed to `withContext` is called at subscription time. + +This means that the context has not had a chance to be updated by upstream operators yet, so be careful with what you do in the body of that function. + +==== + +There is another way to access the context by using the `attachContext` method: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=contextAttachedSampleUsage,indent=0] +---- + +This method materializes the context in the regular pipeline items using the wrapper `ItemWithContext` class. +The `get` method provides the item while the `context` method provides the context. + +== How to access a context at the pipeline source? + +The `Uni` and `Multi` _builder_ methods like `Multi.createFrom()` provide publishers, not operators, so they don't have the `withContext` method. + +The first option is to use the `Uni.createFrom().context(...)` or `Multi.createFrom().context(...)` general purpose method to materialize the context: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=builderUsage,indent=0] +---- + +The `context` method takes a function that accepts a `Context` and returns a pipeline. +This is very similar to the `deferred` builder. + +If you use an `emitter` builder then for both `Uni` and `Multi` cases the emitter object offers a `context` method to access the context: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=emitterUsage,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/controlling-demand.adoc b/content/docs/smallrye-mutiny/latest/guides/controlling-demand.adoc new file mode 100644 index 000000000..2b4d098b4 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/controlling-demand.adoc @@ -0,0 +1,158 @@ += Controlling the demand +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +== Pacing the demand + +A subscription is used for 2 purposes: cancelling a request and demanding batches of items. + +The `Multi.paceDemand()` operator can be used to automatically issue requests at certain points in time. + +The following example issues requests of 25 items every 100ms: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=pacing,indent=0] +---- + +`FixedDemandPacer` is a simple _pacer_ with a fixed demand and a fixed delay. + +You can create more elaborated pacers by implementing the `DemandPacer` interface. +To do so you provide an initial request and a function to evaluate the next request which is evaluated based on the previous request and the number of items emitted since the last request: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=custom-pacer,indent=0] +---- + +The previous example is a custom pacer that doubles the demand and increases the delay for each new request. + +== Capping the demand requests + +The `capDemandsTo` and `capDemandUsing` operators can be used to cap the demand from downstream subscribers. + +The `capDemandTo` operator defines a maximum demand that can flow: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=capConstant,indent=0] +---- + +Here we cap requests to 50 items, so it takes 2 requests to get all 100 items of the upstream range. +The first request of 75 items is capped to a request of 50 items, leaving an outstanding demand of 25 items. +The second request of 25 items is added to the outstanding demand, resulting in a request of 50 items and completing the stream. + +You can also define a custom function that provides a capping value based on a custom formula, or based on earlier demand observations: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=capFunction,indent=0] +---- + +Here we have a function that requests 75% of the downstream requests. + +Note that the function must return a value `n` that satisfies `(0 ++<++ n ++<++= requested)` where `requested` is the downstream demand. + +== Pausing the demand + +The `Multi.pauseDemand()` operator provides fine-grained control over demand propagation in reactive streams. +Unlike cancellation, which terminates the subscription, pausing allows to suspend demand without unsubscribing from the upstream. +This is useful for implementing flow control patterns where item flow needs to be paused based on external conditions. + +=== Basic pausing and resuming + +The `pauseDemand()` operator works with a `DemandPauser` handle that allows to control the stream: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=basic,indent=0] +---- + +The `DemandPauser` provides methods to: + +* `pause()`: Stop propagating demand to upstream +* `resume()`: Resume demand propagation and deliver buffered items +* `isPaused()`: Check the current pause state + +Note that a few items may still arrive after pausing due to in-flight requests that were already issued to upstream. + +=== Starting in a paused state + +You can create a stream that starts paused and only begins flowing when explicitly resumed: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=initially-paused,indent=0] +---- + +This is useful when you want to prepare a stream but delay its execution until certain conditions are met. + +=== Late subscription + +By default, the upstream subscription happens immediately even when starting paused. +The `lateSubscription()` option delays the upstream subscription until the stream is resumed: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=late-subscription,indent=0] +---- + +=== Buffer strategies + +When a stream is paused, the operator stops requesting new items from upstream. +However, items that were already requested (due to downstream demand) may still arrive. +Buffer strategies control what happens to these in-flight items. + +The `pauseDemand()` operator supports three buffer strategies: `BUFFER` (default), `DROP`, and `IGNORE`. +Configuring any other strategy will throw an `IllegalArgumentException`. + +==== BUFFER strategy (default) + +Already-requested items are buffered while paused and delivered when resumed: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=buffer-strategy,indent=0] +---- + +You can configure the buffer size: + +* `bufferUnconditionally()`: Unbounded buffer +* `bufferSize(n)`: Buffer up to `n` items, then fail with buffer overflow + +When the buffer overflows, the stream fails with an `IllegalStateException`. + +*Important*: The buffer only holds items that were already requested from upstream before pausing. +When paused, no new requests are issued to upstream, so the buffer size is bounded by the outstanding demand at the time of pausing. + +==== DROP strategy + +Already-requested items are dropped while paused: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=drop-strategy,indent=0] +---- + +Items that arrive while paused are discarded, and when resumed, the stream continues requesting fresh items. + +==== IGNORE strategy + +Already-requested items continue to flow downstream while paused. +This strategy doesn't use any buffers. +It only pauses demand from being issued to upstream, but does not pause the flow of already requested items. + +=== Buffer management + +When using the BUFFER strategy, you can inspect and manage the buffer: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=buffer-management,indent=0] +---- + +The `DemandPauser` provides: + +* `bufferSize()`: Returns the current number of buffered items +* `clearBuffer()`: Clears the buffer (only works while paused), returns `true` if successful diff --git a/content/docs/smallrye-mutiny/latest/guides/converters.adoc b/content/docs/smallrye-mutiny/latest/guides/converters.adoc new file mode 100644 index 000000000..313692321 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/converters.adoc @@ -0,0 +1,253 @@ += Using other reactive programming libraries +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +You may need to integrate libraries exposing an API using other reactive programming libraries such as RX Java or Reactor. +Mutiny has a built-in conversion mechanism to ease that integration. + +== Picking the right dependency + +You need to add another dependency to access the converters. +Each artifact contains the converters for a specific reactive library. +Pick the right one and add it to your project: + +[.tabs] +==== + +Reactor:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + + io.smallrye.reactive + mutiny-reactor + {versions-mutiny} + +---- + +-- + +RxJava 3:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + + io.smallrye.reactive + mutiny-rxjava3 + {versions-mutiny} + +---- + +-- + +==== + +== Integration with Project Reactor + +https://projectreactor.io/[Project Reactor] is a popular reactive programming library. +It offers two types: `Mono` and `Flux,` both implementing Reactive Stream `Publisher`. + +To use the Reactor `++<++-++>++` Mutiny converter, add the following imports to your class: + +[source,java] +---- +import io.smallrye.mutiny.converters.multi.MultiReactorConverters; +import io.smallrye.mutiny.converters.uni.UniReactorConverters; +---- + +=== Converting a Flux or a Mono into a Multi + +Both `Flux` and `Mono` implement `Publisher`. +As a result, we can use the Reactive Streams interoperability to convert instances from `Flux++<++T++>++` and `Mono++<++T++>++` to `Multi++<++T++>++`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-multi-create,indent=0] +---- + +[WARNING] +==== + +Reactor still uses the legacy Reactive Streams APIs instead of `java.util.concurrent.Flow`, so you need to perform an adaptation. + +We recommend using the https://smallrye.io/smallrye-mutiny-zero/[Mutiny Zero Flow Adapters library] as in these examples (Maven coordinates `io.smallrye.reactive:mutiny-zero-flow-adapters`). + +==== + +=== Converting a Flux or a Mono into a Uni + +As you can create `Uni` from a `Publisher`, the same approach can be used to create `Uni` instances: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-uni-create,indent=0] +---- + +When a `Flux` or `Mono` sends the _completion_ event without having emitted any item, the resulting `Uni` emits `null`. + +When converting a `Flux` to `Uni`, the resulting `Uni` emits the first item. +After that emission, it cancels the subscription to the `Flux`. + +=== Converting a Multi into a Flux or Mono + +Converting a `Multi` into a `Flux` or a `Mono` uses the Reactive Streams interoperability: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-create-multi,indent=0] +---- + +=== Converting a Uni into a Flux or Mono + +Converting a `Uni` into a `Flux` or a `Mono` requires a converter, as `Uni` does not implement Reactive Streams. + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-create-uni,indent=0] +---- + +If the `Uni` emits `null`, it sends the _completion_ event. + +=== Using converter instead of Reactive Streams + +While Reactive Streams interoperability is convenient, Mutiny also provides converters to create `Flux` and `Mono` from `Uni` and `Multi`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=uni-export,indent=0] +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=multi-export,indent=0] +---- + +== Integration with RX Java 3 + +RxJava is another popular reactive programming library. +It offers 5 types: `Completable` (no item), `Single` (one item), `Maybe` (0 or 1 item), `Observable` (multiple items), `Flowable` (multiple items, implements Reactive Stream `Publisher`). + +To use the RxJava `++<++-++>++` Mutiny converters, add the following imports to your class: + +[source,java] +---- +import io.smallrye.mutiny.converters.multi.MultiRx3Converters; +import io.smallrye.mutiny.converters.uni.UniRx3Converters; +---- + +=== Converting an Observable or a Flowable into a Multi + +Both `Observable` and `Flowable` are item streams. +However, `Observable` does not implement `Publisher` and so does not have back-pressure support. + +To create `Multi` from an `Observable,` you need a specific converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-multi-create-observable,indent=0] +---- + +Converting a `Flowable` is easier, as it's a `Publisher`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-multi-create-flowable,indent=0] +---- + +[WARNING] +==== + +Like Reactor, RxJava still uses the legacy Reactive Streams APIs instead of `java.util.concurrent.Flow`, so you need to perform an adaptation. + +==== + +=== Converting a Completable, Single or Maybe into a Multi + +To create a `Multi` from a `Completable,` `Single` or `Maybe` you need specific converters, as none of these types implement Reactive Streams. + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-multi-create-single,indent=0] +---- + +* Creating a `Multi` from a `Completable` always produces a `Multi++<++Void++>++` that only emits the _completion_ or _failure_ event. +* Creating a `Multi` from a `Single` produces a `Multi`. That `Multi` emits the item and then completes it. +* Creating a `Multi` from a `Maybe` produces a `Multi`. That `Multi` emits the item (if any) and then completes it. +If the `Maybe` is empty, then the created `Multi` emits the _completion_ event. + +When a `Completable,` `Single,` or `Maybe` emits a failure, then the resulting `Multi` emits that failure. + +=== Converting an Observable or a Flowable into a Uni + +To create a `Uni` from an `Observable,` you need to use a specific converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-uni-create-observable,indent=0] +---- + +The creation from a `Flowable` can be done using the Reactive Streams interoperability: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-uni-create-flowable,indent=0] +---- + +In both cases, it cancels the subscription to the `Flowable` or `Observable` after receiving the first item. +If the `Flowable` or `Observable` completes without items, the `Uni` emits a `null` item. + +=== Converting a Completable, Single or Maybe into a Uni + +To create a `Uni` from a `Completable,` `Single,` or `Maybe`, you need to use a specific converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-uni-create-single,indent=0] +---- + +Converting a `Completable` to a `Uni` always produces a `Uni++<++Void++>++,` that emits either `null` once the `Completable` completes or the failure if it fails. +The `Maybe` to `Uni` conversion emits a `null` item if the `Maybe` completes without an item. + +=== Converting a Multi into a RX Java objects + +The conversion from a `Multi` to the various RX Java objects is done using converters: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=create-rx-from-multi,indent=0] +---- + +The creation of a `Completable` from a `Multi` discards all the items emitted by the `Multi`. +It only forwards the _completion_ or _failure_ event. + +Converting a `Multi` into a `Single` returns a `Single++<++Optional++<++T++>>++,` as the `Multi` may complete without items. +You can also produce a `Single++<++T++>++` and emit a _failure_ event if the `Multi` completes without items. +You can configure the thrown exception using `onEmptyThrow.` + +[TIP] +==== + +You can also create a `Flowable` from a `Multi` using: `Flowable.fromPublisher(multi)`. + +==== + +=== Converting a Uni into a RX Java type + +Similarly to the conversion from a `Multi` into an RX Type, converting a `Uni` requires a converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=create-rx-from-uni,indent=0] +---- + +The creation of a `Completable` from a `Uni` discards the item and sends the _completion_ signal after emission. + +Converting a `Uni` into a `Single` returns a `Single++<++Optional++<++T++>>++,` as the `Uni` may emit `null.` +You can also produce a `Single++<++T++>++` and emits a _failure_ event if the `Uni` sends `null.` +Configure the failure to forward using `failOnNull.` + +The creation of a `Maybe,` `Flowable,` or an `Observable` from a `Uni` produces an empty `Maybe,` `Flowable,` or `Observable` if the `Uni` emits `null.` +For `Flowable` and `Observable,` if the `Uni` emits a _non-null_ item, that item is emitted, followed immediately by the _completion_ signal. diff --git a/content/docs/smallrye-mutiny/latest/guides/custom-operators.adoc b/content/docs/smallrye-mutiny/latest/guides/custom-operators.adoc new file mode 100644 index 000000000..8c2baa638 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/custom-operators.adoc @@ -0,0 +1,30 @@ += Can I have custom operators? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Yes, but please write operators responsibly! + +Both `Uni` and `Multi` support custom operators using the `plug` operator. +Here is an example where we use a custom `Multi` operator that randomly drops items: + +[source,java] +---- +include::{examples-dir}/java/guides/PlugTest.java[tags=plug,indent=0] +---- + +with the operator defined as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/PlugTest.java[tags=custom-operator,indent=0] +---- + +[CAUTION] +==== + +Custom operators are an advanced feature: when possible please use the existing operators and use helpers such as `stage` to write readable code. + +In the case of custom `Multi` operators it is wise to test them against the _Reactive Streams TCK_. + +==== diff --git a/content/docs/smallrye-mutiny/latest/guides/delaying-events.adoc b/content/docs/smallrye-mutiny/latest/guides/delaying-events.adoc new file mode 100644 index 000000000..c62577753 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/delaying-events.adoc @@ -0,0 +1,68 @@ += How to delay events? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +== Delaying Uni's item + +When you have a `Uni`, you can delay the item emission using `onItem().delayIt().by(...)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-by,indent=0] +---- + +You pass a duration. +When the item is received, it _waits for_ that duration before propagating it to the downstream consumer. + +You can also delay the item's emission based on another _companion_ `Uni`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-until,indent=0] +---- + +The item is propagated downstream when the `Uni` returned by the function emits an item (possibly `null`). +If the function emits a failure (or throws an exception), this failure is propagated downstream. + +== Throttling a Multi + +Multi does not have a _delayIt_ operator because applying the same delay to all items is rarely what you want to do. +However, there are several ways to apply a delay in a `Multi`. + +First, you can use the `onItem().call()`, which delays the emission until the `Uni` produced the `call` emits an item. +For example, the following snippet delays all the items by 10 ms: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-multi,indent=0] +---- + +In general, you don't want to apply the same delay to all the items. +You can combine `call` with a random delay as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-multi-random,indent=0] +---- + +Finally, you may want to throttle the items. +For example, you can introduce a (minimum) one-second delay between each item. +To achieve this, combine `Multi.createFrom().ticks()` and the multi to throttled: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=throttling-multi,indent=0] +---- + +[TIP] +==== + +The `onOverflow().drop()` is used to avoid the _ticks_ to fail if the other stream (`multi`) is too slow. + +==== + +== Delaying other types of events + +We have looked at how to delay items, but you may need to delay other events, such as subscription or failure. +For these, use the `call` approach, and return a `Uni` that delay the event's propagation. diff --git a/content/docs/smallrye-mutiny/latest/guides/dropped-exceptions.adoc b/content/docs/smallrye-mutiny/latest/guides/dropped-exceptions.adoc new file mode 100644 index 000000000..10d0a1524 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/dropped-exceptions.adoc @@ -0,0 +1,26 @@ += How to deal with dropped exceptions? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +There are a few corner cases where Mutiny cannot propagate an exception to a `Uni` or a `Multi` subscriber. + +Consider the following example: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/DroppedExceptionTest.java[tags=code,indent=0] +---- + +The `onCancellation().call(...)` method is called when the `Uni` subscription is cancelled. +The returned `Uni` is failed with a `IOException`, but since the subscription itself has been cancelled then there is no way to catch the exception. + +By default Mutiny reports such dropped exceptions to the standard error stream along with the corresponding stack trace. +You can change how these exceptions are handled using `Infrastructure.setDroppedExceptionHandler`. + +The following logs dropped exceptions to a logger: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/DroppedExceptionTest.java[tags=override-handler,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/eliminate-duplicates-and-repetitions.adoc b/content/docs/smallrye-mutiny/latest/guides/eliminate-duplicates-and-repetitions.adoc new file mode 100644 index 000000000..4781db7ef --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/eliminate-duplicates-and-repetitions.adoc @@ -0,0 +1,60 @@ += Eliminate duplicates and repetitions +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +When observing a `Multi`, you may see duplicated items or repetitions. +The `multi.select()` and `multi.skip()` groups provide methods to only select distinct items or drop repetitions. + +== Selecting distinct + +The `.select().distinct()` operator removes all the duplicates. +As a result, the downstream only contains distinct items: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RepetitionsTest.java[tags=distinct,indent=0] +---- + +If you have a stream emitting the `++{++1, 1, 2, 3, 4, 5, 5, 6, 1, 4, 4}` items, then applying `.select().distinct()` on such a stream produces: `++{++1, 2, 3, 4, 5, 6}`. + +[IMPORTANT] +==== + +The operator keeps a reference on all the emitted items, and so, it could lead to memory issues if the stream contains too many distinct items. + +==== + +[TIP] +==== + +By default, `select().distinct()` uses the `hashCode` method from the item's class. +You can pass a custom comparator for more advanced checks. + +==== + +If you have a stream emitting items of type `T`, where duplicates can be identified through an attribute of `T` of type `K`, +then an `extractor` of type `Function++<++T, K++>++` can be defined. Applying `.select().distinct(extractor)` on such a stream will +eliminate duplicates but have a lesser memory overhead as only the references to the extracted keys need to be kept, not the whole object. +A typical usage of this might be for a stream of records where uniqueness is determined by a UUID assigned to every record. + +== Skipping repetitions + +The `.skip().repetitions()` operator removes subsequent repetitions of an item: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RepetitionsTest.java[tags=repetition,indent=0] +---- + +If you have a stream emitting the `++{++1, 1, 2, 3, 4, 5, 5, 6, 1, 4, 4}` items, then applying `.skip().repetitions()` on such a stream produces: `++{++1, 2, 3, 4, 5, 6, 1, 4}`. + +Unlike `.select().distinct()`, you can use this operator on large or infinite streams. + +[TIP] +==== + +By default, `skip().repetitions()` uses the `equals` method from the item's class. +You can pass a custom comparator for more advanced checks. + +==== diff --git a/content/docs/smallrye-mutiny/latest/guides/emission-threads.adoc b/content/docs/smallrye-mutiny/latest/guides/emission-threads.adoc new file mode 100644 index 000000000..4e3144069 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/emission-threads.adoc @@ -0,0 +1,36 @@ += How to change the emission thread? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Except indicated otherwise, Mutiny invokes the next _stage_ using the thread emitting the event from upstream. +So, in the following code, the _transform_ stage is invoked from the thread emitting the event. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/EmitOnTest.java[tags=example,indent=0] +---- + +You can switch to another thread using the `emitOn` operator. +The `emitOn` operator lets you switch the thread used to dispatch (upstream -++>++ downstream) events, so items, failure and completion events. +Just pass the _executor_ you want to use. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/EmitOnTest.java[tags=code,indent=0] +---- + +[NOTE] +==== + +You cannot pass a specific thread, but you can implement a simple `Executor` dispatching on that specific thread, or use a _single threaded executor_. + +==== + +[WARNING] +==== + +Be careful as this operator can lead to concurrency problems with non thread-safe objects such as CDI request-scoped beans. +It might also break reactive-streams semantics with items being emitted concurrently. + +==== diff --git a/content/docs/smallrye-mutiny/latest/guides/emit-on-vs-run-subscription-on.adoc b/content/docs/smallrye-mutiny/latest/guides/emit-on-vs-run-subscription-on.adoc new file mode 100644 index 000000000..b4d8604a4 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/emit-on-vs-run-subscription-on.adoc @@ -0,0 +1,45 @@ += What is the difference between emitOn and runSubscriptionOn? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +The `emitOn` and `runSubscriptionOn` are 2 operators influencing on which threads the event are dispatched. +However, they target different types of events and different directions. + +== The case of emitOn + +`emitOn` takes events coming from upstream (items, completion, failure) and replays them downstream on a thread from the given executor. +Consequently, it affects where the subsequent operators execute (until another `emitOn` is used): + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RunSubscriptionOnTest.java[tags=emitOn,indent=0] +---- + +The previous code produces the following sequence: + +[.has-dark] +image::images/diagrams/mermaid-18f9a50c0627.svg[mermaid diagram] + +[WARNING] +==== + +Be careful as this operator can lead to concurrency problems with non thread-safe objects such as CDI request-scoped beans. +It might also break reactive-streams semantics with items being emitted concurrently. + +==== + +== The case of runSubscriptionOn + +`runSubscriptionOn` applies to the subscription process. +It requests the upstream to run its subscription (call of the `subscribe` method on its own upstream) on a thread from the given executor: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RunSubscriptionOnTest.java[tags=runSubscriptionOn,indent=0] +---- + +So, if we consider the previous code snippet, it produces the following sequence: + +[.has-dark] +image::images/diagrams/mermaid-76df06b35153.svg[mermaid diagram] diff --git a/content/docs/smallrye-mutiny/latest/guides/filtering-items.adoc b/content/docs/smallrye-mutiny/latest/guides/filtering-items.adoc new file mode 100644 index 000000000..e621770d9 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/filtering-items.adoc @@ -0,0 +1,33 @@ += Filtering items from Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +When observing a `Multi`, you may not want to forward all the received items to the downstream. + +Use the `multi.select()` group to select items. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/FilterTest.java[tags=filter,indent=0] +---- + +To _select_ items passing a given predicate, use `multi.select().where(predicate)`: + +`where` accepts a predicate called for each item. +If the predicate returns `true`, the item propagated downstream. +Otherwise, it drops the item. + +The predicate passed to `where` is synchronous. +The `when` method provides an asynchronous version: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/FilterTest.java[tags=test,indent=0] +---- + +`when` accepts a function called for each item. + +Unlike `where` where the predicate returns a boolean synchronously, the function returns a `Uni++<++Boolean++>++`. +It forwards the item downstream if the `uni` produced by the function emits `true`. +Otherwise, it drops the item. diff --git a/content/docs/smallrye-mutiny/latest/guides/framework-integration.adoc b/content/docs/smallrye-mutiny/latest/guides/framework-integration.adoc new file mode 100644 index 000000000..7dfbb8eb8 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/framework-integration.adoc @@ -0,0 +1,32 @@ += How can I integrate Mutiny with my framework? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Sometimes, Mutiny needs to execute tasks on other threads, such as monitoring time or delaying actions. +Most operators relying on such capacity let you pass either a `ScheduledExecutorService` or an `ExecutorService`. + +By default, Mutiny uses the a _cached_ thread pool as default executor, that creates new threads as needed, but reuse previously constructed threads when they are available. +A `ScheduledExecutorService` is also created but delegates the execution of the delayed/scheduled tasks to the default executor. + +In the case you want to integrate Mutiny with a thread pool managed by a platform, you can configure it using `Infrastructure.setDefaultExecutor()` method: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/InfrastructureTest.java[tags=infra,indent=0] +---- + +You can configure the default executor using the `Infrastructure.setDefaultExecutor` method: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/InfrastructureTest.java[tags=set-infra,indent=0] +---- + +[TIP] +==== + +If you are using Quarkus, the default executor is already configured to use the Quarkus worker thread pool. +Logging is also configured correctly. + +==== diff --git a/content/docs/smallrye-mutiny/latest/guides/grouping-items.adoc b/content/docs/smallrye-mutiny/latest/guides/grouping-items.adoc new file mode 100644 index 000000000..de10842de --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/grouping-items.adoc @@ -0,0 +1,153 @@ += Grouping items from Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Mutiny provides several operators to group items from a `Multi` stream. +You can group items by a key function (similar to SQL's `GROUP BY`), split items into fixed-size chunks, or create time-based windows. + +The grouping operators are available from the `group()` method on `Multi`. + +== Grouping into Lists + +The `group().intoLists()` operator allows you to collect items into lists based on size or time. + +=== Fixed-size lists + +Use `group().intoLists().of(size)` to create fixed-size lists from the stream: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupIntoLists,indent=0] +---- + +The last list may contain fewer items if the stream doesn't divide evenly. + +=== Time-based lists + +You can create time-based lists using `group().intoLists().every(Duration)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=timeBasedListGrouping,indent=0] +---- + +=== Size and time-based lists + +You can combine both size and time constraints using `group().intoLists().of(size, Duration)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=sizeAndTimeBasedListGrouping,indent=0] +---- + +This will emit a list when either the size limit is reached or the duration expires, whichever comes first. + +== Grouping into Multi Streams + +The `group().intoMultis()` operator allows you to create separate `Multi` streams from your data. Unlike `intoLists()` which materializes all items into memory, `intoMultis()` keeps items as streams, which is better for: + +* Applying stream transformations to each group +* Processing large groups without loading everything into memory +* Composing with other reactive operators + +=== Fixed-size Multi streams + +Use `group().intoMultis().of(size)` to create `Multi` streams of a fixed size: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupIntoMultis,indent=0] +---- + +=== Time-based Multi streams + +You can create time-based windows using `group().intoMultis().every(Duration)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=timeBasedGrouping,indent=0] +---- + +== Grouping by a key function + +The `group().by()` operator groups items based on a key function, emitting a `Multi++<++GroupedMulti++<++K, V++>>++` where each `GroupedMulti` represents a group of items sharing the same key. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByKey,indent=0] +---- + +Each `GroupedMulti` has a `key()` method that returns the key for that group. +Items are distributed to groups based on the key function result. + +=== Using both key and value mappers + +You can transform items while grouping them by providing both a key mapper and a value mapper: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByKeyAndValue,indent=0] +---- + +== Processing groups with merge vs concatenate + +When processing groups, you need to decide how to combine the results back into a single stream. Similar to xref:tutorials/transforming-items-asynchronously.adoc[transforming items asynchronously], you can use either *merge* or *concatenate*: + +=== Using merge + +With merge, groups are processed concurrently - items from different groups can interleave in the output stream: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByWithMerge,indent=0] +---- + +[WARNING] +.Upstream request starvation with merge +==== + +When using `.merge(concurrency)` or similar merge operations after `group().by()`, +*the concurrency parameter must be greater than or equal to the number of groups that are created but not terminated*. + +If you create more groups than the concurrency limit allows, some groups cannot make progress while waiting for others to complete. +This leads to a *request starvation* where the upstream won't receive requests for emitting new items. + +==== + +==== Example causing request starvation + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByDeadlock,indent=0] +---- + +In this example, 10 groups are created but only 2 can be processed concurrently. +Groups 3-10 cannot make progress because the downstream subscriber is busy with groups 1-2. +Meanwhile, groups 1-2 may not complete because they're waiting for backpressure signals from the full pipeline. +The problem is even more exacerbated with infinite streams and infinite groups. + +==== How to avoid request starvation + +[arabic] +. *Set concurrency ++>++= number of groups*: If you know the maximum number of groups in advance, set the concurrency parameter to at least that number using `.merge(n)` +. *Use unbounded concurrency*: Call `.merge(Integer.MAX++_++VALUE)` to allow unlimited number of concurrent groups +. *Use concatenate instead*: Process groups sequentially (see below) + +=== Using concatenate + +With concatenate, groups are processed sequentially - each group must fully terminate before the next group can start processing: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByWithConcatenate,indent=0] +---- + +== Choosing between group().by() and split() + +Mutiny provides both `group().by()` and `split()` operators. Here's when to use each: + +* *Use `group().by()`* when you don't know the keys in advance and the number of groups is dynamic. +* *Use `split()`* when you know all possible keys upfront (defined by an enum) and you want individual `Multi` instances for each split. + +See the xref:guides/multi-split.adoc[splitting guide] for more details on `split()`. diff --git a/content/docs/smallrye-mutiny/latest/guides/handling-null.adoc b/content/docs/smallrye-mutiny/latest/guides/handling-null.adoc new file mode 100644 index 000000000..fa3abd3dc --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/handling-null.adoc @@ -0,0 +1,40 @@ += How to handle null? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +The `Uni` type can emit `null` as item. + +While there are mixed feelings about `null`, it's part of the Java language and so handled in the `Uni` type. + +[IMPORTANT] +==== + +`Multi` does not support `null` items as it would break the compatibility with the _Reactive Streams_ protocol. + +==== + +Emitting `null` is convenient when returning `Uni++<++Void++>++`. +However, the downstream must expect `null` as item. + +Thus, `Uni` provides specific methods to handle `null` item. +`uni.onItem().ifNull()` lets you decide what you want to do when the received item is `null`: + +[source,java] +---- +include::{examples-dir}/java/guides/UniNullTest.java[tags=code,indent=0] +---- + +A symmetric group of methods is also available with `ifNotNull` which let you handle the case where the item is _not null_: + +[source,java] +---- +include::{examples-dir}/java/guides/UniNullTest.java[tags=code-not-null,indent=0] +---- + +[IMPORTANT] +==== + +While supported, emitting `null` should be avoided except for `Uni++<++Void++>++`. + +==== diff --git a/content/docs/smallrye-mutiny/latest/guides/handling-timeouts.adoc b/content/docs/smallrye-mutiny/latest/guides/handling-timeouts.adoc new file mode 100644 index 000000000..a687b0a37 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/handling-timeouts.adoc @@ -0,0 +1,53 @@ += How to handle timeouts? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Unis are often used to represent asynchronous operations, like making an HTTP call. +So, it's not rare to need to add a timeout or a deadline on this kind of operation. +If we don't get a response (receive an item in the Mutiny lingo) before that deadline, we consider that the operation failed. + +We can then recover from this failure by using a fallback value, retrying, or any other failure handling strategy. + +To configure a timeout use `Uni.ifNoItem().after(Duration)`: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=code,indent=0] +---- + +When the deadline is reached, you can do various actions. +First you can simply fail: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fail,indent=0] +---- + +A `TimeoutException` is propagated in this case. +So you can handle it specifically in the downstream: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fail-recover,indent=0] +---- + +You can also pass a custom exception: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fail-with,indent=0] +---- + +Failing and recovering might be inconvenient. +So, you can pass a fallback item or `Uni` directly: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fallback,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fallback-uni,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/hot-streams.adoc b/content/docs/smallrye-mutiny/latest/guides/hot-streams.adoc new file mode 100644 index 000000000..87c93ce06 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/hot-streams.adoc @@ -0,0 +1,26 @@ += Hot streams +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +In a _cold_ stream, the stream is created when one subscriber subscribes to the stream. +So, if no one subscribes, the actual stream is not created, saving resources (that would be wasted because nobody is interested in the items). + +In a _hot_ stream, the stream exists before subscribers subscribe. +The stream emits items even if no subscribers observe the stream. +If there are no subscribers, the items are just dropped. +Subscribers only get items emitted after their subscription, meaning that any previous items would not be received. + +To create a hot stream, you can use `io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor` that: + +* drops items if no subscribers are present, +* forwards items to the set of observing subscribers. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/BroadcastProcessorTest.java[tags=code,indent=0] +---- + +Note that the `BroadcastProcessor` subscribes to the _hot_ source aggressively and without back-pressure. +However, the `BroadcastProcessor` enforces the back-pressure protocol per subscriber. +If a subscriber is not ready to handle an item emitted by the _hot_ source, an `io.smallrye.mutiny.subscription.BackPressureFailure` is forwarded to this subscriber. diff --git a/content/docs/smallrye-mutiny/latest/guides/imperative-to-reactive.adoc b/content/docs/smallrye-mutiny/latest/guides/imperative-to-reactive.adoc new file mode 100644 index 000000000..535317c49 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/imperative-to-reactive.adoc @@ -0,0 +1,71 @@ += From imperative to reactive +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +If you use Mutiny, there is a good chance you may want to avoid blocking the caller thread. + +In a _pure_ reactive application, the application logic is executed on one of the few I/O threads, and blocking one of these would have dramatic consequences. +So, here is the big question: _how do you deal with blocking code?_ + +Let's imagine you have blocking code (e.g., connecting to a database using JDBC, reading a file from the file system...), and you want to integrate that into your reactive pipelines while avoiding blocking. +You would need to isolate such blocking parts of your code and run these parts on worker threads. + +Mutiny provides two operators to customize the threads used to handle events: + +* `runSubscriptionOn` - to configure the thread used to execute the code happening at subscription-time +* `emitOn` - to configure the thread used to dispatch events downstream + +== Running blocking code on subscription + +It is very usual to deal with the blocking call during the subscription. +In this case, the `runSubscription` operator is what you need: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ImperativeToReactiveTest.java[tags=uni-runSubscriptionOn,indent=0] +---- + +The code above creates a Uni that will supply the item using a blocking call, here the `invokeRemoteServiceUsingBlockingIO` method. +To avoid blocking the subscriber thread, it uses `runSubscriptionOn` which switches the thread and call `invokeRemoteServiceUsingBlockingIO` on another thread. +Here we pass the default worker thread pool, but you can use your own executor. + +[TIP] +==== + +What's that default worker pool? + +In the previous snippet, you may wonder about `Infrastructure.getDefaultWorkerPool()`. +Mutiny allows the underlying platform to provide a default worker pool. +`Infrastructure.getDefaultWorkerPool()` provides access to this pool. + +==== + +If the underlying platform does not provide a pool, a default one is used. + +Note that `runSubscriptionOn` does not subscribe to the Uni. +It specifies the executor to use when a subscription happens. + +While the snippet above uses `Uni`, you can also use `runSubscriptionOn` on a `Multi`. + +== Executing blocking calls on event + +Using `runSubscriptionOn` works when the blocking operation happens at subscription time. +But, when dealing with `Multi` and need to execute blocking operations for each item, you need to use `emitOn`. + +While `runSubscriptionOn` runs the subscription on the given executor, `emitOn` configures the executor used to propagate downstream the items, failure and completion events: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ImperativeToReactiveTest.java[tags=multi-emitOn,indent=0] +---- + +`emitOn` is also available on `Uni`. + +[WARNING] +==== + +Be careful as this operator can lead to concurrency problems with non thread-safe objects such as CDI request-scoped beans. +It might also break reactive-streams semantics with items being emitted concurrently. + +==== diff --git a/content/docs/smallrye-mutiny/latest/guides/integrate-a-non-reactive-source.adoc b/content/docs/smallrye-mutiny/latest/guides/integrate-a-non-reactive-source.adoc new file mode 100644 index 000000000..0b0a7982c --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/integrate-a-non-reactive-source.adoc @@ -0,0 +1,20 @@ += How can I create a Multi from a non-reactive source? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +The `UnicastProcessor` is an implementation of `Multi` that lets you enqueue items in a queue. + +The items are then dispatched to the subscriber using the request protocol. +While this pattern is against the idea of back-pressure, it lets you connect sources of data that do not support back-pressure with your subscriber. + +In the following example, the `UnicastProcessor` is used by a thread emitting items. +These items are enqueued in the processor and replayed when the subscriber is connected, following the request protocol. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UnicastProcessorTest.java[tags=code,indent=0] +---- + +By default, the `UnicastProcessor` uses an unbounded queue. +You can also pass a fixed size queue that would reject the items once full. diff --git a/content/docs/smallrye-mutiny/latest/guides/joining-unis.adoc b/content/docs/smallrye-mutiny/latest/guides/joining-unis.adoc new file mode 100644 index 000000000..eaaa1a204 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/joining-unis.adoc @@ -0,0 +1,67 @@ += Joining several unis +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +A `Uni` represents an operation that either emits a value or a failure. +Examples of operations that fit into a `Uni` include: HTTP client requests, database `insert` queries, sending messages to a broker, etc. + +It is common to trigger several _concurrent_ operations, then _join_ on the results. +For instance you can make HTTP requests to 3 different HTTP APIs, then collect all HTTP responses. +Or you can just take the response from the one who was the fastest. + +`Uni` offers the `join` group to assemble all results from a list of `Uni`, pick the first one that terminates, or pick the first one that terminates with a value. + +== Joining multiple unis + +Given multiple `Uni`, you can join them all and obtain a `Uni` that emits a list of values: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-all,indent=0] +---- + +The assembled values are in the same order as the list of unis. +The last call to `.andCollectFailures()` specifies that if one or several `Uni` fail, then the failures are assembled in a `CompositeException`. + +Sometimes you just want to _fail fast_ if any of the `Uni` fails, and not wait for all unis to terminate: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-all-ff,indent=0] +---- + +When any `Uni` fails, then the failure is directly forwarded as a failure of `res`. + +== Joining on the first Uni + +In some cases you do not want to have all the results but just that of the first `Uni` to respond. +There are actually 2 different cases, depending on whether you want the result of the first `Uni` that emits a value, or just the result of the first `Uni` to terminate. + +If you want to get the first `Uni` that terminates: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-first,indent=0] +---- + +If you want to have the first `Uni` that emits a value (and forget the first failures), then: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-first-withitem,indent=0] +---- + +When all unis fail then `res` fails with a `CompositeException` that reports all failures. + +== Using a builder object + +There are situations where it can be more convenient to gather the unis to join in an iterative fashion. +For this purpose you can use a builder object, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=builder,indent=0] +---- + +The builder offers `joinAll()` and `joinFirst()` methods. diff --git a/content/docs/smallrye-mutiny/latest/guides/kotlin.adoc b/content/docs/smallrye-mutiny/latest/guides/kotlin.adoc new file mode 100644 index 000000000..06fd1b4e3 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/kotlin.adoc @@ -0,0 +1,205 @@ += Kotlin integration +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +The module `mutiny-kotlin` provides an integration with Kotlin for use with coroutines and convenient language features. + +There are extension methods available for converting between Mutiny and Kotlin (coroutine) types. +For implementation details please have also a look to these methods' documentation. + +== Dependency coordinates + +The coroutine extension functions are shipped in the package `io.smallrye.mutiny.coroutines`. + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=importStatements,indent=0] +---- + +You need to add the following dependency to your project: + +[.tabs] +==== + +Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + mutiny-kotlin + {versions-mutiny} + +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.reactive:mutiny-kotlin:{versions-mutiny}") +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation "io.smallrye.reactive:mutiny-kotlin:{versions-mutiny}" +---- + +-- + +==== + +== Awaiting a Uni in coroutines + +Within a coroutine or suspend function you can easily await Uni events in a suspended way: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=uniAwaitSuspending,indent=0] +---- + +== Processing a Multi as Flow + +The coroutine `Flow` type matches `Multi` semantically, even though it isn't a feature complete reactive streams implementation. +You can process a `Multi` as `Flow` as follows: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=multiAsFlow,indent=0] +---- + +[NOTE] +==== + +There's no flow control availabe for Kotlin's `Flow`. Published items are buffered for consumption using a coroutine `Channel`. +The buffer size and overflow strategy of that `Channel` can be configured using optional arguments: +`Multi.asFlow(bufferCapacity = Channel.UNLIMITED, bufferOverflowStrategy = BufferOverflow.SUSPEND)`, +for more details please consult the method documentation. + +==== + +== Providing a Deferred value as Uni + +The other way around is also possible, let a Deferred become a Uni: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=deferredAsUni,indent=0] +---- + +== Creating a Multi from a Flow + +Finally, creating a Multi from a Flow is also possible: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=flowAsMulti,indent=0] +---- + +== Awaiting Multi results in coroutines + +You can consume `Multi` results directly from suspend functions without converting to `Flow` first: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiAwait.kt[tags=multiAwaitList,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiAwait.kt[tags=multiAwaitFirst,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiAwait.kt[tags=multiAwaitLast,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiAwait.kt[tags=multiAwaitEach,indent=0] +---- + +== Language convenience + +=== Unit instead of Void (null) value + +Kotlin has a special value type `Unit` similar to Java's `Void`. +While regular `Uni++<++Void++>++` holds a `null` item, you can get a `Unit` by using the extension function `replaceWithUnit()`: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/UniExt.kt[tags=uniReplaceWithUnit,indent=0] +---- + +=== Uni builder + +Building a `Uni` from Kotlin code can easily be achieved using the following builders available as regular or coroutine variant: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/UniExt.kt[tags=uniBuilder,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=uniBuilder,indent=0] +---- + +=== Multi builder + +Building a `Multi` from Kotlin code can be achieved using the `multi` builder, available as regular or coroutine variant: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiExt.kt[tags=multiBuilder,indent=0] +---- + +The builder accepts an optional back-pressure strategy: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiExt.kt[tags=multiBuilderBackPressure,indent=0] +---- + +A coroutine variant allows suspend calls within the builder: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiExt.kt[tags=multiBuilderSuspend,indent=0] +---- + +=== Tuple destructuring + +Mutiny's `Tuple2` through `Tuple9` support Kotlin destructuring declarations: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/TupleExt.kt[tags=tupleDestructuring,indent=0] +---- + +=== Typed failure handling + +Use reified generics for concise failure type matching on both `Uni` and `Multi`: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/FailureExt.kt[tags=uniReifiedOnFailure,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/FailureExt.kt[tags=multiReifiedOnFailure,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/logging.adoc b/content/docs/smallrye-mutiny/latest/guides/logging.adoc new file mode 100644 index 000000000..4135995b1 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/logging.adoc @@ -0,0 +1,66 @@ += Logging events +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +Both `Uni` and `Multi` offer a `log` operator that can be used to trace events as they flow through operators. + +Mutiny does not make any assumption on _how_ logging is defined, and does not rely on any specific logging API. + +== Using a logging operator + +The `log` method comes in 2 forms: one that takes an identifier and one that derives the identifier from the upstream class: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/OperatorLoggingTest.java[tags=log,indent=0] +---- + +Here the `log` operator traces all events between the `onItem().transform(...)` operator and the subscriber, as in the following output: + +.... +11:01:48.709 [main] INFO Multi.MultiMapOp.0 - onSubscription() +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - request(9223372036854775807) +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onItem(10) +>>> 10 +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onItem(20) +>>> 20 +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onItem(30) +>>> 30 +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onCompletion() +.... + +There are a few things to note here: + +[arabic] +. we are logging on a `Multi`, so the logging event is prefixed with `Multi` (and `Uni` in the case of a... `Uni`), and +. since we did not specify any identifier in the `log` method call, `MultiMapOp` has been derived from the preceding operator (non-qualified) class name, and +. since there can be multiple subscriptions an integer is appended to the identifier (`0`, `1`, `2`, ...). + +== Defining logging + +What happens when events are being logged is defined with the `Infrastructure` class. +Events are written by default to the standard console output in a format similar to: + +.... +[--> Multi.MultiMapOp.0 | onSubscription() +[--> Multi.MultiMapOp.0 | request(9223372036854775807) +[--> Multi.MultiMapOp.0 | onItem(10) +[--> Multi.MultiMapOp.0 | onItem(20) +[--> Multi.MultiMapOp.0 | onItem(30) +[--> Multi.MultiMapOp.0 | onCompletion() +.... + +The following is an example of configuring logging with http://www.slf4j.org++[++SLF4J++]++: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/OperatorLoggingTest.java[tags=set-logger,indent=0] +---- + +[TIP] +==== + +Note that this is only useful to do when embedding Mutiny in your own stack, some frameworks like https://quarkus.io[Quarkus] will already have defined the correct logging strategy. + +==== diff --git a/content/docs/smallrye-mutiny/latest/guides/merging-and-concatenating-streams.adoc b/content/docs/smallrye-mutiny/latest/guides/merging-and-concatenating-streams.adoc new file mode 100644 index 000000000..abe8c3428 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/merging-and-concatenating-streams.adoc @@ -0,0 +1,89 @@ += Merging and Concatenating Streams +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Merging or concatenating streams is a frequent operation which consists in taking multiple streams and creating a new `Multi` out of them. +Such an operation observes the items emitted by the different streams and produces a new `Multi` emitting the events. + +All the streams merged or concatenated this way should emit the same type of items. + +== The difference between merge and concatenate + +Understanding the difference between _merge_ and _concatenate_ is essential. + +When _merging_ streams, it observes the different upstreams and emits the items as they come. +If the streams emit their items concurrently, the items from the different streams are interleaved. + +[.has-dark] +image::images/diagrams/mermaid-74e1ac453bf9.svg[mermaid diagram] + +When using _merge_, failures are also propagated to the merged stream, and no more items are emitted after that failure. +The _completion_ event is only emitted by the merged stream when all the observed streams are completed. + +But if we want to keep the order of the observed stream, we need to _concatenate_. + +When _concatenating_, it waits for the first stream to complete before subscribing to the second one. Thus, it ensures that all the items from the first stream have been emitted before emitting the second stream items. It preserves an order corresponding to the source: + +[.has-dark] +image::images/diagrams/mermaid-c6f9029821c4.svg[mermaid diagram] + +When the first stream emits the completion event, it switches to the second stream, and so on. +When the last stream completes, the concatenated stream sends the completion event. +As for _merge_, if a stream fails then there won't be further events. + +== Merging Multis + +To create a new `Multi` from the _merge_ of multiple `Multi` streams use: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=merge,indent=0] +---- + +For example, we can merge multiple streams emitting periodical events: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=merge-ticks,indent=0] +---- + +and the output would be similar to: + +[source,text] +---- +Got item: Stream 1 - 0 +Got item: Stream 2 - 0 +Got item: Stream 3 - 0 +Got item: Stream 3 - 1 +Got item: Stream 1 - 1 +Got item: Stream 3 - 2 +Got item: Stream 2 - 1 +Got item: Stream 3 - 3 +Got item: Stream 1 - 2 +Got item: Stream 3 - 4 +Got item: Stream 3 - 5 +---- + +== Concatenating Multis + +To create a new `Multi` from the _concatenation_ of multiple `Multi` streams use: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=concat,indent=0] +---- + +Don't forget that the streams order matters in this case, as `(streamA, streamB)` does not provide the same result as `(streamB, streamA)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=concatenate-strings,indent=0] +---- + +[IMPORTANT] +==== + +If one of the concatenated streams is unbounded (infinite), the next streams in the list won't be consumed! + +==== diff --git a/content/docs/smallrye-mutiny/latest/guides/multi-split.adoc b/content/docs/smallrye-mutiny/latest/guides/multi-split.adoc new file mode 100644 index 000000000..d8427562a --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/multi-split.adoc @@ -0,0 +1,51 @@ += Splitting a Multi into several Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +It is possible to split a `Multi` into several `Multi` streams. + +== Using the split operator + +Suppose that we have a stream of strings that represent _signals_, and that we want a `Multi` for each kind of signal: + +* `?foo`, `?bar` are _input_ signals, +* `!foo`, `!bar` are _output_ signals, +* `foo`, `bar` are _other_ signals. + +To do that, we need a function that maps each item of the stream to its target stream. +The splitter API needs a Java enumeration to define keys, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SplitTest.java[tags=enum,indent=0] +---- + +Now we can use the `split` operator that provides a splitter object, and fetch individual `Multi` for each split stream using the `get` method: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SplitTest.java[tags=splits,indent=0] +---- + +This prints the following console output: + +.... +output - a +input - b +output - c +output - d +other - 123 +input - e +.... + +== Notes on using splits + +* Items flow when all splits have a subscriber. +* The flow stops when either of the subscribers cancels, or when any subscriber has a no outstanding demand. +* The flow resumes when all splits have a subscriber again, and when all subscribers have outstanding demand. +* Only one subscriber can be active for a given split. Other subscription attempts will receive an error. +* When a subscriber cancels, then a new subscription attempt on its corresponding split can succeed. +* Subscribing to an already completed or errored split results in receiving the terminal signal (`onComplete()` or `onFailure(err)`). +* The upstream `Multi` gets subscribed to when the first split subscription happens, no matter which split it is. +* The first split subscription passes its context, if any, to the upstream `Multi`. It is expected that all split subscribers share the same context object, or the behavior of your code will most likely be incorrect. diff --git a/content/docs/smallrye-mutiny/latest/guides/pagination.adoc b/content/docs/smallrye-mutiny/latest/guides/pagination.adoc new file mode 100644 index 000000000..8371841a0 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/pagination.adoc @@ -0,0 +1,46 @@ += How to use paginated APIs? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +There are many REST / HTTP APIs using pagination, _i.e._ return only a subset of the results and you need to request the next _page_ to get the next batch. +Each batch contains a list of item(s). + +To use this kind of API and generate a continuous stream of items, you need to use the `Multi.createBy().repeating()` function. +However, we need to pass a cursor / state to advance and avoid requesting again and again the same page. +Fortunately, `repeating` provides methods to pass a shared state. +So by combining these methods and `disjoint` you can generate streams from these pages: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PaginationTest.java[tags=code,indent=0] +---- + +First, you create a `Multi` containing the items emitted by the `CompletionStage` supplier and pass a state supplier to progress among the pages. + +Then, use `until` to call the paginated API until we have all the items. +At the point we have a stream of list of item such as `++[++"a", "b", "c"++]++, ++[++"d", "e"++]++, ++[]++`. +However, we want the following stream: `"a", "b", "c", "d", "e"`. +The `disjoint` method does exactly this. +It gets the items from the lists and passes them downstream: + +[.has-dark] +image::images/diagrams/mermaid-df98fc1dd069.svg[mermaid diagram] + +`Multi.createBy().repeating()` lets you choose the number of iterations using: + +* `atMost` - exact number of repetitions (or failure happens before reaching that number) +* `until` - the repetition is stopped if the item emitted by the `Uni` *passes* a test (predicate). +It does not propagate the item that did pass the check, and it stops the repetition. +The check verifies if the current item does not contain valid data. +* `whilst` - the repetition is stopped if the item emitted by the `Uni` *does not pass* a test (predicate). +It does propagate the item downstream even if the check does not pass. +However, it stops the repetition. +The test verifies if there is a _next_ batch to be retrieved. + +The following code illustrates the usage of `whilst`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PaginationTest.java[tags=code2,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/polling.adoc b/content/docs/smallrye-mutiny/latest/guides/polling.adoc new file mode 100644 index 000000000..88aa7115e --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/polling.adoc @@ -0,0 +1,21 @@ += How to use polling? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +There are many poll-based API around us. +Sometimes you need to use these APIs to generate a stream from the polled values. + +To do this, use the `repeat()` feature: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PollableSourceTest.java[tags=code,indent=0] +---- + +You can also stop the repetition using the `repeat().until()` method which will continue the repetition until the given predicate returns `true`, and/or directly create a `Multi` using `Multi.createBy().repeating()`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PollableSourceTest.java[tags=code2,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/reactive-to-imperative.adoc b/content/docs/smallrye-mutiny/latest/guides/reactive-to-imperative.adoc new file mode 100644 index 000000000..b1ede52c1 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/reactive-to-imperative.adoc @@ -0,0 +1,54 @@ += From reactive to imperative +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +There are use cases where you need the items in an imperative manner instead of asynchronous. +Typically, when you serve an HTTP request from a worker thread, you can block. + +Mutiny provides the ability to block until you get the items. + +== Awaiting on Uni's item + +When dealing with a `Uni,` you can block and await the item using: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=await,indent=0] +---- + +This method blocks the caller thread until the observed `uni` emits the item. +Note that the returned item can be `null` if the `uni` emits `null.` +If the `uni` fails, it throws the exception, wrapped in the `CompletionException` for _checked_ exception. + +Blocking forever may not be a great idea. +You can use `uni.await().atMost(Duration)` to pass a deadline. +When the deadline is reached, a `TimeoutException` is thrown: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=atMost,indent=0] +---- + +== Iterating over Multi's items + +When dealing with a `Multi,` you may want to iterate over the items using a simple "foreach." +You can achieve this using `multi.subscribe().asIterable()`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=iterable,indent=0] +---- + +The returned `iterable` is blocking. +It waits for the next items, and during that time, blocks the caller thread. + +The iteration ends once the last item is consumed. +If the `multi` emits a failure, an exception is thrown. + +Similar to `asIterable()`, the `asStream` method lets you retrieve a `java.util.stream.Stream`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=stream,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/replaying-multis.adoc b/content/docs/smallrye-mutiny/latest/guides/replaying-multis.adoc new file mode 100644 index 000000000..d2cc64c0e --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/replaying-multis.adoc @@ -0,0 +1,94 @@ += Replaying Multis +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +A `Multi` is a _cold-source_: no processing happens until you subscribe. + +While the `broadcast` operator can be used so that multiple subscribers consume a `Multi` events _at the same time_, it does not support replaying items for _late subscribers_: when a subscriber joins after the `Multi` has completed (or failed), then it won't receive any item. + +This is where _replaying_ can be useful. + +== Replaying all events + +Replaying all events from an upstream `Multi` works as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-all,indent=0] +---- + +Both `item++_++1` and `item++_++2` trigger new subscriptions, and both lists contain the following elements: + +.... +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +.... + +Replaying works by turning `upstream` into a _hot-stream_, meaning that it gets requested `Long.MAX++_++VALUE` elements. +This is done when the first subscription happens. + +The replay operator stores the items in an internal _replay log_, and then each subscriber gets to replay them. + +[IMPORTANT] +==== + +Subscribers demand and cancellation requests are honored while replaying, but `upstream` cannot be cancelled. + +Be careful with unbounded streams as you can exhaust memory! + +In such cases or when you need to replay large amounts of data, you might opt to use some eventing middleware rather than Mutiny replays. + +==== + +== Replaying the last 'n' events + +You can limit the number of elements to replay by using the `upTo` method: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-last,indent=0] +---- + +Each new subscriber gets to replay the last `n` elements from where the replay log is at subscription time. +For instance the first subscriber can observe all events, while a subscriber that joins 2 seconds later might not observe the earlier events. + +Since `Multi.createFrom().range(0, 10)` is an _immediate_ stream, both `item++_++1` and `item++_++2` lists contain the last items: + +.... +[7, 8, 9] +.... + +== Prepending with seed data + +In some cases you might want to prepend some _seed_ data that will be available for replay before the upstream starts emitting. + +You can do so using an `Iterable` to provide such seed data: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-seed,indent=0] +---- + +In which case subscribers can observe the following events: + +.... +[-10, -5, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +.... + +== Replay of failures and completions + +Subscribers get to observe not just items but also the failure and completion events: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-errors,indent=0] +---- + +Running this code yields the following output for any subscriber: + +.... +-> 7 +-> 8 +-> 9 +Failed: boom +.... diff --git a/content/docs/smallrye-mutiny/latest/guides/rx.adoc b/content/docs/smallrye-mutiny/latest/guides/rx.adoc new file mode 100644 index 000000000..b41ec4f0f --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/rx.adoc @@ -0,0 +1,31 @@ += Using map, flatMap and concatMap +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +If you are a seasoned reactive developer, you may miss the `map`, `flatMap`, `concatMap` methods. + +The Mutiny API is quite different from the _standard_ reactive eXtensions API. + +There are multiple reasons for this choice. +Typically, _flatMap_ is not necessarily well understood by every developer, leading to potentially catastrophic consequences. + +That being said, Mutiny provides the _map_, _flatMap_ and _concatMap_ methods, implementing the most common variant for each: + +[source,java] +---- +include::{examples-dir}/java/guides/RxTest.java[tags=rx,indent=0] +---- + +The Mutiny equivalents are: + +* `map -++>++ onItem().transform()` +* `flatMap -++>++ onItem().transformToUniAndMerge` and `onItem().transformToMultiAndMerge` +* `concatMap -++>++ onItem().transformToUniAndConcatenate` and `onItem().transformToMultiAndConcatenate` + +The following snippet demonstrates how to uses these methods: + +[source,java] +---- +include::{examples-dir}/java/guides/RxTest.java[tags=mutiny,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/shortcut-methods.adoc b/content/docs/smallrye-mutiny/latest/guides/shortcut-methods.adoc new file mode 100644 index 000000000..219dcdcb1 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/shortcut-methods.adoc @@ -0,0 +1,44 @@ += Shortcut methods +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +The Mutiny API is decomposed around the idea of groups, each group handling a specific event. +However, to avoid verbosity, Mutiny also exposes _shortcuts_ for the most used methods. +Be aware that these shorts, while making the code shorter, may harm the readability and understandability. + +To _peek_ at items, you can use the `invoke` method: + +[source,java] +---- +include::{examples-dir}/java/guides/ShortcutsTest.java[tags=invoke,indent=0] +---- + +`invoke` is a shortcut for `onItem().invoke(...)`. + +Mutiny also provides the `call` method for executing an action returning a `Uni`. +This is useful to execute an asynchronous action without modifying incoming item: + +[source,java] +---- +include::{examples-dir}/java/guides/ShortcutsTest.java[tags=call,indent=0] +---- + +`call` is a shortcut for `onItem().call(...)`. + +The following table lists the available shortcuts available by the `Uni` class: + +[width="100%",cols="41%,59%",options="header",] +|=== +|Shortcut |Equivalent +|`uni.map(x -++>++ y)` |`uni.onItem().transform(x -++>++ y)` +|`uni.flatMap(x -++>++ uni2)` |`uni.onItem().transformToUni(x -++>++ uni2)` +|`uni.chain(x -++>++ uni2)` |`uni.onItem().transformToUni(x -++>++ uni2)` +|`uni.invoke(x -++>++ System.out.println(x))` |`uni.onItem().invoke(x -++>++ System.out.println(x))` +|`uni.call(x -++>++ uni2)` |`uni.onItem().call(x -++>++ uni2)` +|`uni.eventually(() -++>++ System.out.println("eventually"))` |`uni.onTermination().invoke(() -++>++ System.out.println("eventually"))` +|`uni.eventually(() -++>++ uni2)` |`uni.onTermination().call((ignoredItem, ignoredError, ignoredCancellation) -++>++ uni2)` +|`uni.replaceWith(x)` |`uni.onItem().transform(ignored -++>++ x)` +|`uni.replaceWith(uni2)` |`uni.onItem().transformToUni(ignored -++>++ uni2)` +|`uni.replaceIfNullWith(x)` |`uni.onItem().ifNull().continueWith(x)` +|=== diff --git a/content/docs/smallrye-mutiny/latest/guides/spies.adoc b/content/docs/smallrye-mutiny/latest/guides/spies.adoc new file mode 100644 index 000000000..2a87e08e8 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/spies.adoc @@ -0,0 +1,71 @@ += Spying on events +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Spies are useful when you need to track which _events_ flow into a `Uni` or a `Multi`. +Spies can track events from groups such as `onItem()`, `onFailure()`, `onSubscribe()`, etc. + +The `io.smallrye.mutiny.helpers.spies.Spy` interface offers factory methods to spy on selected groups, or even on all groups. + +== Spying selected groups + +The following example spies on requests and completion group events: + +[source,java] +---- +include::{examples-dir}/java/guides/SpiesTest.java[tags=selected,indent=0] +---- + +The standard output stream shall display the following text: + +.... +1 +2 +3 +Number of requests: 9223372036854775807 +Completed? true +.... + +The number of requests corresponds to `Long.MAX++_++VALUE`, and a completion event was sent. + +[IMPORTANT] +==== + +It is important to note that spies observe and report events for all subscribers, not just one in particular. + +You should call the `.reset()` method on a given spy to resets its statistics such as the invocation count. + +==== + +== Spying all groups + +You can take advantage of a _global spy_ if you are interested in all event groups: + +[source,java] +---- +include::{examples-dir}/java/guides/SpiesTest.java[tags=global,indent=0] +---- + +Running the snippet above gives the following output: + +.... +1 +2 +3 +Number of requests: 9223372036854775807 +Cancelled? false +Failure? null +Items: [1, 2, 3] +.... + +[WARNING] +==== + +Tracking `onItem()` events on a `Multi` requires storing all items into a list, which can yield an out-of-memory +exception with large streams. + +In such cases consider using `Spy.onItem(multi, false)` to obtain a spy that does not store items, but that can +still report data such as the number of received events (see `spy.invocationCount()`). + +==== diff --git a/content/docs/smallrye-mutiny/latest/guides/take-skip-items.adoc b/content/docs/smallrye-mutiny/latest/guides/take-skip-items.adoc new file mode 100644 index 000000000..f466d1062 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/take-skip-items.adoc @@ -0,0 +1,116 @@ += Take/Skip the first or last items +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +Multi provides the ability to: + +* only forward items from the beginning of the observed multi, +* only forward the last items (and discard all the other ones), +* skip items from the beginning of the multi, +* skip the last items. + +These actions are available from the `multi.select()` and `multi.skip()` groups, allowing to, respectively, select and skip +items from upstream. + +== Selecting items + +The `multi.select().first` method forwards on the _n_ *first* items from the multi. +It forwards that amount of items and then sends the completion signal. +It also cancels the upstream subscription. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-first,indent=0] +---- + +[NOTE] +==== + +The `select().first()` method selects only the first item. + +==== + +If the observed multi emits fewer items, it sends the completion event when the upstream completes. + +Similarly, The `multi.select().last` operator forwards on the _n_ *last* items from the multi. +It discards all the items emitted beforehand. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-last,indent=0] +---- + +[NOTE] +==== + +The `select().last()` method selects only the last item. + +==== + +The `multi.select().first(Predicate)` operator forwards the items while the passed predicate returns `true`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-while,indent=0] +---- + +It calls the predicate for each item. +Once the predicate returns `false`, it stops forwarding the items downstream. +It also sends the completion event and cancels the upstream subscription. + +Finally, `multi.select().first(Duration)` operator picks the first items emitted during a given period. +Once the passed duration expires, it sends the completion event and cancels the upstream subscription. +If the observed multi completes before the passed duration, it sends the completion event. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-for,indent=0] +---- + +== Skipping items + +You can also skip items using `multi.skip()`. + +The `multi.skip().first(n)` method skips the _n_ *first* items from the multi. +It forwards all the remaining items and sends the completion event when the upstream multi completes. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-first,indent=0] +---- + +If the observed multi emits fewer items, it sends the completion event without emitting any items. + +[NOTE] +==== + +`skip().last()` drops only the very last item. + +==== + +Similarly, The `multi.skip().last(n)` operator skips on the _n_ *last* items from the multi: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-last,indent=0] +---- + +The `multi.skip().first(Predicate)` operator skips the items while the passed predicate returns `true`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-while,indent=0] +---- + +It calls the predicate for each item. +Once the predicate returns `false`, it stops discarding the items and starts forwarding downstream. + +Finally, `multi.skip().first(Duration)` operator skips the first items for a given period. +Once the passed duration expires, it sends the items emitted after the deadline downstream. +If the observed multi completes before the passed duration, it sends the completion event. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-for,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/testing.adoc b/content/docs/smallrye-mutiny/latest/guides/testing.adoc new file mode 100644 index 000000000..6722c54dd --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/testing.adoc @@ -0,0 +1,72 @@ += How can I write unit / integration tests? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +Mutiny provides subscribers for `Uni` and `Multi` offering helpful assertion methods. +You can use them to test pipelines. + +== Testing a Uni + +Here is an example to test a `Uni`: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=uni,indent=0] +---- + +You can also use predicate-based assertions and item inspection: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=uni-predicate,indent=0] +---- + +== Testing a Multi + +Testing a `Multi` pipeline is similar: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=multi,indent=0] +---- + +Predicate-based assertions work on `Multi` too: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=multi-predicate,indent=0] +---- + +== Declarative verification with AssertMulti + +For multi-item streams, `AssertMulti` provides a declarative step-by-step verifier. +Build a sequence of expectations, then call `verify()`: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=assert-multi,indent=0] +---- + +You can control demand explicitly for backpressure testing: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=assert-multi-demand,indent=0] +---- + +== Testing failures + +The assertions do not just focus on _good_ outcomes, you can also test failures as in: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=failing,indent=0] +---- + +With `AssertMulti`: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=assert-multi-failure,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/guides/unchecked-exceptions.adoc b/content/docs/smallrye-mutiny/latest/guides/unchecked-exceptions.adoc new file mode 100644 index 000000000..8b0f4206d --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/guides/unchecked-exceptions.adoc @@ -0,0 +1,42 @@ += Dealing with checked exceptions +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +When implementing your reactive pipeline, you write lots of functions (`java.util.function.Function`), consumers (`java.util.function.Consumer`), suppliers (`java.util.function.Supplier`) and so on. + +By default, you cannot throw checked exceptions. + +When integrating libraries throwing checked exceptions (like `IOException`) it's not very convenient to add a `try/catch` block and wrap the thrown exception into a runtime exception: + +[source,java] +---- +include::{examples-dir}/java/guides/UncheckedTest.java[tags=rethrow,indent=0] +---- + +Mutiny provides utilities to avoid having to do this manually. + +If your operation throws a _checked exception_, you can use the https://javadoc.io/doc/io.smallrye.reactive/mutiny/latest/io/smallrye/mutiny/unchecked/Unchecked.html[`io.smallrye.mutiny.unchecked.Unchecked`] wrappers. + +For example, if your synchronous transformation uses a method throwing a checked exception, wrap it using `Unchecked.function`: + +[source,java] +---- +include::{examples-dir}/java/guides/UncheckedTest.java[tags=transform,indent=0] +---- + +You can also wrap consumers such as in: + +[source,java] +---- +include::{examples-dir}/java/guides/UncheckedTest.java[tags=invoke,indent=0] +---- + +[TIP] +==== + +You can add the following import statement to simplify the usage of the provided methods: + +`import static io.smallrye.mutiny.unchecked.Unchecked.++*++;` + +==== diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-0277dcc2b534.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-0277dcc2b534.dark.svg new file mode 100644 index 000000000..4de452321 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-0277dcc2b534.dark.svg @@ -0,0 +1 @@ +SubscriberProcessorPublisherSubscriberProcessorPublishersubscribesubscribesubscriptionsubscriptionrequest(5)request(5)onItem("a")onItem("A")onItem("b")onItem("B")cancel()cancel() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-0277dcc2b534.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-0277dcc2b534.svg new file mode 100644 index 000000000..d390d8d76 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-0277dcc2b534.svg @@ -0,0 +1 @@ +SubscriberProcessorPublisherSubscriberProcessorPublishersubscribesubscribesubscriptionsubscriptionrequest(5)request(5)onItem("a")onItem("A")onItem("b")onItem("B")cancel()cancel() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-18f9a50c0627.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-18f9a50c0627.dark.svg new file mode 100644 index 000000000..61cbecb7f --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-18f9a50c0627.dark.svg @@ -0,0 +1 @@ +SubscriberemitOn(executor)MultiSubscriberemitOn(executor)MultiOn caller threadOn executor threadonItem(1)1onItem(1)2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-18f9a50c0627.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-18f9a50c0627.svg new file mode 100644 index 000000000..684d7dc80 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-18f9a50c0627.svg @@ -0,0 +1 @@ +SubscriberemitOn(executor)MultiSubscriberemitOn(executor)MultiOn caller threadOn executor threadonItem(1)1onItem(1)2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3b8d4c58438a.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3b8d4c58438a.dark.svg new file mode 100644 index 000000000..8454c6921 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3b8d4c58438a.dark.svg @@ -0,0 +1 @@ +SubscriberMulti(item)TransformerUniSubscriberMulti(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(item)4onItem(item)5onItem(item)6onItem(item)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3b8d4c58438a.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3b8d4c58438a.svg new file mode 100644 index 000000000..bfccc4178 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3b8d4c58438a.svg @@ -0,0 +1 @@ +SubscriberMulti(item)TransformerUniSubscriberMulti(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(item)4onItem(item)5onItem(item)6onItem(item)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3d4459e3c6a6.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3d4459e3c6a6.dark.svg new file mode 100644 index 000000000..2caf15c72 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3d4459e3c6a6.dark.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([1,a])4onItem(3)5onItem(b)6onItem([2,b])7onItem(c)8 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3d4459e3c6a6.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3d4459e3c6a6.svg new file mode 100644 index 000000000..2e8d7dc42 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-3d4459e3c6a6.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([1,a])4onItem(3)5onItem(b)6onItem([2,b])7onItem(c)8 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-491ff27a51a5.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-491ff27a51a5.dark.svg new file mode 100644 index 000000000..f66422d35 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-491ff27a51a5.dark.svg @@ -0,0 +1 @@ +ObserverStreamObserverStreamObserverStreamObserverStreamonItem("a")onItem("a")onItem("b")onItem("b")onItem("c")onFailure(err)onCompletion() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-491ff27a51a5.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-491ff27a51a5.svg new file mode 100644 index 000000000..767fb50f9 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-491ff27a51a5.svg @@ -0,0 +1 @@ +ObserverStreamObserverStreamObserverStreamObserverStreamonItem("a")onItem("a")onItem("b")onItem("b")onItem("c")onFailure(err)onCompletion() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-69aa56febc93.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-69aa56febc93.dark.svg new file mode 100644 index 000000000..03cc781bd --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-69aa56febc93.dark.svg @@ -0,0 +1 @@ +SubscriberCollect operatorMultiSubscriberCollect operatorMultionItem(1)1onItem(2)2onItem(3)3onItem([1, 2, 3])4 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-69aa56febc93.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-69aa56febc93.svg new file mode 100644 index 000000000..47b820123 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-69aa56febc93.svg @@ -0,0 +1 @@ +SubscriberCollect operatorMultiSubscriberCollect operatorMultionItem(1)1onItem(2)2onItem(3)3onItem([1, 2, 3])4 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-74e1ac453bf9.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-74e1ac453bf9.dark.svg new file mode 100644 index 000000000..222401383 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-74e1ac453bf9.dark.svg @@ -0,0 +1 @@ +Merged streamStream BStream AMerged streamStream BStream Asubscribe1subscribe2onSubscribe(s)3onItem(1)4onSubscribe(s)5onItem(2)6onItem(a)7onItem(3)8onItem(b)9onItem(c)10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-74e1ac453bf9.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-74e1ac453bf9.svg new file mode 100644 index 000000000..d0afbd3b0 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-74e1ac453bf9.svg @@ -0,0 +1 @@ +Merged streamStream BStream AMerged streamStream BStream Asubscribe1subscribe2onSubscribe(s)3onItem(1)4onSubscribe(s)5onItem(2)6onItem(a)7onItem(3)8onItem(b)9onItem(c)10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-76df06b35153.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-76df06b35153.dark.svg new file mode 100644 index 000000000..e6cc9fcb5 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-76df06b35153.dark.svg @@ -0,0 +1 @@ +SubscriberrunSubscriptionOn(executor)MultiSubscriberrunSubscriptionOn(executor)Multion Caller threadOn executor threadsubscribe1subscribe2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-76df06b35153.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-76df06b35153.svg new file mode 100644 index 000000000..137defedd --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-76df06b35153.svg @@ -0,0 +1 @@ +SubscriberrunSubscriptionOn(executor)MultiSubscriberrunSubscriptionOn(executor)Multion Caller threadOn executor threadsubscribe1subscribe2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-bc092005fd3f.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-bc092005fd3f.dark.svg new file mode 100644 index 000000000..285c0bc42 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-bc092005fd3f.dark.svg @@ -0,0 +1 @@ +DownstreamReturned UnisonItem().call(...)MultiDownstreamReturned UnisonItem().call(...)Multiitem11item12result13result14item25item26result27result28item39item310result311result312 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-bc092005fd3f.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-bc092005fd3f.svg new file mode 100644 index 000000000..2f934d514 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-bc092005fd3f.svg @@ -0,0 +1 @@ +DownstreamReturned UnisonItem().call(...)MultiDownstreamReturned UnisonItem().call(...)Multiitem11item12result13result14item25item26result27result28item39item310result311result312 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c54f60b30f42.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c54f60b30f42.dark.svg new file mode 100644 index 000000000..ba93b01b7 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c54f60b30f42.dark.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(a)2onItem([1,a])3onItem(2)4onItem(b)5onItem([2,b])6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c54f60b30f42.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c54f60b30f42.svg new file mode 100644 index 000000000..07645de13 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c54f60b30f42.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(a)2onItem([1,a])3onItem(2)4onItem(b)5onItem([2,b])6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c6f9029821c4.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c6f9029821c4.dark.svg new file mode 100644 index 000000000..42e751a5c --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c6f9029821c4.dark.svg @@ -0,0 +1 @@ +Concatenated streamStream BStream AConcatenated streamStream BStream Asubscribe1onSubscribe(s)2onItem(1)3onItem(2)4onItem(3)5onCompletion()6subscribe7onSubscribe(s)8onItem(a)9onItem(b)10onItem(c)11 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c6f9029821c4.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c6f9029821c4.svg new file mode 100644 index 000000000..64a7d800c --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-c6f9029821c4.svg @@ -0,0 +1 @@ +Concatenated streamStream BStream AConcatenated streamStream BStream Asubscribe1onSubscribe(s)2onItem(1)3onItem(2)4onItem(3)5onCompletion()6subscribe7onSubscribe(s)8onItem(a)9onItem(b)10onItem(c)11 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-cbd13fb6d19b.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-cbd13fb6d19b.dark.svg new file mode 100644 index 000000000..bb108b131 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-cbd13fb6d19b.dark.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Events source

Events source

Publisher

Publisher

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-cbd13fb6d19b.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-cbd13fb6d19b.svg new file mode 100644 index 000000000..4d0a969d8 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-cbd13fb6d19b.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Events source

Events source

Publisher

Publisher

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-df98fc1dd069.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-df98fc1dd069.dark.svg new file mode 100644 index 000000000..89e1b6bf2 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-df98fc1dd069.dark.svg @@ -0,0 +1 @@ +SubscriberDisjoint operatorMultiSubscriberDisjoint operatorMultionItem([a,b,c])1onItem(a)2onItem(b)3onItem(c)4onItem([d,e])5onItem(d)6onItem(e)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-df98fc1dd069.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-df98fc1dd069.svg new file mode 100644 index 000000000..876990fe8 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-df98fc1dd069.svg @@ -0,0 +1 @@ +SubscriberDisjoint operatorMultiSubscriberDisjoint operatorMultionItem([a,b,c])1onItem(a)2onItem(b)3onItem(c)4onItem([d,e])5onItem(d)6onItem(e)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e6dd95e32a3f.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e6dd95e32a3f.dark.svg new file mode 100644 index 000000000..32d6a669c --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e6dd95e32a3f.dark.svg @@ -0,0 +1 @@ +SubscriberTransformerMultiSubscriberTransformerMultionItem(a1)1onItem(a2)2onItem(b1)3onItem(b2)4onItem(c1)5onItem(c2)6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e6dd95e32a3f.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e6dd95e32a3f.svg new file mode 100644 index 000000000..deda34e8f --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e6dd95e32a3f.svg @@ -0,0 +1 @@ +SubscriberTransformerMultiSubscriberTransformerMultionItem(a1)1onItem(a2)2onItem(b1)3onItem(b2)4onItem(c1)5onItem(c2)6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e88e1918cd26.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e88e1918cd26.dark.svg new file mode 100644 index 000000000..1c70d18eb --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e88e1918cd26.dark.svg @@ -0,0 +1 @@ +DownstreamonItem().invoke(...)MultiDownstreamonItem().invoke(...)Multicallback executionitem11item12item23item24item35item36 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e88e1918cd26.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e88e1918cd26.svg new file mode 100644 index 000000000..8f33f491e --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-e88e1918cd26.svg @@ -0,0 +1 @@ +DownstreamonItem().invoke(...)MultiDownstreamonItem().invoke(...)Multicallback executionitem11item12item23item24item35item36 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f0001b5cde9f.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f0001b5cde9f.dark.svg new file mode 100644 index 000000000..1c1b80e53 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f0001b5cde9f.dark.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([2,a])4onItem(3)5onItem([3,a])6onItem(b)7onItem([3,b])8onItem(c)9onItem([3,c])10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f0001b5cde9f.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f0001b5cde9f.svg new file mode 100644 index 000000000..5818402e1 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f0001b5cde9f.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([2,a])4onItem(3)5onItem([3,a])6onItem(b)7onItem([3,b])8onItem(c)9onItem([3,c])10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f67adb6018b3.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f67adb6018b3.dark.svg new file mode 100644 index 000000000..a4bf8bbf3 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f67adb6018b3.dark.svg @@ -0,0 +1 @@ +SubscriberUni(item)TransformerUniSubscriberUni(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(result)4onItem(result)5 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f67adb6018b3.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f67adb6018b3.svg new file mode 100644 index 000000000..3fbcf4900 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f67adb6018b3.svg @@ -0,0 +1 @@ +SubscriberUni(item)TransformerUniSubscriberUni(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(result)4onItem(result)5 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f71496c9eae5.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f71496c9eae5.dark.svg new file mode 100644 index 000000000..5bb4124ce --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f71496c9eae5.dark.svg @@ -0,0 +1 @@ +SubscriberProcessor 2Processor 1PublisherSubscriberProcessor 2Processor 1PublisheronItemonItemonItemonItemonItemonItemonCompletiononCompletiononCompletion \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f71496c9eae5.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f71496c9eae5.svg new file mode 100644 index 000000000..fc83f5b8c --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f71496c9eae5.svg @@ -0,0 +1 @@ +SubscriberProcessor 2Processor 1PublisherSubscriberProcessor 2Processor 1PublisheronItemonItemonItemonItemonItemonItemonCompletiononCompletiononCompletion \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f74f7917dcf7.dark.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f74f7917dcf7.dark.svg new file mode 100644 index 000000000..a36cee964 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f74f7917dcf7.dark.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f74f7917dcf7.svg b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f74f7917dcf7.svg new file mode 100644 index 000000000..b92c0941f --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/images/diagrams/mermaid-f74f7917dcf7.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/latest/index.adoc b/content/docs/smallrye-mutiny/latest/index.adoc new file mode 100644 index 000000000..74b38c67d --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/index.adoc @@ -0,0 +1,88 @@ += Mutiny -- Intuitive Event-Driven Reactive Programming Library for Java +include::_attributes.adoc[] + +[source,java] +---- +Uni request = makeSomeNetworkRequest(params); + +request.ifNoItem().after(ofMillis(100)) + .failWith(() -> new TooSlowException("💥")) + .onFailure(IOException.class).recoverWithItem(fail -> "📦") + .subscribe().with( + item -> log("👍 " + item), + err -> log(err.getMessage()) + ); +---- + +xref:tutorials/getting-mutiny.adoc[Get Mutiny {versions-mutiny},role=button] + +[.cards] +-- + +**** + +[discrete] +== Event-Driven + +Mutiny places _events_ at the core of its design. + +With Mutiny, you observe _events_, _react_ to them, and create elegant and readable processing pipelines. + +A PhD in functional programming is not required. + +**** + +**** + +[discrete] +== Navigable + +Even with smart code completion, classes with hundreds of methods are confusing. + +Mutiny provides a navigable and explicit API driving you towards the operator you need. + +**** + +**** + +[discrete] +== Non-blocking I/O + +Mutiny is the perfect companion to tame the asynchronous nature of applications with non-blocking I/O. + +Compose operations in a declarative fashion, transform data, enforce progress, recover from failures and more. + +**** + +**** + +[discrete] +== Quarkus and Vert.x native + +Mutiny is integrated in https://quarkus.io[Quarkus] where every reactive API uses Mutiny, and https://vertx.io[Eclipse Vert.x] clients are made available using Mutiny bindings. + +Mutiny is however an independent library that can ultimately be used in any Java application. + +**** + +**** + +[discrete] +== Made for an asynchronous world + +Mutiny can be used in any asynchronous application such as event-driven microservices, message-based applications, network utilities, data stream processing, and of course... reactive applications! + +**** + +**** + +[discrete] +== Reactive Converters Built-In + +Mutiny is based on the https://www.reactive-streams.org/[Reactive Streams protocol] and https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow], and so it can be integrated with any other reactive programming library. + +In addition, it proposes _converters_ to interact with other popular libraries. + +**** + +-- diff --git a/content/docs/smallrye-mutiny/latest/reference/distributed_systems_are_asynchronous.dark.png b/content/docs/smallrye-mutiny/latest/reference/distributed_systems_are_asynchronous.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..3067663edb2fd3f48add9cfcc233d7827a5e075d GIT binary patch literal 113808 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%0DE@I$^EEyMIc!|#w|5WIK~B$ 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�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 `fetch` method: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=noMagicJoin,indent=0] +---- + +You might think that the `join` operator schedules the calls to `fetch` to be run concurrently, and then collects the results into a list. +This is not how it works! + +The `join` operator does subscribe to each `Uni++<++String++>++` returned by each call to `fetch`. +When it receives a value, it puts it into a list, and when all values have been received, that list is emitted. +The threads involved here are the ones that emit values in `fetch`. +If `fetch` uses async I/O underneath then you should observe true concurrency, but if `fetch` just emits a value right when the subscription happens then you will merely observe a sequential execution of each call to `fetch`, in order. + +== When to prefer `Uni++<++List++<++T++>>++` over `Multi++<++T++>++` + +The reason why `Multi` exists is to model streams over back-pressured sources. +By conforming to the https://www.reactive-streams.org/[Reactive Streams protocol], a `Multi` respects the control flow requests from its subscribers, avoiding classic problems such as a fast producer and a slow consumer that can yield to memory exhaustion problems. + +That being said, not everything is a stream. +Take the example of relational databases: *databases don't stream!* (for the most parts) + +When you do a query such as `SELECT ++*++ FROM ABC WHERE INDEX ++<++ 123`, you get result rows. +While you might wrap the results in a `Multi++<++Row++>++` as a convenience, the network protocol of the database still sends you all `Row` values and is very unlikely to support any notion of back-pressure on a SQL query result. + +This is why `Uni++<++List++<++Row++>>++` is in this case a better representation of an asynchronous operation than `Multi++<++Row++>++`, because the underlying networked service protocol does not provide you with any back-pressured stream. + +== Creating `Uni` and `Multi` from in-memory data might be suspicious + +You will find lots of occurrences of creating `Uni` and `Multi` from in-memory data in this documentation, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=inMemoryData,indent=0] +---- + +This is convenient and expected when creating tests and examples, but this should be a strong warning in production. +Indeed, if we have a method such as the following: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=suspiciousPublisher,indent=0] +---- + +then it is clear that there is nothing _"reactive"_ in this code _(sadly, you can find such idioms in some well-known "reactive" client libraries, but we digress)_. + +As a rule of thumb, if your *initial* publisher does not make any I/O operation and it already has the data available in memory, then it is suspicious: + +* if it is a `Uni`, then it does not really model an asynchronous I/O operation because the data is already here, and +* if it is a `Multi` then not only there is no asynchronous I/O operation involved, but there is no need for a back-pressure protocol either (see the previous section). + +What is not suspicious however is to create, say, a `Multi` to perform a transformation operation: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=flatmap-ism,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/reference/migrating-to-mutiny-2.adoc b/content/docs/smallrye-mutiny/latest/reference/migrating-to-mutiny-2.adoc new file mode 100644 index 000000000..c036345db --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/reference/migrating-to-mutiny-2.adoc @@ -0,0 +1,52 @@ += Migrating to Mutiny 2 +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +The upgrade is transparent for most code bases that _use_ Mutiny in applications (e.g., Quarkus applications). + +== Highlights + +* Mutiny 2 is a major release with source and binary incompatible changes to the Mutiny `0.x` and `1.x` series. +* The main highlight of Mutiny 2 is that it is now based on top of the `java.util.concurrent.Flow` APIs instead of the legacy _Reactive Streams APIs_. +* The `Flow` APIs have been part of the JDK since Java 9, and they are the modern _Reactive Streams APIs_. +* Mutiny remains a faithful implementation of the _Reactive Streams_ specification and passes the `Flow` variant of the _Reactive Streams TCK_. +* Deprecated APIs in Mutiny `1.x` have been removed, and experimental APIs have been promoted. + +== Impact of the switch from legacy Reactive Streams APIs to JDK Flow + +* The `Flow` types are isomorphic to the legacy _Reactive Streams API_ types. +* We recommend that you migrate to `Flow` in your own code bases. +* You should encourage third-party libraries to migrate to `Flow`. +* You can always use _adapters_ to go back and forth between `Flow` and legacy _Reactive Streams_ types. + +=== General guidelines + +* If your code _only uses_ `Uni` and `Multi` (i.e., not `org.reactivestreams.Publisher`), then you will be source-compatible with Mutiny 2. You should still recompile and check that your test suites pass. +* If you expose `Multi` as a `org.reactivestreams.Publisher` then you will either need an _adapter_ (see below) or migrate to `java.util.concurrent.Flow.Publisher`. +* If you interact with `org.reactivestreams.Publisher` publishers and you can't migrate them to `java.util.concurrent.Flow.Publisher` (e.g., because it is a third-party library), then you will need an _adapter_. Please encourage third-party libraries to migrate to `Flow`. + +=== Adapters between Flow and legacy Reactive Streams APIs + +* We recommend using the adapters from the https://smallrye.io/smallrye-mutiny-zero[Mutiny Zero project]. +** The Maven coordinates are `groupId: io.smallrye.reactive`, `artifactId: mutiny-zero-flow-adapters` +** Use `AdaptersToFlow` to convert from _Reactive Streams_ types to `Flow` types, and +** Use `AdaptersToReactiveStreams` to convert `Flow` types to _Reactive Streams_ types. +* The Mutiny Zero adapters have virtually zero overhead. + +== Other API changes + +=== Deprecated API removals + +* `Uni` and `Multi` `onSubscribe()` group is now `onSubscription()`. +* `AssertSubscriber.await()` has been replaced by event-specific methods (items, failure, completion, etc). +* The _RxJava 2_ integration module has been discarded (only RxJava 3 is now supported). + +=== Experimental API promotions + +* `Uni` and `Multi` subscription-bound contexts. +* `Uni.join()` publisher. +* `.ifNoItem()` timeout operators. +* `Uni` and `Multi` spies. +* `capDemandsUsing()` and `paceDemand()` request management operators. +* `Multi` `replay()` operator. diff --git a/content/docs/smallrye-mutiny/latest/reference/publications.adoc b/content/docs/smallrye-mutiny/latest/reference/publications.adoc new file mode 100644 index 000000000..05db24027 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/reference/publications.adoc @@ -0,0 +1,18 @@ += Publications +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,advanced + +Julien Ponge, Arthur Navarro, Clément Escoffier, and Frédéric Le Mouël. 2021. +*https://doi.org/10.1145/3486605.3486788[Analysing the Performance and Costs of Reactive Programming Libraries in Java].* +_In Proceedings of the 8th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems (REBLS ’21)_, October 18, 2021, Chicago, IL, USA. ACM, New York, NY, USA, 10 pages. +https://hal.inria.fr/hal-03409277/document[(PDF)] + +____ +Modern services running in cloud and edge environments need to be resource-efficient to increase deployment density and reduce operating costs. +Asynchronous I/O combined with asynchronous programming provides a solid technical foundation to reach these goals. +Reactive programming and reactive streams are gaining traction in the Java ecosystem. +However, reactive streams implementations tend to be complex to work with and maintain. +This paper discusses the performance of the three major reactive streams compliant libraries used in Java applications: RxJava, Project Reactor, and SmallRye Mutiny. +As we will show, advanced optimization techniques such as operator fusion do not yield better performance on realistic I/O-bound workloads, and they significantly increase development and maintenance costs. +____ diff --git a/content/docs/smallrye-mutiny/latest/reference/uni-and-multi.adoc b/content/docs/smallrye-mutiny/latest/reference/uni-and-multi.adoc new file mode 100644 index 000000000..bc8181723 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/reference/uni-and-multi.adoc @@ -0,0 +1,44 @@ += Uni and Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +Mutiny defines two _reactive_ types: + +* `Multi` - represents streams of ++_++0..++*_++ items (potentially unbounded) +* `Uni` - represents streams receiving either an item or a failure + +[TIP] +==== + +The Mutiny name comes from the contraction of `Multi` and `Uni` names + +==== + +Both `Uni` and `Multi` are asynchronous types. +They receive and fire events at any time. + +You may wonder why we make the distinction between `Uni` and `Multi.` +Conceptually, a `Uni` is a `Multi,` right? + +In practice, you don't use `Unis` and `Multis` the same way. +The use cases and operations are different. + +* `Uni` does not need the complete ceremony presented above as the _request_ does not make sense. +* The `subscribe` event expresses the interest and triggers the computation, no need for an additional _request_. +* `Uni` can handle items having a `null` value (and has specific methods to handle this case). +* `Multi` does not allow it (because the Reactive Streams specification forbids it). +* Having a `Uni` implementing `Publisher` would be a bit like having `Optional` implementing `Iterable`. + +In other words, `Uni`: + +* can receive at most 1 `item` event, or a `failure` event +* cannot receive a `completion` event (`null` in the case of 0 items) +* cannot receive a `request` event + +The following snippet shows how you can use `Uni` and `Multi`: + +[source,java] +---- +include::{examples-dir}/java/guides/UniMultiComparisonTest.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/reference/what-is-reactive-programming.adoc b/content/docs/smallrye-mutiny/latest/reference/what-is-reactive-programming.adoc new file mode 100644 index 000000000..d68a976ae --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/reference/what-is-reactive-programming.adoc @@ -0,0 +1,32 @@ += What is Reactive Programming? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +Mutiny is a reactive programming library. +If you look on Wikipedia for reactive programming, you will find the following definition: + +____ +Reactive Programming combines functional programming, the observer pattern, and the iterable pattern. +____ + +While correct, we never found this definition very helpful. +It does not convey clearly what's reactive programming is all about. +So, let's make another definition, much more straightforward: + +____ +Reactive programming is about programming with data streams. +____ + +That's it. +Reactive programming is about streams and especially, observing them. +It pushes that idea to its limit: with reactive programming, everything is a data stream. + +With reactive programming, you observe streams and implement side effects when _something_ flows in the stream: + +[.has-dark] +image::images/diagrams/mermaid-491ff27a51a5.svg[mermaid diagram] + +It's asynchronous by nature as you don't know when the _data_ is going to be seen. +Yet, reactive programming goes beyond this. +It provides a toolbox to compose streams and process events. diff --git a/content/docs/smallrye-mutiny/latest/reference/what-makes-mutiny-different.adoc b/content/docs/smallrye-mutiny/latest/reference/what-makes-mutiny-different.adoc new file mode 100644 index 000000000..0ef8e094a --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/reference/what-makes-mutiny-different.adoc @@ -0,0 +1,110 @@ += What makes Mutiny different? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +There are other reactive programming libraries out there. +In the Java world, we can mention Project Reactor and Rx Java. + +So, what makes Mutiny different from these two well-known libraries? +*The API!* + +Asynchronous is hard to grasp for most developers, and for good reasons. +Thus, the API must not require advanced knowledge or add cognitive overload. +It should help you design your logic and still be intelligible when you return to the code 6 months later. + +To achieve this, Mutiny is built on three pillars: + +* *Event-Driven* - with Mutiny, you listen for _events_ and handle them, +* *API Navigability* - based on the event-driven nature, the API is built around the type of events and drive the navigation based on the kind of event you want to handle, +* *Simplicity* - Mutiny provides only two types (`Multi` and `Uni`), which can handle any kind of asynchronous interactions. + +== Events? + +When you use Mutiny, you design a pipeline in which the events flow. +Your code observes these events and react. + +Each processing stage is a new pipe you append to the pipeline. +This pipe may change the events, create new ones, drops, buffers, whatever you need. + +In general, events flow from upstream to downstream, from source to sinks. +Some events can _swim_ upstream from the sinks to the source. + +Events going from upstream to downstream are published by `Publishers` and consumed by (downstream) `Subscribers,` which may also produce events for their own downstream, as illustrated by the following diagram: + +[.has-dark] +image::images/diagrams/mermaid-f71496c9eae5.svg[mermaid diagram] + +Four types of events can flow in this direction: + +* *Subscribed* - indicates that the upstream has taken into account the subscription - more on this later, +* *Items* - events containing some (business) _value_, +* *Completion* - event indicating that the source won't emit any more items, +* *Failure* - event telling that something terrible happened upstream and that the source cannot continue to emit items. + +`Failure` and `Completion` are terminal events. +Once they are sent, no more items will flow. + +Three types of events flow in the opposite direction, _i.e._ from downstream to upstream: + +* *Subscription* - event sent by a _subscriber_ to indicate its interest for the events (such as items) emitted by upstream +* *Requests* - event sent by a _subscriber_ indicating how many items event it can handle - this is related to back-pressure +* *Cancellation* - event sent by a _subscriber_ to stop the reception of events. + +In a typical scenario: + +[arabic] +. A subscriber _subscribes_ to the upstream - the upstream receive the `subscription request`, and when initialized sends the `subscribed` event to the subscriber +. The subscriber gets the `subscribed` event with a _subscription_ used to emit the `requests` and `cancellation` events +. The subscriber sends a `request` event indicating how many items it can handle at this moment; it can request 1, _n_, or infinite. +. The publisher receiving the `request` event starts emitting at most _n_ item events to the subscriber +. The subscriber can decide at any time to request more events or to cancel the subscription + +[.has-dark] +image::images/diagrams/mermaid-0277dcc2b534.svg[mermaid diagram] + +The `request` event is the cornerstone of the back-pressure protocol. +A subscriber should not request more than what it can handle, and a publisher should not emit more items than the amount of request received. + +[NOTE] +==== + +Mutiny uses the https://www.reactive-streams.org/[Reactive Streams] protocol for back-pressure management and the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow APIs]. + +==== + +[IMPORTANT] +==== + +Don't forget to subscribe! + +If no subscriber _subscribes_, no items will be emitted. +More importantly, nothing will ever happen. + +If your program does not do anything, check that it subscribes, it's a very common error. + +==== + +== An event-driven API? + +Mutiny is an event-driven API. + +For each type of event, there is an `on` associated method that lets you handle this specific event. +For example: + +[source,java] +---- +include::{examples-dir}/java/guides/EventsTest.java[tags=code,indent=0] +---- + +Of course, the methods presented in this snippet are not very interesting, although they are quite useful to trace what's going on. + +You can see a common pattern emerging: + +[source,java] +---- +.onEvent().invoke(event -> ...); +---- + +`invoke` is just one of the methods available. +Each _group_ proposes methods specific to the type of event. For example, `onFailure().recover`, `onCompletion().continueWith` and so on. diff --git a/content/docs/smallrye-mutiny/latest/reference/why-is-asynchronous-important.adoc b/content/docs/smallrye-mutiny/latest/reference/why-is-asynchronous-important.adoc new file mode 100644 index 000000000..b9c4e2774 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/reference/why-is-asynchronous-important.adoc @@ -0,0 +1,46 @@ += Why is asynchronous important? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +We are living in a distributed world. + +Most of the applications built nowadays are distributed systems. +The Cloud, IoT, microservices, mobile application, even simple CRUD applications are distributed applications. + +Still, developing distributed systems is hard! + +.Distributed systems are asynchronous +[.has-dark] +image::reference/distributed_systems_are_asynchronous.png[Distributed systems are asynchronous] + +Communications in distributed systems are inherently asynchronous and unreliable. +Anything can go wrong, anytime, and often with no prior notice. + +Network disruptions, unavailable services, software, or hardware failures are just a tiny subset of the wide variety of failures that can happen in distributed systems. + +_Correctly_ building distributed applications is a considerable challenge, as it requires re-assessing almost everything we know from traditional software development. + +Most classic applications use a synchronous development model. +Synchronous code is easy to reason about, more comfortable to write and read than asynchronous code, but it has some hidden cost. +This cost emerges when building I/O intensive applications, quite common in distributed applications. + +In general, these traditional applications assign one thread per request, and so they handle multiple concurrent requests with multiple threads. +When the request processing needs to interact over the network, it uses that _worker_ thread, which blocks the thread until the response has been received. +This response may never come, so you need to add watchdogs handling timeouts and other resilience patterns. +And, to handle more requests concurrently, you need to create more threads. + +Threads come at a cost. +Each thread requires memory, and the more threads you have, the more CPU cycles are used to handle the context switches. +Thus, this model ends up being costly, limits the deployment density, and on the Cloud means that you pay bigger bills. + +Fortunately, there is another way, and it relies on non-blocking I/O, an efficient way to handle I/O interactions that do not require additional threads. +While applications using non-blocking I/O are more efficient and better suited for the Cloud's distributed nature, they come with a considerable constraint: you must never block the I/O thread. + +Thus, you need to implement your business logic using an asynchronous development model. + +I/O is not the only reason why asynchronous is essential in Today's systems. +Most of the interactions in the real world are asynchronous and event-driven. +Representing these interactions using synchronous processes is not only wrong; it also introduces fragility in your application. + +Asynchronous is a significant shift. +Mutiny helps you to take the plunge. diff --git a/content/docs/smallrye-mutiny/latest/tags-index.adoc b/content/docs/smallrye-mutiny/latest/tags-index.adoc new file mode 100644 index 000000000..6f43a9375 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tags-index.adoc @@ -0,0 +1,24 @@ += Index +include::_attributes.adoc[] + +== Document kinds + +[width="100%",cols="18%,82%",options="header",] +|=== +|Tag |Description +|`tutorial` |Tutorials to get started with Mutiny. +|`guides` |Topic-centric guides on how to use Mutiny. +|`reference` |Reference documents to understand core concepts in Mutiny. +|=== + +== Audience level + +[cols=",",options="header",] +|=== +|Tag |Description +|`beginner` |Reading materials if you are new to Mutiny +|`intermediate` |Intermediate operations beyond the basics +|`advanced` |Advanced operations beyond classic usage of Mutiny +|=== + +== Tags diff --git a/content/docs/smallrye-mutiny/latest/tutorials/creating-multi-pipelines.adoc b/content/docs/smallrye-mutiny/latest/tutorials/creating-multi-pipelines.adoc new file mode 100644 index 000000000..8d551c63f --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tutorials/creating-multi-pipelines.adoc @@ -0,0 +1,152 @@ += Creating `Multi` pipelines +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +A `Multi` represents a _stream_ of data. +A stream can emit 0, 1, n, or an infinite number of items. + +You will rarely create instances of `Multi` yourself but instead use a reactive client that exposes a Mutiny API. +Still, just like `Uni` there exists a rich API for creating `Multi` objects. + +== The Multi type + +A `Multi++<++T++>++` is a data stream that: + +* emits `0..n` item events +* emits a failure event +* emits a completion event for bounded streams + +[WARNING] +==== + +Failures are terminal events: after having received a failure no further item will be emitted. + +==== + +`Multi++<++T++>++` provides many operators that create, transform, and orchestrate `Multi` sequences. +The operators can be used to define a processing pipeline. +The events flow in this pipeline, and each operator can process or transform the events. + +`Multis` are lazy by nature. +To trigger the computation, you must subscribe. + +The following snippet provides a simple example of pipeline using `Multi`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=pipeline,indent=0] +---- + +== Subscribing to a Multi + +Remember, if you don't subscribe, nothing is going to happen. +Also, the pipeline is materialized for each _subscription_. + +When subscribing to a `Multi,` you can pass an item callback (invoked when the item is emitted), or pass two callbacks, one receiving the item and one receiving the failure, or three callbacks to handle respectively the item, failure and completion events. + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=subscription,indent=0] +---- + +Note the returned `Cancellable`: this object allows canceling the stream if need be. + +== Creating Multi from items + +There are many ways to create `Multi` instances. +See `Multi.createFrom()` to see all the possibilities. + +For instance, you can create a `Multi` from known items or from an `Iterable`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=simple,indent=0] +---- + +Every subscriber receives the same set of items (`1`, `2`... `5`) just after the subscription. + +You can also use `Suppliers`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=supplier,indent=0] +---- + +The `Supplier` is called for every subscriber, so each of them will get different values. + +[TIP] +==== + +You can create ranges using `Multi.createFrom().range(start, end)`. + +==== + +== Creating failing Multis + +Streams can also fail. + +Failures are used to indicate to the downstream subscribers that the source encountered a terrible error and cannot continue emitting items. +Create failed `Multi` instances with: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=failed,indent=0] +---- + +== Creating empty Multis + +Unlike `Uni,` `Multi` streams don't send `null` items (this is forbidden in _reactive streams_). + +Instead `Multi` streams send completion events indicating that there are no more items to consume. +Of course, the completion event can happen even if there are no items, creating an empty stream. + +You can create such a stream using: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=empty,indent=0] +---- + +== Creating Multis using an emitter (_advanced_) + +You can create a `Multi` using an emitter. +This approach is useful when integrating callback-based APIs: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=emitter,indent=0] +---- + +The emitter can also send a failure. +It can also get notified of cancellation to, for example, stop the work in progress. + +== Creating Multis from _ticks_ (_advanced_) + +You can create a stream that emit a _ticks_ periodically: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=ticks,indent=0] +---- + +The downstream receives a `long,` which is a counter. +For the first tick, it's 0, then 1, then 2, and so on. + +== Creating Multis from a generator (_advanced_) + +You can create a stream from some _initial state_, and a _generator function_: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=generator,indent=0] +---- + +The initial state is given through a supplier (here `() -++>++ 1`). +The generator function accepts 2 arguments: + +* the current state, +* an emitter that can emit a new item, emit a failure, or emit a completion. + +The generator function return value is the next _current state_. +Running the previous example gives the following number suite: `++{++2, 4, 7, 11, 17, 26, 40, 61}`. diff --git a/content/docs/smallrye-mutiny/latest/tutorials/creating-uni-pipelines.adoc b/content/docs/smallrye-mutiny/latest/tutorials/creating-uni-pipelines.adoc new file mode 100644 index 000000000..6ffa03df1 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tutorials/creating-uni-pipelines.adoc @@ -0,0 +1,128 @@ += Creating `Uni` pipelines +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +A `Uni` represents a _stream_ that can only emit either an item or a failure event. + +You rarely create instances of `Uni` yourself, but, instead, use a reactive client exposing a Mutiny API that provides `Uni` objects. +That being said, it can be handy at times. + +== The Uni type + +A `Uni++<++T++>++` is a specialized stream that emits only an item or a failure. +Typically, `Uni++<++T++>++` are great to represent asynchronous actions such as a remote procedure call, an HTTP request, or an operation producing a single result. + +`Uni++<++T++>++` provides many operators that create, transform, and orchestrate `Uni` sequences. + +As said, `Uni++<++T++>++` emits either an item or a failure. +Note that the item can be `null,` and the `Uni` API has specific methods for this case. + +Typically, a `Uni++<++Void++>++` always emits `null` as item event or a failure if the represented operation fails. +You can consider the item event as a completion signal indicating the success of the operation. + +The offered operators can be used to define a processing pipeline. +The event, either the item or failure, flows in this pipeline, and each operator can process or transform the event. +`Unis` are lazy by nature. + +To trigger the computation, you must have a final subscriber indicating your interest. +The following snippet provides a simple example of pipeline using `Uni`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=pipeline,indent=0] +---- + +== Subscribing to a Uni + +[IMPORTANT] +==== + +Remember: if you don't subscribe, nothing is going to happen. +What's more, the pipeline is materialized for each _subscription_. + +==== + +When subscribing to a `Uni`, you can pass an item callback (invoked when the item is emitted), or two callbacks (one receiving the item and one receiving the failure): + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=subscription,indent=0] +---- + +Note the returned `Cancellable`: this object allows canceling the operation if need be. + +== Creating Unis from items + +There are many ways to create `Uni` instances. +Use `Uni.createFrom()` to see all the possibilities. + +You can, for instance, create a `Uni` from a known value: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=simple,indent=0] +---- + +Every subscriber receives the item `1` just after the subscription. + +You can also pass a `Supplier`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=supplier,indent=0] +---- + +The `Supplier` is called for every subscriber. +So, each of them will get a different value. + +== Creating failing Unis + +Operations represented by `Unis` can also emit a failure event, indicating that the operation failed. + +You can create failed `Uni` instances with: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=failed,indent=0] +---- + +== Creating `Uni++<++Void++>++` + +When the represented operation to not produce a result, you still need a way to indicate the operation's completion. +For this, you need to emit a `null` item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=null,indent=0] +---- + +== Creating Unis using an emitter (_advanced_) + +You can create a `Uni` using an emitter. +This approach is useful when integrating callback-based APIs: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=emitter,indent=0] +---- + +The emitter can also send a failure. +It can also get notified of cancellation to, for example, stop the work in progress. + +== Creating Unis from a CompletionStage (_advanced_) + +You can also `Uni` objects from `CompletionStage` / `CompletableFuture`. +This is useful when integrating with APIs that are based on these types: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=cs,indent=0] +---- + +[TIP] +==== + +You can also create a `CompletionStage` from a `Uni` using `uni.subscribe().asCompletionStage()` + +==== diff --git a/content/docs/smallrye-mutiny/latest/tutorials/getting-mutiny.adoc b/content/docs/smallrye-mutiny/latest/tutorials/getting-mutiny.adoc new file mode 100644 index 000000000..651586995 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tutorials/getting-mutiny.adoc @@ -0,0 +1,142 @@ += Getting started with Mutiny +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +== Using Mutiny in a Java application + +Add the _dependency_ to your project using your preferred build tool: + +[.tabs] +==== + +Apache Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + mutiny + {versions-mutiny} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.reactive:mutiny:{versions-mutiny}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.reactive:mutiny:{versions-mutiny}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.reactive:mutiny:{versions-mutiny} +---- + +-- + +==== + +== Using Mutiny with Quarkus + +Most of the https://quarkus.io[Quarkus] extensions with reactive capabilities already depend on Mutiny. + +You can also add the `quarkus-mutiny` dependency explicitly from the command-line: + +[source,bash] +---- +mvn quarkus:add-extension -Dextensions=mutiny +---- + +or by editing the `pom.xml` file and adding: + +[source,xml] +---- + + io.quarkus + quarkus-mutiny + +---- + +== Using Mutiny with Vert.x + +Most of the https://vertx.io[Eclipse Vert.x] stack modules are available through the https://smallrye.io/smallrye-mutiny-vertx-bindings/[SmallRye Mutiny Vert.x Bindings] project. + +Bindings for Vert.x modules are named by prepending `smallrye-mutiny-`. +As an example here's how to add a dependency to the `vertx-core` Mutiny bindings: + +[.tabs] +==== + +Apache Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-mutiny-vertx-core + {versions-vertx-bindings} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.reactive:smallrye-mutiny-vertx-core:{versions-vertx-bindings}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.reactive:smallrye-mutiny-vertx-core:{versions-vertx-bindings}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.reactive:smallrye-mutiny-vertx-core:{versions-vertx-bindings} +---- + +-- + +==== diff --git a/content/docs/smallrye-mutiny/latest/tutorials/handling-failures.adoc b/content/docs/smallrye-mutiny/latest/tutorials/handling-failures.adoc new file mode 100644 index 000000000..5dab71250 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tutorials/handling-failures.adoc @@ -0,0 +1,96 @@ += Handling failures +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Mutiny provides several operators to handle failures. + +Remember, failures are terminal events sent by the observed stream, indicating that something _bad_ happened. +After a failure, no more items are being received. + +When such an event is received, you can: + +* propagate the failure downstream (default), or +* transform the failure into another failure, or +* recover from it by switching to another stream, passing a fallback item, or completing, or +* retrying (covered in the next guide) + +If you don't handle the failure event, it is propagated downstream until a stage handles the failure or reaches the final subscriber. + +[IMPORTANT] +==== + +on `Multi`, a failure cancels the subscription, meaning you will not receive any more items. +The `retry` operator lets you re-subscribe and continue the reception. + +==== + +== Observing failures + +It can be useful to execute some custom action when a failure happens. +For example, you can log the failure: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=invoke,indent=0] +---- + +[TIP] +==== + +You can also execute an asynchronous action using `onFailure().call(Function++<++Throwable, Uni++<++?++>++)`. +The received failure will be propagated downstream when the `Uni` produced by the passed function emits its item. + +==== + +== Transforming failures + +Another useful action on failure is to transform the failure into a _more meaningful_ failure. + +Typically, you can wrap a low-level failure (like an `IOException`) into a business failure (`ServiceUnavailableException`): + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=transform,indent=0] +---- + +== Recovering using fallback item(s) + +In general, upon failure, you want to recover. +The first approach is to recover by replacing the failure with an item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=recover-item,indent=0] +---- + +The second approach receives a `Supplier` to compute the fallback item. +For the downstream, it didn't fail; it gets the fallback item instead. + +However, don't forget that failures are terminal! +So for `Multi`, the downstream receives the fallback item followed by the completion signal, as no more items can be produced. + +== Completing on failure + +When observing a `Multi` you can replace the failure with the completion signal: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=recover-completion,indent=0] +---- + +The downstream won't see the failure, just the completion event. + +== Switching to another stream + +On failure, you may want to switch to an alternate stream. +When the failure is received, it subscribes to this other stream and propagates the items from this stream instead: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=recover-switch,indent=0] +---- + +The `recoverWithUni` and `recoverWithMulti` methods replace the failed upstream with the returned stream. + +The fallback streams must produce the same type of event as the original upstream. diff --git a/content/docs/smallrye-mutiny/latest/tutorials/hello-mutiny.adoc b/content/docs/smallrye-mutiny/latest/tutorials/hello-mutiny.adoc new file mode 100644 index 000000000..80fab7b4e --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tutorials/hello-mutiny.adoc @@ -0,0 +1,75 @@ += Hello Mutiny! +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Once you made Mutiny available to your classpath, you can start writing code. +Let's start with this simple program: + +[source,java] +---- +include::{examples-dir}/java/FirstProgram.java[indent=0] +---- + +This program prints: + +.... +>> HELLO MUTINY +.... + +== Dissecting the pipeline + +What's interesting is how this message is _built_. +We described a processing pipeline taking an item, processing it and finally consuming it. + +First, we create a `Uni`, one of the two types with `Multi` that Mutiny provides. +A `Uni` is a stream emitting either a single item or a failure. + +Here, we create a `Uni` emitting the `"hello"` item. +This is the input of our pipeline. +Then we process this item: + +* we append `" mutiny"`, then +* we make it an uppercase string. + +This forms the processing part of our pipeline, and then we finally *subscribe* to the pipeline. + +This last part is essential. +If you don't have a final subscriber, nothing is going to happen. +Mutiny types are lazy, meaning that you need to express your interest. +If you don't, the computation won't even start. + +[IMPORTANT] +==== + +If your program doesn't do anything, verify that you didn't forget to subscribe! + +==== + +== Mutiny uses a builder API! + +Another important aspect is the pipeline construction. +Appending a new _stage_ to a pipeline returns a new `Uni.` + +The previous program is equivalent to: + +[source,java] +---- +include::{examples-dir}/java/FirstProgramTest.java[tags=uni,indent=0] +---- + +It is fundamental to understand that this program is not equivalent to: + +[source,java] +---- +include::{examples-dir}/java/FirstProgramTest.java[tags=uni2,indent=0] +---- + +This program just prints `"++>>++ hello"`, as it does not use the appended stages and the final subscriber consumes the first `Uni.` + +[WARNING] +==== + +Mutiny APIs are not fluent and each computation stage returns a new object. + +==== diff --git a/content/docs/smallrye-mutiny/latest/tutorials/mutiny-workshop.adoc b/content/docs/smallrye-mutiny/latest/tutorials/mutiny-workshop.adoc new file mode 100644 index 000000000..e4d752b7b --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tutorials/mutiny-workshop.adoc @@ -0,0 +1,16 @@ += Go further with the Mutiny workshop! +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +One great option to teach yourself Mutiny is to go through the https://github.com/smallrye/smallrye-mutiny/tree/main/workshop-examples[Mutiny workshop examples]. + +These self-contained https://jbang.dev/[JBang] scripts cover the main parts of the Mutiny APIs. + +It's a fun and easy way to discover Mutiny! + +Check out https://github.com/smallrye/smallrye-mutiny/tree/main/workshop-examples to learn more. + +.Running a workshop sample +[.has-dark] +image::tutorials/running-workshop-sample.png[Running a workshop sample,width=400] diff --git a/content/docs/smallrye-mutiny/latest/tutorials/observing-events.adoc b/content/docs/smallrye-mutiny/latest/tutorials/observing-events.adoc new file mode 100644 index 000000000..1a9529485 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tutorials/observing-events.adoc @@ -0,0 +1,113 @@ += Observing events +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Learn how to observe the events emitted by `Uni` and `Multi` instances. + +== Events + +`Uni` and `Multi` emit _events_. +Your code is going to observe and process these events. + +Most of the time, your code is only interested in item and failure events. +But there are other kinds of events such as cancellation, request, completion, and so on: + +[width="100%",cols=">12%,9%,<15%,<64%",options="header",] +|=== +|Event |Uni / Multi |Direction |Note +|*item* |Uni {plus} Multi |upstream -++>++ downstream |The upstream sent an item. +|*failure* |Uni {plus} Multi |upstream -++>++ downstream |The upstream failed. +|*completion* |Multi |upstream -++>++ downstream |The upstream completed. +|*subscribe* |Uni and Multi |downstream -++>++ upstream |A downstream subscriber is interested in the data. +|*subscription* |Uni and Multi |upstream -++>++ downstream |Event happening after a `subscribe` event to indicate that the upstream acknowledged the subscription. +|*cancellation* |Uni and Multi |downstream -++>++ upstream |A downstream subscriber does not want any more events. +|*overflow* |Multi |upstream -++>++ downstream |The upstream has emitted more than the downstream can handle. +|*request* |Multi |downstream -++>++ upstream |The downstream indicates its capacity to handle `n` items. +|=== + +It’s not rare that you need to look at these various events to understand better what’s going on or implement specific side effects. +For example, you may need to close a resource after a completion event or log a message on failure or cancellation. + +For each kind of event, there is an associated group providing the methods to handle that specific event: `onItem()`, `onFailure()`, `onCompletion()` and so on. +These groups provide two methods to _peek_ at the various events without impacting its distribution: `invoke(...)` and `call(...)`. +It does not transform the received event; it notifies you that something happened and let you react. +Once this _reaction_ completes, the event is propagated downstream or upstream depending on the direction of the event. + +== The `invoke` method + +The invoke method is synchronous and the passed callback does not return anything. +Mutiny invokes the configured callback when the observed stream dispatches the event: + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=invoke,indent=0] +---- + +As said above, `invoke` is synchronous. +Mutiny invokes the callback and propagates the event downstream when the callback returns. +It blocks the dispatching. + +[.has-dark] +image::images/diagrams/mermaid-e88e1918cd26.svg[mermaid diagram] + +Of course, we highly recommend you not to block. + +The following snippets show how you can log the different types of events. + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=invoke-all,indent=0] +---- + +The arrows from the previous code snippet indicate if the event comes from the upstream (source) or downstream (consumer) (see the table above for more details). +The `invoke` method does not change the event, except in one case. +If the callback throws an exception, the downstream does not get the actual event but get a failure event instead. + +When observing the failure event, if the callback throws an exception, Mutiny propagates a `CompositeException` aggregating the original failure and the callback failure. + +== The `call` method + +Unlike `invoke`, `call` is asynchronous, and the callback returns a `Uni++<++?++>++` object. + +`call` is often used when you need to implement asynchronous side-effects, such as closing resources. + +[.has-dark] +image::images/diagrams/mermaid-bc092005fd3f.svg[mermaid diagram] + +Mutiny does not dispatch the original event downstream until the Uni returned by the callback emits an item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=call,indent=0] +---- + +As shown in the previous snippet, you can use this approach to delay items. +But, the primary use case is about completing asynchronous actions such as calling an asynchronous `close` method on a resource: + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=close,indent=0] +---- + +Under the hood, Mutiny gets the `Uni` (by invoking the callback) and subscribes to it. +It observes the item or failure event from that Uni. +It discards the item value as only the emission matters in this case. + +If the callback throws an exception or the produced `Uni` produces a failure, Mutiny propagates that failure (or a `CompositeException`) downstream, replacing the original event. + +== Summary + +* The `invoke` and `call` methods are handy when you need to observe a `Uni` or a `Multi` without changing the transiting events. +* Use `invoke` for implementing synchronous side-effects or logging events. +* The asynchronous nature of `call` makes it perfect for implementing asynchronous side-effects, such as closing resources, flushing data, delay items, and so on. + +The following table highlights the key differences: + +[width="100%",cols=">20%,<33%,<47%",options="header",] +|=== +| |`invoke` |`call` +|*Nature* |synchronous |asynchronous +|*Return type* |`void` |`Uni++<++T++>++` +|*Main use cases* |logging, synchronous side-effects |I/O operations, closing resources, flushing data +|=== diff --git a/content/docs/smallrye-mutiny/latest/tutorials/retrying.adoc b/content/docs/smallrye-mutiny/latest/tutorials/retrying.adoc new file mode 100644 index 000000000..c2ec63ecc --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tutorials/retrying.adoc @@ -0,0 +1,67 @@ += Retrying on failures +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +It is common to want to retry if something terrible happened. + +You can retry upon failure. +The https://quarkus.io/blog/uni-retry/[How does retry... retries] blog post provides a more detailed overview of the retry mechanism. + +[NOTE] +==== + +If despite multiple attempts, it still fails, the failure is propagated downstream. + +==== + +== Retry multiple times + +To retry on failure, use `onFailure().retry()`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/RetryTest.java[tags=retry-at-most,indent=0] +---- + +You pass the number of retries as a parameter. + +[IMPORTANT] +==== + +While `.onFailure().retry().indefinitely()` is available, it may never terminate, so use it with caution. + +==== + +== Introducing delays + +By default, `retry` retries immediately. +When using remote services, it is often better to delay a bit the attempts. + +Mutiny provides a method to configure an exponential backoff: a growing delay between retries. +Configure the exponential backoff as follows: + +[source,java] +---- +include::{examples-dir}/java/tutorials/RetryTest.java[tags=retry-backoff,indent=0] +---- + +The backoff is configured with the initial and max delay. +Optionally, you can also configure a jitter to add a pinch of randomness to the delay. + +When using exponential backoff, you may not want to configure the max number of attempts (`atMost`), but a deadline. +To do so, use either `expireIn` or `expireAt`. + +== Deciding to retry + +As an alternative to `atMost`, you can also use `until`. +This method accepts a predicate called after every failure. +When used, a backoff should not be used. + +If the predicate returned `true,` it retries. +Otherwise, it stops retrying and propagates the last failure downstream: + +[source,java] +---- +include::{examples-dir}/java/tutorials/RetryTest.java[tags=retry-until,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/latest/tutorials/running-workshop-sample.dark.png b/content/docs/smallrye-mutiny/latest/tutorials/running-workshop-sample.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1c875b12c0c021f86c7ea4f344b161738b2c46 GIT binary patch literal 78904 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 ~KX%yR_=y0@h?91mdDFOZJ1jR^`R! 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 eIzYVfg$ji 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

X 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

9#rwHT;c>Jjv`|( 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 and `onItem().transformToMulti(Function++<++T, Multi++<++O++>>++)` + +== Uni - Transforming an item into a Uni + +[.has-dark] +image::images/diagrams/mermaid-f67adb6018b3.svg[mermaid diagram] + +Imagine that you have a `Uni++<++String++>++`, and you want to call a remote service. + +Calling a remote service is an asynchronous action represented by a `Uni`, as in: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=service,indent=0] +---- + +To call this service, you need to transform the item received from the first `Uni` into the `Uni` returned by the service: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=call,indent=0] +---- + +This snippet _chains_ the first `Uni` with another one. +The returned `Uni` (`result`) emits the result from the remote service or a failure if anything wrong happened: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=chain,indent=0] +---- + +== Uni - Transforming an item into a Multi + +The previous example produced a single item. +You may want to transform the received item into a stream which is... a `Multi`! + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=uni-to-multi,indent=0] +---- + +This code creates a stream of two elements, duplicating the received item. + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=uni-to-multi-2,indent=0] +---- + +[.has-dark] +image::images/diagrams/mermaid-3b8d4c58438a.svg[mermaid diagram] + +The produced `Multi` objects can of course be more complicated than that and emit items in an asynchronous fashion. + +== Transforming items from Multi - the _merge_ vs _concatenate_ dilemma + +When transforming items emitted by an upstream `Multi,` we need to answer the following question: how are we going to _merge_ the produced items back? + +Let's take an example. +Imagine a `Multi` emitting the `Cameron` and `Donna` items (in order), and you want to call the `invokeRemoteGreetingService` from above. +It thus calls `invokeRemoteGreetingService("Cameron")` then `invokeRemoteGreetingService("Donna")`. + +The service does not have a constant response time (because of network latency or the load), which means that responses can be interleaved. +Indeed, you may receive `"Hello Donna"` before `"Hello Cameron"`. + +Now, how do you want to handle this case? +Do you need to preserve the order and ensure that the downstream subscriber will always get `"Hello Cameron"` first, or do you accept interleaved responses? + +When transforming items from `Multi` into streams, you need to decide in which order the items emitted by the produced stream are going to be received by the downstream subscriber. +Mutiny offers two possibilities: + +[arabic] +. *Merging* -- it does not preserve the order and emits the items from the produced streams as they come, or +. *Concatenating* -- it maintains and concatenates the streams produced for each item. + +== Multi - Transforming an item into a Uni + +To implement the scenario from the last section, you will use `onItem().transformToUniAndMerge` or `onItem().transformToUniAndConcatenate()` depending on your ordering choice: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=merge-concat,indent=0] +---- + +[IMPORTANT] +==== + +* When merging: items from the source `Multi` _may_ be processed *concurrently* depending on the concurrency level that has been set, if any. +* When concatenating: items from the source `Multi` are processed *in order*, waiting for each `Uni` to complete before moving on to the next item. + +==== + +=== Controlling concurrency with merge + +The `merge` method accepts an optional `concurrency` parameter that limits how many inner streams can be subscribed to concurrently: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=merge-concurrency,indent=0] +---- + +When not provided, the default concurrency is configured using `Infrastructure.getBufferSizeS()`. + +[WARNING] +.Merge concurrency +==== + +When using merge with limited concurrency, be aware of potential backpressure issues. +*Setting concurrency too low* can cause upstream request starvation if the number of subscribed but not emitting inner streams surpasses the level of concurrency. + +*Unbounded concurrency* eliminates the request starvation issue by removing the limit on the number of subscribed inner streams to merge. + +==== + +== Multi - Transforming an item into a Multi + +`onItem().transformToMultiAndMerge` and `onItem().transformToMultiAndConcatenate` transform incoming items into `Multi` streams. +The produced `Multi` objects are either _merged_ or _concatenated_: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=merge-concat-multi,indent=0] +---- + +Like after `transformToUni`, the `merge` method after `transformToMulti` also accepts an optional concurrency parameter with the same considerations regarding backpressure and request starvation when used with infinite streams. diff --git a/content/docs/smallrye-mutiny/latest/tutorials/transforming-items.adoc b/content/docs/smallrye-mutiny/latest/tutorials/transforming-items.adoc new file mode 100644 index 000000000..32dde4f90 --- /dev/null +++ b/content/docs/smallrye-mutiny/latest/tutorials/transforming-items.adoc @@ -0,0 +1,54 @@ += Transforming items +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Both `Unis` and `Multis` emit _items_. + +One of the most common operations you will do is transforming these items using a _synchronous_ 1-to-1 function. + +To achieve this, you use `onItem().transform(Function++<++T, U++>++)`. +It calls the passed function for each item and produces the result as an item which is propagated downstream. + +[.has-dark] +image::images/diagrams/mermaid-e6dd95e32a3f.svg[mermaid diagram] + +== Transforming items produced by a Uni + +Let's imagine you have a `Uni++<++String++>++,` and you want to capitalize the received `String`. +Implementing this transformation is done as follows: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=uni-transform,indent=0] +---- + +== Transforming items produced by a Multi + +The only difference for `Multi` is that the function is called for each item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=multi-transform,indent=0] +---- + +The produced items are passed to the downstream subscriber: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=multi-transform-2,indent=0] +---- + +== What if the transformation failed? + +If the transformation throws an exception, that exception is caught and passed to the downstream subscriber as a _failure_ event. +It also means that the subscriber won't get further item after that failure. + +== Chaining multiple transformations + +You can chain multiple transformations: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=chain,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/_attributes.adoc b/content/docs/smallrye-mutiny/main/_attributes.adoc new file mode 100644 index 000000000..f1640defb --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_attributes.adoc @@ -0,0 +1,22 @@ +:project-version: 3.3.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Mutiny +:javadoc-version: latest +:versions-mutiny: 3.3.0 +:versions-vertx-bindings: 4.0.0-beta2 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.3.0 +:relfileprefix: /docs/smallrye-mutiny/main/ +:imagesdir: /docs/smallrye-mutiny/main +:docs-project: smallrye-mutiny +:docs-version: main +:docs-ref: main diff --git a/content/docs/smallrye-mutiny/main/_examples/java/FirstProgram.java b/content/docs/smallrye-mutiny/main/_examples/java/FirstProgram.java new file mode 100644 index 000000000..87d40de5d --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/FirstProgram.java @@ -0,0 +1,11 @@ +import io.smallrye.mutiny.Uni; + +public class FirstProgram { + + public static void main(String[] args) { + Uni.createFrom().item("hello") + .onItem().transform(item -> item + " mutiny") + .onItem().transform(String::toUpperCase) + .subscribe().with(item -> System.out.println(">> " + item)); + } +} \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/_examples/java/FirstProgramTest.java b/content/docs/smallrye-mutiny/main/_examples/java/FirstProgramTest.java new file mode 100644 index 000000000..d5c464230 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/FirstProgramTest.java @@ -0,0 +1,44 @@ +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; + +@ExtendWith(SystemOutCaptureExtension.class) +public class FirstProgramTest { + + @Test + public void testFirstProgram(SystemOut out) { + FirstProgram.main(new String[0]); + assertThat(out.get()).contains(">> HELLO MUTINY"); + } + + @Test + public void testUniBuilder(SystemOut out) { + // tag::uni[] + Uni uni1 = Uni.createFrom().item("hello"); + Uni uni2 = uni1.onItem().transform(item -> item + " mutiny"); + Uni uni3 = uni2.onItem().transform(String::toUpperCase); + + uni3.subscribe().with(item -> System.out.println(">> " + item)); + // end::uni[] + assertThat(out.get()).contains("HELLO MUTINY"); + assertThat(uni3.await().indefinitely()).isEqualTo("HELLO MUTINY"); + } + + @Test + public void testUniBuilder2(SystemOut out) { + // tag::uni2[] + Uni uni = Uni.createFrom().item("hello"); + + uni.onItem().transform(item -> item + " mutiny"); + uni.onItem().transform(String::toUpperCase); + + uni.subscribe().with(item -> System.out.println(">> " + item)); + // end::uni2[] + assertThat(out.get()).contains("hello"); + assertThat(uni.await().indefinitely()).isEqualTo("hello"); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/BranchingTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/BranchingTest.java new file mode 100644 index 000000000..320469593 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/BranchingTest.java @@ -0,0 +1,64 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.Random; + +public class BranchingTest { + + @Test + public void uni() { + // tag::pipeline[] + Random random = new Random(); + Uni.createFrom().item(() -> random.nextInt(100)) + .onItem().transformToUni(n -> { + if (n % 2 == 0) { + return evenOperation(n); + } else { + return oddOperation(n); + } + }) + .subscribe().with(System.out::println); + // end::pipeline[] + } + + // tag::branches[] + Uni evenOperation(int n) { + return Uni.createFrom().item("Even number: " + n) + .onItem().invoke(() -> System.out.println("(even branch)")); + } + + Uni oddOperation(int n) { + return Uni.createFrom().item("Odd number: " + n) + .onItem().invoke(() -> System.out.println("(odd branch)")); + } + // end::branches[] + + @Test + public void multi() { + // tag::multi-pipeline[] + Random random = new Random(); + Multi.createBy().repeating().supplier(random::nextInt).atMost(20) + .onItem().transformToUniAndMerge(n -> { + System.out.println("----"); + if (n < 0) { + return drop(); + } else if (n % 2 == 0) { + return evenOperation(n); + } else { + return oddOperation(n); + } + }) + .subscribe().with(str -> System.out.println("=> " + str)); + // end::multi-pipeline[] + } + + // tag::drop[] + Uni drop() { + return Uni.createFrom().nullItem() + .onItem().invoke(() -> System.out.println("(dropping negative value)")); + } + // end::drop[] +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/CompletionStageTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/CompletionStageTest.java new file mode 100644 index 000000000..27b0fd6ba --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/CompletionStageTest.java @@ -0,0 +1,77 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.Executor; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; + +public class CompletionStageTest { + + @Test + public void testSubscribeAsCompletionStage() { + AtomicInteger counter = new AtomicInteger(); + Uni uni = Uni.createFrom().item(() -> "hello-" + counter.getAndIncrement()); + // tag::uni-subscribe-cs[] + CompletionStage cs = uni.subscribeAsCompletionStage(); + // end::uni-subscribe-cs[] + + assertThat(cs.toCompletableFuture().join()).isEqualTo("hello-0"); + + // tag::uni-subscribe-cs-twice[] + // Trigger the underlying operation twice: + CompletionStage cs1 = uni.subscribeAsCompletionStage(); + CompletionStage cs2 = uni.subscribeAsCompletionStage(); + // end::uni-subscribe-cs-twice[] + assertThat(cs1.toCompletableFuture().join()).isEqualTo("hello-1"); + assertThat(cs2.toCompletableFuture().join()).isEqualTo("hello-2"); + } + + + @Test + public void test() { + Executor executor = Runnable::run; + // tag::create-uni[] + Uni uni1 = Uni + // Create from a Completion Stage + .createFrom().completionStage( + CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + + Uni uni2 = Uni + // Create from a Completion Stage supplier (recommended) + .createFrom().completionStage( + () -> CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + // end::create-uni[] + + assertThat(uni1.await().indefinitely()).isEqualTo("HELLO"); + assertThat(uni2.await().indefinitely()).isEqualTo("HELLO"); + + // tag::create-multi[] + Multi multi1 = Multi + .createFrom().completionStage( + CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + + Multi multi2 = Multi + .createFrom().completionStage(() -> + CompletableFuture.supplyAsync(() -> "hello", executor) + ) + .onItem().transform(String::toUpperCase); + // end::create-multi[] + + assertThat(multi1.collect().asList().await().indefinitely()).containsExactly("HELLO"); + assertThat(multi2.collect().asList().await().indefinitely()).containsExactly("HELLO"); + + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/ContextPassingTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/ContextPassingTest.java new file mode 100644 index 000000000..00897d788 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/ContextPassingTest.java @@ -0,0 +1,99 @@ +package guides; + +import io.smallrye.mutiny.Context; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class ContextPassingTest { + + void contextManipulation() { + + // tag::contextManipulation[] + // Create a context using key / value pairs + Context context = Context.of( + "X-CUSTOMER-ID", "1234", + "X-SPAN-ID", "foo-bar-baz" + ); + + // Get an entry + System.out.println( + context.get("X-SPAN-ID")); + + // Get an entry, use a supplier for a default value if the key is not present + System.out.println( + context.getOrElse("X-SPAN-ID", () -> "")); + + // Add an entry + context.put("foo", "bar"); + + // Remove an entry + context.delete("foo"); + // end::contextManipulation[] + } + + @Test + void sampleUsage() { + Multi pipeline = Multi.createFrom().range(1, 10); + String customerId = "1234"; + + // tag::contextSampleUsage[] + Context context = Context.of("X-CUSTOMER-ID", customerId); + + pipeline.withContext((multi, ctx) -> multi.onItem().transformToUniAndMerge(item -> makeRequest(item, ctx.get("X-CUSTOMER-ID")))) + .subscribe().with(context, item -> handleResponse(item), err -> handleFailure(err)); + // end::contextSampleUsage[] + } + + @Test + void sampleUsageAttachedContext() { + Multi pipeline = Multi.createFrom().range(1, 10); + String customerId = "1234"; + + // tag::contextAttachedSampleUsage[] + Context context = Context.of("X-CUSTOMER-ID", customerId); + + pipeline.attachContext() + .onItem().transformToUniAndMerge(item -> makeRequest(item.get(), item.context().get("X-CUSTOMER-ID"))) + .subscribe().with(context, item -> handleResponse(item), err -> handleFailure(err)); + // end::contextAttachedSampleUsage[] + } + + @Test + void builderUsage() { + Context context = Context.of("X-SPAN-ID", "1234"); + + // tag::builderUsage[] + Uni.createFrom().context(ctx -> makeRequest("db1", ctx.get("X-SPAN-ID"))) + .subscribe().with(context, item -> handleResponse(item), err -> handleFailure(err)); + // end::builderUsage[] + } + + @Test + void emitterUsage() { + Context context = Context.of("X-SPAN-ID", "1234"); + + // tag::emitterUsage[] + Multi.createFrom().emitter(emitter -> { + String customerId = emitter.context().get("X-SPAN-ID"); + for (int i = 0; i < 10; i++) { + emitter.emit("@" + i + " [" + customerId + "]"); + } + emitter.complete(); + }); + // end::emitterUsage[] + } + + private void handleFailure(Throwable err) { + Assertions.fail(err); + } + + private void handleResponse(String item) { + Assertions.assertTrue(item.endsWith("::1234")); + } + + private Uni makeRequest(Object item, Object o) { + return Uni.createFrom().item(item + "::" + o); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/EventsTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/EventsTest.java new file mode 100644 index 000000000..85fd1d709 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/EventsTest.java @@ -0,0 +1,60 @@ +package guides; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.awaitility.Awaitility.await; + +@ExtendWith(SystemOutCaptureExtension.class) +public class EventsTest { + + private void log(String s) { + System.out.println(s); + } + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test(SystemOut out) { + // tag::code[] + Multi source = Multi.createFrom().items("a", "b", "c"); + source + .onItem() // Called for every item + .invoke(item -> log("Received item " + item)) + .onFailure() // Called on failure + .invoke(failure -> log("Failed with " + failure)) + .onCompletion() // Called when the stream completes + .invoke(() -> log("Completed")) + .onSubscription() // Called when the upstream is ready + .invoke(subscription -> log("We are subscribed!")) + .onCancellation() // Called when the downstream cancels + .invoke(() -> log("Cancelled :-(")) + .onRequest() // Called on downstream requests + .invoke(n -> log("Downstream requested " + n + " items")) + .subscribe() + .with(item -> log("Subscriber received " + item)); + // end::code[] + + // + Multi multi = Multi.createFrom().items("a", "b", "c"); + multi.invoke(item -> System.out.println("Received item " + item)); + // + + // + multi.call(item -> executeAnAsyncAction(item)); + // + + await().until(() -> out.get().contains("We are subscribed!")); + await().until(() -> out.get().contains("Downstream requested")); + await().until(() -> out.get().contains("Received item c")); + await().until(() -> out.get().contains("Completed")); + } + + private Uni executeAnAsyncAction(String item) { + return Uni.createFrom().nullItem(); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/PlugTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/PlugTest.java new file mode 100644 index 000000000..c696891a3 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/PlugTest.java @@ -0,0 +1,58 @@ +package guides; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.operators.multi.AbstractMultiOperator; +import io.smallrye.mutiny.operators.multi.MultiOperatorProcessor; +import io.smallrye.mutiny.subscription.MultiSubscriber; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.ThreadLocalRandom; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("InnerClassMayBeStatic") +@ExtendWith(SystemOutCaptureExtension.class) +public class PlugTest { + + @Test + public void plug(SystemOut out) { + // tag::plug[] + Multi.createFrom() + .range(1, 101) + .plug(RandomDrop::new) + .subscribe().with(System.out::println); + // end::plug[] + + assertThat(out.get()).isNotBlank(); + } + + // tag::custom-operator[] + public class RandomDrop extends AbstractMultiOperator { + public RandomDrop(Multi upstream) { + super(upstream); + } + + @Override + public void subscribe(MultiSubscriber downstream) { + upstream.subscribe().withSubscriber(new DropProcessor(downstream)); + } + + private class DropProcessor extends MultiOperatorProcessor { + DropProcessor(MultiSubscriber downstream) { + super(downstream); + } + + @Override + public void onItem(T item) { + if (ThreadLocalRandom.current().nextBoolean()) { + super.onItem(item); + } + } + } + } + // end::custom-operator[] +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/RxTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/RxTest.java new file mode 100644 index 000000000..ba439fe5c --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/RxTest.java @@ -0,0 +1,111 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class RxTest { + + @Test + public void rx() { + Multi multi = Multi.createFrom().range(1, 3); + Uni uni = Uni.createFrom().item(1); + // tag::rx[] + + int result = uni + .map(i -> i + 1) + .await().indefinitely(); + + int result2 = uni + .flatMap(i -> Uni.createFrom().item(i + 1)) + .await().indefinitely(); + + List list = multi + .map(i -> i + 1) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .flatMap(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + List list3 = multi + .concatMap(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + // end::rx[] + assertThat(result).isEqualTo(2); + assertThat(result2).isEqualTo(2); + assertThat(list).containsExactly(2, 3); + assertThat(list2).containsExactly(1, 1, 2, 2); + assertThat(list3).containsExactly(1, 1, 2, 2); + } + + @Test + public void mutiny() { + Multi multi = Multi.createFrom().range(1, 3); + Uni uni = Uni.createFrom().item(1); + // tag::mutiny[] + + int result = uni + .onItem().transform(i -> i + 1) + .await().indefinitely(); + + int result2 = uni + .onItem().transformToUni(i -> Uni.createFrom().item(i + 1)) + .await().indefinitely(); + + // Shortcut for .onItem().transformToUni + int result3 = uni + .chain(i -> Uni.createFrom().item(i + 1)) + .await().indefinitely(); + + List list = multi + .onItem().transform(i -> i + 1) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .onItem().transformToMultiAndMerge(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + // Equivalent to transformToMultiAndMerge but let you configure the flattening process, + // failure management, concurrency... + List list3 = multi + .onItem().transformToMulti(i -> Multi.createFrom().items(i, i)).merge() + .collect().asList() + .await().indefinitely(); + + List list4 = multi + .onItem().transformToMultiAndConcatenate(i -> Multi.createFrom().items(i, i)) + .collect().asList() + .await().indefinitely(); + + // Equivalent to transformToMultiAndConcatenate but let you configure the flattening process, + // failure management... + List list5 = multi + .onItem().transformToMulti(i -> Multi.createFrom().items(i, i)).concatenate() + .collect().asList() + .await().indefinitely(); + + + // end::mutiny[] + assertThat(result).isEqualTo(2); + assertThat(result2).isEqualTo(2); + assertThat(result3).isEqualTo(2); + assertThat(list).containsExactly(2, 3); + assertThat(list2).containsExactly(1, 1, 2, 2); + assertThat(list3).containsExactly(1, 1, 2, 2); + assertThat(list4).containsExactly(1, 1, 2, 2); + assertThat(list5).containsExactly(1, 1, 2, 2); + } + + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/ShortcutsTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/ShortcutsTest.java new file mode 100644 index 000000000..1d08c9982 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/ShortcutsTest.java @@ -0,0 +1,29 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +public class ShortcutsTest { + + + @Test + public void test() { + + // tag::invoke[] + Multi multi = Multi.createFrom().items("a", "b", "c"); + multi.invoke(item -> System.out.println("Received item " + item)); + // end::invoke[] + + // tag::call[] + multi.call(item -> executeAnAsyncAction(item)); + // end::call[] + + multi.subscribe().with(x -> {}); + } + + private Uni executeAnAsyncAction(String item) { + return Uni.createFrom().nullItem(); + } + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/SpiesTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/SpiesTest.java new file mode 100644 index 000000000..bc2c297dc --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/SpiesTest.java @@ -0,0 +1,40 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.spies.MultiGlobalSpy; +import io.smallrye.mutiny.helpers.spies.MultiOnCompletionSpy; +import io.smallrye.mutiny.helpers.spies.MultiOnRequestSpy; +import io.smallrye.mutiny.helpers.spies.Spy; +import org.junit.jupiter.api.Test; + +public class SpiesTest { + + @Test + public void trackItems() { + // tag::selected[] + Multi multi = Multi.createFrom().items(1, 2, 3); + MultiOnRequestSpy requestSpy = Spy.onRequest(multi); + MultiOnCompletionSpy completionSpy = Spy.onCompletion(requestSpy); + + completionSpy.subscribe().with(System.out::println); + + System.out.println("Number of requests: " + requestSpy.requestedCount()); + System.out.println("Completed? " + completionSpy.invoked()); + // end::selected[] + } + + @Test + public void trackEverything() { + // tag::global[] + Multi multi = Multi.createFrom().items(1, 2, 3); + MultiGlobalSpy spy = Spy.globally(multi); + + spy.subscribe().with(System.out::println); + + System.out.println("Number of requests: " + spy.onRequestSpy().requestedCount()); + System.out.println("Cancelled? " + spy.onCancellationSpy().isCancelled()); + System.out.println("Failure? " + spy.onFailureSpy().lastFailure()); + System.out.println("Items: " + spy.onItemSpy().items()); + // end::global[] + } +} \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/TestSubscribersTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/TestSubscribersTest.java new file mode 100644 index 000000000..467bd8602 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/TestSubscribersTest.java @@ -0,0 +1,131 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.helpers.test.AssertMulti; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; +import org.junit.jupiter.api.Test; + +import java.io.IOException; + +public class TestSubscribersTest { + + @Test + void uni() { + // tag::uni[] + Uni uni = Uni.createFrom().item(63); + + UniAssertSubscriber subscriber = uni + .subscribe().withSubscriber(UniAssertSubscriber.create()); + + subscriber + .awaitItem() + .assertItem(63); + // end::uni[] + } + + @Test + void multi() { + // tag::multi[] + Multi multi = Multi.createFrom().range(1, 5) + .onItem().transform(n -> n * 10); + + AssertSubscriber subscriber = multi.subscribe().withSubscriber(AssertSubscriber.create(10)); + + subscriber + .awaitCompletion() + .assertItems(10, 20, 30, 40); + // end::multi[] + } + + @Test + void failing() { + // tag::failing[] + Multi multi = Multi.createFrom().failure(() -> new IOException("Boom")); + + AssertSubscriber subscriber = multi + .subscribe().withSubscriber(AssertSubscriber.create(10)); + + subscriber + .awaitFailure() + .assertFailedWith(IOException.class, "Boom"); + // end::failing[] + } + + @Test + void uniPredicate() { + // tag::uni-predicate[] + Uni uni = Uni.createFrom().item(63); + + UniAssertSubscriber subscriber = uni + .subscribe().withSubscriber(UniAssertSubscriber.create()); + + subscriber + .awaitItem() + .assertItem(i -> i > 0, "positive number") + .inspectItem(item -> { + // use any assertion library here + assert item == 63; + }); + // end::uni-predicate[] + } + + @Test + void multiPredicate() { + // tag::multi-predicate[] + Multi multi = Multi.createFrom().range(1, 5) + .onItem().transform(n -> n * 10); + + AssertSubscriber subscriber = multi + .subscribe().withSubscriber(AssertSubscriber.create(10)); + + subscriber + .awaitCompletion() + .assertLastItem(i -> i == 40, "last item is 40") + .assertItemCount(4) + .inspectItems(items -> { + // use any assertion library here + assert items.size() == 4; + }); + // end::multi-predicate[] + } + + @Test + void assertMulti() { + // tag::assert-multi[] + Multi multi = Multi.createFrom().range(1, 6); + + AssertMulti.create(multi) + .expectNext(1, 2, 3) + .expectNextMatches(i -> i > 3, "greater than 3") + .expectNext(5) + .expectComplete() + .verify(); + // end::assert-multi[] + } + + @Test + void assertMultiFailure() { + // tag::assert-multi-failure[] + Multi multi = Multi.createFrom().failure(new IOException("boom")); + + AssertMulti.create(multi) + .expectFailure(IOException.class, "boom") + .verify(); + // end::assert-multi-failure[] + } + + @Test + void assertMultiDemand() { + // tag::assert-multi-demand[] + Multi multi = Multi.createFrom().range(1, 4); + + AssertMulti.create(multi) + .thenRequest(10) + .expectNext(1, 2, 3) + .expectComplete() + .verify(); + // end::assert-multi-demand[] + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/UncheckedTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/UncheckedTest.java new file mode 100644 index 000000000..1d15e5bd4 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/UncheckedTest.java @@ -0,0 +1,69 @@ +package guides; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.unchecked.Unchecked; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.io.UncheckedIOException; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +public class UncheckedTest { + + @Test + public void rethrow() { + Uni item = Uni.createFrom().item(1); + + // tag::rethrow[] + Uni uni = item.onItem().transform(i -> { + try { + return methodThrowingIoException(i); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + }); + // end::rethrow[] + + assertThatThrownBy(() -> uni.await().indefinitely()) + .isInstanceOf(RuntimeException.class).hasCauseInstanceOf(IOException.class); + + } + + @Test + public void transformExample() { + Uni item = Uni.createFrom().item(1); + + // tag::transform[] + Uni uni = item.onItem().transform(Unchecked.function(i -> { + // Can throw checked exception + return methodThrowingIoException(i); + })); + // end::transform[] + + assertThatThrownBy(() -> uni.await().indefinitely()) + .isInstanceOf(RuntimeException.class).hasCauseInstanceOf(IOException.class); + + } + + @Test + public void invokeExample() { + Uni item = Uni.createFrom().item(1); + + // tag::invoke[] + Uni uni = item.onItem().invoke(Unchecked.consumer(i -> { + // Can throw checked exception + throw new IOException("boom"); + })); + // end::invoke[] + + assertThatThrownBy(() -> uni.await().indefinitely()) + .isInstanceOf(RuntimeException.class).hasCauseInstanceOf(IOException.class); + + } + + private int methodThrowingIoException(Integer ignored) throws IOException { + throw new IOException("boom"); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/UniMultiComparisonTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/UniMultiComparisonTest.java new file mode 100644 index 000000000..d1df9017c --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/UniMultiComparisonTest.java @@ -0,0 +1,63 @@ +package guides; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import org.junit.jupiter.api.Test; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.awaitility.Awaitility.await; + +@ExtendWith(SystemOutCaptureExtension.class) +public class UniMultiComparisonTest { + + @Test + public void comparison(SystemOut out) { + //tag::code[] + Multi.createFrom().items("a", "b", "c") + .onItem().transform(String::toUpperCase) + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure) + ); + + Uni.createFrom().item("a") + .onItem().transform(String::toUpperCase) + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure) + ); + //end::code[] + + await().until(() -> out.get().contains("Received: C")); + } + + @Test + public void conversion(SystemOut out) { + // + Multi.createFrom().items("a", "b", "c") + .onItem().transform(String::toUpperCase) + // Convert the multi to uni + // It only emits the first item ("a") + .toUni() + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure)); + + Uni.createFrom().item("a") + .onItem().transform(String::toUpperCase) + // Convert the uni to a multi, + // the completion event will be fired after "a": + .toMulti() + .subscribe().with( + item -> System.out.println("Received: " + item), + failure -> System.out.println("Failed with " + failure) + ); + + // + + await().until(() -> out.get().contains("Received: A")); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/UniNullTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/UniNullTest.java new file mode 100644 index 000000000..53ddbeb02 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/UniNullTest.java @@ -0,0 +1,48 @@ +package guides; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class UniNullTest { + + @Test + public void uni() { + Uni uni = Uni.createFrom().item(() -> null); + // tag::code[] + uni.onItem().ifNull().continueWith("hello"); + uni.onItem().ifNull().switchTo(() -> Uni.createFrom().item("hello")); + uni.onItem().ifNull().failWith(() -> new Exception("Boom!")); + // end::code[] + + assertThat(uni.onItem().ifNull().continueWith("hello").await().indefinitely()).isEqualTo("hello"); + } + + @Test + public void uniNotNull() { + Uni uni = Uni.createFrom().item(() -> null); + // tag::code-not-null[] + uni + .onItem().ifNotNull().transform(String::toUpperCase) + .onItem().ifNull().continueWith("yolo!"); + // end::code-not-null[] + + String r = uni + .onItem().ifNotNull().transform(String::toUpperCase) + .onItem().ifNull().continueWith("yolo!") + .await().indefinitely(); + assertThat(r).isEqualTo("yolo!"); + } + + @Test + public void accumulate() { + Multi multi = Multi.createFrom().range(1, 3); + // + Multi added = multi.onItem().scan(() -> 0, (item, acc) -> acc + item); + // + assertThat(added.subscribe().asIterable()).containsExactly(0, 1, 3); + + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/UniTimeoutTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/UniTimeoutTest.java new file mode 100644 index 000000000..3dcd602ca --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/UniTimeoutTest.java @@ -0,0 +1,102 @@ +package guides; + +import io.smallrye.mutiny.TimeoutException; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import javax.naming.ServiceUnavailableException; +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +public class UniTimeoutTest { + + @Test + public void test() { + Uni uni = Uni.createFrom().nothing(); + // tag::code[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)) + .recoverWithItem("some fallback item"); + // end::code[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("some fallback item"); + } + + @Test + public void testFail() { + Uni uni = Uni.createFrom().nothing(); + // tag::fail[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).fail(); + // end::fail[] + assertThatThrownBy(() -> + uniWithTimeout + .await().indefinitely() + ).isInstanceOf(TimeoutException.class); + } + + @Test + public void testFailRecover() { + Uni uni = Uni.createFrom().nothing(); + // tag::fail-recover[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).fail() + .onFailure(TimeoutException.class).recoverWithItem("we got a timeout"); + // end::fail-recover[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("we got a timeout"); + } + + @Test + public void testFailWithSpecificException() { + Uni uni = Uni.createFrom().nothing(); + // tag::fail-with[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).failWith(() -> new ServiceUnavailableException()); + // end::fail-with[] + assertThatThrownBy(() -> + uniWithTimeout + .await().indefinitely() + ).isInstanceOf(ServiceUnavailableException.class); + } + + @Test + public void testFallback() { + Uni uni = Uni.createFrom().nothing(); + // tag::fallback[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).recoverWithItem(() -> "fallback"); + // end::fallback[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("fallback"); + } + + @Test + public void testFallbackUni() { + Uni uni = Uni.createFrom().nothing(); + // tag::fallback-uni[] + Uni uniWithTimeout = uni + .ifNoItem().after(Duration.ofMillis(100)).recoverWithUni(() -> someFallbackUni()); + // end::fallback-uni[] + String item = uniWithTimeout + .await().indefinitely(); + assertThat(item).isEqualTo("fallback"); + } + + private Uni someFallbackUni() { + return Uni.createFrom().item("fallback"); + } + + + private static class ServiceUnavailableException extends RuntimeException { + + } + + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/DroppedExceptionTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/DroppedExceptionTest.java new file mode 100644 index 000000000..980ecd9b7 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/DroppedExceptionTest.java @@ -0,0 +1,54 @@ +package guides.infrastructure; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import io.smallrye.mutiny.subscription.Cancellable; +import io.smallrye.mutiny.subscription.UniEmitter; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +@ExtendWith(SystemOutCaptureExtension.class) +public class DroppedExceptionTest { + + @Test + public void droppedExceptionTest(SystemOut out) { + // tag::override-handler[] + Infrastructure.setDroppedExceptionHandler(err -> + log(Level.SEVERE, "Mutiny dropped exception", err) + ); + // end::override-handler[] + + // tag::code[] + Cancellable cancellable = Uni.createFrom() + .emitter(this::emitter) + .onCancellation().call(() -> Uni.createFrom().failure(new IOException("boom"))) + .subscribe().with(this::onItem, this::onFailure); + + cancellable.cancel(); + // end::code[] + Assertions.assertThat(out.get()).contains("Mutiny dropped exception"); + } + + private void log(Level severe, String message, Throwable err) { + System.out.println(severe.getName() + ":" + message + " " + err.getMessage()); + } + + private void onFailure(Throwable t) { + // Nothing, the snippet is for pure documentation purposes + } + + private void onItem(Object o) { + // Nothing, the snippet is for pure documentation purposes + } + + private void emitter(UniEmitter uniEmitter) { + // Nothing, the snippet is for pure documentation purposes + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/InfrastructureTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/InfrastructureTest.java new file mode 100644 index 000000000..61da6e036 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/InfrastructureTest.java @@ -0,0 +1,39 @@ +package guides.infrastructure; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import io.smallrye.mutiny.infrastructure.MutinyScheduler; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.concurrent.Executor; + +import static org.assertj.core.api.Assertions.assertThat; + +public class InfrastructureTest { + + @Test + public void test() { + // tag::infra[] + Uni uni1 = Uni.createFrom().item(1) + .emitOn(Infrastructure.getDefaultExecutor()); + + Uni uni2 = Uni.createFrom().item(2) + .onItem().delayIt() + .onExecutor(Infrastructure.getDefaultWorkerPool()) + .by(Duration.ofMillis(10)); + // end::infra[] + + assertThat(uni1.await().indefinitely()).isEqualTo(1); + assertThat(uni2.await().indefinitely()).isEqualTo(2); + + + Executor executor = Runnable::run; + // tag::set-infra[] + Infrastructure.setDefaultExecutor(executor); + // end::set-infra[] + + assertThat(Infrastructure.getDefaultExecutor()).isEqualTo(executor); + assertThat(Infrastructure.getDefaultWorkerPool()).isInstanceOf(MutinyScheduler.class); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/OperatorLoggingTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/OperatorLoggingTest.java new file mode 100644 index 000000000..32746b70a --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/infrastructure/OperatorLoggingTest.java @@ -0,0 +1,36 @@ +package guides.infrastructure; + +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.infrastructure.Infrastructure; + +public class OperatorLoggingTest { + + @Test + public void test() { + // tag::set-logger[] + Infrastructure.setOperatorLogger((id, event, value, err) -> { + Logger logger = LoggerFactory.getLogger(id); + if (err != null) { + logger.info(event + "(" + err.getClass() + "(" + err.getMessage() + "))"); + } else { + if (value != null) { + logger.info(event + "(" + value + ")"); + } else { + logger.info(event + "()"); + } + } + }); + // end::set-logger[] + + // tag::log[] + Multi.createFrom().items(1, 2, 3) + .onItem().transform(n -> n * 10) + .log() + .subscribe().with(item -> System.out.println(">>> " + item)); + // end::log[] + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ImperativeToReactiveTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ImperativeToReactiveTest.java new file mode 100644 index 000000000..cc4484456 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ImperativeToReactiveTest.java @@ -0,0 +1,60 @@ +package guides.integration; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ImperativeToReactiveTest { + + + @Test + public void uniRunSubscriptionOn() { + // tag::uni-runSubscriptionOn[] + Uni uni = Uni.createFrom() + .item(this::invokeRemoteServiceUsingBlockingIO) + .runSubscriptionOn(Infrastructure.getDefaultWorkerPool()); + // end::uni-runSubscriptionOn[] + + String res = uni.await().indefinitely(); + assertThat(res).isEqualTo("Hello"); + } + + @Test + public void multiEmitOn() { + // tag::multi-emitOn[] + Multi multi = Multi.createFrom().items("john", "jack", "sue") + .emitOn(Infrastructure.getDefaultWorkerPool()) + .onItem().transform(this::invokeRemoteServiceUsingBlockingIO); + // end::multi-emitOn[] + + List strings = multi.subscribe().asStream().collect(Collectors.toList()); + assertThat(strings).containsExactly("JOHN", "JACK", "SUE"); + } + + public String invokeRemoteServiceUsingBlockingIO() { + assertThat(Thread.currentThread().getName()).doesNotContain("main"); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + return "Hello"; + } + + public String invokeRemoteServiceUsingBlockingIO(String s) { + assertThat(Thread.currentThread().getName()).doesNotContain("main"); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + return s.toUpperCase(); + } + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ReactiveToImperativeTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ReactiveToImperativeTest.java new file mode 100644 index 000000000..d4cb2397e --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ReactiveToImperativeTest.java @@ -0,0 +1,57 @@ +package guides.integration; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.stream.Stream; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("unchecked") +public class ReactiveToImperativeTest { + + @Test + public void testAwait() { + Uni uni = (Uni) Uni.createFrom().item(() -> 1); + + // tag::await[] + T t = uni.await().indefinitely(); + // end::await[] + + assertThat(t).isEqualTo(1); + } + + @Test + public void testAwaitAtMost() { + Uni uni = (Uni) Uni.createFrom().item(() -> 1); + + // tag::atMost[] + T t = uni.await().atMost(Duration.ofSeconds(1)); + // end::atMost[] + + assertThat(t).isEqualTo(1); + } + + @Test + public void test() { + Multi multi = (Multi) Multi.createFrom().items(1, 2, 3); + + // tag::iterable[] + Iterable iterable = multi.subscribe().asIterable(); + for (T item : iterable) { + doSomethingWithItem(item); + } + // end::iterable[] + + // tag::stream[] + Stream stream = multi.subscribe().asStream(); + stream.forEach(this::doSomethingWithItem); + // end::stream[] + } + + private void doSomethingWithItem(T item) { + assertThat(item).isIn(1, 2, 3); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ReactorTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ReactorTest.java new file mode 100644 index 000000000..83f629379 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/ReactorTest.java @@ -0,0 +1,158 @@ +package guides.integration; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.converters.multi.MultiReactorConverters; +import io.smallrye.mutiny.converters.uni.UniReactorConverters; +import mutiny.zero.flow.adapters.AdaptersToFlow; +import mutiny.zero.flow.adapters.AdaptersToReactiveStreams; +import org.junit.jupiter.api.Test; +import org.reactivestreams.Publisher; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +import java.util.List; +import java.util.concurrent.Flow; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("unchecked") +public class ReactorTest { + + @Test + public void testMultiCreation() { + Flux flux = getFlux(); + Mono mono = getMono(); + + // tag::reactor-multi-create[] + Flow.Publisher fluxAsPublisher = AdaptersToFlow.publisher(flux); + Multi multiFromFlux = Multi.createFrom().publisher(fluxAsPublisher); + + Flow.Publisher monoAsPublisher = AdaptersToFlow.publisher(mono); + Multi multiFromMono = Multi.createFrom().publisher(monoAsPublisher); + // end::reactor-multi-create[] + + List list = multiFromFlux + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a", "b", "c"); + + list = multiFromMono + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a"); + + } + + @Test + public void testUniCreation() { + Flux flux = getFlux(); + Mono mono = getMono(); + + // tag::reactor-uni-create[] + Flow.Publisher fluxAsPublisher = AdaptersToFlow.publisher(flux); + Uni uniFromFlux = Uni.createFrom().publisher(fluxAsPublisher); + + Flow.Publisher monoAsPublisher = AdaptersToFlow.publisher(mono); + Uni uniFromMono = Uni.createFrom().publisher(monoAsPublisher); + // end::reactor-uni-create[] + + String s = uniFromFlux + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = uniFromMono + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + } + + @Test + public void testCreationFromMulti() { + Multi multi = getMulti(); + + // tag::reactor-create-multi[] + Publisher multiAsLegacyPublisher = AdaptersToReactiveStreams.publisher(multi); + + Flux fluxFromMulti = Flux.from(multiAsLegacyPublisher); + Mono monoFromMulti = Mono.from(multiAsLegacyPublisher); + // end::reactor-create-multi[] + + List list = fluxFromMulti + .map(Object::toString) + .collectList() + .block(); + assertThat(list).containsExactly("a", "b", "c"); + + String s = monoFromMulti + .map(Object::toString) + .block(); + assertThat(s).isEqualTo("a"); + } + + @Test + public void testCreationFromUni() { + Uni uni = getUni(); + + // tag::reactor-create-uni[] + Flux fluxFromUni = uni.convert().with(UniReactorConverters.toFlux()); + Mono monoFromUni = uni.convert().with(UniReactorConverters.toMono()); + // end::reactor-create-uni[] + + List list = fluxFromUni + .map(Object::toString) + .collectList() + .block(); + assertThat(list).containsExactly("a"); + + String s = monoFromUni + .map(Object::toString) + .block(); + assertThat(s).isEqualTo("a"); + } + + private Flux getFlux() { + return Flux.just("a", "b", "c") + .map(s -> (T) s); + } + + private Mono getMono() { + return Mono.just("a") + .map(s -> (T) s); + } + + private Multi getMulti() { + return Multi.createFrom().items("a", "b", "c") + .map(s -> (T) s); + } + + private Uni getUni() { + return Uni.createFrom().item("a") + .map(s -> (T) s); + } + + @Test + public void uniExportToReactor() { + Uni uni = Uni.createFrom().item("hello"); + // tag::uni-export[] + Mono mono = uni.convert().with(UniReactorConverters.toMono()); + Flux flux = uni.convert().with(UniReactorConverters.toFlux()); + // end::uni-export[] + + assertThat(mono.block()).isEqualTo("hello"); + assertThat(flux.blockFirst()).isEqualTo("hello"); + } + + @Test + public void multiExportToReactor() { + Multi multi = Multi.createFrom().items("hello", "bonjour"); + // tag::multi-export[] + Mono mono = multi.convert().with(MultiReactorConverters.toMono()); + Flux flux = multi.convert().with(MultiReactorConverters.toFlux()); + // end::multi-export[] + + assertThat(mono.block()).isEqualTo("hello"); + assertThat(flux.toIterable()).containsExactly("hello", "bonjour"); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/RxJavaTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/RxJavaTest.java new file mode 100644 index 000000000..dd1ae117c --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/integration/RxJavaTest.java @@ -0,0 +1,277 @@ +package guides.integration; + +import io.reactivex.rxjava3.core.*; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.converters.multi.MultiRx3Converters; +import io.smallrye.mutiny.converters.uni.UniRx3Converters; +import mutiny.zero.flow.adapters.AdaptersToFlow; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.Optional; +import java.util.concurrent.Flow; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("unchecked") +public class RxJavaTest { + + @Test + public void testMultiCreation() { + Observable observable = getObservable(); + Flowable flowable = getFlowable(); + + // tag::rx-multi-create-observable[] + Multi multiFromObservable = Multi.createFrom() + .converter(MultiRx3Converters.fromObservable(), observable); + // end::rx-multi-create-observable[] + + // tag::rx-multi-create-flowable[] + Flow.Publisher flowableAsPublisher = AdaptersToFlow.publisher(flowable); + + Multi multiFromFlowable = Multi.createFrom().publisher(flowableAsPublisher); + // end::rx-multi-create-flowable[] + + List list = multiFromObservable + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a", "b", "c"); + + list = multiFromFlowable + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a", "b", "c"); + + Completable completable = getCompletable(); + Single single = getSingle(); + Maybe maybe = getMaybe(); + Maybe emptyMaybe = getEmptyMaybe(); + + // tag::rx-multi-create-single[] + Multi multiFromCompletable = Multi.createFrom() + .converter(MultiRx3Converters.fromCompletable(), completable); + Multi multiFromSingle = Multi.createFrom() + .converter(MultiRx3Converters.fromSingle(), single); + Multi multiFromMaybe = Multi.createFrom() + .converter(MultiRx3Converters.fromMaybe(), maybe); + Multi multiFromEmptyMaybe = Multi.createFrom() + .converter(MultiRx3Converters.fromMaybe(), emptyMaybe); + // end::rx-multi-create-single[] + + list = multiFromCompletable + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).isEmpty(); + + list = multiFromSingle + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a"); + + list = multiFromMaybe + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).containsExactly("a"); + + list = multiFromEmptyMaybe + .onItem().transform(Object::toString) + .collect().asList().await().indefinitely(); + assertThat(list).isEmpty(); + } + + @Test + public void testUniCreation() { + Observable observable = getObservable(); + Flowable flowable = getFlowable(); + + // tag::rx-uni-create-observable[] + Uni uniFromObservable = Uni.createFrom().converter( + UniRx3Converters.fromObservable(), observable); + // end::rx-uni-create-observable[] + + // tag::rx-uni-create-flowable[] + Flow.Publisher flowableAsPublisher = AdaptersToFlow.publisher(flowable); + + Uni uniFromFlowable = Uni.createFrom().publisher(flowableAsPublisher); + // end::rx-uni-create-flowable[] + + String s = uniFromFlowable + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = uniFromObservable + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + Completable completable = getCompletable(); + Single single = getSingle(); + Maybe maybe = getMaybe(); + Maybe emptyMaybe = getEmptyMaybe(); + + // tag::rx-uni-create-single[] + Uni multiFromCompletable = Uni.createFrom() + .converter(UniRx3Converters.fromCompletable(), completable); + Uni multiFromSingle = Uni.createFrom() + .converter(UniRx3Converters.fromSingle(), single); + Uni multiFromMaybe = Uni.createFrom() + .converter(UniRx3Converters.fromMaybe(), maybe); + Uni multiFromEmptyMaybe = Uni.createFrom() + .converter(UniRx3Converters.fromMaybe(), emptyMaybe); + // end::rx-uni-create-single[] + + Void v = multiFromCompletable + .await().indefinitely(); + assertThat(v).isNull(); + + s = multiFromSingle + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = multiFromMaybe + .onItem().transform(Object::toString) + .await().indefinitely(); + assertThat(s).isEqualTo("a"); + + s = multiFromEmptyMaybe + .onItem().castTo(String.class) + .await().indefinitely(); + assertThat(s).isNull(); + } + + @Test + public void testCreatingRxFromMulti() { + Multi multi = getMulti(); + + // tag::create-rx-from-multi[] + Completable completable = multi.convert() + .with(MultiRx3Converters.toCompletable()); + Single> single = multi.convert() + .with(MultiRx3Converters.toSingle()); + Single single2 = multi.convert() + .with(MultiRx3Converters + .toSingle().onEmptyThrow(() -> new Exception("D'oh!"))); + Maybe maybe = multi.convert() + .with(MultiRx3Converters.toMaybe()); + Observable observable = multi.convert() + .with(MultiRx3Converters.toObservable()); + Flowable flowable = multi.convert() + .with(MultiRx3Converters.toFlowable()); + // end::create-rx-from-multi[] + + completable.blockingAwait(); + assertThat(single.blockingGet()).contains((T) "a"); + assertThat(single2.blockingGet()).isEqualTo("a"); + assertThat(maybe.blockingGet()).isEqualTo("a"); + assertThat(observable.blockingIterable()).containsExactly((T) "a", (T) "b", (T) "c"); + assertThat(flowable.blockingIterable()).containsExactly((T) "a", (T) "b", (T) "c"); + } + + @Test + public void testCreatingRxFromUni() { + Uni uni = getUni(); + + // tag::create-rx-from-uni[] + Completable completable = uni.convert().with(UniRx3Converters.toCompletable()); + Single> single = uni.convert().with(UniRx3Converters.toSingle()); + Single single2 = uni.convert().with(UniRx3Converters.toSingle().failOnNull()); + Maybe maybe = uni.convert().with(UniRx3Converters.toMaybe()); + Observable observable = uni.convert().with(UniRx3Converters.toObservable()); + Flowable flowable = uni.convert().with(UniRx3Converters.toFlowable()); + // end::create-rx-from-uni[] + + completable.blockingAwait(); + assertThat(single.blockingGet()).contains((T) "a"); + assertThat(single2.blockingGet()).isEqualTo("a"); + assertThat(maybe.blockingGet()).isEqualTo("a"); + assertThat(observable.blockingIterable()).containsExactly((T) "a"); + assertThat(flowable.blockingIterable()).containsExactly((T) "a"); + } + + @Test + public void uniExportToRx() { + Uni uni = Uni.createFrom().item("hello"); + // + Completable completable = uni.convert().with(UniRx3Converters.toCompletable()); + Single> single = uni.convert().with(UniRx3Converters.toSingle()); + Single single2 = uni.convert().with(UniRx3Converters.toSingle().failOnNull()); + Maybe maybe = uni.convert().with(UniRx3Converters.toMaybe()); + Observable observable = uni.convert().with(UniRx3Converters.toObservable()); + Flowable flowable = uni.convert().with(UniRx3Converters.toFlowable()); + // + + completable.test().assertComplete(); + single.test().assertValue(o -> o.isPresent() && o.get().equals("hello")); + single2.test().assertValue("hello"); + maybe.test().assertValue("hello"); + observable.test().assertValue("hello").assertComplete(); + flowable.test().assertValue("hello").assertComplete(); + } + + @Test + public void multiExportToRx() { + Multi multi = Multi.createFrom().items("hello", "bonjour"); + // + Completable completable = multi.convert() + .with(MultiRx3Converters.toCompletable()); + Single> single = multi.convert() + .with(MultiRx3Converters.toSingle()); + Single single2 = multi.convert() + .with(MultiRx3Converters.toSingle().onEmptyThrow(() -> new Exception("D'oh!"))); + Maybe maybe = multi.convert() + .with(MultiRx3Converters.toMaybe()); + Observable observable = multi.convert() + .with(MultiRx3Converters.toObservable()); + Flowable flowable = multi.convert() + .with(MultiRx3Converters.toFlowable()); + // + + completable.test().assertComplete(); + single.test().assertValue(o -> o.isPresent() && o.get().equals("hello")); + single2.test().assertValue("hello"); + maybe.test().assertValue("hello"); + observable.test().assertValues("hello", "bonjour").assertComplete(); + flowable.test().assertValues("hello", "bonjour").assertComplete(); + } + + private Observable getObservable() { + return Observable.just("a", "b", "c") + .map(s -> (T) s); + } + + private Flowable getFlowable() { + return Flowable.just("a", "b", "c") + .map(s -> (T) s); + } + + private Single getSingle() { + return Single.just("a") + .map(s -> (T) s); + } + + private Maybe getMaybe() { + return Maybe.just("a") + .map(s -> (T) s); + } + + private Maybe getEmptyMaybe() { + return Maybe.empty(); + } + + private Completable getCompletable() { + return Completable.complete(); + } + + private Multi getMulti() { + return Multi.createFrom().items("a", "b", "c") + .map(s -> (T) s); + } + + private Uni getUni() { + return Uni.createFrom().item("a") + .map(s -> (T) s); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/BroadcastProcessorTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/BroadcastProcessorTest.java new file mode 100644 index 000000000..36172511c --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/BroadcastProcessorTest.java @@ -0,0 +1,35 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor; +import org.junit.jupiter.api.Test; + +public class BroadcastProcessorTest { + + @Test + public void test() { + // tag::code[] + BroadcastProcessor processor = BroadcastProcessor.create(); + Multi multi = processor + .onItem().transform(String::toUpperCase) + .onFailure().recoverWithItem("d'oh"); + + new Thread(() -> { + for (int i = 0; i < 1000; i++) { + processor.onNext(Integer.toString(i)); + } + processor.onComplete(); + }).start(); + + // Subscribers can subscribe at any time. + // They will only receive items emitted after their subscription. + // If the source is already terminated (by a completion or a failure signal) + // the subscriber receives this signal. + + // end::code[] + AssertSubscriber subscriber = AssertSubscriber.create(Long.MAX_VALUE); + multi.subscribe().withSubscriber(subscriber) + .awaitCompletion(); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/CollectingItemsTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/CollectingItemsTest.java new file mode 100644 index 000000000..b48d62c53 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/CollectingItemsTest.java @@ -0,0 +1,99 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.tuples.Tuple2; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.*; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.*; + +@SuppressWarnings("Convert2MethodRef") +public class CollectingItemsTest { + + @Test + public void testList() { + // tag::list[] + Multi multi = getMulti(); + Uni> uni = multi.collect().asList(); + // end::list[] + + assertThat(uni.await().indefinitely()).containsExactly("a", "b", "c"); + + // tag::first[] + Uni first = multi.collect().first(); + Uni last = multi.collect().last(); + // end::first[] + + assertThat(first.await().indefinitely()).isEqualTo("a"); + assertThat(last.await().indefinitely()).isEqualTo("c"); + } + + @Test + public void testMap() { + // tag::map[] + Multi multi = getMulti(); + Uni> uni = + multi.collect() + .asMap(item -> getUniqueKeyForItem(item)); + // end::map[] + + assertThat(uni.await().indefinitely()).hasSize(3); + } + + @Test + public void testMultiMap() { + // tag::multimap[] + Multi multi = getMulti(); + Uni>> uni = + multi.collect() + .asMultiMap(item -> getKeyForItem(item)); + // end::multimap[] + + assertThat(uni.await().indefinitely()).hasSize(2); + } + + @Test + public void testCustomAccumulator() { + // tag::accumulator[] + Multi multi = getMulti(); + Uni uni = multi.collect() + .in(MyCollection::new, (col, item) -> col.add(item)); + // end::accumulator[] + + assertThat(uni.await().indefinitely()).hasSize(3); + + // tag::collector[] + Uni count = multi.collect() + .with(Collectors.counting()); + // end::collector[] + + assertThat(count.await().indefinitely()).isEqualTo(3); + } + + private String getKeyForItem(String item) { + if( item.equalsIgnoreCase("b")) { + return "b"; + } else { + return "a"; + } + } + + private String getUniqueKeyForItem(String item) { + return item; + } + + private Multi getMulti() { + return Multi.createFrom().items("a", "b", "c"); + } + + private static class MyCollection extends ArrayList { + + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/CombiningItemsTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/CombiningItemsTest.java new file mode 100644 index 000000000..1f02148fd --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/CombiningItemsTest.java @@ -0,0 +1,177 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.tuples.Tuple2; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({ "unchecked", "Convert2MethodRef" }) +@ExtendWith(SystemOutCaptureExtension.class) +public class CombiningItemsTest { + + @Test + public void testWithUni(SystemOut out) throws InterruptedException { + // tag::invocations[] + Uni uniA = invokeHttpServiceA(); + Uni uniB = invokeHttpServiceB(); + // end::invocations[] + + // tag::combination[] + Uni> responses = Uni.combine() + .all().unis(uniA, uniB).asTuple(); + // end::combination[] + + // tag::subscription[] + Uni.combine().all().unis(uniA, uniB).asTuple() + .subscribe().with(tuple -> { + System.out.println("Response from A: " + tuple.getItem1()); + System.out.println("Response from B: " + tuple.getItem2()); + }); + // end::subscription[] + + await().until(() -> out.get().contains("Response from A: Response{content='A'}")); + await().until(() -> out.get().contains("Response from B: Response{content='B'}")); + + // tag::combined-with[] + Uni> uni = Uni.combine() + .all().unis(uniA, uniB).with( + listOfResponses -> { + Map map = new LinkedHashMap<>(); + map.put("A", (Response) listOfResponses.get(0)); + map.put("B", (Response) listOfResponses.get(1)); + return map; + } + ); + // end::combined-with[] + + assertThat(uni.await().indefinitely()).containsKeys("A", "B"); + + // + Uni> uni1 = Uni.combine() + .all().unis(uniA, uniB).withUni( + listOfResponses -> { + Map map = new LinkedHashMap<>(); + map.put("A", (Response) listOfResponses.get(0)); + map.put("B", (Response) listOfResponses.get(1)); + return Uni.createFrom().item(map); + } + ); + // + + assertThat(uni1.await().indefinitely()).containsKeys("A", "B"); + + + Thread.sleep(100); + } + + @Test + public void testWithMulti() throws InterruptedException { + Multi multiA = getMultiA(); + Multi multiB = getMultiB(); + + // tag::combine-multi[] + Multi> combined = Multi.createBy().combining() + .streams(multiA, multiB).asTuple(); + // end::combine-multi[] + + CountDownLatch latch = new CountDownLatch(1); + AtomicInteger i = new AtomicInteger(); + combined.subscribe().with( + tuple -> { + int v = i.incrementAndGet(); + assertThat(tuple.getItem1()).isEqualTo("a" + v); + assertThat(tuple.getItem2()).isEqualTo("b" + v); + }, + () -> latch.countDown() + ); + + assertThat(latch.await(10, TimeUnit.MILLISECONDS)).isTrue(); + + // tag::combine-multi-with[] + Multi.createBy().combining() + .streams(multiA, multiB).using(list -> combineItems(list)) + .subscribe().with(x -> { + // do something with the combined items + }); + // end::combine-multi-with[] + } + + @Test + public void testCombineLast() { + Multi multiA = getMultiA(); + Multi multiB = getMultiB(); + + // tag::combine-last[] + Multi> multi1 = Multi.createBy().combining() + .streams(multiA, multiB) + .latestItems().asTuple(); + + // or + + Multi multi2 = Multi.createBy().combining() + .streams(multiA, multiB) + .latestItems().using(list -> combineItems(list)); + // end::combine-last[] + + List> list = multi1.collect().asList().await().indefinitely(); + assertThat(list).hasSize(3); + assertThat(list.toString()).contains("a3", "b1", "b2", "b3").doesNotContain("a1", "a2"); + List strings = multi2.collect().asList().await().indefinitely(); + assertThat(strings).hasSize(3).containsExactly("a3b1", "a3b2", "a3b3"); + } + + private String combineItems(List list) { + return "" + list.get(0) + list.get(1); + } + + private Multi getMultiA() { + return Multi.createFrom().items("a1", "a2", "a3") + .onItem().transform(s -> (A) s); + } + + private Multi getMultiB() { + return Multi.createFrom().items("b1", "b2", "b3") + .onItem().transform(s -> (B) s); + } + + private Uni invokeHttpServiceA() { + return Uni.createFrom().item(new Response("A")) + .onItem().delayIt().by(Duration.ofMillis(10)); + } + + private Uni invokeHttpServiceB() { + return Uni.createFrom().item(new Response("B")) + .onItem().delayIt().by(Duration.ofMillis(30)); + } + + static class Response { + + private final String content; + + public Response(String content) { + this.content = content; + } + + @Override + public String toString() { + return "Response{" + + "content='" + content + '\'' + + '}'; + } + } + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/ControlDemandTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/ControlDemandTest.java new file mode 100644 index 000000000..2ea2694e1 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/ControlDemandTest.java @@ -0,0 +1,93 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import io.smallrye.mutiny.subscription.DemandPacer; +import io.smallrye.mutiny.subscription.FixedDemandPacer; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.time.temporal.ChronoUnit; + +import static org.assertj.core.api.Assertions.assertThat; + +class ControlDemandTest { + + @Test + void pacing() { + // tag::pacing[] + FixedDemandPacer pacer = new FixedDemandPacer(25L, Duration.ofMillis(100L)); + + Multi multi = Multi.createFrom().range(0, 100) + .paceDemand().on(Infrastructure.getDefaultWorkerPool()).using(pacer); + // end::pacing[] + + AssertSubscriber sub = multi.subscribe().withSubscriber(AssertSubscriber.create()); + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(100); + } + + @Test + void customPacer() { + // tag::custom-pacer[] + DemandPacer pacer = new DemandPacer() { + + @Override + public Request initial() { + return new Request(10L, Duration.ofMillis(100L)); + } + + @Override + public Request apply(Request previousRequest, long observedItemsCount) { + return new Request(previousRequest.demand() * 2, previousRequest.delay().plus(10, ChronoUnit.MILLIS)); + } + }; + // end::custom-pacer[] + } + + @Test + void capping() { + // tag::capConstant[] + AssertSubscriber sub = AssertSubscriber.create(); + + sub = Multi.createFrom().range(0, 100) + .capDemandsTo(50L) + .subscribe().withSubscriber(sub); + + // A first batch of 50 (capped), 25 remain outstanding + sub.request(75L).assertNotTerminated(); + assertThat(sub.getItems()).hasSize(50); + + // Second batch: 25 + 25 = 50 + sub.request(25L).assertCompleted(); + assertThat(sub.getItems()).hasSize(100); + // end::capConstant[] + } + + @Test + void cappingFunction() { + // tag::capFunction[] + AssertSubscriber sub = AssertSubscriber.create(); + + sub = Multi.createFrom().range(0, 100) + .capDemandsUsing(n -> { + if (n > 1) { + return (long) (((double) n) * 0.75d); + } else { + return n; + } + }) + .subscribe().withSubscriber(sub); + + sub.request(100L).assertNotTerminated(); + assertThat(sub.getItems()).hasSize(75); + + sub.request(1L).assertNotTerminated(); + assertThat(sub.getItems()).hasSize(94); + + sub.request(Long.MAX_VALUE).assertCompleted(); + assertThat(sub.getItems()).hasSize(100); + // end::capFunction[] + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/DelayTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/DelayTest.java new file mode 100644 index 000000000..052004e8b --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/DelayTest.java @@ -0,0 +1,87 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.List; +import java.util.Random; + +import static org.assertj.core.api.Assertions.assertThat; + +public class DelayTest { + + @Test + public void testDelayBy() { + // tag::delay-by[] + Uni delayed = Uni.createFrom().item("hello") + .onItem().delayIt().by(Duration.ofMillis(10)); + // end::delay-by[] + String r = delayed.map(s -> "Delayed " + s) + .await().indefinitely(); + assertThat(r).isEqualTo("Delayed hello"); + } + + @Test + public void testDelayUntil() { + // tag::delay-until[] + Uni delayed = Uni.createFrom().item("hello") + // The write method returns a Uni completed + // when the operation is done. + .onItem().delayIt().until(this::write); + // end::delay-until[] + String r = delayed + .map(s -> "Written " + s) + .await().indefinitely(); + assertThat(r).isEqualTo("Written hello"); + } + + @Test + public void testDelayMulti() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5); + // tag::delay-multi[] + Multi delayed = multi + .onItem().call(i -> + // Delay the emission until the returned uni emits its item + Uni.createFrom().nullItem().onItem().delayIt().by(Duration.ofMillis(10)) + ); + // end::delay-multi[] + assertThat(delayed.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5); + } + + @Test + public void testThrottling() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5); + // tag::throttling-multi[] + // Introduce a one second delay between each item + Multi ticks = Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onOverflow().drop(); + Multi delayed = Multi.createBy().combining().streams(ticks, multi) + .using((x, item) -> item); + // end::throttling-multi[] + assertThat(delayed.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5); + } + + @Test + public void testDelayMultiRandom() { + // tag::delay-multi-random[] + Random random = new Random(); + Multi delayed = Multi.createFrom().items(1, 2, 3, 4, 5) + .onItem().call(i -> { + Duration delay = Duration.ofMillis(random.nextInt(100) + 1); + return Uni.createFrom().nullItem().onItem().delayIt().by(delay); + }); + // end::delay-multi-random[] + assertThat(delayed.collect().asList() + .await().indefinitely()) + .containsExactlyInAnyOrder(1, 2, 3, 4, 5); + } + + private Uni write(String s) { + return Uni.createFrom().item(s) + .onItem().delayIt().by(Duration.ofMillis(20)) + .onItem().ignore().andContinueWithNull(); + } + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/EmitOnTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/EmitOnTest.java new file mode 100644 index 000000000..c9398aa36 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/EmitOnTest.java @@ -0,0 +1,62 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class EmitOnTest { + + @Test + public void testEmitOn() { + // tag::example[] + Uni uni = Uni.createFrom().emitter(emitter -> + new Thread(() -> + emitter.complete("hello from " + + Thread.currentThread().getName()) + ).start() + ) + .onItem().transform(item -> { + // Called on the emission thread. + return item.toUpperCase(); + }); + // end::example[] + + assertThat(uni.await().indefinitely()).startsWith("HELLO FROM").doesNotContain("MAIN"); + } + + @Test + public void test(SystemOut out) { + Uni uni = Uni.createFrom().item("hello"); + Multi multi = Multi.createFrom().items("a", "b", "c"); + + ExecutorService executor = Executors.newFixedThreadPool(4); + // tag::code[] + String res0 = uni.emitOn(executor) + .onItem() + .invoke(s -> System.out.println("Received item `" + s + "` on thread: " + + Thread.currentThread().getName())) + .await().indefinitely(); + + String res1 = multi.emitOn(executor) + .onItem() + .invoke(s -> System.out.println("Received item `" + s + "` on thread: " + + Thread.currentThread().getName())) + .collect().first() + .await().indefinitely(); + // end::code[] + + assertThat(out.get()).doesNotContain("main").contains("pool-").contains("hello", "a"); + assertThat(res0).isEqualTo("hello"); + assertThat(res1).isEqualTo("a"); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/FilterTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/FilterTest.java new file mode 100644 index 000000000..39e72d024 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/FilterTest.java @@ -0,0 +1,101 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class FilterTest { + + @Test + public void filter() { + Multi multi = Multi.createFrom().range(1, 11); + // tag::filter[] + List list = multi + .select().where(i -> i > 6) + .collect().asList() + .await().indefinitely(); + // end::filter[] + + // tag::test[] + List list2 = multi + .select().when(i -> Uni.createFrom().item(i > 6)) + .collect().asList() + .await().indefinitely(); + // end::test[] + + assertThat(list).containsExactly(7, 8, 9, 10); + assertThat(list2).containsExactly(7, 8, 9, 10); + } + + @Test + public void take() { + Multi multi = Multi.createFrom().range(1, 11); + // + List list = multi + .select().first(2) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .select().first(i -> i < 3) + .collect().asList() + .await().indefinitely(); + + List list3 = multi + .select().last(2) + .collect().asList() + .await().indefinitely(); + // + assertThat(list).containsExactly(1, 2); + assertThat(list2).containsExactly(1, 2); + assertThat(list3).containsExactly(9, 10); + } + + @Test + public void skip() { + Multi multi = Multi.createFrom().range(1, 11); + // + List list = multi + .skip().first(8) + .collect().asList() + .await().indefinitely(); + + List list2 = multi + .skip().first(i -> i < 9) + .collect().asList() + .await().indefinitely(); + + List list3 = multi + .skip().last(8) + .collect().asList() + .await().indefinitely(); + // + assertThat(list).containsExactly(9, 10); + assertThat(list2).containsExactly(9, 10); + assertThat(list3).containsExactly(1, 2); + } + + @Test + public void distinct() { + Multi multi = Multi.createFrom().items(1, 1, 2, 3, 4, 5, 5, 6); + // + List list = multi + .select().distinct() + .collect().asList() + .await().indefinitely(); + // + + // + List list2 = multi + .skip().repetitions() + .collect().asList() + .await().indefinitely(); + // + assertThat(list).containsExactly(1, 2, 3, 4, 5, 6); + assertThat(list2).containsExactly(1, 2, 3, 4, 5, 6); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/GroupingItemsTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/GroupingItemsTest.java new file mode 100644 index 000000000..022c11219 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/GroupingItemsTest.java @@ -0,0 +1,188 @@ +package guides.operators; + +import io.smallrye.mutiny.GroupedMulti; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.groups.Gatherer; +import io.smallrye.mutiny.groups.Gatherers; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.subscription.BackPressureFailure; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.stream.Collector; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +public class GroupingItemsTest { + + @Test + public void groupIntoLists() { + // tag::groupIntoLists[] + Multi> grouped = Multi.createFrom().range(0, 10) + .group().intoLists().of(3); // Group every 3 items into a list + + List> lists = grouped + .collect().asList() + .await().indefinitely(); + + assertThat(lists).containsExactly( + List.of(0, 1, 2), + List.of(3, 4, 5), + List.of(6, 7, 8), + List.of(9) + ); + // end::groupIntoLists[] + } + + @Test + public void timeBasedListGrouping() { + // tag::timeBasedListGrouping[] + Multi> timeWindows = Multi.createFrom() + .ticks().every(Duration.ofMillis(10)) + .group().intoLists().every(Duration.ofMillis(100)); + + // Each list contains items emitted within a 100ms window + // end::timeBasedListGrouping[] + } + + @Test + public void sizeAndTimeBasedListGrouping() { + // tag::sizeAndTimeBasedListGrouping[] + Multi> combined = Multi.createFrom() + .ticks().every(Duration.ofMillis(10)) + .group().intoLists().of(5, Duration.ofMillis(100)); + + // Emits a list when either 5 items are collected OR 100ms expires, + // whichever happens first + // end::sizeAndTimeBasedListGrouping[] + } + + @Test + public void groupIntoMultis() { + // tag::groupIntoMultis[] + Multi> grouped = Multi.createFrom().range(0, 7) + .group().intoMultis().of(2); // Group every 2 items into a Multi + + // Process each Multi independently - for example, join each group + Multi sums = grouped + .onItem().transformToUniAndConcatenate(multi -> + multi.collect().asList() + .onItem().transform(couple -> couple.stream() + .map(Objects::toString) + .collect(Collectors.joining("-")))); + + List results = sums.collect().asList().await().indefinitely(); + assertThat(results).containsExactly("0-1", "2-3", "4-5", "6"); + // end::groupIntoMultis[] + } + + @Test + public void timeBasedGrouping() { + // tag::timeBasedGrouping[] + Multi> timeWindows = Multi.createFrom() + .ticks().every(Duration.ofMillis(10)) + .group().intoMultis().every(Duration.ofMillis(100)); + + // Each Multi contains items emitted within a 100ms window + // end::timeBasedGrouping[] + } + + @Test + public void groupByKey() { + // tag::groupByKey[] + Multi> groups = Multi.createFrom().range(1, 10) + .group().by(i -> i % 3); // Group by modulo 3 + + // Process each group separately + Uni> result = groups + .onItem().transformToUniAndConcatenate(group -> + group.onItem().transform(Objects::toString) + .collect().asList() + .onItem().transform(l -> group.key() + "(" + String.join(",", l) + ")")) + .collect().asList(); + + List lists = result.await().indefinitely(); + assertThat(lists).containsExactly("1(1,4,7)", "2(2,5,8)", "0(3,6,9)"); + // end::groupByKey[] + } + + @Test + public void groupByKeyAndValue() { + // tag::groupByKeyAndValue[] + Multi> groups = Multi.createFrom().range(1, 10) + .group().by( + i -> i % 2 == 0, // Key: true for even, false for odd + i -> "Number: " + i // Value: transform to string + ); + + Uni>> result = groups + .onItem().transformToUniAndMerge(group -> + group.collect().asList() + ) + .collect().asList(); + + List> lists = result.await().indefinitely(); + assertThat(lists).hasSize(2); + // end::groupByKeyAndValue[] + } + + @Test + public void groupByWithMerge() { + // tag::groupByWithMerge[] + Multi results = Multi.createFrom().range(1, 100) + .group().by(i -> i % 10) // Create 10 groups (0-9) + .onItem().transformToMulti( + group -> group.onItem().transform(i -> "Group " + group.key() + ": " + i) + ) + .merge(10); // Set concurrency to at least the number of groups + + List items = results.collect().asList().await().indefinitely(); + assertThat(items).hasSize(99); + // end::groupByWithMerge[] + } + + @Test + public void groupByDeadlockExample() { + // tag::groupByDeadlock[] + // Creating 10 groups but limiting concurrency to only 2 + Multi dangerous = Multi.createFrom().ticks().every(Duration.ofMillis(10)) + .group().by(i -> i % 10) // Creates 10 groups + .onItem().transformToMulti( + group -> group.onItem().transform(i -> "Group " + group.key() + ": " + i) + ) + .merge(2); // Only 2 groups can be processed concurrently + + // This may hang because groups 3-10 cannot make progress + // while waiting for groups 1-2 to complete + AssertSubscriber sub = dangerous.subscribe() + .withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + sub.awaitFailure(t -> assertThat(t).isInstanceOf(BackPressureFailure.class)); + // end::groupByDeadlock[] + } + + @Test + public void groupByWithConcatenate() { + // tag::groupByWithConcatenate[] + // Safe alternative: use concatenate to process groups sequentially + Multi safe = Multi.createFrom().range(1, 100) + .invoke(i -> System.out.println("emit " + i)) + .group().by(i -> i % 10) + .onItem().transformToMultiAndConcatenate( + group -> group.onItem().transform(i -> "Group " + group.key() + ": " + i) + .invoke(i -> System.out.println("group " + i)) + ); + // Groups are processed one at a time, so no deadlock + + List items = safe.collect().asList().await().indefinitely(); + assertThat(items).hasSize(99); + // end::groupByWithConcatenate[] + } + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/MergeConcatTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/MergeConcatTest.java new file mode 100644 index 000000000..580404e7e --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/MergeConcatTest.java @@ -0,0 +1,119 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import org.awaitility.Awaitility; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.List; +import java.util.Random; +import java.util.concurrent.CopyOnWriteArrayList; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({ "unchecked", "Convert2MethodRef" }) +@ExtendWith(SystemOutCaptureExtension.class) +public class MergeConcatTest { + + private final Random random = new Random(); + + @Test + public void testMerge() { + // tag::merge[] + Multi multi1 = getFirstMulti(); + Multi multi2 = getSecondMulti(); + + Multi merged = Multi.createBy().merging().streams(multi1, multi2); + // end::merge[] + + List received = new CopyOnWriteArrayList<>(); + merged.subscribe().with(received::add); + await().until(() -> received.size() == 9); + assertThat(received).contains(1, 2, 3, 4, 5, 6, 7, 8, 9); + } + + @Test + public void testConcat() { + // tag::concat[] + Multi multi1 = getFirstMulti(); + Multi multi2 = getSecondMulti(); + + Multi concatenated = Multi.createBy().concatenating().streams(multi1, multi2); + // end::concat[] + + List received = new CopyOnWriteArrayList<>(); + concatenated.subscribe().with(received::add); + await().until(() -> received.size() == 9); + assertThat(received).containsExactly(1, 2, 3, 4, 5, 6, 7, 8, 9); + } + + @Test + public void testMergeTicks(SystemOut out) { + // tag::merge-ticks[] + Multi first = Multi.createFrom().ticks().every(Duration.ofMillis(10)) + .onItem().transform(l -> "Stream 1 - " + l); + + Multi second = Multi.createFrom().ticks().every(Duration.ofMillis(15)) + .onItem().transform(l -> "Stream 2 - " + l); + + Multi third = Multi.createFrom().ticks().every(Duration.ofMillis(5)) + .onItem().transform(l -> "Stream 3 - " + l); + + Cancellable cancellable = Multi.createBy().merging().streams(first, second, third) + .subscribe().with(s -> System.out.println("Got item: " + s)); + // end::merge-ticks[] + + await().until(() -> out.get().contains("Got item: Stream 3 - 10")); + cancellable.cancel(); + } + + @Test + public void testConcatenateStrings(SystemOut out) { + // tag::concatenate-strings[] + Multi first = Multi.createFrom().items("A1", "A2", "A3"); + Multi second = Multi.createFrom().items("B1", "B2", "B3"); + + Multi.createBy().concatenating().streams(first, second) + .subscribe().with(item -> System.out.print(item)); // "A1A2A3B1B2B3" + + Multi.createBy().concatenating().streams(second, first) + .subscribe().with(item -> System.out.print(item)); // "B1B2B3A1A2A3" + // end::concatenate-strings[] + + await().until(() -> out.get().contains("A1A2A3B1B2B3")); + await().until(() -> out.get().contains("B1B2B3A1A2A3")); + + assertThat( + Multi.createBy().concatenating().streams(first, second) + .collect().in(StringBuffer::new, StringBuffer::append) + .await().indefinitely() + ).isEqualToIgnoringCase("A1A2A3B1B2B3"); + + assertThat( + Multi.createBy().concatenating().streams(second, first) + .collect().in(StringBuffer::new, StringBuffer::append) + .await().indefinitely() + ).isEqualToIgnoringCase("B1B2B3A1A2A3"); + + } + + private Multi getFirstMulti() { + return Multi.createFrom().items(1, 2, 3, 4, 5, 6) + .onItem().call(() -> Uni.createFrom().nullItem().onItem().delayIt() + .by(Duration.ofMillis(random.nextInt(100) + 1))) + .onItem().transform(i -> (T) i); + } + + private Multi getSecondMulti() { + return Multi.createFrom().items(7, 8, 9) + .onItem().call(() -> Uni.createFrom().nullItem().onItem().delayIt() + .by(Duration.ofMillis(random.nextInt(100) + 1))) + .onItem().transform(i -> (T) i); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PaginationTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PaginationTest.java new file mode 100644 index 000000000..e032de2a6 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PaginationTest.java @@ -0,0 +1,97 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import org.junit.jupiter.api.Test; + +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; + +public class PaginationTest { + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test() { + // tag::code[] + PaginatedApi api = new PaginatedApi(); + + Multi stream = Multi.createBy().repeating() + .completionStage( + () -> new AtomicInteger(), + state -> api.getPage(state.getAndIncrement())) + .until(list -> list.isEmpty()) + .onItem().disjoint(); + // end::code[] + stream.subscribe().withSubscriber(AssertSubscriber.create(10)) + .assertCompleted() + .assertItems("a", "b", "c", "d", "e", "f", "g", "h"); + + } + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test2() { + // tag::code2[] + PaginatedApi api = new PaginatedApi(); + + Multi stream = Multi.createBy().repeating() + .uni( + () -> new AtomicInteger(), + state -> api.retrieve(state.getAndIncrement())) + .whilst(page -> page.hasNext()); + // end::code2[] + AssertSubscriber subscriber = stream.subscribe() + .withSubscriber(AssertSubscriber.create(10)) + .assertCompleted(); + + assertThat(subscriber.getItems()).hasSize(3); + + } + + private static class Page { + final boolean hasNext; + + private Page(boolean hasNext) { + this.hasNext = hasNext; + } + + public boolean hasNext() { + return hasNext; + } + } + + + private class PaginatedApi { + + Map> pages = new LinkedHashMap<>(); + + public PaginatedApi() { + pages.put(0, Arrays.asList("a", "b", "c")); + pages.put(1, Arrays.asList("d", "e", "f")); + pages.put(2, Arrays.asList("g", "h")); + pages.put(3, Collections.emptyList()); + } + + CompletionStage> getPage(int page) { + List strings = pages.get(page); + if (strings == null) { + strings = Collections.emptyList(); + } + return CompletableFuture.completedFuture(strings); + } + + + Uni retrieve(int page) { + if (page == 2) { + return Uni.createFrom().item(new Page(false)); + } + return Uni.createFrom().item(new Page(true)); + } + } + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PausingDemandTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PausingDemandTest.java new file mode 100644 index 000000000..9f27d3dd1 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PausingDemandTest.java @@ -0,0 +1,267 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.subscription.BackPressureStrategy; +import io.smallrye.mutiny.subscription.DemandPauser; +import org.junit.jupiter.api.Test; + +import java.time.Duration; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; + +class PausingDemandTest { + + @Test + void basicPausing() { + // tag::basic[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = AssertSubscriber.create(); + Multi.createFrom().range(0, 100) + .pauseDemand().using(pauser) + // Throttle the multi + .onItem().call(i -> Uni.createFrom().nullItem() + .onItem().delayIt().by(Duration.ofMillis(10))) + .subscribe().withSubscriber(sub); + + // Unbounded request + sub.request(Long.MAX_VALUE); + // Wait for some items + await().untilAsserted(() -> assertThat(sub.getItems()).hasSizeGreaterThan(10)); + + // Pause the stream + pauser.pause(); + assertThat(pauser.isPaused()).isTrue(); + + int sizeWhenPaused = sub.getItems().size(); + + // Wait - no new items should arrive (except a few in-flight) + await().pollDelay(Duration.ofMillis(100)).until(() -> true); + assertThat(sub.getItems()).hasSizeLessThanOrEqualTo(sizeWhenPaused + 5); + + // Resume the stream + pauser.resume(); + assertThat(pauser.isPaused()).isFalse(); + + // All items eventually arrive + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(100); + // end::basic[] + } + + @Test + void initiallyPaused() { + // tag::initially-paused[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = Multi.createFrom().range(0, 50) + .pauseDemand() + .paused(true) // Start paused + .using(pauser) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // No items arrive while paused + await().pollDelay(Duration.ofMillis(100)).until(() -> true); + assertThat(sub.getItems()).isEmpty(); + assertThat(pauser.isPaused()).isTrue(); + + // Resume to start receiving items + pauser.resume(); + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(50); + // end::initially-paused[] + } + + @Test + void lateSubscription() { + // tag::late-subscription[] + DemandPauser pauser = new DemandPauser(); + AtomicBoolean subscribed = new AtomicBoolean(false); + + AssertSubscriber sub = Multi.createFrom().range(0, 50) + .onSubscription().invoke(() -> subscribed.set(true)) + .pauseDemand() + .paused(true) // Start paused + .lateSubscription(true) // Delay subscription until resumed + .using(pauser) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // Stream is not subscribed yet + await().pollDelay(Duration.ofMillis(100)).until(() -> true); + assertThat(subscribed.get()).isFalse(); + assertThat(sub.getItems()).isEmpty(); + + // Resume triggers subscription and item flow + pauser.resume(); + await().untilAsserted(() -> assertThat(subscribed.get()).isTrue()); + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(50); + // end::late-subscription[] + } + + @Test + void bufferStrategy() { + // tag::buffer-strategy[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = AssertSubscriber.create(Long.MAX_VALUE); + + Multi.createFrom().ticks().every(Duration.ofMillis(10)) + .select().first(100) + .pauseDemand() + .bufferStrategy(BackPressureStrategy.BUFFER) + .bufferSize(20) // Buffer up to 20 items + .using(pauser) + .subscribe().withSubscriber(sub); + + // Wait for some items + await().untilAsserted(() -> assertThat(sub.getItems()).hasSizeGreaterThan(5)); + + // Pause - items buffer up to the limit + pauser.pause(); + + // Wait for buffer to fill + await().pollDelay(Duration.ofMillis(100)) + .untilAsserted(() -> assertThat(pauser.bufferSize()).isGreaterThan(0)); + + // Buffer size is capped + assertThat(pauser.bufferSize()).isLessThanOrEqualTo(20); + + // Resume drains the buffer + pauser.resume(); + await().untilAsserted(() -> assertThat(pauser.bufferSize()).isEqualTo(0)); + // end::buffer-strategy[] + } + + @Test + void dropStrategy() { + // tag::drop-strategy[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = Multi.createFrom().ticks().every(Duration.ofMillis(5)) + .select().first(200) + .pauseDemand() + .bufferStrategy(BackPressureStrategy.DROP) // Drop items while paused + .using(pauser) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // Wait for some items + await().untilAsserted(() -> assertThat(sub.getItems()).hasSizeGreaterThan(20)); + + // Pause - subsequent items are dropped + pauser.pause(); + int sizeWhenPaused = sub.getItems().size(); + + // Wait while items are dropped + await().pollDelay(Duration.ofMillis(200)).until(() -> true); + + // Resume - continue from current position + pauser.resume(); + await().atMost(Duration.ofSeconds(3)) + .untilAsserted(() -> assertThat(sub.getItems().size()).isGreaterThan(sizeWhenPaused + 20)); + + sub.awaitCompletion(); + // Not all items arrived (some were dropped) + assertThat(sub.getItems()).hasSizeLessThan(200); + // end::drop-strategy[] + } + + @Test + void bufferManagement() { + // tag::buffer-management[] + DemandPauser pauser = new DemandPauser(); + + AssertSubscriber sub = Multi.createFrom().ticks().every(Duration.ofMillis(10)) + .select().first(100) + .pauseDemand() + .bufferStrategy(BackPressureStrategy.BUFFER) + .bufferUnconditionally() // Unbounded buffer + .using(pauser) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // Wait for some items + await().untilAsserted(() -> assertThat(sub.getItems()).hasSizeGreaterThan(5)); + + // Pause and let buffer fill + pauser.pause(); + await().pollDelay(Duration.ofMillis(100)) + .untilAsserted(() -> assertThat(pauser.bufferSize()).isGreaterThan(0)); + + int bufferSize = pauser.bufferSize(); + assertThat(bufferSize).isGreaterThan(0); + + // Clear the buffer + boolean cleared = pauser.clearBuffer(); + assertThat(cleared).isTrue(); + assertThat(pauser.bufferSize()).isEqualTo(0); + + // Resume - items continue from current position (cleared items are lost) + pauser.resume(); + // end::buffer-management[] + } + + @Test + void externalControl() { + // + DemandPauser pauser = new DemandPauser(); + + // Create and transform the stream + Multi stream = Multi.createFrom().range(0, 1000) + .pauseDemand().using(pauser) + .onItem().transform(i -> "Item-" + i) + .onItem().transform(String::toUpperCase); + + // Control the stream from anywhere + pauser.pause(); + + // Later, subscribe to the stream + AssertSubscriber sub = stream + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // No items while paused + await().pollDelay(Duration.ofMillis(100)).until(() -> true); + assertThat(sub.getItems()).isEmpty(); + + // Resume to receive items + pauser.resume(); + sub.awaitCompletion(); + assertThat(sub.getItems()).hasSize(1000); + // + } + + @Test + void conditionalFlow() { + // + DemandPauser pauser = new DemandPauser(); + AtomicInteger errorCount = new AtomicInteger(0); + + AssertSubscriber sub = Multi.createFrom().range(0, 100) + .pauseDemand().using(pauser) + .onItem().invoke(item -> { + // Simulate error-prone processing + if (item % 20 == 0 && item > 0) { + errorCount.incrementAndGet(); + pauser.pause(); // Pause on errors + } + }) + .subscribe().withSubscriber(AssertSubscriber.create(Long.MAX_VALUE)); + + // Stream pauses when errors occur + await().untilAsserted(() -> assertThat(errorCount.get()).isGreaterThan(0)); + await().untilAsserted(() -> assertThat(pauser.isPaused()).isTrue()); + + // Handle the error, then resume + errorCount.set(0); + pauser.resume(); + + // Stream continues + await().pollDelay(Duration.ofMillis(50)).until(() -> true); + assertThat(sub.getItems().size()).isGreaterThan(20); + // + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PollableSourceTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PollableSourceTest.java new file mode 100644 index 000000000..d5b10e736 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/PollableSourceTest.java @@ -0,0 +1,84 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.awaitility.Awaitility.await; + +@ExtendWith(SystemOutCaptureExtension.class) +public class PollableSourceTest { + + private final ExecutorService executor = Executors.newSingleThreadExecutor(); + + @Test + public void test(SystemOut out) { // NOSONAR + // tag::code[] + PollableDataSource source = new PollableDataSource(); + // First creates a uni that emit the polled item. + // Because `poll` blocks, let's use a specific executor + Uni pollItemFromSource = Uni.createFrom().item(source::poll) + .runSubscriptionOn(executor); + // To get the stream of items, just repeat the uni indefinitely + Multi stream = pollItemFromSource.repeat().indefinitely(); + + Cancellable cancellable = stream.subscribe().with(item -> System.out.println("Polled item: " + item)); + // end::code[] + await().until(() -> source.counter.get() >= 4); + // tag::code[] + // ... later .. + // when you don't want the items anymore, cancel the subscription and close the source if needed. + cancellable.cancel(); + source.close(); + // end::code[] + } + + @SuppressWarnings("Convert2MethodRef") + @Test + public void test2(SystemOut out) { // NOSONAR + // tag::code2[] + PollableDataSource source = new PollableDataSource(); + Multi stream = Multi.createBy().repeating() + .supplier(source::poll) + .until(s -> s == null) + .runSubscriptionOn(executor); + + stream.subscribe().with(item -> System.out.println("Polled item: " + item)); + // end::code2[] + await().until(() -> source.counter.get() >= 5); + } + + private static class PollableDataSource { + + private final AtomicInteger counter = new AtomicInteger(); + + String poll() { + block(); + if (counter.get() == 5) { + return null; + } + return Integer.toString(counter.getAndIncrement()); + } + + private void block() { + try { + Thread.sleep(100); // NOSONAR + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + + public void close() { + // do nothing. + } + } + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/RepetitionsTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/RepetitionsTest.java new file mode 100644 index 000000000..c32dcf760 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/RepetitionsTest.java @@ -0,0 +1,31 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class RepetitionsTest { + + @Test + public void distinct() { + Multi multi = Multi.createFrom().items(1, 1, 2, 3, 4, 5, 5, 6, 1, 4, 4); + // tag::distinct[] + List list = multi + .select().distinct() + .collect().asList() + .await().indefinitely(); + // end::distinct[] + + // tag::repetition[] + List list2 = multi + .skip().repetitions() + .collect().asList() + .await().indefinitely(); + // end::repetition[] + assertThat(list).containsExactly(1, 2, 3, 4, 5, 6); + assertThat(list2).containsExactly(1, 2, 3, 4, 5, 6, 1, 4); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/ReplayTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/ReplayTest.java new file mode 100644 index 000000000..268421678 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/ReplayTest.java @@ -0,0 +1,82 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ReplayTest { + + @Test + public void replayAll() { + // tag::replay-all[] + Multi upstream = Multi.createFrom().range(0, 10); + + Multi replay = Multi.createBy().replaying().ofMulti(upstream); + + List items_1 = replay.collect().asList().await().indefinitely(); + List items_2 = replay.collect().asList().await().indefinitely(); + // end::replay-all[] + + assertThat(items_1) + .isEqualTo(items_2) + .hasSize(10); + System.out.println(items_1); + } + + @Test + public void replayLast() { + // tag::replay-last[] + Multi upstream = Multi.createFrom().range(0, 10); + + Multi replay = Multi.createBy().replaying().upTo(3).ofMulti(upstream); + + List items_1 = replay.collect().asList().await().indefinitely(); + List items_2 = replay.collect().asList().await().indefinitely(); + // end::replay-last[] + + assertThat(items_1) + .isEqualTo(items_2) + .hasSize(3); + System.out.println(items_1); + } + + @Test + public void replayWithSeed() { + // tag::replay-seed[] + Multi upstream = Multi.createFrom().range(0, 10); + Iterable seed = Arrays.asList(-10, -5, -1); + + Multi replay = Multi.createBy().replaying().ofSeedAndMulti(seed, upstream); + + List items_1 = replay.collect().asList().await().indefinitely(); + List items_2 = replay.collect().asList().await().indefinitely(); + // end::replay-seed[] + + assertThat(items_1) + .isEqualTo(items_2) + .hasSize(13); + System.out.println(items_1); + } + + @Test + public void errors() { + // tag::replay-errors[] + Multi upstream = Multi.createBy().concatenating().streams( + Multi.createFrom().range(0, 10), + Multi.createFrom().failure(() -> new IOException("boom")) + ); + + Multi replay = Multi.createBy().replaying().upTo(3).ofMulti(upstream); + + replay.subscribe().with( + n -> System.out.println(" -> " + n), + failure -> System.out.println("Failed: " + failure.getMessage()), + () -> System.out.println("Completed")); + // end::replay-errors[] + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/RunSubscriptionOnTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/RunSubscriptionOnTest.java new file mode 100644 index 000000000..fbe4d38bf --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/RunSubscriptionOnTest.java @@ -0,0 +1,67 @@ +package guides.operators; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.infrastructure.Infrastructure; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.util.concurrent.Executor; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Stream; + +import static org.awaitility.Awaitility.await; +import static org.hamcrest.CoreMatchers.is; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class RunSubscriptionOnTest { + + @Test + public void testRunSubscriptionOn(SystemOut out) { + Executor executor = Infrastructure.getDefaultExecutor(); + AtomicBoolean completed = new AtomicBoolean(); + //tag::runSubscriptionOn[] + Multi.createFrom().items(() -> { + // called on a thread from the executor + return retrieveItemsFromSource(); + }) + .onItem().transform(this::applySomeOperation) + .runSubscriptionOn(executor) + .subscribe().with( + item -> System.out.println("Item: " + item), + Throwable::printStackTrace, + () -> completed.set(true) + ); + //end::runSubscriptionOn[] + + await().untilAtomic(completed, is(true)); + } + + @Test + public void testEmitOn(SystemOut out) { + Executor executor = Infrastructure.getDefaultExecutor(); + AtomicBoolean completed = new AtomicBoolean(); + //tag::emitOn[] + Multi.createFrom().items(this::retrieveItemsFromSource) + .emitOn(executor) + .onItem().transform(this::applySomeOperation) + .subscribe().with( + item -> System.out.println("Item: " + item), + Throwable::printStackTrace, + () -> completed.set(true) + ); + //end::emitOn[] + + await().untilAtomic(completed, is(true)); + } + + public String applySomeOperation(String s) { + return s.toUpperCase(); + } + + public Stream retrieveItemsFromSource() { + return Stream.of("a", "b", "c"); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/SelectAndSkipTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/SelectAndSkipTest.java new file mode 100644 index 000000000..a8ffa4508 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/SelectAndSkipTest.java @@ -0,0 +1,65 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThat; + +public class SelectAndSkipTest { + + @Test + public void testSelect() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5, 6, 7, 8, 9); + + // tag::take-first[] + Multi firstThreeItems = multi.select().first(3); + // end::take-first[] + + // tag::take-last[] + Multi lastThreeItems = multi.select().last(3); + // end::take-last[] + + // tag::take-while[] + Multi takeWhile = multi.select().first(i -> i < 4); + // end::take-while[] + + // tag::take-for[] + Multi takeForDuration = multi.select().first(Duration.ofSeconds(1)); + // end::take-for[] + + assertThat(firstThreeItems.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + assertThat(takeWhile.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + assertThat(lastThreeItems.collect().asList().await().indefinitely()).containsExactly(7, 8, 9); + assertThat(takeForDuration.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5, 6, 7, 8, 9); + + } + + @Test + public void testSkip() { + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5, 6, 7, 8, 9); + + // tag::skip-first[] + Multi skipThreeItems = multi.skip().first(3); + // end::skip-first[] + + // tag::skip-last[] + Multi skipLastThreeItems = multi.skip().last(3); + // end::skip-last[] + + // tag::skip-while[] + Multi skipWhile = multi.skip().first(i -> i < 4); + // end::skip-while[] + + // tag::skip-for[] + Multi skipForDuration = multi.skip().first(Duration.ofSeconds(1)); + // end::skip-for[] + + assertThat(skipThreeItems.collect().asList().await().indefinitely()).containsExactly(4, 5, 6, 7, 8, 9); + assertThat(skipLastThreeItems.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4 ,5, 6); + assertThat(skipWhile.collect().asList().await().indefinitely()).containsExactly(4, 5, 6, 7, 8, 9); + assertThat(skipForDuration.collect().asList().await().indefinitely()).isEmpty(); + + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/SplitTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/SplitTest.java new file mode 100644 index 000000000..bf2855bb9 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/SplitTest.java @@ -0,0 +1,45 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import org.junit.jupiter.api.Test; + +public class SplitTest { + + // tag::enum[] + enum Signals { + INPUT, + OUTPUT, + OTHER + } + // end::enum[] + + @Test + public void splitDemo() { + // tag::splits[] + Multi multi = Multi.createFrom().items( + "!a", "?b", "!c", "!d", "123", "?e" + ); + + var splitter = multi.split(Signals.class, s -> { + if (s.startsWith("?")) { + return Signals.INPUT; + } else if (s.startsWith("!")) { + return Signals.OUTPUT; + } else { + return Signals.OTHER; + } + }); + + splitter.get(Signals.INPUT) + .onItem().transform(s -> s.substring(1)) + .subscribe().with(signal -> System.out.println("input - " + signal)); + + splitter.get(Signals.OUTPUT) + .onItem().transform(s -> s.substring(1)) + .subscribe().with(signal -> System.out.println("output - " + signal)); + + splitter.get(Signals.OTHER) + .subscribe().with(signal -> System.out.println("other - " + signal)); + // end::splits[] + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/UniJoinTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/UniJoinTest.java new file mode 100644 index 000000000..a02897084 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/UniJoinTest.java @@ -0,0 +1,54 @@ +package guides.operators; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.groups.UniJoin; +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.List; +import java.util.function.Supplier; + +class UniJoinTest { + + @Test + void joinAll() { + // tag::join-all[] + Uni a = Uni.createFrom().item(1); + Uni b = Uni.createFrom().item(2); + Uni c = Uni.createFrom().item(3); + + Uni> res = Uni.join().all(a, b, c).andCollectFailures(); + // end::join-all[] + + // tag::join-all-ff[] + res = Uni.join().all(a, b, c).andFailFast(); + // end::join-all-ff[] + } + + void joinFirst(Uni a, Uni b, Uni c) { + + // tag::join-first[] + Uni res = Uni.join().first(a, b, c).toTerminate(); + // end::join-first[] + + // tag::join-first-withitem[] + res = Uni.join().first(a, b, c).withItem(); + // end::join-first-withitem[] + + Supplier> supplier = () -> Uni.createFrom().item(63); + boolean someCondition = false; + + // tag::builder[] + UniJoin.Builder builder = Uni.join().builder(); + + while (someCondition) { + Uni uni = supplier.get(); + builder.add(uni); + } + + Uni> all = builder.joinAll().andFailFast(); + + Uni first = builder.joinFirst().withItem(); + // end::builder[] + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/UnicastProcessorTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/UnicastProcessorTest.java new file mode 100644 index 000000000..237b59345 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/operators/UnicastProcessorTest.java @@ -0,0 +1,34 @@ +package guides.operators; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import io.smallrye.mutiny.operators.multi.processors.UnicastProcessor; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class UnicastProcessorTest { + + @Test + public void test() { + // tag::code[] + UnicastProcessor processor = UnicastProcessor.create(); + Multi multi = processor + .onItem().transform(String::toUpperCase) + .onFailure().recoverWithItem("d'oh"); + + // Create a source of items that does not follow the request protocol + new Thread(() -> { + for (int i = 0; i < 1000; i++) { + processor.onNext(Integer.toString(i)); + } + processor.onComplete(); + }).start(); + + // end::code[] + AssertSubscriber subscriber = AssertSubscriber.create(Long.MAX_VALUE); + multi.subscribe().withSubscriber(subscriber) + .awaitCompletion() + .run(() -> assertThat(subscriber.getItems()).hasSize(1000)); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/guides/reference/PitfallsTest.java b/content/docs/smallrye-mutiny/main/_examples/java/guides/reference/PitfallsTest.java new file mode 100644 index 000000000..1db116a84 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/guides/reference/PitfallsTest.java @@ -0,0 +1,64 @@ +package guides.reference; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.util.List; + +public class PitfallsTest { + + private Uni fetch(String id) { + return Uni.createFrom().item("Yolo"); + } + + @Test + public void noMagicScheduling() { + // tag::noMagicJoin[] + Uni> data = Uni.join().all( + fetch("abc"), + fetch("def"), + fetch("123")).andFailFast(); + // end::noMagicJoin[] + } + + @Test + public void inMemoryData() { + // tag::inMemoryData[] + Uni uni = Uni.createFrom().item(123); + Multi multi = Multi.createFrom().items(1, 2, 3, 4, 5); + // end::inMemoryData[] + } + + private List obtainValues(String key) { + return List.of(); + } + + // tag::suspiciousPublisher[] + public Multi fetchData(String key) { + List strings = obtainValues(key); + return Multi.createFrom().iterable(strings); + } + // end::suspiciousPublisher[] + + private Multi streamData(String key) { + return Multi.createFrom().items(""); + } + + private Multi extractData(String line) { + return Multi.createFrom().items(""); + } + + private Multi flatmap() { + // tag::flatmap-ism[] + Multi stream = streamData("abc"); + return stream.onItem().transformToMultiAndMerge(line -> { + if (line.trim().length() > 10) { + return extractData(line); + } else { + return Multi.createFrom().item("[N/A]"); + } + }); + // end::flatmap-ism[] + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/tutorials/CreatingMultiTest.java b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/CreatingMultiTest.java new file mode 100644 index 000000000..b2c5e621a --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/CreatingMultiTest.java @@ -0,0 +1,134 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.helpers.BlockingIterable; +import io.smallrye.mutiny.subscription.Cancellable; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.Arrays; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.IntStream; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({"Convert2MethodRef"}) +@ExtendWith(SystemOutCaptureExtension.class) +public class CreatingMultiTest { + + @Test + void pipeline(SystemOut out) { + // tag::pipeline[] + Multi.createFrom().items(1, 2, 3, 4, 5) + .onItem().transform(i -> i * 2) + .select().first(3) + .onFailure().recoverWithItem(0) + .subscribe().with(System.out::println); + // end::pipeline[] + assertThat(out.get()).contains("2", "4", "6"); + } + + @Test + void subscription(SystemOut out) { + Multi multi = Multi.createFrom().item(1); + // tag::subscription[] + Cancellable cancellable = multi + .subscribe().with( + item -> System.out.println(item), + failure -> System.out.println("Failed with " + failure), + () -> System.out.println("Completed")); + // end::subscription[] + assertThat(cancellable).isNotNull(); + assertThat(out.get()).contains("1", "Completed").doesNotContain("Failed"); + } + + @Test + public void creation() { + { + // tag::simple[] + Multi multiFromItems = Multi.createFrom().items(1, 2, 3, 4); + Multi multiFromIterable = Multi.createFrom().iterable(Arrays.asList(1, 2, 3, 4, 5)); + // end::simple[] + assertThat(multiFromItems.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4); + assertThat(multiFromIterable.collect().asList().await().indefinitely()).containsExactly(1, 2, 3, 4, 5); + } + + { + // tag::supplier[] + AtomicInteger counter = new AtomicInteger(); + Multi multi = Multi.createFrom().items(() -> + IntStream.range(counter.getAndIncrement(), counter.get() * 2).boxed()); + // end::supplier[] + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(0, 1); + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(2, 3, 4, 5); + } + + { + // tag::failed[] + // Pass an exception directly: + Multi failed1 = Multi.createFrom().failure(new Exception("boom")); + + // Pass a supplier called for every subscriber: + Multi failed2 = Multi.createFrom().failure(() -> new Exception("boom")); + // end::failed[] + + assertThatThrownBy(() -> failed1.toUni().await().indefinitely()) + .hasMessageContaining("boom"); + assertThatThrownBy(() -> failed2.toUni().await().indefinitely()) + .hasMessageContaining("boom"); + + } + + { + // tag::empty[] + Multi multi = Multi.createFrom().empty(); + // end::empty[] + assertThat(multi.toUni().await().indefinitely()).isNull(); + } + + { + // tag::emitter[] + Multi multi = Multi.createFrom().emitter(em -> { + em.emit(1); + em.emit(2); + em.emit(3); + em.complete(); + }); + // end::emitter[] + assertThat(multi.collect().asList().await().indefinitely()).containsExactly(1, 2, 3); + } + + { + // tag::ticks[] + Multi ticks = Multi.createFrom().ticks().every(Duration.ofMillis(100)); + // end::ticks[] + BlockingIterable longs = ticks + .select().first(3) + .subscribe().asIterable(); + await().until(() -> longs.stream().count() == 3); + } + + { + // tag::generator[] + Multi sequence = Multi.createFrom().generator(() -> 1, (n, emitter) -> { + int next = n + (n / 2) + 1; + if (n < 50) { + emitter.emit(next); + + } else { + emitter.complete(); + } + return next; + }); + // end::generator[] + assertThat(sequence.collect().asList().await().indefinitely()).containsExactly(2, 4, 7, 11, 17, 26, 40, 61); + } + } + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/tutorials/CreatingUniTest.java b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/CreatingUniTest.java new file mode 100644 index 000000000..157e621ee --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/CreatingUniTest.java @@ -0,0 +1,111 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.awaitility.Awaitility.await; + +@SuppressWarnings({ "ConstantConditions", "Convert2MethodRef" }) +@ExtendWith(SystemOutCaptureExtension.class) +public class CreatingUniTest { + + @Test + void pipeline(SystemOut out) { + // tag::pipeline[] + Uni.createFrom().item(1) + .onItem().transform(i -> "hello-" + i) + .onItem().delayIt().by(Duration.ofMillis(100)) + .subscribe().with(System.out::println); + // end::pipeline[] + await().untilAsserted(() -> + assertThat(out.get()).contains("hello-1") + ); + } + + @Test + void subscription(SystemOut out) { + Uni uni = Uni.createFrom().item(1); + // tag::subscription[] + Cancellable cancellable = uni + .subscribe().with( + item -> System.out.println(item), + failure -> System.out.println("Failed with " + failure)); + // end::subscription[] + assertThat(cancellable).isNotNull(); + assertThat(out.get()).contains("1").doesNotContain("Failed"); + } + + @Test + public void creation() { + { + // tag::simple[] + Uni uni = Uni.createFrom().item(1); + // end::simple[] + assertThat(uni.await().indefinitely()).isEqualTo(1); + } + + { + // tag::supplier[] + AtomicInteger counter = new AtomicInteger(); + Uni uni = Uni.createFrom().item(() -> counter.getAndIncrement()); + // end::supplier[] + assertThat(uni.await().indefinitely()).isEqualTo(0); + assertThat(uni.await().indefinitely()).isEqualTo(1); + assertThat(uni.await().indefinitely()).isEqualTo(2); + } + + { + // tag::failed[] + // Pass an exception directly: + Uni failed1 = Uni.createFrom().failure(new Exception("boom")); + + // Pass a supplier called for every subscriber: + Uni failed2 = Uni.createFrom().failure(() -> new Exception("boom")); + // end::failed[] + + assertThatThrownBy(() -> failed1.await().indefinitely()) + .hasMessageContaining("boom"); + assertThatThrownBy(() -> failed2.await().indefinitely()) + .hasMessageContaining("boom"); + + } + + { + // tag::null[] + Uni uni = Uni.createFrom().nullItem(); + // end::null[] + assertThat(uni.await().indefinitely()).isNull(); + } + + { + String result = "hello"; + // tag::emitter[] + Uni uni = Uni.createFrom().emitter(em -> { + // When the result is available, emit it + em.complete(result); + }); + // end::emitter[] + assertThat(uni.await().indefinitely()).isEqualTo("hello"); + } + + { + CompletionStage stage = CompletableFuture.completedFuture("hello"); + // tag::cs[] + Uni uni = Uni.createFrom().completionStage(stage); + // end::cs[] + assertThat(uni.await().indefinitely()).isEqualTo("hello"); + } + } + +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/tutorials/HandlingFailuresTest.java b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/HandlingFailuresTest.java new file mode 100644 index 000000000..15d8e3f1d --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/HandlingFailuresTest.java @@ -0,0 +1,105 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class HandlingFailuresTest { + + @Test + public void testInvoke(SystemOut out) { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::invoke[] + Uni u = uni + .onFailure().invoke(failure -> log(failure)); + + Multi m = multi + .onFailure().invoke(failure -> log(failure)); + // end::invoke[] + assertThatThrownBy(() -> u.await().indefinitely()).hasMessageContaining("boom"); + assertThatThrownBy(() -> m.collect().asList() + .await().indefinitely()).hasMessageContaining("boom"); + assertThat(out.get()).contains("boom"); + } + + @Test + public void testTransform(SystemOut out) { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::transform[] + Uni u = uni + .onFailure().transform(failure -> + new ServiceUnavailableException(failure)); + // end::transform[] + assertThatThrownBy(() -> u.await().indefinitely()) + .hasCauseExactlyInstanceOf(ServiceUnavailableException.class); + } + + @Test + public void testRecoverWithItem() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::recover-item[] + Uni u1 = uni + .onFailure().recoverWithItem("hello"); + + Uni u2 = uni + .onFailure().recoverWithItem(f -> getFallback(f)); + // end::recover-item[] + assertThat(u1.await().indefinitely()).isEqualTo("hello"); + assertThat(u2.await().indefinitely()).isEqualTo("hey"); + } + + @Test + public void testCompletionOnFailure() { + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::recover-completion[] + Multi m = multi + .onFailure().recoverWithCompletion(); + // end::recover-completion[] + assertThat(m.collect().asList().await().indefinitely()).isEmpty(); + } + + @Test + public void testSwitch() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::recover-switch[] + Uni u = uni + .onFailure().recoverWithUni(f -> getFallbackUni(f)); + + Multi m = multi + .onFailure().recoverWithMulti(f -> getFallbackMulti(f)); + // end::recover-switch[] + assertThat(u.await().indefinitely()).isEqualTo("hello"); + assertThat(m.collect().asList().await().indefinitely()).containsExactly("hey"); + } + + private Multi getFallbackMulti(Throwable f) { + return Multi.createFrom().item("hey"); + } + + private Uni getFallbackUni(Throwable f) { + return Uni.createFrom().item("hello"); + } + + private String getFallback(Throwable f) { + return "hey"; + } + + private void log(Throwable failure) { + System.out.println(failure.getMessage()); + } + + private static class ServiceUnavailableException extends Throwable { + public ServiceUnavailableException(Throwable ignored) { + } + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/tutorials/ObserveTest.java b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/ObserveTest.java new file mode 100644 index 000000000..c32774f81 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/ObserveTest.java @@ -0,0 +1,65 @@ +package tutorials; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; + +import java.time.Duration; + +public class ObserveTest { + + @Test + public void test() { + Uni uni = Uni.createFrom().item("hello"); + Multi multi = Multi.createFrom().items("a", "b", "c"); + // tag::invoke[] + Uni u = uni.onItem() + .invoke(i -> System.out.println("Received item: " + i)); + + Multi m = multi.onItem() + .invoke(i -> System.out.println("Received item: " + i)); + // end::invoke[] + + // tag::call[] + multi + .onItem().call(i -> + Uni.createFrom().voidItem() + .onItem().delayIt().by(Duration.ofSeconds(1) + ) + ); + // end::call[] + + MyResource resource = new MyResource(); + // tag::close[] + multi + .onCompletion().call(() -> resource.close()); + // end::close[] + } + + @Test + public void all() { + Multi multi = Multi.createFrom().items("a", "b", "c"); + // tag::invoke-all[] + multi + .onSubscription() + .invoke(() -> System.out.println("⬇️ Subscribed")) + .onItem() + .invoke(i -> System.out.println("⬇️ Received item: " + i)) + .onFailure() + .invoke(f -> System.out.println("⬇️ Failed with " + f)) + .onCompletion() + .invoke(() -> System.out.println("⬇️ Completed")) + .onCancellation() + .invoke(() -> System.out.println("⬆️ Cancelled")) + .onRequest() + .invoke(l -> System.out.println("⬆️ Requested: " + l)); + // end::invoke-all[] + + } + + static class MyResource { + Uni close() { + return Uni.createFrom().voidItem(); + } + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/tutorials/RetryTest.java b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/RetryTest.java new file mode 100644 index 000000000..be31f63cc --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/RetryTest.java @@ -0,0 +1,61 @@ +package tutorials; + +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import java.time.Duration; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class RetryTest { + + @Test + public void testRetryAtMost() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + Multi multi = Multi.createFrom().failure(new Exception("boom")); + // tag::retry-at-most[] + Uni u = uni + .onFailure().retry().atMost(3); + Multi m = multi + .onFailure().retry().atMost(3); + // end::retry-at-most[] + assertThatThrownBy(() -> u.await().indefinitely()).hasMessageContaining("boom"); + assertThatThrownBy(() -> m.collect().asList() + .await().indefinitely()).hasMessageContaining("boom"); + } + + @Test + public void testRetryWithBackoff() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::retry-backoff[] + Uni u = uni + .onFailure().retry() + .withBackOff(Duration.ofMillis(100), Duration.ofSeconds(1)) + .atMost(3); + // end::retry-backoff[] + assertThatThrownBy(() -> u.await().indefinitely()) + .getCause() // Expected exception is wrapped in a java.util.concurrent.CompletionException + .hasMessageContaining("boom") + .hasSuppressedException(new IllegalStateException("Retries exhausted: 3/3")); + } + + @Test + public void testRetryUntil() { + Uni uni = Uni.createFrom().failure(new Exception("boom")); + // tag::retry-until[] + Uni u = uni + .onFailure().retry() + .until(f -> shouldWeRetry(f)); + // end::retry-until[] + assertThatThrownBy(() -> u.await().indefinitely()).hasMessageContaining("boom"); + } + + private boolean shouldWeRetry(Throwable ignored) { + return false; + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/tutorials/TransformItemsAsyncTest.java b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/TransformItemsAsyncTest.java new file mode 100644 index 000000000..b8d0ae490 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/TransformItemsAsyncTest.java @@ -0,0 +1,138 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class TransformItemsAsyncTest { + + interface MyAsyncService { + // tag::service[] + Uni invokeRemoteGreetingService(String name); + // end::service[] + } + + static class MyAsyncServiceImpl implements MyAsyncService { + + @Override + public Uni invokeRemoteGreetingService(String name) { + return Uni.createFrom().item(name); + } + } + + MyAsyncServiceImpl service = new MyAsyncServiceImpl(); + + + private Uni invokeRemoteGreetingService(String name) { + return service.invokeRemoteGreetingService(name); + } + + @Test + public void testCall() { + + Uni uni = Uni.createFrom().item("mutiny"); + // tag::call[] + Uni result = uni + .onItem().transformToUni(name -> invokeRemoteGreetingService(name)); + // end::call[] + + assertThat(result.await().indefinitely()).isEqualTo("mutiny"); + } + + @Test + public void testChain(SystemOut out) { + // tag::chain[] + Uni uni = Uni.createFrom().item("Cameron"); + uni + .onItem().transformToUni(name -> invokeRemoteGreetingService(name)) + .subscribe().with( + item -> System.out.println(item), // Print "Hello Cameron", + fail -> fail.printStackTrace()); // Print the failure stack trace + // end::chain[] + assertThat(out.get()).contains("Cameron"); + } + + + @Test + public void testUniToMulti(SystemOut out) { + Uni uni = Uni.createFrom().item("Cameron"); + // tag::uni-to-multi[] + Multi result = uni + .onItem().transformToMulti(item -> Multi.createFrom().items(item, item)); + // end::uni-to-multi[] + assertThat(result.collect().asList().await().indefinitely()).containsExactly("Cameron", "Cameron"); + + // tag::uni-to-multi-2[] + uni + .onItem().transformToMulti(item -> Multi.createFrom().items(item, item)) + .subscribe().with( + item -> System.out.println(item)); // Called twice + // end::uni-to-multi-2[] + assertThat(out.get()).contains("Cameron"); + } + + @Test + public void testMergeAndConcatUni() { + Multi multi = Multi.createFrom().items("a", "b"); + + // tag::merge-concat[] + Multi merged = multi + .onItem().transformToUniAndMerge(name -> invokeRemoteGreetingService(name)); + + Multi concat = multi + .onItem().transformToUniAndConcatenate(name -> invokeRemoteGreetingService(name)); + // end::merge-concat[] + + assertThat(merged.collect().asList().await().indefinitely()).containsExactly("a", "b"); + assertThat(concat.collect().asList().await().indefinitely()).containsExactly("a", "b"); + } + + @Test + public void testMergeAndConcatMulti() { + Multi multi = Multi.createFrom().items("a", "b"); + + // tag::merge-concat-multi[] + Multi merged = multi + .onItem().transformToMultiAndMerge(item -> someMulti(item)); + + Multi concat = multi + .onItem().transformToMultiAndConcatenate(item -> someMulti(item)); + // end::merge-concat-multi[] + + assertThat(merged.collect().asList().await().indefinitely()).containsExactly("a", "b"); + assertThat(concat.collect().asList().await().indefinitely()).containsExactly("a", "b"); + } + + @Test + public void testMergeConcurrency() { + Multi multi = Multi.createFrom().items("a", "b"); + + // tag::merge-concurrency[] + Multi limitConcurrent = multi + .onItem().transformToUni(item -> callService(item)) + .merge(2); + + Multi defaultConcurrent = multi + .onItem().transformToUni(item -> callService(item)) + .merge(); + // end::merge-concurrency[] + + assertThat(limitConcurrent.collect().asList().await().indefinitely()).containsExactly("a", "b"); + assertThat(defaultConcurrent.collect().asList().await().indefinitely()).containsExactly("a", "b"); + } + + private Uni callService(String item) { + return Uni.createFrom().item(item); + } + + private Multi someMulti(String item) { + return Multi.createFrom().item(item); + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/java/tutorials/TransformItemsTest.java b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/TransformItemsTest.java new file mode 100644 index 000000000..e975e56a8 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/java/tutorials/TransformItemsTest.java @@ -0,0 +1,61 @@ +package tutorials; + +import guides.extension.SystemOut; +import guides.extension.SystemOutCaptureExtension; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; + +import static org.assertj.core.api.Assertions.assertThat; + +@SuppressWarnings("Convert2MethodRef") +@ExtendWith(SystemOutCaptureExtension.class) +public class TransformItemsTest { + + @Test + public void testUniTransform(SystemOut out) { + // tag::uni-transform[] + Uni someUni = Uni.createFrom().item("hello"); + someUni + .onItem().transform(i -> i.toUpperCase()) + .subscribe().with( + item -> System.out.println(item)); // Print HELLO + // end::uni-transform[] + assertThat(out.get()).contains("HELLO"); + } + + @Test + public void testMultiTransform() { + Multi multi = Multi.createFrom().items("a", "b", "c"); + // tag::multi-transform[] + Multi m = multi.onItem().transform(i -> i.toUpperCase()); + // end::multi-transform[] + assertThat(m.collect().asList().await().indefinitely()).containsExactly("A", "B", "C"); + } + + @Test + public void testMultiTransformWithSubscription(SystemOut out) { + // tag::multi-transform-2[] + Multi someMulti = Multi.createFrom().items("a", "b", "c"); + someMulti + .onItem().transform(i -> i.toUpperCase()) + .subscribe().with( + item -> System.out.println(item)); // Print A B C + // end::multi-transform-2[] + assertThat(out.get()).contains("A", "B", "C"); + } + + @Test + public void testChain() { + Uni uni = Uni.createFrom().item("hello"); + // tag::chain[] + Uni u = uni + .onItem().transform(i -> i.toUpperCase()) + .onItem().transform(i -> i + "!"); + // end::chain[] + + assertThat(u.await().indefinitely()).isEqualTo("HELLO!"); + + } +} diff --git a/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/Coroutines.kt b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/Coroutines.kt new file mode 100644 index 000000000..087e809bb --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/Coroutines.kt @@ -0,0 +1,62 @@ +package guides + +import io.smallrye.mutiny.Multi +import io.smallrye.mutiny.Uni +// tag::importStatements[] +import io.smallrye.mutiny.coroutines.asFlow +import io.smallrye.mutiny.coroutines.asMulti +import io.smallrye.mutiny.coroutines.asUni +import io.smallrye.mutiny.coroutines.awaitSuspending +// end::importStatements[] +import io.smallrye.mutiny.coroutines.uni +import kotlinx.coroutines.Deferred +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.async +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flowOf + +suspend fun uniAwaitSuspending() { + // tag::uniAwaitSuspending[] + val uni: Uni = Uni.createFrom().item("Mutiny ❤ Kotlin") + try { + // Available within suspend function and CoroutineScope + val item: String = uni.awaitSuspending() + } catch (failure: Throwable) { + // onFailure event happened + } + // end::uniAwaitSuspending[] +} + +@ExperimentalCoroutinesApi +suspend fun deferredAsUni() { + // tag::deferredAsUni[] + val deferred: Deferred = GlobalScope.async { "Kotlin ❤ Mutiny" } + val uni: Uni = deferred.asUni() + // end::deferredAsUni[] +} + +@ExperimentalCoroutinesApi +suspend fun multiAsFlow() { + // tag::multiAsFlow[] + val multi: Multi = Multi.createFrom().items("Mutiny", "❤", "Kotlin") + val flow: Flow = multi.asFlow() + // end::multiAsFlow[] +} + +suspend fun flowAsMulti() { + // tag::flowAsMulti[] + val flow: Flow = flowOf("Kotlin", "❤", "Mutiny") + val multi: Multi = flow.asMulti() + // end::flowAsMulti[] +} + +suspend fun uniBuilder() { + // tag::uniBuilder[] + // import io.smallrye.mutiny.coroutines.uni + coroutineScope { + val uni: Uni = uni { "λ 🚧" } + } + // end::uniBuilder[] +} diff --git a/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/FailureExt.kt b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/FailureExt.kt new file mode 100644 index 000000000..69b40368f --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/FailureExt.kt @@ -0,0 +1,24 @@ +package guides + +import io.smallrye.mutiny.Multi +import io.smallrye.mutiny.Uni +import io.smallrye.mutiny.onFailure +import java.io.IOException + +fun uniReifiedOnFailure() { + // tag::uniReifiedOnFailure[] + // import io.smallrye.mutiny.onFailure + val uni = Uni.createFrom().failure(IOException("disk full")) + val recovered: Uni = uni.onFailure() + .recoverWithItem("recovered") + // end::uniReifiedOnFailure[] +} + +fun multiReifiedOnFailure() { + // tag::multiReifiedOnFailure[] + // import io.smallrye.mutiny.onFailure + val multi = Multi.createFrom().failure(IOException("disk full")) + val recovered: Multi = multi.onFailure() + .recoverWithItem("recovered") + // end::multiReifiedOnFailure[] +} diff --git a/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/MultiAwait.kt b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/MultiAwait.kt new file mode 100644 index 000000000..c8b17f6ed --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/MultiAwait.kt @@ -0,0 +1,41 @@ +package guides + +import io.smallrye.mutiny.Multi +import io.smallrye.mutiny.coroutines.awaitList +import io.smallrye.mutiny.coroutines.awaitFirst +import io.smallrye.mutiny.coroutines.awaitFirstOrThrow +import io.smallrye.mutiny.coroutines.awaitLast +import io.smallrye.mutiny.coroutines.awaitLastOrThrow +import io.smallrye.mutiny.coroutines.awaitEach + +suspend fun multiAwaitList() { + // tag::multiAwaitList[] + val multi = Multi.createFrom().items("a", "b", "c") + val list: List = multi.awaitList() + // end::multiAwaitList[] +} + +suspend fun multiAwaitFirst() { + // tag::multiAwaitFirst[] + val multi = Multi.createFrom().items(1, 2, 3) + val first: Int? = multi.awaitFirst() + val firstOrThrow: Int = multi.awaitFirstOrThrow() + // end::multiAwaitFirst[] +} + +suspend fun multiAwaitLast() { + // tag::multiAwaitLast[] + val multi = Multi.createFrom().items(1, 2, 3) + val last: Int? = multi.awaitLast() + val lastOrThrow: Int = multi.awaitLastOrThrow() + // end::multiAwaitLast[] +} + +suspend fun multiAwaitEach() { + // tag::multiAwaitEach[] + val multi = Multi.createFrom().items(1, 2, 3) + multi.awaitEach { item -> + println("Processing $item") + } + // end::multiAwaitEach[] +} diff --git a/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/MultiExt.kt b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/MultiExt.kt new file mode 100644 index 000000000..fca9c651a --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/MultiExt.kt @@ -0,0 +1,50 @@ +package guides + +import io.smallrye.mutiny.multi +import io.smallrye.mutiny.subscription.BackPressureStrategy +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.coroutineScope +import io.smallrye.mutiny.coroutines.multi as multiSuspend + +fun regularMultiBuilder() { + // tag::multiBuilder[] + // import io.smallrye.mutiny.multi + val multi = multi { + emit(1) + emit(2) + emit(3) + } + // end::multiBuilder[] +} + +fun multiBuilderWithBackPressure() { + // tag::multiBuilderBackPressure[] + // import io.smallrye.mutiny.multi + val multi = multi(backPressure = BackPressureStrategy.DROP) { + emit(1) + emit(2) + emit(3) + } + // end::multiBuilderBackPressure[] +} + +@ExperimentalCoroutinesApi +suspend fun suspendMultiBuilder() { + // tag::multiBuilderSuspend[] + // import io.smallrye.mutiny.coroutines.multi + val queryResult = fetchResults() + coroutineScope { + val multi = multiSuspend(context = this) { + queryResult.forEach { result -> emit(result.download()) } + } + } + // end::multiBuilderSuspend[] +} + +interface ResultHandle { + suspend fun download(): String +} + +suspend fun fetchResults(): Iterable { + TODO("Not yet implemented") +} diff --git a/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/TupleExt.kt b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/TupleExt.kt new file mode 100644 index 000000000..ae6e56392 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/TupleExt.kt @@ -0,0 +1,21 @@ +package guides + +import io.smallrye.mutiny.Uni +import io.smallrye.mutiny.component1 +import io.smallrye.mutiny.component2 + +fun tupleDestructuring() { + // tag::tupleDestructuring[] + // import io.smallrye.mutiny.component1 + // import io.smallrye.mutiny.component2 + val uni = Uni.combine().all() + .unis( + Uni.createFrom().item("Alice"), + Uni.createFrom().item(30) + ).asTuple() + + val (name, age) = uni.await().indefinitely() + assert(name == "Alice") + assert(age == 30) + // end::tupleDestructuring[] +} diff --git a/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/UniExt.kt b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/UniExt.kt new file mode 100644 index 000000000..988ba47dc --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_examples/kotlin/guides/UniExt.kt @@ -0,0 +1,21 @@ +package guides + +import io.smallrye.mutiny.Uni +import io.smallrye.mutiny.replaceWithUnit +import io.smallrye.mutiny.uni + +fun uniReplaceWithUnit() { + val uni: Uni = Uni.createFrom().item("") + // tag::uniReplaceWithUnit[] + // import io.smallrye.mutiny.replaceWithUnit + val unitUni : Uni = uni.replaceWithUnit() + assert(unitUni.await().indefinitely() === Unit) + // end::uniReplaceWithUnit[] +} + +fun regularUniBuilder() { + // tag::uniBuilder[] + // import io.smallrye.mutiny.uni + val uni: Uni = uni { "λ 🚧" } + // end::uniBuilder[] +} diff --git a/content/docs/smallrye-mutiny/main/_nav.yml b/content/docs/smallrye-mutiny/main/_nav.yml new file mode 100644 index 000000000..b8ecc5e64 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/_nav.yml @@ -0,0 +1,69 @@ +title: SmallRye Mutiny +nav: +- page: index +- title: Tutorials + items: + - page: tutorials/getting-mutiny + - page: tutorials/hello-mutiny + - page: tutorials/creating-uni-pipelines + - page: tutorials/creating-multi-pipelines + - page: tutorials/observing-events + - page: tutorials/transforming-items + - page: tutorials/transforming-items-asynchronously + - page: tutorials/handling-failures + - page: tutorials/retrying + - page: tutorials/mutiny-workshop +- title: Guides + items: + - page: guides/imperative-to-reactive + - page: guides/reactive-to-imperative + - page: guides/unchecked-exceptions + - page: guides/filtering-items + - page: guides/collecting-items + - page: guides/grouping-items + - page: guides/take-skip-items + - page: guides/eliminate-duplicates-and-repetitions + - page: guides/handling-null + - page: guides/handling-timeouts + - page: guides/delaying-events + - page: guides/pagination + - page: guides/polling + - page: guides/emission-threads + - page: guides/emit-on-vs-run-subscription-on + - page: guides/completion-stage + - page: guides/rx + - page: guides/shortcut-methods + - page: guides/merging-and-concatenating-streams + - page: guides/combining-items + - page: guides/joining-unis + - page: guides/converters + - page: guides/testing + - page: guides/spies + - page: guides/custom-operators + - page: guides/dropped-exceptions + - page: guides/framework-integration + - page: guides/hot-streams + - page: guides/integrate-a-non-reactive-source + - page: guides/kotlin + - page: guides/logging + - page: guides/context-passing + - page: guides/replaying-multis + - page: guides/controlling-demand + - page: guides/multi-split + - page: guides/branching + - page: guides/broadcasting-to-multiple-subscribers +- title: Reference + items: + - page: reference/migrating-to-mutiny-2 + - page: reference/why-is-asynchronous-important + - page: reference/what-is-reactive-programming + - page: reference/what-makes-mutiny-different + - page: reference/uni-and-multi + - page: reference/going-reactive-a-few-pitfalls + - page: reference/publications + - title: Tags index + page: tags-index +- title: API + url: https://javadoc.io/doc/io.smallrye.reactive/mutiny/latest/index.html +- title: Discussions/Questions + url: https://github.com/smallrye/smallrye-mutiny/discussions diff --git a/content/docs/smallrye-mutiny/main/assets/CF_logo_horizontal_single_reverse.svg b/content/docs/smallrye-mutiny/main/assets/CF_logo_horizontal_single_reverse.svg new file mode 100644 index 000000000..2b8907471 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/assets/CF_logo_horizontal_single_reverse.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/assets/logo-white.png b/content/docs/smallrye-mutiny/main/assets/logo-white.png new file mode 100644 index 0000000000000000000000000000000000000000..4472249bbcef61c9d03c4979d1b242d5446df403 GIT binary patch literal 3611 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 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/assets/logo.png b/content/docs/smallrye-mutiny/main/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e4ca32a03e03778b4951cff4d073dd544aeddb GIT binary patch literal 49044 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

rEGCE>&@e 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 aKcMY=b)*a3EgnGu{^X@qq$(xMg8mQKIT3*X literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny/main/guides/branching.adoc b/content/docs/smallrye-mutiny/main/guides/branching.adoc new file mode 100644 index 000000000..9391061fb --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/branching.adoc @@ -0,0 +1,57 @@ += How to do branching in a reactive pipeline? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Mutiny and similar reactive programming libraries do not have _branching_ operators similar to `if / else` and `switch/case` statements in Java. + +This does not mean that we can't express _branching_ in a reactive pipeline, and the most classic way is to use a transformation to a `Uni` (also called `flatMap` in functional programming). + +== Expressing branches as Uni operations + +Suppose that we have a pipeline where a `Uni` is created from a random value, and suppose that we want to have a different processing pipeline depending on whether the value is odd or even. +Let's have these 2 `Uni`-returning methods to model different behaviors: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=branches,indent=0] +---- + +We can use the `transformToUni` operator to plug either method depending on the random number: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=pipeline,indent=0] +---- + +Having such a mapping function is a common pattern: it has conditional logic and each branch returns a `Uni` that represents the "sub-pipeline" of what each branch shall do. + +Note that such constructs are primarily relevant when asynchronous I/O are involved and that such asynchronous I/O operations are typically `Uni`-returning methods such as those found in the https://smallrye.io/smallrye-mutiny-vertx-bindings/[Mutiny Vert.x bindings]. + +[TIP] +==== + +There are other ways to express the "result" of a branch. +You could wrap results in a custom type or a container like `java.util.Optional`. + +You could also return a failed `Uni`, and later react by continuing with another `Uni`, another value, or retrying (which would model a loop!). + +==== + +== Branching in a Multi + +The case of `Multi` is even more interesting because a `null`-completed `Uni` is discarded from the stream by any of the `transformToUni++{++...}` methods: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=multi-pipeline,indent=0] +---- + +where `drop()` is as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/BranchingTest.java[tags=drop,indent=0] +---- + +Any negative value is discarded in this `Multi` pipeline, while the positive even and odd numbers get forwarded to the subscriber. diff --git a/content/docs/smallrye-mutiny/main/guides/broadcasting-to-multiple-subscribers.adoc b/content/docs/smallrye-mutiny/main/guides/broadcasting-to-multiple-subscribers.adoc new file mode 100644 index 000000000..85c2cda21 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/broadcasting-to-multiple-subscribers.adoc @@ -0,0 +1,187 @@ += Broadcasting to multiple subscribers (like server-sent events, websockets, etc) +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +It is a common requirement in event-driven applications to have multiple subscribers receiving events from a single events source: + +[.has-dark] +image::images/diagrams/mermaid-f74f7917dcf7.svg[mermaid diagram] + +A good example would be a periodic events stream where the events get pushed every second to multiple https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events[server-sent event] subscribers. + +Let us see how this can be done using Mutiny and the https://quarkus.io/[Quarkus framework]. + +[NOTE] +==== + +We use Quarkus to illustrate a classic real-world usage for the broadcast operator, but the same kind of construct +could be done with another framework or the https://vertx.io/[Vert.x toolkit]. + +==== + +== Use-case: dynamic subscribers + +We expose a HTTP endpoint for server-sent events, and each second we receive the current list of subscribers. +The endpoint is exposed on path `/hello/ticks/++{++id}` where `id` is an identifier for a subscriber. + +We could subscribe and follow the stream using https://httpie.io/[HTTPie] for subscriber `1`: + +[source,text] +---- +$ http --stream :8080/hello/ticks/1 +HTTP/1.1 200 OK +Content-Type: text/event-stream +X-SSE-Content-Type: text/plain +transfer-encoding: chunked + +data:1 + +data:1 + +data:1 + +data:1,2 + +data:1,2 +---- + +The first 3 ticks have just one subscriber (`data:1`), but then once another subscriber arrives at path `/hello/ticks/2` we get ticks with identifiers `1,2`. + +When the connection for subscriber `1` closes, we see the impact on subscriber `2`: + +[source,text] +---- +http --stream :8080/hello/ticks/2 +HTTP/1.1 200 OK +Content-Type: text/event-stream +X-SSE-Content-Type: text/plain +transfer-encoding: chunked + +data:1,2 + +data:1,2 + +data:2 + +data:2 + +data:2 +---- + +== Why is broadcasting required? + +Mutiny offers a publisher for periodic event streams: + +[source,java] +---- +var ticks = Multi.createFrom().ticks().every(Duration.ofSeconds(1)); +---- + +You might wonder why we couldn't simply build our Quarkus endpoints as in: + +[source,java] +---- +@Path("/hello") +public class GreetingResource { + + @GET + @Path("ticks/{id}") + @RestStreamElementType(MediaType.TEXT_PLAIN) + public Multi ticks(String id) { + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + // (rest of the pipeline...) + ; + } +} +---- + +The problem here is that instead of having a single events source to emit ticks, you will have as many as there are subscribers: + +[.has-dark] +image::images/diagrams/mermaid-cbd13fb6d19b.svg[mermaid diagram] + +You might be able to articulate some logic around such construct, but you will end up with many scheduled operations on the Quarkus thread pool. + +Even worse: if your source is not periodic ticks emitted by Mutiny but some event source (e.g., a Kafka topic, a message broker queue, etc) then you might add correctness issues (e.g., not all subscribers get all messages). + +== Broadcasting, listening to subscriptions and cancellations + +It is fortunately quite easy to express such construct by sharing a common `Multi`, and broadcasting events to each subscriber. + +Let's start with the HTTP endpoint: + +[source,java] +---- +private ConcurrentHashSet identifiers = new ConcurrentHashSet<>(); + +private Multi ticks = (...); + +@GET +@Path("ticks/{id}") +@RestStreamElementType(MediaType.TEXT_PLAIN) +public Multi ticks(String id) { + Log.info("New client with id " + id); + identifiers.add(id); + return ticks.onCancellation().invoke(() -> { + Log.info("Removing client with id " + id); + identifiers.remove(id); + }); +} +---- + +The `ticks` method registers a new client in `identifiers`, and removes it upon cancellation. +The returned `Multi` pipeline piggy-backs on top of the _shared_ `Multi`, which is built as follows: + +[source,java] +---- +private Multi ticks = Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onItem().transform(tick -> { + Log.info("tick"); + return identifiers.stream().collect(Collectors.joining(",")); + }) + .onSubscription().invoke(() -> Log.info("Starting to emit ticks")) + .onCancellation().invoke(() -> Log.info("No more ticks")) + .broadcast() + .withCancellationAfterLastSubscriberDeparture() + .toAtLeast(1); +---- + +Here are a few observations. + +[arabic] +. For each periodic tick event, we assemble the current subscribers as a string of the form `"1,2,3"` with `.onItem().transform(...)`. +. We log an event when the periodic event stream starts (see `onSubscription().invoke(...)`). +. We log an event when the periodic event stream stops (see `onCancellation().invoke(...)`). +. We broadcast events to all subscribers, but: +[arabic] +.. there must be at least one subscriber before the stream starts, and +.. the stream is cancelled when the last subscriber departs. + +This construction is quite interesting because we don't emit ticks when there are no subscribers, and we stop it when there are none. + +If you play with such an example then you will see logs similar to these: + +[source,text] +---- +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) New client with id 1 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) Starting to emit ticks +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) Removing client with id 1 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) No more ticks +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-1) New client with id 1 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-1) Starting to emit ticks +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) New client with id 2 +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-1) Removing client with id 1 +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (executor-thread-1) tick +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) Removing client with id 2 +INFO [org.acm.GreetingResource] (vert.x-eventloop-thread-0) No more ticks +---- diff --git a/content/docs/smallrye-mutiny/main/guides/collecting-items.adoc b/content/docs/smallrye-mutiny/main/guides/collecting-items.adoc new file mode 100644 index 000000000..04a1a5b64 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/collecting-items.adoc @@ -0,0 +1,92 @@ += Collecting items from Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +There are cases where you want to accumulate the items from a `Multi` and produce a `Uni` as a final result. +This is also called a _reduction_ in functional programming. + +The `Uni` fires its item when the `Multi` completes. +Mutiny provides multiple operators to deal with that scenario. +They are available from the `collect()` group. +For example, you can store the items in a list, emit the list on completion, or use a Java `Collector` to customize the aggregation. + +[CAUTION] +==== + +Don't collect items from infinite streams or you will likely end with an out-of-memory failure! + +==== + +== Collecting items into a list + +One of the most common approaches to collect items is to store them in a list (`Uni++<++List++<++T++>>++`) +It emits the final list when the `Multi` completes. + +[.has-dark] +image::images/diagrams/mermaid-69aa56febc93.svg[mermaid diagram] + +How to achieve this with Mutiny? + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=list,indent=0] +---- + +It's important to note that the returned type is a `Uni`. +It emits the list when the multi completes. + +== Collecting items into a map + +You can also collect the items into a `Map`. +In this case, you need to provide a function to compute the key for each item: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=map,indent=0] +---- + +If the key mapper function returns the same key for multiple items, the last one with that key is stored in the final `Map`. +You can collect items in a _multimap_ to handle items with the same keys. + +== Collecting items into a multimap + +A multimap is a `Map++<++K, List++<++T++>>++.` +In the case of a conflicting key, it stores all the items in a list associated with that key. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=multimap,indent=0] +---- + +== Using a custom accumulator + +You can also use a custom _accumulator_ function: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=accumulator,indent=0] +---- + +The `in` method receives two arguments: + +[arabic] +. a supplier providing the new instance of your collection/container +. the accumulator function + +You can also use a Java `Collector`. +For example, in the next example, count the number of items, and produce the final count as item: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=collector,indent=0] +---- + +== Getting the first and last items + +While they are not strictly speaking collecting items, `collect().first()` and `collect().last()` allow retrieving the first and last item from a `Multi`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CollectingItemsTest.java[tags=first,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/combining-items.adoc b/content/docs/smallrye-mutiny/main/guides/combining-items.adoc new file mode 100644 index 000000000..7e118a7f3 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/combining-items.adoc @@ -0,0 +1,110 @@ += Combining items from streams +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Combining items from various streams is an essential pattern in Reactive Programming. + +It associates the emitted items from multiple streams and emits an _aggregate_. +The downstream receives this _aggregate_ and can handle it smoothly. + +There are plenty of use cases, such as executing two tasks concurrently and waiting for both completions, getting the last items from different streams to build an always up-to-date view, and so on. + +== Combining Unis + +Imagine that you have two asynchronous operations to perform like 2 HTTP requests. +You want to send these requests and be notified when both have completed with their responses ready to be consumed. + +Of course, you could send the first request, wait for the response, and then send the second request. +If both requests are independent, we can do something better: send both concurrently and await for both completions! + +[.has-dark] +image::images/diagrams/mermaid-c54f60b30f42.svg[mermaid diagram] + +How can you achieve this with Mutiny? + +First, each request is a `Uni`, so we have: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=invocations,indent=0] +---- + +Then, we want to combine both _responses_: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combination,indent=0] +---- + +This code creates a new `Uni` produced by combining `uniA` and `uniB`. +The responses are aggregated inside a `Tuple`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=subscription,indent=0] +---- + +The `tuple` aggregates the responses in the same order as the `Uni` sequence. + +If one of the `Uni` fails, so does the combination and you receive the failure: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=invocations,indent=0] +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combination,indent=0] +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=subscription,indent=0] +---- + +Using tuples is convenient but only works if you have less than 10 `Uni` objects. +If you want another structure or deal with 10 `Uni` objects or more then use `combineWith`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combined-with,indent=0] +---- + +== Combining Multis + +Combining `Multis` consists of associating items from different stream per _index_: + +[.has-dark] +image::images/diagrams/mermaid-3d4459e3c6a6.svg[mermaid diagram] + +It associates the first items from the combined streams, then the second items: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combine-multi,indent=0] +---- + +As for `Uni`, you can aggregate the item into tuples (up to 9 items) or combine with a combinator function: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combine-multi-with,indent=0] +---- + +If one of the streams fails, the combined stream propagates the failure and stops the emission. +The combined stream completes as soon as one of the observed stream sends the completion event. + +[NOTE] +==== + +If one of the observed streams never emits any item then the combined stream will not emit anything. + +==== + +== Combining the latest items of Multis + +It can be useful to combine multiple `Multi` streams and receive the _latest_ items from each stream on every emission: + +[.has-dark] +image::images/diagrams/mermaid-f0001b5cde9f.svg[mermaid diagram] + +This is achieved using `latest()`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/CombiningItemsTest.java[tags=combine-last,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/completion-stage.adoc b/content/docs/smallrye-mutiny/main/guides/completion-stage.adoc new file mode 100644 index 000000000..9ad73ee5a --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/completion-stage.adoc @@ -0,0 +1,86 @@ += How to deal with CompletionStage? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +`CompletionStage` and `CompletableFuture` are classes provided by Java to represent asynchronous actions. + +== Differences between Uni and CompletionStage + +While `CompletionStage` and `CompletableFuture` are close to `Uni` in terms of use case, there are some fundamental differences. + +`CompletionStage` are _eager_. +When a method returns a `CompletionStage,` the operation has already been triggered. +The outcome is used to complete the returned `CompletionStage`. +On the other side, `Unis` are lazy. +The operation is only triggered once there is a subscription. + +`CompletionStage` _caches_ the outcome. +So, once received, you can retrieve the result. +Every retrieval will get the same result. +With `Uni`, every subscription has the opportunity to re-trigger the operation and gets a different result. + +[TIP] +==== + +You can also _cache_ the outcome with `Uni.memoize().indefinitely()`. + +==== + +== From Uni to CompletionStage + +You can create a `CompletionStage` from `Uni` using `uni.subscribeAsCompletionStage()`. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=uni-subscribe-cs,indent=0] +---- + +It's important to understand that retrieving a `CompletionStage` subscribes to the `Uni`. +If you do this operation twice, it subscribes to the `Uni` twice and re-trigger the operation. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=uni-subscribe-cs-twice,indent=0] +---- + +== Creating a Uni from a CompletionStage + +To create a `Uni` from a `CompletionStage`, use `Uni.createFrom().completionStage(...)`. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=create-uni,indent=0] +---- + +As you can see, there are two versions. +The first one receives the `CompletionStage` directly, while the second one gets a supplier. +In the case of multiple subscriptions on the produced `Uni`, the supplier is called multiple times (once per subscription), and so can change the return `CompletionStage`. +It also delays the creation of the `CompletionStage` until there is a subscription, which only triggers the operation at that time. +If you pass the instance directly, it will always use the same one (even for multiple subscriptions) and triggers the operation even if there is no subscription. +For these reasons, it is generally better to use the variant accepting a supplier. + +Note that if the completion stage produces a `null` value, the resulting `Uni` emits `null` as item. +If the completion stages complete exceptionally, the failure is emitted by the resulting `Uni`. + +== Creating a Multi from a CompletionStage + +To create a `Multi` from a `CompletionStage`, use `Multi.createFrom().completionStage(...)`. +It produces: + +* a multi emitting an item and completing - if the value produced by the completion stage is not `null`, +* an empty multi if the value produced by the completion stage is `null`, +* a failed multi is completion stage is completed exceptionally. + +[source,java] +---- +include::{examples-dir}/java/guides/CompletionStageTest.java[tags=create-multi,indent=0] +---- + +For the same reason as for `Uni`, there are two versions: + +[arabic] +. one accepting a `CompletionStage` directly +. one accepting a `Supplier++<++CompletionStage++>++`, called at subscription-time, for every subscription. + +It is recommended to use the second version. diff --git a/content/docs/smallrye-mutiny/main/guides/context-passing.adoc b/content/docs/smallrye-mutiny/main/guides/context-passing.adoc new file mode 100644 index 000000000..4dcb0b0a1 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/context-passing.adoc @@ -0,0 +1,90 @@ += Context passing +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Mutiny reactive pipelines let data flow from publishers to subscribers. + +In the vast majority of cases a publisher shall have _all_ required data, and operators shall perform processing based on item values. +For instance a network request shall be made with all request data known in advance, and response processing shall only depend on the response payload. + +That being said there are cases were this is not sufficient, and some data has to be carried along with items. +For instance one intermediary operator in a pipeline may have to make another networked request from which we need to extract some correlation identifier which will be used by another operator down the pipeline. +In such cases one will be tempted to forward tuples consisting of some item value plus some "extra" data. + +For such cases Mutiny offers a _subscriber-provided context_, so all operators involved in a subscription can share some form of _implicit data_. + +== What's in a context? + +A context is a simple key / value, in-memory storage. +Data can be queried, added and deleted from a context, as shown in the following snippet: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=contextManipulation,indent=0] +---- + +`Context` objects are thread-safe, and can be created from sequences of key / value pairs (as shown above), from a Java `Map`, or they can be created empty. + +Note that an empty-created context defers its internal storage allocation until the first call to `put`. +You can see `Context` as a glorified `ConcurrentHashMap` delegate, although this is an implementation detail and Mutiny might explore various internal storage strategies in the future. + +[TIP] +==== + +Contexts shall be primarily used to share transient data used for networked I/O processing such as correlation identifiers, tokens, etc. + +They should not be used as general-purpose data structures that are frequently updated and that hold large amounts of data. + +==== + +== How to access a context? + +Given a `Uni` or a `Multi`, a context can be accessed using the `withContext` operator, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=contextSampleUsage,indent=0] +---- + +This operator builds a sub-pipeline using 2 parameters: the current `Uni` or `Multi` and the context. + +[IMPORTANT] +==== + +The function passed to `withContext` is called at subscription time. + +This means that the context has not had a chance to be updated by upstream operators yet, so be careful with what you do in the body of that function. + +==== + +There is another way to access the context by using the `attachContext` method: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=contextAttachedSampleUsage,indent=0] +---- + +This method materializes the context in the regular pipeline items using the wrapper `ItemWithContext` class. +The `get` method provides the item while the `context` method provides the context. + +== How to access a context at the pipeline source? + +The `Uni` and `Multi` _builder_ methods like `Multi.createFrom()` provide publishers, not operators, so they don't have the `withContext` method. + +The first option is to use the `Uni.createFrom().context(...)` or `Multi.createFrom().context(...)` general purpose method to materialize the context: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=builderUsage,indent=0] +---- + +The `context` method takes a function that accepts a `Context` and returns a pipeline. +This is very similar to the `deferred` builder. + +If you use an `emitter` builder then for both `Uni` and `Multi` cases the emitter object offers a `context` method to access the context: + +[source,java] +---- +include::{examples-dir}/java/guides/ContextPassingTest.java[tags=emitterUsage,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/controlling-demand.adoc b/content/docs/smallrye-mutiny/main/guides/controlling-demand.adoc new file mode 100644 index 000000000..2b4d098b4 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/controlling-demand.adoc @@ -0,0 +1,158 @@ += Controlling the demand +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +== Pacing the demand + +A subscription is used for 2 purposes: cancelling a request and demanding batches of items. + +The `Multi.paceDemand()` operator can be used to automatically issue requests at certain points in time. + +The following example issues requests of 25 items every 100ms: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=pacing,indent=0] +---- + +`FixedDemandPacer` is a simple _pacer_ with a fixed demand and a fixed delay. + +You can create more elaborated pacers by implementing the `DemandPacer` interface. +To do so you provide an initial request and a function to evaluate the next request which is evaluated based on the previous request and the number of items emitted since the last request: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=custom-pacer,indent=0] +---- + +The previous example is a custom pacer that doubles the demand and increases the delay for each new request. + +== Capping the demand requests + +The `capDemandsTo` and `capDemandUsing` operators can be used to cap the demand from downstream subscribers. + +The `capDemandTo` operator defines a maximum demand that can flow: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=capConstant,indent=0] +---- + +Here we cap requests to 50 items, so it takes 2 requests to get all 100 items of the upstream range. +The first request of 75 items is capped to a request of 50 items, leaving an outstanding demand of 25 items. +The second request of 25 items is added to the outstanding demand, resulting in a request of 50 items and completing the stream. + +You can also define a custom function that provides a capping value based on a custom formula, or based on earlier demand observations: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ControlDemandTest.java[tags=capFunction,indent=0] +---- + +Here we have a function that requests 75% of the downstream requests. + +Note that the function must return a value `n` that satisfies `(0 ++<++ n ++<++= requested)` where `requested` is the downstream demand. + +== Pausing the demand + +The `Multi.pauseDemand()` operator provides fine-grained control over demand propagation in reactive streams. +Unlike cancellation, which terminates the subscription, pausing allows to suspend demand without unsubscribing from the upstream. +This is useful for implementing flow control patterns where item flow needs to be paused based on external conditions. + +=== Basic pausing and resuming + +The `pauseDemand()` operator works with a `DemandPauser` handle that allows to control the stream: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=basic,indent=0] +---- + +The `DemandPauser` provides methods to: + +* `pause()`: Stop propagating demand to upstream +* `resume()`: Resume demand propagation and deliver buffered items +* `isPaused()`: Check the current pause state + +Note that a few items may still arrive after pausing due to in-flight requests that were already issued to upstream. + +=== Starting in a paused state + +You can create a stream that starts paused and only begins flowing when explicitly resumed: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=initially-paused,indent=0] +---- + +This is useful when you want to prepare a stream but delay its execution until certain conditions are met. + +=== Late subscription + +By default, the upstream subscription happens immediately even when starting paused. +The `lateSubscription()` option delays the upstream subscription until the stream is resumed: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=late-subscription,indent=0] +---- + +=== Buffer strategies + +When a stream is paused, the operator stops requesting new items from upstream. +However, items that were already requested (due to downstream demand) may still arrive. +Buffer strategies control what happens to these in-flight items. + +The `pauseDemand()` operator supports three buffer strategies: `BUFFER` (default), `DROP`, and `IGNORE`. +Configuring any other strategy will throw an `IllegalArgumentException`. + +==== BUFFER strategy (default) + +Already-requested items are buffered while paused and delivered when resumed: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=buffer-strategy,indent=0] +---- + +You can configure the buffer size: + +* `bufferUnconditionally()`: Unbounded buffer +* `bufferSize(n)`: Buffer up to `n` items, then fail with buffer overflow + +When the buffer overflows, the stream fails with an `IllegalStateException`. + +*Important*: The buffer only holds items that were already requested from upstream before pausing. +When paused, no new requests are issued to upstream, so the buffer size is bounded by the outstanding demand at the time of pausing. + +==== DROP strategy + +Already-requested items are dropped while paused: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=drop-strategy,indent=0] +---- + +Items that arrive while paused are discarded, and when resumed, the stream continues requesting fresh items. + +==== IGNORE strategy + +Already-requested items continue to flow downstream while paused. +This strategy doesn't use any buffers. +It only pauses demand from being issued to upstream, but does not pause the flow of already requested items. + +=== Buffer management + +When using the BUFFER strategy, you can inspect and manage the buffer: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PausingDemandTest.java[tags=buffer-management,indent=0] +---- + +The `DemandPauser` provides: + +* `bufferSize()`: Returns the current number of buffered items +* `clearBuffer()`: Clears the buffer (only works while paused), returns `true` if successful diff --git a/content/docs/smallrye-mutiny/main/guides/converters.adoc b/content/docs/smallrye-mutiny/main/guides/converters.adoc new file mode 100644 index 000000000..313692321 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/converters.adoc @@ -0,0 +1,253 @@ += Using other reactive programming libraries +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +You may need to integrate libraries exposing an API using other reactive programming libraries such as RX Java or Reactor. +Mutiny has a built-in conversion mechanism to ease that integration. + +== Picking the right dependency + +You need to add another dependency to access the converters. +Each artifact contains the converters for a specific reactive library. +Pick the right one and add it to your project: + +[.tabs] +==== + +Reactor:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + + io.smallrye.reactive + mutiny-reactor + {versions-mutiny} + +---- + +-- + +RxJava 3:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + + io.smallrye.reactive + mutiny-rxjava3 + {versions-mutiny} + +---- + +-- + +==== + +== Integration with Project Reactor + +https://projectreactor.io/[Project Reactor] is a popular reactive programming library. +It offers two types: `Mono` and `Flux,` both implementing Reactive Stream `Publisher`. + +To use the Reactor `++<++-++>++` Mutiny converter, add the following imports to your class: + +[source,java] +---- +import io.smallrye.mutiny.converters.multi.MultiReactorConverters; +import io.smallrye.mutiny.converters.uni.UniReactorConverters; +---- + +=== Converting a Flux or a Mono into a Multi + +Both `Flux` and `Mono` implement `Publisher`. +As a result, we can use the Reactive Streams interoperability to convert instances from `Flux++<++T++>++` and `Mono++<++T++>++` to `Multi++<++T++>++`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-multi-create,indent=0] +---- + +[WARNING] +==== + +Reactor still uses the legacy Reactive Streams APIs instead of `java.util.concurrent.Flow`, so you need to perform an adaptation. + +We recommend using the https://smallrye.io/smallrye-mutiny-zero/[Mutiny Zero Flow Adapters library] as in these examples (Maven coordinates `io.smallrye.reactive:mutiny-zero-flow-adapters`). + +==== + +=== Converting a Flux or a Mono into a Uni + +As you can create `Uni` from a `Publisher`, the same approach can be used to create `Uni` instances: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-uni-create,indent=0] +---- + +When a `Flux` or `Mono` sends the _completion_ event without having emitted any item, the resulting `Uni` emits `null`. + +When converting a `Flux` to `Uni`, the resulting `Uni` emits the first item. +After that emission, it cancels the subscription to the `Flux`. + +=== Converting a Multi into a Flux or Mono + +Converting a `Multi` into a `Flux` or a `Mono` uses the Reactive Streams interoperability: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-create-multi,indent=0] +---- + +=== Converting a Uni into a Flux or Mono + +Converting a `Uni` into a `Flux` or a `Mono` requires a converter, as `Uni` does not implement Reactive Streams. + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=reactor-create-uni,indent=0] +---- + +If the `Uni` emits `null`, it sends the _completion_ event. + +=== Using converter instead of Reactive Streams + +While Reactive Streams interoperability is convenient, Mutiny also provides converters to create `Flux` and `Mono` from `Uni` and `Multi`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=uni-export,indent=0] +include::{examples-dir}/java/guides/integration/ReactorTest.java[tags=multi-export,indent=0] +---- + +== Integration with RX Java 3 + +RxJava is another popular reactive programming library. +It offers 5 types: `Completable` (no item), `Single` (one item), `Maybe` (0 or 1 item), `Observable` (multiple items), `Flowable` (multiple items, implements Reactive Stream `Publisher`). + +To use the RxJava `++<++-++>++` Mutiny converters, add the following imports to your class: + +[source,java] +---- +import io.smallrye.mutiny.converters.multi.MultiRx3Converters; +import io.smallrye.mutiny.converters.uni.UniRx3Converters; +---- + +=== Converting an Observable or a Flowable into a Multi + +Both `Observable` and `Flowable` are item streams. +However, `Observable` does not implement `Publisher` and so does not have back-pressure support. + +To create `Multi` from an `Observable,` you need a specific converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-multi-create-observable,indent=0] +---- + +Converting a `Flowable` is easier, as it's a `Publisher`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-multi-create-flowable,indent=0] +---- + +[WARNING] +==== + +Like Reactor, RxJava still uses the legacy Reactive Streams APIs instead of `java.util.concurrent.Flow`, so you need to perform an adaptation. + +==== + +=== Converting a Completable, Single or Maybe into a Multi + +To create a `Multi` from a `Completable,` `Single` or `Maybe` you need specific converters, as none of these types implement Reactive Streams. + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-multi-create-single,indent=0] +---- + +* Creating a `Multi` from a `Completable` always produces a `Multi++<++Void++>++` that only emits the _completion_ or _failure_ event. +* Creating a `Multi` from a `Single` produces a `Multi`. That `Multi` emits the item and then completes it. +* Creating a `Multi` from a `Maybe` produces a `Multi`. That `Multi` emits the item (if any) and then completes it. +If the `Maybe` is empty, then the created `Multi` emits the _completion_ event. + +When a `Completable,` `Single,` or `Maybe` emits a failure, then the resulting `Multi` emits that failure. + +=== Converting an Observable or a Flowable into a Uni + +To create a `Uni` from an `Observable,` you need to use a specific converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-uni-create-observable,indent=0] +---- + +The creation from a `Flowable` can be done using the Reactive Streams interoperability: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-uni-create-flowable,indent=0] +---- + +In both cases, it cancels the subscription to the `Flowable` or `Observable` after receiving the first item. +If the `Flowable` or `Observable` completes without items, the `Uni` emits a `null` item. + +=== Converting a Completable, Single or Maybe into a Uni + +To create a `Uni` from a `Completable,` `Single,` or `Maybe`, you need to use a specific converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=rx-uni-create-single,indent=0] +---- + +Converting a `Completable` to a `Uni` always produces a `Uni++<++Void++>++,` that emits either `null` once the `Completable` completes or the failure if it fails. +The `Maybe` to `Uni` conversion emits a `null` item if the `Maybe` completes without an item. + +=== Converting a Multi into a RX Java objects + +The conversion from a `Multi` to the various RX Java objects is done using converters: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=create-rx-from-multi,indent=0] +---- + +The creation of a `Completable` from a `Multi` discards all the items emitted by the `Multi`. +It only forwards the _completion_ or _failure_ event. + +Converting a `Multi` into a `Single` returns a `Single++<++Optional++<++T++>>++,` as the `Multi` may complete without items. +You can also produce a `Single++<++T++>++` and emit a _failure_ event if the `Multi` completes without items. +You can configure the thrown exception using `onEmptyThrow.` + +[TIP] +==== + +You can also create a `Flowable` from a `Multi` using: `Flowable.fromPublisher(multi)`. + +==== + +=== Converting a Uni into a RX Java type + +Similarly to the conversion from a `Multi` into an RX Type, converting a `Uni` requires a converter: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/RxJavaTest.java[tags=create-rx-from-uni,indent=0] +---- + +The creation of a `Completable` from a `Uni` discards the item and sends the _completion_ signal after emission. + +Converting a `Uni` into a `Single` returns a `Single++<++Optional++<++T++>>++,` as the `Uni` may emit `null.` +You can also produce a `Single++<++T++>++` and emits a _failure_ event if the `Uni` sends `null.` +Configure the failure to forward using `failOnNull.` + +The creation of a `Maybe,` `Flowable,` or an `Observable` from a `Uni` produces an empty `Maybe,` `Flowable,` or `Observable` if the `Uni` emits `null.` +For `Flowable` and `Observable,` if the `Uni` emits a _non-null_ item, that item is emitted, followed immediately by the _completion_ signal. diff --git a/content/docs/smallrye-mutiny/main/guides/custom-operators.adoc b/content/docs/smallrye-mutiny/main/guides/custom-operators.adoc new file mode 100644 index 000000000..8c2baa638 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/custom-operators.adoc @@ -0,0 +1,30 @@ += Can I have custom operators? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Yes, but please write operators responsibly! + +Both `Uni` and `Multi` support custom operators using the `plug` operator. +Here is an example where we use a custom `Multi` operator that randomly drops items: + +[source,java] +---- +include::{examples-dir}/java/guides/PlugTest.java[tags=plug,indent=0] +---- + +with the operator defined as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/PlugTest.java[tags=custom-operator,indent=0] +---- + +[CAUTION] +==== + +Custom operators are an advanced feature: when possible please use the existing operators and use helpers such as `stage` to write readable code. + +In the case of custom `Multi` operators it is wise to test them against the _Reactive Streams TCK_. + +==== diff --git a/content/docs/smallrye-mutiny/main/guides/delaying-events.adoc b/content/docs/smallrye-mutiny/main/guides/delaying-events.adoc new file mode 100644 index 000000000..c62577753 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/delaying-events.adoc @@ -0,0 +1,68 @@ += How to delay events? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +== Delaying Uni's item + +When you have a `Uni`, you can delay the item emission using `onItem().delayIt().by(...)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-by,indent=0] +---- + +You pass a duration. +When the item is received, it _waits for_ that duration before propagating it to the downstream consumer. + +You can also delay the item's emission based on another _companion_ `Uni`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-until,indent=0] +---- + +The item is propagated downstream when the `Uni` returned by the function emits an item (possibly `null`). +If the function emits a failure (or throws an exception), this failure is propagated downstream. + +== Throttling a Multi + +Multi does not have a _delayIt_ operator because applying the same delay to all items is rarely what you want to do. +However, there are several ways to apply a delay in a `Multi`. + +First, you can use the `onItem().call()`, which delays the emission until the `Uni` produced the `call` emits an item. +For example, the following snippet delays all the items by 10 ms: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-multi,indent=0] +---- + +In general, you don't want to apply the same delay to all the items. +You can combine `call` with a random delay as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=delay-multi-random,indent=0] +---- + +Finally, you may want to throttle the items. +For example, you can introduce a (minimum) one-second delay between each item. +To achieve this, combine `Multi.createFrom().ticks()` and the multi to throttled: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/DelayTest.java[tags=throttling-multi,indent=0] +---- + +[TIP] +==== + +The `onOverflow().drop()` is used to avoid the _ticks_ to fail if the other stream (`multi`) is too slow. + +==== + +== Delaying other types of events + +We have looked at how to delay items, but you may need to delay other events, such as subscription or failure. +For these, use the `call` approach, and return a `Uni` that delay the event's propagation. diff --git a/content/docs/smallrye-mutiny/main/guides/dropped-exceptions.adoc b/content/docs/smallrye-mutiny/main/guides/dropped-exceptions.adoc new file mode 100644 index 000000000..10d0a1524 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/dropped-exceptions.adoc @@ -0,0 +1,26 @@ += How to deal with dropped exceptions? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +There are a few corner cases where Mutiny cannot propagate an exception to a `Uni` or a `Multi` subscriber. + +Consider the following example: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/DroppedExceptionTest.java[tags=code,indent=0] +---- + +The `onCancellation().call(...)` method is called when the `Uni` subscription is cancelled. +The returned `Uni` is failed with a `IOException`, but since the subscription itself has been cancelled then there is no way to catch the exception. + +By default Mutiny reports such dropped exceptions to the standard error stream along with the corresponding stack trace. +You can change how these exceptions are handled using `Infrastructure.setDroppedExceptionHandler`. + +The following logs dropped exceptions to a logger: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/DroppedExceptionTest.java[tags=override-handler,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/eliminate-duplicates-and-repetitions.adoc b/content/docs/smallrye-mutiny/main/guides/eliminate-duplicates-and-repetitions.adoc new file mode 100644 index 000000000..4781db7ef --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/eliminate-duplicates-and-repetitions.adoc @@ -0,0 +1,60 @@ += Eliminate duplicates and repetitions +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +When observing a `Multi`, you may see duplicated items or repetitions. +The `multi.select()` and `multi.skip()` groups provide methods to only select distinct items or drop repetitions. + +== Selecting distinct + +The `.select().distinct()` operator removes all the duplicates. +As a result, the downstream only contains distinct items: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RepetitionsTest.java[tags=distinct,indent=0] +---- + +If you have a stream emitting the `++{++1, 1, 2, 3, 4, 5, 5, 6, 1, 4, 4}` items, then applying `.select().distinct()` on such a stream produces: `++{++1, 2, 3, 4, 5, 6}`. + +[IMPORTANT] +==== + +The operator keeps a reference on all the emitted items, and so, it could lead to memory issues if the stream contains too many distinct items. + +==== + +[TIP] +==== + +By default, `select().distinct()` uses the `hashCode` method from the item's class. +You can pass a custom comparator for more advanced checks. + +==== + +If you have a stream emitting items of type `T`, where duplicates can be identified through an attribute of `T` of type `K`, +then an `extractor` of type `Function++<++T, K++>++` can be defined. Applying `.select().distinct(extractor)` on such a stream will +eliminate duplicates but have a lesser memory overhead as only the references to the extracted keys need to be kept, not the whole object. +A typical usage of this might be for a stream of records where uniqueness is determined by a UUID assigned to every record. + +== Skipping repetitions + +The `.skip().repetitions()` operator removes subsequent repetitions of an item: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RepetitionsTest.java[tags=repetition,indent=0] +---- + +If you have a stream emitting the `++{++1, 1, 2, 3, 4, 5, 5, 6, 1, 4, 4}` items, then applying `.skip().repetitions()` on such a stream produces: `++{++1, 2, 3, 4, 5, 6, 1, 4}`. + +Unlike `.select().distinct()`, you can use this operator on large or infinite streams. + +[TIP] +==== + +By default, `skip().repetitions()` uses the `equals` method from the item's class. +You can pass a custom comparator for more advanced checks. + +==== diff --git a/content/docs/smallrye-mutiny/main/guides/emission-threads.adoc b/content/docs/smallrye-mutiny/main/guides/emission-threads.adoc new file mode 100644 index 000000000..4e3144069 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/emission-threads.adoc @@ -0,0 +1,36 @@ += How to change the emission thread? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Except indicated otherwise, Mutiny invokes the next _stage_ using the thread emitting the event from upstream. +So, in the following code, the _transform_ stage is invoked from the thread emitting the event. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/EmitOnTest.java[tags=example,indent=0] +---- + +You can switch to another thread using the `emitOn` operator. +The `emitOn` operator lets you switch the thread used to dispatch (upstream -++>++ downstream) events, so items, failure and completion events. +Just pass the _executor_ you want to use. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/EmitOnTest.java[tags=code,indent=0] +---- + +[NOTE] +==== + +You cannot pass a specific thread, but you can implement a simple `Executor` dispatching on that specific thread, or use a _single threaded executor_. + +==== + +[WARNING] +==== + +Be careful as this operator can lead to concurrency problems with non thread-safe objects such as CDI request-scoped beans. +It might also break reactive-streams semantics with items being emitted concurrently. + +==== diff --git a/content/docs/smallrye-mutiny/main/guides/emit-on-vs-run-subscription-on.adoc b/content/docs/smallrye-mutiny/main/guides/emit-on-vs-run-subscription-on.adoc new file mode 100644 index 000000000..b4d8604a4 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/emit-on-vs-run-subscription-on.adoc @@ -0,0 +1,45 @@ += What is the difference between emitOn and runSubscriptionOn? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +The `emitOn` and `runSubscriptionOn` are 2 operators influencing on which threads the event are dispatched. +However, they target different types of events and different directions. + +== The case of emitOn + +`emitOn` takes events coming from upstream (items, completion, failure) and replays them downstream on a thread from the given executor. +Consequently, it affects where the subsequent operators execute (until another `emitOn` is used): + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RunSubscriptionOnTest.java[tags=emitOn,indent=0] +---- + +The previous code produces the following sequence: + +[.has-dark] +image::images/diagrams/mermaid-18f9a50c0627.svg[mermaid diagram] + +[WARNING] +==== + +Be careful as this operator can lead to concurrency problems with non thread-safe objects such as CDI request-scoped beans. +It might also break reactive-streams semantics with items being emitted concurrently. + +==== + +== The case of runSubscriptionOn + +`runSubscriptionOn` applies to the subscription process. +It requests the upstream to run its subscription (call of the `subscribe` method on its own upstream) on a thread from the given executor: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/RunSubscriptionOnTest.java[tags=runSubscriptionOn,indent=0] +---- + +So, if we consider the previous code snippet, it produces the following sequence: + +[.has-dark] +image::images/diagrams/mermaid-76df06b35153.svg[mermaid diagram] diff --git a/content/docs/smallrye-mutiny/main/guides/filtering-items.adoc b/content/docs/smallrye-mutiny/main/guides/filtering-items.adoc new file mode 100644 index 000000000..e621770d9 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/filtering-items.adoc @@ -0,0 +1,33 @@ += Filtering items from Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +When observing a `Multi`, you may not want to forward all the received items to the downstream. + +Use the `multi.select()` group to select items. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/FilterTest.java[tags=filter,indent=0] +---- + +To _select_ items passing a given predicate, use `multi.select().where(predicate)`: + +`where` accepts a predicate called for each item. +If the predicate returns `true`, the item propagated downstream. +Otherwise, it drops the item. + +The predicate passed to `where` is synchronous. +The `when` method provides an asynchronous version: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/FilterTest.java[tags=test,indent=0] +---- + +`when` accepts a function called for each item. + +Unlike `where` where the predicate returns a boolean synchronously, the function returns a `Uni++<++Boolean++>++`. +It forwards the item downstream if the `uni` produced by the function emits `true`. +Otherwise, it drops the item. diff --git a/content/docs/smallrye-mutiny/main/guides/framework-integration.adoc b/content/docs/smallrye-mutiny/main/guides/framework-integration.adoc new file mode 100644 index 000000000..7dfbb8eb8 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/framework-integration.adoc @@ -0,0 +1,32 @@ += How can I integrate Mutiny with my framework? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Sometimes, Mutiny needs to execute tasks on other threads, such as monitoring time or delaying actions. +Most operators relying on such capacity let you pass either a `ScheduledExecutorService` or an `ExecutorService`. + +By default, Mutiny uses the a _cached_ thread pool as default executor, that creates new threads as needed, but reuse previously constructed threads when they are available. +A `ScheduledExecutorService` is also created but delegates the execution of the delayed/scheduled tasks to the default executor. + +In the case you want to integrate Mutiny with a thread pool managed by a platform, you can configure it using `Infrastructure.setDefaultExecutor()` method: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/InfrastructureTest.java[tags=infra,indent=0] +---- + +You can configure the default executor using the `Infrastructure.setDefaultExecutor` method: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/InfrastructureTest.java[tags=set-infra,indent=0] +---- + +[TIP] +==== + +If you are using Quarkus, the default executor is already configured to use the Quarkus worker thread pool. +Logging is also configured correctly. + +==== diff --git a/content/docs/smallrye-mutiny/main/guides/grouping-items.adoc b/content/docs/smallrye-mutiny/main/guides/grouping-items.adoc new file mode 100644 index 000000000..de10842de --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/grouping-items.adoc @@ -0,0 +1,153 @@ += Grouping items from Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Mutiny provides several operators to group items from a `Multi` stream. +You can group items by a key function (similar to SQL's `GROUP BY`), split items into fixed-size chunks, or create time-based windows. + +The grouping operators are available from the `group()` method on `Multi`. + +== Grouping into Lists + +The `group().intoLists()` operator allows you to collect items into lists based on size or time. + +=== Fixed-size lists + +Use `group().intoLists().of(size)` to create fixed-size lists from the stream: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupIntoLists,indent=0] +---- + +The last list may contain fewer items if the stream doesn't divide evenly. + +=== Time-based lists + +You can create time-based lists using `group().intoLists().every(Duration)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=timeBasedListGrouping,indent=0] +---- + +=== Size and time-based lists + +You can combine both size and time constraints using `group().intoLists().of(size, Duration)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=sizeAndTimeBasedListGrouping,indent=0] +---- + +This will emit a list when either the size limit is reached or the duration expires, whichever comes first. + +== Grouping into Multi Streams + +The `group().intoMultis()` operator allows you to create separate `Multi` streams from your data. Unlike `intoLists()` which materializes all items into memory, `intoMultis()` keeps items as streams, which is better for: + +* Applying stream transformations to each group +* Processing large groups without loading everything into memory +* Composing with other reactive operators + +=== Fixed-size Multi streams + +Use `group().intoMultis().of(size)` to create `Multi` streams of a fixed size: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupIntoMultis,indent=0] +---- + +=== Time-based Multi streams + +You can create time-based windows using `group().intoMultis().every(Duration)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=timeBasedGrouping,indent=0] +---- + +== Grouping by a key function + +The `group().by()` operator groups items based on a key function, emitting a `Multi++<++GroupedMulti++<++K, V++>>++` where each `GroupedMulti` represents a group of items sharing the same key. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByKey,indent=0] +---- + +Each `GroupedMulti` has a `key()` method that returns the key for that group. +Items are distributed to groups based on the key function result. + +=== Using both key and value mappers + +You can transform items while grouping them by providing both a key mapper and a value mapper: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByKeyAndValue,indent=0] +---- + +== Processing groups with merge vs concatenate + +When processing groups, you need to decide how to combine the results back into a single stream. Similar to xref:tutorials/transforming-items-asynchronously.adoc[transforming items asynchronously], you can use either *merge* or *concatenate*: + +=== Using merge + +With merge, groups are processed concurrently - items from different groups can interleave in the output stream: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByWithMerge,indent=0] +---- + +[WARNING] +.Upstream request starvation with merge +==== + +When using `.merge(concurrency)` or similar merge operations after `group().by()`, +*the concurrency parameter must be greater than or equal to the number of groups that are created but not terminated*. + +If you create more groups than the concurrency limit allows, some groups cannot make progress while waiting for others to complete. +This leads to a *request starvation* where the upstream won't receive requests for emitting new items. + +==== + +==== Example causing request starvation + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByDeadlock,indent=0] +---- + +In this example, 10 groups are created but only 2 can be processed concurrently. +Groups 3-10 cannot make progress because the downstream subscriber is busy with groups 1-2. +Meanwhile, groups 1-2 may not complete because they're waiting for backpressure signals from the full pipeline. +The problem is even more exacerbated with infinite streams and infinite groups. + +==== How to avoid request starvation + +[arabic] +. *Set concurrency ++>++= number of groups*: If you know the maximum number of groups in advance, set the concurrency parameter to at least that number using `.merge(n)` +. *Use unbounded concurrency*: Call `.merge(Integer.MAX++_++VALUE)` to allow unlimited number of concurrent groups +. *Use concatenate instead*: Process groups sequentially (see below) + +=== Using concatenate + +With concatenate, groups are processed sequentially - each group must fully terminate before the next group can start processing: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/GroupingItemsTest.java[tags=groupByWithConcatenate,indent=0] +---- + +== Choosing between group().by() and split() + +Mutiny provides both `group().by()` and `split()` operators. Here's when to use each: + +* *Use `group().by()`* when you don't know the keys in advance and the number of groups is dynamic. +* *Use `split()`* when you know all possible keys upfront (defined by an enum) and you want individual `Multi` instances for each split. + +See the xref:guides/multi-split.adoc[splitting guide] for more details on `split()`. diff --git a/content/docs/smallrye-mutiny/main/guides/handling-null.adoc b/content/docs/smallrye-mutiny/main/guides/handling-null.adoc new file mode 100644 index 000000000..fa3abd3dc --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/handling-null.adoc @@ -0,0 +1,40 @@ += How to handle null? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +The `Uni` type can emit `null` as item. + +While there are mixed feelings about `null`, it's part of the Java language and so handled in the `Uni` type. + +[IMPORTANT] +==== + +`Multi` does not support `null` items as it would break the compatibility with the _Reactive Streams_ protocol. + +==== + +Emitting `null` is convenient when returning `Uni++<++Void++>++`. +However, the downstream must expect `null` as item. + +Thus, `Uni` provides specific methods to handle `null` item. +`uni.onItem().ifNull()` lets you decide what you want to do when the received item is `null`: + +[source,java] +---- +include::{examples-dir}/java/guides/UniNullTest.java[tags=code,indent=0] +---- + +A symmetric group of methods is also available with `ifNotNull` which let you handle the case where the item is _not null_: + +[source,java] +---- +include::{examples-dir}/java/guides/UniNullTest.java[tags=code-not-null,indent=0] +---- + +[IMPORTANT] +==== + +While supported, emitting `null` should be avoided except for `Uni++<++Void++>++`. + +==== diff --git a/content/docs/smallrye-mutiny/main/guides/handling-timeouts.adoc b/content/docs/smallrye-mutiny/main/guides/handling-timeouts.adoc new file mode 100644 index 000000000..a687b0a37 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/handling-timeouts.adoc @@ -0,0 +1,53 @@ += How to handle timeouts? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Unis are often used to represent asynchronous operations, like making an HTTP call. +So, it's not rare to need to add a timeout or a deadline on this kind of operation. +If we don't get a response (receive an item in the Mutiny lingo) before that deadline, we consider that the operation failed. + +We can then recover from this failure by using a fallback value, retrying, or any other failure handling strategy. + +To configure a timeout use `Uni.ifNoItem().after(Duration)`: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=code,indent=0] +---- + +When the deadline is reached, you can do various actions. +First you can simply fail: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fail,indent=0] +---- + +A `TimeoutException` is propagated in this case. +So you can handle it specifically in the downstream: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fail-recover,indent=0] +---- + +You can also pass a custom exception: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fail-with,indent=0] +---- + +Failing and recovering might be inconvenient. +So, you can pass a fallback item or `Uni` directly: + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fallback,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/java/guides/UniTimeoutTest.java[tags=fallback-uni,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/hot-streams.adoc b/content/docs/smallrye-mutiny/main/guides/hot-streams.adoc new file mode 100644 index 000000000..87c93ce06 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/hot-streams.adoc @@ -0,0 +1,26 @@ += Hot streams +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +In a _cold_ stream, the stream is created when one subscriber subscribes to the stream. +So, if no one subscribes, the actual stream is not created, saving resources (that would be wasted because nobody is interested in the items). + +In a _hot_ stream, the stream exists before subscribers subscribe. +The stream emits items even if no subscribers observe the stream. +If there are no subscribers, the items are just dropped. +Subscribers only get items emitted after their subscription, meaning that any previous items would not be received. + +To create a hot stream, you can use `io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor` that: + +* drops items if no subscribers are present, +* forwards items to the set of observing subscribers. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/BroadcastProcessorTest.java[tags=code,indent=0] +---- + +Note that the `BroadcastProcessor` subscribes to the _hot_ source aggressively and without back-pressure. +However, the `BroadcastProcessor` enforces the back-pressure protocol per subscriber. +If a subscriber is not ready to handle an item emitted by the _hot_ source, an `io.smallrye.mutiny.subscription.BackPressureFailure` is forwarded to this subscriber. diff --git a/content/docs/smallrye-mutiny/main/guides/imperative-to-reactive.adoc b/content/docs/smallrye-mutiny/main/guides/imperative-to-reactive.adoc new file mode 100644 index 000000000..535317c49 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/imperative-to-reactive.adoc @@ -0,0 +1,71 @@ += From imperative to reactive +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +If you use Mutiny, there is a good chance you may want to avoid blocking the caller thread. + +In a _pure_ reactive application, the application logic is executed on one of the few I/O threads, and blocking one of these would have dramatic consequences. +So, here is the big question: _how do you deal with blocking code?_ + +Let's imagine you have blocking code (e.g., connecting to a database using JDBC, reading a file from the file system...), and you want to integrate that into your reactive pipelines while avoiding blocking. +You would need to isolate such blocking parts of your code and run these parts on worker threads. + +Mutiny provides two operators to customize the threads used to handle events: + +* `runSubscriptionOn` - to configure the thread used to execute the code happening at subscription-time +* `emitOn` - to configure the thread used to dispatch events downstream + +== Running blocking code on subscription + +It is very usual to deal with the blocking call during the subscription. +In this case, the `runSubscription` operator is what you need: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ImperativeToReactiveTest.java[tags=uni-runSubscriptionOn,indent=0] +---- + +The code above creates a Uni that will supply the item using a blocking call, here the `invokeRemoteServiceUsingBlockingIO` method. +To avoid blocking the subscriber thread, it uses `runSubscriptionOn` which switches the thread and call `invokeRemoteServiceUsingBlockingIO` on another thread. +Here we pass the default worker thread pool, but you can use your own executor. + +[TIP] +==== + +What's that default worker pool? + +In the previous snippet, you may wonder about `Infrastructure.getDefaultWorkerPool()`. +Mutiny allows the underlying platform to provide a default worker pool. +`Infrastructure.getDefaultWorkerPool()` provides access to this pool. + +==== + +If the underlying platform does not provide a pool, a default one is used. + +Note that `runSubscriptionOn` does not subscribe to the Uni. +It specifies the executor to use when a subscription happens. + +While the snippet above uses `Uni`, you can also use `runSubscriptionOn` on a `Multi`. + +== Executing blocking calls on event + +Using `runSubscriptionOn` works when the blocking operation happens at subscription time. +But, when dealing with `Multi` and need to execute blocking operations for each item, you need to use `emitOn`. + +While `runSubscriptionOn` runs the subscription on the given executor, `emitOn` configures the executor used to propagate downstream the items, failure and completion events: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ImperativeToReactiveTest.java[tags=multi-emitOn,indent=0] +---- + +`emitOn` is also available on `Uni`. + +[WARNING] +==== + +Be careful as this operator can lead to concurrency problems with non thread-safe objects such as CDI request-scoped beans. +It might also break reactive-streams semantics with items being emitted concurrently. + +==== diff --git a/content/docs/smallrye-mutiny/main/guides/integrate-a-non-reactive-source.adoc b/content/docs/smallrye-mutiny/main/guides/integrate-a-non-reactive-source.adoc new file mode 100644 index 000000000..0b0a7982c --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/integrate-a-non-reactive-source.adoc @@ -0,0 +1,20 @@ += How can I create a Multi from a non-reactive source? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +The `UnicastProcessor` is an implementation of `Multi` that lets you enqueue items in a queue. + +The items are then dispatched to the subscriber using the request protocol. +While this pattern is against the idea of back-pressure, it lets you connect sources of data that do not support back-pressure with your subscriber. + +In the following example, the `UnicastProcessor` is used by a thread emitting items. +These items are enqueued in the processor and replayed when the subscriber is connected, following the request protocol. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UnicastProcessorTest.java[tags=code,indent=0] +---- + +By default, the `UnicastProcessor` uses an unbounded queue. +You can also pass a fixed size queue that would reject the items once full. diff --git a/content/docs/smallrye-mutiny/main/guides/joining-unis.adoc b/content/docs/smallrye-mutiny/main/guides/joining-unis.adoc new file mode 100644 index 000000000..eaaa1a204 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/joining-unis.adoc @@ -0,0 +1,67 @@ += Joining several unis +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +A `Uni` represents an operation that either emits a value or a failure. +Examples of operations that fit into a `Uni` include: HTTP client requests, database `insert` queries, sending messages to a broker, etc. + +It is common to trigger several _concurrent_ operations, then _join_ on the results. +For instance you can make HTTP requests to 3 different HTTP APIs, then collect all HTTP responses. +Or you can just take the response from the one who was the fastest. + +`Uni` offers the `join` group to assemble all results from a list of `Uni`, pick the first one that terminates, or pick the first one that terminates with a value. + +== Joining multiple unis + +Given multiple `Uni`, you can join them all and obtain a `Uni` that emits a list of values: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-all,indent=0] +---- + +The assembled values are in the same order as the list of unis. +The last call to `.andCollectFailures()` specifies that if one or several `Uni` fail, then the failures are assembled in a `CompositeException`. + +Sometimes you just want to _fail fast_ if any of the `Uni` fails, and not wait for all unis to terminate: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-all-ff,indent=0] +---- + +When any `Uni` fails, then the failure is directly forwarded as a failure of `res`. + +== Joining on the first Uni + +In some cases you do not want to have all the results but just that of the first `Uni` to respond. +There are actually 2 different cases, depending on whether you want the result of the first `Uni` that emits a value, or just the result of the first `Uni` to terminate. + +If you want to get the first `Uni` that terminates: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-first,indent=0] +---- + +If you want to have the first `Uni` that emits a value (and forget the first failures), then: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=join-first-withitem,indent=0] +---- + +When all unis fail then `res` fails with a `CompositeException` that reports all failures. + +== Using a builder object + +There are situations where it can be more convenient to gather the unis to join in an iterative fashion. +For this purpose you can use a builder object, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/UniJoinTest.java[tags=builder,indent=0] +---- + +The builder offers `joinAll()` and `joinFirst()` methods. diff --git a/content/docs/smallrye-mutiny/main/guides/kotlin.adoc b/content/docs/smallrye-mutiny/main/guides/kotlin.adoc new file mode 100644 index 000000000..06fd1b4e3 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/kotlin.adoc @@ -0,0 +1,205 @@ += Kotlin integration +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +The module `mutiny-kotlin` provides an integration with Kotlin for use with coroutines and convenient language features. + +There are extension methods available for converting between Mutiny and Kotlin (coroutine) types. +For implementation details please have also a look to these methods' documentation. + +== Dependency coordinates + +The coroutine extension functions are shipped in the package `io.smallrye.mutiny.coroutines`. + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=importStatements,indent=0] +---- + +You need to add the following dependency to your project: + +[.tabs] +==== + +Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + mutiny-kotlin + {versions-mutiny} + +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.reactive:mutiny-kotlin:{versions-mutiny}") +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation "io.smallrye.reactive:mutiny-kotlin:{versions-mutiny}" +---- + +-- + +==== + +== Awaiting a Uni in coroutines + +Within a coroutine or suspend function you can easily await Uni events in a suspended way: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=uniAwaitSuspending,indent=0] +---- + +== Processing a Multi as Flow + +The coroutine `Flow` type matches `Multi` semantically, even though it isn't a feature complete reactive streams implementation. +You can process a `Multi` as `Flow` as follows: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=multiAsFlow,indent=0] +---- + +[NOTE] +==== + +There's no flow control availabe for Kotlin's `Flow`. Published items are buffered for consumption using a coroutine `Channel`. +The buffer size and overflow strategy of that `Channel` can be configured using optional arguments: +`Multi.asFlow(bufferCapacity = Channel.UNLIMITED, bufferOverflowStrategy = BufferOverflow.SUSPEND)`, +for more details please consult the method documentation. + +==== + +== Providing a Deferred value as Uni + +The other way around is also possible, let a Deferred become a Uni: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=deferredAsUni,indent=0] +---- + +== Creating a Multi from a Flow + +Finally, creating a Multi from a Flow is also possible: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=flowAsMulti,indent=0] +---- + +== Awaiting Multi results in coroutines + +You can consume `Multi` results directly from suspend functions without converting to `Flow` first: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiAwait.kt[tags=multiAwaitList,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiAwait.kt[tags=multiAwaitFirst,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiAwait.kt[tags=multiAwaitLast,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiAwait.kt[tags=multiAwaitEach,indent=0] +---- + +== Language convenience + +=== Unit instead of Void (null) value + +Kotlin has a special value type `Unit` similar to Java's `Void`. +While regular `Uni++<++Void++>++` holds a `null` item, you can get a `Unit` by using the extension function `replaceWithUnit()`: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/UniExt.kt[tags=uniReplaceWithUnit,indent=0] +---- + +=== Uni builder + +Building a `Uni` from Kotlin code can easily be achieved using the following builders available as regular or coroutine variant: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/UniExt.kt[tags=uniBuilder,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/Coroutines.kt[tags=uniBuilder,indent=0] +---- + +=== Multi builder + +Building a `Multi` from Kotlin code can be achieved using the `multi` builder, available as regular or coroutine variant: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiExt.kt[tags=multiBuilder,indent=0] +---- + +The builder accepts an optional back-pressure strategy: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiExt.kt[tags=multiBuilderBackPressure,indent=0] +---- + +A coroutine variant allows suspend calls within the builder: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/MultiExt.kt[tags=multiBuilderSuspend,indent=0] +---- + +=== Tuple destructuring + +Mutiny's `Tuple2` through `Tuple9` support Kotlin destructuring declarations: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/TupleExt.kt[tags=tupleDestructuring,indent=0] +---- + +=== Typed failure handling + +Use reified generics for concise failure type matching on both `Uni` and `Multi`: + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/FailureExt.kt[tags=uniReifiedOnFailure,indent=0] +---- + +[source,kotlin] +---- +include::{examples-dir}/kotlin/guides/FailureExt.kt[tags=multiReifiedOnFailure,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/logging.adoc b/content/docs/smallrye-mutiny/main/guides/logging.adoc new file mode 100644 index 000000000..4135995b1 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/logging.adoc @@ -0,0 +1,66 @@ += Logging events +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +Both `Uni` and `Multi` offer a `log` operator that can be used to trace events as they flow through operators. + +Mutiny does not make any assumption on _how_ logging is defined, and does not rely on any specific logging API. + +== Using a logging operator + +The `log` method comes in 2 forms: one that takes an identifier and one that derives the identifier from the upstream class: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/OperatorLoggingTest.java[tags=log,indent=0] +---- + +Here the `log` operator traces all events between the `onItem().transform(...)` operator and the subscriber, as in the following output: + +.... +11:01:48.709 [main] INFO Multi.MultiMapOp.0 - onSubscription() +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - request(9223372036854775807) +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onItem(10) +>>> 10 +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onItem(20) +>>> 20 +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onItem(30) +>>> 30 +11:01:48.711 [main] INFO Multi.MultiMapOp.0 - onCompletion() +.... + +There are a few things to note here: + +[arabic] +. we are logging on a `Multi`, so the logging event is prefixed with `Multi` (and `Uni` in the case of a... `Uni`), and +. since we did not specify any identifier in the `log` method call, `MultiMapOp` has been derived from the preceding operator (non-qualified) class name, and +. since there can be multiple subscriptions an integer is appended to the identifier (`0`, `1`, `2`, ...). + +== Defining logging + +What happens when events are being logged is defined with the `Infrastructure` class. +Events are written by default to the standard console output in a format similar to: + +.... +[--> Multi.MultiMapOp.0 | onSubscription() +[--> Multi.MultiMapOp.0 | request(9223372036854775807) +[--> Multi.MultiMapOp.0 | onItem(10) +[--> Multi.MultiMapOp.0 | onItem(20) +[--> Multi.MultiMapOp.0 | onItem(30) +[--> Multi.MultiMapOp.0 | onCompletion() +.... + +The following is an example of configuring logging with http://www.slf4j.org++[++SLF4J++]++: + +[source,java] +---- +include::{examples-dir}/java/guides/infrastructure/OperatorLoggingTest.java[tags=set-logger,indent=0] +---- + +[TIP] +==== + +Note that this is only useful to do when embedding Mutiny in your own stack, some frameworks like https://quarkus.io[Quarkus] will already have defined the correct logging strategy. + +==== diff --git a/content/docs/smallrye-mutiny/main/guides/merging-and-concatenating-streams.adoc b/content/docs/smallrye-mutiny/main/guides/merging-and-concatenating-streams.adoc new file mode 100644 index 000000000..abe8c3428 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/merging-and-concatenating-streams.adoc @@ -0,0 +1,89 @@ += Merging and Concatenating Streams +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +Merging or concatenating streams is a frequent operation which consists in taking multiple streams and creating a new `Multi` out of them. +Such an operation observes the items emitted by the different streams and produces a new `Multi` emitting the events. + +All the streams merged or concatenated this way should emit the same type of items. + +== The difference between merge and concatenate + +Understanding the difference between _merge_ and _concatenate_ is essential. + +When _merging_ streams, it observes the different upstreams and emits the items as they come. +If the streams emit their items concurrently, the items from the different streams are interleaved. + +[.has-dark] +image::images/diagrams/mermaid-74e1ac453bf9.svg[mermaid diagram] + +When using _merge_, failures are also propagated to the merged stream, and no more items are emitted after that failure. +The _completion_ event is only emitted by the merged stream when all the observed streams are completed. + +But if we want to keep the order of the observed stream, we need to _concatenate_. + +When _concatenating_, it waits for the first stream to complete before subscribing to the second one. Thus, it ensures that all the items from the first stream have been emitted before emitting the second stream items. It preserves an order corresponding to the source: + +[.has-dark] +image::images/diagrams/mermaid-c6f9029821c4.svg[mermaid diagram] + +When the first stream emits the completion event, it switches to the second stream, and so on. +When the last stream completes, the concatenated stream sends the completion event. +As for _merge_, if a stream fails then there won't be further events. + +== Merging Multis + +To create a new `Multi` from the _merge_ of multiple `Multi` streams use: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=merge,indent=0] +---- + +For example, we can merge multiple streams emitting periodical events: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=merge-ticks,indent=0] +---- + +and the output would be similar to: + +[source,text] +---- +Got item: Stream 1 - 0 +Got item: Stream 2 - 0 +Got item: Stream 3 - 0 +Got item: Stream 3 - 1 +Got item: Stream 1 - 1 +Got item: Stream 3 - 2 +Got item: Stream 2 - 1 +Got item: Stream 3 - 3 +Got item: Stream 1 - 2 +Got item: Stream 3 - 4 +Got item: Stream 3 - 5 +---- + +== Concatenating Multis + +To create a new `Multi` from the _concatenation_ of multiple `Multi` streams use: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=concat,indent=0] +---- + +Don't forget that the streams order matters in this case, as `(streamA, streamB)` does not provide the same result as `(streamB, streamA)`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/MergeConcatTest.java[tags=concatenate-strings,indent=0] +---- + +[IMPORTANT] +==== + +If one of the concatenated streams is unbounded (infinite), the next streams in the list won't be consumed! + +==== diff --git a/content/docs/smallrye-mutiny/main/guides/multi-split.adoc b/content/docs/smallrye-mutiny/main/guides/multi-split.adoc new file mode 100644 index 000000000..d8427562a --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/multi-split.adoc @@ -0,0 +1,51 @@ += Splitting a Multi into several Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +It is possible to split a `Multi` into several `Multi` streams. + +== Using the split operator + +Suppose that we have a stream of strings that represent _signals_, and that we want a `Multi` for each kind of signal: + +* `?foo`, `?bar` are _input_ signals, +* `!foo`, `!bar` are _output_ signals, +* `foo`, `bar` are _other_ signals. + +To do that, we need a function that maps each item of the stream to its target stream. +The splitter API needs a Java enumeration to define keys, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SplitTest.java[tags=enum,indent=0] +---- + +Now we can use the `split` operator that provides a splitter object, and fetch individual `Multi` for each split stream using the `get` method: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SplitTest.java[tags=splits,indent=0] +---- + +This prints the following console output: + +.... +output - a +input - b +output - c +output - d +other - 123 +input - e +.... + +== Notes on using splits + +* Items flow when all splits have a subscriber. +* The flow stops when either of the subscribers cancels, or when any subscriber has a no outstanding demand. +* The flow resumes when all splits have a subscriber again, and when all subscribers have outstanding demand. +* Only one subscriber can be active for a given split. Other subscription attempts will receive an error. +* When a subscriber cancels, then a new subscription attempt on its corresponding split can succeed. +* Subscribing to an already completed or errored split results in receiving the terminal signal (`onComplete()` or `onFailure(err)`). +* The upstream `Multi` gets subscribed to when the first split subscription happens, no matter which split it is. +* The first split subscription passes its context, if any, to the upstream `Multi`. It is expected that all split subscribers share the same context object, or the behavior of your code will most likely be incorrect. diff --git a/content/docs/smallrye-mutiny/main/guides/pagination.adoc b/content/docs/smallrye-mutiny/main/guides/pagination.adoc new file mode 100644 index 000000000..8371841a0 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/pagination.adoc @@ -0,0 +1,46 @@ += How to use paginated APIs? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +There are many REST / HTTP APIs using pagination, _i.e._ return only a subset of the results and you need to request the next _page_ to get the next batch. +Each batch contains a list of item(s). + +To use this kind of API and generate a continuous stream of items, you need to use the `Multi.createBy().repeating()` function. +However, we need to pass a cursor / state to advance and avoid requesting again and again the same page. +Fortunately, `repeating` provides methods to pass a shared state. +So by combining these methods and `disjoint` you can generate streams from these pages: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PaginationTest.java[tags=code,indent=0] +---- + +First, you create a `Multi` containing the items emitted by the `CompletionStage` supplier and pass a state supplier to progress among the pages. + +Then, use `until` to call the paginated API until we have all the items. +At the point we have a stream of list of item such as `++[++"a", "b", "c"++]++, ++[++"d", "e"++]++, ++[]++`. +However, we want the following stream: `"a", "b", "c", "d", "e"`. +The `disjoint` method does exactly this. +It gets the items from the lists and passes them downstream: + +[.has-dark] +image::images/diagrams/mermaid-df98fc1dd069.svg[mermaid diagram] + +`Multi.createBy().repeating()` lets you choose the number of iterations using: + +* `atMost` - exact number of repetitions (or failure happens before reaching that number) +* `until` - the repetition is stopped if the item emitted by the `Uni` *passes* a test (predicate). +It does not propagate the item that did pass the check, and it stops the repetition. +The check verifies if the current item does not contain valid data. +* `whilst` - the repetition is stopped if the item emitted by the `Uni` *does not pass* a test (predicate). +It does propagate the item downstream even if the check does not pass. +However, it stops the repetition. +The test verifies if there is a _next_ batch to be retrieved. + +The following code illustrates the usage of `whilst`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PaginationTest.java[tags=code2,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/polling.adoc b/content/docs/smallrye-mutiny/main/guides/polling.adoc new file mode 100644 index 000000000..88aa7115e --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/polling.adoc @@ -0,0 +1,21 @@ += How to use polling? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +There are many poll-based API around us. +Sometimes you need to use these APIs to generate a stream from the polled values. + +To do this, use the `repeat()` feature: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PollableSourceTest.java[tags=code,indent=0] +---- + +You can also stop the repetition using the `repeat().until()` method which will continue the repetition until the given predicate returns `true`, and/or directly create a `Multi` using `Multi.createBy().repeating()`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/PollableSourceTest.java[tags=code2,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/reactive-to-imperative.adoc b/content/docs/smallrye-mutiny/main/guides/reactive-to-imperative.adoc new file mode 100644 index 000000000..b1ede52c1 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/reactive-to-imperative.adoc @@ -0,0 +1,54 @@ += From reactive to imperative +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +There are use cases where you need the items in an imperative manner instead of asynchronous. +Typically, when you serve an HTTP request from a worker thread, you can block. + +Mutiny provides the ability to block until you get the items. + +== Awaiting on Uni's item + +When dealing with a `Uni,` you can block and await the item using: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=await,indent=0] +---- + +This method blocks the caller thread until the observed `uni` emits the item. +Note that the returned item can be `null` if the `uni` emits `null.` +If the `uni` fails, it throws the exception, wrapped in the `CompletionException` for _checked_ exception. + +Blocking forever may not be a great idea. +You can use `uni.await().atMost(Duration)` to pass a deadline. +When the deadline is reached, a `TimeoutException` is thrown: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=atMost,indent=0] +---- + +== Iterating over Multi's items + +When dealing with a `Multi,` you may want to iterate over the items using a simple "foreach." +You can achieve this using `multi.subscribe().asIterable()`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=iterable,indent=0] +---- + +The returned `iterable` is blocking. +It waits for the next items, and during that time, blocks the caller thread. + +The iteration ends once the last item is consumed. +If the `multi` emits a failure, an exception is thrown. + +Similar to `asIterable()`, the `asStream` method lets you retrieve a `java.util.stream.Stream`: + +[source,java] +---- +include::{examples-dir}/java/guides/integration/ReactiveToImperativeTest.java[tags=stream,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/replaying-multis.adoc b/content/docs/smallrye-mutiny/main/guides/replaying-multis.adoc new file mode 100644 index 000000000..d2cc64c0e --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/replaying-multis.adoc @@ -0,0 +1,94 @@ += Replaying Multis +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +A `Multi` is a _cold-source_: no processing happens until you subscribe. + +While the `broadcast` operator can be used so that multiple subscribers consume a `Multi` events _at the same time_, it does not support replaying items for _late subscribers_: when a subscriber joins after the `Multi` has completed (or failed), then it won't receive any item. + +This is where _replaying_ can be useful. + +== Replaying all events + +Replaying all events from an upstream `Multi` works as follows: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-all,indent=0] +---- + +Both `item++_++1` and `item++_++2` trigger new subscriptions, and both lists contain the following elements: + +.... +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +.... + +Replaying works by turning `upstream` into a _hot-stream_, meaning that it gets requested `Long.MAX++_++VALUE` elements. +This is done when the first subscription happens. + +The replay operator stores the items in an internal _replay log_, and then each subscriber gets to replay them. + +[IMPORTANT] +==== + +Subscribers demand and cancellation requests are honored while replaying, but `upstream` cannot be cancelled. + +Be careful with unbounded streams as you can exhaust memory! + +In such cases or when you need to replay large amounts of data, you might opt to use some eventing middleware rather than Mutiny replays. + +==== + +== Replaying the last 'n' events + +You can limit the number of elements to replay by using the `upTo` method: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-last,indent=0] +---- + +Each new subscriber gets to replay the last `n` elements from where the replay log is at subscription time. +For instance the first subscriber can observe all events, while a subscriber that joins 2 seconds later might not observe the earlier events. + +Since `Multi.createFrom().range(0, 10)` is an _immediate_ stream, both `item++_++1` and `item++_++2` lists contain the last items: + +.... +[7, 8, 9] +.... + +== Prepending with seed data + +In some cases you might want to prepend some _seed_ data that will be available for replay before the upstream starts emitting. + +You can do so using an `Iterable` to provide such seed data: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-seed,indent=0] +---- + +In which case subscribers can observe the following events: + +.... +[-10, -5, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +.... + +== Replay of failures and completions + +Subscribers get to observe not just items but also the failure and completion events: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/ReplayTest.java[tags=replay-errors,indent=0] +---- + +Running this code yields the following output for any subscriber: + +.... +-> 7 +-> 8 +-> 9 +Failed: boom +.... diff --git a/content/docs/smallrye-mutiny/main/guides/rx.adoc b/content/docs/smallrye-mutiny/main/guides/rx.adoc new file mode 100644 index 000000000..b41ec4f0f --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/rx.adoc @@ -0,0 +1,31 @@ += Using map, flatMap and concatMap +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +If you are a seasoned reactive developer, you may miss the `map`, `flatMap`, `concatMap` methods. + +The Mutiny API is quite different from the _standard_ reactive eXtensions API. + +There are multiple reasons for this choice. +Typically, _flatMap_ is not necessarily well understood by every developer, leading to potentially catastrophic consequences. + +That being said, Mutiny provides the _map_, _flatMap_ and _concatMap_ methods, implementing the most common variant for each: + +[source,java] +---- +include::{examples-dir}/java/guides/RxTest.java[tags=rx,indent=0] +---- + +The Mutiny equivalents are: + +* `map -++>++ onItem().transform()` +* `flatMap -++>++ onItem().transformToUniAndMerge` and `onItem().transformToMultiAndMerge` +* `concatMap -++>++ onItem().transformToUniAndConcatenate` and `onItem().transformToMultiAndConcatenate` + +The following snippet demonstrates how to uses these methods: + +[source,java] +---- +include::{examples-dir}/java/guides/RxTest.java[tags=mutiny,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/shortcut-methods.adoc b/content/docs/smallrye-mutiny/main/guides/shortcut-methods.adoc new file mode 100644 index 000000000..219dcdcb1 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/shortcut-methods.adoc @@ -0,0 +1,44 @@ += Shortcut methods +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +The Mutiny API is decomposed around the idea of groups, each group handling a specific event. +However, to avoid verbosity, Mutiny also exposes _shortcuts_ for the most used methods. +Be aware that these shorts, while making the code shorter, may harm the readability and understandability. + +To _peek_ at items, you can use the `invoke` method: + +[source,java] +---- +include::{examples-dir}/java/guides/ShortcutsTest.java[tags=invoke,indent=0] +---- + +`invoke` is a shortcut for `onItem().invoke(...)`. + +Mutiny also provides the `call` method for executing an action returning a `Uni`. +This is useful to execute an asynchronous action without modifying incoming item: + +[source,java] +---- +include::{examples-dir}/java/guides/ShortcutsTest.java[tags=call,indent=0] +---- + +`call` is a shortcut for `onItem().call(...)`. + +The following table lists the available shortcuts available by the `Uni` class: + +[width="100%",cols="41%,59%",options="header",] +|=== +|Shortcut |Equivalent +|`uni.map(x -++>++ y)` |`uni.onItem().transform(x -++>++ y)` +|`uni.flatMap(x -++>++ uni2)` |`uni.onItem().transformToUni(x -++>++ uni2)` +|`uni.chain(x -++>++ uni2)` |`uni.onItem().transformToUni(x -++>++ uni2)` +|`uni.invoke(x -++>++ System.out.println(x))` |`uni.onItem().invoke(x -++>++ System.out.println(x))` +|`uni.call(x -++>++ uni2)` |`uni.onItem().call(x -++>++ uni2)` +|`uni.eventually(() -++>++ System.out.println("eventually"))` |`uni.onTermination().invoke(() -++>++ System.out.println("eventually"))` +|`uni.eventually(() -++>++ uni2)` |`uni.onTermination().call((ignoredItem, ignoredError, ignoredCancellation) -++>++ uni2)` +|`uni.replaceWith(x)` |`uni.onItem().transform(ignored -++>++ x)` +|`uni.replaceWith(uni2)` |`uni.onItem().transformToUni(ignored -++>++ uni2)` +|`uni.replaceIfNullWith(x)` |`uni.onItem().ifNull().continueWith(x)` +|=== diff --git a/content/docs/smallrye-mutiny/main/guides/spies.adoc b/content/docs/smallrye-mutiny/main/guides/spies.adoc new file mode 100644 index 000000000..2a87e08e8 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/spies.adoc @@ -0,0 +1,71 @@ += Spying on events +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,advanced + +Spies are useful when you need to track which _events_ flow into a `Uni` or a `Multi`. +Spies can track events from groups such as `onItem()`, `onFailure()`, `onSubscribe()`, etc. + +The `io.smallrye.mutiny.helpers.spies.Spy` interface offers factory methods to spy on selected groups, or even on all groups. + +== Spying selected groups + +The following example spies on requests and completion group events: + +[source,java] +---- +include::{examples-dir}/java/guides/SpiesTest.java[tags=selected,indent=0] +---- + +The standard output stream shall display the following text: + +.... +1 +2 +3 +Number of requests: 9223372036854775807 +Completed? true +.... + +The number of requests corresponds to `Long.MAX++_++VALUE`, and a completion event was sent. + +[IMPORTANT] +==== + +It is important to note that spies observe and report events for all subscribers, not just one in particular. + +You should call the `.reset()` method on a given spy to resets its statistics such as the invocation count. + +==== + +== Spying all groups + +You can take advantage of a _global spy_ if you are interested in all event groups: + +[source,java] +---- +include::{examples-dir}/java/guides/SpiesTest.java[tags=global,indent=0] +---- + +Running the snippet above gives the following output: + +.... +1 +2 +3 +Number of requests: 9223372036854775807 +Cancelled? false +Failure? null +Items: [1, 2, 3] +.... + +[WARNING] +==== + +Tracking `onItem()` events on a `Multi` requires storing all items into a list, which can yield an out-of-memory +exception with large streams. + +In such cases consider using `Spy.onItem(multi, false)` to obtain a spy that does not store items, but that can +still report data such as the number of received events (see `spy.invocationCount()`). + +==== diff --git a/content/docs/smallrye-mutiny/main/guides/take-skip-items.adoc b/content/docs/smallrye-mutiny/main/guides/take-skip-items.adoc new file mode 100644 index 000000000..f466d1062 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/take-skip-items.adoc @@ -0,0 +1,116 @@ += Take/Skip the first or last items +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +Multi provides the ability to: + +* only forward items from the beginning of the observed multi, +* only forward the last items (and discard all the other ones), +* skip items from the beginning of the multi, +* skip the last items. + +These actions are available from the `multi.select()` and `multi.skip()` groups, allowing to, respectively, select and skip +items from upstream. + +== Selecting items + +The `multi.select().first` method forwards on the _n_ *first* items from the multi. +It forwards that amount of items and then sends the completion signal. +It also cancels the upstream subscription. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-first,indent=0] +---- + +[NOTE] +==== + +The `select().first()` method selects only the first item. + +==== + +If the observed multi emits fewer items, it sends the completion event when the upstream completes. + +Similarly, The `multi.select().last` operator forwards on the _n_ *last* items from the multi. +It discards all the items emitted beforehand. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-last,indent=0] +---- + +[NOTE] +==== + +The `select().last()` method selects only the last item. + +==== + +The `multi.select().first(Predicate)` operator forwards the items while the passed predicate returns `true`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-while,indent=0] +---- + +It calls the predicate for each item. +Once the predicate returns `false`, it stops forwarding the items downstream. +It also sends the completion event and cancels the upstream subscription. + +Finally, `multi.select().first(Duration)` operator picks the first items emitted during a given period. +Once the passed duration expires, it sends the completion event and cancels the upstream subscription. +If the observed multi completes before the passed duration, it sends the completion event. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=take-for,indent=0] +---- + +== Skipping items + +You can also skip items using `multi.skip()`. + +The `multi.skip().first(n)` method skips the _n_ *first* items from the multi. +It forwards all the remaining items and sends the completion event when the upstream multi completes. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-first,indent=0] +---- + +If the observed multi emits fewer items, it sends the completion event without emitting any items. + +[NOTE] +==== + +`skip().last()` drops only the very last item. + +==== + +Similarly, The `multi.skip().last(n)` operator skips on the _n_ *last* items from the multi: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-last,indent=0] +---- + +The `multi.skip().first(Predicate)` operator skips the items while the passed predicate returns `true`: + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-while,indent=0] +---- + +It calls the predicate for each item. +Once the predicate returns `false`, it stops discarding the items and starts forwarding downstream. + +Finally, `multi.skip().first(Duration)` operator skips the first items for a given period. +Once the passed duration expires, it sends the items emitted after the deadline downstream. +If the observed multi completes before the passed duration, it sends the completion event. + +[source,java] +---- +include::{examples-dir}/java/guides/operators/SelectAndSkipTest.java[tags=skip-for,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/testing.adoc b/content/docs/smallrye-mutiny/main/guides/testing.adoc new file mode 100644 index 000000000..6722c54dd --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/testing.adoc @@ -0,0 +1,72 @@ += How can I write unit / integration tests? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,beginner + +Mutiny provides subscribers for `Uni` and `Multi` offering helpful assertion methods. +You can use them to test pipelines. + +== Testing a Uni + +Here is an example to test a `Uni`: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=uni,indent=0] +---- + +You can also use predicate-based assertions and item inspection: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=uni-predicate,indent=0] +---- + +== Testing a Multi + +Testing a `Multi` pipeline is similar: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=multi,indent=0] +---- + +Predicate-based assertions work on `Multi` too: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=multi-predicate,indent=0] +---- + +== Declarative verification with AssertMulti + +For multi-item streams, `AssertMulti` provides a declarative step-by-step verifier. +Build a sequence of expectations, then call `verify()`: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=assert-multi,indent=0] +---- + +You can control demand explicitly for backpressure testing: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=assert-multi-demand,indent=0] +---- + +== Testing failures + +The assertions do not just focus on _good_ outcomes, you can also test failures as in: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=failing,indent=0] +---- + +With `AssertMulti`: + +[source,java] +---- +include::{examples-dir}/java/guides/TestSubscribersTest.java[tags=assert-multi-failure,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/guides/unchecked-exceptions.adoc b/content/docs/smallrye-mutiny/main/guides/unchecked-exceptions.adoc new file mode 100644 index 000000000..8b0f4206d --- /dev/null +++ b/content/docs/smallrye-mutiny/main/guides/unchecked-exceptions.adoc @@ -0,0 +1,42 @@ += Dealing with checked exceptions +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: guide,intermediate + +When implementing your reactive pipeline, you write lots of functions (`java.util.function.Function`), consumers (`java.util.function.Consumer`), suppliers (`java.util.function.Supplier`) and so on. + +By default, you cannot throw checked exceptions. + +When integrating libraries throwing checked exceptions (like `IOException`) it's not very convenient to add a `try/catch` block and wrap the thrown exception into a runtime exception: + +[source,java] +---- +include::{examples-dir}/java/guides/UncheckedTest.java[tags=rethrow,indent=0] +---- + +Mutiny provides utilities to avoid having to do this manually. + +If your operation throws a _checked exception_, you can use the https://javadoc.io/doc/io.smallrye.reactive/mutiny/latest/io/smallrye/mutiny/unchecked/Unchecked.html[`io.smallrye.mutiny.unchecked.Unchecked`] wrappers. + +For example, if your synchronous transformation uses a method throwing a checked exception, wrap it using `Unchecked.function`: + +[source,java] +---- +include::{examples-dir}/java/guides/UncheckedTest.java[tags=transform,indent=0] +---- + +You can also wrap consumers such as in: + +[source,java] +---- +include::{examples-dir}/java/guides/UncheckedTest.java[tags=invoke,indent=0] +---- + +[TIP] +==== + +You can add the following import statement to simplify the usage of the provided methods: + +`import static io.smallrye.mutiny.unchecked.Unchecked.++*++;` + +==== diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-0277dcc2b534.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-0277dcc2b534.dark.svg new file mode 100644 index 000000000..4de452321 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-0277dcc2b534.dark.svg @@ -0,0 +1 @@ +SubscriberProcessorPublisherSubscriberProcessorPublishersubscribesubscribesubscriptionsubscriptionrequest(5)request(5)onItem("a")onItem("A")onItem("b")onItem("B")cancel()cancel() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-0277dcc2b534.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-0277dcc2b534.svg new file mode 100644 index 000000000..d390d8d76 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-0277dcc2b534.svg @@ -0,0 +1 @@ +SubscriberProcessorPublisherSubscriberProcessorPublishersubscribesubscribesubscriptionsubscriptionrequest(5)request(5)onItem("a")onItem("A")onItem("b")onItem("B")cancel()cancel() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-18f9a50c0627.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-18f9a50c0627.dark.svg new file mode 100644 index 000000000..61cbecb7f --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-18f9a50c0627.dark.svg @@ -0,0 +1 @@ +SubscriberemitOn(executor)MultiSubscriberemitOn(executor)MultiOn caller threadOn executor threadonItem(1)1onItem(1)2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-18f9a50c0627.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-18f9a50c0627.svg new file mode 100644 index 000000000..684d7dc80 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-18f9a50c0627.svg @@ -0,0 +1 @@ +SubscriberemitOn(executor)MultiSubscriberemitOn(executor)MultiOn caller threadOn executor threadonItem(1)1onItem(1)2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3b8d4c58438a.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3b8d4c58438a.dark.svg new file mode 100644 index 000000000..8454c6921 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3b8d4c58438a.dark.svg @@ -0,0 +1 @@ +SubscriberMulti(item)TransformerUniSubscriberMulti(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(item)4onItem(item)5onItem(item)6onItem(item)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3b8d4c58438a.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3b8d4c58438a.svg new file mode 100644 index 000000000..bfccc4178 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3b8d4c58438a.svg @@ -0,0 +1 @@ +SubscriberMulti(item)TransformerUniSubscriberMulti(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(item)4onItem(item)5onItem(item)6onItem(item)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3d4459e3c6a6.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3d4459e3c6a6.dark.svg new file mode 100644 index 000000000..2caf15c72 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3d4459e3c6a6.dark.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([1,a])4onItem(3)5onItem(b)6onItem([2,b])7onItem(c)8 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3d4459e3c6a6.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3d4459e3c6a6.svg new file mode 100644 index 000000000..2e8d7dc42 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-3d4459e3c6a6.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([1,a])4onItem(3)5onItem(b)6onItem([2,b])7onItem(c)8 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-491ff27a51a5.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-491ff27a51a5.dark.svg new file mode 100644 index 000000000..f66422d35 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-491ff27a51a5.dark.svg @@ -0,0 +1 @@ +ObserverStreamObserverStreamObserverStreamObserverStreamonItem("a")onItem("a")onItem("b")onItem("b")onItem("c")onFailure(err)onCompletion() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-491ff27a51a5.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-491ff27a51a5.svg new file mode 100644 index 000000000..767fb50f9 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-491ff27a51a5.svg @@ -0,0 +1 @@ +ObserverStreamObserverStreamObserverStreamObserverStreamonItem("a")onItem("a")onItem("b")onItem("b")onItem("c")onFailure(err)onCompletion() \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-69aa56febc93.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-69aa56febc93.dark.svg new file mode 100644 index 000000000..03cc781bd --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-69aa56febc93.dark.svg @@ -0,0 +1 @@ +SubscriberCollect operatorMultiSubscriberCollect operatorMultionItem(1)1onItem(2)2onItem(3)3onItem([1, 2, 3])4 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-69aa56febc93.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-69aa56febc93.svg new file mode 100644 index 000000000..47b820123 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-69aa56febc93.svg @@ -0,0 +1 @@ +SubscriberCollect operatorMultiSubscriberCollect operatorMultionItem(1)1onItem(2)2onItem(3)3onItem([1, 2, 3])4 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-74e1ac453bf9.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-74e1ac453bf9.dark.svg new file mode 100644 index 000000000..222401383 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-74e1ac453bf9.dark.svg @@ -0,0 +1 @@ +Merged streamStream BStream AMerged streamStream BStream Asubscribe1subscribe2onSubscribe(s)3onItem(1)4onSubscribe(s)5onItem(2)6onItem(a)7onItem(3)8onItem(b)9onItem(c)10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-74e1ac453bf9.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-74e1ac453bf9.svg new file mode 100644 index 000000000..d0afbd3b0 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-74e1ac453bf9.svg @@ -0,0 +1 @@ +Merged streamStream BStream AMerged streamStream BStream Asubscribe1subscribe2onSubscribe(s)3onItem(1)4onSubscribe(s)5onItem(2)6onItem(a)7onItem(3)8onItem(b)9onItem(c)10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-76df06b35153.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-76df06b35153.dark.svg new file mode 100644 index 000000000..e6cc9fcb5 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-76df06b35153.dark.svg @@ -0,0 +1 @@ +SubscriberrunSubscriptionOn(executor)MultiSubscriberrunSubscriptionOn(executor)Multion Caller threadOn executor threadsubscribe1subscribe2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-76df06b35153.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-76df06b35153.svg new file mode 100644 index 000000000..137defedd --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-76df06b35153.svg @@ -0,0 +1 @@ +SubscriberrunSubscriptionOn(executor)MultiSubscriberrunSubscriptionOn(executor)Multion Caller threadOn executor threadsubscribe1subscribe2 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-bc092005fd3f.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-bc092005fd3f.dark.svg new file mode 100644 index 000000000..285c0bc42 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-bc092005fd3f.dark.svg @@ -0,0 +1 @@ +DownstreamReturned UnisonItem().call(...)MultiDownstreamReturned UnisonItem().call(...)Multiitem11item12result13result14item25item26result27result28item39item310result311result312 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-bc092005fd3f.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-bc092005fd3f.svg new file mode 100644 index 000000000..2f934d514 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-bc092005fd3f.svg @@ -0,0 +1 @@ +DownstreamReturned UnisonItem().call(...)MultiDownstreamReturned UnisonItem().call(...)Multiitem11item12result13result14item25item26result27result28item39item310result311result312 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c54f60b30f42.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c54f60b30f42.dark.svg new file mode 100644 index 000000000..ba93b01b7 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c54f60b30f42.dark.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(a)2onItem([1,a])3onItem(2)4onItem(b)5onItem([2,b])6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c54f60b30f42.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c54f60b30f42.svg new file mode 100644 index 000000000..07645de13 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c54f60b30f42.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(a)2onItem([1,a])3onItem(2)4onItem(b)5onItem([2,b])6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c6f9029821c4.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c6f9029821c4.dark.svg new file mode 100644 index 000000000..42e751a5c --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c6f9029821c4.dark.svg @@ -0,0 +1 @@ +Concatenated streamStream BStream AConcatenated streamStream BStream Asubscribe1onSubscribe(s)2onItem(1)3onItem(2)4onItem(3)5onCompletion()6subscribe7onSubscribe(s)8onItem(a)9onItem(b)10onItem(c)11 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c6f9029821c4.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c6f9029821c4.svg new file mode 100644 index 000000000..64a7d800c --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-c6f9029821c4.svg @@ -0,0 +1 @@ +Concatenated streamStream BStream AConcatenated streamStream BStream Asubscribe1onSubscribe(s)2onItem(1)3onItem(2)4onItem(3)5onCompletion()6subscribe7onSubscribe(s)8onItem(a)9onItem(b)10onItem(c)11 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-cbd13fb6d19b.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-cbd13fb6d19b.dark.svg new file mode 100644 index 000000000..bb108b131 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-cbd13fb6d19b.dark.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Events source

Events source

Publisher

Publisher

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-cbd13fb6d19b.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-cbd13fb6d19b.svg new file mode 100644 index 000000000..4d0a969d8 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-cbd13fb6d19b.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Events source

Events source

Publisher

Publisher

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-df98fc1dd069.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-df98fc1dd069.dark.svg new file mode 100644 index 000000000..89e1b6bf2 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-df98fc1dd069.dark.svg @@ -0,0 +1 @@ +SubscriberDisjoint operatorMultiSubscriberDisjoint operatorMultionItem([a,b,c])1onItem(a)2onItem(b)3onItem(c)4onItem([d,e])5onItem(d)6onItem(e)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-df98fc1dd069.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-df98fc1dd069.svg new file mode 100644 index 000000000..876990fe8 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-df98fc1dd069.svg @@ -0,0 +1 @@ +SubscriberDisjoint operatorMultiSubscriberDisjoint operatorMultionItem([a,b,c])1onItem(a)2onItem(b)3onItem(c)4onItem([d,e])5onItem(d)6onItem(e)7 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e6dd95e32a3f.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e6dd95e32a3f.dark.svg new file mode 100644 index 000000000..32d6a669c --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e6dd95e32a3f.dark.svg @@ -0,0 +1 @@ +SubscriberTransformerMultiSubscriberTransformerMultionItem(a1)1onItem(a2)2onItem(b1)3onItem(b2)4onItem(c1)5onItem(c2)6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e6dd95e32a3f.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e6dd95e32a3f.svg new file mode 100644 index 000000000..deda34e8f --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e6dd95e32a3f.svg @@ -0,0 +1 @@ +SubscriberTransformerMultiSubscriberTransformerMultionItem(a1)1onItem(a2)2onItem(b1)3onItem(b2)4onItem(c1)5onItem(c2)6 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e88e1918cd26.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e88e1918cd26.dark.svg new file mode 100644 index 000000000..1c70d18eb --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e88e1918cd26.dark.svg @@ -0,0 +1 @@ +DownstreamonItem().invoke(...)MultiDownstreamonItem().invoke(...)Multicallback executionitem11item12item23item24item35item36 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e88e1918cd26.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e88e1918cd26.svg new file mode 100644 index 000000000..8f33f491e --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-e88e1918cd26.svg @@ -0,0 +1 @@ +DownstreamonItem().invoke(...)MultiDownstreamonItem().invoke(...)Multicallback executionitem11item12item23item24item35item36 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f0001b5cde9f.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f0001b5cde9f.dark.svg new file mode 100644 index 000000000..1c1b80e53 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f0001b5cde9f.dark.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([2,a])4onItem(3)5onItem([3,a])6onItem(b)7onItem([3,b])8onItem(c)9onItem([3,c])10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f0001b5cde9f.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f0001b5cde9f.svg new file mode 100644 index 000000000..5818402e1 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f0001b5cde9f.svg @@ -0,0 +1 @@ +SubscriberCombined streamStream BStream ASubscriberCombined streamStream BStream AonItem(1)1onItem(2)2onItem(a)3onItem([2,a])4onItem(3)5onItem([3,a])6onItem(b)7onItem([3,b])8onItem(c)9onItem([3,c])10 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f67adb6018b3.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f67adb6018b3.dark.svg new file mode 100644 index 000000000..a4bf8bbf3 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f67adb6018b3.dark.svg @@ -0,0 +1 @@ +SubscriberUni(item)TransformerUniSubscriberUni(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(result)4onItem(result)5 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f67adb6018b3.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f67adb6018b3.svg new file mode 100644 index 000000000..3fbcf4900 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f67adb6018b3.svg @@ -0,0 +1 @@ +SubscriberUni(item)TransformerUniSubscriberUni(item)TransformerUnionItem(item)1subscribe(...)2onSubscribe(sub)3onItem(result)4onItem(result)5 \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f71496c9eae5.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f71496c9eae5.dark.svg new file mode 100644 index 000000000..5bb4124ce --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f71496c9eae5.dark.svg @@ -0,0 +1 @@ +SubscriberProcessor 2Processor 1PublisherSubscriberProcessor 2Processor 1PublisheronItemonItemonItemonItemonItemonItemonCompletiononCompletiononCompletion \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f71496c9eae5.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f71496c9eae5.svg new file mode 100644 index 000000000..fc83f5b8c --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f71496c9eae5.svg @@ -0,0 +1 @@ +SubscriberProcessor 2Processor 1PublisherSubscriberProcessor 2Processor 1PublisheronItemonItemonItemonItemonItemonItemonCompletiononCompletiononCompletion \ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f74f7917dcf7.dark.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f74f7917dcf7.dark.svg new file mode 100644 index 000000000..a36cee964 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f74f7917dcf7.dark.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f74f7917dcf7.svg b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f74f7917dcf7.svg new file mode 100644 index 000000000..b92c0941f --- /dev/null +++ b/content/docs/smallrye-mutiny/main/images/diagrams/mermaid-f74f7917dcf7.svg @@ -0,0 +1 @@ +

a, b, c

a, b, c

a, b, c

a, b, c

Events source

Publisher

Subscriber 1

Subscriber 2

Subscriber 3

\ No newline at end of file diff --git a/content/docs/smallrye-mutiny/main/index.adoc b/content/docs/smallrye-mutiny/main/index.adoc new file mode 100644 index 000000000..74b38c67d --- /dev/null +++ b/content/docs/smallrye-mutiny/main/index.adoc @@ -0,0 +1,88 @@ += Mutiny -- Intuitive Event-Driven Reactive Programming Library for Java +include::_attributes.adoc[] + +[source,java] +---- +Uni request = makeSomeNetworkRequest(params); + +request.ifNoItem().after(ofMillis(100)) + .failWith(() -> new TooSlowException("💥")) + .onFailure(IOException.class).recoverWithItem(fail -> "📦") + .subscribe().with( + item -> log("👍 " + item), + err -> log(err.getMessage()) + ); +---- + +xref:tutorials/getting-mutiny.adoc[Get Mutiny {versions-mutiny},role=button] + +[.cards] +-- + +**** + +[discrete] +== Event-Driven + +Mutiny places _events_ at the core of its design. + +With Mutiny, you observe _events_, _react_ to them, and create elegant and readable processing pipelines. + +A PhD in functional programming is not required. + +**** + +**** + +[discrete] +== Navigable + +Even with smart code completion, classes with hundreds of methods are confusing. + +Mutiny provides a navigable and explicit API driving you towards the operator you need. + +**** + +**** + +[discrete] +== Non-blocking I/O + +Mutiny is the perfect companion to tame the asynchronous nature of applications with non-blocking I/O. + +Compose operations in a declarative fashion, transform data, enforce progress, recover from failures and more. + +**** + +**** + +[discrete] +== Quarkus and Vert.x native + +Mutiny is integrated in https://quarkus.io[Quarkus] where every reactive API uses Mutiny, and https://vertx.io[Eclipse Vert.x] clients are made available using Mutiny bindings. + +Mutiny is however an independent library that can ultimately be used in any Java application. + +**** + +**** + +[discrete] +== Made for an asynchronous world + +Mutiny can be used in any asynchronous application such as event-driven microservices, message-based applications, network utilities, data stream processing, and of course... reactive applications! + +**** + +**** + +[discrete] +== Reactive Converters Built-In + +Mutiny is based on the https://www.reactive-streams.org/[Reactive Streams protocol] and https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow], and so it can be integrated with any other reactive programming library. + +In addition, it proposes _converters_ to interact with other popular libraries. + +**** + +-- diff --git a/content/docs/smallrye-mutiny/main/reference/distributed_systems_are_asynchronous.dark.png b/content/docs/smallrye-mutiny/main/reference/distributed_systems_are_asynchronous.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..3067663edb2fd3f48add9cfcc233d7827a5e075d GIT binary patch literal 113808 zcmd?Q^;?u*)IK_Zgh8jYbR*r}3?L;bAl)F{B_IgGz|h?#-3_9^(A_QFAnB0j!O#1i zbFTCK6OKQ4ZJz6iJ$tRa?t9&9?XRjTa_BFJUw}X$bOm{7br9%T3caMyZIG75>=aIu3nuLDapYC-uVzA`kAVoCSvzoH zuAy|7=?o;?jHTe@y}o(9}Po>GWU1FYq>d*Y`-Dp}hb zgr`Bc!>K>|(_k251^E5IKWRSC&Zjj9v_N%~|92&qq|NB*qvEx}d^G>AjH9nqK0Tg2 z-$jD+bR}@t_(;}KXcTj0Qp%ulUPzoljBR1y{@*8vk)Qqdp7CET$}8jtygo)Rz&6a+ z|9+Dd9v0=lyQDEQDcb1E7B|VtUq+ghL|OeGHxOQ|93H1i=3nZ+kc;GX7W?;IStNvi z6A*X(Gi-6v1H2s8*QFM2+Oe$e8M}n}bWirUc;LVFz%nQ^I1u@=lGSd7MGD6s^)u4( zEc^f7<5#x&!IMNl5d(4uu|Hd3YW#1Sn*TdZ3R_<9jaf&wDOOWlNcpNJ5&i#hN3Hv@ zu+6f?iHmb!okQHUfQ(u+bn&0nxS7!YTjbn0x3qTa3(<1t*ZMus2JU9Erk`{d~`ont`G9skpNK;am>?F)I5aHoHN{rBJ9 z(|Q~&D6iOV!T!zTzsslRzpj3Ag`92tzi$2i=kU|B90ob6FGdOiaYu(-%iqytcU!0Un)F;t>(jaAV2U zFWU6AIaf#&+;wX?O3D#biG%$M7(h694NUx=x6QhL% zrIb6_G?X9ZDKMt{kvCn;qDVMjsZN{P!4H?ZecfYOAIp$0z2{tta^z__g{zq*g`-?(A^Rn!>-=tk0vG%yTCu~wpg8CA zabF!0OTSv$Z5mbH^iP0{{+>C2ojb)8vL9EHr+_xK%Xczbqz>m^U?R`m&X2M63o)S81E(sTD}(6mn*t5C?z} zt>9b+LgwEmOe@57kth|pAF_gR@|PjXxRBk20Qb~3K`g5JTE4v zP>capG|D(}KUu8VZcJc3`8k}WYunhTfO6+V8dE=W*MdxH^j(PH#Znp#7g_)n6PZ!Y z;<$;I{;t5kkAlW>)$j^fQ;f0piJF5BSs-d;Q&&vRja~e*D{lall14GoTTpAOy;NK2 zkEawv6_@H~YHidgOnoRJz2Z*PwYdqV2Fo=lpTnbTnsqDi*6dn*-+TGMNs$%U+}l_o z%5g|pvS%mKe7CIQzYLpfXt{(b{`;^V9( zqJfB?lbaHc2)X%Rs;2S&6+yzL)gbds(=nt&6^Sa^m{i-(c+f57RD{8=AE-#lA`9|NOi?G~Tw3zEWb^FhnAXY*dH8yn{qYk>v0L^0(48`n@ z2{{zgfrtX9qJ99eV}m@RTf<8L`kXoqIV;vs#SlUx^X-sLTVNf)<`+wB~#yw+Rf}BO3qWA^LF9hx=au5`OO_rF?-y=m-K{^ z!T<}bQ||8@Qx`tne|ntjr7;&jU{8_C51G#P?+__M(=trskn)AM@wnnzcH(b6)LJdd z-A!`S3?xQb6N0n9>>JG_j%F(B{ZdI7{YQ2{fyJ_F@kviJdAI5B7If37@l&79BY24r zg!S69XwK5B%nO%K_vp+8G?ny<=l&-Pk6#7pDR)Qo4y*(zx}-Qbeh1UC8;6&#)Jc1k zd8y3Oqz{L;rSlDARt94uF3ooJ$dp9}DWZ%xn=TRcX4qk8;i0j11T4YPkyvqc0&xbqp^}|uU%gl-fD;e>;AB1hR3rWPX zi7IKvhqV^Y=I>n>)sBty1Z&E5Y_7fMV>U819mNdOx%`$@hB9#=Uw5QQnt>=ls&*PZ z7`>ylgT9I994cX@`M%UvpmAH&U}bvVkQ{(n@r@jY0b3M_=tCdp&KB`|$eT_sBJC?W zV7Fu&pU%xi3-`tknhwcqE-sk~syHBt`}J#1vJY#L8TA1_;(+Kpp8ZJ234@nU-x%vS zB(GANyj9U(Ip;#Jr-Emf9xrD?F1HZ6ME{QL(~$o6yaRro`@~l~enc53r2sv^Yk5Ri z9?5sfN+}Q&&97V?R-ZJY53@`}zey^lr zmZ&V)`b`1<4i}EdeZ>p7%ga9EM@433c|alkpv?RtX4T&`be%52}&b$Pl5mhfU*W)V6VN#D94^BFrw=i%K8;)K9fFc%6Z7; zrp!kK?f%YSX$0Ix_VF-JXOP8#GlRAfA^XiY7P5I>4Y#&(OiAL!pxN*Z`pxQNUd%;% ztXH80XdzbLW?L#N^h%38M1^Fgl+I9P!xkUqjUKrkgpRY|G<{ESqBWn5TB8Zu0pP^s z-fL#`+Yg=j&G0|w*RB{Me84it#v3L3eD6eS=n?p;Z=m9bHT98jV(wRySIO_0R3Nwz zN2A%t|9C|$Fc!P4lDhc>C5M|?C>#CTF$s@M+5xzoPUNIdsHQl}PNt-KR9g`J) z%&|u=ef1HEs}e;NT2MHeJKHH85FM*AWR<(|%~zxSr34Nrd#j5zQt-TKscUKdE?M7T z@YUz6K1LgAaES;THlX%dxEQ?itXo{-&X;`63(duJ@6!NJXCjZ z68XhCB7kmGsAcKW&(Rh+_(8A+PY54ynrCWwJ%!H_OZs!7%g|zHpxUw1Uv4fw2%Wjt z%zb=C?GcNeWv^&TF4r6DCyxrJfm6Y`z1UL}-D&SBUV*Iks`B&myuLAp!jjLKA}k_7 z)^8xKeN2tWld;fX9yTz+I^-_bvgB=KY1UxL ziW`0U0r#qSTRP4XGRe5nKK+os2Q$JN>iMs2;caOjloDTGaH)r==khL>7qHK;y5{*b^{Cvw6j+NAEc%qKitAGIL}Zn7Py%w5-u{9xHyTeOTwumH(^1AIO|$ zTGae@h`dO!!bnFDrwfSBd%ww&$VNAkjDD1l&^Pr6Xj3dncbhNm-^BNJLXO46uL)n* zJ=fkp@C|{ni^%!20`}aG&Sh|9s6Xi=P>}iPR^&_WCi9%-JuY}#I);`aPc#B#!=P)f zO%BS94JH%R@%-k6(|mL~M16iOJmU(>;kADyrjzJ#;{OT~b<`)M`!H;(6z5emQhBBW z#{AQ?L=c#|3&(HeHpT~IUDGE-3yXr4DaiYm`y}rUS*M+<`Bk!_7Myr7(||0d6a8n_ zmlm-%5cs3fi^I2kZ)NbRdHJ&##{cx_@Z4KCRphJ!X^|E8Kx?G~Ou3@8d739tKOKzz zITcNQLoY*P*Pr;LsmvMvx{<9t2G&eBac;DK8&ZOnzy9G-c*^3%$_3z>NPuh7oPi6D zYs2^RlG|w_Jot8%*)Jba;VtU-ob@+MHj=}X@8TfO#ksMHJt<&0W6TH)|drh8NWmzzG=6`d4XQo1>eMMn$XXm%_*LRbqjB=zOl2L&j!d- z5JZk&`i4bHxe*zXwrc^I$2f^0P{5?ythU^Bg9pz#ecyN?=-$u;mrgt1`*75C0DxH3 z&#v>GjNajqMSx)Bu*H8(9{J$RO;)t9WwGw$VBic6wh;Mh?mn}`*R%z;a|F09y7==c zu7!_S#nS57s>5{epb#U%;z!0!RQ!#8Sa^uZQUT5WaZoYU+u*)CM{-j`TpUt-z((YJ zZpw^gx^BFm(c(Piz=SLP7dQ}}@}dU)l1FI=-ZaTY1XV&i@+(fph9<(_gA;?=35|r1 zPD9?!CZ%Z(N}QfT>u(;lQ$d8!ASr7WeDvPQ7FZA5A28G6>Vg0>5*zUrlaM{Sz{xoVUsM5W`ql8@8~@WsI@t&y#T2kFEn_DWeyFnv zsFqX)#Evpy7qd#63YSY?E!n7tXr{byw?Z0z1^Frv3V;;A5Uzf4L6pQ|H=26X;avul z?uO^=PLVvr=Z()#{+IPR?3_vj?9=?gFC-JDsDV22YQsrG}riHH`_WtV})@utz(?_C_! zTQO^JV4>)Dg%fv2S#O3_Cyi3o1aW@91!eokd$=`J>J(mKH*T{{hO)*wVK=h*sj+B8 zP7P6z*KXnot|D+>2?uY47EN#Ea%2(+4fJmS?q5ts`*u(cujpZgQnMt|WG1$_+%*a( z258hj_K*HjtTv&>7bucjW6+}5k3&32ZlzU2l$k=DG3fi!x- zz~?b`QX3x`atd~0`lUnCfsG_R&$}Y*cP*IpUe&A+1G}x6rKE#02P;S()7`|@fF~hzjg&oHt1~>7=xf=%jZF38ieC)4;eU>*a{Q=C_ z->IcHNK2pXa^{qZ{Lo|rnue^$z9RN3!|FjjoXdcu zCDXU=H21eJFu~ZcVO6rC`tAbTn%6crx0NLx@B=jjka*OmNoWOr(4enDG7h$kAJq;` zwUY9X0~E4KM0yzGfymc-1NYFc-L4qR(jbbM*S09q>DXC)zzv-Fp;vjGjOaMdj4Twf z?YOLV(HEVY!9gu2`!GxelE9M@$Y_i34QAm()A=0n8vG8L6h}X}!TpSwJxUWj+Io{> zQ|HV?hG|aOC`-IIHZT4(n1&;6KXc3pWMy~PTJFZX`b*~b!C0zX^>$;^Wero%Hh_oG z>l}rTnqTBN=-5xph?yl%G;Oe|p7}`}<1$(u%AmlwoJmr0L#oZ97d}W-X#8aEYghj|X2%5jDS_9!&0+Db zZzzvyWxg%YjXvWvvV4wu+S;oE`jVr|i~3GgSHC7e z!O~7kyRUd@{F8h97skX9MT4-Gc;i8TC9@6V{l}L>Ha0`VaBt;nfGDAz_ zs2r^CVPUv~D5m{PpdZN-u?6}i*Aa)J|q>hR*fBdDwL!5?PGWJ*GXJb0}lT|wWa ztP4R3&kr%QC!K3jz6Z9gv8fwhMG72|J_#)zKTyiUp5eh`#R$QdJWs9B+m zFbiwAJQ*P{9T8p{sSEaKSULhvvSSP4=rs1<{%9Fq$tj<|OlyZ|vl+kq^{>LTh_3&F zBIjW8_O?9Kxbq!Wt*ae5?+Rszbw5GmYt{A3D2>TU&i61XKdeb-vPz5=sRvPj#Zr)W zUeGu=smzAbUaH|`HSiZX4X*2ZEq!*`GL=CBP>AAzYSF1eVCnGtY7K8SDLdQsYc(_d zDSapeLA)-H2vuG}JJu2Zkb$@V9%RL!c#bR|9RGup6YiPg>|C|PM_Rl(toX5r-%DwJ zXR`yujRL52{28!h=kG(J5gdNK8yjvEcV2dfp~5pYZ23nXa%YEmmuWAL%9nwHQ}ApU z38nqn%`fURuYH&EROJ=Hb}{(@OM|DJLjnyqTC}Fj1O+Sl)Hcx0lpgP8rjvKtkGGYUHb=2}^6$isJI*5y55A=g_3z?PQ@4^pU zjr?+x@Y#Sc0W~Wi2TVfyz4-?r+#)^|DLys6Wzk@ z8J_m9zyFFa5ZoR_P#TxOakPsFZwm_wr7@FM#axg)VKBehAXghzd(f@z-y{$ zTXN@rmqgK-YK~?FzNQfvQ6(Y`z(AD5*c8xTXfd*t40d;{eqFJl6R!}Uf5)V}Uq$18 zPtLe7YIZcperVMGMhzkRj#e^~c#DW--L$oi0mz&epBT(mx`aGtSaa|O=XaaKyb=l= z3ZvTMcnlq0>S4+vOx*lXvC9p-O0FjXjAwUY*zz|m7bU^2$p&3$blW2Bm1J@%3l4Ja zR`rt-Mc*>NgL0Ing?YPG)8_nmm<}W`BY*%WP4T17w^kE&e|8O|7z^R7`^`N(?jdPV&04DvqvgXCjt*IW)k9QOP)T3{*`c-oWxJnRj^L}BnwRzT1a8y02C zm-px~-F}0r)sbmSq}?tlC|z$X)wXEbrRWH&(Jg_d3K#YgMWJ zGGOO*NavMK31~YQQ`>UE{>poVUFZFpWR87ZU|S9#ae0jP_KDQdMFd$%dcw?MF10QZ zqF5Xg0^@x%z(%wpXZvO zIlwmfQpXDsqVJ7s5U1NROHnbiWIh#8#!$lw!4&7trW8jU4w(=}nBaJUNb~90Pt%QZ z;ofvY&X;@c%~64A>+Do2dE2;k z3sguzIIz)2Q)c2pa$(C=P`LsV#SG3Z|%Z;V&>mx^e7)9nK7i{1&eN>Wn415 zL9G{PTRJ*r$yaXE*wMEp9r}*qR+xKwxr*{eNx5aq$qZ-t5F2oiEeZuAu1BQ~!0iPE zT&?Xp3Ix9!sGx!PKLacJ%;Os$tFq3))l&D-cI?;4+0|=pIVYYwBQ5LQCYHP_ z^HAAQ$LTQnZFAI7p~|!+)WB4E=juFwnSp~rg}edpKGoU;th7|JIm&IYz1^MFJU*<3 zX3&q&0tHZgj1PJ_nEk5&Gq(aXt5*i6#`)6%Z|7i1+d^7k(bN1ybx!5lBqh3&*&Ayz zDVRMgppw__5~Blwjoo#YMtE|Q1HnoK@0on|b5%sHfc5^IO_PbzDN=G|5pf4KMB@pv zO}HY`FPeR^;Whpm+dl7mj*uHNISZ0+jIH6qTF02;ray=Ov;!o+K0sHmXpV2N)xaaS zA}W9Yx|I=8U>k-+qej9wBkk9+cLP!-Q-GI6&Xo^Q2A1ez-YzD>L{I9|Gs;LNd!ki_ zEQ3pwODc>e;Tk8t+eUtGe&PrJD0rWeQz+-F1!OFtUEWo=b)tF+l3q)xw_hZ7bNC$g zL;w@^#wLCcoS>k5@4cqXTELw^Tdmb-xMF0sxY-t{pI$lZ)yQjmJZYkvE=&g+4*eVR z4fLFwV0|a@P@*I6S)$#&Jyw25Y4UjOS5g_hcyAPisgpMaSLax;77d^vHg)3d+}V{} zllO$LybqrjGFTh`5S>H(mFZgN{FEK!AVxn-m5uf+-t?q)Y*#xG4jdsAM+5ceqT%5I zV7q_X+_YO%bf2I0I{cQ;b2w!PA4*@d7@gP%AgXgzY>Zf6dny+K68&QWQqoM(20Gm5 zC5Rsp>v!19JE8Yr#&$(8o1glDOZI@bmcy{0452sC>&C;Nj}!rcX6#;dHi4U2QQYsr z0;kW&P7o8j^_IilJ=X9ZOprA7z;)*a7luZXdZ1!nETGhvwBJA_AelM|k?gE;BF?xa zQ>;vGO?J4^nJc^rkXjd^Nl=G^E0Dt9mtL{LD$1(2{Ac>X)n+_rip^pmWdyJy&Sebw zc6H&faIbI}teeQ;qDxszNaV2{kIH^4L+O620i-FHo2JZxX0*SLkQU}A)kuD(t-pN0 z$n!-kV)iQlxqgzgY2Cq4mb6}hQ@DlAndoO}P{EqJlt{;oE`WC#Kfkauqo)DbS5 zbsb&?Vq1%@s`2vO&QSVVqdSo6>MdwJlLzV~8aF=*+<+R%3beBms9}e*4|~MBF9&(D z)^8fJ7MMZVmJ|d&$yxb0^!uq$coSK4pQnVks#YLbd?bB?ORQyqrZ&%y`PiJx}kNT)e({P5-8~ z+jeXQ>e-D*Kf?2;hoEZ~t>{0KX4V>x1-6b9pBz+mGHfsid@%W^=I$ODR7X`Oy5RI+ zZo`P0IeuuaacQg)T4L@IcD1238`m=SYmAmU*pCS@Kc}TS>Vn;tnJj1i`qqQhiuKbu zbn#-gPrQ`*;A7aRN(?~HKQI_SlSkJ1iSkqYIUaM{~X5upAX1W0qY5kFDjg8W5Qz`|155T$Pk#MY{f5dh$*W5)}^`I$y*!SiIkr*f^K zWnrp+mgpyIgD2f&^8^rX@v{qTj*teY6glh7uxE%u_;cuz@*`X1yB?O-Zz|a?-cF?6 zx>i8~665B)l*wBy=&c#et+$pVT{Q~zsf0(|YLAIuTe~SUoHU@dCIuEtJf{}_`HDuB zOSU{%aktIu>;e}D8!HV>!sm%26+($~qpYSAR(a$cCvITyV36YPQDq)@y4aTuB z?s+bsa}<_|dz$Hv3h7tIW}#*a0{taTY@Q{h^gvDCyoOg*n{9FneQxx-8jyP8mJlys`(JG4+W$p-75J z!JzC+K_EE{rPKv=+D~jIiIC!08nM--XnIIO;Tf+-f(krI-`mSl-&=yo6Sm)eENdGwp>!m z*PU7*@t3^-Fv`^0YTH~*(DVGdku^^K;GC5#fkzsbmVrqeLM|KqT!iou+HCuX2j0dY z+{G|*Iu5QsxXK_Av;cpGu^+&OD;7LVYFk#e5-U{_Z-c)`Q1mT0EUMYDof3$&4eQ_G zEgLqN$V{S=TX)puk+b<7<{B43M1^ZEQUa8hME=+{D{D|y3|{?QKkw^uRnA=1(($do z`~BYfGw5ry(}kAfIPJPmt()9<)sak(mXm|C&={v0;$XMptDn&A8n&)jox}!1>$_9% z&=Ahx>cbl&F%VVgU-68FA0CQXDGSI{#c#rjwyj1Z7dLhFR#zf*qQIlw$96zwSX?ud z3Dc|CsNSC5Y&U7v-*w@UfN_s=WGSYUx7&@*tjPDzY)>}hExK^`h{`R-2x|MR-@x^1 zA1Iy^XGvq;PEdN5L^kJQH3~b#l%CJMp0bFN=#)(|T$E^0Cfxb+#T%xZ^4;_+X-geB zsy|1Eohskn84^hE#Z#Ctw@z(${g$Z5+d~;s5-BBvp0_r)RJUnpuxos1o3n!_-D)V5 z)=OGE%`^65NY?ua_-2x}ZJl^NH}xm{EU(x?nN^q&$VglI3&NIY@QM_&TUO)F|Dn$v zcI?9>iMiA8bDf^=QIqC#gw3j_bVO_c^&$o<3Gw;Ic~eYa@X(KB4jJ-kx~TTr@Xz8l zU8uNr%xv>ulAX>(s7D?VrQZ;h`e>K1^PT?w6NF ze@8Ay#lKT8dC$KV?!6O)@T}5UF!Ybk0tin5B;@=K*9u#(i`x%E)1vydlV0Wd=Yrym zK6~)%p5}f(iG!|f3$gw#aK?~j-X@1RAX7-qR+d~;{pmUR9{ZWBrwEWMTFlcL|K`O6(oFd}V|b1B zl7;Sk?Hn2~<;KG%MQ0~ldB~}eJMql6o8!hNjXe(*^;-)ypLB2U^uDRUEL2+M$-CZM zj{Eg+VDAU_xBac4-!9{~=hg|X;A~?1DYKb}9NJTO)YC(+ddm{bdx;U#U0>+G12x&! zaF`hYuzX}bC0K1)*8g@iq)(~%ac`j&B}jokLRXT?6UQy?L5dE#+z*!L&^R_c zbD?!cu9BMW!&K1dvlR#?1<>m{O;>KS%D3GwwE!gQr$dHZm_FPC{k8qChMl!dhL3j+9%Doh?V{(p+JzF2hC6~ z6cAfqnluW)7mz@?q({U@(!+)~EfTxx6!calwA6K?sBCB=D118@W1-|<1Yx09T%Rv3 zimduk9r8`hiAXyw;=na`ZV5M5tR@W@joVk-TC<$@ZWD0qlcqz>W-+v^tcb|PCwn#g z(7$k(xI|DWHqn}ZZFV*g%CQwURUUrTpkN~#ceI+P-k@M0xstK^gm=+ZgZ;Aixc{uJ z@gVr5uWhf@qD|C(_SemC$GjJ6>(lyC z_tL-6jgI4Vf6E&Ks?}Gq1Lq^-9XX;L&Lm@J3PYwD_6`k37zX?KVXVa^?%F>E-HGeZ zcW-zSa>G5yBXM`m68CpAN(2e|e}ln%%vIc&X=0!;obem7CUG!h$s@G>M_EC&UKSJ~ z)u8qZ!6*h0)r4M2VzvX>Xx@WtRp}$=cs0d1Vr}Hb&ilBl3BtNfDA?D!qbib@7j+4m z*3CLn&~iXy>*lAo;s&>N4p0@kcypK>At>mG7eW}L8GEyZ?-^NyhsVoO+|&tlgORiO zTtuJ_%C=pJ&sPaJThZKF?Zu6F_@^~gP)Xl7+*G_~E^|7i!#pZsmXwF_c2QZ7Pv}W>ikR2>l~<(-;82|`@J6_856d=Lhw}Ng|8Alvs9mO zBD|$d1XBERW)!B__xZG2Dcve8a0f@M+7{IcFYZ2YLZTbLj{E}e)TVU! z@3rXa`R=OdJ~fmSIr-!7C|!FjbdFWTF9s&Q%MCNIaj8XW87pvjaFY>j)goUUeHpd@ zG+aF9@QMOTg1JEZ$ZhwY5~I&)H=rhP2?Sd2S(NN$wG{{o4kS^4#t^Y2A`;crXK9Up zdT{&fG3(jvq3dOdjX+`Oq52;h_a!k+S1lAO^j2w}VI#!2FK21nFcwr!o5IO50{XF7 zy-ozqn#KWD$7Vw-X>d(YK~QW*i+%=c7U2fVT{Eb$xVAX2c38h{iqf;VG(ke93PY72 z=rQuT_+<`p^Qp4y=E95@;nc^7`0ipge+tjL?rd>hsCfMVVwB#QGC09ZZSy%xxkQIb z-_xH3ef|OEhP%m5i~~CVy3@^yYtgx9#zOhqU488&`%40mdTXCpUEh(^X=?0MH(h4PB*P=HFm6w#_!pg z6I+H~Iz1P;GFMz{p1!ygY+05!axA(Pi)&SPu_`0Ar-0KpCuI^s>~l<6!2L5Th1DnE zhYzhZ>1zz(0k8Ex`Z{%VUZj*?CjPT&ngP&Ts2)64Q1M`<-w$0E+e!%dun)*4;v0_? zBG-`;w}m_qzt_T*Kz~~kDWHgwjS3G#e?Hu!fTXeY&VnMjeKHX98TAzRaP^!O5W(NQ zl)bSW+*k53MPAjlto;77I_;Gx{!v%Ie>uoyGQ)A0E~!nXl3w@lFCAoYY0T|FVYa)Z zRi(y4o0pGWMB^Cq8@#0I?+{S%5?O5PdHL$|moH2f93r*T`gj@|el&lUq|6~6p2c>5 ze@P8~8I4EE{Y0vDGnf0dv$IzAMNCIp$3d`T{~-`-mvoYDfHtu$zKk3t>>1dDv!mZ|Ps!+e;4Qa$$zi+ieU-$M@zQ#s4wR-@vKZ0PAfLyG z$P#{3Sf6ox*BH_vW`bxC#{W@e2!U^Cn;6!ltn#j*%XxtoB@;J32&|03b zfTCK`BNw0OhVLYxqFsYPP7*{VV)H~jhG~hvgA4PtXS(kppVq6 zxewI4)sK0%?G+g%Zg^bDHaDHMbWls%M$Km$RN@QiXDKu99gy@ypEK(^OOi8BBC}mi zChb}X2mNwfY0J%gc;ZjHUWO;)7Hi!+dr;A%=R6NTLczJKTOVB;IEbRr-^!}|>I`TJ5z)jT;20;+NsfYA73YxVDNlwCAW zlCzLF&5qT`b&uGzd@N=Ybz6fM0Q}{#oRsQ4i>>~s<*x>B3(kh+rM-KKJ(2=xP1 zBL;P?=P}(FjwXaW-oDimi+wG54EiDFVgz_I)>mj&!a&Va_BjiE+^^LAC24mktc0Cg z%dxpL#q~GzB@!6wp9{4AQla=F>JWW1yJAMVIsM zPkv4=tsj=Y6#16%uYP&ZhgK&_0-3zIn|@cD^lh>|dZ8{!c}5*$smuGY*drWYVYkIV zY1Sf+K+A?chC&VB#|uhrWYlH18GV4&`wVDqv z!IT#&oz_-Uy^Rv%3`VX;_j{a$%&4sLm=2X?)Vgx{wmyi?okgrqcimZ?(?XF) z4wWGcw|)Pytya&J(Vu`WG7BBvQYV`$!jiXo5E*}(RQdI__}&>2y2M?pqzX5`mYY9V zw&xKaM7kHQtHe0Ja2zo&hfLKCT@0L&sC<8z^)=I?{M}SMd6Px?c0j;mq2O9B%XBPt z7ze8|$E}sg{Kp|t#BAEUf;;mG8)j*Hb}!9iZ9-392MQp`$)CO?2RzF|6+dD|`#^l> zAy7-7pY9;5Jzw+(^rw->s?I6DHXpf4Ak9KIy9kx&vw+%uA0GIt`K(tyVF`c-d22sI zaSm5aV`kbv6_(m27N&>}?hy$0miwhhLGmU{9NkTN4;Nf`$LrTlN*XE%5HjIvjWl0_ z27uj#k5r2CWOuV!;`Tj4&(Sk6VZRV?45)*5emU&{iBr*m{Q(Xh+jl`y@rQ%{rQI1Q`OpU3L4YHZq2{! zpShXav3Vo_4{z?IMT*wefsf`FAP=Vu`nNph4ZNP>nR-WM`eQYF^$`VgXVKxWp zxvsk1uTyMpq?{=y&q)9N)##`bOkzd=;&2CvFNa<^g8JSD(Cxgo8f{47y<0D6c^W;B zefx2Py(Z(sgcO*OtiVT^M@Z%(4rXgJ(8_l7lXV0cAWF^;&wx}V7(@DWDS$(1i2 z`dI_T{W#avhf52`s7j+ls09}JR6d$KodYvV$G~~;^)of1w2qEI-;(TTiBO#Zx)F(I z@_ARCcZX8u)C2=>RHg8c>*bCDwwMLDUtDIa7FG<+aXqLnyZs?B&{J(Rm|5ENF%#qP zQ8=7wxGc)mxw-jMzCx8GahqE9DyEx<)3bxF=XwnvJMiC8!@uO?MA`(;B+FZlW@N=k z&fKh{#!d#SB357jx#jxeaAMTjpH^k;Vyx+lrHQvC5FAq|2phPkMu=LB9^&E8jAim_ z7e)b<#~xVN5-z&bK>*%!1h6OBd2jtGQ5^92&+;Ie1=`UG@BESJnfzxFevk3#<;!sm zKf_Xj%9BG94vEu*On71>@k5)>0S&2;6~dZ*D}=tl9Tq_6H5a;G4*|NT(tz%%$uLgV z-q97+6G5YgOhk|#QOAMbj%_`v{JZ}9eZlhfG*RjC13y+_*81a zo|5fjKW)wanhG*Gbvp8rb!k7{@l%Fb5>NxjaDJSTrxZWy*nOn@VEk4ocM(k%O`&LzJ8YGI9_m(gMud81@PJ0i*ae z9ae|pdUV!mVMHU=LRKDm!6_G8e^+4#4aDqdT;jR2YxDc8H@-f`e=>w#c+ zR~g85=wbQ)(Aoi6+sahYTcF#o8kXJ0RMi*nY7&=<)u*Uo{WaY09rMaZmJbVX?9~jZ zHr>76?{G_N6XCOGvS}E8wrjcT_hc86Eu^x*UjP0zPuU2nm22RntCfBJrd82=Z9V=b zf*Oqwt$y0ata1bQd*7o&+d^CVh%z4b=#gXQK+_{$ zzy4a9-2T*4K6JHLt0olP(J--b0$s}Xi(`7>7fH6>eK4vzSvjCd=JM)i3d3x*Rr``7B55k14{LZys5v=Sy2J0Y9MCTrsujIO_;mVa1j6l(tiVYTk{tgPfsTyuJ zZgJvP%cbJktBx&lEkWmMQbe99dc{nACijoP5g&!tBH#0w%s=1*63X|7TGwMw9Ypm8 zNl!_w+Ty`(ixNg&g}MPE4faRBrt+%4g&Cc9>KmOR>!j^6LW`3EukxL2SJjTu&|_#| zn*6E$VJKzuyX~$=dX8~y2stN(@)Yw{t<2+d9>k=zf~9w>XyUdsZizE1nR(@< z#q2b9T(okF4x=+#<3}IP?x#pu<2w8~fJm2n^5N)Bi&)6ryPhK{ARFzAx3jMk^TiRW z8Xiw~4e;A1eLS}7{EAgfm5sA;LbZzjCP9s1+A(uRjTAieC6}Wk=N596Q9_0tAdO_d zKvVGtRVZNK4H#)DAqM6OzC#A;;BkBK(N{Oz_1{LEV*dK+$e+*x?SK+gG2>y}4^o~a z?Ba4YptbU`Bc&tliZ)b(IUL5?tO;-^>!+-9`t_d{f}F7f5ecy9C)4sbP`p$gRACDR z`W8B)-HNzar;23sw3qC5M-yR-`h0ebWuoHWPt%lxFndhgdw?^;J{{}~ZKXf-KTJ*( zCIGuzBwh~@C*>%#CvidYg@CxX?P${-;e)SrsE#)s0BBBt>hQ9AF6Z}nYiE1o8;z8z zmNy7E^N}MjE%amBJRdJKPO+V+y+8H@=F$&BL_I z?THPiLrOwjv}Wwg zDx9}Pk1_l%c-0Yb3u{sPR{w~+I_zV6H;4(G4hYwG(cYEB%xKQy=}~7Hu5f#C*hJSk zf^}5DK5(B(%uyPypYC!w+b^zBF>f?0{qT0~MR{2O-WPm{2{6#F3cFKP<#!v5&aHGs zko>U)nAYuK9=F!Gcr^@VSkfOmR2fCRzR#-?5AN`)r zBi4KA$U+iW*0&U&n#K=q2m3qf#BOgUuI?c$Wv`-{mOFc91B`zDzFO$lQ|w=C0TtK; zUg+&|`0^b#Z+)VyKe22v_zhl6ql?fAYj~+%oi>-$GA6YHOltzPjI;zDbS4 z{1$u5!((E})50cjb6}S3WlaclmgLXS+Tm-3D6J!%-mf|^DlP4^?%QIKhb+W^_NasZ zF!8*I31L6+@tY0?$WR}EyJYQ;(+MVwi$a~s`bjxTrxd02$nqvLYK5E+-@l1$h*61L z+yHSg|C`8bLQ>I4J*0eJPD_BIQ?Gki8VrNyK1ZxCm@@gpj&)kc7tLozGL+9|{ccip zKVpp$F(y{Mhl|SL5Z{VD?MTbb2N3CVntMn_ys%tk^OZ}vwqkT5ox5nQr7Z*?KjW@K z(GK(>e*vZ8O425p_p=h=QHk<;eJwXQ3sPST{cz~%<@*|&;j1_JY-6pjd)v5l>r+7o zU73mYz(yF=zKvRIlyj#A7i3s*z|u0p1-I)PT5PTp9h9G*Qwr~aV29~5zu+UJzX#~Z zuGoK%0^%0P?SPy-K3JU`be>2UEj*atj4^bRToeAiVb*?jYcp#_|Am93Xds%egXHnB zl7!FRh=a^0^#P)sV<)xIB^E(Lb|0~`Yb)rTRCFZ_qOjUZK20*T3*AbsrT%I zOKlfQk36xJaXH}qyEmP*>KcJ{{$S&ed&3r$oyk{?$e{`U7fDwg*W~-PCnzE!h?LSu zNlSN2OLwbC45UjMK}A8jBnC(`8aA5ktALa=BQ{`4H_|c2-pAkj{KY?eK0Nn*pL1X5 zT-P~Ay}rBR-PFpBRKqF3RN}&qd}MA0=lI>aru5GatcvDUcasy#W+Y^ft<5_}Iw%X& z6K+h99Xf@0Opl$`WCx&bYdsb}+<(&=m=;u65y=_YoQ9KCKI{M2y+d3Gpu0`!tEVg|L$z3x()0Oe=bC@cozx(%^$=M=RYBH!KynWoGQF*s zR#~QL@`*FECLvfIpA=bUbcR~(8Y zdxC@0>mmu|2V(C(N~x;s_URP(cO7V!@c??nXxS;{xEE2JWcdahb(Rf}y>~cn@hX$i z4buhu*rRSb-UuqUB0Sbo5;I_YFOHJ2-($VwI-k~03kYu;zw7{=3;s)q`kLW0?1G;A zCJ_g6<$Ex{V-@qF)Sf$Jmh#T_SI-$cm7LKa8u%l@GqC4o9%X95c~F8o_16qYDMcrT ziJrp?pwbC`_h;qiS*L9v5;>9*xt0=}K$$NWzMo$ak^!t-G!ij>59fJE->8qVD7ow7 z78on+K?q=XWG+Rqu<2F!UNI7$mx{Q_)>=-RxA8wr!c7bc)~W-}pxh5ga7e|nREhkZ z35QB3^9Aby>oo>HzipS54LE}rS6N*v*EK21Q8X39s;qAd(DkMD`|Yel*Ugxwhn9?5LbB^Q?kNz;hAOfE=y9P(XxTG7&edS9_fZQNdPaFWJVdLw>)+ zQ#d$*l+%9eVz6^T%h&3P044mV6}zpA6XWuKE?8Q<_LQr1Wq0fpaUFSFd2-IKJNN9J zi>Hqe5cD*f&xElozd45JUIi5Flv3ZbUw^qOXHMAl%Jx_%zTNb$v6 z#6A6ZHOy8aa>#a3FR!6?U#V#&l%x+j0)L&MiUh%&dyoZ1pWxw%%~eHD0`<3;Y8FH@Id&m)|O)B)z=b2Lz*!?csEUHMo2rqW1rKgjZDwwwHL{jErGRz=tAnXPV*;LkRl){9qX}Ks zzv7vRGQeiA7u5&-mEXuYE%FMe?JTLAudUSl!oZPc zyvoqh^e;2Fo|r)%pcU&oFxRZd%du}K3o=xaEi-@C)CQA$i``LObh4TmbCe*-v2)j~ z14n<~CJ#uRudDoD;ho^fD0yv~y}PGZo09Z%*exxq!IC<4Z%!i4Z?l3PmYa_8EB7nD z#l6@XR%&FRVeO!Y(G>pb(L^(g6Kp6ASu$^;+}KNYlzPsXbx2o7#Cd&&*>u zf2knyy3e|<#aCPKlRh6&o_tJUnQTi66^;=7v;Ez?mv`P)mS1FTYB3~eDk^2hZ;Q#JVXBKyH9@9^Zj4yJzqz(-XABVlT-SXew zn@D2<>t>+;Ka!vLkRnS3q^v>nvbk+eGDex}!ABAn!Ct&1CF7jCjGUEiK~fl4vkM?7 zoS`uvUsr4vY!DZG%GT?9cu*E%;o|e$XJ@Z!2*U-)B|fusLk=TIr#*>4;_QfP9GU-1 zJ&#jt%lJ&>z9}{#k{dS>)?QQF>nj)o;+hIlb7yGa4212Mg-c=+Ufr<^(4C`*H7$B7 z*|PSri5dU6!O^DP!O=*vWJh|~-gt<-q;bF(SytAG+j4A0od8MJ3C049<{l*lwcd?X z%XZ1&v#EgZf1f7Qtp ziwpeukNz)e_5s*LfV8L)_)CXWJ`*ma+|z61f9M*r5sGVl@I+rQRzf2#&~JdmYrW>C zvr@R1_m?dJp4&sqQ@6Gv#UJUOa_@7-rWvGi^mh!nYv27$Il<;u@8TZ5BZHoKEKhbP z_1GC#K;M*3M1q)ZNrM#QRa$g$zo!3ciWqVLb&*c@4VeZqc|v9n?W<n%&|OC;eEb zBz37kW2EOlYJ#V*4zW)PJp0Z)FN-@!^;R09T?e?lHi&3=m0xLJdYFf|oa-Nz?y^4b zyRZ(rf^}uEng{O`CC=yA;5=Vlt6~z6xnD{DgP~p6^wI#37mMzkmD~XhEIkvMVfa)A z0$=TW)nx-@!r+{y3iiSS-L9!y;QueRMeB&T&~)}BCgS{)1uzF)=D!6ISGfIzpbhk~ z$+*?jo{*bZ6PsbRHH#WT=;duK+BN!}CppNj`nR*w1#z#cSeRiXH0o_ycc$o4iF3DT zR7P%>ygaz_E<_xx@Nr%J=5rOfV6!UEv7S==*qLSfY>!QsX4x_R@q+q_@gWtLcRs0s zN>l1-%6>&UQ;qwUtw*|ojg4bLF<##xYa_bw>B-sfG)?=0D}6u)K=T2ltq|SNpA|>q z`*DIv3UA!6=2Tx@L4Zwp-lFzk{>{UM5$>}`umlQ)H(shNIJWWO+WWnGF*EKub1^&s zac}_W^z>HZ0lA7>=GJ+h?UUGNu>k^)U5t@nuS#NvGE4{17b(6x^WKG~w{7IN1EAoC z8Ru~rv~Xb>pjFQbD!g-0x{E2Jbcb$m`St3%A{bBm(i5x071}bxe$&dxr{q1}A{oHn zd=-Yh7utS)xzD;!E!W9RQ6F*>J`sS@9@gl zWl;vq3}~etk+cZ|j_T$=M>TE|)YW27krXYdud=I2Cx13macem;(&ntg?0!TPjlamn zIh~i0?ceU|Cq2)T@M&QMzr;2iT@{E*UMNw@xC5a3U2YH!#O{RlUFMeuUo*tI*`8Nw z*WUc`HGcKLt!T-TSLelAicu6$^KnQ$!I>ni<}t!iU`C|7zZD`sZvS4}aX_Pvnlw?q zr#i}AX(ld z-dFLGoenK|%!*ac|Jt`@ilhPEXAcA8q!`|7d>?bJ0YK^r0%q3^C}h5sGCdTGh z6F$DL9q`8oh>q=aYVX~ppccF_(Sg*9w4z8*g|u(u?-^vuw>+nK$FK$Py2BBBb>r=n zvw$fElpopf75E9RrTGo8+XSB1RXxe~nU}5LFO<#nv<^tH zjnS$@xAM@(2<`_NAm2~MxpD*R>Hm?lc3b%ph3wsIWW12PDE}@UVD?@P$m-wYS|HdR z&o;bfxTsOVUbaG*o?o_Tkrc8Yr{9qCQSFaCfU!JMI+wnY| zvrZ7ZdiG}ImK51idk6~*A!D&T6yo<`U|4geQcn@wmllv8`Jn8KH{ zz+)f;(78z3-1wcjmt8!Te4ql*nQi=P118VmqGJe$^Bu4wk^{0z}e^2J0qmHS$S5@O8R%0w8j1&}V5mM#@KkGj_!}5;A>% z>n&`jcWG2jPQ3pal?yQ;uT4p584Uma@&{=$qS_$J)X+AJ;RHAKqI0aUo0V<+Hli6Y zP9=Xpxdes0<9zca8m%_Ol6~#HxeQr3!fpx5#*X-W{EFfz2znUDR;h@8&rcRevtS&| z0&qH$ZLQ>J6d$DH>&fvcz{FHNJJ=hWxoyp&^TK)TEl>#WAHDZji6b^8@KCg|`~m6P zd~SNalsk#9%?>3ReY51+BOhFJKCmp~Zt?oWAoHQRQH&k*=kX85(B?oroy6163Yxg= ztAsrR_PTcGkR#+-<=w~c8%M`kN@kAOGZD;Iv-3OmVhSINt~CU$EPqG^su*Ds&QT~p zC}pM&)IAD+AO1OkXMb#}V?8VYbmo##u&8hP@am^=bZmC5<#4SIAlau@*a>ix%bHhV z5r5dCLEYn{@a9X{Js?JTFYJM32=_LXAqF?hD>A{RCS3gge5PRoS6XLmCc*#c9+~L} ztgMx~_*S_CVt%8pSGbU>qmODHnNm8|HKpl@vQS7WBJv_9+?+UR2vX7^sbOsw)DP^0 z8=yzIfB2a+W+eh{)PR{~q;>3HCLyMXjN<$XNF8_qCN`3AY{x1f294pQNs9k5<4bC) z6g&LLTJq{7cJR8O3kQl{(kFoOdCFRJ+r&A@h8}ZsidTc?^kS>jZZO-; z3rwQjA)cly)tl-}lU_u`AW`Q2imYO8!IpcF=*QldWhKHHB>TgkmZqVd=({@+N~1@L zfG7BB<&4DTV&{X&q^u;pLjOBc^4K~HA1=dzZQ8hu`)9_rd*4kmVhNq#uWiCymu#JV zKMSOsCR$yjG`t_>8P1QNcF#k}g6y{EIJ;=aTj;)P8&vQ?Co3pYkInVNK0~DSTxf2; zVfq+wLEzo6IXNDlTYMxdW0aWDN^4OuvZRWL&u#scnCh2PX4N^; ze8V^&xthCDtBQ;*D#XT{l?p!M8o68Z^Q-lTKysTOBwGutn3k@4RQ}SZapG0_wAQ$+G8ITQuep8Vq z8zC?Qd$xdxA&8|JGfET+p<9-10(w9glKBm=C^J$MW)(tf!yIcPf?#DY?;a1@u|?_z zSd3r}8y4D>*afe0_$m7#JcJKwb$P*uvX{YJU1dX)>lM-z4}Qt;XDB(D^STQV#V1<8 zeXCj(#XK)GCI!iID4oo(pO8wRPwbKQc2RVr+J2n~W@(DE|U`w{Q5gQ*@haw938bex+fE8&^=2 zAc@*8N^m%+(>HVyDU3v1EPk@#uC_91;_*0oWIC!IY?W&!ScV-IR6==DV3Iy&kBgj{ znX=J8gu3He|y{1tfuGDX;L`My$T&{esDbgb{?TQ z?D#L`%JHAOE7dRkR)?C_2ZF`}5$mUI(PiCE*PH@@HMMNMChNKEHsdy%EBp;*@(az7_?YP8X=`46 zuh_f}yo1W0&kxyF`=v1;9|2b?qy?)J+4~?d3T5pVFYYMHc?3iaJKW$)OOeS1J(P6=A)e*ch`1Uj}zf= z5Vvhq51ofK>?}S%Ycyi+Xlo}+zAl1}G}$@y8rMslK+Umf7&_uH9Aqcg3^tBE!{i9s zoR)halOqhg4)%XN&I7k>1RO0a{KQ*!%xSZF3JMq8jYTfte2&%}C8ysY!Z~6M>9*^Q zG60{lN#-**CN>t)B!x2Ny}VAAEpGKH=I2rv^EK>JgLl7buN6Qr+SZ=qi0glZGl7E? zbA^#AC+b325f8+UM67n(UD(sgd^elgMa>D492W@%p|YGb1%rr87S?g054k*8iJkBZ z3Wh+tQ`-xMsv@w4(Spu)8;476nAeDWFd6FkVwWNYj(W=>`FJeWm&B)`M$E;hm zLlIi~O}?$_q@pa~mM-d(R?@5K(SbLA5yZ|%yu)0i(3x47?JLG5wV!0GtzY`Cs{iaPhvLYB|ylC4uDDaMm+av1~k+l0x~7 zg$PO-Wi|cHMrCj=;p}#o{4ZyNdlXe09>@vVJ@w8TQ3(jZz}lzy=v%5-a@S z_w|=A({|JmpLP;`3c?6SWsx-mut`=6=lc!qOS{R|69Ws_v!#*dx|HWNp`2ZgJ2qTh zO`blNu5mLB(Oa}oo(gA^3}cU`uadSkMRBdHQd+jr#dgsVlX)?6U@fL2w-|M#yCOPd9zP%cQ8Y zYZh!cD{I1C)-I1?iMqvhsM_2fPAVi@EdL0lqcXj&Gemoz>El?vD$wjrf3(J9L3fX$}H^Vu)icf_vY+zaNfw=_782fU|Ip6ZLuGjQIEVX3< zOj>nky@fMgW_aDb`&leLzzq%Lm2B2W zk6JJOMKYtgB&#!ve!vv^kgyfETn5GLhJ+pJ!gu9 z?VZvf$p!a4LmVD(4+5Q~7qvS!xn8@+h1}_NZtiDGa(NzC!IP$bx@^UDB{Gcel7y4; z;ap1U_3bxI{o}H+0V~pEi2&xoF7(qeK_qld4X_2 zUsgZ3CUtFqb$ofIo30-@!7;NnAAG0=s}*}2+T)~h#dtoDh)*zAdKJ~M4K+S65-cyM zW4WrFSkq9Wd}0+UKN*JqlXR(3I&z#KyZU)e#AU<{A?cFoYlqBI0 zI=g+{nMqg66gIJ~C2GwRp7Sl%+b3nh$Q)12xcP4ontwY`aZiBOp$~R-b+yV>WeMsyXi7`em!FLYC2hzsO?TNoGDzPVS)+Oq+3<#o)8# z>MMZnZO%ed!7`{yWNbmgwS&2`}2{zPXMxT6Gotur^5C z%31{Mh=>|CnR5N_r!u8aYOH&txiLlm71J?vRWkj}x^*4%Hs@$DnR4~TCmU%W%^6td zGFT>rzx?9R724sqJ|wnzz#L+mKZF++OkVg|>hDRBv~j@`Ho!0}b{I{$${D8h0kF}$ zUv4#UL&N0pY$x046I8N}lj*cu>8jswID-E)dzBGlzQTx4Qgyh7Ss|{n;=*qEZLX^y z`!%$^wM-EvbXg&y={J2u6_8hzYa;sg8ZUx*EOw>8O#3mTC?7GC`l!<0_S}W17lCUB zKPmP=0ZT9RQjFUBub^eO^!M-nij+lRd@xcytdCtL6escji0_S(S)T9%Sa=ZbXbXGf zV4C%Zan=2(rb=lPs~aFBtEa~wVVrQx)SY6LfJl#erJIm{X{phetomhqJexm}v zHGlQB6WGn|K=2s7ezPn86ZCCoYuG2&4@mmGaEnR&eBU_LLMd3W<#6u&Xicp>Bou*# zZN5Ob=Snjz<#KBGX&BEzjeY9wsP4I@U2&A!u zwSY$k&;z>7t}N)v0@JXsT?8RB6zbR@%Rk%dk(6rm1_sYA?x!eg>y*ZC3G(U}eD zYvGXY$AbMK28v!Aa=u%?+Xmm+;gPr7v*z7`m3Bp&ezO&exyzkJ_SC#5+7ACAwPj#% zPUagQc9BGLd5ER&e%xWU!vED^=&Q<*G$Cbe+Xm6|I{-lCP2dGRI?QAWRNkfZ!Ktp4 z^}gMBAdNmoK`A_uVJd_Q)E*UCa@JP(yP~wy;exQGq?%W*;Olvm@%_)|N|-(@cZ3!& z$;f95ke`7O`=c01qY=D9#jRUsE+w*Aww1EFYgLt8<95@TWp>k&Dtb0K0z%m5Ba0D^ zW7{k31!0zDmaN*lwhXuL*L2R{yUs;L z5ZzX%L~W74t>--wCL;&Lj~De9hw$U8>7BEchA4`Y>}O>cEfvwUyyc?{fkBXC7xMgBJ7dsoGREhlAs z^(WKl>LzK}0(Ke|nv?=_VI5oN8*ICx5_=EjE+Y!6hZ;6mmt=2%9(?B1#u-60PO8-F zA5{24-$5QVYK4@eGw8NO>4SX3>!iInITfDVrBCz;*QY(8*9L(Um~RU{${6%hd8eTn z?-hVll@Y4XS9N&jm|6Fto#pgqtTM!?a|duBJv_Ny(xUbD6i%YYa?Q8A9R1+z{Q`#TUUaCBnNk2=G9gV7u=Qi03a$wz3z&%2pz)U=tdJI&LE0UuT`jty9s0c1W!V94PcXmmTu^X?LzD(eeT zcX%q3WyH5SwvK*_zljgecYcI)R0KcQ)%{lOw)z%bcA|oL+10tld)sTt#UC7zH`=_W03QsEtW>oS48l9xhlGKa8h0q-W0kXO_V-%(wWz# z;2?tw!UWj@OCb64RcOLt#P+CrJ$dQB7^+~)_R0Xd^!s;@bEzP&8BVxOQ;(klZNC?( z&4Ny6cac)0IhJi|iG72fV?pmJfWxx^kNJfHUgB0~9A98!LMPjMLJZ>M<2}7Gk#CF( zdbNB&@xQMRFFlppzD{tp`wjX|7Dc`ukrm4BV=ZVshKbpC44a||k2WlVF}7; zI^3DyJERR$4Ve2;)_`91%jVCZ-Z;U#HgtW1=0kNlIBTqNR!pOKrb^TKJHe*mERW!h z{bZ{-&5`#&8@|__9%(Ve4~sRXJpMXd;Xpq5r{_mkp#w5{XC$|t{E5S<4|;|@W3i5; z7!?*WSsBHI=#8B=SN{CIB!5HCF*ncx!nFx)YBkj3=cObw+M#g}%`}%c2oM@HY1E0{ zoBsA1A6TC^c}^MPF$yEmS`_eUKi%0m`or!rue*zNVw)U#BZiQ z(=HaIOnrQw?O=GF&3$#}UreZdG@J^X8s1GkGkVw!>1W=|NfB$Pd- zzRd5}a`zu|W!P1&>&5Ok z4b=&pC)o^=dWH^KPe{7)b<3Nnin}~UOFe-i1NGh{q>bSL6Bix4T%G_JT}tDO0NscNB79M+%m!D@MO;z=v%zw>)7Og}jVMGE&Tn zTJW7Yne+ROg^kaQUdhqV+yX5`DUF627@kiUFYaFjCm0ogp2R5J9+Vjl_SHA}rfx`s zXl$VeLcy#dH3h+zeDNcPiMO&Ijsbrq86_q{^QDt$JriKdt)=0nE(1suj4M7ym9C=~ zPgN>}u-9|&sc5B;u~;-nT3HmZz`oXBT2{pCE zZ@S*N7`byQBwI=hB2|kEkLrQAM!Gc!`T6jm2@n1q4+6b5GCr^Mjo$%eag2ursJd8x zQh51!%cUzX=(+*p>4C5$-WU+&&)^q3HkW=iOI3RNl*lDSp$8rR$tIn#Eq*i$3^7)+$wF7ocpg0D*IFO8J9Q5F_DIoR$O?uPwR zn&=RDi`n+;+3Yr&T;C}z%W#H{q`DMSdd3Z*V5#&|Fs}8AO^4>tNA^*`72*viq{h2G zGMKy?KO3g0ozS5(QYb4Eel(cX`xyhYFqCSl=e6#~(%sNfYLGwm zb;?Q0%~)Zk})+vlPFak-{808XC9-ll-bD(tZSJCm=K|3F^^hvHtDzTn(+L zjAs_#g^Q26Tc6Xw@+iy;3(BUJLcte2OQI5>sD5obYPN-ECy{j9Vlxy_>OAo5E`hMrUbCbrG%7 z2Aci!gRuiL2^K?bm;ws2I5hv>Yq@gpSEW(b;|hogPDDjI-`SnOKfE8;8YbFA>uy2p?^0?}q-Q`fJ?n3U$1`*WZT z<3LIl_haU+Z{VaQ03G}h^7^(y9@~}IDFI&o;>xekP99-kE9-;24I5JM(XcTD5EwCN zjK<5->3rb#yf8gX-?9~b9uW3=E{FygxTLWK^aUAj91@&%F>^41=%Dsu19H|Zp|r-h zn%ve_*0Sy%Cy=F4TI#Z-^5OdG$<|1n)9_^uyZg*c-U9Ph(>;kv*HHcYEh3BLR^P}6 zekbO~sNL^^!s&Eoj$ldR4v}Njh-jXku`<$w{LMF_``7C@ti(yVS!9GVI?`{VJ&oHH$O;9^4D+VuX*mnw%NOk;H zWY{k=Cq47ma?F~xfs(SGzG6}7Mw_%AsLn)B2|tzzW=`x5B4?Of`)b(Ocxs3{!BHm| zOimANukUKw^eegF}wWhpLC&7V6!sh@S1AYzY4gZfGl!MaBeVWQ$qZ!gNZZzFxVXKE8ik1 zN?;+ecv2~TZ4!@tw{S>aX+9z$Obu!mA*ct0ACEM~sB%Aia zs0{O(03&b1DSZh=0ZPo`pNO1RVJ_>%O5ea`Y{>cCjCh}Pl*C$3R_vAK zXq`x+2m)pIEVe5t=v(fvrF-8nC#Sm$GH)sM$xcvX87?@((#eC^+=N& zc1pz~6SCC#@n@vYveG133dS=BhI0&(QL9 zi{G&ejt=~L>W*1`@~w|CkR@c}UFWV`TB^P|uGChyd*5twLSU3iB}?nZ1G!>rfC12{ zq*hD$#kYC^K>ZnNgi$Enn0r@155!w*lq?x3N>GJ{OXnp-w4mXLel{z3-6sz)1|9PD7XPd(> zIo7`KP>@Za!MbcJ=dNymAW9=%xmVxktEsj`9^VE*Q`}W%-3Vn#0SfuAgPgc|C?f2%N>DU^83&8cG_r>&Y+PFZe zjq;p6>3AUV5)+fNX9cS{ayhS^s9ox>HrH@^7TDMJiLXiLLc%>`qB4A!NcoGmgDL=; zyYU>`gE8GjhO7ARN=18Amve`#Z(%Ec4&MRMyTj|<2NLo1Pi$8u6}Z;L*9X=I1tI1( ze`fe8-I<=acp($lLPdL4{e)e^#hs*X2Hfm_nU!;;otk4U|GoA7ug4pk$JP~xPHvUD zB+^|jMgm7<$Qyf5sdz85*mPYCvinsV{d5mFS7AnhhAWe3G+cMBGNGXveDLorF z>)nZ;yc=wf*E|hkaQGILVqaKRVs9|1q`GVYeV3^m($&-yv>y(?NK2(CJ2kLJe^lRp&K3&OeMnn?LtdA zl>}ehw|`8cB~WZV0OY3S-@SP4-Bx7B{B%+(q~zg*|32UOd%3GM52f&IQMT@)0JCz_ zQe!n_lOOt;?nYtX0Ra{H9)OxiAiweP_kaD3&4x9{NyqjJ*;#OW1EyqQ_3o-^jhT^m zJvG8N*CDxyk!NrYWAH$3E;BZSBDE=Zr0ihX6-~G~>~7YkXRsZVkOuE~@)ZnuQ!b=v z5|G(hRwg(np<;|ql|o(X)|yT7Uq1f-|kJ^uS%OYTP{iQ@~MPEc%4!pu4-BYzUX3fX%FQH zCmn9-l<3sH2y`h>>^ta0i{tao;6hlV;#0kRbo;3}y3|>aJ$ac2K_mDyk(d`Xu4JR9 z7qIhC+B*_Ko|v^D9w^|YDct42*(WXd*6m&uOUqW)ooX((sGg6ed@-WXbT3i9j3t$- zK-Zc@=L<6Ko3Y{x9dTh7L4TW%xZa|-sk#di&EbbuKXq2qn~@5jjRxtGzYdMN{s7`& z1h5u&{8&Hq{II3vDoZk7K&X!6Sid=UB+ajRl$`|vwh_u=^VHGlG`Rrva-d}dC;N>+3;JROk3%+0>@yX6Y^=#Ya&}u zlBXX;gTv`hbn$5Mi1Cp{V)Xn|b;_Jp36nwtj&&(ht2HpXsVPb9!y0~qhOKM(d#W_E zrS1yoGo;N}d)T(}%UXfM8^m=XkSAU5jVil6<@atT&8oDMng*n9r3Qt`O$stSM;1?G zAA)-BMdq&?0Lvk9O%+fjKvaBx6(7g4f9kNdKQ*Sd{n`dO|I5DWn=&|@!=peu$>3%} zd|6|Q5@53kBN@#*vMJ||EkU7`BTLi(P|r3k{r)W(!grm#1}TxHhXA1bUT`cG2(%%s zoqAY0dn|0KhMFkQg}FY`H11MfZL!qUj1x{;PHcfEe!NjMJ`VZ}uK8+BT%_lgdX$>! z6Sm$QQ5kRDCx?(YODoaq#?zkYLa+?i(nF}JWsWU3755KQQoU0T21Ojmp=_{cl*zNR z++9htvEjv+fUCzglDf8shJRh3!CeBDSoTT9Fntvu7oDBb`C4U&l{?dfuLMyA78V<< zMrUf?FJ4> zGocpHvbF}s3n~H7)YA8zwn;IpsD^VCm5y!1ubPx&*GGO`dJ7ui6 zTk3Lw2XRSyCP+J1QYPRd+BZ0Rdf-H1ZMAab-6k}mrCB-ZSia?rr~${4egmqcB;2(8 z=s!sKB~#I{*c%~;9k;o!!f)kWB&I4wj1>Vz6JuSBOpeoxLT+;2aFKN7r ze8_7(q70o&Wrxv|0D=1s`dF*ExtuD()4WVCe4AFL=EQ}A z?1u$opMTfGfIe69ZgPOz@0Ee+Zpxyk`^v}8r}n@6Ugy~>#K=efm#7kRY6=;lu|DGx z-^BwEr5t=|fr=Ojc57T#V`!$jVeEgO4bFE=n>PqCj=!OICQOk`#&pF1;0JzDD2*BU zhc}t2RyFCbs}1#OBBemdY*)cZ=B?4AMa>hq`U{$(EsIOdx0)A6SAtouePS`!y3G`a zNfo(Z+f!!|hXp#oEomNq-DF(7t5d!D?cV&rDa3c=bUiw{Adz0M3EZAH>75d`Cn@+Y ziR6r@w2amTI%haTD#4t@qt@$<3W!_FLwFD!en&Az%n~>{?$aZ5u zsim?YuAZm|%49zeC~H+<-vow}^<{A@Try1xfh7&~ZIBqmV+ zu~kUbh|}%3WdLqK#B%GON0*n}?mpo(ivj?dP@p3mSeMRaI8@jkUJG zhp@-VpZ6!s^(12R>D@5NJ7LdPqpF-_T;I{$xv5o?f4u7A?am^Sw|U2Gg|X&VlNvN# zSFDP5?lC8s*|7L%-WOUO-TJ$r!avsuz{C-JY-CR}obH=J#bxiSuM3w`kv=pKI-mFO!MdG8T-|W08G!AK#--K$6{a6o zyArQ$Z?KVH6xC?{%Uqvgyb@@F6Q0Vhja1?8I$U#mszu4e4y0u|e2R9bwc7M32j=e4 z57GClgbM;QOTvI?#{v2(-cVD3B5CjbI%RCxKG!CDDkM`YNlP-CH!7dgG^(Vme82QG z;JL&tQ7m)-pG3dz;)Y!r-@UDs=!kmV2h9YhGH*{s;1f#prcvgCi}Ky<^H-?LY2$fBN2x^Q!`7vehl*RFK;2%t6eR9+f+ zn?a09zx4ApU@ZhdoYGuXuPFgmf?cDZnhB(C!_mbETvG~aN-pTGVn&A$?sahoP8Tm> zGO{nnAu24*c&zCoNO(3d%-!E1mGk5qw1w2aC&VJID3UE_-4N;}kjXY>ktSXDZu zm^p7Z6KiF&V(|^o&6L;<3c$QOdX*+{PKFO(BhN)!+#>VOA`oi1X1CG1e>xBYYO9Lq zg-KtA@&Pn6WlW`#tUHz__E|9j3v+veD!K|W9cFMEjWB9?* zs40PFAEenWBy~%RNq)f-5hnCvT?E_(z9@LC97jP^Vm_Jcg>D(kB79L-o~(&)ZhP{V zK@_dx<_=6I25CQ2F@>fl5q&dqh6nOuf{xFnQ3F<7I{j6uAkdrTzds`n_KB~87uWIg zHv+wtX`pU+j?Vq=%rYx_gPQI*5s!*7R%7i3D+aGy-jT#)?OXxh+6Oxh zujJ<1Ek5JFze!ZmOcs6-1Z--MFnVqKEk=e7091%_bTWV{RRgTd zGkm82GHK(li#RBX&DV1{;<~e47azQ6Tx^!|@ZqM!1TKL^GI;cC{X#HT9QZ8%bWUvp z>zgvK6a+@-d95|tdVPD_b@C_+c>pg$aJ%CJ^IaVHb3e#XPYFBT+CSE_?EaEBKz^R#aNfjx9K6&jr0k2`s_cK{G?m z*Xath`_rI_1UfCCj&;f$pvZD@G!N8r_N+f3u0E&_JAVAz46tbwEViYuDXvX7A?tlv ze?j*-u64IluYxh$q*-u}gCi$5jxK6^mN-S+8jxKDfjT&~(U2`9ol2r5fo45{MsQgI z*c;TJ6OccT8*=LQ@!wLe!Z!A&o-PHZu`JVHiMc%(C^FtY#7ZRWPn7dCOoZoBx|25#DFc%hH08pEZ zuM8*cs`|4C(_IK7l^X&e<>$OsgDltaj3k$uZy0w+t2&018uxq&rPqr~{{Q~p==Y#I zFS5qvh63fs83s$PO1R6f6`tnf7>seH5asR@bHxD)3Livy--$S@L-Q$+C|lWJ_AFN{ zIn}e$PZ~1Qw5|7D>pYoD+dO&(f%5{^6i9|Oa6}qf9WW#KFK*F zmw*#W-F&yWtRJEXCB^vQV6>BL%~08{7K69x3uzeT4deQ3gi-mg!_`R6j}i;@YxEKh zQp)oYz)FIm-gC_DKMSSwvF~tQTznuq{_$oJTu}!|1)lnOYfit@om4cMoJ@L9{^2|p z#5?;>*1~(ZYS2XbrrjoizJ>YUJJ{H@Q~kfGCv!|o^3@QJyN-3v81vE%Nmz){3N3$Z z1=17brnpjbShM1iemz8r--_}XbC2ri2hac-AR?&mhF`E+zn5Gn`X`S8<0g7{|2HIE zODmO=SFz`R1iz_29wsvm!ParPILcw5x z!dx-u?}0ZH>rAr%Heu8AyG)J-%asUKo_GHL59ZRIK$yl05HUBrhKBZBbbs4CD+!6& zA^=y(G`UYiRKA9uzP?Es#Hs9e#mD?nbBI2yR`&&IvMSEtDB(8!#bE(0ab9g*wC2Ci zl+7m;XdeJ@-Z`Awj=(#s+=@b?+=P7|J3H2><4Rqy*l7eoyf`yE56n5w_w6aNit7tK|t*%{WUY`NUy>35y`0X822e`On9* z4Sah;0GN|B8(S!Joh_)WEwtvJa}Vx05kciIHG)DOqyEg=1RN`A22eb=Xl#6p*r8sc zBq}*o*kcTEPO1A%9RHN3Oda!=LV<#=1(+@hJmjgI3(izK@2g0l0jZ0FuCl0Z(|yC5 z@svVJeu0Ry~l9iVbM6@Rb!zn@8JrHX&ul8P^M zu|Q>+YJSGt0NppZ&!)aMuqHwboCtMw#FhH1v8KCj2S65Iv)~OvNPQldg$+EUKu|yg z4T-NWZ*mtiD{GAaMZJvy@%kFzYGwU1y?&hl+kPgXTA&Y&4vG&e*3>&91VsAa|M%M$ zF`U|j)MLfOp0V<#Eqdt7rH~t-B`Ttl4O+k^3V|z8*(IP}Z^%j>fHP59RvY}@pZ<-; z1Pp}~IOG{HcOjQ${pRsQQqThuqLReiIr*PffW^PVY4Uwpnvl$o-AdpIcdU*46(k{K z@xLE#JWu7kSHxHRf9$7$Q6*P8QMB7%x>a#8A>d1hk611S2$ zz=2OZ_2&B&JZS^zyu%utKYk@i1pJ+$0d+ALe$K~caZB;ZJOM1PaG9kEKZegP6RXGrvKx77a(h~3Y!D}vi%?dUKTM>%O?0?Tbx-S{M|yr-W@2|2=I7M zHlrg0`qzBn@V~r2N=pt3Qs43g{k8eg@t$1u+?3ht6ax+o`#*OAw+9BnJw@%~C%a$! z0Y{Vn^JDP1%>U1i-%lK>r-=Z+N@}9U{^v3r6)Tb)a5feFGQ}7dd&3R$SY?NBpFLby zcyxr6mu?^nFbcx$J%w83BsbAap1yTBXpZ-`)uQV?JCURw;NXuDlent$xvd8cibAIVj}D|9h$I-wj&6Ixkyx; zv)o@=J91giDV=h{iI{_HTMU%_>z~3bBUlT>yZ%g%yauja^5xRV$2^Z^NnnwI4<|2sGw)j>zWqS&f6DEXZ-8hnkv?#fGXNRH+g_T{&A_2LCQ7)~ zZoF*$4hq@jyHify7P=-cz6hjC*A@6F;< zHdx<}X{{gNL}EAi7FqiyNi-^S4V+W>8>Hz~NE};2&QpuRzBEe*!7+{hP`N?a@USO? zz}^%2qHSD&(Vy1{i)(M2J%}wI`0R2c%eAU3_DijgmV+-fXGW!b?a7&=AvNu(2s)7IN(O17cuN>i*k zSsd#Ed>-G2u$5$c#IsYSokeCyNPH{J$v}B6uYO|rs5_xCDA?RT8-=)+jMR^NTm`=R zW)8RSAcI5IbcQ`>-EN%weY?G1TyT;%V+CRXO0{j?O}_m4_u~)veuq`-3=PssZ;S$t zj&nTzRhYRDK6q-fS)tDa?9zZSpn2<%hCo-sCwdJg%vGgWVxK;scz8u2;(2&|oKJe_n_AFoPq?^H*Vus+y?H3wx2cJU5fE<|%e1dZRD3R4 zaHj7lj0thJTpEe_pz&D6-><_tfq_cIf6A=EJ;bYunv~aTQ0)>wOr_ zVq!$3x24zTm(~ORt>mo|I^OU29e2G`yiIgJ5t!)-_KHST-HVuAPO;t84Ak_~*9JC- z=;Z>MOdChL{0$;#m6&_kY3~j#gUHRs+3U!z<#62vrkF%QC8hu=Y^i2d~3I? z5qMQGvL9q#Hs=*h%q^L_4x6~N7~D{lhVu(;dW|HES3W|L}J3G@omwv(t&! zhP%VvLGvtPDMMw9!(o^5r681plkE@@@+V+5UJQHu6cV|vK|Gv3G+ZF;Z^7Szi&Bv$ zppwmOb~#*2&cs`RofUs1tlRHA;!+478aRv^+juHv?Tg2J1Wn*7hr$gSA2x2_ldif} zW@p9ZnzQF?D~w5?vMv<>AG4p#>VU^!U9(1yHM>P3xgfSh^xf;5nmi>co}Fmc`N}1- z6lBEO-V_DLghN4m({5a}2rl=f(t}P){JOuI1Nm+y;&4oOfhJEA+q-lN;le0l^30ic zk30NrmCecJd9Bi2a?1|0e51cy(TLobCqo$iKB$8a_*>2(Q8B{{UP1_WUc@6UUqjTq zcQ!Z-M3*_@FS>Rx?)4Vj^~P(O&N$F65%m>^sT%CBNbcHfd6nl5?sux^liomKpDyqG zU^-ZQb=&fqs5lIh*!9_>Qn= z$Z}`?fht~zJ#Gs&cRjt9{sv$(lRM%OUkM3U(lzigX^XpX>XwCm(uz48&ALS;zV&sH zRVx2CxWNN^K6cJ1F7mALqfKe=OCd^1_8blj{q`l)*vsVKn~lnAG(7qZiV|^dyqw@s zm-Uwswl-pt8*l+S6vt@1zGz1kS3PCKQ5_L~U!8K=EcD-?!WurOs$j(GUZc4X&R89% z87?;551yuk0D1Q7z=vexGVJ<+pr&Pny{!)vbOn=~5;Y;S9cXxd>c-B$`sUe!_Y)AF za4g=NT2K$&5MkbYd$_+{KDall?Rm|H1%o7dt4pel$LHkX9qFa!+QdkMH!N^)OS(W~?2+fa zD4OB2k=vp6FqQmjz-_hAym}SsgJ%t%4%G;k>Nfhad!UNhWz>RhEf{8gt0PM8d#WJe zyD>R+A7Zv_cb~Z2$|^DiC*3{cfR-k*R=(C$sGL$60I=>q$GVzM}Dgts#1>VTWLy`ZJ-6-~>HdFWGKm_V&-6eU(OdB)yMtqgZi z4o-(vr*#OqSU#kUHQY33Z|8Pw`?KGT$^*~t-KVvjV|!O36;`!KXhVm=79H61M_mgA zA%nK^ue0Pn)xvONOlJy5I?f8O?!hu+w*2*1-Lt#3o8pF`P|!YB7v!wXD`Q zXGhsN{#f_M1RS}gw~d7rt1bM~=s;4D{;qjlwJ-PhFlB37V92+nu5h9sEo$KOn;o%A z%M{%F=3g^Pxwo>pw=qk+85s~}5Xkm28mn9!_2^{9A2|6)!l+3*f}V%uf;Wl-L$skr zuipvq34!ksq@!rq4E~MpgIE;)HitP#^i6tZbi|bT;seQzR9%`5@yl|vWkbJwY)HFj zV^A;t)+T3zjNcd6t55s;Mbyz*Sa(^~KvG0NM#@3L$L?tc0KjD}Jt0%m17Smv_FhND z`AOZdGQ=7h!ye(ikSt-=fgOZMtE~}MRav*RjRSN4GZ}5)AhU;JO+5CjkS}x1FcU<2 zaIBR3!^+*p@t-ts-1Gk1#*8K4h$38KOG<@IPU*7tWc3J`hrDIU^u_W}cqrt2uzja}5LWD>7gb`T5ojunqRl+&_cle$w$iB+8yg3(G$Wcx z-S6>WL9t44|5^ETSsFO{2BY^FJjx5V-YEPMh{@APh|KfYZVCE3@ku#ST*l_{AwejMhyFYRmZuaD!rrsrIol=eM zPj;=bM|;~(yIkm`4wcvd>Xk`7gIO`sv-BP3o9l`eaDZN zFVhT5VF*U)n|og~qwW*8pWSb@#!ULu1V?8eB0``C0NLWMSv-7$MwVpLMmSylj`9nl z?%SgF+OdZWiRsjc{JwOi$384$-Ke~!0WnwuUA_d`+(tM&*2oHUrw*iRY~GpEYFsK1d7 zI+^nE`!ks)aEjKazO|0GwlD(q2?$;r8Z-Cy66y=F$)OL@IW%+2=pAXbRx+Z%8mG`e zg2#g{VVHqD2Sp=Qgb%o*ljIQT$`7gUCCxKOFa54$vLWiF*a)p&;w79uv%;DLF{-YL zAm)QAe*>3#fHrwK>LAHo+W`#IXZ%Fm`ftxV`e`jYguly%TGD|y!_2W1J;`Tp9o-S7 z9k>z>)Yt#QkvOZG;SD#Q=)+j}Z!2@iVx)KEu z;t?X`&-#VHP)cD^i!c>OM+rkw)t<@qJB__BFI;~p9Kb(6`lW8&+7yf#o2(;YK6`-IXWPzh^Q{C_30`|e zHZXNW%B$QEpD6TwO^*I9Z6DvfS)t)LX9bAhIJ+l?`hDNIwsI5bJ5FcV+s2YY5$S+8 zq_f>cS@f32k_Q|K#O`|v$W1f56U{|4NtdrPq(&i%C~hw~vSR!@dCzXOAb}=~l_4UL zPWGo(cPAlh%0bx}l z(p?9EuD={N(zwn?jsPKFE|H_UB`a9aNBG2d=z_n6HCn)koEnj?r4qwKyun9<5jy*O z3#(2Uva~{}mvdpfcbEA9^1j@w?0Ciw+RRScwng*M^B14k@lAJkhhL@{o!8JgKsD}v zP}TL=zCAo~yh|Q0^o_kq%Xv^9thGAmFvff!OCCFL3PXqg7QIFkb$2TC!(iDXkwSIz zE{X`%sk6wUWO^fsd0vTfGKCet`z1Qczg zp40rR#^2jpg+t4|sasd`^J{fRQAvmV$a3F&6kXOU$j+#zA;bj9uQ;wu#5ueqgs`TIevbM*eD1qiEZ&GKQ-?9%);9VTP6X3+#6 zFyRrKqy??Ngj1M`*>tbJ-EatnAT0NXctLyG+V4wRAL`q&wChXqtc@sirs$cGMh!}8;Ki+by7Sv<(l4XH@S%3&J#U4eRi4d8M zT#n_DbnZo(kof5Z9g6ncbO?%SdwrF>IS%^}5&=PQ^UjG*flDnE5IEg>AxAFu$}Un0 z?g47PM)JkRaIEL@P5unZnw;~OD;Jo$$bhO}#)CTff{Dm}JA0_F%f-MunuSAGWJo~y ztaey^0XB51X#9c<2l^Ow?{#Wz_vHtqNqpnjWZaV!L=M;IIRKgF%d))@SDSl%Q)Xf& zNY%CiG;6g`-Qh0yC`ZxppQ0Su?LX0RXUzR1I5_g(vmBnk_YNK)vo_xc8?rYQ-9+>H z%pY|us;Y%MIGZOpFR}dGfdsb$2S`=90+YH813dl|plw+X^^q4vk7A%-=H_rzoqSeh zrL`lhBRbcyZ_uei@B?T7>GslNg;az*%4~T3i|2eAc40lhFoa2ce{EpvY}mn}T3e}49asuXi~j19h=Al+ zK1y$Xf&P!5Fa*vwm;BRyTfv_YL&|=yMTV`1@hINWJ%7~Ra998}jz)IdJgNMy-h`W6 zM19t#xJl`Mx=CG4r)9u&&+-+LHkF!kS#j~on{=#ZECf0@IJuXPnjRJKpgO$tR?Ruz zKuUL>`5ynY$|kUCG4A{*{z-OAK1zdCU*XWGxSd*cn{3{&f!Yg0#)PYHVTIef`!K zdygHGry&_UeW|9DAJXTwMO#bsSuavDD*NKvgO){v|LLZ&ZBh$ZgN64Othn~;_6sK7O`;6=x}PDVBixZ#HGRM3IwGMhi%eOz#pE=jC{_PB=-Hz|LJ5HnU5wkG zsM;9QJ(Fdt(V7-Fy~=N%GAXtVsOY{w%+I=s z)|+%f8gZ1&{-`30NKw;0xrUwkNi9jZt&H7KAqd8SoyfO(DQON_fh6%Si{zBuXQC*Q z-rq@TL98JPq&CT#YQ7`+lh?xx9OwF+P0ODB(+nJ2 zRYG0-;lCQ=KaD>WKoa>`J+jM=1JDZ24;>=NGGlz&ZN1EUW~P|`R=cGb4X0v-)4kg` z3V%bX{cwe!IK3uN(0xO~c8IU-ay}j2Tvv;krNUbN5Z~`;mq%#5RwUX=kHlQ5^JYwA z(u*E4MDk*szoVxzsNSAXb!>eMFhU($46hi`*w`={D+|s`JZ7+J27)wFCRb}_|*H;wUJ{7at<_1&n z8}&bT6P#~Ub+skFyiakRbi?u-YSR|{f^IVlE}oyQX169azw>_~Eo#+YZLJ;KBZY7K z;AC`jxt%!Idzx4uC|N3qns?5cZ=L>T>ETb~N$}wE4|84fo{{egdjsP?OU;)P)QA68 zYc z{=_H_YfY75O+wVd|yL`8|7wuRdPlv>s2<5iAnSgAj2 z#UuK~lt1?E@pn_R?N20XZRyGH{m3@v$k10CD35!g#9ZzhFndE|J%;gpsI7AR$o)fv z`;uGQ$Wnfg2;nMUZFvIk8lDIAVN>yUAx9~xl=BAo?^?{CwTR0W3+xd6?};AY&Be58 zmFFCBWILv0KFlm0PN9AiyxdrWZ)=AM%54lILiptVL$)4m@QC)I^jNI@Y}SG%@6GS- zfd4y;D5aduhm8s1D*?Bp_p`m!m_7OhgcfNb>nRo_+qD10dcfXSc1m&Yy&$K1twkv$ z&R8cyow*IM$(H5^?o`s;ieOc%kLbuv*5KwUw!0RP!yk~fQB!o_l^LgW7y+|gUiwe= zyVi9UytXy?QcIydVldWQeSOsm-X(OV71~*kt}Lo35jk22e}FPQ-g4GWetnxJ3=2ih)1`ur@K5qq^8#~KB;!fV&q9cv(1{;Qr{bFB2rAnxK~as`ld3(Bl7bQey@}T z0C$YP5A6+z*Be?^XMFAzRn9j+Pt(?Q{r!e;X*Az?O(3Vt$A4D!+XQ!r&ZeF0LTyGK z1IOvTe7ZpAs4!FsKf6v_`>%4Q_9s`8nLh2(QisD!dqq+TUpw=j2*@z$mJ(xSmg3R{ zh4m>ZHmkLlzr|Mk`@=f`VOxR^|C*fb)yg)WJ1}f6$KbWK#~{M%XLG!|*RzW#u{(v) z{r8zz{LPwaA03!Ja~h6ThX3FusE2a;y z9y{q*Q{2O>Y;Rt zg-aB=lb3kbbMw3O&eS5wTkBrH-XkpaSm{-UOHJxYvzzu*JWbsq779VGXVa6-zIMKE zy#{KSj92|@m1SESj1@WTg=nyR`jhzoMCvV`k=&_V9$1!V1Sidz`|JFEFOdh%@NnGu zXkA;jA=0M2HN4e06F0N>+hBPSc(yxJ_du_IJ!KYM=};j2(84uLP*oLpWbhvvJ&t7lrIY3gBAX zm!L&XM+^5A5nj;oA8uPFF^;^erZ?6V4yhH9{cIW9YOq0|95w(jC&87Id+%SexoY`} z<1}-S&GWIyH#B1LV7d3Vuhde4_!*)hcBVrPhgG%92tQ2CNMFQoSQaO1>Vx{IU&2!I zoolU~u17LVR2eHP|CkrXyC*4C9F3;DTjVr$D1n6!Dz-9+R)5)R-w;loO|>we%28Kr zn>$*W2UEx49tE;ak6=lp+GK=(Gg3S%~Dvp0%Z=MmNsJl z7?R&y^%CjQaDC*YPbATAwBhs@ElmCUl>Wz?f>FEycsgz*xu2y+#+DF8(oBAKovCiD zcJ&1SD((&UULKgrVel%D9uyrPsxp>?3Xy5NN^iKu^0|cTXA$vp+{jR<-$sx?ZA@z; zhtQ1A$wWtT2JCrlkYJS`1UbC2dj*|x&apCd*S$Tww0hpRd#1hki_}eGq*KO>(_f1u zx$G}+hjlq>RU6sRbdK%XZ%t@rKg`%p7FC$`%QXOlRaIBEc=FnbTQ8Nrq%2be-q#s0 z4^1gmm`=!qm%893`m%j=PgR)Wo-Jj|PjgE9>&&O8nx5p24BLUuQ<%ngb&$sQjEL#{ zdy_+Dg~iuC(V$DtTrD1nB3L}iOSiV zc0we)Z*cmAb=q~B*i@uP*&(K4N5!&j+LjS0gPHPz(?8A?To7rPKMo@QirY^|bCtAu z_;@_`sY`nSEp{K=`{CKMJKv6)Q>#~RP|;et0=?EM=U{v-r=q8#W8iC=J=2c0F+^(~ zgm28+2sk|T2a;3^NuP~D)COPxbk(i<&K|k&^kX80@z1PFW zPe}e1WcUpc%xPptPdT%5$a;3ct zU)nbai7uDn=;RuSfNfEsWm;gO^49`N9~y62zeDLkycN{)XVpZ+AcF-*Bag!?4jVCM zDoa>r>ZKE!EIBg%_jht%HQ`~PV8b|1F}e16?&ovpds-Por&U4J%h2c^JU%d%<7fc! zXCL_%;sbJ?4%T%v89G+leMa>k4Q~+eq;QZXY^mVGs3v2CoG#^fjOIP?Vo`I&fZ^_% zq%M1X15GCW zOLnQ!KrW7fYO!ryAFUg{a5*aqur_m93}|P6YKa;!9O~B{fmlCjoZZbONQ^{3_}6Ph zsIrO41RmWe5^hMm^Cc@E_@WIOuJ5)4iMn90v*5EC9M!5BM z>#GN7j9cD*bBS|YNe&~xn-M8zt?)j3<1lK3@#&m%t#8!55PifHSz7t0IE$Bf?zIPq zYx>oHcVZWKP-qeSD>Lp$eCT=^40g|TKKbLam5(&B28>>gs4+rAaXS-D5GNj zV>~nGH4gO%QlNJ~Kd9dS`Z|V@IpLJ3_N-FoQdd@JZbIk38>++zi`XGKCGO5G*NN>0 z1GS4xn5JhXhU!}6F-Je2v;glq$w2wGtp5<63yoS4nvt&K*A>_t8~P%F^$78%yR6uD zV2Ima?QA;2wQfl2Lu+|8i}d>s;FEh#{zz>Dog~8u9j3RXllBQU@14*pJagA|e|l+ztNa^Kv6E&@KL) z>!5q!&oGlnxF~Eu}~nOCsho8E3U0K5{RU2MGwK2{~r1m3@S=wAa$rsCFV!{Qe}I zm5g3_vH%7^k~*^<((rcw5UBC?&8<*3(*u@cIMy*=d$6NM^9{@rK!#B70cM?Hutzr- zd?mQ<8GlYpR&*$QKK+MX5=p973P=R3+gulGNhMTiA1R#xV%aiG*F$u<#ibH-vK7p9 z>{+!b8#c`Hkk0GE^Mrlc7mNp*1^(ZzGqa`~=I^M)^+_>dW>9dV!tc`~w8g)MOybc| zcauNZWV^0hQ*hnoK9~w^ACx~L1k!|SGI12SSlU{;7Rg6;W_-hjK%q^-&~qI7P+RJD zN0|)INZ$s!B?gt-byvh^wM#?ER9H^H z?A{}{IlTUM?etD5*%U?En#+Tt>caf}>6MQZKFst2_n8S43D^+p>IcX7x2riG=U~5V zwnN1YT#T)cNMlzCzY)$gT~y^H-}%P0t0yivqs+O`+j-qSj|jY^>Dk7-nP`*D`b!>vg^a zwQTRqJx+WDF{)}L5|>Fcok~F!?LI3>dPSVR#nJsuG60(Rg0E`zb4od z92u#;;*Gi?`3M6ae@CpVNvUOoAt1i>&+hnb1v_2L2)b}NvYE(bKtxW6Esl0BJEal~ z>7Qas^7IB7kj7V@L@Yv7;wtQ{Z_PULN3awu6hxNSYnT!tF(Q})24GV*T5C()Iuq_S z4+P7-e;jjs_f<=#Ky9-Xwdj_sn+2mg{RBJom0Q~|8){Q`pe27#72dTCH2Y4(Z0#Vk z67*O%oiZ}=-jZ9HZ0Q=Cn8;YKGg4Dvl3(0cP-_j6`z?Q#PZQ$xj2GfPbu}?@L8^Gj z5c;ZAA9jxd@k9zf<-)&@d(-Qht-9H@4SkBb`gYP#Ema1i#675EUn1(r6guJ z%rVq)H9g*Fro8^vTqYOVu#|#1ddEv;@tzqLGWSB!UVqI+olmJ7umH=K`H=AD-8}?gznK-+*Qci-T8& z#&}W)(m9@JjPbiJZD+>xQu_!3z@1pj$0K9rkOdM3wui0XvH2>p27@ad9Kjiw(?AUk zSriY0NBrGh^LzOl!EGT>JNSFFC^V@4#&jj4!OM>~e$G&MVrX$lH9?%;8No~)zMW8M9JV%@3rOTcKYFMwE;p=MHZ2d`(Sd|}bN1C8~ zEO>++`74nkKa~^G=B|;v7kJ*Qzp%sz|I1jJ9YKytDE5Le6G{4GdR5u3Q#}?dC?MH4 z8&&SpuVZI%wbB7kBbd3wsjQaJy3L#uH7DXA6O|B8?C1R*9)~H(ZLc=mCz^7BZ6MXu z%isCdpa`vx@=U@3wnR$r0O|U)gAocQ78Mk)Ym+*KN$VG#! ztvS~GH7C^lExT4`7sIH&x=<$8HQi94t`qTc(G>?Qv~75!NJHg2ik)>Nt6dFl$VoBK z=Cdm6deR6$ks|FvOP;j<)L*ho*TQ%Wn{Yb?jB9c!Fl!vCssqf^{5UZ$8%o|%%Vz#n zZ;0to=q4e2Xkq+NMUi)d#20B`Y4~zJPlfW0psVdm%(}erHFq{HzsFz=1!(oZyRa zEA_opTSJIwhs{z>ki#vTC&jH->5+T&#VYz!_aPQQPeIQevte*1vXLN>RC&#va=b^^ z%@iYf!(QZuWRQ4V)uNg8?WCV}-$x^HnqMCo3QL-0#{Ye1HoN_?-Ci*L0qL3#j4P1! zYZU)6{G=aioDl%13sA9`>IVZXQu_g$6xn$Jo*U!PvF~@mTl=$zlH1>Xz3rd-_!nmH zSTsJ6(u7uwt4Mx5idZBw^~`zMVeOk3mE+Hk&aA$dHfCs<{7N9}58;_>Gi~8n&}S{s zrPqXD%jc5JvsWJGGl_X#x%wOJg*87F9;CgM-@W57f`EUgs-O;8B+ye0Cdvt>)t#Fh zt?@o3n6=iw^ z)=;JzzPaf!>1HJzo)s71aSV6O6x)(B?YQq;j3ULpx9cf%WMph6Id}+0&1Dfp&VS9c z>bLr4^dh!wHRWh@L89weBh^(?0vI)79#qZUInCNl!o3MDI zH7SP$MSh5$G0(XPo6xVjRoX|vdgi|?B=TnRmh!uBU(3p!nBIUo7;(!yk`%;`+ed@J3(qJbus5NS~`TyqoxL zU_5bj-O@J<8KlJWs^%A_E4BQ#5gY$&wMw!2lM=4BMUJ;rPJUv~v7Vp=2V*IQckV06 zwP)bgEAd`BT^9VB+uT6HEudS{_wPAIEh>s*A zs<*;&bU&|bjGAIu{J1=S?oIXKxB*O9VeXw-YSZ5I>5?%MK=yHVd+=g=`LXE$X6IZ_ zqA+4_$?%N*1h<@$X}N`yBvlZcw2sh%}2obpeAsOjHtVk_nj;Txzd;I1c>?|l4o z@Ewbj*8JjnBqYIMh=Vr08h#^>o86_Ug>wDtKkf&od=`$X;c*n_=>kLhukVjNOPsg~dev}udNs14X`sf* z3Un7iab6*B=!~<{i+r7cT{kb%4n{5fpMVB8F~>Q_69gwFYiTjG+;|Io?(7=3RTF_{ zqP>CYF=R}agRIbiggU_8m;rIYGtvE^ArY*pH{|juQJqY5{n#tVSLPgg%<$~8LouAn zN6oXB!(1Sbnpb4Ikj3!5&9qgTPV;DLP`abu})Z9~hd%gER;YFyfq(3e1C)TtzynbX>(jJU)<&$;B z^=S3uDTivz@!>=6oC74N_^vK{CGJ>qkKH3bxQwR;0BhAn>725rtyt=TrW<;s{QW*C zPppGDXNbu|?@AJ&0?AQQYqi1mp%762{4>Plb!l0PtA6=nluh&OL-stpWz$ky|EQab z)|7pp*RAduAu|DF&Tw|@kx(UWH{CpwhBn|}iY0~x`pAB*{~;Ip02YHi@+1Pc*01*) z1XTri(R_9teB$z+Yb<|1>dX70h(&1nu5m;EAgEOa+rupKqhJvHGh_86K2UE(Ru>;R z1>Q_JKgX*&hwAy%WuYR0C$&%7167vLH&DYxM$lMMUK!GNaPgt5x{jOuLNZz13Dx=) zWlKq3M~5`SW8Y>CcrhfESc?z~-u%A8A5ql_R--t-)yN&oFZIx|Pr_T=1Eqg-=QNta z-@w@9U+<66uTOTJN0NT>FJrRNl^nX#W4s~<^oU@;;`_;__Gr|ZQqyP1=kS_`tePM( z-3B~EJ{zMfj@mLTy44Of#sLmHeba;*`9&SEx*9T*cULk{chjwjKf$wazE%qlGMMT5 zXOEp?Xj6-xh8SS_N=`WlYHyHxJ+mBd2-DM`>sJk^W8V#*51K=f`IuVO%%)f>7m6LS zjbAr619vJhyy)?$nIK8!k1BDw7$mEw(xjhQ%YQ&?TvA7lYU)udm>v?|i1!_f>}Pj^ zQ8&W@<$r?WQE%j-WiiOlNU2*S6ZXn)!8XJi_CdO~aSD^8?5Y!Jyuo_}CTc3nZ6bxg z%mmDKq?hInryQE3_u(&bW(3~7w2ycphO4h8TVomH==~gAETwMNQQWqLUnji9_vPk> zHE53k#r^z(hRa6-Pz6uq7h4){h!5=g`y~wqILtcwm5M4*c~-)tU&Pk8z6)*OVZfC8 ztJjF-*6)h6H*Iu0r(K^ocwR2sdFo9mlkb;3G%g;mM+7K8oqh97KEf@V2+%bRsfl*$ zt(c%y)hv65vOgwGEsEkSIA`H>KQecWYSA5dNy(sRG+5l%6-_R=t~UkH+U#Hq0BpT~ zs->F?MyB1J$F8F;;N+@XXJH)nNpj?`(F<>k(oge#ZxGcf22^W@)4M2vtLH4jXk`q& zTBqKi262G<{l&4jBG_sSBL75Z?jZJZJ5CbUqq*0*x!)4-&pEO*WRS#9%OL08i=)4` zfoGt`Gao*t_|21i*vj8qYPx}Cap1mea6?%hw0&CaX!Y`NFgrubL`*j|jv|??JMbsh)w!7vIkquN_C$ zdt6zJmbg65q_%#h6S6ztBj+DH2l(E_- z2AiX%2!fHmzxBb*3fs7={B&a1%e;lU#?!Q{xvgr`EyA-a#Gi>-8QEI zE1=ZGP%(qFm+OVz3ZtG55$L2Zl0`E^ea@&a;DPFF=*nsjh)`-gw3Y!WVTFrY0<|ic ztvbwYDMA}$JhYxyHd=BQdcAJHF|E;cedv@K0+UM2_+EjEW`USECp7o& z15pRYVi}k{+4keR_uD{_Bg_&$NBxUHkWseHtn+MxWBsn0ZwupkWCv|C)3l+}QpR}@ zP#^ODv`)Cyt4`8cnu>u{zE)}N>Vh7t6ji7 zpf@-GraVg(Zh)#3R=DZUCoY!{GnkoP(OGxw_nKh55~yi9j$kU=rB9TfQu_%m@hfiM zO{zU+%v3736=!)|&hb9359KBg;?$`z#v zC7}BdYppuPwx}}4zfIU>R0+ycaBk*FyJmZg?#u-~w_Zse9?wERV^($4tfzD}cZ4kn zS={1|Q}|tK+_2`SCyYOQarOO5g=)A~#p7_2thxTZHuzCxRI&pak}xUx@_k+mMrD63 zDQfw)rKWbjGD7E9R0f(GO0O9${E9;~2e~7EmP<~rxr7@|{n;9}1J{~-96WxO>{#ds zHQQN95PJ8ayM4b|-uG(jb7R(ai^CeVmL6i(f^xJuO6Lu5WClSoLauhq+uhNN|EvkE zY+E0f8g-}BEEHH~0f_yq3Bastw6}uBh>>^aO4PG9J*YIuj|F^`E98N33XrG=z~Fm8 zmfI6{6)`k1$uu8TCzvswRWT(00xzXgq$RnFt~edH zfh{uk%#p~69v`I-?|CcAtHt?k5>EU0lio?`#jVabreWa}3QXrQx%k$^{TWTO-g@}B|}1Oh{sI;pr~<^*!IxYL|($s2#OSh3OZNb=09Z~ADFs_X9T=2Wb$@4 z0+_)fl(I=Lz%e+5cwrcCL+!#85a|LA#2?}2uPCSqIv$%ZKIY|tj&xTEyhh~qjJof= z7a6)7T1@^*P^1$wx)}8tfS2FUDJB?)4IYI*8nIXpyS zWnwZ2tYW?jWj>Jr+Nd3&*R38|n|ZMQ2?SUQlg;Av@wWVs!<;-vT3OcqcL_vM2Rrm$}$$MdAG6_RpHJu+GI$Y z-3KjR&%v#pW$2R|&t%`WHJ|=&rSC6s$B2v&CG0OxG*dTsQ)_HG5rYim<%tNdympw& zmI^t1DJHytqPPeKlL3;4o)Msr-va$z^Pe@p+?h*e2(xMd*ND0`!PZC8%5HlZo4N^9 z%Z2?CZj0ZSr8*YvIlh+whav-O&N>Mn%p0dk<=NRwSiYeiDLeu*ySv>7Vr)<6G1GAugN zZ=srS{H(Rz7I?VT9eQw3k{W_v%uHkNI2fq&V zc~()?ggS@Gsfx^Z**rH2a2ekFW|9lBwhaQ8+v*F;%HkqD$=8T`?=n))LOyRSWoDA2 z%Q1qHh0cri+b2SoSauKhOC*9p(?b!xZVslCgI;@R@M@*T3$jP0)hh9{WMBZ^kaYIGP4mmS%VvM zlqxm)KmsX|ikIb$+JR+r&nORv&?=emnF9|G&u+&A@nsNcQ0}P0<~vpr4fAD8%P6VZ z*FayReBcIPH;^aK6Jv|7)x1963)vkA&PLOJf>--~u{Hc%;d6;r4(%yg7k7C)GTpM4 z%5=9`=1BiJ#x7B8Su6z8M{U@3H6Uw_J=pQY#v96ran8aOp<6ySuwX5D+A!LAtxU1SO=q87BvLhe4;?9jv!oxoAiw#nZg-lxP`rU09#+TnWe8P)KEC;S0dhCX z1lmLX$zW_LaSemiFYDeg$H;b6dFPzGxGTp(!9af_G zRV|2%Vdx_}+H zgzUl;xmBGsfSQeDQtT6z1-UJ9RK0*)r5TAACHe&Wc5GWU{DJ4azZe8ZC^=zhrmUsE zi&aPDZMe_L#JoW+jM zWmRs92X)tGb8eyNF|)w2rC+i@gDIj9={(xVVo=Q^eY&}B4nZ>c@R38N=x0CFe|Wn) zT@RC{WS{NKNz6#$;=`G!2;?YE&0ZwqMDubOH_#3`<$eSCbGtT*fIHw7_H= zXT>WO2ds~M7G*840fZsld(b}~Gwq32t5K`&w(kKj|IJ<1#D6u<_M3p(0MLOYo%?;plZ<4ASeStX- zh}8aMvd&ernLaZx!4>_XsvsNPePEnx{E`}`RD-FYWV&g2H5B*;omiN&MC=)`@;@bO zT4=khh79Lng3!SuTJ8n%`VV_^V{BtAH7NM=~Z@Z9b+a_X@<&ND4gOd)cA(WsRRu zl2v_jU6J_)AhKHaf0mvo|FxLZp1RLRsq9t4czf70n@VSD zodI{Nw|tcNdMVIEeE!VHPNO-o7}r%TB*}VlSG#AYzd|k`xMU=q4e8@ixEd_eHFc1a zz0#V@`(p}#ZWM7M8~+WP%e2@QrZjmruz%E26at(SR?<#!;^%U55zHP)XZx z=03<@9_;V(pgF|pNC^N|vtTXo;jfW-yTw%SX2_?7Zi}2v`*Wp8uLXSmhUq2&hmNT; zStf5%xspEym&A} zQjeM0(g%6M`uYD@NgWl>(peX#P>+K@ha4FI)IkhHd`;paxMwErr6wM@qkjqaSo-xA z7gzeH?ituUeqKFj-?1Jc)45a(p;G)B8nftnm|HYo|7KQqx*~!tO^Y9pmc#;gDk|Ya zA|^J!run9$3429ClG-fhgfmu2RqY5|#Mnz3eo?R4qXn2nEhx;Yw%X4AvNs9e3mSIp zyu%{)<3>Uh#q%`uV9~r^8;8SbNYs!4BAV-@!5_~0O3ovSPS=qbIiQq9!pb1%u+!JYQCTB`1%r7rua1$vWTE=D z1Lf@`c+D4Hwk?zVA?Zic48eEO&BQFnFB${={wl1#Y0nrI0YPF1KuxvN75AQ8RV+lr zjC~|SgtRj0!i+ij3Wf{v{L*POvrT5d$ZdW)NOY%Ladg++~jZ4ZR#a>NGYJ$w}- zpYv}86p^S&Pon;ub|k*nbN{b?74fx5+l6g+QAP)O+#SRBIK*UkYD6^buSD$Y!HW}q z%?V|AM07oZzK&z&{Kjp9zgF;@7kB`W=h`Lw=RJRCaYc;>o31K-W10lmeH{EQv_W&l zSgzE_VpC0!D|Ql|K8cw^;}!PU&kAlKS$Y?%J_mNQ<1X;)KM}q)bslUB@7XWvJ?ch5!bO?PY9v~E>Q6Upu0tM^f~L5`sn&Qvo~lb zU+nANV%0o%HqK^}*mnUl5-Fzdkmo5tXHEj_lKQ8-*?KFk#O3>{%z4NW!w4QiakR4H zM**(X@M~ ztT1kaRzCJ3@B2F>C8`s7>;pet7e)tQdSc|<3D*+hXkdK~6XW6H~d%|9Fx`k`)jWeTiE#8s;PX&=Hp6#VVV% zhahV93D3PXi*q(K;s&Qp5u_bt>%vf!iHjK#<5KIF5*q3or=F%tI&&__>w ztVO>~o$&AXb8;9=Do42ediz>AB{yRhc|V%XvRSN{d^6qQY?#28BV;|EN=8+8R7JN}7^iHk=)YY+cU>+GHY04R`j=e-w9LcMhF2Bm*yUXC;~b$qm^z3}@?+dqy- zH`*%J+bMMBPWdU3#LrcvP8zlZqO+Pou|ZE2sGni&<#bxoTvr0OMKqeFL{6lpIQ8+$HooSAww zEU11gNHjUmJusKeam`0onXUV&p)E?v4o)bhi-&5H)LP3+SNSuZ2o)a*yV=!S4RXr; z>$}_V-a@XL;%BC_G=J%RZ)OhwlZR-FXrvKV`RWf0>a${*q>Sr#3N-(aa)6k>|4n1> zG_2r36!$?{+!+}j8{WVCiC?8=K1-|92ut7Pm=657^;K42aQ2boDsr@qaeG0F6^_EY zG%~=OF{*0A4ePsggfwDa7_2$YW-}vGFTxY|dwO&OaYNh$2oAc&oF1QB+9q?MyV5q z@80(h+2%dYQyHR~J#nIOW#1yFH)d7E7v^)^S!27cEL^K?=s?9cV2Wfd3dT~3iV_Al z#THkxpx^LiLM0eX511q;8q6N$zSz32aSGto6{Ut^`hRd#LaV)nhJ22edOJY-p+4U= zn;LCb0|4H8c`vg}8hq&_>85W4#8Wc}{rJL+=<-x5yY|>AE8Ev_Z(3G_@*5E$Xsh_v zEb=hyMP0-Ud3MI{_owTktFDKkM7$)wbt&?j5_HXo&r7&NVwm_?L$^_zaR%NuAaJ8D z>0hc5u$gSw@Eb(Z*iPQEw{^l&qIrBI(zG+(;7>>nNVx7>#NuOJ@!w(LS-)o7%?A3M zs?Vc?6E{C}NRY_sKfiTs^C3`5%F1LP97r3r;y>onLk&Je|6kIf@I^*L0{5(b3W9?Ox?sc8j>#b$zIW$QYTG6|293#2*>$R%**Sg5|BHe zrqoHgzYFxIntGzQs${W5wqUjqTm=@F#zBpoV|!U zPs=nEabIVnsU%T#EwG6Wpqvj*h0K#@x!?6o^MpB=f2`htdj~-9f#WdLy4;L9jYivK zK!#e44hPsi>yJ$WnFAfx{Rii^V?6r=1;F>#57YdtAD%H%Oe5P& zWTR}W8NrR{2wuccOf>?FV5(C(wsmrse%X0`0^y}H^i}pe1=c$_He$fUQMMw==GdD4 z0x6ZR{~m%qS8_L)A;TB(7*uIWNPiN3b8+w?d_2lQ+V$*JYbJ=wd~pA%7NLuFiKx>r z`h?|%o@`WCTp^h^D4?XQhAdgLw98CgMyxog0m$AI2{ozMZ>i{8T-`EV;l{1Zq~(sD z##iUjJqOtMUt+=wE>w}E{IYWv{P#~nL28a@&YVxOv!$7@itzvNT0?P<@?Y3Qv~ zqYN%onbQY8(*fXv-nUX8h(x zg)J-+yEonbegkei{Q8mZ{2e`EUYwhKQnlrmdI?=ofLy&+nT+{EXMLj;6x!jK-*}RWm!J0TC3}bAAItaCv2zSn_^sF$>VzEwgnvzWi{kq|72vU5zTV zh$|NTGarmy8AWz_eRDN;sEHHy*s7?4cp<+OLB9yv_2M6|7{7&veLI!iccitOUKtrF zHscy+>ji~?q&4Jp_)E)CuZCR!v1Piz)*hCRkARMcm(%7vR)x<_BFRscVD}WdFxPLb zB^B$xFYr)vY)|fP@|w1_fdZhZRBsm2&ePaKpZ>SQ=>h;j>#DD!Og_kX5byDJx(6LT z9GHCfn*v)Z{B&Z7bYqf&7^|K_8}dVad$nA-zXQ!|M`H=~C!E4LgMX}cX%xyQO5`yb z@mGZZ^{38&@60TC;IX%eadD%i)HY5juk5y^au?YGycp2=4V-#5s|(^6gLKvrcZmYu zMP(m+|!=?t{XG`Kf+_a?eiCY7@LV$fWqUwRuG)gVm^jBK?R~r z5(CYbZGzpN6u(m9iqSQ_2lS_6^e)^U|EEI^{q5uR@)4|VA;efN`4 zmG6S(T^aMg#|C^2P8z>((RoT@V+^{M%1OGVPNQ7YtqSy_KQF>wro(-S<+`mSPv-(u zZg7Z;L-!4;`{7b4l)jQTEs5nDywmpz=b?nW-EgC_tJ=zpIx++3zfs0t$^qxjS-e*+ z^qufn2N>;L-3cSmO%q`4o`&vg5CmMS5g71G6^ckl(4bTo^LCu&PT0q3+WGQSPSXS6 z*h_;#EWn=y1kz5>6X!V^A(92%rk1_%(jJ}ACKsZ!FMJF$5a?_(zQxLHMH@L{R?2&~ zC&huhWRV;IGS3#N?|3NxT8OwF>g66vF}MIg|5G*hjtw7RY8~GPJ!*;1k9%YzBP`u$ z)eLZUw*`^Dn=gSs0gwLoI6bWDt&qlg{G}(6e>F;$=;Dgw$#9b}##cF>pbzfUh8f6m zzp4?cXS+3G0lR1x^8OjW@0VZ>xY{2lqXkX6Fh}NfI~oKT6!UxP1eI$nQnn?aTx=y;9R4B2=|t)I49M>LiZMr)=63GLb6 zBx}-%(C3bFW6>*9*}uzR*9NtDw_XvlRf#?NrCE4jDiWEJ&F1*%9H((%>;9L)`&nqNP{<5tT3Fp>_)p+s-Q#NQ%$ zYGxw_>rK_~*t2~QfW9ti`}HnnEZ+G2%F7e-Uz7op2SPaEoF9Nsi#&{#%e}+t0B2VS zE{ciogAZerT(kN>0s!MO0O3nwvc>~glMI^w@MAt^e)FpqW@(((0>FCFuiF-m&urhJ zs))2Ve4d^y{`!j$+c+~t{%!iW?ZG~<$i(P@($CYhe~5H1?K4{@^fZfS3H-ISAf;LV zZ#^jC_@Z*U@2c258lGq>&^>JAi^NT0<~FeEJUG7n5g@|^G#r4!AyspBzt>wsdv7*1 zi|WWXZ$`|@>DUNTqO7ZW#l<%V@QG<%^(uD%kpo;FXw~kyE{SV^a6r_Y`oZk<-Tjwr z0J*E`66u7WC}~jstO-gp)@Z;d-MrEXH-YiwnGx~-Ppa&V$t(ltKh{G9c1Ik0h@VCr z)hetoK2F2f+``vcHY+## zIO@6IQn=cBLeiEDe)@~>^NPCtnX8H6Eux`vO z%g3ZLT#@vi2YAKA;Oxw&mv;UY1TaEyrNLV0e;REaekElCe0y zC6a46Kx_=D+O3?Ha8je46>C`e25HM!CT6i3Sp;x6P2HM^Bn_-MB@MKn@xC=EF3eaK zDn3J)29C&H65D`~v9wl%x~z7ZVN@$$wufEkd((V#cC;Z> z6U4yHmhadpeOM78k;{__FZitrm(YLOv!i=r;DuS{M#lKfecI@`2cS%1IM=9ggnJ0YwS|)`{3py(_4zmjN&XZhMMC`5d z@MSmoBu8drb44++XKlhC?wjAxnkF9-b6W}Ul)s!0nkb&UrzDt~ zf8S|hZut##408?I?K1Oa#s@I!;DY4NiIG}s6F|p!W1;_pHydhVS5@e#7%&L!13pFI z1tX*z`jke(+G^IdSuxI`s=2Jd5n8xfpCL^ zCp9fHGBqtCvGh~U1<*Q=?YCFFo_$J?vG)7GLZ8(aZ=$y?GLBVWr){?wp-2tXTE>tX zytDE%K^A>4NoMmQHTi2F6Q!9su#cKeJ};@-F%Q?m7P_lg)pa>x5vKqJL3(?is8PXl zz3Kka!`<|g=LG*aqunv26JjS!0sr^y-nPL4nd$G=+cHhdM13U9Ng;US6W`s2e%}VX z=k68+!|i8}=^B3do+dkfFuv^|y3_YQoG=s0_g!}D1jXy5upOCMVvBsT?tl+w-RB8w zEk|X*-p1>>vAVNc(p@~R{LnqtPW#+*HrntJ9#Enr7>Z)wmhT@W)M>8z{clO$nMY(O z0azrGP}$x$%*qQC4>IGfukkcdblq1EbfR=Zq%L<9K-t4q`sw5iu-foSN!9rJ0Z3Ji z-M~Ofj*=zi%^MAQwNlR4I9)U5i3;wu&;^%`d*?OZ0{lmuu7|^;LuSY5}3?b=~9MkA!tgT_$rSSm_(Y zrQS#3=>{C8d}ek=x)cpw5j z8$gEv>yfht_XhD54wpYJ4jC!NF<;P^&Zf+APk#{ffyjdcWf-`zA zadpVV6lp}?;<-n}2NYmBa{UW60(EqzjT;%D7N5Uxe&9jqd#tA2XvkH^3exrhmZ6`?ItQG|Eq3Ly z7a2We9y#1`C**)9bmcO{LduudwdhsrhoPrZ^aSRpYj`l_9!79%T?hDx1$*(PIg3OlR6Dt1E$0BF#pT?$8^2ds&RH`Om$y+wxza=&-8ovpc^0_6oo!78ETr&p2`8na@60gD z$1p|WHeA6lnn{g!922b4KCs4&ZT^@8k9PLWPE>83&MU&(GFZ6yY3>Be81~f&X-)o5 z6q;ZdXCr7^HrX z0CQ)Ugq$xRuo98UR`+*OGl)YYH%?&9M|?8*y)K6EU3o*R62zU*0Mmg=gALKyeTZaY ztAWF}H-h|g9w5)c+QX(IR_7hVG(LUhy`~w?ua@5=)pyBJ!qeg;*-T>8wKUna$q7zj z>|OB#K&k1T!rgV^NXh6{HIz>50)r_jucysaobN$1_g({22MOP|VuaXde%t_)q_9h9 z?br2)jW_NKsD$1T0Syw0IcZ*4lBV64j1>ALCLl#HiNUD*4PD1<UwNMM$(N&1-DXnGvrdbQrK=QrS(ASr=;kX~=j;RmhKiK7A7Z zI9iL2S`8u$KiU$z3UApx-Z_i8v+89dV03}U*Ywm0Z^T=zsWf<`h@E7;I%s*%FKA^3viE$Sw(9_S=UR>0_X!W z;ArI=t)9V+cGn`1ZMzJpEnGx@Q|^V;#cJAThW|ABci48KGp8`({k#UXz2Y=CfDncf zHp5P3dE&c`j~zxkZ!3lb9ZXZUGwLtqeHLBt8!cR}DPf5RxdE-uwt!=IKo&b}K(n`L zZs3M};-wkqgFir|rk^&}4Vd^)=HbP&;QK*Ttq+xPzV2unehDFv$$EkQx7Z|PMOlGD zdD_}s&b}m%x5ACix;0V|?IFHFw{#ZT8ZzAtbutcA_~*|1#Hl3M==B!QK@D)VP5^2# zN@s;^IEu+HijO%f@2J=)!K=T|Tq_^WNB{Z95g|TXbCd`Y8*mQLk=gpBBqa&)nJFS= zFvipdVXnlBo;;6!=bf*AllhmNtY9_h!R9w7$QKX9H726az&pS_uRB?WBu11x1+$RU zyI-f9{Mq53u;UhXrJie);pgV}oQW$xw?>}lfaK}o%W}QXv`x#cJ;#!^{9ih~qk+o; zMxrr0E}$&ejep3rVFErMOrMT`i9J4miG4dQMiDL8ig7j$^JDds05Y#SbxsW{X8aU- z`7&UQlD$hS7LaodXs)~C8~6YczA<-w+40rxi63o13u-^b+mWvxps_Oz&<2&1$%7i$ z3^Un8ethQUK7ECepUDMN@*BXZY?QFuw;zdY({1Asd}DtaYS(y^YPwA}($SYFam2yJ zyxByWPtQ#&Z?O6K;Fkr5C2L0N<|W9Qm6ZcFiOJfNp@ME*#XlcI=ih2}7K-fb*GF(r zmDE-Q=jhG5eo@hTR-#bRi`uUBvV%0!Q`V5rdi_Y>ps=Y+IXTFPb9~rk0ePIdjorSX zACtz)8*_uaWCD=m@6MjoQF4mgV<#H1cOwJ|{nk+@ju<^Ps4}+_u%5}H0d;IFlnUGT z*RrfFjI&3e@;pxS{40qk$Yzo!>Fh<8=w;?}1B&jAcR2c$pm?*ScpA=cYi^Am!H#NP zn6(jtjGIi`#sutV-n69c!#vrfn@PU9;*V^n8Zzj8{;={3>=~BN!Y0c4!A|Y~!lVkc zBlSf~O*mU?UzoYxbDc3#!3PhukvE!|AM{H21eZVLybpOR~8(w z&%_`Rxk|DSqxu# z4OgC6;$&x;V+srT>B?*-sY<9^PXALjyTW_T&|)j-hpa zHy4lx1?B6U@Vfasjm=~E1?|;xMbE=Yxdj?bR=TGY0P;{JsQd=vXon`Q7-jD6tU1F- zVf^hwz`npmUB={>pFGN6GrVP6J;1tJ!|9*Bz5JY(=}Sf+d$7KvFJlpeY16AfrOOTs z!gyp~0U!S@*T{G5lcKsMxQ8L>Z-!sVdH!O>RISLEwQ?_JT5QkvHiI`Fi+%a zQxtPe%25eJk>LDnhM=jI@QdatdM@qe!|&WLP}{G)xJm9@!~Px4%XyQxe68)1pb!6h zIxEOpL&ruoY}S(+h83C<24*IgJL#BwfCMB+71^<8O5CC{BJSoL_5U||pd7U}5eaCn zCiQj6kLFoT7bggqw-KbNm}X>VEpPxUzboT-7qQY6OKk;*AiD1~$t|ISYh^c`Wk7e< z#zwZU>d!qHfc}Mctm^pav8vv!V2~WipzrCr2~M6= zd#hO80#!2QB*RCuJ5@7)?;gYP^!Vw$cuj4sM)xsOrVY@(8p}htn4)uVj1LzZQxYUY z2!6cU5YVQvq5owxj~jW#d8WX3$hJ-`5B0?OcBZW6V+TB@Hso9A%a1MR7?-qna}1lj zSGL$b^X}K*MzXuebSX1A2Pwq!@awn^i~1PWdt8ntL(u|7y(aeqw1#cHA0K)p!1Dif6Y9^u&)0A(LlGPW2R7mXD zy5l?pRIC_f{%(>P$^6G>?q-3*i48ce%)j0%!=%s#9=8z;l~g$kU?`im-gtTix5 z%C?&*)=eDKeUApH8{93y0_mS+tP=sf(gx_5k8F>W3Fo&f^T{95p!&80AR(&ec=Zt$ z>IGq`HR-bu-~aVh3K9(ny~jNhIk0~d#U|>}<@gq+#qkhrxd3K07hs+eI8B>sC@BZn z^A=G@?=OH8h#bbycy{1jo53W~`^kt9i>n0;EuEkgrae(XBj(6;6tginpTML{91>_W zVAK^L3J@C5y;sxhz0wYm1n32}uiF{F$1R}a-NCbudm~e5!f z$ch2>-~?D1eL1^rvs6S?+CE3k-|N7t{BX>#E5+0YqdwY)EC?y@Ajl-$X!V4cG!33c zg5-J0;1{BSO;G}0CWwQthku#x) zR$?$Ib$!)+rMhdLtoLnAnx_dmgN7c|Amb-oq^8vodwzQ7Urh(_XIkSKtIi-yU5*Gvu; z*iAqv@&!Z%2Xo)H5RrKCQ_W^kUX*`7AgsxwvrX)nU>W@2ZCJi>aTrZBrZUR(#ovbx z!_}p?s^3#IU1JVi;BoZDdmIZfu_7R23O2#tLVbG1JfM2dy?6|QnZi~K(^0s$su_HS zIkU1$)y#LSI$zutMl%tH9wbOLQo~f&4;78*Iqj!n=38dxA|%@B2o-@ec}1!O+3NvJ zqAu*!E3SS@*F)Bc@ArtgZl~+)*KG0Sv?h0-$Yy$l=6}Fj7!A3Z`9FKIge$@I21DYO z=DpOZ-RQj$jh%vmaS!?kx8wyaeMuQG_aG==39@KC%zSCwmRkO6{OsI80x%d%8&U=J z-t$z#Gk^(65>N;C(^+|#{K7bc+Q+MFbVO;39vhQlJn+EMWkQlYD5w*Ip&nV5RaT{iez0tl zMw*&V*)ygwaX3ls{UU7DtUZB%?uxIDhj1W1yZO7w7h9`YOg9uyutV70$#mUR6{{Vw zXql+{Y4=9^L5Bg#fp4w5mqQHa*(D%Cs?uaVeFUsNkPp>1%?q ze!2=xekaQDS+;#Uf_IIJd;dGwBILKewMWKJlu6qSmkM3g!oD!_=pQ|yih9tzGWhJsy$OgZ67|i{@cN3uy-MK$m9vS9;;j{B*AQ)MSI~ny#k{) z?GjdG^zqg-7sOLuk>$m3))1nta{J8n4hH(f^^Geh=FeRW0!ac=CiYQ=j{t%(Xq%=j zdBSWdZ*M(`)kbeG;zWz*!yH7wlj@ZC2c~7LJ=jml$U+zOTXO)^l_E31VDz?kB6S0U z28#X)cLXh@v&{4NQ;}3YrTMf)caf1AuHc;>bK{@udywf$dBX)W?+gDWt&QYOHvWK9 z)nx*i54Af;`>=#yodpRQq2f0~-HISnJFVsS-+opC zMi=z|Op`p})LI_fEWS);nfJxpOX{cDB>~&Hst)wqOE{qz3$^(#t&Vqf3jE|5#%WN( zOkQc0X7VsRBsaHy06^kkPJk6(6w+fcT7FaWkHt~NaE78xaEGEa_YubnKtAeOnC~gD zb2+ne*48MxNAUc8g>Qw+atcaI^FoRMW@VjTq-fgqI%%x~!-&Yv&!A06ZOtumU|h11 zk4bGRD5|45%m>0SS`|ga9?+@n5R37EuG@WVq^%?2QW%$m$G)7|mpE{;_cdLn7q zij<5^Chm(5|3aypJ3%7W=A2wMx27HPyfUI4`@wRRmtXSA-H?WbEIvU2*rk)9^5+>( zCm=ET8uBSzSM7Z7ae$=l$LonDgcq^kD>w86l@+4}ogh{7dHKn6 zXrXxt12h{ClXpWcFpu2SPZs7P$XB|Zl&MtXM3&~!O$2*PfepKk&wZo#x7yCDKS*|7 z-(Bz`$*-d}UFK$4#0X4dCWn}Tr-;+N=#X^I1m5C$4c;38){}<|7zDzKyJZ5j%=OaF z&qtC1{_54lot_``RHK(Ife|_}GC4HZ830eEOz^Xyjd6 z{Oh~AJTLx7s+Z{co40X2VbIXn_P+}OTFJoVA(2MW@nf3$KtBUbgXLD#qQ6LqvcCQ4 zp1Vz|rfBH)H~>bN8(f@quP*(4$o&d4NLWNSl}%q_M@%S}2%CRUhp4~*A9k#HOG^$^ zWf@Qpip@E*vYPiYv2(}`ng9|nU?2Q;>qUDl9J-~rjI_ia`mVJ^Z{4VutdT3{UEm$p z#!?i?C`jeGcXage=B?LU;<23EG*=v-8XpCqJ%s#obD7SXo|1;E;NNt{zQBF}NAXOpt{W@QECqu@4H~nTR2Dx$MTP=>g(bRWYOp!i zcd3GvrFXB=!|2l&mxYFmi~VE?IemOPHqLxP`(>7Th0M(H{wZJ`l*XP$O)Xyh;Gezk zXTF!|F`lXSCk=Gowl4xf?6`y-n-7<*XvXxXNGiJeS6n;mAc|*D^!d*hIx8W0-hO_< ziG5k}+8ZM~!3@lH)98xH`c7kub;zQVBMBJXq~f!rU#ET1Q%Ad&SG{TjDl!6fFPTez zaVLRc+6hB7s89)d(InUfop8V|NtI#+a??~8w%6)cU5r0PRkGe?CU1{#e@J*?A&=Wt z`t9&aV)K4S3 zVE}4+W!@PP3Ze`0X9e|AfZL%n_ddoFftiSEgO;~rHf1!@Qheey-`bh*X`Ouy&6z03 zc9kb<)bv3mI{av8pUEpsVO~KmOQ`|H@>dI3z!JR*?#?X19|a$?Xl`U`idIw!qb@%` zdY$8Bw?LrhM-)}mPHL*wQPG*82H(vg?F$cZ!xeFJTTA}g^bb&mCVg20=s0I)SX+Ec zSn5ev{Ih1JydT|p<4oeQJ?OG=Co=?D;PPN@*Dbg$D{;m?=XJ--rKy(Sk`JlNs|xX~`=%!Ya<@PpiKd)=+By6_VF zcFNLf$A)=z)bp2gPws?-FJ!rWJHRbkw06?u^`T<$25Sl9+LboF9aoV}{$KDgJht?w z=c?QLb{~0nis_?Whvy%d*Fa?pKfH4qVm~E69oF6_UL|G9CR;>_0uL9h@M~w@fO}}| zcV=*UVrIyIx-~zVinC&G=)cDcefkJaP8}Xp{L_xSqwURS z@fm^ki1iU!`t@`2lj!`~cNa?p+`yo9C`=jhPYny5C159Zo}yPL#cYyh_m}jck>i5; zmhpEm)DY3k=B#BTqFiO}Pmw?CDf9)(dGe$t%760E)v#ZCxsS1M)mV$=bjR_ne4xJk zmAy2);VW^f?RBDT>ODUYNGwqpE|F${6B@(!Sp1`#ZOdET(i%JF59tm=;D8GR#71s4 zA5?ri@v^aiqP7_eW9k05KQ!QKZ9-}PT36fYmh#n9@R++<&NZ&T`U>R=_K~;bgjMey zl|(~d)XYL7j8c{AuMTZyk)3;FpNm8u5DFwP?Oc#5q4p@WE&fGJ2w7G&d7(2e>8kgx zF0-Wsc$*)Gtp4Prwm%TOxT&6?&LkcbWIhJ%oP_)wx(zWGfDmFrkA>i`*^njR>AoSW z%lfpuP;x@B6ir7YW5zdgtGFckVVNPvY;HW8Kn`>4M}wI<_vY@YNSia!1FF!MV5+?` zoXu?JuNV8)R!2+MD^Y_A6HEM3W9MpR{{FntEsO;d0U}k7MPl#}5bp#}abo!yZpZy! z#$!#4Wk#mv@k|qTp+VSBJXu01w=+Yfgv;!MdpsDio;W-%C%P>*vHhZJsg@c2^nN0A zBcz^+5knV=ner<0E`Kb9Z?4oqwrO$;uYuzuxxCJnorF-p6%?+l_n+?SRs@e>p7zRt zcm6Qrd?Y&iOVE)diKaTt1lvz=Sbr=EL3T(0wb905H9^DnkawuVtA(>ZD)Nzcf3;`b zoBPyj9~St(WN@!OE_m!F4FCawS}GY!8&+q{Rcj3{JasUQCK$2q+&R=Y*qN0gSQcF| zbP5xl=_9}}vK_fDkMiJ|XIWeH8JJ$ec=kHH3MJ}{2)n2K>ot>Nds60r1}p`^5*7LB z$vW8d(o2h1*FQ->fJX+wDo&DCp4`~msn`kzlS+51GGd3u`uahiH!aa?s!k+oNvp7I z#8gEtKs4f09L{PvS%O1#9!ou0)JxFYjZ0aPnkn;Hf;2_13swRj3#XW~TYk-b8mo93 z1RVC{)#Ck3-Bt?vA@xRDd(1J*hQx`hBI!RwJXH|73 zsGwxZN>kSrHLD8{!7y)=(ls##*`F1pA)SUr-*CPRFJ{Kquj^AehDTC^)smlpGXH_;XhI#2>lX7(Q z=AQzzM0#@G1fGBt&lzqgIjcdzdlbNadaM<0rkZ)VK`*1tnpYG4VUup@G3a&WPhvBF z#%Obr`_0TJJJTVK>Ne+PB5Sgaxca#bVB>`lFAAda|Fw9$?^1Kb0J>RMda18;qJR@5 z9UQ8U>QRy*h|pjFp$a&ZKbm}XACqGudMsQda;{^rRdqf#*!+U0<7WX61i*%@=|KDv zB#`iWrQ*~~WyNN5uS!^v*eVQV?m|j7R2e)bR;N7cl}K)U4Zx*{q11LrvcDEB%o3!r z%(SGu^>|V7$)kut)RMB%4dXNQQ^HVkX#?h2a|ZLOl?N1fGK4$=3*O1n z7!mIEo$-&3t2q|gUYEG5)+nDi*Mf)W4H}@)~w;P=*Yg3 z*;e~na@>yUV?EUM01(a%SrDlJZC_GXz3i`0dy?CFgsJcsuq9H|F33=pP`6t$ZJk z2lBX*=l90GXdI`-sp|@JmEG=7B+qxeXltB)s#_m90P-i4BpisNP95}E)2pxDH3IWx zSRu3*!xjU)sST8|*g3`gE(Ki$sk?aAE-0sXC4>F~1CMR5nIyd-BrF*$=Le6W`bu%a*udY%Tpn&8r9xJA^=kp5U@#MF1vg8LbaU$h6=`7~$dzd*;N+X#gV z&R}}k>V;)Gwkplb*Fc1SYfIVYOe{lrk*vARJr51hWi)n184HwQ{Zm`b8tdBKip~~S ztAq#sax;2mk zqPQU<(E4iEk(iuj5P zJg3h#m0*{HNfUm;u%k8AD=I6yI{d)CKYL9@I8HJbwT`6JcGiSdg||ErD&7G!GVvfz zJI!T|6S3f6wy{tb3KgM7RXxQ*5}-wZm?TK6X%lt&sQ98oV^!ZSs=~BSlSF6gpr}q2 zoQ^2|WZK+TVQ@7NE=FkZwXON~P9N(eBf#{69<-iIk**>#hf;rldR3Zl{7_(SY5Vj8Ig?8st##o0fyX3G{LH_&o$Elwf$3zX#c(`gBRD`9R*e`A6rJeYL3z} zJbxf>$`yBzX0qL@VSs{>DrIC1(H`|Ok>b>&#O}q%KCHQ)i$wF&^DSj5UjzT|*Q~Bx z@6!MDE9auFrb*&ky|;j%eYtHzB4HnC9!EGm<&xvh#E7X*N1+BRwSed=OsRpfWsDui zT$cT{h5PNP4-znyqJY0nUUo~=5<`ZW(NBTbLlYPP32bE+LDHE+0yl@mHwp2oV$w_& z6js)XtG&$3ZiQjj*7nrkDQusYtE;^VvC?WXpr~Ed@k)yiTcs9EM8QzLl}hnf3B` z6JG(%mS|!;IBb6WsbS*8WhB832&{)FspqUw(>N3hF^}Js^kFai>YBG9S8y~ z#)x*)^d02?i)Q@1%IsT>nM2EJ)p}|W@K9ZwA3iF6Gc&&3>rXhnflW9;1y5g+b5!lk zqAE7Qy2eS5#qZpT)oB#ispm!D*vCLd-!J3LLQdYV1ZaDGs^iAyj-_be%eO+98KiCZzb@9T+}>} z>6v+cpEsEoCaY>0z<4UA@Pzjm)Lr=@0HTW(Qm($FU(v|=hrBE;k)|3>*m9i})-S^I zkhi8QJ${Bg1vUrB#Bi%-x87@2kmnLX)%1W|eSM~^H;0_io}d0FyYP1Z)54RG=Gl1{ z2Uf7id{gNX5ae{9M%SK2k!4g}jxUEi-jVSAP=xvfGJwK-sSuXDOSOpj5?H2@j5y{j z2nC_@YmvY+KbP?@%Bn>r{Vhza3^s6^?f0yrtocv8gB>(XOr_e>mH{aH?>QeKCowFc z;@9p6*}?Rz&M?2GdxyV0s0X?PFkr`UWh0AQ^plexg57DE0>q-bq-vbZSi7x-@uW0N zGU9c?6nd&l%B_s(^(decP%$h`{<+FJ@mLZz$< zZnuEUQL&dS&9qD)NW(dq$IhqftsZ_6uu8n!qCx%rR`nNrWo1_z>{;aI{Q!Tm-E(Br zzYx@Sl7VR)j2ql z6(z>4%S9}tMcIE)(&F(W#_oJJ5mcO-tF}<7BDX+rrq#xYI`1}&X?Res;IL=Ddzlz^ z;A~3Ew6drX`XNM|lFR$v^N@V#w1S3t-tktazV&i*Y66%hrBeFy_B)ePE+>LC%obho z>QqiUO<5}OQFTR@^-B-s)&qNdcAS%oH3K*+gnUFsm;Nrev{afWWKflSv zH*dbc5S|p&zZbPkbVKtMVByPK+o9*Xu!5vW*1KE-C86cb?;ZZh&w>U}GuvU)E$5z< z#8$rUrk|MKzi^GEX3K4yD;4$*~2gH+YC#({s%pcRpJQ#1F4PHCmSoE&|LWm zhvzXK{BJLw)pv=8@-`V_Zah>`jcp&T2AcZPF>6t$(`-TIXd46bl=qwlA8#l}*yoaH z^v&w}MsE%OF1VV~;^-~7oJs!v6RJ+nuc90v*-4Hvw9_0I`(WAm5iH{>whIJxt;&wX zk~C&qoeFwNGm$t3P6|}Z=}9UCBUo}x>+`=;ZnS_@IH$=mIo>&WVHIx$LOd1}-e$=*jq%n@x|9nvK*S>mi?9}?K_9^n-RrN{yUBr%=XB@N!qPHkhtNanD8E37NQ6d;Mub4yf6{(hZ&I=SPR8^)Cm5^6sz zt7_$jN*ejQmXD1pn?Hx!cGY|UqCbXL7Fd$nwp93GK%(WL2E}te)SdTD(=hS3cQ&tl z4Yc*j@jkwrfM9d8*B8m}8w{usy{|woDX_E={O&M>>;(%1{df@-@dTcBOvgX>B=l)( zq0lLLY7*;GLt;|jsfmoC$oYgG+X1&OnTi?}QA%?j%bs%_u(7>B*V&E2X8P(c_RM`> z64}kjYeGE^0``Zj@_tWl$yf3WrhZxxbdhnrtK-@CMfWpz-ky*XRW{I#66$9xhkTND zM9}Vh^M-7ZU-Dz{xqfW2hQ8&dJPUEdBQ61$L2L!&o6qw%zVzU1|{A>bn%x%Wx;v(bNoTPnQ zBccEO1xSiI-;RMy_d1NHjB_00E=aO~wCjJ*c4sesC>OSmFtp-ua?>quW6|X6*lb>ipq%e*VVhk2>Fe+E4?$DCNy7w2FO}|9uXWJ1!9s zDWV<$6{b!uwv`ZM*GUEHZlCqPGW@6l^#eNdt)z$X%^ABCtSk9N7~B@gCS--RAXGmKHxh$*Mf@_iZfwbga!+q#CUvaf`Iu=C z4_u61dPkoK(7pz_a*H4n-VqfxHUv5y<`)#yhYjyooFgOn4S%;SmU}mCF-qv&z#TDu z>AKMkkL>2J`R$(ay6pQ#7|-;R z^4eYphrC|ey*SB}USm7}Vzc67K*dD;RF=WEPj3@uGiGU-OE|Lg)?AQO9+p{gYwzFE zaedCW%n`pwk^b9srNmM-VPr)DZOc1%n!pme*OVl96P>Xbihz*8k@cGKY)7lPs3PsB z*WAYZm6nc2e!->fAq2rgn%$_-0|%r>y4Pfho|$z^UL{VSsN;Sru0um z<%f`bmcG1k2Bh(v2*bHYpMv>Ch3$$(qDC)9Xc=K}|0VN{7>mHT`9#ML@ z1KbhD=Pe>LO_Nv?Nop-916kq*I}m0PW|c()sWqQARC^?9=;`yba~>n1?WO?LC&AA= z@%!dTGTli?F*6+YeO&gN=iK!{q6e+wHUxwNm^>f6-n3q(e=zFAS$GsxX0Z_)9Gi>g-(<7Sexabf0f=@(xrwWgaD+-`JRO-|yD-q$ss zSiLy)3b@s$gG2Vsmh&p*c2%I2Wi1D*uTe=?eo0=C7t8>#25=C=-Hi)GKEBb!X+P<^ zdG;T{^x;WW)kmtQM84fPGEKGqvH0Cr6_GwtJ)uA9a5~Kls!01kx&X z;jsuZBAss z){TEhgHu}bz|8N#9euVDi|CezXim!!->=REZ9o%S5$tJVo00i8Vxov%U4MBQ(*dM8 zV~2bt5G5(x0v>KHRHSuPQ^~F~=yzsZb-`6BI7gx*b&s=INAZVQT6$PcIGHb7t8 z<~D3iI_y)Fq`>HuJg_3qZfWCJY{yUJDh-LZAl&mDu(P|bJw{}*^)DmP)fUnR!A$rk zn({p}-zYDWl`S{GCFDP+j||+3Httj_-y4g45Tp@wB&CVe_qxf0c3~+8-e&ptc)09u z!6`y5NtxfI=D^?);rC0 zawO%$ScF<@SZOBjgLm=kyw_*QTCW1i_;~|hkcUWXlcz3{mx_;*_Tsfl< zL$n186yHnLNp10@4_rObJ}S}=%JS7T){^J8iv8T6?RE2Efg{dnDf#oaVYmP!d@O;8 zf;^|SnluM8#wYSI+3Lba$tRw0nK)gvg|XmvLg>Qk`M7>JT3fIZTPp*x(!P$tL^T^1`Nl^P^dE z?%$&8LB6&k#_rpjPLnWnMCA!M!6g+5mV3)oKcP#5E|x)LCWqrCTH{cge2m$ zmcbR-AXKSn39dNbAPwM<%cM6oCMuMll3(;?Y}muQWOczO2~&_SjNN7Pt}&*UW;OyI zS~>5s2bmWS&x0rQgxM0jeLu1Fu_A3O*;e$OVIzEc$c%u1uB$FdX( zh{=?fdmS+-x<=l;nI4=@&x&WIYt^bA%5v%ttEb^ihu&ni{L&{05ezu1E*opa(K|mj zqkX6`v=d&63E%Joka&Q zl>5&}=&5y>%=%3C7Q5-Kuox4DDn@!~Rbp!w`*CZx>nZ?bQZ;ejw6dXZ8DfN7lc@O` zfwo#!^d`FJPBJv?7pB!ZmRL{lE@83U!j#z72#xI49W3JRv%jA>{KanFoN=L}v9_P1 zo)MCAESvz6T5{9eiMi*Q#m#ZeQE31ynTx=M$%Hc@=>sEREL439=WUIuHKe>6Nice> zBrnAJY*9e!Pd24WWG@c+aT#6w-h2HQI~C>5Gr=M>mxS`7+}nL+S&AbcNZ5 zHVJ0N`3y$+c=(zOfqetaz$J8_L^_O2+!Oqq$w>*E0*bXS(IF+XxP7vdfEHyoXhoK} zw0&Cre@1XSHBqB=aO>w30BgcvkAxvPrAofqag1B;W;J zzk;WRRYCeK5xWD|6jvoBlqrNh^AiLvZC(_`av+tP4!g3}(Omv&q%FY^-2`70PM*T# z((A$=#qAM|ek)7mUUe?A+KCaA)U(1HA$#iSvL^CtCN5W()-I{ScSzLb1ib*C3Iyx~ zsrH={(;=HbW*5SW@(%WA$`Y(2QmK;-tLbeaKzPjdn;+5ZLq3Gwn)w%^g4G5w#Ak3L z({(YeLd5!2)V6!m{5_F&;`3{~vkRA=p+f^fvZ5`g--rBJfi51%3%lfyl?7!3)e{Q< zQ*UHHJ$lt5r!j2_MvKVUJPPm$bII6v>wvnX^~&+8Gg6a@9aXBkH(L<2TFFp$%$=$t z3jMk-5osWZ^8p(H9@(o&gcZdZEdt!)hasVl|CV0t!}BKvPr?72`S#=vkpNbJf8(#; z?t6ZYylkw72}bK*izpniGR~QQYLowLj5eEg9)kzZhIj0Y65qMHl34$F<=sNrJ z!VAU1EgIs-UKV;yS{-34l;f zbM-HnZq}uOCEH1u)m1pOg?y1(`!FPywO6D!w<>2%1cP2YI+pL&d}o8EfPK=YO)i_8L)d_%!ilWl@6+sL& zgg;LHP7lV(iU-G%FpDr-8(GnH$UCaLMm2+FeC7*9c=4^j=+S^t13%O)-%s4-$i5ji zo$}(*vv;g`NQD<7!Z8yR!(6YsHr4b$V~2`MuI1AV6r&^!=(cY-FJsplFuB1ywW^y# z(u&?mJ{|of-rfJ*uXFU??N;DhKXSpw1x;bP1L{J{y*|6bXDf|=Gdn~6!)^!t%eS#w z`D2iW)B&+*q>S5m4vC_yFK_%KT1O*@A{3Mtl*C`_D{BcoU^E*@=?zz;J~cGLwizbs z^ryJqw3Jpzgq;UMx5n$y!YEOFX&G4m@YLTpzO;nXomx0(YiZ&+^&TokK<<+2Z=jlS zS-|bMwrTcWciLYcN_xR-J`MNJjGrY>ZVKv9JzAb8j{9?WKnB#48x2wqBH^%S+Tyib zx2l1~XEAeZ>J?Q+8|-UR_doX%Gao^sreTQRf9B&+$CmezS6aw+W|rJmIMBvk_P`D$ z@JOZScnMYNXRosv_}6HiB}vBySL%b0lpes$-=P&uteG!RYkYPW`7N5+u<&8mnP1GK zNCcz3DMT0T?kODEt;W4#ffZlfGcY(sb>S^xjp>9e4~*Fb&5f^VUC|j#G^eXr<1YXH z{VL%GAV2Z~85b|oya}X~F7}X1?Qb=x_EM0dd*d>Clq31XLUGnQFc{UbB0(5J0KRc*Y1I%g$0iJrvLmD&`nIRgq*%iu#;Ssr-)0eBYh^4Q zC+e^F@qP-uiXuEsFGW3~@(}!!ok@W)7b*8z0OB(*0Gqh)SnJ*8)UX;$Srpb1hP1YA ziFaltHT4pdBJqZpw z@S=Hh(oBI{Z*Z?yulQD}y#H>;>y8q0m(M$L9iF;A(!GLQ+qL;Q4XmLuq2Y@$>s#k- z_;rD`bW@5N|67>h*rBz$g?uZb*(ziD+&fd}31Sb6G;hK}4(5g>U*E!uC*tezU;JdtMh3LV*0L!aDm zy$FPr(dZO`OJlzK4(VFbS!(PxX53K2v|1^Q*`_T5rrs%}&F4V}>`nGuXF2QLW*ZeZJh7!_N~;-}-}pHv+keYbc2gDMPa1^mb+>(wucFU5~-+K69LP z1gWHY6Qc~hYlU^izN>{Mf-A@z^BJ`#f-oPhho)VVS)f)}K><V4@~^PD1luSAJ;chMlVawYq1x}WVmSb-{;z9TRwkhM{8@E~2*DmF%nUHoF+mNKQ{5wV$66Ek8y*2a(lC9(dD4T6r>mmv z*Wt#o*CmolQfvd6sdva+I;Y-dD=l{g%cY^Jr}l?b01OwzxQm)1yS=vX!)=>_xZ^KU zGLt}#4zShtY}==yGxc|wOPe^pn)(zeR=D5it?D=1`ACMuZSWkt(soxnHuZmMozwpX z{I(J18PRKIF#VqPJ@U0NMusa^{60gcuCgyGOhPwx3n%0as%}hF23Nwt2qeP+9b8A> zC{?Q}|F z@l|wvk%{-WP<}$s@9A>tP*+kjPZ=q(B87iH{3p* z(ski22qdMWk$;Rj*2=@X_odf*5piP8_sLAo1vHPHc`v|@H5C}n!jH(s0xOHtb!WAS zN&72+%%_XjdR49N5!g4W-(tyngZN&Y>MwDQXR0jf9im1FjW>`ozhRf zkV;`K5a;gE|8)Kg;Eq1oyLUM)fgOGh0Jq4fqWXumkEUrV-^c4;N3^}g&lUt%e4QW4 zKFBHA-1^J$1JXB2KsE=!#u`XJ%|qYxbheDtM<-n;4&}v+tkVLbLxH~2&2<0gr00w8 z05U+!;kxsQZR-`97OY=p%{%K|bso2so_s41Z)Ni5ga>AuVFr?X`rBg&e*R(B&_#NX zj&9-iYPpC|6?MbOGmV5bkjh;gfM5_r8+rpUv#6{`Ebu-FVgFM54ofTV%mIN$Y5pq~ zj*t&tMga3z1oY91nw{gTE{|%FUU$8Jzb#6){*dbJh&e~XBZe2X2mslkV?n{c--j$g zq`YQSp~?!CHUOB4V804<2pLe}mI2mMM#ty2?w$wnvEiAcY4gR(G{iex5#o;5oi){@ zN3Xgz!e$;>2H3Pd}OeSA?HJ zn}J>f2~BeGOd(^5hsDBr(lLIi_2OH~>g413#45hxZqh#HK#x zcA6U}+HjrrfzNrH?NL*TK;mB5)J_Ea_7@Fv#!Hk-dDf-bnYXA11wID2>}s9?xR$j) zm=fm6G(NsEcUWX42rvpa0Z}G%+weCmQk)#+4xll)D)sSdf*cNCA4Tq7R zsfIo%AEXPCeq?U#IKT-~nKN--{$xp2*h&A!g70rdd8_9<=IfV!1G1XRzFk_lH~`)M z+U}r?wys>1zliQ!2siaemw1~c0uU_z{ynT|020C2+n*wQ66zAsmUFpfw~)6eb%cLE zo!3dTC~H$n%}DJvyoKh;bR%+mfcUjH%&mA_Iu<27JM`cL$16w)-o<~ zFC_PYZB`Fa!V_CARV(MJA0!|eSCM1+heD+qK48@ac-sBJGE6n}^5dLzcgw%7wU;Wd zQcOR5^yJQ8UD!E7e-}Lc)3=F3II-hkWd@o?`Mhwug zZ6hBy|7gaYJr8p3y?8+e!xh)-i778WMRTb9%fm2 z1*tZawcEIyiE${Uk2vmUAsEhul4Ziq1gF-;@k_(*{;@c#QSY&$2P<%lW4Uyo=z=|( z0t$L7vd{Ul6cEI#CuX^P-okSJzva1m0|>Z5|fXQPT0`WvP&mP!BKvC_7kc<(kC;f zwnx6dFa?q}M}g{>AMuKx@bYZ!pM)}^r94Td)n)>mF)shpnUhKStc(h}?r2_!{u*<{ z^k*#kH>DzwGFdnefPSBa-R+o@=vN?@37awTv>PS?$eqMpL$nimJ=OJ3l0~}+cE_8} zog9|6`xMkQ@3dUA+Z1?*dx%bjPF-;61LK^W0@!w+=dr615Rgf93Ma#vJjDy0e=^HA zm>L&y(w>;ncW>uym9gkW!~lA*rm22PmBr$!xT)F9EY@lGQN(9iHUFt`qo3?96K%#?oJ!B8c4AbOXm&%fW z=zli+N%d|$HD*PD1DtkeK{BSgi*K7DoZWD{&Og80YB77kveVtx5hhTsL(TIRza7`aXjJfWJjXvJt>cjN2WFmENJ$aO>Ec5Q&jp6aLz0Qrs$BcT>h#Z0dqse zk#o;9I6I#642o_cbP#0W%WcyWF*LtyW+zVdl8<4Ssi*TnkIY`dz-VbXs@h~=1sk}h zTUo>j4~t&!Mr3y@=({)~K(G5x&|$d3yZDTO>~f}f+(!o@Z^zUh*AUp+$XD3S3hwmy zrYn5n$)5%V`gSACXO4i^7po?#@xpikgaXvZMI7s{U)82 zq8d_HN8Qr!416(}4mocw{wb{R6Z~>jSMFxyUmMz^0Xc~$LQzCgUS0QibzM^&egb2OgzrQ#1dJt20L z-OuM!VlCXeN4`MY6JFBV|EHX9ER&18g5bvm2Ybzw&6dsj|b;(f+O{zo+fTtl5W9PMY<6{qWyogVLLB zk@|1C^lRLEq))0gjUXu5zgy>Z*8;QrHD6^0tr~UX+lj^=_t?m@0AZeC+BtYq2 zn2{%fce3(tn`2_7wgjGPxO7gkD16Y{M$z3mrO)i+ND2C$S9uc0JRE7fFYEPbtZNgm zECZ(8%d!UC{}m4Nm|tYCbhLah8}5qJV@Vl$Q5b&5|BBnfL@fOgdIo}r#z}H~;IK%q zI0+V?YCux<_#i)vxRI7hST4_z)^GlvElF{g0Nqr*v@-m5E@s$pPBB;HEcnISAiE(? zGDli5ALjg_@EmnU>6-J@mxn_BChWE~YeTLkT&>#R!-1zoqcDZoeDBN~G$kJzG%4@H ze2?*GDM5X+Gx4jCxov(C9+-f9QXQ+x0Z?)^rh;e*i`fI%pWk-KFt?vCY_7mCvsLvFexXnaOJo7zTJ|{jeoW? zJA{Zmr_6uP&8C7?N+vTHB{|A%JE*8UA{0)x-Z|%dNGva!c}KT^Lj#2PpH^0X&)3#$;?D{>Uy;{uU3_Lg#d5v2gbOs2D!w z-gsIc(FM#oU?mGcdsR81z7=JT3b~vSyP$A62#Zo~X^ym6`Nv76zEV)OY=@0DMz-^B zKz8gG;pc>Oa?Xa&u?QaP{2G?W?_MMj!}>OH-zCAodjW9Z$X>=RPHA(u%gdcNxC&S$(3C0s=?%`l@o8}Rfy4x>rwivZV5AwdR ze={wrg75|&s@hS(=Si_b4hxQ7F%tfWvyYZM^ocPZ03%Gu=Z{D9KEu9ulHxeSVFpN&@jKLP-as z=d!WUoE`R3KYd(#agg;`;1cSs}V^ z)De1$RW*CUrz|HkM{(>_yRu`Hqp}jz#fm}(`?I9NwgW4YFRf)xNQXm3sEg1_Wx_kz zdUqDZ&Gmd5pLI+89}Lay;+7x}zSRLA`9$s}Djjnt4aELG@+OG7Qtv)9 zc~>Ani{%KF53$HHz~J@M;QGljWjEtM9^|=%`K^Bgz54x&FB7$?OakC;>!Ij71D{3q zKQ6<_tgnL5FSfw1=~jlL?nmNjA)j}N0i%RbCjRF*Wb3b3!Jq1OpthWcAoayX%sMKSHFuf$Jf^FUzJKEC0=zgvzCJzFtSs4@4O~!^>0fYUP;}DK zqSvjR#;UuR!9EehHOnOA1kSE1?YbE9NyR07lKgMkAR(WQbB*XRJUc5f5a&`cMCy-&GvziyU8r|TnOJ0kh zoos?7uM$scvMF4P*!=t{AZWq>5dnc}G>~cz9pEJJ`>ZG6k*&>fMYL^l3|M+KYh8P3 z5JxVMxCsysm;F8t5fTKSXb)$J-|7554Xy&Hg)2pMTS5OoYG{v!?SV}hHj9oLp45-D z)(V~#fo-Qwr%qhZ1#eS3C4QzR?!-I`D?vmK6u48B#Q1%2;_Sp2uzfjYA~-AOa3oS( z&H`F47nXGd_rTxN96f#h_3nJ-UxbJNLV^kw=zM56SKHV%ZK~8xs{Yn5Oa!5&8M}9% zC$~yweW{qjs`uju!%O8D<2;$MU=dk1Z$U~melOKr&ahi-EozzGsI;tu#$Y04hML-> z;v{RFT6vS#`9lR+?9{Opti*y6;iY#bACju0hv_q&$m(~4Na+9&570+-@P#jePlSgJ zejlSACDa8vgoa8?6uWTI(K7Gy{*p=@?k>`Y8XpAYITiGk@$v6S4jXi;Y-x(#WR}xf z+NiCDeC_wEnWWJa1UoQX|JLvb4BKa4JM3|Srqv8%UD2g>NH_L4dEt?L7S+D@L__1n znXwi=NY1o()}FiJgDXD4JT zpHeB6;lrKc%rwhD25g*$r)=BxLYH1BhUh+N1{xYjWWKJO@l_zE9Iv*J1GXaqJK_&5DaQioyJc(M@}Uf! z92#*ipqqFfzBYfTi?Q*@c}H9Ofv~xO!MqM+)3(uDF(c(33awiS%eJ4Hj5iMHnsSL zn77Y@_l_V#vLx6pX5=N+A1R;fo`{Mv;D?jeF_E%>_?-n{9i(8n9gMVRafN{AiNsE@ z_lf3s_st15deW?V&wDMX2#c9u6n?+8q`Zk&YJb(~qz69v0Qjz;UDE_WSnaV{W7pr2 z7j|j4*WLaql$!}X97t}}?6gUB0Ibod2T&!*DJxG&$w|7jsFUNXL+74iO)iG9M3|3gz#TLrJq#6_(Q z3Mf|Eu|6`rJ&~~l#$s+SZTbwWRl( zD%*=7o5b;ptUuBOy2j8BXTw`r$GJp!UO<@-`A*;bdHH@BgKxDF~^zH;fICP zk`M6xP*;2Y9Ip{^2Ed7N^Ax>DNVVpLqxV0%QL~PpelUA;JyG+T)nrVnszSE5XECjL z$aA3b03Sa_Q}u>h#JQq_F?)iqNNDQU8RKGm&YVemAQLe&03iJVV#c_}K)ODCb5k-3 z0AadKhL%M&tMA~sUqFGAGUq1C_$L2QMldO7h2oE2!h~#AGERM?^oCzFS%mIPKF(dh z;UPVsd{PQ}mQmE2;7KzatMFP#V>fRuAARTC3STL&sqNN^lldxdT5 z55Vdl0X|PaLk&f2D*-txMyB?B)xv?~bLYgkd&*4M05772<@=@J6-dC1DddHNhuW9W z{>ApxNx-%Ete%FF1OA0NL8Gbt00()T>(J%8Q?5`)dd6d~=Jk07waprfx@4QCejydM`tQ>>z|cIiDieB_ zbA-J`dsOO+`xyn5cCgYip)I+m*Q)7*h>*9oykl2F|Kan_Z!?t`vBZErh>+u*tEuJZ zojo8Rr}SC@LLC?Pz*-<-3I+ULpK^kIy6Gm_+7kw^V5(3O02gLS=Uv()Xf^!x9Y($d zSu6DZ8W`*2WQ<$m_LMF;_W;%MET}s3A}fqC`o4~4BR?C6fx3t2m*1t_z!+<40`^lF zBH8th;x#m;TzJ5_uy$6Ft6L!To)f%_oPP-0r`kPxdhU^lhKgA7$N3-XpE1Gqm?{JF zo6akSDkAIxs5L((gltVbf>=2-NE4wD-;UO6bc5jNj}OBJiKK?(??^?Iv|onN_qUF< z_FrrH-J1ns1iou9Ca<1{IH-c%fOTKR`T2WR=xo^6Xno!Wt4;1u+IJ56*UgtRD1CAM!tRkf}rYz2!{f)W7R0(%Y;tY2C`k#u{UN6$300BQ5*oVzn%kZM+nj}JW94SZZnkzxT zyT1l(uNIo;QRGhm0JRzb9g&KOYb*3#7HN1rnpttzRbvN=W2aZ%3}2R;`s3s{5GcFN z;j?}k>a<-Iv1Z}>H-!P37GW-#En~L8PMyy1hO448jJAh~rX2RoCWxy3PQC0n zOvSxy_GE{@LzRccK$#^XXRq{F6(mmGDl$8?L6Gj|9yk&YLEDOWbT2qD?gP@lw4{hz zEf=IW;_Z&!FW8dgOfIW!@j6_c%B;1^L>_+`paYA|kO|u@d!k7H8^ zCP0BD)q?MoszoM&^?TLBa7CX7Xq!R-bBg#gQ%nePiHq_*2Bgb&vubf$Wh&~u#Jp$ti2G$cx-E4wG3~f zhSr(5x>aLgJ6%fq*KokWXxeLUpeznejN2OEB_`!ckPuOYhjmATIL@qC0T_a%mDg|K z3`j51zJEVwE4%GB`Es$>*yz2^Td61u=zo}~9gw0=z@3KJ2`de@UT*So>%G*&U$QSb z+7E6uD}K8D#go?gCw!t*(oW;+pOwHRq1+&wKhkFTW=K zqmCUDZ%O_u+p<$s%mzSOKKC^EF8Q}$AZ$|lgHNWT$%Nr;I5d68 z{6bvYSQ#*U`k@1z6jpj)s+I?Dd}=Q_b|2Vw@b=^Z8!vsMD-yLdh^76%g@i%h%`yjW z&qud#1~Lr@vzYX^0|lvA;mi#sRWN^9jHzH=^RfTM?D|2^Zur1_vVfr?(RHjbDTLvU z(-Atkq6u``>T#eG9i$ z0iB`mnHn;@(Pv#qA^l1zQ0K>wEfig@syY~Fgs>sjcMa^RTfT!iEGX2N>NN92NK=7Uu$?RnO1^* zea(MQ`T^=r!dZIr8C1INyxJWSL6}Cgis`g zbxTA0L?Z6;!+&LQWTQ!DOD8z8+wiwQN>5e+!1)X+XMuX{BR7+l`h&uRE?c@w^+>ii zid$LB#<1bH@!0p;Dpc5XL z_!D+P`elMnQVAaUCO-usBSnza=of}e0^}+$ck^N1l24Ik~9cz!BTR7~8QpR6S zXBRRHrPI$l$^`4wCET3glo^`|0&F$#`1zxT%7}?vSG`u$*?9Xipnm-AJo(6&Fw}V` zRmozUN44c0K=}<(zSM#+a9dZIcMXN3WreH|u(IftUZErFQR{?jUC9N2S;Oj}|>=nmxBOmzLzbi;pq zhJDU|@0K{Ah4^bY2~!%q_Iiq@!P4p;SmEv4@uFI*F7sfloB!`HAYe#q)~!ipbfQ~? z0SvP9q~bV&g1XP%*MlWKcJtW*fe2HjK6ibuHJH}^8npY5?UCoEqJY90iHs3@Hie*G zc&U&ug?y3}+yI!OB)k3t_`!}hR1}rWIhA&jW-^x%0DE@I$^EEyMIc!|#w|5WIK~B$ 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�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 `fetch` method: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=noMagicJoin,indent=0] +---- + +You might think that the `join` operator schedules the calls to `fetch` to be run concurrently, and then collects the results into a list. +This is not how it works! + +The `join` operator does subscribe to each `Uni++<++String++>++` returned by each call to `fetch`. +When it receives a value, it puts it into a list, and when all values have been received, that list is emitted. +The threads involved here are the ones that emit values in `fetch`. +If `fetch` uses async I/O underneath then you should observe true concurrency, but if `fetch` just emits a value right when the subscription happens then you will merely observe a sequential execution of each call to `fetch`, in order. + +== When to prefer `Uni++<++List++<++T++>>++` over `Multi++<++T++>++` + +The reason why `Multi` exists is to model streams over back-pressured sources. +By conforming to the https://www.reactive-streams.org/[Reactive Streams protocol], a `Multi` respects the control flow requests from its subscribers, avoiding classic problems such as a fast producer and a slow consumer that can yield to memory exhaustion problems. + +That being said, not everything is a stream. +Take the example of relational databases: *databases don't stream!* (for the most parts) + +When you do a query such as `SELECT ++*++ FROM ABC WHERE INDEX ++<++ 123`, you get result rows. +While you might wrap the results in a `Multi++<++Row++>++` as a convenience, the network protocol of the database still sends you all `Row` values and is very unlikely to support any notion of back-pressure on a SQL query result. + +This is why `Uni++<++List++<++Row++>>++` is in this case a better representation of an asynchronous operation than `Multi++<++Row++>++`, because the underlying networked service protocol does not provide you with any back-pressured stream. + +== Creating `Uni` and `Multi` from in-memory data might be suspicious + +You will find lots of occurrences of creating `Uni` and `Multi` from in-memory data in this documentation, as in: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=inMemoryData,indent=0] +---- + +This is convenient and expected when creating tests and examples, but this should be a strong warning in production. +Indeed, if we have a method such as the following: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=suspiciousPublisher,indent=0] +---- + +then it is clear that there is nothing _"reactive"_ in this code _(sadly, you can find such idioms in some well-known "reactive" client libraries, but we digress)_. + +As a rule of thumb, if your *initial* publisher does not make any I/O operation and it already has the data available in memory, then it is suspicious: + +* if it is a `Uni`, then it does not really model an asynchronous I/O operation because the data is already here, and +* if it is a `Multi` then not only there is no asynchronous I/O operation involved, but there is no need for a back-pressure protocol either (see the previous section). + +What is not suspicious however is to create, say, a `Multi` to perform a transformation operation: + +[source,java] +---- +include::{examples-dir}/java/guides/reference/PitfallsTest.java[tags=flatmap-ism,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/reference/migrating-to-mutiny-2.adoc b/content/docs/smallrye-mutiny/main/reference/migrating-to-mutiny-2.adoc new file mode 100644 index 000000000..c036345db --- /dev/null +++ b/content/docs/smallrye-mutiny/main/reference/migrating-to-mutiny-2.adoc @@ -0,0 +1,52 @@ += Migrating to Mutiny 2 +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +The upgrade is transparent for most code bases that _use_ Mutiny in applications (e.g., Quarkus applications). + +== Highlights + +* Mutiny 2 is a major release with source and binary incompatible changes to the Mutiny `0.x` and `1.x` series. +* The main highlight of Mutiny 2 is that it is now based on top of the `java.util.concurrent.Flow` APIs instead of the legacy _Reactive Streams APIs_. +* The `Flow` APIs have been part of the JDK since Java 9, and they are the modern _Reactive Streams APIs_. +* Mutiny remains a faithful implementation of the _Reactive Streams_ specification and passes the `Flow` variant of the _Reactive Streams TCK_. +* Deprecated APIs in Mutiny `1.x` have been removed, and experimental APIs have been promoted. + +== Impact of the switch from legacy Reactive Streams APIs to JDK Flow + +* The `Flow` types are isomorphic to the legacy _Reactive Streams API_ types. +* We recommend that you migrate to `Flow` in your own code bases. +* You should encourage third-party libraries to migrate to `Flow`. +* You can always use _adapters_ to go back and forth between `Flow` and legacy _Reactive Streams_ types. + +=== General guidelines + +* If your code _only uses_ `Uni` and `Multi` (i.e., not `org.reactivestreams.Publisher`), then you will be source-compatible with Mutiny 2. You should still recompile and check that your test suites pass. +* If you expose `Multi` as a `org.reactivestreams.Publisher` then you will either need an _adapter_ (see below) or migrate to `java.util.concurrent.Flow.Publisher`. +* If you interact with `org.reactivestreams.Publisher` publishers and you can't migrate them to `java.util.concurrent.Flow.Publisher` (e.g., because it is a third-party library), then you will need an _adapter_. Please encourage third-party libraries to migrate to `Flow`. + +=== Adapters between Flow and legacy Reactive Streams APIs + +* We recommend using the adapters from the https://smallrye.io/smallrye-mutiny-zero[Mutiny Zero project]. +** The Maven coordinates are `groupId: io.smallrye.reactive`, `artifactId: mutiny-zero-flow-adapters` +** Use `AdaptersToFlow` to convert from _Reactive Streams_ types to `Flow` types, and +** Use `AdaptersToReactiveStreams` to convert `Flow` types to _Reactive Streams_ types. +* The Mutiny Zero adapters have virtually zero overhead. + +== Other API changes + +=== Deprecated API removals + +* `Uni` and `Multi` `onSubscribe()` group is now `onSubscription()`. +* `AssertSubscriber.await()` has been replaced by event-specific methods (items, failure, completion, etc). +* The _RxJava 2_ integration module has been discarded (only RxJava 3 is now supported). + +=== Experimental API promotions + +* `Uni` and `Multi` subscription-bound contexts. +* `Uni.join()` publisher. +* `.ifNoItem()` timeout operators. +* `Uni` and `Multi` spies. +* `capDemandsUsing()` and `paceDemand()` request management operators. +* `Multi` `replay()` operator. diff --git a/content/docs/smallrye-mutiny/main/reference/publications.adoc b/content/docs/smallrye-mutiny/main/reference/publications.adoc new file mode 100644 index 000000000..05db24027 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/reference/publications.adoc @@ -0,0 +1,18 @@ += Publications +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,advanced + +Julien Ponge, Arthur Navarro, Clément Escoffier, and Frédéric Le Mouël. 2021. +*https://doi.org/10.1145/3486605.3486788[Analysing the Performance and Costs of Reactive Programming Libraries in Java].* +_In Proceedings of the 8th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems (REBLS ’21)_, October 18, 2021, Chicago, IL, USA. ACM, New York, NY, USA, 10 pages. +https://hal.inria.fr/hal-03409277/document[(PDF)] + +____ +Modern services running in cloud and edge environments need to be resource-efficient to increase deployment density and reduce operating costs. +Asynchronous I/O combined with asynchronous programming provides a solid technical foundation to reach these goals. +Reactive programming and reactive streams are gaining traction in the Java ecosystem. +However, reactive streams implementations tend to be complex to work with and maintain. +This paper discusses the performance of the three major reactive streams compliant libraries used in Java applications: RxJava, Project Reactor, and SmallRye Mutiny. +As we will show, advanced optimization techniques such as operator fusion do not yield better performance on realistic I/O-bound workloads, and they significantly increase development and maintenance costs. +____ diff --git a/content/docs/smallrye-mutiny/main/reference/uni-and-multi.adoc b/content/docs/smallrye-mutiny/main/reference/uni-and-multi.adoc new file mode 100644 index 000000000..bc8181723 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/reference/uni-and-multi.adoc @@ -0,0 +1,44 @@ += Uni and Multi +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +Mutiny defines two _reactive_ types: + +* `Multi` - represents streams of ++_++0..++*_++ items (potentially unbounded) +* `Uni` - represents streams receiving either an item or a failure + +[TIP] +==== + +The Mutiny name comes from the contraction of `Multi` and `Uni` names + +==== + +Both `Uni` and `Multi` are asynchronous types. +They receive and fire events at any time. + +You may wonder why we make the distinction between `Uni` and `Multi.` +Conceptually, a `Uni` is a `Multi,` right? + +In practice, you don't use `Unis` and `Multis` the same way. +The use cases and operations are different. + +* `Uni` does not need the complete ceremony presented above as the _request_ does not make sense. +* The `subscribe` event expresses the interest and triggers the computation, no need for an additional _request_. +* `Uni` can handle items having a `null` value (and has specific methods to handle this case). +* `Multi` does not allow it (because the Reactive Streams specification forbids it). +* Having a `Uni` implementing `Publisher` would be a bit like having `Optional` implementing `Iterable`. + +In other words, `Uni`: + +* can receive at most 1 `item` event, or a `failure` event +* cannot receive a `completion` event (`null` in the case of 0 items) +* cannot receive a `request` event + +The following snippet shows how you can use `Uni` and `Multi`: + +[source,java] +---- +include::{examples-dir}/java/guides/UniMultiComparisonTest.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/reference/what-is-reactive-programming.adoc b/content/docs/smallrye-mutiny/main/reference/what-is-reactive-programming.adoc new file mode 100644 index 000000000..d68a976ae --- /dev/null +++ b/content/docs/smallrye-mutiny/main/reference/what-is-reactive-programming.adoc @@ -0,0 +1,32 @@ += What is Reactive Programming? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +Mutiny is a reactive programming library. +If you look on Wikipedia for reactive programming, you will find the following definition: + +____ +Reactive Programming combines functional programming, the observer pattern, and the iterable pattern. +____ + +While correct, we never found this definition very helpful. +It does not convey clearly what's reactive programming is all about. +So, let's make another definition, much more straightforward: + +____ +Reactive programming is about programming with data streams. +____ + +That's it. +Reactive programming is about streams and especially, observing them. +It pushes that idea to its limit: with reactive programming, everything is a data stream. + +With reactive programming, you observe streams and implement side effects when _something_ flows in the stream: + +[.has-dark] +image::images/diagrams/mermaid-491ff27a51a5.svg[mermaid diagram] + +It's asynchronous by nature as you don't know when the _data_ is going to be seen. +Yet, reactive programming goes beyond this. +It provides a toolbox to compose streams and process events. diff --git a/content/docs/smallrye-mutiny/main/reference/what-makes-mutiny-different.adoc b/content/docs/smallrye-mutiny/main/reference/what-makes-mutiny-different.adoc new file mode 100644 index 000000000..0ef8e094a --- /dev/null +++ b/content/docs/smallrye-mutiny/main/reference/what-makes-mutiny-different.adoc @@ -0,0 +1,110 @@ += What makes Mutiny different? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +There are other reactive programming libraries out there. +In the Java world, we can mention Project Reactor and Rx Java. + +So, what makes Mutiny different from these two well-known libraries? +*The API!* + +Asynchronous is hard to grasp for most developers, and for good reasons. +Thus, the API must not require advanced knowledge or add cognitive overload. +It should help you design your logic and still be intelligible when you return to the code 6 months later. + +To achieve this, Mutiny is built on three pillars: + +* *Event-Driven* - with Mutiny, you listen for _events_ and handle them, +* *API Navigability* - based on the event-driven nature, the API is built around the type of events and drive the navigation based on the kind of event you want to handle, +* *Simplicity* - Mutiny provides only two types (`Multi` and `Uni`), which can handle any kind of asynchronous interactions. + +== Events? + +When you use Mutiny, you design a pipeline in which the events flow. +Your code observes these events and react. + +Each processing stage is a new pipe you append to the pipeline. +This pipe may change the events, create new ones, drops, buffers, whatever you need. + +In general, events flow from upstream to downstream, from source to sinks. +Some events can _swim_ upstream from the sinks to the source. + +Events going from upstream to downstream are published by `Publishers` and consumed by (downstream) `Subscribers,` which may also produce events for their own downstream, as illustrated by the following diagram: + +[.has-dark] +image::images/diagrams/mermaid-f71496c9eae5.svg[mermaid diagram] + +Four types of events can flow in this direction: + +* *Subscribed* - indicates that the upstream has taken into account the subscription - more on this later, +* *Items* - events containing some (business) _value_, +* *Completion* - event indicating that the source won't emit any more items, +* *Failure* - event telling that something terrible happened upstream and that the source cannot continue to emit items. + +`Failure` and `Completion` are terminal events. +Once they are sent, no more items will flow. + +Three types of events flow in the opposite direction, _i.e._ from downstream to upstream: + +* *Subscription* - event sent by a _subscriber_ to indicate its interest for the events (such as items) emitted by upstream +* *Requests* - event sent by a _subscriber_ indicating how many items event it can handle - this is related to back-pressure +* *Cancellation* - event sent by a _subscriber_ to stop the reception of events. + +In a typical scenario: + +[arabic] +. A subscriber _subscribes_ to the upstream - the upstream receive the `subscription request`, and when initialized sends the `subscribed` event to the subscriber +. The subscriber gets the `subscribed` event with a _subscription_ used to emit the `requests` and `cancellation` events +. The subscriber sends a `request` event indicating how many items it can handle at this moment; it can request 1, _n_, or infinite. +. The publisher receiving the `request` event starts emitting at most _n_ item events to the subscriber +. The subscriber can decide at any time to request more events or to cancel the subscription + +[.has-dark] +image::images/diagrams/mermaid-0277dcc2b534.svg[mermaid diagram] + +The `request` event is the cornerstone of the back-pressure protocol. +A subscriber should not request more than what it can handle, and a publisher should not emit more items than the amount of request received. + +[NOTE] +==== + +Mutiny uses the https://www.reactive-streams.org/[Reactive Streams] protocol for back-pressure management and the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow APIs]. + +==== + +[IMPORTANT] +==== + +Don't forget to subscribe! + +If no subscriber _subscribes_, no items will be emitted. +More importantly, nothing will ever happen. + +If your program does not do anything, check that it subscribes, it's a very common error. + +==== + +== An event-driven API? + +Mutiny is an event-driven API. + +For each type of event, there is an `on` associated method that lets you handle this specific event. +For example: + +[source,java] +---- +include::{examples-dir}/java/guides/EventsTest.java[tags=code,indent=0] +---- + +Of course, the methods presented in this snippet are not very interesting, although they are quite useful to trace what's going on. + +You can see a common pattern emerging: + +[source,java] +---- +.onEvent().invoke(event -> ...); +---- + +`invoke` is just one of the methods available. +Each _group_ proposes methods specific to the type of event. For example, `onFailure().recover`, `onCompletion().continueWith` and so on. diff --git a/content/docs/smallrye-mutiny/main/reference/why-is-asynchronous-important.adoc b/content/docs/smallrye-mutiny/main/reference/why-is-asynchronous-important.adoc new file mode 100644 index 000000000..b9c4e2774 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/reference/why-is-asynchronous-important.adoc @@ -0,0 +1,46 @@ += Why is asynchronous important? +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: reference,beginner + +We are living in a distributed world. + +Most of the applications built nowadays are distributed systems. +The Cloud, IoT, microservices, mobile application, even simple CRUD applications are distributed applications. + +Still, developing distributed systems is hard! + +.Distributed systems are asynchronous +[.has-dark] +image::reference/distributed_systems_are_asynchronous.png[Distributed systems are asynchronous] + +Communications in distributed systems are inherently asynchronous and unreliable. +Anything can go wrong, anytime, and often with no prior notice. + +Network disruptions, unavailable services, software, or hardware failures are just a tiny subset of the wide variety of failures that can happen in distributed systems. + +_Correctly_ building distributed applications is a considerable challenge, as it requires re-assessing almost everything we know from traditional software development. + +Most classic applications use a synchronous development model. +Synchronous code is easy to reason about, more comfortable to write and read than asynchronous code, but it has some hidden cost. +This cost emerges when building I/O intensive applications, quite common in distributed applications. + +In general, these traditional applications assign one thread per request, and so they handle multiple concurrent requests with multiple threads. +When the request processing needs to interact over the network, it uses that _worker_ thread, which blocks the thread until the response has been received. +This response may never come, so you need to add watchdogs handling timeouts and other resilience patterns. +And, to handle more requests concurrently, you need to create more threads. + +Threads come at a cost. +Each thread requires memory, and the more threads you have, the more CPU cycles are used to handle the context switches. +Thus, this model ends up being costly, limits the deployment density, and on the Cloud means that you pay bigger bills. + +Fortunately, there is another way, and it relies on non-blocking I/O, an efficient way to handle I/O interactions that do not require additional threads. +While applications using non-blocking I/O are more efficient and better suited for the Cloud's distributed nature, they come with a considerable constraint: you must never block the I/O thread. + +Thus, you need to implement your business logic using an asynchronous development model. + +I/O is not the only reason why asynchronous is essential in Today's systems. +Most of the interactions in the real world are asynchronous and event-driven. +Representing these interactions using synchronous processes is not only wrong; it also introduces fragility in your application. + +Asynchronous is a significant shift. +Mutiny helps you to take the plunge. diff --git a/content/docs/smallrye-mutiny/main/tags-index.adoc b/content/docs/smallrye-mutiny/main/tags-index.adoc new file mode 100644 index 000000000..6f43a9375 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tags-index.adoc @@ -0,0 +1,24 @@ += Index +include::_attributes.adoc[] + +== Document kinds + +[width="100%",cols="18%,82%",options="header",] +|=== +|Tag |Description +|`tutorial` |Tutorials to get started with Mutiny. +|`guides` |Topic-centric guides on how to use Mutiny. +|`reference` |Reference documents to understand core concepts in Mutiny. +|=== + +== Audience level + +[cols=",",options="header",] +|=== +|Tag |Description +|`beginner` |Reading materials if you are new to Mutiny +|`intermediate` |Intermediate operations beyond the basics +|`advanced` |Advanced operations beyond classic usage of Mutiny +|=== + +== Tags diff --git a/content/docs/smallrye-mutiny/main/tutorials/creating-multi-pipelines.adoc b/content/docs/smallrye-mutiny/main/tutorials/creating-multi-pipelines.adoc new file mode 100644 index 000000000..8d551c63f --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tutorials/creating-multi-pipelines.adoc @@ -0,0 +1,152 @@ += Creating `Multi` pipelines +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +A `Multi` represents a _stream_ of data. +A stream can emit 0, 1, n, or an infinite number of items. + +You will rarely create instances of `Multi` yourself but instead use a reactive client that exposes a Mutiny API. +Still, just like `Uni` there exists a rich API for creating `Multi` objects. + +== The Multi type + +A `Multi++<++T++>++` is a data stream that: + +* emits `0..n` item events +* emits a failure event +* emits a completion event for bounded streams + +[WARNING] +==== + +Failures are terminal events: after having received a failure no further item will be emitted. + +==== + +`Multi++<++T++>++` provides many operators that create, transform, and orchestrate `Multi` sequences. +The operators can be used to define a processing pipeline. +The events flow in this pipeline, and each operator can process or transform the events. + +`Multis` are lazy by nature. +To trigger the computation, you must subscribe. + +The following snippet provides a simple example of pipeline using `Multi`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=pipeline,indent=0] +---- + +== Subscribing to a Multi + +Remember, if you don't subscribe, nothing is going to happen. +Also, the pipeline is materialized for each _subscription_. + +When subscribing to a `Multi,` you can pass an item callback (invoked when the item is emitted), or pass two callbacks, one receiving the item and one receiving the failure, or three callbacks to handle respectively the item, failure and completion events. + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=subscription,indent=0] +---- + +Note the returned `Cancellable`: this object allows canceling the stream if need be. + +== Creating Multi from items + +There are many ways to create `Multi` instances. +See `Multi.createFrom()` to see all the possibilities. + +For instance, you can create a `Multi` from known items or from an `Iterable`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=simple,indent=0] +---- + +Every subscriber receives the same set of items (`1`, `2`... `5`) just after the subscription. + +You can also use `Suppliers`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=supplier,indent=0] +---- + +The `Supplier` is called for every subscriber, so each of them will get different values. + +[TIP] +==== + +You can create ranges using `Multi.createFrom().range(start, end)`. + +==== + +== Creating failing Multis + +Streams can also fail. + +Failures are used to indicate to the downstream subscribers that the source encountered a terrible error and cannot continue emitting items. +Create failed `Multi` instances with: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=failed,indent=0] +---- + +== Creating empty Multis + +Unlike `Uni,` `Multi` streams don't send `null` items (this is forbidden in _reactive streams_). + +Instead `Multi` streams send completion events indicating that there are no more items to consume. +Of course, the completion event can happen even if there are no items, creating an empty stream. + +You can create such a stream using: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=empty,indent=0] +---- + +== Creating Multis using an emitter (_advanced_) + +You can create a `Multi` using an emitter. +This approach is useful when integrating callback-based APIs: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=emitter,indent=0] +---- + +The emitter can also send a failure. +It can also get notified of cancellation to, for example, stop the work in progress. + +== Creating Multis from _ticks_ (_advanced_) + +You can create a stream that emit a _ticks_ periodically: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=ticks,indent=0] +---- + +The downstream receives a `long,` which is a counter. +For the first tick, it's 0, then 1, then 2, and so on. + +== Creating Multis from a generator (_advanced_) + +You can create a stream from some _initial state_, and a _generator function_: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingMultiTest.java[tags=generator,indent=0] +---- + +The initial state is given through a supplier (here `() -++>++ 1`). +The generator function accepts 2 arguments: + +* the current state, +* an emitter that can emit a new item, emit a failure, or emit a completion. + +The generator function return value is the next _current state_. +Running the previous example gives the following number suite: `++{++2, 4, 7, 11, 17, 26, 40, 61}`. diff --git a/content/docs/smallrye-mutiny/main/tutorials/creating-uni-pipelines.adoc b/content/docs/smallrye-mutiny/main/tutorials/creating-uni-pipelines.adoc new file mode 100644 index 000000000..6ffa03df1 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tutorials/creating-uni-pipelines.adoc @@ -0,0 +1,128 @@ += Creating `Uni` pipelines +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +A `Uni` represents a _stream_ that can only emit either an item or a failure event. + +You rarely create instances of `Uni` yourself, but, instead, use a reactive client exposing a Mutiny API that provides `Uni` objects. +That being said, it can be handy at times. + +== The Uni type + +A `Uni++<++T++>++` is a specialized stream that emits only an item or a failure. +Typically, `Uni++<++T++>++` are great to represent asynchronous actions such as a remote procedure call, an HTTP request, or an operation producing a single result. + +`Uni++<++T++>++` provides many operators that create, transform, and orchestrate `Uni` sequences. + +As said, `Uni++<++T++>++` emits either an item or a failure. +Note that the item can be `null,` and the `Uni` API has specific methods for this case. + +Typically, a `Uni++<++Void++>++` always emits `null` as item event or a failure if the represented operation fails. +You can consider the item event as a completion signal indicating the success of the operation. + +The offered operators can be used to define a processing pipeline. +The event, either the item or failure, flows in this pipeline, and each operator can process or transform the event. +`Unis` are lazy by nature. + +To trigger the computation, you must have a final subscriber indicating your interest. +The following snippet provides a simple example of pipeline using `Uni`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=pipeline,indent=0] +---- + +== Subscribing to a Uni + +[IMPORTANT] +==== + +Remember: if you don't subscribe, nothing is going to happen. +What's more, the pipeline is materialized for each _subscription_. + +==== + +When subscribing to a `Uni`, you can pass an item callback (invoked when the item is emitted), or two callbacks (one receiving the item and one receiving the failure): + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=subscription,indent=0] +---- + +Note the returned `Cancellable`: this object allows canceling the operation if need be. + +== Creating Unis from items + +There are many ways to create `Uni` instances. +Use `Uni.createFrom()` to see all the possibilities. + +You can, for instance, create a `Uni` from a known value: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=simple,indent=0] +---- + +Every subscriber receives the item `1` just after the subscription. + +You can also pass a `Supplier`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=supplier,indent=0] +---- + +The `Supplier` is called for every subscriber. +So, each of them will get a different value. + +== Creating failing Unis + +Operations represented by `Unis` can also emit a failure event, indicating that the operation failed. + +You can create failed `Uni` instances with: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=failed,indent=0] +---- + +== Creating `Uni++<++Void++>++` + +When the represented operation to not produce a result, you still need a way to indicate the operation's completion. +For this, you need to emit a `null` item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=null,indent=0] +---- + +== Creating Unis using an emitter (_advanced_) + +You can create a `Uni` using an emitter. +This approach is useful when integrating callback-based APIs: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=emitter,indent=0] +---- + +The emitter can also send a failure. +It can also get notified of cancellation to, for example, stop the work in progress. + +== Creating Unis from a CompletionStage (_advanced_) + +You can also `Uni` objects from `CompletionStage` / `CompletableFuture`. +This is useful when integrating with APIs that are based on these types: + +[source,java] +---- +include::{examples-dir}/java/tutorials/CreatingUniTest.java[tags=cs,indent=0] +---- + +[TIP] +==== + +You can also create a `CompletionStage` from a `Uni` using `uni.subscribe().asCompletionStage()` + +==== diff --git a/content/docs/smallrye-mutiny/main/tutorials/getting-mutiny.adoc b/content/docs/smallrye-mutiny/main/tutorials/getting-mutiny.adoc new file mode 100644 index 000000000..651586995 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tutorials/getting-mutiny.adoc @@ -0,0 +1,142 @@ += Getting started with Mutiny +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +== Using Mutiny in a Java application + +Add the _dependency_ to your project using your preferred build tool: + +[.tabs] +==== + +Apache Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + mutiny + {versions-mutiny} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.reactive:mutiny:{versions-mutiny}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.reactive:mutiny:{versions-mutiny}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.reactive:mutiny:{versions-mutiny} +---- + +-- + +==== + +== Using Mutiny with Quarkus + +Most of the https://quarkus.io[Quarkus] extensions with reactive capabilities already depend on Mutiny. + +You can also add the `quarkus-mutiny` dependency explicitly from the command-line: + +[source,bash] +---- +mvn quarkus:add-extension -Dextensions=mutiny +---- + +or by editing the `pom.xml` file and adding: + +[source,xml] +---- + + io.quarkus + quarkus-mutiny + +---- + +== Using Mutiny with Vert.x + +Most of the https://vertx.io[Eclipse Vert.x] stack modules are available through the https://smallrye.io/smallrye-mutiny-vertx-bindings/[SmallRye Mutiny Vert.x Bindings] project. + +Bindings for Vert.x modules are named by prepending `smallrye-mutiny-`. +As an example here's how to add a dependency to the `vertx-core` Mutiny bindings: + +[.tabs] +==== + +Apache Maven:: ++ +-- + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-mutiny-vertx-core + {versions-vertx-bindings} + +---- + +-- + +Gradle (Groovy):: ++ +-- + +[source,groovy,subs="attributes+"] +---- +implementation 'io.smallrye.reactive:smallrye-mutiny-vertx-core:{versions-vertx-bindings}' +---- + +-- + +Gradle (Kotlin):: ++ +-- + +[source,kotlin,subs="attributes+"] +---- +implementation("io.smallrye.reactive:smallrye-mutiny-vertx-core:{versions-vertx-bindings}") +---- + +-- + +JBang:: ++ +-- + +[source,java,subs="attributes+"] +---- +//DEPS io.smallrye.reactive:smallrye-mutiny-vertx-core:{versions-vertx-bindings} +---- + +-- + +==== diff --git a/content/docs/smallrye-mutiny/main/tutorials/handling-failures.adoc b/content/docs/smallrye-mutiny/main/tutorials/handling-failures.adoc new file mode 100644 index 000000000..5dab71250 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tutorials/handling-failures.adoc @@ -0,0 +1,96 @@ += Handling failures +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Mutiny provides several operators to handle failures. + +Remember, failures are terminal events sent by the observed stream, indicating that something _bad_ happened. +After a failure, no more items are being received. + +When such an event is received, you can: + +* propagate the failure downstream (default), or +* transform the failure into another failure, or +* recover from it by switching to another stream, passing a fallback item, or completing, or +* retrying (covered in the next guide) + +If you don't handle the failure event, it is propagated downstream until a stage handles the failure or reaches the final subscriber. + +[IMPORTANT] +==== + +on `Multi`, a failure cancels the subscription, meaning you will not receive any more items. +The `retry` operator lets you re-subscribe and continue the reception. + +==== + +== Observing failures + +It can be useful to execute some custom action when a failure happens. +For example, you can log the failure: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=invoke,indent=0] +---- + +[TIP] +==== + +You can also execute an asynchronous action using `onFailure().call(Function++<++Throwable, Uni++<++?++>++)`. +The received failure will be propagated downstream when the `Uni` produced by the passed function emits its item. + +==== + +== Transforming failures + +Another useful action on failure is to transform the failure into a _more meaningful_ failure. + +Typically, you can wrap a low-level failure (like an `IOException`) into a business failure (`ServiceUnavailableException`): + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=transform,indent=0] +---- + +== Recovering using fallback item(s) + +In general, upon failure, you want to recover. +The first approach is to recover by replacing the failure with an item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=recover-item,indent=0] +---- + +The second approach receives a `Supplier` to compute the fallback item. +For the downstream, it didn't fail; it gets the fallback item instead. + +However, don't forget that failures are terminal! +So for `Multi`, the downstream receives the fallback item followed by the completion signal, as no more items can be produced. + +== Completing on failure + +When observing a `Multi` you can replace the failure with the completion signal: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=recover-completion,indent=0] +---- + +The downstream won't see the failure, just the completion event. + +== Switching to another stream + +On failure, you may want to switch to an alternate stream. +When the failure is received, it subscribes to this other stream and propagates the items from this stream instead: + +[source,java] +---- +include::{examples-dir}/java/tutorials/HandlingFailuresTest.java[tags=recover-switch,indent=0] +---- + +The `recoverWithUni` and `recoverWithMulti` methods replace the failed upstream with the returned stream. + +The fallback streams must produce the same type of event as the original upstream. diff --git a/content/docs/smallrye-mutiny/main/tutorials/hello-mutiny.adoc b/content/docs/smallrye-mutiny/main/tutorials/hello-mutiny.adoc new file mode 100644 index 000000000..80fab7b4e --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tutorials/hello-mutiny.adoc @@ -0,0 +1,75 @@ += Hello Mutiny! +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Once you made Mutiny available to your classpath, you can start writing code. +Let's start with this simple program: + +[source,java] +---- +include::{examples-dir}/java/FirstProgram.java[indent=0] +---- + +This program prints: + +.... +>> HELLO MUTINY +.... + +== Dissecting the pipeline + +What's interesting is how this message is _built_. +We described a processing pipeline taking an item, processing it and finally consuming it. + +First, we create a `Uni`, one of the two types with `Multi` that Mutiny provides. +A `Uni` is a stream emitting either a single item or a failure. + +Here, we create a `Uni` emitting the `"hello"` item. +This is the input of our pipeline. +Then we process this item: + +* we append `" mutiny"`, then +* we make it an uppercase string. + +This forms the processing part of our pipeline, and then we finally *subscribe* to the pipeline. + +This last part is essential. +If you don't have a final subscriber, nothing is going to happen. +Mutiny types are lazy, meaning that you need to express your interest. +If you don't, the computation won't even start. + +[IMPORTANT] +==== + +If your program doesn't do anything, verify that you didn't forget to subscribe! + +==== + +== Mutiny uses a builder API! + +Another important aspect is the pipeline construction. +Appending a new _stage_ to a pipeline returns a new `Uni.` + +The previous program is equivalent to: + +[source,java] +---- +include::{examples-dir}/java/FirstProgramTest.java[tags=uni,indent=0] +---- + +It is fundamental to understand that this program is not equivalent to: + +[source,java] +---- +include::{examples-dir}/java/FirstProgramTest.java[tags=uni2,indent=0] +---- + +This program just prints `"++>>++ hello"`, as it does not use the appended stages and the final subscriber consumes the first `Uni.` + +[WARNING] +==== + +Mutiny APIs are not fluent and each computation stage returns a new object. + +==== diff --git a/content/docs/smallrye-mutiny/main/tutorials/mutiny-workshop.adoc b/content/docs/smallrye-mutiny/main/tutorials/mutiny-workshop.adoc new file mode 100644 index 000000000..e4d752b7b --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tutorials/mutiny-workshop.adoc @@ -0,0 +1,16 @@ += Go further with the Mutiny workshop! +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +One great option to teach yourself Mutiny is to go through the https://github.com/smallrye/smallrye-mutiny/tree/main/workshop-examples[Mutiny workshop examples]. + +These self-contained https://jbang.dev/[JBang] scripts cover the main parts of the Mutiny APIs. + +It's a fun and easy way to discover Mutiny! + +Check out https://github.com/smallrye/smallrye-mutiny/tree/main/workshop-examples to learn more. + +.Running a workshop sample +[.has-dark] +image::tutorials/running-workshop-sample.png[Running a workshop sample,width=400] diff --git a/content/docs/smallrye-mutiny/main/tutorials/observing-events.adoc b/content/docs/smallrye-mutiny/main/tutorials/observing-events.adoc new file mode 100644 index 000000000..1a9529485 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tutorials/observing-events.adoc @@ -0,0 +1,113 @@ += Observing events +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Learn how to observe the events emitted by `Uni` and `Multi` instances. + +== Events + +`Uni` and `Multi` emit _events_. +Your code is going to observe and process these events. + +Most of the time, your code is only interested in item and failure events. +But there are other kinds of events such as cancellation, request, completion, and so on: + +[width="100%",cols=">12%,9%,<15%,<64%",options="header",] +|=== +|Event |Uni / Multi |Direction |Note +|*item* |Uni {plus} Multi |upstream -++>++ downstream |The upstream sent an item. +|*failure* |Uni {plus} Multi |upstream -++>++ downstream |The upstream failed. +|*completion* |Multi |upstream -++>++ downstream |The upstream completed. +|*subscribe* |Uni and Multi |downstream -++>++ upstream |A downstream subscriber is interested in the data. +|*subscription* |Uni and Multi |upstream -++>++ downstream |Event happening after a `subscribe` event to indicate that the upstream acknowledged the subscription. +|*cancellation* |Uni and Multi |downstream -++>++ upstream |A downstream subscriber does not want any more events. +|*overflow* |Multi |upstream -++>++ downstream |The upstream has emitted more than the downstream can handle. +|*request* |Multi |downstream -++>++ upstream |The downstream indicates its capacity to handle `n` items. +|=== + +It’s not rare that you need to look at these various events to understand better what’s going on or implement specific side effects. +For example, you may need to close a resource after a completion event or log a message on failure or cancellation. + +For each kind of event, there is an associated group providing the methods to handle that specific event: `onItem()`, `onFailure()`, `onCompletion()` and so on. +These groups provide two methods to _peek_ at the various events without impacting its distribution: `invoke(...)` and `call(...)`. +It does not transform the received event; it notifies you that something happened and let you react. +Once this _reaction_ completes, the event is propagated downstream or upstream depending on the direction of the event. + +== The `invoke` method + +The invoke method is synchronous and the passed callback does not return anything. +Mutiny invokes the configured callback when the observed stream dispatches the event: + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=invoke,indent=0] +---- + +As said above, `invoke` is synchronous. +Mutiny invokes the callback and propagates the event downstream when the callback returns. +It blocks the dispatching. + +[.has-dark] +image::images/diagrams/mermaid-e88e1918cd26.svg[mermaid diagram] + +Of course, we highly recommend you not to block. + +The following snippets show how you can log the different types of events. + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=invoke-all,indent=0] +---- + +The arrows from the previous code snippet indicate if the event comes from the upstream (source) or downstream (consumer) (see the table above for more details). +The `invoke` method does not change the event, except in one case. +If the callback throws an exception, the downstream does not get the actual event but get a failure event instead. + +When observing the failure event, if the callback throws an exception, Mutiny propagates a `CompositeException` aggregating the original failure and the callback failure. + +== The `call` method + +Unlike `invoke`, `call` is asynchronous, and the callback returns a `Uni++<++?++>++` object. + +`call` is often used when you need to implement asynchronous side-effects, such as closing resources. + +[.has-dark] +image::images/diagrams/mermaid-bc092005fd3f.svg[mermaid diagram] + +Mutiny does not dispatch the original event downstream until the Uni returned by the callback emits an item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=call,indent=0] +---- + +As shown in the previous snippet, you can use this approach to delay items. +But, the primary use case is about completing asynchronous actions such as calling an asynchronous `close` method on a resource: + +[source,java] +---- +include::{examples-dir}/java/tutorials/ObserveTest.java[tags=close,indent=0] +---- + +Under the hood, Mutiny gets the `Uni` (by invoking the callback) and subscribes to it. +It observes the item or failure event from that Uni. +It discards the item value as only the emission matters in this case. + +If the callback throws an exception or the produced `Uni` produces a failure, Mutiny propagates that failure (or a `CompositeException`) downstream, replacing the original event. + +== Summary + +* The `invoke` and `call` methods are handy when you need to observe a `Uni` or a `Multi` without changing the transiting events. +* Use `invoke` for implementing synchronous side-effects or logging events. +* The asynchronous nature of `call` makes it perfect for implementing asynchronous side-effects, such as closing resources, flushing data, delay items, and so on. + +The following table highlights the key differences: + +[width="100%",cols=">20%,<33%,<47%",options="header",] +|=== +| |`invoke` |`call` +|*Nature* |synchronous |asynchronous +|*Return type* |`void` |`Uni++<++T++>++` +|*Main use cases* |logging, synchronous side-effects |I/O operations, closing resources, flushing data +|=== diff --git a/content/docs/smallrye-mutiny/main/tutorials/retrying.adoc b/content/docs/smallrye-mutiny/main/tutorials/retrying.adoc new file mode 100644 index 000000000..c2ec63ecc --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tutorials/retrying.adoc @@ -0,0 +1,67 @@ += Retrying on failures +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +It is common to want to retry if something terrible happened. + +You can retry upon failure. +The https://quarkus.io/blog/uni-retry/[How does retry... retries] blog post provides a more detailed overview of the retry mechanism. + +[NOTE] +==== + +If despite multiple attempts, it still fails, the failure is propagated downstream. + +==== + +== Retry multiple times + +To retry on failure, use `onFailure().retry()`: + +[source,java] +---- +include::{examples-dir}/java/tutorials/RetryTest.java[tags=retry-at-most,indent=0] +---- + +You pass the number of retries as a parameter. + +[IMPORTANT] +==== + +While `.onFailure().retry().indefinitely()` is available, it may never terminate, so use it with caution. + +==== + +== Introducing delays + +By default, `retry` retries immediately. +When using remote services, it is often better to delay a bit the attempts. + +Mutiny provides a method to configure an exponential backoff: a growing delay between retries. +Configure the exponential backoff as follows: + +[source,java] +---- +include::{examples-dir}/java/tutorials/RetryTest.java[tags=retry-backoff,indent=0] +---- + +The backoff is configured with the initial and max delay. +Optionally, you can also configure a jitter to add a pinch of randomness to the delay. + +When using exponential backoff, you may not want to configure the max number of attempts (`atMost`), but a deadline. +To do so, use either `expireIn` or `expireAt`. + +== Deciding to retry + +As an alternative to `atMost`, you can also use `until`. +This method accepts a predicate called after every failure. +When used, a backoff should not be used. + +If the predicate returned `true,` it retries. +Otherwise, it stops retrying and propagates the last failure downstream: + +[source,java] +---- +include::{examples-dir}/java/tutorials/RetryTest.java[tags=retry-until,indent=0] +---- diff --git a/content/docs/smallrye-mutiny/main/tutorials/running-workshop-sample.dark.png b/content/docs/smallrye-mutiny/main/tutorials/running-workshop-sample.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1c875b12c0c021f86c7ea4f344b161738b2c46 GIT binary patch literal 78904 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 ~KX%yR_=y0@h?91mdDFOZJ1jR^`R! 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 eIzYVfg$ji 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

X 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

9#rwHT;c>Jjv`|( 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 and `onItem().transformToMulti(Function++<++T, Multi++<++O++>>++)` + +== Uni - Transforming an item into a Uni + +[.has-dark] +image::images/diagrams/mermaid-f67adb6018b3.svg[mermaid diagram] + +Imagine that you have a `Uni++<++String++>++`, and you want to call a remote service. + +Calling a remote service is an asynchronous action represented by a `Uni`, as in: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=service,indent=0] +---- + +To call this service, you need to transform the item received from the first `Uni` into the `Uni` returned by the service: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=call,indent=0] +---- + +This snippet _chains_ the first `Uni` with another one. +The returned `Uni` (`result`) emits the result from the remote service or a failure if anything wrong happened: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=chain,indent=0] +---- + +== Uni - Transforming an item into a Multi + +The previous example produced a single item. +You may want to transform the received item into a stream which is... a `Multi`! + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=uni-to-multi,indent=0] +---- + +This code creates a stream of two elements, duplicating the received item. + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=uni-to-multi-2,indent=0] +---- + +[.has-dark] +image::images/diagrams/mermaid-3b8d4c58438a.svg[mermaid diagram] + +The produced `Multi` objects can of course be more complicated than that and emit items in an asynchronous fashion. + +== Transforming items from Multi - the _merge_ vs _concatenate_ dilemma + +When transforming items emitted by an upstream `Multi,` we need to answer the following question: how are we going to _merge_ the produced items back? + +Let's take an example. +Imagine a `Multi` emitting the `Cameron` and `Donna` items (in order), and you want to call the `invokeRemoteGreetingService` from above. +It thus calls `invokeRemoteGreetingService("Cameron")` then `invokeRemoteGreetingService("Donna")`. + +The service does not have a constant response time (because of network latency or the load), which means that responses can be interleaved. +Indeed, you may receive `"Hello Donna"` before `"Hello Cameron"`. + +Now, how do you want to handle this case? +Do you need to preserve the order and ensure that the downstream subscriber will always get `"Hello Cameron"` first, or do you accept interleaved responses? + +When transforming items from `Multi` into streams, you need to decide in which order the items emitted by the produced stream are going to be received by the downstream subscriber. +Mutiny offers two possibilities: + +[arabic] +. *Merging* -- it does not preserve the order and emits the items from the produced streams as they come, or +. *Concatenating* -- it maintains and concatenates the streams produced for each item. + +== Multi - Transforming an item into a Uni + +To implement the scenario from the last section, you will use `onItem().transformToUniAndMerge` or `onItem().transformToUniAndConcatenate()` depending on your ordering choice: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=merge-concat,indent=0] +---- + +[IMPORTANT] +==== + +* When merging: items from the source `Multi` _may_ be processed *concurrently* depending on the concurrency level that has been set, if any. +* When concatenating: items from the source `Multi` are processed *in order*, waiting for each `Uni` to complete before moving on to the next item. + +==== + +=== Controlling concurrency with merge + +The `merge` method accepts an optional `concurrency` parameter that limits how many inner streams can be subscribed to concurrently: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=merge-concurrency,indent=0] +---- + +When not provided, the default concurrency is configured using `Infrastructure.getBufferSizeS()`. + +[WARNING] +.Merge concurrency +==== + +When using merge with limited concurrency, be aware of potential backpressure issues. +*Setting concurrency too low* can cause upstream request starvation if the number of subscribed but not emitting inner streams surpasses the level of concurrency. + +*Unbounded concurrency* eliminates the request starvation issue by removing the limit on the number of subscribed inner streams to merge. + +==== + +== Multi - Transforming an item into a Multi + +`onItem().transformToMultiAndMerge` and `onItem().transformToMultiAndConcatenate` transform incoming items into `Multi` streams. +The produced `Multi` objects are either _merged_ or _concatenated_: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsAsyncTest.java[tags=merge-concat-multi,indent=0] +---- + +Like after `transformToUni`, the `merge` method after `transformToMulti` also accepts an optional concurrency parameter with the same considerations regarding backpressure and request starvation when used with infinite streams. diff --git a/content/docs/smallrye-mutiny/main/tutorials/transforming-items.adoc b/content/docs/smallrye-mutiny/main/tutorials/transforming-items.adoc new file mode 100644 index 000000000..32dde4f90 --- /dev/null +++ b/content/docs/smallrye-mutiny/main/tutorials/transforming-items.adoc @@ -0,0 +1,54 @@ += Transforming items +:version-root: ../ +include::{version-root}_attributes.adoc[] +:topics: tutorial,beginner + +Both `Unis` and `Multis` emit _items_. + +One of the most common operations you will do is transforming these items using a _synchronous_ 1-to-1 function. + +To achieve this, you use `onItem().transform(Function++<++T, U++>++)`. +It calls the passed function for each item and produces the result as an item which is propagated downstream. + +[.has-dark] +image::images/diagrams/mermaid-e6dd95e32a3f.svg[mermaid diagram] + +== Transforming items produced by a Uni + +Let's imagine you have a `Uni++<++String++>++,` and you want to capitalize the received `String`. +Implementing this transformation is done as follows: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=uni-transform,indent=0] +---- + +== Transforming items produced by a Multi + +The only difference for `Multi` is that the function is called for each item: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=multi-transform,indent=0] +---- + +The produced items are passed to the downstream subscriber: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=multi-transform-2,indent=0] +---- + +== What if the transformation failed? + +If the transformation throws an exception, that exception is caught and passed to the downstream subscriber as a _failure_ event. +It also means that the subscriber won't get further item after that failure. + +== Chaining multiple transformations + +You can chain multiple transformations: + +[source,java] +---- +include::{examples-dir}/java/tutorials/TransformItemsTest.java[tags=chain,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/3/_attributes.adoc b/content/docs/smallrye-reactive-messaging/3/_attributes.adoc new file mode 100644 index 000000000..34b36884a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_attributes.adoc @@ -0,0 +1,26 @@ +:project-version: 3.25.0 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Reactive Messaging +:javadoc-version: latest +:version: 3.25.0 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.25.0 +:relfileprefix: /docs/smallrye-reactive-messaging/3/ +:imagesdir: /docs/smallrye-reactive-messaging/3 +:docs-project: smallrye-reactive-messaging +:docs-version: 3 +:docs-ref: 3.25.0 +:weld-version: 3.1.8.Final +:smallrye-config-version: 2.11.1 +:mutiny-version: 1.7.0 +:camel-version: 3.20.1 +:spec-version: 2.0.1 diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/ack/AutoNack.java b/content/docs/smallrye-reactive-messaging/3/_examples/ack/AutoNack.java new file mode 100644 index 000000000..bdb5a371a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/ack/AutoNack.java @@ -0,0 +1,55 @@ +package ack; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class AutoNack { + + // tag::auto-nack[] + @Incoming("data") + @Outgoing("out") + public String process(String s) { + if (s.equalsIgnoreCase("b")) { + // Throwing an exception triggers a nack + throw new IllegalArgumentException("b"); + } + + if (s.equalsIgnoreCase("e")) { + // Returning null would skip the message (it will be acked) + return null; + } + + return s.toUpperCase(); + } + + @Incoming("data") + @Outgoing("out") + public Uni processAsync(String s) { + if (s.equalsIgnoreCase("a")) { + // Returning a failing Uni triggers a nack + return Uni.createFrom().failure(new Exception("a")); + } + + if (s.equalsIgnoreCase("b")) { + // Throwing an exception triggers a nack + throw new IllegalArgumentException("b"); + } + + if (s.equalsIgnoreCase("e")) { + // Returning null would skip the message (it will be acked not nacked) + return Uni.createFrom().nullItem(); + } + + if (s.equalsIgnoreCase("f")) { + // returning `null` is invalid for method returning Unis, the message is nacked + return null; + } + + return Uni.createFrom().item(s.toUpperCase()); + } + + // end::auto-nack[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/ack/MessageAckExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/ack/MessageAckExamples.java new file mode 100644 index 000000000..5b4ddf459 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/ack/MessageAckExamples.java @@ -0,0 +1,52 @@ +package ack; + +import java.util.concurrent.CompletableFuture; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class MessageAckExamples { + + // tag::with-payload[] + @Incoming("in") + @Outgoing("out") + public Message process(Message in) { + // The acknowledgement is forwarded, when the consumer + // acknowledges the message, `in` will be acknowledged + return in.withPayload(in.getPayload() + 1); + } + // end::with-payload[] + + public void creation() { + // tag::message-creation[] + Message message = Message.of("hello", () -> { + // called when the consumer acknowledges the message + + // return a CompletionStage completed when the + // acknowledgment of the created message is + // completed. + // For immediate ack use: + return CompletableFuture.completedFuture(null); + + }); + // end::message-creation[] + } + + // tag::process[] + @Incoming("in") + @Outgoing("out") + public Message processAndProduceNewMessage(Message in) { + // The acknowledgement is forwarded, when the consumer + // acknowledges the message, `in` will be acknowledged + return Message.of(in.getPayload() + 1, + () -> { + // Called when the consumer acknowledges the message + // ... + // Don't forget to acknowledge the incoming message: + return in.ack(); + }); + } + // end::process[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/ack/NackOnEmitter.java b/content/docs/smallrye-reactive-messaging/3/_examples/ack/NackOnEmitter.java new file mode 100644 index 000000000..a79b27469 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/ack/NackOnEmitter.java @@ -0,0 +1,27 @@ +package ack; + +import java.util.concurrent.CompletionStage; + +import javax.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Emitter; + +public class NackOnEmitter { + + // tag::emitter[] + @Inject + @Channel("data") + Emitter emitter; + + public void emitPayload() { + CompletionStage completionStage = emitter.send("hello"); + completionStage.whenComplete((acked, nacked) -> { + if (nacked != null) { + // the processing has failed + } + }); + } + // end::emitter[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/ack/PreAckExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/ack/PreAckExamples.java new file mode 100644 index 000000000..04b336bde --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/ack/PreAckExamples.java @@ -0,0 +1,20 @@ +package ack; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class PreAckExamples { + + // tag::pre[] + @Incoming("in") + @Outgoing("out") + @Acknowledgment(Acknowledgment.Strategy.PRE_PROCESSING) + public String process(String input) { + // The message wrapping the payload is already acknowledged + // The default would have waited the produced message to be + // acknowledged + return input.toUpperCase(); + } + // end::pre[] +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/ack/StreamAckExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/ack/StreamAckExamples.java new file mode 100644 index 000000000..9ebb7a815 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/ack/StreamAckExamples.java @@ -0,0 +1,30 @@ +package ack; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; +import org.reactivestreams.Publisher; + +import io.smallrye.mutiny.Multi; + +public class StreamAckExamples { + + // tag::message[] + @Incoming("in") + @Outgoing("out") + public Publisher> transform(Multi> stream) { + return stream + .map(message -> message.withPayload(message.getPayload().toUpperCase())); + } + // end::message[] + + // tag::payload[] + @Incoming("in") + @Outgoing("out") + public Publisher transformPayload(Multi stream) { + return stream + // The incoming messages are already acknowledged + .map(String::toUpperCase); + } + // end::payload[] +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/customization/ClientProducers.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/customization/ClientProducers.java new file mode 100644 index 000000000..7ce1bdd47 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/customization/ClientProducers.java @@ -0,0 +1,34 @@ +package amqp.customization; + +import javax.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.vertx.amqp.AmqpClientOptions; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; + +public class ClientProducers { + + // tag::named[] + @Produces + @Identifier("my-options") + public AmqpClientOptions getNamedOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return new AmqpClientOptions() + .setSsl(true) + .setPemKeyCertOptions(keycert) + .setPemTrustOptions(trust) + .addEnabledSaslMechanism("EXTERNAL") + .setHostnameVerificationAlgorithm("") + .setConnectTimeout(30000) + .setReconnectInterval(5000) + .setContainerId("my-container"); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpMetadataExample.java new file mode 100644 index 000000000..8683ccbb7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpMetadataExample.java @@ -0,0 +1,27 @@ +package amqp.inbound; + +import java.util.Optional; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.IncomingAmqpMetadata; +import io.vertx.core.json.JsonObject; + +public class AmqpMetadataExample { + + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + Optional metadata = incoming.getMetadata(IncomingAmqpMetadata.class); + metadata.ifPresent(meta -> { + String address = meta.getAddress(); + String subject = meta.getSubject(); + boolean durable = meta.isDurable(); + // Use io.vertx.core.json.JsonObject + JsonObject properties = meta.getProperties(); + // ... + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpPriceConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpPriceConsumer.java new file mode 100644 index 000000000..288b20d2c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpPriceConsumer.java @@ -0,0 +1,15 @@ +package amqp.inbound; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class AmqpPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpPriceMessageConsumer.java new file mode 100644 index 000000000..a1d574b5a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/inbound/AmqpPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package amqp.inbound; + +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class AmqpPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message, marking the AMQP message as `accepted`. + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java new file mode 100644 index 000000000..ce34a0b41 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java @@ -0,0 +1,39 @@ +package amqp.outbound; + +import java.net.URI; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class AmqpCloudEventMultipleProcessors { + + @Incoming("source") + @Outgoing("processed") + public Message process(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greeting") + .build()); + } + + @SuppressWarnings("unchecked") + @Incoming("processed") + @Outgoing("cloud-events") + public Message process2(Message in) { + OutgoingCloudEventMetadata metadata = in + .getMetadata(OutgoingCloudEventMetadata.class) + .orElseGet(() -> OutgoingCloudEventMetadata.builder().build()); + + return in.addMetadata(OutgoingCloudEventMetadata.from(metadata) + .withSource(URI.create("source://me")) + .withSubject("test") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpCloudEventProcessor.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpCloudEventProcessor.java new file mode 100644 index 000000000..c5c9e0056 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpCloudEventProcessor.java @@ -0,0 +1,25 @@ +package amqp.outbound; + +import java.net.URI; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class AmqpCloudEventProcessor { + + @Outgoing("cloud-events") + public Message toCloudEvents(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greetings") + .withSource(URI.create("http://example.com")) + .withSubject("greeting-message") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java new file mode 100644 index 000000000..35f848796 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java @@ -0,0 +1,26 @@ +package amqp.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +public class AmqpOutboundDynamicAddressExample { + public Message metadata(Message incoming) { + + // tag::code[] + String addressName = selectAddressFromIncommingMessage(incoming); + OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder() + .withAddress(addressName) + .withDurable(true) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + + private String selectAddressFromIncommingMessage(Message incoming) { + return "fake"; + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpOutboundMetadataExample.java new file mode 100644 index 000000000..3eef8b590 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpOutboundMetadataExample.java @@ -0,0 +1,23 @@ +package amqp.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +public class AmqpOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder() + .withDurable(true) + .withSubject("my-subject") + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpPriceMessageProducer.java new file mode 100644 index 000000000..2ea144e14 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpPriceMessageProducer.java @@ -0,0 +1,26 @@ +package amqp.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class AmqpPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpPriceProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpPriceProducer.java new file mode 100644 index 000000000..7c74eb374 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/amqp/outbound/AmqpPriceProducer.java @@ -0,0 +1,25 @@ +package amqp.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class AmqpPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/beans/Chain.java b/content/docs/smallrye-reactive-messaging/3/_examples/beans/Chain.java new file mode 100644 index 000000000..8a44b6d55 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/beans/Chain.java @@ -0,0 +1,27 @@ +package beans; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class Chain { + + // tag::chain[] + @Outgoing("source") + public Multi generate() { + return Multi.createFrom().items("Hello", "from", "reactive", "messaging"); + } + + @Incoming("source") + @Outgoing("sink") + public String process(String in) { + return in.toUpperCase(); + } + + @Incoming("sink") + public void consume(String processed) { + System.out.println(processed); + } + // end::chain[] +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/beans/MessageProcessingBean.java b/content/docs/smallrye-reactive-messaging/3/_examples/beans/MessageProcessingBean.java new file mode 100644 index 000000000..e357124dd --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/beans/MessageProcessingBean.java @@ -0,0 +1,20 @@ +package beans; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class MessageProcessingBean { + + @Incoming("consumed-channel") + @Outgoing("populated-channel") + public Message process(Message in) { + // Process the payload + String payload = in.getPayload().toUpperCase(); + // Create a new message from `in` and just update the payload + return in.withPayload(payload); + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/beans/PayloadProcessingBean.java b/content/docs/smallrye-reactive-messaging/3/_examples/beans/PayloadProcessingBean.java new file mode 100644 index 000000000..f4df71259 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/beans/PayloadProcessingBean.java @@ -0,0 +1,16 @@ +package beans; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class PayloadProcessingBean { + + @Incoming("consumed-channel") + @Outgoing("populated-channel") + public String process(String in) { + return in.toUpperCase(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/broadcast/BroadcastExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/broadcast/BroadcastExamples.java new file mode 100644 index 000000000..53a8bb160 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/broadcast/BroadcastExamples.java @@ -0,0 +1,29 @@ +package broadcast; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Broadcast; + +public class BroadcastExamples { + + // tag::chain[] + @Incoming("in") + @Outgoing("out") + @Broadcast + public int increment(int i) { + return i + 1; + } + + @Incoming("out") + public void consume1(int i) { + //... + } + + @Incoming("out") + public void consume2(int i) { + //... + } + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/broadcast/BroadcastWithCountExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/broadcast/BroadcastWithCountExamples.java new file mode 100644 index 000000000..e227d7747 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/broadcast/BroadcastWithCountExamples.java @@ -0,0 +1,29 @@ +package broadcast; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Broadcast; + +public class BroadcastWithCountExamples { + + // tag::chain[] + @Incoming("in") + @Outgoing("out") + @Broadcast(2) + public int increment(int i) { + return i + 1; + } + + @Incoming("out") + public void consume1(int i) { + //... + } + + @Incoming("out") + public void consume2(int i) { + //... + } + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/camel/api/CamelApi.java b/content/docs/smallrye-reactive-messaging/3/_examples/camel/api/CamelApi.java new file mode 100644 index 000000000..f145050db --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/camel/api/CamelApi.java @@ -0,0 +1,69 @@ +package camel.api; + +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; + +import org.apache.camel.CamelContext; +import org.apache.camel.Exchange; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; +import org.reactivestreams.Publisher; +import org.reactivestreams.Subscriber; + +public class CamelApi { + + // tag::reactive[] + @Inject + CamelReactiveStreamsService reactiveStreamsService; + // end::reactive[] + + // tag::source[] + @Outgoing("camel") + public Publisher retrieveDataFromCamelRoute() { + return reactiveStreamsService.from("seda:camel"); + } + // end::source[] + + // tag::source-route-builder[] + @ApplicationScoped + static class MyRouteBuilder extends RouteBuilder { + @Inject + CamelReactiveStreamsService reactiveStreamsService; + + @Outgoing("sink") + public Publisher getDataFromCamelRoute() { + return reactiveStreamsService.fromStream("my-stream", String.class); + } + + @Override + public void configure() { + from("seda:camel").process( + exchange -> exchange.getMessage().setBody(exchange.getIn().getBody(String.class).toUpperCase())) + .to("reactive-streams:my-stream"); + } + } + // end::source-route-builder[] + + // tag::sink[] + @Incoming("to-camel") + public Subscriber sendDataToCamelRoute() { + return reactiveStreamsService.subscriber("file:./target?fileName=values.txt&fileExist=append", + String.class); + } + // end::sink[] + + // tag::producer[] + @Inject + CamelContext camel; + + @Incoming("to-camel") + public CompletionStage sink(String value) { + return camel.createProducerTemplate() + .asyncSendBody("file:./target?fileName=values.txt&fileExist=append", value).thenApply(x -> null); + } + // end::producer[] +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/CamelFileConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/CamelFileConsumer.java new file mode 100644 index 000000000..ab44e3af2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/CamelFileConsumer.java @@ -0,0 +1,20 @@ +package camel.inbound; + +import java.io.File; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class CamelFileConsumer { + + @Incoming("files") + public void consume(GenericFile gf) { + File file = gf.getFile(); + // process the file + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/CamelFileMessageConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/CamelFileMessageConsumer.java new file mode 100644 index 000000000..7e2e599e0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/CamelFileMessageConsumer.java @@ -0,0 +1,23 @@ +package camel.inbound; + +import java.io.File; +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class CamelFileMessageConsumer { + + @Incoming("files") + public CompletionStage consume(Message> msg) { + File file = msg.getPayload().getFile(); + // process the file + + return msg.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/IncomingCamelMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/IncomingCamelMetadataExample.java new file mode 100644 index 000000000..43f85fd85 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/camel/inbound/IncomingCamelMetadataExample.java @@ -0,0 +1,29 @@ +package camel.inbound; + +import java.io.File; +import java.util.Optional; +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.camel.Exchange; +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.camel.IncomingExchangeMetadata; + +@ApplicationScoped +public class IncomingCamelMetadataExample { + + @Incoming("files") + public CompletionStage consume(Message> msg) { + Optional metadata = msg.getMetadata(IncomingExchangeMetadata.class); + if (metadata.isPresent()) { + // Retrieve the camel exchange: + Exchange exchange = metadata.get().getExchange(); + } + return msg.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelOutboundMetadataExample.java new file mode 100644 index 000000000..ee24ada00 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelOutboundMetadataExample.java @@ -0,0 +1,31 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.camel.OutgoingExchangeMetadata; + +@ApplicationScoped +public class CamelOutboundMetadataExample { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // tag::code[] + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)) + .map(s -> Message.of(s) + .addMetadata(new OutgoingExchangeMetadata() + .putProperty("my-property", "my-value"))); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelPriceMessageProducer.java new file mode 100644 index 000000000..5863ba720 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelPriceMessageProducer.java @@ -0,0 +1,27 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class CamelPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)) + .map(Message::of); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelPriceProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelPriceProducer.java new file mode 100644 index 000000000..ddbe8291e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/camel/outbound/CamelPriceProducer.java @@ -0,0 +1,26 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class CamelPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onOverflow().drop() + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/camel/processor/CamelProcessor.java b/content/docs/smallrye-reactive-messaging/3/_examples/camel/processor/CamelProcessor.java new file mode 100644 index 000000000..641f33369 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/camel/processor/CamelProcessor.java @@ -0,0 +1,18 @@ +package camel.processor; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class CamelProcessor { + + @Incoming("mynatssubject") + @Outgoing("mykafkatopic") + public byte[] process(byte[] message) { + // do some logic + return message; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/consumption/ConsumptionExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/consumption/ConsumptionExamples.java new file mode 100644 index 000000000..2094888b6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/consumption/ConsumptionExamples.java @@ -0,0 +1,70 @@ +package consumption; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; + +public class ConsumptionExamples { + + //tag::message-cs[] + @Incoming("my-channel") + public CompletionStage consumeMessage(Message message) { + handle(message.getPayload()); + return message.ack(); + } + //end::message-cs[] + + //tag::payload-sync[] + @Incoming("my-channel") + public void consumePayload(Price payload) { + // do something + } + //end::payload-sync[] + + //tag::payload-cs[] + @Incoming("my-channel") + public CompletionStage consumePayloadCS(Price payload) { + CompletionStage cs = handleAsync(payload); + return cs; + } + //end::payload-cs[] + + //tag::payload-uni[] + @Incoming("my-channel") + public Uni consumePayloadUni(Price payload) { + return Uni.createFrom().item(payload) + .onItem().invoke(this::handle) + .onItem().ignore().andContinueWithNull(); + } + //end::payload-uni[] + + //tag::message-uni[] + @Incoming("my-channel") + public Uni consumeMessageUni(Message message) { + return Uni.createFrom().item(message) + .onItem().invoke(m -> handle(m.getPayload())) + .onItem().transformToUni(x -> Uni.createFrom().completionStage(message.ack())); + } + //end::message-uni[] + + private CompletionStage handleAsync(Price price) { + return CompletableFuture.completedFuture(null); + } + + @SuppressWarnings("UnusedReturnValue") + private Price handle(Price price) { + return price; + } + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/converters/ConverterExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/converters/ConverterExample.java new file mode 100644 index 000000000..a9d3b661e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/converters/ConverterExample.java @@ -0,0 +1,24 @@ +package converters; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class ConverterExample { + + // tag::code[] + @Outgoing("persons") + public Multi source() { + return Multi.createFrom().items("Neo", "Morpheus", "Trinity"); + } + + // The messages need to be converted as they are emitted as Message + // and consumed as Message + @Incoming("persons") + public void consume(Person p) { + // ... + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/converters/MyConverter.java b/content/docs/smallrye-reactive-messaging/3/_examples/converters/MyConverter.java new file mode 100644 index 000000000..15dfa3eaa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/converters/MyConverter.java @@ -0,0 +1,31 @@ +package converters; + +import java.lang.reflect.Type; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.MessageConverter; + +// tag::code[] +@ApplicationScoped +public class MyConverter implements MessageConverter { + @Override + public boolean canConvert(Message in, Type target) { + // Checks whether this converter can be used to convert + // the incoming message into a message containing a payload + // of the type `target`. + return in.getPayload().getClass().equals(String.class) + && target.equals(Person.class); + } + + @Override + public Message convert(Message in, Type target) { + // Convert the incoming message into the new message. + // It's important to build the new message **from** + // the received one. + return in.withPayload(new Person((String) in.getPayload())); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/decorators/ConsumedMessageDecorator.java b/content/docs/smallrye-reactive-messaging/3/_examples/decorators/ConsumedMessageDecorator.java new file mode 100644 index 000000000..d9471fe0f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/decorators/ConsumedMessageDecorator.java @@ -0,0 +1,41 @@ +package decorators; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.PublisherDecorator; + +// tag::code[] +@ApplicationScoped +public class ConsumedMessageDecorator implements PublisherDecorator { + + private final Map counters = new HashMap<>(); + + @Override + public Multi> decorate(Multi> publisher, String channelName, + boolean isConnector) { + if (isConnector) { + AtomicLong counter = new AtomicLong(); + counters.put(channelName, counter); + return publisher.onItem().invoke(counter::incrementAndGet); + } else { + return publisher; + } + } + + @Override + public int getPriority() { + return 10; + } + + public long getMessageCount(String channel) { + return counters.get(channel).get(); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/emitter/ChannelExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/ChannelExamples.java new file mode 100644 index 000000000..47ca26cd1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/ChannelExamples.java @@ -0,0 +1,30 @@ +package emitter; + +import javax.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.reactivestreams.Publisher; + +import io.smallrye.mutiny.Multi; + +public class ChannelExamples { + + // tag::channel[] + @Inject + @Channel("my-channel") + Multi streamOfPayloads; + + @Inject + @Channel("my-channel") + Multi> streamOfMessages; + + @Inject + @Channel("my-channel") + Publisher publisherOfPayloads; + + @Inject + @Channel("my-channel") + Publisher> publisherOfMessages; + // end::channel[] +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/emitter/EmitterExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/EmitterExamples.java new file mode 100644 index 000000000..ffafb78b2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/EmitterExamples.java @@ -0,0 +1,119 @@ +package emitter; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import javax.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.*; + +import io.smallrye.reactive.messaging.annotations.Broadcast; +import messages.MyMetadata; + +public class EmitterExamples { + + // tag::payload[] + @Inject + @Channel("prices") + Emitter emitterForPrices; + + public void send(double d) { + emitterForPrices.send(d); + } + // end::payload[] + + // tag::cs[] + public void sendAndAwaitAcknowledgement(double d) { + CompletionStage acked = emitterForPrices.send(d); + // sending a payload returns a CompletionStage completed + // when the message is acknowledged + acked.toCompletableFuture().join(); + } + // end::cs[] + + // tag::message[] + public void sendAsMessage(double d) { + emitterForPrices.send(Message.of(d)); + } + // end::message[] + + // tag::message-ack[] + public void sendAsMessageWithAck(double d) { + emitterForPrices.send(Message.of(d, () -> { + // Called when the message is acknowledged. + return CompletableFuture.completedFuture(null); + }, + reason -> { + // Called when the message is acknowledged negatively. + return CompletableFuture.completedFuture(null); + })); + } + // end::message-ack[] + + // tag::message-meta[] + public void sendAsMessageWithAckAndMetadata(double d) { + MyMetadata metadata = new MyMetadata(); + emitterForPrices.send(Message.of(d, Metadata.of(metadata), + () -> { + // Called when the message is acknowledged. + return CompletableFuture.completedFuture(null); + }, + reason -> { + // Called when the message is acknowledged negatively. + return CompletableFuture.completedFuture(null); + })); + } + // end::message-meta[] + + // tag::broadcast[] + @Inject + @Broadcast + @Channel("prices") + Emitter emitter; + + public void emit(double d) { + emitter.send(d); + } + + @Incoming("prices") + public void handle(double d) { + // Handle the new price + } + + @Incoming("prices") + public void audit(double d) { + // Audit the price change + } + // end::broadcast[] + + static class OverflowExample { + // tag::overflow[] + + // Set the max size to 10 and fail if reached + @OnOverflow(value = OnOverflow.Strategy.BUFFER, bufferSize = 10) + @Inject + @Channel("channel") + Emitter emitterWithBuffer; + + // [DANGER ZONE] no limit + @OnOverflow(OnOverflow.Strategy.UNBOUNDED_BUFFER) + @Inject + @Channel("channel") + Emitter danger; + + // Drop the new messages if the size is reached + @OnOverflow(OnOverflow.Strategy.DROP) + @Inject + @Channel("channel") + Emitter dropping; + + // Drop the previously sent messages if the size is reached + @OnOverflow(OnOverflow.Strategy.LATEST) + @Inject + @Channel("channel") + Emitter dropOldMessages; + + // end::overflow[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/emitter/EmitterFactoryExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/EmitterFactoryExamples.java new file mode 100644 index 000000000..3a2c7b915 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/EmitterFactoryExamples.java @@ -0,0 +1,87 @@ +package emitter; + +import javax.enterprise.context.ApplicationScoped; +import javax.enterprise.inject.Produces; +import javax.enterprise.inject.spi.InjectionPoint; +import javax.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.reactivestreams.Publisher; + +import io.smallrye.reactive.messaging.ChannelRegistry; +import io.smallrye.reactive.messaging.EmitterConfiguration; +import io.smallrye.reactive.messaging.EmitterFactory; +import io.smallrye.reactive.messaging.EmitterType; +import io.smallrye.reactive.messaging.MessagePublisherProvider; +import io.smallrye.reactive.messaging.annotations.EmitterFactoryFor; +import io.smallrye.reactive.messaging.providers.extension.ChannelProducer; + +public class EmitterFactoryExamples { + + // tag::custom-emitter-declaration[] + + public interface CustomEmitter extends EmitterType { + + > void sendAndForget(M msg); + + } + + public static class CustomEmitterImpl implements CustomEmitter, MessagePublisherProvider { + + Publisher> publisher; + + public CustomEmitterImpl(EmitterConfiguration configuration, long defaultBufferSize) { + //... initialize emitter with configuration + } + + @Override + public Publisher> getPublisher() { + return publisher; + } + + @Override + public > void sendAndForget(M msg) { + //... send to stream + } + } + // end::custom-emitter-declaration[] + + // tag::custom-emitter-factory[] + @EmitterFactoryFor(CustomEmitter.class) + @ApplicationScoped + public static class CustomEmitterFactory implements EmitterFactory> { + + @Inject + ChannelRegistry channelRegistry; + + @Override + public CustomEmitterImpl createEmitter(EmitterConfiguration configuration, long defaultBufferSize) { + return new CustomEmitterImpl<>(configuration, defaultBufferSize); + } + + @Produces + @Channel("") // Stream name is ignored during type-safe resolution + CustomEmitter produce(InjectionPoint injectionPoint) { + String channelName = ChannelProducer.getChannelName(injectionPoint); + return channelRegistry.getEmitter(channelName, CustomEmitter.class); + } + } + // end::custom-emitter-factory[] + + // tag::custom-emitter-usage[] + + @Inject + @Channel("custom-emitter-channel") + CustomEmitter customEmitter; + + //... + + public void emitMessage() { + customEmitter.sendAndForget(Message.of("a")); + customEmitter.sendAndForget(Message.of("b")); + customEmitter.sendAndForget(Message.of("c")); + } + // end::custom-emitter-usage[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/emitter/MutinyExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/MutinyExamples.java new file mode 100644 index 000000000..957c8d8d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/MutinyExamples.java @@ -0,0 +1,33 @@ +package emitter; + +import javax.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import io.smallrye.reactive.messaging.MutinyEmitter; + +public class MutinyExamples { + // tag::uni[] + @Inject + @Channel("prices") + MutinyEmitter emitter; + + public Uni send(double d) { + return emitter.send(d); + } + // end::uni[] + + // tag::uni-await[] + public void sendAwait(double d) { + emitter.sendAndAwait(d); + } + // end::uni-await[] + + // tag::uni-forget[] + public Cancellable sendForget(double d) { + return emitter.sendAndForget(d); + } + // end::uni-forget[] +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/emitter/MyImperativeBean.java b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/MyImperativeBean.java new file mode 100644 index 000000000..f281c4f4b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/emitter/MyImperativeBean.java @@ -0,0 +1,24 @@ +package emitter; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; + +// tag::intro[] +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Emitter; + +@ApplicationScoped +public class MyImperativeBean { + + @Inject + @Channel("prices") + Emitter emitter; + + // ... + + public void send(double d) { + emitter.send(d); + } +} + +// end::intro[] diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/generation/GenerationExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/generation/GenerationExamples.java new file mode 100644 index 000000000..5b160e7e7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/generation/GenerationExamples.java @@ -0,0 +1,95 @@ +package generation; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; +import org.reactivestreams.Publisher; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; + +public class GenerationExamples { + + AtomicInteger counter = new AtomicInteger(); + + // tag::message-sync[] + @Outgoing("my-channel") + public Message generateMessagesSynchronously() { + return Message.of(counter.getAndIncrement()); + } + // end::message-sync[] + + // tag::message-cs[] + @Outgoing("my-channel") + public CompletionStage> generateMessagesAsCompletionStage() { + return asyncClient.poll() + .thenApply(Message::of); + } + // end::message-cs[] + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } + + private Pollable asyncClient = () -> CompletableFuture.completedFuture(new Price(10.0)); + + private interface Pollable { + CompletionStage poll(); + } + + // tag::message-uni[] + @Outgoing("my-channel") + public Uni> generateMessagesAsync() { + return Uni.createFrom().item(() -> Message.of(counter.getAndIncrement())); + } + // end::message-uni[] + + // tag::message-stream[] + public Publisher> generateMessageStream() { + Multi multi = reactiveClient.getStream(); + return multi.map(Message::of); + } + // end::message-stream[] + + private ReactiveClient reactiveClient = () -> Multi.createFrom().items("a", "b", "c"); + + private interface ReactiveClient { + Multi getStream(); + } + + // tag::payload-sync[] + @Outgoing("my-channel") + public Integer generatePayloadsSynchronously() { + return counter.getAndIncrement(); + } + // end::payload-sync[] + + // tag::payload-cs[] + @Outgoing("my-channel") + public CompletionStage generatePayloadsAsCompletionStage() { + return asyncClient.poll(); + } + // end::payload-cs[] + + // tag::payload-uni[] + @Outgoing("my-channel") + public Uni generatePayloadsAsync() { + return Uni.createFrom().item(() -> counter.getAndIncrement()); + } + // end::payload-uni[] + + // tag::payload-stream[] + @Outgoing("my-channel") + public Multi generatePayloadsStream() { + Multi multi = reactiveClient.getStream(); + return multi; + } + // end::payload-stream[] +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/incomings/IncomingsExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/incomings/IncomingsExamples.java new file mode 100644 index 000000000..f1d727df7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/incomings/IncomingsExamples.java @@ -0,0 +1,16 @@ +package incomings; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +public class IncomingsExamples { + + //tag::code[] + @Incoming("channel-1") + @Incoming("channel-2") + public String process(String s) { + // get messages from channel-1 and channel-2 + return s.toUpperCase(); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/interceptors/MyInterceptor.java b/content/docs/smallrye-reactive-messaging/3/_examples/interceptors/MyInterceptor.java new file mode 100644 index 000000000..c46aec971 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/interceptors/MyInterceptor.java @@ -0,0 +1,30 @@ +package interceptors; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.OutgoingInterceptor; +import io.smallrye.reactive.messaging.OutgoingMessageMetadata; + +@Identifier("channel-a") +@ApplicationScoped +public class MyInterceptor implements OutgoingInterceptor { + + @Override + public Message onMessage(Message message) { + return message.withPayload("changed " + message.getPayload()); + } + + @Override + public void onMessageAck(Message message) { + message.getMetadata(OutgoingMessageMetadata.class) + .ifPresent(m -> m.getResult()); + } + + @Override + public void onMessageNack(Message message, Throwable failure) { + + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsMetadataExample.java new file mode 100644 index 000000000..a50728c52 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsMetadataExample.java @@ -0,0 +1,25 @@ +package jms.inbound; + +import java.util.Optional; + +import javax.jms.Destination; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.jms.IncomingJmsMessageMetadata; + +public class JmsMetadataExample { + + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + Optional metadata = incoming.getMetadata(IncomingJmsMessageMetadata.class); + metadata.ifPresent(meta -> { + long expiration = meta.getExpiration(); + Destination destination = meta.getDestination(); + String value = meta.getStringProperty("my-property"); + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsPriceConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsPriceConsumer.java new file mode 100644 index 000000000..b519ef72e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsPriceConsumer.java @@ -0,0 +1,15 @@ +package jms.inbound; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class JmsPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsPriceMessageConsumer.java new file mode 100644 index 000000000..615fcc4f6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/jms/inbound/JmsPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package jms.inbound; + +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class JmsPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsOutboundMetadataExample.java new file mode 100644 index 000000000..6142bccf7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsOutboundMetadataExample.java @@ -0,0 +1,23 @@ +package jms.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.jms.JmsProperties; +import io.smallrye.reactive.messaging.jms.OutgoingJmsMessageMetadata; + +public class JmsOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + OutgoingJmsMessageMetadata metadata = OutgoingJmsMessageMetadata.builder() + .withProperties(JmsProperties.builder().with("some-property", "some-value").build()) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsPriceMessageProducer.java new file mode 100644 index 000000000..b54aa1c65 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsPriceMessageProducer.java @@ -0,0 +1,26 @@ +package jms.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class JmsPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsPriceProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsPriceProducer.java new file mode 100644 index 000000000..8c795d444 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/jms/outbound/JmsPriceProducer.java @@ -0,0 +1,25 @@ +package jms.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class JmsPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/ConsumerTest.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/ConsumerTest.java new file mode 100644 index 000000000..fe0e60637 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/ConsumerTest.java @@ -0,0 +1,45 @@ +package kafka.companion; + +import static org.testcontainers.shaded.org.awaitility.Awaitility.await; + +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + +import org.apache.kafka.common.TopicPartition; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class ConsumerTest extends KafkaCompanionTestBase { + + @Test + public void fromTopics() { + // tag::topics[] + companion.consumeIntegers().fromTopics("topic1", "topic2"); + // end::topics[] + } + + @Test + public void fromOffset() { + // tag::offsets[] + Map offsets = new HashMap<>(); + offsets.put(new TopicPartition("topic1", 0), 100L); + offsets.put(new TopicPartition("topic2", 0), 100L); + companion.consumeIntegers().fromOffsets(offsets, Duration.ofSeconds(10)); + // end::offsets[] + } + + @Test + public void committed() { + // tag::committed[] + ConsumerBuilder consumer = companion.consumeIntegers() + .withAutoCommit(); + consumer.fromTopics("topic"); + // ... + await().untilAsserted(consumer::waitForAssignment); + consumer.committed(new TopicPartition("topic", 1)); + // end::committed[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/KafkaTest.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/KafkaTest.java new file mode 100644 index 000000000..e10717dc0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/KafkaTest.java @@ -0,0 +1,76 @@ +package kafka.companion; + +import java.time.Duration; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.common.serialization.Deserializer; +import org.apache.kafka.common.serialization.Serializer; +import org.junit.jupiter.api.Assertions; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder; +import io.smallrye.reactive.messaging.kafka.companion.ConsumerTask; +import io.smallrye.reactive.messaging.kafka.companion.KafkaCompanion; +import io.smallrye.reactive.messaging.kafka.companion.ProducerBuilder; + +public class KafkaTest { + + public void newCompanion() { + // tag::companion[] + // Create companion with bootstrap servers and API timeout (default is 10 seconds) + KafkaCompanion companion = new KafkaCompanion("localhost:9092", Duration.ofSeconds(5)); + + // Create producer and start producer task + ProducerBuilder producer = companion.produceIntegers() + .withClientId("my-producer") + .withProp("max.block.ms", "5000"); + producer.usingGenerator(i -> new ProducerRecord<>("topic", i), 100); + + // Create consumer and start consumer task + ConsumerBuilder consumer = companion.consumeIntegers() + .withGroupId("my-group") + .withCommitAsyncWhen(record -> true); + ConsumerTask records = consumer.fromTopics("topic", Duration.ofSeconds(10)); + // Await completion and assert consumed record count + Assertions.assertEquals(records.awaitCompletion().count(), 100); + // end::companion[] + } + + public void serdes() { + // tag::serdes[] + KafkaCompanion companion = new KafkaCompanion("localhost:9092"); + + // Register serde to the companion + companion.registerSerde(Orders.class, new OrdersSerializer(), new OrdersDeserializer()); + + // Companion will configure consumer accordingly + ConsumerTask orders = companion.consume(Integer.class, Orders.class) + .fromTopics("orders", 1000).awaitCompletion(); + + for (ConsumerRecord order : orders) { + // ... check consumed records + } + // end::serdes[] + } + + public static class Orders { + + } + + public static class OrdersSerializer implements Serializer { + + @Override + public byte[] serialize(String s, Orders orders) { + return new byte[0]; + } + } + + public static class OrdersDeserializer implements Deserializer { + + @Override + public Orders deserialize(String s, byte[] bytes) { + return null; + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/KafkaWithBaseTest.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/KafkaWithBaseTest.java new file mode 100644 index 000000000..63bd8634a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/KafkaWithBaseTest.java @@ -0,0 +1,32 @@ +package kafka.companion; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerTask; +import io.smallrye.reactive.messaging.kafka.companion.ProducerTask; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +// tag::code[] +public class KafkaWithBaseTest extends KafkaCompanionTestBase { + + @Test + public void testWithBase() { + // companion is created by the base class + + // produce 100 records to messages topic + ProducerTask producerTask = companion.produceIntegers() + .usingGenerator(i -> new ProducerRecord<>("messages", i), 100); + long msgCount = producerTask.awaitCompletion().count(); + Assertions.assertEquals(msgCount, 100); + + // consume 100 records from messages topic + ConsumerTask consumerTask = companion.consumeIntegers() + .fromTopics("messages", 100); + ConsumerRecord lastRecord = consumerTask.awaitCompletion().getLastRecord(); + Assertions.assertEquals(lastRecord.value(), 99); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/OffsetsTest.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/OffsetsTest.java new file mode 100644 index 000000000..f7b00fa6b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/OffsetsTest.java @@ -0,0 +1,36 @@ +package kafka.companion; + +import java.util.Collection; + +import org.apache.kafka.clients.admin.ConsumerGroupListing; +import org.apache.kafka.clients.admin.OffsetSpec; +import org.apache.kafka.common.TopicPartition; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.KafkaCompanion; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class OffsetsTest extends KafkaCompanionTestBase { + + @Test + public void offsets() { + // tag::offsets[] + TopicPartition topicPartition = KafkaCompanion.tp("topic", 1); + long latestOffset = companion.offsets().get(topicPartition, OffsetSpec.latest()).offset(); + // end::offsets[] + } + + @Test + public void consumerGroups() { + // tag::consumerGroups[] + Collection consumerGroups = companion.consumerGroups().list(); + for (ConsumerGroupListing consumerGroup : consumerGroups) { + // check consumer groups + } + + TopicPartition topicPartition = KafkaCompanion.tp("topic", 1); + companion.consumerGroups().resetOffsets("consumer-group", topicPartition); + // end::consumerGroups[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/ProducerTest.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/ProducerTest.java new file mode 100644 index 000000000..a60561829 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/ProducerTest.java @@ -0,0 +1,34 @@ +package kafka.companion; + +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class ProducerTest extends KafkaCompanionTestBase { + + @Test + public void fromRecords() { + // tag::records[] + companion.produce(byte[].class).fromRecords( + new ProducerRecord<>("topic1", "k1", "1".getBytes()), + new ProducerRecord<>("topic1", "k2", "2".getBytes()), + new ProducerRecord<>("topic1", "k3", "3".getBytes())); + // end::records[] + } + + @Test + public void fromGenerator() { + // tag::generator[] + companion.produceIntegers().usingGenerator(i -> new ProducerRecord<>("topic", i), 10); + // end::generator[] + } + + @Test + public void fromCsv() { + // tag::csv[] + companion.produceStrings().fromCsv("records.csv"); + // end::csv[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/TopicsTest.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/TopicsTest.java new file mode 100644 index 000000000..01e048611 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/companion/TopicsTest.java @@ -0,0 +1,20 @@ +package kafka.companion; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class TopicsTest extends KafkaCompanionTestBase { + + @Test + public void topics() { + // tag::code[] + companion.topics().create("topic1", 1); + companion.topics().createAndWait("topic2", 3); + Assertions.assertEquals(companion.topics().list().size(), 2); + + companion.topics().delete("topic1"); + // end::code[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/Converters.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/Converters.java new file mode 100644 index 000000000..60282e376 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/Converters.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.Record; + +@ApplicationScoped +public class Converters { + + // tag::code[] + @Incoming("topic-a") + public void consume(Record record) { + String key = record.key(); // Can be `null` if the incoming record has no key + String value = record.value(); // Can be `null` if the incoming record has no value + } + + @Incoming("topic-b") + public void consume(ConsumerRecord record) { + String key = record.key(); // Can be `null` if the incoming record has no key + String value = record.value(); // Can be `null` if the incoming record has no value + String topic = record.topic(); + int partition = record.partition(); + // ... + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaCheckpointExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaCheckpointExample.java new file mode 100644 index 000000000..c677cd843 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaCheckpointExample.java @@ -0,0 +1,31 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.commit.CheckpointMetadata; + +@ApplicationScoped +public class KafkaCheckpointExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consume(KafkaRecord record) { + // Get the `CheckpointMetadata` from the incoming message + CheckpointMetadata checkpoint = CheckpointMetadata.fromMessage(record); + + // `CheckpointMetadata` allows transforming the processing state + // Applies the given function, starting from the value `0.0` when no previous state exists + checkpoint.transform(0.0, current -> current + record.getPayload(), /* persistOnAck */ true); + + // `persistOnAck` flag set to true, ack will persist the processing state + // associated with the latest offset (per partition). + return record.ack(); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaCustomCommit.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaCustomCommit.java new file mode 100644 index 000000000..84b82c217 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaCustomCommit.java @@ -0,0 +1,60 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.function.BiConsumer; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.TopicPartition; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord; +import io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.kafka.KafkaConsumer; +import io.smallrye.reactive.messaging.kafka.commit.KafkaCommitHandler; +import io.vertx.mutiny.core.Vertx; + +public class KafkaCustomCommit implements KafkaCommitHandler { + + @Override + public Uni handle(IncomingKafkaRecord record) { + // called on message ack + return Uni.createFrom().voidItem(); + } + + @Override + public Uni> received(IncomingKafkaRecord record) { + // called before message processing + return Uni.createFrom().item(record); + } + + @Override + public void terminate(boolean graceful) { + // called on channel shutdown + } + + @Override + public void partitionsAssigned(Collection partitions) { + // called on partitions assignment + } + + @Override + public void partitionsRevoked(Collection partitions) { + // called on partitions revoked + } + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements KafkaCommitHandler.Factory { + + @Override + public KafkaCommitHandler create(KafkaConnectorIncomingConfiguration config, + Vertx vertx, + KafkaConsumer consumer, + BiConsumer reportFailure) { + return new KafkaCustomCommit(/* ... */); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaDeadLetterExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaDeadLetterExample.java new file mode 100644 index 000000000..9130d8ef2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaDeadLetterExample.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import java.nio.charset.StandardCharsets; +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.header.internals.RecordHeaders; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +@ApplicationScoped +public class KafkaDeadLetterExample { + + // tag::code[] + @Incoming("in") + public CompletionStage consume(KafkaRecord message) { + return message.nack(new Exception("Failed!"), Metadata.of( + OutgoingKafkaRecordMetadata.builder() + .withKey("failed-record") + .withHeaders(new RecordHeaders() + .add("my-header", "my-header-value".getBytes(StandardCharsets.UTF_8))) + .build())); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaMetadataExample.java new file mode 100644 index 000000000..8400fe0df --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaMetadataExample.java @@ -0,0 +1,36 @@ +package kafka.inbound; + +import java.time.Instant; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordMetadata; + +public class KafkaMetadataExample { + + @SuppressWarnings("unchecked") + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + IncomingKafkaRecordMetadata metadata = incoming.getMetadata(IncomingKafkaRecordMetadata.class) + .orElse(null); + if (metadata != null) { + // The topic + String topic = metadata.getTopic(); + + // The key + String key = metadata.getKey(); + + // The timestamp + Instant timestamp = metadata.getTimestamp(); + + // The underlying record + ConsumerRecord record = metadata.getRecord(); + + // ... + } + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaPriceConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaPriceConsumer.java new file mode 100644 index 000000000..e8f951059 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaPriceConsumer.java @@ -0,0 +1,15 @@ +package kafka.inbound; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaPriceMessageConsumer.java new file mode 100644 index 000000000..81c9a1436 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class KafkaPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message (commit the offset) + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRebalancedConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRebalancedConsumer.java new file mode 100644 index 000000000..155ef895f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRebalancedConsumer.java @@ -0,0 +1,23 @@ +package kafka.inbound; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord; + +@ApplicationScoped +public class KafkaRebalancedConsumer { + + @Incoming("rebalanced-example") + @Acknowledgment(Acknowledgment.Strategy.NONE) + public CompletionStage consume(IncomingKafkaRecord message) { + // We don't need to ACK messages because in this example we set offset during consumer re-balance + return CompletableFuture.completedFuture(null); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java new file mode 100644 index 000000000..be10d7e48 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java @@ -0,0 +1,49 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.logging.Logger; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.consumer.OffsetAndTimestamp; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener; + +@ApplicationScoped +@Identifier("rebalanced-example.rebalancer") +public class KafkaRebalancedConsumerRebalanceListener implements KafkaConsumerRebalanceListener { + + private static final Logger LOGGER = Logger.getLogger(KafkaRebalancedConsumerRebalanceListener.class.getName()); + + /** + * When receiving a list of partitions will search for the earliest offset within 10 minutes + * and seek the consumer to it. + * + * @param consumer underlying consumer + * @param partitions set of assigned topic partitions + */ + @Override + public void onPartitionsAssigned(Consumer consumer, + Collection partitions) { + long now = System.currentTimeMillis(); + long shouldStartAt = now - 600_000L; //10 minute ago + + Map request = new HashMap<>(); + for (org.apache.kafka.common.TopicPartition partition : partitions) { + LOGGER.info("Assigned " + partition); + request.put(partition, shouldStartAt); + } + Map offsets = consumer + .offsetsForTimes(request); + for (Map.Entry position : offsets.entrySet()) { + long target = position.getValue() == null ? 0L : position.getValue().offset(); + LOGGER.info("Seeking position " + target + " for " + position.getKey()); + consumer.seek(position.getKey(), target); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRecordBatchExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRecordBatchExample.java new file mode 100644 index 000000000..4553a6e1f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRecordBatchExample.java @@ -0,0 +1,45 @@ +package kafka.inbound; + +import java.time.Instant; +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.apache.kafka.common.TopicPartition; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.KafkaRecordBatch; +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordMetadata; + +@ApplicationScoped +public class KafkaRecordBatchExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consumeMessage(KafkaRecordBatch records) { + for (KafkaRecord record : records) { + record.getMetadata(IncomingKafkaRecordMetadata.class).ifPresent(metadata -> { + int partition = metadata.getPartition(); + long offset = metadata.getOffset(); + Instant timestamp = metadata.getTimestamp(); + //... process messages + }); + } + // ack will commit the latest offsets (per partition) of the batch. + return records.ack(); + } + + @Incoming("prices") + public void consumeRecords(ConsumerRecords records) { + for (TopicPartition partition : records.partitions()) { + for (ConsumerRecord record : records.records(partition)) { + //... process messages + } + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java new file mode 100644 index 000000000..79e23002b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java @@ -0,0 +1,21 @@ +package kafka.inbound; + +import java.util.List; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaRecordBatchPayloadExample { + + // tag::code[] + @Incoming("prices") + public void consume(List prices) { + for (double price : prices) { + // process price + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/MyCheckpointStateStore.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/MyCheckpointStateStore.java new file mode 100644 index 000000000..b91d74306 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/inbound/MyCheckpointStateStore.java @@ -0,0 +1,68 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.Map; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerConfig; +import org.apache.kafka.common.TopicPartition; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.kafka.KafkaConsumer; +import io.smallrye.reactive.messaging.kafka.commit.CheckpointStateStore; +import io.smallrye.reactive.messaging.kafka.commit.ProcessingState; +import io.vertx.mutiny.core.Vertx; + +public class MyCheckpointStateStore implements CheckpointStateStore { + + private final String consumerGroupId; + private final Class stateType; + + public MyCheckpointStateStore(String consumerGroupId, Class stateType) { + this.consumerGroupId = consumerGroupId; + this.stateType = stateType; + } + + /** + * Can be used with + * {@code mp.reactive.messaging.incoming.my-channel.commit-strategy=checkpoint} + * {@code mp.reactive.messaging.incoming.my-channel.checkpoint.state-store=my-store} + */ + @ApplicationScoped + @Identifier("my-store") + public static class Factory implements CheckpointStateStore.Factory { + + @Override + public CheckpointStateStore create(KafkaConnectorIncomingConfiguration config, + Vertx vertx, + KafkaConsumer consumer, + Class stateType /* if configured, otherwise null */) { + String consumerGroupId = (String) consumer.configuration().get(ConsumerConfig.GROUP_ID_CONFIG); + return new MyCheckpointStateStore(consumerGroupId, stateType); + } + } + + @Override + public Uni>> fetchProcessingState(Collection partitions) { + // Called on Vert.x event loop + // Return a Uni completing with the map of topic-partition to processing state + // The Uni will be subscribed also on Vert.x event loop + return Uni.createFrom().nullItem(); + } + + @Override + public Uni persistProcessingState(Map> state) { + // Called on Vert.x event loop + // Return a Uni completing with void when the given states are persisted + // The Uni will be subscribed also on Vert.x event loop + return Uni.createFrom().voidItem(); + } + + @Override + public void close() { + /* Called when channel is closing, no-op by default */ + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java new file mode 100644 index 000000000..c396e1145 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java @@ -0,0 +1,39 @@ +package kafka.outbound; + +import java.net.URI; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class KafkaCloudEventMultipleProcessors { + + @Incoming("source") + @Outgoing("processed") + public Message process(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greeting") + .build()); + } + + @SuppressWarnings("unchecked") + @Incoming("processed") + @Outgoing("cloud-events") + public Message process2(Message in) { + OutgoingCloudEventMetadata metadata = in + .getMetadata(OutgoingCloudEventMetadata.class) + .orElseGet(() -> OutgoingCloudEventMetadata.builder().build()); + + return in.addMetadata(OutgoingCloudEventMetadata.from(metadata) + .withSource(URI.create("source://me")) + .withSubject("test") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaCloudEventProcessor.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaCloudEventProcessor.java new file mode 100644 index 000000000..140e72b91 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaCloudEventProcessor.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import java.net.URI; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class KafkaCloudEventProcessor { + + @Outgoing("cloud-events") + public Message toCloudEvents(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greetings") + .withSource(URI.create("http://example.com")) + .withSubject("greeting-message") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java new file mode 100644 index 000000000..4ca729fda --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java @@ -0,0 +1,31 @@ +package kafka.outbound; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.KafkaRecordBatch; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + @Incoming("in-channel") + public Uni emitInTransaction(KafkaRecordBatch batch) { + return txProducer.withTransaction(batch, emitter -> { + for (KafkaRecord record : batch) { + emitter.send(KafkaRecord.of(record.getKey(), record.getPayload() + 1)); + } + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java new file mode 100644 index 000000000..cca404431 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +public class KafkaOutboundDynamicTopicExample { + + public Message metadata(Message incoming) { + // tag::code[] + String topicName = selectTopicFromIncommingMessage(incoming); + OutgoingKafkaRecordMetadata metadata = OutgoingKafkaRecordMetadata. builder() + .withTopic(topicName) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + + private String selectTopicFromIncommingMessage(Message incoming) { + return "fake"; + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaOutboundMetadataExample.java new file mode 100644 index 000000000..645f290d2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaOutboundMetadataExample.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import org.apache.kafka.common.header.internals.RecordHeaders; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +public class KafkaOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + // Creates an OutgoingKafkaRecordMetadata + // The type parameter is the type of the record's key + OutgoingKafkaRecordMetadata metadata = OutgoingKafkaRecordMetadata. builder() + .withKey("my-key") + .withHeaders(new RecordHeaders().add("my-header", "value".getBytes())) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceMessageProducer.java new file mode 100644 index 000000000..5491facf8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceMessageProducer.java @@ -0,0 +1,26 @@ +package kafka.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class KafkaPriceMessageProducer { + + private final Random random = new Random(); + + @Outgoing("prices-out") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceProcessor.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceProcessor.java new file mode 100644 index 000000000..2a1a14ab7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceProcessor.java @@ -0,0 +1,19 @@ +package kafka.outbound; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaPriceProcessor { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public double process(int in) { + return in * 0.88; + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceProducer.java new file mode 100644 index 000000000..34283190a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaPriceProducer.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class KafkaPriceProducer { + + private final Random random = new Random(); + + @Outgoing("prices-out") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaProducerRecordExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaProducerRecordExample.java new file mode 100644 index 000000000..adda9623e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaProducerRecordExample.java @@ -0,0 +1,18 @@ +package kafka.outbound; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.producer.ProducerRecord; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaProducerRecordExample { + + // tag::code[] + @Outgoing("out") + public ProducerRecord generate() { + return new ProducerRecord<>("my-topic", "key", "value"); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaRecordExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaRecordExample.java new file mode 100644 index 000000000..415688dd0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaRecordExample.java @@ -0,0 +1,21 @@ +package kafka.outbound; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.kafka.Record; + +@ApplicationScoped +public class KafkaRecordExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Record process(String in) { + return Record.of("my-key", in); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaTransactionalProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaTransactionalProducer.java new file mode 100644 index 000000000..b50777c0d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/KafkaTransactionalProducer.java @@ -0,0 +1,28 @@ +package kafka.outbound; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaTransactionalProducer { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + public Uni emitInTransaction() { + return txProducer.withTransaction(emitter -> { + emitter.send(KafkaRecord.of(1, "a")); + emitter.send(KafkaRecord.of(2, "b")); + emitter.send(KafkaRecord.of(3, "c")); + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/ProducerInterceptorBeanExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/ProducerInterceptorBeanExample.java new file mode 100644 index 000000000..a321feed8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/kafka/outbound/ProducerInterceptorBeanExample.java @@ -0,0 +1,37 @@ +package kafka.outbound; + +import java.util.Map; + +import javax.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.producer.ProducerInterceptor; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.clients.producer.RecordMetadata; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +@Identifier("my-producer-interceptor") +public class ProducerInterceptorBeanExample implements ProducerInterceptor { + + @Override + public ProducerRecord onSend(ProducerRecord producerRecord) { + // called before send + return producerRecord; + } + + @Override + public void onAcknowledgement(RecordMetadata recordMetadata, Exception e) { + // called on send acknowledgement callback + } + + @Override + public void close() { + // called on client close + } + + @Override + public void configure(Map map) { + // called on client configuration + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/merge/MergeExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/merge/MergeExamples.java new file mode 100644 index 000000000..fbf4d4ac8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/merge/MergeExamples.java @@ -0,0 +1,31 @@ +package merge; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Merge; + +public class MergeExamples { + + // tag::chain[] + @Incoming("in1") + @Outgoing("out") + public int increment(int i) { + return i + 1; + } + + @Incoming("in2") + @Outgoing("out") + public int multiply(int i) { + return i * 2; + } + + @Incoming("out") + @Merge + public void getAll(int i) { + //... + } + + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/messages/MessageExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/messages/MessageExamples.java new file mode 100644 index 000000000..15dbf7e0f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/messages/MessageExamples.java @@ -0,0 +1,96 @@ +package messages; + +import java.util.Optional; +import java.util.concurrent.CompletableFuture; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +@SuppressWarnings({ "unused" }) +public class MessageExamples { + + public void example1() { + Message message = Message.of("hello", Metadata.of(new MyMetadata())); + // tag::message[] + String payload = message.getPayload(); + Optional metadata = message.getMetadata(MyMetadata.class); + // end::message[] + } + + public void creation() { + Price price = new Price(20.5); + // tag::creation[] + // Create a simple message wrapping a payload + Message m1 = Message.of(price); + + // Create a message with metadata + Message m2 = Message.of(price, Metadata.of(new PriceMetadata())); + + // Create a message with several metadata + Message m3 = Message.of(price, + Metadata.of(new PriceMetadata(), new MyMetadata())); + + // Create a message with an acknowledgement callback + Message m4 = Message.of(price, () -> { + // Called when the message is acknowledged by the next consumer. + return CompletableFuture.completedFuture(null); + }); + + // Create a message with both metadata and acknowledgement callback + Message m5 = Message.of(price, + Metadata.of(new PriceMetadata()), + () -> { + // Called when the message is acknowledged by the next consumer. + return CompletableFuture.completedFuture(null); + }); + // end::creation[] + } + + public void copy() { + Price price = new Price(20.5); + Message message = Message.of(price); + // tag::copy[] + + // Create a new message with a new payload but with the same metadata + Message m1 = message.withPayload(new Price(12.4)); + + // Create a new message with a new payload and add another metadata + Message m2 = message + .withPayload(new Price(15.0)) + .withMetadata(Metadata.of(new PriceMetadata())); + + // Create a new message with a new payload and a custom acknowledgement + Message m3 = message + .withPayload(new Price(15.0)) + .withAck(() -> + // acknowledge the incoming message + message.ack() + .thenAccept(x -> { + // do something + })); + // end::copy[] + } + + public void nullPayload() { + // tag::null-payload[] + // Create a message with null payload + Message m6 = Message.of(null, Metadata.of(new PriceMetadata())); + // end::null-payload[] + } + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } + + static class PriceMetadata { + final long timestamp; + + public PriceMetadata() { + this.timestamp = System.currentTimeMillis(); + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/customization/ClientProducers.java b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/customization/ClientProducers.java new file mode 100644 index 000000000..09e3a2793 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/customization/ClientProducers.java @@ -0,0 +1,32 @@ +package mqtt.customization; + +import javax.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; + +public class ClientProducers { + + // tag::named[] + @Produces + @Identifier("my-options") + public MqttClientSessionOptions getOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return new MqttClientSessionOptions() + .setSsl(true) + .setPemKeyCertOptions(keycert) + .setPemTrustOptions(trust) + .setHostnameVerificationAlgorithm("") + .setConnectTimeout(30000) + .setReconnectInterval(5000); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/inbound/MqttPriceConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/inbound/MqttPriceConsumer.java new file mode 100644 index 000000000..357015762 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/inbound/MqttPriceConsumer.java @@ -0,0 +1,17 @@ +package mqtt.inbound; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class MqttPriceConsumer { + + @Incoming("prices") + public void consume(byte[] raw) { + double price = Double.parseDouble(new String(raw)); + + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/inbound/MqttPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/inbound/MqttPriceMessageConsumer.java new file mode 100644 index 000000000..54507e6c5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/inbound/MqttPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package mqtt.inbound; + +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class MqttPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/outbound/MqttPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/outbound/MqttPriceMessageProducer.java new file mode 100644 index 000000000..6a6634b81 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/outbound/MqttPriceMessageProducer.java @@ -0,0 +1,26 @@ +package mqtt.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class MqttPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/outbound/MqttPriceProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/outbound/MqttPriceProducer.java new file mode 100644 index 000000000..14e3b8a7c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/mqtt/outbound/MqttPriceProducer.java @@ -0,0 +1,25 @@ +package mqtt.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class MqttPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/processing/ProcessingExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/processing/ProcessingExamples.java new file mode 100644 index 000000000..548722816 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/processing/ProcessingExamples.java @@ -0,0 +1,72 @@ +package processing; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class ProcessingExamples { + + // tag::process-message[] + @Incoming("in") + @Outgoing("out") + public Message processMessage(Message in) { + return in.withPayload(Integer.toString(in.getPayload())); + } + // end::process-message[] + + // tag::process-message-cs[] + @Incoming("in") + @Outgoing("out") + public CompletionStage> processMessageCS(Message in) { + CompletionStage cs = invokeService(in.getPayload()); + return cs.thenApply(in::withPayload); + } + // end::process-message-cs[] + + // tag::process-message-uni[] + @Incoming("in") + @Outgoing("out") + public Uni> processMessageUni(Message in) { + return invokeService(in.getPayload()) + .map(in::withPayload); + } + // end::process-message-uni[] + + // tag::process-payload[] + @Incoming("in") + @Outgoing("out") + public String processPayload(int in) { + return Integer.toString(in); + } + // end::process-payload[] + + // tag::process-payload-cs[] + @Incoming("in") + @Outgoing("out") + public CompletionStage processPayloadCS(int in) { + return invokeService(in); + } + // end::process-payload-cs[] + + // tag::process-payload-uni[] + @Incoming("in") + @Outgoing("out") + public Uni processPayload(String in) { + return invokeService(in); + } + // end::process-payload-uni[] + + private CompletionStage invokeService(int param) { + return CompletableFuture.completedFuture("ok"); + } + + private Uni invokeService(String param) { + return Uni.createFrom().item("ok"); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/processing/StreamExamples.java b/content/docs/smallrye-reactive-messaging/3/_examples/processing/StreamExamples.java new file mode 100644 index 000000000..c33bfecd8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/processing/StreamExamples.java @@ -0,0 +1,41 @@ +package processing; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; + +public class StreamExamples { + + // tag::processing-stream-message[] + @Incoming("in") + @Outgoing("out") + public Multi> processMessageStream(Multi> stream) { + return stream + .onItem().transformToUni(message -> invokeService(message.getPayload()) + .onFailure().recoverWithItem("fallback") + .onItem().transform(message::withPayload)) + .concatenate(); + + } + // end::processing-stream-message[] + + // tag::processing-stream-payload[] + @Incoming("in") + @Outgoing("out") + public Multi processPayloadStream(Multi stream) { + return stream + .onItem().transformToUni(payload -> invokeService(payload) + .onFailure().recoverWithItem("fallback")) + .concatenate(); + + } + // end::processing-stream-payload[] + + private Uni invokeService(int i) { + return Uni.createFrom().item("ok " + i); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/quickstart/ReactiveMessagingExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/quickstart/ReactiveMessagingExample.java new file mode 100644 index 000000000..5030ad490 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/quickstart/ReactiveMessagingExample.java @@ -0,0 +1,35 @@ +package quickstart; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class ReactiveMessagingExample { + + @Outgoing("source") + public Multi source() { + return Multi.createFrom().items("hello", "from", "SmallRye", "reactive", "messaging"); + } + + @Incoming("source") + @Outgoing("processed-a") + public String toUpperCase(String payload) { + return payload.toUpperCase(); + } + + @Incoming("processed-a") + @Outgoing("processed-b") + public Multi filter(Multi input) { + return input.select().where(item -> item.length() > 4); + } + + @Incoming("processed-b") + public void sink(String word) { + System.out.println(">> " + word); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/customization/RabbitMQProducers.java b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/customization/RabbitMQProducers.java new file mode 100644 index 000000000..1168356ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/customization/RabbitMQProducers.java @@ -0,0 +1,34 @@ +package rabbitmq.customization; + +import javax.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; +import io.vertx.rabbitmq.RabbitMQOptions; + +public class RabbitMQProducers { + + // tag::named[] + @Produces + @Identifier("my-named-options") + public RabbitMQOptions getNamedOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return (RabbitMQOptions) new RabbitMQOptions() + .setUser("admin") + .setPassword("test") + .setSsl(true) + .setPemKeyCertOptions(keycert) + .setPemTrustOptions(trust) + .setHostnameVerificationAlgorithm("") + .setConnectTimeout(30000) + .setReconnectInterval(5000); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQMetadataExample.java new file mode 100644 index 000000000..c5b826b20 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQMetadataExample.java @@ -0,0 +1,36 @@ +package rabbitmq.inbound; + +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.Map; +import java.util.Optional; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.rabbitmq.IncomingRabbitMQMetadata; + +public class RabbitMQMetadataExample { + + public void metadata(final Message incomingMessage) { + // tag::code[] + final Optional metadata = incomingMessage.getMetadata(IncomingRabbitMQMetadata.class); + metadata.ifPresent(meta -> { + final Optional contentEncoding = meta.getContentEncoding(); + final Optional contentType = meta.getContentType(); + final Optional correlationId = meta.getCorrelationId(); + final Optional timestamp = meta.getTimestamp(ZoneId.systemDefault()); + final Optional priority = meta.getPriority(); + final Optional replyTo = meta.getReplyTo(); + final Optional userId = meta.getUserId(); + + // Access a single String-valued header + final Optional stringHeader = meta.getHeader("my-header", String.class); + + // Access all headers + final Map headers = meta.getHeaders(); + // ... + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQPriceConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQPriceConsumer.java new file mode 100644 index 000000000..f74179004 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQPriceConsumer.java @@ -0,0 +1,15 @@ +package rabbitmq.inbound; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class RabbitMQPriceConsumer { + + @Incoming("prices") + public void consume(String price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java new file mode 100644 index 000000000..57de47064 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package rabbitmq.inbound; + +import java.util.concurrent.CompletionStage; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class RabbitMQPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message, marking the RabbitMQ message as `accepted`. + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java new file mode 100644 index 000000000..225a6f0a4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java @@ -0,0 +1,26 @@ +package rabbitmq.outbound; + +import java.time.ZonedDateTime; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.rabbitmq.OutgoingRabbitMQMetadata; + +public class RabbitMQOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + final OutgoingRabbitMQMetadata metadata = new OutgoingRabbitMQMetadata.Builder() + .withHeader("my-header", "xyzzy") + .withRoutingKey("urgent") + .withTimestamp(ZonedDateTime.now()) + .build(); + + // Add `metadata` to the metadata of the outgoing message. + return Message.of("Hello", Metadata.of(metadata)); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQPriceMessageProducer.java new file mode 100644 index 000000000..7685f47c9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQPriceMessageProducer.java @@ -0,0 +1,33 @@ +package rabbitmq.outbound; + +import java.time.Duration; +import java.time.ZonedDateTime; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.rabbitmq.OutgoingRabbitMQMetadata; + +@ApplicationScoped +public class RabbitMQPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble(), + Metadata.of(new OutgoingRabbitMQMetadata.Builder() + .withRoutingKey("normal") + .withTimestamp(ZonedDateTime.now()) + .build()))); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQPriceProducer.java b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQPriceProducer.java new file mode 100644 index 000000000..fd8e656f2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/rabbitmq/outbound/RabbitMQPriceProducer.java @@ -0,0 +1,25 @@ +package rabbitmq.outbound; + +import java.time.Duration; +import java.util.Random; + +import javax.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class RabbitMQPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/skip/SingleSkip.java b/content/docs/smallrye-reactive-messaging/3/_examples/skip/SingleSkip.java new file mode 100644 index 000000000..f7209220b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/skip/SingleSkip.java @@ -0,0 +1,59 @@ +package skip; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class SingleSkip { + + // tag::skip[] + // Skip when processing payload synchronously - returning `null` + @Incoming("in") + @Outgoing("out") + public String processPayload(String s) { + if (s.equalsIgnoreCase("skip")) { + return null; + } + return s.toUpperCase(); + } + + // Skip when processing message synchronously - returning `null` + @Incoming("in") + @Outgoing("out") + public Message processMessage(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + m.ack(); + return null; + } + return m.withPayload(s.toUpperCase()); + } + + // Skip when processing payload asynchronously - returning a `Uni` with a `null` value + @Incoming("in") + @Outgoing("out") + public Uni processPayloadAsync(String s) { + if (s.equalsIgnoreCase("skip")) { + // Important, you must not return `null`, but a `null` content + return Uni.createFrom().nullItem(); + } + return Uni.createFrom().item(s.toUpperCase()); + } + + // Skip when processing message asynchronously - returning a `Uni` with a `null` value + @Incoming("in") + @Outgoing("out") + public Uni> processMessageAsync(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + m.ack(); + return Uni.createFrom().nullItem(); + } + return Uni.createFrom().item(m.withPayload(s.toUpperCase())); + } + + // end::skip[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/skip/StreamSkip.java b/content/docs/smallrye-reactive-messaging/3/_examples/skip/StreamSkip.java new file mode 100644 index 000000000..2108a1077 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/skip/StreamSkip.java @@ -0,0 +1,48 @@ +package skip; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class StreamSkip { + + // tag::skip[] + @Incoming("in") + @Outgoing("out-1") + public Multi processPayload(String s) { + if (s.equalsIgnoreCase("skip")) { + return Multi.createFrom().empty(); + } + return Multi.createFrom().item(s.toUpperCase()); + } + + @Incoming("in") + @Outgoing("out-2") + public Multi> processMessage(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + return Multi.createFrom().empty(); + } + return Multi.createFrom().item(m.withPayload(s.toUpperCase())); + } + + @Incoming("in") + @Outgoing("out-3") + public Multi processPayloadStream(Multi stream) { + return stream + .select().where(s -> !s.equalsIgnoreCase("skip")) + .onItem().transform(String::toUpperCase); + } + + @Incoming("in") + @Outgoing("out-4") + public Multi> processMessageStream(Multi> stream) { + return stream + .select().where(m -> !m.getPayload().equalsIgnoreCase("skip")) + .onItem().transform(m -> m.withPayload(m.getPayload().toUpperCase())); + } + // end::skip[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/testing/MyTest.java b/content/docs/smallrye-reactive-messaging/3/_examples/testing/MyTest.java new file mode 100644 index 000000000..0ee8efd15 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/testing/MyTest.java @@ -0,0 +1,51 @@ +package testing; + +import javax.enterprise.inject.Any; +import javax.inject.Inject; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.providers.connectors.InMemoryConnector; +import io.smallrye.reactive.messaging.providers.connectors.InMemorySink; +import io.smallrye.reactive.messaging.providers.connectors.InMemorySource; + +public class MyTest { + + // 1. Switch the channels to the in-memory connector: + @BeforeAll + public static void switchMyChannels() { + InMemoryConnector.switchIncomingChannelsToInMemory("prices"); + InMemoryConnector.switchOutgoingChannelsToInMemory("processed-prices"); + } + + // 2. Don't forget to reset the channel after the tests: + @AfterAll + public static void revertMyChannels() { + InMemoryConnector.clear(); + } + + // 3. Inject the in-memory connector in your test, + // or use the bean manager to retrieve the instance + @Inject + @Any + InMemoryConnector connector; + + @Test + void test() { + // 4. Retrieves the in-memory source to send message + InMemorySource prices = connector.source("prices"); + // 5. Retrieves the in-memory sink to check what is received + InMemorySink results = connector.sink("processed-prices"); + + // 6. Send fake messages: + prices.send(1); + prices.send(2); + prices.send(3); + + // 7. Check you have received the expected messages + Assertions.assertEquals(3, results.received().size()); + } +} diff --git a/content/docs/smallrye-reactive-messaging/3/_examples/testing/MyTestSetup.java b/content/docs/smallrye-reactive-messaging/3/_examples/testing/MyTestSetup.java new file mode 100644 index 000000000..5472d654d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_examples/testing/MyTestSetup.java @@ -0,0 +1,23 @@ +package testing; + +import java.util.HashMap; +import java.util.Map; + +import io.smallrye.reactive.messaging.providers.connectors.InMemoryConnector; + +public class MyTestSetup { + + // tag::code[] + public Map start() { + Map env = new HashMap<>(); + env.putAll(InMemoryConnector.switchIncomingChannelsToInMemory("prices")); + env.putAll(InMemoryConnector.switchOutgoingChannelsToInMemory("my-data-stream")); + return env; + } + + public void stop() { + InMemoryConnector.clear(); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-amqp-incoming.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-amqp-incoming.adoc new file mode 100644 index 000000000..5953591ec --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-amqp-incoming.adoc @@ -0,0 +1,27 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_address_ |The AMQP address. If not set, the channel name is used |string |false | +|_auto-acknowledgement_ |Whether the received AMQP messages must be acknowledged when received |boolean |false |`false` +|_broadcast_ |Whether the received AMQP messages must be dispatched to multiple _subscribers_ |boolean |false |`false` +|_capabilities_ |A comma-separated list of capabilities proposed by the sender or receiver client. |string |false | +|_client-options-name_ _(amqp-client-options-name)_ |The name of the AMQP Client Option bean used to customize the AMQP client configuration |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_connect-timeout_ _(amqp-connect-timeout)_ |The connection timeout in milliseconds |int |false |`1000` +|_container-id_ |The AMQP container id |string |false | +|_durable_ |Whether AMQP subscription is durable |boolean |false |`false` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from an AMQP message is nacked. Accepted values are `fail` (default), `accept`, `release`, `reject`, `modified-failed`, `modified-failed-undeliverable-here` |string |false |`fail` +|_health-timeout_ |The max number of seconds to wait to determine if the connection with the broker is still established for the readiness check. After that threshold, the check is considered as failed. |int |false |`3` +|_host_ _(amqp-host)_ |The broker hostname |string |false |`localhost` +|_link-name_ |The name of the link. If not set, the channel name is used. |string |false | +|_password_ _(amqp-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(amqp-port)_ |The broker port |int |false |`5672` +|_reconnect-attempts_ _(amqp-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(amqp-reconnect-interval)_ |The interval in second between two reconnection attempts |int |false |`10` +|_selector_ |Sets a message selector. This attribute is used to define an `apache.org:selector-filter:string` filter on the source terminus, using SQL-based syntax to request the server filters which messages are delivered to the receiver (if supported by the server in question). Precise functionality supported and syntax needed can vary depending on the server. |string |false | +|_sni-server-name_ _(amqp-sni-server-name)_ |If set, explicitly override the hostname to use for the TLS SNI server name |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_use-ssl_ _(amqp-use-ssl)_ |Whether the AMQP connection uses SSL/TLS |boolean |false |`false` +|_username_ _(amqp-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(amqp-virtual-host)_ |If set, configure the hostname value used for the connection AMQP Open frame and TLS SNI server name (if TLS is in use) |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-amqp-outgoing.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-amqp-outgoing.adoc new file mode 100644 index 000000000..bac41b94e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-amqp-outgoing.adoc @@ -0,0 +1,34 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_address_ |The AMQP address. If not set, the channel name is used |string |false | +|_capabilities_ |A comma-separated list of capabilities proposed by the sender or receiver client. |string |false | +|_client-options-name_ _(amqp-client-options-name)_ |The name of the AMQP Client Option bean used to customize the AMQP client configuration |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_cloud-events-data-content-type_ _(cloud-events-default-data-content-type)_ |Configure the default `datacontenttype` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `datacontenttype` attribute itself |string |false | +|_cloud-events-data-schema_ _(cloud-events-default-data-schema)_ |Configure the default `dataschema` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `dataschema` attribute itself |string |false | +|_cloud-events-insert-timestamp_ _(cloud-events-default-timestamp)_ |Whether or not the connector should insert automatically the `time` attribute into the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `time` attribute itself |boolean |false |`true` +|_cloud-events-mode_ |The Cloud Event mode (`structured` or `binary` (default)). Indicates how are written the cloud events in the outgoing record |string |false |`binary` +|_cloud-events-source_ _(cloud-events-default-source)_ |Configure the default `source` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `source` attribute itself |string |false | +|_cloud-events-subject_ _(cloud-events-default-subject)_ |Configure the default `subject` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `subject` attribute itself |string |false | +|_cloud-events-type_ _(cloud-events-default-type)_ |Configure the default `type` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `type` attribute itself |string |false | +|_connect-timeout_ _(amqp-connect-timeout)_ |The connection timeout in milliseconds |int |false |`1000` +|_container-id_ |The AMQP container id |string |false | +|_credit-retrieval-period_ |The period (in milliseconds) between two attempts to retrieve the credits granted by the broker. This time is used when the sender run out of credits. |int |false |`2000` +|_durable_ |Whether sent AMQP messages are marked durable |boolean |false |`false` +|_health-timeout_ |The max number of seconds to wait to determine if the connection with the broker is still established for the readiness check. After that threshold, the check is considered as failed. |int |false |`3` +|_host_ _(amqp-host)_ |The broker hostname |string |false |`localhost` +|_link-name_ |The name of the link. If not set, the channel name is used. |string |false | +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ _(amqp-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(amqp-port)_ |The broker port |int |false |`5672` +|_reconnect-attempts_ _(amqp-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(amqp-reconnect-interval)_ |The interval in second between two reconnection attempts |int |false |`10` +|_sni-server-name_ _(amqp-sni-server-name)_ |If set, explicitly override the hostname to use for the TLS SNI server name |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_ttl_ |The time-to-live of the send AMQP messages. 0 to disable the TTL |long |false |`0` +|_use-anonymous-sender_ |Whether or not the connector should use an anonymous sender. Default value is `true` if the broker supports it, `false` otherwise. If not supported, it is not possible to dynamically change the destination address. |boolean |false | +|_use-ssl_ _(amqp-use-ssl)_ |Whether the AMQP connection uses SSL/TLS |boolean |false |`false` +|_username_ _(amqp-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(amqp-virtual-host)_ |If set, configure the hostname value used for the connection AMQP Open frame and TLS SNI server name (if TLS is in use) |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-camel-incoming.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-camel-incoming.adoc new file mode 100644 index 000000000..e14c417cf --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-camel-incoming.adoc @@ -0,0 +1,6 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_endpoint-uri_ |The URI of the Camel endpoint (read from or written to) |string |true | +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a Camel exchange is nacked. Values can be `fail` (default) or `ignore` |string |false |`fail` +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-camel-outgoing.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-camel-outgoing.adoc new file mode 100644 index 000000000..ae1860580 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-camel-outgoing.adoc @@ -0,0 +1,6 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_endpoint-uri_ |The URI of the Camel endpoint (read from or written to) |string |true | +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-jms-incoming.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-jms-incoming.adoc new file mode 100644 index 000000000..dc667f20c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-jms-incoming.adoc @@ -0,0 +1,15 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_broadcast_ |Whether or not the JMS message should be dispatched to multiple consumers |boolean |false |`false` +|_client-id_ |The client id |String |false | +|_connection-factory-name_ |The name of the JMS connection factory (`javax.jms.ConnectionFactory`) to be used. If not set, it uses any exposed JMS connection factory |String |false | +|_destination_ |The name of the JMS destination. If not set the name of the channel is used |String |false | +|_destination-type_ |The type of destination. It can be either `queue` or `topic` |string |false |`queue` +|_durable_ |Set to `true` to use a durable subscription |boolean |false |`false` +|_no-local_ |Enable or disable local delivery |boolean |false |`false` +|_password_ |The password to connect to to the JMS server |String |false | +|_selector_ |The JMS selector |String |false | +|_session-mode_ |The session mode. Accepted values are AUTO++_++ACKNOWLEDGE, SESSION++_++TRANSACTED, CLIENT++_++ACKNOWLEDGE, DUPS++_++OK++_++ACKNOWLEDGE |String |false |`AUTO++_++ACKNOWLEDGE` +|_username_ |The username to connect to to the JMS server |String |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-jms-outgoing.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-jms-outgoing.adoc new file mode 100644 index 000000000..113db8c65 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-jms-outgoing.adoc @@ -0,0 +1,21 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_client-id_ |The client id |String |false | +|_connection-factory-name_ |The name of the JMS connection factory (`javax.jms.ConnectionFactory`) to be used. If not set, it uses any exposed JMS connection factory |String |false | +|_correlation-id_ |The JMS Message correlation id |string |false | +|_delivery-delay_ |The delivery delay |long |false | +|_delivery-mode_ |The delivery mode. Either `persistent` or `non++_++persistent` |string |false | +|_destination_ |The name of the JMS destination. If not set the name of the channel is used |String |false | +|_destination-type_ |The type of destination. It can be either `queue` or `topic` |string |false |`queue` +|_disable-message-id_ |Omit the message id in the outbound JMS message |boolean |false | +|_disable-message-timestamp_ |Omit the message timestamp in the outbound JMS message |boolean |false | +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ |The password to connect to to the JMS server |String |false | +|_priority_ |The JMS Message priority |int |false | +|_reply-to_ |The reply to destination if any |string |false | +|_reply-to-destination-type_ |The type of destination for the response. It can be either `queue` or `topic` |string |false |`queue` +|_session-mode_ |The session mode. Accepted values are AUTO++_++ACKNOWLEDGE, SESSION++_++TRANSACTED, CLIENT++_++ACKNOWLEDGE, DUPS++_++OK++_++ACKNOWLEDGE |String |false |`AUTO++_++ACKNOWLEDGE` +|_ttl_ |The JMS Message time-to-live |long |false | +|_username_ |The username to connect to to the JMS server |String |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-kafka-incoming.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-kafka-incoming.adoc new file mode 100644 index 000000000..d3096b597 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-kafka-incoming.adoc @@ -0,0 +1,50 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_auto.offset.reset_ |What to do when there is no initial offset in Kafka.Accepted values are earliest, latest and none |string |false |`latest` +|_batch_ |Whether the Kafka records are consumed in batch. The channel injection point must consume a compatible type, such as `List++<++Payload++>++` or `KafkaRecordBatch++<++Payload++>++`. |boolean |false |`false` +|_bootstrap.servers_ _(kafka.bootstrap.servers)_ |A comma-separated list of host:port to use for establishing the initial connection to the Kafka cluster. |string |false |`localhost:9092` +|_broadcast_ |Whether the Kafka records should be dispatched to multiple consumer |boolean |false |`false` +|_checkpoint.state-store_ |While using the `checkpoint` commit-strategy, the name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.StateStore.Factory` to specify the state store implementation. |string |false | +|_checkpoint.state-type_ |While using the `checkpoint` commit-strategy, the fully qualified type name of the state object to persist in the state store. When provided, it can be used by the state store implementation to help persisting the processing state object. |string |false | +|_checkpoint.unsynced-state-max-age.ms_ |While using the `checkpoint` commit-strategy, specify the max age in milliseconds that the processing state must be persisted before the connector is marked as unhealthy. Setting this attribute to 0 disables this monitoring. |int |false |`10000` +|_client-id-prefix_ |Prefix for Kafka client `client.id` attribute. If defined configured or generated `client.id` will be prefixed with the given value. |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_commit-strategy_ |Specify the commit strategy to apply when a message produced from a record is acknowledged. Values can be `latest`, `ignore` or `throttled`. If `enable.auto.commit` is true then the default is `ignore` otherwise it is `throttled` |string |false | +|_consumer-rebalance-listener.name_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener`. If set, this rebalance listener is applied to the consumer. |string |false | +|_dead-letter-queue.key.serializer_ |When the `failure-strategy` is set to `dead-letter-queue` indicates the key serializer to use. If not set the serializer associated to the key deserializer is used |string |false | +|_dead-letter-queue.producer-client-id_ |When the `failure-strategy` is set to `dead-letter-queue` indicates what client id the generated producer should use. Defaults is `kafka-dead-letter-topic-producer-$client-id` |string |false | +|_dead-letter-queue.topic_ |When the `failure-strategy` is set to `dead-letter-queue` indicates on which topic the record is sent. Defaults is `dead-letter-topic-$channel` |string |false | +|_dead-letter-queue.value.serializer_ |When the `failure-strategy` is set to `dead-letter-queue` indicates the value serializer to use. If not set the serializer associated to the value deserializer is used |string |false | +|_enable.auto.commit_ |If enabled, consumer's offset will be periodically committed in the background by the underlying Kafka client, ignoring the actual processing outcome of the records. It is recommended to NOT enable this setting and let Reactive Messaging handles the commit. |boolean |false |`false` +|_fail-on-deserialization-failure_ |When no deserialization failure handler is set and a deserialization failure happens, report the failure and mark the application as unhealthy. If set to `false` and a deserialization failure happens, a `null` value is forwarded. |boolean |false |`true` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `fail` (default), `ignore`, or `dead-letter-queue` |string |false |`fail` +|_fetch.min.bytes_ |The minimum amount of data the server should return for a fetch request. The default setting of 1 byte means that fetch requests are answered as soon as a single byte of data is available or the fetch request times out waiting for data to arrive. |int |false |`1` +|_graceful-shutdown_ |Whether or not a graceful shutdown should be attempted when the application terminates. |boolean |false |`true` +|_group.id_ |A unique string that identifies the consumer group the application belongs to. If not set, a unique, generated id is used |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-timeout_ |_deprecated_ - During the readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. Deprecated: Use 'health-topic-verification-timeout' instead. |long |false | +|_health-readiness-topic-verification_ |_deprecated_ - Whether the readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin connection. Deprecated: Use 'health-topic-verification-enabled' instead. |boolean |false | +|_health-topic-verification-enabled_ |Whether the startup and readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin client connection. |boolean |false |`false` +|_health-topic-verification-timeout_ |During the startup and readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. |long |false |`2000` +|_kafka-configuration_ |Identifier of a CDI bean that provides the default Kafka consumer/producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_key-deserialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.DeserializationFailureHandler`. If set, deserialization failure happening when deserializing keys are delegated to this handler which may retry or provide a fallback value. |string |false | +|_key.deserializer_ |The deserializer classname used to deserialize the record's key |string |false |`org.apache.kafka.common.serialization.StringDeserializer` +|_lazy-client_ |Whether Kafka client is created lazily or eagerly. |boolean |false |`false` +|_max-queue-size-factor_ |Multiplier factor to determine maximum number of records queued for processing, using `max.poll.records` ++*++ `max-queue-size-factor`. Defaults to 2. In `batch` mode `max.poll.records` is considered `1`. |int |false |`2` +|_partitions_ |The number of partitions to be consumed concurrently. The connector creates the specified amount of Kafka consumers. It should match the number of partition of the targeted topic |int |false |`1` +|_pattern_ |Indicate that the `topic` property is a regular expression. Must be used with the `topic` property. Cannot be used with the `topics` property |boolean |false |`false` +|_pause-if-no-requests_ |Whether the polling must be paused when the application does not request items and resume when it does. This allows implementing back-pressure based on the application capacity. Note that polling is not stopped, but will not retrieve any records when paused. |boolean |false |`true` +|_poll-timeout_ |The polling timeout in milliseconds. When polling records, the poll will wait at most that duration before returning records. Default is 1000ms |int |false |`1000` +|_requests_ |When `partitions` is greater than 1, this attribute allows configuring how many records are requested by each consumers every time. |int |false |`128` +|_retry_ |Whether or not the connection to the broker is re-attempted in case of failure |boolean |false |`true` +|_retry-attempts_ |The maximum number of reconnection before failing. -1 means infinite retry |int |false |`-1` +|_retry-max-wait_ |The max delay (in seconds) between 2 reconnects |int |false |`30` +|_throttled.unprocessed-record-max-age.ms_ |While using the `throttled` commit-strategy, specify the max age in milliseconds that an unprocessed message can be before the connector is marked as unhealthy. Setting this attribute to 0 disables this monitoring. |int |false |`60000` +|_topic_ |The consumed / populated Kafka topic. If neither this property nor the `topics` properties are set, the channel name is used |string |false | +|_topics_ |A comma-separating list of topics to be consumed. Cannot be used with the `topic` or `pattern` properties |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_value-deserialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.DeserializationFailureHandler`. If set, deserialization failure happening when deserializing values are delegated to this handler which may retry or provide a fallback value. |string |false | +|_value.deserializer_ |The deserializer classname used to deserialize the record's value |string |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-kafka-outgoing.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-kafka-outgoing.adoc new file mode 100644 index 000000000..d4206a2a9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-kafka-outgoing.adoc @@ -0,0 +1,40 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_acks_ |The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. Accepted values are: 0, 1, all |string |false |`1` +|_bootstrap.servers_ _(kafka.bootstrap.servers)_ |A comma-separated list of host:port to use for establishing the initial connection to the Kafka cluster. |string |false |`localhost:9092` +|_buffer.memory_ |The total bytes of memory the producer can use to buffer records waiting to be sent to the server. |long |false |`33554432` +|_client-id-prefix_ |Prefix for Kafka client `client.id` attribute. If defined configured or generated `client.id` will be prefixed with the given value. |string |false | +|_close-timeout_ |The amount of milliseconds waiting for a graceful shutdown of the Kafka producer |int |false |`10000` +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_cloud-events-data-content-type_ _(cloud-events-default-data-content-type)_ |Configure the default `datacontenttype` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `datacontenttype` attribute itself |string |false | +|_cloud-events-data-schema_ _(cloud-events-default-data-schema)_ |Configure the default `dataschema` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `dataschema` attribute itself |string |false | +|_cloud-events-insert-timestamp_ _(cloud-events-default-timestamp)_ |Whether or not the connector should insert automatically the `time` attribute into the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `time` attribute itself |boolean |false |`true` +|_cloud-events-mode_ |The Cloud Event mode (`structured` or `binary` (default)). Indicates how are written the cloud events in the outgoing record |string |false |`binary` +|_cloud-events-source_ _(cloud-events-default-source)_ |Configure the default `source` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `source` attribute itself |string |false | +|_cloud-events-subject_ _(cloud-events-default-subject)_ |Configure the default `subject` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `subject` attribute itself |string |false | +|_cloud-events-type_ _(cloud-events-default-type)_ |Configure the default `type` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `type` attribute itself |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-timeout_ |_deprecated_ - During the readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. Deprecated: Use 'health-topic-verification-timeout' instead. |long |false | +|_health-readiness-topic-verification_ |_deprecated_ - Whether the readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin connection. Deprecated: Use 'health-topic-verification-enabled' instead. |boolean |false | +|_health-topic-verification-enabled_ |Whether the startup and readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin client connection. |boolean |false |`false` +|_health-topic-verification-timeout_ |During the startup and readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. |long |false |`2000` +|_interceptor-bean_ |The name set in `@Identifier` of a bean that implements `org.apache.kafka.clients.producer.ProducerInterceptor`. If set, the identified bean will be used as the producer interceptor. |string |false | +|_kafka-configuration_ |Identifier of a CDI bean that provides the default Kafka consumer/producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_key_ |A key to used when writing the record |string |false | +|_key-serialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing keys are delegated to this handler which may provide a fallback value. |string |false | +|_key.serializer_ |The serializer classname used to serialize the record's key |string |false |`org.apache.kafka.common.serialization.StringSerializer` +|_lazy-client_ |Whether Kafka client is created lazily or eagerly. |boolean |false |`false` +|_max-inflight-messages_ |The maximum number of messages to be written to Kafka concurrently. It limits the number of messages waiting to be written and acknowledged by the broker. You can set this attribute to `0` remove the limit |long |false |`1024` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_partition_ |The target partition id. -1 to let the client determine the partition |int |false |`-1` +|_propagate-headers_ |A comma-separating list of incoming record headers to be propagated to the outgoing record |string |false |++``++ +|_propagate-record-key_ |Propagate incoming record key to the outgoing record |boolean |false |`false` +|_retries_ |If set to a positive number, the connector will try to resend any record that was not delivered successfully (with a potentially transient error) until the number of retries is reached. If set to 0, retries are disabled. If not set, the connector tries to resend any record that failed to be delivered (because of a potentially transient error) during an amount of time configured by `delivery.timeout.ms`. |long |false |`2147483647` +|_topic_ |The consumed / populated Kafka topic. If neither this property nor the `topics` properties are set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_value-serialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing values are delegated to this handler which may provide a fallback value. |string |false | +|_value.serializer_ |The serializer classname used to serialize the payload |string |true | +|_waitForWriteCompletion_ |Whether the client waits for Kafka to acknowledge the written record before acknowledging the message |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-mqtt-incoming.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-mqtt-incoming.adoc new file mode 100644 index 000000000..00fa8bd42 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-mqtt-incoming.adoc @@ -0,0 +1,37 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_auto-clean-session_ |Set to start with a clean session (`true` by default) |boolean |false |`true` +|_auto-generated-client-id_ |Set if the MQTT client must generate clientId automatically |boolean |false |`true` +|_auto-keep-alive_ |Set if the MQTT client must handle `PINGREQ` automatically |boolean |false |`true` +|_broadcast_ |Whether or not the messages should be dispatched to multiple consumers |boolean |false |`false` +|_buffer-size_ |The size buffer of incoming messages waiting to be processed |int |false |`128` +|_client-id_ |Set the client identifier |string |false | +|_client-options-name_ _(mqtt-client-options-name)_ |The name of the MQTT Client Option bean (`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`) used to customize the MQTT client configuration |string |false | +|_connect-timeout-seconds_ |Set the connect timeout (in seconds) |int |false |`60` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a MQTT message is nacked. Values can be `fail` (default), or `ignore` |string |false |`fail` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ |Set the MQTT server host name/IP |string |true | +|_keep-alive-seconds_ |Set the keep alive timeout in seconds |int |false |`30` +|_max-inflight-queue_ |Set max count of unacknowledged messages |int |false |`10` +|_max-message-size_ |Set max MQTT message size in bytes |int |false |`8092` +|_password_ |Set the password to connect to the server |string |false | +|_port_ |Set the MQTT server port. Default to 8883 if ssl is enabled, or 1883 without ssl |int |false | +|_qos_ |Set the QoS level when subscribing to the topic or when sending a message |int |false |`0` +|_reconnect-interval-seconds_ |Set the reconnect interval in seconds |int |false |`1` +|_server-name_ |Set the SNI server name |string |false | +|_ssl_ |Set whether SSL/TLS is enabled |boolean |false |`false` +|_ssl.keystore.location_ |Set the keystore location. In case of `pem` type this is the server ca cert path |string |false | +|_ssl.keystore.password_ |Set the keystore password. In case of `pem` type this is the key path |string |false | +|_ssl.keystore.type_ |Set the keystore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_ssl.truststore.location_ |Set the truststore location. In case of `pem` type this is the client cert path |string |false | +|_ssl.truststore.password_ |Set the truststore password. In case of `pem` type this is not necessary |string |false | +|_ssl.truststore.type_ |Set the truststore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_topic_ |Set the MQTT topic. If not set, the channel name is used |string |false | +|_trust-all_ |Set whether all server certificates should be trusted |boolean |false |`false` +|_unsubscribe-on-disconnection_ |This flag restore the old behavior to unsubscribe from the broken on disconnection |boolean |false |`false` +|_username_ |Set the username to connect to the server |string |false | +|_will-flag_ |Set if will information are provided on connection |boolean |false |`false` +|_will-qos_ |Set the QoS level for the will message |int |false |`0` +|_will-retain_ |Set if the will message must be retained |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-mqtt-outgoing.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-mqtt-outgoing.adoc new file mode 100644 index 000000000..4770791bb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-mqtt-outgoing.adoc @@ -0,0 +1,35 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_auto-clean-session_ |Set to start with a clean session (`true` by default) |boolean |false |`true` +|_auto-generated-client-id_ |Set if the MQTT client must generate clientId automatically |boolean |false |`true` +|_auto-keep-alive_ |Set if the MQTT client must handle `PINGREQ` automatically |boolean |false |`true` +|_client-id_ |Set the client identifier |string |false | +|_client-options-name_ _(mqtt-client-options-name)_ |The name of the MQTT Client Option bean (`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`) used to customize the MQTT client configuration |string |false | +|_connect-timeout-seconds_ |Set the connect timeout (in seconds) |int |false |`60` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ |Set the MQTT server host name/IP |string |true | +|_keep-alive-seconds_ |Set the keep alive timeout in seconds |int |false |`30` +|_max-inflight-queue_ |Set max count of unacknowledged messages |int |false |`10` +|_max-message-size_ |Set max MQTT message size in bytes |int |false |`8092` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ |Set the password to connect to the server |string |false | +|_port_ |Set the MQTT server port. Default to 8883 if ssl is enabled, or 1883 without ssl |int |false | +|_qos_ |Set the QoS level when subscribing to the topic or when sending a message |int |false |`0` +|_reconnect-interval-seconds_ |Set the reconnect interval in seconds |int |false |`1` +|_server-name_ |Set the SNI server name |string |false | +|_ssl_ |Set whether SSL/TLS is enabled |boolean |false |`false` +|_ssl.keystore.location_ |Set the keystore location. In case of `pem` type this is the server ca cert path |string |false | +|_ssl.keystore.password_ |Set the keystore password. In case of `pem` type this is the key path |string |false | +|_ssl.keystore.type_ |Set the keystore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_ssl.truststore.location_ |Set the truststore location. In case of `pem` type this is the client cert path |string |false | +|_ssl.truststore.password_ |Set the truststore password. In case of `pem` type this is not necessary |string |false | +|_ssl.truststore.type_ |Set the truststore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_topic_ |Set the MQTT topic. If not set, the channel name is used |string |false | +|_trust-all_ |Set whether all server certificates should be trusted |boolean |false |`false` +|_unsubscribe-on-disconnection_ |This flag restore the old behavior to unsubscribe from the broken on disconnection |boolean |false |`false` +|_username_ |Set the username to connect to the server |string |false | +|_will-flag_ |Set if will information are provided on connection |boolean |false |`false` +|_will-qos_ |Set the QoS level for the will message |int |false |`0` +|_will-retain_ |Set if the will message must be retained |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-rabbitmq-incoming.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-rabbitmq-incoming.adoc new file mode 100644 index 000000000..900e11c5f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-rabbitmq-incoming.adoc @@ -0,0 +1,61 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_auto-acknowledgement_ |Whether the received RabbitMQ messages must be acknowledged when received; if true then delivery constitutes acknowledgement |boolean |false |`false` +|_auto-bind-dlq_ |Whether to automatically declare the DLQ and bind it to the binder DLX |boolean |false |`false` +|_automatic-recovery-enabled_ |Whether automatic connection recovery is enabled |boolean |false |`false` +|_automatic-recovery-on-initial-connection_ |Whether automatic recovery on initial connections is enabled |boolean |false |`true` +|_broadcast_ |Whether the received RabbitMQ messages must be dispatched to multiple _subscribers_ |boolean |false |`false` +|_client-options-name_ _(rabbitmq-client-options-name)_ |The name of the RabbitMQ Client Option bean used to customize the RabbitMQ client configuration |string |false | +|_connection-count_ |The number of RabbitMQ connections to create for consuming from this queue. This might be necessary to consume from a sharded queue with a single client. |int |false |`1` +|_connection-timeout_ |The TCP connection timeout (ms); 0 is interpreted as no timeout |int |false |`60000` +|_content-type-override_ |Override the content++_++type attribute of the incoming message, should be a valid MINE type |string |false | +|_credentials-provider-name_ _(rabbitmq-credentials-provider-name)_ |The name of the RabbitMQ Credentials Provider bean used to provide dynamic credentials to the RabbitMQ client |string |false | +|_dead-letter-exchange_ |A DLX to assign to the queue. Relevant only if auto-bind-dlq is true |string |false |`DLX` +|_dead-letter-exchange-type_ |The type of the DLX to assign to the queue. Relevant only if auto-bind-dlq is true |string |false |`direct` +|_dead-letter-queue-mode_ |If automatically declare DLQ, we can choose different modes of DLQ ++[++lazy, default++]++ |string |false | +|_dead-letter-queue-name_ |The name of the DLQ; if not supplied will default to the queue name with '.dlq' appended |string |false | +|_dead-letter-queue-type_ |If automatically declare DLQ, we can choose different types of DLQ ++[++quorum, classic, stream++]++ |string |false | +|_dead-letter-routing-key_ |A dead letter routing key to assign to the queue; if not supplied will default to the queue name |string |false | +|_dlx.declare_ |Whether to declare the dead letter exchange binding. Relevant only if auto-bind-dlq is true; set to false if these are expected to be set up independently |boolean |false |`false` +|_exchange.auto-delete_ |Whether the exchange should be deleted after use |boolean |false |`false` +|_exchange.declare_ |Whether to declare the exchange; set to false if the exchange is expected to be set up independently |boolean |false |`true` +|_exchange.durable_ |Whether the exchange is durable |boolean |false |`true` +|_exchange.name_ |The exchange that messages are published to or consumed from. If not set, the channel name is used. If set to "", the default exchange is used. |string |false | +|_exchange.type_ |The exchange type: direct, fanout, headers or topic (default) |string |false |`topic` +|_failure-strategy_ |The failure strategy to apply when a RabbitMQ message is nacked. Accepted values are `fail`, `accept`, `reject` (default) |string |false |`reject` +|_handshake-timeout_ |The AMQP 0-9-1 protocol handshake timeout (ms) |int |false |`10000` +|_host_ _(rabbitmq-host)_ |The broker hostname |string |false |`localhost` +|_include-properties_ |Whether to include properties when a broker message is passed on the event bus |boolean |false |`false` +|_keep-most-recent_ |Whether to discard old messages instead of recent ones |boolean |false |`false` +|_max-incoming-internal-queue-size_ |The maximum size of the incoming internal queue |int |false |`500000` +|_max-outstanding-messages_ |The maximum number of outstanding/unacknowledged messages being processed by the connector at a time; must be a positive number |int |false | +|_network-recovery-interval_ |How long (ms) will automatic recovery wait before attempting to reconnect |int |false |`5000` +|_password_ _(rabbitmq-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(rabbitmq-port)_ |The broker port |int |false |`5672` +|_queue.auto-delete_ |Whether the queue should be deleted after use |boolean |false |`false` +|_queue.declare_ |Whether to declare the queue and binding; set to false if these are expected to be set up independently |boolean |false |`true` +|_queue.durable_ |Whether the queue is durable |boolean |false |`true` +|_queue.exclusive_ |Whether the queue is for exclusive use |boolean |false |`false` +|_queue.name_ |The queue from which messages are consumed. |string |true | +|_queue.single-active-consumer_ |If set to true, only one consumer can actively consume messages |boolean |false | +|_queue.ttl_ |If specified, the time (ms) for which a message can remain in the queue undelivered before it is dead |long |false | +|_queue.x-max-priority_ |Define priority level queue consumer |int |false | +|_queue.x-queue-mode_ |If automatically declare queue, we can choose different modes of queue ++[++lazy, default++]++ |string |false | +|_queue.x-queue-type_ |If automatically declare queue, we can choose different types of queue ++[++quorum, classic, stream++]++ |string |false | +|_reconnect-attempts_ _(rabbitmq-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(rabbitmq-reconnect-interval)_ |The interval (in seconds) between two reconnection attempts |int |false |`10` +|_requested-channel-max_ |The initially requested maximum channel number |int |false |`2047` +|_requested-heartbeat_ |The initially requested heartbeat interval (seconds), zero for none |int |false |`60` +|_routing-keys_ |A comma-separated list of routing keys to bind the queue to the exchange |string |false |`#` +|_ssl_ _(rabbitmq-ssl)_ |Whether or not the connection should use SSL |boolean |false |`false` +|_tracing.attribute-headers_ |A comma-separated list of headers that should be recorded as span attributes. Relevant only if tracing.enabled=true |string |false |++``++ +|_tracing.enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_trust-all_ _(rabbitmq-trust-all)_ |Whether to skip trust certificate verification |boolean |false |`false` +|_trust-store-password_ _(rabbitmq-trust-store-password)_ |The password of the JKS trust store |string |false | +|_trust-store-path_ _(rabbitmq-trust-store-path)_ |The path to a JKS trust store |string |false | +|_use-nio_ |Whether usage of NIO Sockets is enabled |boolean |false |`false` +|_user_ |The user name to use when connecting to the broker |string |false |`guest` +|_username_ _(rabbitmq-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(rabbitmq-virtual-host)_ |The virtual host to use when connecting to the broker |string |false |`/` +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-rabbitmq-outgoing.adoc b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-rabbitmq-outgoing.adoc new file mode 100644 index 000000000..5cf3f86f0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_generated/smallrye-rabbitmq-outgoing.adoc @@ -0,0 +1,38 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_automatic-recovery-enabled_ |Whether automatic connection recovery is enabled |boolean |false |`false` +|_automatic-recovery-on-initial-connection_ |Whether automatic recovery on initial connections is enabled |boolean |false |`true` +|_client-options-name_ _(rabbitmq-client-options-name)_ |The name of the RabbitMQ Client Option bean used to customize the RabbitMQ client configuration |string |false | +|_connection-timeout_ |The TCP connection timeout (ms); 0 is interpreted as no timeout |int |false |`60000` +|_credentials-provider-name_ _(rabbitmq-credentials-provider-name)_ |The name of the RabbitMQ Credentials Provider bean used to provide dynamic credentials to the RabbitMQ client |string |false | +|_default-routing-key_ |The default routing key to use when sending messages to the exchange |string |false |++``++ +|_default-ttl_ |If specified, the time (ms) sent messages can remain in queues undelivered before they are dead |long |false | +|_exchange.auto-delete_ |Whether the exchange should be deleted after use |boolean |false |`false` +|_exchange.declare_ |Whether to declare the exchange; set to false if the exchange is expected to be set up independently |boolean |false |`true` +|_exchange.durable_ |Whether the exchange is durable |boolean |false |`true` +|_exchange.name_ |The exchange that messages are published to or consumed from. If not set, the channel name is used. If set to "", the default exchange is used. |string |false | +|_exchange.type_ |The exchange type: direct, fanout, headers or topic (default) |string |false |`topic` +|_handshake-timeout_ |The AMQP 0-9-1 protocol handshake timeout (ms) |int |false |`10000` +|_host_ _(rabbitmq-host)_ |The broker hostname |string |false |`localhost` +|_include-properties_ |Whether to include properties when a broker message is passed on the event bus |boolean |false |`false` +|_max-inflight-messages_ |The maximum number of messages to be written to RabbitMQ concurrently; must be a positive number |long |false |`1024` +|_max-outgoing-internal-queue-size_ |The maximum size of the outgoing internal queue |int |false | +|_network-recovery-interval_ |How long (ms) will automatic recovery wait before attempting to reconnect |int |false |`5000` +|_password_ _(rabbitmq-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(rabbitmq-port)_ |The broker port |int |false |`5672` +|_reconnect-attempts_ _(rabbitmq-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(rabbitmq-reconnect-interval)_ |The interval (in seconds) between two reconnection attempts |int |false |`10` +|_requested-channel-max_ |The initially requested maximum channel number |int |false |`2047` +|_requested-heartbeat_ |The initially requested heartbeat interval (seconds), zero for none |int |false |`60` +|_ssl_ _(rabbitmq-ssl)_ |Whether or not the connection should use SSL |boolean |false |`false` +|_tracing.attribute-headers_ |A comma-separated list of headers that should be recorded as span attributes. Relevant only if tracing.enabled=true |string |false |++``++ +|_tracing.enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_trust-all_ _(rabbitmq-trust-all)_ |Whether to skip trust certificate verification |boolean |false |`false` +|_trust-store-password_ _(rabbitmq-trust-store-password)_ |The password of the JKS trust store |string |false | +|_trust-store-path_ _(rabbitmq-trust-store-path)_ |The path to a JKS trust store |string |false | +|_use-nio_ |Whether usage of NIO Sockets is enabled |boolean |false |`false` +|_user_ |The user name to use when connecting to the broker |string |false |`guest` +|_username_ _(rabbitmq-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(rabbitmq-virtual-host)_ |The virtual host to use when connecting to the broker |string |false |`/` +|=== diff --git a/content/docs/smallrye-reactive-messaging/3/_nav.yml b/content/docs/smallrye-reactive-messaging/3/_nav.yml new file mode 100644 index 000000000..4f72a47d2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/_nav.yml @@ -0,0 +1,124 @@ +title: SmallRye Reactive Messaging +nav: +- title: Home + page: index +- title: Core + items: + - title: Getting Started + page: getting-started + - title: Concepts + items: + - title: Introduction + page: concepts/concepts + - title: Development Model + page: concepts/model + - title: Emitters and Channel + page: concepts/emitter + - title: Connectors + page: concepts/connectors + - title: Acknowledgement + page: concepts/acknowledgement + - title: Blocking Processing + page: concepts/blocking + - title: Method Signatures + page: concepts/signatures + - title: Skipping Messages + page: concepts/skipping + - title: Message Converters + page: concepts/converters + - title: Channel Decorators + page: concepts/decorators + - title: Broadcast + page: concepts/broadcast + - title: Merge channels + page: concepts/merge + - title: '@Incomings' + page: concepts/incomings + - title: Testing + page: concepts/testing + - title: Logging + page: concepts/logging + - title: Advanced Configuration + page: concepts/advanced-config + - title: Message Context + page: concepts/message-context +- title: Kafka + items: + - page: kafka/kafka + - title: Receiving records + page: kafka/receiving-kafka-records + - title: Writing records + page: kafka/writing-kafka-records + - title: Health Checks + page: kafka/health + - title: Using Avro + page: kafka/avro-configuration + - title: Using Protobuf + page: kafka/protobuf-configuration + - title: Rebalance Listeners + page: kafka/consumer-rebalance-listener + - title: Kerberos authentication + page: kafka/kerberos + - title: Accessing the client + page: kafka/client-service + - title: Customizing Default Kafka Configuration + page: kafka/default-configuration + - title: Test Companion for Kafka + page: kafka/test-companion + - title: Kafka Transactions and Exactly-Once Processing + page: kafka/transactions +- title: AMQP 1.0 + items: + - page: amqp/amqp + - title: Receiving messages + page: amqp/receiving-amqp-messages + - title: Sending messages + page: amqp/sending-amqp-messages + - title: Health Checks + page: amqp/health + - title: Client Customization + page: amqp/client-customization + - title: Using RabbitMQ + page: amqp/rabbitmq +- title: RabbitMQ + items: + - page: rabbitmq/rabbitmq + - title: Receiving messages + page: rabbitmq/receiving-messages-from-rabbitmq + - title: Sending messages + page: rabbitmq/sending-messages-to-rabbitmq + - title: Health Checks + page: rabbitmq/rabbitmq-health + - title: Client Customization + page: rabbitmq/rabbitmq-client-customization + - title: Connecting to managed instances + page: rabbitmq/rabbitmq-cloud +- title: Apache Camel + items: + - page: camel/camel + - title: Receiving messages from Camel + page: camel/receiving-messages-from-camel + - title: Sending messages to Camel + page: camel/sending-messages-to-camel + - title: Implementing Camel processor + page: camel/camel-processor + - title: Using existing Camel routes + page: camel/using-existing-routes +- title: JMS + items: + - page: jms/jms + - title: Receiving JMS messages + page: jms/receiving-jms-messages + - title: Sending JMS messages + page: jms/sending-jms-messages + - title: Advanced configuration + page: jms/advanced-jms +- title: MQTT + items: + - page: mqtt/mqtt + - title: Receiving MQTT messages + page: mqtt/receiving-mqtt-messages + - title: Sending MQTT messages + page: mqtt/sending-messages-to-mqtt + - title: Customizing the MQTT client + page: mqtt/client-customization diff --git a/content/docs/smallrye-reactive-messaging/3/amqp/amqp.adoc b/content/docs/smallrye-reactive-messaging/3/amqp/amqp.adoc new file mode 100644 index 000000000..d43eef8f8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/amqp/amqp.adoc @@ -0,0 +1,49 @@ += AMQP 1.0 Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP Connector adds support for AMQP 1.0 to Reactive Messaging. + +Advanced Message Queuing Protocol 1.0 (AMQP 1.0) is an open standard for +passing business messages between applications or organizations. + +With this connector, your application can: + +* receive messages from an AMQP Broker or Router. +* send `Message` to an AMQP _address_ + +The AMQP connector is based on the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP Client]. + +Using the AMQP connector + +To use the AMQP Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-amqp + {project-version} + +---- + +The connector name is: `smallrye-amqp`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-amqp + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-amqp +---- + +[IMPORTANT] +.RabbitMQ +==== + +To use RabbitMQ, refer to xref:#amqp-rabbitmq[Using RabbitMQ]. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/amqp/client-customization.adoc b/content/docs/smallrye-reactive-messaging/3/amqp/client-customization.adoc new file mode 100644 index 000000000..4dbd659ec --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/amqp/client-customization.adoc @@ -0,0 +1,35 @@ += Customizing the underlying AMQP client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying AMQP Client configuration by +_producing_ an instance of +https://vertx.io/docs/apidocs/io/vertx/amqp/AmqpClientOptions.html[`AmqpClientOptions`]: + +[source,java] +---- +include::{examples-dir}/amqp/customization/ClientProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.client-options-name=my-named-options +---- + +== Client capabilities + +Both incoming and outgoing AMQP channels can be configured with a list +of capabilities to declare during sender and receiver connections with +the AMQP broker. Note that supported capability names are broker +specific. + +[source,properties] +---- +mp.messaging.incoming.sink.capabilities=temporary-topic +... +mp.messaging.outgoing.source.capabilities=shared +---- diff --git a/content/docs/smallrye-reactive-messaging/3/amqp/health.adoc b/content/docs/smallrye-reactive-messaging/3/amqp/health.adoc new file mode 100644 index 000000000..79ec6eb9f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/amqp/health.adoc @@ -0,0 +1,34 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector reports the startup, liveness, and readiness of each +inbound (Receiving messages) and outbound (sending messages) channel +managed by the connector: + +* Startup :: For both inbound and outbound, the startup probe reports _OK_ when the +connection with the broker is established, and the AMQP senders and +receivers are opened (the links are attached to the broker). +* Liveness :: For both inbound and outbound, the liveness check verifies that the +connection is established. The check still returns _OK_ if the +connection got cut, but we are attempting a reconnection. +* Readiness :: For the inbound, it checks that the connection is established and the +receiver is opened. Unlike the liveness check, this probe reports _KO_ +until the connection is re-established. For the outbound, it checks that +the connection is established and the sender is opened. Unlike the +liveness check, this probe reports _KO_ until the connection is +re-established. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +Note that a message processing failures _nacks_ the message, which is +then handled by the failure-strategy. It is the responsibility of the +`failure-strategy` to report the failure and influence the outcome of +the checks. The `fail` failure strategy reports the failure, and so the +check will report the fault. diff --git a/content/docs/smallrye-reactive-messaging/3/amqp/rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/3/amqp/rabbitmq.adoc new file mode 100644 index 000000000..3103b19e2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/amqp/rabbitmq.adoc @@ -0,0 +1,38 @@ += Using RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This connector is for AMQP 1.0. RabbitMQ implements AMQP 0.9.1. RabbitMQ +does not provide AMQP 1.0 by default, but there is a plugin for it. To +use RabbitMQ with this connector, enable and configure the https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/v3.8.x/README.md[AMQP 1.0 +plugin]. + +Despite the plugin, a few features won’t work with RabbitMQ. Thus, we +recommend the following configurations. + +To receive messages from RabbitMQ: + +* Set `durable` to `false` + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-amqp +mp.messaging.incoming.prices.durable=false +---- + +To send messages to RabbitMQ: + +* set the destination `address` (anonymous sender are not supported) + +[source,properties] +---- +mp.messaging.outgoing.generated-price.connector=smallrye-amqp +mp.messaging.outgoing.generated-price.address=prices +---- + +It’s not possible to change the destination dynamically (using message +metadata) when using RabbitMQ. The connector automatically detects that +the broker does not support anonymous sender (See +http://docs.oasis-open.org/amqp/anonterm/v1.0/anonterm-v1.0.html). + +Alternatively, you can use the xref:rabbitmq/rabbitmq.adoc[RabbitMQ connector]. diff --git a/content/docs/smallrye-reactive-messaging/3/amqp/receiving-amqp-messages.adoc b/content/docs/smallrye-reactive-messaging/3/amqp/receiving-amqp-messages.adoc new file mode 100644 index 000000000..751056c73 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/amqp/receiving-amqp-messages.adoc @@ -0,0 +1,257 @@ += Receiving messages from AMQP +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector lets you retrieve messages from an https://www.amqp.org/product/architecture[AMQP broker or +router]. The AMQP connector +retrieves _AMQP Messages_ and maps each of them into Reactive Messaging +`Messages`. + +== Example + +Let’s imagine you have an AMQP broker (such as https://activemq.apache.org/components/artemis/[Apache ActiveMQ +Artemis]) running, and +accessible using the `amqp:5672` address (by default it would use +`localhost:5672`). Configure your application to receive AMQP Messages +on the `prices` channel as follows: + +[source,properties] +---- +amqp-host=amqp # <1> +amqp-port=5672 # <2> +amqp-username=my-username # <3> +amqp-password=my-password # <4> + +mp.messaging.incoming.prices.connector=smallrye-amqp # <5> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `amqp-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `amqp-port`. The default is +`5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`amqp-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`amqp-password`. +. Instructs the `prices` channel to be managed by the AMQP connector + +[NOTE] +==== + +You don’t need to set the AMQP _address_. By default, it uses the +channel name (`prices`). You can configure the `address` attribute to +override it. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The connector converts incoming AMQP Messages into Reactive Messaging +`Message++<++T++>++` instances. `T` depends on the _body_ of the received AMQP +Message. + +The http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html[AMQP Type +System] +defines the supported types. + +[width="100%",cols="66%,34%",options="header",] +|=== +|AMQP Body Type |`++<++T++>++` +|AMQP Value containing a http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html#section-primitive-type-definitions[AMQP Primitive Type] |the corresponding Java type +|AMQP Value using the `Binary` type |`byte++[]++` +|AMQP Sequence |`List` +|AMQP Data (with binary content) and the `content-type` is set to `application/json` |https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] +|AMQP Data with a different `content-type` |`byte++[]++` +|=== + +If you send objects with this AMQP connector (outbound connector), it +gets encoded as JSON and sent as binary. The `content-type` is set to +`application/json`. You can receive this payload using (Vert.x) JSON +Objects, and then map it to the object class you want: + +[source,java] +---- +@ApplicationScoped +public static class Generator { + + @Outgoing("to-amqp") + public Multi prices() { // <1> + AtomicInteger count = new AtomicInteger(); + return Multi.createFrom().ticks().every(Duration.ofMillis(1000)) + .map(l -> new Price().setPrice(count.incrementAndGet())) + .onOverflow().drop(); + } + +} + +@ApplicationScoped +public static class Consumer { + + List prices = new CopyOnWriteArrayList<>(); + + @Incoming("from-amqp") + public void consume(JsonObject p) { // <2> + Price price = p.mapTo(Price.class); // <3> + prices.add(price); + } + + public List list() { + return prices; + } +} +---- + +[arabic] +. The `Price` instances are automatically encoded to JSON by the +connector +. You can receive it using a `JsonObject` +. Then, you can reconstruct the instance using the `mapTo` method + +== Inbound Metadata + +Messages coming from AMQP contains an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/IncomingAmqpMetadata.html[`IncomingAmqpMetadata`] + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a Reactive Messaging `Message` associated with an AMQP Message is +acknowledged, it informs the broker that the message has been +_accepted_. + +== Failure Management + +If a message produced from an AMQP message is _nacked_, a failure +strategy is applied. The AMQP connector supports six strategies: + +* `fail` - fail the application; no more AMQP messages will be +processed (default). The AMQP message is marked as rejected. +* `accept` - this strategy marks the AMQP message as _accepted_. The +processing continues ignoring the failure. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-accepted[accepted +delivery state +documentation]. +* `release` - this strategy marks the AMQP message as _released_. The +processing continues with the next message. The broker can redeliver +the message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-released[released delivery state +documentation]. +* `reject` - this strategy marks the AMQP message as rejected. The +processing continues with the next message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-rejected[rejected +delivery state +documentation]. +* `modified-failed` - this strategy marks the AMQP message as +_modified_ and indicates that it failed (with the `delivery-failed` +attribute). The processing continues with the next message, but the +broker may attempt to redeliver the message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-modified[modified +delivery state +documentation] +* `modified-failed-undeliverable-here` - this strategy marks the AMQP +message as _modified_ and indicates that it failed (with the +`delivery-failed` attribute). It also indicates that the application +cannot process the message, meaning that the broker will not attempt +to redeliver the message to this node. The processing continues with +the next message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-modified[modified delivery state +documentation] + +== Configuration Reference + +include::{generated-dir}/smallrye-amqp-incoming.adoc[indent=0] + +You can also pass any property supported by the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP +client] as attribute. + +To use an existing _address_ or _queue_, you need to configure the +`address`, `container-id` and, optionally, the `link-name` attributes. +For example, if you have an Apache Artemis broker configured with: + +[source,xml] +---- + + +
people
+ true + artemis +
+
+---- + +You need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-amqp +mp.messaging.incoming.people.durable=true +mp.messaging.incoming.people.address=people +mp.messaging.incoming.people.container-id=people +---- + +You may need to configure the `link-name` attribute, if the queue name +is not the channel name: + +[source,properties] +---- +mp.messaging.incoming.people-in.connector=smallrye-amqp +mp.messaging.incoming.people-in.durable=true +mp.messaging.incoming.people-in.address=people +mp.messaging.incoming.people-in.container-id=people +mp.messaging.incoming.people-in.link-name=people +---- + +== Receiving Cloud Events + +The AMQP connector supports https://cloudevents.io/[Cloud Events]. +When the connector detects a _structured_ or _binary_ Cloud Events, it +adds a link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/ce/IncomingCloudEventMetadata.html[`IncomingCloudEventMetadata`] +into the metadata of the `Message`. `IncomingCloudEventMetadata` +contains accessors to the mandatory and optional Cloud Event attributes. + +If the connector cannot extract the Cloud Event metadata, it sends the +Message without the metadata. + +=== Binary Cloud Events + +For `binary` Cloud Events, *all* mandatory Cloud Event attributes must +be set in the AMQP application properties, prefixed by `cloudEvents:` +(as mandated by the https://github.com/cloudevents/spec/blob/v1.0.1/amqp-protocol-binding.md[protocol +binding]). +The connector considers headers starting with the `cloudEvents:` prefix +but not listed in the specification as extensions. You can access them +using the `getExtension` method from `IncomingCloudEventMetadata`. + +The `datacontenttype` attribute is mapped to the `content-type` header +of the record. + +=== Structured Cloud Events + +For `structured` Cloud Events, the event is encoded in the record’s +value. Only JSON is supported, so your event must be encoded as JSON in +the record’s value. + +Structured Cloud Event must set the `content-type` header of the record +to `application/cloudevents{plus}json; charset=UTF-8`. The message body must +be a valid JSON object containing at least all the mandatory Cloud +Events attributes. + +If the record is a structured Cloud Event, the created Message’s payload +is the Cloud Event `data`. diff --git a/content/docs/smallrye-reactive-messaging/3/amqp/sending-amqp-messages.adoc b/content/docs/smallrye-reactive-messaging/3/amqp/sending-amqp-messages.adoc new file mode 100644 index 000000000..2dc73dee1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/amqp/sending-amqp-messages.adoc @@ -0,0 +1,248 @@ += Sending messages to AMQP +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector can write Reactive Messaging `Messages` as AMQP +Messages. + +== Example + +Let’s imagine you have an AMQP broker (such as https://activemq.apache.org/components/artemis/[Apache ActiveMQ +Artemis]) running, and +accessible using the `amqp:5672` address (by default it would use +`localhost:5672`). Configure your application to send the messages from +the `prices` channel as AMQP Message as follows: + +[source,properties] +---- +amqp-host=amqp # <1> +amqp-port=5672 # <2> +amqp-username=my-username # <3> +amqp-password=my-password # <4> + +mp.messaging.outgoing.prices.connector=smallrye-amqp # <5> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `amqp-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `amqp-port`. The default is +`5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`amqp-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`amqp-password`. +. Instructs the `prices` channel to be managed by the AMQP connector + +[NOTE] +==== + +You don’t need to set the _address_. By default, it uses the channel +name (`prices`). You can configure the `address` attribute to override +it. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpPriceMessageProducer.java[indent=0] +---- + +== Serialization + +When receiving a `Message++<++T++>++`, the connector convert the message into an +AMQP Message. The payload is converted to the AMQP Message _body_. + +[width="100%",cols="50%,50%",options="header",] +|=== +|`T` |AMQP Message Body +|primitive types or `String` |AMQP Value with the payload +|`Instant` or `UUID` |AMQP Value using the corresponding AMQP Type +|https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] or https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`] |AMQP Data using a binary content. The `content-type` is set to `application/json` +|`io.vertx.mutiny.core.buffer.Buffer` |AMQP Data using a binary content. No `content-type` set +|Any other class |The payload is converted to JSON (using a Json Mapper). The result is wrapped into AMQP Data using a *binary* content. The `content-type` is set to `application/json` +|=== + +If the message payload cannot be serialized to JSON, the message is +_nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/OutgoingAmqpMetadata.html[`OutgoingAmqpMetadata`] +to influence how the message is going to be sent to AMQP. For example, you +can configure the subjects, properties: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Dynamic address names + +Sometimes it is desirable to select the destination of a message +dynamically. In this case, you should not configure the address inside +your application configuration file, but instead, use the outbound +metadata to set the address. + +For example, you can send to a dynamic address based on the incoming +message: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpOutboundDynamicAddressExample.java[tags=code,indent=0] +---- + +[NOTE] +==== + +To be able to set the address per message, the connector is using an +_anonymous sender_. + +==== + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +broker acknowledged the message. When using routers, this +acknowledgement may not be enabled. In this case, configure the +`auto-acknowledgement` attribute to acknowledge the message as soon as +it has been sent to the router. + +If an AMQP message is rejected/released/modified by the broker (or +cannot be sent successfully), the message is nacked. + +== Back Pressure and Credits + +The back-pressure is handled by AMQP _credits_. The outbound connector +only requests the amount of allowed credits. When the amount of credits +reaches 0, it waits (in a non-blocking fashion) until the broker grants +more credits to the AMQP sender. + +== Configuration Reference + +include::{generated-dir}/smallrye-amqp-outgoing.adoc[indent=0] + +You can also pass any property supported by the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP +client] as attribute. + +== Using existing destinations + +To use an existing _address_ or _queue_, you need to configure the +`address`, `container-id` and, optionally, the `link-name` attributes. +For example, if you have an Apache Artemis broker configured with: + +[source,xml] +---- + + +
people
+ true + artemis +
+
+---- + +You need the following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people.connector=smallrye-amqp +mp.messaging.outgoing.people.durable=true +mp.messaging.outgoing.people.address=people +mp.messaging.outgoing.people.container-id=people +---- + +You may need to configure the `link-name` attribute, if the queue name +is not the channel name: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.durable=true +mp.messaging.outgoing.people-out.address=people +mp.messaging.outgoing.people-out.container-id=people +mp.messaging.outgoing.people-out.link-name=people +---- + +To use a `MULTICAST` queue, you need to provide the _FQQN_ +(Fully-qualified queue name) instead of just the name of the queue: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.durable=true +mp.messaging.outgoing.people-out.address=foo +mp.messaging.outgoing.people-out.container-id=foo + +mp.messaging.incoming.people-out.connector=smallrye-amqp +mp.messaging.incoming.people-out.durable=true +mp.messaging.incoming.people-out.address=foo::bar # Note the syntax: address-name::queue-name +mp.messaging.incoming.people-out.container-id=bar +mp.messaging.incoming.people-out.link-name=people +---- + +More details about the AMQP Address model can be found on https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html[the Artemis +documentation]. + +== Sending Cloud Events + +The AMQP connector supports https://cloudevents.io/[Cloud Events]. The +connector sends the outbound record as Cloud Events if: + +* the message metadata contains an +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` +instance, +* the channel configuration defines the `cloud-events-type` and +`cloud-events-source` attributes. + +You can create +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` instances +using: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpCloudEventProcessor.java[indent=0] +---- + +If the metadata does not contain an id, the connector generates one +(random UUID). The `type` and `source` can be configured per message or +at the channel level using the `cloud-events-type` and +`cloud-events-source` attributes. Other attributes are also +configurable. + +The metadata can be contributed by multiple methods, however, you must +always retrieve the already existing metadata to avoid overriding the +values: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpCloudEventMultipleProcessors.java[indent=0] +---- + +By default, the connector sends the Cloud Events using the _binary_ +format. You can write _structured_ Cloud Events by setting the +`cloud-events-mode` to `structured`. Only JSON is supported, so the +created records had its `content-type` header set to +`application/cloudevents{plus}json; charset=UTF-8` + +[NOTE] +==== + +you can disable the Cloud Event support by setting the `cloud-events` +attribute to `false` + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/camel/camel-processor.adoc b/content/docs/smallrye-reactive-messaging/3/camel/camel-processor.adoc new file mode 100644 index 000000000..20327120f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/camel/camel-processor.adoc @@ -0,0 +1,37 @@ += The processor pattern using Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Using the processor pattern, you can consume on a channel using a Camel +component, and produce on a channel using another Camel component. In +that case, the headers present in the incoming metadata will be +forwarded in the outgoing metadata. + +== Example + +Let’s imagine you want to read messages from a Nats subject, process it +and produce a message on a Kafka topic. + +[source,properties] +---- +mp.messaging.incoming.mynatssubject.connector=smallrye-camel # <1> +mp.messaging.incoming.mynatssubject.endpoint-uri=nats:mynatssubject # <2> +mp.messaging.outgoing.mykafkatopic.connector=smallrye-camel # <3> +mp.messaging.outgoing.mykafkatopic.endpoint-uri=kafka:mykafkatopic# <4> + +camel.component.nats.servers=127.0.0.1:5555 # <5> +camel.component.kafka.brokers=127.0.0.1:9092 # <6> +---- + +[arabic] +. Sets the connector for the `mynatssubject` channel +. Configures the `endpoint-uri` for nats subject +. Sets the connector for the `mykafkatopic` channel +. Configures the `endpoint-uri` for the kafka topic +. Sets the URL of the nats server to use +. Sets the URL of a kafka broker to use + +[source,java] +---- +include::{examples-dir}/camel/processor/CamelProcessor.java[indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/3/camel/camel.adoc b/content/docs/smallrye-reactive-messaging/3/camel/camel.adoc new file mode 100644 index 000000000..0ffebef57 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/camel/camel.adoc @@ -0,0 +1,67 @@ += Apache Camel Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Camel connector adds support for Apache Camel to Reactive Messaging. + +https://camel.apache.org/[Camel] is an open source integration +framework let you integrate various systems consuming or producing data. +Camel implements the Enterprise Integration Patterns and provides +several hundred of components used to access databases, message queues, +APIs or basically https://camel.apache.org/components/latest/[anything under the +sun]. + +== Introduction + +Camel is not a messaging broker. But, it allows your Reactive Messaging +application to retrieve data from almost anything and send data to +almost anything. + +So if you want to send Reactive Messaging `Message` to Telegram or +retrieve data from Salesforce or SAP, this is the connector you need. + +One of the Camel cornerstone is the `endpoint` and its `uri` encoding +the connection to an external system. For example, +`file:orders/?delete=true&charset=utf-8` instructs Camel to read the +files from the `orders` directory. URI format and parameters are listed +on the component documentation, such as the https://camel.apache.org/components/latest/file-component.html[File +component]. + +== Using the camel connector + +To you the camel Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-camel + {project-version} + +---- + +You will also need the dependency of the Camel component you are using. +For example, if you want to process files, you would need to add the +Camel File Component artifact: + +[source,xml,subs="attributes+"] +---- + + org.apache.camel + camel-file + {camel-version} + +---- + +The connector name is: `smallrye-camel`. + +So, to indicate that a channel is managed by this connector you need: + +.... +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-camel + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-camel +.... diff --git a/content/docs/smallrye-reactive-messaging/3/camel/receiving-messages-from-camel.adoc b/content/docs/smallrye-reactive-messaging/3/camel/receiving-messages-from-camel.adoc new file mode 100644 index 000000000..65338aedc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/camel/receiving-messages-from-camel.adoc @@ -0,0 +1,89 @@ += Retrieving data using Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Camel provides many components. To keep this documentation focused on +the integration with Camel, we use the https://camel.apache.org/components/latest/file-component.html[File +component]. +This component let use read files from a directory. So the connector +configured with this component creates a `Message` for each file located +in the directory. As soon as a file is dropped in the directory, a new +`Message` is created. + +== Example + +Let’s imagine you want to read the files from the `orders` directory and +send them to the `files` channel. Configuring the Camel connector to +gets the _file_ from this directory only requires 2 properties: + +[source,properties] +---- +mp.messaging.incoming.files.connector=smallrye-camel # <1> +mp.messaging.incoming.files.endpoint-uri=file:orders/?delete=true&charset=utf-8 # <2> +---- + +[arabic] +. Sets the connector for the `files` channel +. Configures the `endpoint-uri` + +Then, your application receives `Message++<++GenericFile++<++File++>>++`. + +[NOTE] +==== + +The Camel File component produces +`org.apache.camel.component.file.GenericFile` instances. You can +retrieve the actual `File` using `getFile()`. + +==== + +You can consume the payload directly: + +[source,java] +---- +include::{examples-dir}/camel/inbound/CamelFileConsumer.java[indent=0] +---- + +You can also retrieve the `Message++<++GenericFile++<++File++>>++`: + +[source,java] +---- +include::{examples-dir}/camel/inbound/CamelFileMessageConsumer.java[indent=0] +---- + +== Deserialization + +Each Camel component is producing specific objects. As we have seen, the +File component produces `GenericFile`. + +Refer to the component documentation to check which type is produced. + +== Inbound Metadata + +Messages coming from Camel contains an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-camel/{javadoc-version}/io/smallrye/reactive/messaging/camel/IncomingExchangeMetadata.html[`IncomingExchangeMetadata`] +in the metadata. + +[source,java] +---- +include::{examples-dir}/camel/inbound/IncomingCamelMetadataExample.java[indent=0] +---- + +This object lets you retrieve the Camel `Exchange`. + +== Failure Management + +If a message produced from a Camel exchange is _nacked_, a failure +strategy is applied. The Camel connector supports 3 strategies: + +* `fail` - fail the application, no more MQTT messages will be +processed. (default) The offset of the record that has not been +processed correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. + +In both cases, the `exchange` is marked as rollback only and the nack +reason is attached to the exchange. + +== Configuration Reference + +include::{generated-dir}/smallrye-camel-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/3/camel/sending-messages-to-camel.adoc b/content/docs/smallrye-reactive-messaging/3/camel/sending-messages-to-camel.adoc new file mode 100644 index 000000000..8bf614150 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/camel/sending-messages-to-camel.adoc @@ -0,0 +1,76 @@ += Sending data with Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can use the Camel connector to send data to almost any type of +system. + +To keep this document focused on the Camel connector, we use the Camel +File component. However, the connector can be used with any Camel +component. + +== Example + +Let’s imagine you want to write generated prices into files. Configure +your application to write the messages from the `prices` channel into a +files as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-camel # <1> +mp.messaging.outgoing.prices.endpoint-uri=file:prices/?fileName=${date:now:yyyyMMddssSS}.txt&charset=utf-8 # <2> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the `endpoint-uri` to write into files in the `prices` +directory + +[IMPORTANT] +==== + +Depending on your implementation of MicroProfile Reactive Messaging, the +`$` may need to be escaped as follows: `$$++{++...}` + +==== + +Then, your application must send `Message++<++String++>++` to the `prices` +channel. It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The serialization is handled by the Camel component. Refer to the Camel +documentation to check which payload type is supported by the component. + +== Outbound Metadata + +When sending `Messages`, you can add an instance +of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-camel/{javadoc-version}/io/smallrye/reactive/messaging/camel/OutgoingExchangeMetadata.html[`OutgoingExchangeMetadata`] +to the message metadata. You can then influence how the outbound Camel +`Exchange` is created, for example by adding properties: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +The incoming messages are acknowledged when the underlying Camel +exchange completes. If the exchange fails, the message is nacked. + +== Configuration Reference + +include::{generated-dir}/smallrye-camel-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/3/camel/using-existing-routes.adoc b/content/docs/smallrye-reactive-messaging/3/camel/using-existing-routes.adoc new file mode 100644 index 000000000..12e8ff3ac --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/camel/using-existing-routes.adoc @@ -0,0 +1,59 @@ += Using the Camel API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Camel connector is based on the https://camel.apache.org/components/latest/reactive-streams-component.html[Reactive Streams +support] +from Camel. If you have an application already using the Camel API +(routes, `from`...), you can integrate it with Reactive Messaging. + +== Getting the CamelReactiveStreamsService + +Once you add the Camel connector to your application, you can retrieve +the +`org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService` +object: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=reactive,indent=0] +---- + +This `CamelReactiveStreamsService` lets you create `Publisher` and +`Subscriber` instances from existing routes. + +== Using Camel Route with @Outgoing + +If you have an existing Camel route, you can transform it as a +`Publisher` using the `CamelReactiveStreamsService`. Then, you can +return this `Publisher` from a method annotated with `@Outgoing`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source,indent=0] +---- + +You can also use `RouteBuilder`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source-route-builder,indent=0] +---- + +Using Camel Route with @Incoming + +If you have an existing Camel route, you can transform it as a +`Subscriber` using the `CamelReactiveStreamsService`. Then, you can +return this `Subscriber` from a method annotated with `@Incoming`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=sink,indent=0] +---- + +You can also use a producer: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=producer,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/acknowledgement.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/acknowledgement.adoc new file mode 100644 index 000000000..6dea20a6e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/acknowledgement.adoc @@ -0,0 +1,173 @@ += Acknowledgement +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Acknowledgment is an essential concept in messaging. A message is +acknowledged when its processing or reception has been successful. It +allows the broker to move to the next message. + +How acknowledgment is used, and the exact behavior in terms of retry and +resilience depends on the broker. For example, for Kafka, it would +commit the offset. For AMQP, it would inform the broker that the message +has been _accepted_. + +Reactive Messaging supports acknowledgement. The default acknowledgement +depends on the method signature. Also, the acknowledgement policy can be +configured using the `@Acknowledgement` annotation. + +== Chain of acknowledgment + +If we reuse this example: + +[source,java] +---- +include::{examples-dir}/beans/Chain.java[tags=chain,indent=0] +---- + +The framework automatically acknowledges the message received from the +`sink` channel when the `consume` method returns. As a consequence, the +message received by the `process` method is acknowledged, and so on. In +other words, it creates a chain of acknowledgement - from the outbound +channel to the inbound channel. + +When using connectors to receive and consume messages, the outbound +connector acknowledges the messages when they are dispatched +successfully to the broker. The acknowledgment chain would, as a result, +acknowledges the inbound connector, which would be able to send an +acknowledgment to the broker. + +This chain of acknowledgment is automatically implemented when +processing payloads. + +== Acknowledgment when using Messages + +When using `Messages`, the user controls the acknowledgment, and so the +chain is not formed automatically. It gives you more flexibility about +when and how the incoming messages are acknowledged. + +If you create a `Message` using the `with` method, is copy the +acknowledgment function from the incoming message: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=with-payload,indent=0] +---- + +To have more control over the acknowledgment, you can create a brand new +`Message` and pass the acknowledgment function: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=message-creation,indent=0] +---- + +However, you may need to create the acknowledgment chain, to acknowledge +the incoming message: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=process,indent=0] +---- + +To trigger the acknowledgment of the incoming message, use the `ack()` +method. It returns a `CompletionStage`, receiving `null` as value when +the acknowledgment has completed. + +== Acknowledgment when using streams + +When transforming streams of `Message`, the acknowledgment is delegated +to the user. It means that it’s up to the user to acknowledge the +incoming messages: + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=message,indent=0] +---- + +In the previous example, we only generate a single message per incoming +message so that we can use the `with` method. It becomes more +sophisticated when grouping incoming messages or when each incoming +message produces multiple messages. + +In the case of a stream of payloads, the default strategy acknowledges +the incoming messages before being processed by the method (regardless +of the outcome). + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=payload,indent=0] +---- + +== Controlling acknowledgement + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Acknowledgment.html[`Acknowledgment`] +annotation lets you customize the default strategy presented in the +previous sections. The `@Acknowledgement` annotation takes a _strategy_ +as parameter. Reactive Messaging proposed 4 strategies: + +* `POST++_++PROCESSING` - the acknowledgement of the incoming message is +executed once the produced message is acknowledged. +* `PRE++_++PROCESSING` - the acknowledgement of the incoming message is +executed before the message is processed by the method. +* `MANUAL` - the acknowledgement is doe by the user. +* `NONE` - No acknowledgment is performed, neither manually or +automatically. + +It is recommended to use `POST++_++PROCESSING` as it guarantees that the +full processing has completed before acknowledging the incoming message. +However, sometimes it’s not possible, and this strategy is not available +if you manipulate streams of `Messages` or payloads. + +The `PRE++_++PROCESSING` strategy can be useful to acknowledge a message +early in the process: + +[source,java] +---- +include::{examples-dir}/ack/PreAckExamples.java[tags=pre,indent=0] +---- + +It cuts the acknowledgment chain, meaning that the rest of the +processing is not linked to the incoming message anymore. This strategy +is the default strategy when manipulating streams of payloads. + +Refer to the xref:concepts/signatures.adoc[signature list] to determine +which strategies are available for a specific method signature and +what’s the default strategy. + +== Negative acknowledgement + +Messages can also be _nacked_, which indicates that the message was not +processed correctly. The `Message.nack` method indicates failing +processing (and supply the reason), and, as for successful +acknowledgment, the _nack_ is propagated through the chain of messages. + +If the message has been produced by a connector, this connector +implements specific behavior when receiving a _nack_. It can fail +(default), or ignore the failing, or implement a dead-letter queue +mechanism. Refer to the connector documentation for further details +about the available strategies. + +If the message is sent by an emitter using the `send(P)` method, the +returned `CompletionStage` is completed _exceptionally_ with the _nack_ +reason. + +[source,java] +---- +include::{examples-dir}/ack/NackOnEmitter.java[tags=emitter,indent=0] +---- + +Negative acknowledgment can be manual or automatic. If your method +handles instances of `Message` and the acknowledgment strategy is +`MANUAL`, you can nack a message explicitly. You must indicate the +reason (an exception) when calling the `nack` method. As for successful +acknowledgment, the `nack` returns a `CompletionStage` completed when +the `nack` has been processed. + +If your method uses the `POST++_++PROCESSING` acknowledgment strategy, and +the method fails (either by throwing an exception or by producing a +failure), the message is automatically nacked with the caught exception: + +[source,java] +---- +include::{examples-dir}/ack/AutoNack.java[tags=auto-nack,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/advanced-config.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/advanced-config.adoc new file mode 100644 index 000000000..89aa2cd08 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/advanced-config.adoc @@ -0,0 +1,43 @@ += Advanced configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Strict Binding Mode + +By default, SmallRye Reactive Messaging does not enforce whether all +_mediators_ are connected. It just prints a warning message. The strict +mode fails the deployment if some "incomings" are not bound to +"outgoings". To enable this mode, you can pass the +`-Dsmallrye-messaging-strict-binding=true` via the command line, or you +can set the `smallrye-messaging-strict-binding` attribute to `true` in +the configuration: + +[source,text] +---- +smallrye-messaging-strict-binding=true +---- + +== Disabling channels + +You can disable a channel in the configuration by setting the `enabled` +attribute to `false`: + +[source,text] +---- +mp.messaging.outgoing.dummy-sink.connector=dummy +mp.messaging.outgoing.dummy-sink.enabled=false # Disable this channel +---- + +SmallRye Reactive Messaging does not register disabled channels, so make +sure the rest of the application does not rely on them. + +== Publisher metrics + +SmallRye Reactive Messaging integrates MicroProfile Metrics and +Micrometer for registering counter metrics (named +`mp.messaging.message.count`) of published messages per channel. + +Both MicroProfile and Micrometer publisher metrics are enabled by +default if found on the classpath. They can be disabled with +`smallrye.messaging.metrics.mp.enabled` and +`smallrye.messaging.metrics.micrometer.enabled` properties respectively. diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/blocking.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/blocking.adoc new file mode 100644 index 000000000..2641f8bdf --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/blocking.adoc @@ -0,0 +1,88 @@ += @Blocking +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.reactive.messaging.annotations.Blocking` annotation can +be used on a method annotated with `@Incoming`, or `@Outgoing` to +indicate that the method should be executed on a worker pool: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking +public String process(String s) { + return s.toUpperCase(); +} +---- + +If method execution does not need to be ordered, it can be indicated on +the `@Blocking` annotation: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking(ordered = false) +public String process(String s) { + return s.toUpperCase(); +} +---- + +When unordered, the invocation can happen concurrently. + +By default, use of `@Blocking` results in the method being executed in +the Vert.x worker pool. If it’s desired to execute methods on a custom +worker pool, with specific concurrency needs, it can be defined on +`@Blocking`: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking("my-custom-pool") +public String process(String s) { + return s.toUpperCase(); +} +---- + +Specifying the concurrency for the above worker pool requires the +following configuration property to be defined: + +.... +smallrye.messaging.worker.my-custom-pool.max-concurrency=3 +.... + +== Supported signatures + +`@Blocking` does not support every signature. The following table lists +the supported ones. + +[width="100%",cols="7%,35%,58%",options="header",] +|=== +|Shape |Signature |Comment +|Publisher |`@Outgoing("in") @Blocking O generator()` |Invokes the generator from a worker thread. If `ordered` is set to `false`, the generator can be called concurrently. +|Publisher |`@Outgoing("in") @Blocking Message++<++O++>++ generator()` |Invokes the generator from a worker thread. If `ordered` is set to `false`, the generator can be called concurrently. +|Processor |`@Incoming("in") @Outgoing("bar") @Blocking O process(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Processor |`@Incoming("in") @Outgoing("bar") @Blocking Message++<++O++>++ process(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking void consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking Uni++<++Void++>++ consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking CompletionStage++<++Void++>++ consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|=== + +When a method can be called concurrently, the max concurrency depends on +the number of threads from the worker thread pool. + +== Using io.smallrye.common.annotation.Blocking + +`io.smallrye.common.annotation.Blocking` is another annotation with the +same semantic. `io.smallrye.common.annotation.Blocking` is used by +multiple SmallRye projects and Quarkus. + +SmallRye Reactive Messaging also supports +`io.smallrye.common.annotation.Blocking`. However, +`io.smallrye.common.annotation.Blocking` does not allow configuring the +ordering (it defaults to `ordered=true`). + +When both annotations are used, +`io.smallrye.reactive.messaging.annotations.Blocking` is preferred. diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/broadcast.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/broadcast.adoc new file mode 100644 index 000000000..a10dc2c86 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/broadcast.adoc @@ -0,0 +1,49 @@ += Broadcast +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`@Broadcast` is an experimental feature. + +==== + +By default, messages transiting in a channel are only dispatched to a +single consumer. Having multiple consumers is considered as an error, +and is reported at deployment time. + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/annotations/Broadcast.html[`Broadcast`] +annotation changes this behavior and indicates that messages transiting +in the channel are dispatched to all the consumers. `@Broadcast` must be +used with the `@Outgoing` annotation: + +[source,java] +---- +include::{examples-dir}/broadcast/BroadcastExamples.java[tags=chain,indent=0] +---- + +In the previous example, both consumers get the messages. + +You can also control the number of consumers to wait before starting to +dispatch the messages. This allows waiting for the complete graph to be +woven: + +[source,java] +---- +include::{examples-dir}/broadcast/BroadcastWithCountExamples.java[tags=chain,indent=0] +---- + +[NOTE] +==== + +Inbound connectors also support a `broadcast` attribute that allows +broadcasting the messages to multiple downstream subscribers. + +==== + +Use with Emitter + +For details on how to use `@Broadcast` with `Emitter` see the +xref:concepts/emitter.adoc#emitter-and-broadcast[documentation]. diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/concepts.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/concepts.adoc new file mode 100644 index 000000000..240b8d973 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/concepts.adoc @@ -0,0 +1,100 @@ += Introduction +:version-root: ../ +include::{version-root}_attributes.adoc[] + +When dealing with event-driven or data streaming applications, there are +a few concepts and vocabulary to introduce. + +== Messages, Payload, Metadata + +A `Message` is an _envelope_ around a `payload`. Your application is +going to receive, process, and send `Messages`. + +Your application’s logic can generate these `Messages` or receive them +from a message broker. They can also be consumed by your application or +sent to a message broker. + +.An application can receive a message, process it and send a resulting message +[.has-dark] +image::images/messages.png[An application can receive a message, process it and send a resulting message] + +In Reactive Messaging, `Message` are represented by the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/eclipse/microprofile/reactive/messaging/Message.html[`Message`] interface. +Each `Message++<++T++>++` contains a _payload_ of type `++<++T++>++`. This payload can be retrieved using `message.getPayload()`: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=message,indent=0] +---- + +As you can see in the previous snippet, `Messages` can also have +_metadata_. _Metadata_ is a way to extend messages with additional data. +It can be metadata related to the message broker +(like link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/KafkaMessageMetadata.html[`KafkaMessageMetadata`]), or contain operational data (such as tracing metadata), or business-related data. + +[NOTE] +==== + +When retrieving metadata, you get an `Optional` as it may not be present. + +==== + +[TIP] +==== + +Metadata is also used to influence the outbound dispatching (how the message will be sent to the broker). + +==== + +== Channels and Streams + +Inside your application, `Messages` transit on _channel_. A _channel_ is +a virtual destination identified by a name. + +.The application is a set of channels +[.has-dark] +image::images/channels.png[The application is a set of channels] + +SmallRye Reactive Messaging connects the component to the channel they read and to the channel they populate. +The resulting structure is a stream: Messages flow between components through channels. + +[NOTE] +.What about Reactive Streams? +==== + +You may wonder why _Reactive Messaging_ has _Reactive_ in the name. The +Messaging part is kind of obvious. The Reactive part comes from the +streams that are created by binding components. These streams are +https://www.reactive-streams.org/[Reactive Streams]. They follow the +subscription and request protocol and implement back-pressure. It also +means that xref:#connectors[Connectors] are intended to use non-blocking IO +to interact with the various message brokers. + +==== + +== Connectors + +Your application is interacting with messaging brokers or event backbone using _connectors_. +A _connector_ is a piece of code that connects to a broker and: + +[arabic] +. subscribe/poll/receive messages from the broker and propagate them to the application +. send/write/dispatch messages provided by the application to the broker + +Connectors are configured to map incoming messages to a specific +_channel_ (consumed by the application) and collect outgoing messages +sent to a specific channel. These collected messages are sent to the +external broker. + +.Connectors manages the communication between the application and the brokers +[.has-dark] +image::images/connectors.png[Connectors manages the communication between the application and the brokers] + +Each connector is dedicated to a specific technology. +For example, a Kafka Connector only deals with Kafka. + +You don’t necessarily need a connector. +When your application does not use connectors, everything happens _in-memory_, and the streams are created by chaining methods altogether. +Each chain is still a reactive stream and enforces the back-pressure protocol. +When you don’t use connectors, you need to make sure the chain is complete, meaning it starts with a message source, and it ends with a sink. +In other words, you need to generate messages from within the application (using a method with only `@Outgoing`, or an `Emitter`) and consume the messages +from within the application (using a method with only `@Incoming` or using an unmanaged stream). diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/connectors.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/connectors.adoc new file mode 100644 index 000000000..cad48ea52 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/connectors.adoc @@ -0,0 +1,182 @@ += Connectors +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Reactive Messaging can handle messages generated from within the +application but also interact with remote _brokers_. Reactive Messaging +Connectors interacts with these remote _brokers_ to retrieve messages +and send messages using various protocols and technology. + +Each connector handles to a specific technology. For example, a Kafka +Connector is responsible for interacting with Kafka, while an MQTT +Connector is responsible for MQTT interactions. + +== Connector name + +Each connector has a name. This name is referenced by the application to +indicate that this connector manages a specific channel. + +For example, the SmallRye Kafka Connector is named: `smallrye-kafka`. + +== Inbound and Outbound connectors + +Connector can: + +[arabic] +. retrieve messages from a remote broker (inbound) +. send messages to a remote broker (outbound) + +A connector can, of course, implement both directions. + +Inbound connectors are responsible for: + +[arabic] +. Getting messages from the remote broker, +. Creating a Reactive Messaging `Message` associated with the +retrieved message. +. Potentially associating technical metadata with the message. It +includes unmarshalling the payload. +. Associating an acknowledgment callback to acknowledge the incoming +message when the Reactive Messaging message is +processed/acknowledged. + +[IMPORTANT] +.Reactive matters +==== + +The first step should follow the reactive streams principle: uses +non-blocking technology, respects downstream requests. + +==== + +Outbound connectors are responsible for: + +[arabic] +. Receiving Reactive Messaging `Message` and transform it into a +structure understood by the remote broker. It includes marshaling +the payload. +. If the `Message` contains outbound metadata (metadata set during the +processing to influence the outbound structure and routing), taking +them into account. +. Sending the message to the remote broker. +. Acknowledging the Reactive Messaging `Message` when the broker has +accepted/acknowledged the message. + +== Configuring connectors + +Applications need to configure the connector used by expressing which +channel is managed by which connector. Non-mapped channels are local / +in-memory. + +To configure connectors, you need to have an implementation of +MicroProfile Config. If you don’t have one, add an implementation of +MicroProfile Config in your _classpath_, such as: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config + {smallrye-config-version} + +---- + +Then edit the application configuration, generally +`src/main/resources/META-INF/microprofile-config.properties`. + +The application configures the connector with a set of properties +structured as follows: + +.... +mp.messaging.[incoming|outgoing].[channel-name].[attribute]=[value] +.... + +For example: + +.... +mp.messaging.incoming.dummy-incoming-channel.connector=dummy +mp.messaging.incoming.dummy-incoming-channel.attribute=value +mp.messaging.outgoing.dummy-outgoing-channel.connector=dummy +mp.messaging.outgoing.dummy-outgoing-channel.attribute=value +.... + +You configure each channel (both incoming and outgoing) individually. + +The `++[++incoming++|++outgoing++]++` segment indicates the direction. + +* an `incoming` channel consumes data from a message broker or +something producing data. It’s an inbound interaction. It relates to +methods annotated with an `@Incoming` using the same channel name. +* an `outgoing` consumes data from the application and forwards it to +a message broker or something consuming data. It’s an outbound +interaction. It relates to methods annotated with an `@Outgoing` +using the same channel name. + +The `++[++channel-name++]++` is the name of the channel. If the channel name +contains a `.` (dot), you would need to use `"` (double-quote) around +it. For example, to configure the `dummy.incoming.channel` channel, you +would need: + +.... +mp.messaging.incoming."dummy.incoming.channel".connector=dummy +mp.messaging.incoming."dummy.incoming.channel".attribute=value +.... + +The `++[++attribute++]++=++[++value++]++` sets a specific connector attribute to the +given value. Attributes depend on the used connector. So, refer to the +connector documentation to check the supported attributes. + +The `connector` attribute must be set for each mapped channel and +indicates the name of the connector responsible for the channel. + +Here is an example of a channel using an MQTT connector, consuming data +from a MQTT broker, and a channel using a Kafka connector (writing data +to Kafka): + +[source,properties] +---- +# Configure the incoming health channel +mp.messaging.incoming.health.topic=neo +mp.messaging.incoming.health.connector=smallrye-mqtt +mp.messaging.incoming.health.host=localhost +mp.messaging.incoming.health.broadcast=true + +# Configure outgoing data channel +mp.messaging.outgoing.data.connector=smallrye-kafka +mp.messaging.outgoing.data.bootstrap.servers=localhost:9092 +mp.messaging.outgoing.data.key.serializer=org.apache.kafka.common.serialization.StringSerializer +mp.messaging.outgoing.data.value.serializer=io.vertx.kafka.client.serialization.JsonObjectSerializer +mp.messaging.outgoing.data.acks=1 +---- + +[IMPORTANT] +==== + +To use a connector, you need to add it to your _CLASSPATH_. Generally, +adding the dependency to your project is enough. Then, you need to know +the connector’s name and set the `connector` attribute for each channel +managed by this connector. + +==== + +Connector attribute table + +In the connector documentation, you will find a table listing the +attribute supported by the connector. Be aware that attributes for +inbound and outbound interactions may be different. + +These tables contain the following entries: + +[arabic] +. The name of the attribute, and potentially an _alias_. The name of +the attribute is used with the +`mp.messaging.++[++incoming++|++outgoing++]++.++[++channel-name++]++.++[++attribute++]++=++[++value++]++` +syntax (the `attribute` segment). The _alias_ (if set) is the name +of a global MicroProfile Config property that avoids having to +configure the attribute for each managed channel. For example, to +set the location of your Kafka broker globally, you can use the +`kafka.bootstrap.servers` alias. +. The description of the attribute, including the type. +. Whether that attribute is mandatory. If so, it fails the +deployment if not set +. The default value, if any. diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/converters.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/converters.adoc new file mode 100644 index 000000000..ff3f6148e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/converters.adoc @@ -0,0 +1,43 @@ += Message Converters +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging supports _message converters_, allowing to +transform an incoming message into a version accepted by the method. If +the incoming messages or payload does not match the invoked method’s +expectation, SmallRye Reactive Messaging looks for a suitable converter. +If found, it converts the incoming message with this converter. + +Converters can have multiple purposes, but the main use case is about +transforming the message’s payload: + +[source,java] +---- +include::{examples-dir}/converters/MyConverter.java[tags=code,indent=0] +---- + +To provide a converter, implement a bean exposing the `MessageConverter` +interface. The `canConvert` method is called during the lookup and +verifies if it can handle the conversion. The `target` type is the +expected payload type. If the converter returns `true` to `canConvert`, +SmallRye Reactive Messaging calls the `convert` method to proceed to the +conversion. + +The previous converter can be used in application like the following, to +convert `Message++<++String++>++` to `Message++<++Person++>++`: + +[source,java] +---- +include::{examples-dir}/converters/ConverterExample.java[tags=code,indent=0] +---- + +Converters work for all supported method signatures. However, the +signature must be well-formed to allow the extraction of the expected +payload type. Wildcards and raw types do not support conversion. If the +expected payload type cannot be extracted, or no converter fits, the +message is passed as received. + +If multiple suitable converters are present, implementations should +override the `getPriority` method returning the priority. The default +priority is `100`. The converter lookup invokes converters with higher +priority (from the least value to the greatest) first. diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/decorators.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/decorators.adoc new file mode 100644 index 000000000..56722ae5a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/decorators.adoc @@ -0,0 +1,75 @@ += Channel Decorators +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging supports decorating reactive streams +of incoming and outgoing channels for implementing cross-cutting +concerns such as monitoring, tracing or message interception. + +Two symmetrical APIs are proposed for decorating publisher and subscriber channels, +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/PublisherDecorator.html[`PublisherDecorator`] +and link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/SubscriberDecorator.html[`SubscriberDecorator`] respectively. + +[IMPORTANT] +==== + +`@Incoming` channels and channels bound to an outbound connector are both `Subscriber`s. +Conversely `@Outgoing` channels and channels bound to an inbound connector are `Publisher`s. + +==== + +For example, to provide a decorator which counts consumed messages from incoming connector, +implement a bean exposing the interface `PublisherDecorator`: + +[source,java] +---- +include::{examples-dir}/decorators/ConsumedMessageDecorator.java[tags=code,indent=0] +---- + +Decorators' `decorate` method is called only once per channel at application deployment when graph wiring is taking place. +Decorators are very powerful because they receive the stream of messages (Mutiny `Multi++<++Message++<++?++>>++`) +and potentially return a new stream of messages. + +Note that if a decorator is available it will be called on every channel. +The `decorate` method receives the channel name and whether the channel is a connector or not as parameters. +Decorators are called ordered from highest to lowest priority (from the least value to the greatest), +obtained using the `javax.enterprise.inject.spi.Prioritized#getPriority` method. + +[NOTE] +==== + +The `SubscriberDecorator` receive a list of channel names because `@Incoming` annotation is repeatable +and consuming methods can be linked to multiple channels. + +==== + +== Intercepting Outgoing Messages + +Decorators can be used to intercept and alter messages, both on incoming and outgoing channels. +Smallrye Reactive Messaging provides a `SubscriberDecorator` by default to allow intercepting outgoing messages for a specific channel. + +To provide an outgoing interceptor implement a bean exposing the interface link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/OutgoingInterceptor.html[`OutgoingInterceptor`], qualified with a `@Identifier` with the channel name to intercept. +Only one interceptor is allowed to be bound for interception per outgoing channel. +If no interceptors are found with a `@Identifier` but a `@Default` one is available, it is used. +When multiple interceptors are available, the bean with the highest priority is used. + +[source,java] +---- +include::{examples-dir}/interceptors/MyInterceptor.java[indent=0] +---- + +An `OutgoingInterceptor` can implement these three methods: + +* `Message++<++?++>++ onMessage(Message++<++?++>++ message)` : Called before passing the message to the outgoing connector for transmission. +The message can be altered by returning a new message from this method. +* `void onMessageAck(Message++<++?++>++ message)` : Called after message acknowledgment. +This callback can access `OutgoingMessageMetadata` which will hold the result of the message transmission to the broker, if supported by the connector. This is only supported by MQTT and Kafka connectors. +* `void onMessageNack(Message++<++?++>++ message, Throwable failure)` : Called before message negative-acknowledgment. + +[NOTE] +==== + +If you are willing to adapt an incoming message payload to fit a consuming method receiving type, +you can use `MessageConverter`s. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/emitter.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/emitter.adoc new file mode 100644 index 000000000..a59761323 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/emitter.adoc @@ -0,0 +1,270 @@ += Emitter and Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is not rare to combine in a single application imperative parts +(Jax-RS, regular CDI _beans_) and reactive parts (_beans_ with +`@Incoming` and `@Outgoing` annotations). In these case, it’s often +required to send _messages_ from the imperative part to the reactive +part. In other words, send messages to channels handled by reactive +messaging and how can you retrieve messages. + +== Emitter and @Channel + +To send _things_ (payload or `Message`) from imperative code to a +specific channel you need to use: + +[arabic] +. the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Channel.html[`org.eclipse.microprofile.reactive.messaging.Channel`] annotations +. the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Emitter.html[`org.eclipse.microprofile.reactive.messaging.Emitter`] type + +The `@Channel` lets you indicate to which channel you are going to send +your payloads or messages. The `Emitter` is the object to use to send +these payloads or messages. + +[source,java] +---- +include::{examples-dir}/emitter/MyImperativeBean.java[tags=intro,indent=0] +---- + +The `Emitter` class takes a type parameter. It’s the type of payload. +Even if you want to send `Messages`, the type is the payload type. + +[IMPORTANT] +==== + +You must have a `@Incoming("prices")` somewhere in your application +(meaning a method consuming messages transiting on the channel +`prices`), or an outbound connector configured to manage the `prices` +channel (`mp.messaging.outgoing.prices...`) + +==== + +== Sending payloads + +Sending payloads is done as follows: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=payload,indent=0] +---- + +When sending a payload, the emitter returns a `CompletionStage`. This +`CompletionStage` gets completed once the message created from the +payload is acknowledged: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=cs,indent=0] +---- + +If the processing fails, the `CompletionStage` gets completed +exceptionally (with the reason of the nack). + +== Sending messages + +You can also send `Messages`: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message,indent=0] +---- + +When sending a `Message`, the emitter does not return a +`CompletionStage`, but you can pass the ack/nack callback, and be called +when the message is acked/nacked. + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message-ack,indent=0] +---- + +Sending messages also let you pass metadata. + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message-meta,indent=0] +---- + +Metadata can be used to propagate some context objects with the message. + +== Overflow management + +When sending messages from imperative code to reactive code, you must be +aware of back-pressure. Indeed, messages sent using the emitter and +stored in a _queue_. If the consumer does not process the messages +quickly enough, this queue can become a memory hog and you may even run +out of memory. + +To control what need to happen when the queue becomes out of control, +use the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/OnOverflow.html[`OnOverflow`] annotation. `@OnOverflow` lets you configure: + +* the maximum size of the queue (default is 256) +* what needs to happen when this size is reached (fail, drop...) + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=overflow,indent=0] +---- + +The supported strategies are: + +* `OnOverflow.Strategy.BUFFER` - use a buffer to store the elements +until they are consumed. If the buffer is full, a failure is +propagated (and the thread using the emitted gets an exception) +* `OnOverflow.Strategy.UNBOUNDED++_++BUFFER` - use an unbounded buffer to +store the elements +* `OnOverflow.Strategy.DROP` - drops the most recent value if the +downstream can’t keep up. It means that new value emitted by the +emitter are ignored. +* `OnOverflow.Strategy.FAIL` - propagates a failure in case the +downstream can’t keep up. +* `OnOverflow.Strategy.LATEST` - keeps only the latest value, dropping +any previous value if the downstream can’t keep up. +* `OnOverflow.Strategy.NONE` - ignore the back-pressure signals +letting the downstream consumer to implement a strategy. + +=== Defensive emission + +Having an emitter injected into your code does not guarantee that +someone is ready to consume the message. For example, a subscriber may +be connecting to a remote broker. If there are no subscribers, using the +`send` method will throw an exception. + +The `emitter.hasRequests()` method indicates that a subscriber +subscribes to the channel and requested items. So, you can wrap your +emission with: + +[source,java] +---- +if (emitter.hasRequests()) { + emitter.send("hello"); +} +---- + +If you use the `OnOverflow.Strategy.DROP`, you can use the `send` method +even with no subscribers nor demands. The message will be nacked +immediately. + +== Retrieving channels + +You can use the `@Channel` annotation to inject in your bean the +underlying stream. Note that in this case, you will be responsible for +the subscription: + +[source,java] +---- +include::{examples-dir}/emitter/ChannelExamples.java[tags=channel,indent=0] +---- + +[IMPORTANT] +==== + +You must have a `@Outgoing("my-channel")` somewhere in your application +(meaning a method generating messages transiting on the channel +`my-channel`), or an inbound connector configured to manage the `prices` +channel (`mp.messaging.incoming.prices...`) + +==== + +Injected _channels_ merge all the matching _outgoing_ - so if you have +multiple `@Outgoing("out")`, `@Inject @Channel("out")` gets all the +messages. + +If your injected _channel_ receives _payloads_ (`Multi++<++T++>++`), it +acknowledges the message automatically, and support multiple +subscribers. If you injected _channel_ receives `Message` +(`Multi++<++Message++<++T++>>++`), you will be responsible for the acknowledgement +and broadcasting. + +== Emitter and @Broadcast + +When using an `Emitter`, you can now `@Broadcast` what is emitted to all +subscribers. + +Here is an example of emitting a price with two methods marked +`@Incoming` to receive the broadcast: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=broadcast,indent=0] +---- + +For more details see xref:concepts/broadcast.adoc[@Broadcast] +documentation. + +== Mutiny Emitter + +If you prefer to utilize `Uni` in all your code, there is now a +`MutinyEmitter` that will return `Uni++<++Void++>++` instead of `void`. + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni,indent=0] +---- + +There’s also the ability to block on sending the event to the emitter. +It will only return from the method when the event is acknowledged, or +nacked, by the receiver: + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni-await,indent=0] +---- + +And if you don’t need to worry about the success or failure of sending +an event, you can `sendAndForget`: + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni-forget,indent=0] +---- + +== Custom Emitter Implementations + +[WARNING] +.Experimental +==== + +Custom emitter implementations is an experimental feature. + +==== + +`Emitter` and `MutinyEmitter` are two implementations of the emitter concept, +where imperative code in your application can send messages to Reactive Messaging channels. + +With `EmitterFactory` it is possible to provide custom implementations, and application facing emitter interfaces. + +In the following example, the injectable custom emitter interface is `CustomEmitter`, +and it is implemented by `CustomEmitterImpl`: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-declaration,indent=0] +---- + +Note that `CustomEmitter` interface extends `EmitterType`, which is a marker interface for discovering custom emitter types. +Also, `CustomEmitterImpl` implements the `MessagePublisherProvider`, which is used by the framework to transform this emitter to a channel. + +Then we need to provide an implementation of the `EmitterFactory` interface: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-factory,indent=0] +---- + +The `CustomEmitterFactory` is a CDI managed bean, which implements the `EmitterFactory`. +It is qualified with `EmitterFactoryFor` annotation which is configured with the emitter interface `CustomEmitter` that this factory provides. + +Smallrye Reactive Messaging discovers the emitter factory during the CDI deployment validation +and verifies that custom emitters used by the application have corresponding emitter factories. +It'll use the emitter factory to create the emitter implementation and will register the implementation into the `ChannelRegistry`. + +Note that the `CustomEmitterFactory` also uses the `ChannelRegistry` and provides the custom emitter with `@Produces`. + +Finally, the application can inject and use the `CustomEmitter` as a normal emitter channel: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-usage,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/incomings.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/incomings.adoc new file mode 100644 index 000000000..8fc179d3a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/incomings.adoc @@ -0,0 +1,20 @@ += Multiple Incoming Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Multiple `@Incomings` is an experimental feature. + +==== + +The `@Incoming` annotation is repeatable. It means that the method +receives the messages transiting on every listed channels, in no +specific order: + +[source,java] +---- +include::{examples-dir}/incomings/IncomingsExamples.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/logging.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/logging.adoc new file mode 100644 index 000000000..2a8fc8df3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/logging.adoc @@ -0,0 +1,269 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging uses https://github.com/jboss-logging[JBoss +Logging] as logging API. This section +explains how to configure the loggers for various logging backends. + +[TIP] +==== + +If you are developing SmallRye Reactive Messaging and wonder about how +the logs are managed, it uses https://jboss-logging.github.io/jboss-logging-tools/#introduction[JBoss Logging +Tools]. + +==== + +== Logging Backends + +SmallRye Reactive Messaging uses the JBoss Logging library to write +messages to a log file. This library is a logging _bridge_ that +integrates different log frameworks. You can decide which of the +following frameworks you want to use for your application: + +* JBoss LogManager (`jboss`) +* Log4j 2 (`log4j2`) +* Log4j 1 (`log4j`) +* Slf4j (`slf4j`) +* JDK logging (`jul`) + +You only need to add the chosen framework to the classpath, and the +JBoss Logging library will pick it up. If there are multiple frameworks +available on the classpath, it picks the first found (in the order from +the list). Alternatively, you can set the `org.jboss.logging.provider` +system property is one of the values given above. + +The concepts and log categories are the same for all frameworks. +However, the format of the configuration file and the names of the log +levels differ. Check the documentation of your logging library to find +out which _dependencies_ are required, the exact name of the log levels, +and where the configuration should be written. + +== Log Categories + +As all applications and frameworks, SmallRye Reactive Messaging writes +log messages in different categories and log levels. The categories +group messages from specific connectors, classes or components. The +following table shows the essential log categories used by SmallRye +Reactive Messaging: + +[width="100%",cols="36%,64%",options="header",] +|=== +|Category |Description +|`io.smallrye.reactive.messaging` |This category contains all the messages written by SmallRye Reactive Messaging. +|`io.smallrye.reactive.messaging.provider` |This category contains all the messages generated by the _core_ (provider). +|`io.smallrye.reactive.messaging.kafka` |This category contains all the messages generated by the Kafka Connector. +|`io.smallrye.reactive.messaging.amqp` |This category contains all the messages generated by the AMQP Connector. +|`io.smallrye.reactive.messaging.jms` |This category contains all the messages generated by the JMS Connector. +|`io.smallrye.reactive.messaging.camel` |This category contains all the messages generated by the Camel Connector. +|`io.smallrye.reactive.messaging.mqtt` |This category contains all the messages generated by the MQTT (Client) Connector. +|`io.smallrye.reactive.messaging.mqtt-server` |This category contains all the messages generated by the MQTT (Server) Connector. +|=== + +The names of the log levels are defined by your logging framework and +determine the amount and granularity of the log messages. You can assign +a log level to each category. If you do not specify a specific +category’s log level, it will inherit the level from its parent +category. Thus, setting the log level of +`io.smallrye.reactive.messaging` influences every loggers from SmallRye +Reactive Messaging. + +== Message Code + +Each message has an identifier code. They are all prefixed with `SRMSG`, +followed with the numeric code. + +In the following output, the code is `SRMSG00229`: + +.... +[2020-06-15 13:35:07] [INFO ] SRMSG00229: Channel manager initializing... +.... + +== Recommended logging configurations + +=== Development + +==== Log4J 1 + +_log4j.properties_ + +[source,properties] +---- +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +log4j.rootLogger=info, stdout +log4j.logger.io.smallrye.reactive.messaging=info +log4j.logger.org.jboss.weld=warn +---- + +==== Log4J 2 + +_log4j2.xml_ + +[source,xml] +---- + + + PropertiesConfiguration + + + + + + [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n + > + + + + + + + + + + + + + + + +---- + +==== JDK (JUL) + +_logging.properties_ + +[source,properties] +---- +handlers=java.util.logging.ConsoleHandler + +java.util.logging.ConsoleHandler.level=FINEST +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$-7s] %5$s %n + +.level=INFO +io.smallrye.reactive.messaging.level=INFO +org.jboss.weld.level=WARNING +---- + +==== LogBack via SLF4J++*++ + +_logback.xml_ + +[source,xml] +---- + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + +---- + +=== Production + +==== Log4J 1 + +_log4j.properties_ + +[source,properties] +---- +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +log4j.rootLogger=info, stdout +log4j.logger.io.smallrye.reactive.messaging=warn +log4j.logger.org.jboss.weld=error +---- + +==== Log4J 2 + +_log4j2.xml_ + +[source,xml] +---- + + + PropertiesConfiguration + + + + + + [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n + > + + + + + + + + + + + + + + + +---- + +==== JDK (JUL) + +_logging.properties_ + +[source,properties] +---- +handlers=java.util.logging.ConsoleHandler + +java.util.logging.ConsoleHandler.level=INFO +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$-7s] %5$s %n + +.level=INFO +io.smallrye.reactive.messaging.level=WARNING +org.jboss.weld.level=SEVERE +---- + +_logback.xml_ + +[source,xml] +---- + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + +---- diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/merge.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/merge.adoc new file mode 100644 index 000000000..d7bd6cbd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/merge.adoc @@ -0,0 +1,47 @@ += Merge channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`@Merge` is an experimental feature. + +==== + +By default, messages transiting in a channel can arise from a single +producer. Having multiple producers is considered erroneous and is +reported at deployment time. + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/annotations/Merge.html[`Merge`] +annotation changes this behavior and indicates that a channel can have +multiple producers. `@Merge` must be used with the `@Incoming` +annotation: + +[source,java] +---- +include::{examples-dir}/merge/MergeExamples.java[tags=chain,indent=0] +---- + +In the previous example, the consumer gets all the messages (from both +producers). + +The `@Merge` annotation allows configuring how the incoming messages +(from the different producers) are merged into the channel. The `mode` +attribute allows configuring this behavior: + +* `ONE` picks a single producer, discarding the other producer; +* `MERGE` (default) gets all the messages as they come, without any +defined order. Messages from different producers may be interleaved. +* `CONCAT` concatenates the producers. The messages from one producer +are received until the messages from other producers are received. + +[NOTE] +==== + +Outbound connectors also support a `merge` attribute that allows +consuming the messages to multiple upstreams. It will dispatch all the +received messages. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/message-context.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/message-context.adoc new file mode 100644 index 000000000..f3162a13a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/message-context.adoc @@ -0,0 +1,83 @@ += Message Contexts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Message context provides a way to propagate data along the processing of a message. +It can be used to propagate message specific objects in an implicit manner and be able to retrieve them later, such as the user, session or transaction. + +[IMPORTANT] +==== + +Message contexts are only support by Kafka, AMQP, RabbitMQ and MQTT connectors. + +==== + +[NOTE] +==== + +Message context support is an experimental and SmallRye only feature. + +==== + +== What's a message context + +A message context is execution context on which a message is processed. +Each stage of the processing is going to use the same execution context. +Thus, it allows storing _data_ which can later be restored. +For example, you can imagine storing some authentication (`User` in the following example) data in one part of your processing and restore it in a later stage. + +[source,java] +---- +@Incoming("data") +@Outgoing("process") +public Message process(Message input) { + // Extract some data from the message and store it in the context + User user = ...; + // Store the extracted data into the message context. + ContextLocals.put("user", user); + record input; +} + +@Incoming("process") +@Outgoing("after-process") +public String handle(String payload) { + // You can retrieve the store data using + User user = ContextLocals.get("user", null); + + // ... + return payload; +} +---- + +The Message context is also available when using blocking or asynchronous stages (stage returning `Uni` or `CompletionStage`) + +== The difference with metadata + +Message metadata can be used to provide a similar feature. +However, it requires using `Messages` which can be inconvenient (need to handle the acknowledgement manually). +Message Contexts provide a simpler API, closer to a _Message CDI scope_: you can save data, and restore it later. +The implicit propagation avoid having to deal with `Messages`. + +== Supported signatures + +Message context works with: + +* methods consuming or producing `Messages`, `Uni++<++Message++<++T++>>++` and `CompletionStage++<++Message++<++T++>>++` +* methods consuming or producing payloads, `Uni++<++Payload++>++` and `CompletionStage++<++Payload++>++`. +* blocking and non-blocking methods + +However, message context are *NOT* enforced when using methods consuming or producing: + +* `Multi`, `Publisher` and `PublisherBuilder` +* `Subscriber` and `SubscriberBuilder` +* `Processor` and `ProcessorBuilder` + +== Under the hood + +Under the hood, the message context feature uses Vert.x _duplicated contexts_. +A duplicated context is a view of the "root" (event loop) context, which is restored at each stage of the message processing. + +Each time that a compatible connector receives a message from a broker, it creates a new _duplicated context_ and attaches it to the message. +So the context is stored in the metadata of the message. + +When the message is processed, SmallRye Reactive Messaging makes sure that this processing is executed on the stored duplicated context. diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/model.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/model.adoc new file mode 100644 index 000000000..375048c77 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/model.adoc @@ -0,0 +1,391 @@ += Development Model +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Reactive Messaging proposes a CDI-based programming model to implement event-driven applications. +Following the CDI principles, _beans_ are forming the main building block of your application. +Reactive Messaging provides a set of annotations and types to implement beans that generate, consume or process messages. + +== @Incoming and @Outgoing + +Reactive Messaging provides two main annotations: + +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Incoming.html[`org.eclipse.microprofile.reactive.messaging.Incoming`] - indicates the consumed channel +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Outgoing.html[`org.eclipse.microprofile.reactive.messaging.Outgoing`] - indicates the populated channel + +These annotations are used on _methods_: + +[source,java] +---- +include::{examples-dir}/beans/MessageProcessingBean.java[indent=0] +---- + +[NOTE] +==== + +Reactive Messaging beans can either be in the _application_ scope (`@ApplicationScoped`) or dependent scope (`@Dependent`). + +==== + +Manipulating messages can be cumbersome. +When you are only interested in the payload, you can use the following syntax: The following code is equivalent to the snippet from above: + +[source,java] +---- +include::{examples-dir}/beans/PayloadProcessingBean.java[indent=0] +---- + +[IMPORTANT] +==== + +You should not call methods annotated with `@Incoming` and/or +`@Outgoing` directly from your code. They are invoked by the framework. +Having user code invoking them would not have the expected outcome. + +==== + +SmallRye Reactive Messaging automatically binds matching `@Outgoing` to +`@Incoming` to form a chain: + +.A chain of components +[.has-dark] +image::images/chain.png[A chain of components] + +If we consider the following code: + +[source,java] +---- +include::{examples-dir}/beans/Chain.java[tags=chain,indent=0] +---- + +It would generate the following chain: + +[source,text] +---- +generate --> [ source ] --> process --> [ sink ] --> consume +---- + +Methods annotated with `@Incoming` or `@Outgoing` don’t have to be in the same _bean_ (_class_). +You can distribute them among a set of beans. +Remote interactions are also possible when using connectors. + +Methods annotated with: + +* only `@Outgoing` are used to generate messages or payloads +* only `@Incoming` are used to consume messages or payloads +* both `@Incoming` and `@Outgoing` are used to process messages or payloads; or transform the stream + +== Creating messages + +Messages are envelopes around payload. +They are the vehicle. +While manipulating payload is convenient, messages let you add metadata, handle acknowledgement... + +Creating `Messages` is done using the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/eclipse/microprofile/reactive/messaging/Message.html[`Message`] interface directly: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=creation,indent=0] +---- + +Messages accept `null` as payload. +Channels connected to outbound connectors interpret messages with `null` payload differently depending on the technology. + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=null-payload,indent=0] +---- + +You can also create new instance of `Message` from an existing one: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=copy,indent=0] +---- + +[NOTE] +.Acknowledgement? +==== + +Acknowledgement is an important part of messaging systems. This will be +covered in the xref:concepts/acknowledgement.adoc[acknowledgement] +section. + +==== + +[NOTE] +.Connector Metadata +==== + +Most connectors are providing metadata to let you extract technical +details about the message, but also customize the outbound dispatching. + +==== + +== Generating Messages + +To produce messages to a channel, you need to use the `@Outgoing` +annotation. This annotation takes a single parameter: the name of the +populated channel. + +=== Generating messages synchronously + +You can generate messages synchronously. In this case, the method is +called for every _request_ from the downstream: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-sync,indent=0] +---- + +[NOTE] +.Requests? +==== + +Reactive Messaging connects components to build a reactive stream. +In a reactive stream, the emissions are controlled by the consumer +(downstream) indicating to the publisher (upstream) how many items it +can consume. With this protocol, the consumers are never flooded. + +==== + +=== Generating messages using CompletionStage + +You can also return a `CompletionStage` / `CompletableFuture`. +In this case, Reactive Messaging waits until the `CompletionStage` gets completed before calling it again. + +For instance, this signature is useful to poll messages from a source using an asynchronous client: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-cs,indent=0] +---- + +=== Generating messages using Uni + +You can also return a https://smallrye.io/smallrye-mutiny/#_uni_and_multi[Uni] instance. +In this case, Reactive Messaging waits until the `Uni` emits its item before calling it again. + +This signature is useful when integrating asynchronous clients providing a Mutiny API. + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-uni,indent=0] +---- + +=== Generating Reactive Streams of messages + +Instead of producing the message one by one, you can return the stream +directly. If you have a data source producing Reactive Streams +`Publisher` (or sub-types, such as `Multi`), this is the signature you are looking for: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-stream,indent=0] +---- + +In this case, the method is called once to retrieve the `Publisher`. + +== Generating Payloads + +Instead of `Message`, you can produce _payloads_. In this case, Reactive +Messaging produces a simple message from the _payload_ using +`Message.of`. + +=== Generating payload synchronously + +You can produce _payloads_ synchronously. The framework calls the method +upon request and create `Messages` around the produced payloads. + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-sync,indent=0] +---- + +=== Generating payload using CompletionStage + +You can also return `CompletionStage` or `CompletableFuture`. For +example, if you have an asynchronous client returning `CompletionStage`, +you can use it as follows, to poll the data one by one: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-cs,indent=0] +---- + +=== Generating payload by producing Unis + +You can also return a `Uni` if you have a client using Mutiny types: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-uni,indent=0] +---- + +=== Generating Reactive Streams of payloads + +Finally, you can return a `Publisher` (or a sub-type such as a `Multi`): + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-stream,indent=0] +---- + +In this case, Reactive Messaging calls the method only once to retrieve +the `Publisher`. + +== Consuming Messages + +To consume messages from a channel, you need to use the `@Incoming` +annotation. This annotation takes a single parameter: the name of the +consumed channel. + +Because `Messages` must be acknowledged, consuming messages requires +returning _asynchronous results_ that would complete when the incoming +message get acknowledged. + +For example, you can receive the `Message`, process it and return the +acknowledgement as result: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=message-cs,indent=0]' +---- + +You can also return a `Uni` if you need to implement more complicated +processing: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=message-uni,indent=0] +---- + +== Consuming Payloads + +Unlike consuming messages, consuming payloads support both synchronous +and asynchronous consumption. + +For example, you can consume a payload as follows: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-sync,indent=0] +---- + +In this case, you don’t need to deal with the acknowledgement yourself. +The framework acknowledges the incoming message (that wrapped the +payload) once your method returns successfully. + +If you need to achieve asynchronous actions, you can return a +`CompletionStage` or a `Uni`: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-cs,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-uni,indent=0] +---- + +In these 2 cases, the framework acknowledges the incoming message when +the returned construct gets _completed_. + +== Processing Messages + +You can process `Message` both synchronously or asynchronously. +This later case is useful when you need to execute an asynchronous action during your processing such as invoking a remote service. + +Do process `Messages` synchronously uses: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message,indent=0] +---- + +This method transforms the `int` payload to a `String`, and wraps it +into a `Message`. + +'''important "Using `Message.withX` methods" +You may be surprised by the usage of `Message.withX` methods. It allows +metadata propagation as the metadata would be copied from the incoming +message and so dispatched to the next method. + +You can also process `Messages` asynchronously: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message-cs,indent=0] +---- + +Or using Mutiny: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message-uni,indent=0] +---- + +In general, you want to create the new `Message` from the incoming one. +It enables metadata propagation and post-acknowledgement. For this, use +the `withX` method from the `Message` class returning a new `Message` +instance but copy the _content_ (metadata, ack/nack...). + +== Processing payloads + +If you don’t need to manipulate the envelope, you can process payload +directly either synchronously or asynchronously: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload-cs,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload-uni,indent=0] +---- + +[NOTE] +.What about metadata? +==== + +With these methods, the metadata are automatically propagated. + +==== + +== Processing streams + +The previous processing method were taking single `Message` or payload. +Sometimes you need more advanced manipulation. For this, SmallRye +Reactive Messaging lets you process the stream of `Message` or the +stream of payloads directly: + +[source,java] +---- +include::{examples-dir}/processing/StreamExamples.java[tags=processing-stream-message,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/StreamExamples.java[tags=processing-stream-payload,indent=0] +---- + +You can receive either a (Reactive Streams) `Publisher`, a +`PublisherBuilder` or (Mutiny) `Multi`. You can return any subclass of +`Publisher` or a `Publisher` directly. + +[IMPORTANT] +==== + +These signatures do not support metadata propagation. In the case of a +stream of `Message`, you need to propagate the metadata manually. In the +case of a stream of payload, propagation is not supported, and incoming +metadata are lost. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/signatures.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/signatures.adoc new file mode 100644 index 000000000..866a9f6bb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/signatures.adoc @@ -0,0 +1,81 @@ += Supported signatures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The following tables list the supported method signatures and indicate +the various supported features. For instance, they indicate the default +and available acknowledgement strategies (when applicable). + +[width="100%",cols="32%,68%",options="header",] +|=== +|Signature |Invocation time +|`@Outgoing Publisher++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Publisher method()`` |Called once at _assembly_ time +|`@Outgoing Multi++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Multi method()`` |Called once at _assembly_ time +|`@Outgoing PublisherBuilder++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing PublisherBuilder method()`` |Called once at _assembly_ time +|`@Outgoing Message++<++O++>++ method()` `{vbar} Called for every downstream request, sequentially {vbar} {vbar}`@Outgoing O method()`` |Called for every downstream request, sequentially +|`@Outgoing CompletionStage++<++Message++<++O++>>++ method()` `{vbar} Called for every downstream request, sequentially (After the completion of the last returned CompletionStage) {vbar} {vbar}`@Outgoing CompletionStage method()`` |Called for every downstream request, , sequentially (After the completion of the last returned CompletionStage) +|`@Outgoing Uni++<++Message++<++O++>>++ method()` `{vbar} Called for every downstream request, sequentially (After the completion of the last returned Uni) {vbar} {vbar}`@Outgoing Uni method()`` |Called for every downstream request, , sequentially (After the completion of the last returned Uni) +|=== + +Method signatures to generate data + +[width="100%",cols="37%,32%,31%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies +|`@Incoming void method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming CompletionStage++<++?++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING +|`@Incoming CompletionStage++<++?++>++ method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, PRE++_++PROCESSING, NONE +|`@Incoming Uni++<++?++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING +|`@Incoming Uni++<++?++>++ method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, PRE++_++PROCESSING, NONE +|`@Incoming Subscriber++<++Message++<++I++>>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming Subscriber++<++I++>++ method()` |Called once at _assembly_ time |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|=== + +Method signatures to consume data + +[width="100%",cols="42%,26%,21%,11%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies |Metadata Propagation +|`@Outgoing @Incoming Message++<++O++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming O method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming CompletionStage++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Uni++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Processor++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Processor++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming ProcessorBuilder++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming ProcessorBuilder++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Publisher++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Publisher++<++O++>++ method(I payload)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |automatic +|`@Outgoing @Incoming Multi++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Multi++<++O++>++ method(I payload)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |automatic +|`@Outgoing @Incoming PublisherBuilder++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming PublisherBuilder++<++O++>++ method(I payload)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |automatic +|=== + +Method signatures to process data + +[width="100%",cols="53%,16%,20%,11%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies |Metadata Propagation +|`@Outgoing @Incoming Publisher++<++Message++<++O++>>++ method(Publisher++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Publisher++<++O++>++ method(Publisher++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Multi++<++Message++<++O++>>++ method(Multi++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Multi++<++O++>++ method(Multi++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming PublisherBuilder++<++Message++<++O++>>++ method(PublisherBuilder++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming PublisherBuilder++<++O++>++ method(PublisherBuilder++<++I++>++ pub)` |Called once at _assembly_ time |NONE, PRE++_++PROCESSING |not supported +|=== + +Method signatures to manipulate streams + +[IMPORTANT] +==== + +When processing `Message`, it is often required to _chain_ the incoming +`Message` to enable post-processing acknowledgement and metadata +propagation. Use the `with` (like `withPayload`) methods from the +incoming message, so it copies the metadata and ack/nack methods. It +returns a new `Message` with the right content. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/skipping.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/skipping.adoc new file mode 100644 index 000000000..2717afe78 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/skipping.adoc @@ -0,0 +1,29 @@ += Skipping messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Sometimes you receive a message and don’t want to produce an output +message. To handle this, you have several choices: + +[arabic] +. for method processing single message or payload, producing `null` +would produce an ignored message (not forwarded) +. for method processing streams, you can generate an _empty_ stream. + +== Skipping a single item + +To skip a single message or payload, return `null`: + +[source,java] +---- +include::{examples-dir}/skip/SingleSkip.java[tags=skip,indent=0] +---- + +== Skipping in a stream + +To skip a message or payload when manipulating a stream, emit an _empty_ `Multi` (or `Publisher`): + +[source,java] +---- +include::{examples-dir}/skip/StreamSkip.java[tags=skip,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/3/concepts/testing.adoc b/content/docs/smallrye-reactive-messaging/3/concepts/testing.adoc new file mode 100644 index 000000000..6ed9eac9c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/concepts/testing.adoc @@ -0,0 +1,66 @@ += Testing your application +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It’s not rare to have to test your application but deploying the +infrastructure can be cumbersome. While Docker or Test Containers have +improved the testing experience, you may want to _mock_ this +infrastructure. + +SmallRye Reactive Messaging proposes an _in-memory_ connector for this +exact purpose. It allows switching the connector used for a channel with +an _in-memory_ connector. This in-memory connector provides a way to +send messages to incoming channels, or check the received messages for +outgoing channels. + +To use the _in-memory_ connector, you need to add the following +dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-in-memory + {project-version} + test + +---- + +Then, in a test, you can do something like: + +[source,java] +---- +include::{examples-dir}/testing/MyTest.java[indent=0] +---- + +When switching a channel to the in-memory connector, all the +configuration properties are ignored. + +[IMPORTANT] +==== + +This connector has been designed for testing purpose only. + +==== + +The _switch_ methods return `Map++<++String, String++>++` instances containing +the set properties. While these system properties are already set, you +can retrieve them and pass them around, for example if you need to start +an external process with these properties: + +[source,java] +---- +include::{examples-dir}/testing/MyTestSetup.java[tags=code,indent=0] +---- + +[NOTE] +==== + +The in-memory connector support the `broadcast` and `merge` attributes. +So, if your connector is configured with `broadcast: true`, the +connector broadcasts the messages to all the channel consumers. If your +connector is configured with `merge:true`, the connector receives all +the messages sent to the mapped channel even when coming from multiple +producers. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/getting-started.adoc b/content/docs/smallrye-reactive-messaging/3/getting-started.adoc new file mode 100644 index 000000000..9cc19d837 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/getting-started.adoc @@ -0,0 +1,63 @@ += Getting Started +include::_attributes.adoc[] + +The easiest way to start using SmallRye Reactive Messaging is from https://quarkus.io[Quarkus]. +SmallRye Reactive Messaging can also be used standalone, or with https://openliberty.io/guides/microprofile-reactive-messaging.html[Open Liberty]. + +First, go to https://code.quarkus.io/?g=io.smallrye&a=getting-started-with-reactive-messaging&e=smallrye-reactive-messaging[code.quarkus.io]. +Select the `smallrye-reactive-messaging` extension (already done if you use the link), and then click on the generate button to download the code. + +One downloaded, unzip the project and import it in your IDE. + +If you look at the `pom.xml` file, you will see the following dependency: + +[source,xml] +---- + + io.quarkus + quarkus-smallrye-reactive-messaging + +---- + +It provides the support for SmallRye Reactive Messaging. + +Ok, so far so good, but we need event-driven _beans_. + +Create the `quickstart` package, and copy the following class into it: + +For instance: + +[source,java] +---- +include::{examples-dir}/quickstart/ReactiveMessagingExample.java[indent=0] +---- + +This class contains a set of methods: + +* producing messages (`source`) +* processing messages (`toUpperCase`) +* transforming the stream by skipping messages (`filter`) +* consuming messages (`sink`) + +Each of these methods are connected through _channels_. + +Now, let's see this in action. +For the terminal, run: + +[source,shell] +---- +> ./mvnw quarkus:dev +---- + +Running the previous example should give the following output: + +[source,text] +---- +>> HELLO +>> SMALLRYE +>> REACTIVE +>> MESSAGE +---- + +Of course, this is a very simple example. +To go further, let's have a look to the core xref:concepts/concepts.adoc[concepts] behind SmallRye Reactive Messaging. diff --git a/content/docs/smallrye-reactive-messaging/3/images/chain.dark.png b/content/docs/smallrye-reactive-messaging/3/images/chain.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..7149b0201c8ca23473e4d07aa2babb2168f7107b GIT binary patch literal 68029 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%0DQ;M2Ld+rG0x6_+)AIb<7XYYQ`goxNLR78 zrTLpbD{|uzS8qz5{6`7z*?bVW^l=F^HQZWx zXCk^hZt6V&y1T_@a-D6;9w?7> z+Y^p*edscFht$D(xoVxbxM8vVi=BJNo7*Bu+sl*2w842;w(80P!`79(Ft>AR&1p-< z_q__#_C+9i@2&7@biOB`bRTjheCv?4?=ybH7$U3yKc$+w4*covF+b!hpN2YK_C@%p zgs=u?1I|uQ<7QuQ)5IbAFLbY&R8)0{B)=Ym800@Kz`-H{Xi4YP_>0Y=+nrBlg?--s z9%zw0Hze#BiuV>Qe!u2E5Ol$%_)r~?I6z{mkN)GOT&$Kz`MYm^2$p319Z1fe7G$oJ zaB&5ZaAx96V=ftV%GVnRglM-_LJg)k(xFl{DXdNnKy;IUq|ZidYPo*?MzNB<5pItR zASIR4fqm^BoUlY-UG&cmU4X0HZsc{j?9gg+5I$8@AH|vHH41B%HH0H}9P~#oEIR*R z_c!FT$1W;&xO@Egin-C%l;e!cJa*#x>&ot+Klk(ax(xAd^`BQa>aq;jxBT>}C&a5H zK>6W+jH%7|9Y;OaQ9!lo%Zq>i^1&zm+U$35UYkJ|?j3o9Nkj6S1Na4c*}m30oAUTs zZG~)np~dYq3W!<*H-rPy5hSEHjjWBl-Td-n|Go>K)n(9kC-mhXhoAYi9nAV7e=W32-;U};#1aWH8P5FS?tgx2bt9X@ zU~XKW3t?Hnq*%zIQ6G41)~rLveO3R*5N~X?3@1I)z)-ke&~wjK{*8eX!`K_K6a62H z$e4`$K*{1vYeR*rww3vqy+PcW_Ctp7ST&=CV)vPm`PlTM`f`1?+Avk4V%djkl>ghhvE+w4edTrdcZtgYpR7;3IhGh~i&Nl&_RQfM z(~w8J`B#6i2keEoQ*2D&ynn4};%LGw#_X&oPd{bM$fl8wo_z4)i#?V8^DE}x^2zn3 zyylnq3gUe+8p4t~V6TvGE3Jh((8mUU+()YmU->E2piFN-l{H^N*Yn!o_>E!0`vdmy zo0;KLTZGMXdh4n2{MDQ5W2(2;pv}!KRPQImZG6IZ;PLN=d7?Pw`Nh&datDp+?T5YL zDZYAVXFC>Rz%VX0=|uQ!!K5lSYf8`=q+CX|FPSp`3Nzq!u2xfDq6+x`i*}>Pzw?L;hmt5)u)q2+-6MMiMSbc32VEJv+>~e@<3MIBktbf!L8##Yw;RS z_5Q`rIN?8k7=^ephxM?r96I8LYfrsL&7R#C(!_tDA0@cLt^^4jS}V1`>7I(Dg_LZde;YlS}meV@u`nxwE%G zV)wqF8Jnt%&pFiyn_%|a6u*rtDQ^ZpkOfC9%0^g6d!iZ?w-SOLw~>-lA~)0b&YY=) z*G-BO&D=%a{9xPrye2Z={oFs#gAijy=pO3W@1sQz-F1Dy@m{}QoVmHQo}M}#`eN#8 z`|Qv|Y3LK#fSvq2%yi>dKeB(Pjf3#CJaR9(=@#<3-uC_3Z4T6j(7r60Ma(}-F*M4% zcXmBNO|hJbhZHu;v+>}x-%=TNxuF+6ThY9D@2kZ7c+0)x_?OGlx9Xa=w#XD7P8sn0 zTcSq&-@hgOTZl=i`7L?0eSKO}D!G+NWXMJ60=btZr%Xr@%ex^4E(L*k|;|>e|7GW}l79 zk4WunZ-E9RO80zK8KgdetkPwk1QTl-Q)`}JTUqTWfG=MxzNq|RKQ9mb;9SML#=fP+ z*XINKs*NSJto6pP>C?NDX2-Z_lX!noGvI9%^F82!bqh&>p9E3~GD5><;_Q`LTbEl- z<5ZjIAS9N2+PwlXfpYGB03wMQo_&y;@)@!vS(`N!<4TX3rUH(_nX6ZwV2c5-z!NUx ze>k^)yUD`SydE>CHW`TIv=TI3eFFck1<}(^+<*_hSg769vze>(&7XH2m>a@&g$fYj z`Pc_1JBoiuYFVy};PCvwS%xY-?N>nDBZkyJ`QvhHF^TK-n@K3Z#exa6WK>ABiUcSv=UHL`Qb(cH&W;ewd zjPwb*47(miJ-SlacCz2walW~(Irmt-`qHrlzdh`;Hnc`h*L|FsmZC+HTQZm1u}SFY z)9(Mi25xK1@k`hbN(>2DNJ3t3ZW>(cyJFNzUPP+Ngw&{B%6}o(`oJ8V_wu4gZ~oC& zo{(|Uf&#mGcBN0H%uYL#71DiWCHypiWZefM|M=Iu`U{DOa5+yo!WgOf#hxa)Ie0e2 z@V3ZgwE1)lwCb;1wVvMqQv4Le5GUna`2v5jlVuq#BVQ*l*`I!y+n@EadwbElV@>LWJH`EsAx=bHR?X%FX zZq}*Ca2M7V@SS@mjzb2h!>uxU1XuTm)F+~3NvcYs5UQWjFp(|mHg`1D1k%QIm51I; z4JS1Gi%M)bdOSy#pZ}M`IK5A7H{3N)Ztb$7G-yGjQve^5Z0gOcVPPj{QI*c+Tl6ql zOdHZ|(&8Ii^K9*UUGneg2EA}EzDN$>l?ezpA(9%px0RAj{>7K*LeuQNxxfUjl%Je% z_jc=65{h16=?gw5>zG6f5LqaMBe|dY3I+hy1VZ3+`4Y<2-G{FK0_oO7u90^YUO;4obtLuHG01~%A&kyY~7`w&ZU-8@RLQs%LI;brEfl|Ry{-xASOW?{p(?CBqYBi895*T>vZNv?d|VdD%D4G-f0ZTP46iLl0yWuiVFNM@ z*&V_=bM{o+WAX_`(C~ma3NuAlV|LP!Q$O!rPEF*UTl@kZOK~?Z9D!>-lX0gPKg>>y zGwvD%ms1|L$KQ%0ex1J3=m_$^eW_PLL|xT ziQgRovwo zs*9R&<(U`moC~}#x6HDgdmvP@okOBHh*6#Xl@@eeXu##tdEMWi+Kz+b@hic!x4xi$ z$vi0iBnP~yDldW`g5u?8^7U=+M^T zZ(I}UFIh4^{SvV&8jv~2vT1<`neAS)93>Bw*Sxrxsyz=a7?5hkC#QLqm1DM6wIjrM z*up7hKR@Y)Tu`4d*(Zi)C*k~tcddp8lAKu|s6NAJNZ_7$)9nxiGfN(V-MF|ERoahl zay!jmrEyA9aC`V?zU%7Puw84mgqFTq1K%0EttWddq{KDrOv9m(_?D*tUL@wl_)hg5 zTG{(TNXEMS?d^RtU8uD~^6+l?-fh7eG@tt6RsEQAkMM}=6th9?v14JhGlqeV9`BF z!wn;*Zq*wY{ZzPNNbZFrauKf837ir5MdRcp+8s$vJq-Jev4N=Dd9;p+#6Re_PafpR z*rG2jetYP$#gXnz>;2UdMKJc5LcXcB?D8>r_B^+UX}`$=F%Gvd^PS?-Rt+>7uw8H4 z0-PNhm7p%P7jQx*$#&LmUbkJ5{g78GVFBUmt{UqgwFZ~lj*g%DF#{)5AHW9Y<117m zxh5QJVhWUczx<}_54W^eIEPE=&w(eYZZ7)9zJg+^n7b+Za8I)Rberbw0c)Mk!0|O> zY(~ehJ=e~@$-vozi#z5Z-1a=n zDRt9=J2JPl*bnl^wp80O$^dL;n?g*V53H|cc`r1d-uzq}k{4l1xWzXE+b(0iC{brPUw^Cc~vMK@1f^z&-7av<;5 z+t$R;*shyMyRnxt*0f{FLiae13AL^VCSs}{uY9C&yk{b(8PGHx!sA3bsP^egSiXko zI9Y8eR+DdRg+0TL1F6YpGLv+Z>m2uZmNCU|Oj+Qd5D`g?q+47IzVCEcs7noQqZdi! z5WRX7dY}Ohs=c)oARZeG`Ljap#P)d0C-azCK+6ERmpJs`6+Qj8oHdcEi&kX;SLa5i zm7K;4OhZjM=uevFgL`1j(?6w1fmWJx6atg6m&zgUw?DVlLI~_!ssN^6SRDW2WseFn zP!{lcFbDgZ{h&xXR#~B!n!g0sV_& zV~2tT&{pNa`)d>>vm^K@3foywiyThjS?8&$@p@Jr(>GJdiO;z;B~2kh|LSmQOh|KTP8a4a@;+@E`y`!fpQO_NS(en+}&ZNnk1=P*(JJcxGw`TswsW~!m7!?M_tQM zQq4#HSA-YC!I{%Ko$UnnVB)|wk#Z9PBJWr--P})q*8(Cm)8#$1ISEp88tfpM5(o>?e;Sh z{^(s{taX9KJ(s#GL9JzWznEM>%4N{EsA7Y@N^4A^h6DA3oD)hiVmeOPxfiFQDpVu6 zog+=E*POH3F=yR{?dcX@${PennTB`@ziShsna*ikqRLrwqt4@`eL+lHAD$c~d?lG1jAK8vP;X=%$En9f=N z8L(Ha?ZB6Nll1mwi(({{TS#heZ@Zsm$iqcPv+O5+HP_P${ z{M0R>tHF^6j7!>2Y{&a!a2|eWbCqF#o--ejaO^;}D}jaRfO330!#WTu%otAH@!iGm z(e;_HQQFf;U+00RA$Q{~zcLoR+S!onxBhX`9Uv4iNi4ncOGnO7JuL4|?I~T<=#%Iw zq#~o}_Mk%^q=BKN-Ecr=S|IAu;dd9yZV0}_4b4?F)EpA~eY?u3f52(@n8eTNe-zV~ z0hV=*zFkxhhg5C8bkaqnM=Tn?AxS+anRKaTwE6w`-f)5E3pKxW^3DA7k#x0U$~KVv ziHwupO;ga)5kXzHP@p4=@e`kT-lj>pPe0T6@!ML=Bc_yx5TDkes6A0B%)dd`okraa zKN{_9N}W+l0H%W+6$r(w6fIjsN-sf?__ZXzboz(_FHOZo7jOpXO2>N3!Cn6K;FiFa z--F(`n^&y8Q83ohvwym#@Woo*~FT8Plp83=JnTviI zj~kWj*|Q06D7bG8GZCBg&%(L(Nr&K?EUjl{#42k3VxhQLH8v)(oN+p zrToCyBzhFxl%s(OwfCxD6n!~}{;r0A&%2L3ON=tQjmxO$HIc<x(Dj!>^ltcoNt7|H|0_1}}E0Fv$E?YSp25 zM(U;A1JuXLxZv))gA~^+!WIwpTuBSmz4LGu%he84*NuV`UJU4W=Oei<`u<)GXx&-N zk3VqydsTCY3kk6zZr0IUp84Um3ktEKYJQBqEm;e!3VqY$bNZSCD-_c~JVh`Um0t#!)3(*8c+aIp=*UFyRtA9=1oe zeQ#pq;6k1$+#UsSdr|%-_ni}Nm6@)^z{T@{bDeF0f)Mo~|9MTG^cl9Zi>?Ube)WEzsI+JY zbKH|l+GGJSA}+k-0V90qJ{m`~#wDFtIA=Pc9~;SYntp*JM;RnwrURZ(A9T1r_3Jo|08kE#Q~IO3 zCpJ)fJQ@C1I_=D{wr{X3TEy9Jsd!|-crHMVq61Z;&A6%AD;-U?UsC}0i9S$Naw}|I zWu7k1=*^SC5;ZLtpEheAWr^?$1jCxTp0cTTdC2aR&HvGil+9i-gGjGkaGM1b$B#=h z+220ENE%1BvNHJsE=c*jF{rmq`v{F*Govi9SMOx)7?sj1HjnxB^s$V) z#TXQLq{&s+?u}ud_b^}WC?&Nw(mgcoKgQ zosp*9zbCKsiIXmMS9&OWqRc!iIkxpRyV1|4I3WUhn26yiN4$gX^X_sa-*3MW=z5Um~9Ic z>fa82^S)(nzZb#ls9hWb32h67cA?ss&7)e`TbzDe<+u&%n|id3xA@)M z)bEL?i>l4}Aa**5Pd5_lcsnJxoMo&fe#`3)c_e8*mo@#tJw`}cMYDIEt4w}4;Kj5k z{@yULE-6<)z^S&Q6u}-Xooviusrh?CL?9+t5>{QpL^$ILzWUHu5c#t_p4*A-ZJ-=S z+dQkFXieH;xHB+93`imYn?z6mkwVdW)bBV_&Get-z}lb>0(<`kLMB3QQWJ+7mp|}B zFF|*(<1R;@>%Hg3;tEq`)ft^C@8aMwPS`h2dmS`l4U?yDIbnTynu*m{BgWF(AO34Q~J?ib3tvq5erz-o#6QHI_Qt>rX&xh3#e zh`bEL$D6~317Bv5kK|}O0C>yBkmYPUQ_4gxt$4=zNxB585HUcgB!7RJ+Tn*gTYOKYjbCU*U5`$lb26(-*)Q9o>{$jn+JT zV{LdMbdMi2M_?%cy=wZAOjsfJ-PuHgcteuS=Hg6B{n@qSm869Xj(RSolkILGIZv@i zLEiZ1q)Q9l%$&J(qo!X_+>k4NdZI+$+1g%FZ}EfvtTie5RfLt>T}`8ObHtW(k-bWk zUIBtiBz(e9q3 zo4TKU{ZK*O^0e)NvkC)^SFFc_u3jMbA7`0JdRM>Xfi^76N}kd?lD@0CO0~(M(7w9g zF%!vz10J{e#yuK3_t7Le`B_2TNSUKxqM*P^8nX)3FaRO}0Z)C@ix#o)2;2Er>2e@K zxm_!I_(VheoeQdog)$X-wL^4Ff3S^Nh(2lv9py{1^KO}c?rwEvwQl!i_NM>4LLthH z-IN^r^8c#um5`Z)eayb+100g_S;Ay~wiU)b#m7Uec}mGa%|S*qcsR|$-+|_kO2)x9 z#qUf!5CbaN6N7QtcNkp~U1MRqW$3Ph+YF-(j}(At$w2`D5fKsP+y$UYFPX+F+rnc` zz4Eqhb@?yDL;rpYcN~m=K4{x-IP9M!&QRnVK^3F;n21+Q-1QGN`yiJb-lnlaA1luM zIeN5bxP^z7Ej#%gqXDd&J=rL93CtHeOM$NG#$`i~+v0;|m-Nu?{3FsroEQ^HhSBsT zln=&G3jjU)5Vtj?QvmUi0l)e!CF09wbF}r#u+K+_&5yl$RWC$OtUc3|?o_GM7G)&H`Tda{V#Z0`1H3 zU^NO|f+JQFD0qQh;KfpLROhE^mSyS2p3{jw$9C1J!tGJgH9v9&f%8nuGp8O6aCIV9 zna)FXFD}Jk|0l6hUmzTXMkC+q=|@kji@eM{pad9-Mf-#W*v7=;;Iappf+-9Gu&JHcm`a z;;Dz%b6irtMDd74i0hhZ5z>c8ah@hH9Y7vyWF-Y)R#aZ>VTrC9DS&fOlV z<~5gPyAl9~gw9Dzeea`ufG*py>*lG`re`H@Sxp!-7QM7L*DzH@Vm#>PqP122KF?g& zI>>sV)zRyKei=)19ydnBm5So3kgEhsn3-NTD;&ylJ@rL{dZ(jxD_Q9%n$K2K*Ti8n}UK~+8OE9ds9 zZ7A{C=M*buYo+OUd)dE=<9hi8eokIQUUA6<&SKah1_4$b^*N^0hd!{~q9G2w_-)Dw z@K(2+s<_~GvG#av}5+H*T2Ee~c|)=C-be=_Qj3robnBr&+``%;>X&G#oM zVNGk2irULBsbze22j$r9E1l_698(X1*w0Rtd3RaEP z5gkZW-26gdS@O4n)XaVF`o&b!5WIg;M2a2?dtdnF5~o8-B|LTKEXtm=;m>P{sN6fK zke?NMt~{P|&hww?AxdYYd9{;x;i*9ELk~4>Xo5mf7*{Y*I{G3ID|H>(bhOc%>Ay%I zWNjaWe8ZIvN5tsL)+xGjwnJyjK zO1$gq)oGVYyGEZA5HnCFP-$n3$!hbtyDiJ9$6{jpwjkfUdkHpgX4bzB^^KyLe)G`> zM}S$6$bF-B8d8W40*zZH;C$H5S*GlNXqdPBC&~Zv4W5v_jc~cAxWPS8rMT&t_o$Mn z@GfI?pD0_ol3rNOD|!a92cLq7FJHE>%P`&wcS%Mkfe)J{>;e|}KrhG15^f%9Cc7=7 z(QvvOcCW7AX3qPvh4PzxdgP>C%f>rT7eP22IjTUclHT<&wO)sHEB{3zU^M?$Ou^(N z(mbVEJ3@IPW<{0Z_Gk!up(&xt;kDWD){}Gp>o!Hx?f0I!92BC!kRQ4}VLws&@Lp0? zdioLFL`N6wT$UVTTXJfAnB8g?uL@2m*{?Y1{jwUY=*Yn-X}HJ=Z&Z5%$~Q2f>?ps- zu_6=DO)Onh&wASJv<*F38H(xn*Ag!M;c~2qe1FW#iSPf{JAxT%t>-g{}msKT3~Q#g9DZ)ZJnNXNja zA>@-3cJN7~w;bdz_10VeOr$r1VDY5k z`=ro2DY$)WEmC5lusbe>_u$We>6APmuQc$#BRMk$17~iY-ut-E@>ao%i#jvSQ7=Jw zSbr8+_~z)lpTW{d*>aon(LP&QhCKO^C$gydt9;^{N&h?o5SPQdPQg2*3pP1+77$y)Q?9M`QezseX0@7Z2Nv_>!GxI*KbYysB zCSl03O9HK9HnY};zxn5y9@#gp{Gu$s3)B5Ujq=xIUtFmr36Bqp=ezQZjxpK=Q5`lP z)6$ZvOl!HY+39WR2IN*`Fd(8O-K@) znE$S;Pn8?A_hJE55wRd;LiOl{3aOcUf@710e?x8qT|ummL2pjs%Ym2T53QiUg)B$% zDlzwq2kXGgk*hT{U$Wa*2oLEqtftwgv?L2#Vy8>1T#C%^J)o4C*Sj*!;ADX)jpf>d zb!8%MSnNmK^Bc%rWeH8lZ_H34!yzsZe~VGi$|`RNL<`tJTYo?miT$Sp?9d`<4?fRE zGREgyc`BLdsbI{AiN0MZLO_F0@EXrJC`+GU!3hbFxpXDL>fv8D!4wm}tScWkDwfSV7k^4qCCA@)^>FeN zSQR*f;DFRj)G?}?aKgUU$fPrqg=U69?BoA#evWgm*b8ol*>--q2r0K*gJ(0zxrUeU z%S3Fgl(0i~wb=_&)(e=PaJ{b_hv_l(0}N*<&jQnkoxJF5uwq{!^Um}4^y(@>%%_rx z$UR^DnJ6b#*2C<8QIXPM5q#rVryXYZ}>t?mUq8VT8aBu5(gR<_P)J2AMk_8T^`EO8E{$AmYS^zyNV z?E0%J$G<63s6X~43WfYkrG^#@-6;pV^fSMb z+h-gTTojQ(Mw4t5SMsP(bs~*eW3j*r)L>&>-L?3DKe?{SvEoAES?%eBhJ-(kX)BE5 zUR8%n$eV41x#gbf*Pw`P4H|Rnk=Pm**P3|XcH@x$5IEjLd)hsAs9G{uv5OJDoU6NA~E*qAl> zjWuMwP1Gh2ExQWr8P0HQdw;cIf1~c*yEpd)DPYm`*6*vAzZpGexI9u`{pm^WFu{OA zHEGyxP|@r2`Srp8eTifg{?Q+7 zeex|)o)+$jhUsZ(FkKOMi_Gdg9TQ1hJ5%v6xBD6X)JRC?9PgaxiJ;dexIA3f!hYDM z&$p4))zPfl{Ji!k?3qtE32sLwJ2|0U=ij~Zt=0r?*$NX4k zG0#taRYhy;m{l44ZHvi=uxhxNL!2pWW?d4^(qw(&7gEcs6tk86{31_f7v^Q-j3V5w zr)X-{bAvLzn>}x8HzmFJCB!cQO{bMlHxkZdsiMuGr8#kxL}{QKp!XIoruP5u$V2$HP&)!>*ed6j>1RZv%YBXA*b_S=VHkE9$&qq zk~uI?oaGPj*9cU)RrYRn=0o`7I}<)=e$VF~k%{36WirHEzN;B+iFqszb}r4@Q1BIW zKm4~l@xbzL?`HQQE8v@)N&u-ZNKnFJDwYYOOlW43?4R@y4!Q>Za%)k4`h8UD zVU@O&z%tI=JmKA#vh)P!9fnx^WvnLKP3$|jc&*~}-!zk}axu{S7-71$8Ae zmZ{1x+|f|0x%-$lL3OAt>!PWt`|jg3v1z3CU+{(x^AFYQ3F2683t1vqFJKUq*XI;c z+ia=!sdKEW3PXB~VSw9D?L=K;-guj8v`zOA4WT$G0 z-)N07hWu*=t84lW$=|-Ce52hgB1S_cj=!AK6{9=G_yBabeH^<9)M}thHvPL+Jx3NL zy|FDy!cGFTkc6*)b~xHPcLZVzt%ARU;9U*>N7GkFMb&+OgOoI)(%ndRw{$Af zDcv2?B_NX09a2hn4BaI#bPOpmbmtKBUcb-p<-b|1b!YC0efHU(*!1o+jnkvzn*!Pq0Yof79@E|X7S z>Ah)3WFulQhpQ27L`y+9E7hh_UE(%Nz{rI+1ai`->pa~hfNll)mT&SmRk4q0V}XMz zP4QiQ9Gw6Sv4D*pQ-1M*ZQy--Gu_+$-VG(T2-T|$NNqGPTmJbDm2t_@zh59Nv z=?5uHuJ)!N^)Hh?r;2#>v6s11*Vqt3ws@qv^fubNEX-Gg`a>@^;fyx6GJW&%tRvtH zLzCYYI>z0apCrN>Bm;={@h7TKBuylw@?40PPxF%7CCYvB?Vc_KhHQBaTWh+yx>zD~ zT#>GWRKjlsNP$B<0>hQTgrZlPN$N_s#`Gk<;9={NIc2gxSn-=%iXCQK400p*!cDY@ zwG%FgS0jRJ5Q-C#b5lP&L}(t%_fagpy{(+t(o10A>J`Ij_U^q88;DT5RT}-OUZ+_UhN%k&mXN9C;qvC69>4v_9NuCpOVwCR#CT~`@uPhldZwslXND+@M zM7rSh5P(;##t<=c5hJ4Dq*=G9Q|)Y(=W*IC35R(-+vT$+dVfYLfgU$hO0qGem80d& zg-y}RDXe|`R2e6Nzec&*pQ^(4+8bxje)Mb%y>r3PZ)Li`2`Fd=8?7S*ZQ;ZgiMA{$8!hM(`c$i-0kv9uZ`*iP)yLq#*#mnVd)$b7_z&?MgO# z>MwWxajg|27@x9u*)1dW?_-PuVvhtGTiSju4OO~g6&m824fuUs?J@bd{_bbGeMRZ% zYt&VFu)3ErJKaG@^gA20W?->Sq~*=4{z>bC9hjfs5Q|!~6&yFneBP(EK)8K09iJiMt)>ZS5_JS+_ol8ZrYgY{Abg_XjN)=-jgMi zmLT~h+pTUJa0oL9Elc{KPKnwxn>m);E%X&(yYKX=JJ%)A^1<)iv23$U-*^kRxtCh~ zsjGniAwU}JS&ol0OLdgDG*8OTunAMfgM~Y^443v-H;APcv|E-sq6nTc2ucJrx{`9N zGHQ(>YPnIxQGT10ah>QxLq(0##{YBt<#7moN%2l}4%gxf!&d{@$pL8i9o+0CQ1kx0hbmyVlHrGe-mq?ysMFZ+vNq6Jtq--ocK|+F7oFD;eXO^hA@nh%vIu)fm z_AK-aBLd3A6)W}6;3nL&_4Uy@makiQI91Hq!)HlICvvy@T&w+GkZl7)-B&(Tvy!n; zVTUb!IVnr7?vnIQn4ym0SMLqN=ybXyEYvM4b5!al4c&V7W-HMT>om(ykP$uko zV`N^TZf~mf9v)we{sn~xC`)uwnnMrY2%eU-GrseWAsB`#+?oajNwDd)$^Er)&66x& zQ*CVFRe;!n&^s0xxkfDU$33FYX+?|x+FDTh&NLxcrTu;`=Z$MSHk){{t)5C6vOnDA zRRKLA?zm($3*JFIKuk(hM7fv*j(NPf0|Yr0|)QRf4DJALI%gFO*mEi1Ag8W;5kspwn(sn#@ZcRgP3M>hc2ya@F zO!*F$)ROW8Y?c(qpHm4QJRl>_&cCUX%R_u~OmF$#T-i}Y&PW&tKgXNkIkAZOy9VH490gP@UtY|Zb)7*y2R4n-N4YT|7%z>KSgJKXma~Rz0{*+glcjk0JMHWbLUjXyCB0YE8WPDL9u37p zFB?@tX(nMx!<22JN}SpU!?HSj4Oe`m1u7utt;^4OJa~zFleW|zAP_`h>=J)vNUTAZ z6L*ZxF#1|gl6~eNRhp$sO8m1yIKi0FeDo9ISdlD);$sA6_6H=WIplM|&D>wJ;Q225 zrG20_*fc3TozwH4Efvzf;IQ64*}$J$M)(@cZecl`&()IJ8MTe2_^jEGFoIb7r;eDF zvmwuckSSgy$bQ*Y&r9?1)sRe>&joC1u=U#rN`sYG)AU|ArYqee=>%F9%4q8+U`xDU zXSfLes$CH7z%V7(n=wgy%J%T330s`9eVx2bRS`f6y){ya-ts-E3XO)ld0;FoF?I*V zFYV*M$7P#uM3aR2Xg%PQD%o_1V%L=#o!FpyC=p^daF-u0)M6J@naD1QEJMp9m_cGC z>AN@2JS}h6le3WkYPZsYF-Y*VilQ}J*~od%Z^?aZGg}>hO09fglIuwsx6FPC_fy!` z<6~P+HK}P^aK(3fA2q(XRFPsmKq(C#k7GC_vw}^dO&vh~r6&F`yi?=1*&?cIIWeb^ z+HPV=e?+#H%XI$XGNx-DI`8!ivJ7Fy)ko643hOzpn{caX&se{*k&;}2fQco5a%`eG ztkN&`Z8ef`c}iQU0`K^yZ)BE_Zth4FKxtqPExAvwYt6HGuZ4=X;*#uL1621FMsBV% zfpnWz#4%L%$)UdPCw{puzVYYV*!j}t>)YFfRT>HBwXt<6l1^`%ef{bf`zuZu0`70` z^rNzVz@CR(Ara?mKZ_KM@~wPOcT63z& zZKz%MdiOpzF5+5@`#izg|FnjkB)oS-d-g18bns)WRW4sEf$jY&u;dDVPZ_0?*xis{ zgyJM`(VQyFh+oz)yF-KSt?ok2WL_GJslSXCWeM6@l#iZcidt&IdY6fKjk+I_T{bY@ zv#)Fx=Fe=SQWr^M#OfQ4aB9`qD zMip0d?*;nK+q4|J$QZJb+^jM4LKKFSnNIz+M6Aw>$aeUz0n$I6?%<*OeEkE7$wb{u z6L$7?Xu@li<{A2L6#7jot_C$vG?&I!or`cC%*wP@%ioT0GiA~}yBAFVSJ>*Gg60Ea2T9=4m34P(2y6Sk7{3^Ulumg>Y4U)7eb zh@;*MELX@uzOP&FSKzubAt@v8~vvR7n&XybA*IMW2fL-J9pZueEQ9yFGrQ#o?q9HHwtEH$o6G28@6l~g8 zAv@e78>>|0L)u_7DYZo3Ah!N@T{ADzoL@r=;J_0v3(}7#$oRprdGFdn=@~1XM~f zwk#&adnAB5>Cf=gl$kB9Z`Z#Pv()~^i_`6YYR{zEM zxYA)sr#P--_|_q@~KKfL3Kn41m_`UC9@Gx3zkD z8jIB6UI*M^6)5@TIU0F7G6${0X;czFs>-YIT{`EIkz4Y$iUS;@Pf$+!V)dJLn|6c| zK^YtSzqfOjk7a}H(zDw-Z~wemVRR8=)NvE@k6_50UR*@)0*a_s`gYe!)QvgNIGSkR z-JA#!+`p&?-ZZdqs0%rCnh?Zn$)J5fIwbxyXo`1SY`h;86?xl8rAHu zc8t;ySVnIrLmnBIEn)aEDHM&DjW4>`MVR)xT8`Jm)u|eEpLwRI(Y&|mbXdUndvUj+ z{VbKXjF%E3Mk`=5y-vQb+ADM``&HEV5{<0#m>DW#Hu@Y%-3&jJdRxs++G6tuLesT- z=}z=Ga??)x6;>6oP&yV-0MnLv$W^`ap#{t{?+DWkD9f?EPMT{VlLtbBo(G}h`^41>mH&mq0Y(CEK1(#cv*Xi=QN!ILlcOyK>2_?j$ zp~3{tp7vZfCbd56D^xYPZ2H6E3Qw6}8(ZIxzw1A$yN{S z4`ek{UHI31l^P*&HUm;(PhXxNTget@a4FI7$b!KafBgpj>X0#MTK_n(XF6N?wNR_X z;N6rP3V0Y;qF-#?kA<>|1U*ZGOazgof2RBhKlY#NJ=Sbc!EhvHfS#EB!`1eV%rQ=C z9IWvdh)#qO&;Wi+9CHyax9sgF(92(H^5psK4Fq+E3ZE(Q0Or=iS8Pej7(r-<-8Y1o z79I8JAez%WBRL+bedmjepG`*(2OF#&*_|0n&d6 zDuLv(!JpxS5p&56PwVU)6NhlnN5^j3wCEG%JJHB~?x#9$yPQ?5QGCQFVjxCRw>y2S zkFAfL){@j?73+K1WcL~FTfW|8ur?nf%6Crt0#M%B;F5_*=EeGNf9zyZ#uGpdGJo$L zm`LW(us1gFUVms{jpAo80n3c_r%H;utkY`NX)xNI%3J9#$pbr>=owXsvb1k$uUn_N zn|4~J+0*d*OYS;ys`YGY+gC|FKL?M1Fb@R9(e{l)jx5r+$iUq4`SgrWC)2ULw)(>h zacfJJFQ5;_1a&z@+(v>&==;Mt+6Zj!nX8SuIPRSQrDjF754vwU45;~kt5J$gpHD9WjFOt$oE4|w5aN4xy< z#lo=7<_%^De!Hl`v>SM2E>IuoaflLpxg#?+r!J_WWhV5Pix2na8N+`9El{>_)3BN- zWz)GBU{!VrA_NkxpGKbT^mUU00^lKM)Hf{{ZbHvpx{3`am(&1bbwppAi7|z~_jXP+ zudXU5OofbeTRwxsiL9-^E3mEVx(U1ltMTkb$E_3-+_Wa1#Wd+{pg_Osd%2Ef*f$5c z9mQA7N$uo0%PHbVn&sTU@Eq9iiD7zH(rXgr9u;Inm|c2pxpX2whIJ4-KhRug+@Mi> z;?x}!^871}g*rw}ncTPt_3+$*UL4l)Le*$GbnpGkX7*`(AqRs``H_(ytZXzm9`kz7 z(LQZOVW8dLQXPZ50(&n_vea{&+%m-8Ip2EFC*)znQm#WAc5>v!>@^Id<=G9So?7<) zu1D4g*Wtb#-l@_p+z?$^9%Z`rr#QrZ-u)|>Cx&we$(2m^9(p3WwZq)oSKHe+_NU}G zyYA|M1T4JaDNT2P5l{YnJE=jxz%%t`XzrSe7zHTs66NDr9&2Z)DeqmqNe&P*vRvE; zg*cn&?~1fUY`J1{M5TBgkZG#qS#rSo5gXp(3y>)+9!EJIm-s&Em4fRemB)J1w6?-U znr_LK`50$dAUnL6Z}GDQ@yIWcT^kU54GC^-ap^^Z4z6cHkhfyxZr76PoQ=xb+L>0_ zU2?{@Ke1;O47`vGT_9#9@!YaaJ+2(9tgTLD}ET20$6E-mB9pf8ZVL6aALe z{BPq9A>*Jo`;lx`!Psnr#B^zjyNS9*5=J1Iy-d$a0<&Bw)NhN4EiizV+}ob3>GORB z;iPcr4t6>+_W3%2~?{y#}&z9tiTu-&atP}58!wudn!B0D%|xyoz#2eMY4;mP~5 zsKu56ac?T`Jv?RZ_3D)*>V5kPv%kr8ccTr5+#ic}eFHYR*vZJa0ha>LN~1>PFJBnw z;6L3o2BSf7>H;%|WTtMvNmc(<<}D&DX*7Hap`{FmD*c|KwipwNcPmTV`|r&EP!S?E zXv-TB{pqbTmt;qK>b{w~2gIB9FZIt&s!4QDm@-tJiQRrynG3D4Dm3VP&vJ0Q_>HN` z95CYoBV_>2_>6WLZ*-{E#c$ekKQl{ML@nqY5w@@?r)skMFXkc~=~lG#&!WZO`#$qhwQ`^lmDEr*zb&7PUYh}sAg3(M!#hWWw^W(k z)0m6cf4%V&t^+v`{!u9J(?c&=tE@j3CoIprnP!A6gn_Dx58mr&hdqQW4htqf zkz;Ky!ogxHw3z;CYt}aB`}40h71C`d4oaMl;!+F`UM9I$^P_l6h^Pu|wkk6fo19g6 zU7n!l#&2Xy9C(44xb!_X9{9z7I7xtUPKJC=DlG)`0co$mo(?EcwZQm9Gr_=>Ep18~ zqDF|;qKtS9Jx}l&AQx+%qEGziK!W~dP|H>S)f}xV6J7JE9895N7btF56OUT!8w&xmd9(3>hOmoSrBW1D9%sde6e0=A=N(<1uu_-4;|LN^a}hlBPA5kExHGhk zQvXnY7VC~Io(5g?IgnDWNHL+B{Im^a@5!{k9kW_ppTX~E^ZMCDZsSU=0Pn+EmRldg zTJb6%2=x)A;}2Df_B`Fxe`%RmM=Oa49l5!A?=BQ=nKN#k*Mac**u& zIF|`OSNSEXA#1UBh*MQ)96M3mM)cQaA`KGvP$+xBcJ8Jkzo*>Jv8Q=#m6*N<5O!8S zoS<0kF4q1!+%MVi51y=tL)wfSUaxa*kTg|Z-Kg+~Uya+OamcJMWOaHJ8GJcJJRX#N zC@`RDa|A*_(lK}fU`-}C8oZ;fBW-QoEIK*8YcK2SlBkmvOdiT1;xi{!;t2=}ozJJQ zS)Er}G5Xb0nooI>AiBK#H`HxwF5%-i^&1Vw&T(oeM&iw6z7h`uoP6l7(*X{e^_c>io>ML^UZ^~s9Wm-`L-R3=iRFVHzx&h<`5348zgHjX!HxR zm(oPrhk6QoMXDq9iuSu{V}H$CX?2L^e)+G|ld*Xg%qv_V^@3C7O?+mElk}` z&c9e0_cwxdZs<$4vk3*JMD#s0n2Y(ZhA+)vL;%A$%Dp{!okw+E2&_g*D0)lQ%0<^i z$rZ3qT5#FUY{6b;v9OQPBgV;@AWiBkSQI-2eRd{Nm;tzbg6I)sA(t-HHos8RJE3aE zHKu`d(XxmdCq`vnWUp1G=WAvd_sH~z=jP6_xb}#L7z}HEQJ7;L%mjQ^iS+y7Y)@Y3 zY2LhXXiAnF0J8ji^t}c&<9srv&|L2n`i<;pmps-ZMR#-wwnyR;&L~j zmSmdzILQRtoAf8^$*yUB`|0vd4Da1-)K{U({`-+`JFHMS78BIYLQ7X=3wv6d^HY^+ z-#QciN#(HYIBy|r6t?+VEUGVY9FW5Ssd0e?{G<4OP9qQSiwp~1q%~|`g2t9*(@yM0 zWEu-S&8PM^iF37Ri3XVfhh{rh$qc^u)JJm;ZOe9VFWCvKv`(9I+#pf=L~Txh0hB2J z%PaDo^|YhfrlbNUdhag_T^C9QbUx^o-edy-1(D-hVe*}6K&6r~F7nWNuXQy(+%X_Q z&k|kXmXKabSNyAgg@xp(q!(SCjiaoxq8f5&F!dbLGSfid`FR&{LfA0~wfh>5aq%-H zeqj`LRy+!dJO~>K$Z@$)&v8jm?l{YCNPOublZH13D+t%ir>(lW82A$+e*K#$7U zL@EbF57^g)(~YLs@W~_+1H9LuD!O5+LyI(--b?ia@?-xJUN2Qm6=!FqeRI{dj`qY; z;wDqEk_`%H73E49k)kEQ8LU1S!mLm?~&eN^AP$e9g0Fkm4pWtW~90Ftf- z-rTaR)oq$QMvn_XzYj}|GTYWRrr0+Q{o^7KmYYjeFoNLX1#0==V_(RpTJ8RmS(r|{ zdb?g`%w5EY3`k(kLQ!^eE>)-l+A>m>zOvh^h(Dz;3wH5zIO&9HU5GMdfe=0Y2re)@ zp586*hyzawzNtrFo(=ON)tru8FBS1n-sBjb8o*g6yb&r3KSeuv6ij%EH&QE=%<%q| zP>Y2!gnFN?jz`{*Ku>2p|2|JlN;$ziPM!!WeG3H^OD{C!I?Q(jrdwar?kY$;uUXAQ5ouRoUogt=<2%tO z7`rj`cSzeppME6W$yOJT{jfl-W`n+>WbZG&h1k=MzWs^Kf_c>fjL}RRH2mB_U+W)5 z;FbZUje<0W%N#$9&71M5USyxJDB$s&QL-iM2W13y+WL?s40z=9tb4e>()C39k4>QG z|2>DvWI2DQQ_w~}p5MkiNS@SO!&|>iz!2+zVKjEt>^(P*8c(|82V^+~ z{nNuIi*8<^AINNBJ~*P~maXqLQ|WPhwbLcw<^SV9H#C?gbqJr_+21Y9b8|MNI*n+tZQ^*|>Q6fbE-(5*&=2PnDCdL= zDijKgSy#c_rgPz#gcVhmhYOjVae;_>>SK0(`HX4e?u~nP?uP60cuvuUor5x7TXx*f zTiuCa(oP1#Skjoyg`Xzt*4w-I%{n_)IC;CARj;W>hvlI*Iknx`H4qJ zZ#Qv_N$4Z^GG-hG;p{e86B^qdayZf(CCL6LP^pLXsibt!Cxj65B!?l5p~nxq$m*O1 zCx(DLojBvXBq6Y0MZRsgq)8I;g#wys|D7&7Cv)TXhtT;2!F7vSsB88m^VKU8U-7ik zVi14Gdy!>4N7!?M*9}Tst%=96=(yyVNH}ILZklDZZHFRx_$kObAy9s|e(d{;qw-J3 zf(&~@!Z&ld`CJVuXG=rw{ynb9igjH2FU-y#-kAhF5l5BMM+n-#4ScdqQK*YDr$rSm zl+cgsh_Do`DGKwwycT8!g0+zhdWhq#ZS=5Z40?0Z<>wWZv@o5t0k}J@y(I}77|$w^ z;Du+DpIU?HCE4Z7ftNa)JNkTh5zne@g5=K1w{3UjHgH42T*EfQJxM|>ofq*RXI%wp zw&M)PtP`CUmc)hrdkkoppAEX*u+LvlfuOF=QeZo&^Y`4(dI{Dqd(^8UFren1GoH6p?}a0f>^S(e(9DphxtxL(Kd z{jxl5-I(hpDBd$+jb!T;k?`0s_VTN^(n9U!RAl*xHADJi`l`yBSl=4}DWW!7$fQ^M z!j5q98>(tzMN_qfq3IIjxJGPHZyMrDM*LA?l*WztA{_uC_vUGmNYdu3)|Tbd%}QC&)YvSwQWD2#H`)+{m$=sC-jO$@I{QW zH$sV*KP`q5d!vb#MZWYPL1mNr&HkwlGQjSgkURiNn769Mzb|u@?9zQmLT=nhmyLdf zVEJBkZ%a;VRbH#3EyPJeM{r0zGQ4ibNsHT8DK- zj?EBALjs&mOR+AI3HlcUzV#PF(TZdxLAUt)Wz>Rd!<}taYoz{)V@26OBQmy=0)vjh z{d8~hVOxd6-GU-5S>mq8WDn?vLy0U;08?JcfJQ_W_g+Lum8e&^14aQNE}@P60iavb zh+pyf-o%U2yNYc%+d99%m)G~|x3%F`^;2MxoQGL!Hn0}bgT*6Iv%+B6ZppP2;E<`e z(z-(g(cvFn#P?fl(2BT_DQe*G+WW)YsDAbJA9|dg^x&H@sVI`*UtXT z?w(}mR2~$2+>WRlk$Aj%{fIE5^yshO3-LjpNfY}1UXLD9-(g*>>%t(vDbVy5T!}al zkUdfyh}-&d!99h!wRCy^zUMxKhl(^NuG)yLlpj)I0&KqlFKT?kv-XN`Ki;`FGm{zF49KKdFj1T*YtS;_{+UP29brQ8r*}a!UQ%qXh5*kBS4p~0?{@aOZ^$FY{_TeaOa(89 z?bcTUn)K&y$NaZ%m$y%;RM7|?56a_(hTD7LH3ODkLwv1PXs3C*d?e9oMq zMzdM66sC!iX1iwmtk#>c&>BI|HD+(8=dlqtZS#VGo(Ng|_3ZIVtGhNph-0tZWxk3$ zZlxjlJsFcI3(MrflpT7bA@;AP2_E7sk@XLV!#Ho-%(KvKB8x?pY{oj1y2WXF%ZOGK zrl8Tu$@Nl9GHMQ*kN9qzo(!(#xm5TTJVgN>%1VtZ^OU`~z}YJw{P+r9`R$SM@7+;C zyVNs~q#a^^1Yn&-i&dUK9?e567+ z@e6J}>&*ewoo*OZ6Do45-zG3cbbiS#_$fF!#T~M@OgEN1{jfzLW^wTwJwK`W)gkaL5<|bs8CacIC))sB;SiXgws632w34sy^)01 zIV$A2=K>{ZChF~8;ih56dvpRM;a$_@{!X#G#}{x3vrH>kNobDi7tSOPLrbV>DM9JV)CHVXR9I( zE?IAZcpLVXdR6vo$!y4pV*(Wq{q2ELCzK#tLLJ_i;-LQP?Yjdt%C)?&vwSc2d&kG9qUPfJkrZLy+q(qV3P4G!>>W3K(zW`Q;2+ao$n1^76vkoyTrO7lXj zBX`)vkPBjWvt0mL9%ZJ(JJ8!c2ChsG(>3yD>EdQ0>G{s5ZRtRiQS9W;`nd4 z$c83A%G}2DGJF<>L5`=4^uLe-W(u=LI?6S&Fj|}!%Tu1HLmNqrEo1pC=%8fN;LeUl zWVez54$t+QHbJS-A2?SiIu8K~u^UULzF5h?<704aq8LBl3JEOkFQZ~?dtKMWIVuAL zhdqR+s?vUS3!?Kuc<0Bz_2W%WH*rZ=vc#o(!iWg+v>xW`V{@P#Mo(p$%-5kcej1gB zUH72p&VUJo-AY%966Xb_rbuLW0Im1VYJWiKRKM@i(KhK(qvR7!Bl3ZoX}aXS?VT9O z@`nkE7$MBslFlA)CBRT$ftS$!)LsI&L<1xN4Sbh#lbt~Ws9&Q)JtaZjCPUg1`RyJq zLmmj6ypl&eY2pQYy?2H=%$8y{$#Eo_)9XGKT<01T$e4E`Qj*;IdyPhNg-BKSY*}GM zh!~m`-gLovka6?O0%F|g%E*1|K5^fWsJv>iHsLU>q@gx*SP}bJT38Y4jNO4}Ine{X zPU&SZYSzWcr*Fac9>KEnvq?L;eEwz*f%ts$x$N9Mbb^Wuk@kn?72O*us?p#Wg)w~B8Jp$>=+WtwM)gS4e+JOHmrFbX}E%-FJ+N-Cc z4nXF_BxN`6?H)Zks-_ zn|p`!3ioto(CrL)#7LWbX8UC>bCGqH+3p#DR4~j-)e|POovt_&Nmguh#vk61KXoqe zzsMIiFDUh$q zdu?VA!<+#&k9?L{Ci10-;He$}n|t#3)oZCx%LeTTH58+?lmyA-a@P-LJGkweENic< z`}0`pU6#6*16GiX$$WDx<>@CT?^&TA>wgb9J?J(S3|KQgO+g$J`iBn_NScN886F8) z&=-fEt6#bHx`|7-bs_$(!EG8lM0FwO0EoF*;le=WVHXp;#K~TBe86| z98p%E^9HE^(5s;TL@}mdk(tcyhilH^C>)}r)st0lcMsqmam$M+xJU~`N*$=8>c2|7 z3zE(dS%jj8?T=SjU;JJN+>(_oeeGm4T{yaL;a`y5sRJx_?sIiREwtB`zoq6kXC*$g zj1=egx9)X$;iGekI0lD=gd~?;Z>j$L<|y%UZwOIMbG}IbMJib8QAKMAN;P6N+?8-5 z%obu|M!%9JMc+K3t}=z`a9hPJnDqQ`TN!BKySkd+CE$Okxi{TW%U#KH%V0HMa=0Pd zoM{H*iPs%3ewH@rOEI&{&S`=G4U(unIKig7-W%n0d-}(Mp5`!Z(p4Qpe5)P5o8QQ_ z6;s;iQ()?4dlOKNLlfe~Mnv3W2=QDJ{6k?K4odscEHl1_5AA)34YhASk>?fIL_2TY zQ3MKu>OQjuZ&6h1n=$9 zGg^RJUQUT)es|=N+IU*hF)&|403)E1=7eo*9+W9%_s!*jD}b%qIW0vJVbz}!wvxB4 z`0Y9KEj~-b(H8$Hh^`X*ANF)Hk*6||VX;P9&(LWCh+Cn#{(l}+2h;-0|nlOwcX5HmYTof(c;CB?ox6 zJk&xl+cw%`E(q`Fwna5PD0ua}6;{143qPPWypzkh2^F<;`wicKxj0V9-#xwPG_h0y zXab~DRnITU{q0_jAZ|V)#)(CGeW5>SvM#RavAgk!c&-29qw0svlavzsb63TW_Zq{e zDG8%qAkOiKTGSG9W0uMx*vJ;p%{)SQ!hZ#VR3B#7w+DAI7&_h0ec7)qix}2)?a80@ZY4^ zKyCYiF8(V5=VfomA&)}a{{%)GMZvxw>%Ls*ePcgF_k7gSTZ!W=^HiR1+{N~m)pVH* zY5#ojJ4{u)K66Bf5FppC|1*1jvpV+9*}45YaO+F>#jghyO%@`(_%>2(%zb}_S&~dV zZKMZpb4{>XxLLnL6%Jt#i~&G0-0%L`UtEjKG|F z-ejk!u8Bct3F}WF;KLA)aMNcHG197$)Ax)njGj!ORkSl_$ApuWoZWTJhV$;K>$*AB zkP^GB_v>oE`C3Hk5!r}rzgI?Fi}w+vg<5Fs+6|h7j$SlX$FKG_jh0+DIwRrkce&Tk zmtM$%;Yw9dYC|}E$`M0kfl(>^v}aDoWx+ zZ6YBNG3er?%;toKnArJ8hnMdKHotTI3xUfhuyk4(SdPsL>_RGh89s8-ZE0ZA?0p4i@Ge5a^qTNU0>)_N=smn0fo};XAA=&{tI>3&qgSkcapE!8!kNTf050Wm* z{?lqzYBAhA4#1#S4M1I;g@=(xx<;>N1(UofIX#-C{>Fv$+cai-HrLK9ARXMv?EQWD zmRs***vO7~h5ve_Lpa=d=p6TKge~9eS+a%dBN(4LKvnDoTWX)F?@*;a;8Mj~d{quU zC2X;FckO~v-TG?p)8DEjc{}wy`JoKKYrjbv(cz%LMXFP1kSsE_OQ?$huWR98m0XaXYN?c3W8awXsbVf`P;khMXVgXfOln_wCF@&#ET zOKr#52-hxt?Or-nj}5}|R!agG;*K(z!5H8_#FP=Vyg=Z>*+()&1FU&vfrggHx`&*Y zoGP~b{KKQ(r`Lwo011!$E^LX?w)V4%{*wQm6%CLBs27(#(I3e71PCd07~~rVZTO9Na7IMX{gEt@Lfw=9O3n{ zbjH+Ats_FsI(1^COFkr0W731#WvL1mp|IZr$d?upVtFHZo3~R5tkYPHvCo)AKA3L1 zz2TR%u1M34VClEFw)QJ|mwP&duxBDzF49ww#rG4HN&V)Hz?TJGYfEnNnhROke%~{4 zmae+OD+8~_lVMVC(~#+eb?Y{7Jy&47?%!@m7#y}Z3b0R0<d5<&HSFjQH>P z)klP-&rRWqV^I_L2PSV7n#Rn=ZTef8+UC8nl_1n0d<(pD(o~x4gNodp7ATz#zW&p; z`PG9qKOjhFtgKU&>4%{)ud8$>%kKDto2>thjcb7n%cnw=wej^F>- zZMQ7W*N;ChZWy|F^{m_X#~r>uG-%PMEl;;!k7*GZ{z%>N0*ncxa8g-oathffK2a}#F=kFP% z3C|06ogo2n+QB#$dc(dpP?O(yi6f^-Hb2}Y#N&Iv9#9W=$xLfuj=>nWDYhY_;?_WL z0bw@uo#wBeAo^(XQKgkDSe6u;?8LzUe((aQsf@e}`2y{~pX%{~KKf|xb=}i3@BhvI z2?;mDuT+U89}o(89esxqzPB;(pKs)Qkrcm9{LUV*{`XQ?pFVp#i1r|PE&n@kP%qPf zls+3+|HW1OD7UJb9=jWtKx3@V$VqP%uBW)q3F07frXrIeIA9Te1>o)J0e^U{JwZfw zyIB*fST?TiJyeMe+*QUA^!?BKtIc=;#{r<*1u zA0o5GleRQrAKU*<%>HjH{6vKnTvm2MmHxezluo#Z1Ny&8=O3yMM<_5qkuB{Kz~{`$ zs);ASyotB?Pe}@VeJvnZQCs_-GRX9sOk(y2x&tPr@1e+q8hAhQU%teDW2u0lKoF&r zfG8D8hltKyvxkA9AV>5T1({AE5s}O);sZbNwVb z=>vMeZZ0bat##hc8l3t~`X0h3Io2AFOq|zD7gJNf_Wl_({QQ4L7y!bln_kd4=epL?nJe&RdAHhYs^Odkz>uz?w`d<59dF!dmOaSEFdc2b1 zznqTMSBvh{<2P(rbpoXx+1kQ2157sd}ps@bg01GEpvdFvB|>l5DKU7 zmkZt6jRsrIp~-ZvV@KFpU(%=;DMwt$wp$>yg9PZ1hycck6{1w%!WyA6O`bZuxX5%5 z1*MlQT$Q!LT`qP6?M~!*CPskX=QF&3OyS&0&i!a=@^+VB<|op1a{(ozayOAxt--mL zEUWz#=Sx2`jP6HO^C|HiA>};q9WPfiTCkUmp`Ji2p9Iho{*QsL z(b|tmbQmV-CVhj4pWp6-M%0#@9|92$iF2RehM|PJL#a;JY- z3iMT$sUBgpn?Tpc>9QIbI-*-0jJoF^`$FA}61@58)8Lrew*MpYekosA7Ug5nzx`gi z@JwvWDk#)UjCBo{9KUmO0h%d>71wUpiFPKRxBY9xEwweFzn>kU+7kSMs*698h~rSO ze8=4Td)!lOCgkc4*tQ6LzxTwZ?ivgwY=nnpfQRQXk*7dj5ItPMBsgQy*2f)D`=))x zEgz+Jl%YVQOd=BHsxo2|(UTEJ#QfJD&vp5O=?hs~v4P@LK*+jab<~(se^flTQN2F` zyE=^woxCB3U-|o4s!TW{nhM&k2o-am7-b%!siN(l7Sg_U2j(TOINtA_(;r7vnIS*# z@w>lBi&6g?okk4)u)kdVIEW2=@c2HMj>ZDz8QS(mpjEFPQnsH!J23mGs#i@^B@pXz zG;`sY((E1h?{yTnCMZ%|e?9R*JrmL{H+H9NcyEB;8WTWbF|WAQGwGhy13sUh+=`AI zEq$jw0W2&n5@n}hb7i4Ue@0-e)usg9EiL~DF)knx`S`NkEGM^jfrWY(uC8khb9<{b z*M2w`8p&Fgn1a;X6;Vvzk7x4P7mf;EDO6Fu!8XI(qvE;P(8h6T+rB{<6z{kpoG0S! z;HD5wgP;{{XC2yzR>vsh*)Kwe0e+QbNTa<3WY93sY4WR7ql4XE06 znW*~2`OP~0@HaTF37j{yGNTOsQF3lmYo@kV+Mz1zSwnx>J&!f#m<2)F!y!SUsE$F? zbbm6nVO<_#4`0As{bHqXYe1mawV|632mQ#Sr3+-obTz&EjW5OgI@qM&}$ zDN)T4?zH)T&3*Svs!@;ussD6v0Td2AXG`1m=YRmrpH%P?*0Y}am455N0kYQV|Y$Ik5@zj18;ITy8@ zv3J)K^?Ii)4L06}WbU{b+|LP*kaIM;x3AiF`^5Vf#@BhBfHS%^9~on7eCY7$d&0LV zJ<`ONo%Bl~(Vy^oP6k6sTn;TH7~sYGyZxL9Ge6lI7sz<4Y;vcl2kpHKVAS;wTkl7d zO?~jt4ya54CR7T=bWK_An@T+>@;G-cz6}+JcemN-bPRTGraTi6+}@_$ zu(V!LDb0bG&Qm%~p@&vaFOa>V>Zp<>KW?p=iE&WO`5m~!7)w-_Z+a5tUCUP&c z$K59Mxgl|PM5Wjn!J5JNyBVYRCty|cr13&PlU^IOLJ2nEMN}lgGm)6dXt^o1UR@s6 z1sv&~FGb_bg+Xcc=_RW<+b(M@X&hwA?mPVU@74!;s=ogmCs>!2Vok{d8ip_4g@9(M}O^UsLpY;yszSRT}b*9{aEbii6#DT(Tg@n!CY; z0?N1Fx^0y?RSuk0dKKQ9H`c+N8}}qv?T9jO(!~GL=XGwMpdRvNHQAF=s$et2I@}-T zX1J$abWY`{W@WeUQ)(gbAdpk_wx&g(j>G=h^S*B`5?|~M(;UnaGa9>nj+oWqZJ*_$ z?zmL~FA%r|Hph2|Lql~s`DvTRe=}@V2VmfC=Dwb7s&DT#sFp=kc1NoB?;ySq!?SYr z0H;}R`8i&_e@{fB>b9jBBQ+!TASAR~X}&v53$>;eGPR}!-%;@G=5*9WxB-MWuGNp} zV?e!K5Y`WwF4Rg^>0vR6~ij5pRrry4nIYdUuGdK4{JD zMNNIqCRF+z1-_#2(BsGZ0I=_{e? zW)Nc&?r0V6+qflR%Kq#Yen-ya8L~+9@NrU>b&Ez%q{w5W(j#fdRejS~xw{$Q%}myQ zsXKR`oqb*`ix0)V@+nOKPL9tj427&iyOW<+M=xwWW+qvStO6^#5k5YXX5zx z?xV~dUmm(YG(`oSJ1SrLOx$*c=i;`74t{q~Z+dEnXolOeh0%CTm9?Yq1k(VZbX?j1@N?R07V%Y?>rk^WzL;uP{f)Or49+}Q8#Pqj+QMduWqk`-+jK0coR!>d*6lyF z5aB=@ChlzwhZ{OHkfm%<6qC{@LmmFRj?~ZduUvto=*$;5B!qi>_5p&2{EM^0tw|C6bz0WGfNR_416q3zs{~L1 z&YVs(j2K${QQQwLU%(=-XL`9ayEBceeOgN8vA{XvYAUcdg%v(;#*Jqu-`Q-sShOuz zJQ981n2(zeq76sgs|>O*5iOJd+l;n@V=-czIrUFDe)5JUd4E3OHO?Z{b-u|PcFF`z zGv`JVf<^8gmG7~dBE1~nE%F%Ansus!8Bot`1)Wh?yCG9V9)Fk6ZKr?eeAn1KKa4!U zEt24kNzMeoO$J_)N$l0lz%)$RIb=)ZzWbkZw|$Zk;4{8pA4zD<>!Uim5WXz&LUkQhQR6L!1M%t z-QnNKCN3DCfoGbL;aSfwd|mV-Sq4_$AWDc#SWo?vbf^6MDg2K6-}1v}73E>)NoplAXfPq8zep2{l~a8QD^hh=)31huok@Z4K}x26ghb-Hn=5ph8;?x(wD4nMw*1#*`;lIcDLwJd8#&jlPPZ_SPbheQPU89sf9YHE!)vS2H?V?D zLG*gtdwCgHW4fan4UJr&{{#Pp6`}Rw9$%H`mXDpCtxuOq3=piOIEYl=F&eJY*PXkv zY)K%REZ{H6dGPksWS3*bW>}eZz}x9N?eet#03TJ_=-!qUkVMwV!uEAUiWt~#@%1VQ zHghp^z*iD-c6Hz>$_B#c_1T!&G3#%9vJo~W|0(U)#C~<3~@2 zXA6#{_DII5qAW~p!8($E<_rWXilEy~Yy~>0&ZuU!)J} zoci05OEqiMFw*Oq)D zMCwrmUgXV7>OV|oF2YziN5?~s-S6oS3dvA7c#CV0r;!i=v85(@Y$~RUceB&l`!wIdV-U-;pQ6Hq$7cNKjHF`(c3)M1-R|AQRT^E0Qm_$BTyO`dV2V_z0 z+*}nyWxQx#(>V=+m%gzlioS4rZ>)#b`+Yr;dB#svS`RUo-7!3=-r}WSxludrDJ6@i zs!X*w3J>&ddsfTX$*HN{NW#ANbA{w3Y+$91{}XSD49)mW3W--o9QX^npWbQDVIA}t zVz-?p7EovhNfJC^k(nCyt9%1ybH?c6Zxct3N*2cKt6QQgnV1{bVaX|g{Jf7U^{BKx zX@GbgOFoY2o$46Bgb%M~50YCTUMAn@`_!|-WVVC-+k2nmMeQ*kB5FHKoI^i-qwlHm zHf&WxbVnPtj$~QK7$uy@AxR-nGOcQV;Ewk?fV8RUxZ$jTk&gN-IiiM-cH?BrSX@lA zKPTKs@Ji0|xulwf zo^eaJlMJI0vXzK#^vs4AAzpVHr*9a}e{4idv5nA{Lyn-CPEn&96Sze3VtsN!)Ovvx+!2pQBr{JJ&X);brhi^b)5H9v@Qc z`0=Wti3-)xF!s%{=DWl;>aK~cbU8aCr-87l)mQ)M4RgH?$SiWyZ~^KXwOe){Z$uM& zvctw%5Ul{BzStO$hQ?CVxGx6bGl?;p_%AO zPQ+sGW-LhN9JkOqM^?Z10D5w#yE!?z=V{q2B29b8G0<|Z(?Y{aHUb(N^<+g={CBkVEhC4 zjj@UAO2i{c#ChbZb$7z0KQ*OUUI>W|0jx=>X%i+$Hp^mfR#4kYn=77f%}2WjXU=YQ zZf@0W?Pt3$4oa|c)Tmp}7<<;Tx<_Ptx1#x5OO5(DK3Lw?eCVdUbyvem#K&vvdT|J_ z!wKCJ>#MRRWcjQ;vpCTR@rN5JPQN+QA_kKds+ArD48s8Z3 zNmx6%AK^CHminaoW1fg8PP zL?ZN}PYPOxLX}Z2F)|D&_1-<=XExTenS^;iS+E-o>^MslW zk5pHb01^#5W+*8>P*EbGFLgbcXCZ3*$M3dBSKJqJ`q+_8(K!9o-3kA^4^Y=d3p}}3 zpV=NheEZA&<{fwIl=Rlu|MM4c>-i2a>-}et{wH6=t1EXC4oG?@D*XAR`M{#&uf#vJ zO5U@dt|t9bq-^8Lncle{);~ODh1UN3HA_KJCd=dFqlYv34_DO{NSw!cd#e)b(A13ZjCM#TN3#(%*BnPk zG%XO$eAtODP{1w^hm|f}V{M9v1cdKoD0v%8wg!BLT2HkSKuUiZ?->k88%jL;;P?N4 z&xBu=gNby>!(%R=Z!Rpug)NJU6!)3N#vDDr^=eGS^nm>Q`bp*}p|YJiF_I;OF~jm( z^{xcn2e3FQ^Yx75p)@9m-UE21uHH7^lxtBy~AMUIqoWbu9 zK}4QToQLnH)hpI;&5e(!PU)47>7dGj>6ulVoxaJc;H5H8hI~s#R;RRWSweRLMkKf2 zDCrh%hRLJdAYuC0@v8fjsVAVq@TOG+$9%#X6tuw`Z6v;Ytcm_6U&FTboeqEY`%`9yC9sXsjD*iTFJgF*BM_6FGVk4D2aOP0?d{4OLU{k}EbHp1f?!YvVQdwK%g zD1j+m8`gnP`{!xIwI@n7i4wPc*cpDN{{eqpi5yCtxa^bqnG9b8cokxKu>JkveDcO) zohehS9l8QyB4TRsaC*m`uSOaGKUGmBD4^K>_-Xmrp!ltR(jka%x z8%cVh%t&rxOL~7u&sBBeMMPK+HRu+>+-DhgF^(q4w($^Wb5HRGE^s;9Q4~Gs?tpIJP+v*|Dq+o{gb2cBif)i^~ZQ1#iqY zuRf1G#I3iMO*|A9^|$ECk69W_nmMZsn@WGM+rO@fnR(hI({n*s?AoOeGjhd%g;{j!az1gNPr7 zy~!i+1=rM~aw!hDG;k11^b%7KWcZmcbATwb*`^kiPniU}@@zS1$zLfMlfFubj1Pt$ z46lX6Az{E;L^gJGe-bq&a=-QQsg7`JkLN7>)nDn7@4LfkjaA)KC6!9{ z71-E2dl?bn)nOhKt>9mFA#)Un*)v*+sM!{Dq6h%F(n5dd`kocroN2n`M)Z#R21kEK z*^18a2ofUalMf)3bJ}T@PmxF120O|=9+_6MmE3E$k>MUNuomk;+j947EFW_GI(W8q<0RUUpVQWUj< zfHyB86Uvm|NP1WGO_^qCi57lh%8CoK52c?h@LQaP&WY<@Uy%;76%3^M?qPB7Z-yUW zonR$SH3Fg+^A}?`BRq$iK#GRD1+o88hR zQDfI;$(U$LOxu==fbnUoRlo@I6rzunE67dFLI}?<CG;QQTZvKUMLwoq(F0CkF`#?x>)OJzxxF18z z0BIR(v_TEUy-gQYg9f60_fEjB0C-pS)Hc)wYr?ZC2AUfKfr~eH-TB?y3Rg-x`VSgK z-&!uY$TKA!;0ftDxhi0B2_MB4@`om`?XCwYq%`i{Uz*NZ>igGrU3_;;Xn$tw)&pSU z?FK=PeVtolf(fNrDPm}u-L~F{_ zhM*hMnOONH`D8-B!iS~mw~0&swh)t&n98T?B|i2|*!IOBEnCgN7vNo5aB8xG@Hwow zc}#mfj#EWyMG`ZnFL5Jvfu*up@;D_>7R}#A(zM~8dX?z`GG~y!pK_DPTh-ZSRm(pL z%%);Z(OfLxT%6UgZtl2x5=4RFR9@z0i~E!GY+1b8zdH`A)UKX>G^UxP=#MU4Y>@*6 z{SnVfpkIB%)Z;DC2jdhrr{KpDl3qYuI6y@x-4OS{3)etm?TS}1F2b-sn_TnhxMf1x z0oN>Dv{W%Hep+*Pzl&@sV?X;*BT?=SZn6Dy&a^7HA1|ryp9Q;2!8m;MzZ)!YZHMG1``-h`>mRu3g!Hm8g;c?!BQjku?enz4g)v=Og7%ICoc zib!3}(^H2tWsG@>k;Hl5-c}?W1B%dvH99g^&nAd|no<0lEsZ;nuQ~q}eUT?4-Ys!F zaY!Il( zmJ5`dtL9srK_`TsS|-{&?$R)&apeeKxch3Pwgo0+amiaHjKbjCu5J49;xdVH4#W>t z-0fY+JnWvCX7cAt>=0}RV^B%J?f4N5CGT~Alk6!a{~iFO6t%HN$G0_XvoC4XFyfN_ zlhN`QfDhUhX2KD!lYzU&i6_bx7{I#qro0?9J~?}BF5<~t9~ zJH7^CN-J!l^tITcA|mfk=cU#J1s&`dOeM%q8*ks(Ctg2OXXy2ivq)R$Wz)8=9X^%t z@I#iJ4YM>u{oiTf!yd(Po8S0TYxRns*FV9(o7>eL*~KA$+fG7?yIp?TpC$PydWMcv z(DlZ8BNtQt#coVnN9i8Wgo_IqwzL_^Q%`h=vjseqttB&nQU6%aodwL9YYl z2LRc*LC?#+tebnQOqtnU0;~(b?U#G6Yom>0EluJd#8v?D9e~ln+vkiil_r(;g8Cb} zK||&Hf8N>^oSbFVlc($R38;X8KOXHc3AUcJaBd`C5Mw!`sI?_aWvN(M{?pE4&EZ&#`{Tw*O zym8fgXYrBC-~GeV!ff1hz#t|uWah^`_cPQ>Bx~<{=Y{$<*&_F&fDx3v!mMn`@+eoB z3pyym1i1X{puryv6^ePD$=gm7fVo{>VdE*4CM<^|L?;UPU-p+DOR<@Zs|cUTOC=0` ze^TT&s#3?s3K&f#$AWxfjP`?TK>y16bPlfbO`TxxN!vN%TS*ZHL2coogRGH9xJ6jo5(OtbjUx zj#xhlXcH`}^p(9jS|@1e>JLo+1UyCtFugD7Wne}|$ak&X_DoITH|jT5tlJn?er-Va z&bEC0Z7{@y&+-26(eSeV_HpumsfsH0j(9?Fl+>V($rS!h08=Rd)A0F^OWe#(5R@$1UvsTj z5vt=?HbeYQj8SZs&7_UFN%Ne=+|S$c=+CSn3It%&r)I8+S=aU_&>kQn0+>?cQmV~( zrHi2If9WvL+@|eeMV1M3!Cr8h=>(5wRN6yd{Gci(Xr@c&OA;DONN_gzz>oW>b6?h5 zH|IyE#7Up$kNQ3CaA{8jq;=+3sXK*L;Oji@pFcyFpZ{!8(0-qzQ<4O$rF}g=ZkoHY zRDO>&6O_f>JG0O(i@v?h)49`L0gJAw=E8g`*9mI7yk}cWOqD_nrzH(YUV|8!n%XO7trXJb?KL;~V zP_^_^q)#e!6lbrny5{>)4b|tpOTcYs;PbnH(-Fn9GbX%09t{{wZS?)Yro$>;(dEvm zp2o-V-+gjnYCW<@(tvV)>Y3Aq=}$4Pbhk*O(r_|#HQ=7EfO|XfRw?Np>_*y^35$M= zPuueP4qoM_;ZGdSavR{Y4iN6!ANT^l^pW7N>wZ6l!nk<8=veOhZk^i?cy)E{Gf%pO z^o__Et;pQgr0-DwG9x5QvK@W`{ti@4eLsHa=k>mVuHcl{r-d*5m3<1a(S_423T;~i z+i+jQ-=Cd-h2^MXXpq)zH=^=gled4#wUjo~Qa<$}K=){}?aW!y$Nx3n(d1TR{ghyT zL)9ExTJ-FH2OI1ygccPG;t8GreVhM7-|f+XlBtM;?%`z_ODUbsQBKR>ojx$joP(LY zK=;%Oj9zsb1mdoBiv7#>DI2ExvX%YQ{@Nb?vXYN z5448Fs$%=ezetsxPXE7Hv{7cE!9b7wi^LgpMu)ZLZ`bfqfCX zC=cL?QZOthc-gUl=Oulp=C=S9Q0L}n0~vlh?V0GQ}i z8DodLX+5z69sr3=Bef2gn15?86LT0L!I=b;8%1r5YPg}ad{^YE;iiqH%2Bvwgjb<% zP&&*v=k$d#2jV;MRd=Xwjcp-s>z&ps&mqRUNG?Bq(ODVx#O&;3Clb5S?$rF~FT}r7 z_O*2BItlRLRL@x_;~uc$d>|q8_dpYCT!e-gZ%W*j1XCXBii}iC553*f<5lcH3~*nD z;X7UUP9wwC8e4A#n+$83uziOn%o}&NrtPoVaH zG}rL`yQ8@pGtCkfFI|Gqc08I7EvY03S`G}dRAe5u`)wL`x}O}}jP}4gEF+yGu0~^M zmlldA;2_HWb~}o7rFojc64gHyn`^*TtXa{W<*mi_SoN64;P5L+d3@R)-ly z)l&^fu2M2IXoN2=7LEPJzd))1X?x+->4Io z*VgYqz#^7uWZ(?kRX@N)CCo|S%xw1CYYA}=X;q!H6QF^; z-*yX3B+nM!AWd-|cbTZUn~XV+HmfW!xr%V^fX3C7Yv?nZ}%h8)V%uwUnTxy^2ZinRu2cC~pW z-*>T@-4B|bS?Ka0#b}N(H*_UZ-!DIu$7I=-K>}oBpe|GixBo( zb7-uIk9HK(iBWz1!ie72t|69?msyqbcYM5clcvnqc7NMfP3iP(vlj!YeL3fsbRNDd zH|bLlkNE>w0gu_csq3#4yuR6{{vtO=)~Ly08BY#7c&^%fruL<0Xw^O=B1qh>dCA+- zVs7>qHUG2m3KOZE{<8H5UoAwV5;vQE;}2$*eBhn*cci^bnjZRP2G!;o{H~38+GY>3 zJrI->10(VT>N+K%qNLe!#qc1U>|gR@@_0gJ#G=}Z@tn7lBr2niGVm(3Z+Ow z5WAeZR})EQEv_k|tM$L85%&EsFt180?+|hbh0Ov6Nrp|<1 z(*bT}H+vxHh8`zTVX6$uaRT(D`^n)=LhPBJE+)6roifd`BH5I5o1a1@w&0+t|CI6{ zz5YbAF7@aK-}#H6$W$A0$Z>FlKBJzJx#=|q?2$ZP*B%>EAPAB&AsFXGQ)_}|?A^N> z*eU#-%a$7Zxy%}KDC`s}AaHe$OadfU2C-{~LcPzA*_ApO~9TB1L3xLAP{qO9R@c^Wq8OMrF@kF_o zUoaY;u2QK9@m9d2T1H0ZB$~(-yalF_$qUvcRKxXsu_eEL1=tF>UHam#8TBb z8L^SP7xp^FwlW$N6w-WW^$*AhxciQeX59PcpJDahaqakj931+=qE$)oGAR?M@w~d? zQUB23$&;vP=2-VO3-nZosh#xVi3X{yGPkP2(5{oHY*J?DlUbHkh+NeNB~)TXu&o9K z^#g&dZF$MrC)5-Q{7J|P|D-e(89`>}n^T1GgiyIpkw4@=2k`?hHhNBKp!M2mgKEaa z=ETY}-;^sp=h70rnQXXoDWEy&zj6IEqIEZ3bc&r8+T(6i202U!K}nwgk`w*0n!T*J zN*NnayC3B}WaHqONT;n2RUw#+c98Z9F@d4$CKwcy(Ti-S&G;i8#zlz#G~oAOZ5>K* za3y_y-{bCw(^b`OM_a-gdKKdVb?FJS4R^B6))b?DR%Lqn;cDM%9(sGRGD5fYMQ0Cq zH{TL&?MTqfUI7Y>;~Kb&il}U!XNcCGgd|TrPql-sIcL}-ZBvjYNA6ir??^t7HVE?z zB+isM>0M-&cNYa|(4n#}lkEM|20w7Qr;l(?Tka%OI)lXP*aa&Ynb!)dA_I9E`7uc9 zc|`tOJYCyxh&sg;a}Rz#69Tl3d&V01WPS*P*=`XWW`j=J+Ia?~oLSAMass!iCQ3mv z)v*rY5oKzzxeS!6XK2c+a?68!-bd(G!p7=1c#T7o{Hhbl(2<~o>UApjP+rZi&}>SP z_kd*ym>sl4|F1X1iCRwT#SmG2H&Asx zC4_0nW8hM$_9SdM>*}8*Uq+Z|qy3P&%LSX%j{P+;l^0^0oeB~zkhDNyrsIJhU>jrE z6P3Yq7>b^rXe5Zq8R+iCZmB<;D~zje5|i$ohWy}3?vso}3#L5Wc5oo}?0Sq$42Y2i zO8P+fOGyJ|nHcRV(5Z<(Uc?G*K8~lB@>NaOw0zRm7UC*7p5wUzF_~H1RcQtp>D(f9oYG&5 zltf2hJd)7pwldl1^Kuln>T{Rz-1FC%7OJpAGGNGvyOC}5EX(E#6aUs+MGw~7Ern23 z^l03jkg*q5xe2^9O1k3`D_kfR?nTVDBl)kW@*TeMUz!4vK!}r(tGb$2o6Ui^KfqAq z2u?___mW}OJ&zza!KOUW9`YUT%YoWSd!)B2I3=XLmbNk6E+-$|_mY@nUb?;~=Zukf zH%&GIR1HZSd1720CH8v5Qnj`UcOuG4Z#C_k+VUfT2(mwL5PAHu z3*;iGpza`T!ue8~Zo%iHvB`hdJpQ+qYRSzSjJtG7Fxw3@zy80lDxvLR4s?$yNvlrB zb;ZYdZ`d!s`dPV%+{`&sohZHano|aTOx==-R!;vEqQ#iwa`uya2?^yZI(<^JGc1)s zpJGnr5&6=W7&m1KVYJA30sn^jE5h0YT3B}@yq3BLPJ-}1o3kShAd)Qw;Va$O{hJ@J zZz4Nb%0s=1iYh+N;o0&^|B~J0796^Ahy;b>)BMVmmrqODPeou10`b{qRE8E}*ZK(% zaIy?!>|6erhbt~fLw-;2UM19eyn11bSGav;nZu?cDC_~prkCv8L3R=ZxeM(IEG-9S zTdNqUaBV4ylV?fY1T`#nX*}TEm(B4q!3Cq|6)(fQm7DXo3pa%7QFs{br=V`?YR5NF zO{C>3N<5sHuc`fn$_}u8GUK$+Jv^0a$9Qwz7Ff%Zml~UfwwU1~UsAt$8iVH8yd>&_ z@BbL|P{YF4Jy9jyW+00%Fh?~%N-X}`6IC~MQK;F(=F;ot@%#G2c*n)?6g41|IU8ie`6 z3rH-<;k1zN>6h|s+zfYb*`v*XQ|DB&^bj5p!5uH|O$1r=kI3-TXv6~;6s-1!cR~Gr zm*q0eEhKN}HxUu>V2djkov7^t0zB2ef$8NRV$^HBB-;W$Vd677#gOhSGVsZ1HM!8o zs*(pGktUD%|LWU4eeE$Xt%}0&fE1#=V!E)6XRCp!jJb|81wy@6{1?ftJ?SRc8^T5L zg)L`UyZ+h5s>v2cCzFuu$lV9B&g4%i0Zz`VS7N4ZR^cX%(n7IN}1AUHx#6S4`6JQ{V91gitc( zIt-Rz5~d}&=_3VuYpxOhfTKf_mkyc{IuGTwopNlbQJNMpTbT_4k_4Rgo z)K%P=yoIy+_>KjQ<4_P=6VuJoNXv*V6?)g|c#`kpEoSD0GikP`JD;#Pywz-VV-)}Xy~P} z*=$g)btEx-N&+5GN^>6i01(4ZRTFB=7>E*|^Fm67%L@}8)YSFhYjA3hBfrKj_h|{% zM`yL(xtWXvyh3(HM)*ePiUr@<(EWjX{iBRyWp&N0)yMEHmxOl?x^@sQxBk`;px%cV z&W^^tshuDT7mQ9Ebi0KK+JdrMdF0V-;e;rVNEo8uAXHvo$MX_vAiC^vxA=Bi^J(4o z$R03Z59YH`USXv#((+hMGjWm3g2-q4U$)Zl5X+ghk@c-}>k4Jh78VrzG}gXT+B1PM8A<-H#0 zD>cKXKa-z$pCb?AhU-G!M<$}no2FU!Ei4cx83%M|v+iPYD4|<9V{_Ki_(kyTc3LfF zo80sBwNXH&ih1!f`uC9la!2&8t&V&WbM4rDUBe_;r~MNkW%IhGpo7C_Dh8S9NudajkFrn?Dn zLGRy{t@>9P$4WWYDu!KPMVbuU64)I7m9#Jz)Ra`1dWF*>YtL38F z_nd|9q%uOINnreI=NAIe|4s$#Q}~nMP${GQzb5M#Tb=d)Z-sG0d(49AV$E%ZYfI~? zDyjl+v7sy66K+lF{pq1Y9#lrMO@Soe;6>*#cMmrj{j|^)XH^M!F<99v;BC#}MhlJT z>1~<$IBxLG|L>Vpdb`vAr!w#AnsijGP49}VaG;1uk!M+5;1Kubifl->BR3VEL}+XW zyOiUP^h~qB@IxW@r?VG8&W$%kPui>N8YY;9`&V`j_+KV9tJZc#MsAlshOD}^YfDH? z{;|L5SK$)sgz=4SbKk3kXcpgk_W}6u^$%SE*2Fv29!asP*`v z8Ffr=sqw_WX-AGJ%X%~6a*Y|pt4uAO%&Dd-0t>LLQ&NT=zIBlFd;_r6S7~`Daii0lu6!2(LVak-^30 zChlZgvoaBTxQLV8eJUxCIUM(8MXgM*46@ifrZ!Xq^~Bw)@ku2yzR{grr%ocSBx7h)T|Yk>1!*6IduZgB-sQ=h)w)RLSGSk{wo zo|Ou4g@!)H&vWA!ku_YS1{>Ko{r5aP+#B;&=l@;wj@j9cGFo}`tqIQ5SvQP>sGCyylhzK1zwg(~N{Ukf2R&ND230b0~3dPmmWU*>#TJ8SD-iRQbO2rq*y z^<&~O*-J?T*lCzBl{%*T{@SMc!KrxF9#>E7`72s^4itxj&LO(4jlsB+Pq%E0FAp)A zl@8k0W{&h*mo^Mig|!EXDU+=_ZJflwS#d#=Bl@Ab|31AjK^eFr5UmJE??p*(QRmol zbuIhuTQ|+|E#uXxS1n@$8Z-yL?Wmf4{;HCDqyCgOYL++pV>iMS1*G@$;%>HQeabmi zR439ykfnEmE*r3i%9~nyMkN0k8xyHcqq_wwa!!$;Aj{Cbb?-=~jaZUm1hg>;q^*VO zU3z?}Ep`-%?xee&Y$ZD`{*m%&{Ur4uVZ!aqtG0p;up+M4uK75*ThoBK?FqAQY6S@~ zA#xhdKel)7b01}>`{IKCSps#Q7%w@08Rs85wxpI0TRBo7-yS(pKG8-}$XL)W6U$0_ z{;g>Cs|UP!Sfu*s7h!nap%OX7XriZ@zb1dQjXZ7eOctS+DQv$nZ1lZl z3g}MQV|1rXmG)JEqbNy=P&< R0dgBr3p1N5m6vWl_&@u_(7XTu literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/chain.png b/content/docs/smallrye-reactive-messaging/3/images/chain.png new file mode 100644 index 0000000000000000000000000000000000000000..eacfc241c08d73d3113d721c4d68c37ccc09805a GIT binary patch literal 96931 zcmeFZg;!K<+deD^3Kn$(3L;WNgLH?qz|h?wozk76NH^oqA>BhaC_RKULkrRaNDVQ> zH>mgXK6gCp`v-ok1&dgF@9R42IF9qYHla!i(hu*E+`Dz_*27ma5-PWDVS;YmLd(Ot zgZj-aaAOGSE1I*4wAih(p{JXuAF$uZXglA!MT~#*iDr>8in>Jf)+>pZY946tw7aR) z>J4=QiVK1Qft+&q63S?JodHh<4CFsJ;oZ)r^y+%h-^KL4_;Hy>7o5vz^8SbOEE7@5 zAk+ur=OJ4oaJ@ibQ|qdz>#8>k&F`z%7jD zx6rUeZ~eb-|DPTHB?tl≻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%0AR3NTWU< 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/channels.dark.png b/content/docs/smallrye-reactive-messaging/3/images/channels.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..df084e51db28a374c041e36f00e0c22597e28474 GIT binary patch literal 36975 zcmbqa?(UKlhvF11?(U>G6qn*sT#6QVEiT2~-6y ztbCYt*W8(X_MEfNo+vdH1xz$jw0G~`VS<3N8t>l0MZx|LqaeY4DXJ-Y-o5+w4kRn} z+1uzW0NI~V?oAxh4lO@C)|-N#@x#ogyAQk%M*L`U`2jtj=#Otxy_Xct4*)d_+dd}S zx7&)2%l5kLX0Id!b8g8#wXUFb+#ZJ31nP0~_G@w>og=;K=eIy!o^{(D4S*WYOsc$UVKn6GjO2XC|q zd(eqVx0SE^LPUyhaW7DYR^THu;x^Lq1k;&+I0bMJVs!0|xuSdPF zI3V=w8&9ZZzRheO@(zTE#Ah;mT(p!XK5Hu1!&Sm)J+~bD(p05|c`|@jY)UBi`5|DJ zk*DjG^loD;ptTydpnn`gq@Dj-s!~fiHx_fg#}yS4+B{|%(me2`n>&+y_#WT&;<%pj za@D>TZ*@^-hhsW1ErAL@W#TfZbVz)oD~b|Svj3rR+XrV)>It(pz*;ny=6d5MZ?|U3 zX#+oLc-%|A1NsMICnb*UO66gplK$`9cX^X)c(t!@$150x(i%BUDV&;2;1jPGu>M z0+C6AM|k)`{%F^?lu(sdB?|Vj1XyLe9X7OXtme|BjBxa-;f+r#zXbb9Ir6{V~%x0nb^q%j)EYFXcK^z$-KWAG}g7McEg*p-$vk4;Kwo3*TZW54+Nz zid4wE-!yR$fTqF_^$Uk2oC(#pw*S!RNkY4I6dC?4V{Dp@H`H;w@G6*7zgL|TBB!Q0 zh6(*pxb%ZM$%i}hes#)*Bd<=-ofy2xTM*0fxASV{WL&qSgt@0Vf~25bIb*isBNbF! zH1h8srcR4ddz6=N$@D`z^Hv)IxwGE3mbV`gbgz^a8K&T;5wh#OvpupF!?(c17W_qr z!el=iZ>=cf6&j=Z{?d5A)l1=>mdh!jhWdd|Yy#Z6hcPb`@&@|)`phD5D9#TeE(@r$ zlBl}A#BD=*=UAN2#I>}O5yD6jHqB5v>32GQM3TZwJG#rWD|4$%&UHBR9E<>$La*Jd zw-xa*YmN7#D@mpsUnH z%+y2Wu#gsj3hXtilxTlT?ArVD%lP^zCHz3@@HRY#y!6A(Z_y#hq590cr6~NABj+h2 zNbT3IpQ-qzYVL=TgZEQJ{}MOAp^M)JU0EQzVs`(5BS+r-Ya49mLuYkxl)~ni_5}HY zMtmkarpiaeD8`ILT^9-8J^`M3-US!ev#{Er%+E`Z4 zWBZx9bY28)^9HA_~Z>FZ+T1mYkA@Zb`5g#)(=!Se>?E_HQV*SxFY6G z3hNOvex&3KPWA8p`R`IjEdU9wNve-Si&FkKuiwwEMIfo*8wtXmK;8s4)zB_2jxwg1 zZQz5j7`HJhjSoZUu7f`3=EUyz9{BAMW^%35MDCz#vGOX;QMAwoU?_Wa+OT^2v99+1 zO*Z3EWFF^hyN4h|?jW%t)LA!=v^9iyU@hGD`ScL)!&Tk{s+V@?2NbC0^~;nz4u?c; zH&W4Gip60qaYSoQf~NRxCQ;WM3X3CnrUt=Pb<_5a0&2{nds@waRZ9F?su6cscf zRY3;{jc`uYpm*q>ZYLC$H+{ro{jJI$XltQ@h%6_Ue*#GAqI`>T?)a zIB*;lhd57K6~2_^wk=2i#ap@+TcN&_@!$f6_XU|zyh^AL(NdB4L{{fcdf>0p524V( zj*(Ust0W8=Ul$|7Msm%cDmi50@QViUreelQioD01qv&@WACfaFK5iaYyp@U``dloE zx^5DRu^Si}B`C^qDs+H)C>Md`ozc!ZSo#5&!Um01fps{s z!i*B4lJoc|V7yN4+~lGcdcpKS_8~anv#pr=j{ur!R^UU`7zY<+61sX{z3H^^T`3WcR%5#InWO0Z=467? zZF1u~&_Q@O!2-_4FNEaVn%0^L(U(E#;sWj%*XYM%KWEbm?GHi#j)!HWiyeCBhaxu# zbL5z4nnv#}s&~c17~_gH+)RqF1Dm&;G8;cXNOB%no%Iu=|a<wcjr}SK&*e@NAV#PTtLs1`TkOp8gvux+RYD?PD}{opDtFt?h^wVdSkVkeOg&R zg(VBRXPgD_oLd-kmbCP>VWKaQNuPR-<)xx-F%R+M-^fcCoU#K z&+GJ=TpkKtUPs~TbNGLud5y`^bYGpO10!6kG_7Qppr%T$4go z`anv0&<0YUk=o!}=_T`UFFboC51W1Ys2-ZI>z>PycxW z5)f#Y9HaLA7FW1pYQ~fP2Lw+mnpg1IfD%!2II!FRgAZN0n?SUrk9-3D2-R9;FO0r{k+CM+JrR!8 zdB3}R8`LkbbcZf)$eUk#$))tqUU5tZ)LGHGyxq^kdG*L!B-T}c?D6D7L`Kr

%^EaT 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 Uy)=SSpOFxcfsUzmEf^a8e~S?LUH||9 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/channels.png b/content/docs/smallrye-reactive-messaging/3/images/channels.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2052ce4d34206f9a51fce2a687cc17bbfe7f5e GIT binary patch literal 47651 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 F{{yrPbAA8- literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/connectors.png b/content/docs/smallrye-reactive-messaging/3/images/connectors.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd50c3024293457316a1d0b9b78f6990725647e GIT binary patch literal 115514 zcmeGEWmH_v)&`2=jcc$FTml3O9^8Tjcc<~-5Zv8@yGw#Q1oy@zxVyVGZjD^>%HI2Y zg z6x=^FTCd@sC+YS3hv)AQHV68@CFa2VOAQ0bf&DiQ&G3gUrpfU0Yk*`Ysp;_AKI}hV zXtV6eKRq5XSJ80Pkd@&vvbAP1Ft#-`VRE&$`@;pr=gRXMwKj1yAak|0vT@*X<)`?I zg6B2@N~WOMVIsSp_mt+ixahoJ=fCEEEFBWMpJ~-;7Opl*GjUVSoL_Pw~~! z(T<0i*~P_$$%T!{_L~{=$4{R=F|)8Tv$8V2QZPEW**F@wGTJy${$0qw<%pR$7=1Ih zb2PWLA^TIVfuXIFBR>VjpNjtT{M}ARbJPFUWaIEpw_ZEQ{3nO`BNGer{~Mc$tNH&I zwm&(4v;EbtzpLZ>Qy7n?l8J+@mD8VQ34G*W;rpwK|3~V78~8WJe;HJ5%pC<-|6%z* z$^Vy27+g>J8h+ z*S7t?X8m7QQCln9Z_0KCMkWFu|6%!`r2k9(S4Eott%&0z=l|C8KRN$!@-hFJ@c&r= zf3L2;QeT&s05Tu*f0n8Ma#0pk3>1_Ql$4mTiYxT77mBZ{>cWkl2iRd0wL6D)3*L`# zdN`#FwaMaBzHaTXjfN&YOX!Sx($l?aHm*dAemhh4iWq{_$j~5bd0A_u3G%**g~r=1 zRI=~1h{GotHMe>%mt}Qx!>I;BV#dL)_+?(2x7WvP9)d@@VE5#`FdR5IXkj5t%>RGz z|H~m*7sU2k7yP9@N%!wutP5g5?{KgOt{yLtj3Td~wAR;e3s$B>#G*q5+qnOw`e)+S z;VELqAiQ+Kl6!KXg-gY!tRP^=9&{4+Eep&A zE%1=rG?`N2z;`mDkfk=H>{6jO>nN**-?8T&J^LXDE!ely?Rfh(a`2(4>ZF}oo+1_~ zNT7txX@xnTng^U`S9(kFr^G)6A15Q`iFG(Xv?hNxY6f3F4JQhxWFCbyeWD-M)#WX> z-|!Cm9pkttdF6DH@QJM^6$`_|yXrC2{Ic%{9f9$6{0)ZGQJ#`8Py!KgVGWBFo9W+z zQK?}}#7KW`;o%1M$E(vwS$XM&}6b&&p^wSOk>b&TmWOVdB@85iyEhp`D32|xI3rK!xZwD`}B zZ*^?%#|u`(?)G!qNQiNanE#fQDu{(C#0toAj*a*!mt;A#S~0B40DJGO(?=G`c72tk z%j>k-)1123QDW0~Y!vH?|6sQC$$RLSjzDMyuA|v`vDM?KU?j`t!%_t)V!c5Kv0x#> z0V)4sUNq+I66Da~It|->Ne$1IVz^TPpvS7~riIh?JEZ*^pCOCQ;&JlT4sjWVSM|3# zAMz@Q;IAi?_Xp+w&Tdr$=6XXa+>48F3NK?+II;A-^5UuP9kb~7^vV!xFL0f3UbUo9l_hA<${86uqnu{-23lpEiNR8+5BWPJ4h`3`ds*}NldgmU--)i@(H0Ty|S4;DTIa1shTBe ze$RPcUmL+x%>u=8?82zB*4<6HX0ZPWPfLpeUErJMi;rTjxx#)IYJ@xO>;$!CGV}dq z&J(y)rQ(JX?kt2}?!U`47yu(q@um1<-teI;9dqjtrdP?7Z;{q%C_$!Uf_wc6FjRnO zZJ94-c!?=?-G5&`W!05ps0}ObfR{!t{T4y2AlzMw^Y?O@W-t-lYSHg5otD+vpgFr6}18H~)5)40O*7aja-+IG{!b@BBdU{6ZY z1zON+-n@jcR-|y(RO3Ct5^{1Ua3CksDQ4SEhKN%>q4{OsyQL7?BO^k{=?9EAFwO#& zRq|&d35?%aFDmIp{T9qWe^a~110V7kQx7|NF|MeJd|(?L1Lx(bto8@FAh7x}A0bx; zD`9CW)|z0zNfdUHZe=nq`nYEBz0vzIQa``N5rxVJq{`UY>kz7J3-wFi1>JqHlSCG~ zkN*Ml(k@9EW5yH5*pGU%lVh@?yDds03Wf1yC=KxkBCtfo}a*6h^?6XtxpJ42Sxu`!0MP^zn-_@5iBXLx*5b=$2ZPr z-YurhS)F0`OvJLgpZuoLL1ZR^wN`xK>}2-0PQaG^>C`m>*gbK9c&_M^3E zBN@;_4hjugN0DEo`Nh9g#7`Q~Zjv(eGenK-8Ku4X46q6KG*PV)7{SUT?AU|bdr1D6Kc>2Lf=i;Z*t+muoAHZt+g!%)6ieoSspb9*Dmr-{0Rk(kkYofyx z*CA(JqWAML&QfU5=v+OsB@ccLm7pl;sE8&d)<(JZEvjlfYJI^NBZ|<)rQXt7G9L=X zT5l`u#BDusZWP}^3X&q7TQT@R>TCa-@~zYqx)j9AB2X2C{LSsmVEi1Qyj%~)>Bktn z@C_?NNuP4hJF)63j-JZuF+Yyv>xJb_-@P0IKcrmVRXdPle{B37DW=(`KD$icH_K=S-rqhk2xBAWhJ)Usj$by1;l1i9! zhHS~mXSCL;Z?b4GjeCTVS37>}W}({I{T#C!hV%7RH`mui!hYA47LAYJ{EYsEHCM>) z1?FWv(A+^@WKwS`Q$@;vzm`)Jd(2RX2E$Y%oX~n34XI+_0Y&($eykWZDoL|+Ox4^T zy#rh7>Hd^J8XKJ2k#os_LTJ`kj$nHd1k~d%UQcBVJgyvJ-q^TOS4KtKt)FJvB)a$@ zpUoaRgK8CZnz2e`D`ljEutOhuPrl%{8Jt`c*j8%R?`u(M@BL^?Irl~K#Ps4Z`|)*F zGZ|w%oDVdQ6P%M;t%~Ov9mG1dLT~CkY1mG=hf#J#BNXTV$W553e z7lBFac&9Ga*c_Ys_D=d~Vob$T0)FAvNQh%%dc>cY zG<7bcRY9_o7weT$Q_`zc{Dve#7HwS@Gl;*#mcn_&NaQqtsR-j7wETD;7siY4u< zFW5fC_(1Kh^e~9mh2n4CSi%iQn|6o`@i6~KY5>3~(Xp%O7eIvV-sII%EeF?LOBF#l zreh66+abMY!4_m>rMS4M(Zwtds7N$lPb~IJUhu@uv8DUS6GI%E%$StctOpnoaFfOZ zv}xRBe^Ousz||YEhnKBsY*n7Me%+kz)6|P`!pQX+_e^n|4F!;OC80V3(}v5%5+i?&#TwMPVn>r>YHL$h@5P`=(L;r@KH@0ydX1LGo_bnr z_*&c2f6m8X6U?lfiO$Wk&Seu0W+Pb*G{2;=Onm2ejSymB23ycdkVL%8f*+4QP?{SlVSN_(ovXa~@)Ow;xB;387+Q5 ze2D(}=$^@FAl?lrP98l?k>NC&(7UvUXtM}e3h9q+UH15Hz0@&w9Aae9nUC#tX!6#b zXKTT0v)nZig^iF6?j~+MNBG7(J>4ICS%d#u-3TUykTmU^!Gdk1!sXW7}wJyag3&c3*?|MuyV)6{O#ViIG!?{*_O z^&?r_(T_NP9+9C0iRyXW4{2YgI!mB83zD)Bm< zqM~vOl;Gq=#oN{~+iJljrcBwpFoizwe(a7B)^6iIZL%@$pZ!ErnMycd)Ynyf0hjGt zq7ZEFUDnauetpO>K7v8lq~B&W5rDXx(+`{aj9K*nefa&;@${_`Xi0)q`-*MYG(_}JGy2vwhx-=cMhhOBt=*<@X{@u5 zgzu8~d@O(2`5Gbc+{i^ixL`zXZozxZZTNqyf&@&6c_>!GyK=SL8ZT|lmPC(tJMVPur@4hq* z>_iA_t37g$AlW(K8EXzB=aFnf+*EN4p-8#>b4en>^&{Gzn|F*C(zJb+%=ZU=%a_^O zRlJYuUl&13bvjL%peqI=O&N^LoyeU%UEY)&6!^SB!@8F=xd}Fi! zN6UNFV`#&!YwHp#`W1g+_(Pzm4nB)&3@W*-_)&H9pr+PbtQyoPMT&dHi)A-oL^EsG zqEkVf$ja7g^Xd`1veQu#Q(m00H^|O7f1>WERORUX8Vf2W{b7NjafhK+$Fyw7nWRKA zqnL@9Orfz%#qx4>A*%9DGyB|xbZFoke-t8?0hU05266CObjd2LLk3QK;~A9X19K`9 zzPhh+Y2YFKP=m=Emm((v#tm2Vguc%I}Zh%2S!!nMX;u0f3rur zntxM&@OXMeL1C-ExXQ#=$ubSaHB0xY#HsO^Z)H^8I0zDn1S-|UBc(61({jWfqZBb` z4Gm15Fh>}A(S%9q+ymXs@WXU)$!R4T1VY;!Z_O4%pu1`IA3c|P(o-=Ur~$&j5JbKX z`~mdvSj7L@Gv;;SzOKf)kM)%_kMK62VViY)iexPj~(@0ZHYb4(NH{>>nT^udQlN*B)8gn=6s5Seo*M5hGMK4v+G{N5Sv4;Uu*Y_o2?m~2U&jR}m zJBz+6gm}*&;^o*gj{`QkgGn6?f-V`v38l(DJ;V^!axlDjSM+Yb0;wS>o`We(rqupX z0G$T9Kj;SW_)MbNO9=_ z(?7e?az;L^lYu^i-|fO;+!%B}!rx;BD!W?WU4qO%y^yQY%sqw2B=|84HJ$5(?3siep z(P7_rX%;y|0ZY10lIf=pS|2GOsVwT(Xs85o8!E!s@8QdMyrvTp!1}AkR>-}WR32er z8z3RKQeAqnio#7ns@p^b<|e4g3x=yTA0w+5ZB;Vemn!_65%IV3_q-PrL<3yQ53|+$ z1CMViv6KSR1Y{1_E7D0@_RT)l+Q!1GOtWaz)6S*4C;XThhjyNHg&9!52Iu00<*%ho3nX~aV3v&uzJOGnp> zUas$V)fU#}lt`7F6Y6XvGN~MNh=_z1(-XNME7f2bD@@{d7yQ5S^Zov-}LeT7Eawj22wE_4bhc zQ(g;kxo|@hOqLmzd9uJQQnn8UcqAW|q95EbVB=dg znLBSBR=Rq&h%C=rpObeCh2SeHnf5qzb3}4Edn^fVxp)aLwKB-6N)a0cdvs-)5B}>F z0m@U3Pa0nR%GF?m|D=o2C&B9W)>(`{{b4&Ni7cBew2yZ)TfWF&WGZ1Ecz8oL;FTsu zs;2u~Xnns)>i5-DIrFJ`l&Y9bc9%j868YJdFY-L5{+heS+}>4^h!6$)m_ zTzZ32Pm;}kFY{!|a`vUh;Ek++dlKgD9WHt3A$0LW*kM^Q>vC5yBKZq~HbPWPXs(Z1 zTX6HmwHmk;5tl@Ihz?pp0?nR=&P+GvCy{x*!J4!ev?X?l+UhqqKQA*u4d<2VzRQG3 z!Cq5kO^tiEs#2q)d{lMa`I%Yc?ab7VIbkEA?amL&Q~p$~xGhN0-7*8PCGWjSC-;S? ztz>rFMg5=WMG~XlUj^Cv>`1Imf#A`j6+HUcdcWhkl>tC(ve~dMH#3@G3|Hr^5t)cR zuk?T)j${EVUh$zs!S;53_s}(Vjh&YB?X0iIl(R3?vqtZK&CnoBN+4cJg{|HlyK|hb z|BCesz=PIr!%Y^aV1%g2bb-4hk3foNw4m52-i)-g+m1x?)N{X6y<3gfCAp2DfVN{0 zuFA#%|9I{l;5yMNr~628w87wwDYaU&$aRkohl=xVm-KL~sc%dIXNhF?$cnX;v$lGf zB;Ua5mKgt$_U~wN83%udhq=_D$iaSI`!LmpUZ8Q@5AVqQEyW)-*$G57uw%dg4b$HS zuw}A}bdQOQu+ArzKzf|fXvaF_COSr&2+kNO0}N>n^4^0iro{18oDcL4zjG?CK2WV9 zBX}ZWXNInrn~iVEzQg4dKH2voGXIVPo7e}w zc!PYV7i8waMly^|)`HX+eN$Zl)BL#i<4JY?5!I*_#uUHLs1mk>o8Mvx#MJY-NEnxV zbIkCfca-X?^otFgUnV7)vCrO}WZ8fA78guA-hDMO{ZNl9OJOm2e`$=sqi5W@sX1?z zgQi>GMi-%S6ZW2&c%j;8SmAfj@d;#2y(8W~nSHJAOr?A1nr5q?oqvY!2|E?MWw_AL zsAz@3v(ABw{xJUyaNpy@pcDD!1@7ESed$Ry`YKKr(_1pDx`@MlGGrlxOg#}ktfS9r zyT?kcB$|!3@ww>4fWM7L*U_rge!p^+wnJYtq|%+>2tg#5B9Mt} zC0Y?;sbGWmoeL$!j~8s1v)-xq0&5VLG2y+YI-9WL?EcW!TbORlkz4MbkCb1lS3GBc zvINqCqhK=Ma_a*bm|X4zg(>fOccZ}6LZ@%gzmyXMw&9kBexi&$A4kXZR(|(zQ&S&R zz6VY82GvvMMSEOgC5RehiKX!q0c=q0>l^bsHRs|%hVUCE9D-;LxYD>v1L=SCkhUNw z4gFPHOU+4~1pfyAM~*2}N`9(a<`BL6N0zcXxZ|@izoAif%vmfIFvxfPmH=~D2koc4 zzj+vNRo`K4QbAeY0Qe8qu1*`^Akak7^PzGO$0M3&|g%j(1NO zx|(OHG5nOXR1XihnQtU?6%YbViV%Hc2k3t}=azIu7VvyvXpmHmM~|8zCSY&vP&v++ zX?J|wvnEu#I2r1et26aup79jQQ5L3}+LrptKdiEX5 zCiddaz>xLp^toWCfV8+dZm`AE9tS~mt=|f%)|eH<+RYc#I9w3t*=UHdK&de8H`9YQf&Ae_EwF_c~ z817?Q)?YQIB5ZG*c}r*h?vGB~C0?@*Ws0{+PWB6E{^inQ zy?0maAdlF6>_t_n_+twi^HLoxt%kX(GNN{Mk#MgA7B*EsZlJ$6Dt#%5v#q>Lw(X#a z(uNb!^ykag#0wNXOZ3*V1;PggABgwWF7d1FfyiKYZ>Gp79KY0K>9pknTp+cycVKzo ztX@CHGILMImyA-Cuz6*7qc=}C>Od)>xU#kwq~RUU>^4t`FyW4hFJ+Zv^T`fg{peqHnKO(bRJ z2MnRg=y@ZTaH90frr#o`&oNRkm71Ng%B;M)HElQ$Pm*7~hEGh4Q>aSf&B`_%N!Ke? zkzQ+A?RFl$JoVt*LAIPsSclVM2>;o;zLAt5_~A`BzrASCjo|a1exJggotLlI%7T*~ zb}Q19P6$x?a>CAWCsL;xoJS&U z@+y!Tn?@}-2sxNzy6VQVxyiiG#%ajpdXd(vSvrm|3y^p&U2*EpC1JmpA zf_9oplixs?VIC)re^=Z}2pSwNM~f7muB%Np#3SEs!9Op2fl?pp$jq+oPA?~iSnaPvWE%CZ0Gg+Kx_5O_ZS%niF+mpa6w za3x9-YzMr^7|GdQ9qj>o6OL&P3S{Nn^0q|Zil%iWW6k>={?@bUwNaPAUifKQ$mNX{ zp4bjU)Ha_Vh5p5PleW{aKr68)H%s?+Zq0u`y_Qoi%HtihG=rAb)m>_2CEDXLMzyUp zM^-1LHp$CT=4#p7HIKWEjcbF&EhtI9ziuoz;be_k}bYFy*F(N8(yMAl(b!-#k5g-%y?FUPPCTi}n7i z*unYXNBL&5dTi_*uVB-DMmT@RWhB6fa^7J=buV=RC%Jp{3aBIc&hRYqvu$jm2lwu2 zfR=&SfGCCey_ZMMh}+t!T|Z&)ic>{|FdoK)bp-DRY7q#qI zxHY$2+(T=4Zpt^@pudarekW;^6~`A z^21<31(1YJiKv@bG8|ZgKxS@zJsI?AH!JT~$A|ZGOHzG+r0RfFfVw#UQhj)Mj0XM* zs;IvAazvdeae!tEa7jq1)k|CU_a{5QuO#S6xVv4`b1hZ8l+JR~C`-x3L>eTI==hZ8 zk;Km_nz?sE*Js~6`n{FG2{u4Y+U)S8h|yi(IgRo?^bU|woDFpx&9R5ExAj!D2E%IW zG<4T{&x=4KVj1Nh1PLx2?T@Wn6Tn(w+ayA<80KBHC~%Du5)3MCbhg;iCi~=F<3>#j z4w>iM=B%*$z7gT8mT~nxyeY};L zniSzHs122rvIlZ>ozzV;3um4?g5Gbxb7N1G*gUk(xJK$t)O$|IyI}~f2U$qj>8>0j zgU8nk>4)1h!y1=`OZOvj3fSANN4)OST`bn-j>$*;A>VE0H7d0(u4j>Wb`tAh$W<3m7IxlFsHIRW4soqfdOj8Z3u zU@Rr?`Yd!1H2otU5QxBiRf?Nk$`}t`-oDo;BJ3*oGUE?AlYq)|B6TRv!+Uckdcfp5 z2A4m{H6QM1X+1^GGKghAjYGMzC+iy@m7eY$qR0Bl;9>bv7_l;w#d;MW+5E{>az=EB zRYQc&VCepO-u7`+W(Qhd+VkoB7u;!FARBoqU~qI!E*-)n7PHRdG4OW#{taS2xQlaJ zf5N~uYLNSg;Z|nSnJ)6CwKL)4tIJB0ruEC#q4XFcKwvrWvwGmIQS9+tb=%!h)n_+G zPTo|gRyj3;-R9;42Q$img`t)*s42bGqi+9fvZtl$UFhaptUmIfLdiR?HAtS6Z8r3h z`tI9dj{2wIVr6G+(Q52^n2@ddlcXN)L^9wv8dEfH#aA4Pm>4V$s@l`)*j~fZ>0s*0KdKD~ zMGW-xqYY$uqvrf&l*VuhU1PR~$&0978 zj!&q|%NBDNj}~`Xk;`k8z31>@7k3vP;ero0JiJC~TC_JcIla~E@I$bSJV>bX_DRsc zmRW(Pam9v{6>)>h$$$N)-1zaD!I!ICmidE-?<*akq;>tklBw%?IZvVnNr|=9sSc)P z4t9dyGIeZk1;ZGd)&}A0=YLe;6psZWkA0>B-}#W?@sa{BCdJ+kegpd!^}_YHFItfG zu0z=#F(HsZ5As6LVP5nJWOM`WN~?cES`A6n^2bc+OZKRc zoFfA*t#vgh+(N*Rwp~I|*&lZ-e7?zqb>!=VRk-sutu~7ppM+`dn6eT8?-t{@54w`J z=SPUQ1W_BfC0Sr&E?84F|Jgu6t3tkD2XD6bT^+>FaCb)=;E-&9KD_)S^B>TQ9vO_+ z_5nOzE!QtDcHgE>>LHJ4apc@#4vF^7uXE7VvyG$5OTs1n|;~$^1)3p;!34tSMSp}U{hix4z*l~xRggY z&>L6?L1aVq#x(SC@Ifb1QvA4x%EE%_ny?)&+v9|`72(iB%!cYm%0xC1CCwj8YKk6F zbLhnxS?6t3F~##g)oEWMdh(8W>~7X z4^Jvzy4DYrVhpjpu9P$D+z%4DsKai_X2mgs%w9b`d8(AWu0sL7$`)hLv6`g5@4{f@ z_A#WKayp_2!?ZJ__QrP&8(=}*g zat*={FR;hMcb4;~{c7iuW&ou|WAyL7>M`LPM|3{P z$CDfc(YF!gj&XcA?}L0cS;1Kt1CP8am|1?p$k?t}5iXp${QAL*iU@3!dc|f-Q$-JY zmG|xf@jL_mC@SQ21|=3TR6v)JeRyBLUKePI9aCV9HqQ&0XK?(ua+{LOtTD}lRC@}{_iS%5iaoLdl7#hOcqtwvWy6^rz3)Ea8l#g} z1IVAuHf`IWsLPG*$qvabR|A`4bG^slE5-dY>tVyqxj+{YvFHK&QHQkm;)0oeq$+$S%RyvlQE2kdU=EEQRWm1^XWa=i1!vHzrk3bdF0--oZvcB z%p>U!e!vlJS8b5HEyPQGWs28sF#e2wqz)eBgeL@A|5;n|L8g89n^gZ?1JkjEe)C-f z$8UUnbleirn$$bFoVqt@Hw}h%_PQyA=bD1b_s)XK=h&Fea?m-nJEBfsja2rnWTpAJ z4)U(*xTD4<^0#NCiuC;i+Du2hWE;|Xgqjnzsmax$C&#@b)kOr?1emzDMcc&kyZK~VzaxnqHyuK$`+suH;XGDX0*^JF|@u6cV#PnqL*stNFBI zWq^lWlk9UAAsk_7_{X!`YwH4BMsbld&$q^oJ&~*RlMWG7Z;i32^`tGCbcwac!oCDq zD$_LtBmX{fWNMt*FI6__#WZdWt(D*)x3~yYcsO`Ap%CVf69@<54UOXdF~G0ofJ5siFf7ZY;`#xnn0CF~Nd8)maGUPt2$jT$Zpx zb5kQ#wUeYfR!C;pLKz){&gsGls@3-4-_QFZbNqAV5PzxWviK4V{`y$7kRZ15f>8YO z>A~?mmch#phZp#m2b{$uj?9Jn+JmVg$l?to{ki^zIee~0{+M|Tr=ZdcWtLrrJjY(e zy*cm6maqNs(2RwA9BP@Q3mDPN^$~$ByCi+~j(FFeY1$x=StRTPib_Jn>5w9~9k!I$ z5^VW^GgA^VDws`#=u=`tO^Oc4$@mLmGv9)E_VgQ{)2wFfODRpY%c$;Jq;Ib{%8K z>mAvMiYKc7sI|p!^vALtP{I4LSp&UHKs>ooqnbEF<3*E(V=VCw+27j?^2?fw6_qZh zt;fPiwSdA50go}lx7%>z@+1vvf9x(5hpp)_x-)IGhnvYsJpWYR@MfLS`Zr#i+sTvc zOO;r5cnaN2aKbw(*RF&nvcba8A=Y{}9%_u*7q+Oxa^c@~ zllyzSsJ~9|swNEcHNKe+nC`#_J}%ps20O#2VLQe=c+O5+&QYv$^)JB5muo0uTodJ8 zPD8?=5e0eOd$)e$l^c=Nb17*T7<2?uhj!N^e=gG=@V4rzZ6bB4p;W~Ffl6%80v|!M zq1ldFA}!zVeg1)A$jcL&$Jo3h`Z2FTdNL8^N4uKT9-3#GMDp_TZ8k0 z;o&LKlNWwVS`D#Ah_9CauLjNsm?Q3ZwRv4v*-g`A_(355z^D>CCTTsE$R`bkHuQkdF~eObh5KxY4qFYMHC4+1nTU^?AUd?6@89Qz(NG%V!Idqy zhy5dl=D=vV8G6!JX?}W!QI;$$}i7xF3tk%s%)pDh2sAVP>xZwB_|(! zuX3-^@;D^u3#A`O2t^ZAtJPN1Ad)|uUhg{3q4r)=E27gENP`zFkRLZc3d0heO^_j+ z58Jv+pR#tayTy2uM>ju}NZk>-Q#8Sw1FK({J1NRxZZPV-_Fb5+pLPG2 z_nAe^`ouxb&YX4PmOgr7YK_olM>4jTWp@^}Mk2ASB}b~&j5-UATR2_M?ds>B7;Wxl zPO3NX+7)k2s4uFt1#czyZ`L$;w;of6&8F=l5-BjBREQC+I)DJ`uMQbk6-F%A38a&C z7#2ODgzNVl8M>V{ZM`yCZ2$i%MO(LsCy;|SfSyAIr$kDPu-(ubF4^6^3 zH4Lq(*HCS(i7oRE6=Uwvdir&!hI)($B>)eoD-MC=I`5webcTZ-P^WbISL~t%PI7}2 z-lvs1{3w8_k5&vM2Wg`Z=5Oorn};?Rc9EgK7h3eridFJx4hx9msT>_`r_E%m6qXzf zz&>{6DQw+Zp+*F=N<$!$uAj_LWrNbD3uV&zowQ}2%3}9BOJ&P$NJa$sH@(wYvkj3w z{Rn3Pf%IpUNFO9Ji*sGyO_ikt{s{lrv=BmQ!7%^GO+Uj+dw}+Zxv{jOX?nF3Xb-^o zP$XBXEu+z$KfY%_ir(zH2RWq45 zRO8famh-%vEHMN1JGJ3OJl+&cugTDHa4@*>CSSXwi!5fyTIQkApkdqkiVI58CzyI( z)1V@(cFERbiWG}w=T-;+kk=s^#K2JZ=@F-vzRr^9jl7RTu3U@XSgoFHgY|~cBFYyv z%qU_Ph7ohXDeuSIj0rAWQ3WP{dYViJKS**1;}<(TRi;nenGP$pzNdHOpU}Iot*Cgr z;QN>hL<7*x=)QuH(SMyHDDY`_Ezh>yNDm_nGdS7iTZ~^9XcTHC&UVIMs1~*aNhy{7 z+J+e#Wjq*$2D;JZKPZSE2CqI*(nyVbUv<80Z+0(hl6Pe7%gd*iH@rng42K37*QQH< z5LtriRV_eG!^Qn~!`8vH^9*1cdS4j%ZB2N!`6zqc-P%3d`-R}ujez-QzrO8nXt}?& z5Xjuvl_DvtjOjnH?Fg3v=LsrlPh;=U)gLrq8C)_ljO8 zQX)PAa?XZmm1SHl7|U=507dFnL-WUid+zPNX04%@vWa_mncRw+nnKYFRB0I<`me8I zUswHFgu9da73;qL6&}Fq0Cb}X&*S; zux~h*+3?q@7j{zQFFb1q3uc8rhX%V)EnaOfyt~-2Z-4-PG&GVSF0r**EZ#M5;_xW5 z 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± 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

cyV$A7d@&_lP$w3`_D7{PB$| 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 NNl`hGY9WJw{{zJ5$kPA- literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/favicon.png b/content/docs/smallrye-reactive-messaging/3/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..93f705b9cf8f220b2613664026ffe3cc88a87728 GIT binary patch literal 335720 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 PUc^9Apl;6jS-j`d|}- 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

ID!LMUR;!Avg(Y-cTWfC`_2x{V#8#(3J+X%{F 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 N5|bCL5jOn&{{S|)6p#P_ literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/logo.png b/content/docs/smallrye-reactive-messaging/3/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2d957bd5273da2c077a34f832ff2b90ee2fd136b GIT binary patch literal 352162 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 rIK>@DR%@kxUF#gRE-nIL=ZHG$4Qu|D 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 z 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%0AtGvm?Qy4pGN%$3yXmdqdIzUc_WT7a=ij; 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 JQnAz1@% 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%0A5V}M-g)#}54DvjpyK%e>v?&|ROFQ<@vNin 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
    y&QVOZ#9TM$pP|3Ws>?A4oAO>R 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 A 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/messages.png b/content/docs/smallrye-reactive-messaging/3/images/messages.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b37e6a29f6fcaf70574aab2efb9949e7509fcc GIT binary patch literal 31071 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/outgoing.png b/content/docs/smallrye-reactive-messaging/3/images/outgoing.png new file mode 100644 index 0000000000000000000000000000000000000000..f5aaef29d96eb96dee426eb2724414fe6367f7bb GIT binary patch literal 37982 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/overview.dark.png b/content/docs/smallrye-reactive-messaging/3/images/overview.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..22b5ab45af0ea1c2ec75c15a95dbe6ec776b376e GIT binary patch literal 227317 zcmb5VXIN8P*ELL$ZYUz4^rk2XqI8hnrAk#gq7X`eNGFC+q=*y&DbjmyB7|N=QKW

    J?}Uk6T-PTOEYUc1>SFqAJ!^vPecGK{=H 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/overview.png b/content/docs/smallrye-reactive-messaging/3/images/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..42e00e441280da27fa7af6830dfdca4fe34a2cb6 GIT binary patch literal 332218 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 z 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 z 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

    *XdU8l_Vyxjp^CT>)u^P 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 m-t?Ee&i`MZ{dw*G^jZO>HHh!*iA|6I literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/processor.png b/content/docs/smallrye-reactive-messaging/3/images/processor.png new file mode 100644 index 0000000000000000000000000000000000000000..faac01281b6e34a1366b894bdac15f9fc2e55b3b GIT binary patch literal 52042 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 XTD(%|*XJEs3_#%N>gTe~DWM4fC$7Kz literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/3/images/redhat_reversed.svg b/content/docs/smallrye-reactive-messaging/3/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-reactive-messaging/3/index.adoc b/content/docs/smallrye-reactive-messaging/3/index.adoc new file mode 100644 index 000000000..f98038e4e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/index.adoc @@ -0,0 +1,17 @@ += SmallRye Reactive Messaging +include::_attributes.adoc[] + +*SmallRye Reactive Messaging is a framework for building event-driven, data streaming, and event-sourcing applications.* + +It lets your application interact using various messaging technologies such as Apache Kafka, AMQP or MQTT. +The framework provides a flexible programming model bridging https://www.cdi-spec.org/[CDI] and event-driven. + +SmallRye Reactive Messaging is an implementation of the Eclipse MicroProfile Reactive Messaging specification {spec-version}. + +.Event-Driven Architectures +[.has-dark] +image::images/overview.png[Event-Driven Architectures] + +SmallRye Reactive Messaging is used in http://quarkus.io[Quarkus], and https://openliberty.io/[Open Liberty]. + +Start with the xref:getting-started.adoc[Getting Started] guide to know how it can be used and introduce various features. diff --git a/content/docs/smallrye-reactive-messaging/3/jms/advanced-jms.adoc b/content/docs/smallrye-reactive-messaging/3/jms/advanced-jms.adoc new file mode 100644 index 000000000..ab0285e80 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/jms/advanced-jms.adoc @@ -0,0 +1,37 @@ += Advanced configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Underlying thread pool + +Lots of JMS operations are blocking and so not cannot be done on the +_caller_ thread. For this reason, these blocking operations are executed +on a worker thread. + +You can configure the thread pool providing these worker threads using +the following MicroProfile Config properties: + +* `smallrye.jms.threads.max-pool-size` - the max number of threads +(Defaults to 10) +* `smallrye.jms.threads.ttl` - the ttl of the created threads +(Defaults to 60 seconds) + +== Selecting the ConnectionFactory + +The JMS Connector requires a `javax.jms.ConnectionFactory` to be exposed +as a CDI bean. The connector looks for a `javax.jms.ConnectionFactory` +and delegate the interaction with the JMS server to this factory. + +In case you have several connection factories, you can use the +`@Identifier` qualifier on your factory to specify the name. Then, in +the channel configuration, configure the name as follows: + +[source,properties] +---- +# Configure the connector globally +mp.messaging.connector.smallrye-jms.connection-factory-name=my-factory-name +# Configure a specific incoming channel +mp.messaging.incoming.my-channel.connection-factory-name=my-factory-name +# Configure a specific outgoing channel +mp.messaging.outgoing.my-channel.connection-factory-name=my-factory-name +---- diff --git a/content/docs/smallrye-reactive-messaging/3/jms/jms.adoc b/content/docs/smallrye-reactive-messaging/3/jms/jms.adoc new file mode 100644 index 000000000..15f7b917d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/jms/jms.adoc @@ -0,0 +1,74 @@ += The JMS connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS connector adds support for https://en.wikipedia.org/wiki/Jakarta_Messaging[Jakarta +Messaging] to Reactive +Messaging. It is designed to integrate with _JakartaEE_ applications +that are sending or receiving Jakarta Messaging Messages. + +Jakarta Messaging is a Java Message Oriented Middleware API for sending +messages between two or more clients. It is a programming model to +handle the producer-consumer messaging problem. It is a messaging +standard that allows application components based on Jakarta EE to +create, send, receive, and read messages. It allows the communication +between different components of a distributed application to be loosely +coupled, reliable, and asynchronous. + +Using the JMS connector + +To you the JMS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-jms + {project-version} + +---- + +The connector name is: `smallrye-jms`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-jms + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-jms +---- + +The JMS Connector requires a `javax.jms.ConnectionFactory` to be exposed +(as CDI bean). The connector looks for a `javax.jms.ConnectionFactory` +and delegate the interaction with the JMS server to this factory. In +other words, it creates the JMS connection and context using this +factory. + +So, in order to use this connector you would need to expose a +`javax.jms.ConnectionFactory`: + +[source,java] +---- +import javax.enterprise.context.ApplicationScoped; +import javax.enterprise.inject.Produces; +import javax.jms.ConnectionFactory; + +import org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory; + +@ApplicationScoped +public class ConnectionFactoryBean { + + @Produces + ConnectionFactory factory() { + return new ActiveMQJMSConnectionFactory( + "tcp://localhost:61616", + null, null); + } + +} +---- + +The factory class may depend on your JMS connector/server. diff --git a/content/docs/smallrye-reactive-messaging/3/jms/receiving-jms-messages.adoc b/content/docs/smallrye-reactive-messaging/3/jms/receiving-jms-messages.adoc new file mode 100644 index 000000000..0685d33fe --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/jms/receiving-jms-messages.adoc @@ -0,0 +1,101 @@ += Receiving messages from JMS +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS Connector retrieves JMS Message and maps each of them into +Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a `javax.jms.ConnectionFactory` bean exposed and +connected to your JMS server. Don’t forget that it’s required to use the +JMS connector. + +Configure your application to receive JMS messages on the `prices` +channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-jms +---- + +[NOTE] +==== + +You don’t need to set the destination. By default, it uses the channel +name (`prices`). You can configure the `destination` attribute to +override it. + +==== + +[NOTE] +==== + +By default the connector uses a `queue`. You can configure it to use a +`topic` by setting `destination-type=topic`. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The content of the incoming JMS message is mapped to a Java object. + +By default it extracts the JMS Message _body_ as a `java.lang.Object`. +This can be changed by setting, in the incoming JMS Message: + +[arabic] +. The `++_++classname` property +. the `JMSType` + +The value must be a fully qualified class name. The connector then load +the associated class. + +[NOTE] +==== + +The connector loads the associated `Class` using the `TCCL` and if not +found, the classloader used to load the connector. + +==== + +If the target type is a primitive type ort `String`, the resulting +message contains the mapped payload. + +If the target type is a class, the object is built using included JSON +deserializer (JSON-B and Jackson provided OOB, for more details see +link:serde[Serde]), from the `JMSType`. If not, the default behavior is +used (Java deserialization). + +== Inbound Metadata + +Messages coming from JMS contains an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-jms/{javadoc-version}/io/smallrye/reactive/messaging/jms/IncomingJmsMessageMetadata.html[`io.smallrye.reactive.messaging.jms.IncomingJmsMessageMetadata`] in the metadata. + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When the Reactive Messaging `Message` gets acknowledged, the associated +JMS Message is acknowledged. As JMS acknowledgement is blocking, this +acknowledgement is delegated to a worker thread. + +== Configuration Reference + +include::{generated-dir}/smallrye-jms-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/3/jms/sending-jms-messages.adoc b/content/docs/smallrye-reactive-messaging/3/jms/sending-jms-messages.adoc new file mode 100644 index 000000000..e781729c9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/jms/sending-jms-messages.adoc @@ -0,0 +1,106 @@ += Sending messages to JMS +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS Connector can send Reactive Messaging `Messages` as JMS Message. + +== Example + +Let’s imagine you have a `javax.jms.ConnectionFactory` bean exposed and +connected to your JMS server. Don’t forget that it’s required to use the +JMS connector. + +Configure your application to write the messages from the `prices` +channel into a JMS Message as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-jms +---- + +[NOTE] +==== + +You don’t need to set the destination. By default, it uses the channel +name (`prices`). You can configure the `destination` attribute to +override it. + +==== + +[NOTE] +==== + +By default the connector uses a `queue`. You can configure it to use a +`topic` by setting `destination-type=topic`. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The connector serializes the incoming message payload into the body of +the outgoing JMS Message. + +If the payload is a `String` or a primitive type, the payload is encoded +as `String` and the `JMSType` is set to the target class. The +`++_++classname` property is also set. The JMS Message is a `TextMessage`. + +If the payload is a `byte++[]++`, it’s passed as `byte++[]++` in a JMS +`BytesMessage`. + +Otherwise, the payload is encoded using included JSON serializer (JSON-B +and Jackson provided OOB, for more details see link:serde[Serde]). The +`JMSType` is set to the target class. The `++_++classname` property is also +set. The JMS Message is a `TextMessage`. + +For example, the following code serialize the produced `Person` using +JSON-B. + +[source,java] +---- +@Incoming("...") +@Outgoing("my-channel") +public Person sendToJms(...) { + // ... + return new Person("bob", 42); +} +---- + +It requires that the `Person` class can be serialized to JSON. The +classname is passed in the `JMSType` property and `++_++classname` property. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-jms/{javadoc-version}/io/smallrye/reactive/messaging/jms/OutgoingJmsMessageMetadata.html[`OutgoingJmsMessageMetadata`] +to influence how the message is going to be written to JMS. + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsOutboundMetadataExample.java[tags=code,indent=0] +---- + +The metadata allow adding properties but also override the destination. + +== Acknowledgement + +Once the JMS message is sent to the JMS server, the message is +acknowledged. Sending a JMS message is a blocking operation. So, sending +is done on a worker thread. + +== Configuration Reference + +include::{generated-dir}/smallrye-jms-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/avro-configuration.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/avro-configuration.adoc new file mode 100644 index 000000000..a714f9cb9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/avro-configuration.adoc @@ -0,0 +1,152 @@ += Using Apache Avro serializer/deserializer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you are using https://avro.apache.org/[Apache Avro] +serializer/deserializer, please note the following configuration +properties. + +== For https://docs.confluent.io/current/schema-registry/serdes-develop/serdes-avro.html[Confluent] Schema Registry + +Confluent Avro library is `io.confluent:kafka-avro-serializer`. Note +that this library is not available in Maven Central, you need to use the +https://docs.confluent.io/clients-kafka-java/current/overview.html[Confluent Maven +repository]. + +=== Consumer + +[width="100%",cols="25%,75%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.confluent.kafka.serializers.KafkaAvroDeserializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|specific.avro.reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer +mp.messaging.incoming.[channel].schema.registry.url=http://{your_host}:{your_port}/ +mp.messaging.incoming.[channel].specific.avro.reader=true +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.confluent.kafka.serializers.KafkaAvroSerializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.confluent.kafka.serializers.KafkaAvroSerializer +mp.messaging.outgoing.[channel].schema.registry.url=http://{your_host}:{your_port}/ +.... + +== For https://www.apicur.io/registry/[Apicurio] Registry 1.x + +Apicurio Registry 1.x Avro library is +`io.apicurio:apicurio-registry-utils-serde`. + +The configuration properties listed here are meant to be used with the +Apicurio Registry 1.x client library and Apicurio Registry 1.x server. + +=== Consumer + +[width="100%",cols="38%,62%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.apicurio.registry.utils.serde.AvroKafkaDeserializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/api +|apicurio.registry.avro-datum-provider |io.apicurio.registry.utils.serde.avro.DefaultAvroDatumProvider +|apicurio.registry.use-specific-avro-reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.apicurio.registry.utils.serde.AvroKafkaDeserializer +mp.messaging.incoming.[channel].apicurio.registry.url=http://{your_host}:{your_port}/api +mp.messaging.incoming.[channel].apicurio.registry.avro-datum-provider=io.apicurio.registry.utils.serde.avro.DefaultAvroDatumProvider +mp.messaging.incoming.[channel].apicurio.registry.use-specific-avro-reader=true +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.apicurio.registry.utils.serde.AvroKafkaSerializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/api +|=== + +To automatically register schemas with the registry, add: + +[width="100%",cols="31%,69%",options="header",] +|=== +|Property |Value +|apicurio.registry.global-id |io.apicurio.registry.utils.serde.strategy.GetOrCreateIdStrategy +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.apicurio.registry.utils.serde.AvroKafkaSerializer +mp.messaging.outgoing.[channel].apicurio.registry.url=http://{your_host}:{your_port}/api +mp.messaging.outgoing.[channel].apicurio.registry.global-id=io.apicurio.registry.utils.serde.strategy.GetOrCreateIdStrategy +.... + +== For https://www.apicur.io/registry/[Apicurio] Registry 2.x + +Apicurio Registry 2.x Avro library is +`io.apicurio:apicurio-registry-serdes-avro-serde`. + +The configuration properties listed here are meant to be used with the +Apicurio Registry 2.x client library and Apicurio Registry 2.x server. + +=== Consumer + +[width="100%",cols="31%,69%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.apicurio.registry.serde.avro.AvroKafkaDeserializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/apis/registry/v2 +|apicurio.registry.use-specific-avro-reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.apicurio.registry.serde.avro.AvroKafkaDeserializer +mp.messaging.incoming.[channel].apicurio.registry.url=http://{your_host}:{your_port}/apis/registry/v2 +mp.messaging.incoming.[channel].apicurio.registry.use-specific-avro-reader=true +.... + +=== Producer + +[width="100%",cols="19%,81%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.apicurio.registry.serde.avro.AvroKafkaSerializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/apis/registry/v2 +|=== + +To automatically register schemas with the registry, add: + +[cols=",",options="header",] +|=== +|Property |Value +|apicurio.registry.auto-register |true +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.apicurio.registry.serde.avro.AvroKafkaSerializer +mp.messaging.outgoing.[channel].apicurio.registry.url=http://{your_host}:{your_port}/apis/registry/v2 +mp.messaging.outgoing.[channel].apicurio.registry.auto-register=true +.... diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/client-service.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/client-service.adoc new file mode 100644 index 000000000..2487db3de --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/client-service.adoc @@ -0,0 +1,39 @@ += KafkaClientService +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For advanced use cases, SmallRye Reactive Messaging provides a bean of +type `KafkaClientService` that you can inject: + +[source,java] +---- +@Inject +KafkaClientService kafka; +---- + +From there, you can obtain an +`io.smallrye.reactive.messaging.kafka.KafkaProducer` and an +`io.smallrye.reactive.messaging.kafka.KafkaConsumer`. + +`KafkaProducer` and `KafkaConsumer` expose a non-blocking API on top of +the Kafka client API. They also mediate access to the threads that +SmallRye Reactive Messaging uses to run all Kafka operations: the +_polling thread_, used for consuming records from Kafka topics, and the +_sending thread_, used for producing records to Kafka topics. (Just to +be clear: each _channel_ has its own polling thread and sending thread.) + +The reason why SmallRye Reactive Messaging uses a special thread to run +the poll loop should be obvious: the `Consumer` API is blocking. The +`Producer` API, on the other hand, is documented to be non-blocking. +However, in present versions, Kafka doesn’t guarantee that in all cases; +see https://issues.apache.org/jira/browse/KAFKA-3539[KAFKA-3539] for +more details. That is why SmallRye Reactive Messaging uses a dedicated +thread to run the send operations as well. + +Sometimes, SmallRye Reactive Messaging provides direct access to the +Kafka `Producer` or `Consumer`. For example, a +xref:kafka/consumer-rebalance-listener.adoc[`KafkaConsumerRebalanceListener`] +methods are always invoked on the polling thread, so they give you +direct access to `Consumer`. In such case, you should use the +`Producer`/`Consumer` API directly, instead of the +`KafkaProducer`/`KafkaConsumer` API. diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/consumer-rebalance-listener.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/consumer-rebalance-listener.adoc new file mode 100644 index 000000000..fbbdd605f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/consumer-rebalance-listener.adoc @@ -0,0 +1,67 @@ += Consumer Rebalance Listener +:version-root: ../ +include::{version-root}_attributes.adoc[] + +To handle offset commit and assigned partitions yourself, you can +provide a consumer rebalance listener. To achieve this, implement the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface, make the implementing class a bean, and add the `@Identifier` +qualifier. A usual use case is to store offset in a separate data store +to implement exactly-once semantic, or starting the processing at a +specific offset. + +The listener is invoked every time the consumer topic/partition +assignment changes. For example, when the application starts, it invokes +the `partitionsAssigned` callback with the initial set of +topics/partitions associated with the consumer. If, later, this set +changes, it calls the `partitionsRevoked` and `partitionsAssigned` +callbacks again, so you can implement custom logic. + +Note that the rebalance listener methods are called from the Kafka +_polling_ thread and must block the caller thread until completion. +That’s because the rebalance protocol has synchronization barriers, and +using asynchronous code in a rebalance listener may be executed after +the synchronization barrier. + +When topics/partitions are assigned or revoked from a consumer, it +pauses the message delivery and restarts once the rebalance completes. + +If the rebalance listener handles offset commit on behalf of the user +(using the `ignore` commit strategy), the rebalance listener *must* +commit the offset synchronously in the `partitionsRevoked` callback. We +also recommend applying the same logic when the application stops. + +Unlike the `ConsumerRebalanceListener` from Apache Kafka, the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +methods pass the Kafka `Consumer` and the set of topics/partitions. + +== Example + +In this example we set-up a consumer that always starts on messages from +at most 10 minutes ago (or offset 0). First we need to provide a bean +that implements the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface and is annotated with `@Identifier`. We then must configure +our inbound connector to use this named bean. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumer.java[indent=0] +---- + +To configure the inbound connector to use the provided listener we +either set the consumer rebalance listener’s name: + +* `mp.messaging.incoming.rebalanced-example.consumer-rebalance-listener.name=rebalanced-example.rebalancer` + +Or have the listener’s name be the same as the group id: + +* `mp.messaging.incoming.rebalanced-example.group.id=rebalanced-example.rebalancer` + +Setting the consumer rebalance listener’s name takes precedence over +using the group id. diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/default-configuration.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/default-configuration.adoc new file mode 100644 index 000000000..a8da3024e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/default-configuration.adoc @@ -0,0 +1,80 @@ += Retrieving Kafka default configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If your application/runtime exposes as a CDI _bean_ of type +`Map++<++String, Object` with the identifier `default-kafka-broker`, this +configuration is used to establish the connection with the Kafka broker. + +For example, you can imagine exposing this map as follows: + +[source,java] +---- +@Produces +@ApplicationScoped +@Identifier("default-kafka-broker") +public Map createKafkaRuntimeConfig() { + Map properties = new HashMap<>(); + + StreamSupport + .stream(config.getPropertyNames().spliterator(), false) + .map(String::toLowerCase) + .filter(name -> name.startsWith("kafka")) + .distinct() + .sorted() + .forEach(name -> { + final String key = name.substring("kafka".length() + 1).toLowerCase().replaceAll("[^a-z0-9.]", "."); + final String value = config.getOptionalValue(name, String.class).orElse(""); + properties.put(key, value); + }); + + return properties; +} +---- + +This previous example would extract all the configuration keys from +MicroProfile Config starting with `kafka`. + +[NOTE] +.Quarkus +==== + +Starting with Quarkus 1.5, a map corresponding to the previous example +is automatically provided. + +==== + +In addition to this default configuration, you can configure the name of +the `Map` producer using the `kafka-configuration` attribute: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-kafka +mp.messaging.incoming.my-channel.kafka-configuration=my-configuration +---- + +In this case, the connector looks for the `Map` associated with the +`my-configuration` name. If `kafka-configuration` is not set, an +optional lookup for a `Map` exposed with the channel name (`my-channel` +in the previous example) is done. + +[IMPORTANT] +==== + +If `kafka-configuration` is set and no `Map` can be found, the +deployment fails. + +==== + +Attribute values are resolved as follows: + +[arabic] +. if the attribute is set directly on the channel configuration +(`mp.messaging.incoming.my-channel.attribute=value`), this value is +used +. if the attribute is not set on the channel, the connector looks for +a `Map` with the channel name or the configured +`kafka-configuration` (if set) and the value is retrieved from that +`Map` +. If the resolved `Map` does not contain the value the default `Map` +is used (exposed with the `default-kafka-broker` name) diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/health.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/health.adoc new file mode 100644 index 000000000..e4f16f771 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/health.adoc @@ -0,0 +1,73 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka connector reports the readiness and liveness of each channel +managed by the connector. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +== Readiness + +On the inbound side, two strategies are available to check the readiness +of the application. The default strategy verifies that we have at least +one active connection with the broker. This strategy is lightweight. + +You can also enable another strategy by setting the +`health-readiness-topic-verification` attribute to `true`. In this case, +the check verifies that: + +* the broker is available +* the Kafka topic is created (available in the broker). +* no failures have been caught + +With this second strategy, if you consume multiple topics using the +`topics` attribute, the readiness check verifies that all the consumed +topics are available. If you use a pattern (using the `pattern` +attribute), the readiness check verifies that at least one existing +topic matches the pattern. + +On the outbound side (writing records to Kafka), two strategies are also +offered. The default strategy just verifies that the producer has at +least one active connection with the broker. + +You can also enable another strategy by setting the +`health-readiness-topic-verification` attribute to `true`. In this case, +teh check verifies that + +* the broker is available +* the Kafka topic is created (available in the broker). + +With this second strategy, the readiness check uses a Kafka Admin Client +to retrieve the existing topics. Retrieving the topics can be a lengthy +operation. You can configure a timeout using the +`health-readiness-timeout` attribute. The default timeout is set to 2 +seconds. + +Also, you can disable the readiness checks altogether by setting +`health-readiness-enabled` to `false`. + +== Liveness + +On the inbound side (receiving records from Kafka), the liveness check +verifies that: + +* no failures have been caught +* the client is connected to the broker + +On the outbound side (writing records to Kafka), the liveness check +verifies that: + +* no failures have been caught + +Note that a message processing failures _nacks_ the message which is +then handled by the failure-strategy. It the responsibility of the +failure-strategy to report the failure and influence the outcome of the +liveness checks. The `fail` failure strategy reports the failure and so +the liveness check will report the failure. diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/kafka.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/kafka.adoc new file mode 100644 index 000000000..dbe86b6d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/kafka.adoc @@ -0,0 +1,47 @@ += Apache Kafka Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka connector adds support for Kafka to Reactive Messaging. With +it you can receive Kafka Records as well as write `message` into Kafka. + +https://kafka.apache.org/[Apache Kafka] is a popular distributed +streaming platform. It lets you: + +* Publish and subscribe to streams of records, similar to a message +queue or enterprise messaging system. +* Store streams of records in a fault-tolerant durable way. +* Process streams of records as they occur. + +The Kafka cluster stores streams of _records_ in categories called +_topics_. Each record consists of a _key_, a _value_, and a _timestamp_. + +For more details about Kafka, check the +https://kafka.apache.org/intro[documentation]. + +== Using the Kafka Connector + +To use the Kafka Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-kafka + {project-version} + +---- + +The connector name is: `smallrye-kafka`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-kafka + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-kafka +---- diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/kerberos.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/kerberos.adoc new file mode 100644 index 000000000..873617497 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/kerberos.adoc @@ -0,0 +1,22 @@ += Kerberos authentication +:version-root: ../ +include::{version-root}_attributes.adoc[] + +When using https://en.wikipedia.org/wiki/Kerberos_(protocol)[Kerberos] +authentication, you need to configure the connector with: + +* the security protocol set to `SASL++_++PLAINTEXT` +* the SASL mechanism set to `GSSAPI` +* the Jaas config configured with `Krb5LoginModule` +* the Kerberos service name + +The following snippet provides an example: + +[source,properties] +---- +kafka.bootstrap.servers=ip-192-168-0-207.us-east-2.compute.internal:9094 +kafka.sasl.mechanism=GSSAPI +kafka.security.protocol=SASL_PLAINTEXT +kafka.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true refreshKrb5Config=true useKeyTab=true storeKey=true keyTab="file:/opt/kafka/krb5/kafka-producer.keytab" principal="kafka-producer/ip-192-168-0-207.us-east-2.compute.internal@INTERNAL"; +kafka.sasl.kerberos.service.name=kafka +---- diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/protobuf-configuration.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/protobuf-configuration.adoc new file mode 100644 index 000000000..36e025d1e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/protobuf-configuration.adoc @@ -0,0 +1,51 @@ += Using Google Protobuf serializer/deserializer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you are using https://developers.google.com/protocol-buffers/[Protocol +Buffers] +serializer/deserializer, please note the following configuration +properties. + +== For https://docs.confluent.io/platform/current/schema-registry/serdes-develop/serdes-protobuf.html#serdes-and-formatter-protobuf[Confluent] Schema Registry + +Confluent protobuf library is `io.confluent:kafka-protobuf-serializer`. +Note that this library is not available in Maven Central, you need to +use the https://docs.confluent.io/clients-kafka-java/current/overview.html[Confluent Maven +repository]. + +=== Consumer + +[width="100%",cols="49%,51%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.confluent.kafka.serializers.protobuf.KafkaProtobufDeserializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|mp.messaging.incoming.++[++channel++]++.specific.protobuf.value.type |your.package.DomainObjectKey$Key +|mp.messaging.incoming.++[++channel++]++.specific.protobuf.key.type |your.package.DomainObjectValue$Value +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.confluent.kafka.serializers.protobuf.KafkaProtobufDeserializer +mp.messaging.incoming.[channel].schema.registry.url=http://{your_host}:{your_port}/ +mp.messaging.incoming.[channel].specific.protobuf.value.type=your.package.DomainObjectKey$Key +mp.messaging.incoming.[channel].specific.protobuf.key.type=your.package.DomainObjectValue$Value +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer +mp.messaging.outgoing.[channel].schema.registry.url=http://{your_host}:{your_port}/ +.... diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/receiving-kafka-records.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/receiving-kafka-records.adoc new file mode 100644 index 000000000..4aaaf4a4b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/receiving-kafka-records.adoc @@ -0,0 +1,647 @@ += Receiving Kafka Records +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka Connector retrieves Kafka Records from Kafka Brokers and maps +each of them to Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a Kafka broker running, and accessible using the +`kafka:9092` address (by default it would use `localhost:9092`). +Configure your application to receive Kafka records from a Kafka _topic_ +on the `prices` channel as follows: + +[source,properties] +---- +kafka.bootstrap.servers=kafka:9092 # <1> + +mp.messaging.incoming.prices.connector=smallrye-kafka # <2> +mp.messaging.incoming.prices.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer # <3> +mp.messaging.incoming.prices.broadcast=true # <4> +---- + +[arabic] +. Configure the broker location. You can configure it globally or per +channel +. Configure the connector to manage the `prices` channel +. Sets the (Kafka) deserializer to read the record’s value +. Make sure that we can receive from more than one consumer (see +`KafkaPriceConsumer` and `KafkaPriceMessageConsumer` below) + +[NOTE] +==== + +You don’t need to set the Kafka topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The deserialization is handled by the underlying Kafka Client. You need +to configure the: + +* `mp.messaging.incoming.++[++channel-name++]++.value.deserializer` to +configure the value deserializer (mandatory) +* `mp.messaging.incoming.++[++channel-name++]++.key.deserializer` to configure +the key deserializer (optional, default to `String`) + +If you want to use a custom deserializer, add it to your `CLASSPATH` and +configure the associate attribute. + +In addition, the Kafka Connector also provides a set of _message +converters_. So you can receive _payloads_ representing records from +Kafka using: + +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/Record.html[`Record`] - a pair key/value +* https://kafka.apache.org/26/javadoc/index.html?org/apache/kafka/clients/consumer/ConsumerRecord.html[ConsumerRecord++<++K,V++>++] - +a structure representing the record with all its metadata + +[source,java] +---- +include::{examples-dir}/kafka/inbound/Converters.java[tags=code,indent=0] +---- + +== Inbound Metadata + +Messages coming from Kafka contains an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/IncomingKafkaRecordMetadata.html[`IncomingKafkaRecordMetadata`] +in the metadata. It provides the key, topic, partitions, +headers and so on: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a message produced from a Kafka record is acknowledged, the +connector invokes a _commit strategy_. These strategies decide when the +consumer offset for a specific topic/partition is committed. Committing +an offset indicates that all previous records have been processed. It is +also the position where the application would restart the processing +after a crash recovery or a restart. + +Committing every offset has performance penalties as Kafka offset +management can be slow. However, not committing the offset often enough +may lead to message duplication if the application crashes between two +commits. + +The Kafka connector supports three strategies: + +* `throttled` keeps track of received messages and commit to the next +offset after the latest _acked_ message in sequence. This strategy +guarantees _at-least-once delivery_ even if the channel performs +asynchronous processing. The connector tracks the received records +and periodically (period specified by `auto.commit.interval.ms` +(default: 5000)) commits the highest consecutive offset. The +connector will be marked as unhealthy if a message associated with a +record is not acknowledged in +`throttled.unprocessed-record-max-age.ms` (default: 60000). Indeed, +this strategy cannot commit the offset as soon as a single record +processing fails (see failure-strategy to configure what happens on +failing processing). If `throttled.unprocessed-record-max-age.ms` is +set to less than or equal to 0, it does not perform any health check +verification. Such a setting might lead to running out of memory if +there are poison pill messages. This strategy is the default if +`enable.auto.commit` is not explicitly set to `true`. +* `checkpoint` allows persisting consumer offsets on a "state store", +instead of committing them back to the Kafka broker. Using the +`CheckpointMetadata` API, consumer code can persist a processing +state with the offset to mark the progress of a consumer. +When the processing continues from a previously persisted offset, +it seeks the Kafka consumer to that offset and also restores the +persisted state, continuing the stateful processing from where it +left off. The `checkpoint` strategy holds locally the processing +state associated with the latest offset, and persists it +periodically to the state store (period specified by +`auto.commit.interval.ms` (default: 5000)). The connector will be +marked as unhealthy if no processing state is persisted to the state +store in `checkpoint.unsynced-state-max-age.ms` (default: 10000). +Using the `CheckpointMetadata` API the user code can force to persist +the state on message ack. If `checkpoint.unsynced-state-max-age.ms` +is set to less than or equal to 0, it does not perform any health +check verification. For more information, see +xref:#stateful-processing-with-checkpointing[Stateful processing with Checkpointing] +* `latest` commits the record offset received by the Kafka consumer as +soon as the associated message is acknowledged (if the offset is +higher than the previously committed offset). This strategy provides +_at-least-once_ delivery if the channel processes the message +without performing any asynchronous processing. This strategy should +not be used on high-load as offset commit is expensive. However, it +reduces the risk of duplicates. +* `ignore` performs no commit. This strategy is the default strategy +when the consumer is explicitly configured with `enable.auto.commit` +to `true`. It delegates the offset commit to the Kafka client. When +`enable.auto.commit` is `true` this strategy *DOES NOT* guarantee +at-least-once delivery. However, if the processing failed between +two commits, messages received after the commit and before the +failure will be re-processed. + +[IMPORTANT] +==== + +The Kafka connector disables the Kafka _auto commit_ if not explicitly +enabled. This behavior differs from the traditional Kafka consumer. + +==== + +If high-throughout is important for you, and not limited by the +downstream, we recommend to either: + +* Use the `throttled` policy +* or set `enable.auto.commit` to `true` and annotate the consuming +method with `@Acknowledgment(Acknowledgment.Strategy.NONE)` + +== Failure Management + +If a message produced from a Kafka record is _nacked_, a failure +strategy is applied. The Kafka connector supports 3 strategies: + +* `fail` - fail the application, no more records will be processed. +(default) The offset of the record that has not been processed +correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. The +offset of the record that has not been processed correctly is +committed. +* `dead-letter-queue` - the offset of the record that has not been +processed correctly is committed, but the record is written to a +(Kafka) _dead letter queue_ topic. + +The strategy is selected using the `failure-strategy` attribute. + +In the case of `dead-letter-queue`, you can configure the following +attributes: + +* `dead-letter-queue.topic`: the topic to use to write the records not +processed correctly, default is `dead-letter-topic-$channel`, with +`$channel` being the name of the channel. +* `dead-letter-queue.producer-client-id`: the client id used by the kafka +producer when sending records to dead letter queue topic. If not specified +it will default to `kafka-dead-letter-topic-producer-$client-id`, with $client-id +being the value obtained from consumer client id. +* `dead-letter-queue.key.serializer`: the serializer used to write the +record key on the dead letter queue. By default, it deduces the +serializer from the key deserializer. +* `dead-letter-queue.value.serializer`: the serializer used to write +the record value on the dead letter queue. By default, it deduces +the serializer from the value deserializer. + +The record written on the dead letter topic contains the original +record’s headers, as well as a set of additional headers about the +original record: + +* `dead-letter-reason` - the reason of the failure (the `Throwable` +passed to `nack()`) +* `dead-letter-cause` - the cause of the failure (the `getCause()` of +the `Throwable` passed to `nack()`), if any +* `dead-letter-topic` - the original topic of the record +* `dead-letter-partition` - the original partition of the record +(integer mapped to String) +* `dead-letter-offset` - the original offset of the record (long +mapped to String) + +When using `dead-letter-queue`, it is also possible to change some +metadata of the record that is sent to the dead letter topic. To do +that, use the `Message.nack(Throwable, Metadata)` method: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaDeadLetterExample.java[tags=code,indent=0] +---- + +The `Metadata` may contain an instance of `OutgoingKafkaRecordMetadata`. +If the instance is present, the following properties will be used: + +* key; if not present, the original record’s key will be used +* topic; if not present, the configured dead letter topic will be used +* partition; if not present, partition will be assigned automatically +* headers; combined with the original record’s headers, as well as the +`dead-letter-++*++` headers described above + +== Custom commit and failure strategies + +In addition to provided strategies, it is possible to implement custom +commit and failure strategies and configure Kafka channels with them. + +For example, for a custom commit strategy, implement the +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/commit/KafkaCommitHandler.html[`KafkaCommitHandler`] interface, +and provide a managed bean implementing the `KafkaCommitHandler.Factory` interface, +identified using `@Identifier` qualifier. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaCustomCommit.java[indent=0] +---- + +Finally, to use the custom commit strategy, +set the `commit-strategy` attribute to the identifier of the commit handler factory: +`mp.messaging.incoming.$channel.commit-strategy=custom`. +Similarly, custom failure strategies can be configured using `failure-strategy` attribute. + +[NOTE] +==== + +If the custom strategy implementation inherits +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/commit/ContextHolder.html[`ContextHolder`] class it can access the +Vert.x event-loop context created for the Kafka consumer + +==== + +== Retrying processing + +You can combine Reactive Messaging with https://github.com/smallrye/smallrye-fault-tolerance[SmallRye Fault +Tolerance], and +retry processing when it fails: + +[source,java] +---- +@Incoming("kafka") +@Outgoing("processed") +@Retry(delay = 10, maxRetries = 5) +public String process(String v) { + // ... retry if this method throws an exception +} +---- + +You can configure the delay, the number of retries, the jitter... + +If your method returns a `Uni`, you need to add the `@NonBlocking` +annotation: + +[source,java] +---- +@Incoming("kafka") +@Outgoing("processed") +@Retry(delay = 10, maxRetries = 5) +@NonBlocking +public Uni process(String v) { + // ... retry if this method throws an exception or the returned Uni produce a failure +} +---- + +The incoming messages are acknowledged only once the processing +completes successfully. So, it commits the offset after the successful +processing. If after the retries the processing still failed, the +message is _nacked_ and the failure strategy is applied. + +You can also use `@Retry` on methods only consuming incoming messages: + +[source,java] +---- +@Incoming("kafka") +@Retry(delay = 10, maxRetries = 5) +public void consume(String v) { + // ... retry if this method throws an exception +} +---- + +== Handling deserialization failures + +Because deserialization happens before creating a `Message`, the failure +strategy presented above cannot be applied. However, when a +deserialization failure occurs, you can intercept it and provide a +fallback value. To achieve this, create a CDI bean implementing the +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/DeserializationFailureHandler.html[`DeserializationFailureHandler`] +interface: + +[source,java] +---- +@ApplicationScoped +@Identifier("failure-retry") // Set the name of the failure handler +public class MyDeserializationFailureHandler + implements DeserializationFailureHandler { // Specify the expected type + + @Override + public JsonObject decorateDeserialization(Uni deserialization, + String topic, boolean isKey, String deserializer, byte[] data, + Headers headers) { + return deserialization + .onFailure().retry().atMost(3) + .await().atMost(Duration.ofMillis(200)); + } +} +---- + +The bean must be exposed with the `@Identifier` qualifier specifying the +name of the bean. Then, in the connector configuration, specify the +following attribute: + +* `mp.messaging.incoming.$channel.key-deserialization-failure-handler`: +name of the bean handling deserialization failures happening for the +record’s key +* `mp.messaging.incoming.$channel.value-deserialization-failure-handler`: +name of the bean handling deserialization failures happening for the +record’s value, + +The handler is called with the deserialization action as a `Uni++<++T++>++`, the +record’s topic, a boolean indicating whether the failure happened on a +key, the class name of the deserializer that throws the exception, the +corrupted data, the exception, and the records headers augmented with +headers describing the failure (which ease the write to a dead letter). +On the deserialization `Uni` failure strategies like retry, providing a +fallback value or applying timeout can be implemented. Note that the +method must await on the result and return the deserialized object. +Alternatively, the handler can only implement +`handleDeserializationFailure` method and provide a fallback value, +which may be `null`. + +If you don’t configure a deserialization failure handlers and a +deserialization failure happens, the application is marked unhealthy. +You can also ignore the failure, which will log the exception and +produce a `null` value. To enable this behavior, set the +`mp.messaging.incoming.$channel.fail-on-deserialization-failure` +attribute to `false`. + +== Receiving Cloud Events + +The Kafka connector supports https://cloudevents.io/[Cloud Events]. +When the connector detects a _structured_ or _binary_ Cloud Events, it +adds a link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/IncomingKafkaCloudEventMetadata.html[`IncomingKafkaCloudEventMetadata`] in the metadata of the +Message. `IncomingKafkaCloudEventMetadata` contains the various (mandatory and optional) Cloud Event attributes. + +If the connector cannot extract the Cloud Event metadata, it sends the +Message without the metadata. + +=== Binary Cloud Events + +For `binary` Cloud Events, *all* mandatory Cloud Event attributes must +be set in the record header, prefixed by `ce++_++` (as mandated by the +https://github.com/cloudevents/spec/blob/v1.0/kafka-protocol-binding.md[protocol +binding]). +The connector considers headers starting with the `ce++_++` prefix but not +listed in the specification as extensions. You can access them using the +`getExtension` method from `IncomingKafkaCloudEventMetadata`. You can +retrieve them as `String`. + +The `datacontenttype` attribute is mapped to the `content-type` header +of the record. The `partitionkey` attribute is mapped to the record’s +key, if any. + +Note that all headers are read as UTF-8. + +With binary Cloud Events, the record’s key and value can use any +deserializer. + +=== Structured Cloud Events + +For `structured` Cloud Events, the event is encoded in the record’s +value. Only JSON is supported, so your event must be encoded as JSON in +the record’s value. + +Structured Cloud Event must set the `content-type` header of the record +to `application/cloudevents` or prefix the value with +`application/cloudevents` such as: +`application/cloudevents{plus}json; charset=UTF-8`. + +To receive structured Cloud Events, your value deserializer must be: + +* `org.apache.kafka.common.serialization.StringDeserializer` +* `org.apache.kafka.common.serialization.ByteArrayDeserializer` +* `io.vertx.kafka.client.serialization.JsonObjectDeserializer` + +As mentioned previously, the value must be a valid JSON object +containing at least all the mandatory Cloud Events attributes. + +If the record is a structured Cloud Event, the created Message’s payload +is the Cloud Event `data`. + +The `partitionkey` attribute is mapped to the record’s key if any. + +== Consumer Rebalance Listener + +To handle offset commit and assigned partitions yourself, you can +provide a consumer rebalance listener. To achieve this, implement the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface, make the implementing class a bean, and add the `@Identifier` +qualifier. A usual use case is to store offset in a separate data store +to implement exactly-once semantic, or starting the processing at a +specific offset. + +The listener is invoked every time the consumer topic/partition +assignment changes. For example, when the application starts, it invokes +the `partitionsAssigned` callback with the initial set of +topics/partitions associated with the consumer. If, later, this set +changes, it calls the `partitionsRevoked` and `partitionsAssigned` +callbacks again, so you can implement custom logic. + +Note that the rebalance listener methods are called from the Kafka +_polling_ thread and must block the caller thread until completion. +That’s because the rebalance protocol has synchronization barriers, and +using asynchronous code in a rebalance listener may be executed after +the synchronization barrier. + +When topics/partitions are assigned or revoked from a consumer, it +pauses the message delivery and restarts once the rebalance completes. + +If the rebalance listener handles offset commit on behalf of the user +(using the `ignore` commit strategy), the rebalance listener *must* +commit the offset synchronously in the `partitionsRevoked` callback. We +also recommend applying the same logic when the application stops. + +Unlike the `ConsumerRebalanceListener` from Apache Kafka, the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +methods pass the Kafka `Consumer` and the set of topics/partitions. + +=== Example + +In this example we set-up a consumer that always starts on messages from +at most 10 minutes ago (or offset 0). First we need to provide a bean +that implements the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface and is annotated with `@Identifier`. We then must configure +our inbound connector to use this named bean. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumer.java[indent=0] +---- + +To configure the inbound connector to use the provided listener we +either set the consumer rebalance listener’s name: + +* `mp.messaging.incoming.rebalanced-example.consumer-rebalance-listener.name=rebalanced-example.rebalancer` + +Or have the listener’s name be the same as the group id: + +* `mp.messaging.incoming.rebalanced-example.group.id=rebalanced-example.rebalancer` + +Setting the consumer rebalance listener’s name takes precedence over +using the group id. + +== Receiving Kafka Records in Batches + +By default, incoming methods receive each Kafka record individually. +Under the hood, Kafka consumer clients poll the broker constantly and +receive records in batches, presented inside the `ConsumerRecords` +container. + +In *batch* mode, your application can receive all the records returned +by the consumer *poll* in one go. + +To achieve this you need to set +`mp.messaging.incoming.$channel.batch=true` *and* specify a compatible +container type to receive all the data: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchPayloadExample.java[tags=code,indent=0] +---- + +The incoming method can also receive `Message++<++List++<++Payload++>++`, +`KafkaBatchRecords++<++Payload++>++` `ConsumerRecords++<++Key, Payload++>++` types, They +give access to record details such as offset or timestamp : + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchExample.java[tags=code,indent=0] +---- + +Note that the successful processing of the incoming record batch will +commit the latest offsets for each partition received inside the batch. +The configured commit strategy will be applied for these records only. + +Conversely, if the processing throws an exception, all messages are +_nacked_, applying the failure strategy for all the records inside the +batch. + +== Stateful processing with Checkpointing + +[WARNING] +.Experimental +==== + +Checkpointing is experimental, and APIs and features are subject +to change in the future. + +==== + +The `checkpoint` commit strategy allows for a Kafka incoming channel to +manage topic-partition offsets, not by committing on the Kafka broker, +but by persisting consumers' advancement on a +xref:#implementing-state-stores[_state store_]. + +In addition to that, if the consumer builds an internal state as +a result of consumed records, the topic-partition offset persisted +to the state store can be associated with a _processing state_, +saving the local state to the persistent store. When a consumer +restarts or consumer group instances scale, i.e. when new partitions +get assigned to the consumer, the checkpointing works by resuming the +processing from the latest offset and its saved state. + +The `@Incoming` channel consumer code can manipulate the processing +state through the `CheckpointMetadata` API: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaCheckpointExample.java[tags=code,indent=0] +---- + +The `transform` method allows applying a transformation function to +the current state, producing a changed state and registering it +locally for checkpointing. By default, the local state is synced +(persisted) to the state store periodically, period specified by +`auto.commit.interval.ms`, (default: 5000). If `persistOnAck` flag +is given, the latest state is persisted to the state store eagerly +on message acknowledgment. The `setNext` method works similarly +directly setting the latest state. + +The `checkpoint` commit strategy tracks when a processing state +is last persisted for each topic-partition. If an outstanding state +change can not be persisted for `checkpoint.unsynced-state-max-age.ms` +(default: 10000), the channel is marked unhealthy. + +Where and how processing states are persisted is decided by the +state store implementation. This can be configured on the incoming +channel using `checkpoint.state-store` configuration property, +using the state store factory identifier name. +The serialization of state objects depends on the state store +implementation. In order to instruct state stores for serialization +can require configuring the type name of state objects +using `checkpoint.state-type` property. + +In order to keep Smallrye Reactive Messaging free of persistence-related +dependencies, this library includes only a default state store named `file`. +It is based on Vert.x Filesystem API and stores the processing state +in Json formatted files, in a local directory configured by the +`checkpoint.file.state-dir` property. State files follow the naming +scheme `++[++consumer-group-id++]++:++[++topic++]++:++[++partition++]++`. + +=== Implementing State Stores + +State store implementations are required to implement `CheckpointStateStore` +interface, and provide a managed bean implementing +`CheckpointStateStore.Factory`, identified with `@Identifier` bean +qualifier indicating the name of the state-store. +The factory bean identifier indicates the name to configure on +`checkpoint.state-store` config property. +The factory is discovered as a CDI managed bean and state store is +created once per channel: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/MyCheckpointStateStore.java[indent=0] +---- + +The checkpoint commit strategy calls the state store in following events: + +* `fetchProcessingState` : on partitions assigned, to seek the consumer to the latest offset. +* `persistProcessingState` on partitions revoked, to persist the state of last processed record. +* `persistProcessingState` on message acknowledgement, if a new state is set during the processing and `persistOnAck` flag is set. +* `persistProcessingState` on `auto.commit.interval.ms` intervals, if a new state is set during processing. +* `persistProcessingState` on channel shutdown. +* `close` on channel shutdown. + +== Configuration Reference + +include::{generated-dir}/smallrye-kafka-incoming.adoc[indent=0] + +You can also pass any property supported by the underlying https://kafka.apache.org/documentation/#consumerconfigs[Kafka +consumer]. + +For example, to configure the `max.poll.records` property, use: + +[source,properties] +---- +mp.messaging.incoming.[channel].max.poll.records=1000 +---- + +Some consumer client properties are configured to sensible default +values: + +If not set, `reconnect.backoff.max.ms` is set to `10000` to avoid high +load on disconnection. + +If not set, `key.deserializer` is set to +`org.apache.kafka.common.serialization.StringDeserializer`. + +The consumer `client.id` is configured according to the number of +clients to create using `mp.messaging.incoming.++[++channel++]++.partitions` +property. + +* If a `client.id` is provided, it is used as-is or suffixed with +client index if `partitions` property is set. +* If a `client.id` is not provided, it is generated as +`kafka-consumer-++[++channel++][++-index++]++`. diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/test-companion.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/test-companion.adoc new file mode 100644 index 000000000..d25aa111f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/test-companion.adoc @@ -0,0 +1,158 @@ += Kafka Companion +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Kafka Companion is experimental and APIs are subject to change in the future. + +==== + +The *Kafka Companion* is a separate Java library for helping to test Kafka applications. +It is not intended to mock Kafka, but to the contrary, connect to a Kafka broker and provide high-level features. + +It is not limited to the SmallRye Reactive Messaging testing, but intends to improve the testability of applications using Kafka. Some of its features: + +* Running In-container Kafka broker for tests via https://github.com/strimzi/test-container[strimzi-test-container]. +* Running the Kafka broker behind a https://github.com/Shopify/toxiproxy[toxiproxy] for simulating network issues. +* Running embedded Kafka Kraft broker for tests. +* Base classes for tests to bootstrap tests. +* Companion classes for easily creating tasks to produce and consume Kafka records. +* Writing assertions for produce and consume tasks, state of consumers, topics, offsets etc. + +== Getting started writing tests + +Easiest way of starting to write Kafka tests is to extend `KafkaCompanionTestBase`. +It starts a single-node Kafka broker for the test suite using testcontainers and creates the `KafkaCompanion` to connect to this broker: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaWithBaseTest.java[tags=code,indent=0] +---- + +`KafkaCompanion` can be used on its own to connect to a broker: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaTest.java[tags=companion,indent=0] +---- + +There are a couple of things to note on how Kafka companion handles *producers*, *consumers* and *tasks*: + +`ProducerBuilder` and `ConsumerBuilder` lazy descriptions of with which configuration to create a producer or a consumer. + +`ProducerTask` and `ConsumerTask` run asynchronously on dedicated threads and are started as soon as they are created. +A task terminates when it is explicitly stopped, when it's predefined duration or number of records has been produced/consumed, or when it encounters an error. +An exterior thread can await on records processed, or simply on termination of the task. +At a given time produced or consumed records are accessible through the task. + +The actual creation of the producer or consumer happens when a task is started. When the task terminates the producer or the consumer is automatically closed. + +For example, in the previous example: + +[arabic] +. We described a producer with a client id `my-producer` and `max.block.ms` of 5 seconds. +. Then we created a task to produce 100 records using the generator function, without waiting for its completion. +. We then described a consumer with group id `my-group` and which commits offset synchronously on every received record. +. Finally, we created a task to consume records for 10 seconds and await its completion. + +== Producing records + +=== Produce from records + +Produce given records: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=records,indent=0] +---- + +=== Produce from generator function + +Produce 10 records using the generator function: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=generator,indent=0] +---- + +=== Produce from CSV file + +Given a comma-separated file `records.csv` with the following content + +[source,csv] +---- +messages,0,a,asdf +messages,1,b,asdf +messages,3,c,asdf +---- + +Produce records from the file: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=csv,indent=0] +---- + +== Consuming records + +=== Consume from topics + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=topics,indent=0] +---- + +=== Consume from offsets + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=offsets,indent=0] +---- + +=== Consumer assignment and offsets + +During execution of the consumer task, information about the underlying consumer's topic partition assignment, position or committed offsets can be accessed. + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=committed,indent=0] +---- + +== Registering Custom Serdes + +KafkaCompanion handles Serializers and Deserializers for default types such as primitives, String, ByteBuffer, UUID. + +Serdes for custom types can be registered to the companion object, and will be used for producer and consumer tasks: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaTest.java[tags=serdes,indent=0] +---- + +== Topics + +Create, list, describe and delete topics: + +[source,java] +---- +include::{examples-dir}/kafka/companion/TopicsTest.java[tags=code,indent=0] +---- + +== Consumer Groups and Offsets + +List topic partition offsets: + +[source,java] +---- +include::{examples-dir}/kafka/companion/OffsetsTest.java[tags=offsets,indent=0] +---- + +List, describe, alter consumer groups and their offsets: + +[source,java] +---- +include::{examples-dir}/kafka/companion/OffsetsTest.java[tags=consumerGroups,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/transactions.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/transactions.adoc new file mode 100644 index 000000000..c2e9a4cf3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/transactions.adoc @@ -0,0 +1,119 @@ += Kafka Transactions and Exactly-Once Processing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Kafka Transactions is an experimental feature. + +==== + +https://cwiki.apache.org/confluence/display/KAFKA/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging[Kafka transactions] enable atomic writes to multiple Kafka topics and partitions. +Inside a transaction, a producer writes records to the Kafka topic partitions as it would normally do. +If the transaction completes successfully, all the records previously written to the broker inside that transaction will be _committed_, and will be readable for consumers. +If an error during the transaction causes it to be _aborted_, none will be readable for consumers. + +There are a couple of fundamental things to consider before using transactions: + +* Each transactional producer is configured with a unique identifier called the `transactional.id`. +This is used to identify the same producer instance across application restarts. +By default, it is not configured, and transactions cannot be used. +When it is configured, the producer is limited to idempotent delivery, therefore `enable.idempotence=true` is implied. +* For *only* reading transactional messages, a consumer needs to explicitly configure its `isolation.level` property to `read++_++committed`. +This will make sure that the consumer will deliver only records committed inside a transaction, and filter out messages from aborted transactions. +* It should also be noted that this does not mean all records atomically written inside a transaction will be read atomically by the consumer. +Transactional producers can write to multiple topics and partitions inside a transaction, but consumers do not know where the transaction starts or ends. +Not only multiple consumers inside a consumer group can share those partitions, +all records which were part of a single transaction can be consumed in different batch of records by a consumer. + +Kafka connector provides `KafkaTransactions` custom emitter for writing records inside a transaction. +Before using a transaction we need to make sure that `transactional.id` is configured on the channel properties. + +.... +mp.messaging.outgoing.tx-out-example.transactional.id=example-tx-producer +.... + +It can be used as a regular emitter `@Channel`: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaTransactionalProducer.java[indent=0] +---- + +[NOTE] +==== + +When `transactional.id` is provided `KafkaProducer#initTransactions` is called when the underlying Kafka producer is created. + +==== + +The function given to the `withTransaction` method receives a `TransactionalEmitter` for producing records, and returns a `Uni` that provides the result of the transaction. +If the processing completes successfully, the producer is flushed and the transaction is committed. +If the processing throws an exception, returns a failing `Uni`, or marks the `TransactionalEmitter` for abort, the transaction is aborted. + +If this method is called on a Vert.x context, the processing function is also called on that context. +Otherwise, it is called on the sending thread of the producer. + +[IMPORTANT] +==== + +A transaction is considered _in progress_ from the call to the `withTransaction` until the returned `Uni` results in success or failure. +While a transaction is in progress, subsequent calls to the `withTransaction`, including nested ones inside the given function, will throw `IllegalStateException`. +Note that in Reactive Messaging, the execution of processing methods is already serialized, unless `@Blocking(ordered = false)` is used. +If `withTransaction` can be called concurrently, for example from a REST endpoint, it is recommended to limit the concurrency of the execution. +This can be done using the `@Bulkhead` annotation from Microprofile Fault Tolerance. + +==== + +== Exactly-Once Processing + +Kafka Transactions API also allows managing consumer offsets inside a transaction, together with produced messages. +This in turn enables coupling a consumer with a transactional producer in a consume-transform-produce pattern, +also known as exactly-once processing. +It means that an application consumes messages from a topic-partition, processes them, publishes the results to a topic-partition, +and commits offsets of the consumed messages in a transaction. + +The `KafkaTransactions` emitter also provides a way to apply exactly-once processing to an incoming Kafka message inside a transaction. + +The following example includes a batch of Kafka records inside a transaction. + +.... +mp.messaging.outgoing.tx-out-example.transactional.id=example-tx-producer +mp.messaging.outgoing.in-channel.batch=true +mp.messaging.outgoing.in-channel.commit-strategy=ignore +mp.messaging.outgoing.in-channel.failure-strategy=ignore +.... + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaExactlyOnceProcessor.java[indent=0] +---- + +If the processing completes successfully, before committing the transaction, the topic partition offsets of the given batch message will be committed to the transaction. + +If the processing needs to abort, after aborting the transaction, the consumer's position is reset to the last committed offset, effectively resuming the consumption from that offset. +If no consumer offset has been committed, the consumer's position is reset to the beginning of the topic, even if the offset reset policy is `latest`. + +[IMPORTANT] +==== + +When using exactly-once processing, consumed message offset commits are handled by the transaction and therefore `commit-strategy` needs to be `ignore`. + +==== + +Any strategy can be employed for the `failure-strategy`. +Note that the `Uni` returned from the `#withTransaction` will yield a failure if the transaction fails and is aborted. + +The application can choose to handle the error case, but for the message consumption to continue, `Uni` returned from the `@Incoming` method must not result in failure. +`KafkaTransactions#withTransactionAndAck` method will ack and nack the message but will not stop the reactive stream. +Ignoring the failure simply resets the consumer to the last committed offsets and resumes the processing from there. + +[NOTE] +==== + +It is recommended to use exactly-once processing along with the batch consumption mode. +While it is possible to use it with a single Kafka message, it'll have a significant performance impact. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/kafka/writing-kafka-records.adoc b/content/docs/smallrye-reactive-messaging/3/kafka/writing-kafka-records.adoc new file mode 100644 index 000000000..6d27eee5b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/kafka/writing-kafka-records.adoc @@ -0,0 +1,354 @@ += Writing Kafka Records +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka Connector can write Reactive Messaging `Messages` as Kafka +Records. + +== Example + +Let’s imagine you have a Kafka broker running, and accessible using the +`kafka:9092` address (by default it would use `localhost:9092`). +Configure your application to write the messages from the `prices` +channel into a Kafka _topic_ as follows: + +[source,properties] +---- +kafka.bootstrap.servers=kafka:9092 # <1> + +mp.messaging.outgoing.prices-out.connector=smallrye-kafka # <2> +mp.messaging.outgoing.prices-out.value.serializer=org.apache.kafka.common.serialization.DoubleSerializer # <3> +mp.messaging.outgoing.prices-out.topic=prices # <4> +---- + +[arabic] +. Configure the broker location. You can configure it globally or per +channel +. Configure the connector to manage the `prices` channel +. Sets the (Kafka) serializer to encode the message payload into the +record’s value +. Make sure the topic name is `prices` (and not the default +`prices-out`) + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The serialization is handled by the underlying Kafka Client. You need to +configure the: + +* `mp.messaging.outgoing.++[++channel-name++]++.value.serializer` to configure +the value serializer (mandatory) +* `mp.messaging.outgoing.++[++channel-name++]++.key.serializer` to configure +the key serializer (optional, default to `String`) + +If you want to use a custom serializer, add it to your `CLASSPATH` and +configure the associate attribute. + +By default, the written record contains: + +* the `Message` payload as _value_ +* no key, or the key configured using the `key` attribute or the key +passed in the metadata attached to the `Message` +* the timestamp computed for the system clock (`now`) or the timestamp +passed in the metadata attached to the `Message` + +== Sending key/value pairs + +In the Kafka world, it’s often necessary to send _records_, i.e. a +key/value pair. The connector provides the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/Record.html[`io.smallrye.reactive.messaging.kafka.Record`] +class that you can use to send a pair: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRecordExample.java[tags=code,indent=0] +---- + +When the connector receives a message with a `Record` payload, it +extracts the key and value from it. The configured serializers for the +key and the value must be compatible with the record’s key and value. +Note that the `key` and the `value` can be `null`. It is also possible +to create a record with a `null` key AND a `null` value. + +If you need more control on the written records, use +`OutgoingKafkaRecordMetadata`. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/OutgoingKafkaRecordMetadata.html[`OutgoingKafkaRecordMetadata`] +to influence how the message is going to be written to Kafka. For example, +you can add Kafka headers, configure the record key… + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Propagating Record Key + +When processing messages, you can propagate incoming record key to the +outgoing record. + +Consider the following example method, which consumes messages from the +channel `in`, transforms the payload, and writes the result to the +channel `out`. + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceProcessor.java[tags=code,indent=0] +---- + +Enabled with +`mp.messaging.outgoing.++[++channel-name++]++.propagate-record-key=true` +configuration, record key propagation produces the outgoing record with +the same _key_ as the incoming record. + +If the outgoing record already contains a _key_, it *won’t be +overridden* by the incoming record key. If the incoming record does +have a _null_ key, the `mp.messaging.outgoing.++[++channel-name++]++.key` +property is used. + +== Propagating Record headers + +You can also propagate incoming record headers to the outgoing record, by specifying the list of headers to be considered. + +`mp.messaging.outgoing.++[++channel-name++]++.propagate-headers=Authorization,Proxy-Authorization` + +If the ougoing record already defines a header with the same key, it won't be overriden by the incoming header. + +== Dynamic topic names + +Sometimes it is desirable to select the destination of a message +dynamically. In this case, you should not configure the topic inside +your application configuration file, but instead, use the outbound +metadata to set the name of the topic. + +For example, you can route to a dynamic topic based on the incoming +message: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaOutboundDynamicTopicExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +Kafka acknowledgement can take times depending on the configuration. +Also, it stores in-memory the records that cannot be written. + +By default, the connector does wait for Kafka to acknowledge the record +to continue the processing (acknowledging the received `Message`). You +can disable this by setting the `waitForWriteCompletion` attribute to +`false`. + +Note that the `acks` attribute has a huge impact on the record +acknowledgement. + +If a record cannot be written, the message is `nacked`. + +== Back-pressure and inflight records + +The Kafka outbound connector handles back-pressure monitoring the number +of in-flight messages waiting to be written to the Kafka broker. The +number of in-flight messages is configured using the +`max-inflight-messages` attribute and defaults to 1024. + +The connector only sends that amount of messages concurrently. No other +messages will be sent until at least one in-flight message gets +acknowledged by the broker. Then, the connector writes a new message to +Kafka when one of the broker’s in-flight messages get acknowledged. Be +sure to configure Kafka’s `batch.size` and `linger.ms` accordingly. + +You can also remove the limit of inflight messages by setting +`max-inflight-messages` to `0`. However, note that the Kafka Producer +may block if the number of requests reaches +`max.in.flight.requests.per.connection`. + +== Handling serialization failures + +For Kafka producer client serialization failures are not recoverable, +thus the message dispatch is not retried. However, using schema +registries, serialization may intermittently fail to contact the +registry. In these cases you may need to apply a failure strategy for +the serializer. To achieve this, create a CDI bean implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/SerializationFailureHandler.html[`SerializationFailureHandler`] +interface: + +[source,java] +---- +@ApplicationScoped +@Identifier("failure-fallback") // Set the name of the failure handler +public class MySerializationFailureHandler + implements SerializationFailureHandler { // Specify the expected type + + @Override + public byte[] decorateSerialization(Uni serialization, String topic, + boolean isKey, String serializer, + Object data, Headers headers) { + return serialization + .onFailure().retry().atMost(3) + .await().atMost(Duration.ofMillis(200)); + } +} +---- + +The bean must be exposed with the `@Identifier` qualifier specifying the +name of the bean. Then, in the connector configuration, specify the +following attribute: + +* `mp.messaging.incoming.$channel.key-serialization-failure-handler`: +name of the bean handling serialization failures happening for the +record’s key +* `mp.messaging.incoming.$channel.value-serialization-failure-handler`: +name of the bean handling serialization failures happening for the +record’s value, + +The handler is called with the serialization action as a `Uni`, the +record’s topic, a boolean indicating whether the failure happened on a +key, the class name of the deserializer that throws the exception, the +corrupted data, the exception, and the records headers. Failure +strategies like retry, providing a fallback value or applying timeout +can be implemented. Note that the method must await on the result and +return the serialized byte array. Alternatively, the handler can +implement `decorateSerialization` method which can return a fallback +value. + +== Sending Cloud Events + +The Kafka connector supports https://cloudevents.io/[Cloud Events]. +The connector sends the outbound record as Cloud Events if: + +* the message metadata contains an +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` +instance, +* the channel configuration defines the `cloud-events-type` and +`cloud-events-source` attributes. + +You can create +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` instances +using: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCloudEventProcessor.java[indent=0] +---- + +If the metadata does not contain an id, the connector generates one +(random UUID). The `type` and `source` can be configured per message or +at the channel level using the `cloud-events-type` and +`cloud-events-source` attributes. Other attributes are also +configurable. + +The metadata can be contributed by multiple methods, however, you must +always retrieve the already existing metadata to avoid overriding the +values: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCloudEventMultipleProcessors.java[indent=0] +---- + +By default, the connector sends the Cloud Events using the _binary_ +format. You can write _structured_ Cloud Events by setting the +`cloud-events-mode` to `structured`. Only JSON is supported, so the +created records had its `content-type` header set to +`application/cloudevents{plus}json; charset=UTF-8` When using the +_structured_ mode, the value serializer must be set to +`org.apache.kafka.common.serialization.StringSerializer`, otherwise the +connector reports the error. In addition, in _structured_, the connector +maps the message’s payload to JSON, except for `String` passed directly. + +The record’s key can be set in the channel configuration (`key` +attribute), in the `OutgoingKafkaRecordMetadata` or using the +`partitionkey` Cloud Event attribute. + +[NOTE] +==== + +you can disable the Cloud Event support by setting the `cloud-events` +attribute to `false` + +==== + +== Using `ProducerRecord` + +Kafka built-in type +https://kafka.apache.org/26/javadoc/index.html?org/apache/kafka/clients/producer/ProducerRecord.html[ProducerRecord++<++K,V++>++] +can also be used for producing messages: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaProducerRecordExample.java[tags=code,indent=0] +---- + +[WARNING] +==== + +This is an advanced feature. The `ProducerRecord` is sent to Kafka as +is. Any possible metadata attached through `Message++<++ProducerRecord++<++K, V++>>++` are ignored and lost. + +==== + +== Producer Interceptors + +Producer interceptors can be configured for Kafka producer clients using the standard `interceptor.classes` property. +Configured classes will be instantiated by the Kafka producer on client creation. + +Alternatively, producer clients can be configured with a CDI managed-bean implementing link:https://javadoc.io/doc/org.apache.kafka/kafka-clients/{javadoc-version}/org/apache/kafka/clients/producer/ProducerInterceptor.html[`org.apache.kafka.clients.producer.ProducerInterceptor`] interface: + +To achieve this, the bean must be exposed with the `@Identifier` qualifier specifying the name of the bean: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/ProducerInterceptorBeanExample.java[indent=0] +---- + +Then, in the channel configuration, specify the following attribute: +`mp.messaging.incoming.$channel.interceptor-bean=my-producer-interceptor`. + +[WARNING] +==== + +The `onSend` method will be called on the producer _sending thread_ and `onAcknowledgement` will be called on the _Kafka producer I/O thread_. +In both cases if implementations are not fast, sending of messages could be delayed. + +==== + +== Configuration Reference + +include::{generated-dir}/smallrye-kafka-outgoing.adoc[indent=0] + +You can also pass any property supported by the underlying https://kafka.apache.org/documentation/#producerconfigs[Kafka +producer]. + +For example, to configure the `batch.size` property, use: + +[source,properties] +---- +mp.messaging.outgoing.[channel].batch.size=32768 +---- + +Some producer client properties are configured to sensible default +values: + +If not set, `reconnect.backoff.max.ms` is set to `10000` to avoid high +load on disconnection. + +If not set, `key.serializer` is set to +`org.apache.kafka.common.serialization.StringSerializer`. + +If not set, producer `client.id` is generated as +`kafka-producer-++[++channel++]++`. diff --git a/content/docs/smallrye-reactive-messaging/3/mqtt/client-customization.adoc b/content/docs/smallrye-reactive-messaging/3/mqtt/client-customization.adoc new file mode 100644 index 000000000..768513593 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/mqtt/client-customization.adoc @@ -0,0 +1,21 @@ += Customizing the underlying MQTT client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying MQTT Client configuration by +_producing_ an instance of +`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`: + +[source,java] +---- +include::{examples-dir}/mqtt/customization/ClientProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.client-options-name=my-options +---- diff --git a/content/docs/smallrye-reactive-messaging/3/mqtt/mqtt.adoc b/content/docs/smallrye-reactive-messaging/3/mqtt/mqtt.adoc new file mode 100644 index 000000000..afa02d06f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/mqtt/mqtt.adoc @@ -0,0 +1,44 @@ += MQTT Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT connector adds support for MQTT to Reactive Messaging. + +It lets you receive messages from an MQTT server or broker as well as +send MQTT messages. The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +Client]. + +== Introduction + +http://mqtt.org/[MQTT] is a machine-to-machine (M2M)/"Internet of +Things" connectivity protocol. It was designed as an extremely +lightweight publish/subscribe messaging transport. + +The MQTT Connector allows consuming messages from MQTT as well as +sending MQTT messages. + +== Using the MQTT connector + +To you the MQTT Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-mqtt + {project-version} + +---- + +The connector name is: `smallrye-mqtt`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-mqtt + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-mqtt +---- diff --git a/content/docs/smallrye-reactive-messaging/3/mqtt/receiving-mqtt-messages.adoc b/content/docs/smallrye-reactive-messaging/3/mqtt/receiving-mqtt-messages.adoc new file mode 100644 index 000000000..5a1e176bb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/mqtt/receiving-mqtt-messages.adoc @@ -0,0 +1,114 @@ += Receiving messages from MQTT +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT Connector connects to a MQTT broker or router, and forward the +messages to the Reactive Messaging application. It maps each of them +into Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a MQTT server/broker running, and accessible +using the `mqtt:1883` address (by default it would use +`localhost:1883`). Configure your application to receive MQTT messages +on the `prices` channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-mqtt # <1> +mp.messaging.incoming.prices.host=mqtt # <2> +mp.messaging.incoming.prices.port=1883 # <3> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the broker/server host name. +. Configure the broker/server port. 1883 is the default. + +[NOTE] +==== + +You don’t need to set the MQTT topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. + +==== + +[NOTE] +==== + +It is generally recommended to set the `client-id`. By default, the connector is generating a unique `client-id`. + +==== + +[IMPORTANT] +==== + +Message coming from MQTT have a `byte++[]++` payload. + +==== + +Then, your application receives `Message++<++byte++[]>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/mqtt/inbound/MqttPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++byte++[]>++`: + +[source,java] +---- +include::{examples-dir}/mqtt/inbound/MqttPriceMessageConsumer.java[indent=0] +---- + +The inbound topic can use the https://mosquitto.org/man/mqtt-7.html[MQTT +wildcards] (`{plus}` and `#`). + +== Deserialization + +The MQTT Connector does not handle the deserialization and creates a +`Message++<++byte++[]>++`. + +== Inbound Metadata + +The MQTT connector does not provide inbound metadata. + +== Failure Management + +If a message produced from a MQTT message is _nacked_, a failure +strategy is applied. The MQTT connector supports 3 strategies: + +* `fail` - fail the application, no more MQTT messages will be +processed. (default) The offset of the record that has not been +processed correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. + +== Configuration Reference + +include::{generated-dir}/smallrye-mqtt-incoming.adoc[indent=0] + +The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +client]. So +you can pass any attribute supported by this client. + +[IMPORTANT] +==== + +A single instance of `MqttClient` and a single connection is used for +each `host` / `port` / `server-name` / `client-id`. This client is +reused for both the inbound and outbound connectors. + +==== + +[IMPORTANT] +==== + +Using `auto-clean-session=false` the MQTT Connector send Subscribe requests +to the broken only if a Persistent Session is not present (like on the first +connection). This means that if a Session is already present (maybe for a +previous run) and you add a new incoming channel, this will not be subscribed. +Beware to check always the subscription present on Broker when use +`auto-clean-session=false`. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/mqtt/sending-messages-to-mqtt.adoc b/content/docs/smallrye-reactive-messaging/3/mqtt/sending-messages-to-mqtt.adoc new file mode 100644 index 000000000..bc8017414 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/mqtt/sending-messages-to-mqtt.adoc @@ -0,0 +1,94 @@ += Sending messages to MQTT +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT Connector can write Reactive Messaging `Messages` as MQTT +Message. + +== Example + +Let’s imagine you have a MQTT server/broker running, and accessible +using the `mqtt:1883` address (by default it would use +`localhost:1883`). Configure your application to write the messages from +the `prices` channel into a MQTT Messages as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.type=smallrye-mqtt +mp.messaging.outgoing.prices.host=mqtt +mp.messaging.outgoing.prices.port=1883 +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the broker/server host name. +. Configure the broker/server port. 1883 is the default. + +[NOTE] +==== + +You don’t need to set the MQTT topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. +NOTE: It is generally recommended to set the `client-id`. By default, +the connector is generating a unique `client-id`. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/mqtt/outbound/MqttPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/mqtt/outbound/MqttPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The `Message` sent to MQTT can have various payload types: + +* https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`]: +JSON string encoded as `byte++[]++` +* https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`]: +JSON string encoded as `byte++[]++` +* `java.lang.String` and Java primitive types: `toString` encoded as +`byte++[]++` +* `byte++[]++` +* complex objects: The objects are encoded to JSON and passed as +`byte++[]++` + +== Outbound Metadata + +The MQTT connector does not provide outbound metadata. + +== Acknowledgement + +MQTT acknowledgement depends on the QoS level. The message is +acknowledged when the broker indicated the successful reception of the +message (or immediately if the level of QoS does not support +acknowledgment). + +If a MQTT message cannot be sent to the broker, the message is `nacked`. + +== Configuration Reference + +include::{generated-dir}/smallrye-mqtt-outgoing.adoc[indent=0] + +The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +client]. So +you can pass any attribute supported by this client. + +[IMPORTANT] +==== + +A single instance of `MqttClient` and a single connection is used for +each `host` / `port` / `server-name` / `client-id`. This client is +reused for both the inbound and outbound connectors. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-client-customization.adoc b/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-client-customization.adoc new file mode 100644 index 000000000..260871fca --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-client-customization.adoc @@ -0,0 +1,20 @@ += Customizing the underlying RabbitMQ client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying RabbitMQ Client configuration by +_producing_ an instance of +https://vertx.io/docs/apidocs/io/vertx/rabbitmq/RabbitMQOptions.html[`RabbitMQOptions`]: + +[source,java] +---- +include::{examples-dir}/rabbitmq/customization/RabbitMQProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +.... +mp.messaging.incoming.prices.client-options-name=my-named-options +.... diff --git a/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-cloud.adoc b/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-cloud.adoc new file mode 100644 index 000000000..b1df1aed5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-cloud.adoc @@ -0,0 +1,52 @@ += Connecting to managed instances +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This section describes the connector configuration to use managed +RabbitMQ instances (hosted on the Cloud). + +== Cloud AMQP + +To connect to an instance of RabbitMQ hosted on https://www.cloudamqp.com/[Cloud +AMQP], use the following configuration: + +[source,properties] +---- +rabbitmq-host=host-name +rabbitmq-port=5671 +rabbitmq-username=user-name +rabbitmq-password=password +rabbitmq-virtual-host=user-name +rabbitmq-ssl=true +---- + +You can extract the values from the `AMQPS` url displayed on the +administration portal: + +.... +amqps://user-name:password@host/user-name +.... + +== Amazon MQ + +https://aws.amazon.com/amazon-mq/[Amazon MQ] can host RabbitMQ brokers +(as well as AMQP 1.0 brokers). To connect to a RabbitMQ instance hosted +on Amazon MQ, use the following configuration: + +[source,properties] +---- +rabbitmq-host=host-name +rabbitmq-port=5671 +rabbitmq-username=user-name +rabbitmq-password=password +rabbitmq-ssl=true +---- + +You can extract the host value from the `AMQPS` url displayed on the +administration console: + +.... +amqps://foobarbaz.mq.us-east-2.amazonaws.com:5671 +.... + +The username and password are configured during the broker creation. diff --git a/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-health.adoc b/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-health.adoc new file mode 100644 index 000000000..854806af4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq-health.adoc @@ -0,0 +1,14 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ connector reports the readiness and liveness of each +channel managed by the connector. + +On the inbound side (receiving messages from RabbitMQ), the check +verifies that the receiver is connected to the broker. + +On the outbound side (sending records to RabbitMQ), the check verifies +that the sender is not disconnected from the broker; the sender _may_ +still be in an initialized state (connection not yet attempted), but +this is regarded as live/ready. diff --git a/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq.adoc new file mode 100644 index 000000000..35bb40e7c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/rabbitmq/rabbitmq.adoc @@ -0,0 +1,57 @@ += RabbitMQ Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ Connector adds support for RabbitMQ to Reactive Messaging, +based on the AMQP 0-9-1 Protocol Specification. + +Advanced Message Queuing Protocol 0-9-1 (https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf[AMQP +0-9-1]) is an +open standard for passing business messages between applications or +organizations. + +With this connector, your application can: + +* receive messages from a RabbitMQ queue +* send messages to a RabbitMQ exchange + +The RabbitMQ connector is based on the https://vertx.io/docs/vertx-rabbitmq-client/java/[Vert.x RabbitMQ +Client]. + +[IMPORTANT] +==== + +The *AMQP connector* supports the AMQP 1.0 protocol, which is very +different from AMQP 0-9-1. You _can_ use the AMQP connector with +RabbitMQ provided that the latter has the https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/v3.7.x/README.md[AMQP 1.0 +Plugin] +installed, albeit with reduced functionality. + +==== + +== Using the RabbitMQ connector + +To use the RabbitMQ Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-rabbitmq + {project-version} + +---- + +The connector name is: `smallrye-rabbitmq`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-rabbitmq + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-rabbitmq +---- diff --git a/content/docs/smallrye-reactive-messaging/3/rabbitmq/receiving-messages-from-rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/3/rabbitmq/receiving-messages-from-rabbitmq.adoc new file mode 100644 index 000000000..8fe8d09be --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/rabbitmq/receiving-messages-from-rabbitmq.adoc @@ -0,0 +1,265 @@ += Receiving messages from RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ connector lets you retrieve messages from a https://www.rabbitmq.com/[RabbitMQ +broker]. The RabbitMQ connector retrieves +_RabbitMQ Messages_ and maps each of them into Reactive Messaging +`Messages`. + +[NOTE] +==== + +In this context, the reactive messaging concept of a _Channel_ is +realised as a https://www.rabbitmq.com/queues.html[RabbitMQ Queue]. + +==== + +== Example + +Let’s imagine you have a RabbitMQ broker running, and accessible using +the `rabbitmq:5672` address (by default it would use `localhost:5672`). +Configure your application to receive RabbitMQ Messages on the `prices` +channel as follows: + +[source,properties] +---- +rabbitmq-host=rabbitmq # <1> +rabbitmq-port=5672 # <2> +rabbitmq-username=my-username # <3> +rabbitmq-password=my-password # <4> + +mp.messaging.incoming.prices.connector=smallrye-rabbitmq # <5> +mp.messaging.incoming.prices.queue.name=my-queue # <6> +mp.messaging.incoming.prices.routing-keys=urgent # <7> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `rabbitmq-host`. +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `rabbitmq-port`. The default +is 5672. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`rabbitmq-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`rabbitmq-password`. +. Instructs the `prices` channel to be managed by the RabbitMQ +connector. +. Configures the RabbitMQ queue to read messages from. +. Configures the binding between the RabbitMQ exchange and the +RabbitMQ queue using a routing key. The default is `#` (all messages +will be forwarded from the exchange to the queue) but in general +this can be a comma-separated list of one or more keys. + +Then, your application receives `Message++<++String++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/rabbitmq/inbound/RabbitMQPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++String++>++`: + +[source,java] +---- +include::{examples-dir}/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java[indent=0] +---- + +[NOTE] +==== + +Whether you need to explicitly acknowledge the message depends on the +`auto-acknowledgement` channel setting; if that is set to `true` then +your message will be automatically acknowledged on receipt. + +==== + +== Deserialization + +The connector converts incoming RabbitMQ Messages into Reactive +Messaging `Message++<++T++>++` instances. The payload type `T` depends on the +value of the RabbitMQ received message Envelope `content++_++type` and +`content++_++encoding` properties. + +[width="100%",cols="7%,6%,87%",options="header",] +|=== +|content++_++encoding |content++_++type |Type +|_Value present_ |_n/a_ |`byte++[]++` +|_No value_ |`text/plain` |`String` +|_No value_ |`application/json` |a JSON element which can be a https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`], https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`], `String`, ... if the buffer contains an array, object, string,... +|_No value_ |_Anything else_ |`byte++[]++` +|=== + +If you send objects with this RabbitMQ connector (outbound connector), +they are encoded as JSON and sent with `content++_++type` set to +`application/json`. You can receive this payload using (Vert.x) JSON +Objects, and then map it to the object class you want: + +[source,java] +---- +@ApplicationScoped +public static class Generator { + + @Outgoing("to-rabbitmq") + public Multi prices() { // <1> + AtomicInteger count = new AtomicInteger(); + return Multi.createFrom().ticks().every(Duration.ofMillis(1000)) + .map(l -> new Price().setPrice(count.incrementAndGet())) + .onOverflow().drop(); + } + +} + +@ApplicationScoped +public static class Consumer { + + List prices = new CopyOnWriteArrayList<>(); + + @Incoming("from-rabbitmq") + public void consume(JsonObject p) { // <2> + Price price = p.mapTo(Price.class); // <3> + prices.add(price); + } + + public List list() { + return prices; + } +} +---- + +[arabic] +. The `Price` instances are automatically encoded to JSON by the +connector +. You can receive it using a `JsonObject` +. Then, you can reconstruct the instance using the `mapTo` method + +== Inbound Metadata + +Messages coming from RabbitMQ contain an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-rabbitmq/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/IncomingRabbitMQMetadata.html[`IncomingRabbitMQMetadata`] +in the metadata. + +RabbitMQ message headers can be accessed from the metadata either by +calling `getHeader(String header, Class++<++T++>++ type)` to retrieve a single +header value. or `getHeaders()` to get a map of all header values. + +[source,java] +---- +include::{examples-dir}/rabbitmq/inbound/RabbitMQMetadataExample.java[tags=code,indent=0] +---- + +The type `++<++T++>++` of the header value depends on the RabbitMQ type used for +the header: + +[cols=",",options="header",] +|=== +|RabbitMQ Header Type |T +|String |`String` +|Boolean |`Boolean` +|Number |`Number` +|List |`java.util.List` +|=== + +== Acknowledgement + +When a Reactive Messaging Message associated with a RabbitMQ Message is +acknowledged, it informs the broker that the message has been +_accepted_. + +Whether you need to explicitly acknowledge the message depends on the +`auto-acknowledgement` setting for the channel; if that is set to `true` +then your message will be automatically acknowledged on receipt. + +== Failure Management + +If a message produced from a RabbitMQ message is _nacked_, a failure +strategy is applied. The RabbitMQ connector supports three strategies, +controlled by the `failure-strategy` channel setting: + +* `fail` - fail the application; no more RabbitMQ messages will be +processed. The RabbitMQ message is marked as rejected. +* `accept` - this strategy marks the RabbitMQ message as accepted. The +processing continues ignoring the failure. +* `reject` - this strategy marks the RabbitMQ message as rejected +(default). The processing continues with the next message. + +== Configuration Reference + +include::{generated-dir}/smallrye-rabbitmq-incoming.adoc[indent=0] + +To use an existing _queue_, you need to configure the `queue.name` +attribute. + +For example, if you have a RabbitMQ broker already configured with a +queue called `peopleQueue` that you wish to read messages from, you need +the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq +mp.messaging.incoming.people.queue.name=peopleQueue +---- + +If you want RabbitMQ to create the queue for you but bind it to an +existing topic exchange `people`, you need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq +mp.messaging.incoming.people.queue.name=peopleQueue +mp.messaging.incoming.people.queue.declare=true +---- + +[NOTE] +==== + +In the above the channel name `people` is implicitly assumed to be the +name of the exchange; if this is not the case you would need to name the +exchange explicitly using the `exchange.name` property. + +==== + +[NOTE] +==== + +The connector supports RabbitMQ's "Server-named Queues" feature to create +an exclusive, auto-deleting, non-durable and randomly named queue. To +enable this feature you set the queue name to exactly `(server.auto)`. +Using this name not only enables the server named queue feature but also +automatically makes ths queue exclusive, auto-deleting, and non-durable; +therefore ignoring any values provided for the `exclusive`, `auto-delete` +and `durable` options. + +==== + +If you want RabbitMQ to create the `people` exchange, queue and binding, +you need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq +mp.messaging.incoming.people.exchange.declare=true +mp.messaging.incoming.people.queue.name=peopleQueue +mp.messaging.incoming.people.queue.declare=true +mp.messaging.incoming.people.queue.routing-keys=tall,short +---- + +In the above we have used an explicit list of routing keys rather than +the default (`#`). Each component of the list creates a separate binding +between the queue and the exchange, so in the case above we would have +two bindings; one based on a routing key of `tall`, the other based on +one of `short`. + +[NOTE] +==== + +The default value of `routing-keys` is `#` (indicating a match against +all possible routing keys) which is only appropriate for _topic_ +Exchanges. If you are using other types of exchange and/or need to +declare queue bindings, you’ll need to supply a valid value for the +exchange in question. + +==== diff --git a/content/docs/smallrye-reactive-messaging/3/rabbitmq/sending-messages-to-rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/3/rabbitmq/sending-messages-to-rabbitmq.adoc new file mode 100644 index 000000000..347cf6b92 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/3/rabbitmq/sending-messages-to-rabbitmq.adoc @@ -0,0 +1,170 @@ += Sending messages to RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ connector can write Reactive Messaging `Messages` as +RabbitMQ Messages. + +[NOTE] +==== + +In this context, the reactive messaging concept of a _Channel_ is +realised as a https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchanges[RabbitMQ +Exchange]. + +==== + +== Example + +Let’s imagine you have a RabbitMQ broker running, and accessible using +the `rabbitmq:5672` address (by default it would use `localhost:5672`). +Configure your application to send the messages from the `prices` +channel as a RabbitMQ Message as follows: + +.... +rabbitmq-host=rabbitmq # <1> +rabbitmq-port=5672 # <2> +rabbitmq-username=my-username # <3> +rabbitmq-password=my-password # <4> + +mp.messaging.outgoing.prices.connector=smallrye-rabbitmq # <5> +mp.messaging.outgoing.prices.default-routing-key=normal # <6> +.... + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `rabbitmq-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `rabbitmq-port`. The default +is `5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`rabbitmq-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`rabbitmq-password`. +. Instructs the `prices` channel to be managed by the RabbitMQ +connector +. Supplies the default routing key to be included in outbound +messages; this will be if the "raw payload" form of message sending +is used (see below). + +[NOTE] +==== + +You don’t need to set the RabbitMQ exchange name. By default, it uses +the channel name (`prices`) as the name of the exchange to send messages +to. You can configure the `exchange.name` attribute to override it. + +==== + +Then, your application can send `Message++<++Double++>++` to the prices channel. +It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQPriceMessageProducer.java[indent=0] +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a +RabbitMQ Message. The payload is converted to the RabbitMQ Message body. + +[width="100%",cols="59%,41%",options="header",] +|=== +|T |RabbitMQ Message Body +|primitive types or `UUID`/`String` |String value with `content++_++type` set to `text/plain` +|https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] or https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`] |Serialized String payload with `content++_++type` set to `application/json` +|`io.vertx.mutiny.core.buffer.Buffer` |Binary content, with `content++_++type` set to `application/octet-stream` +|`byte++[]++` |Binary content, with content++_++type set to `application/octet-stream` +|Any other class |The payload is converted to JSON (using a Json Mapper) then serialized with `content++_++type` set to `application/json` +|=== + +If the message payload cannot be serialized to JSON, the message is +_nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-rabbitmq/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/OutgoingRabbitMQMetadata.html[`OutgoingRabbitMQMetadata`] +to influence how the message is handled by RabbitMQ. For example, you +can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +broker acknowledges the message. + +== Configuration Reference + +include::{generated-dir}/smallrye-rabbitmq-outgoing.adoc[indent=0] + +== Using existing destinations + +To use an existing _exchange_, you may need to configure the +`exchange.name` attribute. + +For example, if you have a RabbitMQ broker already configured with an +exchange called `people` that you wish to send messages to, you need the +following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people.connector=smallrye-rabbitmq +---- + +You would need to configure the `exchange.name` attribute, if the +exchange name were not the channel name: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-rabbitmq +mp.messaging.outgoing.people-out.exchange.name=people +---- + +If you want RabbitMQ to create the `people` exchange, you need the +following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.exchange.name=people +mp.messaging.outgoing.people-out.exchange.declare=true +---- + +[NOTE] +==== + +The above example will create a `topic` exchange and use an empty +default `routing-key` (unless overridden programatically using outgoing +metadata for the message). If you want to create a different type of +exchange or have a different default routing key, then the +`exchange.type` and `default-routing-key` properties need to be +explicitly specified. + +==== + +== Sending to specific queues via the default exchange + +To send a message to a specific queue (usually a reply queue), +you have to configure the default exchange as an outgoing channel and set the name of the queue as routing key in the message metadata. +The name of the exchange needs to be set to `""`. + +[source,properties] +---- +mp.messaging.outgoing.channel-name-for-default-exchange.connector=smallrye-rabbitmq +mp.messaging.outgoing.channel-name-for-default-exchange.exchange.name="" +---- diff --git a/content/docs/smallrye-reactive-messaging/4/_attributes.adoc b/content/docs/smallrye-reactive-messaging/4/_attributes.adoc new file mode 100644 index 000000000..4807c6e5d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_attributes.adoc @@ -0,0 +1,26 @@ +:project-version: 4.37.1 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Reactive Messaging +:javadoc-version: latest +:version: 4.37.1 +:weld-version: 6.0.4.Final +:smallrye-config-version: 3.18.1 +:mutiny-version: 3.1.0 +:camel-version: 4.21.0 +:spec-version: 3.0.1 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 4.37.1 +:relfileprefix: /docs/smallrye-reactive-messaging/4/ +:imagesdir: /docs/smallrye-reactive-messaging/4 +:docs-project: smallrye-reactive-messaging +:docs-version: 4 +:docs-ref: 4.37.1 diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/ack/AutoNack.java b/content/docs/smallrye-reactive-messaging/4/_examples/ack/AutoNack.java new file mode 100644 index 000000000..bdb5a371a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/ack/AutoNack.java @@ -0,0 +1,55 @@ +package ack; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class AutoNack { + + // tag::auto-nack[] + @Incoming("data") + @Outgoing("out") + public String process(String s) { + if (s.equalsIgnoreCase("b")) { + // Throwing an exception triggers a nack + throw new IllegalArgumentException("b"); + } + + if (s.equalsIgnoreCase("e")) { + // Returning null would skip the message (it will be acked) + return null; + } + + return s.toUpperCase(); + } + + @Incoming("data") + @Outgoing("out") + public Uni processAsync(String s) { + if (s.equalsIgnoreCase("a")) { + // Returning a failing Uni triggers a nack + return Uni.createFrom().failure(new Exception("a")); + } + + if (s.equalsIgnoreCase("b")) { + // Throwing an exception triggers a nack + throw new IllegalArgumentException("b"); + } + + if (s.equalsIgnoreCase("e")) { + // Returning null would skip the message (it will be acked not nacked) + return Uni.createFrom().nullItem(); + } + + if (s.equalsIgnoreCase("f")) { + // returning `null` is invalid for method returning Unis, the message is nacked + return null; + } + + return Uni.createFrom().item(s.toUpperCase()); + } + + // end::auto-nack[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/ack/MessageAckExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/ack/MessageAckExamples.java new file mode 100644 index 000000000..5b4ddf459 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/ack/MessageAckExamples.java @@ -0,0 +1,52 @@ +package ack; + +import java.util.concurrent.CompletableFuture; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class MessageAckExamples { + + // tag::with-payload[] + @Incoming("in") + @Outgoing("out") + public Message process(Message in) { + // The acknowledgement is forwarded, when the consumer + // acknowledges the message, `in` will be acknowledged + return in.withPayload(in.getPayload() + 1); + } + // end::with-payload[] + + public void creation() { + // tag::message-creation[] + Message message = Message.of("hello", () -> { + // called when the consumer acknowledges the message + + // return a CompletionStage completed when the + // acknowledgment of the created message is + // completed. + // For immediate ack use: + return CompletableFuture.completedFuture(null); + + }); + // end::message-creation[] + } + + // tag::process[] + @Incoming("in") + @Outgoing("out") + public Message processAndProduceNewMessage(Message in) { + // The acknowledgement is forwarded, when the consumer + // acknowledges the message, `in` will be acknowledged + return Message.of(in.getPayload() + 1, + () -> { + // Called when the consumer acknowledges the message + // ... + // Don't forget to acknowledge the incoming message: + return in.ack(); + }); + } + // end::process[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/ack/NackOnEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/ack/NackOnEmitter.java new file mode 100644 index 000000000..ffdbc70bc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/ack/NackOnEmitter.java @@ -0,0 +1,27 @@ +package ack; + +import java.util.concurrent.CompletionStage; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Emitter; + +public class NackOnEmitter { + + // tag::emitter[] + @Inject + @Channel("data") + Emitter emitter; + + public void emitPayload() { + CompletionStage completionStage = emitter.send("hello"); + completionStage.whenComplete((acked, nacked) -> { + if (nacked != null) { + // the processing has failed + } + }); + } + // end::emitter[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/ack/PreAckExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/ack/PreAckExamples.java new file mode 100644 index 000000000..04b336bde --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/ack/PreAckExamples.java @@ -0,0 +1,20 @@ +package ack; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class PreAckExamples { + + // tag::pre[] + @Incoming("in") + @Outgoing("out") + @Acknowledgment(Acknowledgment.Strategy.PRE_PROCESSING) + public String process(String input) { + // The message wrapping the payload is already acknowledged + // The default would have waited the produced message to be + // acknowledged + return input.toUpperCase(); + } + // end::pre[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/ack/StreamAckExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/ack/StreamAckExamples.java new file mode 100644 index 000000000..ea47f34b4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/ack/StreamAckExamples.java @@ -0,0 +1,42 @@ +package ack; + +import java.util.concurrent.Flow.Publisher; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class StreamAckExamples { + + // tag::message[] + @Incoming("in") + @Outgoing("out") + public Publisher> transform(Multi> stream) { + return stream + .map(message -> message.withPayload(message.getPayload().toUpperCase())); + } + // end::message[] + + // tag::payload[] + @Incoming("in") + @Outgoing("out") + public Publisher transformPayload(Multi stream) { + return stream + // The incoming messages are already acknowledged + .map(String::toUpperCase); + } + // end::payload[] + + // tag::payload-to-multi[] + @Incoming("in") + @Outgoing("out") + // Defaults to pre-processing, but post-processing is also supported + @Acknowledgment(Acknowledgment.Strategy.POST_PROCESSING) + public Multi transformPayload(String one) { + return Multi.createFrom().items(one, one); + } + // end::payload-to-multi[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/ClientProducers.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/ClientProducers.java new file mode 100644 index 000000000..0e107cc3c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/ClientProducers.java @@ -0,0 +1,34 @@ +package amqp.customization; + +import jakarta.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.vertx.amqp.AmqpClientOptions; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; + +public class ClientProducers { + + // tag::named[] + @Produces + @Identifier("my-options") + public AmqpClientOptions getNamedOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return new AmqpClientOptions() + .setSsl(true) + .setPemKeyCertOptions(keycert) + .setPemTrustOptions(trust) + .addEnabledSaslMechanism("EXTERNAL") + .setHostnameVerificationAlgorithm("") // Disable hostname verification + .setConnectTimeout(30000) + .setReconnectInterval(5000) + .setContainerId("my-container"); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/MyCbsTokenProvider.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/MyCbsTokenProvider.java new file mode 100644 index 000000000..45346773f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/MyCbsTokenProvider.java @@ -0,0 +1,32 @@ +package amqp.customization; + +import java.time.OffsetDateTime; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.AmqpConnectorCommonConfiguration; +import io.smallrye.reactive.messaging.amqp.cbs.CbsToken; +import io.smallrye.reactive.messaging.amqp.cbs.CbsTokenProvider; +import io.smallrye.reactive.messaging.amqp.cbs.DefaultCbsToken; + +// tag::provider[] +@ApplicationScoped +public class MyCbsTokenProvider implements CbsTokenProvider { + + @Override + public Uni getToken(AmqpConnectorCommonConfiguration config) { + String token = fetchTokenFromAuthService(); + return Uni.createFrom().item(new DefaultCbsToken( + token, + "jwt", + OffsetDateTime.now().plusHours(1), + OffsetDateTime.now().plusMinutes(45))); + } + + private String fetchTokenFromAuthService() { + // Retrieve a token from your identity provider + return "my-jwt-token"; + } +} +// end::provider[] diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/MySasTokenProvider.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/MySasTokenProvider.java new file mode 100644 index 000000000..0440f43b5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/customization/MySasTokenProvider.java @@ -0,0 +1,29 @@ +package amqp.customization; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.AmqpConnectorCommonConfiguration; +import io.smallrye.reactive.messaging.amqp.cbs.CbsToken; +import io.smallrye.reactive.messaging.amqp.cbs.CbsTokenProvider; +import io.smallrye.reactive.messaging.amqp.cbs.DefaultCbsToken; + +// tag::sas-provider[] +@ApplicationScoped +public class MySasTokenProvider implements CbsTokenProvider { + + @Override + public Uni getToken(AmqpConnectorCommonConfiguration config) { + String sasToken = generateSasToken(config.getHost()); + return Uni.createFrom().item(new DefaultCbsToken( + sasToken, + "servicebus.windows.net:sastoken", + 3600)); // valid for 1 hour + } + + private String generateSasToken(String host) { + // Build a SAS token for Azure Service Bus + return "SharedAccessSignature sr=..."; + } +} +// end::sas-provider[] diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpMetadataExample.java new file mode 100644 index 000000000..8683ccbb7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpMetadataExample.java @@ -0,0 +1,27 @@ +package amqp.inbound; + +import java.util.Optional; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.IncomingAmqpMetadata; +import io.vertx.core.json.JsonObject; + +public class AmqpMetadataExample { + + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + Optional metadata = incoming.getMetadata(IncomingAmqpMetadata.class); + metadata.ifPresent(meta -> { + String address = meta.getAddress(); + String subject = meta.getSubject(); + boolean durable = meta.isDurable(); + // Use io.vertx.core.json.JsonObject + JsonObject properties = meta.getProperties(); + // ... + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpPriceConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpPriceConsumer.java new file mode 100644 index 000000000..ac877fc2b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpPriceConsumer.java @@ -0,0 +1,15 @@ +package amqp.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class AmqpPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpPriceMessageConsumer.java new file mode 100644 index 000000000..1611ebf7d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/inbound/AmqpPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package amqp.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class AmqpPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message, marking the AMQP message as `accepted`. + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java new file mode 100644 index 000000000..f87f08a15 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java @@ -0,0 +1,39 @@ +package amqp.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class AmqpCloudEventMultipleProcessors { + + @Incoming("source") + @Outgoing("processed") + public Message process(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greeting") + .build()); + } + + @SuppressWarnings("unchecked") + @Incoming("processed") + @Outgoing("cloud-events") + public Message process2(Message in) { + OutgoingCloudEventMetadata metadata = in + .getMetadata(OutgoingCloudEventMetadata.class) + .orElseGet(() -> OutgoingCloudEventMetadata.builder().build()); + + return in.addMetadata(OutgoingCloudEventMetadata.from(metadata) + .withSource(URI.create("source://me")) + .withSubject("test") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpCloudEventProcessor.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpCloudEventProcessor.java new file mode 100644 index 000000000..3b7a981f8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpCloudEventProcessor.java @@ -0,0 +1,25 @@ +package amqp.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class AmqpCloudEventProcessor { + + @Outgoing("cloud-events") + public Message toCloudEvents(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greetings") + .withSource(URI.create("http://example.com")) + .withSubject("greeting-message") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java new file mode 100644 index 000000000..35f848796 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java @@ -0,0 +1,26 @@ +package amqp.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +public class AmqpOutboundDynamicAddressExample { + public Message metadata(Message incoming) { + + // tag::code[] + String addressName = selectAddressFromIncommingMessage(incoming); + OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder() + .withAddress(addressName) + .withDurable(true) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + + private String selectAddressFromIncommingMessage(Message incoming) { + return "fake"; + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpOutboundMetadataExample.java new file mode 100644 index 000000000..3eef8b590 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpOutboundMetadataExample.java @@ -0,0 +1,23 @@ +package amqp.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +public class AmqpOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder() + .withDurable(true) + .withSubject("my-subject") + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpPriceMessageProducer.java new file mode 100644 index 000000000..418a901b3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpPriceMessageProducer.java @@ -0,0 +1,26 @@ +package amqp.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class AmqpPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpPriceProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpPriceProducer.java new file mode 100644 index 000000000..0e760b71f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpPriceProducer.java @@ -0,0 +1,25 @@ +package amqp.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class AmqpPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpReplier.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpReplier.java new file mode 100644 index 000000000..7f5236aba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpReplier.java @@ -0,0 +1,20 @@ +package amqp.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class AmqpReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + String handleRequest(String request) { + return request + "-" + rand.nextInt(100); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpReplierWithMetadata.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpReplierWithMetadata.java new file mode 100644 index 000000000..c798cd136 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpReplierWithMetadata.java @@ -0,0 +1,31 @@ +package amqp.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.amqp.IncomingAmqpMetadata; +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +@ApplicationScoped +public class AmqpReplierWithMetadata { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + Message handleRequest(Message request) { + IncomingAmqpMetadata incoming = request.getMetadata(IncomingAmqpMetadata.class) + .orElseThrow(); + OutgoingAmqpMetadata outMeta = OutgoingAmqpMetadata.builder() + .withAddress(incoming.getReplyTo()) + .withCorrelationId(incoming.getId()) + .build(); + String reply = request.getPayload() + "-" + rand.nextInt(100); + return request.withPayload(reply).addMetadata(outMeta); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyEmitter.java new file mode 100644 index 000000000..f1d5285c8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyEmitter.java @@ -0,0 +1,21 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.reply.AmqpRequestReply; + +@ApplicationScoped +public class AmqpRequestReplyEmitter { + + @Inject + @Channel("my-request") + AmqpRequestReply quoteRequest; + + public Uni requestQuote(String request) { + return quoteRequest.request(request); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java new file mode 100644 index 000000000..de5f1bbaf --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java @@ -0,0 +1,22 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.reply.AmqpRequestReply; + +@ApplicationScoped +public class AmqpRequestReplyMessageEmitter { + + @Inject + @Channel("my-request") + AmqpRequestReply quoteRequest; + + public Uni> requestMessage(String request) { + return quoteRequest.request(Message.of(request)); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java new file mode 100644 index 000000000..25d776606 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java @@ -0,0 +1,21 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.amqp.reply.AmqpRequestReply; + +@ApplicationScoped +public class AmqpRequestReplyMultiEmitter { + + @Inject + @Channel("my-request") + AmqpRequestReply quoteRequest; + + public Multi requestQuote(String request) { + return quoteRequest.requestMulti(request).select().first(5); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java new file mode 100644 index 000000000..77b1d2d14 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java @@ -0,0 +1,24 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.amqp.AmqpMessage; +import io.smallrye.reactive.messaging.amqp.reply.ReplyFailureHandler; + +@ApplicationScoped +@Identifier("my-reply-error") +public class MyAmqpReplyFailureHandler implements ReplyFailureHandler { + + @Override + public Throwable handleReply(AmqpMessage replyMessage) { + var properties = replyMessage.getApplicationProperties(); + if (properties != null) { + String error = properties.getString("REPLY_ERROR"); + if (error != null) { + return new IllegalArgumentException(error); + } + } + return null; + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/beans/Chain.java b/content/docs/smallrye-reactive-messaging/4/_examples/beans/Chain.java new file mode 100644 index 000000000..8a44b6d55 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/beans/Chain.java @@ -0,0 +1,27 @@ +package beans; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class Chain { + + // tag::chain[] + @Outgoing("source") + public Multi generate() { + return Multi.createFrom().items("Hello", "from", "reactive", "messaging"); + } + + @Incoming("source") + @Outgoing("sink") + public String process(String in) { + return in.toUpperCase(); + } + + @Incoming("sink") + public void consume(String processed) { + System.out.println(processed); + } + // end::chain[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/beans/MessageProcessingBean.java b/content/docs/smallrye-reactive-messaging/4/_examples/beans/MessageProcessingBean.java new file mode 100644 index 000000000..edfbf0df4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/beans/MessageProcessingBean.java @@ -0,0 +1,20 @@ +package beans; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class MessageProcessingBean { + + @Incoming("consumed-channel") + @Outgoing("populated-channel") + public Message process(Message in) { + // Process the payload + String payload = in.getPayload().toUpperCase(); + // Create a new message from `in` and just update the payload + return in.withPayload(payload); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/beans/PayloadProcessingBean.java b/content/docs/smallrye-reactive-messaging/4/_examples/beans/PayloadProcessingBean.java new file mode 100644 index 000000000..b7fa6b0ae --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/beans/PayloadProcessingBean.java @@ -0,0 +1,16 @@ +package beans; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class PayloadProcessingBean { + + @Incoming("consumed-channel") + @Outgoing("populated-channel") + public String process(String in) { + return in.toUpperCase(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/broadcast/BroadcastExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/broadcast/BroadcastExamples.java new file mode 100644 index 000000000..53a8bb160 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/broadcast/BroadcastExamples.java @@ -0,0 +1,29 @@ +package broadcast; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Broadcast; + +public class BroadcastExamples { + + // tag::chain[] + @Incoming("in") + @Outgoing("out") + @Broadcast + public int increment(int i) { + return i + 1; + } + + @Incoming("out") + public void consume1(int i) { + //... + } + + @Incoming("out") + public void consume2(int i) { + //... + } + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/broadcast/BroadcastWithCountExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/broadcast/BroadcastWithCountExamples.java new file mode 100644 index 000000000..e227d7747 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/broadcast/BroadcastWithCountExamples.java @@ -0,0 +1,29 @@ +package broadcast; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Broadcast; + +public class BroadcastWithCountExamples { + + // tag::chain[] + @Incoming("in") + @Outgoing("out") + @Broadcast(2) + public int increment(int i) { + return i + 1; + } + + @Incoming("out") + public void consume1(int i) { + //... + } + + @Incoming("out") + public void consume2(int i) { + //... + } + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/camel/api/CamelApi.java b/content/docs/smallrye-reactive-messaging/4/_examples/camel/api/CamelApi.java new file mode 100644 index 000000000..f96087599 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/camel/api/CamelApi.java @@ -0,0 +1,94 @@ +package camel.api; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; + +import org.apache.camel.BindToRegistry; +import org.apache.camel.CamelContext; +import org.apache.camel.Exchange; +import org.apache.camel.builder.LambdaRouteBuilder; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; +import org.reactivestreams.Publisher; +import org.reactivestreams.Subscriber; + +public class CamelApi { + + // tag::reactive[] + @Inject + CamelReactiveStreamsService reactiveStreamsService; + // end::reactive[] + + // tag::source[] + @Outgoing("camel") + public Publisher retrieveDataFromCamelRoute() { + return reactiveStreamsService.from("seda:camel"); + } + // end::source[] + + // tag::source-route-builder[] + @Singleton + static class MyRouteBuilder extends RouteBuilder { + @Inject + CamelReactiveStreamsService reactiveStreamsService; + + @Outgoing("sink") + public Publisher getDataFromCamelRoute() { + return reactiveStreamsService.fromStream("my-stream", String.class); + } + + @Override + public void configure() { + from("seda:camel").process( + exchange -> exchange.getMessage().setBody(exchange.getIn().getBody(String.class).toUpperCase())) + .to("reactive-streams:my-stream"); + } + } + // end::source-route-builder[] + + // tag::source-lambda-route-builder[] + @ApplicationScoped + static class MyLambdaRouteBuilder { + @Inject + CamelReactiveStreamsService reactiveStreamsService; + + @Outgoing("sink") + public Publisher getDataFromCamelRoute() { + return reactiveStreamsService.fromStream("my-stream", String.class); + } + + @Produces + @BindToRegistry + public LambdaRouteBuilder route() { + return rb -> rb.from("seda:camel").process( + exchange -> exchange.getMessage().setBody(exchange.getIn().getBody(String.class).toUpperCase())) + .to("reactive-streams:my-stream"); + } + } + // end::source-lambda-route-builder[] + + // tag::sink[] + @Incoming("to-camel") + public Subscriber sendDataToCamelRoute() { + return reactiveStreamsService.subscriber("file:./target?fileName=values.txt&fileExist=append", + String.class); + } + // end::sink[] + + // tag::producer[] + @Inject + CamelContext camel; + + @Incoming("to-camel") + public CompletionStage sink(String value) { + return camel.createProducerTemplate() + .asyncSendBody("file:./target?fileName=values.txt&fileExist=append", value).thenApply(x -> null); + } + // end::producer[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/CamelFileConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/CamelFileConsumer.java new file mode 100644 index 000000000..21c206129 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/CamelFileConsumer.java @@ -0,0 +1,20 @@ +package camel.inbound; + +import java.io.File; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class CamelFileConsumer { + + @Incoming("files") + public void consume(GenericFile gf) { + File file = gf.getFile(); + // process the file + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/CamelFileMessageConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/CamelFileMessageConsumer.java new file mode 100644 index 000000000..56cbc8559 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/CamelFileMessageConsumer.java @@ -0,0 +1,23 @@ +package camel.inbound; + +import java.io.File; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class CamelFileMessageConsumer { + + @Incoming("files") + public CompletionStage consume(Message> msg) { + File file = msg.getPayload().getFile(); + // process the file + + return msg.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/IncomingCamelMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/IncomingCamelMetadataExample.java new file mode 100644 index 000000000..63f0a4f3d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/camel/inbound/IncomingCamelMetadataExample.java @@ -0,0 +1,29 @@ +package camel.inbound; + +import java.io.File; +import java.util.Optional; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.camel.Exchange; +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.camel.IncomingExchangeMetadata; + +@ApplicationScoped +public class IncomingCamelMetadataExample { + + @Incoming("files") + public CompletionStage consume(Message> msg) { + Optional metadata = msg.getMetadata(IncomingExchangeMetadata.class); + if (metadata.isPresent()) { + // Retrieve the camel exchange: + Exchange exchange = metadata.get().getExchange(); + } + return msg.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelOutboundMetadataExample.java new file mode 100644 index 000000000..3261e7371 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelOutboundMetadataExample.java @@ -0,0 +1,31 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.camel.OutgoingExchangeMetadata; + +@ApplicationScoped +public class CamelOutboundMetadataExample { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // tag::code[] + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)) + .map(s -> Message.of(s) + .addMetadata(new OutgoingExchangeMetadata() + .putProperty("my-property", "my-value"))); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelPriceMessageProducer.java new file mode 100644 index 000000000..5a0202608 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelPriceMessageProducer.java @@ -0,0 +1,27 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class CamelPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)) + .map(Message::of); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelPriceProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelPriceProducer.java new file mode 100644 index 000000000..30392e08e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/camel/outbound/CamelPriceProducer.java @@ -0,0 +1,26 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class CamelPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onOverflow().drop() + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/camel/processor/CamelProcessor.java b/content/docs/smallrye-reactive-messaging/4/_examples/camel/processor/CamelProcessor.java new file mode 100644 index 000000000..434b12911 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/camel/processor/CamelProcessor.java @@ -0,0 +1,18 @@ +package camel.processor; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class CamelProcessor { + + @Incoming("mynatssubject") + @Outgoing("mykafkatopic") + public byte[] process(byte[] message) { + // do some logic + return message; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyAckHandler.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyAckHandler.java new file mode 100644 index 000000000..dc1d1d146 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyAckHandler.java @@ -0,0 +1,25 @@ +package connectors; + +import java.util.concurrent.CompletionStage; + +import connectors.api.BrokerClient; +import io.smallrye.mutiny.Uni; + +public class MyAckHandler { + + private final BrokerClient client; + + static MyAckHandler create(BrokerClient client) { + return new MyAckHandler(client); + } + + public MyAckHandler(BrokerClient client) { + this.client = client; + } + + public CompletionStage handle(MyMessage msg) { + return Uni.createFrom().completionStage(client.ack(msg.getConsumedMessage())) + .emitOn(msg::runOnMessageContext) + .subscribeAsCompletionStage(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyConnector.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyConnector.java new file mode 100644 index 000000000..9dd75beb8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyConnector.java @@ -0,0 +1,75 @@ +package connectors; + +import static io.smallrye.reactive.messaging.annotations.ConnectorAttribute.Direction.INCOMING; +import static io.smallrye.reactive.messaging.annotations.ConnectorAttribute.Direction.INCOMING_AND_OUTGOING; +import static io.smallrye.reactive.messaging.annotations.ConnectorAttribute.Direction.OUTGOING; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.Flow; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.spi.Connector; + +import connectors.api.BrokerClient; +import io.smallrye.reactive.messaging.annotations.ConnectorAttribute; +import io.smallrye.reactive.messaging.connector.InboundConnector; +import io.smallrye.reactive.messaging.connector.OutboundConnector; +import io.smallrye.reactive.messaging.providers.connectors.ExecutionHolder; +import io.vertx.mutiny.core.Vertx; + +@ApplicationScoped +@Connector(MyConnector.CONNECTOR_NAME) +@ConnectorAttribute(name = "client-id", type = "string", direction = INCOMING_AND_OUTGOING, description = "The client id ", mandatory = true) +@ConnectorAttribute(name = "buffer-size", type = "int", direction = INCOMING, description = "The size buffer of incoming messages waiting to be processed", defaultValue = "128") +@ConnectorAttribute(name = "topic", type = "string", direction = OUTGOING, description = "The default topic to send the messages, defaults to channel name if not set") +@ConnectorAttribute(name = "maxPendingMessages", type = "int", direction = OUTGOING, description = "The maximum size of a queue holding pending messages", defaultValue = "1000") +@ConnectorAttribute(name = "waitForWriteCompletion", type = "boolean", direction = OUTGOING, description = "Whether the outgoing channel waits for the write completion", defaultValue = "true") +public class MyConnector implements InboundConnector, OutboundConnector { + + public static final String CONNECTOR_NAME = "smallrye-my-connector"; + + @Inject + ExecutionHolder executionHolder; + + Vertx vertx; + + List incomingChannels = new CopyOnWriteArrayList<>(); + List outgoingChannels = new CopyOnWriteArrayList<>(); + + @PostConstruct + void init() { + this.vertx = executionHolder.vertx(); + } + + @Override + public Flow.Publisher> getPublisher(Config config) { + MyConnectorIncomingConfiguration ic = new MyConnectorIncomingConfiguration(config); + String channelName = ic.getChannel(); + String clientId = ic.getClientId(); + int bufferSize = ic.getBufferSize(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyIncomingChannel channel = new MyIncomingChannel(vertx, ic, client); + incomingChannels.add(channel); + return channel.getStream(); + } + + @Override + public Flow.Subscriber> getSubscriber(Config config) { + MyConnectorOutgoingConfiguration oc = new MyConnectorOutgoingConfiguration(config); + String channelName = oc.getChannel(); + String clientId = oc.getClientId(); + int pendingMessages = oc.getMaxPendingMessages(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyOutgoingChannel channel = new MyOutgoingChannel(vertx, oc, client); + outgoingChannels.add(channel); + return channel.getSubscriber(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyConnectorWithPartials.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyConnectorWithPartials.java new file mode 100644 index 000000000..55d0cc2fa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyConnectorWithPartials.java @@ -0,0 +1,106 @@ +package connectors; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.Flow; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.spi.Connector; + +import connectors.api.BrokerClient; +import io.smallrye.reactive.messaging.connector.InboundConnector; +import io.smallrye.reactive.messaging.connector.OutboundConnector; +import io.smallrye.reactive.messaging.health.HealthReport; +import io.smallrye.reactive.messaging.health.HealthReporter; +import io.smallrye.reactive.messaging.providers.connectors.ExecutionHolder; +import io.vertx.mutiny.core.Vertx; + +// tag::health-report[] +@ApplicationScoped +@Connector(MyConnectorWithPartials.CONNECTOR_NAME) +public class MyConnectorWithPartials implements InboundConnector, OutboundConnector, HealthReporter { + + public static final String CONNECTOR_NAME = "smallrye-my-connector"; + + List incomingChannels = new CopyOnWriteArrayList<>(); + List outgoingChannels = new CopyOnWriteArrayList<>(); + + @Override + public HealthReport getReadiness() { + HealthReport.HealthReportBuilder builder = HealthReport.builder(); + for (MyIncomingChannel channel : incomingChannels) { + builder.add(channel.getChannel(), true); + } + for (MyOutgoingChannel channel : outgoingChannels) { + builder.add(channel.getChannel(), true); + } + return builder.build(); + } + + @Override + public HealthReport getLiveness() { + HealthReport.HealthReportBuilder builder = HealthReport.builder(); + for (MyIncomingChannel channel : incomingChannels) { + builder.add(channel.getChannel(), true); + } + for (MyOutgoingChannel channel : outgoingChannels) { + builder.add(channel.getChannel(), true); + } + return builder.build(); + } + + @Override + public HealthReport getStartup() { + HealthReport.HealthReportBuilder builder = HealthReport.builder(); + for (MyIncomingChannel channel : incomingChannels) { + builder.add(channel.getChannel(), true); + } + for (MyOutgoingChannel channel : outgoingChannels) { + builder.add(channel.getChannel(), true); + } + return builder.build(); + } + + // end::health-report[] + + @Inject + ExecutionHolder executionHolder; + + Vertx vertx; + + @PostConstruct + void init() { + this.vertx = executionHolder.vertx(); + } + + @Override + public Flow.Publisher> getPublisher(Config config) { + MyConnectorIncomingConfiguration ic = new MyConnectorIncomingConfiguration(config); + String channelName = ic.getChannel(); + String clientId = ic.getClientId(); + int bufferSize = ic.getBufferSize(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyIncomingChannel channel = new MyIncomingChannel(vertx, ic, client); + incomingChannels.add(channel); + return channel.getStream(); + } + + @Override + public Flow.Subscriber> getSubscriber(Config config) { + MyConnectorOutgoingConfiguration oc = new MyConnectorOutgoingConfiguration(config); + String channelName = oc.getChannel(); + String clientId = oc.getClientId(); + int pendingMessages = oc.getMaxPendingMessages(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyOutgoingChannel channel = new MyOutgoingChannel(vertx, oc, client); + outgoingChannels.add(channel); + return channel.getSubscriber(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyFailureHandler.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyFailureHandler.java new file mode 100644 index 000000000..f41b78055 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyFailureHandler.java @@ -0,0 +1,27 @@ +package connectors; + +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import connectors.api.BrokerClient; +import io.smallrye.mutiny.Uni; + +public class MyFailureHandler { + + private final BrokerClient client; + + static MyFailureHandler create(BrokerClient client) { + return new MyFailureHandler(client); + } + + public MyFailureHandler(BrokerClient client) { + this.client = client; + } + + public CompletionStage handle(MyMessage msg, Throwable reason, Metadata metadata) { + return Uni.createFrom().completionStage(() -> client.reject(msg.getConsumedMessage(), reason.getMessage())) + .emitOn(msg::runOnMessageContext) + .subscribeAsCompletionStage(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingChannel.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingChannel.java new file mode 100644 index 000000000..deded1eaa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingChannel.java @@ -0,0 +1,57 @@ +package connectors; + +import java.util.concurrent.Flow; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.health.HealthReport; +import io.vertx.core.impl.VertxInternal; +import io.vertx.mutiny.core.Context; +import io.vertx.mutiny.core.Vertx; + +public class MyIncomingChannel { + + private final String channel; + private final BrokerClient client; + private final Context context; + private final MyAckHandler ackHandler; + private final MyFailureHandler failureHandler; + private final AtomicBoolean closed = new AtomicBoolean(false); + private Flow.Publisher> stream; + + public MyIncomingChannel(Vertx vertx, MyConnectorIncomingConfiguration cfg, BrokerClient client) { + // create and configure the client with MyConnectorIncomingConfiguration + this.channel = cfg.getChannel(); + this.client = client; + this.context = Context.newInstance(((VertxInternal) vertx.getDelegate()).createEventLoopContext()); + this.ackHandler = MyAckHandler.create(this.client); + this.failureHandler = MyFailureHandler.create(this.client); + this.stream = Multi.createBy().repeating() + .uni(() -> Uni.createFrom().completionStage(this.client.poll())) + .until(__ -> closed.get()) + .emitOn(context::runOnContext) + .map(consumed -> new MyMessage<>(consumed, ackHandler, failureHandler)); + } + + public String getChannel() { + return channel; + } + + public Flow.Publisher> getStream() { + return this.stream; + } + + public void close() { + closed.compareAndSet(false, true); + client.close(); + } + + void isReady(HealthReport.HealthReportBuilder healthReportBuilder) { + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingChannelWithPartials.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingChannelWithPartials.java new file mode 100644 index 000000000..d7f2dd967 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingChannelWithPartials.java @@ -0,0 +1,79 @@ +package connectors; + +import java.util.concurrent.Flow; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import connectors.api.ConsumedMessage; +import connectors.tracing.MyOpenTelemetryInstrumenter; +import connectors.tracing.MyTrace; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.health.HealthReport; +import io.smallrye.reactive.messaging.tracing.TracingUtils; +import io.vertx.core.impl.VertxInternal; +import io.vertx.mutiny.core.Context; +import io.vertx.mutiny.core.Vertx; + +public class MyIncomingChannelWithPartials { + + private final String channel; + private final BrokerClient client; + private final Context context; + private final MyAckHandler ackHandler; + private final MyFailureHandler failureHandler; + private final AtomicBoolean closed = new AtomicBoolean(false); + private final boolean tracingEnabled; + private Flow.Publisher> stream; + + public MyIncomingChannelWithPartials(Vertx vertx, MyConnectorIncomingConfiguration cfg, BrokerClient client) { + // create and configure the client with MyConnectorIncomingConfiguration + this.channel = cfg.getChannel(); + this.client = client; + this.context = Context.newInstance(((VertxInternal) vertx.getDelegate()).createEventLoopContext()); + this.ackHandler = MyAckHandler.create(this.client); + this.failureHandler = MyFailureHandler.create(this.client); + this.tracingEnabled = true; + // tag::incoming-tracing[] + Multi> receiveMulti = Multi.createBy().repeating() + .uni(() -> Uni.createFrom().completionStage(this.client.poll())) + .until(__ -> closed.get()) + .emitOn(context::runOnContext) + .map(consumed -> new MyMessage<>(consumed, ackHandler, failureHandler)); + + Instrumenter instrumenter = MyOpenTelemetryInstrumenter.createInstrumenter(true); + if (tracingEnabled) { + receiveMulti = receiveMulti.map(message -> { + ConsumedMessage consumedMessage = message.getMetadata(MyIncomingMetadata.class).get().getCustomMessage(); + return TracingUtils.traceIncoming(instrumenter, message, new MyTrace.Builder() + .withClientId(consumedMessage.clientId()) + .withTopic(consumedMessage.topic()) + .withProperties(consumedMessage.properties()) + .build()); + }); + } + // end::incoming-tracing[] + this.stream = receiveMulti; + } + + public String getChannel() { + return channel; + } + + public Flow.Publisher> getStream() { + return this.stream; + } + + public void close() { + closed.compareAndSet(false, true); + client.close(); + } + + void isReady(HealthReport.HealthReportBuilder healthReportBuilder) { + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingMetadata.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingMetadata.java new file mode 100644 index 000000000..c288085be --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyIncomingMetadata.java @@ -0,0 +1,34 @@ +package connectors; + +import java.util.Map; + +import connectors.api.ConsumedMessage; + +public class MyIncomingMetadata { + + private final ConsumedMessage msg; + + public MyIncomingMetadata(ConsumedMessage msg) { + this.msg = msg; + } + + public ConsumedMessage getCustomMessage() { + return msg; + } + + public T getBody() { + return msg.body(); + } + + public String getKey() { + return msg.key(); + } + + public long getTimestamp() { + return msg.timestamp(); + } + + public Map getProperties() { + return msg.properties(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyMessage.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyMessage.java new file mode 100644 index 000000000..cd432f0f3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyMessage.java @@ -0,0 +1,51 @@ +package connectors; + +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import connectors.api.ConsumedMessage; +import io.smallrye.reactive.messaging.providers.locals.ContextAwareMessage; + +public class MyMessage implements Message, ContextAwareMessage { + + private final T payload; + private final Metadata metadata; + private final MyAckHandler ackHandler; + + private final MyFailureHandler nackHandler; + private ConsumedMessage consumed; + + public MyMessage(ConsumedMessage message, MyAckHandler ackHandler, MyFailureHandler nackHandler) { + this.consumed = message; + this.payload = message.body(); + this.ackHandler = ackHandler; + this.nackHandler = nackHandler; + this.metadata = ContextAwareMessage.captureContextMetadata(new MyIncomingMetadata<>(message)); + } + + public ConsumedMessage getConsumedMessage() { + return consumed; + } + + @Override + public T getPayload() { + return payload; + } + + @Override + public Metadata getMetadata() { + return metadata; + } + + @Override + public CompletionStage ack() { + return ackHandler.handle(this); + } + + @Override + public CompletionStage nack(Throwable reason, Metadata nackMetadata) { + return nackHandler.handle(this, reason, nackMetadata); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyMessageConverter.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyMessageConverter.java new file mode 100644 index 000000000..6f9f180e9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyMessageConverter.java @@ -0,0 +1,27 @@ +package connectors; + +import java.lang.reflect.Type; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.ConsumedMessage; +import io.smallrye.reactive.messaging.MessageConverter; +import io.smallrye.reactive.messaging.providers.helpers.TypeUtils; + +@ApplicationScoped +public class MyMessageConverter implements MessageConverter { + @Override + public boolean canConvert(Message in, Type target) { + return TypeUtils.isAssignable(target, ConsumedMessage.class) + && in.getMetadata(MyIncomingMetadata.class).isPresent(); + } + + @Override + public Message convert(Message in, Type target) { + return in.withPayload(in.getMetadata(MyIncomingMetadata.class) + .map(MyIncomingMetadata::getCustomMessage) + .orElse(null)); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingChannel.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingChannel.java new file mode 100644 index 000000000..013defda1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingChannel.java @@ -0,0 +1,49 @@ +package connectors; + +import java.util.concurrent.Flow; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import connectors.api.SendMessage; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.providers.helpers.MultiUtils; +import io.vertx.mutiny.core.Vertx; + +public class MyOutgoingChannel { + private final String channel; + private Flow.Subscriber> subscriber; + private final BrokerClient client; + private final String topic; + + public MyOutgoingChannel(Vertx vertx, MyConnectorOutgoingConfiguration oc, BrokerClient client) { + this.channel = oc.getChannel(); + this.client = client; + this.topic = oc.getTopic().orElse(oc.getChannel()); + this.subscriber = MultiUtils.via(multi -> multi.call(m -> publishMessage(this.client, m))); + } + + private Uni publishMessage(BrokerClient client, Message m) { + // construct the outgoing message + SendMessage sendMessage = new SendMessage(); + Object payload = m.getPayload(); + sendMessage.setPayload(payload); + sendMessage.setTopic(topic); + m.getMetadata(MyOutgoingMetadata.class).ifPresent(out -> { + sendMessage.setTopic(out.getTopic()); + sendMessage.setKey(out.getKey()); + //... + }); + return Uni.createFrom().completionStage(() -> client.send(sendMessage)) + .onItem().transformToUni(receipt -> Uni.createFrom().completionStage(m.ack())) + .onFailure().recoverWithUni(t -> Uni.createFrom().completionStage(m.nack(t))); + } + + public Flow.Subscriber> getSubscriber() { + return this.subscriber; + } + + public String getChannel() { + return this.channel; + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingChannelWithPartials.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingChannelWithPartials.java new file mode 100644 index 000000000..2ba3d9e59 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingChannelWithPartials.java @@ -0,0 +1,105 @@ +package connectors; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.Flow; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import connectors.api.SendMessage; +import connectors.tracing.MyOpenTelemetryInstrumenter; +import connectors.tracing.MyTrace; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.providers.helpers.MultiUtils; +import io.smallrye.reactive.messaging.providers.helpers.SenderProcessor; +import io.smallrye.reactive.messaging.tracing.TracingUtils; +import io.vertx.mutiny.core.Vertx; + +public class MyOutgoingChannelWithPartials { + private SenderProcessor processor; + private Flow.Subscriber> subscriber; + private final BrokerClient client; + private final String topic; + private final boolean tracingEnabled; + + private Instrumenter instrumenter; + + public MyOutgoingChannelWithPartials(Vertx vertx, MyConnectorOutgoingConfiguration oc, BrokerClient client) { + this.client = client; + this.topic = oc.getTopic().orElse(oc.getChannel()); + this.tracingEnabled = true; + // tag::sender-processor[] + long requests = oc.getMaxPendingMessages(); + boolean waitForWriteCompletion = oc.getWaitForWriteCompletion(); + if (requests <= 0) { + requests = Long.MAX_VALUE; + } + this.processor = new SenderProcessor(requests, waitForWriteCompletion, m -> publishMessage(client, m)); + this.subscriber = MultiUtils.via(processor, m -> m.onFailure().invoke(f -> { + // log the failure + })); + // end::sender-processor[] + instrumenter = MyOpenTelemetryInstrumenter.createInstrumenter(false); + + } + + // tag::send-message[] + private Uni publishMessage(BrokerClient client, Message message) { + // construct the outgoing message + SendMessage sendMessage; + Object payload = message.getPayload(); + if (payload instanceof SendMessage) { + sendMessage = (SendMessage) message.getPayload(); + } else { + sendMessage = new SendMessage(); + sendMessage.setPayload(payload); + sendMessage.setTopic(topic); + message.getMetadata(MyOutgoingMetadata.class).ifPresent(out -> { + sendMessage.setTopic(out.getTopic()); + sendMessage.setKey(out.getKey()); + //... + }); + } + return Uni.createFrom().completionStage(() -> client.send(sendMessage)) + .onItem().transformToUni(receipt -> Uni.createFrom().completionStage(message.ack())) + .onFailure().recoverWithUni(t -> Uni.createFrom().completionStage(message.nack(t))); + } + // end::send-message[] + + // tag::outgoing-tracing[] + private Uni publishMessageWithTracing(BrokerClient client, Message message) { + // construct the outgoing message + SendMessage sendMessage; + Object payload = message.getPayload(); + if (payload instanceof SendMessage) { + sendMessage = (SendMessage) message.getPayload(); + } else { + sendMessage = new SendMessage(); + sendMessage.setPayload(payload); + sendMessage.setTopic(topic); + message.getMetadata(MyOutgoingMetadata.class).ifPresent(out -> { + sendMessage.setTopic(out.getTopic()); + sendMessage.setKey(out.getKey()); + //... + }); + } + if (tracingEnabled) { + Map properties = new HashMap<>(); + TracingUtils.traceOutgoing(instrumenter, message, new MyTrace.Builder() + .withProperties(properties) + .withTopic(sendMessage.getTopic()) + .build()); + sendMessage.setProperties(properties); + } + return Uni.createFrom().completionStage(() -> client.send(sendMessage)) + .onItem().transformToUni(receipt -> Uni.createFrom().completionStage(message.ack())) + .onFailure().recoverWithUni(t -> Uni.createFrom().completionStage(message.nack(t))); + } + // end::outgoing-tracing[] + + public Flow.Subscriber> getSubscriber() { + return this.subscriber; + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingMessage.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingMessage.java new file mode 100644 index 000000000..86c8a3636 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingMessage.java @@ -0,0 +1,70 @@ +package connectors; + +import java.util.concurrent.CompletionStage; +import java.util.function.Function; +import java.util.function.Supplier; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.providers.locals.ContextAwareMessage; + +public class MyOutgoingMessage implements Message, ContextAwareMessage { + + private final T payload; + private final Metadata metadata; + + private final Supplier> ack; + private final Function> nack; + + public static MyOutgoingMessage from(Message message) { + return new MyOutgoingMessage<>(message.getPayload(), message.getMetadata(), message.getAck(), message.getNack()); + } + + public MyOutgoingMessage(T payload, Metadata metadata, + Supplier> ack, + Function> nack) { + this.payload = payload; + this.metadata = metadata; + this.ack = ack; + this.nack = nack; + } + + public MyOutgoingMessage(T payload, String key, String topic, + Supplier> ack, + Function> nack) { + this(payload, Metadata.of(new MyOutgoingMetadata(topic, key)), ack, nack); + } + + @Override + public T getPayload() { + return payload; + } + + @Override + public Metadata getMetadata() { + return metadata; + } + + @Override + public Supplier> getAck() { + return this.ack; + } + + @Override + public Function> getNack() { + return this.nack; + } + + public MyOutgoingMessage withKey(String key) { + this.metadata.with(this.metadata.get(MyOutgoingMetadata.class) + .map(m -> MyOutgoingMetadata.builder(m).withKey(key).build())); + return this; + } + + public MyOutgoingMessage withTopic(String topic) { + this.metadata.with(this.metadata.get(MyOutgoingMetadata.class) + .map(m -> MyOutgoingMetadata.builder(m).withTopic(topic).build())); + return this; + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingMetadata.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingMetadata.java new file mode 100644 index 000000000..15c47cc1b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/MyOutgoingMetadata.java @@ -0,0 +1,56 @@ +package connectors; + +public class MyOutgoingMetadata { + private String topic; + private String key; + + public static MyOutgoingMetadataBuilder builder() { + return new MyOutgoingMetadataBuilder(); + } + + public static MyOutgoingMetadataBuilder builder(MyOutgoingMetadata metadata) { + return new MyOutgoingMetadataBuilder(metadata); + } + + public MyOutgoingMetadata(String topic, String key) { + this.topic = topic; + this.key = key; + } + + public String getTopic() { + return topic; + } + + public String getKey() { + return key; + } + + public static class MyOutgoingMetadataBuilder { + private String topic; + private String key; + + public MyOutgoingMetadataBuilder() { + + } + + public MyOutgoingMetadataBuilder(MyOutgoingMetadata metadata) { + this.key = metadata.getKey(); + this.topic = metadata.getTopic(); + } + + public MyOutgoingMetadataBuilder withTopic(String topic) { + this.topic = topic; + return this; + } + + public MyOutgoingMetadataBuilder withKey(String key) { + this.key = key; + return this; + } + + public MyOutgoingMetadata build() { + return new MyOutgoingMetadata(topic, key); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/test/MyConnectorTest.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/test/MyConnectorTest.java new file mode 100644 index 000000000..718aac41f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/test/MyConnectorTest.java @@ -0,0 +1,52 @@ +package connectors.test; + +import static org.awaitility.Awaitility.await; + +import java.util.List; +import java.util.UUID; +import java.util.concurrent.CopyOnWriteArrayList; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.junit.jupiter.api.Test; + +import connectors.MyConnector; +import io.smallrye.reactive.messaging.test.common.config.MapBasedConfig; + +public class MyConnectorTest extends WeldTestBase { + + @Test + void incomingChannel() { + String host = ""; + int port = 0; + String myTopic = UUID.randomUUID().toString(); + MapBasedConfig config = new MapBasedConfig() + .with("mp.messaging.incoming.data.topic", myTopic) + .with("mp.messaging.incoming.data.host", host) + .with("mp.messaging.incoming.data.port", port) + .with("mp.messaging.incoming.data.connector", MyConnector.CONNECTOR_NAME); + MyApp app = runApplication(config, MyApp.class); + + int expected = 10; + // produce expected number of messages to myTopic + + // wait until app received + await().until(() -> app.received().size() == expected); + } + + @ApplicationScoped + public static class MyApp { + + List received = new CopyOnWriteArrayList<>(); + + @Incoming("data") + void consume(String msg) { + received.add(msg); + } + + public List received() { + return received; + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/test/WeldTestBase.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/test/WeldTestBase.java new file mode 100644 index 000000000..35cf9555b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/test/WeldTestBase.java @@ -0,0 +1,140 @@ +package connectors.test; + +import jakarta.enterprise.inject.spi.BeanManager; + +import org.eclipse.microprofile.reactive.messaging.spi.ConnectorLiteral; +import org.jboss.weld.environment.se.Weld; +import org.jboss.weld.environment.se.WeldContainer; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; + +import connectors.MyConnector; +import connectors.MyMessageConverter; +import io.smallrye.config.inject.ConfigExtension; +import io.smallrye.reactive.messaging.providers.MediatorFactory; +import io.smallrye.reactive.messaging.providers.connectors.ExecutionHolder; +import io.smallrye.reactive.messaging.providers.connectors.WorkerPoolRegistry; +import io.smallrye.reactive.messaging.providers.extension.ChannelProducer; +import io.smallrye.reactive.messaging.providers.extension.EmitterFactoryImpl; +import io.smallrye.reactive.messaging.providers.extension.HealthCenter; +import io.smallrye.reactive.messaging.providers.extension.LegacyEmitterFactoryImpl; +import io.smallrye.reactive.messaging.providers.extension.MediatorManager; +import io.smallrye.reactive.messaging.providers.extension.MutinyEmitterFactoryImpl; +import io.smallrye.reactive.messaging.providers.extension.ReactiveMessagingExtension; +import io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory; +import io.smallrye.reactive.messaging.providers.impl.ConnectorFactories; +import io.smallrye.reactive.messaging.providers.impl.InternalChannelRegistry; +import io.smallrye.reactive.messaging.providers.metrics.MetricDecorator; +import io.smallrye.reactive.messaging.providers.metrics.MicrometerDecorator; +import io.smallrye.reactive.messaging.providers.wiring.Wiring; +import io.smallrye.reactive.messaging.test.common.config.MapBasedConfig; +import io.smallrye.reactive.messaging.test.common.config.SmallRyeConfigTestUtil; + +public class WeldTestBase { + + protected Weld weld; + protected WeldContainer container; + + @BeforeEach + public void initWeld() { + weld = new Weld(); + + // SmallRye config + ConfigExtension extension = new ConfigExtension(); + weld.addExtension(extension); + + weld.addBeanClass(MediatorFactory.class); + weld.addBeanClass(MediatorManager.class); + weld.addBeanClass(InternalChannelRegistry.class); + weld.addBeanClass(ConnectorFactories.class); + weld.addBeanClass(ConfiguredChannelFactory.class); + weld.addBeanClass(ChannelProducer.class); + weld.addBeanClass(ExecutionHolder.class); + weld.addBeanClass(WorkerPoolRegistry.class); + weld.addBeanClass(HealthCenter.class); + weld.addBeanClass(Wiring.class); + weld.addExtension(new ReactiveMessagingExtension()); + + weld.addBeanClass(EmitterFactoryImpl.class); + weld.addBeanClass(MutinyEmitterFactoryImpl.class); + weld.addBeanClass(LegacyEmitterFactoryImpl.class); + + weld.addBeanClass(MyConnector.class); + weld.addBeanClass(MyMessageConverter.class); + weld.addBeanClass(MetricDecorator.class); + weld.addBeanClass(MicrometerDecorator.class); + weld.disableDiscovery(); + } + + @AfterEach + public void stopContainer() { + if (container != null) { + // TODO Explicitly close the connector + getBeanManager().createInstance() + .select(MyConnector.class, ConnectorLiteral.of(MyConnector.CONNECTOR_NAME)).get(); + container.close(); + } + // Release the config objects + SmallRyeConfigTestUtil.releaseConfig(); + } + + public BeanManager getBeanManager() { + if (container == null) { + runApplication(new MapBasedConfig()); + } + return container.getBeanManager(); + } + + public void addBeans(Class... clazzes) { + weld.addBeanClasses(clazzes); + } + + public T get(Class clazz) { + return getBeanManager().createInstance().select(clazz).get(); + } + + public T runApplication(MapBasedConfig config, Class clazz) { + weld.addBeanClass(clazz); + runApplication(config); + return get(clazz); + } + + public void runApplication(MapBasedConfig config) { + if (config != null) { + config.write(); + } else { + MapBasedConfig.cleanup(); + } + + SmallRyeConfigTestUtil.installConfig(); + container = weld.initialize(); + } + + public static void addConfig(MapBasedConfig config) { + if (config != null) { + config.write(); + } else { + MapBasedConfig.cleanup(); + } + } + + public HealthCenter getHealth() { + if (container == null) { + throw new IllegalStateException("Application not started"); + } + return container.getBeanManager().createInstance().select(HealthCenter.class).get(); + } + + public boolean isStarted() { + return getHealth().getStartup().isOk(); + } + + public boolean isReady() { + return getHealth().getReadiness().isOk(); + } + + public boolean isAlive() { + return getHealth().getLiveness().isOk(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java new file mode 100644 index 000000000..9454e254f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java @@ -0,0 +1,64 @@ +package connectors.tracing; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.opentelemetry.api.GlobalOpenTelemetry; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessageOperation; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingAttributesExtractor; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingAttributesGetter; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingSpanNameExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; +import io.smallrye.reactive.messaging.tracing.TracingUtils; + +/** + * Encapsulates the OpenTelemetry instrumentation API so that those classes are only needed if + * users explicitly enable tracing. + */ +public class MyOpenTelemetryInstrumenter { + + private final Instrumenter instrumenter; + + private MyOpenTelemetryInstrumenter(Instrumenter instrumenter) { + this.instrumenter = instrumenter; + } + + public static MyOpenTelemetryInstrumenter createIncoming() { + return new MyOpenTelemetryInstrumenter(createInstrumenter(true)); + } + + public static MyOpenTelemetryInstrumenter createOutgoing() { + return new MyOpenTelemetryInstrumenter(createInstrumenter(false)); + } + + // tag::create-instrumenter[] + public static Instrumenter createInstrumenter(boolean incoming) { + MessageOperation messageOperation = incoming ? MessageOperation.RECEIVE : MessageOperation.PUBLISH; + + MyAttributesExtractor myExtractor = new MyAttributesExtractor(); + MessagingAttributesGetter attributesGetter = myExtractor.getMessagingAttributesGetter(); + var spanNameExtractor = MessagingSpanNameExtractor.create(attributesGetter, messageOperation); + InstrumenterBuilder builder = Instrumenter.builder(GlobalOpenTelemetry.get(), + "io.smallrye.reactive.messaging", spanNameExtractor); + var attributesExtractor = MessagingAttributesExtractor.create(attributesGetter, messageOperation); + + builder + .addAttributesExtractor(attributesExtractor) + .addAttributesExtractor(myExtractor); + + if (incoming) { + return builder.buildConsumerInstrumenter(MyTraceTextMapGetter.INSTANCE); + } else { + return builder.buildProducerInstrumenter(MyTraceTextMapSetter.INSTANCE); + } + } + // + + public Message traceIncoming(Message message, MyTrace myTrace, boolean makeCurrent) { + return TracingUtils.traceIncoming(instrumenter, message, myTrace, makeCurrent); + } + + public void traceOutgoing(Message message, MyTrace myTrace) { + TracingUtils.traceOutgoing(instrumenter, message, myTrace); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/consumption/ConsumptionExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/consumption/ConsumptionExamples.java new file mode 100644 index 000000000..2094888b6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/consumption/ConsumptionExamples.java @@ -0,0 +1,70 @@ +package consumption; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; + +public class ConsumptionExamples { + + //tag::message-cs[] + @Incoming("my-channel") + public CompletionStage consumeMessage(Message message) { + handle(message.getPayload()); + return message.ack(); + } + //end::message-cs[] + + //tag::payload-sync[] + @Incoming("my-channel") + public void consumePayload(Price payload) { + // do something + } + //end::payload-sync[] + + //tag::payload-cs[] + @Incoming("my-channel") + public CompletionStage consumePayloadCS(Price payload) { + CompletionStage cs = handleAsync(payload); + return cs; + } + //end::payload-cs[] + + //tag::payload-uni[] + @Incoming("my-channel") + public Uni consumePayloadUni(Price payload) { + return Uni.createFrom().item(payload) + .onItem().invoke(this::handle) + .onItem().ignore().andContinueWithNull(); + } + //end::payload-uni[] + + //tag::message-uni[] + @Incoming("my-channel") + public Uni consumeMessageUni(Message message) { + return Uni.createFrom().item(message) + .onItem().invoke(m -> handle(m.getPayload())) + .onItem().transformToUni(x -> Uni.createFrom().completionStage(message.ack())); + } + //end::message-uni[] + + private CompletionStage handleAsync(Price price) { + return CompletableFuture.completedFuture(null); + } + + @SuppressWarnings("UnusedReturnValue") + private Price handle(Price price) { + return price; + } + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/converters/ConverterExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/converters/ConverterExample.java new file mode 100644 index 000000000..a9d3b661e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/converters/ConverterExample.java @@ -0,0 +1,24 @@ +package converters; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class ConverterExample { + + // tag::code[] + @Outgoing("persons") + public Multi source() { + return Multi.createFrom().items("Neo", "Morpheus", "Trinity"); + } + + // The messages need to be converted as they are emitted as Message + // and consumed as Message + @Incoming("persons") + public void consume(Person p) { + // ... + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/converters/MyConverter.java b/content/docs/smallrye-reactive-messaging/4/_examples/converters/MyConverter.java new file mode 100644 index 000000000..3f517ece0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/converters/MyConverter.java @@ -0,0 +1,31 @@ +package converters; + +import java.lang.reflect.Type; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.MessageConverter; + +// tag::code[] +@ApplicationScoped +public class MyConverter implements MessageConverter { + @Override + public boolean canConvert(Message in, Type target) { + // Checks whether this converter can be used to convert + // the incoming message into a message containing a payload + // of the type `target`. + return in.getPayload().getClass().equals(String.class) + && target.equals(Person.class); + } + + @Override + public Message convert(Message in, Type target) { + // Convert the incoming message into the new message. + // It's important to build the new message **from** + // the received one. + return in.withPayload(new Person((String) in.getPayload())); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/customizers/MyClientCustomizer.java b/content/docs/smallrye-reactive-messaging/4/_examples/customizers/MyClientCustomizer.java new file mode 100644 index 000000000..9e07288be --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/customizers/MyClientCustomizer.java @@ -0,0 +1,17 @@ +package customizers; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.config.Config; + +import io.smallrye.reactive.messaging.ClientCustomizer; + +@ApplicationScoped +public class MyClientCustomizer implements ClientCustomizer { + @Override + public ClientConfig customize(String channel, Config channelConfig, ClientConfig config) { + // customize the client configuration + return config; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/decorators/ConsumedMessageDecorator.java b/content/docs/smallrye-reactive-messaging/4/_examples/decorators/ConsumedMessageDecorator.java new file mode 100644 index 000000000..d1b403fde --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/decorators/ConsumedMessageDecorator.java @@ -0,0 +1,41 @@ +package decorators; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.PublisherDecorator; + +// tag::code[] +@ApplicationScoped +public class ConsumedMessageDecorator implements PublisherDecorator { + + private final Map counters = new HashMap<>(); + + @Override + public Multi> decorate(Multi> publisher, String channelName, + boolean isConnector) { + if (isConnector) { + AtomicLong counter = new AtomicLong(); + counters.put(channelName, counter); + return publisher.onItem().invoke(counter::incrementAndGet); + } else { + return publisher; + } + } + + @Override + public int getPriority() { + return 10; + } + + public long getMessageCount(String channel) { + return counters.get(channel).get(); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/emitter/ChannelExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/ChannelExamples.java new file mode 100644 index 000000000..1b2f021ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/ChannelExamples.java @@ -0,0 +1,31 @@ +package emitter; + +import java.util.concurrent.Flow.Publisher; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Multi; + +public class ChannelExamples { + + // tag::channel[] + @Inject + @Channel("my-channel") + Multi streamOfPayloads; + + @Inject + @Channel("my-channel") + Multi> streamOfMessages; + + @Inject + @Channel("my-channel") + Publisher publisherOfPayloads; + + @Inject + @Channel("my-channel") + Publisher> publisherOfMessages; + // end::channel[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/emitter/EmitterExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/EmitterExamples.java new file mode 100644 index 000000000..4c5c4ed99 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/EmitterExamples.java @@ -0,0 +1,119 @@ +package emitter; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.*; + +import io.smallrye.reactive.messaging.annotations.Broadcast; +import messages.MyMetadata; + +public class EmitterExamples { + + // tag::payload[] + @Inject + @Channel("prices") + Emitter emitterForPrices; + + public void send(double d) { + emitterForPrices.send(d); + } + // end::payload[] + + // tag::cs[] + public void sendAndAwaitAcknowledgement(double d) { + CompletionStage acked = emitterForPrices.send(d); + // sending a payload returns a CompletionStage completed + // when the message is acknowledged + acked.toCompletableFuture().join(); + } + // end::cs[] + + // tag::message[] + public void sendAsMessage(double d) { + emitterForPrices.send(Message.of(d)); + } + // end::message[] + + // tag::message-ack[] + public void sendAsMessageWithAck(double d) { + emitterForPrices.send(Message.of(d, () -> { + // Called when the message is acknowledged. + return CompletableFuture.completedFuture(null); + }, + reason -> { + // Called when the message is acknowledged negatively. + return CompletableFuture.completedFuture(null); + })); + } + // end::message-ack[] + + // tag::message-meta[] + public void sendAsMessageWithAckAndMetadata(double d) { + MyMetadata metadata = new MyMetadata(); + emitterForPrices.send(Message.of(d, Metadata.of(metadata), + () -> { + // Called when the message is acknowledged. + return CompletableFuture.completedFuture(null); + }, + reason -> { + // Called when the message is acknowledged negatively. + return CompletableFuture.completedFuture(null); + })); + } + // end::message-meta[] + + // tag::broadcast[] + @Inject + @Broadcast + @Channel("prices") + Emitter emitter; + + public void emit(double d) { + emitter.send(d); + } + + @Incoming("prices") + public void handle(double d) { + // Handle the new price + } + + @Incoming("prices") + public void audit(double d) { + // Audit the price change + } + // end::broadcast[] + + static class OverflowExample { + // tag::overflow[] + + // Set the max size to 10 and fail if reached + @OnOverflow(value = OnOverflow.Strategy.BUFFER, bufferSize = 10) + @Inject + @Channel("channel") + Emitter emitterWithBuffer; + + // [DANGER ZONE] no limit + @OnOverflow(OnOverflow.Strategy.UNBOUNDED_BUFFER) + @Inject + @Channel("channel") + Emitter danger; + + // Drop the new messages if the size is reached + @OnOverflow(OnOverflow.Strategy.DROP) + @Inject + @Channel("channel") + Emitter dropping; + + // Drop the previously sent messages if the size is reached + @OnOverflow(OnOverflow.Strategy.LATEST) + @Inject + @Channel("channel") + Emitter dropOldMessages; + + // end::overflow[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/emitter/EmitterFactoryExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/EmitterFactoryExamples.java new file mode 100644 index 000000000..d9884a773 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/EmitterFactoryExamples.java @@ -0,0 +1,88 @@ +package emitter; + +import java.util.concurrent.Flow.Publisher; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.enterprise.inject.spi.InjectionPoint; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.ChannelRegistry; +import io.smallrye.reactive.messaging.EmitterConfiguration; +import io.smallrye.reactive.messaging.EmitterFactory; +import io.smallrye.reactive.messaging.EmitterType; +import io.smallrye.reactive.messaging.MessagePublisherProvider; +import io.smallrye.reactive.messaging.annotations.EmitterFactoryFor; +import io.smallrye.reactive.messaging.providers.extension.ChannelProducer; + +public class EmitterFactoryExamples { + + // tag::custom-emitter-declaration[] + + public interface CustomEmitter extends EmitterType { + + > void sendAndForget(M msg); + + } + + public static class CustomEmitterImpl implements CustomEmitter, MessagePublisherProvider { + + Publisher> publisher; + + public CustomEmitterImpl(EmitterConfiguration configuration, long defaultBufferSize) { + //... initialize emitter with configuration + } + + @Override + public Publisher> getPublisher() { + return publisher; + } + + @Override + public > void sendAndForget(M msg) { + //... send to stream + } + } + // end::custom-emitter-declaration[] + + // tag::custom-emitter-factory[] + @EmitterFactoryFor(CustomEmitter.class) + @ApplicationScoped + public static class CustomEmitterFactory implements EmitterFactory> { + + @Inject + ChannelRegistry channelRegistry; + + @Override + public CustomEmitterImpl createEmitter(EmitterConfiguration configuration, long defaultBufferSize) { + return new CustomEmitterImpl<>(configuration, defaultBufferSize); + } + + @Produces + @Channel("") // Stream name is ignored during type-safe resolution + CustomEmitter produce(InjectionPoint injectionPoint) { + String channelName = ChannelProducer.getChannelName(injectionPoint); + return channelRegistry.getEmitter(channelName, CustomEmitter.class); + } + } + // end::custom-emitter-factory[] + + // tag::custom-emitter-usage[] + + @Inject + @Channel("custom-emitter-channel") + CustomEmitter customEmitter; + + //... + + public void emitMessage() { + customEmitter.sendAndForget(Message.of("a")); + customEmitter.sendAndForget(Message.of("b")); + customEmitter.sendAndForget(Message.of("c")); + } + // end::custom-emitter-usage[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/emitter/MutinyExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/MutinyExamples.java new file mode 100644 index 000000000..d6d2321b5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/MutinyExamples.java @@ -0,0 +1,33 @@ +package emitter; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import io.smallrye.reactive.messaging.MutinyEmitter; + +public class MutinyExamples { + // tag::uni[] + @Inject + @Channel("prices") + MutinyEmitter emitter; + + public Uni send(double d) { + return emitter.send(d); + } + // end::uni[] + + // tag::uni-await[] + public void sendAwait(double d) { + emitter.sendAndAwait(d); + } + // end::uni-await[] + + // tag::uni-forget[] + public Cancellable sendForget(double d) { + return emitter.sendAndForget(d); + } + // end::uni-forget[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/emitter/MyImperativeBean.java b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/MyImperativeBean.java new file mode 100644 index 000000000..a4619004f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/emitter/MyImperativeBean.java @@ -0,0 +1,24 @@ +package emitter; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +// tag::intro[] +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Emitter; + +@ApplicationScoped +public class MyImperativeBean { + + @Inject + @Channel("prices") + Emitter emitter; + + // ... + + public void send(double d) { + emitter.send(d); + } +} + +// end::intro[] diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/generation/GenerationExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/generation/GenerationExamples.java new file mode 100644 index 000000000..c4c0afdc5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/generation/GenerationExamples.java @@ -0,0 +1,95 @@ +package generation; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.Flow; +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; + +public class GenerationExamples { + + AtomicInteger counter = new AtomicInteger(); + + // tag::message-sync[] + @Outgoing("my-channel") + public Message generateMessagesSynchronously() { + return Message.of(counter.getAndIncrement()); + } + // end::message-sync[] + + // tag::message-cs[] + @Outgoing("my-channel") + public CompletionStage> generateMessagesAsCompletionStage() { + return asyncClient.poll() + .thenApply(Message::of); + } + // end::message-cs[] + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } + + private Pollable asyncClient = () -> CompletableFuture.completedFuture(new Price(10.0)); + + private interface Pollable { + CompletionStage poll(); + } + + // tag::message-uni[] + @Outgoing("my-channel") + public Uni> generateMessagesAsync() { + return Uni.createFrom().item(() -> Message.of(counter.getAndIncrement())); + } + // end::message-uni[] + + // tag::message-stream[] + public Flow.Publisher> generateMessageStream() { + Multi multi = reactiveClient.getStream(); + return multi.map(Message::of); + } + // end::message-stream[] + + private ReactiveClient reactiveClient = () -> Multi.createFrom().items("a", "b", "c"); + + private interface ReactiveClient { + Multi getStream(); + } + + // tag::payload-sync[] + @Outgoing("my-channel") + public Integer generatePayloadsSynchronously() { + return counter.getAndIncrement(); + } + // end::payload-sync[] + + // tag::payload-cs[] + @Outgoing("my-channel") + public CompletionStage generatePayloadsAsCompletionStage() { + return asyncClient.poll(); + } + // end::payload-cs[] + + // tag::payload-uni[] + @Outgoing("my-channel") + public Uni generatePayloadsAsync() { + return Uni.createFrom().item(() -> counter.getAndIncrement()); + } + // end::payload-uni[] + + // tag::payload-stream[] + @Outgoing("my-channel") + public Multi generatePayloadsStream() { + Multi multi = reactiveClient.getStream(); + return multi; + } + // end::payload-stream[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/genericpayload/GenericPayloadExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/genericpayload/GenericPayloadExample.java new file mode 100644 index 000000000..583cfcec0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/genericpayload/GenericPayloadExample.java @@ -0,0 +1,49 @@ +package genericpayload; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.GenericPayload; +import io.smallrye.reactive.messaging.MutinyEmitter; +import messages.MyMetadata; + +@ApplicationScoped +public class GenericPayloadExample { + + // tag::code[] + @Outgoing("out") + Multi> produce() { + return Multi.createFrom().range(0, 100) + .map(i -> GenericPayload.of(">> " + i, Metadata.of(new MyMetadata()))); + } + // end::code[] + + // tag::injection[] + @Incoming("in") + @Outgoing("out") + GenericPayload process(int payload, MyMetadata metadata) { + // use the injected metadata + String id = metadata.getId(); + return GenericPayload.of(">> " + payload + " " + id, + Metadata.of(metadata, new MyMetadata("Bob", "Alice"))); + } + // end::injection[] + + // tag::emitter[] + @Inject + @Channel("out") + MutinyEmitter> emitter; + + public void emitWithMetadata(String payload) { + emitter.sendAndForget( + GenericPayload.of(payload, Metadata.of(new MyMetadata()))); + } + // end::emitter[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/incomings/IncomingsExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/incomings/IncomingsExamples.java new file mode 100644 index 000000000..f1d727df7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/incomings/IncomingsExamples.java @@ -0,0 +1,16 @@ +package incomings; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +public class IncomingsExamples { + + //tag::code[] + @Incoming("channel-1") + @Incoming("channel-2") + public String process(String s) { + // get messages from channel-1 and channel-2 + return s.toUpperCase(); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/incomings/MetadataInjectionExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/incomings/MetadataInjectionExample.java new file mode 100644 index 000000000..79c3cc3ef --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/incomings/MetadataInjectionExample.java @@ -0,0 +1,44 @@ +package incomings; + +import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; +import jdk.jfr.Period; +import messages.MyMetadata; + +public class MetadataInjectionExample { + + //tag::code[] + @Incoming("in") + @Outgoing("out") + public String process(String payload, MyMetadata metadata) { + // ... + return payload.toUpperCase(); + } + + @Incoming("in") + @Outgoing("out") + public Uni process2(String payload, MyMetadata metadata) { + // ... + return Uni.createFrom().item(payload.toUpperCase()); + } + + // ... + @Incoming("in") + public void consume(String payload, Optional metadata, Period metadata2) { + // ... + } + + @Incoming("in") + public CompletionStage consume2(String payload, Optional metadata, Period metadata2) { + // ... + return CompletableFuture.completedFuture(null); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/interceptors/MyIncomingInterceptor.java b/content/docs/smallrye-reactive-messaging/4/_examples/interceptors/MyIncomingInterceptor.java new file mode 100644 index 000000000..c322a7553 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/interceptors/MyIncomingInterceptor.java @@ -0,0 +1,28 @@ +package interceptors; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.IncomingInterceptor; + +@Identifier("channel-a") +@ApplicationScoped +public class MyIncomingInterceptor implements IncomingInterceptor { + + @Override + public Message afterMessageReceive(Message message) { + return message.withPayload("changed " + message.getPayload()); + } + + @Override + public void onMessageAck(Message message) { + // Called after message ack + } + + @Override + public void onMessageNack(Message message, Throwable failure) { + // Called after message nack + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/interceptors/MyOutgoingInterceptor.java b/content/docs/smallrye-reactive-messaging/4/_examples/interceptors/MyOutgoingInterceptor.java new file mode 100644 index 000000000..6efdc8835 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/interceptors/MyOutgoingInterceptor.java @@ -0,0 +1,30 @@ +package interceptors; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.OutgoingInterceptor; +import io.smallrye.reactive.messaging.OutgoingMessageMetadata; + +@Identifier("channel-a") +@ApplicationScoped +public class MyOutgoingInterceptor implements OutgoingInterceptor { + + @Override + public Message onMessage(Message message) { + return message.withPayload("changed " + message.getPayload()); + } + + @Override + public void onMessageAck(Message message) { + message.getMetadata(OutgoingMessageMetadata.class) + .ifPresent(m -> m.getResult()); + } + + @Override + public void onMessageNack(Message message, Throwable failure) { + + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsMetadataExample.java new file mode 100644 index 000000000..adb2a0a65 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsMetadataExample.java @@ -0,0 +1,25 @@ +package jms.inbound; + +import java.util.Optional; + +import jakarta.jms.Destination; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.jms.IncomingJmsMessageMetadata; + +public class JmsMetadataExample { + + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + Optional metadata = incoming.getMetadata(IncomingJmsMessageMetadata.class); + metadata.ifPresent(meta -> { + long expiration = meta.getExpiration(); + Destination destination = meta.getDestination(); + String value = meta.getStringProperty("my-property"); + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsPriceConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsPriceConsumer.java new file mode 100644 index 000000000..ac4cdd774 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsPriceConsumer.java @@ -0,0 +1,15 @@ +package jms.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class JmsPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsPriceMessageConsumer.java new file mode 100644 index 000000000..6dfdf485e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/jms/inbound/JmsPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package jms.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class JmsPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsOutboundMetadataExample.java new file mode 100644 index 000000000..6142bccf7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsOutboundMetadataExample.java @@ -0,0 +1,23 @@ +package jms.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.jms.JmsProperties; +import io.smallrye.reactive.messaging.jms.OutgoingJmsMessageMetadata; + +public class JmsOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + OutgoingJmsMessageMetadata metadata = OutgoingJmsMessageMetadata.builder() + .withProperties(JmsProperties.builder().with("some-property", "some-value").build()) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsPriceMessageProducer.java new file mode 100644 index 000000000..bd57c863b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsPriceMessageProducer.java @@ -0,0 +1,26 @@ +package jms.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class JmsPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsPriceProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsPriceProducer.java new file mode 100644 index 000000000..b693a91f7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/jms/outbound/JmsPriceProducer.java @@ -0,0 +1,25 @@ +package jms.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class JmsPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/ConsumerTest.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/ConsumerTest.java new file mode 100644 index 000000000..fe0e60637 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/ConsumerTest.java @@ -0,0 +1,45 @@ +package kafka.companion; + +import static org.testcontainers.shaded.org.awaitility.Awaitility.await; + +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + +import org.apache.kafka.common.TopicPartition; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class ConsumerTest extends KafkaCompanionTestBase { + + @Test + public void fromTopics() { + // tag::topics[] + companion.consumeIntegers().fromTopics("topic1", "topic2"); + // end::topics[] + } + + @Test + public void fromOffset() { + // tag::offsets[] + Map offsets = new HashMap<>(); + offsets.put(new TopicPartition("topic1", 0), 100L); + offsets.put(new TopicPartition("topic2", 0), 100L); + companion.consumeIntegers().fromOffsets(offsets, Duration.ofSeconds(10)); + // end::offsets[] + } + + @Test + public void committed() { + // tag::committed[] + ConsumerBuilder consumer = companion.consumeIntegers() + .withAutoCommit(); + consumer.fromTopics("topic"); + // ... + await().untilAsserted(consumer::waitForAssignment); + consumer.committed(new TopicPartition("topic", 1)); + // end::committed[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/KafkaTest.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/KafkaTest.java new file mode 100644 index 000000000..e10717dc0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/KafkaTest.java @@ -0,0 +1,76 @@ +package kafka.companion; + +import java.time.Duration; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.common.serialization.Deserializer; +import org.apache.kafka.common.serialization.Serializer; +import org.junit.jupiter.api.Assertions; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder; +import io.smallrye.reactive.messaging.kafka.companion.ConsumerTask; +import io.smallrye.reactive.messaging.kafka.companion.KafkaCompanion; +import io.smallrye.reactive.messaging.kafka.companion.ProducerBuilder; + +public class KafkaTest { + + public void newCompanion() { + // tag::companion[] + // Create companion with bootstrap servers and API timeout (default is 10 seconds) + KafkaCompanion companion = new KafkaCompanion("localhost:9092", Duration.ofSeconds(5)); + + // Create producer and start producer task + ProducerBuilder producer = companion.produceIntegers() + .withClientId("my-producer") + .withProp("max.block.ms", "5000"); + producer.usingGenerator(i -> new ProducerRecord<>("topic", i), 100); + + // Create consumer and start consumer task + ConsumerBuilder consumer = companion.consumeIntegers() + .withGroupId("my-group") + .withCommitAsyncWhen(record -> true); + ConsumerTask records = consumer.fromTopics("topic", Duration.ofSeconds(10)); + // Await completion and assert consumed record count + Assertions.assertEquals(records.awaitCompletion().count(), 100); + // end::companion[] + } + + public void serdes() { + // tag::serdes[] + KafkaCompanion companion = new KafkaCompanion("localhost:9092"); + + // Register serde to the companion + companion.registerSerde(Orders.class, new OrdersSerializer(), new OrdersDeserializer()); + + // Companion will configure consumer accordingly + ConsumerTask orders = companion.consume(Integer.class, Orders.class) + .fromTopics("orders", 1000).awaitCompletion(); + + for (ConsumerRecord order : orders) { + // ... check consumed records + } + // end::serdes[] + } + + public static class Orders { + + } + + public static class OrdersSerializer implements Serializer { + + @Override + public byte[] serialize(String s, Orders orders) { + return new byte[0]; + } + } + + public static class OrdersDeserializer implements Deserializer { + + @Override + public Orders deserialize(String s, byte[] bytes) { + return null; + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/KafkaWithBaseTest.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/KafkaWithBaseTest.java new file mode 100644 index 000000000..63bd8634a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/KafkaWithBaseTest.java @@ -0,0 +1,32 @@ +package kafka.companion; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerTask; +import io.smallrye.reactive.messaging.kafka.companion.ProducerTask; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +// tag::code[] +public class KafkaWithBaseTest extends KafkaCompanionTestBase { + + @Test + public void testWithBase() { + // companion is created by the base class + + // produce 100 records to messages topic + ProducerTask producerTask = companion.produceIntegers() + .usingGenerator(i -> new ProducerRecord<>("messages", i), 100); + long msgCount = producerTask.awaitCompletion().count(); + Assertions.assertEquals(msgCount, 100); + + // consume 100 records from messages topic + ConsumerTask consumerTask = companion.consumeIntegers() + .fromTopics("messages", 100); + ConsumerRecord lastRecord = consumerTask.awaitCompletion().getLastRecord(); + Assertions.assertEquals(lastRecord.value(), 99); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/OffsetsTest.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/OffsetsTest.java new file mode 100644 index 000000000..f7b00fa6b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/OffsetsTest.java @@ -0,0 +1,36 @@ +package kafka.companion; + +import java.util.Collection; + +import org.apache.kafka.clients.admin.ConsumerGroupListing; +import org.apache.kafka.clients.admin.OffsetSpec; +import org.apache.kafka.common.TopicPartition; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.KafkaCompanion; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class OffsetsTest extends KafkaCompanionTestBase { + + @Test + public void offsets() { + // tag::offsets[] + TopicPartition topicPartition = KafkaCompanion.tp("topic", 1); + long latestOffset = companion.offsets().get(topicPartition, OffsetSpec.latest()).offset(); + // end::offsets[] + } + + @Test + public void consumerGroups() { + // tag::consumerGroups[] + Collection consumerGroups = companion.consumerGroups().list(); + for (ConsumerGroupListing consumerGroup : consumerGroups) { + // check consumer groups + } + + TopicPartition topicPartition = KafkaCompanion.tp("topic", 1); + companion.consumerGroups().resetOffsets("consumer-group", topicPartition); + // end::consumerGroups[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/ProducerTest.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/ProducerTest.java new file mode 100644 index 000000000..a60561829 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/ProducerTest.java @@ -0,0 +1,34 @@ +package kafka.companion; + +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class ProducerTest extends KafkaCompanionTestBase { + + @Test + public void fromRecords() { + // tag::records[] + companion.produce(byte[].class).fromRecords( + new ProducerRecord<>("topic1", "k1", "1".getBytes()), + new ProducerRecord<>("topic1", "k2", "2".getBytes()), + new ProducerRecord<>("topic1", "k3", "3".getBytes())); + // end::records[] + } + + @Test + public void fromGenerator() { + // tag::generator[] + companion.produceIntegers().usingGenerator(i -> new ProducerRecord<>("topic", i), 10); + // end::generator[] + } + + @Test + public void fromCsv() { + // tag::csv[] + companion.produceStrings().fromCsv("records.csv"); + // end::csv[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/TopicsTest.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/TopicsTest.java new file mode 100644 index 000000000..01e048611 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/companion/TopicsTest.java @@ -0,0 +1,20 @@ +package kafka.companion; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class TopicsTest extends KafkaCompanionTestBase { + + @Test + public void topics() { + // tag::code[] + companion.topics().create("topic1", 1); + companion.topics().createAndWait("topic2", 3); + Assertions.assertEquals(companion.topics().list().size(), 2); + + companion.topics().delete("topic1"); + // end::code[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/Converters.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/Converters.java new file mode 100644 index 000000000..646c5ae54 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/Converters.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.Record; + +@ApplicationScoped +public class Converters { + + // tag::code[] + @Incoming("topic-a") + public void consume(Record record) { + String key = record.key(); // Can be `null` if the incoming record has no key + String value = record.value(); // Can be `null` if the incoming record has no value + } + + @Incoming("topic-b") + public void consume(ConsumerRecord record) { + String key = record.key(); // Can be `null` if the incoming record has no key + String value = record.value(); // Can be `null` if the incoming record has no value + String topic = record.topic(); + int partition = record.partition(); + // ... + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaCheckpointExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaCheckpointExample.java new file mode 100644 index 000000000..70e7bf13c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaCheckpointExample.java @@ -0,0 +1,31 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.commit.CheckpointMetadata; + +@ApplicationScoped +public class KafkaCheckpointExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consume(Message record) { + // Get the `CheckpointMetadata` from the incoming message + CheckpointMetadata checkpoint = CheckpointMetadata.fromMessage(record); + + // `CheckpointMetadata` allows transforming the processing state + // Applies the given function, starting from the value `0.0` when no previous state exists + checkpoint.transform(0.0, current -> current + record.getPayload(), /* persistOnAck */ true); + + // `persistOnAck` flag set to true, ack will persist the processing state + // associated with the latest offset (per partition). + return record.ack(); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaCustomCommit.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaCustomCommit.java new file mode 100644 index 000000000..f57e3b87a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaCustomCommit.java @@ -0,0 +1,60 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.function.BiConsumer; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.TopicPartition; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord; +import io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.kafka.KafkaConsumer; +import io.smallrye.reactive.messaging.kafka.commit.KafkaCommitHandler; +import io.vertx.mutiny.core.Vertx; + +public class KafkaCustomCommit implements KafkaCommitHandler { + + @Override + public Uni handle(IncomingKafkaRecord record) { + // called on message ack + return Uni.createFrom().voidItem(); + } + + @Override + public Uni> received(IncomingKafkaRecord record) { + // called before message processing + return Uni.createFrom().item(record); + } + + @Override + public void terminate(boolean graceful) { + // called on channel shutdown + } + + @Override + public void partitionsAssigned(Collection partitions) { + // called on partitions assignment + } + + @Override + public void partitionsRevoked(Collection partitions) { + // called on partitions revoked + } + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements KafkaCommitHandler.Factory { + + @Override + public KafkaCommitHandler create(KafkaConnectorIncomingConfiguration config, + Vertx vertx, + KafkaConsumer consumer, + BiConsumer reportFailure) { + return new KafkaCustomCommit(/* ... */); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaDeadLetterExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaDeadLetterExample.java new file mode 100644 index 000000000..82cb5af95 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaDeadLetterExample.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import java.nio.charset.StandardCharsets; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.header.internals.RecordHeaders; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +@ApplicationScoped +public class KafkaDeadLetterExample { + + // tag::code[] + @Incoming("in") + public CompletionStage consume(Message message) { + return message.nack(new Exception("Failed!"), Metadata.of( + OutgoingKafkaRecordMetadata.builder() + .withKey("failed-record") + .withHeaders(new RecordHeaders() + .add("my-header", "my-header-value".getBytes(StandardCharsets.UTF_8))) + .build())); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaMetadataExample.java new file mode 100644 index 000000000..8400fe0df --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaMetadataExample.java @@ -0,0 +1,36 @@ +package kafka.inbound; + +import java.time.Instant; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordMetadata; + +public class KafkaMetadataExample { + + @SuppressWarnings("unchecked") + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + IncomingKafkaRecordMetadata metadata = incoming.getMetadata(IncomingKafkaRecordMetadata.class) + .orElse(null); + if (metadata != null) { + // The topic + String topic = metadata.getTopic(); + + // The key + String key = metadata.getKey(); + + // The timestamp + Instant timestamp = metadata.getTimestamp(); + + // The underlying record + ConsumerRecord record = metadata.getRecord(); + + // ... + } + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaPriceConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaPriceConsumer.java new file mode 100644 index 000000000..7d6d28b94 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaPriceConsumer.java @@ -0,0 +1,15 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaPriceMessageConsumer.java new file mode 100644 index 000000000..324b7b94f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class KafkaPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message (commit the offset) + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRebalancedConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRebalancedConsumer.java new file mode 100644 index 000000000..814461dc2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRebalancedConsumer.java @@ -0,0 +1,22 @@ +package kafka.inbound; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class KafkaRebalancedConsumer { + + @Incoming("rebalanced-example") + @Acknowledgment(Acknowledgment.Strategy.NONE) + public CompletionStage consume(Message message) { + // We don't need to ACK messages because in this example we set offset during consumer re-balance + return CompletableFuture.completedFuture(null); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java new file mode 100644 index 000000000..512b65117 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java @@ -0,0 +1,49 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.logging.Logger; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.consumer.OffsetAndTimestamp; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener; + +@ApplicationScoped +@Identifier("rebalanced-example.rebalancer") +public class KafkaRebalancedConsumerRebalanceListener implements KafkaConsumerRebalanceListener { + + private static final Logger LOGGER = Logger.getLogger(KafkaRebalancedConsumerRebalanceListener.class.getName()); + + /** + * When receiving a list of partitions will search for the earliest offset within 10 minutes + * and seek the consumer to it. + * + * @param consumer underlying consumer + * @param partitions set of assigned topic partitions + */ + @Override + public void onPartitionsAssigned(Consumer consumer, + Collection partitions) { + long now = System.currentTimeMillis(); + long shouldStartAt = now - 600_000L; //10 minute ago + + Map request = new HashMap<>(); + for (org.apache.kafka.common.TopicPartition partition : partitions) { + LOGGER.info("Assigned " + partition); + request.put(partition, shouldStartAt); + } + Map offsets = consumer + .offsetsForTimes(request); + for (Map.Entry position : offsets.entrySet()) { + long target = position.getValue() == null ? 0L : position.getValue().offset(); + LOGGER.info("Seeking position " + target + " for " + position.getKey()); + consumer.seek(position.getKey(), target); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRecordBatchExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRecordBatchExample.java new file mode 100644 index 000000000..85d329af6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRecordBatchExample.java @@ -0,0 +1,60 @@ +package kafka.inbound; + +import java.util.List; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.apache.kafka.common.TopicPartition; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.TracingMetadata; +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordBatchMetadata; + +@ApplicationScoped +public class KafkaRecordBatchExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consumeMessage(Message> msg) { + IncomingKafkaRecordBatchMetadata batchMetadata = msg.getMetadata(IncomingKafkaRecordBatchMetadata.class) + .get(); + for (ConsumerRecord record : batchMetadata.getRecords()) { + int partition = record.partition(); + long offset = record.offset(); + long timestamp = record.timestamp(); + } + // ack will commit the latest offsets (per partition) of the batch. + return msg.ack(); + } + + @Incoming("prices") + public void consumeRecords(ConsumerRecords records) { + for (TopicPartition partition : records.partitions()) { + for (ConsumerRecord record : records.records(partition)) { + //... process messages + } + } + } + // end::code[] + + // tag::batch[] + @Incoming("prices") + public void consumeRecords(ConsumerRecords records, + IncomingKafkaRecordBatchMetadata metadata) { + for (TopicPartition partition : records.partitions()) { + for (ConsumerRecord record : records.records(partition)) { + TracingMetadata tracing = metadata.getMetadataForRecord(record, TracingMetadata.class); + if (tracing != null) { + tracing.getCurrentContext().makeCurrent(); + } + //... process messages + } + } + } + // end::batch[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java new file mode 100644 index 000000000..9a3d11100 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java @@ -0,0 +1,21 @@ +package kafka.inbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaRecordBatchPayloadExample { + + // tag::code[] + @Incoming("prices") + public void consume(List prices) { + for (double price : prices) { + // process price + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupAckExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupAckExample.java new file mode 100644 index 000000000..2ee56bd59 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupAckExample.java @@ -0,0 +1,29 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.queues.ShareGroupAcknowledgement; + +@ApplicationScoped +public class KafkaShareGroupAckExample { + + // tag::code[] + @Incoming("queue") + public void consume(double price, ShareGroupAcknowledgement ack) { + if (price < 0) { + ack.reject(); // Permanently reject the record + } else if (needsRetry(price)) { + ack.release(); // Release for re-delivery to another consumer + } else { + ack.accept(); // Mark as successfully processed + } + } + // end::code[] + + private boolean needsRetry(double price) { + return false; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java new file mode 100644 index 000000000..383d4ec6c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordBatchMetadata; +import io.smallrye.reactive.messaging.kafka.queues.ShareGroupAcknowledgement; + +@ApplicationScoped +public class KafkaShareGroupBatchAckExample { + + // tag::code[] + @Incoming("queue") + public void consume(ConsumerRecords records, + IncomingKafkaRecordBatchMetadata batchMetadata) { + for (ConsumerRecord record : records) { + ShareGroupAcknowledgement ack = batchMetadata.getMetadataForRecord(record, ShareGroupAcknowledgement.class); + if (record.value() < 0) { + ack.reject(); // Reject invalid records + } else { + ack.accept(); // Accept valid records + } + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupConsumer.java new file mode 100644 index 000000000..5df915512 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupConsumer.java @@ -0,0 +1,15 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaShareGroupConsumer { + + @Incoming("queue") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupNackExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupNackExample.java new file mode 100644 index 000000000..ffebef1c2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/KafkaShareGroupNackExample.java @@ -0,0 +1,41 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.AcknowledgeType; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.kafka.queues.ShareGroupAcknowledgement; + +@ApplicationScoped +public class KafkaShareGroupNackExample { + + // tag::code[] + @Incoming("queue") + public CompletionStage consume(Message msg) { + try { + process(msg.getPayload()); + return msg.ack(); + } catch (TransientException e) { + // Release for re-delivery + return msg.nack(e, + Metadata.of(ShareGroupAcknowledgement.from(AcknowledgeType.RELEASE))); + } catch (Exception e) { + // Reject permanently + return msg.nack(e, + Metadata.of(ShareGroupAcknowledgement.from(AcknowledgeType.REJECT))); + } + } + // end::code[] + + private void process(double price) { + } + + private static class TransientException extends RuntimeException { + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/MyCheckpointStateStore.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/MyCheckpointStateStore.java new file mode 100644 index 000000000..3387c4cc6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/inbound/MyCheckpointStateStore.java @@ -0,0 +1,68 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerConfig; +import org.apache.kafka.common.TopicPartition; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.kafka.KafkaConsumer; +import io.smallrye.reactive.messaging.kafka.commit.CheckpointStateStore; +import io.smallrye.reactive.messaging.kafka.commit.ProcessingState; +import io.vertx.mutiny.core.Vertx; + +public class MyCheckpointStateStore implements CheckpointStateStore { + + private final String consumerGroupId; + private final Class stateType; + + public MyCheckpointStateStore(String consumerGroupId, Class stateType) { + this.consumerGroupId = consumerGroupId; + this.stateType = stateType; + } + + /** + * Can be used with + * {@code mp.reactive.messaging.incoming.my-channel.commit-strategy=checkpoint} + * {@code mp.reactive.messaging.incoming.my-channel.checkpoint.state-store=my-store} + */ + @ApplicationScoped + @Identifier("my-store") + public static class Factory implements CheckpointStateStore.Factory { + + @Override + public CheckpointStateStore create(KafkaConnectorIncomingConfiguration config, + Vertx vertx, + KafkaConsumer consumer, + Class stateType /* if configured, otherwise null */) { + String consumerGroupId = (String) consumer.configuration().get(ConsumerConfig.GROUP_ID_CONFIG); + return new MyCheckpointStateStore(consumerGroupId, stateType); + } + } + + @Override + public Uni>> fetchProcessingState(Collection partitions) { + // Called on Vert.x event loop + // Return a Uni completing with the map of topic-partition to processing state + // The Uni will be subscribed also on Vert.x event loop + return Uni.createFrom().nullItem(); + } + + @Override + public Uni persistProcessingState(Map> state) { + // Called on Vert.x event loop + // Return a Uni completing with void when the given states are persisted + // The Uni will be subscribed also on Vert.x event loop + return Uni.createFrom().voidItem(); + } + + @Override + public void close() { + /* Called when channel is closing, no-op by default */ + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java new file mode 100644 index 000000000..17cea321d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java @@ -0,0 +1,39 @@ +package kafka.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class KafkaCloudEventMultipleProcessors { + + @Incoming("source") + @Outgoing("processed") + public Message process(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greeting") + .build()); + } + + @SuppressWarnings("unchecked") + @Incoming("processed") + @Outgoing("cloud-events") + public Message process2(Message in) { + OutgoingCloudEventMetadata metadata = in + .getMetadata(OutgoingCloudEventMetadata.class) + .orElseGet(() -> OutgoingCloudEventMetadata.builder().build()); + + return in.addMetadata(OutgoingCloudEventMetadata.from(metadata) + .withSource(URI.create("source://me")) + .withSubject("test") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCloudEventProcessor.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCloudEventProcessor.java new file mode 100644 index 000000000..8b5d4d91c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCloudEventProcessor.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class KafkaCloudEventProcessor { + + @Outgoing("cloud-events") + public Message toCloudEvents(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greetings") + .withSource(URI.create("http://example.com")) + .withSubject("greeting-message") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCustomHeaderReplier.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCustomHeaderReplier.java new file mode 100644 index 000000000..9612a1c60 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaCustomHeaderReplier.java @@ -0,0 +1,39 @@ +package kafka.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.common.header.Header; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaCustomHeaderReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + ProducerRecord process(ConsumerRecord request) { + Header topicHeader = request.headers().lastHeader("MY_TOPIC"); + if (topicHeader == null) { + // Skip + return null; + } + String myTopic = new String(topicHeader.value()); + int generateValue = rand.nextInt(100); + Header partitionHeader = request.headers().lastHeader("MY_PARTITION"); + if (partitionHeader == null) { + // Propagate incoming headers, including the correlation id header + return new ProducerRecord<>(myTopic, null, request.key(), generateValue, request.headers()); + } + // Send the replies to extracted myTopic-myPartition + int myPartition = KafkaRequestReply.replyPartitionFromBytes(partitionHeader.value()); + return new ProducerRecord<>(myTopic, myPartition, request.key(), generateValue, request.headers()); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java new file mode 100644 index 000000000..49b973232 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java @@ -0,0 +1,34 @@ +package kafka.outbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.Record; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + @Incoming("in-channel") + public Uni emitInTransaction(Message>> batch) { + return txProducer.withTransaction(batch, emitter -> { + for (Record record : batch.getPayload()) { + emitter.send(KafkaRecord.of(record.key(), record.value() + 1)); + } + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java new file mode 100644 index 000000000..cca404431 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +public class KafkaOutboundDynamicTopicExample { + + public Message metadata(Message incoming) { + // tag::code[] + String topicName = selectTopicFromIncommingMessage(incoming); + OutgoingKafkaRecordMetadata metadata = OutgoingKafkaRecordMetadata. builder() + .withTopic(topicName) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + + private String selectTopicFromIncommingMessage(Message incoming) { + return "fake"; + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaOutboundMetadataExample.java new file mode 100644 index 000000000..645f290d2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaOutboundMetadataExample.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import org.apache.kafka.common.header.internals.RecordHeaders; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +public class KafkaOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + // Creates an OutgoingKafkaRecordMetadata + // The type parameter is the type of the record's key + OutgoingKafkaRecordMetadata metadata = OutgoingKafkaRecordMetadata. builder() + .withKey("my-key") + .withHeaders(new RecordHeaders().add("my-header", "value".getBytes())) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java new file mode 100644 index 000000000..8bdf4142c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java @@ -0,0 +1,32 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.annotations.Blocking; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordMetadata; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaPooledExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + @Incoming("in-channel") + @Blocking(ordered = false) + public void process(ConsumerRecord record, IncomingKafkaRecordMetadata metadata) { + txProducer.withTransactionAndAwait(metadata, emitter -> { + emitter.send(KafkaRecord.of(record.key(), record.value() + 1)); + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceMessageProducer.java new file mode 100644 index 000000000..52e86b093 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceMessageProducer.java @@ -0,0 +1,26 @@ +package kafka.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class KafkaPriceMessageProducer { + + private final Random random = new Random(); + + @Outgoing("prices-out") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceProcessor.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceProcessor.java new file mode 100644 index 000000000..7d423ae89 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceProcessor.java @@ -0,0 +1,19 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaPriceProcessor { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public double process(int in) { + return in * 0.88; + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceProducer.java new file mode 100644 index 000000000..220a0214f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaPriceProducer.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class KafkaPriceProducer { + + private final Random random = new Random(); + + @Outgoing("prices-out") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaProducerRecordExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaProducerRecordExample.java new file mode 100644 index 000000000..0fb3f3dc4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaProducerRecordExample.java @@ -0,0 +1,18 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.producer.ProducerRecord; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaProducerRecordExample { + + // tag::code[] + @Outgoing("out") + public ProducerRecord generate() { + return new ProducerRecord<>("my-topic", "key", "value"); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRecordExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRecordExample.java new file mode 100644 index 000000000..560850605 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRecordExample.java @@ -0,0 +1,21 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.kafka.Record; + +@ApplicationScoped +public class KafkaRecordExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Record process(String in) { + return Record.of("my-key", in); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaReplier.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaReplier.java new file mode 100644 index 000000000..8bad449e8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaReplier.java @@ -0,0 +1,20 @@ +package kafka.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + int handleRequest(String request) { + return rand.nextInt(100); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyEmitter.java new file mode 100644 index 000000000..c1994d090 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyEmitter.java @@ -0,0 +1,21 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaRequestReplyEmitter { + + @Inject + @Channel("my-request") + KafkaRequestReply quoteRequest; + + public Uni requestQuote(String request) { + return quoteRequest.request(request); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java new file mode 100644 index 000000000..e70379b62 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java @@ -0,0 +1,26 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaRequestReplyMessageEmitter { + + @Inject + @Channel("my-request") + KafkaRequestReply quoteRequest; + + public Uni> requestMessage(String request) { + return quoteRequest.request(Message.of(request) + .addMetadata(OutgoingKafkaRecordMetadata.builder() + .withKey(request) + .build())); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java new file mode 100644 index 000000000..8d8897ba1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java @@ -0,0 +1,21 @@ +package org.acme; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaRequestReplyMultiEmitter { + + @Inject + @Channel("my-request") + KafkaRequestReply quoteRequest; + + public Multi requestQuote(String request) { + return quoteRequest.requestMulti(request).select().first(5); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaTransactionalProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaTransactionalProducer.java new file mode 100644 index 000000000..597c33cc2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/KafkaTransactionalProducer.java @@ -0,0 +1,28 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaTransactionalProducer { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + public Uni emitInTransaction() { + return txProducer.withTransaction(emitter -> { + emitter.send(KafkaRecord.of(1, "a")); + emitter.send(KafkaRecord.of(2, "b")); + emitter.send(KafkaRecord.of(3, "c")); + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/MyReplyFailureHandler.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/MyReplyFailureHandler.java new file mode 100644 index 000000000..fcd7f8f9c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/MyReplyFailureHandler.java @@ -0,0 +1,23 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.header.Header; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.reply.ReplyFailureHandler; + +@ApplicationScoped +@Identifier("my-reply-error") +public class MyReplyFailureHandler implements ReplyFailureHandler { + + @Override + public Throwable handleReply(KafkaRecord replyRecord) { + Header header = replyRecord.getHeaders().lastHeader("REPLY_ERROR"); + if (header != null) { + return new IllegalArgumentException(new String(header.value())); + } + return null; + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/ProducerInterceptorBeanExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/ProducerInterceptorBeanExample.java new file mode 100644 index 000000000..a01e555cd --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/kafka/outbound/ProducerInterceptorBeanExample.java @@ -0,0 +1,37 @@ +package kafka.outbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.producer.ProducerInterceptor; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.clients.producer.RecordMetadata; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +@Identifier("my-producer-interceptor") +public class ProducerInterceptorBeanExample implements ProducerInterceptor { + + @Override + public ProducerRecord onSend(ProducerRecord producerRecord) { + // called before send + return producerRecord; + } + + @Override + public void onAcknowledgement(RecordMetadata recordMetadata, Exception e) { + // called on send acknowledgement callback + } + + @Override + public void close() { + // called on client close + } + + @Override + public void configure(Map map) { + // called on client configuration + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyValueExtractorFromPayload.java b/content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyValueExtractorFromPayload.java new file mode 100644 index 000000000..6191d081b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyValueExtractorFromPayload.java @@ -0,0 +1,35 @@ +package keyed; + +import java.lang.reflect.Type; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +// tag::code[] +import io.smallrye.reactive.messaging.keyed.KeyValueExtractor; + +@ApplicationScoped +public class KeyValueExtractorFromPayload implements KeyValueExtractor { + + @Override + public boolean canExtract(Message msg, Type keyType, Type valueType) { + // Called for the first message of the stream to select the extractor. + // Here we only check for the type, but the logic can be more complex + return keyType.equals(String.class) && valueType.equals(String.class); + } + + @Override + public String extractKey(Message message, Type keyType) { + String string = message.getPayload().toString(); + return string.substring(0, string.indexOf(":")); + } + + @Override + public String extractValue(Message message, Type valueType) { + String string = message.getPayload().toString(); + return string.substring(string.indexOf(":") + 1); + } + +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyedExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyedExample.java new file mode 100644 index 000000000..438a0185e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyedExample.java @@ -0,0 +1,25 @@ +package keyed; + +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.keyed.Keyed; +import io.smallrye.reactive.messaging.keyed.KeyedMulti; + +public class KeyedExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Multi reshape( + @Keyed(KeyValueExtractorFromPayload.class) KeyedMulti multi) { + return multi.onItem().scan(AtomicInteger::new, (i, s) -> { + i.incrementAndGet(); + return i; + }).map(i -> Integer.toString(i.get())); + } + // end::code[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyedMultiExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyedMultiExample.java new file mode 100644 index 000000000..c917cc8d1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/keyed/KeyedMultiExample.java @@ -0,0 +1,27 @@ +package keyed; + +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.keyed.KeyedMulti; + +public class KeyedMultiExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Multi reshape(KeyedMulti multi) { + // Called once per key and receive the stream of value for that specific key + String key = multi.key(); + return multi.onItem().scan(AtomicInteger::new, (i, s) -> { + i.incrementAndGet(); + return i; + }) + .map(i -> Integer.toString(i.get())); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/merge/MergeExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/merge/MergeExamples.java new file mode 100644 index 000000000..fbf4d4ac8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/merge/MergeExamples.java @@ -0,0 +1,31 @@ +package merge; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Merge; + +public class MergeExamples { + + // tag::chain[] + @Incoming("in1") + @Outgoing("out") + public int increment(int i) { + return i + 1; + } + + @Incoming("in2") + @Outgoing("out") + public int multiply(int i) { + return i * 2; + } + + @Incoming("out") + @Merge + public void getAll(int i) { + //... + } + + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/messages/MessageExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/messages/MessageExamples.java new file mode 100644 index 000000000..15dbf7e0f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/messages/MessageExamples.java @@ -0,0 +1,96 @@ +package messages; + +import java.util.Optional; +import java.util.concurrent.CompletableFuture; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +@SuppressWarnings({ "unused" }) +public class MessageExamples { + + public void example1() { + Message message = Message.of("hello", Metadata.of(new MyMetadata())); + // tag::message[] + String payload = message.getPayload(); + Optional metadata = message.getMetadata(MyMetadata.class); + // end::message[] + } + + public void creation() { + Price price = new Price(20.5); + // tag::creation[] + // Create a simple message wrapping a payload + Message m1 = Message.of(price); + + // Create a message with metadata + Message m2 = Message.of(price, Metadata.of(new PriceMetadata())); + + // Create a message with several metadata + Message m3 = Message.of(price, + Metadata.of(new PriceMetadata(), new MyMetadata())); + + // Create a message with an acknowledgement callback + Message m4 = Message.of(price, () -> { + // Called when the message is acknowledged by the next consumer. + return CompletableFuture.completedFuture(null); + }); + + // Create a message with both metadata and acknowledgement callback + Message m5 = Message.of(price, + Metadata.of(new PriceMetadata()), + () -> { + // Called when the message is acknowledged by the next consumer. + return CompletableFuture.completedFuture(null); + }); + // end::creation[] + } + + public void copy() { + Price price = new Price(20.5); + Message message = Message.of(price); + // tag::copy[] + + // Create a new message with a new payload but with the same metadata + Message m1 = message.withPayload(new Price(12.4)); + + // Create a new message with a new payload and add another metadata + Message m2 = message + .withPayload(new Price(15.0)) + .withMetadata(Metadata.of(new PriceMetadata())); + + // Create a new message with a new payload and a custom acknowledgement + Message m3 = message + .withPayload(new Price(15.0)) + .withAck(() -> + // acknowledge the incoming message + message.ack() + .thenAccept(x -> { + // do something + })); + // end::copy[] + } + + public void nullPayload() { + // tag::null-payload[] + // Create a message with null payload + Message m6 = Message.of(null, Metadata.of(new PriceMetadata())); + // end::null-payload[] + } + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } + + static class PriceMetadata { + final long timestamp; + + public PriceMetadata() { + this.timestamp = System.currentTimeMillis(); + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/customization/ClientProducers.java b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/customization/ClientProducers.java new file mode 100644 index 000000000..51ee88023 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/customization/ClientProducers.java @@ -0,0 +1,32 @@ +package mqtt.customization; + +import jakarta.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; + +public class ClientProducers { + + // tag::named[] + @Produces + @Identifier("my-options") + public MqttClientSessionOptions getOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return new MqttClientSessionOptions() + .setSsl(true) + .setPemKeyCertOptions(keycert) + .setPemTrustOptions(trust) + .setHostnameVerificationAlgorithm("HTTPS") + .setConnectTimeout(30000) + .setReconnectInterval(5000); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/inbound/MqttPriceConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/inbound/MqttPriceConsumer.java new file mode 100644 index 000000000..9115d809a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/inbound/MqttPriceConsumer.java @@ -0,0 +1,17 @@ +package mqtt.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class MqttPriceConsumer { + + @Incoming("prices") + public void consume(byte[] raw) { + double price = Double.parseDouble(new String(raw)); + + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/inbound/MqttPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/inbound/MqttPriceMessageConsumer.java new file mode 100644 index 000000000..ed40c96db --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/inbound/MqttPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package mqtt.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class MqttPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/outbound/MqttPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/outbound/MqttPriceMessageProducer.java new file mode 100644 index 000000000..744ce54b5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/outbound/MqttPriceMessageProducer.java @@ -0,0 +1,26 @@ +package mqtt.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class MqttPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/outbound/MqttPriceProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/outbound/MqttPriceProducer.java new file mode 100644 index 000000000..22c0998e9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/mqtt/outbound/MqttPriceProducer.java @@ -0,0 +1,25 @@ +package mqtt.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class MqttPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/observability/ContextMessageObservationCollector.java b/content/docs/smallrye-reactive-messaging/4/_examples/observability/ContextMessageObservationCollector.java new file mode 100644 index 000000000..608e368dc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/observability/ContextMessageObservationCollector.java @@ -0,0 +1,57 @@ +package observability; + +import java.time.Duration; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.observation.DefaultMessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservationCollector; +import io.smallrye.reactive.messaging.observation.ObservationContext; + +@ApplicationScoped +public class ContextMessageObservationCollector + implements MessageObservationCollector { + + @Override + public MyContext initObservation(String channel, boolean incoming, boolean emitter) { + // Called on observation setup, per channel + // if returned null the observation for that channel is disabled + return new MyContext(channel, incoming, emitter); + } + + @Override + public MessageObservation onNewMessage(String channel, Message message, MyContext ctx) { + // Called after message has been created + return new DefaultMessageObservation(channel); + } + + public static class MyContext implements ObservationContext { + + private final String channel; + private final boolean incoming; + private final boolean emitter; + + public MyContext(String channel, boolean incoming, boolean emitter) { + this.channel = channel; + this.incoming = incoming; + this.emitter = emitter; + } + + @Override + public void complete(MessageObservation observation) { + // called after message processing has completed and observation is done + // register duration + Duration duration = observation.getCompletionDuration(); + Throwable reason = observation.getReason(); + if (reason != null) { + // message was nacked + } else { + // message was acked successfully + } + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/observability/SimpleMessageObservationCollector.java b/content/docs/smallrye-reactive-messaging/4/_examples/observability/SimpleMessageObservationCollector.java new file mode 100644 index 000000000..838bceb5f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/observability/SimpleMessageObservationCollector.java @@ -0,0 +1,21 @@ +package observability; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.observation.DefaultMessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservationCollector; +import io.smallrye.reactive.messaging.observation.ObservationContext; + +@ApplicationScoped +public class SimpleMessageObservationCollector implements MessageObservationCollector { + + @Override + public MessageObservation onNewMessage(String channel, Message message, ObservationContext ctx) { + // Called after message has been created + return new DefaultMessageObservation(channel); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/outgoings/OutgoingsExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/outgoings/OutgoingsExample.java new file mode 100644 index 000000000..4e5bf44db --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/outgoings/OutgoingsExample.java @@ -0,0 +1,18 @@ +package outgoings; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class OutgoingsExample { + + //tag::code[] + @Incoming("in") + @Outgoing("out1") + @Outgoing("out2") + public String process(String s) { + // send messages from channel-in to both channel-out1 and channel-out2 + return s.toUpperCase(); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/outgoings/SplitterMultiExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/outgoings/SplitterMultiExample.java new file mode 100644 index 000000000..550443c61 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/outgoings/SplitterMultiExample.java @@ -0,0 +1,37 @@ +package outgoings; + +import java.util.Objects; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.operators.multi.split.MultiSplitter; + +public class SplitterMultiExample { + + // tag::code[] + enum Caps { + ALL_CAPS, + ALL_LOW, + MIXED + } + + @Incoming("in") + @Outgoing("sink1") + @Outgoing("sink2") + @Outgoing("sink3") + public MultiSplitter reshape(Multi in) { + return in.split(Caps.class, s -> { + if (Objects.equals(s, s.toLowerCase())) { + return Caps.ALL_LOW; + } else if (Objects.equals(s, s.toUpperCase())) { + return Caps.ALL_CAPS; + } else { + return Caps.MIXED; + } + }); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/outgoings/TargetedExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/outgoings/TargetedExample.java new file mode 100644 index 000000000..7835ef9d8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/outgoings/TargetedExample.java @@ -0,0 +1,44 @@ +package outgoings; + +import java.util.Map; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.Messages; +import io.smallrye.reactive.messaging.Targeted; +import io.smallrye.reactive.messaging.TargetedMessages; + +public class TargetedExample { + + //tag::code[] + @Incoming("in") + @Outgoing("out1") + @Outgoing("out2") + @Outgoing("out3") + public Targeted process(double price) { + // send messages from channel-in to both channel-out1 and channel-out2 + Targeted targeted = Targeted.of("out1", "Price: " + price, + "out2", "Quote: " + price); + if (price > 90.0) { + return targeted.with("out3", price); + } + return targeted; + } + //end::code[] + + //tag::targeted-messages[] + @Incoming("channel-in") + @Outgoing("channel-out1") + @Outgoing("channel-out2") + @Outgoing("channel-out3") + public TargetedMessages processMessage(Message msg) { + // send messages from channel-in to both channel-out1 and channel-out2 + return Messages.chain(msg) + .with(Map.of("channel-out1", msg.withPayload(msg.getPayload().toUpperCase()), + "channel-out2", msg.withPayload(msg.getPayload().toLowerCase()))); + } + //end::targeted-messages[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pausable/PausableController.java b/content/docs/smallrye-reactive-messaging/4/_examples/pausable/PausableController.java new file mode 100644 index 000000000..f95612833 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pausable/PausableController.java @@ -0,0 +1,46 @@ +package pausable; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.ChannelRegistry; +import io.smallrye.reactive.messaging.PausableChannel; + +@ApplicationScoped +public class PausableController { + + // Option 1: Inject ChannelRegistry and retrieve the pausable channel + @Inject + ChannelRegistry registry; + + // Option 2: Directly inject the pausable channel + @Inject + @Channel("my-channel") + PausableChannel myChannel; + + @PostConstruct + public void resume() { + // Wait for the application to be ready + // Option 1: Retrieve the pausable channel from the registry + PausableChannel pausable = registry.getPausable("my-channel"); + // Resume the processing of the messages + pausable.resume(); + } + + public void pause() { + // Option 2: Use the injected pausable channel + + // Pause the processing of the messages + myChannel.pause(); + } + + @Incoming("my-channel") + void process(String message) { + // Process the message + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/processing/ProcessingExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/processing/ProcessingExamples.java new file mode 100644 index 000000000..548722816 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/processing/ProcessingExamples.java @@ -0,0 +1,72 @@ +package processing; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class ProcessingExamples { + + // tag::process-message[] + @Incoming("in") + @Outgoing("out") + public Message processMessage(Message in) { + return in.withPayload(Integer.toString(in.getPayload())); + } + // end::process-message[] + + // tag::process-message-cs[] + @Incoming("in") + @Outgoing("out") + public CompletionStage> processMessageCS(Message in) { + CompletionStage cs = invokeService(in.getPayload()); + return cs.thenApply(in::withPayload); + } + // end::process-message-cs[] + + // tag::process-message-uni[] + @Incoming("in") + @Outgoing("out") + public Uni> processMessageUni(Message in) { + return invokeService(in.getPayload()) + .map(in::withPayload); + } + // end::process-message-uni[] + + // tag::process-payload[] + @Incoming("in") + @Outgoing("out") + public String processPayload(int in) { + return Integer.toString(in); + } + // end::process-payload[] + + // tag::process-payload-cs[] + @Incoming("in") + @Outgoing("out") + public CompletionStage processPayloadCS(int in) { + return invokeService(in); + } + // end::process-payload-cs[] + + // tag::process-payload-uni[] + @Incoming("in") + @Outgoing("out") + public Uni processPayload(String in) { + return invokeService(in); + } + // end::process-payload-uni[] + + private CompletionStage invokeService(int param) { + return CompletableFuture.completedFuture("ok"); + } + + private Uni invokeService(String param) { + return Uni.createFrom().item("ok"); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/processing/StreamExamples.java b/content/docs/smallrye-reactive-messaging/4/_examples/processing/StreamExamples.java new file mode 100644 index 000000000..c33bfecd8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/processing/StreamExamples.java @@ -0,0 +1,41 @@ +package processing; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; + +public class StreamExamples { + + // tag::processing-stream-message[] + @Incoming("in") + @Outgoing("out") + public Multi> processMessageStream(Multi> stream) { + return stream + .onItem().transformToUni(message -> invokeService(message.getPayload()) + .onFailure().recoverWithItem("fallback") + .onItem().transform(message::withPayload)) + .concatenate(); + + } + // end::processing-stream-message[] + + // tag::processing-stream-payload[] + @Incoming("in") + @Outgoing("out") + public Multi processPayloadStream(Multi stream) { + return stream + .onItem().transformToUni(payload -> invokeService(payload) + .onFailure().recoverWithItem("fallback")) + .concatenate(); + + } + // end::processing-stream-payload[] + + private Uni invokeService(int i) { + return Uni.createFrom().item("ok " + i); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/configuration/PulsarClientConfigProducers.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/configuration/PulsarClientConfigProducers.java new file mode 100644 index 000000000..89f1d31c5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/configuration/PulsarClientConfigProducers.java @@ -0,0 +1,66 @@ +package pulsar.configuration; + +import java.util.HashMap; +import java.util.Map; + +import jakarta.enterprise.inject.Produces; + +import org.apache.pulsar.client.api.BatcherBuilder; +import org.apache.pulsar.client.api.PulsarClientSharedResources; +import org.apache.pulsar.client.impl.AutoClusterFailover; +import org.apache.pulsar.client.impl.DefaultCryptoKeyReader; +import org.apache.pulsar.client.impl.conf.ClientConfigurationData; +import org.apache.pulsar.client.impl.conf.ConsumerConfigurationData; +import org.apache.pulsar.client.impl.customroute.PartialRoundRobinMessageRouterImpl; + +import io.smallrye.common.annotation.Identifier; + +public class PulsarClientConfigProducers { + + // tag::consumer[] + @Produces + @Identifier("my-consumer-options") + public ConsumerConfigurationData getConsumerConfig() { + ConsumerConfigurationData data = new ConsumerConfigurationData<>(); + data.setAckReceiptEnabled(true); + data.setCryptoKeyReader(DefaultCryptoKeyReader.builder() + //... + .build()); + return data; + } + // end::consumer[] + + // tag::client[] + @Produces + @Identifier("prices") + public ClientConfigurationData getClientConfig() { + ClientConfigurationData data = new ClientConfigurationData(); + data.setEnableTransaction(true); + data.setServiceUrlProvider(AutoClusterFailover.builder() + // ... + .build()); + return data; + } + // end::client[] + + // tag::shared-resources[] + @Produces + public PulsarClientSharedResources getSharedResources() { + return PulsarClientSharedResources.builder() + .configureEventLoop(config -> config.numberOfThreads(4)) + .build(); + } + // end::shared-resources[] + + // tag::producer[] + @Produces + @Identifier("prices") + public Map getProducerconfig() { + Map map = new HashMap<>(); + map.put("batcherBuilder", BatcherBuilder.KEY_BASED); + map.put("sendTimeoutMs", 3000); + map.put("customMessageRouter", new PartialRoundRobinMessageRouterImpl(4)); + return map; + } + // end::producer[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/configuration/PulsarSchemaProvider.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/configuration/PulsarSchemaProvider.java new file mode 100644 index 000000000..3fe6141d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/configuration/PulsarSchemaProvider.java @@ -0,0 +1,30 @@ +package pulsar.configuration; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; + +import org.apache.pulsar.client.api.Schema; +import org.apache.pulsar.common.schema.KeyValue; +import org.apache.pulsar.common.schema.KeyValueEncodingType; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +public class PulsarSchemaProvider { + + @Produces + @Identifier("user-schema") + Schema userSchema = Schema.AVRO(User.class); + + @Produces + @Identifier("a-channel") + Schema> keyValueSchema() { + return Schema.KeyValue(Schema.INT32, Schema.JSON(User.class), KeyValueEncodingType.SEPARATED); + } + + public static class User { + String name; + int age; + + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMessageBatchExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMessageBatchExample.java new file mode 100644 index 000000000..9ce9eead1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMessageBatchExample.java @@ -0,0 +1,54 @@ +package pulsar.inbound; + +import java.util.List; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.TracingMetadata; +import io.smallrye.reactive.messaging.pulsar.PulsarIncomingBatchMessageMetadata; + +@ApplicationScoped +public class PulsarMessageBatchExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consumeMessage(Message> messages) { + messages.getMetadata(PulsarIncomingBatchMessageMetadata.class).ifPresent(metadata -> { + for (org.apache.pulsar.client.api.Message message : metadata.getMessages()) { + String key = message.getKey(); + String topic = message.getTopicName(); + long timestamp = message.getEventTime(); + //... process messages + } + }); + // ack will commit the latest offsets (per partition) of the batch. + return messages.ack(); + } + + @Incoming("prices") + public void consumeMessages(org.apache.pulsar.client.api.Messages messages) { + for (org.apache.pulsar.client.api.Message msg : messages) { + //... process messages + } + } + // end::code[] + + // tag::batch[] + @Incoming("prices") + public void consumeMessages(org.apache.pulsar.client.api.Messages messages, + PulsarIncomingBatchMessageMetadata metadata) { + for (org.apache.pulsar.client.api.Message message : messages) { + TracingMetadata tracing = metadata.getMetadataForMessage(message, TracingMetadata.class); + if (tracing != null) { + tracing.getCurrentContext().makeCurrent(); + } + //... process messages + } + } + // end::batch[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java new file mode 100644 index 000000000..649b7d1ae --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java @@ -0,0 +1,21 @@ +package pulsar.inbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class PulsarMessageBatchPayloadExample { + + // tag::code[] + @Incoming("prices") + public void consume(List prices) { + for (double price : prices) { + // process price + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMetadataExample.java new file mode 100644 index 000000000..a4add7ea1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarMetadataExample.java @@ -0,0 +1,35 @@ +package pulsar.inbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.pulsar.PulsarIncomingMessageMetadata; + +public class PulsarMetadataExample { + + @SuppressWarnings("unchecked") + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + PulsarIncomingMessageMetadata metadata = incoming.getMetadata(PulsarIncomingMessageMetadata.class).orElse(null); + if (metadata != null) { + // The topic + String topic = metadata.getTopicName(); + + // The key + String key = metadata.getKey(); + + // The event time + long timestamp = metadata.getEventTime(); + + // The raw data + byte[] rawData = metadata.getData(); + + // The underlying message + org.apache.pulsar.client.api.Message message = metadata.getMessage(); + + // ... + } + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarPriceConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarPriceConsumer.java new file mode 100644 index 000000000..9973a6158 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarPriceConsumer.java @@ -0,0 +1,15 @@ +package pulsar.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class PulsarPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java new file mode 100644 index 000000000..4cdc3f12a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package pulsar.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class PulsarPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java new file mode 100644 index 000000000..c207cba70 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java @@ -0,0 +1,35 @@ +package pulsar.outbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.pulsar.PulsarIncomingBatchMessageMetadata; +import io.smallrye.reactive.messaging.pulsar.PulsarMessage; +import io.smallrye.reactive.messaging.pulsar.transactions.PulsarTransactions; + +@ApplicationScoped +public class PulsarExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + PulsarTransactions txProducer; + + @Incoming("in-channel") + public Uni emitInTransaction(Message> batch) { + return txProducer.withTransactionAndAck(batch, emitter -> { + PulsarIncomingBatchMessageMetadata metadata = batch.getMetadata(PulsarIncomingBatchMessageMetadata.class).get(); + for (org.apache.pulsar.client.api.Message message : metadata. getMessages()) { + emitter.send(PulsarMessage.of(message.getValue() + 1, message.getKey())); + } + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarKeyValueExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarKeyValueExample.java new file mode 100644 index 000000000..ab0b43a6c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarKeyValueExample.java @@ -0,0 +1,28 @@ +package pulsar.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; + +import org.apache.pulsar.client.api.Schema; +import org.apache.pulsar.common.schema.KeyValue; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +public class PulsarKeyValueExample { + + // tag::code[] + @Identifier("out") + @Produces + Schema> schema = Schema.KeyValue(Schema.STRING, Schema.INT64); + + @Incoming("in") + @Outgoing("out") + public KeyValue process(long in) { + return new KeyValue<>("my-key", in); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java new file mode 100644 index 000000000..152974fe2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java @@ -0,0 +1,26 @@ +package pulsar.outbound; + +import java.util.Map; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.pulsar.PulsarOutgoingMessageMetadata; + +public class PulsarOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + // Creates an PulsarOutgoingMessageMetadata + // The type parameter is the type of the record's key + PulsarOutgoingMessageMetadata metadata = PulsarOutgoingMessageMetadata.builder() + .withKey("my-key") + .withProperties(Map.of("property-key", "value")) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java new file mode 100644 index 000000000..f452f437e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java @@ -0,0 +1,18 @@ +package pulsar.outbound; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.pulsar.OutgoingMessage; + +public class PulsarOutgoingMessageExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + OutgoingMessage process(org.apache.pulsar.client.api.Message in) { + return OutgoingMessage.from(in) + .withValue(Long.valueOf(in.getValue())); + } + // end::code[] +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarPriceMessageProducer.java new file mode 100644 index 000000000..1f53f7c68 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarPriceMessageProducer.java @@ -0,0 +1,26 @@ +package pulsar.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class PulsarPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarPriceProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarPriceProducer.java new file mode 100644 index 000000000..2073b7763 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarPriceProducer.java @@ -0,0 +1,25 @@ +package pulsar.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class PulsarPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarTransactionalProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarTransactionalProducer.java new file mode 100644 index 000000000..8bee09bb3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/pulsar/outbound/PulsarTransactionalProducer.java @@ -0,0 +1,38 @@ +package pulsar.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.pulsar.OutgoingMessage; +import io.smallrye.reactive.messaging.pulsar.transactions.PulsarTransactions; + +@ApplicationScoped +public class PulsarTransactionalProducer { + + @Inject + @Channel("tx-out-example") + PulsarTransactions> txProducer; + + @Inject + @Channel("other-producer") + PulsarTransactions producer; + + @Incoming("in") + public Uni emitInTransaction(Message in) { + return txProducer.withTransaction(emitter -> { + emitter.send(OutgoingMessage.of("a", 1)); + emitter.send(OutgoingMessage.of("b", 2)); + emitter.send(OutgoingMessage.of("c", 3)); + producer.send(emitter, "4"); + producer.send(emitter, "5"); + producer.send(emitter, "6"); + return Uni.createFrom().completionStage(in::ack); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/quickstart/ReactiveMessagingExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/quickstart/ReactiveMessagingExample.java new file mode 100644 index 000000000..318b39739 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/quickstart/ReactiveMessagingExample.java @@ -0,0 +1,35 @@ +package quickstart; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class ReactiveMessagingExample { + + @Outgoing("source") + public Multi source() { + return Multi.createFrom().items("hello", "from", "SmallRye", "reactive", "messaging"); + } + + @Incoming("source") + @Outgoing("processed-a") + public String toUpperCase(String payload) { + return payload.toUpperCase(); + } + + @Incoming("processed-a") + @Outgoing("processed-b") + public Multi filter(Multi input) { + return input.select().where(item -> item.length() > 4); + } + + @Incoming("processed-b") + public void sink(String word) { + System.out.println(">> " + word); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/customization/ArgumentProducers.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/customization/ArgumentProducers.java new file mode 100644 index 000000000..04a196c1c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/customization/ArgumentProducers.java @@ -0,0 +1,17 @@ +package rabbitmq.customization; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +public class ArgumentProducers { + @Produces + @Identifier("my-arguments") + Map customArguments() { + return Map.of("custom-arg", "value"); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/customization/RabbitMQProducers.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/customization/RabbitMQProducers.java new file mode 100644 index 000000000..0aa46219e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/customization/RabbitMQProducers.java @@ -0,0 +1,34 @@ +package rabbitmq.customization; + +import jakarta.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; +import io.vertx.rabbitmq.RabbitMQOptions; + +public class RabbitMQProducers { + + // tag::named[] + @Produces + @Identifier("my-named-options") + public RabbitMQOptions getNamedOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return (RabbitMQOptions) new RabbitMQOptions() + .setUser("admin") + .setPassword("test") + .setSsl(true) + .setPemKeyCertOptions(keycert) + .setPemTrustOptions(trust) + .setHostnameVerificationAlgorithm("HTTPS") + .setConnectTimeout(30000) + .setReconnectInterval(5000); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQMetadataExample.java new file mode 100644 index 000000000..c5b826b20 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQMetadataExample.java @@ -0,0 +1,36 @@ +package rabbitmq.inbound; + +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.Map; +import java.util.Optional; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.rabbitmq.IncomingRabbitMQMetadata; + +public class RabbitMQMetadataExample { + + public void metadata(final Message incomingMessage) { + // tag::code[] + final Optional metadata = incomingMessage.getMetadata(IncomingRabbitMQMetadata.class); + metadata.ifPresent(meta -> { + final Optional contentEncoding = meta.getContentEncoding(); + final Optional contentType = meta.getContentType(); + final Optional correlationId = meta.getCorrelationId(); + final Optional timestamp = meta.getTimestamp(ZoneId.systemDefault()); + final Optional priority = meta.getPriority(); + final Optional replyTo = meta.getReplyTo(); + final Optional userId = meta.getUserId(); + + // Access a single String-valued header + final Optional stringHeader = meta.getHeader("my-header", String.class); + + // Access all headers + final Map headers = meta.getHeaders(); + // ... + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQPriceConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQPriceConsumer.java new file mode 100644 index 000000000..033ae9c54 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQPriceConsumer.java @@ -0,0 +1,15 @@ +package rabbitmq.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class RabbitMQPriceConsumer { + + @Incoming("prices") + public void consume(String price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java new file mode 100644 index 000000000..1e8a97043 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package rabbitmq.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class RabbitMQPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message, marking the RabbitMQ message as `accepted`. + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQRejectMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQRejectMetadataExample.java new file mode 100644 index 000000000..9bd26cc35 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/inbound/RabbitMQRejectMetadataExample.java @@ -0,0 +1,24 @@ +package rabbitmq.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.rabbitmq.RabbitMQRejectMetadata; + +@ApplicationScoped +public class RabbitMQRejectMetadataExample { + + // tag::code[] + @Incoming("in") + public CompletionStage consume(Message message) { + return message.nack(new Exception("Failed!"), Metadata.of( + new RabbitMQRejectMetadata(true))); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java new file mode 100644 index 000000000..637edb2bc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java @@ -0,0 +1,21 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.rabbitmq.IncomingRabbitMQMessage; +import io.smallrye.reactive.messaging.rabbitmq.reply.ReplyFailureHandler; + +@ApplicationScoped +@Identifier("my-reply-error") +public class MyRabbitMQReplyFailureHandler implements ReplyFailureHandler { + + @Override + public Throwable handleReply(IncomingRabbitMQMessage replyMessage) { + var error = (String) replyMessage.getHeaders().get("REPLY_ERROR"); + if (error != null) { + return (Throwable) new IllegalArgumentException(error); + } + return null; + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java new file mode 100644 index 000000000..225a6f0a4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java @@ -0,0 +1,26 @@ +package rabbitmq.outbound; + +import java.time.ZonedDateTime; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.rabbitmq.OutgoingRabbitMQMetadata; + +public class RabbitMQOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + final OutgoingRabbitMQMetadata metadata = new OutgoingRabbitMQMetadata.Builder() + .withHeader("my-header", "xyzzy") + .withRoutingKey("urgent") + .withTimestamp(ZonedDateTime.now()) + .build(); + + // Add `metadata` to the metadata of the outgoing message. + return Message.of("Hello", Metadata.of(metadata)); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQPriceMessageProducer.java new file mode 100644 index 000000000..bc50fb93b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQPriceMessageProducer.java @@ -0,0 +1,33 @@ +package rabbitmq.outbound; + +import java.time.Duration; +import java.time.ZonedDateTime; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.rabbitmq.OutgoingRabbitMQMetadata; + +@ApplicationScoped +public class RabbitMQPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble(), + Metadata.of(new OutgoingRabbitMQMetadata.Builder() + .withRoutingKey("normal") + .withTimestamp(ZonedDateTime.now()) + .build()))); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQPriceProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQPriceProducer.java new file mode 100644 index 000000000..e6477cf30 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQPriceProducer.java @@ -0,0 +1,25 @@ +package rabbitmq.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class RabbitMQPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQReplier.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQReplier.java new file mode 100644 index 000000000..aec8bfa73 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQReplier.java @@ -0,0 +1,20 @@ +package rabbitmq.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class RabbitMQReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + String handleRequest(String request) { + return request + "-" + rand.nextInt(100); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java new file mode 100644 index 000000000..019255318 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java @@ -0,0 +1,21 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.rabbitmq.reply.RabbitMQRequestReply; + +@ApplicationScoped +public class RabbitMQRequestReplyEmitter { + + @Inject + @Channel("my-request") + RabbitMQRequestReply quoteRequest; + + public Uni requestQuote(String request) { + return quoteRequest.request(request); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java new file mode 100644 index 000000000..96b9b0f81 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java @@ -0,0 +1,22 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.rabbitmq.reply.RabbitMQRequestReply; + +@ApplicationScoped +public class RabbitMQRequestReplyMessageEmitter { + + @Inject + @Channel("my-request") + RabbitMQRequestReply quoteRequest; + + public Uni> requestMessage(String request) { + return quoteRequest.request(Message.of(request)); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java new file mode 100644 index 000000000..2069164d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java @@ -0,0 +1,21 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.rabbitmq.reply.RabbitMQRequestReply; + +@ApplicationScoped +public class RabbitMQRequestReplyMultiEmitter { + + @Inject + @Channel("my-request") + RabbitMQRequestReply quoteRequest; + + public Multi requestQuote(String request) { + return quoteRequest.requestMulti(request).select().first(5); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/skip/SingleSkip.java b/content/docs/smallrye-reactive-messaging/4/_examples/skip/SingleSkip.java new file mode 100644 index 000000000..f7209220b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/skip/SingleSkip.java @@ -0,0 +1,59 @@ +package skip; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class SingleSkip { + + // tag::skip[] + // Skip when processing payload synchronously - returning `null` + @Incoming("in") + @Outgoing("out") + public String processPayload(String s) { + if (s.equalsIgnoreCase("skip")) { + return null; + } + return s.toUpperCase(); + } + + // Skip when processing message synchronously - returning `null` + @Incoming("in") + @Outgoing("out") + public Message processMessage(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + m.ack(); + return null; + } + return m.withPayload(s.toUpperCase()); + } + + // Skip when processing payload asynchronously - returning a `Uni` with a `null` value + @Incoming("in") + @Outgoing("out") + public Uni processPayloadAsync(String s) { + if (s.equalsIgnoreCase("skip")) { + // Important, you must not return `null`, but a `null` content + return Uni.createFrom().nullItem(); + } + return Uni.createFrom().item(s.toUpperCase()); + } + + // Skip when processing message asynchronously - returning a `Uni` with a `null` value + @Incoming("in") + @Outgoing("out") + public Uni> processMessageAsync(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + m.ack(); + return Uni.createFrom().nullItem(); + } + return Uni.createFrom().item(m.withPayload(s.toUpperCase())); + } + + // end::skip[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/skip/StreamSkip.java b/content/docs/smallrye-reactive-messaging/4/_examples/skip/StreamSkip.java new file mode 100644 index 000000000..2108a1077 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/skip/StreamSkip.java @@ -0,0 +1,48 @@ +package skip; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class StreamSkip { + + // tag::skip[] + @Incoming("in") + @Outgoing("out-1") + public Multi processPayload(String s) { + if (s.equalsIgnoreCase("skip")) { + return Multi.createFrom().empty(); + } + return Multi.createFrom().item(s.toUpperCase()); + } + + @Incoming("in") + @Outgoing("out-2") + public Multi> processMessage(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + return Multi.createFrom().empty(); + } + return Multi.createFrom().item(m.withPayload(s.toUpperCase())); + } + + @Incoming("in") + @Outgoing("out-3") + public Multi processPayloadStream(Multi stream) { + return stream + .select().where(s -> !s.equalsIgnoreCase("skip")) + .onItem().transform(String::toUpperCase); + } + + @Incoming("in") + @Outgoing("out-4") + public Multi> processMessageStream(Multi> stream) { + return stream + .select().where(m -> !m.getPayload().equalsIgnoreCase("skip")) + .onItem().transform(m -> m.withPayload(m.getPayload().toUpperCase())); + } + // end::skip[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsMessageProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsMessageProducer.java new file mode 100644 index 000000000..cc2e815d6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsMessageProducer.java @@ -0,0 +1,27 @@ +package sns.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.aws.sns.SnsOutboundMetadata; + +@ApplicationScoped +public class SnsMessageProducer { + + @Outgoing("prices") + public Multi> generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(UUID.randomUUID().toString(), + Metadata.of(SnsOutboundMetadata.builder() + .groupId("group-1") + .build()))); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsOutboundMetadataExample.java new file mode 100644 index 000000000..9d44dacb0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsOutboundMetadataExample.java @@ -0,0 +1,29 @@ +package sns.outbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.aws.sns.SnsOutboundMetadata; +import software.amazon.awssdk.services.sns.model.MessageAttributeValue; + +@ApplicationScoped +public class SnsOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + final SnsOutboundMetadata metadata = SnsOutboundMetadata.builder() + .messageAttributes(Map.of("my-attribute", MessageAttributeValue.builder() + .dataType("String").stringValue("my-value").build())) + .groupId("group-1") + .smsPhoneNumber("+1234567890") + .build(); + + // Add `metadata` to the metadata of the outgoing message. + return Message.of("Hello", Metadata.of(metadata)); + // end::code[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsProducer.java new file mode 100644 index 000000000..cde773fa6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sns/outbound/SnsProducer.java @@ -0,0 +1,22 @@ +package sns.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class SnsProducer { + + @Outgoing("data") + public Multi generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> UUID.randomUUID().toString()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsCustomAckStrategy.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsCustomAckStrategy.java new file mode 100644 index 000000000..ad8b679ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsCustomAckStrategy.java @@ -0,0 +1,36 @@ +package sqs.inbound; + +import java.util.function.BiConsumer; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.aws.sqs.SqsAckHandler; +import io.smallrye.reactive.messaging.aws.sqs.SqsConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.aws.sqs.SqsMessage; +import io.vertx.mutiny.core.Vertx; +import software.amazon.awssdk.services.sqs.SqsAsyncClient; + +public class SqsCustomAckStrategy implements SqsAckHandler { + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements SqsAckHandler.Factory { + + @Override + public SqsAckHandler create(SqsConnectorIncomingConfiguration conf, + Vertx vertx, + SqsAsyncClient client, + Uni queueUrlUni, + BiConsumer reportFailure) { + return new SqsCustomAckStrategy(); + } + } + + @Override + public Uni handle(SqsMessage message) { + return Uni.createFrom().voidItem() + .emitOn(message::runOnMessageContext); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsCustomNackStrategy.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsCustomNackStrategy.java new file mode 100644 index 000000000..6daeec399 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsCustomNackStrategy.java @@ -0,0 +1,33 @@ +package sqs.inbound; + +import java.util.function.BiConsumer; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.aws.sqs.SqsFailureHandler; +import io.smallrye.reactive.messaging.aws.sqs.SqsMessage; +import software.amazon.awssdk.services.sqs.SqsAsyncClient; + +public class SqsCustomNackStrategy implements SqsFailureHandler { + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements SqsFailureHandler.Factory { + + @Override + public SqsFailureHandler create(String channel, SqsAsyncClient client, Uni queueUrlUni, + BiConsumer reportFailure) { + return new SqsCustomNackStrategy(); + } + } + + @Override + public Uni handle(SqsMessage message, Metadata metadata, Throwable throwable) { + return Uni.createFrom().voidItem() + .emitOn(message::runOnMessageContext); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsMessageStringConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsMessageStringConsumer.java new file mode 100644 index 000000000..218e26f0c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsMessageStringConsumer.java @@ -0,0 +1,17 @@ +package sqs.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class SqsMessageStringConsumer { + @Incoming("data") + CompletionStage consume(Message msg) { + System.out.println("Received: " + msg.getPayload()); + return msg.ack(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsMetadataExample.java new file mode 100644 index 000000000..cd1b4a5aa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsMetadataExample.java @@ -0,0 +1,21 @@ +package sqs.inbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.aws.sqs.SqsIncomingMetadata; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +@ApplicationScoped +public class SqsMetadataExample { + + @Incoming("queue") + public void metadata(String body, SqsIncomingMetadata metadata) { + Map attributes = metadata.getMessage().messageAttributes(); + attributes.forEach((k, v) -> System.out.println(k + " -> " + v.stringValue())); + System.out.println("Message body: " + body); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java new file mode 100644 index 000000000..1316a6c0a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java @@ -0,0 +1,17 @@ +package sqs.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.aws.sqs.SqsReceiveMessageRequestCustomizer; +import software.amazon.awssdk.services.sqs.model.ReceiveMessageRequest; + +@Identifier("my-customizer") // or with channel name @Identifier("data") +@ApplicationScoped +public class SqsReceiveMessageRequestCustomizerExample implements SqsReceiveMessageRequestCustomizer { + @Override + public void customize(ReceiveMessageRequest.Builder builder) { + builder.visibilityTimeout(10) + .messageAttributeNames("my-attribute"); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsSdkMessageConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsSdkMessageConsumer.java new file mode 100644 index 000000000..bdaf6fd90 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsSdkMessageConsumer.java @@ -0,0 +1,21 @@ +package sqs.inbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import software.amazon.awssdk.services.sqs.model.Message; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +@ApplicationScoped +public class SqsSdkMessageConsumer { + + @Incoming("data") + void consume(Message msg) { + System.out.println("Received: " + msg.body()); + Map attributes = msg.messageAttributes(); + // ... + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsStringConsumer.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsStringConsumer.java new file mode 100644 index 000000000..ffdfcf6d9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/inbound/SqsStringConsumer.java @@ -0,0 +1,13 @@ +package sqs.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class SqsStringConsumer { + @Incoming("data") + void consume(String messageBody) { + System.out.println("Received: " + messageBody); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/json/SqsJsonMapping.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/json/SqsJsonMapping.java new file mode 100644 index 000000000..4980edbb8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/json/SqsJsonMapping.java @@ -0,0 +1,56 @@ +package sqs.json; + +import java.time.Duration; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.atomic.AtomicInteger; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class SqsJsonMapping { + + // tag::code[] + @ApplicationScoped + public static class Generator { + + @Outgoing("to-rabbitmq") + public Multi prices() { + AtomicInteger count = new AtomicInteger(); + return Multi.createFrom().ticks().every(Duration.ofMillis(1000)) + .map(l -> new Price().setPrice(count.incrementAndGet())) + .onOverflow().drop(); + } + + } + + @ApplicationScoped + public static class Consumer { + + List prices = new CopyOnWriteArrayList<>(); + + @Incoming("from-rabbitmq") + public void consume(Price price) { + prices.add(price); + } + + public List list() { + return prices; + } + } + + public static class Price { + public int price; + + public Price setPrice(int price) { + this.price = price; + return this; + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsMessageStringProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsMessageStringProducer.java new file mode 100644 index 000000000..eac978671 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsMessageStringProducer.java @@ -0,0 +1,27 @@ +package sqs.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.aws.sqs.SqsOutboundMetadata; + +@ApplicationScoped +public class SqsMessageStringProducer { + + @Outgoing("prices") + public Multi> generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(UUID.randomUUID().toString(), + Metadata.of(SqsOutboundMetadata.builder() + .groupId("group-1") + .build()))); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsOutboundMetadataExample.java new file mode 100644 index 000000000..e512f4743 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsOutboundMetadataExample.java @@ -0,0 +1,27 @@ +package sqs.outbound; + +import java.util.Map; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.aws.sqs.SqsOutboundMetadata; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +public class SqsOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + final SqsOutboundMetadata metadata = SqsOutboundMetadata.builder() + .messageAttributes(Map.of("my-attribute", MessageAttributeValue.builder() + .dataType("String").stringValue("my-value").build())) + .groupId("group-1") + .build(); + + // Add `metadata` to the metadata of the outgoing message. + return Message.of("Hello", Metadata.of(metadata)); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsStringProducer.java b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsStringProducer.java new file mode 100644 index 000000000..4a39f5b4e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/sqs/outbound/SqsStringProducer.java @@ -0,0 +1,22 @@ +package sqs.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class SqsStringProducer { + + @Outgoing("data") + public Multi generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> UUID.randomUUID().toString()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/testing/MyTest.java b/content/docs/smallrye-reactive-messaging/4/_examples/testing/MyTest.java new file mode 100644 index 000000000..115a6e3d2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/testing/MyTest.java @@ -0,0 +1,52 @@ +package testing; + +import jakarta.enterprise.inject.Any; +import jakarta.inject.Inject; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.memory.InMemoryConnector; +import io.smallrye.reactive.messaging.memory.InMemorySink; +import io.smallrye.reactive.messaging.memory.InMemorySource; + +// @io.quarkus.test.junit.QuarkusTest or the Junit 5 extension that allows injection in tests +public class MyTest { + + // 1. Switch the channels to the in-memory connector: + @BeforeAll + public static void switchMyChannels() { + InMemoryConnector.switchIncomingChannelsToInMemory("prices"); + InMemoryConnector.switchOutgoingChannelsToInMemory("processed-prices"); + } + + // 2. Don't forget to reset the channel after the tests: + @AfterAll + public static void revertMyChannels() { + InMemoryConnector.clear(); + } + + // 3. Inject the in-memory connector in your test, + // or use the bean manager to retrieve the instance + @Inject + @Any + InMemoryConnector connector; + + @Test + void test() { + // 4. Retrieves the in-memory source to send message + InMemorySource prices = connector.source("prices"); + // 5. Retrieves the in-memory sink to check what is received + InMemorySink results = connector.sink("processed-prices"); + + // 6. Send fake messages: + prices.send(1); + prices.send(2); + prices.send(3); + + // 7. Check you have received the expected messages + Assertions.assertEquals(3, results.received().size()); + } +} diff --git a/content/docs/smallrye-reactive-messaging/4/_examples/testing/MyTestSetup.java b/content/docs/smallrye-reactive-messaging/4/_examples/testing/MyTestSetup.java new file mode 100644 index 000000000..01d0f6b91 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_examples/testing/MyTestSetup.java @@ -0,0 +1,23 @@ +package testing; + +import java.util.HashMap; +import java.util.Map; + +import io.smallrye.reactive.messaging.memory.InMemoryConnector; + +public class MyTestSetup { + + // tag::code[] + public Map start() { + Map env = new HashMap<>(); + env.putAll(InMemoryConnector.switchIncomingChannelsToInMemory("prices")); + env.putAll(InMemoryConnector.switchOutgoingChannelsToInMemory("my-data-stream")); + return env; + } + + public void stop() { + InMemoryConnector.clear(); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-amqp-incoming.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-amqp-incoming.adoc new file mode 100644 index 000000000..9804e5883 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-amqp-incoming.adoc @@ -0,0 +1,37 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_address_ |The AMQP address. If not set, the channel name is used |string |false | +|_auto-acknowledgement_ |Whether the received AMQP messages must be acknowledged when received |boolean |false |`false` +|_broadcast_ |Whether the received AMQP messages must be dispatched to multiple _subscribers_ |boolean |false |`false` +|_capabilities_ |A comma-separated list of capabilities proposed by the sender or receiver client. |string |false | +|_cbs.audience_ |The audience used to authenticate with the broker using the CBS exchange. If not set, the audience is derived from the address. |string |false |++``++ +|_cbs.enabled_ |Whether the CBS authorization is enabled. If enabled, the connector will use the claims-based security to authenticate with the broker. If disabled, the connector will not use the CBS exchange and will not authenticate with the broker. |boolean |false |`false` +|_cbs.exchange_ |The name of the CBS exchange used to authenticate with the broker. |string |false |`set-token` +|_cbs.scopes_ |The scopes used to authenticate with the broker using the CBS exchange. If not set, the scopes are derived from the address. |string |false |++``++ +|_cbs.token-manager_ |The name of the CbsTokenManager bean used to manage the CBS tokens. |string |false |`default-cbs-token-manager` +|_client-options-name_ _(amqp-client-options-name)_ |The name of the AMQP Client Option bean used to customize the AMQP client configuration |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_connect-timeout_ _(amqp-connect-timeout)_ |The connection timeout in milliseconds |int |false |`1000` +|_container-id_ |The AMQP container id. Channels with the same container id share the same AMQP connection. |string |false | +|_durable_ |Whether AMQP subscription is durable |boolean |false |`false` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from an AMQP message is nacked. Accepted values are `fail` (default), `accept`, `release`, `reject`, `modified-failed`, `modified-failed-undeliverable-here` |string |false |`fail` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-timeout_ |The max number of seconds to wait to determine if the connection with the broker is still established for the readiness check. After that threshold, the check is considered as failed. |int |false |`3` +|_host_ _(amqp-host)_ |The broker hostname |string |false |`localhost` +|_initial-credits_ |The number of credits initially requested for incoming messages. This controls how many messages the receiver can buffer. |int |false |`1000` +|_link-name_ |The name of the link. If not set, the channel name is used. |string |false | +|_password_ _(amqp-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(amqp-port)_ |The broker port |int |false |`5672` +|_qos_ |Sets the local QOS config, values can be ++{++@code null}, ++{++@code AT++_++MOST++_++ONCE} or ++{++@code AT++_++LEAST++_++ONCE}. |string |false | +|_reconnect-attempts_ _(amqp-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(amqp-reconnect-interval)_ |The interval in second between two reconnection attempts |int |false |`10` +|_retry-on-fail-attempts_ |The number of tentative to retry on failure |int |false |`6` +|_retry-on-fail-interval_ |The interval (in seconds) between two sending attempts |int |false |`5` +|_selector_ |Sets a message selector. This attribute is used to define an `apache.org:selector-filter:string` filter on the source terminus, using SQL-based syntax to request the server filters which messages are delivered to the receiver (if supported by the server in question). Precise functionality supported and syntax needed can vary depending on the server. |string |false | +|_sni-server-name_ _(amqp-sni-server-name)_ |If set, explicitly override the hostname to use for the TLS SNI server name |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_use-ssl_ _(amqp-use-ssl)_ |Whether the AMQP connection uses SSL/TLS |boolean |false |`false` +|_username_ _(amqp-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(amqp-virtual-host)_ |If set, configure the hostname value used for the connection AMQP Open frame and TLS SNI server name (if TLS is in use) |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-amqp-outgoing.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-amqp-outgoing.adoc new file mode 100644 index 000000000..e38833d3d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-amqp-outgoing.adoc @@ -0,0 +1,44 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_address_ |The AMQP address. If not set, the channel name is used |string |false | +|_capabilities_ |A comma-separated list of capabilities proposed by the sender or receiver client. |string |false | +|_cbs.audience_ |The audience used to authenticate with the broker using the CBS exchange. If not set, the audience is derived from the address. |string |false |++``++ +|_cbs.enabled_ |Whether the CBS authorization is enabled. If enabled, the connector will use the claims-based security to authenticate with the broker. If disabled, the connector will not use the CBS exchange and will not authenticate with the broker. |boolean |false |`false` +|_cbs.exchange_ |The name of the CBS exchange used to authenticate with the broker. |string |false |`set-token` +|_cbs.scopes_ |The scopes used to authenticate with the broker using the CBS exchange. If not set, the scopes are derived from the address. |string |false |++``++ +|_cbs.token-manager_ |The name of the CbsTokenManager bean used to manage the CBS tokens. |string |false |`default-cbs-token-manager` +|_client-options-name_ _(amqp-client-options-name)_ |The name of the AMQP Client Option bean used to customize the AMQP client configuration |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_cloud-events-data-content-type_ _(cloud-events-default-data-content-type)_ |Configure the default `datacontenttype` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `datacontenttype` attribute itself |string |false | +|_cloud-events-data-schema_ _(cloud-events-default-data-schema)_ |Configure the default `dataschema` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `dataschema` attribute itself |string |false | +|_cloud-events-insert-timestamp_ _(cloud-events-default-timestamp)_ |Whether or not the connector should insert automatically the `time` attribute into the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `time` attribute itself |boolean |false |`true` +|_cloud-events-mode_ |The Cloud Event mode (`structured` or `binary` (default)). Indicates how are written the cloud events in the outgoing record |string |false |`binary` +|_cloud-events-source_ _(cloud-events-default-source)_ |Configure the default `source` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `source` attribute itself |string |false | +|_cloud-events-subject_ _(cloud-events-default-subject)_ |Configure the default `subject` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `subject` attribute itself |string |false | +|_cloud-events-type_ _(cloud-events-default-type)_ |Configure the default `type` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `type` attribute itself |string |false | +|_connect-timeout_ _(amqp-connect-timeout)_ |The connection timeout in milliseconds |int |false |`1000` +|_container-id_ |The AMQP container id. Channels with the same container id share the same AMQP connection. |string |false | +|_credit-retrieval-period_ |The period (in milliseconds) between two attempts to retrieve the credits granted by the broker. This time is used when the sender run out of credits. |int |false |`2000` +|_durable_ |Whether sent AMQP messages are marked durable |boolean |false |`false` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-timeout_ |The max number of seconds to wait to determine if the connection with the broker is still established for the readiness check. After that threshold, the check is considered as failed. |int |false |`3` +|_host_ _(amqp-host)_ |The broker hostname |string |false |`localhost` +|_lazy-client_ |Whether to create the connection and sender at startup or at first send request |boolean |false |`true` +|_link-name_ |The name of the link. If not set, the channel name is used. |string |false | +|_max-inflight-messages_ |The maximum number of messages to be written to the broker concurrently. The number of sent messages waiting to be acknowledged by the broker are limited by this value and credits granted by the broker. The default value `0` means only credits apply. |long |false |`0` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ _(amqp-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(amqp-port)_ |The broker port |int |false |`5672` +|_reconnect-attempts_ _(amqp-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(amqp-reconnect-interval)_ |The interval in second between two reconnection attempts |int |false |`10` +|_retry-on-fail-attempts_ |The number of tentative to retry on failure |int |false |`6` +|_retry-on-fail-interval_ |The interval (in seconds) between two sending attempts |int |false |`5` +|_sni-server-name_ _(amqp-sni-server-name)_ |If set, explicitly override the hostname to use for the TLS SNI server name |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_ttl_ |The time-to-live of the send AMQP messages. 0 to disable the TTL |long |false |`0` +|_use-anonymous-sender_ |Whether or not the connector should use an anonymous sender. Default value is `true` if the broker supports it, `false` otherwise. If not supported, it is not possible to dynamically change the destination address. |boolean |false | +|_use-ssl_ _(amqp-use-ssl)_ |Whether the AMQP connection uses SSL/TLS |boolean |false |`false` +|_username_ _(amqp-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(amqp-virtual-host)_ |If set, configure the hostname value used for the connection AMQP Open frame and TLS SNI server name (if TLS is in use) |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-camel-incoming.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-camel-incoming.adoc new file mode 100644 index 000000000..e14c417cf --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-camel-incoming.adoc @@ -0,0 +1,6 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_endpoint-uri_ |The URI of the Camel endpoint (read from or written to) |string |true | +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a Camel exchange is nacked. Values can be `fail` (default) or `ignore` |string |false |`fail` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-camel-outgoing.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-camel-outgoing.adoc new file mode 100644 index 000000000..ae1860580 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-camel-outgoing.adoc @@ -0,0 +1,6 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_endpoint-uri_ |The URI of the Camel endpoint (read from or written to) |string |true | +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-jms-incoming.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-jms-incoming.adoc new file mode 100644 index 000000000..d93940a5d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-jms-incoming.adoc @@ -0,0 +1,25 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_broadcast_ |Whether or not the JMS message should be dispatched to multiple consumers |boolean |false |`false` +|_client-id_ |The client id |String |false | +|_connection-factory-name_ |The name of the JMS connection factory (`jakarta.jms.ConnectionFactory`) to be used. If not set, it uses any exposed JMS connection factory |String |false | +|_dead-letter-queue.destination_ |When the `failure-strategy` is set to `dead-letter-queue` indicates on which queue the message is sent. Defaults is `dead-letter-topic-$channel` |string |false | +|_dead-letter-queue.producer-client-id_ |When the `failure-strategy` is set to `dead-letter-queue` indicates what client id the generated producer should use. Defaults is `jms-dead-letter-topic-producer-$client-id` |string |false | +|_destination_ |The name of the JMS destination. If not set the name of the channel is used |String |false | +|_destination-type_ |The type of destination. It can be either `queue` or `topic` |string |false |`queue` +|_durable_ |Set to `true` to use a durable subscription |boolean |false |`false` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `fail` (default), `ignore`, or `dead-letter-queue` |string |false |`fail` +|_no-local_ |Enable or disable local delivery |boolean |false |`false` +|_password_ |The password to connect to to the JMS server |String |false | +|_retry_ |Whether to retry on terminal stream errors. |boolean |false |`true` +|_retry.initial-delay_ |The initial delay for the retry. |string |false |`PT1S` +|_retry.jitter_ |How much the delay jitters as a multiplier between 0 and 1. The formula is current delay ++*++ jitter. For example, with a current delay of 2H, a jitter of 0.5 will result in an actual delay somewhere between 1H and 3H. |double |false |`0.5` +|_retry.max-delay_ |The maximum delay |string |false |`PT10S` +|_retry.max-retries_ |Maximum number of retries for terminal stream errors. |int |false |`3` +|_reuse-jms-context_ |Whether to reuse JMS contexts by creating child contexts from a parent context. When enabled, child contexts will be created using JMSContext.createContext() instead of ConnectionFactory.createContext() |boolean |false |`false` +|_selector_ |The JMS selector |String |false | +|_session-mode_ |The session mode. Accepted values are AUTO++_++ACKNOWLEDGE, SESSION++_++TRANSACTED, CLIENT++_++ACKNOWLEDGE, DUPS++_++OK++_++ACKNOWLEDGE |String |false |`AUTO++_++ACKNOWLEDGE` +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_username_ |The username to connect to to the JMS server |String |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-jms-outgoing.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-jms-outgoing.adoc new file mode 100644 index 000000000..335b694e3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-jms-outgoing.adoc @@ -0,0 +1,28 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_client-id_ |The client id |String |false | +|_connection-factory-name_ |The name of the JMS connection factory (`jakarta.jms.ConnectionFactory`) to be used. If not set, it uses any exposed JMS connection factory |String |false | +|_correlation-id_ |The JMS Message correlation id |string |false | +|_delivery-delay_ |The delivery delay |long |false | +|_delivery-mode_ |The delivery mode. Either `persistent` or `non++_++persistent` |string |false | +|_destination_ |The name of the JMS destination. If not set the name of the channel is used |String |false | +|_destination-type_ |The type of destination. It can be either `queue` or `topic` |string |false |`queue` +|_disable-message-id_ |Omit the message id in the outbound JMS message |boolean |false | +|_disable-message-timestamp_ |Omit the message timestamp in the outbound JMS message |boolean |false | +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ |The password to connect to to the JMS server |String |false | +|_priority_ |The JMS Message priority |int |false | +|_reply-to_ |The reply to destination if any |string |false | +|_reply-to-destination-type_ |The type of destination for the response. It can be either `queue` or `topic` |string |false |`queue` +|_retry_ |Whether to retry on terminal stream errors. |boolean |false |`true` +|_retry.initial-delay_ |The initial delay for the retry. |string |false |`PT1S` +|_retry.jitter_ |How much the delay jitters as a multiplier between 0 and 1. The formula is current delay ++*++ jitter. For example, with a current delay of 2H, a jitter of 0.5 will result in an actual delay somewhere between 1H and 3H. |double |false |`0.5` +|_retry.max-delay_ |The maximum delay |string |false |`PT10S` +|_retry.max-retries_ |Maximum number of retries for terminal stream errors. |int |false |`3` +|_reuse-jms-context_ |Whether to reuse JMS contexts by creating child contexts from a parent context. When enabled, child contexts will be created using JMSContext.createContext() instead of ConnectionFactory.createContext() |boolean |false |`false` +|_session-mode_ |The session mode. Accepted values are AUTO++_++ACKNOWLEDGE, SESSION++_++TRANSACTED, CLIENT++_++ACKNOWLEDGE, DUPS++_++OK++_++ACKNOWLEDGE |String |false |`AUTO++_++ACKNOWLEDGE` +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_ttl_ |The JMS Message time-to-live |long |false | +|_username_ |The username to connect to to the JMS server |String |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-kafka-incoming.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-kafka-incoming.adoc new file mode 100644 index 000000000..54dfa4117 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-kafka-incoming.adoc @@ -0,0 +1,65 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_assign-seek_ |Assign partitions and optionally seek to offsets, instead of subscribing to topics. A comma-separating list of triplets in form of ++`++: | |:`to assign statically to the consumer and seek to the given offsets. Offset`0`seeks to beginning and offset`-1++`++ seeks to the end of the topic-partition. If the topic is omitted the configured topic will be used. If the offset is omitted partitions are assigned to the consumer but won't be seeked to offset. |string +|_auto.offset.reset_ |What to do when there is no initial offset in Kafka.Accepted values are earliest, latest and none |string |false |`latest` +|_batch_ |Whether the Kafka records are consumed in batch. The channel injection point must consume a compatible type, such as `List++<++Payload++>++` or `KafkaRecordBatch++<++Payload++>++`. |boolean |false |`false` +|_bootstrap.servers_ _(kafka.bootstrap.servers)_ |A comma-separated list of host:port to use for establishing the initial connection to the Kafka cluster. |string |false |`localhost:9092` +|_broadcast_ |Whether the Kafka records should be dispatched to multiple consumer |boolean |false |`false` +|_checkpoint.state-store_ |While using the `checkpoint` commit-strategy, the name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.StateStore.Factory` to specify the state store implementation. |string |false | +|_checkpoint.state-type_ |While using the `checkpoint` commit-strategy, the fully qualified type name of the state object to persist in the state store. When provided, it can be used by the state store implementation to help persisting the processing state object. |string |false | +|_checkpoint.unsynced-state-max-age.ms_ |While using the `checkpoint` commit-strategy, specify the max age in milliseconds that the processing state must be persisted before the connector is marked as unhealthy. Setting this attribute to 0 disables this monitoring. |int |false |`10000` +|_client-id-prefix_ |Prefix for Kafka client `client.id` attribute. If defined configured or generated `client.id` will be prefixed with the given value. |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_commit-strategy_ |Specify the commit strategy to apply when a message produced from a record is acknowledged. Values can be `latest`, `ignore` or `throttled`. If `enable.auto.commit` is true then the default is `ignore` otherwise it is `throttled` |string |false | +|_consumer-rebalance-listener.name_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener`. If set, this rebalance listener is applied to the consumer. |string |false | +|_dead-letter-queue.key.serializer_ |When the `failure-strategy` is set to `dead-letter-queue` indicates the key serializer to use. If not set the serializer associated to the key deserializer is used |string |false | +|_dead-letter-queue.producer-client-id_ |When the `failure-strategy` is set to `dead-letter-queue` indicates what client id the generated producer should use. Defaults is `kafka-dead-letter-topic-producer-$client-id` |string |false | +|_dead-letter-queue.topic_ |When the `failure-strategy` is set to `dead-letter-queue` indicates on which topic the record is sent. Defaults is `dead-letter-topic-$channel` |string |false | +|_dead-letter-queue.value.serializer_ |When the `failure-strategy` is set to `dead-letter-queue` indicates the value serializer to use. If not set the serializer associated to the value deserializer is used |string |false | +|_delayed-retry-topic.max-retries_ |When the `failure-strategy` is set to `delayed-retry-topic` indicates the maximum number of retries. If higher than the number of delayed retry topics, last topic is used. |int |false | +|_delayed-retry-topic.timeout_ |When the `failure-strategy` is set to `delayed-retry-topic` indicates the global timeout per record. |int |false |`120000` +|_delayed-retry-topic.topics_ |When the `failure-strategy` is set to `delayed-retry-topic` indicates topics to use. If not set the source channel name is used, with 10, 20 and 50 seconds delayed topics. |string |false | +|_enable.auto.commit_ |If enabled, consumer's offset will be periodically committed in the background by the underlying Kafka client, ignoring the actual processing outcome of the records. It is recommended to NOT enable this setting and let Reactive Messaging handles the commit. |boolean |false |`false` +|_fail-on-deserialization-failure_ |When no deserialization failure handler is set and a deserialization failure happens, report the failure and mark the application as unhealthy. If set to `false` and a deserialization failure happens, a `null` value is forwarded. |boolean |false |`true` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `fail` (default), `ignore`, or `dead-letter-queue` |string |false |`fail` +|_fetch.min.bytes_ |The minimum amount of data the server should return for a fetch request. The default setting of 1 byte means that fetch requests are answered as soon as a single byte of data is available or the fetch request times out waiting for data to arrive. |int |false |`1` +|_graceful-shutdown_ |Whether or not a graceful shutdown should be attempted when the application terminates. |boolean |false |`true` +|_group.id_ |A unique string that identifies the consumer group the application belongs to. If not set, a unique, generated id is used |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-timeout_ |_deprecated_ - During the readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. Deprecated: Use 'health-topic-verification-timeout' instead. |long |false | +|_health-readiness-topic-verification_ |_deprecated_ - Whether the readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin connection. Deprecated: Use 'health-topic-verification-enabled' instead. |boolean |false | +|_health-topic-verification-enabled_ |Whether the startup and readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin client connection. |boolean |false |`false` +|_health-topic-verification-readiness-disabled_ |Whether the topic verification is disabled for the readiness health check. |boolean |false |`false` +|_health-topic-verification-startup-disabled_ |Whether the topic verification is disabled for the startup health check. |boolean |false |`false` +|_health-topic-verification-timeout_ |During the startup and readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. |long |false |`2000` +|_kafka-configuration_ |Identifier of a CDI bean that provides the default Kafka consumer/producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_key-deserialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.DeserializationFailureHandler`. If set, deserialization failure happening when deserializing keys are delegated to this handler which may retry or provide a fallback value. |string |false | +|_key.deserializer_ |The deserializer classname used to deserialize the record's key |string |false |`org.apache.kafka.common.serialization.StringDeserializer` +|_lazy-client_ |Whether Kafka client is created lazily or eagerly. |boolean |false |`false` +|_max-queue-size-factor_ |Multiplier factor to determine maximum number of records queued for processing, using `max.poll.records` ++*++ `max-queue-size-factor`. Defaults to 2. In `batch` mode `max.poll.records` is considered `1`. |int |false |`2` +|_ordered_ |Configures ordering guarantees for concurrent processing. Possible values: `key` for per-key sequential processing, or `partition` for per-partition sequential processing. Requires `@Blocking(ordered = false)` for concurrency. Works with any commit strategy. |string |false | +|_ordered.max-concurrency_ |Maximum number of groups (keys or partitions) that can be processed concurrently. Defaults to `max.poll.records`. |int |false | +|_partitions_ |_deprecated_ - The number of partitions to be consumed concurrently. The connector creates the specified amount of Kafka consumers. It should match the number of partition of the targeted topic. Deprecated: Use `concurrency` channel attribute instead. |int |false |`1` +|_pattern_ |Indicate that the `topic` property is a regular expression. Must be used with the `topic` property. Cannot be used with the `topics` property |boolean |false |`false` +|_pause-if-no-requests_ |Whether the polling must be paused when the application does not request items and resume when it does. This allows implementing back-pressure based on the application capacity. Note that polling is not stopped, but will not retrieve any records when paused. |boolean |false |`true` +|_poll-timeout_ |The polling timeout in milliseconds. When polling records, the poll will wait at most that duration before returning records. Default is 1000ms |int |false |`1000` +|_requests_ |_deprecated_ - When `partitions` is greater than 1, this attribute allows configuring how many records are requested by each consumers every time. Deprecated: Use `concurrency` channel attribute instead. |int |false |`128` +|_retry_ |Whether or not the connection to the broker is re-attempted in case of failure |boolean |false |`true` +|_retry-attempts_ |The maximum number of reconnection before failing. -1 means infinite retry |int |false |`-1` +|_retry-max-wait_ |The max delay (in seconds) between 2 reconnects |int |false |`30` +|_share-group_ |_deprecated_ - Deprecated, use 'share-group.enabled' instead |boolean |false |`false` +|_share-group.enabled_ |Whether to use Kafka Share Groups for consumption. When enabled, the consumer will use a ShareConsumer which provides cooperative record processing across multiple consumers without explicit partition assignment. |boolean |false |`false` +|_share-group.failure-acknowledgement-type_ |Default acknowledgement type to apply to the record, when the message is nacked. |string |false |`release` +|_share-group.failure-deserialization-acknowledgement-type_ |Default acknowledgement type to apply to the record, when the message is nacked because of failure on deserialization. |string |false |`reject` +|_share-group.unprocessed-record-max-age.ms_ |While using share groups, specify the max age in milliseconds that an unprocessed record can be before the connector reports a failure. Setting this attribute to 0 disables this monitoring. |int |false |`60000` +|_throttled.ordered_ |_deprecated_ - While using the `throttled` commit-strategy, configures ordering guarantees for concurrent processing. Possible values: `key` for per-key sequential processing within partitions, or `partition` for per-partition sequential processing. Requires `@Blocking(ordered = false)` for concurrency. Deprecated: Use `ordered` instead. |string |false | +|_throttled.ordered.max-concurrency_ |_deprecated_ - While using the `throttled` commit-strategy with ordered processing, specifies the maximum number of groups (keys or partitions) that can be processed concurrently. This should typically match your worker pool's `max-concurrency` setting. Defaults to `max.poll.records`. Deprecated: Use `ordered.max-concurrency` instead. |int |false | +|_throttled.unprocessed-record-max-age.ms_ |While using the `throttled` commit-strategy, specify the max age in milliseconds that an unprocessed message can be before the connector is marked as unhealthy. Setting this attribute to 0 disables this monitoring. |int |false |`60000` +|_topic_ |The consumed / populated Kafka topic. If neither this property nor the `topics` properties are set, the channel name is used |string |false | +|_topics_ |A comma-separating list of topics to be consumed. Cannot be used with the `topic` or `pattern` properties |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_value-deserialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.DeserializationFailureHandler`. If set, deserialization failure happening when deserializing values are delegated to this handler which may retry or provide a fallback value. |string |false | +|_value.deserializer_ |The deserializer classname used to deserialize the record's value |string |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-kafka-outgoing.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-kafka-outgoing.adoc new file mode 100644 index 000000000..85f3102a9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-kafka-outgoing.adoc @@ -0,0 +1,46 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_acks_ |The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. Accepted values are: 0, 1, all |string |false |`1` +|_bootstrap.servers_ _(kafka.bootstrap.servers)_ |A comma-separated list of host:port to use for establishing the initial connection to the Kafka cluster. |string |false |`localhost:9092` +|_buffer.memory_ |The total bytes of memory the producer can use to buffer records waiting to be sent to the server. |long |false |`33554432` +|_client-id-prefix_ |Prefix for Kafka client `client.id` attribute. If defined configured or generated `client.id` will be prefixed with the given value. |string |false | +|_close-timeout_ |The amount of milliseconds waiting for a graceful shutdown of the Kafka producer |int |false |`10000` +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_cloud-events-data-content-type_ _(cloud-events-default-data-content-type)_ |Configure the default `datacontenttype` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `datacontenttype` attribute itself |string |false | +|_cloud-events-data-schema_ _(cloud-events-default-data-schema)_ |Configure the default `dataschema` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `dataschema` attribute itself |string |false | +|_cloud-events-insert-timestamp_ _(cloud-events-default-timestamp)_ |Whether or not the connector should insert automatically the `time` attribute into the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `time` attribute itself |boolean |false |`true` +|_cloud-events-mode_ |The Cloud Event mode (`structured` or `binary` (default)). Indicates how are written the cloud events in the outgoing record |string |false |`binary` +|_cloud-events-source_ _(cloud-events-default-source)_ |Configure the default `source` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `source` attribute itself |string |false | +|_cloud-events-subject_ _(cloud-events-default-subject)_ |Configure the default `subject` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `subject` attribute itself |string |false | +|_cloud-events-type_ _(cloud-events-default-type)_ |Configure the default `type` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `type` attribute itself |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-timeout_ |_deprecated_ - During the readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. Deprecated: Use 'health-topic-verification-timeout' instead. |long |false | +|_health-readiness-topic-verification_ |_deprecated_ - Whether the readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin connection. Deprecated: Use 'health-topic-verification-enabled' instead. |boolean |false | +|_health-topic-verification-enabled_ |Whether the startup and readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin client connection. |boolean |false |`false` +|_health-topic-verification-readiness-disabled_ |Whether the topic verification is disabled for the readiness health check. |boolean |false |`false` +|_health-topic-verification-startup-disabled_ |Whether the topic verification is disabled for the startup health check. |boolean |false |`false` +|_health-topic-verification-timeout_ |During the startup and readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. |long |false |`2000` +|_interceptor-bean_ |The name set in `@Identifier` of a bean that implements `org.apache.kafka.clients.producer.ProducerInterceptor`. If set, the identified bean will be used as the producer interceptor. |string |false | +|_kafka-configuration_ |Identifier of a CDI bean that provides the default Kafka consumer/producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_key_ |A key to used when writing the record |string |false | +|_key-serialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing keys are delegated to this handler which may provide a fallback value. |string |false | +|_key.serializer_ |The serializer classname used to serialize the record's key |string |false |`org.apache.kafka.common.serialization.StringSerializer` +|_lazy-client_ |Whether Kafka client is created lazily or eagerly. |boolean |false |`false` +|_max-inflight-messages_ |The maximum number of messages to be written to Kafka concurrently. It limits the number of messages waiting to be written and acknowledged by the broker. You can set this attribute to `0` remove the limit |long |false |`1024` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_partition_ |The target partition id. -1 to let the client determine the partition |int |false |`-1` +|_pooled-producer_ |_deprecated_ - Deprecated, use 'pooled-producer.enabled' instead |boolean |false |`false` +|_pooled-producer.enabled_ |Whether to use a pool of Kafka producers for concurrent transactions. Each transaction scope acquires a producer from the pool, enabling concurrent exactly-once processing. Requires transactional.id to be set. |boolean |false |`false` +|_pooled-producer.initial-pool-size_ |Number of Kafka producers to pre-create in the pool at startup. Respects the lazy-client setting. Defaults to 0 (lazy creation). |int |false |`0` +|_pooled-producer.max-pool-size_ |Maximum number of Kafka producers in the pool. When all producers are in use and the pool is exhausted, an exception is thrown. Defaults to 10. |int |false |`10` +|_propagate-headers_ |A comma-separating list of incoming record headers to be propagated to the outgoing record |string |false |++``++ +|_propagate-record-key_ |Propagate incoming record key to the outgoing record |boolean |false |`false` +|_retries_ |If set to a positive number, the connector will try to resend any record that was not delivered successfully (with a potentially transient error) until the number of retries is reached. If set to 0, retries are disabled. If not set, the connector tries to resend any record that failed to be delivered (because of a potentially transient error) during an amount of time configured by `delivery.timeout.ms`. |long |false |`2147483647` +|_topic_ |The consumed / populated Kafka topic. If neither this property nor the `topics` properties are set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_value-serialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing values are delegated to this handler which may provide a fallback value. |string |false | +|_value.serializer_ |The serializer classname used to serialize the payload |string |true | +|_waitForWriteCompletion_ |Whether the client waits for Kafka to acknowledge the written record before acknowledging the message |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-mqtt-incoming.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-mqtt-incoming.adoc new file mode 100644 index 000000000..162579625 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-mqtt-incoming.adoc @@ -0,0 +1,38 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_auto-clean-session_ |Set to start with a clean session (`true` by default) |boolean |false |`true` +|_auto-generated-client-id_ |Set if the MQTT client must generate clientId automatically |boolean |false |`true` +|_auto-keep-alive_ |Set if the MQTT client must handle `PINGREQ` automatically |boolean |false |`true` +|_broadcast_ |Whether or not the messages should be dispatched to multiple consumers |boolean |false |`false` +|_buffer-size_ |The size buffer of incoming messages waiting to be processed |int |false |`128` +|_client-id_ |Set the client identifier |string |false | +|_client-options-name_ _(mqtt-client-options-name)_ |The name of the MQTT Client Option bean (`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`) used to customize the MQTT client configuration |string |false | +|_connect-timeout-seconds_ |Set the connect timeout (in seconds) |int |false |`60` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a MQTT message is nacked. Values can be `fail` (default), or `ignore` |string |false |`fail` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ |Set the MQTT server host name/IP |string |true | +|_keep-alive-seconds_ |Set the keep alive timeout in seconds |int |false |`30` +|_max-inflight-queue_ |Set max count of unacknowledged messages |int |false |`10` +|_max-message-size_ |Set max MQTT message size in bytes |int |false |`8092` +|_password_ |Set the password to connect to the server |string |false | +|_port_ |Set the MQTT server port. Default to 8883 if ssl is enabled, or 1883 without ssl |int |false | +|_qos_ |Set the QoS level when subscribing to the topic or when sending a message |int |false |`0` +|_reconnect-interval-seconds_ |Set the reconnect interval in seconds |int |false |`1` +|_server-name_ |Set the SNI server name |string |false | +|_ssl_ |Set whether SSL/TLS is enabled |boolean |false |`false` +|_ssl.hostname-verification-algorithm_ |Set the hostname verifier algorithm for the TLS connection.Accepted values are `HTTPS`, `LDAPS`, and `NONE` (defaults). `NONE` disables the hostname verification. |string |false |`NONE` +|_ssl.keystore.location_ |Set the keystore location. In case of `pem` type this is the server ca cert path |string |false | +|_ssl.keystore.password_ |Set the keystore password. In case of `pem` type this is the key path |string |false | +|_ssl.keystore.type_ |Set the keystore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_ssl.truststore.location_ |Set the truststore location. In case of `pem` type this is the client cert path |string |false | +|_ssl.truststore.password_ |Set the truststore password. In case of `pem` type this is not necessary |string |false | +|_ssl.truststore.type_ |Set the truststore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_topic_ |Set the MQTT topic. If not set, the channel name is used |string |false | +|_trust-all_ |Set whether all server certificates should be trusted |boolean |false |`false` +|_unsubscribe-on-disconnection_ |This flag restore the old behavior to unsubscribe from the broken on disconnection |boolean |false |`false` +|_username_ |Set the username to connect to the server |string |false | +|_will-flag_ |Set if will information are provided on connection |boolean |false |`false` +|_will-qos_ |Set the QoS level for the will message |int |false |`0` +|_will-retain_ |Set if the will message must be retained |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-mqtt-outgoing.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-mqtt-outgoing.adoc new file mode 100644 index 000000000..b529a82de --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-mqtt-outgoing.adoc @@ -0,0 +1,37 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_auto-clean-session_ |Set to start with a clean session (`true` by default) |boolean |false |`true` +|_auto-generated-client-id_ |Set if the MQTT client must generate clientId automatically |boolean |false |`true` +|_auto-keep-alive_ |Set if the MQTT client must handle `PINGREQ` automatically |boolean |false |`true` +|_client-id_ |Set the client identifier |string |false | +|_client-options-name_ _(mqtt-client-options-name)_ |The name of the MQTT Client Option bean (`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`) used to customize the MQTT client configuration |string |false | +|_connect-timeout-seconds_ |Set the connect timeout (in seconds) |int |false |`60` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ |Set the MQTT server host name/IP |string |true | +|_keep-alive-seconds_ |Set the keep alive timeout in seconds |int |false |`30` +|_max-inflight-queue_ |Set max count of unacknowledged messages |int |false |`10` +|_max-message-size_ |Set max MQTT message size in bytes |int |false |`8092` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ |Set the password to connect to the server |string |false | +|_port_ |Set the MQTT server port. Default to 8883 if ssl is enabled, or 1883 without ssl |int |false | +|_qos_ |Set the QoS level when subscribing to the topic or when sending a message |int |false |`0` +|_reconnect-interval-seconds_ |Set the reconnect interval in seconds |int |false |`1` +|_retain_ |Whether the published message should be retained |boolean |false |`false` +|_server-name_ |Set the SNI server name |string |false | +|_ssl_ |Set whether SSL/TLS is enabled |boolean |false |`false` +|_ssl.hostname-verification-algorithm_ |Set the hostname verifier algorithm for the TLS connection.Accepted values are `HTTPS`, `LDAPS`, and `NONE` (defaults). `NONE` disables the hostname verification. |string |false |`NONE` +|_ssl.keystore.location_ |Set the keystore location. In case of `pem` type this is the server ca cert path |string |false | +|_ssl.keystore.password_ |Set the keystore password. In case of `pem` type this is the key path |string |false | +|_ssl.keystore.type_ |Set the keystore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_ssl.truststore.location_ |Set the truststore location. In case of `pem` type this is the client cert path |string |false | +|_ssl.truststore.password_ |Set the truststore password. In case of `pem` type this is not necessary |string |false | +|_ssl.truststore.type_ |Set the truststore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_topic_ |Set the MQTT topic. If not set, the channel name is used |string |false | +|_trust-all_ |Set whether all server certificates should be trusted |boolean |false |`false` +|_unsubscribe-on-disconnection_ |This flag restore the old behavior to unsubscribe from the broken on disconnection |boolean |false |`false` +|_username_ |Set the username to connect to the server |string |false | +|_will-flag_ |Set if will information are provided on connection |boolean |false |`false` +|_will-qos_ |Set the QoS level for the will message |int |false |`0` +|_will-retain_ |Set if the will message must be retained |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-pulsar-incoming.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-pulsar-incoming.adoc new file mode 100644 index 000000000..6d8f6f7e1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-pulsar-incoming.adoc @@ -0,0 +1,21 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_ack-strategy_ |Specify the commit strategy to apply when a message produced from a record is acknowledged. Values can be `ack`, `cumulative`. |string |false |`ack` +|_ackTimeout.redeliveryBackoff_ |Comma separated values for configuring ack timeout MultiplierRedeliveryBackoff, min delay, max delay, multiplier. |string |false | +|_batchReceive_ |Whether batch receive is used to consume messages |boolean |false |`false` +|_client-configuration_ |Identifier of a CDI bean that provides the default Pulsar client configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_consumer-configuration_ |Identifier of a CDI bean that provides the default Pulsar consumer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_deadLetterPolicy.deadLetterTopic_ |Name of the dead letter topic where the failing messages will be sent |string |false | +|_deadLetterPolicy.initialSubscriptionName_ |Name of the initial subscription name of the dead letter topic |string |false | +|_deadLetterPolicy.maxRedeliverCount_ |Maximum number of times that a message will be redelivered before being sent to the dead letter topic |int |false | +|_deadLetterPolicy.retryLetterTopic_ |Name of the retry topic where the failing messages will be sent |string |false | +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `nack` (default), `fail`, `ignore` or ++`++reconsume-later |string |false |`nack` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_negativeAck.redeliveryBackoff_ |Comma separated values for configuring negative ack MultiplierRedeliveryBackoff, min delay, max delay, multiplier. |string |false | +|_reconsumeLater.delay_ |Default delay for reconsume failure-strategy, in seconds |long |false |`3` +|_schema_ |The Pulsar schema type of this channel. When configured a schema is built with the given SchemaType and used for the channel. When absent, the schema is resolved searching for a CDI bean typed `Schema` qualified with `@Identifier` and the channel name. As a fallback AUTO++_++CONSUME or AUTO++_++PRODUCE are used. |string |false | +|_serviceUrl_ |The service URL for the Pulsar service |string |false |`pulsar://localhost:6650` +|_topic_ |The consumed / populated Pulsar topic. If not set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-pulsar-outgoing.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-pulsar-outgoing.adoc new file mode 100644 index 000000000..9d44f7b1d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-pulsar-outgoing.adoc @@ -0,0 +1,13 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_client-configuration_ |Identifier of a CDI bean that provides the default Pulsar client configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_max-inflight-messages_ |The maximum size of a queue holding pending messages, i.e messages waiting to receive an acknowledgment from a broker. Defaults to 1000 messages |int |false | +|_producer-configuration_ |Identifier of a CDI bean that provides the default Pulsar producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_schema_ |The Pulsar schema type of this channel. When configured a schema is built with the given SchemaType and used for the channel. When absent, the schema is resolved searching for a CDI bean typed `Schema` qualified with `@Identifier` and the channel name. As a fallback AUTO++_++CONSUME or AUTO++_++PRODUCE are used. |string |false | +|_serviceUrl_ |The service URL for the Pulsar service |string |false |`pulsar://localhost:6650` +|_topic_ |The consumed / populated Pulsar topic. If not set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_waitForWriteCompletion_ |Whether the client waits for the broker to acknowledge the written record before acknowledging the message |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-rabbitmq-incoming.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-rabbitmq-incoming.adoc new file mode 100644 index 000000000..2c3d1016e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-rabbitmq-incoming.adoc @@ -0,0 +1,79 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_addresses_ _(rabbitmq-addresses)_ |The multiple addresses for cluster mode, when given overrides the host and port |string |false | +|_arguments_ |A comma-separated list of arguments ++[++key1:value1,key2:value2,...++]++ to bind the queue to the exchange. Relevant only if 'exchange.type' is headers |string |false | +|_auto-acknowledgement_ |Whether the received RabbitMQ messages must be acknowledged when received; if true then delivery constitutes acknowledgement |boolean |false |`false` +|_auto-bind-dlq_ |Whether to automatically declare the DLQ and bind it to the binder DLX |boolean |false |`false` +|_automatic-recovery-enabled_ |Whether automatic connection recovery is enabled |boolean |false |`false` +|_automatic-recovery-on-initial-connection_ |Whether automatic recovery on initial connections is enabled |boolean |false |`true` +|_broadcast_ |Whether the received RabbitMQ messages must be dispatched to multiple _subscribers_ |boolean |false |`false` +|_client-options-name_ _(rabbitmq-client-options-name)_ |The name of the RabbitMQ Client Option bean used to customize the RabbitMQ client configuration |string |false | +|_connection-timeout_ |The TCP connection timeout (ms); 0 is interpreted as no timeout |int |false |`60000` +|_consumer-arguments_ |A comma-separated list of arguments ++[++key1:value1,key2:value2,...++]++ for created consumer |string |false | +|_consumer-exclusive_ |The exclusive flag for created consumer |boolean |false | +|_consumer-tag_ |The consumer-tag option for created consumer, if not provided the consumer gets assigned a tag generated by the broker |string |false | +|_content-type-override_ |Override the content++_++type attribute of the incoming message, should be a valid MINE type |string |false | +|_credentials-provider-name_ _(rabbitmq-credentials-provider-name)_ |The name of the RabbitMQ Credentials Provider bean used to provide dynamic credentials to the RabbitMQ client |string |false | +|_dead-letter-dlx_ |If specified, a DLX to assign to the DLQ. Relevant only if auto-bind-dlq is true |string |false | +|_dead-letter-dlx-routing-key_ |If specified, a dead letter routing key to assign to the DLQ. Relevant only if auto-bind-dlq is true |string |false | +|_dead-letter-exchange_ |A DLX to assign to the queue. Relevant only if auto-bind-dlq is true |string |false |`DLX` +|_dead-letter-exchange-type_ |The type of the DLX to assign to the queue. Relevant only if auto-bind-dlq is true |string |false |`direct` +|_dead-letter-exchange.arguments_ |The identifier of the key-value Map exposed as bean used to provide arguments for dead-letter-exchange creation |string |false | +|_dead-letter-queue-mode_ |If automatically declare DLQ, we can choose different modes of DLQ ++[++lazy, default++]++ |string |false | +|_dead-letter-queue-name_ |The name of the DLQ; if not supplied will default to the queue name with '.dlq' appended |string |false | +|_dead-letter-queue-type_ |If automatically declare DLQ, we can choose different types of DLQ ++[++quorum, classic, stream++]++ |string |false | +|_dead-letter-queue.arguments_ |The identifier of the key-value Map exposed as bean used to provide arguments for dead-letter-queue creation |string |false | +|_dead-letter-routing-key_ |A dead letter routing key to assign to the queue; if not supplied will default to the queue name |string |false | +|_dead-letter-ttl_ |If specified, the time (ms) for which a message can remain in DLQ undelivered before it is dead. Relevant only if auto-bind-dlq is true |long |false | +|_dlx.declare_ |Whether to declare the dead letter exchange binding. Relevant only if auto-bind-dlq is true; set to false if these are expected to be set up independently |boolean |false |`false` +|_exchange.arguments_ |The identifier of the key-value Map exposed as bean used to provide arguments for exchange creation |string |false |`rabbitmq-exchange-arguments` +|_exchange.auto-delete_ |Whether the exchange should be deleted after use |boolean |false |`false` +|_exchange.declare_ |Whether to declare the exchange; set to false if the exchange is expected to be set up independently |boolean |false |`true` +|_exchange.durable_ |Whether the exchange is durable |boolean |false |`true` +|_exchange.name_ |The exchange that messages are published to or consumed from. If not set, the channel name is used. If set to "", the default exchange is used. |string |false | +|_exchange.type_ |The exchange type: direct, fanout, headers or topic (default) |string |false |`topic` +|_failure-strategy_ |The failure strategy to apply when a RabbitMQ message is nacked. Accepted values are `fail`, `accept`, `reject` (default), `requeue` or name of a bean |string |false |`reject` +|_handshake-timeout_ |The AMQP 0-9-1 protocol handshake timeout (ms) |int |false |`10000` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-lazy-subscription_ |Whether the liveness and readiness checks should report 'ok' when there is no subscription yet. This is useful when injecting the channel with `@Inject @Channel("...") Multi++<++...++>++ multi;` |boolean |false |`false` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ _(rabbitmq-host)_ |The broker hostname |string |false |`localhost` +|_include-properties_ |Whether to include properties when a broker message is passed on the event bus |boolean |false |`false` +|_keep-most-recent_ |Whether to discard old messages instead of recent ones |boolean |false |`false` +|_lazy-client_ |Whether the RabbitMQ client is created lazily or eagerly. |boolean |false |`true` +|_max-incoming-internal-queue-size_ |The maximum size of the incoming internal queue |int |false |`500000` +|_max-outstanding-messages_ |The maximum number of outstanding/unacknowledged messages being processed by the connector at a time; must be a positive number |int |false | +|_network-recovery-interval_ |How long (ms) will automatic recovery wait before attempting to reconnect |int |false |`5000` +|_password_ _(rabbitmq-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(rabbitmq-port)_ |The broker port |int |false |`5672` +|_queue.arguments_ |The identifier of the key-value Map exposed as bean used to provide arguments for queue creation |string |false |`rabbitmq-queue-arguments` +|_queue.auto-delete_ |Whether the queue should be deleted after use |boolean |false |`false` +|_queue.declare_ |Whether to declare the queue and binding; set to false if these are expected to be set up independently |boolean |false |`true` +|_queue.durable_ |Whether the queue is durable |boolean |false |`true` +|_queue.exclusive_ |Whether the queue is for exclusive use |boolean |false |`false` +|_queue.name_ |The queue from which messages are consumed. If not set, the channel name is used. |string |false | +|_queue.single-active-consumer_ |If set to true, only one consumer can actively consume messages |boolean |false | +|_queue.ttl_ |If specified, the time (ms) for which a message can remain in the queue undelivered before it is dead |long |false | +|_queue.x-delivery-limit_ |If queue.x-queue-type is quorum, when a message has been returned more times than the limit the message will be dropped or dead-lettered |long |false | +|_queue.x-max-priority_ |Define priority level queue consumer |int |false | +|_queue.x-queue-mode_ |If automatically declare queue, we can choose different modes of queue ++[++lazy, default++]++ |string |false | +|_queue.x-queue-type_ |If automatically declare queue, we can choose different types of queue ++[++quorum, classic, stream++]++ |string |false | +|_reconnect-attempts_ _(rabbitmq-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(rabbitmq-reconnect-interval)_ |The interval (in seconds) between two reconnection attempts |int |false |`10` +|_requested-channel-max_ |The initially requested maximum channel number |int |false |`2047` +|_requested-heartbeat_ |The initially requested heartbeat interval (seconds), zero for none |int |false |`60` +|_routing-keys_ |A comma-separated list of routing keys to bind the queue to the exchange. Relevant only if 'exchange.type' is topic or direct |string |false | +|_shared-connection-name_ |Optional identifier allowing multiple channels to share the same RabbitMQ connection when set to the same value |string |false | +|_ssl_ _(rabbitmq-ssl)_ |Whether or not the connection should use SSL |boolean |false |`false` +|_ssl.hostname-verification-algorithm_ |Set the hostname verifier algorithm for the TLS connection. Accepted values are `HTTPS`, and `NONE` (defaults). `NONE` disables the hostname verification. |string |false |`NONE` +|_tracing.attribute-headers_ |A comma-separated list of headers that should be recorded as span attributes. Relevant only if tracing.enabled=true |string |false |++``++ +|_tracing.enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_trust-all_ _(rabbitmq-trust-all)_ |Whether to skip trust certificate verification |boolean |false |`false` +|_trust-store-password_ _(rabbitmq-trust-store-password)_ |The password of the JKS trust store |string |false | +|_trust-store-path_ _(rabbitmq-trust-store-path)_ |The path to a JKS trust store |string |false | +|_use-nio_ |Whether usage of NIO Sockets is enabled |boolean |false |`false` +|_user_ |The user name to use when connecting to the broker |string |false |`guest` +|_username_ _(rabbitmq-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(rabbitmq-virtual-host)_ |The virtual host to use when connecting to the broker |string |false |`/` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-rabbitmq-outgoing.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-rabbitmq-outgoing.adoc new file mode 100644 index 000000000..95c6dcaae --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-rabbitmq-outgoing.adoc @@ -0,0 +1,48 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_addresses_ _(rabbitmq-addresses)_ |The multiple addresses for cluster mode, when given overrides the host and port |string |false | +|_automatic-recovery-enabled_ |Whether automatic connection recovery is enabled |boolean |false |`false` +|_automatic-recovery-on-initial-connection_ |Whether automatic recovery on initial connections is enabled |boolean |false |`true` +|_client-options-name_ _(rabbitmq-client-options-name)_ |The name of the RabbitMQ Client Option bean used to customize the RabbitMQ client configuration |string |false | +|_connection-timeout_ |The TCP connection timeout (ms); 0 is interpreted as no timeout |int |false |`60000` +|_credentials-provider-name_ _(rabbitmq-credentials-provider-name)_ |The name of the RabbitMQ Credentials Provider bean used to provide dynamic credentials to the RabbitMQ client |string |false | +|_default-routing-key_ |The default routing key to use when sending messages to the exchange |string |false |++``++ +|_default-ttl_ |If specified, the time (ms) sent messages can remain in queues undelivered before they are dead |long |false | +|_exchange.arguments_ |The identifier of the key-value Map exposed as bean used to provide arguments for exchange creation |string |false |`rabbitmq-exchange-arguments` +|_exchange.auto-delete_ |Whether the exchange should be deleted after use |boolean |false |`false` +|_exchange.declare_ |Whether to declare the exchange; set to false if the exchange is expected to be set up independently |boolean |false |`true` +|_exchange.durable_ |Whether the exchange is durable |boolean |false |`true` +|_exchange.name_ |The exchange that messages are published to or consumed from. If not set, the channel name is used. If set to "", the default exchange is used. |string |false | +|_exchange.type_ |The exchange type: direct, fanout, headers or topic (default) |string |false |`topic` +|_handshake-timeout_ |The AMQP 0-9-1 protocol handshake timeout (ms) |int |false |`10000` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ _(rabbitmq-host)_ |The broker hostname |string |false |`localhost` +|_include-properties_ |Whether to include properties when a broker message is passed on the event bus |boolean |false |`false` +|_lazy-client_ |Whether the RabbitMQ client is created lazily or eagerly. |boolean |false |`true` +|_max-inflight-messages_ |The maximum number of messages to be written to RabbitMQ concurrently; must be a positive number |long |false |`1024` +|_max-outgoing-internal-queue-size_ |The maximum size of the outgoing internal queue |int |false | +|_network-recovery-interval_ |How long (ms) will automatic recovery wait before attempting to reconnect |int |false |`5000` +|_password_ _(rabbitmq-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(rabbitmq-port)_ |The broker port |int |false |`5672` +|_publish-confirms_ |If set to true, published messages are acknowledged when the publish confirm is received from the broker |boolean |false |`false` +|_reconnect-attempts_ _(rabbitmq-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(rabbitmq-reconnect-interval)_ |The interval (in seconds) between two reconnection attempts |int |false |`10` +|_requested-channel-max_ |The initially requested maximum channel number |int |false |`2047` +|_requested-heartbeat_ |The initially requested heartbeat interval (seconds), zero for none |int |false |`60` +|_retry-on-fail-attempts_ |The number of tentative to retry on failure |int |false |`6` +|_retry-on-fail-interval_ |The interval (in seconds) between two sending attempts |int |false |`5` +|_shared-connection-name_ |Optional identifier allowing multiple channels to share the same RabbitMQ connection when set to the same value |string |false | +|_ssl_ _(rabbitmq-ssl)_ |Whether or not the connection should use SSL |boolean |false |`false` +|_ssl.hostname-verification-algorithm_ |Set the hostname verifier algorithm for the TLS connection. Accepted values are `HTTPS`, and `NONE` (defaults). `NONE` disables the hostname verification. |string |false |`NONE` +|_tracing.attribute-headers_ |A comma-separated list of headers that should be recorded as span attributes. Relevant only if tracing.enabled=true |string |false |++``++ +|_tracing.enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_trust-all_ _(rabbitmq-trust-all)_ |Whether to skip trust certificate verification |boolean |false |`false` +|_trust-store-password_ _(rabbitmq-trust-store-password)_ |The password of the JKS trust store |string |false | +|_trust-store-path_ _(rabbitmq-trust-store-path)_ |The path to a JKS trust store |string |false | +|_use-nio_ |Whether usage of NIO Sockets is enabled |boolean |false |`false` +|_user_ |The user name to use when connecting to the broker |string |false |`guest` +|_username_ _(rabbitmq-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(rabbitmq-virtual-host)_ |The virtual host to use when connecting to the broker |string |false |`/` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sns-outgoing.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sns-outgoing.adoc new file mode 100644 index 000000000..c25ed7a4f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sns-outgoing.adoc @@ -0,0 +1,17 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_batch_ |When set, sends messages in batches of maximum 10 messages |boolean |false |`false` +|_batch-delay_ |In batch send mode, the maximum delay in milliseconds to wait for messages to be included in the batch. Defaults to 3000 ms |int |false |`3000` +|_batch-size_ |In batch send mode, the maximum number of messages to include in batch, currently SNS maximum is 10 messages |int |false |`10` +|_credentials-provider_ |The credential provider to be used in the client, defaults to AWS default provider chain |string |false | +|_email.subject_ |When set, sends messages with the specified subject |string |false | +|_endpoint-override_ |The endpoint override |string |false | +|_group.id_ |When set, sends messages with the specified group id |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_message-structure_ |Set to json if you want to send a different message for each protocol. |string |false | +|_region_ |The name of the SNS region, defaults to AWS region resolver |string |false | +|_sms.phoneNumber_ |When set, sends messages to the specified phone number. Not supported in combination with batching. |string |false | +|_topic_ |The name of the SNS topic, defaults to channel name if not provided |string |false | +|_topic.arn_ |The arn of the SNS topic |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sqs-incoming.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sqs-incoming.adoc new file mode 100644 index 000000000..b461eea07 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sqs-incoming.adoc @@ -0,0 +1,21 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_ack-strategy_ |The identifier for the bean implementing ack strategy factory. Strategies: 'delete', 'ignore' |string |false |`delete` +|_ack.delete_ |_deprecated_ - Whether the acknowledgement deletes the message from the queue. Deprecated, use ack-strategy instead |boolean |false | +|_credentials-provider_ |The credential provider to be used in the client |string |false | +|_endpoint-override_ |The endpoint override |string |false | +|_failure-strategy_ |The identifier for the bean implementing failure strategy factory. Strategies: 'ignore', 'fail', 'visibility', 'delete' |string |false |`ignore` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_max-number-of-messages_ |The maximum number of messages to receive |int |false |`10` +|_queue_ |The name of the SQS queue, defaults to channel name if not provided |string |false | +|_queue.url_ |The url of the SQS queue |string |false | +|_receive.request.customizer_ |The identifier for the bean implementing a customizer to receive requests, defaults to channel name if not provided |string |false | +|_receive.request.message-attribute-names_ |The message attribute names to retrieve when receiving messages. |string |false | +|_receive.request.pause.resume_ |Whether the polling must be paused when the application does not request items and resume when it does. This allows implementing back-pressure based on the application capacity. Note that polling is not stopped, but will not retrieve any records when paused. |boolean |false |`true` +|_receive.request.retries_ |If set to a positive number, the connector will try to retry the request that was not delivered successfully (with a potentially transient error) until the number of retries is reached. If set to 0, retries are disabled. |long |false |`2147483647` +|_region_ |The name of the SQS region |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_visibility-timeout_ |The duration in seconds that the received messages are hidden from subsequent retrieve requests after being retrieved by a receive request |int |false | +|_wait-time-seconds_ |The maximum amount of time in seconds to wait for messages to be received |int |false |`1` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sqs-outgoing.adoc b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sqs-outgoing.adoc new file mode 100644 index 000000000..28e23dc2c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_generated/smallrye-sqs-outgoing.adoc @@ -0,0 +1,15 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_batch_ |When set, sends messages in batches of maximum 10 messages |boolean |false |`false` +|_batch-delay_ |In batch send mode, the maximum delay in milliseconds to wait for messages to be included in the batch |int |false |`3000` +|_batch-size_ |In batch send mode, the maximum number of messages to include in batch, currently SQS maximum is 10 messages |int |false |`10` +|_credentials-provider_ |The credential provider to be used in the client |string |false | +|_endpoint-override_ |The endpoint override |string |false | +|_group.id_ |When set, sends messages with the specified group id |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_queue_ |The name of the SQS queue, defaults to channel name if not provided |string |false | +|_queue.url_ |The url of the SQS queue |string |false | +|_region_ |The name of the SQS region |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_nav.yml b/content/docs/smallrye-reactive-messaging/4/_nav.yml new file mode 100644 index 000000000..e30c6022e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_nav.yml @@ -0,0 +1,177 @@ +title: SmallRye Reactive Messaging +nav: +- title: Home + page: index +- title: Core + items: + - title: Getting Started + page: getting-started + - title: Concepts + items: + - title: Introduction + page: concepts/concepts + - title: Development Model + page: concepts/model + - title: Emitters and Channel + page: concepts/emitter + - title: Connectors + page: concepts/connectors + - title: Contributing Connectors + page: concepts/contributing-connectors + - title: Acknowledgement + page: concepts/acknowledgement + - title: Blocking Processing + page: concepts/blocking + - title: Method Signatures + page: concepts/signatures + - title: Skipping Messages + page: concepts/skipping + - title: Message Converters + page: concepts/converters + - title: Keyed Streams + page: concepts/keyed-multi + - title: Channel Decorators and Interceptors + page: concepts/decorators + - title: Broadcast + page: concepts/broadcast + - title: Merge channels + page: concepts/merge + - title: Incoming Channel Concurrency + page: concepts/incoming-concurrency + - title: '@Incomings' + page: concepts/incomings + - title: '@Outgoings' + page: concepts/outgoings + - title: Testing + page: concepts/testing + - title: Logging + page: concepts/logging + - title: Observability API + page: concepts/observability + - title: Advanced Configuration + page: concepts/advanced-config + - title: Message Context + page: concepts/message-context + - title: Metadata Injection + page: concepts/incoming-metadata-injection + - title: Generic Payloads + page: concepts/generic-payloads + - title: Pausable Channels + page: concepts/pausable-channels +- title: Kafka + items: + - page: kafka/kafka + - title: Receiving records + page: kafka/receiving-kafka-records + - title: Writing records + page: kafka/writing-kafka-records + - title: Health Checks + page: kafka/health + - title: Using Avro + page: kafka/avro-configuration + - title: Using Protobuf + page: kafka/protobuf-configuration + - title: Rebalance Listeners + page: kafka/consumer-rebalance-listener + - title: Kerberos authentication + page: kafka/kerberos + - title: Accessing the client + page: kafka/client-service + - title: Customizing Default Kafka Configuration + page: kafka/default-configuration + - title: Test Companion for Kafka + page: kafka/test-companion + - title: Kafka Transactions and Exactly-Once Processing + page: kafka/transactions + - title: Kafka Request/Reply + page: kafka/request-reply +- title: AMQP 1.0 + items: + - page: amqp/amqp + - title: Receiving messages + page: amqp/receiving-amqp-messages + - title: Sending messages + page: amqp/sending-amqp-messages + - title: AMQP Request/Reply + page: amqp/request-reply + - title: CBS Authentication + page: amqp/cbs-authentication + - title: Health Checks + page: amqp/health + - title: Client Customization + page: amqp/client-customization + - title: Using RabbitMQ + page: amqp/rabbitmq +- title: RabbitMQ + items: + - page: rabbitmq/rabbitmq + - title: Receiving messages + page: rabbitmq/receiving-messages-from-rabbitmq + - title: Sending messages + page: rabbitmq/sending-messages-to-rabbitmq + - title: Health Checks + page: rabbitmq/rabbitmq-health + - title: Client Customization + page: rabbitmq/rabbitmq-client-customization + - title: Connecting to managed instances + page: rabbitmq/rabbitmq-cloud + - title: RabbitMQ Request/Reply + page: rabbitmq/request-reply +- title: Pulsar + items: + - page: pulsar/pulsar + - title: Receiving messages + page: pulsar/receiving-pulsar-messages + - title: Sending messages + page: pulsar/sending-messages-to-pulsar + - title: Configuring the Schema + page: pulsar/schema-configuration + - title: Configuring the Pulsar client + page: pulsar/client-configuration + - title: Health Checks + page: pulsar/health + - title: Accessing the client + page: pulsar/client-service + - title: Pulsar Transactions and Exactly-Once Processing + page: pulsar/transactions +- title: Apache Camel + items: + - page: camel/camel + - title: Receiving messages from Camel + page: camel/receiving-messages-from-camel + - title: Sending messages to Camel + page: camel/sending-messages-to-camel + - title: Implementing Camel processor + page: camel/camel-processor + - title: Using existing Camel routes + page: camel/using-existing-routes +- title: JMS + items: + - page: jms/jms + - title: Receiving JMS messages + page: jms/receiving-jms-messages + - title: Sending JMS messages + page: jms/sending-jms-messages + - title: Advanced configuration + page: jms/advanced-jms +- title: MQTT + items: + - page: mqtt/mqtt + - title: Receiving MQTT messages + page: mqtt/receiving-mqtt-messages + - title: Sending MQTT messages + page: mqtt/sending-messages-to-mqtt + - title: Customizing the MQTT client + page: mqtt/client-customization +- title: AWS SQS + items: + - page: sqs/sqs + - title: Receiving AWS SQS messages + page: sqs/receiving-aws-sqs-messages + - title: Sending AWS SQS messages + page: sqs/sending-aws-sqs-messages +- title: AWS SNS + items: + - page: sns/sns + - title: Sending AWS SNS messages + page: sns/sending-aws-sns-messages diff --git a/content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-client.adoc b/content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-client.adoc new file mode 100644 index 000000000..513f4c895 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-client.adoc @@ -0,0 +1,58 @@ +[width="100%",cols="<13%,<42%,^17%,^17%,<11%",options="header",] +|=== +|Attribute |Description |Type |Config file |Default +|_serviceUrl_ |Pulsar cluster HTTP URL to connect to a broker. |String |true | +|_serviceUrlProvider_ |The implementation class of ServiceUrlProvider used to generate ServiceUrl. |ServiceUrlProvider |false | +|_authentication_ |Authentication settings of the client. |Authentication |false | +|_authPluginClassName_ |Class name of authentication plugin of the client. |String |true | +|_authParams_ |Authentication parameter of the client. |String |true | +|_authParamMap_ |Authentication map of the client. |Map |true | +|_operationTimeoutMs_ |Client operation timeout (in milliseconds). |long |true |30000 +|_lookupTimeoutMs_ |Client lookup timeout (in milliseconds). |long |true |-1 +|_statsIntervalSeconds_ |Interval to print client stats (in seconds). |long |true |60 +|_numIoThreads_ |Number of IO threads. |int |true |10 +|_numListenerThreads_ |Number of consumer listener threads. |int |true |10 +|_connectionsPerBroker_ |Number of connections established between the client and each Broker. A value of 0 means to disable connection pooling. |int |true |1 +|_connectionMaxIdleSeconds_ |Release the connection if it is not used for more than ++[++connectionMaxIdleSeconds++]++ seconds. If ++[++connectionMaxIdleSeconds++]++ ++<++ 0, disabled the feature that auto release the idle connections |int |true |180 +|_useTcpNoDelay_ |Whether to use TCP NoDelay option. |boolean |true |true +|_useTls_ |Whether to use TLS. |boolean |true |false +|_tlsKeyFilePath_ |Path to the TLS key file. |String |true | +|_tlsCertificateFilePath_ |Path to the TLS certificate file. |String |true | +|_tlsTrustCertsFilePath_ |Path to the trusted TLS certificate file. |String |true | +|_tlsAllowInsecureConnection_ |Whether the client accepts untrusted TLS certificates from the broker. |boolean |true |false +|_tlsHostnameVerificationEnable_ |Whether the hostname is validated when the client creates a TLS connection with brokers. |boolean |true |false +|_concurrentLookupRequest_ |The number of concurrent lookup requests that can be sent on each broker connection. Setting a maximum prevents overloading a broker. |int |true |5000 +|_maxLookupRequest_ |Maximum number of lookup requests allowed on each broker connection to prevent overloading a broker. |int |true |50000 +|_maxLookupRedirects_ |Maximum times of redirected lookup requests. |int |true |20 +|_maxNumberOfRejectedRequestPerConnection_ |Maximum number of rejected requests of a broker in a certain time frame (60 seconds) after the current connection is closed and the client creating a new connection to connect to a different broker. |int |true |50 +|_keepAliveIntervalSeconds_ |Seconds of keeping alive interval for each client broker connection. |int |true |30 +|_connectionTimeoutMs_ |Duration of waiting for a connection to a broker to be established.If the duration passes without a response from a broker, the connection attempt is dropped. |int |true |10000 +|_requestTimeoutMs_ |Maximum duration for completing a request. |int |true |60000 +|_readTimeoutMs_ |Maximum read time of a request. |int |true |60000 +|_autoCertRefreshSeconds_ |Seconds of auto refreshing certificate. |int |true |300 +|_initialBackoffIntervalNanos_ |Initial backoff interval (in nanosecond). |long |true |100000000 +|_maxBackoffIntervalNanos_ |Max backoff interval (in nanosecond). |long |true |60000000000 +|_enableBusyWait_ |Whether to enable BusyWait for EpollEventLoopGroup. |boolean |true |false +|_listenerName_ |Listener name for lookup. Clients can use listenerName to choose one of the listeners as the service URL to create a connection to the broker as long as the network is accessible."advertisedListeners" must enabled in broker side. |String |true | +|_useKeyStoreTls_ |Set TLS using KeyStore way. |boolean |true |false +|_sslProvider_ |The TLS provider used by an internal client to authenticate with other Pulsar brokers. |String |true | +|_tlsKeyStoreType_ |TLS KeyStore type configuration. |String |true |JKS +|_tlsKeyStorePath_ |Path of TLS KeyStore. |String |true | +|_tlsKeyStorePassword_ |Password of TLS KeyStore. |String |true | +|_tlsTrustStoreType_ |TLS TrustStore type configuration. You need to set this configuration when client authentication is required. |String |true |JKS +|_tlsTrustStorePath_ |Path of TLS TrustStore. |String |true | +|_tlsTrustStorePassword_ |Password of TLS TrustStore. |String |true | +|_tlsCiphers_ |Set of TLS Ciphers. |Set |true |++[]++ +|_tlsProtocols_ |Protocols of TLS. |Set |true |++[]++ +|_memoryLimitBytes_ |Limit of client memory usage (in byte). The 64M default can guarantee a high producer throughput. |long |true |67108864 +|_proxyServiceUrl_ |URL of proxy service. proxyServiceUrl and proxyProtocol must be mutually inclusive. |String |true | +|_proxyProtocol_ |Protocol of proxy service. proxyServiceUrl and proxyProtocol must be mutually inclusive. |ProxyProtocol |true | +|_enableTransaction_ |Whether to enable transaction. |boolean |true |false +|_clock_ | |Clock |false | +|_dnsLookupBindAddress_ |The Pulsar client dns lookup bind address, default behavior is bind on 0.0.0.0 |String |true | +|_dnsLookupBindPort_ |The Pulsar client dns lookup bind port, takes effect when dnsLookupBindAddress is configured, default value is 0. |int |true |0 +|_socks5ProxyAddress_ |Address of SOCKS5 proxy. |InetSocketAddress |true | +|_socks5ProxyUsername_ |User name of SOCKS5 proxy. |String |true | +|_socks5ProxyPassword_ |Password of SOCKS5 proxy. |String |true | +|_description_ |The extra description of the client version. The length cannot exceed 64. |String |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-consumer.adoc b/content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-consumer.adoc new file mode 100644 index 000000000..1f4b499aa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-consumer.adoc @@ -0,0 +1,137 @@ +[width="100%",cols="<13%,<42%,^17%,^17%,<11%",options="header",] +|=== +|Attribute |Description |Type |Config file |Default +|_topicNames_ |Topic name |Set |true |++[]++ +|_topicsPattern_ |Topic pattern |Pattern |true | +|_subscriptionName_ |Subscription name |String |true | +|_subscriptionType_ |Subscription type. + +Four subscription types are available: + +++*++ Exclusive + +++*++ Failover + +++*++ Shared + +++*++ Key++_++Shared |SubscriptionType |true |Exclusive +|_subscriptionProperties_ | |Map |true | +|_subscriptionMode_ | |SubscriptionMode |true |Durable +|_messageListener_ | |MessageListener |false | +|_consumerEventListener_ | |ConsumerEventListener |false | +|_negativeAckRedeliveryBackoff_ |Interface for custom message is negativeAcked policy. You can specify `RedeliveryBackoff` for a consumer. |RedeliveryBackoff |false | +|_ackTimeoutRedeliveryBackoff_ |Interface for custom message is ackTimeout policy. You can specify `RedeliveryBackoff` for a consumer. |RedeliveryBackoff |false | +|_receiverQueueSize_ |Size of a consumer's receiver queue. + + + +For example, the number of messages accumulated by a consumer before an application calls `Receive`. + + + +A value higher than the default value increases consumer throughput, though at the expense of more memory utilization. |int |true |1000 +|_acknowledgementsGroupTimeMicros_ |Group a consumer acknowledgment for a specified time. + + + +By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker. + + + +Setting a group time of 0 sends out acknowledgments immediately. + + + +A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure. |long |true |100000 +|_maxAcknowledgmentGroupSize_ |Group a consumer acknowledgment for the number of messages. |int |true |1000 +|_negativeAckRedeliveryDelayMicros_ |Delay to wait before redelivering messages that failed to be processed. + + + +When an application uses `Consumer#negativeAcknowledge(Message)`, failed messages are redelivered after a fixed timeout. |long |true |60000000 +|_maxTotalReceiverQueueSizeAcrossPartitions_ |The max total receiver queue size across partitions. + + + +This setting reduces the receiver queue size for individual partitions if the total receiver queue size exceeds this value. |int |true |50000 +|_consumerName_ |Consumer name |String |true | +|_ackTimeoutMillis_ |Timeout of unacked messages |long |true |0 +|_tickDurationMillis_ |Granularity of the ack-timeout redelivery. + + + +Using an higher `tickDurationMillis` reduces the memory overhead to track messages when setting ack-timeout to a bigger value (for example, 1 hour). |long |true |1000 +|_priorityLevel_ |Priority level for a consumer to which a broker gives more priority while dispatching messages in Shared subscription type. + + + +The broker follows descending priorities. For example, 0=max-priority, 1, 2,... + + + +In Shared subscription type, the broker *first dispatches messages to the max priority level consumers if they have permits*. Otherwise, the broker considers next priority level consumers. + + + +**Example 1** + +If a subscription has consumerA with `priorityLevel` 0 and consumerB with `priorityLevel` 1, then the broker *only dispatches messages to consumerA until it runs out permits* and then starts dispatching messages to consumerB. + + + +**Example 2** + +Consumer Priority, Level, Permits + +C1, 0, 2 + +C2, 0, 1 + +C3, 0, 1 + +C4, 1, 2 + +C5, 1, 1 + + + +Order in which a broker dispatches messages to consumers is: C1, C2, C3, C1, C4, C5, C4. |int |true |0 +|_maxPendingChunkedMessage_ |The maximum size of a queue holding pending chunked messages. When the threshold is reached, the consumer drops pending messages to optimize memory utilization. |int |true |10 +|_autoAckOldestChunkedMessageOnQueueFull_ |Whether to automatically acknowledge pending chunked messages when the threshold of `maxPendingChunkedMessage` is reached. If set to `false`, these messages will be redelivered by their broker. |boolean |true |false +|_expireTimeOfIncompleteChunkedMessageMillis_ |The time interval to expire incomplete chunks if a consumer fails to receive all the chunks in the specified time period. The default value is 1 minute. |long |true |60000 +|_cryptoKeyReader_ | |CryptoKeyReader |false | +|_messageCrypto_ | |MessageCrypto |false | +|_cryptoFailureAction_ |Consumer should take action when it receives a message that can not be decrypted. + +++*++ *FAIL*: this is the default option to fail messages until crypto succeeds. + +++*++ *DISCARD*:silently acknowledge and not deliver message to an application. + +++*++ *CONSUME*: deliver encrypted messages to applications. It is the application's responsibility to decrypt the message. + + + +The decompression of message fails. + + + +If messages contain batch messages, a client is not be able to retrieve individual messages in batch. + + + +Delivered encrypted message contains `EncryptionContext` which contains encryption and compression information in it using which application can decrypt consumed message payload. |ConsumerCryptoFailureAction |true |FAIL +|_properties_ |A name or value property of this consumer. + + + +`properties` is application defined metadata attached to a consumer. + + + +When getting a topic stats, associate this metadata with the consumer stats for easier identification. |SortedMap |true |++{++} +|_readCompacted_ |If enabling `readCompacted`, a consumer reads messages from a compacted topic rather than reading a full message backlog of a topic. + + + +A consumer only sees the latest value for each key in the compacted topic, up until reaching the point in the topic message when compacting backlog. Beyond that point, send messages as normal. + + + +Only enabling `readCompacted` on subscriptions to persistent topics, which have a single active consumer (like failure or exclusive subscriptions). + + + +Attempting to enable it on subscriptions to non-persistent topics or on shared subscriptions leads to a subscription call throwing a `PulsarClientException`. |boolean |true |false +|_subscriptionInitialPosition_ |Initial position at which to set cursor when subscribing to a topic at first time. |SubscriptionInitialPosition |true |Latest +|_patternAutoDiscoveryPeriod_ |Topic auto discovery period when using a pattern for topic's consumer. + + + +The default and minimum value is 1 minute. |int |true |60 +|_regexSubscriptionMode_ |When subscribing to a topic using a regular expression, you can pick a certain type of topics. + + + +++*++ *PersistentOnly*: only subscribe to persistent topics. + +++*++ *NonPersistentOnly*: only subscribe to non-persistent topics. + +++*++ *AllTopics*: subscribe to both persistent and non-persistent topics. |RegexSubscriptionMode |true |PersistentOnly +|_deadLetterPolicy_ |Dead letter policy for consumers. + + + +By default, some messages are probably redelivered many times, even to the extent that it never stops. + + + +By using the dead letter mechanism, messages have the max redelivery count. *When exceeding the maximum number of redeliveries, messages are sent to the Dead Letter Topic and acknowledged automatically*. + + + +You can enable the dead letter mechanism by setting `deadLetterPolicy`. + + + +**Example** + + + +client.newConsumer() + +.deadLetterPolicy(DeadLetterPolicy.builder().maxRedeliverCount(10).build()) + +.subscribe(); + + + +Default dead letter topic name is `++{++TopicName}-++{++Subscription}-DLQ`. + + + +To set a custom dead letter topic name: + + + +client.newConsumer() + +.deadLetterPolicy(DeadLetterPolicy.builder().maxRedeliverCount(10) + +.deadLetterTopic("your-topic-name").build()) + +.subscribe(); + + + +When specifying the dead letter policy while not specifying `ackTimeoutMillis`, you can set the ack timeout to 30000 millisecond. |DeadLetterPolicy |true | +|_retryEnable_ | |boolean |true |false +|_batchReceivePolicy_ | |BatchReceivePolicy |false | +|_autoUpdatePartitions_ |If `autoUpdatePartitions` is enabled, a consumer subscribes to partition increasement automatically. + + + +**Note**: this is only for partitioned consumers. |boolean |true |true +|_autoUpdatePartitionsIntervalSeconds_ | |long |true |60 +|_replicateSubscriptionState_ |If `replicateSubscriptionState` is enabled, a subscription state is replicated to geo-replicated clusters. |boolean |true |false +|_resetIncludeHead_ | |boolean |true |false +|_keySharedPolicy_ | |KeySharedPolicy |false | +|_batchIndexAckEnabled_ | |boolean |true |false +|_ackReceiptEnabled_ | |boolean |true |false +|_poolMessages_ | |boolean |true |false +|_payloadProcessor_ | |MessagePayloadProcessor |false | +|_startPaused_ | |boolean |true |false +|_autoScaledReceiverQueueSizeEnabled_ | |boolean |true |false +|_topicConfigurations_ | |List |true |++[]++ +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-producer.adoc b/content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-producer.adoc new file mode 100644 index 000000000..e8755e86b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/_partials/pulsar/config/smallrye-pulsar-producer.adoc @@ -0,0 +1,60 @@ +[width="100%",cols="<13%,<42%,^17%,^17%,<11%",options="header",] +|=== +|Attribute |Description |Type |Config file |Default +|_topicName_ |Topic name |String |true | +|_producerName_ |Producer name |String |true | +|_sendTimeoutMs_ |Message send timeout in ms. + +If a message is not acknowledged by a server before the `sendTimeout` expires, an error occurs. |long |true |30000 +|_blockIfQueueFull_ |If it is set to `true`, when the outgoing message queue is full, the `Send` and `SendAsync` methods of producer block, rather than failing and throwing errors. + +If it is set to `false`, when the outgoing message queue is full, the `Send` and `SendAsync` methods of producer fail and `ProducerQueueIsFullError` exceptions occur. + + + +The `MaxPendingMessages` parameter determines the size of the outgoing message queue. |boolean |true |false +|_maxPendingMessages_ |The maximum size of a queue holding pending messages. + + + +For example, a message waiting to receive an acknowledgment from a https://pulsar.apache.org/docs/reference-terminology#broker[broker]. + + + +By default, when the queue is full, all calls to the `Send` and `SendAsync` methods fail *unless* you set `BlockIfQueueFull` to `true`. |int |true |0 +|_maxPendingMessagesAcrossPartitions_ |The maximum number of pending messages across partitions. + + + +Use the setting to lower the max pending messages for each partition (`#setMaxPendingMessages(int)`) if the total number exceeds the configured value. |int |true |0 +|_messageRoutingMode_ |Message routing logic for producers on https://pulsar.apache.org/docs/concepts-architecture-overview#partitioned-topics[partitioned topics]. + +Apply the logic only when setting no key on messages. + +Available options are as follows: + +++*++ `pulsar.RoundRobinDistribution`: round robin + +++*++ `pulsar.UseSinglePartition`: publish all messages to a single partition + +++*++ `pulsar.CustomPartition`: a custom partitioning scheme |MessageRoutingMode |true | +|_hashingScheme_ |Hashing function determining the partition where you publish a particular message (partitioned topics only). + +Available options are as follows: + +++*++ `pulsar.JavastringHash`: the equivalent of `string.hashCode()` in Java + +++*++ `pulsar.Murmur3++_++32Hash`: applies the https://en.wikipedia.org/wiki/MurmurHash[Murmur3] hashing function + +++*++ `pulsar.BoostHash`: applies the hashing function from C{plus}{plus}'shttps://www.boost.org/doc/libs/1_62_0/doc/html/hash.html[Boost] library |HashingScheme |true |JavaStringHash +|_cryptoFailureAction_ |Producer should take action when encryption fails. + +++*++ *FAIL*: if encryption fails, unencrypted messages fail to send. + +++*++ *SEND*: if encryption fails, unencrypted messages are sent. |ProducerCryptoFailureAction |true |FAIL +|_customMessageRouter_ | |MessageRouter |false | +|_batchingMaxPublishDelayMicros_ |Batching time period of sending messages. |long |true |1000 +|_batchingPartitionSwitchFrequencyByPublishDelay_ | |int |true |10 +|_batchingMaxMessages_ |The maximum number of messages permitted in a batch. |int |true |1000 +|_batchingMaxBytes_ | |int |true |131072 +|_batchingEnabled_ |Enable batching of messages. |boolean |true |true +|_batcherBuilder_ | |BatcherBuilder |false | +|_chunkingEnabled_ |Enable chunking of messages. |boolean |true |false +|_chunkMaxMessageSize_ | |int |true |-1 +|_cryptoKeyReader_ | |CryptoKeyReader |false | +|_messageCrypto_ | |MessageCrypto |false | +|_encryptionKeys_ | |Set |true |++[]++ +|_compressionType_ |Message data compression type used by a producer. + +Available options: + +++*++ https://github.com/lz4/lz4[LZ4] + +++*++ https://zlib.net/[ZLIB] + +++*++ https://facebook.github.io/zstd/[ZSTD] + +++*++ https://google.github.io/snappy/[SNAPPY] |CompressionType |true |NONE +|_initialSequenceId_ | |Long |true | +|_autoUpdatePartitions_ | |boolean |true |true +|_autoUpdatePartitionsIntervalSeconds_ | |long |true |60 +|_multiSchema_ | |boolean |true |true +|_accessMode_ | |ProducerAccessMode |true |Shared +|_lazyStartPartitionedProducers_ | |boolean |true |false +|_properties_ | |SortedMap |true |++{++} +|_initialSubscriptionName_ |Use this configuration to automatically create an initial subscription when creating a topic. If this field is not set, the initial subscription is not created. |String |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/4/amqp/amqp.adoc b/content/docs/smallrye-reactive-messaging/4/amqp/amqp.adoc new file mode 100644 index 000000000..d4326ffeb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/amqp/amqp.adoc @@ -0,0 +1,51 @@ += AMQP 1.0 Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP Connector adds support for AMQP 1.0 to Reactive Messaging. + +Advanced Message Queuing Protocol 1.0 (AMQP 1.0) is an open standard for +passing business messages between applications or organizations. + +With this connector, your application can: + +* receive messages from an AMQP Broker or Router. +* send `Message` to an AMQP _address_ +* implement xref:amqp/request-reply.adoc[request-reply] messaging patterns +* authenticate using xref:amqp/cbs-authentication.adoc[Claims-Based Security (CBS)] tokens + +The AMQP connector is based on the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP Client]. + +Using the AMQP connector + +To use the AMQP Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-amqp + {project-version} + +---- + +The connector name is: `smallrye-amqp`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-amqp + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-amqp +---- + +[IMPORTANT] +.RabbitMQ +==== + +To use RabbitMQ, refer to xref:#amqp-rabbitmq[Using RabbitMQ]. + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/amqp/cbs-authentication.adoc b/content/docs/smallrye-reactive-messaging/4/amqp/cbs-authentication.adoc new file mode 100644 index 000000000..5b5fd6132 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/amqp/cbs-authentication.adoc @@ -0,0 +1,186 @@ += Claims-Based Security (CBS) Authentication +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +CBS authentication support is an experimental feature. + +==== + +The AMQP connector supports https://docs.oasis-open.org/amqp/amqp-cbs/v1.0/amqp-cbs-v1.0.html[Claims-Based Security (CBS)] for token-based authentication with AMQP 1.0 brokers. +CBS allows the client to authenticate by sending a security token (such as a JWT or SAS token) to the broker over the AMQP connection, rather than relying solely on SASL mechanisms. +This is commonly used with brokers like *Azure Service Bus*. + +== Enabling CBS + +To enable CBS authentication on a channel, set the `cbs.enabled` attribute: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-amqp +mp.messaging.incoming.my-channel.host=my-broker.servicebus.windows.net +mp.messaging.incoming.my-channel.port=5671 +mp.messaging.incoming.my-channel.use-ssl=true +mp.messaging.incoming.my-channel.cbs.enabled=true +---- + +CBS can be enabled on both incoming and outgoing channels independently. + +== Providing Tokens + +When CBS is enabled, the connector requires a CDI bean implementing +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/cbs/CbsTokenProvider.html[`CbsTokenProvider`]. +This bean is called during initial connection and on each token refresh cycle. + +[source,java] +---- +include::{examples-dir}/amqp/customization/MyCbsTokenProvider.java[tags=provider,indent=0] +---- + +The `getToken` method receives the channel configuration, allowing you to adapt token generation per channel (e.g., using different audiences or scopes). +It returns a `Uni++<++CbsToken++>++` to support non-blocking token retrieval from external identity providers. + +=== The CbsToken Interface + +A `CbsToken` provides: + +[width="100%",cols="16%,84%",options="header",] +|=== +|Method |Description +|`token()` |The token string value (JWT, SAS token, etc.) +|`type()` |The token type (e.g., `"jwt"` or `"servicebus.windows.net:sastoken"`) +|`expiresAt()` |When the token expires +|`refreshAt()` |When the token should be refreshed (defaults to `expiresAt()` if not set) +|=== + +The `DefaultCbsToken` record provides a convenient implementation: + +[source,java] +---- +// With explicit refresh time (refresh before expiration) +new DefaultCbsToken(token, "jwt", expiresAt, refreshAt); + +// Refresh at expiration +new DefaultCbsToken(token, "jwt", expiresAt); + +// Using validity duration in seconds +new DefaultCbsToken(token, "jwt", 3600); +---- + +== Token Refresh + +The connector automatically refreshes tokens before they expire. +After a successful authorization, a timer is scheduled based on the `refreshAt()` value of the token. + +* If `refreshAt()` is set earlier than `expiresAt()`, the token is refreshed proactively. +* If the refresh fails after retries, the connection is closed and re-established. + +Setting `refreshAt()` earlier than `expiresAt()` is recommended to avoid authentication gaps during refresh: + +[source,java] +---- +new DefaultCbsToken( + token, "jwt", + OffsetDateTime.now().plusHours(1), // expires in 1 hour + OffsetDateTime.now().plusMinutes(45)); // refresh after 45 minutes +---- + +== CBS Exchange Protocols + +The connector supports two CBS exchange protocols, configured with `cbs.exchange`: + +=== `set-token` (default) + +The `set-token` protocol sends the token as an AMQP message to the CBS node with: + +* Subject: `set-token` +* Application property `token-type`: the token type +* Body: the token string + +The broker acknowledges the message to confirm the token was accepted. + +[source,properties] +---- +mp.messaging.incoming.my-channel.cbs.exchange=set-token +---- + +=== `put-token` + +The `put-token` protocol uses a request-reply exchange, compatible with *Azure Service Bus*. +It sends the token as a request and validates the response status code. + +[source,properties] +---- +mp.messaging.incoming.my-channel.cbs.exchange=put-token +mp.messaging.incoming.my-channel.cbs.audience=my-namespace.servicebus.windows.net/my-queue +---- + +When using `put-token`, the `cbs.audience` attribute sets the token audience. +If not configured, the audience is derived from the broker host and target address in the format `amqp://HOST/ADDRESS`. + +== Connection Sharing with CBS + +When multiple channels share the same connection using `container-id`, CBS authentication is performed once for the shared connection: + +[source,properties] +---- +mp.messaging.incoming.my-channel-in.connector=smallrye-amqp +mp.messaging.incoming.my-channel-in.container-id=shared +mp.messaging.incoming.my-channel-in.cbs.enabled=true + +mp.messaging.outgoing.my-channel-out.connector=smallrye-amqp +mp.messaging.outgoing.my-channel-out.container-id=shared +mp.messaging.outgoing.my-channel-out.cbs.enabled=true +---- + +Both channels share a single connection and a single CBS token authorization. + +== Azure Service Bus Example + +To connect to Azure Service Bus using CBS with SAS tokens: + +[source,java] +---- +include::{examples-dir}/amqp/customization/MySasTokenProvider.java[tags=sas-provider,indent=0] +---- + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-amqp +mp.messaging.incoming.my-channel.host=my-namespace.servicebus.windows.net +mp.messaging.incoming.my-channel.port=5671 +mp.messaging.incoming.my-channel.use-ssl=true +mp.messaging.incoming.my-channel.cbs.enabled=true +mp.messaging.incoming.my-channel.cbs.exchange=put-token +mp.messaging.incoming.my-channel.cbs.audience=my-namespace.servicebus.windows.net/my-queue +---- + +== Retry Configuration + +If token authorization fails, the connector retries with exponential backoff. +The retry behavior is controlled by the standard connector retry attributes: + +[source,properties] +---- +mp.messaging.incoming.my-channel.retry-on-fail-attempts=6 # max retries (default: 6) +mp.messaging.incoming.my-channel.retry-on-fail-interval=5 # retry delay in seconds (default: 5) +---- + +If all retries are exhausted, the connection is closed and re-established using the connector's reconnection mechanism. + +== Configuration Reference + +[width="100%",cols="17%,7%,24%,52%",options="header",] +|=== +|Attribute |Type |Default |Description +|`cbs.enabled` |boolean |`false` |Enable CBS authorization +|`cbs.exchange` |string |`set-token` |CBS exchange protocol: `set-token` or `put-token` +|`cbs.audience` |string | |Token audience (auto-derived from address if not set) +|`cbs.scopes` |string | |Token scopes for authorization +|`cbs.token-manager` |string |`default-cbs-token-manager` |CDI bean identifier of a custom `CbsTokenManager.Factory` +|=== + +All attributes are available for both incoming and outgoing channels. diff --git a/content/docs/smallrye-reactive-messaging/4/amqp/client-customization.adoc b/content/docs/smallrye-reactive-messaging/4/amqp/client-customization.adoc new file mode 100644 index 000000000..bc214acb8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/amqp/client-customization.adoc @@ -0,0 +1,50 @@ += Customizing the underlying AMQP client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying AMQP Client configuration by +_producing_ an instance of +https://vertx.io/docs/apidocs/io/vertx/amqp/AmqpClientOptions.html[`AmqpClientOptions`]: + +[source,java] +---- +include::{examples-dir}/amqp/customization/ClientProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.client-options-name=my-named-options +---- + +If you experience frequent disconnections from the broker, the AmqpClientOptions can also be used to set a heartbeat if you need to keep the AMQP connection permanently. +Some brokers might terminate the AMQP connection after a certain idle timeout. +You can provide a heartbeat value which will be used by the Vert.x proton client to advertise the idle timeout when opening transport to a remote peer. + +[source,java] +---- +@Produces +@Identifier("my-named-options") +public AmqpClientOptions getNamedOptions() { + // set a heartbeat of 30s (in milliseconds) + return new AmqpClientOptions() + .setHeartbeat(30000); +} +---- + +== Client capabilities + +Both incoming and outgoing AMQP channels can be configured with a list +of capabilities to declare during sender and receiver connections with +the AMQP broker. Note that supported capability names are broker +specific. + +[source,properties] +---- +mp.messaging.incoming.sink.capabilities=temporary-topic +... +mp.messaging.outgoing.source.capabilities=shared +---- diff --git a/content/docs/smallrye-reactive-messaging/4/amqp/health.adoc b/content/docs/smallrye-reactive-messaging/4/amqp/health.adoc new file mode 100644 index 000000000..79ec6eb9f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/amqp/health.adoc @@ -0,0 +1,34 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector reports the startup, liveness, and readiness of each +inbound (Receiving messages) and outbound (sending messages) channel +managed by the connector: + +* Startup :: For both inbound and outbound, the startup probe reports _OK_ when the +connection with the broker is established, and the AMQP senders and +receivers are opened (the links are attached to the broker). +* Liveness :: For both inbound and outbound, the liveness check verifies that the +connection is established. The check still returns _OK_ if the +connection got cut, but we are attempting a reconnection. +* Readiness :: For the inbound, it checks that the connection is established and the +receiver is opened. Unlike the liveness check, this probe reports _KO_ +until the connection is re-established. For the outbound, it checks that +the connection is established and the sender is opened. Unlike the +liveness check, this probe reports _KO_ until the connection is +re-established. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +Note that a message processing failures _nacks_ the message, which is +then handled by the failure-strategy. It is the responsibility of the +`failure-strategy` to report the failure and influence the outcome of +the checks. The `fail` failure strategy reports the failure, and so the +check will report the fault. diff --git a/content/docs/smallrye-reactive-messaging/4/amqp/rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/4/amqp/rabbitmq.adoc new file mode 100644 index 000000000..06631ded9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/amqp/rabbitmq.adoc @@ -0,0 +1,61 @@ += Using RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +RabbitMQ 4.0{plus} provides native AMQP 1.0 support, making it fully compatible with this connector. +For older versions (3.x), RabbitMQ implements AMQP 0.9.1 and requires the +https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/v3.8.x/README.md[AMQP 1.0 plugin] to be enabled. + +== Address format + +RabbitMQ 4.0{plus} uses the v2 address format with `/queues/` and `/exchanges/` prefixes. +When using this connector with RabbitMQ, prefix your addresses accordingly: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-amqp +mp.messaging.incoming.prices.address=/queues/prices + +mp.messaging.outgoing.generated-price.connector=smallrye-amqp +mp.messaging.outgoing.generated-price.address=/queues/prices +mp.messaging.outgoing.generated-price.use-anonymous-sender=false +---- + +== Recommendations + +RabbitMQ support for AMQP 1.0 may differ from other AMQP 1.0 supporting brokers. +We recommend the following configurations. + +To receive messages from RabbitMQ: + +* Set `durable` to `false` + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-amqp +mp.messaging.incoming.prices.durable=false +---- + +To send messages to RabbitMQ: + +* set the destination `address` (anonymous senders are not supported) +* set `use-anonymous-sender` to `false` + +[source,properties] +---- +mp.messaging.outgoing.generated-price.connector=smallrye-amqp +mp.messaging.outgoing.generated-price.address=prices +mp.messaging.outgoing.generated-price.use-anonymous-sender=false +---- + +It’s not possible to change the destination dynamically (using message +metadata) when using RabbitMQ. The connector automatically detects that +the broker does not support anonymous sender (See +http://docs.oasis-open.org/amqp/anonterm/v1.0/anonterm-v1.0.html). + +== Request/Reply with RabbitMQ + +This connector supports the request-reply pattern with RabbitMQ. +See xref:amqp/request-reply.adoc#using-with-rabbitmq[AMQP Request/Reply] for details. + +Alternatively, you can use the xref:rabbitmq/rabbitmq.adoc[RabbitMQ connector]. diff --git a/content/docs/smallrye-reactive-messaging/4/amqp/receiving-amqp-messages.adoc b/content/docs/smallrye-reactive-messaging/4/amqp/receiving-amqp-messages.adoc new file mode 100644 index 000000000..751056c73 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/amqp/receiving-amqp-messages.adoc @@ -0,0 +1,257 @@ += Receiving messages from AMQP +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector lets you retrieve messages from an https://www.amqp.org/product/architecture[AMQP broker or +router]. The AMQP connector +retrieves _AMQP Messages_ and maps each of them into Reactive Messaging +`Messages`. + +== Example + +Let’s imagine you have an AMQP broker (such as https://activemq.apache.org/components/artemis/[Apache ActiveMQ +Artemis]) running, and +accessible using the `amqp:5672` address (by default it would use +`localhost:5672`). Configure your application to receive AMQP Messages +on the `prices` channel as follows: + +[source,properties] +---- +amqp-host=amqp # <1> +amqp-port=5672 # <2> +amqp-username=my-username # <3> +amqp-password=my-password # <4> + +mp.messaging.incoming.prices.connector=smallrye-amqp # <5> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `amqp-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `amqp-port`. The default is +`5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`amqp-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`amqp-password`. +. Instructs the `prices` channel to be managed by the AMQP connector + +[NOTE] +==== + +You don’t need to set the AMQP _address_. By default, it uses the +channel name (`prices`). You can configure the `address` attribute to +override it. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The connector converts incoming AMQP Messages into Reactive Messaging +`Message++<++T++>++` instances. `T` depends on the _body_ of the received AMQP +Message. + +The http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html[AMQP Type +System] +defines the supported types. + +[width="100%",cols="66%,34%",options="header",] +|=== +|AMQP Body Type |`++<++T++>++` +|AMQP Value containing a http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html#section-primitive-type-definitions[AMQP Primitive Type] |the corresponding Java type +|AMQP Value using the `Binary` type |`byte++[]++` +|AMQP Sequence |`List` +|AMQP Data (with binary content) and the `content-type` is set to `application/json` |https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] +|AMQP Data with a different `content-type` |`byte++[]++` +|=== + +If you send objects with this AMQP connector (outbound connector), it +gets encoded as JSON and sent as binary. The `content-type` is set to +`application/json`. You can receive this payload using (Vert.x) JSON +Objects, and then map it to the object class you want: + +[source,java] +---- +@ApplicationScoped +public static class Generator { + + @Outgoing("to-amqp") + public Multi prices() { // <1> + AtomicInteger count = new AtomicInteger(); + return Multi.createFrom().ticks().every(Duration.ofMillis(1000)) + .map(l -> new Price().setPrice(count.incrementAndGet())) + .onOverflow().drop(); + } + +} + +@ApplicationScoped +public static class Consumer { + + List prices = new CopyOnWriteArrayList<>(); + + @Incoming("from-amqp") + public void consume(JsonObject p) { // <2> + Price price = p.mapTo(Price.class); // <3> + prices.add(price); + } + + public List list() { + return prices; + } +} +---- + +[arabic] +. The `Price` instances are automatically encoded to JSON by the +connector +. You can receive it using a `JsonObject` +. Then, you can reconstruct the instance using the `mapTo` method + +== Inbound Metadata + +Messages coming from AMQP contains an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/IncomingAmqpMetadata.html[`IncomingAmqpMetadata`] + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a Reactive Messaging `Message` associated with an AMQP Message is +acknowledged, it informs the broker that the message has been +_accepted_. + +== Failure Management + +If a message produced from an AMQP message is _nacked_, a failure +strategy is applied. The AMQP connector supports six strategies: + +* `fail` - fail the application; no more AMQP messages will be +processed (default). The AMQP message is marked as rejected. +* `accept` - this strategy marks the AMQP message as _accepted_. The +processing continues ignoring the failure. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-accepted[accepted +delivery state +documentation]. +* `release` - this strategy marks the AMQP message as _released_. The +processing continues with the next message. The broker can redeliver +the message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-released[released delivery state +documentation]. +* `reject` - this strategy marks the AMQP message as rejected. The +processing continues with the next message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-rejected[rejected +delivery state +documentation]. +* `modified-failed` - this strategy marks the AMQP message as +_modified_ and indicates that it failed (with the `delivery-failed` +attribute). The processing continues with the next message, but the +broker may attempt to redeliver the message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-modified[modified +delivery state +documentation] +* `modified-failed-undeliverable-here` - this strategy marks the AMQP +message as _modified_ and indicates that it failed (with the +`delivery-failed` attribute). It also indicates that the application +cannot process the message, meaning that the broker will not attempt +to redeliver the message to this node. The processing continues with +the next message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-modified[modified delivery state +documentation] + +== Configuration Reference + +include::{generated-dir}/smallrye-amqp-incoming.adoc[indent=0] + +You can also pass any property supported by the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP +client] as attribute. + +To use an existing _address_ or _queue_, you need to configure the +`address`, `container-id` and, optionally, the `link-name` attributes. +For example, if you have an Apache Artemis broker configured with: + +[source,xml] +---- + + +
    people
    + true + artemis +
    +
    +---- + +You need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-amqp +mp.messaging.incoming.people.durable=true +mp.messaging.incoming.people.address=people +mp.messaging.incoming.people.container-id=people +---- + +You may need to configure the `link-name` attribute, if the queue name +is not the channel name: + +[source,properties] +---- +mp.messaging.incoming.people-in.connector=smallrye-amqp +mp.messaging.incoming.people-in.durable=true +mp.messaging.incoming.people-in.address=people +mp.messaging.incoming.people-in.container-id=people +mp.messaging.incoming.people-in.link-name=people +---- + +== Receiving Cloud Events + +The AMQP connector supports https://cloudevents.io/[Cloud Events]. +When the connector detects a _structured_ or _binary_ Cloud Events, it +adds a link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/ce/IncomingCloudEventMetadata.html[`IncomingCloudEventMetadata`] +into the metadata of the `Message`. `IncomingCloudEventMetadata` +contains accessors to the mandatory and optional Cloud Event attributes. + +If the connector cannot extract the Cloud Event metadata, it sends the +Message without the metadata. + +=== Binary Cloud Events + +For `binary` Cloud Events, *all* mandatory Cloud Event attributes must +be set in the AMQP application properties, prefixed by `cloudEvents:` +(as mandated by the https://github.com/cloudevents/spec/blob/v1.0.1/amqp-protocol-binding.md[protocol +binding]). +The connector considers headers starting with the `cloudEvents:` prefix +but not listed in the specification as extensions. You can access them +using the `getExtension` method from `IncomingCloudEventMetadata`. + +The `datacontenttype` attribute is mapped to the `content-type` header +of the record. + +=== Structured Cloud Events + +For `structured` Cloud Events, the event is encoded in the record’s +value. Only JSON is supported, so your event must be encoded as JSON in +the record’s value. + +Structured Cloud Event must set the `content-type` header of the record +to `application/cloudevents{plus}json; charset=UTF-8`. The message body must +be a valid JSON object containing at least all the mandatory Cloud +Events attributes. + +If the record is a structured Cloud Event, the created Message’s payload +is the Cloud Event `data`. diff --git a/content/docs/smallrye-reactive-messaging/4/amqp/request-reply.adoc b/content/docs/smallrye-reactive-messaging/4/amqp/request-reply.adoc new file mode 100644 index 000000000..4b7bbaad1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/amqp/request-reply.adoc @@ -0,0 +1,202 @@ += AMQP Request/Reply +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +AMQP Request Reply Emitter is an experimental feature. + +==== + +The AMQP https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html[Request-Reply] pattern allows you to publish a message to an AMQP address and then await for a reply message that responds to the initial request. + +The `AmqpRequestReply` emitter implements the requestor (or the client) of the request-reply pattern for AMQP 1.0 outbound channels: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpRequestReplyEmitter.java[indent=0] +---- + +The `request` method publishes the request message to the configured target address of the outgoing channel, +and listens on a reply address (by default, the channel name with `-reply` suffix) for a reply message. +When the reply is received the returned `Uni` is completed with the message payload. + +The request send operation generates a correlation id and sets the AMQP `message-id` property, +which it expects to be sent back in the reply message's `correlation-id` property. + +The replier (or the server) can be implemented using a Reactive Messaging processor: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpReplier.java[indent=0] +---- + +When you need more control over the reply message, such as setting the reply-to address and correlation id explicitly, you can use the `Message` type: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpReplierWithMetadata.java[indent=0] +---- + +Given the following configuration example: + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-amqp +mp.messaging.outgoing.my-request.address=requests +mp.messaging.outgoing.my-request.reply.address=my-request-reply + +mp.messaging.incoming.request.connector=smallrye-amqp +mp.messaging.incoming.request.address=requests + +mp.messaging.outgoing.reply.connector=smallrye-amqp +mp.messaging.outgoing.reply.address=my-request-reply +mp.messaging.outgoing.reply.use-anonymous-sender=false +---- + +== Requesting with `Message` types + +Like the core Emitter's `send` methods, `request` method also can receive a `Message` type and return a message: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpRequestReplyMessageEmitter.java[indent=0] +---- + +[NOTE] +==== + +The ingested reply type of the `AmqpRequestReply` is discovered at runtime, +in order to configure a `MessageConverter` to be applied on the incoming message before returning the `Uni` result. + +==== + +== Requesting multiple replies + +You can use the `requestMulti` method to expect any number of replies represented by the `Multi` return type. + +For example this can be used to aggregate multiple replies to a single request. + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpRequestReplyMultiEmitter.java[indent=0] +---- + +Like the other `request` you can also request `Message` types. + +[NOTE] +==== + +The channel attribute `reply.timeout` will be applied between each message, if reached the returned `Multi` will +fail. + +==== + +== Pending replies and reply timeout + +By default, the `Uni` returned from the `request` method is configured to fail with timeout exception if no reply is received after 5 seconds. +This timeout is configurable with the channel attribute `reply.timeout` (in milliseconds). + +[source,properties] +---- +mp.messaging.outgoing.my-request.reply.timeout=10000 +---- + +A snapshot of the list of pending replies is available through the `AmqpRequestReply#getPendingReplies` method. + +== Scaling Request/Reply + +If multiple requestor instances are configured on the same outgoing address, and the same reply address, +each requestor instance will receive replies of all instances. If an observed correlation id doesn't match +the id of any pending replies, the reply is simply discarded. +With the additional network traffic this allows scaling requestors, (and repliers) dynamically. + +== Correlation Ids + +The AMQP Request/Reply allows configuring the correlation id mechanism completely through a `CorrelationIdHandler` implementation. +The default handler is based on randomly generated UUID strings, set as the AMQP `message-id` on the request message. +The reply message is expected to carry the same value in the `correlation-id` property. + +The correlation id handler implementation can be configured using the `reply.correlation-id.handler` attribute. +The default configuration is `uuid`, which uses randomly generated UUID strings as correlation ids. +An alternative `bytes` implementation can be used to generate random binary correlation ids. +The `bytes` id handler generates 12 random bytes, +but the length can be configured with the `smallrye.amqp.request-reply.correlation-id.bytes.length` attribute. + +Custom handlers can be implemented by proposing a CDI-managed bean with `@Identifier` qualifier. + +== Reply Error Handling + +If the reply server produces an error, it can propagate the error back to the requestor, failing the returned `Uni`. + +If configured using the `reply.failure.handler` channel attribute, +the `ReplyFailureHandler` implementations are discovered through CDI, matching the `@Identifier` qualifier. + +A sample reply error handler can lookup application properties and return the error to be thrown by the reply: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/MyAmqpReplyFailureHandler.java[indent=0] +---- + +`null` return value indicates that no error has been found in the reply message, and it can be delivered to the application. + +== Connection Sharing + +Multiple AMQP channels can share the same underlying connection when configured with the same `container-id`. +This reduces resource consumption and is particularly useful for request-reply patterns +where the sender and reply receiver can share a single connection. + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-amqp +mp.messaging.outgoing.my-request.address=requests +mp.messaging.outgoing.my-request.container-id=my-connection +mp.messaging.outgoing.my-request.reply.address=replies + +mp.messaging.incoming.other-channel.connector=smallrye-amqp +mp.messaging.incoming.other-channel.address=other +mp.messaging.incoming.other-channel.container-id=my-connection +---- + +Both channels above will share the same AMQP connection because they use the same `container-id`. + +[NOTE] +==== + +Connection sharing requires all channels with the same `container-id` to have compatible connection settings (host, port, credentials, etc.). +If the settings differ, the connector will detect the conflict and raise an error. + +==== + +== Using with RabbitMQ + +RabbitMQ 4.0{plus} with native AMQP 1.0 support is compatible with the request-reply pattern. +When using RabbitMQ, remember to use `/queues/` prefixed addresses (v2 address format) +and set `use-anonymous-sender=false` as anonymous senders are not supported. + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-amqp +mp.messaging.outgoing.my-request.address=/queues/requests +mp.messaging.outgoing.my-request.reply.address=/queues/replies +mp.messaging.outgoing.my-request.use-anonymous-sender=false + +mp.messaging.incoming.request.connector=smallrye-amqp +mp.messaging.incoming.request.address=/queues/requests + +mp.messaging.outgoing.reply.connector=smallrye-amqp +mp.messaging.outgoing.reply.address=/queues/replies +mp.messaging.outgoing.reply.use-anonymous-sender=false +---- + +See xref:amqp/rabbitmq.adoc[Using RabbitMQ] for more details on RabbitMQ-specific configuration. + +== Limitations + +The following features are not yet supported: + +* *Direct reply-to* (`amq.rabbitmq.reply-to`): RabbitMQ's direct reply-to mechanism requires link pairing, which is not yet implemented. +* *Link pairing*: Pairing sender and receiver links on the same connection for request-reply routing is not yet available. diff --git a/content/docs/smallrye-reactive-messaging/4/amqp/sending-amqp-messages.adoc b/content/docs/smallrye-reactive-messaging/4/amqp/sending-amqp-messages.adoc new file mode 100644 index 000000000..f89a2a0b6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/amqp/sending-amqp-messages.adoc @@ -0,0 +1,254 @@ += Sending messages to AMQP +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector can write Reactive Messaging `Messages` as AMQP +Messages. + +== Example + +Let’s imagine you have an AMQP broker (such as https://activemq.apache.org/components/artemis/[Apache ActiveMQ +Artemis]) running, and +accessible using the `amqp:5672` address (by default it would use +`localhost:5672`). Configure your application to send the messages from +the `prices` channel as AMQP Message as follows: + +[source,properties] +---- +amqp-host=amqp # <1> +amqp-port=5672 # <2> +amqp-username=my-username # <3> +amqp-password=my-password # <4> + +mp.messaging.outgoing.prices.connector=smallrye-amqp # <5> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `amqp-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `amqp-port`. The default is +`5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`amqp-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`amqp-password`. +. Instructs the `prices` channel to be managed by the AMQP connector + +[NOTE] +==== + +You don’t need to set the _address_. By default, it uses the channel +name (`prices`). You can configure the `address` attribute to override +it. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpPriceMessageProducer.java[indent=0] +---- + +== Serialization + +When receiving a `Message++<++T++>++`, the connector convert the message into an +AMQP Message. The payload is converted to the AMQP Message _body_. + +[width="100%",cols="50%,50%",options="header",] +|=== +|`T` |AMQP Message Body +|primitive types or `String` |AMQP Value with the payload +|`Instant` or `UUID` |AMQP Value using the corresponding AMQP Type +|https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] or https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`] |AMQP Data using a binary content. The `content-type` is set to `application/json` +|`io.vertx.mutiny.core.buffer.Buffer` |AMQP Data using a binary content. No `content-type` set +|Any other class |The payload is converted to JSON (using a Json Mapper). The result is wrapped into AMQP Data using a *binary* content. The `content-type` is set to `application/json` +|=== + +If the message payload cannot be serialized to JSON, the message is +_nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/OutgoingAmqpMetadata.html[`OutgoingAmqpMetadata`] +to influence how the message is going to be sent to AMQP. For example, you +can configure the subjects, properties: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Dynamic address names + +Sometimes it is desirable to select the destination of a message +dynamically. In this case, you should not configure the address inside +your application configuration file, but instead, use the outbound +metadata to set the address. + +For example, you can send to a dynamic address based on the incoming +message: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpOutboundDynamicAddressExample.java[tags=code,indent=0] +---- + +[NOTE] +==== + +To be able to set the address per message, the connector is using an +_anonymous sender_. + +==== + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +broker acknowledged the message. When using routers, this +acknowledgement may not be enabled. In this case, configure the +`auto-acknowledgement` attribute to acknowledge the message as soon as +it has been sent to the router. + +If an AMQP message is rejected/released/modified by the broker (or +cannot be sent successfully), the message is nacked. + +== Back Pressure and Credits + +The back-pressure is handled by the `max-inflight-messages` attribute and AMQP _credits_. +The outbound connector requests messages minimum between `max-inflight-messages` and credits allowed by the broker. +When the amount of credits reaches 0, it waits (in a non-blocking fashion) until the broker grants more credits to the AMQP sender. + +When `max-inflight-messages` is set to 0, only AMQP credits apply to limit the requests. + +Note that if an AMQP message send fails, it is retried until `retry-on-fail-attempts` is reached. +If the client reconnects to the broker during the retry, failing messages are sent again but the message order is not preserved. + +To preserve the message order in this case you can set `max-inflight-messages` to + +== Configuration Reference + +include::{generated-dir}/smallrye-amqp-outgoing.adoc[indent=0] + +You can also pass any property supported by the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP +client] as attribute. + +== Using existing destinations + +To use an existing _address_ or _queue_, you need to configure the +`address`, `container-id` and, optionally, the `link-name` attributes. +For example, if you have an Apache Artemis broker configured with: + +[source,xml] +---- + + +
    people
    + true + artemis +
    +
    +---- + +You need the following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people.connector=smallrye-amqp +mp.messaging.outgoing.people.durable=true +mp.messaging.outgoing.people.address=people +mp.messaging.outgoing.people.container-id=people +---- + +You may need to configure the `link-name` attribute, if the queue name +is not the channel name: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.durable=true +mp.messaging.outgoing.people-out.address=people +mp.messaging.outgoing.people-out.container-id=people +mp.messaging.outgoing.people-out.link-name=people +---- + +To use a `MULTICAST` queue, you need to provide the _FQQN_ +(Fully-qualified queue name) instead of just the name of the queue: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.durable=true +mp.messaging.outgoing.people-out.address=foo +mp.messaging.outgoing.people-out.container-id=foo + +mp.messaging.incoming.people-out.connector=smallrye-amqp +mp.messaging.incoming.people-out.durable=true +mp.messaging.incoming.people-out.address=foo::bar # Note the syntax: address-name::queue-name +mp.messaging.incoming.people-out.container-id=bar +mp.messaging.incoming.people-out.link-name=people +---- + +More details about the AMQP Address model can be found on https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html[the Artemis +documentation]. + +== Sending Cloud Events + +The AMQP connector supports https://cloudevents.io/[Cloud Events]. The +connector sends the outbound record as Cloud Events if: + +* the message metadata contains an +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` +instance, +* the channel configuration defines the `cloud-events-type` and +`cloud-events-source` attributes. + +You can create +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` instances +using: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpCloudEventProcessor.java[indent=0] +---- + +If the metadata does not contain an id, the connector generates one +(random UUID). The `type` and `source` can be configured per message or +at the channel level using the `cloud-events-type` and +`cloud-events-source` attributes. Other attributes are also +configurable. + +The metadata can be contributed by multiple methods, however, you must +always retrieve the already existing metadata to avoid overriding the +values: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpCloudEventMultipleProcessors.java[indent=0] +---- + +By default, the connector sends the Cloud Events using the _binary_ +format. You can write _structured_ Cloud Events by setting the +`cloud-events-mode` to `structured`. Only JSON is supported, so the +created records had its `content-type` header set to +`application/cloudevents{plus}json; charset=UTF-8` + +[NOTE] +==== + +you can disable the Cloud Event support by setting the `cloud-events` +attribute to `false` + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/camel/camel-processor.adoc b/content/docs/smallrye-reactive-messaging/4/camel/camel-processor.adoc new file mode 100644 index 000000000..20327120f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/camel/camel-processor.adoc @@ -0,0 +1,37 @@ += The processor pattern using Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Using the processor pattern, you can consume on a channel using a Camel +component, and produce on a channel using another Camel component. In +that case, the headers present in the incoming metadata will be +forwarded in the outgoing metadata. + +== Example + +Let’s imagine you want to read messages from a Nats subject, process it +and produce a message on a Kafka topic. + +[source,properties] +---- +mp.messaging.incoming.mynatssubject.connector=smallrye-camel # <1> +mp.messaging.incoming.mynatssubject.endpoint-uri=nats:mynatssubject # <2> +mp.messaging.outgoing.mykafkatopic.connector=smallrye-camel # <3> +mp.messaging.outgoing.mykafkatopic.endpoint-uri=kafka:mykafkatopic# <4> + +camel.component.nats.servers=127.0.0.1:5555 # <5> +camel.component.kafka.brokers=127.0.0.1:9092 # <6> +---- + +[arabic] +. Sets the connector for the `mynatssubject` channel +. Configures the `endpoint-uri` for nats subject +. Sets the connector for the `mykafkatopic` channel +. Configures the `endpoint-uri` for the kafka topic +. Sets the URL of the nats server to use +. Sets the URL of a kafka broker to use + +[source,java] +---- +include::{examples-dir}/camel/processor/CamelProcessor.java[indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/camel/camel.adoc b/content/docs/smallrye-reactive-messaging/4/camel/camel.adoc new file mode 100644 index 000000000..00eb2828e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/camel/camel.adoc @@ -0,0 +1,75 @@ += Apache Camel Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Camel connector adds support for Apache Camel to Reactive Messaging. + +https://camel.apache.org/[Camel] is an open source integration +framework let you integrate various systems consuming or producing data. +Camel implements the Enterprise Integration Patterns and provides +several hundred of components used to access databases, message queues, +APIs or basically https://camel.apache.org/components/latest/[anything under the +sun]. + +[IMPORTANT] +==== + +Smallrye Reactive Messaging 4.x moved from `javax` to `jakarta` APIs therefore only supports Camel 4 releases. +Similarly, this connector drops the Java 11 support as this is the case for Camel 4. + +==== + +== Introduction + +Camel is not a messaging broker. But, it allows your Reactive Messaging +application to retrieve data from almost anything and send data to +almost anything. + +So if you want to send Reactive Messaging `Message` to Telegram or +retrieve data from Salesforce or SAP, this is the connector you need. + +One of the Camel cornerstone is the `endpoint` and its `uri` encoding +the connection to an external system. For example, +`file:orders/?delete=true&charset=utf-8` instructs Camel to read the +files from the `orders` directory. URI format and parameters are listed +on the component documentation, such as the https://camel.apache.org/components/latest/file-component.html[File +component]. + +== Using the camel connector + +To you the camel Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-camel + {project-version} + +---- + +You will also need the dependency of the Camel component you are using. +For example, if you want to process files, you would need to add the +Camel File Component artifact: + +[source,xml,subs="attributes+"] +---- + + org.apache.camel + camel-file + {camel-version} + +---- + +The connector name is: `smallrye-camel`. + +So, to indicate that a channel is managed by this connector you need: + +.... +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-camel + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-camel +.... diff --git a/content/docs/smallrye-reactive-messaging/4/camel/receiving-messages-from-camel.adoc b/content/docs/smallrye-reactive-messaging/4/camel/receiving-messages-from-camel.adoc new file mode 100644 index 000000000..65338aedc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/camel/receiving-messages-from-camel.adoc @@ -0,0 +1,89 @@ += Retrieving data using Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Camel provides many components. To keep this documentation focused on +the integration with Camel, we use the https://camel.apache.org/components/latest/file-component.html[File +component]. +This component let use read files from a directory. So the connector +configured with this component creates a `Message` for each file located +in the directory. As soon as a file is dropped in the directory, a new +`Message` is created. + +== Example + +Let’s imagine you want to read the files from the `orders` directory and +send them to the `files` channel. Configuring the Camel connector to +gets the _file_ from this directory only requires 2 properties: + +[source,properties] +---- +mp.messaging.incoming.files.connector=smallrye-camel # <1> +mp.messaging.incoming.files.endpoint-uri=file:orders/?delete=true&charset=utf-8 # <2> +---- + +[arabic] +. Sets the connector for the `files` channel +. Configures the `endpoint-uri` + +Then, your application receives `Message++<++GenericFile++<++File++>>++`. + +[NOTE] +==== + +The Camel File component produces +`org.apache.camel.component.file.GenericFile` instances. You can +retrieve the actual `File` using `getFile()`. + +==== + +You can consume the payload directly: + +[source,java] +---- +include::{examples-dir}/camel/inbound/CamelFileConsumer.java[indent=0] +---- + +You can also retrieve the `Message++<++GenericFile++<++File++>>++`: + +[source,java] +---- +include::{examples-dir}/camel/inbound/CamelFileMessageConsumer.java[indent=0] +---- + +== Deserialization + +Each Camel component is producing specific objects. As we have seen, the +File component produces `GenericFile`. + +Refer to the component documentation to check which type is produced. + +== Inbound Metadata + +Messages coming from Camel contains an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-camel/{javadoc-version}/io/smallrye/reactive/messaging/camel/IncomingExchangeMetadata.html[`IncomingExchangeMetadata`] +in the metadata. + +[source,java] +---- +include::{examples-dir}/camel/inbound/IncomingCamelMetadataExample.java[indent=0] +---- + +This object lets you retrieve the Camel `Exchange`. + +== Failure Management + +If a message produced from a Camel exchange is _nacked_, a failure +strategy is applied. The Camel connector supports 3 strategies: + +* `fail` - fail the application, no more MQTT messages will be +processed. (default) The offset of the record that has not been +processed correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. + +In both cases, the `exchange` is marked as rollback only and the nack +reason is attached to the exchange. + +== Configuration Reference + +include::{generated-dir}/smallrye-camel-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/4/camel/sending-messages-to-camel.adoc b/content/docs/smallrye-reactive-messaging/4/camel/sending-messages-to-camel.adoc new file mode 100644 index 000000000..8bf614150 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/camel/sending-messages-to-camel.adoc @@ -0,0 +1,76 @@ += Sending data with Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can use the Camel connector to send data to almost any type of +system. + +To keep this document focused on the Camel connector, we use the Camel +File component. However, the connector can be used with any Camel +component. + +== Example + +Let’s imagine you want to write generated prices into files. Configure +your application to write the messages from the `prices` channel into a +files as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-camel # <1> +mp.messaging.outgoing.prices.endpoint-uri=file:prices/?fileName=${date:now:yyyyMMddssSS}.txt&charset=utf-8 # <2> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the `endpoint-uri` to write into files in the `prices` +directory + +[IMPORTANT] +==== + +Depending on your implementation of MicroProfile Reactive Messaging, the +`$` may need to be escaped as follows: `$$++{++...}` + +==== + +Then, your application must send `Message++<++String++>++` to the `prices` +channel. It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The serialization is handled by the Camel component. Refer to the Camel +documentation to check which payload type is supported by the component. + +== Outbound Metadata + +When sending `Messages`, you can add an instance +of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-camel/{javadoc-version}/io/smallrye/reactive/messaging/camel/OutgoingExchangeMetadata.html[`OutgoingExchangeMetadata`] +to the message metadata. You can then influence how the outbound Camel +`Exchange` is created, for example by adding properties: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +The incoming messages are acknowledged when the underlying Camel +exchange completes. If the exchange fails, the message is nacked. + +== Configuration Reference + +include::{generated-dir}/smallrye-camel-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/4/camel/using-existing-routes.adoc b/content/docs/smallrye-reactive-messaging/4/camel/using-existing-routes.adoc new file mode 100644 index 000000000..ed8b2cfd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/camel/using-existing-routes.adoc @@ -0,0 +1,67 @@ += Using the Camel API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Camel connector is based on the https://camel.apache.org/components/latest/reactive-streams-component.html[Reactive Streams +support] +from Camel. If you have an application already using the Camel API +(routes, `from`...), you can integrate it with Reactive Messaging. + +== Getting the CamelReactiveStreamsService + +Once you add the Camel connector to your application, you can retrieve +the +`org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService` +object: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=reactive,indent=0] +---- + +This `CamelReactiveStreamsService` lets you create `Publisher` and +`Subscriber` instances from existing routes. + +== Using Camel Route with @Outgoing + +If you have an existing Camel route, you can transform it as a +`Publisher` using the `CamelReactiveStreamsService`. Then, you can +return this `Publisher` from a method annotated with `@Outgoing`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source,indent=0] +---- + +You can also expose a `RouteBuilder` bean, making sure to use the `Singleton` scope, +as `RouteBuilder` is no longer proxyable: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source-route-builder,indent=0] +---- + +Alternatively you can use the `LambdaRouteBuilder`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source-lambda-route-builder,indent=0] +---- + +Using Camel Route with @Incoming + +If you have an existing Camel route, you can transform it as a +`Subscriber` using the `CamelReactiveStreamsService`. Then, you can +return this `Subscriber` from a method annotated with `@Incoming`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=sink,indent=0] +---- + +You can also use a producer: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=producer,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/acknowledgement.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/acknowledgement.adoc new file mode 100644 index 000000000..782ec0e81 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/acknowledgement.adoc @@ -0,0 +1,183 @@ += Acknowledgement +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Acknowledgment is an essential concept in messaging. A message is +acknowledged when its processing or reception has been successful. It +allows the broker to move to the next message. + +How acknowledgment is used, and the exact behavior in terms of retry and +resilience depends on the broker. For example, for Kafka, it would +commit the offset. For AMQP, it would inform the broker that the message +has been _accepted_. + +Reactive Messaging supports acknowledgement. The default acknowledgement +depends on the method signature. Also, the acknowledgement policy can be +configured using the `@Acknowledgement` annotation. + +== Chain of acknowledgment + +If we reuse this example: + +[source,java] +---- +include::{examples-dir}/beans/Chain.java[tags=chain,indent=0] +---- + +The framework automatically acknowledges the message received from the +`sink` channel when the `consume` method returns. As a consequence, the +message received by the `process` method is acknowledged, and so on. In +other words, it creates a chain of acknowledgement - from the outbound +channel to the inbound channel. + +When using connectors to receive and consume messages, the outbound +connector acknowledges the messages when they are dispatched +successfully to the broker. The acknowledgment chain would, as a result, +acknowledges the inbound connector, which would be able to send an +acknowledgment to the broker. + +This chain of acknowledgment is automatically implemented when +processing payloads. + +== Acknowledgment when using Messages + +When using `Messages`, the user controls the acknowledgment, and so the +chain is not formed automatically. It gives you more flexibility about +when and how the incoming messages are acknowledged. + +If you create a `Message` using the `with` method, is copy the +acknowledgment function from the incoming message: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=with-payload,indent=0] +---- + +To have more control over the acknowledgment, you can create a brand new +`Message` and pass the acknowledgment function: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=message-creation,indent=0] +---- + +However, you may need to create the acknowledgment chain, to acknowledge +the incoming message: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=process,indent=0] +---- + +To trigger the acknowledgment of the incoming message, use the `ack()` +method. It returns a `CompletionStage`, receiving `null` as value when +the acknowledgment has completed. + +== Acknowledgment when using streams + +When transforming streams of `Message`, the acknowledgment is delegated +to the user. It means that it’s up to the user to acknowledge the +incoming messages: + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=message,indent=0] +---- + +In the previous example, we only generate a single message per incoming +message so that we can use the `with` method. It becomes more +sophisticated when grouping incoming messages or when each incoming +message produces multiple messages. + +In the case of a stream of payloads, the default strategy acknowledges +the incoming messages before being processed by the method (regardless +of the outcome). + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=payload,indent=0] +---- + +For method receiving a single payload and producing a stream of payloads, it defaults to pre-processing acknowledgement. +However, in this case, post-processing is supported. +It waits for all the produced messages to be acknowledged before acknowledging the received one. +If one of the produced message is nacked, the received one is nacked immediately. + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=payload-to-multi,indent=0] +---- + +== Controlling acknowledgement + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Acknowledgment.html[`Acknowledgment`] +annotation lets you customize the default strategy presented in the +previous sections. The `@Acknowledgement` annotation takes a _strategy_ +as parameter. Reactive Messaging proposed 4 strategies: + +* `POST++_++PROCESSING` - the acknowledgement of the incoming message is +executed once the produced message is acknowledged. +* `PRE++_++PROCESSING` - the acknowledgement of the incoming message is +executed before the message is processed by the method. +* `MANUAL` - the acknowledgement is done by the user. +* `NONE` - No acknowledgment is performed, neither manually or +automatically. + +It is recommended to use `POST++_++PROCESSING` as it guarantees that the +full processing has completed before acknowledging the incoming message. +However, sometimes it’s not possible, and this strategy is not available +if you manipulate streams of `Messages` or payloads. + +The `PRE++_++PROCESSING` strategy can be useful to acknowledge a message +early in the process: + +[source,java] +---- +include::{examples-dir}/ack/PreAckExamples.java[tags=pre,indent=0] +---- + +It cuts the acknowledgment chain, meaning that the rest of the +processing is not linked to the incoming message anymore. This strategy +is the default strategy when manipulating streams of payloads. + +Refer to the xref:concepts/signatures.adoc[signature list] to determine +which strategies are available for a specific method signature and +what’s the default strategy. + +== Negative acknowledgement + +Messages can also be _nacked_, which indicates that the message was not +processed correctly. The `Message.nack` method indicates failing +processing (and supply the reason), and, as for successful +acknowledgment, the _nack_ is propagated through the chain of messages. + +If the message has been produced by a connector, this connector +implements specific behavior when receiving a _nack_. It can fail +(default), or ignore the failing, or implement a dead-letter queue +mechanism. Refer to the connector documentation for further details +about the available strategies. + +If the message is sent by an emitter using the `send(P)` method, the +returned `CompletionStage` is completed _exceptionally_ with the _nack_ +reason. + +[source,java] +---- +include::{examples-dir}/ack/NackOnEmitter.java[tags=emitter,indent=0] +---- + +Negative acknowledgment can be manual or automatic. If your method +handles instances of `Message` and the acknowledgment strategy is +`MANUAL`, you can nack a message explicitly. You must indicate the +reason (an exception) when calling the `nack` method. As for successful +acknowledgment, the `nack` returns a `CompletionStage` completed when +the `nack` has been processed. + +If your method uses the `POST++_++PROCESSING` acknowledgment strategy, and +the method fails (either by throwing an exception or by producing a +failure), the message is automatically nacked with the caught exception: + +[source,java] +---- +include::{examples-dir}/ack/AutoNack.java[tags=auto-nack,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/advanced-config.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/advanced-config.adoc new file mode 100644 index 000000000..89aa2cd08 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/advanced-config.adoc @@ -0,0 +1,43 @@ += Advanced configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Strict Binding Mode + +By default, SmallRye Reactive Messaging does not enforce whether all +_mediators_ are connected. It just prints a warning message. The strict +mode fails the deployment if some "incomings" are not bound to +"outgoings". To enable this mode, you can pass the +`-Dsmallrye-messaging-strict-binding=true` via the command line, or you +can set the `smallrye-messaging-strict-binding` attribute to `true` in +the configuration: + +[source,text] +---- +smallrye-messaging-strict-binding=true +---- + +== Disabling channels + +You can disable a channel in the configuration by setting the `enabled` +attribute to `false`: + +[source,text] +---- +mp.messaging.outgoing.dummy-sink.connector=dummy +mp.messaging.outgoing.dummy-sink.enabled=false # Disable this channel +---- + +SmallRye Reactive Messaging does not register disabled channels, so make +sure the rest of the application does not rely on them. + +== Publisher metrics + +SmallRye Reactive Messaging integrates MicroProfile Metrics and +Micrometer for registering counter metrics (named +`mp.messaging.message.count`) of published messages per channel. + +Both MicroProfile and Micrometer publisher metrics are enabled by +default if found on the classpath. They can be disabled with +`smallrye.messaging.metrics.mp.enabled` and +`smallrye.messaging.metrics.micrometer.enabled` properties respectively. diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/blocking.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/blocking.adoc new file mode 100644 index 000000000..078af3ac4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/blocking.adoc @@ -0,0 +1,105 @@ += @Blocking +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.reactive.messaging.annotations.Blocking` annotation can +be used on a method annotated with `@Incoming`, or `@Outgoing` to +indicate that the method should be executed on a worker pool: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking +public String process(String s) { + return s.toUpperCase(); +} +---- + +If method execution does not need to be ordered, it can be indicated on +the `@Blocking` annotation: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking(ordered = false) +public String process(String s) { + return s.toUpperCase(); +} +---- + +When unordered, the invocation can happen concurrently. + +By default, use of `@Blocking` results in the method being executed in +the Vert.x worker pool. If it’s desired to execute methods on a custom +worker pool, with specific concurrency needs, it can be defined on +`@Blocking`: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking("my-custom-pool") +public String process(String s) { + return s.toUpperCase(); +} +---- + +Specifying the concurrency for the above worker pool requires the +following configuration property to be defined: + +.... +smallrye.messaging.worker.my-custom-pool.max-concurrency=3 +.... + +== Custom worker pool shutdown timeout + +When using a custom worker pool, it is possible to define a shutdown timeout in order to wait for the scheduled tasks to complete before shutting down the pool. +This can be done by setting the following configuration property: + +[source,properties] +---- +smallrye.messaging.worker.my-custom-pool.max-concurrency=3 +smallrye.messaging.worker.my-custom-pool.shutdown-timeout=10000 +smallrye.messaging.worker.my-custom-pool.shutdown-check-interval=2000 +---- + +The `shutdown-timeout` property defines the maximum time to wait in milliseconds for the scheduled tasks to complete before shutting down the pool, defaults to 60 seconds. +The `shutdown-check-interval` property defines the interval in milliseconds at which the pool will check if the tasks have completed, defaults to 5 seconds. + +== Supported signatures + +`@Blocking` does not support every signature. The following table lists +the supported ones. + +[width="100%",cols="7%,36%,57%",options="header",] +|=== +|Shape |Signature |Comment +|Publisher |`@Outgoing("in") @Blocking O generator()` |Invokes the generator from a worker thread. If `ordered` is set to `false`, the generator can be called concurrently. +|Publisher |`@Outgoing("in") @Blocking Message++<++O++>++ generator()` |Invokes the generator from a worker thread. If `ordered` is set to `false`, the generator can be called concurrently. +|Processor |`@Incoming("in") @Outgoing("bar") @Blocking O process(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Processor |`@Incoming("in") @Outgoing("bar") @Blocking Message++<++O++>++ process(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking void consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking Uni++<++Void++>++ consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking Uni++<++Void++>++ consume(Message++<++I++>++ msg)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking CompletionStage++<++Void++>++ consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking CompletionStage++<++Void++>++ consume(Message++<++I++>++ msg)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|=== + +When a method can be called concurrently, the max concurrency depends on +the number of threads from the worker thread pool. + +== Using io.smallrye.common.annotation.Blocking + +`io.smallrye.common.annotation.Blocking` is another annotation with the +same semantic. `io.smallrye.common.annotation.Blocking` is used by +multiple SmallRye projects and Quarkus. + +SmallRye Reactive Messaging also supports +`io.smallrye.common.annotation.Blocking`. However, +`io.smallrye.common.annotation.Blocking` does not allow configuring the +ordering (it defaults to `ordered=true`). + +When both annotations are used, +`io.smallrye.reactive.messaging.annotations.Blocking` is preferred. diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/broadcast.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/broadcast.adoc new file mode 100644 index 000000000..a10dc2c86 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/broadcast.adoc @@ -0,0 +1,49 @@ += Broadcast +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`@Broadcast` is an experimental feature. + +==== + +By default, messages transiting in a channel are only dispatched to a +single consumer. Having multiple consumers is considered as an error, +and is reported at deployment time. + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/annotations/Broadcast.html[`Broadcast`] +annotation changes this behavior and indicates that messages transiting +in the channel are dispatched to all the consumers. `@Broadcast` must be +used with the `@Outgoing` annotation: + +[source,java] +---- +include::{examples-dir}/broadcast/BroadcastExamples.java[tags=chain,indent=0] +---- + +In the previous example, both consumers get the messages. + +You can also control the number of consumers to wait before starting to +dispatch the messages. This allows waiting for the complete graph to be +woven: + +[source,java] +---- +include::{examples-dir}/broadcast/BroadcastWithCountExamples.java[tags=chain,indent=0] +---- + +[NOTE] +==== + +Inbound connectors also support a `broadcast` attribute that allows +broadcasting the messages to multiple downstream subscribers. + +==== + +Use with Emitter + +For details on how to use `@Broadcast` with `Emitter` see the +xref:concepts/emitter.adoc#emitter-and-broadcast[documentation]. diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/client-customizers.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/client-customizers.adoc new file mode 100644 index 000000000..2ca59c240 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/client-customizers.adoc @@ -0,0 +1,28 @@ += Client Customizers +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Client customizers allow to customize the client instance created by the connector. +Only connectors which create their own client instance support customizers. + +To define a client customizer, you need to provide a CDI bean that implements the `ClientCustomizer++<++T++>++` interface, +parameterized with the config type: + +[source,java] +---- +include::{examples-dir}/customizers/MyClientCustomizer.java[indent=0] +---- + +Connectors which support client customizers will discover all beans and call the `customize` method, +with the _channel name_, the _channel configuration_ and the configuration that'll be used to create the client instance. +If the customizer returns `null` it'll be skipped. + +If you have multiple customizers, customizers can override the `getPriority` method to define the order in which they are called. + +Currently, the following core connectors support client customizers: + +* Kafka: `ClientCustomizer++<++Map++<++String, Object++>>++` +* RabbitMQ: `ClientCustomizer++<++RabbitMQOptions++>++` +* AMQP 1.0: `ClientCustomizer++<++AmqpClientOptions++>++` +* MQTT: `ClientCustomizer++<++MqttClientSessionOptions++>++` +* Pulsar: `ClientCustomizer++<++ClientBuilder++>++`, `ClientCustomizer++<++ConsumerBuilder++<++?++>>++`, `ClientCustomizer++<++ProducerBuilder++<++?++>>++` diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/concepts.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/concepts.adoc new file mode 100644 index 000000000..2f3b413e8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/concepts.adoc @@ -0,0 +1,100 @@ += Concepts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +When dealing with event-driven or data streaming applications, there are +a few concepts and vocabulary to introduce. + +== Messages, Payload, Metadata + +A `Message` is an _envelope_ around a `payload`. Your application is +going to receive, process, and send `Messages`. + +Your application’s logic can generate these `Messages` or receive them +from a message broker. They can also be consumed by your application or +sent to a message broker. + +.An application can receive a message, process it and send a resulting message +[.has-dark] +image::images/messages.png[An application can receive a message, process it and send a resulting message] + +In Reactive Messaging, `Message` are represented by the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/eclipse/microprofile/reactive/messaging/Message.html[`Message`] interface. +Each `Message++<++T++>++` contains a _payload_ of type `++<++T++>++`. This payload can be retrieved using `message.getPayload()`: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=message,indent=0] +---- + +As you can see in the previous snippet, `Messages` can also have +_metadata_. _Metadata_ is a way to extend messages with additional data. +It can be metadata related to the message broker +(like link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/KafkaMessageMetadata.html[`KafkaMessageMetadata`]), or contain operational data (such as tracing metadata), or business-related data. + +[NOTE] +==== + +When retrieving metadata, you get an `Optional` as it may not be present. + +==== + +[TIP] +==== + +Metadata is also used to influence the outbound dispatching (how the message will be sent to the broker). + +==== + +== Channels and Streams + +Inside your application, `Messages` transit on _channel_. A _channel_ is +a virtual destination identified by a name. + +.The application is a set of channels +[.has-dark] +image::images/channels.png[The application is a set of channels] + +SmallRye Reactive Messaging connects the component to the channel they read and to the channel they populate. +The resulting structure is a stream: Messages flow between components through channels. + +[NOTE] +.What about Reactive Streams? +==== + +You may wonder why _Reactive Messaging_ has _Reactive_ in the name. The +Messaging part is kind of obvious. The Reactive part comes from the +streams that are created by binding components. These streams are +https://www.reactive-streams.org/[Reactive Streams]. They follow the +subscription and request protocol and implement back-pressure. It also +means that xref:#connectors[Connectors] are intended to use non-blocking IO +to interact with the various message brokers. + +==== + +== Connectors + +Your application is interacting with messaging brokers or event backbone using _connectors_. +A _connector_ is a piece of code that connects to a broker and: + +[arabic] +. subscribe/poll/receive messages from the broker and propagate them to the application +. send/write/dispatch messages provided by the application to the broker + +Connectors are configured to map incoming messages to a specific +_channel_ (consumed by the application) and collect outgoing messages +sent to a specific channel. These collected messages are sent to the +external broker. + +.Connectors manages the communication between the application and the brokers +[.has-dark] +image::images/connectors.png[Connectors manages the communication between the application and the brokers] + +Each connector is dedicated to a specific technology. +For example, a Kafka Connector only deals with Kafka. + +You don’t necessarily need a connector. +When your application does not use connectors, everything happens _in-memory_, and the streams are created by chaining methods altogether. +Each chain is still a reactive stream and enforces the back-pressure protocol. +When you don’t use connectors, you need to make sure the chain is complete, meaning it starts with a message source, and it ends with a sink. +In other words, you need to generate messages from within the application (using a method with only `@Outgoing`, or an `Emitter`) and consume the messages +from within the application (using a method with only `@Incoming` or using an unmanaged stream). diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/connectors.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/connectors.adoc new file mode 100644 index 000000000..5a10eafca --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/connectors.adoc @@ -0,0 +1,199 @@ += Connectors +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Reactive Messaging can handle messages generated from within the +application but also interact with remote _brokers_. Reactive Messaging +Connectors interacts with these remote _brokers_ to retrieve messages +and send messages using various protocols and technology. + +Each connector handles to a specific technology. For example, a Kafka +Connector is responsible for interacting with Kafka, while an MQTT +Connector is responsible for MQTT interactions. + +== Connector name + +Each connector has a name. This name is referenced by the application to +indicate that this connector manages a specific channel. + +For example, the SmallRye Kafka Connector is named: `smallrye-kafka`. + +== Inbound and Outbound connectors + +Connector can: + +[arabic] +. retrieve messages from a remote broker (inbound) +. send messages to a remote broker (outbound) + +A connector can, of course, implement both directions. + +Inbound connectors are responsible for: + +[arabic] +. Getting messages from the remote broker, +. Creating a Reactive Messaging `Message` associated with the +retrieved message. +. Potentially associating technical metadata with the message. It +includes unmarshalling the payload. +. Associating an acknowledgment callback to acknowledge the incoming +message when the Reactive Messaging message is +processed/acknowledged. + +[IMPORTANT] +.Reactive matters +==== + +The first step should follow the reactive streams principle: uses +non-blocking technology, respects downstream requests. + +==== + +Outbound connectors are responsible for: + +[arabic] +. Receiving Reactive Messaging `Message` and transform it into a +structure understood by the remote broker. It includes marshaling +the payload. +. If the `Message` contains outbound metadata (metadata set during the +processing to influence the outbound structure and routing), taking +them into account. +. Sending the message to the remote broker. +. Acknowledging the Reactive Messaging `Message` when the broker has +accepted/acknowledged the message. + +== Configuring connectors + +Applications need to configure the connector used by expressing which +channel is managed by which connector. Non-mapped channels are local / +in-memory. + +To configure connectors, you need to have an implementation of +MicroProfile Config. If you don’t have one, add an implementation of +MicroProfile Config in your _classpath_, such as: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config + {smallrye-config-version} + +---- + +Then edit the application configuration, generally +`src/main/resources/META-INF/microprofile-config.properties`. + +The application configures the connector with a set of properties +structured as follows: + +.... +mp.messaging.[incoming|outgoing].[channel-name].[attribute]=[value] +.... + +For example: + +.... +mp.messaging.incoming.dummy-incoming-channel.connector=dummy +mp.messaging.incoming.dummy-incoming-channel.attribute=value +mp.messaging.outgoing.dummy-outgoing-channel.connector=dummy +mp.messaging.outgoing.dummy-outgoing-channel.attribute=value +.... + +You configure each channel (both incoming and outgoing) individually. + +The `++[++incoming++|++outgoing++]++` segment indicates the direction. + +* an `incoming` channel consumes data from a message broker or +something producing data. It’s an inbound interaction. It relates to +methods annotated with an `@Incoming` using the same channel name. +* an `outgoing` consumes data from the application and forwards it to +a message broker or something consuming data. It’s an outbound +interaction. It relates to methods annotated with an `@Outgoing` +using the same channel name. + +The `++[++channel-name++]++` is the name of the channel. If the channel name +contains a `.` (dot), you would need to use `"` (double-quote) around +it. For example, to configure the `dummy.incoming.channel` channel, you +would need: + +.... +mp.messaging.incoming."dummy.incoming.channel".connector=dummy +mp.messaging.incoming."dummy.incoming.channel".attribute=value +.... + +The `++[++attribute++]++=++[++value++]++` sets a specific connector attribute to the +given value. Attributes depend on the used connector. So, refer to the +connector documentation to check the supported attributes. + +The `connector` attribute must be set for each mapped channel and +indicates the name of the connector responsible for the channel. + +Here is an example of a channel using an MQTT connector, consuming data +from a MQTT broker, and a channel using a Kafka connector (writing data +to Kafka): + +[source,properties] +---- +# Configure the incoming health channel +mp.messaging.incoming.health.topic=neo +mp.messaging.incoming.health.connector=smallrye-mqtt +mp.messaging.incoming.health.host=localhost +mp.messaging.incoming.health.broadcast=true + +# Configure outgoing data channel +mp.messaging.outgoing.data.connector=smallrye-kafka +mp.messaging.outgoing.data.bootstrap.servers=localhost:9092 +mp.messaging.outgoing.data.key.serializer=org.apache.kafka.common.serialization.StringSerializer +mp.messaging.outgoing.data.value.serializer=io.vertx.kafka.client.serialization.JsonObjectSerializer +mp.messaging.outgoing.data.acks=1 +---- + +[IMPORTANT] +==== + +To use a connector, you need to add it to your _CLASSPATH_. Generally, +adding the dependency to your project is enough. Then, you need to know +the connector’s name and set the `connector` attribute for each channel +managed by this connector. + +==== + +[TIP] +.Connector names +==== + +Connector managed by the SmallRye Reactive Messaging project are typically +prefixed with `smallrye-`. For example, the SmallRye Kafka Connector is +named `smallrye-kafka`. When using Smallrye connectors, you can omit the +prefix and just use `kafka` as the connector name: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=kafka +mp.messaging.connector.kafka.bootstrap.servers=localhost:9092 +---- + +==== + +== Connector attribute table + +In the connector documentation, you will find a table listing the +attribute supported by the connector. Be aware that attributes for +inbound and outbound interactions may be different. + +These tables contain the following entries: + +[arabic] +. The name of the attribute, and potentially an _alias_. The name of +the attribute is used with the +`mp.messaging.++[++incoming++|++outgoing++]++.++[++channel-name++]++.++[++attribute++]++=++[++value++]++` +syntax (the `attribute` segment). The _alias_ (if set) is the name +of a global MicroProfile Config property that avoids having to +configure the attribute for each managed channel. For example, to +set the location of your Kafka broker globally, you can use the +`kafka.bootstrap.servers` alias. +. The description of the attribute, including the type. +. Whether that attribute is mandatory. If so, it fails the +deployment if not set +. The default value, if any. diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/contributing-connectors.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/contributing-connectors.adoc new file mode 100644 index 000000000..2af522fc2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/contributing-connectors.adoc @@ -0,0 +1,457 @@ += Connector Contribution Guide +:version-root: ../ +include::{version-root}_attributes.adoc[] + +A connector implementation is a CDI-managed bean, typically an `@ApplicationScoped` bean, +which is identified by the `@Connector` identifier. +In order to provide inbound and outbound channels, the connector implements two interfaces `InboundConnector` and `OutboundConnector` respectively. +In addition to that, the connector bean is annotated with `@ConnectorAttribute`, which describes attributes to configure channels. + +[NOTE] +.Maven Archetype +==== + +Smallrye Reactive Messaging provides a Maven archetype to bootstrap a new connector. +You can generate a new connector project with the code described in this guide using: + +[source,shell,subs="attributes+"] +---- +mvn -N archetype:generate \ +-DarchetypeGroupId=io.smallrye.reactive \ +-DarchetypeArtifactId=smallrye-reactive-messaging-connector-archetype \ +-DarchetypeVersion={project-version} \ +-DgroupId=io.smallrye.reactive \ +-Dpackage=io.smallrye.reactive.messaging.my \ +-Dversion={project-version} \ +-DartifactId=smallrye-reactive-messaging-my \ +-DconnectorName=my +---- + +==== + +The following is an example of a connector skeleton : + +[source,java] +---- +include::{examples-dir}/connectors/MyConnector.java[indent=0] +---- + +Note that the `getPublisher` and `getSubscriber` methods receive MicroProfile Config `Config` instance and wrap it with +`MyConnectorIncomingConfiguration` and `MyConnectorOutgoingConfiguration` objects. + +These custom channel configuration types ease getting channel configuration, including the optional or default values. +They are generated by the `smallrye-connector-attribute-processor` annotation processor, and can be configured in project pom like the following: + +[source,xml] +---- + + + ${project.groupId} + smallrye-reactive-messaging-provider + ${project.version} + + + io.smallrye.reactive + smallrye-connector-attribute-processor + ${project.version} + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${project.build.directory}/generated-sources/ + + + io.smallrye.reactive.messaging.connector.ConnectorAttributeProcessor + + + org.jboss.logging.processor.apt.LoggingToolsProcessor + + + + + + +---- + +The `smallrye-reactive-messaging-provider` is the minimum required dependency for a connector implementation. +You'll also note that the `LoggingToolsProcessor` annotation processor is also configured. +This enables generating internationalized log statements and exceptions. +Typically, you would create following interfaces in `i18n` sub-package: `++[++Connector++]++Exceptions`, `++[++Connector++]++Logging` and `++[++Connector++]++Messages`. +More information can be found in https://jboss-logging.github.io/jboss-logging-tools/[JBoss Logging Tools documentation]. + +== Implementing Inbound Channels + +The `InboundConnector` implementation returns, for a given channel configuration, a reactive stream of `Message`s. +The returned reactive stream is an instance of `Flow.Publisher` and typically can be implemented using Mutiny `Multi` type. + +[NOTE] +.`IncomingConnectorFactory` +==== + +The inbound channels can also implement the `IncomingConnectorFactory` from the MicroProfile Reactive Messaging specification. +However, the `PublisherBuilder` type can be more challenging to work with and +Smallrye Reactive Messaging converts the provided stream to Mutiny types to do the wiring anyway. + +==== + +The returned `Flow.Publisher` would allow controlling the flow of ingestion using backpressure. +It would be preferable to use pull-based APIs of the underlying messaging library to receive messages from the message broker. +You can refer to the https://smallrye.io/smallrye-mutiny/latest/guides/polling/[`Mutiny` "How to use polling?" guide] +to construct a `Multi` using Mutiny APIs, or implement the `Flow.Subscription` from scratch and wrap it in an `AbstractMulti`. + +Here is an example channel implementation which constructs the reactive stream using the polling API: + +[source,java] +---- +include::{examples-dir}/connectors/MyIncomingChannel.java[indent=0] +---- + +=== Connector Threading and Vert.x + +Whether the external API call is blocking or non-blocking, managing the thread on which the message processing will be dispatched can be challenging. +Smallrye Reactive Messaging depends on https://vertx.io/[Eclipse Vert.x] to consistently dispatch messages in event-loop or worker threads, +propagating the message context along different processing stages. +You can read more on xref:concepts/message-context.adoc[Message Context] and https://vertx.io/blog/an-introduction-to-the-vert-x-context-object/[Vert.x Context]. + +Some connectors already use Vert.x clients, such as RabbitMQ, AMQP 1.0 or MQTT. +Other connectors such as Kafka or Pulsar directly use the client library of the messaging technology, +therefore they create a Vert.x Context per channel to dispatch messages on that context. +Connectors can access the `Vertx` instance by injecting the `ExecutionHolder` bean. +https://smallrye.io/smallrye-mutiny/latest/guides/emit-on-vs-run-subscription-on/[Mutiny operators `runSubscribtionOn` and `emitOn`] can be used to switch threads the events are dispatched on. + +=== Custom Message and Metadata implementations + +Reactive messaging link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Message.html[`Message`] +type is a thin wrapper around a payload and some metadata, which lets implementing acknowledgment and negative acknowledgment of that message. + +Messages received from the underlying library very often return with a custom type, +wrapping the payload and some properties such as key, timestamp, schema information, or any other metadata. + +[TIP] +==== + +The client may propose different strategies for consuming messages individually or in batches. +If a batch consuming is available the incoming channel may receive wrap and dispatch message as a batch or individually. + +==== + +While it is possible to use `Message.of` builder methods to wrap the incoming message type, +a custom type implementing `Message` interface helps to deal with different aspects we'll cover later, +such as deserialization, message acknowledgment or tracing. + +An example message implementation would be like the following: + +[source,java] +---- +include::{examples-dir}/connectors/MyMessage.java[indent=0] +---- + +Note that `MyMessage` implements the `ContextAwareMessage`. +In the constructor `captureContextMetadata` helper method is used to capture the Vert.x context which created the object and capturing it into the `LocalContextMetadata`. +This metadata allows running xref:concepts/message-context.adoc[each message in its own Vert.x context, supporting context propagation]. + +The `MyMessage` type implements the accessors for the `metadata` and `payload` from the `Message` interface. +If the messaging technology doesn't have a built-in unmarshalling mechanism, the message can deserialize the raw payload to a primitive or a complex object. + +[WARNING] +==== + +The custom message implementation is usually not the type consumed by the application injecting channels. +Applications usually inject in the payload, the raw consumed type (in the above example the `ConsumedMessage`), +or some other type provided by the xref:concepts/converters.adoc[`MessageConverter`s]. +Handling of `Message` types by the application is restricted only to advanced use cases, because handling of message acknowledgment is manual +Even then the message may be intercepted before and changed, conserving the `metadata`, `ack` and `nack` handlers but not the original type created by the connector. + +==== + +The `MyIncomingMetadata` gives access to the underlying consumed message attributes, and applications can inject this object for accessing message details: + +[source,java] +---- +include::{examples-dir}/connectors/MyIncomingMetadata.java[indent=0] +---- + +Also note that `ack` and `nack` method implementations are delegated to handler objects. +This allows configuring different strategies at channel level. + +=== Acknowledgment strategies + +The xref:concepts/acknowledgement.adoc[acknowledgement] is the way for message consumers to inform the broker that the message has been successfully received and processed. +Depending on the messaging technology the broker then can decide to remove the message from the queue, flag as consumed or purge it completely. +In Reactive Messaging there are different policies to trigger the acknowledgement but the canonical one is to acknowledge a message when the processing (potentially asynchronous) has completed (`POST++_++PROCESSING`). + +The Reactive Messaging defines `Message#ack` method as non-blocking asynchronous, returning a `CompletionStage++<++Void++>++`, +because potentially the acknowledgement action sends a network call to the broker. + +The following example simply calls the client `ack` method using the Mutiny `Uni` and switch the emitter to the Message context. +Returning back to the message context is essential for chaining asynchronous actions without losing the context and for keeping the consistency on message consumption flow. + +[source,java] +---- +include::{examples-dir}/connectors/MyAckHandler.java[indent=0] +---- + +While this ack handler strategy acknowledges each message to the broker, +the messaging technology can allow employing different strategies for acknowledging messages. +For example an ack strategy can track processed messages and acknowledge them altogether or call a different client side endpoint to acknowledge the message batch. + +=== Failure handling strategies + +The failure handling, or the xref:concepts/acknowledgement.adoc#negative-acknowledgement[negative acknowledgment] allows indicating that a message was not processed correctly. +Similar to the acknowledgment the Reactive Messaging defines `Message#nack(Throwable reason, Metadata metadata)` method as non-blocking asynchronous, returning a `CompletionStage++<++Void++>++`. + +[source,java] +---- +include::{examples-dir}/connectors/MyFailureHandler.java[indent=0] +---- + +Different failure handling strategies can, for example, +- Ignore the failure, log and call the `ack` instead +- Send the message to a dead letter queue and call the `ack` +- Employ a different strategy depending on the `Metadata` associated with the `nack` method call. + +=== Message Converters + +The connector can propose default xref:concepts/converters.adoc[`MessageConverter`] implementations for converting the payload to a custom type. +As an example the following converter extracts the `CustomMessage` and puts it in the payload: + +[source,java] +---- +include::{examples-dir}/connectors/MyMessageConverter.java[indent=0] +---- + +== Implementing Outbound Channels + +The `OutboundConnector` implementation returns, for a given channel configuration, a `Flow.Subscriber` of messages. +This is typically implemented by a custom `Flow.Processor` and using the `MultiUtils.via` helper methods to apply message transformations. + +[NOTE] +.`OutgoingConnectorFactory` +==== + +The outbound channels can also implement the `OutgoingConnectorFactory` from the MicroProfile Reactive Messaging specification. +However, it is usually more friendly to work with the `MultiUtils.via` methods to construct and transform outgoing messages. + +==== + +Here is an example outgoing channel implementation: + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannel.java[indent=0] +---- + +The `MultiUtils.via` helper method allows using the `Multi` chaining methods and in the same time provides a `Flow.Subscriber`. +However, this implementation allows sending messages one at a time: +one only after the previous outgoing message send is completed. + +Some messaging technologies provide publish receipt, +a message back from the broker to the sender that asynchronously acknowledges the sent operation. +In this case the connector can only be sure of the send operation when it receives the publish receipt of that message. +Some technologies may provide blocking sending calls, +in that case the connector needs to delegate the sending call to a worker thread. + +Depending on whether the client supports multiple in-flight outgoing messages, you can also use a `SenderProcessor`, +which allows receiving configuration for the maximum number of in-flight messages and whether it waits for completion (publish receipt from the broker): + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannelWithPartials.java[tags=sender-processor,indent=0] +---- + +Other more advanced scenarios can be implemented to retry the transmission in case of a retryable failure, +or batch multiple outgoing messages to a single send operation. + +=== Outgoing `Message` Builder + +In order to convey all attributes of the outgoing message to the client library +connectors provide outgoing `Message` implementation and a corresponding outgoing message metadata. +These allow the application developer to build the message attributes that will be sent to the broker. + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingMessage.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingMetadata.java[indent=0] +---- + +The outgoing channel implementation then will construct the client library object that represents the outbound message, `SendMessage` in this example: + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannelWithPartials.java[tags=send-message,indent=0] +---- + +It is a best practice to also allow the application to return a payload of the client outbound library object (`SendMessage`). + +=== Outgoing message acknowledgement + +Because the Reactive Messaging xref:concepts/acknowledgement.adoc#chain-of-acknowledgment[chains acknowledgements] from incoming message until the outgoing message, +it is crucial for the outgoing channel to correctly ack and nack the message. + +== Smallrye Health Integration + +Smallrye Reactive Messaging allows connectors to integrate with Smallrye Health to contribute channel state to the health reports. +Connectors need to implement the `HealthReporter` interface and implement some or all of the `getReadiness`, `getLiveness` and `getStartup` methods: + +[source,java] +---- +include::{examples-dir}/connectors/MyConnectorWithPartials.java[tags=health-report,indent=0] +---- + +Implementing health reports per channel depends on what information is available to the connector. +For more information on different health check probes you can check out https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/[Configure Liveness, Readiness and Startup Probes] + +You may want to add a connector attribute to enable/disable the health reporting per channel: + +[source,java] +---- +import io.smallrye.reactive.messaging.annotations.ConnectorAttribute; + +@ConnectorAttribute(name = "health-enabled", type = "boolean", direction = ConnectorAttribute.Direction.INCOMING_AND_OUTGOING, description = "Whether health reporting is enabled (default) or disabled", defaultValue = "true") +---- + +== OpenTelemetry Tracing Integration + +Smallrye Reactive Messaging allows connectors to easily integrate with OpenTelemetry tracing. +It propagates the tracing context from inbound messages and to outbound messages. +The `smallrye-reactive-messaging-otel` module provides necessary dependencies to the OpenTelemetry artifacts and also provides `TracingUtils` helper class for setting up the tracing. + +[source,xml] +---- + + io.smallrye.reactive.messaging + smallrye-reactive-messaging-otel + +---- + +For integrating tracing you'd need to create a couple of classes: + +* Holder class for tracing information +* Implementation of `io.opentelemetry.context.propagation.TextMapGetter`, which retrieves for a given key the value of a tracing attributed from the holder object +* Implementation of `io.opentelemetry.context.propagation.TextMapSetter`, which sets on the holder object the key and value of tracing attributes +* Implementations of `io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor` and `io.opentelemetry.instrumentation.api.instrumenter.messaging.MessagingAttributesGetter` + +Then you'd need to configure instrumenters per incoming and outgoing channel: + +[source,java] +---- +include::{examples-dir}/connectors/tracing/MyOpenTelemetryInstrumenter.java[tags=create-instrumenter,indent=0] +---- + +Finally, you'd need to configure instrumenters per incoming and outgoing channels and wire the call to instrumenter using `TracingUtils`. + +For an incoming channel, you'd need to call the instrumenter on an inbound message: + +[source,java] +---- +include::{examples-dir}/connectors/MyIncomingChannelWithPartials.java[tags=incoming-tracing,indent=0] +---- + +For an outgoing channel, you'd need to call the instrumenter on constructing the outbound message: + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannelWithPartials.java[tags=outgoing-tracing,indent=0] +---- + +You may want to add a connector attribute to enable/disable the tracing per channel: + +[source,java] +---- +import io.smallrye.reactive.messaging.annotations.ConnectorAttribute; + +@ConnectorAttribute(name = "tracing-enabled", type = "boolean", direction = ConnectorAttribute.Direction.INCOMING_AND_OUTGOING, description = "Whether tracing is enabled (default) or disabled", defaultValue = "true") +---- + +== Testing the connector + +While unit tests are highly encouraged for validating ad-hoc logic in connector code, +by nature connector tests are mostly integration tests validating the correct configuration and functioning of channels. +Most of the time tests need to run against a broker instance. +This instance can be mocked or embedded in the test JVM, +or provisioned in a container runtime using https://testcontainers.org[Testcontainers]. +The testcontainers approach is encouraged as it'll provide a testing environment closest to reality. + +It may take too much time and resources to start a broker per test method or per test class, +so may want to share the same broker instance between all test classes. +In that case you can checkout how to write a https://junit.org/junit5/docs/current/user-guide/#extensions[JUnit 5 Extension] +and start only one container instance in the beginning of tests and stop it at the end of all the tests. + +There are essentially two ways of creating the connector behavior to test against: + +[arabic] +. Instantiating channels directly by passing the custom configuration. +With this you can get the Reactive stream directly from the channel implementation and send/receive messages. +You can use https://smallrye.io/smallrye-mutiny/2.5.1/guides/testing/[AssertSubscriber from Mutiny] to regulate demand and write assertions. +. CDI-based tests which write configuration and instantiate application beans. +You can use https://weld.cdi-spec.org/[Weld, the reference implementation of CDI specification] with configured set of beans and extensions: + +[source,java] +---- +include::{examples-dir}/connectors/test/WeldTestBase.java[indent=0] +---- + +You would need following test dependencies for enabling Weld in tests: + +[source,xml] +---- + + io.smallrye.reactive + test-common + test + + + org.jboss.weld.se + weld-se-shaded + ${weld.version} + test + + + org.jboss.weld + weld-core-impl + ${weld.version} + test + + + org.awaitility + awaitility + test + +---- + +Your test classes can therefore extend the `WeldTestBase` and provide configuration and application beans: + +[source,java] +---- +include::{examples-dir}/connectors/test/MyConnectorTest.java[indent=0] +---- + +[TIP] +.Awaitility +==== + +Because connector tests are usually asynchronous, https://github.com/awaitility/awaitility[awaitility] +provides a DSL to await on expressed assertions. + +==== + +=== Common tests for validating the connector + +* Message consumption through incoming channels +* Message producing through outgoing channels +* Ack and failure handler strategies test +* Message Context propagation test `LocalPropagationTest` +* `HealthCheckTest` +* `MessageConverterTest` +* `TracingPropagationTest` +* Configuration test +* Authentication test +* Tests for diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/converters.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/converters.adoc new file mode 100644 index 000000000..ff3f6148e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/converters.adoc @@ -0,0 +1,43 @@ += Message Converters +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging supports _message converters_, allowing to +transform an incoming message into a version accepted by the method. If +the incoming messages or payload does not match the invoked method’s +expectation, SmallRye Reactive Messaging looks for a suitable converter. +If found, it converts the incoming message with this converter. + +Converters can have multiple purposes, but the main use case is about +transforming the message’s payload: + +[source,java] +---- +include::{examples-dir}/converters/MyConverter.java[tags=code,indent=0] +---- + +To provide a converter, implement a bean exposing the `MessageConverter` +interface. The `canConvert` method is called during the lookup and +verifies if it can handle the conversion. The `target` type is the +expected payload type. If the converter returns `true` to `canConvert`, +SmallRye Reactive Messaging calls the `convert` method to proceed to the +conversion. + +The previous converter can be used in application like the following, to +convert `Message++<++String++>++` to `Message++<++Person++>++`: + +[source,java] +---- +include::{examples-dir}/converters/ConverterExample.java[tags=code,indent=0] +---- + +Converters work for all supported method signatures. However, the +signature must be well-formed to allow the extraction of the expected +payload type. Wildcards and raw types do not support conversion. If the +expected payload type cannot be extracted, or no converter fits, the +message is passed as received. + +If multiple suitable converters are present, implementations should +override the `getPriority` method returning the priority. The default +priority is `100`. The converter lookup invokes converters with higher +priority (from the least value to the greatest) first. diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/decorators.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/decorators.adoc new file mode 100644 index 000000000..0cdb8b7a9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/decorators.adoc @@ -0,0 +1,96 @@ += Channel Decorators +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging supports decorating reactive streams +of incoming and outgoing channels for implementing cross-cutting +concerns such as monitoring, tracing or message interception. + +Two symmetrical APIs are proposed for decorating publisher and subscriber channels, +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/PublisherDecorator.html[`PublisherDecorator`] +and link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/SubscriberDecorator.html[`SubscriberDecorator`] respectively. + +[IMPORTANT] +==== + +`@Incoming` channels and channels bound to an outbound connector are both `Subscriber`s. +Conversely `@Outgoing` channels and channels bound to an inbound connector are `Publisher`s. + +==== + +For example, to provide a decorator which counts consumed messages from incoming connector, +implement a bean exposing the interface `PublisherDecorator`: + +[source,java] +---- +include::{examples-dir}/decorators/ConsumedMessageDecorator.java[tags=code,indent=0] +---- + +Decorators' `decorate` method is called only once per channel at application deployment when graph wiring is taking place. +Decorators are very powerful because they receive the stream of messages (Mutiny `Multi++<++Message++<++?++>>++`) +and potentially return a new stream of messages. + +Note that if a decorator is available it will be called on every channel. +The `decorate` method receives the channel name and whether the channel is a connector or not as parameters. +Decorators are called ordered from highest to lowest priority (from the least value to the greatest), +obtained using the `jakarta.enterprise.inject.spi.Prioritized#getPriority` method. + +[NOTE] +==== + +The `SubscriberDecorator` receive a list of channel names because `@Incoming` annotation is repeatable +and consuming methods can be linked to multiple channels. + +==== + +== Intercepting Incoming and Outgoing Messages + +Decorators (`PublisherDecorator` and `SubscriberDecorator`) can be used to intercept and alter messages, both on incoming and outgoing channels. + +Smallrye Reactive Messaging allows defining intercepting incoming and outgoing messages for a specific channel, using +`IncomingInterceptor` and `OutgoingInterceptor` respectively. + +Only one interceptor is allowed to be bound for interception per outgoing channel. +If no interceptors are found with a `@Identifier` but a `@Default` one is available, it is used. +When multiple interceptors are available, the bean with the highest priority is used. + +=== `IncomingInterceptor` + +To provide an incoming interceptor implement a bean exposing the interface link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/IncomingInterceptor.html[`IncomingInterceptor`], qualified with a `@Identifier` with the channel name to intercept. + +[source,java] +---- +include::{examples-dir}/interceptors/MyIncomingInterceptor.java[indent=0] +---- + +An `IncomingInterceptor` can implement these three methods: + +* `Message++<++?++>++ afterMessageReceive(Message++<++?++>++ message)` : Called after receiving the message from an incoming connector. +The message can be altered by returning a new message from this method. The modified message will be consumed in incoming channels. +* `void onMessageAck(Message++<++?++>++ message)` : Called after message acknowledgment. +* `void onMessageNack(Message++<++?++>++ message, Throwable failure)` : Called after message negative-acknowledgment. + +[NOTE] +==== + +If you are willing to adapt an incoming message payload to fit a consuming method receiving type, +you can use xref:concepts/converters.adoc[`MessageConverter`]s. + +==== + +=== `OutgoingInterceptor` + +To provide an outgoing interceptor implement a bean exposing the interface link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/OutgoingInterceptor.html[`OutgoingInterceptor`], qualified with a `@Identifier` with the channel name to intercept. + +[source,java] +---- +include::{examples-dir}/interceptors/MyOutgoingInterceptor.java[indent=0] +---- + +An `OutgoingInterceptor` can implement these three methods: + +* `Message++<++?++>++ beforeMessageSend(Message++<++?++>++ message)` : Called before passing the message to the outgoing connector for transmission. +The message can be altered by returning a new message from this method. +* `void onMessageAck(Message++<++?++>++ message)` : Called after message acknowledgment. +This callback can access `OutgoingMessageMetadata` which will hold the result of the message transmission to the broker, if supported by the connector. This is only supported by MQTT and Kafka connectors. +* `void onMessageNack(Message++<++?++>++ message, Throwable failure)` : Called after message negative-acknowledgment. diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/emitter.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/emitter.adoc new file mode 100644 index 000000000..a59761323 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/emitter.adoc @@ -0,0 +1,270 @@ += Emitter and Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is not rare to combine in a single application imperative parts +(Jax-RS, regular CDI _beans_) and reactive parts (_beans_ with +`@Incoming` and `@Outgoing` annotations). In these case, it’s often +required to send _messages_ from the imperative part to the reactive +part. In other words, send messages to channels handled by reactive +messaging and how can you retrieve messages. + +== Emitter and @Channel + +To send _things_ (payload or `Message`) from imperative code to a +specific channel you need to use: + +[arabic] +. the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Channel.html[`org.eclipse.microprofile.reactive.messaging.Channel`] annotations +. the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Emitter.html[`org.eclipse.microprofile.reactive.messaging.Emitter`] type + +The `@Channel` lets you indicate to which channel you are going to send +your payloads or messages. The `Emitter` is the object to use to send +these payloads or messages. + +[source,java] +---- +include::{examples-dir}/emitter/MyImperativeBean.java[tags=intro,indent=0] +---- + +The `Emitter` class takes a type parameter. It’s the type of payload. +Even if you want to send `Messages`, the type is the payload type. + +[IMPORTANT] +==== + +You must have a `@Incoming("prices")` somewhere in your application +(meaning a method consuming messages transiting on the channel +`prices`), or an outbound connector configured to manage the `prices` +channel (`mp.messaging.outgoing.prices...`) + +==== + +== Sending payloads + +Sending payloads is done as follows: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=payload,indent=0] +---- + +When sending a payload, the emitter returns a `CompletionStage`. This +`CompletionStage` gets completed once the message created from the +payload is acknowledged: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=cs,indent=0] +---- + +If the processing fails, the `CompletionStage` gets completed +exceptionally (with the reason of the nack). + +== Sending messages + +You can also send `Messages`: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message,indent=0] +---- + +When sending a `Message`, the emitter does not return a +`CompletionStage`, but you can pass the ack/nack callback, and be called +when the message is acked/nacked. + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message-ack,indent=0] +---- + +Sending messages also let you pass metadata. + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message-meta,indent=0] +---- + +Metadata can be used to propagate some context objects with the message. + +== Overflow management + +When sending messages from imperative code to reactive code, you must be +aware of back-pressure. Indeed, messages sent using the emitter and +stored in a _queue_. If the consumer does not process the messages +quickly enough, this queue can become a memory hog and you may even run +out of memory. + +To control what need to happen when the queue becomes out of control, +use the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/OnOverflow.html[`OnOverflow`] annotation. `@OnOverflow` lets you configure: + +* the maximum size of the queue (default is 256) +* what needs to happen when this size is reached (fail, drop...) + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=overflow,indent=0] +---- + +The supported strategies are: + +* `OnOverflow.Strategy.BUFFER` - use a buffer to store the elements +until they are consumed. If the buffer is full, a failure is +propagated (and the thread using the emitted gets an exception) +* `OnOverflow.Strategy.UNBOUNDED++_++BUFFER` - use an unbounded buffer to +store the elements +* `OnOverflow.Strategy.DROP` - drops the most recent value if the +downstream can’t keep up. It means that new value emitted by the +emitter are ignored. +* `OnOverflow.Strategy.FAIL` - propagates a failure in case the +downstream can’t keep up. +* `OnOverflow.Strategy.LATEST` - keeps only the latest value, dropping +any previous value if the downstream can’t keep up. +* `OnOverflow.Strategy.NONE` - ignore the back-pressure signals +letting the downstream consumer to implement a strategy. + +=== Defensive emission + +Having an emitter injected into your code does not guarantee that +someone is ready to consume the message. For example, a subscriber may +be connecting to a remote broker. If there are no subscribers, using the +`send` method will throw an exception. + +The `emitter.hasRequests()` method indicates that a subscriber +subscribes to the channel and requested items. So, you can wrap your +emission with: + +[source,java] +---- +if (emitter.hasRequests()) { + emitter.send("hello"); +} +---- + +If you use the `OnOverflow.Strategy.DROP`, you can use the `send` method +even with no subscribers nor demands. The message will be nacked +immediately. + +== Retrieving channels + +You can use the `@Channel` annotation to inject in your bean the +underlying stream. Note that in this case, you will be responsible for +the subscription: + +[source,java] +---- +include::{examples-dir}/emitter/ChannelExamples.java[tags=channel,indent=0] +---- + +[IMPORTANT] +==== + +You must have a `@Outgoing("my-channel")` somewhere in your application +(meaning a method generating messages transiting on the channel +`my-channel`), or an inbound connector configured to manage the `prices` +channel (`mp.messaging.incoming.prices...`) + +==== + +Injected _channels_ merge all the matching _outgoing_ - so if you have +multiple `@Outgoing("out")`, `@Inject @Channel("out")` gets all the +messages. + +If your injected _channel_ receives _payloads_ (`Multi++<++T++>++`), it +acknowledges the message automatically, and support multiple +subscribers. If you injected _channel_ receives `Message` +(`Multi++<++Message++<++T++>>++`), you will be responsible for the acknowledgement +and broadcasting. + +== Emitter and @Broadcast + +When using an `Emitter`, you can now `@Broadcast` what is emitted to all +subscribers. + +Here is an example of emitting a price with two methods marked +`@Incoming` to receive the broadcast: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=broadcast,indent=0] +---- + +For more details see xref:concepts/broadcast.adoc[@Broadcast] +documentation. + +== Mutiny Emitter + +If you prefer to utilize `Uni` in all your code, there is now a +`MutinyEmitter` that will return `Uni++<++Void++>++` instead of `void`. + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni,indent=0] +---- + +There’s also the ability to block on sending the event to the emitter. +It will only return from the method when the event is acknowledged, or +nacked, by the receiver: + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni-await,indent=0] +---- + +And if you don’t need to worry about the success or failure of sending +an event, you can `sendAndForget`: + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni-forget,indent=0] +---- + +== Custom Emitter Implementations + +[WARNING] +.Experimental +==== + +Custom emitter implementations is an experimental feature. + +==== + +`Emitter` and `MutinyEmitter` are two implementations of the emitter concept, +where imperative code in your application can send messages to Reactive Messaging channels. + +With `EmitterFactory` it is possible to provide custom implementations, and application facing emitter interfaces. + +In the following example, the injectable custom emitter interface is `CustomEmitter`, +and it is implemented by `CustomEmitterImpl`: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-declaration,indent=0] +---- + +Note that `CustomEmitter` interface extends `EmitterType`, which is a marker interface for discovering custom emitter types. +Also, `CustomEmitterImpl` implements the `MessagePublisherProvider`, which is used by the framework to transform this emitter to a channel. + +Then we need to provide an implementation of the `EmitterFactory` interface: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-factory,indent=0] +---- + +The `CustomEmitterFactory` is a CDI managed bean, which implements the `EmitterFactory`. +It is qualified with `EmitterFactoryFor` annotation which is configured with the emitter interface `CustomEmitter` that this factory provides. + +Smallrye Reactive Messaging discovers the emitter factory during the CDI deployment validation +and verifies that custom emitters used by the application have corresponding emitter factories. +It'll use the emitter factory to create the emitter implementation and will register the implementation into the `ChannelRegistry`. + +Note that the `CustomEmitterFactory` also uses the `ChannelRegistry` and provides the custom emitter with `@Produces`. + +Finally, the application can inject and use the `CustomEmitter` as a normal emitter channel: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-usage,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/generic-payloads.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/generic-payloads.adoc new file mode 100644 index 000000000..fd7193fd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/generic-payloads.adoc @@ -0,0 +1,55 @@ += Generic Payloads +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Generic payloads are an experimental feature and the API is subject to change. + +==== + +When using reactive messaging, `Message` flow in your system +each message has a payload but can also contain _metadata_, as explained in xref:concepts/concepts.adoc#messages-payload-metadata[Messages, Payload, Metadata]. +The metadata can hold information, for example in an outgoing channel, additional properties of the outgoing message to be sent to the broker. + +It is sometimes preferable to continue using the xref:concepts/model.adoc#messages-vs-payloads[payload signatures], +and also being able to attach metadata. +Using `GenericPayload` allows customizing metadata when handling payloads in SmallRye Reactive Messaging `@Incoming` and `@Outgoing` methods. +`GenericPayload` is a wrapper type, like the `Message`, containing a payload and metadata, +without requiring handling acknowledgments manually. + +[source,java] +---- +include::{examples-dir}/genericpayload/GenericPayloadExample.java[tags=code,indent=0] +---- + +You can combine generic payloads with xref:concepts/incoming-metadata-injection.adoc[metadata injection] : + +[source,java] +---- +include::{examples-dir}/genericpayload/GenericPayloadExample.java[tags=injection,indent=0] +---- + +Note that the metadata provided with the outgoing generic payload is merged with the incoming message metadata. + +`GenericPayload` can also be used with emitters to attach metadata without dealing with `Message` directly: + +[source,java] +---- +include::{examples-dir}/genericpayload/GenericPayloadExample.java[tags=emitter,indent=0] +---- + +The inner payload is extracted and the metadata from the `GenericPayload` is merged into the outgoing message. +Note that existing metadata entries are not overwritten by the `GenericPayload` metadata. +If a metadata entry of the same type already exists, it is preserved unless the metadata class implements `MergeableMetadata`. + +[WARNING] +.Limitations +==== + +While `GenericPayload++<++T++>++` can be used as an incoming payload type, +xref:concepts/converters.adoc[message converters] are not applied to the payload type `T`. + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/incoming-concurrency.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/incoming-concurrency.adoc new file mode 100644 index 000000000..058eb070f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/incoming-concurrency.adoc @@ -0,0 +1,73 @@ += Incoming Channel Concurrency +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Incoming channel `concurrency` config is an experimental feature. + +==== + +The `concurrency` attribute for incoming channels provides a mechanism to enable concurrent non-blocking processing of incoming messages. +When applied to a channel, this attribute specifies the number of copies of that channel to be created and wired to the processing method, +allowing multiple messages to be processed concurrently. + +For example, concurrency configuration for a Kafka incoming channel the configuration will look like: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-kafka +mp.messaging.incoming.my-channel.topic=orders +mp.messaging.incoming.my-channel.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer +mp.messaging.incoming.my-channel.concurrency=4 +---- + +In this example, there will be 4 copies of the `my-channel` running concurrently, with distinctive internal channel names, +`my-channel$1`, `my-channel$2`, etc. but all registered with the name `my-channel` to the `ChannelRegistry`. + +[NOTE] +.Kafka connector `partitions` +==== + +This is essentially very similar to the Kafka connector `partitions` configuration, but addresses some its limitations. +Using `partitions` config in Kafka connector, channels are merged into the downstream message processor +(method annotated with `@Incoming` or an injected channel) which is therefore called sequentially. +This prevents concurrently processing messages from multiple partitions. + +The `concurrency` mechanism effectively allows polling Kafka partitions from separate clients +and concurrently processing records while preserving the in-partition order. + +==== + +Copy channels inherit all configuration attributes of the main channel config. +Per-copy channel attributes can be configured separately using the `$` separated channel names: `mp.messaging.incoming.my-channel$1.attribute`. + +For example, the following AMQP 1.0 channel defines 3 channels each with a different selector: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-amqp +mp.messaging.incoming.data.address=address +mp.messaging.incoming.data.durable=false +mp.messaging.incoming.data.concurrency=3 +mp.messaging.incoming.data$1.selector=x='foo' +mp.messaging.incoming.data$2.selector=x='bar' +mp.messaging.incoming.data$3.selector=x='baz' +---- + +While the `concurrency` attribute is applicable to channels of any connector type, +the channel implementation may need to take this configuration into account and adjust the threading accordingly. +Connectors based on Vert.x event loop create a new event loop context per copy-channel to dispatch messages on distinct contexts. + +[IMPORTANT] +.Non-blocking processing +==== + +Note that while this allows concurrent processing, messages are still dispatched on Vert.x event loop threads, and should not be blocked. + +==== + +Otherwise, connectors treat copy channels as independent channels. +For example, health check reports are registered separately for each copy-channel. diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/incoming-metadata-injection.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/incoming-metadata-injection.adoc new file mode 100644 index 000000000..fb27198b2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/incoming-metadata-injection.adoc @@ -0,0 +1,29 @@ += Incoming Metadata Injection +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Metadata injection is an experimental feature. + +==== + +When using reactive messaging, `Message` flow in your system. +Each message has a payload but can also contain _metadata_, as explained in xref:concepts/concepts.adoc#messages-payload-metadata[Messages, Payload, Metadata]. + +You can inject the incoming message metadata as a parameter depending on the method signature. +*Only methods receiving the payload as a parameter can also receive the metadata.* +For example, `@Incoming("in") void consume(String s)` can also receive the metadata using the following signature: +`@Incoming("in") void consume(String s, MyMetadata m)`. +Note that the payload must be the first parameter. + +The metadata can be injected using the class of the metadata to inject. +In this case, the method is invoked with `null` if the metadata is missing. +You can also inject the metadata using `Optional++<++MetadataClass++>++,` which would be empty if the incoming message does not contain metadata of type `MetadataClass.` + +[source,java] +---- +include::{examples-dir}/incomings/MetadataInjectionExample.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/incomings.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/incomings.adoc new file mode 100644 index 000000000..8fc179d3a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/incomings.adoc @@ -0,0 +1,20 @@ += Multiple Incoming Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Multiple `@Incomings` is an experimental feature. + +==== + +The `@Incoming` annotation is repeatable. It means that the method +receives the messages transiting on every listed channels, in no +specific order: + +[source,java] +---- +include::{examples-dir}/incomings/IncomingsExamples.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/keyed-multi.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/keyed-multi.adoc new file mode 100644 index 000000000..cc1824499 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/keyed-multi.adoc @@ -0,0 +1,52 @@ += Using `KeyedMulti` +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`KeyedMulti` is an experimental feature. + +==== + +When implementing a data streaming application, it's common to handle messages partitioned using a _key_. +In this case, your stream manipulation often has to 1) group by key and 2) do the manipulation. +Reactive Messaging can do the first step for you and reduce the code complexity. +To do this, it injects `io.smallrye.reactive.messaging.keyed.KeyedMulti` in your method instead of a _bare_ `Multi`. + +For example, imagine the following stream, represented as `key:value`: `"a:1", "b:1", "a:2", "b:2", "b:3"...` +Then, let's consider the following method: + +[source,java] +---- +include::{examples-dir}/keyed/KeyedMultiExample.java[tags=code,indent=0] +---- + +Reactive Messaging automatically extracts the key and value from the incoming stream and invokes the method for each key. +The received `KeyedMulti` represent the stream for each key. +The `key()` method returns the extracted key. + +The key and value can be extracted from the payload but also (and often) from the message's metadata. + +When using Kafka, it automatically extracts the key/value from the Kafka records. +In the other cases, or if you need custom extraction, you can implement your own `io.smallrye.reactive.messaging.keyed.KeyValueExtractor`. +Implementations are exposed `ApplicationScoped` beans, and are used to extract the key and value. +The following implementation extracts the key and value from payloads structured as "key:value": + +[source,java] +---- +include::{examples-dir}/keyed/KeyValueExtractorFromPayload.java[tags=code,indent=0] +---- + +The extractor selection uses the `canExtract` method. +When multiple extractors are available, you can implement the `getPriority()` method to give a lower priority. +Default extractors have the priority 100. +So, if you have a custom extractor with the priority 99, it will be used (if it replies `true` to the `canExtract` call). +In addition, you can use the `io.smallrye.reactive.messaging.keyed.Keyed` annotation to indicate the class of the extractor to use. +The extractor must still be a CDI bean, but the `canExtract` method is not called, and priority does not matter: + +[source,java] +---- +include::{examples-dir}/keyed/KeyedExample.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/logging.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/logging.adoc new file mode 100644 index 000000000..2a8fc8df3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/logging.adoc @@ -0,0 +1,269 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging uses https://github.com/jboss-logging[JBoss +Logging] as logging API. This section +explains how to configure the loggers for various logging backends. + +[TIP] +==== + +If you are developing SmallRye Reactive Messaging and wonder about how +the logs are managed, it uses https://jboss-logging.github.io/jboss-logging-tools/#introduction[JBoss Logging +Tools]. + +==== + +== Logging Backends + +SmallRye Reactive Messaging uses the JBoss Logging library to write +messages to a log file. This library is a logging _bridge_ that +integrates different log frameworks. You can decide which of the +following frameworks you want to use for your application: + +* JBoss LogManager (`jboss`) +* Log4j 2 (`log4j2`) +* Log4j 1 (`log4j`) +* Slf4j (`slf4j`) +* JDK logging (`jul`) + +You only need to add the chosen framework to the classpath, and the +JBoss Logging library will pick it up. If there are multiple frameworks +available on the classpath, it picks the first found (in the order from +the list). Alternatively, you can set the `org.jboss.logging.provider` +system property is one of the values given above. + +The concepts and log categories are the same for all frameworks. +However, the format of the configuration file and the names of the log +levels differ. Check the documentation of your logging library to find +out which _dependencies_ are required, the exact name of the log levels, +and where the configuration should be written. + +== Log Categories + +As all applications and frameworks, SmallRye Reactive Messaging writes +log messages in different categories and log levels. The categories +group messages from specific connectors, classes or components. The +following table shows the essential log categories used by SmallRye +Reactive Messaging: + +[width="100%",cols="36%,64%",options="header",] +|=== +|Category |Description +|`io.smallrye.reactive.messaging` |This category contains all the messages written by SmallRye Reactive Messaging. +|`io.smallrye.reactive.messaging.provider` |This category contains all the messages generated by the _core_ (provider). +|`io.smallrye.reactive.messaging.kafka` |This category contains all the messages generated by the Kafka Connector. +|`io.smallrye.reactive.messaging.amqp` |This category contains all the messages generated by the AMQP Connector. +|`io.smallrye.reactive.messaging.jms` |This category contains all the messages generated by the JMS Connector. +|`io.smallrye.reactive.messaging.camel` |This category contains all the messages generated by the Camel Connector. +|`io.smallrye.reactive.messaging.mqtt` |This category contains all the messages generated by the MQTT (Client) Connector. +|`io.smallrye.reactive.messaging.mqtt-server` |This category contains all the messages generated by the MQTT (Server) Connector. +|=== + +The names of the log levels are defined by your logging framework and +determine the amount and granularity of the log messages. You can assign +a log level to each category. If you do not specify a specific +category’s log level, it will inherit the level from its parent +category. Thus, setting the log level of +`io.smallrye.reactive.messaging` influences every loggers from SmallRye +Reactive Messaging. + +== Message Code + +Each message has an identifier code. They are all prefixed with `SRMSG`, +followed with the numeric code. + +In the following output, the code is `SRMSG00229`: + +.... +[2020-06-15 13:35:07] [INFO ] SRMSG00229: Channel manager initializing... +.... + +== Recommended logging configurations + +=== Development + +==== Log4J 1 + +_log4j.properties_ + +[source,properties] +---- +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +log4j.rootLogger=info, stdout +log4j.logger.io.smallrye.reactive.messaging=info +log4j.logger.org.jboss.weld=warn +---- + +==== Log4J 2 + +_log4j2.xml_ + +[source,xml] +---- + + + PropertiesConfiguration + + + + + + [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n + > + + + + + + + + + + + + + + + +---- + +==== JDK (JUL) + +_logging.properties_ + +[source,properties] +---- +handlers=java.util.logging.ConsoleHandler + +java.util.logging.ConsoleHandler.level=FINEST +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$-7s] %5$s %n + +.level=INFO +io.smallrye.reactive.messaging.level=INFO +org.jboss.weld.level=WARNING +---- + +==== LogBack via SLF4J++*++ + +_logback.xml_ + +[source,xml] +---- + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + +---- + +=== Production + +==== Log4J 1 + +_log4j.properties_ + +[source,properties] +---- +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +log4j.rootLogger=info, stdout +log4j.logger.io.smallrye.reactive.messaging=warn +log4j.logger.org.jboss.weld=error +---- + +==== Log4J 2 + +_log4j2.xml_ + +[source,xml] +---- + + + PropertiesConfiguration + + + + + + [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n + > + + + + + + + + + + + + + + + +---- + +==== JDK (JUL) + +_logging.properties_ + +[source,properties] +---- +handlers=java.util.logging.ConsoleHandler + +java.util.logging.ConsoleHandler.level=INFO +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$-7s] %5$s %n + +.level=INFO +io.smallrye.reactive.messaging.level=WARNING +org.jboss.weld.level=SEVERE +---- + +_logback.xml_ + +[source,xml] +---- + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + +---- diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/merge.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/merge.adoc new file mode 100644 index 000000000..d7bd6cbd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/merge.adoc @@ -0,0 +1,47 @@ += Merge channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`@Merge` is an experimental feature. + +==== + +By default, messages transiting in a channel can arise from a single +producer. Having multiple producers is considered erroneous and is +reported at deployment time. + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/annotations/Merge.html[`Merge`] +annotation changes this behavior and indicates that a channel can have +multiple producers. `@Merge` must be used with the `@Incoming` +annotation: + +[source,java] +---- +include::{examples-dir}/merge/MergeExamples.java[tags=chain,indent=0] +---- + +In the previous example, the consumer gets all the messages (from both +producers). + +The `@Merge` annotation allows configuring how the incoming messages +(from the different producers) are merged into the channel. The `mode` +attribute allows configuring this behavior: + +* `ONE` picks a single producer, discarding the other producer; +* `MERGE` (default) gets all the messages as they come, without any +defined order. Messages from different producers may be interleaved. +* `CONCAT` concatenates the producers. The messages from one producer +are received until the messages from other producers are received. + +[NOTE] +==== + +Outbound connectors also support a `merge` attribute that allows +consuming the messages to multiple upstreams. It will dispatch all the +received messages. + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/message-context.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/message-context.adoc new file mode 100644 index 000000000..411587683 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/message-context.adoc @@ -0,0 +1,83 @@ += Message Contexts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Message context provides a way to propagate data along the processing of a message. +It can be used to propagate message specific objects in an implicit manner and be able to retrieve them later, such as the user, session or transaction. + +[IMPORTANT] +==== + +Message contexts are only support by Kafka, AMQP, RabbitMQ and MQTT connectors. + +==== + +[NOTE] +==== + +Message context support is an experimental and SmallRye only feature. + +==== + +== What's a message context + +A message context is execution context on which a message is processed. +Each stage of the processing is going to use the same execution context. +Thus, it allows storing _data_ which can later be restored. +For example, you can imagine storing some authentication (`User` in the following example) data in one part of your processing and restore it in a later stage. + +[source,java] +---- +@Incoming("data") +@Outgoing("process") +public Message process(Message input) { + // Extract some data from the message and store it in the context + User user = ...; + // Store the extracted data into the message context. + ContextLocals.put("user", user); + record input; +} + +@Incoming("process") +@Outgoing("after-process") +public String handle(String payload) { + // You can retrieve the store data using + User user = ContextLocals.get("user", null); + + // ... + return payload; +} +---- + +The Message context is also available when using blocking or asynchronous stages (stage returning `Uni` or `CompletionStage`) + +== The difference with metadata + +Message metadata can be used to provide a similar feature. +However, it requires using `Messages` which can be inconvenient (need to handle the acknowledgement manually). +Message Contexts provide a simpler API, closer to a _Message CDI scope_: you can save data, and restore it later. +The implicit propagation avoid having to deal with `Messages`. + +== Supported signatures + +Message context works with: + +* methods consuming or producing `Messages`, `Uni++<++Message++<++T++>>++` and `CompletionStage++<++Message++<++T++>>++` +* methods consuming or producing payloads, `Uni++<++Payload++>++` and `CompletionStage++<++Payload++>++`. +* blocking and non-blocking methods + +However, message context are *NOT* enforced when using methods consuming or producing: + +* `Multi`, `Flow.Publisher`, `Publisher` and `PublisherBuilder` +* `Subscriber`, `Flow.Subscriber`, and `SubscriberBuilder` +* `Processor`, `Flow.Processor`, and `ProcessorBuilder` + +== Under the hood + +Under the hood, the message context feature uses Vert.x _duplicated contexts_. +A duplicated context is a view of the "root" (event loop) context, which is restored at each stage of the message processing. + +Each time that a compatible connector receives a message from a broker, it creates a new _duplicated context_ and attaches it to the message. +So the context is stored in the metadata of the message. + +When the message is processed, SmallRye Reactive Messaging makes sure that this processing is executed on the stored duplicated context. diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/model.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/model.adoc new file mode 100644 index 000000000..37691b5ee --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/model.adoc @@ -0,0 +1,423 @@ += Development Model +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Reactive Messaging proposes a CDI-based programming model to implement event-driven applications. +Following the CDI principles, _beans_ are forming the main building block of your application. +Reactive Messaging provides a set of annotations and types to implement beans that generate, consume or process messages. + +== @Incoming and @Outgoing + +Reactive Messaging provides two main annotations: + +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Incoming.html[`org.eclipse.microprofile.reactive.messaging.Incoming`] - indicates the consumed channel +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Outgoing.html[`org.eclipse.microprofile.reactive.messaging.Outgoing`] - indicates the populated channel + +These annotations are used on _methods_: + +[source,java] +---- +include::{examples-dir}/beans/MessageProcessingBean.java[indent=0] +---- + +[NOTE] +==== + +Reactive Messaging beans can either be in the _application_ scope (`@ApplicationScoped`) or dependent scope (`@Dependent`). + +==== + +Manipulating messages can be cumbersome. +When you are only interested in the payload, you can use the following syntax: The following code is equivalent to the snippet from above: + +[source,java] +---- +include::{examples-dir}/beans/PayloadProcessingBean.java[indent=0] +---- + +[IMPORTANT] +==== + +You should not call methods annotated with `@Incoming` and/or +`@Outgoing` directly from your code. They are invoked by the framework. +Having user code invoking them would not have the expected outcome. + +==== + +SmallRye Reactive Messaging automatically binds matching `@Outgoing` to +`@Incoming` to form a chain: + +.A chain of components +[.has-dark] +image::images/chain.png[A chain of components] + +If we consider the following code: + +[source,java] +---- +include::{examples-dir}/beans/Chain.java[tags=chain,indent=0] +---- + +It would generate the following chain: + +[source,text] +---- +generate --> [ source ] --> process --> [ sink ] --> consume +---- + +Methods annotated with `@Incoming` or `@Outgoing` don’t have to be in the same _bean_ (_class_). +You can distribute them among a set of beans. +Remote interactions are also possible when using connectors. + +Methods annotated with: + +* only `@Outgoing` are used to generate messages or payloads +* only `@Incoming` are used to consume messages or payloads +* both `@Incoming` and `@Outgoing` are used to process messages or payloads; or transform the stream + +== Creating messages + +Messages are envelopes around payload. +They are the vehicle. +While manipulating payload is convenient, messages let you add metadata, handle acknowledgement... + +Creating `Messages` is done using the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/eclipse/microprofile/reactive/messaging/Message.html[`Message`] interface directly: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=creation,indent=0] +---- + +Messages accept `null` as payload. +Channels connected to outbound connectors interpret messages with `null` payload differently depending on the technology. + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=null-payload,indent=0] +---- + +You can also create new instance of `Message` from an existing one: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=copy,indent=0] +---- + +[WARNING] +.Acknowledgement? +==== + +Acknowledgement is an important part of messaging systems. This will be covered in the xref:concepts/acknowledgement.adoc[acknowledgement] section. + +==== + +[NOTE] +.Connector Metadata +==== + +Most connectors are providing metadata to let you extract technical +details about the message, but also customize the outbound dispatching. + +==== + +== Messages vs. Payloads + +Reactive messaging offers flexibility when it comes to handling messages and their acknowledgements. +The application developer can choose to finely handle acknowledgements per-message basis, by handling the +`Message`-based signatures. Otherwise, when handling payloads, acknowledgements +(and negative-acknowledgements) are handled by the framework. +The following sections in this documentation detail both development models. + +While being the easier development model, in the past using payload-based signatures did not allow associating connector-specific metadata, +making the `Message`-based signatures the de-facto choice even for the most common scenarios. +This lead to using the connector custom-message implementation types, +such as `IncomingKafkaRecord`, `KafkaRecord` or `IncomingRabbitMQMessage`, +as a convenience for accessing connector-specific metadata. + +Not only this forces to handle acknowledgements manually, +it also doesn't allow for incoming or outgoing `Messages` to be xref:concepts/decorators.adoc#intercepting-incoming-and-outgoing-messages[intercepted] +or xref:concepts/observability.adoc[observed]. + +[WARNING] +.Custom `Message` types & Message interception +==== + +Custom `Message` types such as `IncomingKafkaRecord`, `KafkaRecord` or `IncomingRabbitMQMessage` +are not compatible with features intercepting messages. +Therefore, it is no longer recommended to use custom `Message` implementations in consumptions methods. +Instead, you can either use the generic `Message` type and access specific metadata, +or use the payload with xref:concepts/incoming-metadata-injection.adoc[metadata injection] + +==== + +Since xref:concepts/incoming-metadata-injection.adoc[incoming metadata injection] and xref:concepts/generic-payloads.adoc[generic payloads] +features added to SmallRye Reactive Messaging, +it is easier to use payload signatures and benefit from acknowledgement handling and still access connector-specific metadata. + +== Generating Messages + +To produce messages to a channel, you need to use the `@Outgoing` +annotation. This annotation takes a single parameter: the name of the +populated channel. + +=== Generating messages synchronously + +You can generate messages synchronously. In this case, the method is +called for every _request_ from the downstream: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-sync,indent=0] +---- + +[NOTE] +.Requests? +==== + +Reactive Messaging connects components to build a reactive stream. +In a reactive stream, the emissions are controlled by the consumer +(downstream) indicating to the publisher (upstream) how many items it +can consume. With this protocol, the consumers are never flooded. + +==== + +=== Generating messages using CompletionStage + +You can also return a `CompletionStage` / `CompletableFuture`. +In this case, Reactive Messaging waits until the `CompletionStage` gets completed before calling it again. + +For instance, this signature is useful to poll messages from a source using an asynchronous client: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-cs,indent=0] +---- + +=== Generating messages using Uni + +You can also return a https://smallrye.io/smallrye-mutiny/#_uni_and_multi[Uni] instance. +In this case, Reactive Messaging waits until the `Uni` emits its item before calling it again. + +This signature is useful when integrating asynchronous clients providing a Mutiny API. + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-uni,indent=0] +---- + +=== Generating Reactive Streams of messages + +Instead of producing the message one by one, you can return the stream +directly. If you have a data source producing Reactive Streams +`Publisher` (or sub-types, such as `Multi`), this is the signature you are looking for: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-stream,indent=0] +---- + +In this case, the method is called once to retrieve the `Publisher`. + +== Generating Payloads + +Instead of `Message`, you can produce _payloads_. In this case, Reactive +Messaging produces a simple message from the _payload_ using +`Message.of`. + +=== Generating payload synchronously + +You can produce _payloads_ synchronously. The framework calls the method +upon request and create `Messages` around the produced payloads. + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-sync,indent=0] +---- + +=== Generating payload using CompletionStage + +You can also return `CompletionStage` or `CompletableFuture`. For +example, if you have an asynchronous client returning `CompletionStage`, +you can use it as follows, to poll the data one by one: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-cs,indent=0] +---- + +=== Generating payload by producing Unis + +You can also return a `Uni` if you have a client using Mutiny types: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-uni,indent=0] +---- + +=== Generating Reactive Streams of payloads + +Finally, you can return a `Publisher` (or a sub-type such as a `Multi`): + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-stream,indent=0] +---- + +In this case, Reactive Messaging calls the method only once to retrieve +the `Publisher`. + +== Consuming Messages + +To consume messages from a channel, you need to use the `@Incoming` +annotation. This annotation takes a single parameter: the name of the +consumed channel. + +Because `Messages` must be acknowledged, consuming messages requires +returning _asynchronous results_ that would complete when the incoming +message get acknowledged. + +For example, you can receive the `Message`, process it and return the +acknowledgement as result: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=message-cs,indent=0]' +---- + +You can also return a `Uni` if you need to implement more complicated +processing: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=message-uni,indent=0] +---- + +== Consuming Payloads + +Unlike consuming messages, consuming payloads support both synchronous +and asynchronous consumption. + +For example, you can consume a payload as follows: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-sync,indent=0] +---- + +In this case, you don’t need to deal with the acknowledgement yourself. +The framework acknowledges the incoming message (that wrapped the +payload) once your method returns successfully. + +If you need to achieve asynchronous actions, you can return a +`CompletionStage` or a `Uni`: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-cs,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-uni,indent=0] +---- + +In these 2 cases, the framework acknowledges the incoming message when +the returned construct gets _completed_. + +== Processing Messages + +You can process `Message` both synchronously or asynchronously. +This later case is useful when you need to execute an asynchronous action during your processing such as invoking a remote service. + +Do process `Messages` synchronously uses: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message,indent=0] +---- + +This method transforms the `int` payload to a `String`, and wraps it +into a `Message`. + +'''important "Using `Message.withX` methods" +You may be surprised by the usage of `Message.withX` methods. It allows +metadata propagation as the metadata would be copied from the incoming +message and so dispatched to the next method. + +You can also process `Messages` asynchronously: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message-cs,indent=0] +---- + +Or using Mutiny: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message-uni,indent=0] +---- + +In general, you want to create the new `Message` from the incoming one. +It enables metadata propagation and post-acknowledgement. For this, use +the `withX` method from the `Message` class returning a new `Message` +instance but copy the _content_ (metadata, ack/nack...). + +== Processing payloads + +If you don’t need to manipulate the envelope, you can process payload +directly either synchronously or asynchronously: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload-cs,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload-uni,indent=0] +---- + +[NOTE] +.What about metadata? +==== + +With these methods, the metadata are automatically propagated. + +==== + +== Processing streams + +The previous processing method were taking single `Message` or payload. +Sometimes you need more advanced manipulation. For this, SmallRye +Reactive Messaging lets you process the stream of `Message` or the +stream of payloads directly: + +[source,java] +---- +include::{examples-dir}/processing/StreamExamples.java[tags=processing-stream-message,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/StreamExamples.java[tags=processing-stream-payload,indent=0] +---- + +You can receive either a (Reactive Streams) `Publisher`, a +`PublisherBuilder` or (Mutiny) `Multi`. You can return any subclass of +`Publisher` or a `Publisher` directly. + +[IMPORTANT] +==== + +These signatures do not support metadata propagation. In the case of a +stream of `Message`, you need to propagate the metadata manually. In the +case of a stream of payload, propagation is not supported, and incoming +metadata are lost. + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/observability.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/observability.adoc new file mode 100644 index 000000000..aa57e8238 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/observability.adoc @@ -0,0 +1,38 @@ += Observability API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[IMPORTANT] +==== + +Observability API is experimental and SmallRye only feature. + +==== + +Smallrye Reactive Messaging proposes an observability API that allows to observe messages received and send through inbound and outbound channels. + +For any observation to happen, you need to provide an implementation of the `MessageObservationCollector`, discovered as a CDI-managed bean. + +At wiring time the discovered `MessageObservationCollector` implementation `initObservation` method is called once per channel to initialize the `ObservationContext`. +The default `initObservation` implementation returns a default `ObservationContext` object, +but the collector implementation can provide a custom per-channel `ObservationContext` object that'll hold information necessary for the observation. +The `ObservationContext#complete` method is called each time a message observation is completed – message being acked or nacked. +The collector implementation can decide at initialization time to disable the observation per channel by returning a `null` observation context. + +For each new message, the collector is on `onNewMessage` method with the channel name, the `Message` and the `ObservationContext` object initialized beforehand. +This method can react to the creation of a new message but also is responsible for instantiating and returning a `MessageObservation`. +While custom implementations can augment the observability capability, SmallRye Reactive Messaging provides a default implementation `DefaultMessageObservation`. + +So a simple observability collector can be implemented as such: + +[source,java] +---- +include::{examples-dir}/observability/SimpleMessageObservationCollector.java[indent=0] +---- + +A collector with a custom `ObservationContext` can be implemented as such : + +[source,java] +---- +include::{examples-dir}/observability/ContextMessageObservationCollector.java[indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/outgoings.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/outgoings.adoc new file mode 100644 index 000000000..64adca658 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/outgoings.adoc @@ -0,0 +1,79 @@ += Multiple Outgoing Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Multiple `@Outgoings` is an experimental feature. + +==== + +The `@Outgoing` annotation is repeatable. It means that the method +dispatches outgoing messages to multiple listed channels: + +[source,java] +---- +include::{examples-dir}/outgoings/OutgoingsExample.java[tags=code,indent=0] +---- + +The default behaviour is same as the xref:concepts/broadcast.adoc[@Broadcast annotation], +meaning that outbound messages are dispatched to all listed outgoing channels. + +However, different dispatching mechanism can be employed: + +== Selectively dispatching messages using `Targeted` messages + +You can selectively dispatch messages to multiple outgoings by returning +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/Targeted.html[`Targeted`] : + +[source,java] +---- +include::{examples-dir}/outgoings/TargetedExample.java[tags=code,indent=0] +---- + +In this example, three outgoing channels are declared on the `process` method +but in some condition channel `out3` does not receive any messages. + +[IMPORTANT] +.Coordinated acknowledgements +==== + +`Targeted` return types coordinate acknowledgements between outgoing messages +and the incoming message, therefore the incoming message will be ack'ed only +when all outgoing messages are ack'ed. + +==== + +In cases where you need to consume `Message` and handle metadata propagation +more finely you can use link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/TargetedMessages.html[`TargetedMessages`] +which is a `Message` type: + +[source,java] +---- +include::{examples-dir}/outgoings/TargetedExample.java[tags=targeted-messages,indent=0] +---- + +Note that in this case coordinated acknowledgements is handled explicitly +using link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/Messages.html[`Messages`] utility. + +== Branching outgoing channels with `MultiSplitter` + +In stream transformer processors it can be useful to branch out an incoming +stream into different sub-streams, based on some conditions. + +When consuming a `Multi`, you can use the `Multi.split` +(see https://smallrye.io/smallrye-mutiny/latest/guides/multi-split/[Mutiny documentation]) +operation to define multiple branches. +The stream transformer method with multiple outgoings must return a +link:https://javadoc.io/doc/io.smallrye.reactive/mutiny/{javadoc-version}/io/smallrye/mutiny/operators/multi/split/MultiSplitter.html[`MultiSplitter`]. + +[source,java] +---- +include::{examples-dir}/outgoings/SplitterMultiExample.java[tags=code,indent=0] +---- + +In this case the number of outgoing channels must match the number of branches given to `split` operation. +Outgoing channels will be tried to be matched to branch identifier enum `toString` ignoring case. +If not all branches are matched, it will fall back to one-by-one matching depending on the order of outgoing channel declarations and enum ordinals. diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/pausable-channels.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/pausable-channels.adoc new file mode 100644 index 000000000..2aeae29c4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/pausable-channels.adoc @@ -0,0 +1,64 @@ += Pausable Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Based on reactive streams, Smallrye Reactive Messaging ensures that channels are back-pressured. +This means that the flow of messages is controlled by the downstream consumer, +whether it is a processing method or outgoing channel. +Sometimes you may want to pause the flow of messages, for example, when the consumer is not ready to process them. + +Injected xref:concepts/emitter.adoc#retrieving-channels[`@Channel`] streams are not subscribed to by default, so the flow of messages is controlled by the application. +But for xref:concepts/model.adoc#incoming-and-outgoing[`@Incoming`] methods, the flow of messages is controlled by the runtime. + +Pausable channels are useful when you want to control the flow of messages within your application. + +== Creating a Pausable Channel + +To use pausable channels, you need to activate it with the configuration property `pausable` set to `true`. + +[source,properties] +---- +mp.messaging.incoming.my-channel.pausable=true +---- + +=== Configuration Options + +Pausable channels support the following configuration options: + +* `pausable.initially-paused` - Whether the channel starts in a paused state (default: `false`) +* `pausable.late-subscription` - Whether to subscribe to the upstream after pausing (default: `false`) +* `pausable.buffer-size` - Maximum buffer size for items received while the channel is paused (optional) +* `pausable.buffer-strategy` - Strategy for handling already requested items that arrive while paused. Possible values are: +** `BUFFER` - Buffer items received while paused and deliver them when resumed (default) +** `DROP` - Drop already requested items received while paused +** `IGNORE` - Let already requested items flow through even while paused + +Example configuration: + +[source,properties] +---- +mp.messaging.incoming.my-channel.pausable=true +mp.messaging.incoming.my-channel.pausable.initially-paused=true +mp.messaging.incoming.my-channel.pausable.buffer-size=100 +mp.messaging.incoming.my-channel.pausable.buffer-strategy=BUFFER +mp.messaging.incoming.my-channel.pausable.late-subscription=false +---- + +== Controlling the flow of messages + +If a channel is configured to be pausable, +you can inject the `PausableChannel` qualified with the `@Channel("channel-name")` annotation to control the flow of messages. +You can also get the `PausableChannel` by channel name from the `ChannelRegistry` programmatically, +and pause or resume the channel as needed: + +[source,java] +---- +include::{examples-dir}/pausable/PausableController.java[indent=0] +---- + +[WARNING] +==== + +Pausable channels only work with back-pressure aware subscribers, with bounded downstream requests. + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/signatures.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/signatures.adoc new file mode 100644 index 000000000..ef35c854f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/signatures.adoc @@ -0,0 +1,105 @@ += Supported signatures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The following tables list the supported method signatures and indicate +the various supported features. For instance, they indicate the default +and available acknowledgement strategies (when applicable). + +== Method signatures to generate data + +[width="100%",cols="32%,68%",options="header",] +|=== +|Signature |Invocation time +|`@Outgoing Publisher++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Publisher method()`` |Called once at _assembly_ time +|`@Outgoing Multi++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Multi method()`` |Called once at _assembly_ time +|`@Outgoing Flow.Publisher++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Flow.Publisher method()`` |Called once at _assembly_ time +|`@Outgoing PublisherBuilder++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing PublisherBuilder method()`` |Called once at _assembly_ time +|`@Outgoing Message++<++O++>++ method()` `{vbar} Called for every downstream request, sequentially {vbar} {vbar}`@Outgoing O method()`` |Called for every downstream request, sequentially +|`@Outgoing CompletionStage++<++Message++<++O++>>++ method()` `{vbar} Called for every downstream request, sequentially (After the completion of the last returned CompletionStage) {vbar} {vbar}`@Outgoing CompletionStage method()`` |Called for every downstream request, , sequentially (After the completion of the last returned CompletionStage) +|`@Outgoing Uni++<++Message++<++O++>>++ method()` `{vbar} Called for every downstream request, sequentially (After the completion of the last returned Uni) {vbar} {vbar}`@Outgoing Uni method()`` |Called for every downstream request, , sequentially (After the completion of the last returned Uni) +|=== + +== Method signatures to consume data + +[width="100%",cols="37%,32%,31%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies +|`@Incoming void method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming CompletionStage++<++?++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING +|`@Incoming CompletionStage++<++?++>++ method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, PRE++_++PROCESSING, NONE +|`@Incoming Uni++<++?++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING +|`@Incoming Uni++<++?++>++ method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, PRE++_++PROCESSING, NONE +|`@Incoming Subscriber++<++Message++<++I++>>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming Subscriber++<++I++>++ method()` |Called once at _assembly_ time |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming Flow.Subscriber++<++Message++<++I++>>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming Flow.Subscriber++<++I++>++ method()` |Called once at _assembly_ time |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming SubscriberBuilder++<++Message++<++I++>++, ?++>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming SubscriberBuilder++<++I, ?++>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|=== + +== Method signatures to process data + +[width="99%",cols="37%,23%,30%,10%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies |Metadata Propagation +|`@Outgoing @Incoming Message++<++O++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |POST++_++PROCESSING (Smallrye only), _MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Message++<++O++>++ method(I payload)` |Called for every incoming message (sequentially) |_POST++_++PROCESSING_ (Smallrye only), NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming O method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming CompletionStage++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_ (Smallrye only), NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_ (Smallrye only), NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Uni++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Processor++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Processor++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Flow.Processor++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Flow.Processor++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming ProcessorBuilder++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming ProcessorBuilder++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Publisher++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Publisher++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|`@Outgoing @Incoming Multi++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Multi++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|`@Outgoing @Incoming Flow.Publisher++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Flow.Publisher++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|`@Outgoing @Incoming PublisherBuilder++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming PublisherBuilder++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|=== + +Note that in additional to the MicroProfile Reactive Messaging specification, +SmallRye Reactive Messaging supports the post-processing acknowledgment handling with automatic metadata propagation for the following signatures: + +* `@Outgoing @Incoming Message++<++O++>++ method(I payload)` +* `@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(I payload)` +* `@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(I payload)` +* `@Outgoing @Incoming Message++<++O++>++ method(Message++<++I++>++ payload)` : For this signature, the post-processing acknowledgment handling is limited. +It covers cases for nacking incoming messages on caught exceptions at the method body, acking incoming messages when outgoing message is skipped by returning `null`, and chaining acknowlegment from outgoing message to the incoming. +However, if the incoming message has already been (n)acked, you will experience duplicate (n)acks. + +== Method signatures to manipulate streams + +[width="100%",cols="52%,17%,20%,11%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies |Metadata Propagation +|`@Outgoing @Incoming Publisher++<++Message++<++O++>>++ method(Publisher++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Publisher++<++O++>++ method(Publisher++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Multi++<++Message++<++O++>>++ method(Multi++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Multi++<++O++>++ method(Multi++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Flow.Publisher++<++Message++<++O++>>++ method(Flow.Publisher++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Flow.Publisher++<++O++>++ method(Flow.Publisher++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming PublisherBuilder++<++Message++<++O++>>++ method(PublisherBuilder++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming PublisherBuilder++<++O++>++ method(PublisherBuilder++<++I++>++ pub)` |Called once at _assembly_ time |NONE, PRE++_++PROCESSING |not supported +|=== + +[IMPORTANT] +==== + +When processing `Message`, it is often required to _chain_ the incoming +`Message` to enable post-processing acknowledgement and metadata +propagation. Use the `with` (like `withPayload`) methods from the +incoming message, so it copies the metadata and ack/nack methods. It +returns a new `Message` with the right content. + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/skipping.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/skipping.adoc new file mode 100644 index 000000000..2717afe78 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/skipping.adoc @@ -0,0 +1,29 @@ += Skipping messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Sometimes you receive a message and don’t want to produce an output +message. To handle this, you have several choices: + +[arabic] +. for method processing single message or payload, producing `null` +would produce an ignored message (not forwarded) +. for method processing streams, you can generate an _empty_ stream. + +== Skipping a single item + +To skip a single message or payload, return `null`: + +[source,java] +---- +include::{examples-dir}/skip/SingleSkip.java[tags=skip,indent=0] +---- + +== Skipping in a stream + +To skip a message or payload when manipulating a stream, emit an _empty_ `Multi` (or `Publisher`): + +[source,java] +---- +include::{examples-dir}/skip/StreamSkip.java[tags=skip,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/concepts/testing.adoc b/content/docs/smallrye-reactive-messaging/4/concepts/testing.adoc new file mode 100644 index 000000000..df3acdddb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/concepts/testing.adoc @@ -0,0 +1,80 @@ += Testing your application +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It’s not rare to have to test your application but deploying the +infrastructure can be cumbersome. While Docker or Test Containers have +improved the testing experience, you may want to _mock_ this +infrastructure. + +SmallRye Reactive Messaging proposes an _in-memory_ connector for this +exact purpose. It allows switching the connector used for a channel with +an _in-memory_ connector. This in-memory connector provides a way to +send messages to incoming channels, or check the received messages for +outgoing channels. + +To use the _in-memory_ connector, you need to add the following +dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-in-memory + {project-version} + test + +---- + +Then, in a test, you can do something like: + +[source,java] +---- +include::{examples-dir}/testing/MyTest.java[indent=0] +---- + +When switching a channel to the in-memory connector, all the +configuration properties are ignored. + +[WARNING] +==== + +This connector has been designed for testing purpose only. +Switching the channel to in-memory connector means that the +original connector is not invoked at all during tests. +Therefore, if your code depends on a specific connector behaviour +or a custom metadata you need to simulate those in your tests. + +==== + +The _switch_ methods return `Map++<++String, String++>++` instances containing +the set properties. While these system properties are already set, you +can retrieve them and pass them around, for example if you need to start +an external process with these properties: + +[source,java] +---- +include::{examples-dir}/testing/MyTestSetup.java[tags=code,indent=0] +---- + +[NOTE] +==== + +The in-memory connector support the `broadcast` and `merge` attributes. +So, if your connector is configured with `broadcast: true`, the +connector broadcasts the messages to all the channel consumers. If your +connector is configured with `merge:true`, the connector receives all +the messages sent to the mapped channel even when coming from multiple +producers. + +==== + +== Vert.x Context with In-memory Connector + +For the sake of simplicity, In-memory connector channels dispatch messages on the caller thread of `InMemorySource#send` method. +However, most of the other connectors handle context propagation dispatching messages on separate xref:concepts/message-context.adoc[duplicated Vert.x contexts]. + +If this causes a change of behaviour in your tests, +you can configure the in-memory connector channels with `run-on-vertx-context` attribute to dispatch events, +including messages and acknowledgements, on a Vert.x context. +Alternatively you can switch this behaviour using the `InMemorySource#runOnVertxContext` method. diff --git a/content/docs/smallrye-reactive-messaging/4/getting-started.adoc b/content/docs/smallrye-reactive-messaging/4/getting-started.adoc new file mode 100644 index 000000000..9cc19d837 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/getting-started.adoc @@ -0,0 +1,63 @@ += Getting Started +include::_attributes.adoc[] + +The easiest way to start using SmallRye Reactive Messaging is from https://quarkus.io[Quarkus]. +SmallRye Reactive Messaging can also be used standalone, or with https://openliberty.io/guides/microprofile-reactive-messaging.html[Open Liberty]. + +First, go to https://code.quarkus.io/?g=io.smallrye&a=getting-started-with-reactive-messaging&e=smallrye-reactive-messaging[code.quarkus.io]. +Select the `smallrye-reactive-messaging` extension (already done if you use the link), and then click on the generate button to download the code. + +One downloaded, unzip the project and import it in your IDE. + +If you look at the `pom.xml` file, you will see the following dependency: + +[source,xml] +---- + + io.quarkus + quarkus-smallrye-reactive-messaging + +---- + +It provides the support for SmallRye Reactive Messaging. + +Ok, so far so good, but we need event-driven _beans_. + +Create the `quickstart` package, and copy the following class into it: + +For instance: + +[source,java] +---- +include::{examples-dir}/quickstart/ReactiveMessagingExample.java[indent=0] +---- + +This class contains a set of methods: + +* producing messages (`source`) +* processing messages (`toUpperCase`) +* transforming the stream by skipping messages (`filter`) +* consuming messages (`sink`) + +Each of these methods are connected through _channels_. + +Now, let's see this in action. +For the terminal, run: + +[source,shell] +---- +> ./mvnw quarkus:dev +---- + +Running the previous example should give the following output: + +[source,text] +---- +>> HELLO +>> SMALLRYE +>> REACTIVE +>> MESSAGE +---- + +Of course, this is a very simple example. +To go further, let's have a look to the core xref:concepts/concepts.adoc[concepts] behind SmallRye Reactive Messaging. diff --git a/content/docs/smallrye-reactive-messaging/4/images/chain.dark.png b/content/docs/smallrye-reactive-messaging/4/images/chain.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..7149b0201c8ca23473e4d07aa2babb2168f7107b GIT binary patch literal 68029 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%0DQ;M2Ld+rG0x6_+)AIb<7XYYQ`goxNLR78 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 R0dgBr3p1N5m6vWl_&@u_(7XTu literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/chain.png b/content/docs/smallrye-reactive-messaging/4/images/chain.png new file mode 100644 index 0000000000000000000000000000000000000000..eacfc241c08d73d3113d721c4d68c37ccc09805a GIT binary patch literal 96931 zcmeFZg;!K<+deD^3Kn$(3L;WNgLH?qz|h?wozk76NH^oqA>BhaC_RKULkrRaNDVQ> zH>mgXK6gCp`v-ok1&dgF@9R42IF9qYHla!i(hu*E+`Dz_*27ma5-PWDVS;YmLd(Ot zgZj-aaAOGSE1I*4wAih(p{JXuAF$uZXglA!MT~#*iDr>8in>Jf)+>pZY946tw7aR) z>J4=QiVK1Qft+&q63S?JodHh<4CFsJ;oZ)r^y+%h-^KL4_;Hy>7o5vz^8SbOEE7@5 zAk+ur=OJ4oaJ@ibQ|qdz>#8>k&F`z%7jD zx6rUeZ~eb-|DPTHB?tl≻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%0AR3NTWU< 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/channels.dark.png b/content/docs/smallrye-reactive-messaging/4/images/channels.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..df084e51db28a374c041e36f00e0c22597e28474 GIT binary patch literal 36975 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

    %^EaT zMvK-viB*a!D+LoHt7l)kntt6gJ=wI*VK2woKzQL#d4u=dI79n}7eUfm=ugYP+n5qF zPDO{A0DCndKb603cmfhnG5&rW*_aBj&r?^~^k+mamxLbJmX#`Y&Y4Lf7<0ei2fz4h zQOW-sr^^_g**7Dk)3Z7BP5~q=s!v1@ds(KxO0rd_QBCecnE}1NY8RRd`2|_mIX>Q$ z#?u)!%G!su*$H?Q8!P`_F|E9Q`P!LEGICy~m2iCk{kSZv-Klty^T1*mAM-AIaX_Q^ zp+Lyy{4@+S^OO24fScucx%MrbTnqdPzZqYVi>+XL^se9B^I#O-kQWowUNN~N#<%?% zNQv@mxtVXh=FbN5%HFiLwwfSMA}T#FhCs6lecapXtb58| zCjJZv?nsH*SrLZEndS0Y%AsiSww#P>P7kBUyr^9s8Wu=i#%rL*<-29=v)%`$UuK?% zzDKWKlqHkkLz{h@;%B)e+`pK?GUQtk*!20Fj3TJ>F=@nWGTEG$Lj8tQM%kj=wUvmk zZE^9=?$@=*e*~_KQv!$k^rqg)-1Fm@b<>9o@{(AoZn4p<|JONH6D%JjV4lr+8okJ| zvwzNB@Cq9tJ3%tyHM6hlfHz}=e3KW#*_v}gN4heuMDcMVf(;uPd*78pxO73`U-v^B zikmC`yy=RG1-z;Uo&T=EJDnqrFUqC9adCoDf2t3KK4F%o_Ia7$@rZo?PM*JzdU$Js zoNE3yIOSIOmB3kCtx%w9XIKAb9%Cuk+4#aBX{p%+>+ep`P!aSK*-spSMUCrbqToZ* zo>C;HPzm87CoSq7T=@JxjbE(_eXLF!_0V()j*WnHEN^^Qtmc0wm6*hCx|0hlYb*)d z)8oG!ds>t>K3P3c}?eEaP!( zs;F!1Z$I50v-PyWKnofLOO44FD!Hqh+0;1|>+YOXD#uBBqPZj_pGl?G!3$BcXeh;3 zoL(=s%r4_vzcTx#7)aOdK5hpR;uo#ggoL;4sd!|~zt8cHrf3fj`(kF1;4?^wVcrzg z>j~(#&R|bhYsw=pf@>uJxVj|1;L?+J6RpgfeATivNrE&r0X>;FxyVoD7SIBT+Op(LCr`LOYU-) z@pF{cSEV~>x7-)FRist>jzH?IIx(^9D*de?g_poC2+fAr;MgyGP9Vbjp*a50rEqEy48H2DKPd zhfw9~NO=dz!d;!Fap8ZC)g_)0uJr@zBX0X7f#L#dq>$1{h2`*v^*qZ`C3A;YZ-}j_ zY2D4$lg3%J@7t~iJi{1I5>1BY{+&)~%2wtnIl5F6H{GUCvX7ag#-za|9aD7Z*RQgD zK+-*;qsvweoQlW@Z#rE~XFtu`9P%Q1jK>>SvBr!*T$I7Iy{Chth~PDUDMOZbdw1k- z*jmU?3ETpLTW*n=P!MU$B;xImwbWQb`@fi^1iQZyCMu3*>;Fh2aoBbj?uaT=zw^XF z(#i`93jjHX0G4xjsKguNzCAz}a#{l|JJE0B9U!T56T}^f`J4pBUi8*~rltJ+9CS6& zGG!lieP!oENJ!Wo;T_PeB85PpP|*<*c}rk$=Dg~lf;1LDma-e#X?ES3g#4Fo0LdEo8`RC6`I}VTBdZ`pbdIZxMR_F8 z%GA_UoejfyVBMC*FV_tf^6R(ecM~0W%tD7u{_!bhGpM?jYS3)_GZPO<-#@bODi`CE zAHGa2g0wp5-}XhEtQG$LS>bhK8#@}|O};aSM3$z;gjm=Q`J=3vZulTNp=&vo>?Mg6uuWrby;2NnQoHS&2 zqRLe9$Q-!MQNmbm032a8hb?`b3=W)3mbk)(d*;*FgL;%Myb2nEwVHSzR{oPGnvVIL z-4IS0L|fRblrWTIOFXBF>$&x&7Lt#5Y0d(_GOq*A3bj_OOasE5xTK^hwTmpgy? z&5dttm(;5K1_s8$IK-A_zG*-7&@?*cLpBinVa+%*M!67{uv38%!7c%^z zhf~`G*w=7N87~7>&;J7dgtyZbNf^5vkq0O^JDbfu-8$A%N^G zcf-yne-kYLO$p<2gvskWn-Bq4FC#U0)v4%~n*2&UL*4zonKuUPh7ZXvX& z=fm1QL09IZ*!gK#aRH=UqT0Bz%?MW*XH#4Uq}loXG76S%KZgAkgmO^>TNS~S>TFJx zqsZB5WgwGh=Mpcc>0#QroXHL)3b|18snaNj6Ory0iAM~7{58Vp?qL1I1;FR@<6LS~ zBMDpEF|R>pJmi0m0WySy&txwLpUrE_;4Ik{pklq!t&-})%3ZHnT~ zWv3|g#_cNFkQM|OP0F>l-?hF6U=LBv-;fh)WYNhM#qEn|CJ^nx`>i1hb*L!AKQ6lE zWyU>~MKdt%VV5TR>r3edsHi_n0xeJISQ?e_c8(65)>hwVzUwBq(GeYLs{C^~)m&Sq zD7l&NEru?kT0sNfsY<&pf?8Tm$gGnoH_BCs%|o4;bjaY*W2Vvxgfu!mj@y!p-K+jc zK$G-IU!kWp#A8-=ARwW)bLF#nH5<5!8-mbhYZPKs6DV|&$I+K_Bj^k^E}vpK5Lq7Q zp$(+8$|*_C2vu-P^^}*Oe(b2Rcbe||Io{gyk88#0Iw=KTX$0FZ)I`?UWrk|ZYR`A< z<01p-ii8xp=mGe;c50Y`!5BK>HRRgiX)#mFz!cqvP6Ka$sjw2>fB*`>03EIZyH-LI z5Qy@2%f4jzHt;MUgjzGoBOQY*ok-$NU1FNl6@k{uy@rz^26J9{42U#Q*bVrPD%D@& zUltp1a!F#BGV})ioTqY*tRaUtnt^lQem+Sa$Vu2HoyH)J$kyavOZp4%{U|CK{}ihK zM7zoSlOON-ukQmn1s_4tO|Bh}#RoyF-Hy^mw^ujeG0cfm_}9vUXtD+Q^m5gZ7HN_4 zw6WJLtUw9psfqk!rU|9tmA(S@Ug}6~poDc&f~;mG>zA(8fa$((Tp1UJXrS|+i9%(n z=Nd`L04cbNupM*OkJ2c8u4Sal$k~r?7Or6c=QnD4Ybi8es0|<55L2Gww<8}Es%U1p z2Aq^J^-vt=Ni&#WLowMh<^LEiGiQv8(p`4Qw$>Zqkz-iOhYAlJv)0n)%_2Y4O)>5P zGE4(Li#MQ79#WgSjQK4TrPD(V=5BwKW^a=TGOH@71>&zy_5o1l0!StdT88A7p9)#w z`Q8TxJ_zCojON69x$-nkT?ZyWu*T+)O!ain9B^7g*kpD=7#6_plg+Gz&)~tP1ztaN zOsARb9I?On6|O*ta$2{D3+EBujLL-%OPXi5eiJ5GF( z4G49}rov+Lc-uZIwB5Gy`L?O~2?P#72NW^x-O`T-Z^CAl$yY+lh}-cmzcNPsqmBak zRCJ6qLwRVV)tWR9LZ?1k(ki39wT<8SVDVu+vF>>*OV1nUQ5|%iv&00d zO-st3_rDeY<%*BO**P*CmldH+*Bvy}NHgGZ9YsKFW^qDsE*5)0c)C9vByX0s{oNg~ zted+QZT+Dm4vdP65BPMMF&9^;TiyS`UCR4X>dNZ$64)WkhZC4GdClyzO_{ygYejhp zrl}Zhu3aMPy+0cSniY}JMWVfC9WdxM3Rl1UF0+VK?NR!NP|O^&LqP;=9ksB1Ya^KY zb218hd{&BHu10U2_TO#uOqYGJK(cnSWxxYuRi2dfr2J&8QzS- ziU_Y70H$@Dy=dU*R|?1R@j0F3U~Al+O6_FhFLsu{|2w?9sWai4B511SiX`!q(=)hV zEZF{6NW*X8Vlzu&K%CY45>uq@KIqwe!1!O|Q1{H-*?jT@3n*b@MlA&#J{1h;&?&P+zkJDa|Ap7s9nmoI^utGS)krb?$t)_!OJ&bI=8onJr*1-=P&a z_{pC$Z;MxH*N6i9U;uJqopJbWun(*DOkbZgb-?>o2|7ex=5(5x*%)rm9*a7sKKqV` zbz=d?k|B=`=+}bWus<7E0tb~{1`rar8FDM_yrTHk1fA#reA<`g$aUS%NXccRCpWd# zT0huWS$bn_P=;s_J-{?lksLc70c$GMjZ0qJgGx$lYfE^8pMTK1$B&WZ<&Q1>6+=hI zEW8x0c}7E(ewy$C#!k4x&O6q%rN|@w^`4BSB{>Hyy2ig2tm?XFkc7Z*4t|Sdz^HpR z0L^Ay9fE1yWq;LKGI0f2tE^Szd&hh-^xb;QO|x#q=V&rA-QuG+)69%in(`?$pb%`Q zDJ{(hF9l-5o$&sA7T^#59Sa*7I*t5R{TwD#wsZOM)p`(XDE7N)=b*Iq?sO7QgG?b`2aDE;Sbz4ZWG3OHPS+?j$0? zzsr&nnqtqL*DsXWg7FVYk9Jc5toIx(;Q=33tzxmv!Uwt8JG$7-qxuR|daF8Eda>Ik zlBtVcB`V`ro1E&veO00nJ2LBBp-i%c=^^e#?B>dkXts2ggtRkV?PvZt$lw#ehu4S?ikNav}1|3oGiO6Ox`gVl`lG*+d>k7 zKJpP<%_H(Yt1hhfHZ64{ZXBfNhDdVg30QppjeDId4j&x=Z(lm2UH7WnZ0?4~O!p`oUF!flaD|C;_RR$3u?}SEN<`c< zB-$2kzt*Mo$J*dB(!N%%a<0}l*gS)b(W5EC41Bcjl^vBR1kzYd+SJqP(BbvZ8vmZ_ zHAF((SBpJaGr1d4Y%ZH940O*>+=uWOH*?x}{?L67Y{TF~TkU1N7p`?UaX>E0b8r9g z6XUIGg%ws!)`k51>t!zcuk1oingEYv8gS>*eijq`b5bcAqSJ>v!>EssYBa4nX9& zZhEuOoGC-IY>F8?Sf4HU+*)BJiENhEap8R0KI=3gZf3}?atziLBHGes_%7ga7=1XN z>Oi`YJWo;3+r6aK}-&9IBA^!w#gEF(}-X)})sOEqL)Kx)|R#L73=4dRyritCZ z2+CW?nWnlM;O%45DehN`GhHRKq1BM-G^T6Sof9KI-^MFsT` z<^1^UXqf|>K{x)|=yshdDTQ7G+A?^BsX6Cwny=wy79mZ5N=b^x`H@q12pL_}6HscM z;Vb`BL5W4&bV2VpiV6!)K4IX5~&898**UWoHA*Mtp*xDuY|MeffF`H%~DEQlhswY zQ4-shw9i9T(W5uX+IB$-9n)2!Cp^3JR&?`=`(Fu|C|XO&o(GDup>^U-GIiI49_aF` z50cFh#&_Cb4JYOiv}}uyCFM6r0sbP!2&b`WPOwlx-qvoyHa;1Y#+jfWZ2b~Fr=Iq! zVJVZ04EK}X!n7h){mMWfLi06w)Rc!`LT`V_VBMH|?(zcvf7CR?01b7=)Nm78{Ll9i zeu^80;vdM9#TnM+zEew9|4~7~W9e-^HWm#$y^3o2dc9iU*l&$LL?_h7#;L9;_=hR2 zT&HR?DNnu)dYH{f3nKa5hcn-#1|3vy0xkOqw$|eD5%Xmb`t}&)W&(~j`T5!;m zF>>y>P6swrw+2`K%5~l2xSKPKO#=T28}sUfcYZHnai|D7wW*cnRWfelV(Z5ehxwgU zYiC>QR5tKzGA`10#`%@ieqUv}FVU^(Mi7$SDq506w_z^YNfdx$t{cOc<%Mh!W~xI0 zGq+qeVC42Xkf*(qhRR9~g}1KmOU>4xu<#-zuS%p8Y${n&>VJqi`#6*T=ubB+@p=)3x$EiRu~7AAS!lAH6#XEKIk6&7_S zOC>+ynZ!1GvLY&vuJlq$?$i3R_5`mO2RZ?Mu>8vC<{g*(G-wqUemmx@@a~^^g5|M) zGWF5Tila~bdeE=J%XB8SUHbYMoeRjH`^6f6a0tKCn*{ii3j5RUPpPcJ&j>Wp}8}?}8>(sbK41WN!7%?M*UYkD0j_B-L(iLP49t@%A7+Nnr~lj7XWcdFZskgy6)zOh%Z$h@aw@y*xVVjH*OO`Okr@Kk&fjcU-0*s4Ohk0 zzEXTMu%;j`_;Nn>v2^eGq<}dFhE|~pni+f``WGh+OU-82+E5$>WD@Ro%f-$onFvLA z!R?ueL&j=f0Ja(XaXa%)|n zhP=(JI?12&h@#YcQt{Tkm+fQv_&6nwH-BsWM8@m$<$- zb%IIgxo!8m<*oR`deIiqV*^&xjCWS_mOMxuW2mvD^ouszQG6SJ*Zx9A)mRXO02U2M z4JQ*l80ujn`y7@ydH_knt9j^{zaKyo(oBBL^NQoU zT&bpd%y}toHZ&&&p=}3J?+$4v%+}XvC5V`*y3xJKyAN+NahA{(uEW64RKd%+@t_59^Jj>Si5fMt3i_;<>k@*LN&$e(+p*XsQo&34fx9r*?g zb{uB(mqhA;k%=fz+r86^-v`IB=|aJS!ymE75T|%!^jG%tbi9-+iJt^X+O zhYDW+F;_gC-=X9l>WV+##o4~6E(rUsR$CL+NV=aDl^Oa8ki)Br-Xq3_(5kkY9^!WG z;)r!&BU~+jxi~t=$5{AA;E_l2hbn)K3^=vxTWI|q9<;{CTX-vvGx)*0o;>(;HvH=X{%V+)or59X{dzpZ22Sp?Reyp(9FNa~MpuO~nI!;ms!OCb%iiR)& zeDiuTi3A@-s+Q|q%P~}o;qOU;X!FrK;f4stG;%IjJijv52ihWYAM+f|P8`w~JGGes zeQmmnQf5xoyd==95~hlAu80^c?1i!SC*?Ehsn4b)-)unT#if$NdEBCnMc63$0)Y_X zoVq%moJl$jMg4zW@?QxBc02|x?L{pO2f^{=DQ%B69aGtA))9HA)ovscngH4ts3uae zy?ESX*!8#lTX3fFK~IqqK}pEz}eVkFk*B`n@a+}|VoqpugSux@Mc zTr8cW7c%Ye>vmj69LkgLD$CH;^XU>k@onEh2y;SGlEAubX+@fW-=defC4jxz6pN`W z;M3P6{R;yq<$+UQwgp1$RWysw`?hhL@HOswN)d*`q) zseg3Y2fi@b9afaxFwfX_PRS}Xy4!nRAFidprceFB$oQdNC@Yc?H*y3JVTL@LJgfBK z3M%{v(G=jLO443Iw0#+&*wPGMx^>6^iH|+VS!|#=qzCu{_&LbVK<-Bl z_9xoij;}t`2k6z@$4@)-P+4*=t}`HaO?M%txeb#nSe9o!5k&lZ=QI%ra%4pdyEo53 z?`^<4<}M$)>$4OJCd3S@Z#q2wEiFla6L9-apIGPurC}@GaLwbh@4xp)qJ=a{n?G?V z5{HmJ$eOSvXY=VVwV+CR^-c8ov@BIE-mBtBS<}Vis zS%joFcHvL?H{GIAnxAPWq z=Jtn8k-$~aYB1QQ18gHfbZY)x%@&z!h)>4g14z<(hhnYoWrcRQ6Z6_=y2K2S=m;v% zrk0-1GbZA)-Z=35Ga)iPuGZ>p+ zmtp7qaqX8#H}S+4A19o;Q_fAYz{6t*OXk5BVdI9VUg6E`s+z9iiv{0-EJh3=F0290 zps9!{ICxDq99^B~wgg#vW!g@Fo!a1mc?Vu9z?14To5Yg;Fi+kq#GAJkE4~!!&z+-2 zY;#YRq38cmKElh?-Ah1tCFdc4=O)4;#ZXw#V^&BN;3VwhZ3*()|CaeQJI$f`3Zda< z+dvQ@Bs-4fczt3N^Sh=NE@A4}9DZEv<-SR#cnoWRzIgl%oru8xwCN8x|IT6AcBc-; zHwuA7IPC1&NI*(7&;EfV^3bJRMrs?9?7W={XTD#`(D`7{Etm?5#}(?h6RKc+>P^KZ zKxbwpNydcpV83KzWR&e?&x=mMrEP?F;~l>9vZgg*6gVGM+N5UwVU(toe0_VV;7)Sm z_G5aONeH$n4D^m9sM4lfp4akxkCE^>mc&uup_{CDbzSz2OC?((rH6?D-3L+8dZDEX zUBAJ4MRLF5bU$Sbb*b}cpUocwH$Gw>@znSYVUIvWV9Zz^;>6Jyt_}Ti%M@q{`VKmD zI;UT@EQwCiihRK;Fh(r_QaB~94v4NC<99y9z8zC{4Qu@<=DbFcIN;t#;t~(Ry zBV_Lhq|0{Aj|H!lUYs%O6HeKFQRA{GHOOQ!AOw;b1W-w)rM1=Hx!@AOBI0_{cr{^? z2bSd8CI~T-OuukbU2ZdrCL3HqA#%bNKv$bXsXRyRHzd)U-PS!gI%RnkcE^Di(_}?q zldmgm%&oTr+vW6!TY5%N@9QZDmo1XRfnLfhW9Xd$OL1C99OQ=kBp`RO_n9PwyD+>s zC8ph{tB?levyPlqb7MFWDMuYm{AmL%AsX;bmy==;q}5h(O4lbVXv zMHtkep8*#20p9eUmjRbv2`UIuBgao}l%NemAPt$;9VQ<*G?%{o=HrlLR>?aDc#{HZ z?LzVXt|}#rm4+<=4q5yOC@;>2zMq>xjkg%|E1t2N0%?C zNk z3?`NlvGwvwRTZi^n;Vn+jWaR!$;hp>G!m|BkVxa1bMqSw9s zl(Wox;T%6qO^jI`Rx&*Hlg0uHmrw9?aQ=9(nw zc{k{rZ6`y>?1&D=pCK_f&G^HOs9j!7;4ZgfE-M0wQGanB$Hy2z+f;l?O2K>By(<=0 z9kqFp4FhTbT&qWG0s`+``P}!6?soCASFD*R>#0NQECv*ucUE$7vKt=WJwzC)%*UX{ zTpq&5pT|Tdq)#@-b@72uZm+OPb1+0=dCu4Qx+HXHHt^!@>!51s&$uz_aVM2e904fO z-hwCFJBA!Fz>kkZ!woxDG}*c2soLCV@ZYC7K;BWRlEV_=uTl@MoKrG|f$u!l1Oy#s z*O}bNn%>)}>U1UE?sS#y?$jNVO_3#P`;(5|7oZ||c<#WPcj#=a{*1~h48#o|d?XVb zb|L@)Izzy+leI)g*Te++>eP`g z`>UZkW(Qs+#;gk^whaLn<&y1fo4TO}yFB(nDha2wp+gmkD`ug4Vm|mdLJgm5UF(P=B2rv>bFLlJThGsNGc$5ZTlVJFgrURgk-^ zbGV4Q*E5I=?`CzknGkH%C7s7uD_eJACE7uxz;Q^t8bV$1rB!+>n*BPo%5 zCHIQtkWZo|V_Yq@U}3Pi)n#(ddKLM_sNU)=ABxaJ;m;OBWC>n6*}ij$yGIu*)JyhI zz*QjBF=0Ryr|mjx&L?S@6G&?wpD+;cB=$)%xOF(M!~BUk<>26ghG*83xb7VKxB1wL z0QM!gKK#c%lmDoLkP}Kmh`UVT)s+y1I^chMi;772Q{CUdO!2+tKHHX}5e&>Xc=jUF zg7)o!*X1z|CoR^IGYk8o%S5%=5;ela02fp?JYI#uPE|i@pL+fMo}>X4X@vKr>Q2Ie zKNu2?en*Z$D|X%Asl-ksMox+m?`8F?efGiXj~iFNGJ1*2B7a$o6|jOvb35%4CSum_#Z!X2V5}i1+;FA_DEw~t2|au_;A^VzvcQ4 zX$6(c!7xD(f9u-(3O8_N?ORHt zNs*HR|9WF*BPwXI!FtOAh;7|US~#b}3AZy$APnV?ul~bD8j5)B@VFSZ2e$GqG$1ow z{gEBh5qgSr<9Wq(TyKtf{I^x~BSHRS7Q9ogWT8m`A!oYKVs2=Wr=*S3WKgA*XJ=Qo2Q z{1Pr>kgC-FCCy6#O2hRyg;J-N(sZpMOGp1CA7-BDH;gJ8K9Q{smCg6c%5#Jahaz8m zUdCGUyNBzgTFa@Elss}5;2#VSTvbeuaOQXrGKcI_vQP?^9p&3o=zpVUXZ_3ps4}Dc z`okVosW+KVT>+Pjp3SgEw0!f{aQTDENdcEWDuo!dwGI{stR@YxOBwAPHN<|A#QT)| zla8oR*~wi`hpLPLHKw{H^J`U7XiwGI(t*;2;unsWd3S3b7fdGlG9Q(FeOqj4ynYQu z6+WODT!7Gc%_;0W6#9fmr(u@^*b}?SaYHnbx*!P z4(_qO z0V)~l>|lXxn)ofe2pA0iRn|9(RQW89p-x9889{i`4et)lp+XxZz4as?w{&^nyIJ0{ zdMEDnM3mF5K;|^J#_L0;v-ueSmp^i~c`hID0&V4RxyAsepwNvZ|MugNrFPDt#X#E7 z0&L4Yh<^B}#RIzXxq2nG5jkJ*2Uj;&qQ56l;oGR8MKR_+t^C|P*XVckCV&(RoTGlP zkUnJRlEvK&RK5+R7SCXyM{%@}d$5ODMD{xQT^5>+t@eb-s4Ke*O5Sllw$G_JyzdL7 zj4Q`+OtDk^ExGahM5+!&peuvjLz$x*hq>#yEro}^aRwJCe*@qpTYU(KZM)ciYY280 z!Bb(V$+;X)dagWPP8Ua2>1sGASx4wcYMsv`{S3&@$+Vp)$P5jF^x0l~^&>0F|2ZrA zu}R;)uy8Ds)XXE&tNP-_r5^*enG{nxbnpTVn+8?>7b?j4oDOATV_c_1GU1&P(IheHUIQ-*lR^Sl+kjpW9t0uJX5SVpJ_60G!*KK zz0nc6PGFr0ki;NJ{|>m7mA(mZ%ahhe-IILqM0r#w6JwH)?EwXCQH6BiGVxFqK70J< z?H+MUSEza?{lZ@a(bN^+^udOI#kqNEJM&JOm=iLUlP>F~8#DiP;7~NqYAfkRRLy5d z1w}aQ;1XICB3gV6FY0^A zM)5XOkn8%<73E_nvjxcWM)lfcrBtOZWnd}SiiU;6w6yMbNvN++>fs4Tf&y#wKM4Od zo>Zz(VGDg&t!!u6{(!BX1pIhB`ABch^TQ^wetMoZguFZhDgccihcESjU8v;vxFw3Z z{SWSZc zOxruh(uJ%zKm6>e*veO`6xo2_c{Z_SCP2aN2ZM}{;Mu)U2sBu@tkLGUnRvaq05y_< zv16Cd`;sG4l1S}mGC`SC(HU5zDW2-5pJhQhHM1xKE}66iushFVutH}a8l-f?Fndh0 z7$V*@=6Z%#lq?~%U&>D%O1d``z=<_g>O7mIi6@aNe@*@ z?=;c+PO^GSWHfr>Sn9p(WPT1qg*270(sl zz}6~-Wo-3MGTvQ#6je%i7-4@z-bgR+E!9r z3HlyJL9^mMsWZe$dx9rzQKYDo#T>g@yB*SN{j=8Qg)qMRQAlpVp>t4es1T6W4`!3t zgOVg_&!{T6m0yA|G8-PPYeMOxa)Qh1LwE!l_k@)Js1-%oKL=lqXst;PjRVWe1PF}DgcplOv zDBl<9Ivl?RbvyvUF%0LAW5WI@>_39?H$jM;hS8^P_%%a14>YDkuCGOs!2i53DWg=4 z?&z?@drjj=k|Ro*0+9C>BUj9K%IFtuJ67NHe*N`W8{zYa|Ni55Og}MHcdjz)>?CnS z%}qE*NWwI^ly~a%r?MW`9|{fP0Hi;aop|E^!}gD+Mloku@TvLBg5Tnq|G5QInW5&l{BNFiE7B z+@R*fq^sra)44#XS0a8}w5S5|z(-`3G~?`Bk_1Ou_^kwo057u70c zc;y}WiG-0ZXfH!CsA%awE&`vwX;PrGGRtSeqVVD9mcQd^D?5U!NCE>QrAcf(qWNDV zO?$VGH0s=sBE5- zO(!$ndkZ-ac{hGK^IMvW&XPO=@3Fs%lFD(8#qUlWP)scd_tob#L>;SfjY-_c^=8uN zA?M;6&!En)ao#iuedU0Z^?f!ctRgO}lO05qBqkRR)cu;v_@s`UT&&km+j)7hUqgi9 zlPNzn<~lwk2{o!t-lSeUUgiaONx8}<7znS>j;V)f9xw$dj@_Zd+EgPlO;c69)Odo} z6dq=txlhQsY~XD0ep0FlQBA`87>*(d2#~0qI^MncA!TSwM#s*f@J6Q&BYlrV0nY8e zC?ItD-bg>_B>PgvOy5(munr0lEl5}|lR9_4M=bn?ff~(Mci+-^@c(wg|2mH(p+=S& zC1*3ALVsFrSS=Uvc_4he=frfb;XX%++_Ix;VWF0r7MSmdLPj|x^PLyqQ~5YOCXl0>9&;$e|y z-P=W4^ypY|LZ|kTmM1rfH1E4XiO)34zv=9hM(5yra63<=D z$RwgtX7l$n8c(w*}xP%dfG%y0QF?_(L{4^bK^>cP9cP!BM3 zMML4h5@kP=>rDxSlir*5!&;iKB#&*4ll;WI>6Z_F7@EXw^hxN6qsj995K9s}3F$;h z6G|Imw2?!SU}JhBdDH0}g`l%8Mkk-cSZ2J;)78{`?aUJAHGk7-#d18y?7Zd+r418h z#&Xn%QKC{=D~&D<# zE;ine zcvn|#EScqzzgSEjesh%{QB4B>I~TbVpTy|&jmorG(V+Jck(MWQh_vk0zT)_VP8BDB zAX;{B5^2(-MWk`pR$Kqts+qIic}J7P29g9cfp6z74{rQsT{y*k@#9N3KlJ>?|9)wF zzkk2{>2*K6mo?z~4?er)UvH-0g>*CXN`}3D)#eAsUG&S{BhUKfmM2dBbwE=0U$1+x z1Ga6;yPS2xuU9?LD1TY#W4_bH8~}J4BDD(=($e4hKGOI=t%M72PT~x7<}1QB9M?(%fcA%Xa~Ym}CbfV}`l9AKYME`( z8HF5~qil1bH( zA0DPP7BzpP#&;gmBg&K8nDqf&wcji%YO zX<^l%&~eY_=#ufv+!tFk@~);}z&7dtWh0836QIVTA$+PDAVwWZD=7$nBxMPcOgMUE zSvD?|FTizGd^74lU)#x}>Mev>CkUYl5>-*tC__-2Btc?CXHM0cgpkDdG#8+wPk?a0 z4%Q$^lTQ^k8;YM3SH16!zt*LsvlNRw_YBaOSXCP{==ZFrR=v21nd8$9oSlO$+LqP7rT6Z+@Y z1CMDAA>MTB0Y|sQwi$nKt9L}lZS{_7y{+EgAmEQ`#kBQ+qgro0;P^I3Z7Ys%$K$Qa z+n<&gTJgE6GkN3vQIbe6{zQn;lEh9zI??FljmKe>HNzl@ z3;kswI4)69273J#f{jQ!I=@B-{{U&Uyv*o%bVflV;b>&)-0%@JTXB>k$4w0a<^Dl( zV1om>oT^M%5I#JHMtm_xHaNGxDjRU>&};+QRT(sTq<8_|Ea{mr(=cyA@MGR)KQ?Nqb5ltmawZy-d_`@5|60R@1&b zy&x3zTTt-xH+>DMvl(XT=qMXct5CM+%1+EVs6*MSX|f_waD=HsG<7KDj*H0jhLN)pS~zaW|f-*4{n z&=x*_?1z{SP2=52o0AhrGUZ**=~~|A)P(Z3eR`F*J+o_hr!%^gw>uN*lrE80rzLV* z*8RL5TMuc}rtH+qyKPt(PG%j;SB2K2{kVbU!D0}@9B33jkR;Zu4bLe%rSHiV$93qe zNkXNH6FPTQznh)dL+5pkH0+WXY1FwVi0+(7vp(v3&c9tUUJ1;>DVweplE7dv>&c9t zl=;vUm@0x1qkN^stApWZ- zvwnJn0|IKxkZT{y7c#55FN-P=C5b5;k3-}65{*ca#NcF4a4>dW8VIN5D-%S%a|%WW zCqaPBX2(Y7U7F>EM^2~hkfTh_0pK~vyI*S#=ivMSo@3O>7c-I)9x{3jI3p*``t}5weTX09dtB=$eI1g-zj3YkgRc0k@l}l@ z$KKhqtp2r$<;PvyuKbvR%_B$m?^br?_3g_Kf2e2Kq4%G+J=$zN@YtrICF`D}Ag2)jdR_SQ(9FWY z)3HyDV#Vsv8XgO+-0)^agAVO0{?@8}d7It|k;YxSs}VnmM{PTE+o?R^jIPiwTK;y$ zy{D{S8~$uMw2@V7!YkNLsF{5KUiPiQf@Nb_Kk|OWvH4q0zw8u65+s6_NKLwTfd-L? z)TQEtL~avR{UnGciC0A$C*DAfg8!e81lsnMDjd|CST=1(?epUE^XJE~O$C{#a#Ov9 zJ^jL7`Z$mI2XJQpCwQ)Ty&dT*en^`bl~Me-e3xcqM)CWSzbkd_*NAqajLpYD4V@;M z1V$bzypbXjB z#6%|Lsq^xktMo{6pm%3Vb9kOw0*GNG_mgvqj#DI+=RCyvDU_(yaG3!9mPnW#F*!vw z2@pe6lSnI#F4a(7Ly8@XnQ|aNUZp0%&WDtzj=C^byZ#kfIdGmn@<;_u7bC5;T z0Z4arDQ|jnud-(S8&uT4v)`{B`CVwf>%nQ87CrICrfXB`ZTsV(&4VgAg7F>$Sw;*y ziC^B=l>G4R)atNRgr1S_oT-BvuHwED4qtdgLCuevr1}lbleX#4=7iN!AOwhD8p(yG zCX~&Qw!~}Wz2>6Ld_lj3%Hz@v>N;L{WQ`=D>*AN`hNP5Eh>}EVv5MJOCYly~Ix2#o zKo^oYzGKTs!|rXj9@wZ^aPitGNvvHPo?UTlyEaZ%-V%Y}K)d6^Mm6qS+gcQR|q1oEVwCWS*Y|s&wYFo zjyDO;UGbbIiGQQqyt0!nKc(X67739iUAsjZ_w4Rz4j>AW1{3O4WYMJO<=DRwBylaS zt8Dy5`uU)3U#8~_aC!JIMt-<`q>mENy1%mz`33s_3UXim{Hh>r0`GcobSaXI;smgf`)L4;vl5Fk6oX(UH$lWRmYZ#qy?U zKszQ?95sCo%BP_x>Bza7kT{V`32$l&5E2v+kC7;_ovF$egs)Z3Qs3&4)k0Q*O^&VI zl#~+tq-DJSt-4VcM)&{ZXkU}Wtmp6Fe8l`k!SVA~21^uCaMZslSe%tsH1N!N+v?xZ zv#eeJ#Paqxbt-RrYeIR4Tf3BZy1iRjN8~45d1OVaLFaGjk(VF(L=l8{{txq41vh{3 zdH9iwkJ#EUClGoC^=;&6b0IZ}^S89Usb!?`t)0u8-JS?SXkXq0B+=-$?q!WZM2)U* zQ{M2NK4ndAY96V7`-Q)?!MmQNBH7Y@{%Y{6n{K_b-nPT8>r+-~wM{(x=@9A@_**nX zLY$E_KS>_Q`)o$KVB4SjVp?JtBncev?I!NyH{ah|avlc)Y*X3{`7EwEPp*afAJ&mE zoV=&Ld4b=(Kr-v0QS1~+3`*VnSB#)1MoA*2SVc`ikRR)rn<|rp@<~vWptsa;f^t@#H+ z%%@f$LYd|t&X-^)oZf#(g*NK2SdK!)B$VZS&_wwWuzjCoAa+Ma!qBFTG!`j4OOpr9 zUL*#jG-a~L5374rwrV=m=Xws*9U=)W@Q0+Az9irN#s9BN5Nt&LhD0-s{`H4jPAog* zo^IuT<`zQt(0(l=M+N2uUs5sitAg(Q#lg9^b}R36@2O>p1q*^%9Q{KJP~npxlOL1c z{^72(4%pgaU}AaayL**&xv_J3hnu^Ux4R9b@%KZwHhcD=&F9SfDwsEab+8=d@Qu<$ zNHFQn?R}4{Xf&{Wc}r>%+U)e>f+fLu51j3h#4U;C&2YRaiQ;+?1xccRkFrM4N*W1C z+;Ps9mKaG-R}&}GHZ30dUg_N=i962PqQYMV*=iD0_!HSD$>ZHVseMM3zLQLok++6V z_%nHr7#wt>29d32-r`-JM{^>hq;$CDyKEnm^PO|`_1;I`TrpLVjK)v@ZXMo#^i!Xx z?{qpRl0nRmv^b-FlpvabEJzShk~mRm5}~E*o-s%w zha^#Pbn}F*hqvw!%3bmp1v=+Fh(-}!9sIDo+xdOA9nho=eGnB#G;hcHgMp=^Xi{Q3 zSh+g1ie=ZY3s3uXz@z7oAj;dH(qroZ$F_qe@oXiMIQg>Q^P_hl7FjQmg4&c`-s`9+OYm|dQ8t11Hlk86C6RKRO{=7#V)QYS{9Z?R5} za%JKk^6peKGWDdbnn=PV0W_pn4U$kMi0w(jdqyM*jMQ60;C2}R0e@T9@-DaG_l@n# zyUflBy+SfjLVIyA@9s0U^tkf4idK*J{jEn}K`;|SzGU%=P!J^Y?|G|(6{+LDyZ5rA zDq2!|xc{WGPShwauV2w(!khoPsSuh2wS+~>gI`mi6s`>Zd(sErUw`^RTN~Wlr>qS$ zgcf;oLa&=7@d&hon>&;@5lsRl)dY1mCOJ@(;Fe@@Q;SIbyH4NIVszR@egj;Q#IW~E z9zF{saqnqcqVMzdoFBPj=OU!n>2J_}pF-tu*5oV$2zgc@gV8EtNkv6DE3{c?Hdhnn zalGTpbl|}f9SuhfL(S1p=Lfzl%wc#nh_J91WZT0@ze9Ku^_6)5H zzeB;lY*lCj2tsKP8`gy*Qr*w;xx@|qAAxL8R(}qu?5TtavB8e6~wd0x& zY-$mPCefrTNTORmXcRXf^^LS{t@_$#{r?Y7EjeEcOD+#TiSv zqU%-Fvm~+8kOxMaZ4zy^9!V@fBf69MrXxy^@M&gvSk7kz1O&k(O%TeN7+usW*SW}x zJaV292RMa-UNus^w5bK*;hxXJX~bwH3Kd)<#C;xzkSOHR5OO`5BtH1!`?XU7;aDto zes~Z`XJ<%4e&hdqoij3(xhZv%p19?Y+VDu?zV2lW26ipK_|}B-ULc8tySkTkzN1Td zw;NhV+U4YiUIa;$QfL=02^Ktf#+EL(cP;ODb;F7_4`1?IuY!faX*3ssC^j&1W!|db zZ`m16(v2-5t*<(vqWOUK<*lYGhb4{o5(0oqCEz32aP$(i-GH5k~vtTjpM z>gJJVfw`gAv`^y4!ll9a_ny6_%{9;@?&(?9j0C|%V(6C;GdT_HS=I>GIbk3)ijm31 zN^4Xk@m|Se=hWNwm&YFaIV$ioIWyMtC8g2C#}Pf=%aqIS#9geTJGe3DIIuqe&G6Tzz1vqb?AEm6g!au8Ni^@?M)@QPS3O0+&-b=w zZMZ;@1bqZ;PNQ?WBKXwf#(rVsrLT|pFGl_pWJ>?xMv^>EIzE$8$*OTm zA`KI-#<3eBjT8HpCnTt68YPJ|O%mzK+>|pkt5nTuF{{-HfqcB(c`4hxy1`F6+KPh&+nxel7k7UB^h?S6W_? z3eDXal7Qe)D}(B=UuA-*?0fKj)4_a4xAN0&?NWZ(z=ZPCZ|zjx>6R|#T_Lm+uWuD; z|K%6qm*=kzmT|PX;H%)g`_JCeWkB2Vws-a}OT3{)q~qiLem${ZK`@y_0RjjuUJ?9` zgpiXT`sb)ye(5uPdT8X_Rl%~woMjD-0|c;f!P4NI=O6p|%(D;L+VIYk%39yvrMy-D z#PU`oiTr}li_|2vPh!!-=WS`%uXUu+P0%8!LG;tw!~NaLlr}+fpeAum(}<8n`l!s} zuh4-O4g0tx$uy_&FNHgu#EfXe^M2O+f>^w8$m%*?b?+nQQ>g6k+1^&}9ar-=Fwl@N z-0H4NM8hGc{&X}31KHG+6-lI)+|B&*HfJLZP=xawR;>xGnZG>vUuqb6%R;|UgCK!$ zKe%AkXkJq}xZCthP>yX1{x&CdquD8x^Of>-aLxqIS-a)j8_(W)c*_JM1QsNbpa{Yv ziEf>cPKq??*)P(#>kT-5IoF`#|0g6dBCGiCdd;fEqtc6W8S>8jx=0f8KMhIu7VjiU zK%VVXM8l&WIAdN6v`_6H4uJB)|NMghjeoF zNy310FVX~(1IR)}O$oRZ1V^6e_)}@dlI0)7@tIxV^vCsvNqIUrQD>z!gHZ3YG=tD| zW#(6nm_Wk+`<@~RMmMEyQYMIaB*76p2;x#`5f>nx(Z6FkO+;PsyHmfGk;Lg=gkJzj zY~kpSB=OK$TN1Br7HNBPxAMf>dzW>gMsfF9Te{}Y4NaKm`5GLi1uKIk3zi4hQQ(sx zkQYYYrn!rPpN$^yYxi>x+IqqreahM>f`GQc?NtpUO+YTsYje}TKsw7FyW+QYH#Uhh zqy|CFfyBUc7l`4O#PWuBLyKVQ->&?GTY8l>9FbfyX~bkj5`{_0rFt0#?|-eX6U8Hl z7`FX^S^+yL6MviULbWBm&wBh$=h*SseVEtt-n_XcB7K z2ek|b*KT4I61R#ZPV|=Lh?2zW7)h)R2NX#h=lKXK8g%KPqNAXRa3bB0uTHvQ{)*r? z6!Oq0)~{R>T1Q_6-z^AaTPT0Y;H?K7->Ra1Vn;7jwsS{M*mvooNuo_?`uw3ZM=`{9 z@ybx}w~KE+XY0XDI>j^z9RdrYP`_1pZReAexrxzDO}btxv$3Tgj!Y{)H%by2#d%{g zH~uc)R^atzt+wrnf6u@OZ&#lI&`a*@P~@UTHQ);zkyi4SMEampjgWjP!}WK#UJFN+ z5Zo_AsH<;I5b=aZb&aCB#_1Oxg39&9OhPm>(a#}AYHkEE5*T4HUi6a8C9I?tRPdS08G{#6K)c;JjJU8rH) z+Eo!rhg*7=b?VnF(r#eSvV<8kLNCl)fKz3SIam)EaoKuzM-j^&L>4m34g*|xml)zBh@ zC}?&9;T<VpxmCRb=2zD)sya`ggpO)!l{Js5 zAZ_Wntp6Mfl9(nWF(kS47UoAuLd~}B)-KX0p|R2=v`<2rn-;Eq(lj@1IrExc6~}e# z9BF-0V$|u~;>1o$qo{XG%U^GN^vv*@PzH&D;jOclh03^olarBq-?n;x1^M*s3?k~} zX(7-8An=t&(4tpYl0(=w(Z|hb??5`;QQ*N(j-z##>nBC+L%Q(K;wB$ z9_r}H-m(R*HZ@iKV7)b!{J8=d9mfq1R9(W#!V|Gqx+zs?QG^l8H zThFpqH+C#6%9d3!$=YoTp*hDqXz!cnIv&rud=41MUWJ3>0I8B z1i|fHAc$Mqmp9=2i=h)s#~UOOjp~yB*+fo@J)F49<&goMCSlUTTVoIw(SvQsYat{lnDx+W^8w>M#qqxp{I9ZpWz`jx=03J=Z8+!awc*d)e@wV`TfM_tDAN+J6+MS$E=DOqBWTsV3rWJs%zeTj3HP_F z?md6&!3{cSO+uNPKs4$c6$(qDY1ZRZ72VXN`%NIO^Zg|8WX4Zt(22{4HavqlBQlGX zuV>GZM9e%$KN773vUsGwkJmngBuZZpd4|3{ih0!yU@WSEJTx?(m(<77Q-0=%LoJ(a zHX@c2)sZ8#nw*Be7nFHpXYNIhG%mU1w?9HqP7;zBIk{MwAXwjK-H>nYR@MMQ_TpQ+ zlwU}aU}O`uhdZc6bT8`x0p9ug){*wprz?{9RcR7Sf^+XXb4&Mu9m*3(4E?*5w`WK! z2&UuBIPXS~#u@dtH6C~8FJ~6a3w}}v4Ww{I@VhCKorg#cH-H$ZLEO;3yd`}QB#G-g zc-jPs;zExkl9VRl&BER==GI>lNfP3)rvKr_F3=!4$216P7o3TGN5}HN4W9%JDx*Z1 zn}(#9jx--nU4pcWr1a8;&>Ck7N#K81^EM)FPHwIQeWR{)47Vjoc#i8{t+)@8pyOIa zH<2XPtqbQWk~ppneG-XE$k$I)<|Yd3iU#dFl(#*(Yej>EZZtoY^|`25dE!~!wjOYN zYtENYT14Z{om6>}1h);laxz>OI>PCbC`z5F%uOJP@B(NOzxKQLLPZi$p9HjtR(+Hf z!Ejiml{D#gxx4Z4cvW^%3t)e+Jk@l}9ZMtmC zUB8@h#nBZ_K}2mB#f0)LsXfpaLUK?9fxKI~dL%JpMriPYmBC_762Y;z|I+31<0~56 z)ip*E^gU3ExB-cN3fymf)PFQdV%VgT5Agqb%fhFZjy9i9U4jTCjHH`lKrmZKVsPpv zwbVEq8dSqo*4|`Vbu{_5a)Z67Z_3b8Y_r>Agi; zwaB0#0wKr{2n3Q45O63+Rc39eQYe$4fK#s^kdTpp{H=AYf?5T&GUQAdK*j_JVMqd0 znH1EXf!13qawbCYoCN;&U3;&conr_P&Ov+F-}9_z@3Zzkds=IK?>DV)36MB5cGmr8 ze-;y82PE_}u6do<Vp4Vc#36h)Y7=t#VQ3BmDOIbQ#BRKQEbAMx0yLI1fGBld zTcD&KUs<%n$vIEj5~TH+r^81IKT9|JUXkJL&?FkvmJPZfDIYb<;(cC%1Q^JRtczxl zU?xm}p^YFxO=6+VEldy$1?83iKr<7y2yE{W<|S$pVEEXk@HiN9?}>529sr4#0TO;N zl7E%&vzI+_*SCq|x>R?gCLzv?5B8eT8z7MgfJh2k732z4|)O-l-Nn%JS5ATeKp1SjgHLz5VFV@+!b64D1DOid^= zpjAxh5o`(Vr`3}Hipb8NOk)@<4`vlV0RbajUXXGAg937k5V;30%Lm*Gzk$w7zxvlyyu5y&J?k( z^$zC<0)~>q&6Uby1c^v7YSnzQLNJQgDl_0^n zA$aE^0TP^WV^&NMBuLwBruPnxpos}gei#^a5+r=#hnNx{OacS%P2U7H3o`nx+Z}&m zR1!6ba!#hZJ&-WDN3c81ON@k~7QuNF6XS#3updVaf@UYC=9o1g(1QR0ZAC;e5foU2 zsY(4k9RR_cOf&ihVt*Y|-L|--R+At|(A-3jz_mI^aG;5aS_HQf6N5KFt7*wC{(n6~ ze>s3e7Fdg4_@APYBuFeNJlUC1JsL<9C>aH+V^g|tEs5%mgA%H5?b}rWiNuc8od$JL zG>Kbd9S1*ui6BvV$o{X-jybn5)2q-VXgU&_gU)os-^|9UB=}P_1yNKDLJtzc+1o926OORM-af<|e4-W`51vuPIUj#IW;S+lX z?-<`B*o#^NXIkTT(qp}X@tko@ErGM8x0gAVaaJ`!V)s7#w#NqrdeO`zwFpKy5gd3f z({Ir1^a#^&K%>BQyH4yK>;jPJLJdL!#LT|x+=!m42GJ)NGZ`Q;u60e@t=j++hZLU# zL1OW&(+Ll^t!e$lz(9N4r>z7CY8B8x+7KYP(b1 z`PFqxqK}_l5t1DV%raMk1UizM>m>RDiR$+t0o-n0PaP(x( ziAV_EM{Pk&oCCvW_$!${XIx9>PsU%m)A2U*E79DvXRm!TLtZ6Fun-uiMbO+tfS@KJ z68y0a072)p2z5;kbP_%YRf}MrCYqU;)fNAVVP@A~wW(=SQsS7ab6ne(%uqE6Xb}u~ zB}h=45YB4=15Hf~eVv#R5VM)VFkUA}h((7ier;{~Uu@HHI&j zuT3LJFvD!wL3`D|$3Lw&uDjgHwIg&OfkLf?*KL`<6+N!2VpN zHv0J46(LR9FnhBlNYLrSx=0RSNsN@bQj#S}^GVpgxe<(G18wu@Nag7pd}GHqIrkGt z?KCqDo64^)u&8X!@``U!CgNX$%7 zfJCoFa7*6=eGt+)O}~S5Qp-XO0vbyvfJf~3-ocKuZVz-KNE8=4{)gr!PSVfeW=hFs@unR zuI`Y~uDV@cWmUS^WM~*kagflvIgUA3l^k#cIdj@^)M*m_1)6^x}9y-E$(cyuHETx;Ed{;);$x> zHMy?KSAWWTmJ{y|9&voJ^?)OAdP>@uv;TclcNHY$WIBLEqB37XIKPwbuZ~F`hu@D- zUpV0FnL7|dnxR_N#q{WV}JK2ID0dS-=y>GGU zEVla`RuGAvNCj{e}y>$}JOwb~5y!&GV0=;%u+6zRQ zjKlVCcJ8w0L6VQ3H7L-BX*p)51bRM_6zK72|3Ex73~py62YN7F_@n&-aZ>;kk0u2~ zR1-l1pwo@BtO*{IRiL0Rf?5Q@Vr280Hk&s)o>oDE>s%lI{qL%h#{A@LtBGnF4w0)V zDR|3Msun?zc%V&%_Ty#h*s`c-O<~8M-(ZQaR|EoGC=EqF2T^*Bn zeRY?l8*6Ur-6EK9&&{8I=E{Q>ae@rndCd9txh6kr$H{axZF|KDQ`K#EbY}_n9MUt8 zGQ3xy->8&8-+TK7294>%NT@)+F^PeG!x94nM=9mb2a>+MXF}gI!>8PSX2hd|&O9*f z=VwMda@U#B)9(%@-ji}XZ%Zmcf~hMDkIHOudOOY!mcrtQaX zs9k8vxk#j*-|Z5~=E5maO42~W;^_@WselC6Jhpj;iQ^XlCcM-CEk9`A$S5PG?*90Q zqtt%PxybpcW0~tS*IUpsmODOkz5BPL&iB7K>RkQBXD;*SN1X+qA9EIdhJtOuXGfhj z7VPJX-^ZM5j~;byJp8F+$Kg*LI}d&0C_jjD=!j$2r$?PzQMZ@(Vp6t|K8diT25Y0oMVEB2RZP%sq76Qv1F^oQ;Gc}k551S#KhaGhfYrp zjGmMb96;@XfI$BPqnoHX5GbUXi6AjPE*SsxFTU+p@mG7M^4EWM^16EBLkX2I_fgF zY;mNQ?r@}+?Y3v`sW*EG=ga?UFQWg0K8Xr2uoW+T zoz$<%xf`eT4~S?c&WWHeg3(OWB%p<;167@9q^`)vg2D8f{3eYB3(1U`7Muwm!2~{G zBEF(h*TXb1aA7HVuDl1B38P)MYuAW?HY1;Fp~c+?404YI31&rQJ?F%bnTD1s^;sO- zw*3g-xu_D~dH-R%gU;*CA3M&{XCMn1dGP^94K! z(C*oF(C+0H#m#-xpW4HKgv0iKa7}IcLcV;ba0;}S7>3B|=0_w6=eSs@4s{(9M+!}% zW71UmM)>S{kYF@Zy2U3zGSlX*%(8feNh+M(|3fEBr|$;)u}e!_yxg$6XqDYI;~Hz-z=^j zp=uV?CRoI=xL}Xj_kY``;$!=EY7!y`(_#Bpdq1)JP);!y6H{-LAF-e2KDYc`dBpCQ zg*l(}`%L;rr!-AhEKCWm?w{m36Kc+;uThS(K3oxa5f_Lj!_2aI-{9%m0xX0O^Mv4KJN2(E`?i(d!l@G;E1C)pCfSlxTZC2`d&kGSWVmR z&1!DCtpzlTHq|i$+X}E~-}{%C8>fh&(4&-#&a` zZQ=0nQZ15m#WF|~+vM*;u2#3hC045oXT(D&$&RvMjqesNVu?w`^p z*dHK~L_i=|FmzRMA_qHAI%n>qalM1hCx8jx+2q`h-dcR}Cjf_H#zHR_04 zt?VVEIb{C_3)icbh0H)TXNaOQhX#u{5BFdp1KV@ZE@I;`NE&Q2O|rE37ZM~W5J0m0 zv;5wd!>H@~Zz0#W21sn)=@7BX)JYUc>JfvHu*jz+9Y{jgq78FTr{L56719IQqxn(C0cIRd?v$j#@^|jh#gVTOCcp z?C*kcT}F_gbe(4P32<)c{V#*c{-F^7L?=9W>l~57G*@#l@R)6=JQtnN0YU!XO?V0`!B&jz-uZmO6b8fIQ# z{IBf#SojCXwEtIS_?$6I&|s$5&rm)^`2>vQAhsW&?8p8-FonNj|6{et`bu204ErV6 z-vnl{fko`24rLp+U?f|?bX2EYZCi1x?ALv6+13DvEKQTJdfyHQNJye|sQDeroDbTz zyZ%PM)B2sxIBJUO@}pcUeHVd(vvRSGNT7tKNmzY-vu(8?fp;Fl`iA!o z0>sN9KA-#!Xw&Cu9gyq2=*^fCNErSq7LMBK>MqU+qd=(tR?v`ZLBdow!?Qt`NE+kF z^UahX0p_vtk9$vOtBTeAN8?CzCiPyBINpUsSsHo{DO~qEAIXlJTIg?|p(cH!19#r5 zr-VP`e54G<+M*vEJ3q3wsyJZJqC^O0J{;Qtdp@!!?LA=cx#xgA4#&DweqxWswjG#y z>%B+pE%)rVH$V7^qj|+g_7?j;akSch(9vq|$4dQ2haJrh9dlfF)ah(`|a+`bm&r|IRjhe$M*53z$1DKDYenT zRUno@b&BOe^-(S1>@epeO_MPD+C!5l<~#`zsVIv+@6n!R_jJ{*$t51HiHp0lQ^Bl`MQ_I1(b>idTSBrcuK z35_dUeN9jLYsv-1RG-8XtTRBOkyLAL@=qm5pd;;rq-mbBx=PH34Oe4I<_v~0i+1Ys zshiQR<-VzQRVVgI5?-KQm0Ezz;(liO1cb)_ZFwYN`ysHQV4QWi5LX!D# z)xZKSdArj!k-uvl)B+$DFlHX-h;Y<~`~!_8`5b8LfnXS#xd~e1RRt1R1zrs#*w@kS zia-HbkvkUetPLDZy1EKL0)yvS0TPN6cMUV* zDra1NTaz?RVu!08qnip#T~p*SQ}OX@Q2*wdlD~h!Rm)h%Hi-mtk-ZiK0f|Vo;iZw%f7zeV&TA;}s;f>;XT1RujU=5WF;Rj9B#r#V zJ5PpnJiH7V5Gw04JcjOy5&3efmi_$kUjLsJf<%_ZJ4t`spi3nA;V_WKYnp`3 zTNG~TQWr}-jA4*q9AZsrJweO36(CZAZAGNk#FZeCY7=3Bnln#Im*KwO4~gWv<6WQ8 zcS1bdN?-r@y zqj_vclyr{khb2g0Agz66-M_*rT}n-Y9TU=|g_Ca9l{pu40#4y}*BF4q3v^Z4AQJ15B4J7lCE0&6p(RR?;Edy|4J78Qu4=cy=4`HMZuVDZ7pMsxqj+pblw?POWI2`~kz?~PEOPw|#V3Thr=h{#7}7^C*@|7Q zn8S&QzqWnk&|>H#1rQ|7+_chPwO!{s8}9eEY6R8VvlNZJsaYiUo^5H2s99T6wHw5i zYRnoz?V_mJs#&dBf?72yMo^>FCPseweE)~v^WwZZ*YoB%&vowW-1l{EHo-^s5BO5^ z_FfrAQ_P$@G@NrS^8$h(jeY?q&6nl)D>2Yh9)ONkK!0CjIbcJw*`vpnv7Ih|Pd}xAb9U zftY(tSB-)9_TFlnC!fSsoj?`z{d&z=K#?5DXV8kz>hVI;mwrrNHV>Y=}yhaX@A!@CX zz~g~Vz75m075mXT1|3YMX>)NDcSu#ls;;>%Okj$wb*n0p$d;8eqh@@VMAMgxr*M)h zZKO1gI|Us+3RPQuFd2Ll8;Bg{pV$Z<5&s92qYs@kB-Aj!2#!$K${k@toc`8DnQz2u zcXY`Vmqx|(D(ZSN{xODR*|2O{-g(1X#UN-s-=5X-Wmls(9@j?B?q+}@S+z^v8?#gv zPyvx4R~|D{SeIMm=5HjrcU;~XH+;S$=^*gPX`#ojJMxCd8-b$@3w?7AFFW5TRS`L? zDzxBya!Ec9uGGad6#Oqnue-ERJ11Ty{l=?$=^yL%MEf!)0)yRv=*SM7Chelyu89u3 zkw;u1;cn9*=8x@Kx~>kO=W5~FCom#gEhqQ-9=U};Po5QRn&UMbmjj$+SBFDtXGUa@ zL0adxW)zoS`9Zy(V;swbv-P$j--l%nCO zM(4BSd$F;{+nmVcs;0U5iu!BlP86${YlL_Hi?IP`qztIQ&lrS=;P?!f8uH$_B&M>_ zmiLOUXaa4rh+&^;nrIyPag4kOM?R4a7@Um#?st261-$k49y6VbGFF*U{QIR~o;$-y zkaHXDyle)K_~-rhmJoC%>)YJ^3d8@taJX#*{I zGZ-y?4x0e6)I~{EeEU6db+I)3bDH4V^i;^7-8ZKhce`9IzaZCBN|kHx8f=01otqU! zLEuim@>$hLkB9vD}{;m2#$HSZmsLczl`WST8A_Q z!L@Wg{MoOd+y&#GY7)L9v~%TF z>$|ZTx#lt6Q3<$JcAnqZ5RHCW;r7f2l+7#SZoEz4{xR+7OVrQVdVy46~=+-lN*p&`{$M{sX9k2;%|=)dI0 z7*1;TY>7lnzc6&-#&YS$=vR9RRht3mB?2)_qmDmzT>5Q2Uigz1 zL8K(h6#CB-ZGnD(PN^B#XMqvig);legGwOb3U#ClO5>r8yP}?3dPWW0MA^Ju(ipAC zxs(DoLTkL^l-5`1UZqbJnX$RM>U`rwQ!xp4X^zwee4x zl~bBu$+=msqAD@k73q|c!@5VS6vQzUCR|NY>lUsWhw*)?rjos9IyrG}Q!w&}17fdN zu|6O_qdPFRP$qR0Kj^_R^0l&MG&X6y2`Ah1#p^(w*g0MsC@JiFyX91i=FY2R9IYCp zNWCs1kjVG>r;n*uOPWr|{~;@lBF@H$hE zs^B>cYi`L%BPkZj(c(3@Gx%ZSLuHjqlBWUqA%w{rnyo6|&Job_$&%Y#wU< z)|bXny(_x}FmBb!c=VU$L@=2HSK$+Ezrx?Fauk3fSSinV_u;a2YiCz?vgfFN)siv| zAhbO&A44Tjj5VlNHD^A~7N<4Pr>y8tlpFBKZSnpGj(z90?JuilH4ri@??-_Gcdfoo z>zd!*W9cO-NA4h-Z!{$;4u05wowMLymn&(n-60KluP%~*g+OMnslEgCeUN=c774gT zQ3SYLd~F%$j6SoDK2$96VVAK=Ak_82A1|G82}_ZMv%1@~&;F9s%p27U!+bl31?-~7 zdO|PZlB2zWu*S@nuc-dE0SFS`!$y7vCE$1GzdCRW&;y4M6w(z zsLB{d%L5s;HCr62JYe5p5)S$K2zi)QG`53^Z(ucsGEtth(&2sBn~+|$`8pydWQL-< zDvhG9<7VBdI&d^0_2zmX^R*+Kx3y08J3v-dI=#IN(#0sYuOp|gUr0fM|0<-eG@?+b zAb0E2(N z9>09kB6|E1z2>q&^k`~Z3C(Yq4pDK*Q}coQU6m{3m!X%93i}$0;fvijp7soWAR0gw zKDe+SrJsxwX@AFn?3ME~-1uIlMi2}rcB;NV@Ge=1h8fDr^sv13wWSLCrmt)uhnC4j zEl?pYn{!J>LO;_n8)!{gD(%anB;2t@3X=7|Tc3Ls=sg{(df1zxLU25^hb7{XVP{-> zd1g$RXRH=I0ittHWt-LA`t9BD6<=Qb%`7*ft)`ct&$0Ua z&(yS2Z#dRsfP@-B_eIIl=cH*65h8hyse=Box7Xj+o=Z*LA7ch{@UogGN<1S;6BZ;1 zy^tt^EM=J9{Sn&x3~#A_Q&KjuxEiGpzf{)@D0dCV&4p21U6_JCf|E`>A&om`ja<3M z4N3EYxr1aQ?h}<@j7T)&j(}1S0FxJU2rSQw=$d*vsc?;LDCiI9sQf%L%w6p+xqHgJ z+jg#3i#9 z%xPK_6y4vtcU17!=m|8Ig2z73AyJqML6;<&Moz7XIvU;*O@$STcnRiRgRNhTLGnve;oc!*|0|hRWIQe z)i%ICJtoJ3(B~W13^^Jl7#9?{NyduwxkbV86d!_LOY|Gm`c~;qkccfJ;3r6pi)8=S z1d%4SnhL;dRe9B^O_&Rgm_IwVG}IaucSGe?eb0!91?RXQrLoqANBOy+K$IMl+Om4G zCLT9}2K>k3HrtqfAC*(?z6mEFvw6g5%R+1=U9!gV1h&M&qsPAB4S5<7PlDmR12K?$c2oM}I&H2B3tr=3Cl4i#!SLOf9`d{k*Z{Rc{@WSg| Uy)=SSpOFxcfsUzmEf^a8e~S?LUH||9 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/channels.png b/content/docs/smallrye-reactive-messaging/4/images/channels.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2052ce4d34206f9a51fce2a687cc17bbfe7f5e GIT binary patch literal 47651 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 F{{yrPbAA8- literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/connectors.png b/content/docs/smallrye-reactive-messaging/4/images/connectors.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd50c3024293457316a1d0b9b78f6990725647e GIT binary patch literal 115514 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 z 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± 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

    cyV$A7d@&_lP$w3`_D7{PB$| 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 NNl`hGY9WJw{{zJ5$kPA- literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/favicon.png b/content/docs/smallrye-reactive-messaging/4/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..93f705b9cf8f220b2613664026ffe3cc88a87728 GIT binary patch literal 335720 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 PUc^9Apl;6jS-j`d|}- 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

    ID!LMUR;!Avg(Y-cTWfC`_2x{V#8#(3J+X%{F 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 N5|bCL5jOn&{{S|)6p#P_ literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/logo.png b/content/docs/smallrye-reactive-messaging/4/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2d957bd5273da2c077a34f832ff2b90ee2fd136b GIT binary patch literal 352162 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 rIK>@DR%@kxUF#gRE-nIL=ZHG$4Qu|D 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 z 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%0AtGvm?Qy4pGN%$3yXmdqdIzUc_WT7a=ij; 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 JQnAz1@% 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%0A5V}M-g)#}54DvjpyK%e>v?&|ROFQ<@vNin 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
      y&QVOZ#9TM$pP|3Ws>?A4oAO>R zag}Nm?smkk;X>p~6o58JVeqS&4j$>mQ80gs;Qvvo#PY-zgjh+*vbQ&OY|O?qigIhZ zmbb0E?#xMp2D$`TzPZ0D%;Yv|?gQ+&B+Imu1ISv=lH{U0&79ZfYrKlX?R8eZ==ntL1`|%4;aDD1E;m$^fI{}2Oz?w00 zwS2(04M37URLsb5{#_JLdk%X0i=@xPksbD!CKWGa@BJ&=HpNK{J(2Ai9u&>IC_$ui zPY%2?p8LwC*uB{2MQ)r`Cb zn3zy2cS}!H{YQK!LOcoD#JIk^Y{$OP(c56jze0cMQuvU1o$%*c-k;q$C+aqqtw$@s zS4BlO>fqcARi){~PmR`(>=p4FdH`!cojal#rBT6wcCZ)^a$kF*>=y@=nV5}t*6RuP zo|FD;o43DsoC~6ZhZOU;@P#@AI7boRu6sSlzlDM{XM@wV-^%(d4ZKmSUXi%f?3Ng6 z3fv8;41VJ~wV}3*1(hR@BZka5FdeYq(ua#muv*x_>55+Q#IJgN`?KvUsrJsl95Fn* zIHzs_nyP;{8tF$!mc`i$B^r+O+(;HBD4&7W^TJ@R9BsQ1XSf%22ZU4yG61+M=!-)@ zO};MMAA`n1Mj)_J9XhBM#lLpYtq>yF*Ro7MtM%Z)dkqK6)~&snU4SIf?NbvR`ngAM~h=A z!=*Q#ssDJkb@62nKsi&F#Ir#ghKD=U7pTPgB48+o%WRO9S1v@{O#pp7s`{uuK*EzP zmqQ3}m%ai_2i`n1@QgvoZklUlWjYV7p1e1aMRkN$^-4-K10*v`h&)ipH^8e?aI;sr zqN^>N|8Q_n!z(V)jLRwrmj}>N#{u;DRkIa%Sd-v`nvul4sj!L3Ni*fwH7=f>o>V;^ zzxl)F5Y)-relgSaO^HXZz zYy$ThFvInG@n!i2RiB{4bZnb&gcP-uP8N$`5|-@{%hzP;5fFXO;0Q;pn#>J z6act%xNNHdo_0St_2q=gozXiPwurZe#_NKZ!?c(hJLkqc0fVRF{{_1<80Grp>zhu?`i}woDsl(np81nuPDvX4#Of@ydUg_zv7A}Im z6V=UR-5*uT{y`p-n_zgO$F&6QDN|6=!1}$Tc7gR7!`wSKah(|xgWCGce!$VjhYJ_F zps|uT0Qf!#qwQ!b{9t(R0&11aX32GQ6&i)|CK8D(C99?2mhQra#M5`Ak3WqHgyloW z9$Jca2$^Cxje<*MH42o?SJs(iwij|^%sNWG<7#*1UXXTuCbEB#=CzOiyk|G_5kSl? zPI;XBuR@op%{KywcSHqc`m@we2_yLB=JT#S6{n1OQQ4EG| zn?^)L#HKh-vKRW2^?AfJOjYWO=0Pv7Y>Zp3uXhASwm}18ioB9YIw&4(_VysqO=9Fk z1*EOk+S=N3PXm1R`YH9P+s+Q#rfY*D-jIM#w7f4^ZWhU8nHRY+7^fnk@=rr(^s<9S zlCeL0@=U1tI<>P%!(7*H%$u!Ac^qIH;_74_cMrQWsF>xZBZyzGpzaBDVJVsA0?(W! zfI!Lr_YZ<61fZ_mLub%UR`aL$45lBVp-CxK@+zyxq;~KT2ZNoao}9iip_%@{j&z>k zrI^ZEZM#K&c!=4czkZnhjsa+3CwB4N66)#7Y3eq1yfSN7c-1TTZNu#B>~S%f>l%1d za}5=_yJ@}Q5)sA!zW0AtBB()-mX=mUoX-f@u{C|KE0P5tiS~F*3Y)1w^_Me9n*9CO zoRSZ2?&^u_+urqiX;(NzWs*U3@6C9j+_G9_d3=aSrQh{We%{1rvsY7^0m*W!-AhYL zMJul0E2rV4(E8GyAm zx%z2#aM_P*wlq#;RQCrT5K;N-zZP+Z9XdSFgkeAYaNO2!X{g>K?mJ((%VS^Pzqlg6 z$LH6{2wL|*91wx!%S!0`va!Dl9K1ZJlUfBjI6OI7`n=H3#YN}l&`02Z30h)oYsaKd z(H3pj-h4{cd{*J1S39{gt>|;^ote!8?=4B<)hgy4G zKdpx}>{jpy_rJfCd7}pcdU`EWg#_@aEbJZjzk#NWO-z`MjEr~n zJZJ7d5;QGUG@LbLWw?#)Z0HS5?2Jt5-EHiDsDXfZ-MN228&hXPB6pkLwocsce1QK_ zaR0#nK{Eh|{!8L)%?HqsRUi_!b2KGlqi3aO1n|QU5fSk^nwW7biHQAg^PdtQz{1(t zo|}Qe&CQM8jfLLM(VT&ai;Ihak(q&+neK;z&dI~p+0dQN)`{eQnEc;-L`X&p#O9IPd}Y4&Hf)rwod=6){lY=|EXbMqGx3IKfHgM^8N?Q zE$?V)`Xl*2{P~%9|4aG*!TqlsUWWe&|9^Gne>D9s_D5BI7+!||^V#@eWcnyHfq(>o zBt?W&+<`B$ApJ20H^1GUsnj_=TX{sNfYIexBgke+1L?wtQo!=5sKfX~=gaX%1ty<; zWSPiusG6__NpY-EU{~0X-|?l86~^%KtG4fX+rOvXTpViMR#ooO)LZ!I!>SvwhP=PR?WcDKLr!TV?RLnmWsX>UZpY(9MRKN`8` zB>CgC9;hIRyac(5B*>%XnCU}M>af)$G-UH~$Wk@N5u1|2}DF-=!BkbA6pZ zIfx>^*=>gI{G)S`DfP>R zU~3%U2K6DFyZR)OIJ`D4!uMT)D;!fldJhgbFwe;z;qjup$a-1-E>l zNB%gu-ZXZ@K$3pBP9hx){^q@-JrNQ#DKWu=H8`fU&K zLO26QngdDG^SQ%pP>7p-D!4Ybnv1RjDuQMlz?!oi;Igy7BUpo|;3?dzDrks)#7Q(M zp#+^o7{6q^u>;!VG$hvJs z;lHaw_%m{IcgPIFW!EA`Oj%zjM*`>lMZoIOyhU+G07T4jVU+1Ty=!3y_BzP1dr7nq zZX@-76~?n%4fY#D7qMi5YIp$8R2%Cg-(Wf}pKoI8js>EhL~CjU?EVa*KZUGHki^CS zO8B*fVFIz2WVRD>3svHxXCkmduB>tKL}C5=nZ}$@tx&bLa}!d=ea1Q_()?` zTuUW}!1JCQ{}ILYxr!<=J0^dz=C%&vzv6yEh3s+55^RAhv8)IN1iH%NRhr9F;2m_+_5G7ojEpbJ?U;A9FQdP!NF(py7L}{mpk61X(PoBi*ef z>xJ$)QH;25R>9&9qON}7_NZ5;g29DX1*}Dg{>g%OR0hz}!=mh{{;b^br}I5yO1yxj z;a(qC^K9$;hQBg?vGT{W~1CwgoS-9dBGIfWFMEh7f7cE4Xj|IkG zh&MXLEtHqsr6MI~FTOhs=DNj=eD<72XoVYdCVi{R_ZvPgw8C^meE8B7yv-TMT7 z(W8zP(N2y+fbq?-7T-FuW3K2bLe>MvDKQBfI+2#BnrhUuWSu1skB3*9^I_Fc#9uDh z=0+^Igx0!GDVNAsPbevUZsRoAmgH6!Igp5AJxrvE5gBt3dGs4@J=?v@{$amFNZ=*G zRKTVn<^8z?hnM^ZcaZE+T3{{o$=p#TaD<>aA;MPZBR&91qvg3E-h>?>NjbGU)dmFa z5GNg$f~Vznc`va*b9D=a1=wBR?SBAN*rTl&y7AMZHULWe^45QQ3Q=Md_BWKQB_idh zq{QX1&NQy`^q-75GhA_#;BwO1{?xb!HR+IPQ>M{?;C(8%0nujJcZopbFuCFW6kk~k z?^qxE^!;Dnk~;r_eSBmL0I>6L(AAxMvmr~3HLhZ>i2>Ie8TO9#8~17)CrV*6D=S8O zN|qO2bDDh#DF8(>O{fLgdVphYp50lxr5}$5+*yFg+H`6ULvOSJUEI(;AtQc?GzSD_ zRGSMR@n?NCXvNd&I$`%}ux*dqV!(~rVv$o{D8d|Jn?OCM1tj zxyBP1jnEaS*qq1+Tb(9pC&{$rhZ(CVTia(}w@fd}Rd-CnGB*qBjAPG@s!H$gY30)w zNRoW5eo7IQ$*p%V{!uQZhVb!kQv;BNm$~~9U5XEoD84w(z_E+1bL$%xs!}1uul_Q? zRmAzGoWbuvpgrATYa+u}*07X~P*=?`Z&yhFpa9tEk^Sq+W78)e0bV>`9GvgOhv#eh3Q@2fQ<$9TWt>S*}#$;Lef zBC$tF0ip{O0yI9Yp^h{T|J;WTDG`!AUioW~SD@2KB^(z|I_DxWn6s{74z~B^pz^15#R^~NX*$e9|RE@{>Pw#m>iZ*7L z{n%B3;Cf6Ija_jw+xs6U4D}OmjkoLfchib1lhgD3e^iO#Km~vyfn1)Ygz#UO(m;P_vctP# zukymTfAbw%(I>K&Im9z*4Y2(^g@VO|ulNmHN7#?&f|BGc(`;0oX`9RxBdm1v<~-}Z zaJHykZ+e^ECiYwVL0mTF0rzNDW4Hh=-E%M5@H6lH?4@<5DD(K+{h^fx^9(LI8aIYH z9m+M4FgXAzMe0NySAnO_2KpL7+INEoPm)4zgEwokxf$yZ$YoW6K2T7Lgp080v=)l4 z{nxFKlFUsvkB%B+f4$^Ca@9GvGSR}B`M9uA#po`jUlgORS%;Cca(!v<5v zgl1fA6}b>wW{Uh~t&Y2m+Ta1At{e70-tTx`(L*Z(VpypVUyM~wzX05bU8K+%bL+=$ znOE!LjOtvr&4A@a3uCV#q{`^g5T!ZIX;`IAXTL;(h<4?A_)itl!i2_u|fGAFOT z_m#!Qa#kJ`?Qd@GuEx(-2SQ=N`0b06;1A>3sw~If-gVmJRUc3ao~{C0bdewzQ**QM zNzvu=Ru&X67WaWyl$&xQjgLejC3hir$J=wo;@Vzs&S59Q8`t4JZCM22Htm&b* zczz0D>9UsJGE_*Ym#>?n0pwXaj~^>t&!7f!-iNqyE!0BIs+~lj&{D zD`>y_^@0A2glH{Sy>Px1!eS^hr%{3I95Y`|uW4t(YRJ$4L{RuBn|a>+L^t!=ipoF< z;MO)XY(;x@@PuJF#MwQ@VOe{*yet8-YBH=Sa=L=m}WMTu3N|Mm)G$UiyYjyaN& z-7(|MJZ*&IR#)&$(zUYSGRc-^T*~`aBO=@qCEgYF4$pAB+oB2b9bp)<11dhEakvKb z4nSfp5k?6%J4ma_>B$GMC=C?H9Hb+4t6L}aTWYDETUc92QAuW8Q;^LJL6W796T`+t zEhW(=KIVSv%z$Gz?^#ftR3;q0)*5eQjKLReM3Hq=Sv5s zt&7z^d@=4vMbrRvE~)6R?<&8y5Q)FP5%GXo1=$cbKz%_-+j7c|QC|DsaZ}o#N;B`r zwcbf#%>Mv<#C>L)I_=oyY}R>CJ0@dkqCfW85wh&ob0F4K1Y9bVjTkDF1Gb9;RP42x z%ho{}IOMAy?WPN4Qmn1`Dv>gfI?tBH;;$xd~;8*g{c z`JPz|k+8h!KKox4+Hyoq$r-bF#{O0$7P6tjX=nK6-c%WTWHkqtmGVedYf2$*O6lV3 z=v?}JlY_|nUG{rwJ@!@IXSUt52k@>a6~p_z~}hxX|1|2&PNAc!2Nuw``br4Nd1R6}J7DKDAlxLGP|OMS8;l zm-VfkXQgqWhwWP-NE{Iu`5Ep;ICu7%Lde%=nQyjf%+2~y@v$$W?|As1@zK{#MDW42 zh4$+#lUGcs`mC!j&IR-GKWFysYGdsrzJQu0=iR3v%_4QIO{jMf1z@cc4e`8;d`=~- zKV9iEP)_3H3=oc6PKhvPX0-F#cKuj?BEyTYpzAEGRtk5-m6{C}{o2#LPW70)1;g&xM^ zY?%_}P}9@O6s125gZzC=ygk zCk?{nlhHiP*&CDL$~*rZ4ChZ(w#$pXOtvqw=Uk&MCj?AZoo!$D{M`u>3}(Z#==#^D zjbot&<_n$;E)Fuur{eaCZg9xVTX(MqoD_0agOAt0Ck7tJfp@S8{2^?R&&-70Fn`=i2$pH^+FjUr}TBMmQGji$5t zSZb0Vr1ApdNklR$)89laM^-&H1DC9{95gE_3!=CB*GYMaC(>$CQHvNWsh+jyuWnw7 z_wwI6(eNJ|``J0VDK4FhkXhZXrE(i;{Rn0Fb}+l->Y-0GS^4o?W`~D}5R?pK*M6gb zHfveA*INrQNJilYq_87}wp8I0t#m5Px%3h1l>Ltk2sB3g{y#G%2ffj&DJgaY?xP_t z)w1W!`ctyrICng#@K=Iila>J|Bj|?&X;(B_f3JEQSDSVyAa!-RmHy5?cE*yYuX#G- zXm(>~LJ>fs#4pkr@V20O<9fqvz_ZRgxDat6sr&@begO@v;WF3^{-HesBa=H?xG7;` z2M<^+n0N@}{yBk!z=xMwxh>ZqpFN1Z+dZp-ju0=XGp~Sp)Sgcz$ol0lxADBO z28!^`EdvA5!DcMQ_JrE{pJ16}qSP1W@+5g~Zq76klfiaV?4P@;s_JNZI?krb;G;mx zdk`1vB16BXk5kt-Xj_OtLKPj%K08~`9BybGp3LlT`%>@zDp7f-tG(0+~#z2bm_^{Z9;9*CbHXx0vwSPsd~y; zs1fc#p4+ZAH-b*z!jaKJkI2BCj}x%g*rKX+-3&MMK*lqr`tkZG|CxCjKe$GlO5s3; zc$oVb+uAB>@2~7)avZ6fW!Vi_xV(r^E*=Q;ILLyK3j+Hlg^buZ^2gf*3|QGw3-~7q zh}%xl%6asUCSF+A&0BUTdcc}^hx(t)y``$kmgLyhKaV}|dwJQu4JQq@o<*852aL#R zrH^wFtfkKtmGsPL`)BKWaExG^Ae(E$AfoV8eCZO)rW zNgc^ukP9T<73&;Vx!v=$i;mH@~c z$Wj$0en(O8QRm&IYDA*ofxHFf1EeI{q=(SIj}TbPzf-J38v}eLQ3SkHO1OH`F9PC= zTRB9^;-7-xOk|LZkTc?tz*Jn&@vO)P#L&2UrFOgPYtPsi2Xs3SKwDz_0RBRS0UZ<5 zFXE;{9rGj634y{kdV>{No@2|QwW_1zW8v-XO?|aEqab2|7#M5clXW(J5k`*m;&HRx z0~9x-R!0bcf$!iZDVkWHSoH3yi_*BuI;3@@ooO+F#Q*qUu7-16>d5;{L9M|Z9h>33Zqzsq$?6cWmF`8TXcU!wtK4Qar#^JmI#SqvYr2z4_k&8vr!PfD0G zX$s5Q4UO-E8j1elv$cU_Fk)J#Vb*ns{was}dxX6U`~tT!;eo5v@4YOT4qUK0@PipT z?j=@ubyoxlTBw?<7H9qw1wlAG>)5Bq9nR`HcSwuo0H~?wb1dY{=@?=>hW!qXFmF1C z2jljzOSogW{g)i#%6h=uo`OW$-GOu$U!j@U>oJ!roo?RMgt^jSZWhmJ-5i)!h0q_nU%}J1EtG9L-$JW7vC>1a zvhvd^8=>;rVYgabIsFk5rsS^+DmkNytHA)(gRUJ8xY-P1GvJ7ny%Xk7U z^%OVQM2jr-sVqIkU(Ywg?BDt1OS)XoA$N~5oSiuEESt7%^Fn2G`^*t1j1g%q9iycc z?yt|2sRSdGMgfwM7k`Jc!bhaE_@1~S@KC~WQ|Wc7qkrYutE9?B610@nBL*GcO^s2I zS~9h5&&7$r<@X2+nowv$UO|Wl!TL`nFPVu3o8FVs$uV;}PlW0nY(j=rSoxoQO!wIJ zJ_j89BI@Q8J1r%+1}EJ`W$_l*Sk94;BNr4GfawsI`u_T)K?xt&l0j2)t08nN7N9dH zLXSXa)qSiU7xGhpX%iChq{iyC>m&{U51<}~*t6LC=yIldcM#-|lCC73nZrPOR0&yts&rsvB=~=byYsa9=4MwhZEy693u35HtfSugqVhzH@R>|OY?%Pvi z4IU>REH~-jbB7gCotu-=5@HNu|8`#VaH$_HEp-PB7;3fNgBZgyzyE%_Hs#1|XFr^6 z*5C7WS@WMJ<-LY!>xX0(QrR?SF+}@i5eGfG zZ5;Z-Z>}X_P7PP<R#2-94*(G#f&AmBN-$H6Sh56lHCj5V``Gm%g1jr-9y~=7{c2Ac z?#~K7?XPtVvt*6;!}_NDC~LuvK}S}H6?yU6d&ibnN6sX!v>Jg)qnIdH9-n?d*@Cx# z6SdJS?&LfyAkJf7+eoxfX>Kpw;LGo7@B}~RcE+wI-XPNgfjIZ_x@Jz5%x`VRdVHT7 z2`?v9#R|vaEt-_22@mnw*6-e+benRKn?r!>>uDtq3MypF#z*fk4scWeB6mr}mPW_GN;I%2u*Zhy`y;{b4J{6&_t2wBk@I|G1 zVI~?Y&oMJ{^#w2P(wyM*^q;DH&wME&qJdgVpiTJHWsRKU1pCqa%{Gh(KO%^7tUVcf zjP%Vn9xceY5EB+m7x)**1s9-NJ|NrxqUKm2P#-5AN{Sgr23)vjV?;N?3mNG(jI{b^ z(n;;*W&{e8nFgu`Mc$&z<#31XfPMohEVW(*x?tPetfRcirrt_pGDdMaxIEdi9 zaBXWio(Lt$!rP^LhsmC~oPG(Ug=1E{0a%W^ML)|sMp)T*JbWHj#jXO10kd`{)8)W_mB z{PgtNVjq*`STRCXWD0*_1azmd@(bgi2&IWGByyBc0Ak`72p2Jnu8w^}n;y|$kq7G= z+stDlp%5VEoR@&w39orR2o2w%7zug7LxA`$Qh@m+lDGB!@BK$aNR6J)dGXb8)I4{& z5H7&co``FZSDaL?MeX~06L;Vl(H8t6h_Imw8c#F3#jhak3r$Uhz8Y&@xATB%J9I&) z5s51%48fJiP(;i!f{Tw&!8+pcJ())|w$(|L$Qdg^7X^gDE00$IPjuuL%uPAF;hqBT z%ss|a2~3R36DQw77RT4lr%yupR+p+r=ynzplXC10Iox~YyK6_mZWxSji&q6j$ruzd zsb*yS12ua6ao>bebvDi3JAE#=3yk<;yBlY2N9xDd^m#6w6-|$K4H5EnI;Yovj~KxK zD6b||!>nLSP?DKK%`XA3-S~Q}d*!fel*cebBv(g&Zu)VwCPw~cpS10U^qdg1IV0Lh zCogC5?1{kLF5=61?4T)&Zz(dc5+as$gc(zy=EAvQduR-Ao<#fE@%5Mx^qAx-vazik zmm*HKM94eXNV6k0zcx*6&vkvcS7ML|zxesH7O><2X>+T;2fHnNQ+BL{KiQpjP=+}; z>(n(`Z>ZssgW$%mhWT;R0w*Wt;*yRs8@cmcd8kO3h22+aBPH#gmEPgG9den)cHxnt zz^0|OK?Hdv%8jA=?2XC5WC?WU`L&;Kt>!QANV!r^GH5ODbSFu1n_qf8MYPK6vXvZ+ zR5RFkczC`tE>*S14?V@Zjzqj_OkyooJEBf@6L`o4WjDwv$bN0{3_Wy=({-q$s<5S( zq*>cu_|=?KJn$a|$T%s0j@_X+r}skpoa`Nxg}XGSH0WiiF~!&(Y@f(I8)d7dv|C9; zI++Z}kLZOpz2Pn`waGXfBZkzJauZz&T0)_?8F+A6Z&T3cB4m!ZM!a`t`fCy9gS4w6 zK2?K%_lYnjj*i7vXgA9tw&J573MuSghXGxHs(UoJEQP3l6;5Wt*+S|A)tOp$FQQy> zJ>hVf#EehI&W9|2#mqH0P)@@b-~X-_I$mSEvr~0eqFq-9p?1zGKBeNN`yNwHRF}zo zFU@=|s9P=G(wa=@#E)#11Ync{|755##}YqzvtKSZ#+%(C1cVt($4a2fkIub(RLvI} zx(8%zA^L2o=ai&EV^_%_WL7} zf?Q*yq`e}UN(#exxA~P06>X55%B&YhKViq?<=1SR+b+wmvlKmcYy!e|AGF$C~Pj90r*7&!{` zyL~s6OBaq&TQ}yV)vLTc>M4JlZv1X;l?))G6?-MW1?$p76|BwqsBG;#?GtABtx=gs zt2xNBP-e;!o7ar2)7C-nF?RriL=nkSfn= zD+_f9`#T6Q(JpscQ*Q&S?W{RpIu2c3^VI#v1le;r;usCX{?vt#h5I0jFTb0UY&|CasDeZmi zF`1;(#NO_@ZlLB7{>v)u#KfAhc{3IBOM!`0_hKS=2Ep3YhKAqo5hRk`+v8v$S-$j^ z%BZ}wlO&$+cTk|~Yny2w{;^4P(VsnVOMIEe0rch-`ltKl6v7O- zcDIy*&Z{PC3mi~^6|i;UHr8seNnCCsH>2Bd8cYHw`=7Al+b z_fHInRku&y_;f=sZjE?W{xhidx}yL-TkThd> zGg#ecgX*?e?o4*z6DE%#*;*5EZcw2~1&IP!eh>cIUy2#L1%|3uvphKu*}T3{`u&lI zs?NZtS&&hT+_A#8p;c=;$pSnaH#t=<^4M+7UQ+2PztS+U!Ytc_7)nkwQMw1E$*)cH zHkmWxnXopGgGtHyU1`DT1JY_>baL@UIcRVIsh`2i@AOxjlQg>9CoEJ8-+#L-@N_uH z5A`_3hvbXRt2Y=l8m{U!%Xn#ge`$U-BXav4vRFmMEna=FrNu;4E5D!8gDrZ~Q7rJM zewUkR9lCk&>>y6q%UiCVkUd@UY+Q{S47RyNFdNU<=EJ|nI$zfZ*{tVzC9`qUAzZs zj!@5+P7DROmVg=ct^G4v|4LMghPeduK^dLD#V^LP&|Eg=?H(U!GKx9nW(<5pC%5xU zR+l>|lE`xOWp?Zv%aBd$Xxx}|{kYdBQ_#J9iAo!@O)BTM8*HqWDd#M4`|CE_VJdW` z?&lPd{r4En$HMt$Yz@M#MLA*PJNDUp3yY=C!|~Shct5sd$Nk%Ti|_4qnW${f-|ai| z;OV7dd~TF zB7#30Rjp#O^90hS*uoT;2k`O+e>hy1wxusMXUkw3c?!F%CR@_3;md;40^&77z&tIr z+`+wT*b5?ROUhWVaIhWM6ot%m6VLhHI#M~k zO`g;%FRvn!C%2MaJnNNVYPb(NB%G9z=e@V*dl|03G-tfNg|6HS+5}@QmgeQqKQiD;W;PT-R4vX8O->cH6JqMfqLti4qj@mh>mW2*M*ry zJ>5sv0W3xgZZq<>4s{I6;Jv=dX4$IaE3R@mhZT!-bx*rV*fD3Njqb$zNcy#v?i@XC=2z%H>nqkAfB&zSA5St8NRq zm6M^ctm{kg40Vj%OE)&7XYB#kp8{&UG7nU{e_9W1_YQ)Bju^6b&>jsR>%4Lth6Sda zw|j$h%x59Y`**UxOjEOQGS`~L_ZoDj&by4FHDeBGyaSG5_F6MubqaB64p|IjCExk!~jYP_{GPyQ}Z%ROe<@oKX1SWcwf zvk!?l-!S4>7ehBkLfj*soJ^vBw^O1XadRl_LUOIzp1q<<|J@~KM5dsgBwGKJrV8)c zji4`q&TU?vXL`cMU=U8v)H9k2UODt~zoLC_dP@ePZVtnxds-bB*{XIXZURb!Zqt@96 zdLVc)*>ob4NK`+43SWW*OPI#Jbk#De+GnnVv5znohEYfvOT+j}UG;d`dKB6G>w!OC zqu67pr)#vV&85{Pdb0Hz9nxiAT))NfpWeWqnl0Hnl+u!|FcW7VK$iFHyUTFEen1h> z2XrQA41@sCHlzT!K8O~SB7hn7l#+jN6Z@{t#By%CJa11&Ppmt3Haee(MmWlOTMcDb zs?BNmo@s?ft+_4K*IuC5QbAzYD^OI`*EMziv!^rbOB{aGwC&MB&UrZbnNpUk`Gk#< zRjY0{vm|sf%t@VoK;==q?OcnD#Ng-yD8*Ib3%?U#;4^GJ9>y3`!V$BeR-F8w)P>l< zuW_99;t3};yAgihn*sZ}U2PV~WL9?5ZvI^LyaHdJtA9G$iXx z+#!-=iz`E$dwNY_Pb*D?-c%9ui5)krl^!m~rmK9P9pr1WxsJc85E%WOG#ii)0l_fy zRY}Z`2HG=H>*uT#kkj9Dz%8m}@`9+|@&HpgE`g}on+-Nm;L_F4wX1%*hF>JZk$;z#e&P=P4_?&BfoRC&8tdirm} zCHHM`%}uQ&tB*i3#6OE7OXI!#g4X;tlC1TTEH9#3kU*B&(mm91AZH*5U_)ZT?X45W z!`D5|xr2ywmf^HM{6-mi&1RF!GiAO5bMu?0a>{~P)nm@cSsdr#;bcX~_x+}A{ZFHO zA43@~!=1jyho=*N+B?-X0fRp7{JV`gb=zFlDW}4frG~Sr>aTvLnNzpHtUjc=uBG)NPJG02B=a^imveuup(YrT|xK3_7 zrjN^129pb4-n6U^;MMUpdlpw`1&N(hQ2`@)$!wQT^!Ao9AteQ~;T5DoJ;^(?HV30H zAN2uk-X#80uWU0)Gl1eQ!A${tOhwK3CnsbqkPuL5Jt;f=8|@p-8@3w&V;C?GKy{(fZHF(!IJnjwb ze~3N>$ zR8j>)yI+WMwaX=B_&`k*yoTFS)_|{f|-P*j+>8(_P0p zeUa1N1dHFZCoD3?M?NP5rX6)GdA>GJrqkmej@{7KICsnR*Ac&6k%}9z*~Fz)ymkeU zy|MA2DkNar_yYM^i4^CjDac+;Q`ZtCoZh-m{3T?4E9vOpQ*OJ%^T`zQ>AN| z^?T;#tA*rZYpm(9b)jlI2F=&cJfBbN;~AW3HgD)p3V5MsG&Zezf8bpGFK;4l&7TGo-oS59!R4Ld&qL-Ys(#Jv^eY$BluaqE1EzV9(AdC2u&Zq z3Cmd-T@-bD?~Lu~HQHx~XHY)GHW4S|nhCWO(sW5vDv~yQcZPTLcVc@I79l>Adun%J z3`SwD$?KFl&)^E;C6@f1dP@a$B`uBB3T*g*iUNGLHfjuYoutQGvAeVeFwN<~yZ32C z5Kn{~E5sXd>Jr$SMeB^ZN$L{byE&FQ9xskI{AJ6cAMf!o?#gvKd*Ab7B#BB^onO-z ztIhXM)_(Rmb3auv>HQK%Or7RA5FSO|R{VQE7cbceVUlpAmy`XeRsXZf8CCSwk_s8~ z0g}H)A60q3f6H^~*4uhsU;8M=&Bzc1F>B({H}6V%Rihn07l^a1`c@98pI<$p)s#H{ zVt0r7fQkZ1Q1>4>S5kma0m&i>a|e@F0{ofsH#p)QB=$hcL@2P#f+PS>&@%wMRIzI; zn)+eFxr2K3)Ti-wE)8oYV@kFjme~r@qp*X?iu6qz}2Uy**B{#Wd* zt$%i$zu*&v_uk>@=H46MO|{JoVH-v{nt!x*;@a4bezAJ-DAoPltYnKnwj~$NC+|=~PfeKM=YP6$E{LOpAu$C3U=5#J=HgZ# zK3sb^Tx$A;7ud?8=_RbiOh$L*R%FG!2VT8UnpJM zQQ>tqFxTJ(k}rqYbkOmRR?xN(_(c zZ0eW;b^IOv``&of$U_71ZgC?}Sl&etl3NaqrK ztfdahx>5odfN0cc>esUzhwHKOK*sbW%&x=5a1GCPMpBDXa5Gfqp7nQPaxICgSQ_Y3 z`37Dd6YaBis94m=t3>*+cg#@5t(y6{Fx+5OQFKX|4AEP3EJx{=)aS9>e<3cQuDERm zF?r)HZyX7rqBV{om;_@Nnm?SM{$m4cK9}Y+Gk3N{E1avI9Y6|QcYiQB%0Od%pJoBVkMEjsrpSLZ_|kJarq!bcy(B&OrhcndCP zv9$?f2GdWJ7nEfs(O%;0d@U*%8c-^z467Do7dQ=U$xfB~L8&92H&hzJ;Hb#i$~~NI z{!GOujMS2aj+=USYi7H3iYV) zF;%0mH@*{Qk6Y&&V-0LId$71itC19JTbQ@ysVKlJ!#L3w?r;c3SD;&%T#*wY{|lRGB5$Kc{!;*>15E(d9E965xr3bR zUJX7B5k41d2x63&#KO(F_VO~z0SMm%?{w2ha+FTHViX(Ru;KyU4vE_Q_2cMuX~AiK9KDVc zH6(`e=s4gqLhC}ns+hXNRryr`XMAPI>>GYrx-6c@`&9G;ojnrd$h^KpL?nfjzTeN= zS?AzR@`e=YUpP@yN~(9A62~R+4V?n;9kd9}(Qwb7oofRePACoRFv#^8wRt5CTyxYf z?Eo@8*({D=bhPE^{UKT<%C<-7VQGm-)*uqc zQ&|3fH#pP%J%XP#Zx^xP`wp|=UQS@Lpo|7M&6t~561_Eb-ceD*3qiGSg(2R@HhXZ6 z3&Jsv`=N!VAECz-^J;{vsG9=(s1-F%Ter?B;J$Y{nxR2c^H-$nXKKDXZ9rJX1AReQ z8N38{neyBTIfzT-;w75LCX^?rr1mk2k=V{3kl`~XVrDG3*n%N`gS(T<*`E(qE0Iebko*>6Wvv%8pM zN`5CAvYJMzy5#vi;dSZ&+vw~g07Mbb2^cJj(D}Jt&OX6rOedHb<9(IPbG+@q`Y`NO zeY7re4qOok_9|I=Q_aZB7I}lkeK+2q@qU8q(>i4^jt{a1$inA4%nQT|dfbv(xKaT- zkT-r<2kV;oz2Uy;GR7c5DulZM+McLRVQW9gtVIK(738WpQ89YD8#v1)E@`Cc{yciO z72Gw<1$U5sn&Pay9=?=$9jraZPiQA3WNBpgYJ8fGGBX)l2rFffrJO(oou(&ocnqzh z&1RW@IhZQ2loLADh7wnR#e*;7EC}lGDCk2n_g%qSy*w99ekEjyb?DnsF4fTMKb9umVkQk<8vItiNVGd%c?(E8LDdgTv^^UYBtVkLE=fY4QG^IkN`uC<) z-?zFwOd7n1%F~L@$Iov|vl_pyG5qQ;RQZ?vt#ToIc6W@3;xSVFD$UG`ee>?jU(?91 z#^>jJH6b)>RZl;jWaRE^)y{VN=Zl+1WZtc>OXeCStp0B0QX$J!I*In2p{65C?8o}S zsDU)?q0#p7@d4fm45gV33|n*6jq3^eyV~Hz99IV{+VH%S0{_lQxUfYxduBwl@p=sV zE>4JKSY1$vDAEpol34&*IX8`mxRo108&dx3yHeuZRoN7j#3_-Z;zN%6h|pJfzErxw zP|zb~=|Rc8j9a_?EqdWG<|mD2yQ9|Ub{3~SS(1GfL<*JNAG26ieLw_hL3IvFvB)sw zs#=Y|F<~2Ujnl4eshr3a`u^%ketsNvIqm=%+S~S!onCPfF0d=RhFaYbS=H)i^OD3M zNhYRr7;5mYA@61wFB@ZiW3dgL?!LHcfgwI$0*$${ue+0;BHlp=ruK7qG4FsoqiL^p zK&(j?)SMvU9+n7MQ*ym-Am9D4Sy!;*$Y+4#Q0Rc)z3#X0$l8?-EU2yjN--ggqc9b*T^zio-<+YEHRhI_7 zIkKv`MleU5FMdJYvQY!B83&ifCbEn>`JVe;wA>-;x;3Bzq3{ZBl#EbBR09h%3-qhH zk?NKvva)i3z~LcmE}Fy>be8Ngw#`*qBK7qvxer$nXWBhYX7D%gD^VRsiyOkGcTz+qGg>^->PCNPhW+vb2$B@8}L;uN7Xrx6%Na3^DR;#+ghxEOhgIpVP z7cGi;Xd&(fbk20;)my0+v*C%>cB1g#3mZRc&W=9sPepww>NR6m_Gv2BvY$b&x~V%C zEp{}a#ormk>iciI?mBnDt)k$%wKN{;XDl-#jAPjr&UxC~q;=?K-N!_S`3!`^uC;_$ zH#uCVX%F@>Z$Y63WoQ@`vD>pbLwlw9?ADFQIo+QvZY(bvO4%Z|g_tS$7n-?p3K;6# zULTPmp)MVf)v>Iz@=#YDQoE0YLw z()2Hhg3@kws&GbF{_ULq8wP4y55}#n*@Uf#=Z_MmH|}v(CPd~<{(0l7w;Go+2#NHh z{OaEIYHtBuc_wQExybrd^q+wYU&WWqBCwfUQ9bq&45 zqkNny?+dwRlcPhMj0=BT$C)ld{!Zj1ZCf+mulW4#BF7x zni$Po!4hWFmXEi|iV|klnG{>0gd>EVV^jasNNHWGT!ON4nxRt?b%Ag@aTJu^7E`zN zWl&-uL4PbTvaFh-*#E5Ou6v!GwyYXo8~9R3$c3Y*QkdEeJ22$M?Vv7t+a30s-zXMz!UYYXT z8^3J(Z%~|JKwbO$p zD!k-Sv|f3dh4nAT`ULS2bGedU1;+n3X}tp$=+RMnxNDail(?|kjA+|;UzT|{H>Zpv z-*9mf)pzI?mmSxO1BMuXO~hsAR8zrW^<#|-Fj z7Sj>Hp0R!@p0Wxjq0yj>-VWIBqu$BnZ)P|Yt6%*H*=)5w6tUO1lo0(M=*`>#Cs62o zYF(=<wpU@`7$OTNxsHoNkP^345v^%+g~dW z?hncOL!SOuoR!NoXCxIYpmff>uY2Kov>;e%REEqd9ztI}3G!VUsT+woQ86j>r248T z0%#FsoKA3K`X!X+U$?;rdWrO-F99_#)dwr2YgN4XxG#ABqArjHIL$%FV~y`Q`n$eA zEf?y9^Zr!5T`FsP}e zw(Yg()a)mL9LVZR^t1Um>QnQv<(_TjVPd6ET?fp*|E@>6J;D0VOa||FfM$n3%AUkG z)hvoh%4Mr%*wI1+x8CIq*R!MuQ=qdZJsERF?CmDAX+B>@u-T={CELeZo;kX~1rIlA z9vO`aBdy^{r+m~#MnCB+4tOza`3bb3HZd^T1TktL4q{njqH=_f$Qwfe5jt3Oil!?b zmwY%xCC_&JEJFlPDuB^4toOnbEz5~8{`fQQm<`8-jZNBxTOVJ6hMcjzPaNr zrNO_hfx|_`s&DncpV=;jo0I8>EXQ1dzmT1g?u<{I-il8tUYc<|@jta~K+-K4H{D|) z5CWbSkz{mwuYb>X+wJnb-hpyWtVeW#(Ew@9L1P@|U@oPZ5AuzzelZ?1o6@%)M#OLT4E=2PQk)<8Ly@3zHn## zd{lcxX~-FS^p{@9GFo8=q%BWN+S&z9Z?Ep%hVv1wB(9;M1(APt!l4N)47&0;Gt?ko z$$y`+@*-*bK>)=#yK#ob1yV>&)W@%58l{!JrlfYXMbiuQA)kJBxr;iTcf5QST2_zn zMr_M(M(*a@!uu*yVxoi-V0`B8xFV|!=u!rz`U%nEOZ>pcJPh#=zpg_8F3asY=X;Fl zHZ<5@J-~b*dtf?x=m>#bv1@EsshCs67z6e9+O(1zNp zHOv`iUTsRc;)2SZm;pzvw#glS7BR;{)YF{2tgutFBcBKE!zk}6A4E1KMO59u7uWoX z5x06jQ0@9P4sJZd^TUhPK~MfdLJZ@vaX~p7*&2Cz0xd#r%m|f6D5IYFynhumAc6h( z9p34X)-0G4;N%v|!(A&_*2!PzS}Mh#OqK$i@(VW*1=Iw)Gdvw}AQezAjcy_Zu7zPm zk84+{(7wvx4}D+QYL%G~57^oUd$A@4H zuw{L)_%w8ZtHoKJwl~SiyN#LKHQxqHt(ivz#k7dMLtjnC7)rlOh<<1fyGqQ$iG5;x zGQX*$NvzDUSy5TKx6fV5rJE^=Z)j#I2pIk7SgX)Fy%f)rWu{`OQ(B*^Oc)}2?>fyS z^=%vHFR2qTq?wQlc)SR>Fc&ZjY!|ZaCEg2}2WX@2o!i&zRw-UOLxC`PUs`w!6 zf${w7^^BXpNQkV8t+A`LgX4jE=xYn!(3`(&E6YA$5{Uag`Q77|T~OmFI^m35P#%uw z7}%Cw$-n*Ysuq(+ zvSpFuaH}fu#CBx$%k#eI1kcXie-_$nhUHg9nA7R|L;gBaxCQD z0e+%-fZ`YJ9L+&1R_k5it3kahROZCyg?wj*6Lx}dnT|E()zl2_XmeL=x-#48QG$p^ zdb)3+jJ@7#Gh_v7WxU}s(hWL0fIVtIy!LYX)XLZ zd}o>vZ((7L)K_~Yp+NY{_8|$|(2pn@?oRQlr~2z&(o3zka($9{%&0B;;g{2htW}V# z{;KrmC9*XIhH7Nrnlu;!nKlW z#xHc@FFSu>gd{Her#c4*v(+#n|Ye%kOv4DZ+4V?sw5TEHAh zh~GmH4p2?3|GJEBU_P~R#o$IIgxugYSK2HxXtVjJJ1C59@5e#|`B#N5n^{xsa{f!G zHB#m0Wmj!lhDWMN7bdrLoxg?3rtrTkZ_Ey}nSo%Pmc;^67k4gw!rCHS2Ut&gaDt=X9m!M)WT%>lvt#PA+*)?g zX$8OA2`mNO-ajs&+&tIwz&$HcFaYxz5gk4|;fE%?Wt2}+s9c?@y}sl?<-1O+SJQNE zL9RNqE^tSqAj+TT>pIBLY8Y(woue&%jf3WSq88sBGQJ|Kt&aY&wZ}yLvUii~9cnI0 zp1wqh>l5Yas#j%mt&}BGmY&lU1$*3($~ms^68NI1>#lpFOHEa5CER2ez@hWfZ!e6! zyA6L$y!22>@A`Zjk+_?ev-kz62^}HRNM-G&mB+xr0Akhw9X1KFXx^GnF5f$2Bl1Pl z|MUjB8c?vwb5CBX4i<@JiSD6&7fv>+C4f=V?ce(YJY-!VI_AiTufI?sn!t^juCO}S z=d26VqL^CCRWccK)4I%Kwh@(B-%|=fxdWdb2Qxd8$p~9A3U5Sm&fLYH8i@85S~jUi zb99b6o?_oNlMR6N4Rmt#pSBVN&z*~fu0clt;FR#~3wvBUP7)8yQ>C1Hlv?e4bi=n1 z|FMF4OPfLA`jqdd9M*&X!Ezx7CvoV!m|O`ILI3x@3n)(xOrA{Ja+EGK%9(b+>g6j~ zqF(Tt=G9WYxDpD^g{^bH;vm=R{g)5Pj}<}Y?*lUlk&p{CRm$~C-O!W$EKpqhHPLcR zspj+pa|5&+gypmeU!J#vCe|oidykd$?Uo<2=rC@s2J|Qslb&6+UlCj&%`O)j|DK&Srhgin7g;FSf(>@*F$;tK9 zckekdN{dFU#38+U%E8yu4{n3{ew z(Ru!WWf-)-k8m?Eyy=qdLXR0LmfX2jc7bBfo$VQ&YMGX25mr~X_7#SMioHm+mIV0% zU4vCmtR>D6R|<}1Ns$OyYfXQm(i2Jf5@F5Q44llCSsL85<#dFOY~dV`$Mibcs`Xr* z;mlM*vC{j|`GpZAwf^b0yfV3g;lSbn`~I4@Y6l4?MSXRqOzCW-{Z2WHeOfbe01N+F zQbOMjiyf*PhIk+rC=-7mP{wbfu*MP~+*Asmcx?fbrzD14tm?zQd#I^G;$%{Re@Bc#@02Nf;NucVqoT8-mL4Gw;v?pZV~Be}Tq;^7u_R9FVRI6Zb$$Y>Kx< zu=8cjBcW_Xh*BmGC+^7FabiGUxKn0(B<8-=@oPu0clu0EWHhWcjR-oUVF^kFt^Cc+&Q1!1kV>q z^M*C0?e`??Vz-4~K9Kzmfcn0_Gxw?aLfLbLnP$ANQ6ZD9`S0|>N`KmW?ndTWf5;E( zmBDU^VM*WK)jDYq$bgZTmq9RPciyCZoD3Q|QLR)}LviV3zWp`f314?OS)y@Cf6 z-4m>Q?9#9)2fiFnBp4d5sVN_730`DUx3Fb~{rx}~ch-DtJw(pxDIN~M<*TL!pV!Vm^KAZ2Oy`Rra~S@PQb0@KkU}n%-?wZ%Z!5be-?^gv_2D1bFszP zZB?5RlPVvMr^`M#lfOHneu7G3ufkbst>kj{;HJL#){(!=ej6UtMds{C$_)~(96+cM z&Cd_k_3`Tny_%fQ_xoi|IJkrjzFGO`Q?H+eH2aP8M(^b2!KpJI_KKz=`LXEm7$;HO z?{trKz2RF7%Fyhy`(+wV3bNj(RZKqAKLc+Iby}RmlQ+DlCPWbGjdjzx{dHVaP8X2 z%>;ZTm!nL4i@+s`9#~sF;a+Ir%b9F8pvod4YPKq*>9ML>a1c>D|M&|CrCo2>Hfn$m z-`#Gc2&&Jv`8P!@gov=DR9}lmu4D>WRDmrN)cg|t_ORivz$1hX4Hib$n~aM=FD{-| zY;jlNkGP}&${5Fx<%&G?teHQv{CD+w${xR8T<&@?MQI| zTq*Px%DO|xXC~Jfp8J0A4MeAW zFXAHbsw64{$tC&2D6<@$C92=e@yKVqGjK30v;iuTt|t4cJc#~KL`BmP?aA|tZ0JK~ z_$lqbm1Na#p;!AHc>En7z)!uPDnLf30Z2cX^2dOhSG04TQ8Qq!@A*70>`K0? zqpfsVq%u~SMTMBie3z9hXVliNRj9xMz3wMNE<~)lsydy;-SzPfO5=l%fKpkF`-@C* z?C8qM=22~qVm^AZpxYi^eiXSax zw1N>N>hYa_-{aeSe~$Hg;8ei{XcfQ!eWQmw7kk#F>R`KRMLwx zXR0He&+I>zhS!u#RSQCs4pm{ebk7WZ^8y=#J8~YB9zP|cQHjV&mPSVln9;!5;FZaD zoMo~CMzu>^tF@y@9Nx6FsY=*%eelp!7j08imkSY_6GFP|9ey(gzj4+)A)H`HcYR8{ z_Rgf4qWTo^YN?5NoHceVE`^lax+ioHDd~V^4kz!Xu#L%$`s~GaCC6ou($5Zk`_F9)Goj8# zQ)$Ae>EWekf7u3zFNIF2pR4pb|F=Ri{07cpIe9Y>!Jh|H?2pwn3z z-Q++9K9@?5+(K%HpZqJwc9tm~!>wcRP#e}%X`SjyDD*?bjLvUJY7>($^F(+!m*(vK zsdHaR|9kD0x*~gBI>&na`+|UJYkV7!^8zHg#XUFJDA6j9?e{BjRjEEoQ$TZCc?z3p zgz!%XN8V38X$4&jUI4t=PT?pgI3cSsM>PQk5MR7Pd08YGX2FhLWLF1u3M|7T21W zg?o(Hr6wnJwJj$@6a$(}$=;-JZ!j~>S4#D%9^$9`#fC{=p#Y0QvT6^jUFR;(yMTKQ zrsf7fh&z~OpGV4^^2UyTveel_KifI+2q2jCe)!GquB# zv|IQ6dHc4A5|^w-I?s?q9@xPHD8BbsM4N0J4|cVc!SlRp0$R`rmZq#MHRJ<@gjdO^ z)E1|$=r=szRb!qEMUSQgRNKsj!&PSDl~WeOUO1-QpW^VQv^ zKeJ-_*Jv z-7E)V#_BRhdZU2iNV>52Vl9CnioAiV0Phn>isvHP8p^5qY4Yl#wtTw+)7HupsnPM4>^qz0f3m`&pn_U47E+z}zYkrK+X=W~+J zv*}E`-cvx;#(kh9Wm-?z#{!Y9n%3E!JpJ@i*JoftF4AD&s#{X~rPs6d^D9KILW4+b zZBVo_0+NoGBW3K&e>g;%tVPl|m=^jG@H|pi26{V=ho}KnlaRYHrWtgdsw34?XKjLl zPJNf48lN1~bUM&1Ak+(a&J)xP_=OKTq-96+x%8sRmy|S!%~xIxMaNz4bH`UMsmLP_ z!dDTpmx|ogcZhf|!C$GoZT7f}Kv^9or;vReN-fV=<9x{P@vR;URzpPz%?;d0l&42ACHFGB zN|?T;ie7wBRRRMW%Co+T<}+8rFGfGAz80LY((U``V{l{PBTMVo>f(>%D`~J$wC;>* z`LYfei54Za5a6I2%~IVVBwKK>(o7wl7QCjO>obP0w33Kl)zlD0f;q`s*_W+*JHc$< zQxeBH8$7LxZ$~$fP}zFm-`A$UOC^?(fJ-`1HumnrDfDZNC5g<`bgA*L0t_1mYDuZ@ z+FQqsUm_D>qH@34vuVAYH}JL9bU5J8qYsJ)TaUI(Kw2W$#3wq%c^Jc3m<^7@2OMH} z$mKWGist9;S5HH#+_|n6T**JqPbVO4!oV-fLBceB_XnK~Ngv-HhzTqEQ!UNV|Mh_9 z)$+t#^8h})T{F~n^ZIgr*Hv<-G6SM2{#Ub2Y`yNW62)ltec4Rhqp@VCdII)6mN#fc zqV(E57ECCV#RyOQ#(v!BK|za7DGy+0xvZ4)?cMTr+9CHY`-<&Ku#=bS_fMW+2 z&+UW#8$=tQ7d}T;v??OA;?!8$+OwbB1iXy~EUIn`)9gy7M8(+_tU7R@Fj}m!;6i|g zhWfkSiKu({+i&jkyuF}v?T|ooGaRF&C*k*V_3f+vU;0FcIrpNclkRp;De@S3djh&` znTz5{{QWZLk*bvG+;Zt90bY>-9l$(HuU5(F*dzvjz)w!_As(Pp8Qket_%9)(vR|LP z8%<2NftABCP-vE1zwMu6B~`@@=@HqEkb|OMoe#gnp;1ek;ebG+YQbO0X2Y}2`%;z? zXJV1Q5kDHHXUp=%sgc2H8Zu5UzpK|?W9Y|5s7R}mE|k65yGCZVBp^QX45K^f#_hGq z6z>eLjWQ+bHEpuROQ7XC|D?XSPMWVhR*Z|sHFpO8GlH+2E)P*zKV+-6dSQSm^@ajj z2F?KUWmN9N>qw53T?N@X=i~xux^WsE;|v`){n4OMLfj&+(Q7iMeuWY{ScM+otGb=& z#vDvRTE<<|;f`*CNPyFCZM!k<%|6Q;VWAueCpswHqmZo`Nt9n7GTk1VYHzNQS`@5788S=d}OmoLf59U3m;3t~BuT$Kn96t!Rj96^3ehY7yp{pgNoGj}P;S9lT-T-XXA? zp((23vXu!_;bxzq!`f`R{WdUP1b41tTWmA&g{?7IQ6#s~<2j`N6;WvNu)V)4^s!fmoJ-+(Wus_Uxv(U?k0YoXa`mKm?Ysw{Nffw+v& zMxJ1!$gTKZF$_<*{{cm{VNpi!8)9OL!%j86-%u>yWsgH^sR?k7t;k7;T;|eNKm1o~ z@4inSFx%5&W2GMIo07Pk)OlAELo>x_$eJ5%K$DvQ&C1UQ%%MqX8+}{6{8eGZ!CS1VF2U{P&QK% zW6tW0WdeuI07s{c3__js_BGg4N1c$$2CA<1(hY0wS9Xr)xJ_(A@GWY|B9=WvsLmUl)$Oxd9Bdx z`l(yRges1Jl)+U4!V(xGJE#u*KWZOj zMFqH!uzJz=*_D}S$>^SOw_XEMIW=>_#mS4cZ7ueMUz*1+0uB<^bRQTb`xfI+_xm^+ z5e1$J~|T(4$%*w+}?N#lR`&ehXaW z%#s&lXwL(Z7S-3l-G^-pu`20j{%%K)4zSNQ@&RBLYX*gE-&V7t9H9 zBuf-Q(gDgv@${o3?@(TjBW+UcJ{fFgpIuXH0H{x&g@Pw1LP*<{E~SyHnIXO15=+`% zj}+q?q2PY1>;2DcW72ZF>3EFaDG5i$X`!tN#~4*!8CX0Z{x-bjyc<4m1uKn^XZGw8 z*1DD&(Mm)*^6SKh*=kVumm3IFp<9i}Yc`kGS*p?>&xDwtl+N$w-DGKktLSJ9$46iCQxM8olVCt(+xS2_){p5f)hBKXW!v6t)@Q}?-pJrT0WtMh6$2&1 zCS)wW0Qml&?U1NGTL7UF4|yx>?AJ;44_d5Nk|&E~?(VOOY@r!X+cpgL-75!aO*A#u z(LRQ|>M#t-%!i?bHpcezoHu6d!~NN*m8{Mn2%oWFtx^4eSQ-Qh>15A6n~+%M$x9|- z$2NHSi!++%<%0)zdlQ2Y=XOp(GU*+17WJ4$U+fflGe_Df~9TAwZ>aVY&Jx+%Ch^B-f?swZGD@X`sG}0N} zwJ1sZ)YM~Zw(%W7n6zNrUFK$v^Z(`)nN%Zeyu~Xx;H28~`ggIg({Qk!I&c~<1j>89Xis)$H=ha0MiB_R->R5=P7i*-;+_ z$%9S5RCTz6LcEP?K=Sn6iYY#fu8oh0SeXKIg+0IRp{U+ku?~vd|pu%oBH= zlH>PGPzN|Xv3hZF3M_&)ikA19giDrBU|T!;egv%K^#{Es`KTHL^upNVY{@yz9IoCQ znq4>OB%s5oZfaADgR;>~-gg82Jat3loW*Qqa7C0qVi#}OWHRp%xen3ObnE5+_*E3e zQ9O8|pNE(8`22oEJS7QX>AaL5{@z>u+!n{0DI$&pncHYLHQbCBJnH8Ndk&E}GKF2o z53R})CS5lCSE!~OLi!_iKscFEk zO>9-#(jaSi2RnE-VMVs)wY)dYlO+e$xBL2mRp5wL-%#s3b!*gXZ4x-egM)7blhyX@{lB`=vYyUt3(gCmf z{C0o-6>H4vYa41YHTwLhv-$XNkyj;JL$mcVlpOdl)YNU+dvRHlR}ITqN(Fn5b4noU z6=(BpoZ#jjQlL1)DsRbo@sv@;l3^NNp%1uRx=bRW{h-4Ml57+&7h#8v?DFC_qYsg6n?jLH;03$(UY7(3Y|DBF^c*z$m@g zLeS^c)&aQyQ>G6HfQ7Gm;=22Ea>tWm&K=h_owwdH7e~%(d$aZR?;ogr{rlgwM)_G@ z#xwiu+#M(EX`A#B+NwDsu`jEW3#ar|2+XpP>6FKAr5Jeb?4-;w6Um zBXL+>M^DT?5z{Q*!O(zJoE`4JMZO3`7eY-N!=pRFs|&moD$z3d9?gnlq6bb79k34> z_~j@~ba-HFt%mb3>-=0_KumH$Dr$nALj~wOYv}0BdQR5Q-RM`gS+YyKF-^X>fl&19 zv}+3*ZD`!4%~9=Hps@gJ=( z3a`s;-pdv9VF*@-?%8WMtJl6r zY~Xu*!%jNq`Q|s`T|j=fp>)U9N4{)osw*-&R}iGht(`#(_d{HU?5H+r3l@b7Gbb=p z;CrCw$Kt{d;LiweFc!4XQuxC@OP<8DCOvt-w=6O7D{m z_iEJL^=NX-ogt_=mW^o=Qib8v6>6{7shG6ZW^)Ig&x)Xuw4althddH;6=0toBCgseWCo6@ zG~!!23SM%dTk9gr2G}_yj7g6^Jzh{A4Nr=AwI?6Nh~WUjw_Gx=Uy)xo*~@u3Y;9dX zpbwrnjG03AbPxTmjqw ze9>IP)6E0X9X@(G)t*1#RX^38iBGmh>|{Rq<6ijmIr2*R5+9aL2Ie2AJBseY59bxXJsgq#~z8vb~8tB109P|tz0N|6SW8TQZSH4y$;Vv`x)VcTnBR&l?bMAW3aSpAH$^!>xmh{Co zh_1)Jw$e$irH!a!m{rg1kKZwW-Fq4BW3${dQDBL{|8ppnkyr0Qj&r A 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/messages.png b/content/docs/smallrye-reactive-messaging/4/images/messages.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b37e6a29f6fcaf70574aab2efb9949e7509fcc GIT binary patch literal 31071 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/outgoing.png b/content/docs/smallrye-reactive-messaging/4/images/outgoing.png new file mode 100644 index 0000000000000000000000000000000000000000..f5aaef29d96eb96dee426eb2724414fe6367f7bb GIT binary patch literal 37982 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/overview.dark.png b/content/docs/smallrye-reactive-messaging/4/images/overview.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..22b5ab45af0ea1c2ec75c15a95dbe6ec776b376e GIT binary patch literal 227317 zcmb5VXIN8P*ELL$ZYUz4^rk2XqI8hnrAk#gq7X`eNGFC+q=*y&DbjmyB7|N=QKW

      J?}Uk6T-PTOEYUc1>SFqAJ!^vPecGK{=H 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/overview.png b/content/docs/smallrye-reactive-messaging/4/images/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..42e00e441280da27fa7af6830dfdca4fe34a2cb6 GIT binary patch literal 332218 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 z z{vi5Ql}m_KB!^1L&N8#Ik6G)YUQrP?E8MpCaFt0D3E&I%R2_n*YHVc9)b9Bpr|jc~ zWGkhh9`779@;qkFnVW~;zK0^D-=L%v_mPU^chu@92VZUBXqEAK80pjQkzVl3HHiHD zX|tB4Z0_3(3<$*^w!0g+cKVpNL>iDHH;tsaT(OAgCDlQ_q?osH-g~Y84%uHxX(ylC z$sADkV1gN=H?|_GcYnEfj=D$WG1O6Be1$LpXCnZt-*%n zPNnxpxDU9#d1GwIpicxHk^>z-?{zusABU))Cy92vSLkK-wX=4iJz^c*vvM^NsMWOY zZmg=BwH7f8{Zs``g9rJ26F+n-*ueBqQ)hJ~CXUVY^jze37Cd-x-NlX~b}meF-Tf#J zWOGHjg4`Uss@iek)1tuZzD*b)qodPzo)*G}u7r8YrJsCy{m-Qc#_FG*@-pt-c@RU_ z#gQUVv9Js2rspuR34_%?op=KxWoJ5@e+Q;~KPaV*P%SDwp#MuR(UoKk#|Weck%R%G|XlIk6EqN?Tcaz<4)umJPG zOsM*> zeTZiQ^>N5($#J)&sF*;1vRS)5HW2AXZOmTZO1U=u+h0QW9^@MOxj)aBtL`C3+(yU< z?$7isNC@=}WXn za<4llg~i-DfKoec6_BiD|B7Ih6~;J9{m32%HxHpdf|p2@7>vk4On})r-G;|dZq9X#OVK;F8td6YRgk?7k?VO<8wsY1bpVVwSAY^yNQ3P~ul znmG2_hOyuNBxJo0aj&R^jQ5NhGDX)6*+~y&191mN%^v6L8^6G`i~O5}HZacipM6KX zaIAzLbTMrS6Bs7&i~{|!)Ms-~Xj>A4n_G(Uer)M0UwVBK^f^lr{xP3DFgJL8cDKLR zO(#$GE8GF>ubi6@+FPBJc%Q-S4>b;mi!`B~Spu}(FJy*R_46IIr{@F&dz3UfoCl9g z;gzW!vhx^w5hdOA#QSy6p(z|yIG{0gTIQCe5qhGfN1jD59M`oA@S1RW;I2Bh0dW7S0o zUOK3e&QosTyJ8N?o*pa1QfxbOZZ;Bj+zi|Zvot9<9$D0WUI1m@SAVC!7Cm>bYsEc? z5wc&(A65rS;6sns{f_oM0Q(TNvSpTUmZz}t?u|K(%L+=Exe{aR<%Ds2&F5}x7;`?x zNUTJ-rIw^v0e567R3*XE>Ci9<3&vzuh4*;6&I;$D+b0z#CnrY3UCKubYpounVg(2V zzF9C^eU?Bo^YmX0T~$okw1@f3Ko~gKQd8n#ma)Ob=i6^t8ZXmzRx>S5PTmyBkQP!) zxIidYS*t2-qGBC;KVxe1o%*ImTRW(;4_3)thhT7!$%Nt$ap<>V{0uud%Z|lkH;lR?X>3BLY#eLc=fBIgG&jd6j?; zj?2r-TZl2~#oI%@T|+~ST=^Lzzt}6<7{rvt#xn0tNe59v8Ph4w7&9zJ?u4t)o&Cku z~zp^@hM8;)nN;t%c>pMvj%OgVKK zjilYbqj==KLFCpe$gMj0hzg%pkZ`0m4F6kdK@k-B$q9yzy=uEM=8qZ@srKbt7`~~6dz;-MUe%NBa9QOZ#_jVP)|5J#JoNPRTVJE2g+|&IRnw4yeo{j1842l? z|0tW(R!>208REf=kqtYn)PRxp^;0Y4Xq`t}Fp?xLr281?RGMu;wHRSH`%|SI67?om zq+B6QO%na$e#14?Dh_g;4{^I!-;KNJz#ZfQ_xr^;?__aWT}jy5o-7p)O~AFohHfNo zF-J}A`vYh1YzW@5!QI4zA&D$a$?1!=w7X8dWO#N+{zYjPJJaWuCEA{NdhYh3Syx2E zs1bBoIQnvLa^fZ{_~xGv%bo2WOUbFvA13i$Di8|ndxo4z;EG4-6F$lYv9k4aW)iad z@Ja3x3wfK1!2S%_6u5BfOv~^xE-5ci^#lb{-2-8ZQ~&I2Z~tZdTu9By0I4r}0F5B! zNEwC7rwHB8H#?|+?Cr0{B)=*tt|;+Zq9+CiFMN{2JX#A{zZiTB7(&n>ml-9o4MSF}3wZ z^6(o+EuV@*H03V(lWGO@=nKj9@N=v9|2|%jgDMbA)&r#bY>wZBQG6z8%TSy=#Bh(D zMKwtB;7&(QDmL4uG_v;paP+`3wA7U)F0P{aM&RKY;@#>(il?o z!X_n8SP()rOq941dUo4kNg4@o_-dfKYIwwn-@!VH&Ms-4w6TKBkEajUtWB+nvvuN6 zI5&ZG3?xk{=&*`qMK#$I@sR9^aCB;UdZwvO6v7@@uxA#$7Clh~GZz)52_tBq&4CVW zMtWeQ1N_2``!ks~uV^|1))U`u3Lf^vQ@%r8MR)7-bQK@Y3@+9P{7#L#rO(;9Rt;8yPAl zszT>9KpP4^bRdE1CW433)lTo55EL-7?zRn=$V4hjkTW4TqQjOM@Vw+b24Q zyf`1cemFP(NK3`AflFjSQtw6jO(@api*A;9c>mk_dslsg<+`@Nqv&!>_uRh3*V_Ny z0+D}hG=8b1FgdH6kOsX?3HlhUQUN_Q zFTVR)nXue+czs;Bv0)W$VQq} z!qm^j#mBh^67VlD$UB0UzKVKu;DwRGH<>X(c5IPt3XSVQkFanQ*Pbt)I6?dFq8BS_qWj&K`1h0zz2Hz83L!6)>jWU^0#n5zlFk~yr=GKwTIV} zxgxL+&m)agGt-ChM-0;&!THv#@9o+d_Zs-dvyG9}`p@Z@6ewlMWv50;C8BWk2&puyAH#7r>#)|IZ(`%z0q5cUM7jlcC7!CzI*r zmzH4FaD#o!f^$9AA0_Ot6socczR(}>Qp18HxV?(^UUVPY6|)s~VkxPjxsl`-iBA&A zMBn}IzrieQ;5f3<_^5J-oJw}Y&~G>z{${CJqFbs0sVn_3NG8-aDQ zfT7zujK2nw86Dy@GzhpJw5Fz)zObf8sdj4ut3&>#deAZ9X(9J??y`E+;DuoU>!wvq z8TI*&X%i3#wB*0aGq+}US5QPe3EutUjP5ojXJOdt_u*an%1{LicZ*^MHI>g(65pP# zXGV}=Oc2gT7)BJM$!AEc$}MejEIY0n+lZFvL)_#=z-nr=?rgQE;dZb{(tn;U)%1r4 zKa^d~8HZwfJzJ=oA8syy;01^1@<;sn59Bv!HKvs}_(2|Cxpc7=Rym0nRAh zxve(&>E5)Il!#L!?0ASEvSg0`B0zh3d8(^FjtifMR^;T|fvTaJhDL@bBn=7PBQFWw zb{)Z@9j(b=q+y^!@5+1Xf;DC3O5)T>KG1#GjC&io$iF~t-0)|Yg_ zRRbs-8wEkjv5RCVtz>ou$D&{@SJ|zcqHFUHH15SXHiWK;;-PZPx{s*XJ#{UT#)$Dw ze*MV@T&Y248zqR&d?>xgx-J0Z$fP%zzu;_lQU!=~*Vxfrszkw{$otrmmMKcpLbqqc zBhv1?)lSNJ|Mw&R|GqJ4Xn?W=sHF${II~l$wr$$M5iZFWVL0f`HTAwbS17RhvabAE zJ1uO(d(3(k+X~xtOHtbL3`H9{yvPCn%J0&=2&qW=k$MeI7dBvkmIizvEI==sYhz^v z#+iYf-($HbU0DU@G3{2Uk}dmcn6Z(OBhn!L&xs>$dm2mJGc_4Y+XQlEGvlt$NNNIO z^$nZb>t!u|^vzcd@HwI!i(xGWLd9>yX%%Tkk`+nNUveq80Ny++BVz@un2C;0Xsm@a zS7yDJpkUN@`Xh#&skvUj4BKx+#E_`mu!mE$=oQ@v{I&RTjz#v3;E8lnp*dR&`r3z% z^jYtp%#2hB2UFihs@*?xf6u->0{KRS(aFh;qguJ*+i$Io5X`Z*1MuqCp1p9Rh1zw&yah6{;}2jhN!E(eYkbC2{p&ai9~qAp~-V*!_Qc8uk$oO&}s`G*ZqFovVzg(gPbQQz7H zt*a4&A}be1DZyz?w`k9hnn(NNF3&fnj?j_`eiaIztKREAQE472MLm46#Ld&LL_#ad zD9J{yL!jsNMK~7D8Q;QRmFIuF+X_hF_X|bY7*D9X?-EAIC>pfX0>3n2Ba9+>p)h+E z6o0?I7&q>wfLkEf*vWPP-7ZYBTAs4lEuCuk(``oL03)bqI{ZH)dN5tbLlNl@_s5Hi z({fo^8(OvJR6St>rAR@ll*DunxZ zz#lbRY3V;j)Cmyohp$2Y;O9Kq1~NYW90AP(9JED|bjL27rWlozVh%(&Q+DGUsoGQ^Sg2;%PX zY=m}j7~@yS5LsCf1lJdR`XO`QF&YM1%3tR1Rhf|zW5hF@Vd$2#?30q-_h??{4T=AH z+imQ~w83;V-l#Vce8m7LmP)+*2yPTIa!qVG*p*i7c> z*`CF+gv4__q@9lJBHYzFoTI9V(z-SM$68iQ-)xerewPPx{8pd&w2Nn=6Ch(RdIl}Y zzpTf*6l#rQdg&7(&Pv9S8ZAB1FR0-9XOV%OZ3{iiAh>i~vyo4eG3I9{TV*XOH&e^q zCee_sud`ta`u+)~o)PRqlXL8$;YLpwD{onYAh@glKTWD`3vufT_`!;PdouhBylz4r zR{P64F@KmS1rE4nfeQspN0v?=vg1=k4N`^b=gfdst0c957@+^-=?KC2v90E+nO)^M zs3J3s+&K`%W)t%}Lg9^wmGpPtCKgYl__s2Pma-5mmXvJ9{4%K9N zV~^+0VHys5*-*lP4WuUi!?Q|KSbv~rJcCQ z9^}y2$arEuw^tU{q!V#7PCo$$nW;@jKJ?OQV5I2>CVJhVhj`$PZ^FGy83Y6RlWW*B zpXX=X+o(U(Zf|YhvA)N4FKF$I{W}fmw?Bgi+8nu7(CdCQ9{Juk0=WIu@4YiQ-jS5D zSO_+*tCK0LbZhcaQ60K-B`ZiggXcVqGnEaYp_2L+K5$?_v^NT5hp?`%sljdWgO*q+ zx(nR&x&+i|FnSXzCTsI@Y6;=?=?r&0W`Ap|I0ivXgU^IJ(o~gJ!NSBt;-5(beo#4V zuwk-e{`3i41Aj`Y5Mut^M=9+eoLpK_{3pwd`iN;N!OL(Cz&q1$Y{0ZniZfIT=W=Lj zE^&ld=HURpispdE5XLXc!Z}phqv0<-`Gq7$tgS?hQc&uSoeGTRVk6sIaKF2WJ`trT zsWHc~yFxx^CntJ=#G)m-vFv>2nl=pJ25m-wV_4knQCayiSJuZ(Q|wR$L7*I*Axk>_ zM&WpvmmC!j_8VV~-|KMhpIpN2wi7!=yu?rML$YhGp@bB9Y$3ASgd|YIQMAu(C z3Fzh{k^00Yc^0HDxx>G;AAWl6aXAHn&dv|m>7ISc8~+9U6EX0g)+vuhlXS=Z(#!9) zj=4P(5!Fo{$GlDpm1XZP<+}G1%S9lFPEd(PXXG>`Ikf{muoTn?+k@d z0TxR3VeCMm&)f{;4#nZ|V3l#{2^7WXhX?TH1jiqZU1+~vJ6~!J4m58It69R@P>}3 z*iNVPVM(C@=%d;4D1`9P9i70A6HisOQl$cuqpoz+ROt-Jkw`Ae=_ch8p>qOOAKtMZ zTi0>~vU8tRK_m?s)IYH%om^kwY8L4M0!} z>f@QKxrE-ExnX|<&!g+f6hyb{maOQ4*Y50kmXP{ES(77{fjy#oEQCOt98{#5JAcne z8KXG6j30vp*1nEyKwwq*_dl?;6tQ9R-?*Qh9Hj`*rOEZJcQ6Lwp;c&v>_iX%YR=xy zEKXZ5HMy95X(@BcQHXYX-%N3$k+2WvcBAmZ8zgF~-XM%qS5vNxlIJm?qGL~E* z+dBPAG&|Afn(U?6J=H=)q=DDZP#SEuI1vjEQ5>!8&|=g#p|44C?urc(X!lJV{R4Ai zI9M*rt~e8WViI#XVeDU@@K`%!-6&}90-X&n+_E0%=!r}L63+5yo^_A;`%XCVCOJrp z#`(rMy~uYHmlloV&NbgdI5!tu7XY~WmRfi-dL3@}AXeNiN=?}-o~Stcq`0u~^a%on z<3TZJ)bpV5*aVLDNdy0zP%u;HRz565+@GN1?}+dyO3`^&o>ATFGvY3uJ&4W08)PWB zWso0d*bhZApfXZET*C3P&Yut>FU9p1+pmY?eE&V3G;(UaneZUBX-^N|RdpUAud9mQ zA0!~272I*=XGMuWd$x~JkPo3T&fX==*O$CoI>;7vrLx;i-CD0WxrheM>-y=#$kR`* zWU~VHYVKw0IezqzO|q8=6qEth5#6c4&xv@d-oE6nyo_(ew*Mm1n2->2K8OBIUvar* zqDJCN*i(U#iEzr9fKb~{KLJpVPZ3q!V;vnfcz8SOacl4TaTP}5-4N!5 z-xPV)CnY67l&{Mn--Su!_^>^{z)8}3U%Xw5_1S4k?XXCj{%#LJXt*Z2XKVNfDcNw4WhMfV5gN+)CD z9Av$U)=F~vQ0c=Ts#Y}rsj1Mbpe=k9fosqGgVmxWW%9aTCH1}N>O2Cyp7ePQrNXhV z5~GX#$4t!)g4+?Zd$_ES|IwVKFBQ{U#+q@V`HE)>`EEjn3;eOI;f5!&iIchV@v*JC zFFZTaUH_IJn#QAx<5MTD$-?>2aCcnCGL*KE%b^Vc{D40MlHN|e5U9%+8t)nv4bKzi z-}z*d<3~@I)6g)x$$9xljTrLy$IK2N&owqKdmb%T{_R%<{VfE*5{~Zj`TmGAA;v*; z5*s~WA+NCVKe#PbXjLs?Tv|vgkla!~kI_J48Vl>5dHJ29Z*^n5Z`g{`!kb)iXlhg* z_m*!zAk1$RNFOIO_;elxm+}I2_=mhi(}MP!9MfD}rX~R?I8|iWSB5mly6|faWuS>Z zy`OrLsYLx8#0U> zNB!ZqzGdg~-Z^qt(dLbY7n(YawCPU0NqcS4<#`giU@KQ&NYSy>q>L^m(Q zoDG_HdH$FpZlLkdfS3hAW(?p5Q-QYyjV~G&&x%^_cA=}EB_ zuE4y@osAxK;B4-;4Hw^EiY>$jgp>}w_Zy!SP(8^;tVhVN!Hq`CvXa8(sM`0WjKqUt z5Ei1e&?&S&#Pa=O+8F^iG0 z5VybDH52kO7<7|Ot4%kNkSMg%2%Epy&y=6K!;HI0;li5d#FCTk18RQsJJ%}u!tJee zm#tH%-r_y%7&L(4R-F1l?RIgiF*EvxL;i*)#_0+P+~z$DMLOjR!qhs571aj1TAof_ zB5m?l6T#6RNE{rT_P~2KT+<7;OUxZ_GjZq21Gu}d<-`Ld$Tn9K;|s-tDX6&)cJM0Y zyAvHp_QL9F0i-|>^f3;m0{gd`Hqh(u;56Uddh3Ky{yga zKJ8U+0%S^F?!mwFyP+~NhDaJvQ8#eb{_y{2m0UkV+}h^;agPFcQ_$lix*OI5rsV(+ z8-w*LF*k|n#QMFmV=b=tUEk4;Sc~Kq7))tM6!Ea)_?PU*qr?}d^R(XXr^ys6=)7wEES0=Q@fc(il8$fQ)%R8rBswGIoW~-_zK4JG{~i#^Z=h3DQvP|^ z0s4sfrG88C=7&Jg!%w+fIg|CldwybZGS-eGq^S)Ue?Te<4xE>eB&8A=F$v75D14|v z|3v#?*C8|z_K-(15dl+hPEWn8oHY-5{WFQG;(cF^2n;EP`@Jbnbj1aS4mFx|3h>HO z1656sd~f!B55(J+)3(v@H5)pb7v60%mjodyRJ4TglM_b9#v@G|9fnKmiA4O&)kdB*c^wyDY4Y?QdGnO|(lo{CE(x5?c29p%m2}_Nw$V zk3Q1+#M#21np-G*xmcAoPwH}wqcYrUS;VtNYIzlt-#_M~8Vh#Cv>R4ARHmg!(wQoF z+JLseF{q1P-3 zj9!4SSXFD^T!tR#nISrCKZwlV!@Tlp%gJ2vXJ0>kt#+kN$;Gh8`ufKi7WH_jDJvS% zddLifq9WX?h?I;}Ts*AT9jxDrKdLSLj1_zx?g-GM_>w{surPeTczw^w? z1TjlnTeQuHblWcr3f-p*pF`S8JzRWf^1`sx5(6^XKAQ6Qe8np^wE>C5pd(Q@s7Igbx))M_%cF^a-6|fHJF!k4+b7`{Z+PK@|MMTtzyyW>miTa%@6<_(ph3K}-`6eY z81m$4{*F&-Coua#NMclg+t@4>0Gaj=nUg3y5);$$F$7X-GhwP2?MiqJ<7<+D1|oL-{5-Vyu591Ky` zsIof#%^Vt3?TP!a&DY0WI2> zB~>DvO~>NNIO*Wc@j0Ul}HP}d^d z{Q#AuBni2Nd`q?7)ijYAH^l5ewKnTp+u>carhjtRdP0$bP9D&Hu}_Pk1zW;{^Xzu> zcD=(Ld<=dT3$}MeTkIygZSv7+{7sJS@ZBB87f9O-xV@*16lk2&dhB)py}J=xi@nl4 z)QYwcmPnt~S`m*uDqXv$Smf#a*b^|J*o@Uf%-7Wp9qyt&=?o#d~MGg_GaG zQB_#{O`h|GV?r<3Uf_V`hWc|S%=m2&wrT3@QI1c4w_W_-nC*W@oM*yCZ?|$EI)5%E zQwneS3Xsv=@FOMI#WI9>s$Lm!s#v1*zm(Rq$*(J+U6k zx_0)j7_C)jHcvAPO2QNPq-p6Nu`4mVT|xtug?Y|WE`nrEdV974b$1mn{iUBe;&H@eR&4yMP5k|?RwbyCiaYi*$#ei%LQ&tp%8I|%a=%R zjSt%^FeP*g)fR_T+xn%qA5?Ph2ESDmic#8p326pO zZy7qLI4?UDpza(ibt(^j)ZPirOSD|z*!el=o6?sZScX`BAmeRV@8tfd(zrWxXnlLA zfl05%%Waw(9>tZ4w(o;%{7C|O%7z|oAdG!iO`|KenR6c+>Wq}kvrcqaToR4x8WalT zn7w^R=zS)NMhGc^f}iFbe1h0{bA|@7i?C1p?)pV&jMa8R!mT;1%JYB~m8xz|+J5-m z((=@0#OYtZiyV=56^Fhq+br5ztJz0ugC5!9>4J!a_CO=%|pbnlWz1=eb&hm~&m zQzAqRfUMLKjVSZgYNu`4>-`fVFRlRyzun7J?Z0&$31AK1Ec1yryEFPxj?IdDQ5|oes%Wo8raY@91q>QT>~_&{RNH;t3!jL9oNG z;2T-g9{WCTKBQ~0>^AQ8<<_o^%U3Bki|5H`d-2ghQ*7PdzH2{nvp{uhI6*f|++!vm z3zKbeB>zU59X2Kw_%1HDeaMP7bUSw{e3v)AAPmL@4uLJ{9OWMthSOU77bSN4WUG>^ zOLeDME`LH|dGAKU;Mk4MA%5JQyp#PUOxjkuZE)B~JH8=&$JiooEEo8T2tKMp;p-tU z$ZVzF+9|fG-fX$cuWpZvoqt9)Gw(6fc~RkoP&B0oc1X~Btr@fM0meYI<#a*CPlRLE zHK58nvJuc;;u;E3CyZM*4&C06#_}-_23LWPKIR5fOX4iX5#KWrR z7WAZ!_aAftA`@G4ks;U+^_sN6$Z+@RLFbd1*&ej*w~2cEHv=Q#CJftL%as?eQvi`Q}({`f2#{%N@m)?WcGf{`F(}N;=0M z&dcOam9+SagpS2)uO9lE@t*V?H0iJC7tiR}6N38dt`IbngHlT|um|wkY8Y38|MtLq z+pShmxGz(6f&4ERc%-cy^Tyn_Rnc>VbZf}QBZaomO|qz%Q-Y$1o=|YF*zXle-1?#- zA63ZELZFiIM^l4G&Az>QH2aL%*(_+sUEN?mtOz#EzUXaL=ldL-W=R=uJmu>|HMij2Wp?Xcg& zD+3yiR=V&d$zcxC*-M*Q?DdsC<6cU$uipZiLsL28l(rJrL?x1P0Hu(WlZ`EC!CL6^ zJx%v;et?RjMFXlb#&Y67YZ4MqRLe1$>i$%x`?cVn-uXpi_KuGX3z8{X_jPLfbg1YN zm*-`H&XK;bfvG?jN3@JsJcKG$hUh#tR9lzcyaF>v%|seMlNSkpvtY1BB|n@hg*7;R zYNE&Peob^Zl{-+mFg9z>6w)O^mf22pdoUW~`ne$(@4zp8fgfwU^ZYn|8+adegU89} z^BYk4L}~Xd?x!wz+k5{+>GK2#3g_&KQTii>*eE}>gUy3}jRqc5&By&$Qft>U=hof^ z_rvgD^2*-Tuc*<0X+r72;d%0}e;^1Dqd)djJcK{oPaxJ$04{WMimue=qnY=T-tT^$ z2x$%h$Vv()V$Nt%KUTVq5BZ}kp+GLYck!d=Y!<17G1`^iyhHct17-WcD(sFRSA2K} zNxAn4r#7g>TFvhUkZmB=)~Dgfc+#nDHmpN^M-XJ}AI5TZ_^Z|hz6!V&Mbzt=g6Xvl zc$V1J+aBfX{YIo0@_;hpSwRtKA>!GFU3!gPKg=U3l2p`G&fu3`9Kn5B2JC)NY3Uls z0TnOEtZEk`Sh83>&1w2raBrZ`Wkf1e3d4|f`JZfhPr^Mk?Da=Ui>2BiO5`C}kK}6j z>H|Rm!{Ct3JLPC*A~LyF-?e4O?Lz=SP|Xbn>4m79NDto)Ff9wo6gy;v?u_+;{L9R6 zMOqusD)c)n*K%f~3xc~_JX0`zkf6dIpAG6yuh3pDj|x}w6t`GI?S*~0N_{JFQLTdn zrICg!)(KVyqxKk-SXbP7o|4=>&!5DvJ3!i*NoR%;&{ z_-w|aH?3-}fXwVr_Z97d!)stAG4`xh<2jHPwgKys=$eqdF^T-=dfWfqyody~cwM%8IyfBRr}f|INd8KqAew{j<(nO1;UiVG zj;`sTeN9JliaXqbzN=iJ;C7>%48Z>)Uwg=DJ)hQxo3H7*dUxyiY7p}-HojePJkER; z2PmgcAusxE)^`==t(2Q9<;olQ>lmlbj0dHceA601VGFBlsK1=Xta_1(ClPqIG}P+U z!(tAXl|{;7Uh!`Fuf@L23-!lK-dXMpIktJm9TM;q5yTV{?JQ~GjiyPlOKYbcNr;xzlWF& ze#(=C>uX+?Oa?>M`Fc)+wVW6~I2RZ6fd$r2*6z#6BD@)Wb|ZjLy8N0K`z)t=EX8!_ zK36YQ_k9F2A%M@XW^8}!cjjs9PUtf@VX}LU%IK#6b8~8p1xgzGMdn?x#+wV)jJ=5y zE%DR`6_XR9?kzBl=fqxW$)X`YdWQmLrlIvRhmq4}k4uD|W|CZWzcFm;WRZzJ_l}hJ z{_rmr*=?W3KpjyLZm#A}xLP-hmgs>B;M8;tA4*ZW3OS{KO_mGnQDbRFFD4w@BLdT7 zp{Hdq1z6C4BRSSxnH&oabk<4)eY<98FbjWj*fYJNx6$ZRfe&P9u3}$TSFL_0m51*C%L2%4i}$E5DhGmGN4wwC z9dHb9tKIqx^#`YiP0ni5a@RBdY{Kb4T+01s=+=VUhH?$M*DZ zHJ_AP-5t(79eAXoC@I3r@x1+ew>wqUL|VA3trDLEsVL_o@LMX_q2~PdT&hU z1C2ky`&{J&Rl9MEJFUg?oi7B}w`bb_(H-R_cbYULu2$*+k)ds-8NBq*$hdL*$w~8n zL@UmePorAd_7ke^9;K1^*Q1jAd0!#~z3DNKpB z1#+^Fs_LLkgDjbR1t?8lM~YP5yJtk)jW;tm-K}GKLLEHp;R@nImAWBVp8wFL<8R=x z*Mrbi6XZHEO^(-# zL-qqopR4H$EuS9ObMKV{Y|`i;E!)1U4?@A(^mi~M!d9?5!t_CbB#=gJ38K6P%mcfZ zO2m*I(%{bYLwI4VMT!@ksWz+hBv$En`Ysz7C_w0A&T_Nk-%se4>x7_RRjT8FJ0&y5 z?OuO>!D+2mdo!~o1A@4L>4Y1-P_NqkM%ksB2m_CRKOr7S`Y`^Q&1jWfo1IUWkV0^@ zdnGnHRE|~H){#hrBN-XkZ!#fG^3<|ozEt7W%pffyFtRlk;8{=JMOTUz! zY@MY*V+^dS(l3lT4wr_*7Ei`rzPA7HBy8PZFoWVoZ{f*n*)IKC?u#D+z zo)2M~(DV=QpLrGg>29Tu;_TzLPec`>?6mk#!!PxRD*a))2XMlFY*EbUFQqMsVksh0_=9sNw@zBJk=ne_w8 z{v7M_v;s^pA$^QJ)R(r#oUREZFaZ*{5~yhs5sr?IA~*e>w;fYWuM@dP+59otzcqI2^V#SNpHP}$cqj405bg1fe%ohQ zcKW({YyC@KuNB#?*^6B$c7MY|%)VfwMwV}H;hvD+S{mi-wnCcECFqsxD#UDhA9Fk2 z_x)7T1gP`<^A}45!(4qS>8<9iZ@o2&CWXF5j(+AydB$M{)}a^0P`jd$^ckf7=hCGA z7$a4X0vGggXozq)t7Pki?@?G&p!rWBN^z(F>EH}IK?(P|s(gy`G}#BG@Gswo?saWU zHycc4+v{Z?8L7^Rne;x@zN=IPIRSK+bU^^J^3|kHP;Z%*@ia&O`nMo-;HjR6k>fj7 zre-{l;M`s@tLxBCxn|bW+Fr3I+3C*JCeN7!{3NP((@4ZeuhzYhGZZfVp_Rf__&NKR z0lB$upRtJ-OliCzb=*Un&DK>yUh2R7-0Ho?hCf(Yp-TR)%!u--z5}ZkNKz0sbsvB> zQUt7ViWqhh71(q#pD10M?Viol)MoRp2~*t=W;5tJYJI?V4R+Gq0r$m6;wCLl{^5!& zmFVgdeqn4+td=pd-Q~kZcvVxWQQN=WRdKQ6_^fGW_Gqr;wpC{NsGwA+5B1{^^xoJ2r$^x)Ydo6)`s=Zn zE7w66Y{WkRDc^mevnJ^?F~6X#8{;FT;B@B)?Xk=`x#PeG9ra;;v)yKOk!!^Qb2^Kx zDLD{UMpIkuAZ)U$2}`s-4*{unYe3%|)fMkXq37n+bic(+HMP{eyJY{XRXyXL)^hMy ztH=cdWSRRo>qhZ1qHlZl%r&6XuWnh);4I0)p^!)*=_d4Q$NAXp=t8(WC{H5u133P|R-gJ(?f#-!4AQ`Y39ia_*S13*Rs&l`!l| zSf{^}jrqS|D%5o+5pY9YjXm9CjVV{9V{mZA%>7EYySXadjM+aqDQS%q`~?=9j~_`N zRGV+YkHt(7g{D?&l?aHLLgfMTXxwa+@ll`W#e^+qrLE<%G0%qTEIKPeT16n#15cJb z;~IV`)_w9`Ovx9s8xpNizm_aX-n;m%G@SYp>fttU_-t3uT`f`j!kKgT$h)j-UQ}pf z#~{4Ez8D#?T%_a$F;ZQ|b4i%HdDoZiq%T0l1NynsrA={PJt>P?;$P+U9)HDCrMW{t zYCUB(aYGm>=7(^drdxoW!%`)ZV;d8{lHY*~nhBmS?l~8(O2+eq(4Gotz z4j|gA6dqz+?)b|8MHqB82>Q4?T)CNA!f%nEEIEAmRzR=?Gl91o>-M*|`;)t)a}}Q~ z;~Q|i9=#_l7id_<1}v5jNUM6BUCj6EhAb+F|KXEbLPSRtZD#)e__|Wzp@t|4Pi~vYQ$XnPZH-23UOd=64c3N$yXxaJUCV|E2 z+Yov6+Hr@hBAiqh=GiR1^kBLE`(1;%rswL91O>aVfaC+;#a48SF}K+x1?opH6TuY~ z9D$h+v#Bf&ckX+?@+~aaIgKPFir=^vQxLg;Jg42y?2HT`?yEySRBOX!>LUZzli68^ zZ_6>hyrB~UvnR~VzD<=EA#TaTZcSgfC`sp1vVX^??Ofr|zl7hS0f*U-X66&jrAx3F z+k5@T!b1GUX0881wRg+00e)b{(fYnibFs^iY>!Y2CqSG{`=H%XzOID4+99Ah%2Hzm z{EQj&lj*fU6UXnMj>N_eei3I|`-Io4u^=mJIg#lRriM*>$KlQ0d(3aS=4mb_YVqFp z^@WCEv$vgxz-XCfTAPiJ-pk@HzuyqUVzpqQql`Jc4eXNwVKanj4yN1jri}p&w8mi5 zsde&XV@#r%DUx{|uFyZ#;CpaUwl({pcY9{bDW_tabI*NO*ym;c zw61>JN7=iRIn`P=pKsv1u`%CAiw-pq98ec>ejn|}YVGk<>>CEzx=fq>ZNEn_5lYL0 zcQ(xloiFI{aG$O2osRJEaG0##G(?DEZQ@9xK53t6_xW3az^P5^`}&c0+SrLX(kdnV zNslmjR;mJ@j!x6p?6vyGrO%V3BSKbN$8Pl?iANbRABmH^N|FO3MYWNnKikLAHNV!} z=eqgXZFGSl;S}_N>`%kjKX&(b{&KUnK_o6!hPL%AJs^_#Qa0n_y90h8UMBT$Z~arx z^+YIxKF3v-Vm*;=`KoXK>2eDcjwI(mPf>8hU8!yXkm`Bqa5SC4VkRh)@bFPmUeyZ& zCi(^*cyo+EkZ_0~%zu=aEyu+8vJR#rid)4e> zsEC~mmof%P!8fql;JBH0fAV|!m&-8o&tp=R+S@MBK{MFkMgbhpFMs_+!)~DEA-jM(uofrPqrSAhhq7S8 zW&HSK7<%1YOtdVhIGOGO8H`(X#^U-%cZsYm`6$`;ejL~M`lQJ#1 zVd_+x*lY{NHj5clx^}CbpJ1H9E4;I?Y&1`wST#s*NmXORqwnDuck1VNf@Bl3{FC{! zwAc@yBxlU+0fK!3m*k%pcKFD+uuW%iOdix-C`}rKNPoOxBsAL&gf$?vApX=3NUlahFg1p zzsfr>d}KmU=`vXu`)7V&cY#YwaZymeTRAn3pZw&(`G2ynp)aE%Ayz}`i4Qaqle@f&`&z)Q^0&u(C|E=6J2&*Xn+?6C^Hn-Ao=is z^;1lCg)w?;54}R`toZp~8AocXP>4S2sR|DsHjZ?iM;=(c8CQ_zPqn^Rlp*{28{h7~az6q~1kuvXH)ztxGrY)dAB^_=p*o zC+@$hs0?e_e`zlj7)-!8PxBZqFL5xC>p6~(ICRas?@YB!cxh7NK2yPYPl!Q3oT0|7 z6xfZlPZd(=f1;Vo2hH1IuU$&8hs{(~)iI3NM=*J93UMWJRC^1sJ-DrGBLoK3GrlIl z@gKD3;zG)TeaMLVe}%w0aXn6KJ5jQ>TiR&9z0Vo|C$*So1O_kYoc^ zgTU+O2oYLJ3@1?2lcp*(Lqo5*q4U1VtD})&m+DvVDOTz{IngwO0TK$pio7Wt^fbWi z2C2Pv3Eu8ymRT=$9;x`&)4yiXKc&P0@?@dz+aJiHis852j9b?aA(r+>1a$B0X&Dc; zH;#b1$alKEc+NXu3@aqYJu{~c<8TE5-@@=pOx}tiX8QgC6*X;(x%c8lv3!@BKk6&h8WVR+PIEkre~i z;q>;+_anc%Mo?wpe&aW$x|Po+`s9^6`-!dA>-PrFGw%l!DQU~Kfy0K?Kf=M1`aoDI zBq-pgb?nQo3N#t-GuoLEV*o*nCsRnr*X<%7#@E0O)sK%Ha2B*K)$*{<&ye#q?1{WV#{x>0R(^3^nSYmUX=21A%h6>C|!EIQOI zIeFm(2i~fPiGj;CG^&&JciNiA#zsT%g+d zeP*JH5WDfvtN2}es&KvJt;Bt|**$ycGQ#}(>9Pm3Ly{q^@y`y+z7Zqr5V~_4W4*B{ z!=~hw>B`8+fMFkR1f25$+pC)hW-f)l222!mLperYh3P^X@Rt~U9ea+B|5Rv*x|2;e z^(coW)fR8iIO3TI!wv`NZA}`R2zh+3a7}dIfpz!T%nyViVzLo=7yM9?@YR9_gF4+^ zKCh=ZW;M%}!RhBG_IEd?D!TBcuIMQYYq5Qh6hQD4;cqf zC_Tp-63_b3@5qIS8J24SdCm(Zhdw1^ZULnYLydgGv zSnwZf$}K;Xb!}|^n)<^REo|lF07IAohC)6Pt(i)sAMk;eoFR>X&4G{ShVWj5?AwKf zk%C4>KjpFuQR6K8{-RI91qRH0xqT={yAoY@H9CYmUupYJqm6h^>(GiwyUC_0oo65y zN_P5xZC~kdQLml4+!a92z5eaj<65_AQO#j{-zs#}NmH$I#!NMp(q14B&!9Z(aDv;` zOY7LYjbV?jB$>d?Sfl;x2N;B(90G8NA!`wgAs7VR$r)zDODc*4EG4_G&81elS0^xhaD$BM60tKx_u~1#e;Q>@H?|+`4 z`BNtWzu}h5?K4Z;QD=CmfNS5$EbNx3L|Eq6!#n_f%D<3PEw>89+}cg1#3}CtTLlLU zfMGW+RAy6QOt?Er+x=MX4h z`~Q4A0Ik9E^~lcG`J;f2pbM16_vxdi8s~o>HxAlXR*OeLQijEA|0ky8|F$xvY!sz& zsoFA~N`4=_@gyDEbweW+I;$a(s z^0Z|s<%SSCY=^7wxFTcf<&FD@+|=gBNA+Cl zdS9B2Vu6LRC!T|oRe7zC+`hlEGwnDlF&a6B^_xF1*Vo6>2C#<?X z)5p#eBDW6h^Jq}^A|bd*o!Fn%XOM`=DVi_f%W~XrntjFFcDGs?)92_`JaJsC#e?b= zBjZN5ecQnc42YoTduh{g3Zs8D^5#kY#P9O8AOJXgjk4Fw4TN*PhBd+e@-`iV&v)|^ z!$nI+yuO9Q`M1QIc}WW8ZZEQOZe3Ny9TKFLcgV@{6;b7F;h+t%TqMrl7rEn^6O)5XrJp-plK1TjMK+$S+OF! zOU9MgzP~M2eut!Ed}t-a)Pzf>z(o~x+O&tT?agZ)mIcX3+ddvv1;q{>wj3uTd-x5{ zf1=_0zDA<;&c~

      br$sc=`uBwwxSn$XA2Uc+Y5vm-kIAKd*^ELr=e_9}j2txuy}x zMDV~|Zhrm@JRl+%^e@huWnle2X-YRZ(WG8+O);9ydbvAkK@W)S&*Rm%@yJPPUuiiT zPnIQSC&9?75D4nn!KutlZ=ve{-DU2o*dHyG(zN(f!W+JaP%X~d%5A314)%V9`%WAz z6JfF+D94QH?`C>7B>M&faoeAsrp!BGv+{l0uFQu2h8*pn{j{2xA4CFq}! zf#U;JKf|JN7hyT4LY1UM%lnKHM#5g#*~fk8Z)X5zhJ@3|-r#sHHVu_oEmv$X-KVSqrcBcV+WE<6hi?CasEpAQA!{FzI$a*DUTl6 zH(wy{9bM5Cnx2d996JMy+#!_h|3P!r{lSG?8Z^ni2B+5vt3F(WBINsRG0yZ@-6~eyJgauKOXAN5xdw`Qu++sN5 ze{uDdQE@lP*TLQ0HMqOGh2Tzrfe8VEyE_ad!3pl}0fM`GaCdi?!S$W&p8vkj?m7Ko z&hOiFb$8vWx^>IDA>LHRC|>%VGwL2X*OJw965KB7JNAg$Te_;;*`L7Lz+!P7o**is^1c3q4hEn0xRk?zdp7`C35pEOvM5h{A7_r>82{ z8z^}0JZz?>?_qF`p||fR@1+e7Ojn{>fo{4PF^KKHzs>U7VIGP|bPg@=zi^z}P zkA?pquKZPyQcHvM+AD+?G2;D%=&>|xD`9vRcEg5K_vvSj67YS}kZ>aJK35WP$exY< z@Zk$HUxqj(I}W+=z$JlvQ*8g>@prU7V+UVOzM8}|jV4F9ReM`L`I&M+SCJxepcRc; zZu*E^@|=^UY*QJrgCs8*dHOSAEC1@s7vTzkEVW-h8cWW;TAC>$k9rxy10;w#u)f3l;*90jYVVbA8k8mOyo-gwRD%#!94qVxVGGyP4ncI1qOo1P1|&w` z*%Q%z{K6))cp3}Fc0rH7XEzygZOVz=cj;P#%To0O6OZtA?+QBnz9b&4xC8LH1*?7^ zGx@4rcYpk+@xw^kYY!fE5-b0-#R`;a}yLAYz3p0FbX9fOp?9%AHgD-IP<+iqnnm$~?B{^OQ zX+zF!(Ti%M7Xo;_IYrF70x{p;N%2yp+#K_JV1`MPYMzO6Ny^&s;_pdG$hjFqm%x zvo!HhBZjH63_A4rWI}_D0FNoKyI+2lqp4!?$&2Jx^I>_q)Bsekol^R(x{itEx6;Q> zOQdt{7WDB6ZjAm}-u-)+O#b%uf656GNq3~iz(^vGo~qe`v#Cwhs-67#MNMv?2&dic zYLMAPlEt2CDAH=k_`^UL{tgUz;FNYC^ zp$?f1l7aJIJ8ib~coPSI*J&&AQ=UzzCy_ z1Imv^zXgT5A3GT%hCJJOw5_&Tj01jnM=Jj95fK>oq)z_yBYM`*aHO&q-nR)l7WC!d zO!z|3j7F>zMZ-%j@ng<)1dDv*h-`^dbw7z)B2eG=uLR$JxjH@Sccx+qOj4BG&f_8t z%O{b(GvAyv^{P3qjiv1x|M-c#FTWDG`|})PfkVM6J()11X$+}V1R_!f7`v0@q>xZj z{b({@J1h3UMt}Zl4>eZ05)|{%4N+`7pi>$%^3_3KD!c|d;2l<)kMuE8e>@l0y9;W4 zTAI9ARI-P*S)U*g51SZfnxS#VrMZ-VKl1nbVU~{-MvDT=$F<5_N@c3uLbNuDIB{Ts z?t8j8th?%OX2oX=w2ET$h^mwkJmjsolFCRg^_fq(PUI|IP9YE3nMTtsPSW9}14t1B ze5PCnh%NO-Fn~jR`(z#?0?yN*Q&rhrUW>aufpaiF>B7onFH{0v0@__$`ieAygNnK7 zbEdNir3)LptRiYJ;g8SV`o44L5`_M`>L(TJg_}8du`AQCKf{W+<>28p_`1ymx-$y5 z+<9SrhZr*WsYim|_GrbgU{ufX?D)^)V%5R8vE*lt_&Xheo7M?HhIOL&CNvA>*HO*8 z_-AHOnl|j#_tIxXhqIt&t^c*m3^6QZy8`5!?AP0~xVdZWy5W6rZ#Bd{`F=oYp%p6} z!k=N@X7v0ndE&@cERBI&U`!3zizmBiwelEGD|J!k@KhhPdx=5j)Mzl@=?tcLpTNl! zOyLzRNR@#H^$N1NioD2BhbfZ#dR1D~ziAq}!5BG)+E>v5jSK6dCJZ#hdS09lWtwSM zz+RIQh?WW_pBXLg!G4$&u&Dd{CoP2JpaS*6?Y8WW*eqe5S*2!WNW@eMwvhz$r_as? zbGfUy9%waG0Gk^umC^&%wgi>G0!_PQ`S#EHXA2DK+xN0BnWgopi z9i35|R62hRhs8k!*Px{i9xyb06s}Augiv>_1c^$)wI3F0e1gZ!;nskTW{`A-(#9^0 zE*CSiH=LBnUC@-h*r&d#>@_j_*zLaQpF2?Aqbwt)cNS)+MAXu8-ewm?qvT>mbB2b^T1MqC;f*Koh z$zvi#0wTBgnhr~CwzaW5RedKOQG*g+4-fUTw6p-Lnh;BNe|wj=CEyHxMbz9sKk2*R z1%y@?{x}aY*~k3Dee@ImW;2CmyaG*&<0LNv6eHs)m)O-%=##J?DD^HC*oWambIjRK zQPW&>6^0dqy&d)XyL09_qrPl6z!J5HRHw1sK-@~jaqp=AkY;aG;nc^36hT1GAZ^yZWP4SWd-hm0b3*orA zGUXFRiBFJYr=VSfa49f~xm%m*Df_x50n?3l!H9kseySnttIjUKGVMW+V5EB=TW0Tp z{=h__^5O7evuEIUbQ{9Gw$~iX8WN*-a%_D3M91FUNRqS&J;k^}D+iGK`f^ud_kW%$ z23Qr_zgJ>#|8ChH0ld+6pE|sIW|#VzgD-+2Sf*k{#!Cz@mPHf(iL(kSY*cu|)$=q{ z)Z4GPIJ3D3f}21XP#%>1PMXi1C4PeM%?rBYFC3wV;w)dGp==Dk_c(nvwHXr7y1?Z1 zc#&8Fh4#x6{RsTPNCN}K-fgA`+x%=KNbf<<*cnpoB;(}7>{X4 z&>4hT>y#F|jIZ#Qcd76)!@7!;Uu->sC5Rnm)MJWxM1CD^FWnpe&vlOW1Ro zV_UMP8BBjIALxYS!xP`ZH*qz|l$4V4Ky+*R!qI@*%X39^&%jb+fr4USc0kd)a-+&{ z?Ipn}MDE>9DWclb{b@p`3w*bL6D{4Rh*x~zj{5lcSrP3fxx5&RI1f3%TEI`tQcC|i z_y6Tv;^iT_ro-D<7qhP~PvEM{Pf^O-b!v)$@5%|Nn?eX_L!$zFw&I9_mzRiPJH|u+ zD-1p>%Y{J^3`yq>?y-ewoUqZRLH-N%4-lmC9UEHtIG=|<`5tZaPzag3*~09l>y{id zo~PeaU$EIoJZYIn;fwEhe+?*1gTjm!M9ZX9_FivtT*jlZfzv{d$)568c!-9r#&y## zPg2CqpBB5kH$D1nSN?a-=PpC_T5`Eypt>BN^_kt!j|F5rFMh?^;&SFBv_K{eIyQ7E z#!o&vv^8)7Zuq(^Z>qmkwpY7BqKL-UG*a!(>K{u=4z#O^D5rB498pw`yTA51ofI?0 z$&QRnCeIxPR~fiVF{S|c#V*fEr%LVG)csp(87-(ujQWYP&s<#EE3*gktZIuME+cvg z$u%%$k3JLpc$Aert6La{#cI|=rOdBk#ctKEL8GBD9rw?UZ$*BpJ@cp^|IB_g&17#&M@#Pl-lrAb~ejX4Ppr+oG>VdJ} z^pq|isqCi}scl8A5=Q?I?Vo>JP#iXwj^}D%q9nNkqOyug)Qy)mFI<&!Qh3}Cr>5f8 zTZ9u&BD!mAGbW^1@IF4t7gAnRk$I@C*q@@-yw^k}8=B2tEwW_C_PMDz!a%b_bDk6>UC!{k)kn8m$ z2n70=+he3`mym%ml1JUo!b6TLz8i6ahSDR69m1JL<}3|`^@%Iq zRZQxVawvhh{Uq>oU{iMm%G^au4a^Ec^>^Bd7-JpA3!4ZLUR#ZFs7HyQb?TYJb^d%- z{jGr_N)4PiN;y-!n-Z(mvcSqbvo!*PfUb}?T&LrlB z-CS~ciPj8!n?v(%s`_qTL-_Il*IX+y)NF6?|FjqX2D9=SD)vdvmtk3O1D*(kzuHGJSZBBpcNZQDBVE3b*=)u;*Xz zwJ{^vDWB|q^c!F*h}YtVXFs(oXY?1QZ{SJf-2_}W&|iI{sGNRtR~a|B^c5g11kIX&!3E;5j)~ROKV?EG`ZQ(I35%M3IR)QPOXlbH8k}cjCs@~lV15h*%wJ>O1jjuJi z1~g&fBU5eCNF3ux^e3|vDQe`J>Y0>H9)XERMY1Wz%UvFt!&A(B7@zg(a>Z=nWD8^| z&qyO`Qrz)hbwbD;3{?E9qNn&yqv0>yUW%5;0S-szwF+;KX@mO2o+dkW9AU(l3@{@z zrBgr5_Y@&?qX`3XffKdXD}{pe5&$0&8udzux|LW_T@anbGxaAHPR>gaM8<)^?`Aq^ z+hj3|N&NO}tx>3GcG`P9kQsE(&{94y!V0aFi0wQO#b#D?`4t3Vx09I7Db*HO;9;N+ zD=X1@m%@YpRY6VPZ!T|e|oQ{RF#2ca+iVozEGJ}hTf0L9QDK8s9=K*II9b^2)HTX zD;A9K#>A_5Js+!<+{J0L8{PknqSee`eF{9a=?a*b{zh7XnmB=ZvWJ48!wj##vfRI# zrb+l_&!coy#VB0mG%Y`1WPE{U-#U~@_6K@<$B)dNrI@Y2fX2zaLG0FwTNyXYkpPO=K`pAS2`$!hsN! z@~YBHEL}}e*>E0d30JfI_Fl>QR~g4QqODx#X!|uQr`(rM9m~pVw(=)SxORE~TFi=q zo{u%`!^0R~PinW=A>|UvxA8U4&H?pwTOSMebCuE6>Sh+*AWW$P+G{K6cO;sq_02XYBnCg?RR(ALF&7%mOUuHle@4vI zi$k_C#aQ77VBD~eq9F(iy#+dwJ5Ob~rOlF|KBI5C+cI7cN4@l9e&rS(-eSI8)E&hu zK`EcYce3!1ZFgLc2I$9S%x%|i9X$y6K3=Dz%$7=pZ#_jPU4&r~e9|h!xZCq&=pdXw zx379hwoS9QTUlt%ZEk*6St%Q5XJ>yS&5WMTjoREJqz(AEWteU;-+|;hy3yf(7g|c; z4buy*6Re--HXq4$|H6WM7WWP*=07U{1}ZETT`gG#nl{D&Hjzb_I#blx^F8&ib!AML zx4R}B3!z4Qv&>;wZUOm*a#u{*G7&MD?)>^)=HUigm1;A2dlga4Y)AGF0Vzy{tt6XO z4Yke9Tb3YzFLHmQ>7?Sh^q%kaUeGbSwB$7`cC|=i&)j zM5rU+rh=nAAzK+Qm%}<7NSM`?Woa0V(ueDFH|M&o;*r@N(4Gm<)Qp?(rne3rl#-4? zfFC76q9ekhIe)zrHkcV8rLtErS_vZdAQY*h})=!TW^FM_dKTz zfMotF;3(7m%@xYJo;8Xi$=)W9GH}gX<8)r)0fvGzn zO8GJ6{>c%KrcG4zQjB3p1EXdgHPZ~EV5+p4|L#pnUIlu7b>q+v`ly*0cxc@Dcv@Qe zXW+7H%>H6Tr1{q`8*?Vx-zS6EYUl8n#2BjAcEKsW=fsPd=y^AQ@j)m&lU7_B1k6qJ ze;D!|k^oLN;o(R~39STllYI6=)3n8DC4w|KWA`v~!cbqoD8Ms$&p@Mw7MO;$;S{pC+=z>ZvB8g8Z^H@ zi@9foO#fgMwB$RmeCx?J!HQ@o9~T=LuZx{j^##6RW7dV$ar4&~|+*>R+a-7+xaGyB`z^r(7i?v5_FvDVeU?s|-oLa&K;y*yDAmUJLFUP>pzUzc~2b^ z_vS%vTojW>1%<7E0%hdCQhQo+*U{pK(yDsa$>Jw3?)_<2))JzGt7x<890osJQ!x|` zR1#+_zN59jPn??M##WRxRISEs9>`_HR3i`Z^aOZF9r*`2+RcBTdY>#6-~;t(tLET%{6ZKN9=IEeedTa`?wutnhT%C4WLd+39{qv&q2gQltLw}q zso%PMaoeAGq1Z3L>Do(os+KsGwf&Ib%aiY7fI=Cq>vR4Ktm(hSSUu_p)H6>IzPK%I>1O*75DVQ-jR|has_SIR39B3Jv8F0pl9(9NS0c|72VvbRtew}!u%jK*0kY| zmE+{XN513_FmLI^yULG;Gx zxu}ok8tLO6YvNtB-bhg8<>C3|%*>tca_z_jYRc;7yZ6%LF#7&@G3kHx5*d#cjo}>h zF*bhA2PDJzXm3ShjuBIwDqF?9;V;Xr}Wk z?~+EPNFW6+R&!xq8}r6DYX}w&thiyR0Lvyu{rUKpRz=+g0x!^f@f*Hb0yIUCD~I~R z&k-(pSQR%$rcdY{@_fiY-&SD$ysLqpBf5LpxS5}x>HS^SBN$y zb(`@Iqf%PKGRT>u@sdESN;nFOzgmmsY&P@_1@&|ufo;8ZZm!q%;*kq&)cbs!-j|LU zpp^&&lq@NlS;$aM$Eb8>|f7+YFea-Pg3bsg+!%gyAl2w40c zUM}NhEpBzri7Rps+~4|)7|NbY2AYmHE6tKVwRRbQJjN<0exhFH0|cJlBRKEnkJ6~} zUgG>#&!NdnQ}Hs;4losm$vZT{{Nk?g*vYAd8CD%{%rZ!K?rcU zASw>{Em;^Fb@4(_x+I<>H}pz zer-OF!|Pa}#g5?Jvk6@Hr|3-C^Anf0l@vvZuH({hdtQA$;#01okFaALS1v|%1)3V+ zM6~D<%WVv!p^=D(mH6qkIPZ;IQqdlpU6?l!d|ny5ME%xdg@{nrd})j%^TPc68YU0? zwc^?6TDqN| za(~8Op?|TMX}g>xC1X8R;8$#6wJA;ilAX_?d4O+RHQtVCtlFO+72VZyhjL+TFu#=P z@7=uQz46>Y!m2!@DE)R?rF+)qK3(6+O*yj~Ek5rP%}6eCi4o4Gq-!vF!}9XdJ*||J zK~P&qaTMx`^_oiDaAVU%*{np@aQ^ywOwoe^rt~2-RY^V3Z<7Ajez!`{{wQjRAdWHK z=YDZl6U=erPyRL_`zCT$4F}dd9iI9~Fw4^BRr$u->Z!U-&WSa?R1#X@uhOtPCCu(2 zxV`39a?20!d^XzsMfgLl+(_f7VapR6LtO~W^#~;)B%I3ZI+`WE9`10Ow2^57$z|JM zz@OIoGGKR!zl#~$ z+02u!uECuQ9_C_MF@}YwZazz}X{%Go<>euciJ&{;j@}?F+_l74m`7KK@}{ZU1l19j z21uEj`ophA#R7UmbWw0X5N}sIG!lFlWNU44a}9fI^Y!cN=HpEoDct-0PuN8&DO_e6 zs^hm$K!qoW?tf`=3xf34(ogou%e{Ys(JtOAK%0!pEN#e5%b}n<>py_CZA(tj#g|(#K2*iLa60{H|Xq zX*`;jTuS%b!`FOJ{EgRRn&-?9wjOXQ*Y3RD<|?A04TNr|PC8=|>0fiNcKENrx@7)0 zx%AO*FS*X~98LQ--d^cP!lm`C5+Pqg0z5PHDRt9Q^--v*8(8)VPOy!#TEN}&=k7vo z`O`rU50)q&g{MqExIbOsK8b_Yd}Lk(zxW~f9>hsp|M6j8kP;7sXeOqkab7uJt})Jl ziO%`?dzhV+-(pRj%j)Xth)l^YphGY|bKT~QFXZckQs$N;?y!Bcz1@}9LFKx7(xRw}I%p*$0IkNo`shk6^&WLmni^(dFC86uL^x3?&{|qslR>tKU|f zFAd6~UwXtWlBGJ}lQhH%iOyzhF4OM9f^;iHtj#EI@4wt>XM|4Jaq#$}bdS|{4vG&~ z!^p3KU-(}$Y{(AT+!uIL?MqjV_ow*$KpouAo7Vny*PUF};cuR{ifdwG%Hrff7l-$0 z$RRs@>j~JwBxpuYuwcVSsxMxfac z=0Luvk7xCZNs}M+?CdNUb7&LJM~1&ZeAdxA&TL3DEiH}gEtE8xu3`ykpWL@BjIne>opQJlHLLB6(SaMWnyq2l)c`Rm(D2^F7e|6I>0Jg1#jr z@YXafnz4U4(0b1IWHBSnT_} zCO%Sy6bBP}Qlhp6qt0=_i%m@}dC4FfnN9*Ri!0dPxL_OTx2tU*{Qgf1K$ohX>J6Q6 z+g@g2vSBNU%&j7D;#Y$-W{?TThN<5`SVEUBE5mZ&+x%t>M$BB;OZi}sd{}Z656F1d zO{R)?C!{yz%MrTvFU#ew{WQ#X(`;c>xHff`M@2d87TLylAFdB^JgiTmoF@p+mK*hy zv&7m)jxSNMBsGA#y->(0e4j=b^bZ)pO{$p&1lJ#pw&ZdbyOce4SFbK+gk z(0K4J#lJiJM(q+jx!$l=!ri;k9zGaGf9sjOb9eW9y9xjH$%1Qu%=bZM7sp4_Zh-V> zc>eDW=Q}uNJ6%iJcE)*T3`uPSF$R5{-$CLj^HoTaL9X`6G$H6rQkKi>Y zlPpt!t`a=z+rK%XrQ-R#|9TX?=Kfk%*_%ib`Q*_)xAD+CR$`A!^HegD%$e7_&wbbD zyrq`!hu^VyPeto?-xZWWdp69#>!GeKaqk8FIlnY*co64eYrD*UlRUtk{LVdm4NT`B z_7%Q^?18PQ2w~UE>?p%m(%AO8v(NS^<@`ALGM-YX)YR3h*mGyQ zG~ell^FC={FGP%HA zsGw3A@&GzFkc6%{zdY{Ug|00Xi%c;vv)%;XbXrf;cdWJodz4eoF01BQM0$VIo+ad# z3!AVkmTwn?V$hvBrca2>OXjD(YjI7&oGUm^ZT0uLbZ4)pU(SNDvcCFLI3j=_G`EWx zsyO3F6*!D7-gca;%dT9Xxfw6~I%QP!J?L4OlA9d9UDf??Rs3=J!M@G&WH)@z>#8sQIxs-zi~j^;g~3szv>+xt9{+Th+JuW`jxh&C zKgB--{wiVjaC?O!{xvK=GVx}sY)_T9_SqD5bpeJ(2=;|Za$Z!R(wcKm#LzWkf^2`I za0+hn%JjFF?txAm*~}Wxa@#on*R|0@^nx@?z6-YXF4I&BfjXSpUsI7J{B{n1hA(+I zt>+?$L`4g|R8E4PF3C5lQ2c~VTJ%Iws6XcJ$1xTC$y@Qotb2reQh+nG$auHL+8*uf zq}}RVG)8o0W>0{B>+||@xBRnx-olrIk?;HdF{D3cU6|DF#Jz_b`&`oS|Hr@o3WT?? z4&HQ4S~W&!Ag^5@DQ&h0tt(?94c+RQ72A+%!EHxI#xZ}AO1kIon8#=!{<12tE9p`7 zu>Lh*=4AiM=Z50MH5mVU-_3a59~3$zEEKFM`yb{9^gX|HFd6gq3V4D7?R_D075Ql_ zrS)lSW&n*P9cK}x5Fr{7z@)kunH(CKoEA5eu#8u3u5_F7= z!Z5A&z+c(VT60QOIT-vsb>0|AI+A%lw1QLna%dIvncjMAy_x%6M}JplA}}G zaX;*!Usnrc*LOb^moNWxTW>oaIDYFr#E^P9L?Iz2*6A&?VA<=^TS6YA>SCMnCsbk& z>bfo+^rM@{q$NnvFhCEqs;T}X8pg|rgBBp?>IF#9xTC6GetqT6MR3s9-)f+jJe+`;6@yU=81Qg zFu5b#omi&!lIQOKHY-ehnCIJeUoA?%2-mgfnOH<=GW2KiWMeVX@D zOJ<4Dy6DmXR;9m3`&i$DGb-oGun3W%R;B1bhKC2k;D`w1 z-QdN!V>V9rc9n^E4o_uotmLzcK!lQ^T7XeUe2oP2GD;$BNU%mp(Sqc$<4H6Z8!1-4 zKXnnssszK(#K@R9C__Wip#NEphz#Kj1poG=1km%Og%9}gW6w<$Lli)Ao`vYTj@$d- z;iYHg@g&vaHTk$L55j4cZv)}F+E75Q?;4RB^WuT~`4n>Ql{3Gvf!1cwips{^$;>F- zonD07nS~cvh!M-H;~zWmJUl-;8%8}OHxzbkYN!6{8l?H1GLj$oI2493h#vmKRFFtKGmYxvH>Lbque zX|-bdB(^58Xy+l_&cfn7dt0CQ@zu|Anm%^BrVZdT8-)k3ol3dylnH^a=-kEay}4zR zdEwtgYV5C9j;>g4>G8(w4i{su_ooWf7{nty_KJ9bQ$8ABb=@33?@io(9mM$#_R)5h zQ|V2Q-R?hTUatM9sEACZGS>ezG5Pgr-tP2URz^n%;g4uQV+1agj{`5-_*jvH|Jv&5 zV(DYy7{QsNI}abK>5GHQXK3E=c2V+>fek^ zwamt|JTIvD*V7_Ok=8m)bfR;P9QpB$XB0D7$5c!d5|mrM;U(VqDuF@-Va%4J&`A(cds8Gw1*!SeCZ*w=68O+1AEaIq7!GoQ8JU}&S94@&| zjtG@y^#04+VAOKU5XfMb(E%ZqrcGBY_?}hA46?XEz38QSYJKY`xk|rrk)3L^vANCO7L#>| zKs{yiorxHym-zHD1Z?}^ED4-}m-xR-||UzD>;1x0ZXRQ!Z&1k?xt3 zw(J~oXvtRw1LAca*9S2Xy4m#yzFoMmeR*Nnc?^y<_YIsylg(``|Busu;MxmW>ljDa zQx3uXj|ey%IV{4W#@ZhcW4pTKIo|6-Z(58CC);~cw;o`V@qMPCpgq!y+S%sS0R*$l zVk5_Ttohgwii#6Q8(vhb#nxdCJ-^<M@n+Ji4_*(@T*KT^3(6FJ&!>Cze84^l&@RQN6?RTkGgmyNI^EZJk%$@|>xOVD~7 znrh+5GsfHaEQRI|u6)Ha)#?bRQrSBWl;us8SDJ|Eybc)jUqyBCmAv*6TsZti`3F;b^4$Pb%%NqZfcRJehNhGQt0A`{?ulgFR@ z?&s&l)kGai5xGk@W$yw8LV>{~3sJm-F|hwZ`MJ;yJ}a}c8CcbRUO|a71Cj8J{*@x0debFLH^*dX%ipnD!MiW-KSaSv>hbgApF@`S|KZ z;Lk@s{cdDx-_#&QKy27Tkl(IlA0jj?DrlQkSECZ)kGI$ffP>xzK_Tg{>HEEwS&fO_ zOjEM>wRk9cHvtb5pr+^0R&S9y7V^^`VXwiaZS9WBWV-0rb7YZH`8eGG$EyThPEY^v z#r-ovYLkU}1iKkK(Xl}UIlIWnbr+JLDCX^n-&i`rDc+Cwvhm%6m^mA`7mtkSi%?YB z((z8-q24S(20geCd9@!vS>gE6-*Wc}@mEPFcHK?~*!sit? zxpvaMR;jPYBA=NQh6$xI3(;`?)NK&`u@DKO{QJbIyIF*Ey)NRx#1Jb$g91AAb(||( zVbV>4Z9nNi^NnnCTSX_*@Y0;#v1Vo#7bOmzfJsM9Wvgvk5@swfnPO*Y5v4yVj;?Yu|C((+ssUs z;L5@18?{KMr;(R~or_it&XO!F=ACStLH08V9Gqy~SwX)aIvs*t6kqPUn$-D)V2X1D z)3<9U*#7_t$PXe~%op;EE^|HJf4xZ(g-F-e*Y~1@U|UG#{tz%?Ez8L@O`p@?xBEVB z&;*%4N3>$oRlrF0`y8ZYUUI<7gyp2$@W;HMc_FWQ2xLNnthZ{;r~PnE930Sv5B`HC z0ZkXw=lrRyZ8puVy{Jhg4=bL5DAM`fVl0{g1|2tHc_fKJ_J|j64TcMMxl1bFd70dp zMZaO}(?e@JpE)f6pdz!VqtAKXHGtDI*;7Ju^EsTFJiZO#7I1lFB*n@(aE<@tLHv)4 zf@KEy^~rYoQN*@a1MrEsb6!g^0F||%pdb#C+n5y@`d@Hvh}at)vh9Q!_wTxu90gS6 z{IM18&F%HQoN@GkeY6S8N~(zqG}u&GQO%ri(W!m8tBtzg_LHx#wGH8i2I}x6uo*{poH?5cjGc0T!5k|!Sc@}P$*%sRcei@&_kFUsPd|AgFO03 zJ()@b171WT2!-^7(n&zrfx5v2ljjd+G(3+(9&7zKCN5UZ)%jhm7QljzR8W-<{VT^Xo7*Hk?F;;#TCP)c&%WQjgX|L8zESMJoFjBSxE4uI!k zY65#?pKhSQA|GyiP?GYHNDvVTM}hJKbkt|ss6MSp!zmfcvu{)$QP=k`*AYscpF%WO z=_ONYEy~=9L4F-oRaFnEwYp-TnB%J%o2`?X0zZG@!LcguX?gFBdB!QyR3YErZS{><}3B*WyjRC#w>j~?QS2w5KJu-Lq(_$v2*-kZDt zh|^Ygz+Qm+3(^#Dpmc8-2~oL}tWzoJ^_2~1efnK;=ZkA~ukNGO2i)U-4s8j1WO64Ms^*5d>dSng`xur)CC@#Vdk>vW+q z*`k#@Pi-*48B}I$eP)wqr+kmcBEo+GN(BT+mgF#dQ0Q;iYT|=6i z8b*dPsc<_q-&v3j$c5UhIOFWw&J3j@$VK~$ArcNcP=bCb5`tJ*d6I6$T;1H5wu{RM zOF|Jz;X*<}WUahcST)cuRsuE`7#JBHakTqaF9a#E6=!0Lf=z|Ls-n|KdGlIo2dTP zDCf{%D(@|1hX^CWujS8KNzg_k|MbK3O^yc2f>YxoA-oq)l-bM;5`_|@{VVlNl~TGH z_th5ucW0YF`UweU#w8UM9#i$f_B5cAG*Qu2cIwmQc;-JxP`4IaqUWDma{mau!6#}( zPb@eoJizWBM?6066~QNtMT(Xj!(>)!e4)Gcvzypq_-BdTDI_3;8D>}D?>9;W#75#n z6OOF`di~aSo!-`i`)n!)>I;TN7KI<%SuttFLoO$@U4qye-`TFGq}(FRTj`UJm@*nk z59C(521hG?RKx^p+i8c+2z+d}Yz{Sva9%hV@BWS8VOLDPy`%+}tB-nJtNBLD;f1&X zbwnpO#m$9Q1o^kS+iN^j?J;yS-Vu+*vYt~GHYuE@azDoRAK-`uaH1Wa4Vvy|k;h|2 zv0OIn6B2fHA>od3gwMQtMT9GxW1sMQwkh2$X~t6$j(#UpI0}ZtX-D)h4wV~66{qFO+gYOJ$gQZ<`Jk4zg(v4Z_0nGmo$|difRBah6mGQZ*Fd~bhNc+dN_38dU9#F z@+n+8p%9YCMZiirQfrdmpG6*NRvuvh_QGy1_dgtT)N)?70I$tvi;CGK?kFDoFi!!F zo+6o!f^$&8JLpLHS&*0En)|eDlIN6q8QoLP__kwf6YksR9S`wCQi^}M z^?wuOI)5Ww`;YOTluV<>PIll|kg7z!rw`{F<4N)l)B>En@vL?Gp)gXB=QqAfuB0gXNm^%9ha`Ey-S(Xk+6 z5dCPTsM!=IF^LOerY4@Y_U(NrO-L60K2WfPH<-GXkuDEevy74k=3&DRIZYcJ~2DHOWZv3vhc;}#D6n= z+3r1Xg4gjwF^4mG1J|LVy!cp<<6X_40FoAlb5s`lu8k%-K6c+H>I%Y=RytRs=FnPY zWASR^IAj`v<7! z8Yt0)3{rlP)z+T12vvlm-q8>V%lwAvNqppRvk_fFF|KyXuB~0*J&+&0U`MH@7u-Kg zMqU^EI5Vu~ZLJ26^ONqk2U_3}OlqwKtAOaH$8h+*z=p@|~PY%x6`& zG~WhzU25l>!Ly<|V^?y~P~h`A&AwCif=Caoi34D>+S%}B?!*Sj_&r>3S- zAymSa9PzbahqW4Pk)qESy0$bk&5raUJj@7YQ4-LPH7I(tS8Ql^N_IC-<v`HP6qzw@zGvXmcaW)_HN^iEjYlfS8J+bK`nl>jRD z-ONN}n`*_Pz4xcE=liW8?J_`-C&5-lm1teNVoyY117Ri|#}%?}569!g)HF_`bFnS0 zGwG57g9|dJm~;|6bYP*LT;l}fAcQEn`7g1YzNBnXzY+IfX=#b?^NG%k03I0fXdZAnrNMGZbgD<- z)@K~##i6>G8S4CaihmOsaeoGR@%4J!HAMne_h+}^zm4}?iucsqXp4kr4uEe4Jo-4_R)8b!dqya)R4 zFRggJji}Seq4>YHVR```PRhi{2ISJvf+~>Bs>Shl`MJIDlfqA0+Q3;_dONnhJmbfH zkJU}OT89?FjUk%20odW$ZvxRD<=aQZxP;11=PP}!2UlDqq@d;xper-jR1msFNEC z4*x!1dC~7gHkB#|^rK}CYM|EC^D6JQE9L81*EkJ#8w0l^2{C~ahOog~)E?hjk$U#B zT3TN2x?0M8O%8YNh)GDY0xbsF)z9szZ3W26uQpa4-{~M|>HI&wz5*<&uKO28q+nc~A(_xA*^^Y?-v_j^n}`xz-HN5Yr?_zwUrtTD(|qz!^5U#Lqs5 z8dR?!?aL1V!Fgom=H43k@60L8lqwM&=~R4BZxr}yL7Tkc{SAS=kIZ6KUH5ezJaUOR z;L}`jzOnz(wTzqC`;6xYmMX0zvG>+wIOjgg{bET;@aV-qzLpV;{LtsUD1;-4*XryC$~sqQ zGYfn#f)FKskyVO-V-M$yc3~J6ghG;(6-2^bs>Fh7`IWB%2A`YkI2Ns|*8m|$_Tc_f zkZ5Hd3jIL4rA3!I?fVv)Ypc7GaKYuJSYBtReW$Y!Vl_X_WEdE!YK04%78^@^)US6ephvI;ccf))VJ_)FU1i zbeTDP6I6g1H62~*`0Q-GiE8YL?q7t)=>bAU5o=%jGoqmo41!vBlB@C|v|Zlo(%7z~d}C6|QgInfk%-GmeyAObVJz#72UQt+>8^|B^yJSwRsB z|B2gC)tLY>H@Cc#;)C~Kp1Y>xN32e9!x#G+Be^3GjQep6rDisghsRjOE3)9inofo| zcI>po03UA~BKm7Vx8p$0n5&U#jH8cHXg!n>@gBjEgQMN@{wCjz*PS`)@I@!#mz%e) ztSIN_*o=!YIi^QutCLACESsVAwh!CjRCKz6$a0@`U|aK?y-4R4A5$1+AHSDzfPzFy zKnRpjH;nliHDRspvzAw8HpcT1sTRk^-lA+29*qtg%NmK|!;Q)nwpHf6+Rew&9=IEA z8m=+8^?koeH~6WPUK@IoLKNz7A$;_3p-tENO$49}@p<9^80o*NxtAXl@mMy*kBa|0 zZkH{zyw59>M0(QHv;Ff5HcS)_Pr#YQkOuJ=i-)hS@F$fWI~IbKs__@DS2A=DnH7VF z^B*6Zi!D2p;3iEMn({ktTi`-9P+)1vEnOssU-%gN#wnF-Ht%>_oI2w?#;E8?ga?Et z=ft?ug(XMU;j(?rdy#RNG~AgI5&rtNQt{@CX?p67?}cIok%JZ#$;ta%=KLI&rp+ID z*a8Nol4SdNJQ=+FDe38~ELBBe*^xExI(s(3_eZV7(zZjr$Bth((j+nAdF$ZV{A4G9 z;s$+jHwkvl>(soflD!cL>xIgbGJ{T{v~_W2Pu+$-ipb*3k9y}zdlC|5 z?w0S1%6qwJVQIOTwo^{ao8VnjT+B~Hv)kWVr}B~fKPkh1iH;5Oz_N>Xr~D@(t zX}Xz|{2@Za;lm7)h$nwxMqgd%zQfjN&x-2-1<9_sMw zZQ1iFr$t+y!=U&9KdhM(Q2lf?^z|`?-n!s~g+*ooXZ}4?P>Yen2-*wQeoyU-$z36B_5cnYF{3%B`Sg50Ra^qOsfjB2>C-TOpZI_)PsAJpR zP%_%4I&?SJq}6*HmjepUNsJf)aPG+kmbS;*L9(yn<_w_khEm?W{VlNcThyMzMcy2vQCX2E6r@GN>q z1U{EnDBFijZpt!G=d&`&;n3pAPC|xBR6bWZcH zh!!BHDFHMsBW4aDvZGpwL5GW~?t80=6e#lBPHWwDM0?6BV0FjPvi%^I54SFSH`ve5 zmshj`S!M34q>H;R`nhEnHE}knnP-I%HQoOOYKzpre$I;HJ8KaT%lPp z(e*36c=r@N>*(Mt%G%vcP6sfS{=_C82(UeHx~%89ALoVEc<@zNilqI~L~5ttX#07f zR-WtOPt+^yiT>0I9uM_oz$SGj#_?}oq|o9|@ddyoAzi5XI96o$K0mHe?uIUIpB2c+ zbekAy8mv6PxS2eHjF87>BmFeUqoSZFdmJ7{MEi=_6Xf79Fa{)ja&mIetkFuVY3sm; ziaKpg`>cSV$#e5~yyx+pTd^HHD&u`Nyj{BXEb}revh~3&@04YHAIJ7xz4-v7z?Ie0 zBQ1Hy<>hr(%-}5j>|rOB?HVhs%OoGFc^-X5=oVd9?~|hbjjQ+%%%auD`;@nY0Fn9g zllf*F-Fkm%)=i&k*k`u`%9x=8TaRNOz)9$pzJxUPVZ+bgCssmU`(@8%hP|-LA3!S| zb@#bjEj1y$HwKenuYA4Q^se^6j!e9y8XG6l^!PASLGRVi;gcY_ zf~FH)`bI31p&(&5leSFHZx(ub~Rd{`I$Ga-5J?5NgC-1 zum{vwSbWCHSt(KDp*B6;Q5+h9V2#7`MvCD;1T%z-(9|6zSRrSNMtPN~$<-L%6qd6! zCH%)hAd2|Bo*rFVnG^q(vygQH!>kpBqWiA2=987nStS9|2mJ4xEMG@NN;4fXX&A&5v>LE9bDgq|E^y&`C7 zbL3HPpe5_fol|oRuzWun6fnNk^jxS9-^ogynDIFFV|P_DGs= zuA2O|#tofe7gHtU6}Kn*`c6`hnP#27y3kW9Y>CD2FDd1n#Vl%xW~S>G3~Dnmj~jY# zq(tlQte02*>B`LjLWX&+bA}L*F$p9`+DbE}#61I5^)(DhheS%~R{~No| zB|0nzBHAdQ$PY(BLBFKk9j;&>r(g9KED*uP&wdR-vaPt9-~(xwLv0{K^I(UgaoJt% zL=5BX-;8-0T@q#%fbPTmGrWu+g6X)RY~J#@CDs`IVgE;Ww^%|$x7a9h@%|ReAp7Wd zTYGVBW1JJ2-Kj!Gx4H&%07Ub)Q|$b*6sC7XUQ?6H1&Cx9M|(W+{XBv$&*rDC)otGw zWLYL*6&CJQnFlsr3N1-VNk8HyDrp+=J{+gahHZ894-QIEdz=NV(Fc~*(WC`{S-)OJ z;hWGl4Ie~7xxH+!qM~Syuutz%y?q0c_yleCKSU5w0ekR0pB~1O+0FO*&i8wNsv}4B zd1#?!l1*LC+;t(u{A%Y5Qnlh1ifsVLVOZRj@{;n+OTEvzMv}c=(Ct5P86EF6FfXFb zEa{qr#?-x5T+8eN3vp&9C*!`14%WHm7)9|t4^wp+f|Z^r*(IbYH-6s$xml> zyVw)w=H`AgpheNyZ4#J~FWdSP5`aO%E1bR?wS=fwC>T4u>C3|f*I`XHi*LV>r30eX z8FnCHw&iKfd@g1re8CMV7O0jF3xirof>{Ok4i7usU1C@=r+0FMsbvL2`Tvj^P2CC_ zqd0dLV)1)>lriKbD>Gre(>GoYl(;Anc&2+FnYIL;B?B?XxJyG@G7A`MqP$SWK#P!Q zbezA{9Z+%G&Vc-v>ykHFDMAwEU1d>^3S+5J~bR@PPwknzv!r-d}jVY zU0hmR_kB;}XO-3NEWP9ThS}wEzsJjxQ#dOv-d}CcjV(OL5?vK>anfL2N&_O5GMI~x zSXHv3pt39VmjkA)gpn`haIw&D&d$5LU8k;#m^o4+c^{lm}iD$cLMdU1pQ4t zw5Aps71!(B4(hhFXjDoJf!f@ty8;HY{H{YJK?e(UiUK3L%S2B5}AwJ8Krc>qYDHjTe${+u1BmVWR{ zf@2$b@F7h4$A#eP8?kKyE;tpSqx$sBFRSTBms5y+^`Pq)vXRj-1r>vfBt=Fi&aE&> zRJ;#>1NCJ0{C=&!2Fw!<*HsR4Kyf&M;z%NP4rZM7d}{XeI+m`v-@I}o(k4(f2q!ANP?8NX0QaFk9xX>rB%)bC z*SlL9b1?IeiPVa8@v14(Zc-O+T4rvC8E+g2c>bKgdFyri=PcuO_;fT@ng0jUBWJ7! zG$j7QR!|cF|LkRk#_{fSW7GE)%i3d+40Ey=QIIWE(=r}@yns|E?)A-|R>@4xlRoO2 zE{0l=SiOLF#_5^0M77@$RV5eU{MyDvpn1dnR9O|MR#Rdodj5(OZnhy-6b3okYGR@~ ztR9@-fp0sDYGrC_T2xSQ2Pd0~Wd=q)B$AVpvmx%=sB$7#Wf69p=KKB~ClOK@^)lQE zNGswx+o7TX9oJIc+BT-UUmmMzY57!o@EpGIN95(YxL&hYJ>yp0xFjU2S;F>ujIqVuTO<1qy0dvFUzTp`vhh(3#oxmJ_m>6WXqTPU-u3e z;B-AX*{feWN}inT^wv4AMCPTnQC4xmLZ)oU;LonphLkup5@zN;K9%8jM%vn`GN#zi z1Db=V=VUH-G3niIW)2TUFvVX=#+<3_-8Ztkb?;}W&IgIcX$ak$TYWt36{zrIA!Wrc$m}-O?NT}@ zp^iPHa9)(eq(yh+a5~aVSD7fl@i=neX0D<*D|>l-bJBmTZ5J@a^Y2D^eTr^7c@YwU zk(pIPf`bhCh-%QBdrpRDrvWCJ${1@P#s^C5n4B)A_5L)M%%6hpQnTivK&o{dlhI>y zNWL<1zL~qsSs>%GzzIn`-l%Y_!NYhr&MAIlNe}np^HGO$cj-%ld?d5Ps;bfqG=wfO zt+Dw|F;@|zUGkjih^gHLxS#>s;{td-Q#Y2bH+CiLjf6VI1#cd)+c!Mu;<9FgqOU#> zd7QNYcGKq+KTJZ#_6pXuhmjg$bDFMRo>%k4K36dFTx94UlRp}`+pqCp4-;(=G-LxE z4;ZTl2^Y0t&KH5Z@rH{7J(WbcUa+TxW-9FYe_q1 z6^RJ?D~kG)9|)qpe_eqJ*oroSeAq_s!o<#nd6sB7^SG-G#2uS{nsZwhS|;~{V|EdP zU+X~jmpAGU8VJ0-Vqpw=IDmpO6PZ<2EL>>N8zCCx1#3k-oabP1_!Xm;xB4R28Yn1q zWFwVK6XZu~@omd)IIhKE-p{bQuwT?HG;I5OI^iX_C#8_&CFy4N2#} ze2MbLw}mDo+AnY2z*k9U>5NgN#M36Oo84vL)fkMq8^NXv8j2o(d{LO2oxNIR&5?P{ z`6p9HQG-T_`iu)uCO$}r>&F8? z`SMzvHXKDH->kgz6UGXP;0TGn`lvC;(P4D3FyHqu$sFbYS&=hD$oZR~|1oi+q@L1J;>i|(s0ecf$$zrDhwh;9 zwcQnSz)FiAUfyiPzBzfglM3kiIjM}0o{%o&g})W%e+1aX2+lL~pl6qk@X-(K`#WG7 zY>l|XUneIg_p34eGqld}(jrlF$!++7-L zKV5FW&nAf%Mlc7DZ?3#|hSC1ARr}&YOwn+P8Y?!TzYZYSB{ttnC@$so_BfyT@juel zHuD~m3l&I%(&@f?KGj#Miwft8R$$6s1ekW+2c$)lxzJBvB#?TSg-Wkfu!ZOImpyqA zxMbc@gFD=}m=jQo;@h~1Oh1bf{$O6+BB1vM$K){aEwJ^YSV4z$$vkb7MQj#=yzn<8 z!7d`rZ?o>nNcJQ&Of4XZI^i6&YL{C9}-MJe?_Dim3E(Z?5&c;G7@xCUXZVg|4 zq@C($I5V>pFi7|n4t#kLef5*{%DwFr)3kU&HZ~mpE3v!Q;&LF%4Fl4Xi<#1|mPg8-^1%$1zlkdXR>6rdL|eQ)yv zgU;Y8rri|j6*G%Uc3D7lCm3LZWIgq-d~D3ZtQNE50Jh~mZKh(8m6f@%f~ty&?8L(e8XZuXT(2B1IU-9TkVHG{%)nRjs@K!%E0XBSYwo6 zHT(0`sC8WZxL@3J1bMNSU1QG(3TQr8uDljOoHI(8Bwr3!jE<#IfgQQ%0^{&@UpFHL z774IL)1{z}YBmrOM(VsIy~-LI;`5M`Tg0}|pbZq=CrQeQ&nwTXC_g6_M@XWaY)R*K z>pLa#YNVhcY#qy$NsmfDY-p_jg?jMFP)rg`OvDbGsvlL{+)PgVsDL9I=pwi3A?iXe z*AE@f;3AElf@eAzx8AN2Q?@L1Xc~TtL40!T=VUU^@xd+`TT}*g4+FFnF@;DmRivZU zh!Jlgv}(Lx$Nh{3b)427@W<{2LPV{fTZ3I5*c}2*o@m3E3B#4sbK!gvP|U5j{joH9 zFSPjVg@QAS)(u^L?5FydNuiXM>HfWTeL*R8UDT;2S)owvpBHuKW=Fw4d60u}9QMCq ztP=MUl$dPV1q57M@qKj9n^KUak#pJEg5=STx9AhgS~qGW+UL;7bT@J>HGMjbzuFI} zSAws6b0;11(-~Gfr3FyT3wXDFT-?!M6PZPT>#{jWv31y*kb&Jk}XaUoNW_j0u9IN(5=hL!Bx%N{i!=8L(|NKGeUy^tp zFn|mF03;wj$j^EOm2+Ccb@;BmcySwsfwP7XHT3fHX^iZ4N_?|osS2+GLT-WAs0Xr@ zOb@#kGQo+ke}o5N`?@fgz^O~d<=~ty;qgQlK3axf~)Svq==+7Z~d$pUIIH-5@)Wi?wAegmo_H#{RRAXn~`dq*Ik=(EoZ8 zz@Qc#he@zOBPc=oN%4{i6MqxD!aS)w-Q`iEW|?!YslVDKo521Q4J{b|GD>hay9^B( z;?x|Q$1suwaB(pB1sP@=p71r891rkntDZpD6sL$^yaNm`P;-(HWD zT~R}4y-0Bu_3si!^Y8XxnxsK5z_Qaar6HDF1o@m8P{@9K==UP_GO8`oaL@wV$^?L~ z{WW|vrF-tOQI><|gbqLAz@p?lIm&z>&=rdTU!L;7DIUQEd)w#$pjdDYVF37?SXd`J zZjM7^x_Lz8ADdUV7ci1haS71Kfj_i@al9Rxq>IZrBr$!5r|@p^jlU-lAbZ#2g7cQ+ z;^h=}3_sI!@RB+AHX1@$gZ4<`2+}iwh&8U(#Wcc@=tM5P#C%Rwoh5tf#yiwN&ogyW ze%m}P@1x76q@-6pN6mu8Z*SPsfp&sIodlUIW!rnua|M#MDJlrxaZYQj_bgO(KKou< zI{44nlRhH**L&#leV_kKIpUYvd<$PYs{2YRXpS5l=?#9?DdxVeKvc?p`lS0p`7|`< zTpNS(&^(RSCwn>6|FD7qpkx{Vj#^hMCr60lLj|{LGH9qQF}hq1eRFsl$XVISwl+0G z2U-? z6*@gpr8*(Q*g<3xZ(g%GpDave_D;}tcmCD)#=K_X$N4wg1X=Um@F7d)=H|_F#rR`x z2+NA&!m99dImQMsuv6qw-cSdk_opHfxL506Wz;e7+X1iDXP$J#&)6Jky!Yq)D^}4z zO%y)R4?s&Ma?!*AOVtYvVr1vZcR3xJ-z^F!64&6$5w~eeO3o!p9L#VtxA{_nyPp(A z2eC|tUF#7bujBKs+ zrzeyA6tzf1%V|HlVKCGIn~&H;ZPq(Iw^sZw(Oget5S<%0l6h5*YaH7gSn!kBC$ILPI6L~FE2o^Qt zUx^h^&b*&Ym9bKbmYiesMy}88_|yk3{?Ur}%#bmDy+1r$O2-F#*#x}8BmYrzJ-0rx z%IWAf7JShRWU$Mb3ElmPv$zaTw@ zT95&o2loyS#2{C%{f^j=^Dl#d4@3f@k7f# zEPc5KcPJPP*)W=$oTKYE4Jt2QSUWb~-QM1&ee(vf2soc2(l%oxz_W#YfwA*N4Xd0q z9aiVhuiR;^NxCCkV39_$sEg-!1+nb7YNQT%EapzFWG5d7&|ECY(|6Yqpqx|DjgZoi z$>O=*#|_wku8KYq97rIw7zeAQ!lzHo26!?F8 z0sIrW;(}&da~Sd?fqIew6pV*eC^AhAMSJOs?)w+5IYYum&4*yg{7WmX?VwjVMW0HABi2-@0E4_SFr=ZN}T{Y1C5;7Z*?XibGa62Z3f;;@)f32^OKe z{GYf8*ZL!QMdU)FioZ7*-gLG4^yH0{$-kA-8cd(mSMy1`bJt;;oO?q<10l7dfsx$! zjO$b)MnMZ`pe^D!p2!MQ=`ptnv{T79KFD@brbtmOR1l}O3)-TLEE5{q4-fTqb=S}L z>~KNQ!FA_yK|mudL|8U)VtVK~PXfe_DFMUm>?s9J)d6y!6bkSO0KgiI^sv3aSZ@7G z8lYRh)$ZX8bop&e9U#Em?HiN5Fz|6Q{jpFO%GzQD3n9||aI23Hoz1v(d$*IEJM;nD ze*!oiY4U`M$JorVhTgCEsGW;2v%kwuX6Z@@(W17iLs8p8(>4KWGszvP!%Gao`!m)? zK*Bb5Nr#^Uy64zYA>V=>i2=PY+-AnKHokPvn?=$Xrz{N8Tdd%($;WOv&CSQA1CcH# z+2UWZ+j?}H^{$*uK7G1F4Cv)i6r4S}y?2Oy_8n0APt{pIFfgFF^C>a(`8CwnG)MuN z5#%<%ONMst^Dq5~fRK|8EBaqa+*Z}6jz~r6{1@qft3U>Wl`>W?hqKC_zZ}Rt@R>6zA` z=V9S0IjUB#xs3Lh7{dUZJ(dLOfuL&3s}AMGFkH2d&j*~tmk&j8_ZCGGMOR}LTnbf6 zFW7Xy3;<`DR8zj`zw3nI=>lE!*(piAmSAFLVvZyB0sBB85VWJN;iV4tlOvO!HN&p1 zTTHYkp&$fL?0=tgq~csC*6uVc8wd9}wF=t`!8Kxg9uM?k7g>xo`%k3K(Otj< zX%ML=s+;ENTz0^@1Qk(>Y_2|UWkO4Y@(;9=>_~`2bnLXE(n}hSjgMpP=y!g3F-3M^ zPms2;OL8{l0Oxm}%w}aNaszc}1?+DvnDO2C8}=#LUEp}`XIpA$uzrEz2w#v85e3Z5 zgC=>>ORb28lm46E+E2#<#~^^Pe!6Bg0xk*ru5+L zp{4Sutg<0^FC;oK#dYOKH*TCkNrfL3^=qQ`3Pbfg- zzti=IL0ix)gw(v>kqq^*A*;-lx=s31I4{*ZE=hH7)&0*Wa;(8jXUoLA@3GYjJ&?!I zlDMZ2elqnq$Ob#cpxgtI`iTZtr%Y5-3ZgCEb@a~#_QdsUqby7kEADEept$()a^{DyuxHbUWWi{9a_u4Q zU@FGgke1>T-|B)!&d|$x03zu=gg`K*(rXzFalE)2W8)f+kC_cr(^h8fJspg*ML=fg zS11hm-a`gG(Bljx879-po-0rkG40#p=Q_>BTPRQwp-N?2tLGo@4rcJudG1@X85ie^ zFVdFrm9GzmQvb*Ba0}M((RVOg4EtLBvUaFdqR`uzSl2wBaPVu^Z)GPbvw3ZPeOMo9 z`t0!nGlVb)n#``145yVz<1r#`JacBd4VqS}qJm$3&AG`W6GRKu$*3qdF(twsB~{&K z&!%RQ5H0Cb*h$Q|7~S$jr*q{c%|4G)*@;D`F1*2+?NOfyDlcReIOo@tzs-0rxPN|t zHlVVfxAo#`Rof6Mcqf_Z6VXO%4eydgOHH$Ea>mKC%WEsWl#~>WY~*FvomK}3%9MWy zPT5QB_T1VbNC8pFsEiGF;kj~fc7Y_P(4YnQo!}hM%z9}u;`zLQS7nIK)uJ`R4u_8V zlRds=jCHG%_y)8gQD)~($;8JH`RKzhgFEXrIx=!r82u^T z!t_;VFYofkA*c)JzH+j(g6wGT7$;DOKg4JnG{-nOzQzUluUF%(quB}q^b3C7Pbnbn48$e^|y8KIMm5h!?Mc7A){ z?KV#vqad(BJ1=K;6#bKS{_2hOqe7a?QvqQ&Cp2}bg{6h?_zU`frRhI|a=>xx#sEBZ zV4CFoy61xmTO?SsqjB_(zH@6#U>uL5xcM-LAUX@o@*g1ZYnpe|JK)r6Xr|#s1XE?d zg*7j|HZ_f&PdQv}oL{NW8KrvOP{9b-V}M_JqPHzRg5yG#PZZP(ZMES5M4ur-EK zfyoBvPd#zCt{Mv4xveSr@*G}nb`-XwKoFg#M_&E;pa z>`)Z>`Tj3E+Q%Lv*ve4S_(Ktp&j83m4NXByPoFGri6rx#{+a8@*7>jY7ICp*|AVxM zNbWg^mBta^ZH{#~VUVE*%6*n#2{Cx}fK%%APm_@Y0e>r$&(R4T=Ds;om;*tOfiFY;0^jr9cFa59S@O1<(BD2O3pF5+c8Y*(H?F=jC$w zT2p*)e;L3homH*J3WBoyT8-|cc*07HElp>teqE1_Qe61{;h=lNh*0@>epuPwBXSdd zaw5p1$bBk)$|J!_2nFqG>EfGMnOLOa%xopW{1hi9)y*7o9}q+solA!+$MDTz;-C7C z@uqw-w)R?_Shoe$%BS8QGF%@h!uOewaLimqR9||Aj45}oB~TeN@~O)v3Fza_cs^#M z_MzfJMUHAc&vTMhDv1tRUnBH`CShmv1Ss@M_*KK#D4CQzjQnX59cYJ$ro5{Nhh3~s zJlqKbA>KRjI(9mvY)oDnL0&^?oNEl~i0b?=0W)HB=(lpvoB!BAVL-)UeW!p75NX}B z!pGw_X6PaHsWzLs__nmuV~C92iXTk?H21Qo<&_K~&fwC1(okV^AluW;!MPE`bB*-C z61;@d3Mit;7t3kifL7}Cvb)>q5`H6U!48D}30&3PLKDp+%`rUl3Ic>D^6>t}@h%x2 z=7QgUbTq%&YC9$@8a$fyv&ZzM#uuoIYTYLB-c?w=xyPA0(70-%GrzTPe$( zO}m2XFD_)fcuKgtZH00Fu8cJX3A|>iSjwa7gx&IeD);F%0m+y6K`|1*D!&Yg2Ye?! zOUyFHnyQmHR2RueFygtDJZ5HI&*7yTkTBqiGfX6;g(tGiOIMLtxNsJj8ws%=V_5;e zK_A89$+!xDpzCYyXVF93D1A=5zlJqBJfJiF=8bBTf9UMqW%!AmZ)4317Us3&{X%l- ziGYL1iQ6R{(5Y!~V#TK*;+?gZ5>X)T^i;=ffy}cLCACHjgj&}VzGv0cK1Lu2@~GD3%*6`R@u*UX)FFU( z557k`((v20h`q6<%GI?l`-?nL&!4g?P>E7ca+!}6zSTRkz3Sp!!2M)1f#vUO2~Y zM0Wz9vueWBlZ|vdMji4k@_IAgm(f{h0r)`AMyeY91=#XqOyDffHG$uZ_HURwisES= zFiC^IpE(Dibu}~0#RKVrTI6DM8E6H@=MN=7Q-Y-CNG&1~^`G83-ueE}{P#C;D0nG; z=2bP3*<=QB3wIoOm?jG|cI0U?6gF~=xmQPTHswoD z?kqO_;mI&f3aHgQDqXc*mVu-|hIcs;H_a7(e=YUDv;uOJPa!uZFGLO~j9x8}g!kP| z(W;-+92e|qzxyDTy3MB$yu65L;ohic&e0M3>2pgfhJsRm3FRo}K*=$oSPDkbF1S(BJoPa9r(f z7KB-CQF0!3g6yx2&uC1}MX@XD5>I}C@9yxc;=52E`%l0Hed|IP$%3Bsc9M`_W*J3Rems@Wox z1@Xh4yBfXk$Bc{*&T^&=t#}nel@=O1lc@r)-m)w_BrWOOob2G$%OrSh<~|arK2A@E zqKv&lh6QTnS)~cw#6dHZBhN@Ggc0T9_5+{5dcVU9|Mi{k0Db!uqpvB$t`k^A{m-pC zhFwb&$oFpsC+`KOAET2z8HKt~uQ(r?`diMo+)}H#e_f+Ly3JJ~l5Jl@NYoG+%a=eo4HlZuVbD#F|qs5AG0X+0JybJDa+S1 zw_X=RFg$%b^N(98m#K;5<`w?HBar5SU%rHiSO0FRQLI(ewNRgtccvcyP*{ACvi{_%IY~qT;moa*iglIVY!+>J_Cab-IGYLgD-# z!*yqx0*PhZiv5rD82TZvkr?8rUH%xbCB*a47B|y@0nrG!!xxO{7x^eKAzvUBK!Wh! z4gB|@J{YQ_$`M^G2`DYxCIlTa(AH{;d87gLWCbaEzXW^V$96q3Ae*AOG}mz z?+?t(2!A}Xw%0sltDzMfw{Q0Iq-zIOl9%dmLcZZfBU^EdxVV}(GF4~p?@2m4O`c6R zrUb)?EiaROI~Q^PA?O_O7BxsPyvK&peu%@ptJzUkVuPAyVn6ohr}`upQOi-8XyVc#i})%{uCz%~wah z(8Qjrk=gow_v!E^?D%3c@u_~&2L^P+y!5FMpG1U`r5tFf`0s819%xAb+12>fY$o7e zO30Tl6WzFSuLB)~$%bsg>N&usY41+sv>NJdBl3!~N@h>+vIa}Dsl2dfl^a?=9hWGs z8d{t+Dxslqu*{Y+=!7#_br)I5OQ!v}9=hvn_9)j>P&fs_{NQ%9kngj}Iys>~2;E&z0yc$fy7y%Le2KuTF^d)j zH?Mfje@dzU+un`h(;?<#s$iIZUg85h&ok)a&hLf0rk)$aUoK5&xSXQgdKm(C!_!$s z{omUkWQKgfKt~Pe!p~pdulKxc5D4+n?&YG7VYl4RM9*~?Wmz!E`2l~d<3=UB6YbmB zNCcz|rG*GGhnb)7c6>C@JvN!zn^)Cs0MhX9Rr&YV1yOGzX(u8LbwE|ILxH}Bo)X1q zZyUmlyzui#-W;%sO=;^7G7}g_09C@0>Nqi!Y~p&rA6uYOhHmK1_?`{ii$qQdqN) z7^bpn^T_zvpAUQ4R&10o8g$cEU;+({Q=FyO)r;X}`I8MUXeVygN4td19HQD%Qc@0L z4WpA3TWwe`UP!hRPT~}o7M2uy;5a7!Z$d-tn+CkW4Y)*u^1IxVQW6tgUVuC8xvpq3 zi-{JLVmynndA3F1AT?<5tJ~giuHafQ!s(vF%M5W+ig1~zs=`R6ADt}7z-tfl#=oPq zWML%M&LN)8|5Fnz=*K0oLD>EP{)kHZw#sJ}x&spdm1A9P+FVuGW8TZ5o7T7I$9IUO>9zCT6j zuEvS3N1L%%g`g>Iz@0#qvGB$$y6!Tp%_Q}~9WiYDfI5s^<) zO9pBfpHNLMQnUzlMhnccdqjKKKK!L=a>dw@ZMG=NM0ik)FcZ?Gj$TQqpHxg7!GeW$ zl8VEN$vf~Cef7G!M2C(JC@A=^`thGDz&7{P?W1~Pr(tx}O7=^9lGH;uzg3AAoyA{v zg{A4viDg7Nm#XTO?1xHOP0s~xHl3xfdP<^=`Jd;}Hrw_yxSFHG@kIMxj^+AKrU&G) z5s)sAf+~mK>0CGVIVY4Z?ls z4WPE0sACk>r7?l*u0z~va0@X5`2F1%)*)OHi!?{gbD&yH@?&;MNy!7;q`6Ks%g4@O z{-cohFEZEJYcB~9qfca=6$wJRZNM59_un8TjZcr`1X5oLr;`ufJG@N1eQF{4-(No3 zlzhXz+Re}@X#iEod?t`YJ<-~DYH0FdlLEP0Xwv3n$I4YMCu!3eY;EtJ8_K)If1>bW zyzZODoZ|VSa(%WroB0JpPcZ4CpT(dzDucbF3_jC9Z>|s?kIrAkkfa3C3^m2qGS9^( z3`z$eDDcBK>A-iT%urmN!vFL@Px@k!6nLgZ(qR`Mi6D>Bn&I|LpluU7m2Y|eM-#Eo zY=BfU*(((WjDCXrd-*HW4r*_s{f~8~%A;i+A37u6QDb{Wv5ikm>~~`AnJE<%tF|#y zQBe_X4R5UJ_PD2@&Lm-zqUi^&+|_4*8G=^l=sT<_7i7l`zgKj*0yifl)s=*Q+vJx% z$P4lBhy)IMUPwdl|Nn?ZX+Ue$kZnFS#k!T?Lt>gC>WyA0o2o6VZvDGlUyAQ$Ln zjp3oYtLJYi4S#$+FlyD+J9Jd(Ync404)XSXlnQA@FX+a-S&wcU((2ll-)fA748 z$n^ANqx>`U_mhF41i>Ta(apVEoz2S`pARH~dr`x)tZnUixZ^HsRkirtH5~c6qg`*l zxL5nTm)XDK8yGBzJUwd0cRgU5_Y~f5QFg-_jcZFP&Acq^f7C{4=erNlk_acZcrHgp z#l%`i;ZIONc-2IbYAoiI!|CQ!RK6Fr`N3_~mL&UaQNXPltOu}FLxXim+rP&#Bb`HM zIAArhRLY`$GjC$4BzByYtyDW&9q`RnCAYf$wkMj5rov|XvOUO^NJtJ_-vjL6ZZS2@ zY_CL#u}uJSrZhVqC~ZHzAxxW7Qr}eqI?P{$g6>&U><^qj!5ikpnTZ@&|;AZ+%MAhl2;u7Rw%iiF?;Ip~V z;H1G&O0d8wm0KiO`ognO(bBR66E%ncUcl6QG9vzK7T0j4Ayq%l#`S$P7YzAx896wW z&#Y7Lx|vEs^J*x6Mz9$h;`cyAccN@$Bi1d5V%BCymxCdW$wAH`J<7t}HL(OSWNTUb z;F6-?g5{4pLZ{%WJyp0>Wiy?Ih)LUQEAxiIx#LmCnBtn9#bfbVjVZ$^*jsO-TfwCs zZS_+KA$qjjlD6>-sjXcn=Hz5Qq#475fJJ0>?WSffV&BSQx*1NZ{T`CJ%G&tm=uL+i z=EVc_4sWL!ihmDXp8lV;v41hX4-Y^!gY>3%nm7pV%m|VLL&FN%+t0G*H8c_Ava!eF zc2YG?x;Ig#)ZNL$5)5KrtPy{r!9?i9Z2d~2Zay(ttZ@k$pP2`a>+K&nLjV=88YH3X2;oO)TJT&1)VBQ$=`VMf9$n;NMQc+_qTO|#d(T=g zV2~Eo7x=;8e?|#3Ra(M5kTf$l}>ug&Ujy(%e)CA039h?-iaYSU10=oPFZ>ghI&xsSFivBxn1}R&QRk}f~In; zApleH-#_t>D{y20S>V>R){?}(wO}$wyIB!U=)4pvF+LjvBeUKucw4ZJL&)V|e`}z1KLZw6`Jeh0Xtk9hwo1tBX zqS}%LR=R(butX@%5aCeR*M4{Dj^S`PJnJ-_qQ`gqBG*jiFYEO}B%Q>6p6PlgY0T}T z<75Ble95o&9DrP(5Yh%6D!3uFU!3;9UN*DEgZT2M-RJ zVpr?s-n8k0XrFXEy*Qlw;jUk?Uz@DAAJP)y?fz$T=wCC5&x;iBG>W?|caVtq1x+(5bUDF=uhmzADgS#|vX%T58*#t5E3G%YQ@gHOzf*;Uk| z^J!$LRnj08OW9FwA9{-G>p0B;>}wJT4SSU=U<{6?q$)Iq!Q{xKgIAs-&c} zxF5Oq5u%~W#plP@^(JZ+p+NhjTh^o6PNy+11_{^pJQ#HR@b1Y~(ZmG968M^Gnb608bjcPtT0JQ(#xkuU(K zR>3Nu>I#;kzkbulz}lS{t^sSKwyCzyK2dDZP`az3E|5N3VfewKlr9OAC-B-(^;$*6*~=sM zdIgCMGrYMy6T7a_sd26*2FNs!SzlfzwVoN4=F);WV+)ARUG*?`&Y2L*>nugQn{4wM zZJx!sO=IN~=NOq>@i?j@=+nIZDb?>NdV2&^HvB!)e}7Fk0J-r>?pneN3k$DRUnmRI zz8X)gD{?l(kc z3cn^hGjr#*{CwampE0};7kPlXuN_%rwXt~L=7Lk`d>}zR(<80Px|2230re!RzpqO6 zMH))r1aEuJW`~KL(Cg8MlWS6AUF8R4nNTFgMEq!+4;b6>3w+ezuZ z@H8F(qc*+{=a6U*eo2kabAu2@U=rqp_28?9hYZW0b+R9e%uR%p;PSt5vkbWpAtqT* z81A{gyS9_4aX{hr!Y6Es!JwlU&1LqXL*N``O#+Lp>K^!7_)0fQ9@{2#(E1irq1Do% zp^zqh&&;=;wYy#mZiub)xD~wnnKwL)oox%1rb7dtq);%_u)n|d_U3pqi6d$%J;>*S ztQ(4F`SpHI__$umwJM4KEGh-p>zETkq2B+)*jI+d)n#2Kgy2Dfy9EdyLU2p)0D%N| zcXyZIZo%E1!rk4W(8Arda4TdgZ+Cyw-ScKKFH(bM`rF@3q$M#w9}fzFXrv zkrK7~j_+|6&gu{tgP3^ikp$gYI1>@o-NBd7KkYVo-HWIZyq=WKLN^$w^!aqzd1<8f z+}hg>L<*k!64}6~6E9hhRF4l*@^E}>;_FSYp91OAXgZ8rFb>>gmRc^;eUor!{~|R1 z&oue>8+eIKv7P~&&Ax3nO*~CeYA-KbB1#FxFR*SXU0c~hLqljcvn2fv5uY_RS6*ZQ z?>^qH{=~?ry3x@R8JJ5ta^{S3$6Sd<>jAOKz(54Gw}tL{`P&miFXowgDA`c5^;$n2 zXf0eQB8izh=HltpB*Op?z6RxU7UfvLDo)!HFAUWh#k=;keA-@E$RmbS20*t<0gQ${ zT-K*yn~_@8s>9=DLo*Sp~Y7$Pi*_lpwVp?F}GPwTMy&ZLL z$7}OwuzStyZn4{mF-=X@r~Lbe-?^*5y*g;3K1T*cLw&KlpuhXxLCTdk`3mTm&AHPE z^Ts;~aSG)@7Di7Uh#knbcwIW0Fre9WY_6Dc`V*}ZJQGlD4Xn&ulY`l#cX=!h{~)Xc zZjjF8D4&e;*jXP-hQE<4N!Po3zv;vE?by5;({Wju4wa~H-$^+-kWIrcrSfc+om%tx ztaz2w+F!wZxs4f#a-;E(fS9=AMHxw#L0daLT!-<5!3ZvXKt{~rFvXA$k2@l=#K59pk!7!ORp(Bm-hUsh)c zfa#daAHZ|2J2z>cp^6e`y`_3`612lIH^Wv+9k=tG~*N z_a)Ho_$~^HK9x0zCmV#dnBYsa zoFv6oRv1#o5INg6^T)t#?fAt`s4c|c5XSt9Jw;&5YFytIL0 zs}La=QU|wbsaR}~jDF6XbV9nYK5l9V9#%j47o8m<(Lpns$LM-jzVz~5lNl>Hg|f;M zU(xU(go|DfVp>xDs73F>NF=KpF>&rVQM0R&s>JjCb?+wU@O6UUe3W$Kk}Zwq`~WA$6^Nk6Dd%?8)@M7d5J}@PikN~ z;rO4ku%aE7cVGW2-<6#+&}IJiVYY4!rN6*ZtyW`Nb(~usQ$c>wy!N3DmOus>FY;1+u ztS71Iqact`Lz};2ke(F0Xa__0ZP*Hh1;sgVXoyZAd{z(IKm!mt)@&rRR^GQ4o|LM# zPQWEj>!D&#RQ}KZemoAA>HaKu(~o^oJ%gL|eann&fUl(G{mr2Uml(GiIS}HFv2qo0 zn*OB_RL%}Q_bl*Zef;GngO_1RwD=p){Ott|+k5ORvSzE>=s9pkKCdgQkjio8E>pat zG6Hjr7uCYgM9r%8tzNT2zGb$wxMEwEnPU>N&flT%5xAg4|e?H?Jumf67Y}O~Xzic|e+3p;8)x77Da_AB84AN9LJ3AJ2BkHv|R$ z{k}!^x$)bZbf}$aSeFvDnzx&HSS+YCz~zkru!F-mW1S8}8hX@i(0K$E>8 zO7EB_31A<|7#=QpN-ZN@ybk}#_l&XEj{KyVAI*ttPsFR-9-W)f=j?`Kyr2(e5uBU1 zF2|g7)Yoe#|1L|RzI0vFPI^CT*og5vB}|ps`-1UG)*`i(iYkw-wK8#6vY4Ru)9`ZC z*=A%}_vs>9`^(YdC7o}9H+`<0|8Ao3U%}*)H`B8szi{3JdLloXSACe9x7;Qsy<*UJ zT`_0L6{M^)bb9$bN#n8@*;Rl3(+K?o2^c60WX8dXP=%>H%eKGitXtPy=5)Q>dyOZD z(F~Wt{NT=c1ll+nXqmh3X_2*!0&SEOKAY$g4#RUmah#^SvUMrOJ?Ca&(rvA_fO|&E z&W~e&N~!8;&SAIA9XGGY_U(Na4l#((ebVK4z^pidbctv80Gj%~hkZ#!&C?a<9BFbi zb7g#0Trd({7X7ALBIHqU_~w-=sXrTFf5ySa_Rk^bC5#4>s9@?nMNi)PJ}g5sa}9V> zl|P|D%bu0M7!-K;CMr~$@u?bdpcq{J&Oq;c6!_~4d>h_Kyb0$s&%y4jcArs)#8YO zT}5=&5wdsdB_-=YGz&rT>jt~4P_`W>f{9Auq9)Y81K$FYt95aH4hIWk%W&e01lJo6 zb zIfr}S;jpZRf*LNhTn$mHJ6UQo7$JA*K6@P=85yjge)SVp z716#3&m`=^h5pF^J+1U+D!;Tef0kzjmKApsqpeg=vIg#$o%irLHbLo;O*O%}S0xbl zctzueF|X&{t?KLXw(1J&%hjx~5#RTX43*C`c_@`mc!}!po?7sm-PQ`8?F&fkUICE{ zX`B}}ZWPF;rUX2Wml{!lnxbk$yLngXDf4>$5w}-RN@H=3BdA7(~@v z7yir(axO??RUrjk@xkOF+dT{Mn5K`@z0dWWKybhj7I9_|*-iFwYvZtx-dr)t+B_gM z{a%k$o^VR1a<_LnAwA~=pzIx$9hR(_sCQZ40pGfF$>4FEf)0A`R(TGJlij!%bl&_1 zNA~a5V7JJ&2gsgGm6_s>W}*tq)D-HL0CVcIjcRULWoxSQsEAh zye&Vyvu41DCYpHy<9yNzw{G!6M`z{7G3C7%69LJl@$C- zZ?@2jXUX?h8jRCGbSno`zk!&%i5u6^aLkbM;`B7lpreLPz4AFtmrFJ_D*lNNKP2x` zWe+sB4ZQ|wu2Ye0s!<9gpK|SOo_zCrNInn#mF(X~^fMTT2X~wM89ySsO3SP^L)6ad zBco*@BI598fnU?D1s9vV6vzG@sr=`Ct4!uF|8!s!8^(&291l6QpwS25J4<2;kO(@d zC^e`*9)Jf2iR|_Ty2?3-Lnn%VW|60#!$6NiOD(_j!puwrQkF)u6`~iEUI>vBcCYoxJOE5*gIdjKnKQWF( zce$IfEf5D~Ye_8zhkN*RK#-BkaNlMrwC2mjO_aoaSVauHf`Z<%*3I8ZagqTF8cmIM zY?3G~-^WFawkv^@(aZ}W@;d`cduRbxv)$3WlNq&#zaM&zasP;LyF4!4(zwmmv_q9D z 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

      *XdU8l_Vyxjp^CT>)u^P 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 m-t?Ee&i`MZ{dw*G^jZO>HHh!*iA|6I literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/processor.png b/content/docs/smallrye-reactive-messaging/4/images/processor.png new file mode 100644 index 0000000000000000000000000000000000000000..faac01281b6e34a1366b894bdac15f9fc2e55b3b GIT binary patch literal 52042 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 XTD(%|*XJEs3_#%N>gTe~DWM4fC$7Kz literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/4/images/redhat_reversed.svg b/content/docs/smallrye-reactive-messaging/4/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-reactive-messaging/4/index.adoc b/content/docs/smallrye-reactive-messaging/4/index.adoc new file mode 100644 index 000000000..f98038e4e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/index.adoc @@ -0,0 +1,17 @@ += SmallRye Reactive Messaging +include::_attributes.adoc[] + +*SmallRye Reactive Messaging is a framework for building event-driven, data streaming, and event-sourcing applications.* + +It lets your application interact using various messaging technologies such as Apache Kafka, AMQP or MQTT. +The framework provides a flexible programming model bridging https://www.cdi-spec.org/[CDI] and event-driven. + +SmallRye Reactive Messaging is an implementation of the Eclipse MicroProfile Reactive Messaging specification {spec-version}. + +.Event-Driven Architectures +[.has-dark] +image::images/overview.png[Event-Driven Architectures] + +SmallRye Reactive Messaging is used in http://quarkus.io[Quarkus], and https://openliberty.io/[Open Liberty]. + +Start with the xref:getting-started.adoc[Getting Started] guide to know how it can be used and introduce various features. diff --git a/content/docs/smallrye-reactive-messaging/4/jms/advanced-jms.adoc b/content/docs/smallrye-reactive-messaging/4/jms/advanced-jms.adoc new file mode 100644 index 000000000..7a33879c2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/jms/advanced-jms.adoc @@ -0,0 +1,37 @@ += Advanced configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Underlying thread pool + +Lots of JMS operations are blocking and so not cannot be done on the +_caller_ thread. For this reason, these blocking operations are executed +on a worker thread. + +You can configure the thread pool providing these worker threads using +the following MicroProfile Config properties: + +* `smallrye.jms.threads.max-pool-size` - the max number of threads +(Defaults to 10) +* `smallrye.jms.threads.ttl` - the ttl of the created threads +(Defaults to 60 seconds) + +== Selecting the ConnectionFactory + +The JMS Connector requires a `jakarta.jms.ConnectionFactory` to be exposed +as a CDI bean. The connector looks for a `jakarta.jms.ConnectionFactory` +and delegate the interaction with the JMS server to this factory. + +In case you have several connection factories, you can use the +`@Identifier` qualifier on your factory to specify the name. Then, in +the channel configuration, configure the name as follows: + +[source,properties] +---- +# Configure the connector globally +mp.messaging.connector.smallrye-jms.connection-factory-name=my-factory-name +# Configure a specific incoming channel +mp.messaging.incoming.my-channel.connection-factory-name=my-factory-name +# Configure a specific outgoing channel +mp.messaging.outgoing.my-channel.connection-factory-name=my-factory-name +---- diff --git a/content/docs/smallrye-reactive-messaging/4/jms/jms.adoc b/content/docs/smallrye-reactive-messaging/4/jms/jms.adoc new file mode 100644 index 000000000..b94527d64 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/jms/jms.adoc @@ -0,0 +1,74 @@ += The JMS connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS connector adds support for https://en.wikipedia.org/wiki/Jakarta_Messaging[Jakarta +Messaging] to Reactive +Messaging. It is designed to integrate with _JakartaEE_ applications +that are sending or receiving Jakarta Messaging Messages. + +Jakarta Messaging is a Java Message Oriented Middleware API for sending +messages between two or more clients. It is a programming model to +handle the producer-consumer messaging problem. It is a messaging +standard that allows application components based on Jakarta EE to +create, send, receive, and read messages. It allows the communication +between different components of a distributed application to be loosely +coupled, reliable, and asynchronous. + +Using the JMS connector + +To you the JMS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-jms + {project-version} + +---- + +The connector name is: `smallrye-jms`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-jms + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-jms +---- + +The JMS Connector requires a `jakarta.jms.ConnectionFactory` to be exposed +(as CDI bean). The connector looks for a `jakarta.jms.ConnectionFactory` +and delegate the interaction with the JMS server to this factory. In +other words, it creates the JMS connection and context using this +factory. + +So, in order to use this connector you would need to expose a +`jakarta.jms.ConnectionFactory`: + +[source,java] +---- +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.jms.ConnectionFactory; + +import org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory; + +@ApplicationScoped +public class ConnectionFactoryBean { + + @Produces + ConnectionFactory factory() { + return new ActiveMQJMSConnectionFactory( + "tcp://localhost:61616", + null, null); + } + +} +---- + +The factory class may depend on your JMS connector/server. diff --git a/content/docs/smallrye-reactive-messaging/4/jms/receiving-jms-messages.adoc b/content/docs/smallrye-reactive-messaging/4/jms/receiving-jms-messages.adoc new file mode 100644 index 000000000..08f9af3f5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/jms/receiving-jms-messages.adoc @@ -0,0 +1,115 @@ += Receiving messages from JMS +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS Connector retrieves JMS Message and maps each of them into +Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a `jakarta.jms.ConnectionFactory` bean exposed and +connected to your JMS server. Don’t forget that it’s required to use the +JMS connector. + +Configure your application to receive JMS messages on the `prices` +channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-jms +---- + +[NOTE] +==== + +You don’t need to set the destination. By default, it uses the channel +name (`prices`). You can configure the `destination` attribute to +override it. + +==== + +[NOTE] +==== + +By default the connector uses a `queue`. You can configure it to use a +`topic` by setting `destination-type=topic`. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The content of the incoming JMS message is mapped to a Java object. + +By default it extracts the JMS Message _body_ as a `java.lang.Object`. +This can be changed by setting, in the incoming JMS Message: + +[arabic] +. The `++_++classname` property +. the `JMSType` + +The value must be a fully qualified class name. The connector then load +the associated class. + +[NOTE] +==== + +The connector loads the associated `Class` using the `TCCL` and if not +found, the classloader used to load the connector. + +==== + +If the target type is a primitive type ort `String`, the resulting +message contains the mapped payload. + +If the target type is a class, the object is built using included JSON +deserializer (JSON-B and Jackson provided OOB from the `JMSType`. +If not, the default behavior is used (Java deserialization). + +== Inbound Metadata + +Messages coming from JMS contains an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-jms/{javadoc-version}/io/smallrye/reactive/messaging/jms/IncomingJmsMessageMetadata.html[`io.smallrye.reactive.messaging.jms.IncomingJmsMessageMetadata`] in the metadata. + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When the Reactive Messaging `Message` gets acknowledged, the associated +JMS Message is acknowledged. As JMS acknowledgement is blocking, this +acknowledgement is delegated to a worker thread. + +== Failure Handling + +If a message produced from a JMS message is _nacked_, a failure strategy is applied. The JMS connector supports 3 strategies: + +* `fail` - (default) fail the application, no more messages will be processed. The failing message is not acknowledged and may be redelivered by the JMS broker. The application is marked as unhealthy (impacting liveness checks). +* `ignore` - the failure is logged, but the processing continues. The failing message is acknowledged and will not be redelivered. +* `dead-letter-queue` - the failing message is acknowledged and sent to a JMS _dead letter queue_ destination. The processing continues with the next message. ++ +The dead letter queue destination can be configured using the `dead-letter-queue.destination` attribute. If not specified, it defaults to `dead-letter-queue-$channel`. +Messages sent to the dead letter queue preserve the original message body and properties. In addition, the following properties are added: +** `dead++_++letter++_++exception++_++class++_++name` - the fully qualified class name of the exception +** `dead++_++letter++_++reason` - the exception message +** `dead++_++letter++_++cause++_++class++_++name` - the fully qualified class name of the root cause (if available) +** `dead++_++letter++_++cause` - the root cause exception message (if available) + +== Configuration Reference + +include::{generated-dir}/smallrye-jms-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/4/jms/sending-jms-messages.adoc b/content/docs/smallrye-reactive-messaging/4/jms/sending-jms-messages.adoc new file mode 100644 index 000000000..0e107b798 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/jms/sending-jms-messages.adoc @@ -0,0 +1,106 @@ += Sending messages to JMS +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS Connector can send Reactive Messaging `Messages` as JMS Message. + +== Example + +Let’s imagine you have a `jakarta.jms.ConnectionFactory` bean exposed and +connected to your JMS server. Don’t forget that it’s required to use the +JMS connector. + +Configure your application to write the messages from the `prices` +channel into a JMS Message as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-jms +---- + +[NOTE] +==== + +You don’t need to set the destination. By default, it uses the channel +name (`prices`). You can configure the `destination` attribute to +override it. + +==== + +[NOTE] +==== + +By default the connector uses a `queue`. You can configure it to use a +`topic` by setting `destination-type=topic`. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The connector serializes the incoming message payload into the body of +the outgoing JMS Message. + +If the payload is a `String` or a primitive type, the payload is encoded +as `String` and the `JMSType` is set to the target class. The +`++_++classname` property is also set. The JMS Message is a `TextMessage`. + +If the payload is a `byte++[]++`, it’s passed as `byte++[]++` in a JMS +`BytesMessage`. + +Otherwise, the payload is encoded using included JSON serializer (JSON-B and Jackson provided OOB. +The `JMSType` is set to the target class. +The `++_++classname` property is also set. +The JMS Message is a `TextMessage`. + +For example, the following code serialize the produced `Person` using +JSON-B. + +[source,java] +---- +@Incoming("...") +@Outgoing("my-channel") +public Person sendToJms(...) { + // ... + return new Person("bob", 42); +} +---- + +It requires that the `Person` class can be serialized to JSON. The +classname is passed in the `JMSType` property and `++_++classname` property. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-jms/{javadoc-version}/io/smallrye/reactive/messaging/jms/OutgoingJmsMessageMetadata.html[`OutgoingJmsMessageMetadata`] +to influence how the message is going to be written to JMS. + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsOutboundMetadataExample.java[tags=code,indent=0] +---- + +The metadata allow adding properties but also override the destination. + +== Acknowledgement + +Once the JMS message is sent to the JMS server, the message is +acknowledged. Sending a JMS message is a blocking operation. So, sending +is done on a worker thread. + +== Configuration Reference + +include::{generated-dir}/smallrye-jms-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/avro-configuration.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/avro-configuration.adoc new file mode 100644 index 000000000..a714f9cb9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/avro-configuration.adoc @@ -0,0 +1,152 @@ += Using Apache Avro serializer/deserializer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you are using https://avro.apache.org/[Apache Avro] +serializer/deserializer, please note the following configuration +properties. + +== For https://docs.confluent.io/current/schema-registry/serdes-develop/serdes-avro.html[Confluent] Schema Registry + +Confluent Avro library is `io.confluent:kafka-avro-serializer`. Note +that this library is not available in Maven Central, you need to use the +https://docs.confluent.io/clients-kafka-java/current/overview.html[Confluent Maven +repository]. + +=== Consumer + +[width="100%",cols="25%,75%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.confluent.kafka.serializers.KafkaAvroDeserializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|specific.avro.reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer +mp.messaging.incoming.[channel].schema.registry.url=http://{your_host}:{your_port}/ +mp.messaging.incoming.[channel].specific.avro.reader=true +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.confluent.kafka.serializers.KafkaAvroSerializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.confluent.kafka.serializers.KafkaAvroSerializer +mp.messaging.outgoing.[channel].schema.registry.url=http://{your_host}:{your_port}/ +.... + +== For https://www.apicur.io/registry/[Apicurio] Registry 1.x + +Apicurio Registry 1.x Avro library is +`io.apicurio:apicurio-registry-utils-serde`. + +The configuration properties listed here are meant to be used with the +Apicurio Registry 1.x client library and Apicurio Registry 1.x server. + +=== Consumer + +[width="100%",cols="38%,62%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.apicurio.registry.utils.serde.AvroKafkaDeserializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/api +|apicurio.registry.avro-datum-provider |io.apicurio.registry.utils.serde.avro.DefaultAvroDatumProvider +|apicurio.registry.use-specific-avro-reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.apicurio.registry.utils.serde.AvroKafkaDeserializer +mp.messaging.incoming.[channel].apicurio.registry.url=http://{your_host}:{your_port}/api +mp.messaging.incoming.[channel].apicurio.registry.avro-datum-provider=io.apicurio.registry.utils.serde.avro.DefaultAvroDatumProvider +mp.messaging.incoming.[channel].apicurio.registry.use-specific-avro-reader=true +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.apicurio.registry.utils.serde.AvroKafkaSerializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/api +|=== + +To automatically register schemas with the registry, add: + +[width="100%",cols="31%,69%",options="header",] +|=== +|Property |Value +|apicurio.registry.global-id |io.apicurio.registry.utils.serde.strategy.GetOrCreateIdStrategy +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.apicurio.registry.utils.serde.AvroKafkaSerializer +mp.messaging.outgoing.[channel].apicurio.registry.url=http://{your_host}:{your_port}/api +mp.messaging.outgoing.[channel].apicurio.registry.global-id=io.apicurio.registry.utils.serde.strategy.GetOrCreateIdStrategy +.... + +== For https://www.apicur.io/registry/[Apicurio] Registry 2.x + +Apicurio Registry 2.x Avro library is +`io.apicurio:apicurio-registry-serdes-avro-serde`. + +The configuration properties listed here are meant to be used with the +Apicurio Registry 2.x client library and Apicurio Registry 2.x server. + +=== Consumer + +[width="100%",cols="31%,69%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.apicurio.registry.serde.avro.AvroKafkaDeserializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/apis/registry/v2 +|apicurio.registry.use-specific-avro-reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.apicurio.registry.serde.avro.AvroKafkaDeserializer +mp.messaging.incoming.[channel].apicurio.registry.url=http://{your_host}:{your_port}/apis/registry/v2 +mp.messaging.incoming.[channel].apicurio.registry.use-specific-avro-reader=true +.... + +=== Producer + +[width="100%",cols="19%,81%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.apicurio.registry.serde.avro.AvroKafkaSerializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/apis/registry/v2 +|=== + +To automatically register schemas with the registry, add: + +[cols=",",options="header",] +|=== +|Property |Value +|apicurio.registry.auto-register |true +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.apicurio.registry.serde.avro.AvroKafkaSerializer +mp.messaging.outgoing.[channel].apicurio.registry.url=http://{your_host}:{your_port}/apis/registry/v2 +mp.messaging.outgoing.[channel].apicurio.registry.auto-register=true +.... diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/client-service.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/client-service.adoc new file mode 100644 index 000000000..2487db3de --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/client-service.adoc @@ -0,0 +1,39 @@ += KafkaClientService +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For advanced use cases, SmallRye Reactive Messaging provides a bean of +type `KafkaClientService` that you can inject: + +[source,java] +---- +@Inject +KafkaClientService kafka; +---- + +From there, you can obtain an +`io.smallrye.reactive.messaging.kafka.KafkaProducer` and an +`io.smallrye.reactive.messaging.kafka.KafkaConsumer`. + +`KafkaProducer` and `KafkaConsumer` expose a non-blocking API on top of +the Kafka client API. They also mediate access to the threads that +SmallRye Reactive Messaging uses to run all Kafka operations: the +_polling thread_, used for consuming records from Kafka topics, and the +_sending thread_, used for producing records to Kafka topics. (Just to +be clear: each _channel_ has its own polling thread and sending thread.) + +The reason why SmallRye Reactive Messaging uses a special thread to run +the poll loop should be obvious: the `Consumer` API is blocking. The +`Producer` API, on the other hand, is documented to be non-blocking. +However, in present versions, Kafka doesn’t guarantee that in all cases; +see https://issues.apache.org/jira/browse/KAFKA-3539[KAFKA-3539] for +more details. That is why SmallRye Reactive Messaging uses a dedicated +thread to run the send operations as well. + +Sometimes, SmallRye Reactive Messaging provides direct access to the +Kafka `Producer` or `Consumer`. For example, a +xref:kafka/consumer-rebalance-listener.adoc[`KafkaConsumerRebalanceListener`] +methods are always invoked on the polling thread, so they give you +direct access to `Consumer`. In such case, you should use the +`Producer`/`Consumer` API directly, instead of the +`KafkaProducer`/`KafkaConsumer` API. diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/consumer-rebalance-listener.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/consumer-rebalance-listener.adoc new file mode 100644 index 000000000..fbbdd605f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/consumer-rebalance-listener.adoc @@ -0,0 +1,67 @@ += Consumer Rebalance Listener +:version-root: ../ +include::{version-root}_attributes.adoc[] + +To handle offset commit and assigned partitions yourself, you can +provide a consumer rebalance listener. To achieve this, implement the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface, make the implementing class a bean, and add the `@Identifier` +qualifier. A usual use case is to store offset in a separate data store +to implement exactly-once semantic, or starting the processing at a +specific offset. + +The listener is invoked every time the consumer topic/partition +assignment changes. For example, when the application starts, it invokes +the `partitionsAssigned` callback with the initial set of +topics/partitions associated with the consumer. If, later, this set +changes, it calls the `partitionsRevoked` and `partitionsAssigned` +callbacks again, so you can implement custom logic. + +Note that the rebalance listener methods are called from the Kafka +_polling_ thread and must block the caller thread until completion. +That’s because the rebalance protocol has synchronization barriers, and +using asynchronous code in a rebalance listener may be executed after +the synchronization barrier. + +When topics/partitions are assigned or revoked from a consumer, it +pauses the message delivery and restarts once the rebalance completes. + +If the rebalance listener handles offset commit on behalf of the user +(using the `ignore` commit strategy), the rebalance listener *must* +commit the offset synchronously in the `partitionsRevoked` callback. We +also recommend applying the same logic when the application stops. + +Unlike the `ConsumerRebalanceListener` from Apache Kafka, the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +methods pass the Kafka `Consumer` and the set of topics/partitions. + +== Example + +In this example we set-up a consumer that always starts on messages from +at most 10 minutes ago (or offset 0). First we need to provide a bean +that implements the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface and is annotated with `@Identifier`. We then must configure +our inbound connector to use this named bean. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumer.java[indent=0] +---- + +To configure the inbound connector to use the provided listener we +either set the consumer rebalance listener’s name: + +* `mp.messaging.incoming.rebalanced-example.consumer-rebalance-listener.name=rebalanced-example.rebalancer` + +Or have the listener’s name be the same as the group id: + +* `mp.messaging.incoming.rebalanced-example.group.id=rebalanced-example.rebalancer` + +Setting the consumer rebalance listener’s name takes precedence over +using the group id. diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/default-configuration.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/default-configuration.adoc new file mode 100644 index 000000000..a8da3024e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/default-configuration.adoc @@ -0,0 +1,80 @@ += Retrieving Kafka default configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If your application/runtime exposes as a CDI _bean_ of type +`Map++<++String, Object` with the identifier `default-kafka-broker`, this +configuration is used to establish the connection with the Kafka broker. + +For example, you can imagine exposing this map as follows: + +[source,java] +---- +@Produces +@ApplicationScoped +@Identifier("default-kafka-broker") +public Map createKafkaRuntimeConfig() { + Map properties = new HashMap<>(); + + StreamSupport + .stream(config.getPropertyNames().spliterator(), false) + .map(String::toLowerCase) + .filter(name -> name.startsWith("kafka")) + .distinct() + .sorted() + .forEach(name -> { + final String key = name.substring("kafka".length() + 1).toLowerCase().replaceAll("[^a-z0-9.]", "."); + final String value = config.getOptionalValue(name, String.class).orElse(""); + properties.put(key, value); + }); + + return properties; +} +---- + +This previous example would extract all the configuration keys from +MicroProfile Config starting with `kafka`. + +[NOTE] +.Quarkus +==== + +Starting with Quarkus 1.5, a map corresponding to the previous example +is automatically provided. + +==== + +In addition to this default configuration, you can configure the name of +the `Map` producer using the `kafka-configuration` attribute: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-kafka +mp.messaging.incoming.my-channel.kafka-configuration=my-configuration +---- + +In this case, the connector looks for the `Map` associated with the +`my-configuration` name. If `kafka-configuration` is not set, an +optional lookup for a `Map` exposed with the channel name (`my-channel` +in the previous example) is done. + +[IMPORTANT] +==== + +If `kafka-configuration` is set and no `Map` can be found, the +deployment fails. + +==== + +Attribute values are resolved as follows: + +[arabic] +. if the attribute is set directly on the channel configuration +(`mp.messaging.incoming.my-channel.attribute=value`), this value is +used +. if the attribute is not set on the channel, the connector looks for +a `Map` with the channel name or the configured +`kafka-configuration` (if set) and the value is retrieved from that +`Map` +. If the resolved `Map` does not contain the value the default `Map` +is used (exposed with the `default-kafka-broker` name) diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/health.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/health.adoc new file mode 100644 index 000000000..2b233b117 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/health.adoc @@ -0,0 +1,107 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka connector reports the startup, readiness and liveness of each channel managed by the connector. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +== Startup & Readiness + +=== Metrics-based strategy + +By default, both inbound and outbound channels use underlying Kafka client metrics to check if at least one active connection exists with a broker. +This strategy is lightweight and does not require additional remote interactions with the broker. + +=== Client-based strategy + +You can also enable another strategy by setting the `health-topic-verification-enabled` attribute to `true`. +With this second strategy, the health checks use a Kafka Admin Client to access the broker and retrieve the list of existing topics. +Retrieving this list can be a lengthy and expensive operation. +You can configure a timeout using the `health-topic-verification-timeout` attribute. +The default timeout is set to 2 seconds. +Note that if the timeout is reached, the health check fails. + +[WARNING] +.Deprecated +==== + +`health-readiness-topic-verification` and `health-readiness-timeout` attributes are deprecated and replaced by `health-topic-verification-enabled` and `health-topic-verification-timeout`. + +==== + +For *startup* checks both _inbound_ and _outbound_ side verify that the Kafka topic is created and its partitions are available in the broker. +If multiple topics are consumed using the `topics` attribute, the readiness check verifies that all the consumed topics are available. +If you use a pattern (using the `pattern` attribute), the readiness check verifies that at least one existing topic matches the pattern. + +For *readiness* checks inbound channels verify that the underlying consumer is assigned at least a partition to consume. +On the outbound side (writing records to Kafka) verify that the broker is still accessible. + +[NOTE] +==== + +If `health-topic-verification-enabled` is enabled, both for startup and readiness checks use this strategy. They can be disabled explicitly using `health-topic-verification-startup-disabled` and `health-topic-verification-readiness-disabled` flags. + +==== + +==== Admin Client Pooling + +By default, the client-based strategy creates a dedicated Kafka Admin Client per channel, using client IDs that include the channel name (e.g. `kafka-admin-incoming-prices`, `kafka-admin-outgoing-orders`). +This makes it easy to identify each client in monitoring, logs, and ACLs. + +If your application has many channels sharing the same Kafka broker configuration, you can opt in to admin client pooling to reduce the number of connections: + +[source,properties] +---- +smallrye.messaging.kafka.admin-client.pooling.enabled=true +---- + +When pooling is enabled, channels with identical broker configurations share a single Admin Client instance, using counter-based client IDs (`smallrye-kafka-admin-1`, `smallrye-kafka-admin-2`, ...). + +To summarize for startup and readiness health checks: + +*Startup* + +[width="100%",cols="12%,50%,38%",options="header",] +|=== +| |Inbound |Outbound +|Metrics-based |`connection-count` metric ++>++ 0 or + + no subscribers to the stream |`connection-count` metric ++>++ 0 +|Client-based |Subscribed topic(s) exist in the broker and are available |Produced topic exist in the broker and is available +|=== + +*Readiness* + +[width="100%",cols="11%,56%,33%",options="header",] +|=== +| |Inbound |Outbound +|Metrics-based |`connection-count` metric ++>++ 0 or + + no subscribers to the stream |`connection-count` metric ++>++ 0 +|Client-based |Consumer has at least one partition assignment + + no subscribers to the stream |Cluster is acessible using the Kafka admin API +|=== + +== Liveness + +On the inbound side (receiving records from Kafka), the liveness check +verifies that: + +* no failures have been caught +* the client is connected to the broker + +On the outbound side (writing records to Kafka), the liveness check +verifies that: + +* no failures have been caught + +Note that a message processing failures _nacks_ the message which is +then handled by the failure-strategy. It the responsibility of the +failure-strategy to report the failure and influence the outcome of the +liveness checks. The `fail` failure strategy reports the failure and so +the liveness check will report the failure. diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/kafka.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/kafka.adoc new file mode 100644 index 000000000..dbe86b6d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/kafka.adoc @@ -0,0 +1,47 @@ += Apache Kafka Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka connector adds support for Kafka to Reactive Messaging. With +it you can receive Kafka Records as well as write `message` into Kafka. + +https://kafka.apache.org/[Apache Kafka] is a popular distributed +streaming platform. It lets you: + +* Publish and subscribe to streams of records, similar to a message +queue or enterprise messaging system. +* Store streams of records in a fault-tolerant durable way. +* Process streams of records as they occur. + +The Kafka cluster stores streams of _records_ in categories called +_topics_. Each record consists of a _key_, a _value_, and a _timestamp_. + +For more details about Kafka, check the +https://kafka.apache.org/intro[documentation]. + +== Using the Kafka Connector + +To use the Kafka Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-kafka + {project-version} + +---- + +The connector name is: `smallrye-kafka`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-kafka + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-kafka +---- diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/kerberos.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/kerberos.adoc new file mode 100644 index 000000000..873617497 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/kerberos.adoc @@ -0,0 +1,22 @@ += Kerberos authentication +:version-root: ../ +include::{version-root}_attributes.adoc[] + +When using https://en.wikipedia.org/wiki/Kerberos_(protocol)[Kerberos] +authentication, you need to configure the connector with: + +* the security protocol set to `SASL++_++PLAINTEXT` +* the SASL mechanism set to `GSSAPI` +* the Jaas config configured with `Krb5LoginModule` +* the Kerberos service name + +The following snippet provides an example: + +[source,properties] +---- +kafka.bootstrap.servers=ip-192-168-0-207.us-east-2.compute.internal:9094 +kafka.sasl.mechanism=GSSAPI +kafka.security.protocol=SASL_PLAINTEXT +kafka.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true refreshKrb5Config=true useKeyTab=true storeKey=true keyTab="file:/opt/kafka/krb5/kafka-producer.keytab" principal="kafka-producer/ip-192-168-0-207.us-east-2.compute.internal@INTERNAL"; +kafka.sasl.kerberos.service.name=kafka +---- diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/protobuf-configuration.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/protobuf-configuration.adoc new file mode 100644 index 000000000..36e025d1e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/protobuf-configuration.adoc @@ -0,0 +1,51 @@ += Using Google Protobuf serializer/deserializer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you are using https://developers.google.com/protocol-buffers/[Protocol +Buffers] +serializer/deserializer, please note the following configuration +properties. + +== For https://docs.confluent.io/platform/current/schema-registry/serdes-develop/serdes-protobuf.html#serdes-and-formatter-protobuf[Confluent] Schema Registry + +Confluent protobuf library is `io.confluent:kafka-protobuf-serializer`. +Note that this library is not available in Maven Central, you need to +use the https://docs.confluent.io/clients-kafka-java/current/overview.html[Confluent Maven +repository]. + +=== Consumer + +[width="100%",cols="49%,51%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.confluent.kafka.serializers.protobuf.KafkaProtobufDeserializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|mp.messaging.incoming.++[++channel++]++.specific.protobuf.value.type |your.package.DomainObjectKey$Key +|mp.messaging.incoming.++[++channel++]++.specific.protobuf.key.type |your.package.DomainObjectValue$Value +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.confluent.kafka.serializers.protobuf.KafkaProtobufDeserializer +mp.messaging.incoming.[channel].schema.registry.url=http://{your_host}:{your_port}/ +mp.messaging.incoming.[channel].specific.protobuf.value.type=your.package.DomainObjectKey$Key +mp.messaging.incoming.[channel].specific.protobuf.key.type=your.package.DomainObjectValue$Value +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer +mp.messaging.outgoing.[channel].schema.registry.url=http://{your_host}:{your_port}/ +.... diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/receiving-kafka-records.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/receiving-kafka-records.adoc new file mode 100644 index 000000000..7b6e44f00 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/receiving-kafka-records.adoc @@ -0,0 +1,1058 @@ += Receiving Kafka Records +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka Connector retrieves Kafka Records from Kafka Brokers and maps +each of them to Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a Kafka broker running, and accessible using the +`kafka:9092` address (by default it would use `localhost:9092`). +Configure your application to receive Kafka records from a Kafka _topic_ +on the `prices` channel as follows: + +[source,properties] +---- +kafka.bootstrap.servers=kafka:9092 # <1> + +mp.messaging.incoming.prices.connector=smallrye-kafka # <2> +mp.messaging.incoming.prices.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer # <3> +mp.messaging.incoming.prices.broadcast=true # <4> +---- + +[arabic] +. Configure the broker location. You can configure it globally or per +channel +. Configure the connector to manage the `prices` channel +. Sets the (Kafka) deserializer to read the record’s value +. Make sure that we can receive from more than one consumer (see +`KafkaPriceConsumer` and `KafkaPriceMessageConsumer` below) + +[NOTE] +==== + +You don’t need to set the Kafka topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The deserialization is handled by the underlying Kafka Client. You need +to configure the: + +* `mp.messaging.incoming.++[++channel-name++]++.value.deserializer` to +configure the value deserializer (mandatory) +* `mp.messaging.incoming.++[++channel-name++]++.key.deserializer` to configure +the key deserializer (optional, default to `String`) + +If you want to use a custom deserializer, add it to your `CLASSPATH` and +configure the associate attribute. + +In addition, the Kafka Connector also provides a set of _message +converters_. So you can receive _payloads_ representing records from +Kafka using: + +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/Record.html[`Record`] - a pair key/value +* https://kafka.apache.org/26/javadoc/index.html?org/apache/kafka/clients/consumer/ConsumerRecord.html[ConsumerRecord++<++K,V++>++] - +a structure representing the record with all its metadata + +[source,java] +---- +include::{examples-dir}/kafka/inbound/Converters.java[tags=code,indent=0] +---- + +== Inbound Metadata + +Messages coming from Kafka contains an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/IncomingKafkaRecordMetadata.html[`IncomingKafkaRecordMetadata`] +in the metadata. It provides the key, topic, partitions, +headers and so on: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a message produced from a Kafka record is acknowledged, the +connector invokes a _commit strategy_. These strategies decide when the +consumer offset for a specific topic/partition is committed. Committing +an offset indicates that all previous records have been processed. It is +also the position where the application would restart the processing +after a crash recovery or a restart. + +Committing every offset has performance penalties as Kafka offset +management can be slow. However, not committing the offset often enough +may lead to message duplication if the application crashes between two +commits. + +The Kafka connector supports three strategies: + +* `throttled` keeps track of received messages and commit to the next +offset after the latest _acked_ message in sequence. This strategy +guarantees _at-least-once delivery_ even if the channel performs +asynchronous processing. The connector tracks the received records +and periodically (period specified by `auto.commit.interval.ms` +(default: 5000)) commits the highest consecutive offset. The +connector will be marked as unhealthy if a message associated with a +record is not acknowledged in +`throttled.unprocessed-record-max-age.ms` (default: 60000). Indeed, +this strategy cannot commit the offset as soon as a single record +processing fails (see failure-strategy to configure what happens on +failing processing). If `throttled.unprocessed-record-max-age.ms` is +set to less than or equal to 0, it does not perform any health check +verification. Such a setting might lead to running out of memory if +there are poison pill messages. This strategy is the default if +`enable.auto.commit` is not explicitly set to `true`. ++ +The `throttled` strategy supports concurrent processing with ordering +guarantees using the `throttled.ordered` configuration. See +xref:#concurrent-processing-with-ordering-guarantees[Concurrent Processing with Ordering Guarantees] +for more details. +* `checkpoint` allows persisting consumer offsets on a "state store", +instead of committing them back to the Kafka broker. Using the +`CheckpointMetadata` API, consumer code can persist a processing +state with the offset to mark the progress of a consumer. +When the processing continues from a previously persisted offset, +it seeks the Kafka consumer to that offset and also restores the +persisted state, continuing the stateful processing from where it +left off. The `checkpoint` strategy holds locally the processing +state associated with the latest offset, and persists it +periodically to the state store (period specified by +`auto.commit.interval.ms` (default: 5000)). The connector will be +marked as unhealthy if no processing state is persisted to the state +store in `checkpoint.unsynced-state-max-age.ms` (default: 10000). +Using the `CheckpointMetadata` API the user code can force to persist +the state on message ack. If `checkpoint.unsynced-state-max-age.ms` +is set to less than or equal to 0, it does not perform any health +check verification. For more information, see +xref:#stateful-processing-with-checkpointing[Stateful processing with Checkpointing] +* `latest` commits the record offset received by the Kafka consumer as +soon as the associated message is acknowledged (if the offset is +higher than the previously committed offset). This strategy provides +_at-least-once_ delivery if the channel processes the message +without performing any asynchronous processing. This strategy should +not be used on high-load as offset commit is expensive. However, it +reduces the risk of duplicates. +* `ignore` performs no commit. This strategy is the default strategy +when the consumer is explicitly configured with `enable.auto.commit` +to `true`. It delegates the offset commit to the Kafka client. When +`enable.auto.commit` is `true` this strategy *DOES NOT* guarantee +at-least-once delivery. However, if the processing failed between +two commits, messages received after the commit and before the +failure will be re-processed. + +[IMPORTANT] +==== + +The Kafka connector disables the Kafka _auto commit_ if not explicitly +enabled. This behavior differs from the traditional Kafka consumer. + +==== + +If high-throughout is important for you, and not limited by the +downstream, we recommend to either: + +* Use the `throttled` policy +* or set `enable.auto.commit` to `true` and annotate the consuming +method with `@Acknowledgment(Acknowledgment.Strategy.NONE)` + +== Concurrent Processing with Ordering Guarantees + +[WARNING] +.Experimental +==== + +Ordered concurrent processing is experimental, and APIs and features are subject to change. + +==== + +When processing Kafka messages concurrently (using `@Blocking(ordered = false)`), +you can configure ordering guarantees using the `ordered` attribute. + +=== Choosing a Commit Strategy + +* *`ordered=key`*: Messages from the same partition but with different keys can be acknowledged +out of order. Use `commit-strategy=throttled`, which tracks out-of-order acknowledgements and +commits offsets correctly. +* *`ordered=partition`*: Messages within a partition are processed sequentially, so +acknowledgements are always in order. This works with any commit strategy, including +`commit-strategy=ignore` for exactly-once transactional processing. + +=== Processing Order Modes + +* *`unordered`* (default): Messages are processed without any ordering guarantees, +allowing maximum concurrency across all partitions and keys. +* *`key`*: Messages with the same key from the same topic-partition are +processed sequentially, while messages with different keys or from different +partitions can be processed concurrently. This ensures per-key ordering within +each partition. +* *`partition`*: Messages from the same topic-partition are processed +sequentially, but messages from different partitions can be processed concurrently. +This ensures partition-level ordering while still allowing parallelism across +partitions. + +=== Examples + +Configure the `ordered` property and use the `@Blocking(ordered = false)` annotation +to enable concurrent processing with ordering guarantees: + +[source,properties] +---- +mp.messaging.incoming.orders.connector=smallrye-kafka +mp.messaging.incoming.orders.topic=orders +mp.messaging.incoming.orders.commit-strategy=throttled +mp.messaging.incoming.orders.ordered=key + +# Configure worker pool concurrency for thread pool size +smallrye.messaging.worker.order-pool.max-concurrency=10 + +# Configure merge concurrency (how many groups can process concurrently) +# Should typically match or be less than worker pool max-concurrency +mp.messaging.incoming.orders.ordered.max-concurrency=10 +---- + +[source,java] +---- +@Incoming("orders") +@Blocking(ordered = false, value = "order-pool") +public void processOrder(Order order) { + // Orders with the same key are processed sequentially + // Orders with different keys can be processed concurrently +} +---- + +For exactly-once transactional processing, use `ordered=partition` with `commit-strategy=ignore` +to avoid dual offset commits: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-kafka +mp.messaging.incoming.data.topic=data +mp.messaging.incoming.data.commit-strategy=ignore +mp.messaging.incoming.data.ordered=partition +---- + +In order to allow creating more groups (of keys or partitions) that can be processed concurrently, +each group buffers ordered messages to process. +The `max-queue-size-factor` (default: 2) attribute controls the buffer size per group, calculated as +`max.poll.records ++*++ max-queue-size-factor`. +The `ordered.max-concurrency` attribute controls how many groups can be processed concurrently. +If not set, it defaults to `max.poll.records`. +When buffers of all groups are full, backpressure is applied to pause consumption. + +[NOTE] +.Deprecation +==== + +The `throttled.ordered` and `throttled.ordered.max-concurrency` attributes are deprecated. +Use `ordered` and `ordered.max-concurrency` instead, which work with any commit strategy. + +==== + +== Failure Management + +If a message produced from a Kafka record is _nacked_, a failure +strategy is applied. The Kafka connector supports 3 strategies: + +* `fail` - fail the application, no more records will be processed. +(default) The offset of the record that has not been processed +correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. The +offset of the record that has not been processed correctly is +committed. +* `dead-letter-queue` - the offset of the record that has not been +processed correctly is committed, but the record is written to a +(Kafka) _dead letter queue_ topic. +* `delayed-retry-topic` - the offset of the record that has not been +processed correctly is still committed, but the record is written to +a series of Kafka topics for retrying the processing with some delay. +This allows retrying failed records by reconsuming them later without +blocking the processing of the latest records. + +The strategy is selected using the `failure-strategy` attribute. + +=== Dead Letter Queue + +In the case of `dead-letter-queue`, you can configure the following +attributes: + +* `dead-letter-queue.topic`: the topic to use to write the records not +processed correctly, default is `dead-letter-topic-$channel`, with +`$channel` being the name of the channel. +* `dead-letter-queue.producer-client-id`: the client id used by the kafka +producer when sending records to dead letter queue topic. If not specified +it will default to `kafka-dead-letter-topic-producer-$client-id`, with $client-id +being the value obtained from consumer client id. +* `dead-letter-queue.key.serializer`: the serializer used to write the +record key on the dead letter queue. By default, it deduces the +serializer from the key deserializer. +* `dead-letter-queue.value.serializer`: the serializer used to write +the record value on the dead letter queue. By default, it deduces +the serializer from the value deserializer. + +The record written on the dead letter topic contains the original +record’s headers, as well as a set of additional headers about the +original record: + +* `dead-letter-reason` - the reason of the failure (the `Throwable` +passed to `nack()`) +* `dead-letter-cause` - the cause of the failure (the `getCause()` of +the `Throwable` passed to `nack()`), if any +* `dead-letter-topic` - the original topic of the record +* `dead-letter-partition` - the original partition of the record +(integer mapped to String) +* `dead-letter-offset` - the original offset of the record (long +mapped to String) + +When using `dead-letter-queue`, it is also possible to change some +metadata of the record that is sent to the dead letter topic. To do +that, use the `Message.nack(Throwable, Metadata)` method: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaDeadLetterExample.java[tags=code,indent=0] +---- + +The `Metadata` may contain an instance of `OutgoingKafkaRecordMetadata`. +If the instance is present, the following properties will be used: + +* key; if not present, the original record’s key will be used +* topic; if not present, the configured dead letter topic will be used +* partition; if not present, partition will be assigned automatically +* headers; combined with the original record’s headers, as well as the +`dead-letter-++*++` headers described above + +=== Delayed Retry Topic + +[NOTE] +==== + +Delayed retry topic feature is experimental. + +==== + +The delayed retry topic strategy allows failed records to be automatically retried by forwarding them to a series of retry topics. +Each retry topic is associated with a specific delay time, which is expressed in milliseconds. +When a record processing fails, it is forwarded to the first retry topic. +The failure strategy then consumes these records and dispatches them to be retried again once the delay time of the topic has elapsed. + +If the processing of a record fails again, the message is forwarded to the next topic in the list, with possibly a longer delay time. +If the processing of a record keeps failing, it will eventually be abandoned. +Alternatively, if the `dead-letter-queue.topic` property is configured, the record will be sent to the dead letter queue. + +The Kafka producer client used when forwarding records to retry topics can be configured using the _dead-letter-queue_ properties +namely, `dead-letter-queue.producer-client-id`, `dead-letter-queue.key.serializer` and `dead-letter-queue.value.serializer`. + +Delayed retry topics and delays can be configured with following attributes: + +* `delayed-retry-topic.topics` : +The comma-separated list of retry topics, each one suffixed with `++_[++DELAY++_++IN++_++MILLISECONDS++]++` for indicating the delay time. +For example, `my++_++retry++_++topic++_++2000,my++_++retry++_++topic++_++4000,my++_++retry++_++topic++_++10000` will use three topics +_my++_++retry++_++topic++_++2000_, _my++_++retry++_++topic++_++4000_ and _my++_++retry++_++topic++_++10000_, with 2000ms 4000ms and 10000ms respectively. ++ +If not configured the source channel name is used, with 10, 20 and 50 seconds of delay, +ex. for a channel named `source`, retry topics will be `source++_++retry++_++10000`, `source++_++retry++_++20000`, `source++_++retry++_++50000`. +* `delayed-retry-topic.max-retries` : +The maximum number of retries before abandoning the retries. +If configured higher than the number of retry topics the last topic is used until maximum number of retries is reached. +This can be configured to use a single retry topic with a fixed delay and multiple retries. ++ +For example, `delayed-retry-topic.topics=source++_++retry++_++10000` and `delayed-retry-topic.max-retries=4` will forward failed records +to the topic _source++_++retry++_++10000_ with maximum of 4 retries. +* `delayed-retry-topic.timeout` : +The global timeout in milliseconds for a retried record. +The timeout is calculated from the first failure for a record. +If the next retry will reach the timeout, instead of forwarding to the retry topic the retry is abandoned and, +if configured, the record is forwarded to the dead letter queue. ++ +The default is 120 seconds. + +[IMPORTANT] +==== + +While you can use xref:#retrying-processing[Smallrye Fault Tolerance to retry processing], +it will block the processing of further messages until the retried record is processed successfully, or abandoned. + +Delayed retry topic failure strategy allows effectively implementing non-blocking retries. +But it will not preserve the order of messages inside a topic-partition. + +==== + +The record written on the delayed retry topics will preserve the key and partition of the original record. +It also contains the original record’s headers, as well as a set of additional headers about the original record: + +* `delayed-retry-count` the current number of retries +* `delayed-retry-original-timestamp` the original timestamp of the record +* `delayed-retry-first-processing-timestamp` the first processing timestamp of the record +* `delayed-retry-reason` the reason of the failure (the `Throwable` passed to `nack()`) +* `delayed-retry-cause` the cause of the failure (the `getCause()` of the `Throwable` passed to `nack()`), if any +* `delayed-retry-topic` the original topic of the record +* `delayed-retry-partition` the original partition of the record +* `delayed-retry-offset` the original offset of the record +* `delayed-retry-exception-class-name` the class name of the throwable passed to `nack()` +* `delayed-retry-cause-class-name` the class name of the the `getCause()` of the `Throwable` passed to `nack()`, if any + +As for the dead letter queue it is possible to change forwarded values by providing a `OutgoingKafkaRecordMetadata` +when the message is nacked using `Message.nack(Throwable, Metadata)`. + +[NOTE] +.Multiple partitions +==== + +The delayed retry topic strategy does not create retry topics automatically. +If the source topic has multiple partitions, delayed retry and dead letter queue topics would need to be setup with the same number of partitions. + +It is possible to scale consumer application instances according to the number of partitions. +But it is not guaranteed that the retry topics consumer will be assigned the same partition(s) as the main topic consumer. +Therefore, retry processing of a record can happen in an other instance. + +==== + +== Custom commit and failure strategies + +In addition to provided strategies, it is possible to implement custom +commit and failure strategies and configure Kafka channels with them. + +For example, for a custom commit strategy, implement the +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/commit/KafkaCommitHandler.html[`KafkaCommitHandler`] interface, +and provide a managed bean implementing the `KafkaCommitHandler.Factory` interface, +identified using `@Identifier` qualifier. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaCustomCommit.java[indent=0] +---- + +Finally, to use the custom commit strategy, +set the `commit-strategy` attribute to the identifier of the commit handler factory: +`mp.messaging.incoming.$channel.commit-strategy=custom`. +Similarly, custom failure strategies can be configured using `failure-strategy` attribute. + +[NOTE] +==== + +If the custom strategy implementation inherits +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/commit/ContextHolder.html[`ContextHolder`] class it can access the +Vert.x event-loop context created for the Kafka consumer + +==== + +== Retrying processing + +You can combine Reactive Messaging with https://github.com/smallrye/smallrye-fault-tolerance[SmallRye Fault +Tolerance], and +retry processing when it fails: + +[source,java] +---- +@Incoming("kafka") +@Outgoing("processed") +@Retry(delay = 10, maxRetries = 5) +public String process(String v) { + // ... retry if this method throws an exception +} +---- + +You can configure the delay, the number of retries, the jitter... + +If your method returns a `Uni`, you need to add the `@NonBlocking` +annotation: + +[source,java] +---- +@Incoming("kafka") +@Outgoing("processed") +@Retry(delay = 10, maxRetries = 5) +@NonBlocking +public Uni process(String v) { + // ... retry if this method throws an exception or the returned Uni produce a failure +} +---- + +The incoming messages are acknowledged only once the processing +completes successfully. So, it commits the offset after the successful +processing. If after the retries the processing still failed, the +message is _nacked_ and the failure strategy is applied. + +You can also use `@Retry` on methods only consuming incoming messages: + +[source,java] +---- +@Incoming("kafka") +@Retry(delay = 10, maxRetries = 5) +public void consume(String v) { + // ... retry if this method throws an exception +} +---- + +== Handling deserialization failures + +Because deserialization happens before creating a `Message`, the failure +strategy presented above cannot be applied. However, when a +deserialization failure occurs, you can intercept it and provide a +fallback value. To achieve this, create a CDI bean implementing the +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/DeserializationFailureHandler.html[`DeserializationFailureHandler`] +interface: + +[source,java] +---- +@ApplicationScoped +@Identifier("failure-retry") // Set the name of the failure handler +public class MyDeserializationFailureHandler + implements DeserializationFailureHandler { // Specify the expected type + + @Override + public JsonObject decorateDeserialization(Uni deserialization, + String topic, boolean isKey, String deserializer, byte[] data, + Headers headers) { + return deserialization + .onFailure().retry().atMost(3) + .await().atMost(Duration.ofMillis(200)); + } +} +---- + +The bean must be exposed with the `@Identifier` qualifier specifying the +name of the bean. Then, in the connector configuration, specify the +following attribute: + +* `mp.messaging.incoming.$channel.key-deserialization-failure-handler`: +name of the bean handling deserialization failures happening for the +record’s key +* `mp.messaging.incoming.$channel.value-deserialization-failure-handler`: +name of the bean handling deserialization failures happening for the +record’s value, + +The handler is called with the deserialization action as a `Uni++<++T++>++`, the +record’s topic, a boolean indicating whether the failure happened on a +key, the class name of the deserializer that throws the exception, the +corrupted data, the exception, and the records headers augmented with +headers describing the failure (which ease the write to a dead letter). +On the deserialization `Uni` failure strategies like retry, providing a +fallback value or applying timeout can be implemented. Note that the +method must await on the result and return the deserialized object. +Alternatively, the handler can only implement +`handleDeserializationFailure` method and provide a fallback value, +which may be `null`. + +If you don’t configure a deserialization failure handlers and a +deserialization failure happens, the application is marked unhealthy. +You can also ignore the failure, which will log the exception and +produce a `null` value. To enable this behavior, set the +`mp.messaging.incoming.$channel.fail-on-deserialization-failure` +attribute to `false`. + +If the `fail-on-deserialization-failure` attribute is set to `false` and +the `failure-strategy` attribute is `dead-letter-queue` the failed record +will be sent to the corresponding _dead letter queue_ topic. +The forwarded record will have the original key and value, +and the following headers set: + +* `deserialization-failure-reason`: The deserialization failure message +* `deserialization-failure-cause`: The deserialization failure cause if any +* `deserialization-failure-key`: Whether the deserialization failure happened on a key +* `deserialization-failure-topic`: The topic of the incoming message when a deserialization failure happen +* `deserialization-failure-deserializer`: The class name of the underlying deserializer +* `deserialization-failure-key-data`: If applicable the key data that was not able to be deserialized +* `deserialization-failure-value-data`: If applicable the value data that was not able to be deserialized + +== Receiving Cloud Events + +The Kafka connector supports https://cloudevents.io/[Cloud Events]. +When the connector detects a _structured_ or _binary_ Cloud Events, it +adds a link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/IncomingKafkaCloudEventMetadata.html[`IncomingKafkaCloudEventMetadata`] in the metadata of the +Message. `IncomingKafkaCloudEventMetadata` contains the various (mandatory and optional) Cloud Event attributes. + +If the connector cannot extract the Cloud Event metadata, it sends the +Message without the metadata. + +=== Binary Cloud Events + +For `binary` Cloud Events, *all* mandatory Cloud Event attributes must +be set in the record header, prefixed by `ce++_++` (as mandated by the +https://github.com/cloudevents/spec/blob/v1.0/kafka-protocol-binding.md[protocol +binding]). +The connector considers headers starting with the `ce++_++` prefix but not +listed in the specification as extensions. You can access them using the +`getExtension` method from `IncomingKafkaCloudEventMetadata`. You can +retrieve them as `String`. + +The `datacontenttype` attribute is mapped to the `content-type` header +of the record. The `partitionkey` attribute is mapped to the record’s +key, if any. + +Note that all headers are read as UTF-8. + +With binary Cloud Events, the record’s key and value can use any +deserializer. + +=== Structured Cloud Events + +For `structured` Cloud Events, the event is encoded in the record’s +value. Only JSON is supported, so your event must be encoded as JSON in +the record’s value. + +Structured Cloud Event must set the `content-type` header of the record +to `application/cloudevents` or prefix the value with +`application/cloudevents` such as: +`application/cloudevents{plus}json; charset=UTF-8`. + +To receive structured Cloud Events, your value deserializer must be: + +* `org.apache.kafka.common.serialization.StringDeserializer` +* `org.apache.kafka.common.serialization.ByteArrayDeserializer` +* `io.vertx.kafka.client.serialization.JsonObjectDeserializer` + +As mentioned previously, the value must be a valid JSON object +containing at least all the mandatory Cloud Events attributes. + +If the record is a structured Cloud Event, the created Message’s payload +is the Cloud Event `data`. + +The `partitionkey` attribute is mapped to the record’s key if any. + +== Consumer Rebalance Listener + +To handle offset commit and assigned partitions yourself, you can +provide a consumer rebalance listener. To achieve this, implement the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface, make the implementing class a bean, and add the `@Identifier` +qualifier. A usual use case is to store offset in a separate data store +to implement exactly-once semantic, or starting the processing at a +specific offset. + +The listener is invoked every time the consumer topic/partition +assignment changes. For example, when the application starts, it invokes +the `partitionsAssigned` callback with the initial set of +topics/partitions associated with the consumer. If, later, this set +changes, it calls the `partitionsRevoked` and `partitionsAssigned` +callbacks again, so you can implement custom logic. + +Note that the rebalance listener methods are called from the Kafka +_polling_ thread and must block the caller thread until completion. +That’s because the rebalance protocol has synchronization barriers, and +using asynchronous code in a rebalance listener may be executed after +the synchronization barrier. + +When topics/partitions are assigned or revoked from a consumer, it +pauses the message delivery and restarts once the rebalance completes. + +If the rebalance listener handles offset commit on behalf of the user +(using the `ignore` commit strategy), the rebalance listener *must* +commit the offset synchronously in the `partitionsRevoked` callback. We +also recommend applying the same logic when the application stops. + +Unlike the `ConsumerRebalanceListener` from Apache Kafka, the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +methods pass the Kafka `Consumer` and the set of topics/partitions. + +=== Example + +In this example we set-up a consumer that always starts on messages from +at most 10 minutes ago (or offset 0). First we need to provide a bean +that implements the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface and is annotated with `@Identifier`. We then must configure +our inbound connector to use this named bean. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumer.java[indent=0] +---- + +To configure the inbound connector to use the provided listener we +either set the consumer rebalance listener’s name: + +* `mp.messaging.incoming.rebalanced-example.consumer-rebalance-listener.name=rebalanced-example.rebalancer` + +Or have the listener’s name be the same as the group id: + +* `mp.messaging.incoming.rebalanced-example.group.id=rebalanced-example.rebalancer` + +Setting the consumer rebalance listener’s name takes precedence over +using the group id. + +== Receiving Kafka Records in Batches + +By default, incoming methods receive each Kafka record individually. +Under the hood, Kafka consumer clients poll the broker constantly and +receive records in batches, presented inside the `ConsumerRecords` +container. + +In *batch* mode, your application can receive all the records returned +by the consumer *poll* in one go. + +To achieve this you need to set +`mp.messaging.incoming.$channel.batch=true` *and* specify a compatible +container type to receive all the data: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchPayloadExample.java[tags=code,indent=0] +---- + +The incoming method can also receive `Message++<++List++<++Payload++>++` or `ConsumerRecords++<++Key, Payload++>++` types, They +give access to record details such as offset or timestamp : + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchExample.java[tags=code,indent=0] +---- + +Note that the successful processing of the incoming record batch will +commit the latest offsets for each partition received inside the batch. +The configured commit strategy will be applied for these records only. + +Conversely, if the processing throws an exception, all messages are +_nacked_, applying the failure strategy for all the records inside the +batch. + +=== Accessing metadata of batch records + +When receiving records in batch mode, the metadata of each record is accessible through the `IncomingKafkaRecordBatchMetadata` : + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchExample.java[tags=batch,indent=0] +---- + +Like in this example, this can be useful to propagate the tracing information of each record. + +== Manual topic-partition assignment + +The default behavior of Kafka incoming channels is to subscribe to one or more topics in order to receive records from the Kafka broker. +Channel attributes `topic` and `topics` allow specifying topics to subscribe to, +or `pattern` attribute allows to subscribe to all topics matching a regular expression. +Subscribing to topics allows partitioning consumption of topics by dynamically assigning (rebalancing) partitions between members of a consumer group. + +The `assign-seek` configuration attribute allows manually assigning topic-partitions to a Kafka incoming channel, +and optionally seek to a specified offset in the partition to start consuming records. +If `assign-seek` is used, the consumer will not be dynamically subscribed to topics, +but instead will statically assign the described partitions. +In manual topic-partition rebalancing doesn't happen and therefore rebalance listeners are never called. + +The attribute takes a list of triplets separated by commas: `++<++topic++>++:++<++partition++>++:++<++offset++>++`. + +For example, the following configuration + +[source,properties] +---- +mp.messaging.incoming.data.assign-seek=topic1:0:10, topic2:1:20 +---- + +assigns the consumer to: +- Partition 0 of topic 'topic1', setting the initial position at offset 10. +- Partition 1 of topic 'topic2', setting the initial position at offset 20. + +The topic, partition, and offset in each triplet can have the following variations: +- If the topic is omitted, the configured `topic` will be used. +- If the offset is omitted, partitions are assigned to the consumer but won't be seeked to offset. +- If offset is 0, it seeks to the beginning of the topic-partition. +- If offset is -1, it seeks to the end of the topic-partition. + +== Stateful processing with Checkpointing + +[WARNING] +.Experimental +==== + +Checkpointing is experimental, and APIs and features are subject +to change in the future. + +==== + +The `checkpoint` commit strategy allows for a Kafka incoming channel to +manage topic-partition offsets, not by committing on the Kafka broker, +but by persisting consumers' advancement on a +xref:#implementing-state-stores[_state store_]. + +In addition to that, if the consumer builds an internal state as +a result of consumed records, the topic-partition offset persisted +to the state store can be associated with a _processing state_, +saving the local state to the persistent store. When a consumer +restarts or consumer group instances scale, i.e. when new partitions +get assigned to the consumer, the checkpointing works by resuming the +processing from the latest offset and its saved state. + +The `@Incoming` channel consumer code can manipulate the processing +state through the `CheckpointMetadata` API: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaCheckpointExample.java[tags=code,indent=0] +---- + +The `transform` method allows applying a transformation function to +the current state, producing a changed state and registering it +locally for checkpointing. By default, the local state is synced +(persisted) to the state store periodically, period specified by +`auto.commit.interval.ms`, (default: 5000). If `persistOnAck` flag +is given, the latest state is persisted to the state store eagerly +on message acknowledgment. The `setNext` method works similarly +directly setting the latest state. + +The `checkpoint` commit strategy tracks when a processing state +is last persisted for each topic-partition. If an outstanding state +change can not be persisted for `checkpoint.unsynced-state-max-age.ms` +(default: 10000), the channel is marked unhealthy. + +Where and how processing states are persisted is decided by the +state store implementation. This can be configured on the incoming +channel using `checkpoint.state-store` configuration property, +using the state store factory identifier name. +The serialization of state objects depends on the state store +implementation. In order to instruct state stores for serialization +can require configuring the type name of state objects +using `checkpoint.state-type` property. + +In order to keep Smallrye Reactive Messaging free of persistence-related +dependencies, this library includes only a default state store named `file`. +It is based on Vert.x Filesystem API and stores the processing state +in Json formatted files, in a local directory configured by the +`checkpoint.file.state-dir` property. State files follow the naming +scheme `++[++consumer-group-id++]++:++[++topic++]++:++[++partition++]++`. + +=== Implementing State Stores + +State store implementations are required to implement `CheckpointStateStore` +interface, and provide a managed bean implementing +`CheckpointStateStore.Factory`, identified with `@Identifier` bean +qualifier indicating the name of the state-store. +The factory bean identifier indicates the name to configure on +`checkpoint.state-store` config property. +The factory is discovered as a CDI managed bean and state store is +created once per channel: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/MyCheckpointStateStore.java[indent=0] +---- + +The checkpoint commit strategy calls the state store in following events: + +* `fetchProcessingState` : on partitions assigned, to seek the consumer to the latest offset. +* `persistProcessingState` on partitions revoked, to persist the state of last processed record. +* `persistProcessingState` on message acknowledgement, if a new state is set during the processing and `persistOnAck` flag is set. +* `persistProcessingState` on `auto.commit.interval.ms` intervals, if a new state is set during processing. +* `persistProcessingState` on channel shutdown. +* `close` on channel shutdown. + +== Receiving Kafka Records Using Kafka Queues (Share Groups) + +[WARNING] +.Experimental +==== + +Kafka Queues (Share Groups) support is experimental. + +==== + +https://cwiki.apache.org/confluence/display/KAFKA/KIP-932[Kafka Share Groups] provide a new consumption model where records from a topic are cooperatively distributed across consumers without explicit partition assignment. +Unlike traditional consumer groups, share groups do not require managing offsets or partition rebalancing -- the broker handles record distribution and acquisition locks automatically. + +This is useful for *queue-like* workloads where you want records to be processed by exactly one consumer in a group, without worrying about partition count or consumer coordination. + +=== Enabling Share Groups + +To enable share group consumption on a channel, set the `share-group.enabled` attribute to `true`: + +[source,properties] +---- +mp.messaging.incoming.queue.connector=smallrye-kafka +mp.messaging.incoming.queue.topic=prices +mp.messaging.incoming.queue.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer +mp.messaging.incoming.queue.share-group.enabled=true # <1> +---- + +[arabic] +. Enables share group consumption for this channel. + +Then consume records as usual: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupConsumer.java[indent=0] +---- + +By default, successfully processed records are acknowledged with `ACCEPT`. +If the processing method throws an exception, the record is released (`RELEASED`) and will be attempted for re-delivery. + +=== Controlling Acknowledgement + +Share groups support four acknowledgement types for each record: + +* *`ACCEPT`* Record processed successfully (default on ack). +* *`RELEASE`* Record could not be processed; release it for re-delivery to another consumer (default on nack). +* *`REJECT`* Record is permanently rejected and will not be re-delivered. +* *`RENEW`* Extend the acquisition lock for long-running processing (managed automatically when processing timeout is enabled). + +You can control the acknowledgement type using the `ShareGroupAcknowledgement` metadata, which is injected as a parameter in the consuming method: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupAckExample.java[tags=code,indent=0] +---- + +When the message is acked (or method completes normally), the connector uses the acknowledgement type set on `ShareGroupAcknowledgement`. +If no type is explicitly set, the default is `ACCEPT`. + +When calling `nack()` on the `Message`, you can pass the desired acknowledgement type via metadata: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupNackExample.java[tags=code,indent=0] +---- + +If no metadata is provided on nack, the default acknowledgement type is `RELEASE`. +This can be changed using the `share-group.failure-acknowledgement-type` attribute: + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.share-group.failure-acknowledgement-type=reject # <1> +---- + +[arabic] +. Nacked records are permanently rejected instead of released for re-delivery. + +=== Handling Deserialization Failures + +When `fail-on-deserialization-failure` is set to `false`, records that fail deserialization are not forwarded to the consumer method. +They are automatically nacked using the acknowledgement type configured by `share-group.failure-deserialization-acknowledgement-type` (default: `reject`). + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.fail-on-deserialization-failure=false # <1> +mp.messaging.incoming.queue.share-group.failure-deserialization-acknowledgement-type=reject # <2> +---- + +[arabic] +. Deserialization failures do not kill the application. +. Records that fail deserialization are permanently rejected (default). + +A custom `DeserializationFailureHandler` can override the acknowledgement type per record by setting the `deserialization-failure-share-ack-type` header +to the set `AcknowledgeType` value (e.g., `RELEASE`, `REJECT`, `ACCEPT`). + +=== Acquisition Lock Renewal and Processing Timeout + +Each record acquired by a share group consumer has a time-limited *acquisition lock* (default 30 seconds, configured on the broker via `group.share.record.lock.duration.ms`). +If the consumer does not acknowledge the record before the lock expires, the broker automatically releases it for re-delivery. + +The connector can periodically send `RENEW` acknowledgements to extend the lock for records still being processed. +This is controlled by the `share-group.unprocessed-record-max-age.ms` attribute: + +* When set to a value greater than `0` (default: `60000`), the connector enables *processing timeout monitoring*: +** Records still in progress are periodically renewed to prevent lock expiry. +** If a record exceeds the configured timeout, the connector reports a failure and marks the channel as unhealthy. +* When set to `0`, processing timeout monitoring is disabled. No `RENEW` acknowledgements are sent. If processing exceeds the broker's lock duration, the record will be automatically released and re-delivered. + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.share-group.unprocessed-record-max-age.ms=30000 # <1> +---- + +[arabic] +. Records not processed within 30 seconds trigger a failure report. + +=== Batch Mode + +Share groups support batch consumption. Set `batch=true` to receive all records from a single poll as a batch: + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.batch=true +---- + +When a batch is acknowledged, all individual records in the batch are acknowledged. +When a batch is nacked, all records are nacked with the specified acknowledgement type. + +You can control the acknowledgement type per record within a batch using the `ShareGroupAcknowledgement` metadata accessible through `IncomingKafkaRecordBatchMetadata`: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupBatchAckExample.java[tags=code,indent=0] +---- + +Each record in the batch has its own `ShareGroupAcknowledgement` instance. +When the batch is acked, each record is individually acknowledged using its configured type. +This allows accepting some records while rejecting or releasing others within the same batch. + +=== Incompatible Configuration + +The following configuration attributes are not supported with share groups and will be ignored: + +* `pattern` Share groups subscribe to explicit topics only. +* `assign-seek` Share groups do not support manual partition assignment. +* `partitions` Share groups handle record distribution automatically; multiple consumer instances are not needed. +* `commit-strategy` Share groups use their own acknowledgement mechanism. +* `failure-strategy` Share groups use their own failure handling based on `AcknowledgeType`. +* `consumer-rebalance-listener.name` Share groups do not have traditional partition rebalancing. + +If any of these are configured alongside `share-group.enabled=true`, a warning is logged at startup. + +== Configuration Reference + +include::{generated-dir}/smallrye-kafka-incoming.adoc[indent=0] + +You can also pass any property supported by the underlying https://kafka.apache.org/documentation/#consumerconfigs[Kafka +consumer]. + +For example, to configure the `max.poll.records` property, use: + +[source,properties] +---- +mp.messaging.incoming.[channel].max.poll.records=1000 +---- + +Some consumer client properties are configured to sensible default +values: + +If not set, `reconnect.backoff.max.ms` is set to `10000` to avoid high +load on disconnection. + +If not set, `key.deserializer` is set to +`org.apache.kafka.common.serialization.StringDeserializer`. + +The consumer `client.id` is configured according to the number of +clients to create. + +[WARNING] +.Deprecated +==== + +The `partitions` property (`mp.messaging.incoming.++[++channel++]++.partitions`) and the associated `requests` property are *deprecated*. +Use the `concurrency` channel attribute instead, which creates distinct indexed channels with their own consumer. + +==== + +* If a `client.id` is provided, it is used as-is or suffixed with +client index if the deprecated `partitions` property is set. +* If a `client.id` is not provided, it is generated as +`kafka-consumer-++[++channel++][++-index++]++`. diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/request-reply.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/request-reply.adoc new file mode 100644 index 000000000..4aedd2cc9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/request-reply.adoc @@ -0,0 +1,175 @@ += Kafka Request/Reply +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Tech Preview +==== + +Kafka Request Reply Emitter is a tech preview feature. + +==== + +The Kafka https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html[Request-Reply] pattern allows you to publish a message to a Kafka topic and then await for a reply message that responds to the initial request. + +The `KafkaRequestReply` emitter implements the requestor (or the client) of the request-reply pattern for Kafka outbound channels: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRequestReplyEmitter.java[indent=0] +---- + +The `request` method publishes the request record to the configured target topic of the outgoing channel, +and polls a reply topic (by default, the target topic with `-replies` suffix) for a reply record. +When the reply is received the returned `Uni` is completed with the record value. + +The request send operation generates a correlation id and sets a header (by default `REPLY++_++CORRELATION++_++ID`), +which it expects to be sent back in the reply record. Two additional headers are set on the request record: + +* The topic from which the reply is expected, by default `REPLY++_++TOPIC` header, +which can be configured using the `reply.topic` channel attribute. +* Optionally, the partition from which the reply is expected, by default `REPLY++_++PARTITION` header. +The reply partition header is added only when the Kafka request reply is configured specifically to receive records from a topic-partition +, using the `reply.partition` channel attribute. +The reply partition header integer value is encoded in 4 bytes, +and helper methods `KafkaRequestReply#replyPartitionFromBytes` and `KafkaRequestReply#replyPartitionToBytes` can be used for custom operations. + +The replier (or the server) can be implemented using a Reactive Messaging processor: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaReplier.java[indent=0] +---- + +Kafka outgoing channels detect default `REPLY++_++CORRELATION++_++ID`, `REPLY++_++TOPIC` and `REPLY++_++PARTITION` headers +and send the reply record to the expected topic-partition by propagating back the correlation id header. + +Default headers can be configured, using `reply.correlation-id.header`, `reply.topic.header` and `reply.partition.header` channel attributes. +If custom headers are used the reply server needs some more manual work. +Given the following request/reply outgoing configuration: + +[source,properties] +---- +mp.messaging.outgoing.reqrep.topic=requests +mp.messaging.outgoing.reqrep.reply.correlation-id.header=MY_CORRELATION +mp.messaging.outgoing.reqrep.reply.topic.header=MY_TOPIC +mp.messaging.outgoing.reqrep.reply.partition.header=MY_PARTITION +mp.messaging.incoming.request.topic=requests +---- + +The reply server can be implemented as the following: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCustomHeaderReplier.java[indent=0] +---- + +== Requesting with `Message` types + +Like the core Emitter's `send` methods, `request` method also can receive a `Message` type and return a message: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRequestReplyMessageEmitter.java[indent=0] +---- + +[NOTE] +==== + +The ingested reply type of the `KafkaRequestReply` is discovered at runtime, +in order to configure a `MessageConveter` to be applied on the incoming message before returning the `Uni` result. + +==== + +== Requesting multiple replies + +You can use the `requestMulti` method to expect any number of replies represented by the `Multi` return type. + +For example this can be used to aggregate multiple replies to a single request. + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRequestReplyMultiEmitter.java[indent=0] +---- + +Like the other `request` you can also request `Message` types. + +[NOTE] +==== + +The channel attribute `reply.timeout` will be applied between each message, if reached the returned `Multi` will +fail. + +==== + +== Scaling Request/Reply + +If multiple requestor instances are configured on the same outgoing topic, and the same reply topic, +each requestor consumer will generate a unique consumer group.id and +therefore all requestor instances will receive replies of all instances. If an observed correlation id doesn't match +the id of any pending replies, the reply is simply discarded. +With the additional network traffic this allows scaling requestors, (and repliers) dynamically. + +Alternatively, requestor instances can be configured to consume replies from dedicated topics using `reply.topic` attribute, +or distinct partitions of a single topic, using `reply.partition` attribute. +The later will configure the Kafka consumer to assign statically to the given partition. + +== Pending replies and reply timeout + +By default, the `Uni` returned from the `request` method is configured to fail with timeout exception if no replies is received after 5 seconds. +This timeout is configurable with the channel attribute `reply.timeout`. + +A snapshot of the list of pending replies is available through the `KafkaRequestReply#getPendingReplies` method. + +== Waiting for topic-partition assignment + +The requestor can be found in a position where a request is sent, and it's reply is already published to the reply topic, +before the requestor starts and polls the consumer. +In case the reply consumer is configured with `auto.offset.reset=latest`, which is the default value, this can lead to the requestor missing replies. + +If `auto.offset.reset` is `latest`, at wiring time, before any request can take place, the `KafkaRequestReply` +finds partitions that the consumer needs to subscribe and waits for their assignment to the consumer. +The timeout of the initial subscription can be adjusted with `reply.initial-assignment-timeout` which defaults to the `reply.timeout`. +If this timeout fails, `KafkaRequestReply` will enter an invalid state which will require it to be restarted. +If set to `-1`, the `KafkaRequestReply` will not wait for the initial assignment of the reply consumer to sent requests. + +On other occasions the `KafkaRequestReply#waitForAssignments` method can be used. + +== Correlation Ids + +The Kafka Request/Reply allows configuring the correlation id mechanism completely through a `CorrelationIdHandler` implementation. +The default handler is based on randomly generated UUID strings, written to byte array in Kafka record headers. +The correlation id handler implementation can be configured using the `reply.correlation-id.handler` attribute. +As mentioned the default configuration is `uuid`, +and an alternative `bytes` implementation can be used to generate 12 bytes random correlation ids. + +Custom handlers can be implemented by proposing a CDI-managed bean with `@Identifier` qualifier. + +== Reply Error Handling + +If the reply server produces an error and can or would like to propagate the error back to the requestor, failing the returned `Uni`. + +If configured using the `reply.failure.handler` channel attribute, +the `ReplyFailureHandler` implementations are discovered through CDI, matching the `@Identifier` qualifier. + +A sample reply error handler can lookup header values and return the error to be thrown by the reply: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/MyReplyFailureHandler.java[indent=0] +---- + +`null` return value indicates that no error has been found in the reply record, and it can be delivered to the application. + +== Advanced configuration for the Kafka consumer + +The underlying Kafka consumer can be configured with the `reply` property prefix. +For example the underlying Kafka consuemer can be configured to batch mode using: + +[source,properties] +---- +mp.messaging.outgoing.reqrep.topic=requests +mp.messaging.outgoing.reqrep.reply.topic=quote-results +mp.messaging.outgoing.reqrep.reply.batch=true +mp.messaging.outgoing.reqrep.reply.commit-strategy=latest +---- diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/test-companion.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/test-companion.adoc new file mode 100644 index 000000000..d25aa111f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/test-companion.adoc @@ -0,0 +1,158 @@ += Kafka Companion +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Kafka Companion is experimental and APIs are subject to change in the future. + +==== + +The *Kafka Companion* is a separate Java library for helping to test Kafka applications. +It is not intended to mock Kafka, but to the contrary, connect to a Kafka broker and provide high-level features. + +It is not limited to the SmallRye Reactive Messaging testing, but intends to improve the testability of applications using Kafka. Some of its features: + +* Running In-container Kafka broker for tests via https://github.com/strimzi/test-container[strimzi-test-container]. +* Running the Kafka broker behind a https://github.com/Shopify/toxiproxy[toxiproxy] for simulating network issues. +* Running embedded Kafka Kraft broker for tests. +* Base classes for tests to bootstrap tests. +* Companion classes for easily creating tasks to produce and consume Kafka records. +* Writing assertions for produce and consume tasks, state of consumers, topics, offsets etc. + +== Getting started writing tests + +Easiest way of starting to write Kafka tests is to extend `KafkaCompanionTestBase`. +It starts a single-node Kafka broker for the test suite using testcontainers and creates the `KafkaCompanion` to connect to this broker: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaWithBaseTest.java[tags=code,indent=0] +---- + +`KafkaCompanion` can be used on its own to connect to a broker: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaTest.java[tags=companion,indent=0] +---- + +There are a couple of things to note on how Kafka companion handles *producers*, *consumers* and *tasks*: + +`ProducerBuilder` and `ConsumerBuilder` lazy descriptions of with which configuration to create a producer or a consumer. + +`ProducerTask` and `ConsumerTask` run asynchronously on dedicated threads and are started as soon as they are created. +A task terminates when it is explicitly stopped, when it's predefined duration or number of records has been produced/consumed, or when it encounters an error. +An exterior thread can await on records processed, or simply on termination of the task. +At a given time produced or consumed records are accessible through the task. + +The actual creation of the producer or consumer happens when a task is started. When the task terminates the producer or the consumer is automatically closed. + +For example, in the previous example: + +[arabic] +. We described a producer with a client id `my-producer` and `max.block.ms` of 5 seconds. +. Then we created a task to produce 100 records using the generator function, without waiting for its completion. +. We then described a consumer with group id `my-group` and which commits offset synchronously on every received record. +. Finally, we created a task to consume records for 10 seconds and await its completion. + +== Producing records + +=== Produce from records + +Produce given records: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=records,indent=0] +---- + +=== Produce from generator function + +Produce 10 records using the generator function: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=generator,indent=0] +---- + +=== Produce from CSV file + +Given a comma-separated file `records.csv` with the following content + +[source,csv] +---- +messages,0,a,asdf +messages,1,b,asdf +messages,3,c,asdf +---- + +Produce records from the file: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=csv,indent=0] +---- + +== Consuming records + +=== Consume from topics + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=topics,indent=0] +---- + +=== Consume from offsets + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=offsets,indent=0] +---- + +=== Consumer assignment and offsets + +During execution of the consumer task, information about the underlying consumer's topic partition assignment, position or committed offsets can be accessed. + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=committed,indent=0] +---- + +== Registering Custom Serdes + +KafkaCompanion handles Serializers and Deserializers for default types such as primitives, String, ByteBuffer, UUID. + +Serdes for custom types can be registered to the companion object, and will be used for producer and consumer tasks: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaTest.java[tags=serdes,indent=0] +---- + +== Topics + +Create, list, describe and delete topics: + +[source,java] +---- +include::{examples-dir}/kafka/companion/TopicsTest.java[tags=code,indent=0] +---- + +== Consumer Groups and Offsets + +List topic partition offsets: + +[source,java] +---- +include::{examples-dir}/kafka/companion/OffsetsTest.java[tags=offsets,indent=0] +---- + +List, describe, alter consumer groups and their offsets: + +[source,java] +---- +include::{examples-dir}/kafka/companion/OffsetsTest.java[tags=consumerGroups,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/transactions.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/transactions.adoc new file mode 100644 index 000000000..927012f01 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/transactions.adoc @@ -0,0 +1,165 @@ += Kafka Transactions and Exactly-Once Processing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://cwiki.apache.org/confluence/display/KAFKA/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging[Kafka transactions] enable atomic writes to multiple Kafka topics and partitions. +Inside a transaction, a producer writes records to the Kafka topic partitions as it would normally do. +If the transaction completes successfully, all the records previously written to the broker inside that transaction will be _committed_, and will be readable for consumers. +If an error during the transaction causes it to be _aborted_, none will be readable for consumers. + +There are a couple of fundamental things to consider before using transactions: + +* Each transactional producer is configured with a unique identifier called the `transactional.id`. +This is used to identify the same producer instance across application restarts. +By default, it is not configured, and transactions cannot be used. +When it is configured, the producer is limited to idempotent delivery, therefore `enable.idempotence=true` is implied. +* For *only* reading transactional messages, a consumer needs to explicitly configure its `isolation.level` property to `read++_++committed`. +This will make sure that the consumer will deliver only records committed inside a transaction, and filter out messages from aborted transactions. +* It should also be noted that this does not mean all records atomically written inside a transaction will be read atomically by the consumer. +Transactional producers can write to multiple topics and partitions inside a transaction, but consumers do not know where the transaction starts or ends. +Not only multiple consumers inside a consumer group can share those partitions, +all records which were part of a single transaction can be consumed in different batch of records by a consumer. + +Kafka connector provides `KafkaTransactions` custom emitter for writing records inside a transaction. +Before using a transaction we need to make sure that `transactional.id` is configured on the channel properties. + +.... +mp.messaging.outgoing.tx-out-example.transactional.id=example-tx-producer +.... + +It can be used as a regular emitter `@Channel`: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaTransactionalProducer.java[indent=0] +---- + +[NOTE] +==== + +When `transactional.id` is provided `KafkaProducer#initTransactions` is called when the underlying Kafka producer is created. + +==== + +The function given to the `withTransaction` method receives a `TransactionalEmitter` for producing records, and returns a `Uni` that provides the result of the transaction. +If the processing completes successfully, the producer is flushed and the transaction is committed. +If the processing throws an exception, returns a failing `Uni`, or marks the `TransactionalEmitter` for abort, the transaction is aborted. + +If this method is called on a Vert.x context, the processing function is also called on that context. +Otherwise, it is called on the sending thread of the producer. + +A synchronous variant `withTransactionAndAwait` is also available for blocking contexts such as REST endpoints or `@Blocking` annotated methods. +It blocks the calling thread until the transaction completes and must not be called on a Vert.x event loop thread. +The transaction completion phase (flush, commit/abort) is bounded by the Kafka producer's `transaction.timeout.ms` setting (default 60 seconds). + +[IMPORTANT] +==== + +By default (non-pooled mode), a transaction is considered _in progress_ from the call to the `withTransaction` until the returned `Uni` results in success or failure. +While a transaction is in progress, subsequent calls to the `withTransaction`, including nested ones inside the given function, will throw `IllegalStateException`. +Note that in Reactive Messaging, the execution of processing methods is already serialized, unless `@Blocking(ordered = false)` is used. +If `withTransaction` can be called concurrently, for example from a REST endpoint, it is recommended to limit the concurrency of the execution. +This can be done using the `@Bulkhead` annotation from Microprofile Fault Tolerance, or by using the xref:#pooled-producer-for-concurrent-transactions[pooled producer mode] which allows concurrent transactions. +In pooled producer mode, multiple transactions can run concurrently, each using a different producer from the pool. + +==== + +== Exactly-Once Processing + +Kafka Transactions API also allows managing consumer offsets inside a transaction, together with produced messages. +This in turn enables coupling a consumer with a transactional producer in a consume-transform-produce pattern, +also known as exactly-once processing. +It means that an application consumes messages from a topic-partition, processes them, publishes the results to a topic-partition, +and commits offsets of the consumed messages in a transaction. + +The `KafkaTransactions` emitter also provides a way to apply exactly-once processing to an incoming Kafka message inside a transaction. + +The following example includes a batch of Kafka records inside a transaction. + +.... +mp.messaging.outgoing.tx-out-example.transactional.id=example-tx-producer +mp.messaging.incoming.in-channel.batch=true +mp.messaging.incoming.in-channel.commit-strategy=ignore +mp.messaging.incoming.in-channel.failure-strategy=ignore +.... + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaExactlyOnceProcessor.java[indent=0] +---- + +If the processing completes successfully, before committing the transaction, the topic partition offsets of the given batch message will be committed to the transaction. + +If the processing needs to abort, after aborting the transaction, the consumer's position is reset to the last committed offset, effectively resuming the consumption from that offset. +If no consumer offset has been committed, the consumer's position is reset to the beginning of the topic, even if the offset reset policy is `latest`. + +[IMPORTANT] +==== + +When using exactly-once processing, consumed message offset commits are handled by the transaction and therefore `commit-strategy` needs to be `ignore`. + +==== + +Any strategy can be employed for the `failure-strategy`. +Note that the `Uni` returned from the `#withTransaction` will yield a failure if the transaction fails and is aborted. + +The application can choose to handle the error case, but for the message consumption to continue, `Uni` returned from the `@Incoming` method must not result in failure. +`KafkaTransactions#withTransactionAndAck` method will ack and nack the message but will not stop the reactive stream. +Ignoring the failure simply resets the consumer to the last committed offsets and resumes the processing from there. + +Synchronous variants `withTransactionAndAwait` are also available for exactly-once processing, +accepting `IncomingKafkaRecordMetadata` or `IncomingKafkaRecordBatchMetadata` for offset management within the transaction. + +[NOTE] +==== + +It is recommended to use exactly-once processing along with the batch consumption mode. +While it is possible to use it with a single Kafka message, it'll have a significant performance impact. + +==== + +== Pooled Producer for Concurrent Transactions + +By default, `KafkaTransactions` uses a single transactional producer and a global lock, meaning only one transaction can be in progress at a time. +This limits throughput when consuming from multiple partitions concurrently. + +The *pooled producer* mode uses a pool of Kafka producers, each with its own `transactional.id`. +Each transaction reserves a producer from the pool for the duration of the transaction, enabling concurrent exactly-once processing. + +To enable pooled producer mode, set `pooled-producer.enabled` to `true` on the outgoing channel. +Combined with incoming channel `batch` and `concurrency`, multiple partitions can be processed in parallel, +each with its own independent transaction: + +[source,properties] +---- +mp.messaging.outgoing.tx-out-example.transactional.id=my-tx-producer +mp.messaging.outgoing.tx-out-example.pooled-producer.enabled=true + +mp.messaging.incoming.in-channel.ordered=partition +mp.messaging.incoming.in-channel.commit-strategy=ignore +mp.messaging.incoming.in-channel.failure-strategy=ignore +---- + +The `KafkaTransactions` API is the same as for regular exactly-once processing. +The outgoing record's partition defaults to the incoming record's partition: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPooledExactlyOnceProcessor.java[indent=0] +---- + +On commit or abort, the producer is returned to the pool and can be reused for another transaction. +Only the partitions involved in the transaction are reset on abort, so other concurrent transactions are unaffected. + +The pool grows lazily to match actual concurrency, up to `pooled-producer.max-pool-size` (default 10). +Each inner producer gets a unique `transactional.id` derived from the base value, e.g. `my-tx-producer-1`, `my-tx-producer-2`, etc. +Producers are reused across transactions. + +You can also pre-create producers at startup with `pooled-producer.initial-pool-size` (default 0). +Pre-created producers respect the `lazy-client` setting, so with `lazy-client=false` (default), they eagerly initialize the Kafka producer and call `initTransactions()` at startup. + +[source,properties] +---- +mp.messaging.outgoing.tx-out-example.pooled-producer.max-pool-size=20 +mp.messaging.outgoing.tx-out-example.pooled-producer.initial-pool-size=5 +---- diff --git a/content/docs/smallrye-reactive-messaging/4/kafka/writing-kafka-records.adoc b/content/docs/smallrye-reactive-messaging/4/kafka/writing-kafka-records.adoc new file mode 100644 index 000000000..6d27eee5b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/kafka/writing-kafka-records.adoc @@ -0,0 +1,354 @@ += Writing Kafka Records +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka Connector can write Reactive Messaging `Messages` as Kafka +Records. + +== Example + +Let’s imagine you have a Kafka broker running, and accessible using the +`kafka:9092` address (by default it would use `localhost:9092`). +Configure your application to write the messages from the `prices` +channel into a Kafka _topic_ as follows: + +[source,properties] +---- +kafka.bootstrap.servers=kafka:9092 # <1> + +mp.messaging.outgoing.prices-out.connector=smallrye-kafka # <2> +mp.messaging.outgoing.prices-out.value.serializer=org.apache.kafka.common.serialization.DoubleSerializer # <3> +mp.messaging.outgoing.prices-out.topic=prices # <4> +---- + +[arabic] +. Configure the broker location. You can configure it globally or per +channel +. Configure the connector to manage the `prices` channel +. Sets the (Kafka) serializer to encode the message payload into the +record’s value +. Make sure the topic name is `prices` (and not the default +`prices-out`) + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The serialization is handled by the underlying Kafka Client. You need to +configure the: + +* `mp.messaging.outgoing.++[++channel-name++]++.value.serializer` to configure +the value serializer (mandatory) +* `mp.messaging.outgoing.++[++channel-name++]++.key.serializer` to configure +the key serializer (optional, default to `String`) + +If you want to use a custom serializer, add it to your `CLASSPATH` and +configure the associate attribute. + +By default, the written record contains: + +* the `Message` payload as _value_ +* no key, or the key configured using the `key` attribute or the key +passed in the metadata attached to the `Message` +* the timestamp computed for the system clock (`now`) or the timestamp +passed in the metadata attached to the `Message` + +== Sending key/value pairs + +In the Kafka world, it’s often necessary to send _records_, i.e. a +key/value pair. The connector provides the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/Record.html[`io.smallrye.reactive.messaging.kafka.Record`] +class that you can use to send a pair: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRecordExample.java[tags=code,indent=0] +---- + +When the connector receives a message with a `Record` payload, it +extracts the key and value from it. The configured serializers for the +key and the value must be compatible with the record’s key and value. +Note that the `key` and the `value` can be `null`. It is also possible +to create a record with a `null` key AND a `null` value. + +If you need more control on the written records, use +`OutgoingKafkaRecordMetadata`. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/OutgoingKafkaRecordMetadata.html[`OutgoingKafkaRecordMetadata`] +to influence how the message is going to be written to Kafka. For example, +you can add Kafka headers, configure the record key… + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Propagating Record Key + +When processing messages, you can propagate incoming record key to the +outgoing record. + +Consider the following example method, which consumes messages from the +channel `in`, transforms the payload, and writes the result to the +channel `out`. + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceProcessor.java[tags=code,indent=0] +---- + +Enabled with +`mp.messaging.outgoing.++[++channel-name++]++.propagate-record-key=true` +configuration, record key propagation produces the outgoing record with +the same _key_ as the incoming record. + +If the outgoing record already contains a _key_, it *won’t be +overridden* by the incoming record key. If the incoming record does +have a _null_ key, the `mp.messaging.outgoing.++[++channel-name++]++.key` +property is used. + +== Propagating Record headers + +You can also propagate incoming record headers to the outgoing record, by specifying the list of headers to be considered. + +`mp.messaging.outgoing.++[++channel-name++]++.propagate-headers=Authorization,Proxy-Authorization` + +If the ougoing record already defines a header with the same key, it won't be overriden by the incoming header. + +== Dynamic topic names + +Sometimes it is desirable to select the destination of a message +dynamically. In this case, you should not configure the topic inside +your application configuration file, but instead, use the outbound +metadata to set the name of the topic. + +For example, you can route to a dynamic topic based on the incoming +message: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaOutboundDynamicTopicExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +Kafka acknowledgement can take times depending on the configuration. +Also, it stores in-memory the records that cannot be written. + +By default, the connector does wait for Kafka to acknowledge the record +to continue the processing (acknowledging the received `Message`). You +can disable this by setting the `waitForWriteCompletion` attribute to +`false`. + +Note that the `acks` attribute has a huge impact on the record +acknowledgement. + +If a record cannot be written, the message is `nacked`. + +== Back-pressure and inflight records + +The Kafka outbound connector handles back-pressure monitoring the number +of in-flight messages waiting to be written to the Kafka broker. The +number of in-flight messages is configured using the +`max-inflight-messages` attribute and defaults to 1024. + +The connector only sends that amount of messages concurrently. No other +messages will be sent until at least one in-flight message gets +acknowledged by the broker. Then, the connector writes a new message to +Kafka when one of the broker’s in-flight messages get acknowledged. Be +sure to configure Kafka’s `batch.size` and `linger.ms` accordingly. + +You can also remove the limit of inflight messages by setting +`max-inflight-messages` to `0`. However, note that the Kafka Producer +may block if the number of requests reaches +`max.in.flight.requests.per.connection`. + +== Handling serialization failures + +For Kafka producer client serialization failures are not recoverable, +thus the message dispatch is not retried. However, using schema +registries, serialization may intermittently fail to contact the +registry. In these cases you may need to apply a failure strategy for +the serializer. To achieve this, create a CDI bean implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/SerializationFailureHandler.html[`SerializationFailureHandler`] +interface: + +[source,java] +---- +@ApplicationScoped +@Identifier("failure-fallback") // Set the name of the failure handler +public class MySerializationFailureHandler + implements SerializationFailureHandler { // Specify the expected type + + @Override + public byte[] decorateSerialization(Uni serialization, String topic, + boolean isKey, String serializer, + Object data, Headers headers) { + return serialization + .onFailure().retry().atMost(3) + .await().atMost(Duration.ofMillis(200)); + } +} +---- + +The bean must be exposed with the `@Identifier` qualifier specifying the +name of the bean. Then, in the connector configuration, specify the +following attribute: + +* `mp.messaging.incoming.$channel.key-serialization-failure-handler`: +name of the bean handling serialization failures happening for the +record’s key +* `mp.messaging.incoming.$channel.value-serialization-failure-handler`: +name of the bean handling serialization failures happening for the +record’s value, + +The handler is called with the serialization action as a `Uni`, the +record’s topic, a boolean indicating whether the failure happened on a +key, the class name of the deserializer that throws the exception, the +corrupted data, the exception, and the records headers. Failure +strategies like retry, providing a fallback value or applying timeout +can be implemented. Note that the method must await on the result and +return the serialized byte array. Alternatively, the handler can +implement `decorateSerialization` method which can return a fallback +value. + +== Sending Cloud Events + +The Kafka connector supports https://cloudevents.io/[Cloud Events]. +The connector sends the outbound record as Cloud Events if: + +* the message metadata contains an +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` +instance, +* the channel configuration defines the `cloud-events-type` and +`cloud-events-source` attributes. + +You can create +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` instances +using: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCloudEventProcessor.java[indent=0] +---- + +If the metadata does not contain an id, the connector generates one +(random UUID). The `type` and `source` can be configured per message or +at the channel level using the `cloud-events-type` and +`cloud-events-source` attributes. Other attributes are also +configurable. + +The metadata can be contributed by multiple methods, however, you must +always retrieve the already existing metadata to avoid overriding the +values: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCloudEventMultipleProcessors.java[indent=0] +---- + +By default, the connector sends the Cloud Events using the _binary_ +format. You can write _structured_ Cloud Events by setting the +`cloud-events-mode` to `structured`. Only JSON is supported, so the +created records had its `content-type` header set to +`application/cloudevents{plus}json; charset=UTF-8` When using the +_structured_ mode, the value serializer must be set to +`org.apache.kafka.common.serialization.StringSerializer`, otherwise the +connector reports the error. In addition, in _structured_, the connector +maps the message’s payload to JSON, except for `String` passed directly. + +The record’s key can be set in the channel configuration (`key` +attribute), in the `OutgoingKafkaRecordMetadata` or using the +`partitionkey` Cloud Event attribute. + +[NOTE] +==== + +you can disable the Cloud Event support by setting the `cloud-events` +attribute to `false` + +==== + +== Using `ProducerRecord` + +Kafka built-in type +https://kafka.apache.org/26/javadoc/index.html?org/apache/kafka/clients/producer/ProducerRecord.html[ProducerRecord++<++K,V++>++] +can also be used for producing messages: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaProducerRecordExample.java[tags=code,indent=0] +---- + +[WARNING] +==== + +This is an advanced feature. The `ProducerRecord` is sent to Kafka as +is. Any possible metadata attached through `Message++<++ProducerRecord++<++K, V++>>++` are ignored and lost. + +==== + +== Producer Interceptors + +Producer interceptors can be configured for Kafka producer clients using the standard `interceptor.classes` property. +Configured classes will be instantiated by the Kafka producer on client creation. + +Alternatively, producer clients can be configured with a CDI managed-bean implementing link:https://javadoc.io/doc/org.apache.kafka/kafka-clients/{javadoc-version}/org/apache/kafka/clients/producer/ProducerInterceptor.html[`org.apache.kafka.clients.producer.ProducerInterceptor`] interface: + +To achieve this, the bean must be exposed with the `@Identifier` qualifier specifying the name of the bean: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/ProducerInterceptorBeanExample.java[indent=0] +---- + +Then, in the channel configuration, specify the following attribute: +`mp.messaging.incoming.$channel.interceptor-bean=my-producer-interceptor`. + +[WARNING] +==== + +The `onSend` method will be called on the producer _sending thread_ and `onAcknowledgement` will be called on the _Kafka producer I/O thread_. +In both cases if implementations are not fast, sending of messages could be delayed. + +==== + +== Configuration Reference + +include::{generated-dir}/smallrye-kafka-outgoing.adoc[indent=0] + +You can also pass any property supported by the underlying https://kafka.apache.org/documentation/#producerconfigs[Kafka +producer]. + +For example, to configure the `batch.size` property, use: + +[source,properties] +---- +mp.messaging.outgoing.[channel].batch.size=32768 +---- + +Some producer client properties are configured to sensible default +values: + +If not set, `reconnect.backoff.max.ms` is set to `10000` to avoid high +load on disconnection. + +If not set, `key.serializer` is set to +`org.apache.kafka.common.serialization.StringSerializer`. + +If not set, producer `client.id` is generated as +`kafka-producer-++[++channel++]++`. diff --git a/content/docs/smallrye-reactive-messaging/4/mqtt/client-customization.adoc b/content/docs/smallrye-reactive-messaging/4/mqtt/client-customization.adoc new file mode 100644 index 000000000..768513593 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/mqtt/client-customization.adoc @@ -0,0 +1,21 @@ += Customizing the underlying MQTT client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying MQTT Client configuration by +_producing_ an instance of +`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`: + +[source,java] +---- +include::{examples-dir}/mqtt/customization/ClientProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.client-options-name=my-options +---- diff --git a/content/docs/smallrye-reactive-messaging/4/mqtt/mqtt.adoc b/content/docs/smallrye-reactive-messaging/4/mqtt/mqtt.adoc new file mode 100644 index 000000000..afa02d06f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/mqtt/mqtt.adoc @@ -0,0 +1,44 @@ += MQTT Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT connector adds support for MQTT to Reactive Messaging. + +It lets you receive messages from an MQTT server or broker as well as +send MQTT messages. The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +Client]. + +== Introduction + +http://mqtt.org/[MQTT] is a machine-to-machine (M2M)/"Internet of +Things" connectivity protocol. It was designed as an extremely +lightweight publish/subscribe messaging transport. + +The MQTT Connector allows consuming messages from MQTT as well as +sending MQTT messages. + +== Using the MQTT connector + +To you the MQTT Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-mqtt + {project-version} + +---- + +The connector name is: `smallrye-mqtt`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-mqtt + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-mqtt +---- diff --git a/content/docs/smallrye-reactive-messaging/4/mqtt/receiving-mqtt-messages.adoc b/content/docs/smallrye-reactive-messaging/4/mqtt/receiving-mqtt-messages.adoc new file mode 100644 index 000000000..5a1e176bb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/mqtt/receiving-mqtt-messages.adoc @@ -0,0 +1,114 @@ += Receiving messages from MQTT +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT Connector connects to a MQTT broker or router, and forward the +messages to the Reactive Messaging application. It maps each of them +into Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a MQTT server/broker running, and accessible +using the `mqtt:1883` address (by default it would use +`localhost:1883`). Configure your application to receive MQTT messages +on the `prices` channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-mqtt # <1> +mp.messaging.incoming.prices.host=mqtt # <2> +mp.messaging.incoming.prices.port=1883 # <3> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the broker/server host name. +. Configure the broker/server port. 1883 is the default. + +[NOTE] +==== + +You don’t need to set the MQTT topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. + +==== + +[NOTE] +==== + +It is generally recommended to set the `client-id`. By default, the connector is generating a unique `client-id`. + +==== + +[IMPORTANT] +==== + +Message coming from MQTT have a `byte++[]++` payload. + +==== + +Then, your application receives `Message++<++byte++[]>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/mqtt/inbound/MqttPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++byte++[]>++`: + +[source,java] +---- +include::{examples-dir}/mqtt/inbound/MqttPriceMessageConsumer.java[indent=0] +---- + +The inbound topic can use the https://mosquitto.org/man/mqtt-7.html[MQTT +wildcards] (`{plus}` and `#`). + +== Deserialization + +The MQTT Connector does not handle the deserialization and creates a +`Message++<++byte++[]>++`. + +== Inbound Metadata + +The MQTT connector does not provide inbound metadata. + +== Failure Management + +If a message produced from a MQTT message is _nacked_, a failure +strategy is applied. The MQTT connector supports 3 strategies: + +* `fail` - fail the application, no more MQTT messages will be +processed. (default) The offset of the record that has not been +processed correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. + +== Configuration Reference + +include::{generated-dir}/smallrye-mqtt-incoming.adoc[indent=0] + +The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +client]. So +you can pass any attribute supported by this client. + +[IMPORTANT] +==== + +A single instance of `MqttClient` and a single connection is used for +each `host` / `port` / `server-name` / `client-id`. This client is +reused for both the inbound and outbound connectors. + +==== + +[IMPORTANT] +==== + +Using `auto-clean-session=false` the MQTT Connector send Subscribe requests +to the broken only if a Persistent Session is not present (like on the first +connection). This means that if a Session is already present (maybe for a +previous run) and you add a new incoming channel, this will not be subscribed. +Beware to check always the subscription present on Broker when use +`auto-clean-session=false`. + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/mqtt/sending-messages-to-mqtt.adoc b/content/docs/smallrye-reactive-messaging/4/mqtt/sending-messages-to-mqtt.adoc new file mode 100644 index 000000000..bc8017414 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/mqtt/sending-messages-to-mqtt.adoc @@ -0,0 +1,94 @@ += Sending messages to MQTT +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT Connector can write Reactive Messaging `Messages` as MQTT +Message. + +== Example + +Let’s imagine you have a MQTT server/broker running, and accessible +using the `mqtt:1883` address (by default it would use +`localhost:1883`). Configure your application to write the messages from +the `prices` channel into a MQTT Messages as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.type=smallrye-mqtt +mp.messaging.outgoing.prices.host=mqtt +mp.messaging.outgoing.prices.port=1883 +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the broker/server host name. +. Configure the broker/server port. 1883 is the default. + +[NOTE] +==== + +You don’t need to set the MQTT topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. +NOTE: It is generally recommended to set the `client-id`. By default, +the connector is generating a unique `client-id`. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/mqtt/outbound/MqttPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/mqtt/outbound/MqttPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The `Message` sent to MQTT can have various payload types: + +* https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`]: +JSON string encoded as `byte++[]++` +* https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`]: +JSON string encoded as `byte++[]++` +* `java.lang.String` and Java primitive types: `toString` encoded as +`byte++[]++` +* `byte++[]++` +* complex objects: The objects are encoded to JSON and passed as +`byte++[]++` + +== Outbound Metadata + +The MQTT connector does not provide outbound metadata. + +== Acknowledgement + +MQTT acknowledgement depends on the QoS level. The message is +acknowledged when the broker indicated the successful reception of the +message (or immediately if the level of QoS does not support +acknowledgment). + +If a MQTT message cannot be sent to the broker, the message is `nacked`. + +== Configuration Reference + +include::{generated-dir}/smallrye-mqtt-outgoing.adoc[indent=0] + +The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +client]. So +you can pass any attribute supported by this client. + +[IMPORTANT] +==== + +A single instance of `MqttClient` and a single connection is used for +each `host` / `port` / `server-name` / `client-id`. This client is +reused for both the inbound and outbound connectors. + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/pulsar/client-configuration.adoc b/content/docs/smallrye-reactive-messaging/4/pulsar/client-configuration.adoc new file mode 100644 index 000000000..c0e021963 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/pulsar/client-configuration.adoc @@ -0,0 +1,98 @@ += Configuring Pulsar clients, consumers and producers +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Pulsar clients, consumers and producers are very customizable to configure how a Pulsar client application behaves. + +The Pulsar connector creates a Pulsar client and, a consumer or a producer per channel, each with sensible defaults to ease their configuration. +Although the creation is handled, all available configuration options remain configurable through Pulsar channels. + +While idiomatic way of creating `PulsarClient`, `PulsarConsumer` or `PulsarProducer` are through builder APIs, in its essence +those APIs build each time a configuration object, to pass onto the implementation. +Those are link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-original/{javadoc-version}/org/apache/pulsar/client/impl/conf/ClientConfigurationData.html[`ClientConfigurationData`], +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-original/{javadoc-version}/org/apache/pulsar/client/impl/conf/ConsumerConfigurationData.html[`ConsumerConfigurationData`], +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-original/{javadoc-version}/org/apache/pulsar/client/impl/conf/ProducerConfigurationData.html[`ProducerConfigurationData`]. + +Pulsar Connector allows receiving properties for those configuration objects directly. +For example, the broker authentication information for `PulsarClient` is received using `authPluginClassName` and `authParams` properties. +In order to configure the authentication for the incoming channel `data` : + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.serviceUrl=pulsar://localhost:6650 +mp.messaging.incoming.data.topic=topic +mp.messaging.incoming.data.subscriptionInitialPosition=Earliest +mp.messaging.incoming.data.schema=INT32 +mp.messaging.incoming.data.authPluginClassName=org.apache.pulsar.client.impl.auth.AuthenticationBasic +mp.messaging.incoming.data.authParams={"userId":"superuser","password":"admin"} +---- + +Note that the Pulsar consumer property `subscriptionInitialPosition` is also configured with the `Earliest` value which represents with enum value `SubscriptionInitialPosition.Earliest`. + +This approach covers most of the configuration cases. +However, non-serializable objects such as `CryptoKeyReader`, `ServiceUrlProvider` etc. cannot be configured this way. +The Pulsar Connector allows taking into account instances of Pulsar configuration data objects – +`ClientConfigurationData`, `ConsumerConfigurationData`, `ProducerConfigurationData`: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=consumer,indent=0] +---- + +This instance is retrieved and used to configure the client used by the connector. +You need to indicate the name of the client using the `client-configuration`, `consumer-configuration` or `producer-configuration` attributes: + +[source,properties] +---- +mp.messaging.incoming.prices.consumer-configuration=my-consumer-options +---- + +If no `++[++client++|++consumer++|++producer++]++-configuration` is configured, the connector will look for instances identified with the channel name: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=client,indent=0] +---- + +You also can provide a `Map++<++String, Object++>++` containing configuration values by key: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=producer,indent=0] +---- + +Different configuration sources are loaded in the following order of precedence, from the least important to the highest: + +[arabic] +. `Map++<++String, Object++>++` config map produced with default config identifier, `default-pulsar-client`, `default-pulsar-consumer`, `default-pulsar-producer`. +. `Map++<++String, Object++>++` config map produced with identifier in the configuration or channel name +. `++[++Client++|++Producer++|++Consuemr++]++ConfigurationData` object produced with identifier in the channel configuration or the channel name +. Channel configuration properties named with `++[++Client++|++Producer++|++Consuemr++]++ConfigurationData` field names. + +Following is the configuration reference for the `PulsarClient`. + +Corresponding sections list the xref:pulsar/receiving-pulsar-messages.adoc#configuration-reference[Consumer Configuration Reference] and +xref:pulsar/sending-messages-to-pulsar.adoc#configuration-reference[Producer Configuration Reference]. +Configuration properties not configurable in configuration files (non-serializable) is noted in the column `Config file`. + +== Shared Resources + +The Pulsar connector shares an event loop group and DNS resolver across all Pulsar clients using +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-api/{javadoc-version}/org/apache/pulsar/client/api/PulsarClientSharedResources.html[`PulsarClientSharedResources`]. +This reduces thread usage and avoids creating separate thread pools per client. + +By default, the connector creates and manages a `PulsarClientSharedResources` instance with shared `EventLoopGroup` and `DnsResolver`. +To customize the shared resources, produce a CDI bean of type `PulsarClientSharedResources`: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=shared-resources,indent=0] +---- + +When a `PulsarClientSharedResources` bean is provided, the connector uses it for all Pulsar clients and does not manage its lifecycle. +The application is responsible for closing the shared resources when they are no longer needed. + +== `PulsarClient` Configuration Reference + +include::{partialsdir}/pulsar/config/smallrye-pulsar-client.adoc[] diff --git a/content/docs/smallrye-reactive-messaging/4/pulsar/client-service.adoc b/content/docs/smallrye-reactive-messaging/4/pulsar/client-service.adoc new file mode 100644 index 000000000..a50e7db91 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/pulsar/client-service.adoc @@ -0,0 +1,24 @@ += PulsarClientService +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For advanced use cases, SmallRye Reactive Messaging provides a bean of +type `PulsarClientService` that you can inject: + +[source,java] +---- +@Inject +PulsarClientService pulsarClients; +---- + +From there, you can obtain +`org.apache.pulsar.client.api.Consumer`, +`org.apache.pulsar.client.api.Producer` and `org.apache.pulsar.client.api.PulsarClient` by channel name. + +[IMPORTANT] +==== + +Note that the https://pulsar.apache.org/docs/3.0.x/admin-api-get-started/[`PulsarAdmin`] is a separate library and the Pulsar connector doesn't provide it out-of-the-box. +You'd need to explicitly add the dependency, i.e. `org.apache.pulsar:pulsar-client-admin-original` artifact. + +==== diff --git a/content/docs/smallrye-reactive-messaging/4/pulsar/health.adoc b/content/docs/smallrye-reactive-messaging/4/pulsar/health.adoc new file mode 100644 index 000000000..090f18c9c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/pulsar/health.adoc @@ -0,0 +1,24 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar connector reports the startup, readiness and liveness of each channel managed by the connector: + +* *Startup & Readiness* For both inbound and outbound, probes report _OK_ when the +connection with the broker is established. +* *Liveness* For both inbound and outbound, the liveness check verifies that the +connection is established *AND* that no failures have been caught. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +Note that a message processing failures _nacks_ the message which is +then handled by the failure-strategy. It is the responsibility of the +failure-strategy to report the failure and influence the outcome of the +liveness checks. The `fail` failure strategy reports the failure and so +the liveness check will report the failure. diff --git a/content/docs/smallrye-reactive-messaging/4/pulsar/pulsar.adoc b/content/docs/smallrye-reactive-messaging/4/pulsar/pulsar.adoc new file mode 100644 index 000000000..29e31c8b8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/pulsar/pulsar.adoc @@ -0,0 +1,64 @@ += Apache Pulsar Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar connector adds support for Apache Pulsar to Reactive Messaging. With +it you can consume Pulsar Messages as well as produce _message_ into Pulsar. + +https://pulsar.apache.org/[Apache Pulsar] an open-source, distributed messaging +and streaming platform built for the cloud. For more details about Pulsar, check the +https://pulsar.apache.org/docs/next/concepts-overview/[documentation]. + +Pulsar implements the publish-subscribe pattern. +Producers publish _messages_ to __topic__s. +Consumers create __subscription__s to those topics to receive and process incoming messages, +and send _acknowledgments_ to the broker when processing is finished. + +When a _subscription_ is created, Pulsar retains all messages, even if the consumer is disconnected. +The retained messages are discarded only when a consumer acknowledges that all these messages are processed successfully. + +A Pulsar _message_ consists of + +* *value*, payload data that message contains, while Pulsar messages contain payloads as unstructured byte array, +a *schema* is applied to write and read with an enforced data structure +* *key* of type string, used for partitioning +* *properties*, optional key/value map +* *topic*, the topic that the message is published to +* *producer name*, the name of the producer who produces the message +* *message ID*, the ID assigned by bookies to a message as soon as the message is persistently stored +* *sequence ID*, the ID assigned by producers, indicating its order in that sequence +* *publish time*, timestamp automatically added by the producer +* *event time*, optional timestamp added by the application + +A Pulsar cluster consists of +- One or more **broker**s, which are stateless components +- A *metadata store* for maintaining topic metadata, schema, coordination and cluster configuration. +By default, a Zookeeper cluster is used, except the standalone mode +- A ensemble of *bookies* used for persistent storage of messages + +== Using the Pulsar Connector + +To use the Pulsar Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-pulsar + {project-version} + +---- + +The connector name is: `smallrye-pulsar`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-pulsar + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-pulsar +---- diff --git a/content/docs/smallrye-reactive-messaging/4/pulsar/receiving-pulsar-messages.adoc b/content/docs/smallrye-reactive-messaging/4/pulsar/receiving-pulsar-messages.adoc new file mode 100644 index 000000000..bafa43e0b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/pulsar/receiving-pulsar-messages.adoc @@ -0,0 +1,196 @@ += Receiving messages from Pulsar +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar Connector connects to a Pulsar broker using a Pulsar client and creates consumers to +receive messages from Pulsar brokers and it maps each of them into Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a Pulsar broker running, and accessible +using the `pulsar:6650` address (by default it would use +`localhost:6650`). Configure your application to receive Pulsar messages +on the `prices` channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-pulsar # <1> +mp.messaging.incoming.prices.serviceUrl=pulsar://pulsar:6650 # <2> +mp.messaging.incoming.prices.schema=DOUBLE # <3> +mp.messaging.incoming.prices.subscriptionInitialPosition=Earliest # <4> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the Pulsar broker service url. +. Configure the schema to consume prices as Double. +. Make sure consumer subscription starts receiving messages from the `Earliest` position. + +[NOTE] +==== + +You don’t need to set the Pulsar topic, nor the consumer name. +By default, the connector uses the channel name (`prices`). +You can configure the `topic` and `consumerName` attributes to override them. + +==== + +[NOTE] +==== + +In Pulsar, consumers need to provide a `subscriptionName` for topic subscriptions. +If not provided the connector is generating a unique *subscription name*. + +==== + +Then, your application can receive the `double` payload directly: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarPriceMessageConsumer.java[indent=0] +---- + +== Consumer Configuration + +The Pulsar Connector allows flexibly configuring the underlying Pulsar consumer. +One of the ways is to set consumer properties directly on the channel configuration. +The list of available configuration properties are listed in xref:#configuration-reference[Configuration Reference]. + +See the xref:pulsar/client-configuration.adoc[Configuring Pulsar consumers, producers and clients] for more information. + +== Deserialization and Pulsar Schema + +The Pulsar Connector allows configuring Schema configuration for the underlying Pulsar consumer. +See the xref:pulsar/schema-configuration.adoc[Configuring the schema used for Pulsar channels] for more information. + +== Inbound Metadata + +The incoming Pulsar messages include an instance of `PulsarIncomingMessageMetadata` in the metadata. +It provides the key, topic, partitions, headers and so on: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a message produced from a Pulsar Message is _acknowledged_, the connector sends an https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#acknowledgment[acknowledgement request] to the Pulsar broker. +All Reactive Messaging messages need to be _acknowledged_, which is handled automatically in most cases. +Acknowledgement requests can be sent to the Pulsar broker using the following two strategies: + +* *Individual acknowledgement* is the default strategy, an acknowledgement request is to the broker for each message. +* *Cumulative acknowledgement*, configured using `ack-strategy=cumulative`, the consumer only acknowledges the last message it received. +All messages in the stream up to (and including) the provided message are not redelivered to that consumer. + +== Failure Management + +If a message produced from a Pulsar message is _nacked_, a failure strategy is applied. +The Pulsar connector supports 4 strategies: + +* `nack` _(default)_ sends https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#negative-acknowledgment[negative acknowledgment] to the broker, triggering the broker to redeliver this message to the consumer. +The negative acknowledgment can be further configured using `negativeAckRedeliveryDelayMicros` and `negativeAck.redeliveryBackoff` properties. +* `fail` fail the application, no more messages will be processed. +* `ignore` the failure is logged, but the acknowledgement strategy will be applied and the processing will continue. +* `continue` the failure is logged, but processing continues without applying acknowledgement or negative acknowledgement. This strategy can be used with xref:#acknowledgement-timeout[acknowledgement timeout] configuration. +* `reconsume-later` sends the message to the https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#retry-letter-topic[retry letter topic] using the `reconsumeLater` API to be reconsumed with a delay. +The delay can be configured using the `reconsumeLater.delay` property and defaults to 3 seconds. +Custom delay or properties per message can be configured by adding an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/pulsar/PulsarReconsumeLaterMetadata.html[`PulsarReconsumeLaterMetadata`] to the failure metadata. + +For example the following configuration for the incoming channel `data` uses `reconsumer-later` failure strategy with default delays of 60 seconds: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.serviceUrl=pulsar://localhost:6650 +mp.messaging.incoming.data.topic=data +mp.messaging.incoming.data.schema=INT32 +mp.messaging.incoming.data.failure-strategy=reconsume-later +mp.messaging.incoming.data.retryEnable=true +mp.messaging.incoming.data.reconsumeLater.delay=60 // in seconds +mp.messaging.incoming.data.deadLetterPolicy.retryLetterTopic=data-retry +mp.messaging.incoming.data.deadLetterPolicy.maxRedeliverCount=2 +---- + +=== Acknowledgement timeout + +Similar to the negative acknowledgement, with the https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#acknowledgment-timeout[acknowledgment timeout] mechanism, the Pulsar client tracks the unacknowledged messages, +for the given _ackTimeout_ period and sends _redeliver unacknowledged messages request_ to the broker, thus the broker resends the unacknowledged messages to the consumer. + +To configure the timeout and redelivery backoff mechanism you can set `ackTimeoutMillis` and `ackTimeout.redeliveryBackoff` properties. +The `ackTimeout.redeliveryBackoff` value accepts comma separated values of min delay in milliseconds, max delay in milliseconds and multiplier respectively: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.failure-strategy=continue +mp.messaging.incoming.data.ackTimeoutMillis=10000 +mp.messaging.incoming.data.ackTimeout.redeliveryBackoff=1000,60000,2 +---- + +=== Dead-letter topic + +The https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#dead-letter-topic[dead letter topic] pushes messages that are not consumed successfully to a dead letter topic an continue message consumption. +Note that dead letter topic can be used in different message redelivery methods, such as acknowledgment timeout, negative acknowledgment or retry letter topic. + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.failure-strategy=nack +mp.messaging.incoming.data.deadLetterPolicy.maxRedeliverCount=2 +mp.messaging.incoming.data.deadLetterPolicy.deadLetterTopic=my-dead-letter-topic +mp.messaging.incoming.data.deadLetterPolicy.initialSubscriptionName=my-dlq-subscription +mp.messaging.incoming.data.subscriptionType=Shared +---- + +[IMPORTANT] +==== + +_Negative acknowledgment_ or _acknowledgment timeout_ methods for redelivery will redeliver the whole batch of messages containing at least an unprocessed message. +See xref:pulsar/sending-messages-to-pulsar.adoc#producer-batching[producer batching] for more information. + +==== + +== Receiving Pulsar Messages in Batches + +By default, incoming methods receive each Pulsar message individually. +You can enable batch mode using `batchReceive=true` property, or setting a `batchReceivePolicy` in consumer configuration. + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMessageBatchExample.java[tags=code,indent=0] +---- + +Or you can directly receive the list of payloads to the consume method: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMessageBatchPayloadExample.java[tags=code,indent=0] +---- + +=== Accessing metadata of batch records + +When receiving records in batch mode, the metadata of each record is accessible through the `PulsarIncomingBatchMessageMetadata` : + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMessageBatchExample.java[tags=batch,indent=0] +---- + +Like in this example, this can be useful to propagate the tracing information of each record. + +== Configuration Reference + +include::{generated-dir}/smallrye-pulsar-incoming.adoc[indent=0] + +In addition to the configuration properties provided by the connector, +following Pulsar consumer properties can also be set on the channel: + +include::{partialsdir}/pulsar/config/smallrye-pulsar-consumer.adoc[] diff --git a/content/docs/smallrye-reactive-messaging/4/pulsar/schema-configuration.adoc b/content/docs/smallrye-reactive-messaging/4/pulsar/schema-configuration.adoc new file mode 100644 index 000000000..67aaf89d5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/pulsar/schema-configuration.adoc @@ -0,0 +1,57 @@ += Configuring the schema used for Pulsar channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Pulsar messages are stored with payloads as unstructured byte array. +A Pulsar *schema* defines how to serialize structured data to the raw message bytes +The *schema* is applied in producers and consumers to write and read with an enforced data structure. +It serializes data into raw bytes before they are published to a topic and deserializes the raw bytes before they are delivered to consumers. + +Pulsar uses a schema registry as a central repository to store the registered schema information, +which enables producers/consumers to coordinate the schema of a topic's messages through brokers. +By default the Apache BookKeeper is used to store schemas. + +Pulsar API provides built-in schema information for a number of +https://pulsar.apache.org/docs/3.0.x/schema-understand#primitive-type[primitive types] +and https://pulsar.apache.org/docs/3.0.x/schema-understand#complex-type[complex types] such as Key/Value, Avro and Protobuf. + +The Pulsar Connector allows specifying the schema as a primitive type using the `schema` property: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-pulsar +mp.messaging.incoming.prices.schema=INT32 + +mp.messaging.outgoing.prices-out.connector=smallrye-pulsar +mp.messaging.outgoing.prices-out.schema=DOUBLE +---- + +If the value for the `schema` property matches a https://javadoc.io/doc/org.apache.pulsar/pulsar-client-api/latest/org/apache/pulsar/common/schema/SchemaType.html[Schema Type] +a simple schema will be created with that type and will be used for that channel. + +The Pulsar Connector allows configuring complex schema types by providing `Schema` beans through CDI, identified with the `@Identifier` qualifier. + +For example the following bean provides an Avro schema and a Key/Value schema: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarSchemaProvider.java[indent=0] +---- + +To configure the incoming channel `users` with defined schema, you need to set the `schema` property to the identifier of the schema `user-schema`: + +[source,properties] +---- +mp.messaging.incoming.users.connector=smallrye-pulsar +mp.messaging.incoming.users.schema=user-schema +---- + +If no `schema` property is found, the connector looks for `Schema` beans identified with the channel name. +For example, the outgoing channel `a-channel` will use the key/value schema. + +[source,properties] +---- +mp.messaging.outgoing.a-channel.connector=smallrye-pulsar +---- + +If no schema information is provided incoming channels will use `Schema.AUTO++_++CONSUME()`, whereas outgoing channels will use `Schema.AUTO++_++PRODUCE++_++BYTES()` schemas. diff --git a/content/docs/smallrye-reactive-messaging/4/pulsar/sending-messages-to-pulsar.adoc b/content/docs/smallrye-reactive-messaging/4/pulsar/sending-messages-to-pulsar.adoc new file mode 100644 index 000000000..f3561a08a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/pulsar/sending-messages-to-pulsar.adoc @@ -0,0 +1,160 @@ += Sending messages to Pulsar +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar Connector can write Reactive Messaging `Message`s as Pulsar Message. + +== Example + +Let’s imagine you have a Pulsar broker running, and accessible +using the `pulsar:6650` address (by default it would use +`localhost:1883`). Configure your application to write the messages from +the `prices` channel into a Pulsar Messages as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-pulsar # <1> +mp.messaging.outgoing.prices.serviceUrl=pulsar://pulsar:6650 # <2> +mp.messaging.outgoing.prices.schema=DOUBLE # <3> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the Pulsar broker service url. +. Configure the schema to consume prices as Double. + +[NOTE] +==== + +You don’t need to set the Pulsar topic, nor the producer name. +By default, the connector uses the channel name (`prices`). +You can configure the `topic` and `producerName` attributes to override them. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarPriceMessageProducer.java[indent=0] +---- + +== Producer Configuration + +The Pulsar Connector allows flexibly configuring the underlying Pulsar producer. +One of the ways is to set producer properties directly on the channel configuration. +The list of available configuration properties are listed in xref:#configuration-reference[Configuration Reference]. + +See the xref:pulsar/client-configuration.adoc[Configuring Pulsar consumers, producers and clients] for more information. + +== Serialization and Pulsar Schema + +The Pulsar Connector allows configuring Schema configuration for the underlying Pulsar producer. +See the xref:pulsar/schema-configuration.adoc[Configuring the schema used for Pulsar channels] for more information. + +== Sending key/value pairs + +In order to send Kev/Value pairs to Pulsar, you can configure the Pulsar producer Schema with a +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-api/{javadoc-version}/org/apache/pulsar/common/schema/KeyValue.html[`org.apache.pulsar.common.schema.KeyValue`] type: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarKeyValueExample.java[tags=code,indent=0] +---- + +If you need more control on the written records, use +`PulsarOutgoingMessageMetadata`. + +== Outbound Metadata + +When sending `Message`s, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-pulsar/{javadoc-version}/io/smallrye/reactive/messaging/pulsar/PulsarOutgoingMessageMetadata.html[`PulsarOutgoingMessageMetadata`] +to influence how the message is going to be written to Pulsar. +For example, configure the record key, and set message properties: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarOutboundMetadataExample.java[tags=code,indent=0] +---- + +== OutgoingMessage + +Using link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-pulsar/{javadoc-version}/io/smallrye/reactive/messaging/pulsar/OutgoingMessage.html[`OutgoingMessage`], +is an easy way of customizing the Pulsar message to be published when dealing with payloads and not `Message`s. + +You can create an `OutgoingMessage` with key and value, or from an incoming Pulsar Message: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarOutgoingMessageExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +Upon receiving a message from a Producer, a Pulsar broker assigns a `MessageId` to the message and sends it back to the producer, +confirming that the message is published. + +By default, the connector does wait for Pulsar to acknowledge the record +to continue the processing (acknowledging the received `Message`). +You can disable this by setting the `waitForWriteCompletion` attribute to `false`. + +If a record cannot be written, the message is `nacked`. + +[IMPORTANT] +==== + +The Pulsar client automatically retries sending messages in case of failure, until the _send timeout_ is reached. +The _send timeout_ is configurable with `sendTimeoutMs` attribute and by default is is 30 seconds. + +==== + +== Back-pressure and inflight records + +The Pulsar outbound connector handles back-pressure monitoring the number +of pending messages waiting to be written to the Pulsar broker. +The number of pending messages is configured using the +`max-inflight-messages` attribute and defaults to 1000. + +The connector only sends that amount of messages concurrently. No other +messages will be sent until at least one pending message gets +acknowledged by the broker. Then, the connector writes a new message to +Pulsar when one of the broker’s pending messages get acknowledged. + +The Pulsar producer also has a limit on the number of pending messages controlled by +`maxPendingMessages` and for partitioned topics `maxPendingMessagesAcrossPartitions` producer configuration properties. +The default value for the both is `0` which means the limit is enforced by the connector and not the underlying producer. +If a `maxPendingMessagesAcrossPartitions` is set and subscribed topic is partitioned, the connector will set the `max-inflight-messages` use the producer's limit. + +[WARNING] +.Deprecation +==== + +Previously a single connector attribute `maxPendingMessages` controlled both the connector back-pressure and the Pulsar producer configuration. +The `max-inflight-messages` attribute is not the same as the Pulsar producer `maxPendingMessages` configuration property. + +==== + +== Producer Batching + +By default, the Pulsar producer batches individual messages together to be published to the broker. +You can configure batching parameters using `batchingMaxPublishDelayMicros`, `batchingPartitionSwitchFrequencyByPublishDelay`, +`batchingMaxMessages`, `batchingMaxBytes` configuration properties, or disable it completely with `batchingEnabled=false`. + +When using `Key++_++Shared` consumer subscriptions, the `batcherBuilder` can be configured to `BatcherBuilder.KEY++_++BASED`. + +== Configuration Reference + +include::{generated-dir}/smallrye-pulsar-outgoing.adoc[indent=0] + +In addition to the configuration properties provided by the connector, +following Pulsar producer properties can also be set on the channel: + +include::{partialsdir}/pulsar/config/smallrye-pulsar-producer.adoc[] diff --git a/content/docs/smallrye-reactive-messaging/4/pulsar/transactions.adoc b/content/docs/smallrye-reactive-messaging/4/pulsar/transactions.adoc new file mode 100644 index 000000000..d46f4e6ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/pulsar/transactions.adoc @@ -0,0 +1,89 @@ += Pulsar Transactions and Exactly-Once Processing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://pulsar.apache.org/docs/3.0.x/txn-why/[Pulsar transactions] enable event streaming applications to consume, process, and produce messages in one atomic operation. + +Transactions allow one or multiple producers to send batch of messages to multiple topics where all messages in the batch are eventually visible to any consumer, or none is ever visible to consumers. + +In order to be used, transaction support needs to be activated on the broker configuration: + +[source,properties] +---- +# used to enable transaction coordinator +transactionCoordinatorEnabled=true + +# used to create systemTopic used for transaction buffer snapshot +systemTopicEnabled=true +---- + +On the client side, the transaction support also needs to be enabled on `PulsarClient` configuration: + +[source,properties] +---- +mp.messaging.outgoing.tx-producer.enableTransaction=true +---- + +Pulsar connector provides `PulsarTransactions` custom emitter for writing records inside a transaction. + +It can be used as a regular emitter `@Channel`: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarTransactionalProducer.java[indent=0] +---- + +The function given to the `withTransaction` method receives a `TransactionalEmitter` for producing records, and returns a `Uni` that provides the result of the transaction. +If the processing completes successfully, the producer is flushed and the transaction is committed. +If the processing throws an exception, returns a failing `Uni`, or marks the `TransactionalEmitter` for abort, the transaction is aborted. + +[NOTE] +==== + +Multiple transactional producers can participate in a single transaction. +This ensures all messages are sent using the started transaction and before the transaction is committed, all participating producers are flushed. + +==== + +If this method is called on a Vert.x context, the processing function is also called on that context. +Otherwise, it is called on the sending thread of the producer. + +== Exactly-Once Processing + +Pulsar Transactions API also allows managing consumer offsets inside a transaction, together with produced messages. +This in turn enables coupling a consumer with a transactional producer in a consume-transform-produce pattern, +also known as exactly-once processing. +It means that an application consumes messages, processes them, publishes the results to a topic, and commits offsets of the consumed messages in a transaction. + +The `PulsarTransactions` emitter also provides a way to apply exactly-once processing to an incoming Pulsar message inside a transaction. + +The following example includes a batch of Pulsar messages inside a transaction. + +[source,properties] +---- + mp.messaging.outgoing.tx-out-example.enableTransaction=true + # ... + mp.messaging.incoming.in-channel.enableTransaction=true + mp.messaging.incoming.in-channel.batchReceive=true +---- + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarExactlyOnceProcessor.java[indent=0] +---- + +If the processing completes successfully, the message is acknowledged inside the transaction and the transaction is committed. + +[IMPORTANT] +==== + +When using exactly-once processing, messages can only be acked individually rather than cumulatively. + +==== + +If the processing needs to abort, the message is nack'ed. One of the failure strategies can be employed in order to retry the processing or simply fail-stop. +Note that the `Uni` returned from the `#withTransaction` will yield a failure if the transaction fails and is aborted. + +The application can choose to handle the error case, but for the message consumption to continue, `Uni` returned from the `@Incoming` method must not result in failure. +`PulsarTransactions#withTransactionAndAck` method will ack and nack the message but will not stop the reactive stream. +Ignoring the failure simply resets the consumer to the last committed offsets and resumes the processing from there. diff --git a/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-client-customization.adoc b/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-client-customization.adoc new file mode 100644 index 000000000..467767813 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-client-customization.adoc @@ -0,0 +1,49 @@ += Customizing the underlying RabbitMQ client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying RabbitMQ Client configuration by +_producing_ an instance of +https://vertx.io/docs/apidocs/io/vertx/rabbitmq/RabbitMQOptions.html[`RabbitMQOptions`]: + +[source,java] +---- +include::{examples-dir}/rabbitmq/customization/RabbitMQProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +.... +mp.messaging.incoming.prices.client-options-name=my-named-options +.... + +== Shared connections + +By default, each channel opens its own connection to the RabbitMQ +broker. If your application has multiple channels connecting to the same +broker, you can configure them to share a single underlying connection +using the `shared-connection-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.orders.connector=smallrye-rabbitmq +mp.messaging.incoming.orders.shared-connection-name=my-connection + +mp.messaging.outgoing.confirmations.connector=smallrye-rabbitmq +mp.messaging.outgoing.confirmations.shared-connection-name=my-connection +---- + +In the above example, the `orders` incoming channel and the +`confirmations` outgoing channel share the same RabbitMQ connection. + +All channels sharing a connection name *must* use identical connection +options (host, port, credentials, SSL settings, virtual host, etc.). +If two channels declare the same `shared-connection-name` but have +different connection options, the connector throws an +`IllegalStateException` at startup. + +Shared connections are useful when your application has many channels +connecting to the same broker and you want to reduce the number of TCP +connections, or when the broker imposes connection limits. diff --git a/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-cloud.adoc b/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-cloud.adoc new file mode 100644 index 000000000..b1df1aed5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-cloud.adoc @@ -0,0 +1,52 @@ += Connecting to managed instances +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This section describes the connector configuration to use managed +RabbitMQ instances (hosted on the Cloud). + +== Cloud AMQP + +To connect to an instance of RabbitMQ hosted on https://www.cloudamqp.com/[Cloud +AMQP], use the following configuration: + +[source,properties] +---- +rabbitmq-host=host-name +rabbitmq-port=5671 +rabbitmq-username=user-name +rabbitmq-password=password +rabbitmq-virtual-host=user-name +rabbitmq-ssl=true +---- + +You can extract the values from the `AMQPS` url displayed on the +administration portal: + +.... +amqps://user-name:password@host/user-name +.... + +== Amazon MQ + +https://aws.amazon.com/amazon-mq/[Amazon MQ] can host RabbitMQ brokers +(as well as AMQP 1.0 brokers). To connect to a RabbitMQ instance hosted +on Amazon MQ, use the following configuration: + +[source,properties] +---- +rabbitmq-host=host-name +rabbitmq-port=5671 +rabbitmq-username=user-name +rabbitmq-password=password +rabbitmq-ssl=true +---- + +You can extract the host value from the `AMQPS` url displayed on the +administration console: + +.... +amqps://foobarbaz.mq.us-east-2.amazonaws.com:5671 +.... + +The username and password are configured during the broker creation. diff --git a/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-health.adoc b/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-health.adoc new file mode 100644 index 000000000..3d2be2654 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq-health.adoc @@ -0,0 +1,27 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ connector reports the readiness and liveness of each +channel managed by the connector. + +On the inbound side (receiving messages from RabbitMQ), the check +verifies that the receiver is connected to the broker. + +On the outbound side (sending records to RabbitMQ), the check verifies +that the sender is not disconnected from the broker; the sender _may_ +still be in an initialized state (connection not yet attempted), but +this is regarded as live/ready. + +You can disable health reporting by setting the `health-enabled` attribute of the channel to `false`. +It disables both liveness and readiness. +You can disable readiness reporting by setting the `health-readiness-enabled` attribute of the channel to `false`. + +== @Channel and lazy subscription + +When you inject a channel using `@Channel` annotation, you are responsible for subscribing to the channel. +Until the subscription happens, the channel is not connected to the broker and thus cannot receive messages. +The default health check will fail in this case. + +To handle this use case, you need to configure the `health-lazy-subscription` attribute of the channel to `true`. +It configures the health check to not fail if there are no subscription yet. diff --git a/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq.adoc new file mode 100644 index 000000000..35bb40e7c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/rabbitmq/rabbitmq.adoc @@ -0,0 +1,57 @@ += RabbitMQ Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ Connector adds support for RabbitMQ to Reactive Messaging, +based on the AMQP 0-9-1 Protocol Specification. + +Advanced Message Queuing Protocol 0-9-1 (https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf[AMQP +0-9-1]) is an +open standard for passing business messages between applications or +organizations. + +With this connector, your application can: + +* receive messages from a RabbitMQ queue +* send messages to a RabbitMQ exchange + +The RabbitMQ connector is based on the https://vertx.io/docs/vertx-rabbitmq-client/java/[Vert.x RabbitMQ +Client]. + +[IMPORTANT] +==== + +The *AMQP connector* supports the AMQP 1.0 protocol, which is very +different from AMQP 0-9-1. You _can_ use the AMQP connector with +RabbitMQ provided that the latter has the https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/v3.7.x/README.md[AMQP 1.0 +Plugin] +installed, albeit with reduced functionality. + +==== + +== Using the RabbitMQ connector + +To use the RabbitMQ Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-rabbitmq + {project-version} + +---- + +The connector name is: `smallrye-rabbitmq`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-rabbitmq + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-rabbitmq +---- diff --git a/content/docs/smallrye-reactive-messaging/4/rabbitmq/receiving-messages-from-rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/4/rabbitmq/receiving-messages-from-rabbitmq.adoc new file mode 100644 index 000000000..4cb450d37 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/rabbitmq/receiving-messages-from-rabbitmq.adoc @@ -0,0 +1,324 @@ += Receiving messages from RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ connector lets you retrieve messages from a https://www.rabbitmq.com/[RabbitMQ +broker]. The RabbitMQ connector retrieves +_RabbitMQ Messages_ and maps each of them into Reactive Messaging +`Messages`. + +[NOTE] +==== + +In this context, the reactive messaging concept of a _Channel_ is +realised as a https://www.rabbitmq.com/queues.html[RabbitMQ Queue]. + +==== + +== Example + +Let’s imagine you have a RabbitMQ broker running, and accessible using +the `rabbitmq:5672` address (by default it would use `localhost:5672`). +Configure your application to receive RabbitMQ Messages on the `prices` +channel as follows: + +[source,properties] +---- +rabbitmq-host=rabbitmq # <1> +rabbitmq-port=5672 # <2> +rabbitmq-username=my-username # <3> +rabbitmq-password=my-password # <4> + +mp.messaging.incoming.prices.connector=smallrye-rabbitmq # <5> +mp.messaging.incoming.prices.queue.name=my-queue # <6> +mp.messaging.incoming.prices.routing-keys=urgent # <7> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `rabbitmq-host`. +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `rabbitmq-port`. The default +is 5672. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`rabbitmq-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`rabbitmq-password`. +. Instructs the `prices` channel to be managed by the RabbitMQ +connector. +. Configures the RabbitMQ queue to read messages from. +. Configures the binding between the RabbitMQ exchange and the +RabbitMQ queue using a routing key. The default is `#` (all messages +will be forwarded from the exchange to the queue) but in general +this can be a comma-separated list of one or more keys. + +Then, your application receives `Message++<++String++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/rabbitmq/inbound/RabbitMQPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++String++>++`: + +[source,java] +---- +include::{examples-dir}/rabbitmq/inbound/RabbitMQPriceMessageConsumer.java[indent=0] +---- + +[NOTE] +==== + +Whether you need to explicitly acknowledge the message depends on the +`auto-acknowledgement` channel setting; if that is set to `true` then +your message will be automatically acknowledged on receipt. + +==== + +== Deserialization + +The connector converts incoming RabbitMQ Messages into Reactive +Messaging `Message++<++T++>++` instances. The payload type `T` depends on the +value of the RabbitMQ received message Envelope `content++_++type` and +`content++_++encoding` properties. + +[width="100%",cols="7%,6%,87%",options="header",] +|=== +|content++_++encoding |content++_++type |Type +|_Value present_ |_n/a_ |`io.vertx.core.buffer.Buffer` +|_No value_ |`text/plain` |`String` +|_No value_ |`application/json` |a JSON element which can be a https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`], https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`], `String`, ... if the buffer contains an array, object, string,... +|_No value_ |`application/json` |Anything else (if one of the `JsonMapping` modules like `smallrye-reactive-messaging-jackson`, `smallrye-reactive-messaging-jsonb` is present on the classpath) +|_No value_ |_Anything else_ |`io.vertx.core.buffer.Buffer` +|=== + +If you send objects with this RabbitMQ connector (outbound connector), +they are encoded as JSON and sent with `content++_++type` set to +`application/json`. You can receive this payload using (Vert.x) JSON +Objects, and then map it to the object class you want: + +[source,java] +---- +@ApplicationScoped +public static class Generator { + + @Outgoing("to-rabbitmq") + public Multi prices() { // <1> + AtomicInteger count = new AtomicInteger(); + return Multi.createFrom().ticks().every(Duration.ofMillis(1000)) + .map(l -> new Price().setPrice(count.incrementAndGet())) + .onOverflow().drop(); + } + +} + +@ApplicationScoped +public static class Consumer { + + List prices = new CopyOnWriteArrayList<>(); + + @Incoming("from-rabbitmq") + public void consume(JsonObject p) { // <2> + Price price = p.mapTo(Price.class); // <3> + prices.add(price); + } + + public List list() { + return prices; + } +} +---- + +[arabic] +. The `Price` instances are automatically encoded to JSON by the +connector +. You can receive it using a `JsonObject` +. Then, you can reconstruct the instance using the `mapTo` method + +== Inbound Metadata + +Messages coming from RabbitMQ contain an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-rabbitmq/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/IncomingRabbitMQMetadata.html[`IncomingRabbitMQMetadata`] +in the metadata. + +RabbitMQ message headers can be accessed from the metadata either by +calling `getHeader(String header, Class++<++T++>++ type)` to retrieve a single +header value. or `getHeaders()` to get a map of all header values. + +[source,java] +---- +include::{examples-dir}/rabbitmq/inbound/RabbitMQMetadataExample.java[tags=code,indent=0] +---- + +The type `++<++T++>++` of the header value depends on the RabbitMQ type used for +the header: + +[cols=",",options="header",] +|=== +|RabbitMQ Header Type |T +|String |`String` +|Boolean |`Boolean` +|Number |`Number` +|List |`java.util.List` +|=== + +If you need to create `IncomingRabbitMQMetadata` e.g. for testing purposes, +you can create an `link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/OutgoingRabbitMQMetadata.html[`OutgoingRabbitMQMetadata`]` +using its builder and convert it using `OutgoingRabbitMQMetadata.toIncomingMetadata(String, boolean)` + +== Acknowledgement + +When a Reactive Messaging Message associated with a RabbitMQ Message is +acknowledged, it informs the broker that the message has been +_accepted_. + +Whether you need to explicitly acknowledge the message depends on the +`auto-acknowledgement` setting for the channel; if that is set to `true` +then your message will be automatically acknowledged on receipt. + +== Failure Management + +If a message produced from a RabbitMQ message is _nacked_, a failure +strategy is applied. The RabbitMQ connector supports three strategies, +controlled by the `failure-strategy` channel setting: + +* `fail` - fail the application; no more RabbitMQ messages will be +processed. The RabbitMQ message is marked as rejected. +* `accept` - this strategy marks the RabbitMQ message as accepted. The +processing continues ignoring the failure. +* `reject` - this strategy marks the RabbitMQ message as rejected +(default). The processing continues with the next message. +* `requeue` - this strategy marks the RabbitMQ message as rejected +with requeue flag to true. The processing continues with the next message, +but the requeued message will be redelivered to the consumer. + +When using `dead-letter-queue`, it is also possible to change some +metadata of the record that is sent to the dead letter topic. To do +that, use the `Message.nack(Throwable, Metadata)` method: + +The RabbitMQ reject `requeue` flag can be controlled on different failure strategies +using the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/RabbitMQRejectMetadata.html[`RabbitMQRejectMetadata`]. +To do that, use the `Message.nack(Throwable, Metadata)` method by including the +`RabbitMQRejectMetadata` metadata with `requeue` to `true`. + +[source,java] +---- +include::{examples-dir}/rabbitmq/inbound/RabbitMQRejectMetadataExample.java[tags=code,indent=0] +---- + +[WARNING] +.Experimental +==== + +`RabbitMQFailureHandler` is experimental and APIs are subject to change in the future + +==== + +In addition, you can also provide your own failure strategy. +To provide a failure strategy implement a bean exposing the interface +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/fault/RabbitMQFailureHandler.html[`RabbitMQFailureHandler`], +qualified with a `@Identifier`. +Set the name of the bean as the `failure-strategy` channel setting. + +== Configuration Reference + +include::{generated-dir}/smallrye-rabbitmq-incoming.adoc[indent=0] + +To use an existing _queue_, you need to configure the `queue.name` +attribute. + +For example, if you have a RabbitMQ broker already configured with a +queue called `peopleQueue` that you wish to read messages from, you need +the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq +mp.messaging.incoming.people.queue.name=peopleQueue +---- + +If you want RabbitMQ to create the queue for you but bind it to an +existing topic exchange `people`, you need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq +mp.messaging.incoming.people.queue.name=peopleQueue +mp.messaging.incoming.people.queue.declare=true +---- + +[NOTE] +==== + +In the above the channel name `people` is implicitly assumed to be the +name of the exchange; if this is not the case you would need to name the +exchange explicitly using the `exchange.name` property. + +==== + +[NOTE] +==== + +The connector supports RabbitMQ's "Server-named Queues" feature to create +an exclusive, auto-deleting, non-durable and randomly named queue. To +enable this feature you set the queue name to exactly `(server.auto)`. +Using this name not only enables the server named queue feature but also +automatically makes ths queue exclusive, auto-deleting, and non-durable; +therefore ignoring any values provided for the `exclusive`, `auto-delete` +and `durable` options. + +==== + +If you want RabbitMQ to create the `people` exchange, queue and binding, +you need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq +mp.messaging.incoming.people.exchange.declare=true +mp.messaging.incoming.people.queue.name=peopleQueue +mp.messaging.incoming.people.queue.declare=true +mp.messaging.incoming.people.queue.routing-keys=tall,short +---- + +In the above we have used an explicit list of routing keys rather than +the default (`#`). Each component of the list creates a separate binding +between the queue and the exchange, so in the case above we would have +two bindings; one based on a routing key of `tall`, the other based on +one of `short`. + +[NOTE] +==== + +The default value of `routing-keys` is `#` (indicating a match against +all possible routing keys) which is only appropriate for _topic_ +Exchanges. If you are using other types of exchange and/or need to +declare queue bindings, you’ll need to supply a valid value for the +exchange in question. + +==== + +== Custom arguments for Queue declaration + +When queue declaration is made by the Reactive Messaging channel, using the `queue.declare=true` configuration, +custom queue arguments can be specified using the `queue.arguments` attribute. +`queue.arguments` accepts the identifier (using the `@Identifier` qualifier) of a `Map++<++String, Object++>++` exposed as a CDI bean. +If no arguments has been configured, the default *rabbitmq-queue-arguments* identifier is looked for. + +The following CDI bean produces such a configuration identified with *my-arguments*: + +[source,java] +---- +include::{examples-dir}/rabbitmq/customization/ArgumentProducers.java[indent=0] +---- + +Then the channel can be configured to use those arguments in exchange declaration: + +[source,properties] +---- +mp.messaging.outgoing.data.queue.arguments=my-arguments +---- + +Similarly, the `dead-letter-queue.arguments` allows configuring custom arguments for dead letter queue when one is declared (`auto-bind-dlq=true`). diff --git a/content/docs/smallrye-reactive-messaging/4/rabbitmq/request-reply.adoc b/content/docs/smallrye-reactive-messaging/4/rabbitmq/request-reply.adoc new file mode 100644 index 000000000..094e929e0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/rabbitmq/request-reply.adoc @@ -0,0 +1,139 @@ += RabbitMQ Request/Reply +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +RabbitMQ Request Reply Emitter is an experimental feature. + +==== + +The RabbitMQ https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html[Request-Reply] pattern allows you to publish a message to a RabbitMQ address and then await for a reply message that responds to the initial request, which can be used to implement https://www.rabbitmq.com/tutorials/tutorial-six-java[RPC over RabbitMQ]. + +Given the following request/reply outgoing configuration example: + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-rabbitmq +mp.messaging.outgoing.my-request.exchange.name=rpc +mp.messaging.outgoing.my-request.exchange.type=direct +mp.messaging.outgoing.my-request.default-routing-key=rpc-request +---- + +The `RabbitMQRequestReply` emitter implements the requestor (or the client) of the request-reply pattern for RabbitMQ outbound channels: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java[indent=0] +---- + +[NOTE] +==== + +While in this example we use a direct exchange, it is also possible to use a topic or fanout exchange as well as https://www.rabbitmq.com/docs/local-random-exchange[Local Random Exchanges] for request/reply. + +==== + +The `request` method publishes the request message to the configured target address of the outgoing channel leveraging RabbitMQ https://www.rabbitmq.com/docs/direct-reply-to[Direct Reply-To], +and waits for a reply. +When the reply is received the returned `Uni` is completed with the message payload. + +The request send operation generates a correlation id and sets the `correlationId` property, +which it expects to be sent back in the reply message. + +The replier (or the server) can be implemented using a Reactive Messaging processor: + +[source,properties] +---- +mp.messaging.incoming.request.connector=smallrye-rabbitmq +mp.messaging.incoming.request.exchange.name=rpc +mp.messaging.incoming.request.exchange.type=direct +mp.messaging.incoming.request.routing-keys=rpc-request + +mp.messaging.outgoing.reply.connector=smallrye-rabbitmq +mp.messaging.outgoing.reply.exchange.name="" +---- + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQReplier.java[indent=0] +---- + +== Requesting with `Message` types + +Like the core Emitter's `send` methods, `request` method also can receive a `Message` type and return a message: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java[indent=0] +---- + +[NOTE] +==== + +The ingested reply type of the `RabbitMQRequestReply` is discovered at runtime, +in order to configure a `MessageConverter` to be applied on the incoming message before returning the `Uni` result. + +==== + +== Requesting multiple replies + +You can use the `requestMulti` method to expect any number of replies represented by the `Multi` return type. + +For example this can be used to aggregate multiple replies to a single request. + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java[indent=0] +---- + +Like the other `request` you can also request `Message` types. + +[NOTE] +==== + +The channel attribute `reply.timeout` will be applied between each message, if reached the returned `Multi` will +fail. + +==== + +== Scaling Request/Reply + +If multiple requestor instances are configured on the same outgoing address, and the same reply address, +each requestor instance will receive replies of all instances. If an observed correlation id doesn't match +the id of any pending replies, the reply is simply discarded. +With the additional network traffic this allows scaling requestors, (and repliers) dynamically. + +== Pending replies and reply timeout + +By default, the `Uni` returned from the `request` method is configured to fail with timeout exception if no replies is received after 5 seconds. +This timeout is configurable with the channel attribute `reply.timeout`. + +A snapshot of the list of pending replies is available through the `RabbitMQRequestReply#getPendingReplies` method. + +== Correlation Ids + +The RabbitMQ Request/Reply allows configuring the correlation id mechanism completely through a `CorrelationIdHandler` implementation. +The default handler is based on randomly generated UUID strings. +The correlation id handler implementation can be configured using the `reply.correlation-id.handler` attribute. +As mentioned the default configuration is `uuid`. + +Custom handlers can be implemented by proposing a CDI-managed bean with `@Identifier` qualifier. + +== Reply Error Handling + +If the reply server produces an error and can or would like to propagate the error back to the requestor, failing the returned `Uni`. + +If configured using the `reply.failure.handler` channel attribute, +the `ReplyFailureHandler` implementations are discovered through CDI, matching the `@Identifier` qualifier. + +A sample reply error handler can lookup header values and return the error to be thrown by the reply: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java[indent=0] +---- + +`null` return value indicates that no error has been found in the reply, and it can be delivered to the application. diff --git a/content/docs/smallrye-reactive-messaging/4/rabbitmq/sending-messages-to-rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/4/rabbitmq/sending-messages-to-rabbitmq.adoc new file mode 100644 index 000000000..320a71d22 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/rabbitmq/sending-messages-to-rabbitmq.adoc @@ -0,0 +1,193 @@ += Sending messages to RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ connector can write Reactive Messaging `Messages` as +RabbitMQ Messages. + +[NOTE] +==== + +In this context, the reactive messaging concept of a _Channel_ is +realised as a https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchanges[RabbitMQ +Exchange]. + +==== + +== Example + +Let’s imagine you have a RabbitMQ broker running, and accessible using +the `rabbitmq:5672` address (by default it would use `localhost:5672`). +Configure your application to send the messages from the `prices` +channel as a RabbitMQ Message as follows: + +.... +rabbitmq-host=rabbitmq # <1> +rabbitmq-port=5672 # <2> +rabbitmq-username=my-username # <3> +rabbitmq-password=my-password # <4> + +mp.messaging.outgoing.prices.connector=smallrye-rabbitmq # <5> +mp.messaging.outgoing.prices.default-routing-key=normal # <6> +.... + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `rabbitmq-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `rabbitmq-port`. The default +is `5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`rabbitmq-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`rabbitmq-password`. +. Instructs the `prices` channel to be managed by the RabbitMQ +connector +. Supplies the default routing key to be included in outbound +messages; this will be if the "raw payload" form of message sending +is used (see below). + +[NOTE] +==== + +You don’t need to set the RabbitMQ exchange name. By default, it uses +the channel name (`prices`) as the name of the exchange to send messages +to. You can configure the `exchange.name` attribute to override it. + +==== + +Then, your application can send `Message++<++Double++>++` to the prices channel. +It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQPriceMessageProducer.java[indent=0] +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a +RabbitMQ Message. The payload is converted to the RabbitMQ Message body. + +[width="100%",cols="59%,41%",options="header",] +|=== +|T |RabbitMQ Message Body +|primitive types or `UUID`/`String` |String value with `content++_++type` set to `text/plain` +|https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] or https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`] |Serialized String payload with `content++_++type` set to `application/json` +|`io.vertx.mutiny.core.buffer.Buffer` |Binary content, with `content++_++type` set to `application/octet-stream` +|`byte++[]++` |Binary content, with content++_++type set to `application/octet-stream` +|Any other class |The payload is converted to JSON (using a Json Mapper) then serialized with `content++_++type` set to `application/json` +|=== + +If the message payload cannot be serialized to JSON, the message is +_nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-rabbitmq/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/OutgoingRabbitMQMetadata.html[`OutgoingRabbitMQMetadata`] +to influence how the message is handled by RabbitMQ. For example, you +can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +broker acknowledges the message. + +== Configuration Reference + +include::{generated-dir}/smallrye-rabbitmq-outgoing.adoc[indent=0] + +== Using existing destinations + +To use an existing _exchange_, you may need to configure the +`exchange.name` attribute. + +For example, if you have a RabbitMQ broker already configured with an +exchange called `people` that you wish to send messages to, you need the +following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people.connector=smallrye-rabbitmq +---- + +You would need to configure the `exchange.name` attribute, if the +exchange name were not the channel name: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-rabbitmq +mp.messaging.outgoing.people-out.exchange.name=people +---- + +If you want RabbitMQ to create the `people` exchange, you need the +following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.exchange.name=people +mp.messaging.outgoing.people-out.exchange.declare=true +---- + +[NOTE] +==== + +The above example will create a `topic` exchange and use an empty +default `routing-key` (unless overridden programatically using outgoing +metadata for the message). If you want to create a different type of +exchange or have a different default routing key, then the +`exchange.type` and `default-routing-key` properties need to be +explicitly specified. + +==== + +== Sending to specific queues via the default exchange + +To send a message to a specific queue (usually a reply queue), +you have to configure the default exchange as an outgoing channel and set the name of the queue as routing key in the message metadata. +The name of the exchange needs to be set to `""`. + +[source,properties] +---- +mp.messaging.outgoing.channel-name-for-default-exchange.connector=smallrye-rabbitmq +mp.messaging.outgoing.channel-name-for-default-exchange.exchange.name="" +---- + +== Custom arguments for Exchange declaration + +When exchange declaration is made by the Reactive Messaging channel, using the `exchange.declare=true` configuration, +custom exchange arguments can be specified using the `exchange.arguments` attribute. +`exchange.arguments` accepts the identifier (using the `@Identifier` qualifier) of a `Map++<++String, Object++>++` exposed as a CDI bean. +If no arguments has been configured, the default *rabbitmq-exchange-arguments* identifier is looked for. + +The following CDI bean produces such a configuration identified with *my-arguments*: + +[source,java] +---- +include::{examples-dir}/rabbitmq/customization/ArgumentProducers.java[indent=0] +---- + +Then the channel can be configured to use those arguments in exchange declaration: + +[source,properties] +---- +mp.messaging.outgoing.data.exchange.arguments=my-arguments +---- + +Similarly, the `dead-letter-exchange.arguments` allows configuring custom arguments for dead letter exchange when one is declared (`dlx.declare=true`). diff --git a/content/docs/smallrye-reactive-messaging/4/sns/sending-aws-sns-messages.adoc b/content/docs/smallrye-reactive-messaging/4/sns/sending-aws-sns-messages.adoc new file mode 100644 index 000000000..69282c824 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/sns/sending-aws-sns-messages.adoc @@ -0,0 +1,72 @@ += Sending AWS SNS Messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AWS SNS connector allows you to send messages to an AWS SNS topic. + +== Sending messages + +Before you start, you need to have an AWS account and an SNS topic created. +To send messages to an SNS topic, you need to create a method that produces messages to the topic. + +Then, your application can send `Message++<++String++>++` to the prices channel. +It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/sns/outbound/SnsProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/sns/outbound/SnsMessageProducer.java[indent=0] +---- + +== Sending messages in batch + +You can configure the outbound channel to send messages in batch of maximum 10 messages (AWS SNS limitation). + +You can customize the size of batches, `10` being the default batch size, and the delay to wait for new messages to be added to the batch, 3000ms being the default delay: + +[source,java] +---- +mp.messaging.outgoing.prices.connector=smallrye-sns +mp.messaging.outgoing.prices.topic=prices +mp.messaging.outgoing.prices.batch=true +mp.messaging.outgoing.prices.batch-size=5 +mp.messaging.outgoing.prices.batch-delay=3000 +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a AWS SNS Message. +How the message is converted depends on the payload type: + +* If the payload is of type `PublishRequest` it is sent as is. +* If the payload is of type `PublishRequest.Builder`, the topic url is set and sent. +* If the payload is of primitive types the payload is converted to String and the message attribute `++_++classname` is set to the class name of the payload. +* If the payload is of any other object type, the payload is serialized (using the `JsonMapping` implementation discovered) and the message attribute `++_++classname` is set to the class name of the payload. + +If the message payload cannot be serialized to JSON, the message is _nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sns/{javadoc-version}/io/smallrye/reactive/messaging/aws/sns/SnsOutboundMetadata.html[`SnsOutboundMetadata`] +to influence how the message is handled by AWS SNS. For example, you can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/sns/outbound/SnsOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +send message request is successful. If the message is not sent successfully, the message is _nacked_. + +== Configuration Reference + +include::{generated-dir}/smallrye-sns-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/4/sns/sns.adoc b/content/docs/smallrye-reactive-messaging/4/sns/sns.adoc new file mode 100644 index 000000000..b24bf08f7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/sns/sns.adoc @@ -0,0 +1,59 @@ += AWS SNS Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Preview +==== + +The AWS SNS Connector is currently in *preview*. + +==== + +The AWS SNS Connector adds support for AWS SNS to Reactive Messaging. + +With this connector, your application can send messages to a AWS SNS topic. + +The AWS SNS connector is based on the https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html[AWS SDK for Java V2]. + +== Using the AWS SNS connector + +To use the AWS SNS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-aws-sns + {project-version} + +---- + +The connector name is: `smallrye-sns`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-sns + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-sns +---- + +== Configuration + +When available the AWS SNS connector discovers the SNS client as a CDI bean. +This allows using the connector with the https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sns.html[Quarkiverse AWS SNS extension]. +If the SNS client is not available as a CDI bean, the connector creates a new client using the provided configuration. + +* `topic` - The name of the SNS queue, defaults to channel name if not provided. +* `region` - The name of the SNS region. +* `endpoint-override` - The endpoint url override. +* `credentials-provider` - The fully qualified class name of the credential provider to be used in the client, if not provided the default provider chain is used. + +== Additional Resources + +* https://docs.aws.amazon.com/sns/index.html[AWS SNS Documentation] +* https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sns.html[Quarkiverse AWS SNS Extension] diff --git a/content/docs/smallrye-reactive-messaging/4/sqs/receiving-aws-sqs-messages.adoc b/content/docs/smallrye-reactive-messaging/4/sqs/receiving-aws-sqs-messages.adoc new file mode 100644 index 000000000..2b03c4832 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/sqs/receiving-aws-sqs-messages.adoc @@ -0,0 +1,140 @@ += Receiving AWS SQS Messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AWS SQS connector allows you to receive messages from an AWS SQS queue. + +== Receiving messages + +Before you start, you need to have an AWS account and a SQS queue created. +To receive messages from an SQS queue, you need to create a method that consumes messages from the queue. + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-sqs +mp.messaging.incoming.data.queue=my-queue +---- + +Then, your application receives `Message++<++String++>++`. +You can consume the payload directly: + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsStringConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++String++>++`: + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsMessageStringConsumer.java[indent=0] +---- + +You also can directly consume the `software.amazon.awssdk.services.sqs.model.Message`: + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsSdkMessageConsumer.java[indent=0] +---- + +=== Receive message request customizer + +The receive message requests sent to AWS SQS can be customized by providing a CDI bean implementation of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsReceiveMessageRequestCustomizer.html[`SqsReceiveMessageRequestCustomizer`] +and configuring it's identifier using the `receive.request.customizer` connector attribute. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java[indent=0] +---- + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-sqs +mp.messaging.incoming.data.queue=my-queue +mp.messaging.incoming.data.receive.request.customizer=my-customizer +---- + +Receive requests failed with retryable exceptions are retried automatically, by setting the failed request id. + +=== Receive message request pause and resume + +The AWS SQS connector fetches messages by continuously sending receive message requests. +If messages are not processed in a timely manner, the connector pauses fetching messages until queued messages are processed. + +The pause resume can be disabled using the `receive.request.pause.resume` connector attribute. + +[source,properties] +---- +mp.messaging.incoming.data.receive.request.pause.resume=false +---- + +== Deserialization + +The connector converts incoming SQS Messages into Reactive Messaging `Message++<++T++>++` instances. + +The payload type `T` is determined based on the value of the SQS message attribute `++_++classname`. + +If you send messages with the AWS SQS connector (outbound connector), +the `++_++classname` attribute is automatically added to the message. +The primitive types are transformed from the string representation to the corresponding Java type. +For objects, if one of the `JsonMapping` modules is present on the classpath, +the connector used that JSON module to deserialize the message body to objects. + +If the `++_++classname` attribute is not present, the payload is deserialized as a `String`. + +[source,java] +---- +include::{examples-dir}/sqs/json/SqsJsonMapping.java[tags=code,indent=0] +---- + +== Inbound Metadata + +Messages coming from SQS contain an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsIncomingMetadata.html[`SqsIncomingMetadata`] +in the metadata. + +SQS message attributes can be accessed from the metadata either by name or by the `MessageAttributeValue` object. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsMetadataExample.java[indent=0] +---- + +== Acknowledgement Strategies + +The default strategy for acknowledging AWS SQS Message is to _delete_ the message from the queue. +You can set the `ack-strategy` attribute to `ignore` if you want to ignore the message. + +++[++NOTE++]++ Deprecated +`ack.delete` attribute is deprecated and will be removed in a future release. + +You can implement a custom strategy by implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsAckHandler.html[`SqsAckHandler`], +interface with a `Factory` class and registering it as a CDI bean with an `@Identifier`. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsCustomAckStrategy.java[indent=0] +---- + +== Failure Strategies + +The default strategy for handling message processing failures is `ignore`. +It lets the visibility timeout of the message consumer to expire and reconsume the message. + +Other possible strategies are: + +* `fail`: the failure is logged and the channel fail-stops. +* `delete`: the message is removed from the queue. +* `visibility`: the message visibility timeout is reset to 0. + +You can implement a custom strategy by implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsFailureHandler.html[`SqsFailureHandler`], +interface with a `Factory` class and registering it as a CDI bean with an `@Identifier`. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsCustomNackStrategy.java[indent=0] +---- + +== Configuration Reference + +include::{generated-dir}/smallrye-sqs-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/4/sqs/sending-aws-sqs-messages.adoc b/content/docs/smallrye-reactive-messaging/4/sqs/sending-aws-sqs-messages.adoc new file mode 100644 index 000000000..94e92d1ce --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/sqs/sending-aws-sqs-messages.adoc @@ -0,0 +1,74 @@ += Sending AWS SQS Messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AWS SQS connector allows you to send messages to an AWS SQS queue. + +== Sending messages + +Before you start, you need to have an AWS account and an SQS queue created. +To send messages to an SQS queue, you need to create a method that produces messages to the queue. + +Then, your application can send `Message++<++String++>++` to the prices channel. +It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/sqs/outbound/SqsStringProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/sqs/outbound/SqsMessageStringProducer.java[indent=0] +---- + +== Sending messages in batch + +You can configure the outbound channel to send messages in batch of maximum 10 messages (AWS SQS limitation). + +You can customize the size of batches, `10` being the default batch size, and the delay to wait for new messages to be added to the batch, 3000ms being the default delay: + +[source,java] +---- +mp.messaging.outgoing.prices.connector=smallrye-sqs +mp.messaging.outgoing.prices.queue=prices +mp.messaging.outgoing.prices.batch=true +mp.messaging.outgoing.prices.batch-size=5 +mp.messaging.outgoing.prices.batch-delay=3000 +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a AWS SQS Message. +How the message is converted depends on the payload type: + +* If the payload is of type `SendMessageRequest` it is sent as is. +* If the payload is of type `SendMessageRequest.Builder`, the queue url is set and sent. +* If the payload is of type `software.amazon.awssdk.services.sqs.model.Message` it is usd to set the message body and attributes. +* If the payload is of primitive types the paylaod is converted to String and the message attribute `++_++classname` is set to the class name of the payload. +* If the payload is of any other object type, the payload is serialized (using the `JsonMapping` implementation discovered) and the message attribute `++_++classname` is set to the class name of the payload. + +If the message payload cannot be serialized to JSON, the message is _nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsOutboundMetadata.html[`SqsOutboundMetadata`] +to influence how the message is handled by AWS SQS. For example, you +can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/sqs/outbound/SqsOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +send message request is successful. If the message is not sent successfully, the message is _nacked_. + +== Configuration Reference + +include::{generated-dir}/smallrye-sqs-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/4/sqs/sqs.adoc b/content/docs/smallrye-reactive-messaging/4/sqs/sqs.adoc new file mode 100644 index 000000000..83b664f6d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/4/sqs/sqs.adoc @@ -0,0 +1,62 @@ += AWS SQS Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Preview +==== + +The AWS SQS Connector is currently in *preview*. + +==== + +The AWS SQS Connector adds support for AWS SQS to Reactive Messaging. + +With this connector, your application can: + +* receive messages from a RabbitMQ queue +* send messages to a RabbitMQ exchange + +The AWS SQS connector is based on the https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html[AWS SDK for Java V2]. + +== Using the AWS SQS connector + +To use the AWS SQS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-aws-sqs + {project-version} + +---- + +The connector name is: `smallrye-sqs`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-sqs + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-sqs +---- + +== Configuration + +When available the AWS SQS connector discovers the SQS client as a CDI bean. +This allows using the connector with the https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sqs.html[Quarkiverse AWS SQS extension]. +If the SQS client is not available as a CDI bean, the connector creates a new client using the provided configuration. + +* `queue` - The name of the SQS queue, defaults to channel name if not provided. +* `region` - The name of the SQS region. +* `endpoint-override` - The endpoint url override. +* `credentials-provider` - The fully qualified class name of the credential provider to be used in the client, if not provided the default provider chain is used. + +== Additional Resources + +* https://docs.aws.amazon.com/sqs/index.html[AWS SQS Documentation] +* https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sqs.html[Quarkiverse AWS SQS Extension] diff --git a/content/docs/smallrye-reactive-messaging/latest/_attributes.adoc b/content/docs/smallrye-reactive-messaging/latest/_attributes.adoc new file mode 100644 index 000000000..085815d5d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_attributes.adoc @@ -0,0 +1,26 @@ +:project-version: 5.0.0-RC1 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Reactive Messaging +:javadoc-version: latest +:version: 5.0.0 +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 5.0.0-RC1 +:relfileprefix: /docs/smallrye-reactive-messaging/latest/ +:imagesdir: /docs/smallrye-reactive-messaging/latest +:docs-project: smallrye-reactive-messaging +:docs-version: latest +:docs-ref: 5.0.0-RC1 +:weld-version: 6.0.4.Final +:smallrye-config-version: 3.18.3 +:mutiny-version: 3.1.0 +:camel-version: 4.22.1 +:spec-version: 3.0.1 diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/ack/AutoNack.java b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/AutoNack.java new file mode 100644 index 000000000..bdb5a371a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/AutoNack.java @@ -0,0 +1,55 @@ +package ack; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class AutoNack { + + // tag::auto-nack[] + @Incoming("data") + @Outgoing("out") + public String process(String s) { + if (s.equalsIgnoreCase("b")) { + // Throwing an exception triggers a nack + throw new IllegalArgumentException("b"); + } + + if (s.equalsIgnoreCase("e")) { + // Returning null would skip the message (it will be acked) + return null; + } + + return s.toUpperCase(); + } + + @Incoming("data") + @Outgoing("out") + public Uni processAsync(String s) { + if (s.equalsIgnoreCase("a")) { + // Returning a failing Uni triggers a nack + return Uni.createFrom().failure(new Exception("a")); + } + + if (s.equalsIgnoreCase("b")) { + // Throwing an exception triggers a nack + throw new IllegalArgumentException("b"); + } + + if (s.equalsIgnoreCase("e")) { + // Returning null would skip the message (it will be acked not nacked) + return Uni.createFrom().nullItem(); + } + + if (s.equalsIgnoreCase("f")) { + // returning `null` is invalid for method returning Unis, the message is nacked + return null; + } + + return Uni.createFrom().item(s.toUpperCase()); + } + + // end::auto-nack[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/ack/MessageAckExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/MessageAckExamples.java new file mode 100644 index 000000000..5b4ddf459 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/MessageAckExamples.java @@ -0,0 +1,52 @@ +package ack; + +import java.util.concurrent.CompletableFuture; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class MessageAckExamples { + + // tag::with-payload[] + @Incoming("in") + @Outgoing("out") + public Message process(Message in) { + // The acknowledgement is forwarded, when the consumer + // acknowledges the message, `in` will be acknowledged + return in.withPayload(in.getPayload() + 1); + } + // end::with-payload[] + + public void creation() { + // tag::message-creation[] + Message message = Message.of("hello", () -> { + // called when the consumer acknowledges the message + + // return a CompletionStage completed when the + // acknowledgment of the created message is + // completed. + // For immediate ack use: + return CompletableFuture.completedFuture(null); + + }); + // end::message-creation[] + } + + // tag::process[] + @Incoming("in") + @Outgoing("out") + public Message processAndProduceNewMessage(Message in) { + // The acknowledgement is forwarded, when the consumer + // acknowledges the message, `in` will be acknowledged + return Message.of(in.getPayload() + 1, + () -> { + // Called when the consumer acknowledges the message + // ... + // Don't forget to acknowledge the incoming message: + return in.ack(); + }); + } + // end::process[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/ack/NackOnEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/NackOnEmitter.java new file mode 100644 index 000000000..ffdbc70bc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/NackOnEmitter.java @@ -0,0 +1,27 @@ +package ack; + +import java.util.concurrent.CompletionStage; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Emitter; + +public class NackOnEmitter { + + // tag::emitter[] + @Inject + @Channel("data") + Emitter emitter; + + public void emitPayload() { + CompletionStage completionStage = emitter.send("hello"); + completionStage.whenComplete((acked, nacked) -> { + if (nacked != null) { + // the processing has failed + } + }); + } + // end::emitter[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/ack/PreAckExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/PreAckExamples.java new file mode 100644 index 000000000..04b336bde --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/PreAckExamples.java @@ -0,0 +1,20 @@ +package ack; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class PreAckExamples { + + // tag::pre[] + @Incoming("in") + @Outgoing("out") + @Acknowledgment(Acknowledgment.Strategy.PRE_PROCESSING) + public String process(String input) { + // The message wrapping the payload is already acknowledged + // The default would have waited the produced message to be + // acknowledged + return input.toUpperCase(); + } + // end::pre[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/ack/StreamAckExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/StreamAckExamples.java new file mode 100644 index 000000000..ea47f34b4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/ack/StreamAckExamples.java @@ -0,0 +1,42 @@ +package ack; + +import java.util.concurrent.Flow.Publisher; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class StreamAckExamples { + + // tag::message[] + @Incoming("in") + @Outgoing("out") + public Publisher> transform(Multi> stream) { + return stream + .map(message -> message.withPayload(message.getPayload().toUpperCase())); + } + // end::message[] + + // tag::payload[] + @Incoming("in") + @Outgoing("out") + public Publisher transformPayload(Multi stream) { + return stream + // The incoming messages are already acknowledged + .map(String::toUpperCase); + } + // end::payload[] + + // tag::payload-to-multi[] + @Incoming("in") + @Outgoing("out") + // Defaults to pre-processing, but post-processing is also supported + @Acknowledgment(Acknowledgment.Strategy.POST_PROCESSING) + public Multi transformPayload(String one) { + return Multi.createFrom().items(one, one); + } + // end::payload-to-multi[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/ClientProducers.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/ClientProducers.java new file mode 100644 index 000000000..4dfa6c829 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/ClientProducers.java @@ -0,0 +1,34 @@ +package amqp.customization; + +import jakarta.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.vertx.amqp.AmqpClientOptions; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; + +public class ClientProducers { + + // tag::named[] + @Produces + @Identifier("my-options") + public AmqpClientOptions getNamedOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return new AmqpClientOptions() + .setSsl(true) + .setKeyCertOptions(keycert) + .setTrustOptions(trust) + .addEnabledSaslMechanism("EXTERNAL") + .setHostnameVerificationAlgorithm("") // Disable hostname verification + .setConnectTimeout(30000) + .setReconnectInterval(5000) + .setContainerId("my-container"); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/MyCbsTokenProvider.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/MyCbsTokenProvider.java new file mode 100644 index 000000000..45346773f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/MyCbsTokenProvider.java @@ -0,0 +1,32 @@ +package amqp.customization; + +import java.time.OffsetDateTime; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.AmqpConnectorCommonConfiguration; +import io.smallrye.reactive.messaging.amqp.cbs.CbsToken; +import io.smallrye.reactive.messaging.amqp.cbs.CbsTokenProvider; +import io.smallrye.reactive.messaging.amqp.cbs.DefaultCbsToken; + +// tag::provider[] +@ApplicationScoped +public class MyCbsTokenProvider implements CbsTokenProvider { + + @Override + public Uni getToken(AmqpConnectorCommonConfiguration config) { + String token = fetchTokenFromAuthService(); + return Uni.createFrom().item(new DefaultCbsToken( + token, + "jwt", + OffsetDateTime.now().plusHours(1), + OffsetDateTime.now().plusMinutes(45))); + } + + private String fetchTokenFromAuthService() { + // Retrieve a token from your identity provider + return "my-jwt-token"; + } +} +// end::provider[] diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/MySasTokenProvider.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/MySasTokenProvider.java new file mode 100644 index 000000000..0440f43b5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/customization/MySasTokenProvider.java @@ -0,0 +1,29 @@ +package amqp.customization; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.AmqpConnectorCommonConfiguration; +import io.smallrye.reactive.messaging.amqp.cbs.CbsToken; +import io.smallrye.reactive.messaging.amqp.cbs.CbsTokenProvider; +import io.smallrye.reactive.messaging.amqp.cbs.DefaultCbsToken; + +// tag::sas-provider[] +@ApplicationScoped +public class MySasTokenProvider implements CbsTokenProvider { + + @Override + public Uni getToken(AmqpConnectorCommonConfiguration config) { + String sasToken = generateSasToken(config.getHost()); + return Uni.createFrom().item(new DefaultCbsToken( + sasToken, + "servicebus.windows.net:sastoken", + 3600)); // valid for 1 hour + } + + private String generateSasToken(String host) { + // Build a SAS token for Azure Service Bus + return "SharedAccessSignature sr=..."; + } +} +// end::sas-provider[] diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpMetadataExample.java new file mode 100644 index 000000000..8683ccbb7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpMetadataExample.java @@ -0,0 +1,27 @@ +package amqp.inbound; + +import java.util.Optional; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.IncomingAmqpMetadata; +import io.vertx.core.json.JsonObject; + +public class AmqpMetadataExample { + + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + Optional metadata = incoming.getMetadata(IncomingAmqpMetadata.class); + metadata.ifPresent(meta -> { + String address = meta.getAddress(); + String subject = meta.getSubject(); + boolean durable = meta.isDurable(); + // Use io.vertx.core.json.JsonObject + JsonObject properties = meta.getProperties(); + // ... + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpPriceConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpPriceConsumer.java new file mode 100644 index 000000000..ac877fc2b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpPriceConsumer.java @@ -0,0 +1,15 @@ +package amqp.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class AmqpPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpPriceMessageConsumer.java new file mode 100644 index 000000000..1611ebf7d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/inbound/AmqpPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package amqp.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class AmqpPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message, marking the AMQP message as `accepted`. + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java new file mode 100644 index 000000000..f87f08a15 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java @@ -0,0 +1,39 @@ +package amqp.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class AmqpCloudEventMultipleProcessors { + + @Incoming("source") + @Outgoing("processed") + public Message process(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greeting") + .build()); + } + + @SuppressWarnings("unchecked") + @Incoming("processed") + @Outgoing("cloud-events") + public Message process2(Message in) { + OutgoingCloudEventMetadata metadata = in + .getMetadata(OutgoingCloudEventMetadata.class) + .orElseGet(() -> OutgoingCloudEventMetadata.builder().build()); + + return in.addMetadata(OutgoingCloudEventMetadata.from(metadata) + .withSource(URI.create("source://me")) + .withSubject("test") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpCloudEventProcessor.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpCloudEventProcessor.java new file mode 100644 index 000000000..3b7a981f8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpCloudEventProcessor.java @@ -0,0 +1,25 @@ +package amqp.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class AmqpCloudEventProcessor { + + @Outgoing("cloud-events") + public Message toCloudEvents(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greetings") + .withSource(URI.create("http://example.com")) + .withSubject("greeting-message") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java new file mode 100644 index 000000000..35f848796 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java @@ -0,0 +1,26 @@ +package amqp.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +public class AmqpOutboundDynamicAddressExample { + public Message metadata(Message incoming) { + + // tag::code[] + String addressName = selectAddressFromIncommingMessage(incoming); + OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder() + .withAddress(addressName) + .withDurable(true) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + + private String selectAddressFromIncommingMessage(Message incoming) { + return "fake"; + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpOutboundMetadataExample.java new file mode 100644 index 000000000..3eef8b590 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpOutboundMetadataExample.java @@ -0,0 +1,23 @@ +package amqp.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +public class AmqpOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder() + .withDurable(true) + .withSubject("my-subject") + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpPriceMessageProducer.java new file mode 100644 index 000000000..418a901b3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpPriceMessageProducer.java @@ -0,0 +1,26 @@ +package amqp.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class AmqpPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpPriceProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpPriceProducer.java new file mode 100644 index 000000000..0e760b71f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpPriceProducer.java @@ -0,0 +1,25 @@ +package amqp.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class AmqpPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpReplier.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpReplier.java new file mode 100644 index 000000000..7f5236aba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpReplier.java @@ -0,0 +1,20 @@ +package amqp.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class AmqpReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + String handleRequest(String request) { + return request + "-" + rand.nextInt(100); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpReplierWithMetadata.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpReplierWithMetadata.java new file mode 100644 index 000000000..c798cd136 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpReplierWithMetadata.java @@ -0,0 +1,31 @@ +package amqp.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.amqp.IncomingAmqpMetadata; +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +@ApplicationScoped +public class AmqpReplierWithMetadata { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + Message handleRequest(Message request) { + IncomingAmqpMetadata incoming = request.getMetadata(IncomingAmqpMetadata.class) + .orElseThrow(); + OutgoingAmqpMetadata outMeta = OutgoingAmqpMetadata.builder() + .withAddress(incoming.getReplyTo()) + .withCorrelationId(incoming.getId()) + .build(); + String reply = request.getPayload() + "-" + rand.nextInt(100); + return request.withPayload(reply).addMetadata(outMeta); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyEmitter.java new file mode 100644 index 000000000..f1d5285c8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyEmitter.java @@ -0,0 +1,21 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.reply.AmqpRequestReply; + +@ApplicationScoped +public class AmqpRequestReplyEmitter { + + @Inject + @Channel("my-request") + AmqpRequestReply quoteRequest; + + public Uni requestQuote(String request) { + return quoteRequest.request(request); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java new file mode 100644 index 000000000..de5f1bbaf --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java @@ -0,0 +1,22 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.reply.AmqpRequestReply; + +@ApplicationScoped +public class AmqpRequestReplyMessageEmitter { + + @Inject + @Channel("my-request") + AmqpRequestReply quoteRequest; + + public Uni> requestMessage(String request) { + return quoteRequest.request(Message.of(request)); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java new file mode 100644 index 000000000..25d776606 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java @@ -0,0 +1,21 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.amqp.reply.AmqpRequestReply; + +@ApplicationScoped +public class AmqpRequestReplyMultiEmitter { + + @Inject + @Channel("my-request") + AmqpRequestReply quoteRequest; + + public Multi requestQuote(String request) { + return quoteRequest.requestMulti(request).select().first(5); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java new file mode 100644 index 000000000..77b1d2d14 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java @@ -0,0 +1,24 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.amqp.AmqpMessage; +import io.smallrye.reactive.messaging.amqp.reply.ReplyFailureHandler; + +@ApplicationScoped +@Identifier("my-reply-error") +public class MyAmqpReplyFailureHandler implements ReplyFailureHandler { + + @Override + public Throwable handleReply(AmqpMessage replyMessage) { + var properties = replyMessage.getApplicationProperties(); + if (properties != null) { + String error = properties.getString("REPLY_ERROR"); + if (error != null) { + return new IllegalArgumentException(error); + } + } + return null; + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/beans/Chain.java b/content/docs/smallrye-reactive-messaging/latest/_examples/beans/Chain.java new file mode 100644 index 000000000..8a44b6d55 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/beans/Chain.java @@ -0,0 +1,27 @@ +package beans; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class Chain { + + // tag::chain[] + @Outgoing("source") + public Multi generate() { + return Multi.createFrom().items("Hello", "from", "reactive", "messaging"); + } + + @Incoming("source") + @Outgoing("sink") + public String process(String in) { + return in.toUpperCase(); + } + + @Incoming("sink") + public void consume(String processed) { + System.out.println(processed); + } + // end::chain[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/beans/MessageProcessingBean.java b/content/docs/smallrye-reactive-messaging/latest/_examples/beans/MessageProcessingBean.java new file mode 100644 index 000000000..edfbf0df4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/beans/MessageProcessingBean.java @@ -0,0 +1,20 @@ +package beans; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class MessageProcessingBean { + + @Incoming("consumed-channel") + @Outgoing("populated-channel") + public Message process(Message in) { + // Process the payload + String payload = in.getPayload().toUpperCase(); + // Create a new message from `in` and just update the payload + return in.withPayload(payload); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/beans/PayloadProcessingBean.java b/content/docs/smallrye-reactive-messaging/latest/_examples/beans/PayloadProcessingBean.java new file mode 100644 index 000000000..b7fa6b0ae --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/beans/PayloadProcessingBean.java @@ -0,0 +1,16 @@ +package beans; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class PayloadProcessingBean { + + @Incoming("consumed-channel") + @Outgoing("populated-channel") + public String process(String in) { + return in.toUpperCase(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/broadcast/BroadcastExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/broadcast/BroadcastExamples.java new file mode 100644 index 000000000..53a8bb160 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/broadcast/BroadcastExamples.java @@ -0,0 +1,29 @@ +package broadcast; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Broadcast; + +public class BroadcastExamples { + + // tag::chain[] + @Incoming("in") + @Outgoing("out") + @Broadcast + public int increment(int i) { + return i + 1; + } + + @Incoming("out") + public void consume1(int i) { + //... + } + + @Incoming("out") + public void consume2(int i) { + //... + } + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/broadcast/BroadcastWithCountExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/broadcast/BroadcastWithCountExamples.java new file mode 100644 index 000000000..e227d7747 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/broadcast/BroadcastWithCountExamples.java @@ -0,0 +1,29 @@ +package broadcast; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Broadcast; + +public class BroadcastWithCountExamples { + + // tag::chain[] + @Incoming("in") + @Outgoing("out") + @Broadcast(2) + public int increment(int i) { + return i + 1; + } + + @Incoming("out") + public void consume1(int i) { + //... + } + + @Incoming("out") + public void consume2(int i) { + //... + } + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/camel/api/CamelApi.java b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/api/CamelApi.java new file mode 100644 index 000000000..f96087599 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/api/CamelApi.java @@ -0,0 +1,94 @@ +package camel.api; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; + +import org.apache.camel.BindToRegistry; +import org.apache.camel.CamelContext; +import org.apache.camel.Exchange; +import org.apache.camel.builder.LambdaRouteBuilder; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; +import org.reactivestreams.Publisher; +import org.reactivestreams.Subscriber; + +public class CamelApi { + + // tag::reactive[] + @Inject + CamelReactiveStreamsService reactiveStreamsService; + // end::reactive[] + + // tag::source[] + @Outgoing("camel") + public Publisher retrieveDataFromCamelRoute() { + return reactiveStreamsService.from("seda:camel"); + } + // end::source[] + + // tag::source-route-builder[] + @Singleton + static class MyRouteBuilder extends RouteBuilder { + @Inject + CamelReactiveStreamsService reactiveStreamsService; + + @Outgoing("sink") + public Publisher getDataFromCamelRoute() { + return reactiveStreamsService.fromStream("my-stream", String.class); + } + + @Override + public void configure() { + from("seda:camel").process( + exchange -> exchange.getMessage().setBody(exchange.getIn().getBody(String.class).toUpperCase())) + .to("reactive-streams:my-stream"); + } + } + // end::source-route-builder[] + + // tag::source-lambda-route-builder[] + @ApplicationScoped + static class MyLambdaRouteBuilder { + @Inject + CamelReactiveStreamsService reactiveStreamsService; + + @Outgoing("sink") + public Publisher getDataFromCamelRoute() { + return reactiveStreamsService.fromStream("my-stream", String.class); + } + + @Produces + @BindToRegistry + public LambdaRouteBuilder route() { + return rb -> rb.from("seda:camel").process( + exchange -> exchange.getMessage().setBody(exchange.getIn().getBody(String.class).toUpperCase())) + .to("reactive-streams:my-stream"); + } + } + // end::source-lambda-route-builder[] + + // tag::sink[] + @Incoming("to-camel") + public Subscriber sendDataToCamelRoute() { + return reactiveStreamsService.subscriber("file:./target?fileName=values.txt&fileExist=append", + String.class); + } + // end::sink[] + + // tag::producer[] + @Inject + CamelContext camel; + + @Incoming("to-camel") + public CompletionStage sink(String value) { + return camel.createProducerTemplate() + .asyncSendBody("file:./target?fileName=values.txt&fileExist=append", value).thenApply(x -> null); + } + // end::producer[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/CamelFileConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/CamelFileConsumer.java new file mode 100644 index 000000000..21c206129 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/CamelFileConsumer.java @@ -0,0 +1,20 @@ +package camel.inbound; + +import java.io.File; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class CamelFileConsumer { + + @Incoming("files") + public void consume(GenericFile gf) { + File file = gf.getFile(); + // process the file + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/CamelFileMessageConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/CamelFileMessageConsumer.java new file mode 100644 index 000000000..56cbc8559 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/CamelFileMessageConsumer.java @@ -0,0 +1,23 @@ +package camel.inbound; + +import java.io.File; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class CamelFileMessageConsumer { + + @Incoming("files") + public CompletionStage consume(Message> msg) { + File file = msg.getPayload().getFile(); + // process the file + + return msg.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/IncomingCamelMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/IncomingCamelMetadataExample.java new file mode 100644 index 000000000..63f0a4f3d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/inbound/IncomingCamelMetadataExample.java @@ -0,0 +1,29 @@ +package camel.inbound; + +import java.io.File; +import java.util.Optional; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.camel.Exchange; +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.camel.IncomingExchangeMetadata; + +@ApplicationScoped +public class IncomingCamelMetadataExample { + + @Incoming("files") + public CompletionStage consume(Message> msg) { + Optional metadata = msg.getMetadata(IncomingExchangeMetadata.class); + if (metadata.isPresent()) { + // Retrieve the camel exchange: + Exchange exchange = metadata.get().getExchange(); + } + return msg.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelOutboundMetadataExample.java new file mode 100644 index 000000000..3261e7371 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelOutboundMetadataExample.java @@ -0,0 +1,31 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.camel.OutgoingExchangeMetadata; + +@ApplicationScoped +public class CamelOutboundMetadataExample { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // tag::code[] + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)) + .map(s -> Message.of(s) + .addMetadata(new OutgoingExchangeMetadata() + .putProperty("my-property", "my-value"))); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelPriceMessageProducer.java new file mode 100644 index 000000000..5a0202608 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelPriceMessageProducer.java @@ -0,0 +1,27 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class CamelPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)) + .map(Message::of); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelPriceProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelPriceProducer.java new file mode 100644 index 000000000..30392e08e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/outbound/CamelPriceProducer.java @@ -0,0 +1,26 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class CamelPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onOverflow().drop() + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/camel/processor/CamelProcessor.java b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/processor/CamelProcessor.java new file mode 100644 index 000000000..434b12911 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/camel/processor/CamelProcessor.java @@ -0,0 +1,18 @@ +package camel.processor; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class CamelProcessor { + + @Incoming("mynatssubject") + @Outgoing("mykafkatopic") + public byte[] process(byte[] message) { + // do some logic + return message; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyAckHandler.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyAckHandler.java new file mode 100644 index 000000000..dc1d1d146 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyAckHandler.java @@ -0,0 +1,25 @@ +package connectors; + +import java.util.concurrent.CompletionStage; + +import connectors.api.BrokerClient; +import io.smallrye.mutiny.Uni; + +public class MyAckHandler { + + private final BrokerClient client; + + static MyAckHandler create(BrokerClient client) { + return new MyAckHandler(client); + } + + public MyAckHandler(BrokerClient client) { + this.client = client; + } + + public CompletionStage handle(MyMessage msg) { + return Uni.createFrom().completionStage(client.ack(msg.getConsumedMessage())) + .emitOn(msg::runOnMessageContext) + .subscribeAsCompletionStage(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyConnector.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyConnector.java new file mode 100644 index 000000000..9dd75beb8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyConnector.java @@ -0,0 +1,75 @@ +package connectors; + +import static io.smallrye.reactive.messaging.annotations.ConnectorAttribute.Direction.INCOMING; +import static io.smallrye.reactive.messaging.annotations.ConnectorAttribute.Direction.INCOMING_AND_OUTGOING; +import static io.smallrye.reactive.messaging.annotations.ConnectorAttribute.Direction.OUTGOING; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.Flow; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.spi.Connector; + +import connectors.api.BrokerClient; +import io.smallrye.reactive.messaging.annotations.ConnectorAttribute; +import io.smallrye.reactive.messaging.connector.InboundConnector; +import io.smallrye.reactive.messaging.connector.OutboundConnector; +import io.smallrye.reactive.messaging.providers.connectors.ExecutionHolder; +import io.vertx.mutiny.core.Vertx; + +@ApplicationScoped +@Connector(MyConnector.CONNECTOR_NAME) +@ConnectorAttribute(name = "client-id", type = "string", direction = INCOMING_AND_OUTGOING, description = "The client id ", mandatory = true) +@ConnectorAttribute(name = "buffer-size", type = "int", direction = INCOMING, description = "The size buffer of incoming messages waiting to be processed", defaultValue = "128") +@ConnectorAttribute(name = "topic", type = "string", direction = OUTGOING, description = "The default topic to send the messages, defaults to channel name if not set") +@ConnectorAttribute(name = "maxPendingMessages", type = "int", direction = OUTGOING, description = "The maximum size of a queue holding pending messages", defaultValue = "1000") +@ConnectorAttribute(name = "waitForWriteCompletion", type = "boolean", direction = OUTGOING, description = "Whether the outgoing channel waits for the write completion", defaultValue = "true") +public class MyConnector implements InboundConnector, OutboundConnector { + + public static final String CONNECTOR_NAME = "smallrye-my-connector"; + + @Inject + ExecutionHolder executionHolder; + + Vertx vertx; + + List incomingChannels = new CopyOnWriteArrayList<>(); + List outgoingChannels = new CopyOnWriteArrayList<>(); + + @PostConstruct + void init() { + this.vertx = executionHolder.vertx(); + } + + @Override + public Flow.Publisher> getPublisher(Config config) { + MyConnectorIncomingConfiguration ic = new MyConnectorIncomingConfiguration(config); + String channelName = ic.getChannel(); + String clientId = ic.getClientId(); + int bufferSize = ic.getBufferSize(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyIncomingChannel channel = new MyIncomingChannel(vertx, ic, client); + incomingChannels.add(channel); + return channel.getStream(); + } + + @Override + public Flow.Subscriber> getSubscriber(Config config) { + MyConnectorOutgoingConfiguration oc = new MyConnectorOutgoingConfiguration(config); + String channelName = oc.getChannel(); + String clientId = oc.getClientId(); + int pendingMessages = oc.getMaxPendingMessages(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyOutgoingChannel channel = new MyOutgoingChannel(vertx, oc, client); + outgoingChannels.add(channel); + return channel.getSubscriber(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyConnectorWithPartials.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyConnectorWithPartials.java new file mode 100644 index 000000000..55d0cc2fa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyConnectorWithPartials.java @@ -0,0 +1,106 @@ +package connectors; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.Flow; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.spi.Connector; + +import connectors.api.BrokerClient; +import io.smallrye.reactive.messaging.connector.InboundConnector; +import io.smallrye.reactive.messaging.connector.OutboundConnector; +import io.smallrye.reactive.messaging.health.HealthReport; +import io.smallrye.reactive.messaging.health.HealthReporter; +import io.smallrye.reactive.messaging.providers.connectors.ExecutionHolder; +import io.vertx.mutiny.core.Vertx; + +// tag::health-report[] +@ApplicationScoped +@Connector(MyConnectorWithPartials.CONNECTOR_NAME) +public class MyConnectorWithPartials implements InboundConnector, OutboundConnector, HealthReporter { + + public static final String CONNECTOR_NAME = "smallrye-my-connector"; + + List incomingChannels = new CopyOnWriteArrayList<>(); + List outgoingChannels = new CopyOnWriteArrayList<>(); + + @Override + public HealthReport getReadiness() { + HealthReport.HealthReportBuilder builder = HealthReport.builder(); + for (MyIncomingChannel channel : incomingChannels) { + builder.add(channel.getChannel(), true); + } + for (MyOutgoingChannel channel : outgoingChannels) { + builder.add(channel.getChannel(), true); + } + return builder.build(); + } + + @Override + public HealthReport getLiveness() { + HealthReport.HealthReportBuilder builder = HealthReport.builder(); + for (MyIncomingChannel channel : incomingChannels) { + builder.add(channel.getChannel(), true); + } + for (MyOutgoingChannel channel : outgoingChannels) { + builder.add(channel.getChannel(), true); + } + return builder.build(); + } + + @Override + public HealthReport getStartup() { + HealthReport.HealthReportBuilder builder = HealthReport.builder(); + for (MyIncomingChannel channel : incomingChannels) { + builder.add(channel.getChannel(), true); + } + for (MyOutgoingChannel channel : outgoingChannels) { + builder.add(channel.getChannel(), true); + } + return builder.build(); + } + + // end::health-report[] + + @Inject + ExecutionHolder executionHolder; + + Vertx vertx; + + @PostConstruct + void init() { + this.vertx = executionHolder.vertx(); + } + + @Override + public Flow.Publisher> getPublisher(Config config) { + MyConnectorIncomingConfiguration ic = new MyConnectorIncomingConfiguration(config); + String channelName = ic.getChannel(); + String clientId = ic.getClientId(); + int bufferSize = ic.getBufferSize(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyIncomingChannel channel = new MyIncomingChannel(vertx, ic, client); + incomingChannels.add(channel); + return channel.getStream(); + } + + @Override + public Flow.Subscriber> getSubscriber(Config config) { + MyConnectorOutgoingConfiguration oc = new MyConnectorOutgoingConfiguration(config); + String channelName = oc.getChannel(); + String clientId = oc.getClientId(); + int pendingMessages = oc.getMaxPendingMessages(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyOutgoingChannel channel = new MyOutgoingChannel(vertx, oc, client); + outgoingChannels.add(channel); + return channel.getSubscriber(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyFailureHandler.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyFailureHandler.java new file mode 100644 index 000000000..f41b78055 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyFailureHandler.java @@ -0,0 +1,27 @@ +package connectors; + +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import connectors.api.BrokerClient; +import io.smallrye.mutiny.Uni; + +public class MyFailureHandler { + + private final BrokerClient client; + + static MyFailureHandler create(BrokerClient client) { + return new MyFailureHandler(client); + } + + public MyFailureHandler(BrokerClient client) { + this.client = client; + } + + public CompletionStage handle(MyMessage msg, Throwable reason, Metadata metadata) { + return Uni.createFrom().completionStage(() -> client.reject(msg.getConsumedMessage(), reason.getMessage())) + .emitOn(msg::runOnMessageContext) + .subscribeAsCompletionStage(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingChannel.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingChannel.java new file mode 100644 index 000000000..a7db74ccc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingChannel.java @@ -0,0 +1,57 @@ +package connectors; + +import java.util.concurrent.Flow; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.health.HealthReport; +import io.vertx.core.internal.VertxInternal; +import io.vertx.mutiny.core.Context; +import io.vertx.mutiny.core.Vertx; + +public class MyIncomingChannel { + + private final String channel; + private final BrokerClient client; + private final Context context; + private final MyAckHandler ackHandler; + private final MyFailureHandler failureHandler; + private final AtomicBoolean closed = new AtomicBoolean(false); + private Flow.Publisher> stream; + + public MyIncomingChannel(Vertx vertx, MyConnectorIncomingConfiguration cfg, BrokerClient client) { + // create and configure the client with MyConnectorIncomingConfiguration + this.channel = cfg.getChannel(); + this.client = client; + this.context = Context.newInstance(((VertxInternal) vertx.getDelegate()).createEventLoopContext()); + this.ackHandler = MyAckHandler.create(this.client); + this.failureHandler = MyFailureHandler.create(this.client); + this.stream = Multi.createBy().repeating() + .uni(() -> Uni.createFrom().completionStage(this.client.poll())) + .until(__ -> closed.get()) + .emitOn(context::runOnContext) + .map(consumed -> new MyMessage<>(consumed, ackHandler, failureHandler)); + } + + public String getChannel() { + return channel; + } + + public Flow.Publisher> getStream() { + return this.stream; + } + + public void close() { + closed.compareAndSet(false, true); + client.close(); + } + + void isReady(HealthReport.HealthReportBuilder healthReportBuilder) { + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingChannelWithPartials.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingChannelWithPartials.java new file mode 100644 index 000000000..fb8417101 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingChannelWithPartials.java @@ -0,0 +1,79 @@ +package connectors; + +import java.util.concurrent.Flow; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import connectors.api.ConsumedMessage; +import connectors.tracing.MyOpenTelemetryInstrumenter; +import connectors.tracing.MyTrace; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.health.HealthReport; +import io.smallrye.reactive.messaging.tracing.TracingUtils; +import io.vertx.core.internal.VertxInternal; +import io.vertx.mutiny.core.Context; +import io.vertx.mutiny.core.Vertx; + +public class MyIncomingChannelWithPartials { + + private final String channel; + private final BrokerClient client; + private final Context context; + private final MyAckHandler ackHandler; + private final MyFailureHandler failureHandler; + private final AtomicBoolean closed = new AtomicBoolean(false); + private final boolean tracingEnabled; + private Flow.Publisher> stream; + + public MyIncomingChannelWithPartials(Vertx vertx, MyConnectorIncomingConfiguration cfg, BrokerClient client) { + // create and configure the client with MyConnectorIncomingConfiguration + this.channel = cfg.getChannel(); + this.client = client; + this.context = Context.newInstance(((VertxInternal) vertx.getDelegate()).createEventLoopContext()); + this.ackHandler = MyAckHandler.create(this.client); + this.failureHandler = MyFailureHandler.create(this.client); + this.tracingEnabled = true; + // tag::incoming-tracing[] + Multi> receiveMulti = Multi.createBy().repeating() + .uni(() -> Uni.createFrom().completionStage(this.client.poll())) + .until(__ -> closed.get()) + .emitOn(context::runOnContext) + .map(consumed -> new MyMessage<>(consumed, ackHandler, failureHandler)); + + Instrumenter instrumenter = MyOpenTelemetryInstrumenter.createInstrumenter(true); + if (tracingEnabled) { + receiveMulti = receiveMulti.map(message -> { + ConsumedMessage consumedMessage = message.getMetadata(MyIncomingMetadata.class).get().getCustomMessage(); + return TracingUtils.traceIncoming(instrumenter, message, new MyTrace.Builder() + .withClientId(consumedMessage.clientId()) + .withTopic(consumedMessage.topic()) + .withProperties(consumedMessage.properties()) + .build()); + }); + } + // end::incoming-tracing[] + this.stream = receiveMulti; + } + + public String getChannel() { + return channel; + } + + public Flow.Publisher> getStream() { + return this.stream; + } + + public void close() { + closed.compareAndSet(false, true); + client.close(); + } + + void isReady(HealthReport.HealthReportBuilder healthReportBuilder) { + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingMetadata.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingMetadata.java new file mode 100644 index 000000000..c288085be --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyIncomingMetadata.java @@ -0,0 +1,34 @@ +package connectors; + +import java.util.Map; + +import connectors.api.ConsumedMessage; + +public class MyIncomingMetadata { + + private final ConsumedMessage msg; + + public MyIncomingMetadata(ConsumedMessage msg) { + this.msg = msg; + } + + public ConsumedMessage getCustomMessage() { + return msg; + } + + public T getBody() { + return msg.body(); + } + + public String getKey() { + return msg.key(); + } + + public long getTimestamp() { + return msg.timestamp(); + } + + public Map getProperties() { + return msg.properties(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyMessage.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyMessage.java new file mode 100644 index 000000000..cd432f0f3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyMessage.java @@ -0,0 +1,51 @@ +package connectors; + +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import connectors.api.ConsumedMessage; +import io.smallrye.reactive.messaging.providers.locals.ContextAwareMessage; + +public class MyMessage implements Message, ContextAwareMessage { + + private final T payload; + private final Metadata metadata; + private final MyAckHandler ackHandler; + + private final MyFailureHandler nackHandler; + private ConsumedMessage consumed; + + public MyMessage(ConsumedMessage message, MyAckHandler ackHandler, MyFailureHandler nackHandler) { + this.consumed = message; + this.payload = message.body(); + this.ackHandler = ackHandler; + this.nackHandler = nackHandler; + this.metadata = ContextAwareMessage.captureContextMetadata(new MyIncomingMetadata<>(message)); + } + + public ConsumedMessage getConsumedMessage() { + return consumed; + } + + @Override + public T getPayload() { + return payload; + } + + @Override + public Metadata getMetadata() { + return metadata; + } + + @Override + public CompletionStage ack() { + return ackHandler.handle(this); + } + + @Override + public CompletionStage nack(Throwable reason, Metadata nackMetadata) { + return nackHandler.handle(this, reason, nackMetadata); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyMessageConverter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyMessageConverter.java new file mode 100644 index 000000000..6f9f180e9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyMessageConverter.java @@ -0,0 +1,27 @@ +package connectors; + +import java.lang.reflect.Type; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.ConsumedMessage; +import io.smallrye.reactive.messaging.MessageConverter; +import io.smallrye.reactive.messaging.providers.helpers.TypeUtils; + +@ApplicationScoped +public class MyMessageConverter implements MessageConverter { + @Override + public boolean canConvert(Message in, Type target) { + return TypeUtils.isAssignable(target, ConsumedMessage.class) + && in.getMetadata(MyIncomingMetadata.class).isPresent(); + } + + @Override + public Message convert(Message in, Type target) { + return in.withPayload(in.getMetadata(MyIncomingMetadata.class) + .map(MyIncomingMetadata::getCustomMessage) + .orElse(null)); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingChannel.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingChannel.java new file mode 100644 index 000000000..013defda1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingChannel.java @@ -0,0 +1,49 @@ +package connectors; + +import java.util.concurrent.Flow; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import connectors.api.SendMessage; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.providers.helpers.MultiUtils; +import io.vertx.mutiny.core.Vertx; + +public class MyOutgoingChannel { + private final String channel; + private Flow.Subscriber> subscriber; + private final BrokerClient client; + private final String topic; + + public MyOutgoingChannel(Vertx vertx, MyConnectorOutgoingConfiguration oc, BrokerClient client) { + this.channel = oc.getChannel(); + this.client = client; + this.topic = oc.getTopic().orElse(oc.getChannel()); + this.subscriber = MultiUtils.via(multi -> multi.call(m -> publishMessage(this.client, m))); + } + + private Uni publishMessage(BrokerClient client, Message m) { + // construct the outgoing message + SendMessage sendMessage = new SendMessage(); + Object payload = m.getPayload(); + sendMessage.setPayload(payload); + sendMessage.setTopic(topic); + m.getMetadata(MyOutgoingMetadata.class).ifPresent(out -> { + sendMessage.setTopic(out.getTopic()); + sendMessage.setKey(out.getKey()); + //... + }); + return Uni.createFrom().completionStage(() -> client.send(sendMessage)) + .onItem().transformToUni(receipt -> Uni.createFrom().completionStage(m.ack())) + .onFailure().recoverWithUni(t -> Uni.createFrom().completionStage(m.nack(t))); + } + + public Flow.Subscriber> getSubscriber() { + return this.subscriber; + } + + public String getChannel() { + return this.channel; + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingChannelWithPartials.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingChannelWithPartials.java new file mode 100644 index 000000000..2ba3d9e59 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingChannelWithPartials.java @@ -0,0 +1,105 @@ +package connectors; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.Flow; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import connectors.api.SendMessage; +import connectors.tracing.MyOpenTelemetryInstrumenter; +import connectors.tracing.MyTrace; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.providers.helpers.MultiUtils; +import io.smallrye.reactive.messaging.providers.helpers.SenderProcessor; +import io.smallrye.reactive.messaging.tracing.TracingUtils; +import io.vertx.mutiny.core.Vertx; + +public class MyOutgoingChannelWithPartials { + private SenderProcessor processor; + private Flow.Subscriber> subscriber; + private final BrokerClient client; + private final String topic; + private final boolean tracingEnabled; + + private Instrumenter instrumenter; + + public MyOutgoingChannelWithPartials(Vertx vertx, MyConnectorOutgoingConfiguration oc, BrokerClient client) { + this.client = client; + this.topic = oc.getTopic().orElse(oc.getChannel()); + this.tracingEnabled = true; + // tag::sender-processor[] + long requests = oc.getMaxPendingMessages(); + boolean waitForWriteCompletion = oc.getWaitForWriteCompletion(); + if (requests <= 0) { + requests = Long.MAX_VALUE; + } + this.processor = new SenderProcessor(requests, waitForWriteCompletion, m -> publishMessage(client, m)); + this.subscriber = MultiUtils.via(processor, m -> m.onFailure().invoke(f -> { + // log the failure + })); + // end::sender-processor[] + instrumenter = MyOpenTelemetryInstrumenter.createInstrumenter(false); + + } + + // tag::send-message[] + private Uni publishMessage(BrokerClient client, Message message) { + // construct the outgoing message + SendMessage sendMessage; + Object payload = message.getPayload(); + if (payload instanceof SendMessage) { + sendMessage = (SendMessage) message.getPayload(); + } else { + sendMessage = new SendMessage(); + sendMessage.setPayload(payload); + sendMessage.setTopic(topic); + message.getMetadata(MyOutgoingMetadata.class).ifPresent(out -> { + sendMessage.setTopic(out.getTopic()); + sendMessage.setKey(out.getKey()); + //... + }); + } + return Uni.createFrom().completionStage(() -> client.send(sendMessage)) + .onItem().transformToUni(receipt -> Uni.createFrom().completionStage(message.ack())) + .onFailure().recoverWithUni(t -> Uni.createFrom().completionStage(message.nack(t))); + } + // end::send-message[] + + // tag::outgoing-tracing[] + private Uni publishMessageWithTracing(BrokerClient client, Message message) { + // construct the outgoing message + SendMessage sendMessage; + Object payload = message.getPayload(); + if (payload instanceof SendMessage) { + sendMessage = (SendMessage) message.getPayload(); + } else { + sendMessage = new SendMessage(); + sendMessage.setPayload(payload); + sendMessage.setTopic(topic); + message.getMetadata(MyOutgoingMetadata.class).ifPresent(out -> { + sendMessage.setTopic(out.getTopic()); + sendMessage.setKey(out.getKey()); + //... + }); + } + if (tracingEnabled) { + Map properties = new HashMap<>(); + TracingUtils.traceOutgoing(instrumenter, message, new MyTrace.Builder() + .withProperties(properties) + .withTopic(sendMessage.getTopic()) + .build()); + sendMessage.setProperties(properties); + } + return Uni.createFrom().completionStage(() -> client.send(sendMessage)) + .onItem().transformToUni(receipt -> Uni.createFrom().completionStage(message.ack())) + .onFailure().recoverWithUni(t -> Uni.createFrom().completionStage(message.nack(t))); + } + // end::outgoing-tracing[] + + public Flow.Subscriber> getSubscriber() { + return this.subscriber; + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingMessage.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingMessage.java new file mode 100644 index 000000000..86c8a3636 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingMessage.java @@ -0,0 +1,70 @@ +package connectors; + +import java.util.concurrent.CompletionStage; +import java.util.function.Function; +import java.util.function.Supplier; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.providers.locals.ContextAwareMessage; + +public class MyOutgoingMessage implements Message, ContextAwareMessage { + + private final T payload; + private final Metadata metadata; + + private final Supplier> ack; + private final Function> nack; + + public static MyOutgoingMessage from(Message message) { + return new MyOutgoingMessage<>(message.getPayload(), message.getMetadata(), message.getAck(), message.getNack()); + } + + public MyOutgoingMessage(T payload, Metadata metadata, + Supplier> ack, + Function> nack) { + this.payload = payload; + this.metadata = metadata; + this.ack = ack; + this.nack = nack; + } + + public MyOutgoingMessage(T payload, String key, String topic, + Supplier> ack, + Function> nack) { + this(payload, Metadata.of(new MyOutgoingMetadata(topic, key)), ack, nack); + } + + @Override + public T getPayload() { + return payload; + } + + @Override + public Metadata getMetadata() { + return metadata; + } + + @Override + public Supplier> getAck() { + return this.ack; + } + + @Override + public Function> getNack() { + return this.nack; + } + + public MyOutgoingMessage withKey(String key) { + this.metadata.with(this.metadata.get(MyOutgoingMetadata.class) + .map(m -> MyOutgoingMetadata.builder(m).withKey(key).build())); + return this; + } + + public MyOutgoingMessage withTopic(String topic) { + this.metadata.with(this.metadata.get(MyOutgoingMetadata.class) + .map(m -> MyOutgoingMetadata.builder(m).withTopic(topic).build())); + return this; + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingMetadata.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingMetadata.java new file mode 100644 index 000000000..15c47cc1b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/MyOutgoingMetadata.java @@ -0,0 +1,56 @@ +package connectors; + +public class MyOutgoingMetadata { + private String topic; + private String key; + + public static MyOutgoingMetadataBuilder builder() { + return new MyOutgoingMetadataBuilder(); + } + + public static MyOutgoingMetadataBuilder builder(MyOutgoingMetadata metadata) { + return new MyOutgoingMetadataBuilder(metadata); + } + + public MyOutgoingMetadata(String topic, String key) { + this.topic = topic; + this.key = key; + } + + public String getTopic() { + return topic; + } + + public String getKey() { + return key; + } + + public static class MyOutgoingMetadataBuilder { + private String topic; + private String key; + + public MyOutgoingMetadataBuilder() { + + } + + public MyOutgoingMetadataBuilder(MyOutgoingMetadata metadata) { + this.key = metadata.getKey(); + this.topic = metadata.getTopic(); + } + + public MyOutgoingMetadataBuilder withTopic(String topic) { + this.topic = topic; + return this; + } + + public MyOutgoingMetadataBuilder withKey(String key) { + this.key = key; + return this; + } + + public MyOutgoingMetadata build() { + return new MyOutgoingMetadata(topic, key); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/test/MyConnectorTest.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/test/MyConnectorTest.java new file mode 100644 index 000000000..718aac41f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/test/MyConnectorTest.java @@ -0,0 +1,52 @@ +package connectors.test; + +import static org.awaitility.Awaitility.await; + +import java.util.List; +import java.util.UUID; +import java.util.concurrent.CopyOnWriteArrayList; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.junit.jupiter.api.Test; + +import connectors.MyConnector; +import io.smallrye.reactive.messaging.test.common.config.MapBasedConfig; + +public class MyConnectorTest extends WeldTestBase { + + @Test + void incomingChannel() { + String host = ""; + int port = 0; + String myTopic = UUID.randomUUID().toString(); + MapBasedConfig config = new MapBasedConfig() + .with("mp.messaging.incoming.data.topic", myTopic) + .with("mp.messaging.incoming.data.host", host) + .with("mp.messaging.incoming.data.port", port) + .with("mp.messaging.incoming.data.connector", MyConnector.CONNECTOR_NAME); + MyApp app = runApplication(config, MyApp.class); + + int expected = 10; + // produce expected number of messages to myTopic + + // wait until app received + await().until(() -> app.received().size() == expected); + } + + @ApplicationScoped + public static class MyApp { + + List received = new CopyOnWriteArrayList<>(); + + @Incoming("data") + void consume(String msg) { + received.add(msg); + } + + public List received() { + return received; + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/test/WeldTestBase.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/test/WeldTestBase.java new file mode 100644 index 000000000..35cf9555b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/test/WeldTestBase.java @@ -0,0 +1,140 @@ +package connectors.test; + +import jakarta.enterprise.inject.spi.BeanManager; + +import org.eclipse.microprofile.reactive.messaging.spi.ConnectorLiteral; +import org.jboss.weld.environment.se.Weld; +import org.jboss.weld.environment.se.WeldContainer; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; + +import connectors.MyConnector; +import connectors.MyMessageConverter; +import io.smallrye.config.inject.ConfigExtension; +import io.smallrye.reactive.messaging.providers.MediatorFactory; +import io.smallrye.reactive.messaging.providers.connectors.ExecutionHolder; +import io.smallrye.reactive.messaging.providers.connectors.WorkerPoolRegistry; +import io.smallrye.reactive.messaging.providers.extension.ChannelProducer; +import io.smallrye.reactive.messaging.providers.extension.EmitterFactoryImpl; +import io.smallrye.reactive.messaging.providers.extension.HealthCenter; +import io.smallrye.reactive.messaging.providers.extension.LegacyEmitterFactoryImpl; +import io.smallrye.reactive.messaging.providers.extension.MediatorManager; +import io.smallrye.reactive.messaging.providers.extension.MutinyEmitterFactoryImpl; +import io.smallrye.reactive.messaging.providers.extension.ReactiveMessagingExtension; +import io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory; +import io.smallrye.reactive.messaging.providers.impl.ConnectorFactories; +import io.smallrye.reactive.messaging.providers.impl.InternalChannelRegistry; +import io.smallrye.reactive.messaging.providers.metrics.MetricDecorator; +import io.smallrye.reactive.messaging.providers.metrics.MicrometerDecorator; +import io.smallrye.reactive.messaging.providers.wiring.Wiring; +import io.smallrye.reactive.messaging.test.common.config.MapBasedConfig; +import io.smallrye.reactive.messaging.test.common.config.SmallRyeConfigTestUtil; + +public class WeldTestBase { + + protected Weld weld; + protected WeldContainer container; + + @BeforeEach + public void initWeld() { + weld = new Weld(); + + // SmallRye config + ConfigExtension extension = new ConfigExtension(); + weld.addExtension(extension); + + weld.addBeanClass(MediatorFactory.class); + weld.addBeanClass(MediatorManager.class); + weld.addBeanClass(InternalChannelRegistry.class); + weld.addBeanClass(ConnectorFactories.class); + weld.addBeanClass(ConfiguredChannelFactory.class); + weld.addBeanClass(ChannelProducer.class); + weld.addBeanClass(ExecutionHolder.class); + weld.addBeanClass(WorkerPoolRegistry.class); + weld.addBeanClass(HealthCenter.class); + weld.addBeanClass(Wiring.class); + weld.addExtension(new ReactiveMessagingExtension()); + + weld.addBeanClass(EmitterFactoryImpl.class); + weld.addBeanClass(MutinyEmitterFactoryImpl.class); + weld.addBeanClass(LegacyEmitterFactoryImpl.class); + + weld.addBeanClass(MyConnector.class); + weld.addBeanClass(MyMessageConverter.class); + weld.addBeanClass(MetricDecorator.class); + weld.addBeanClass(MicrometerDecorator.class); + weld.disableDiscovery(); + } + + @AfterEach + public void stopContainer() { + if (container != null) { + // TODO Explicitly close the connector + getBeanManager().createInstance() + .select(MyConnector.class, ConnectorLiteral.of(MyConnector.CONNECTOR_NAME)).get(); + container.close(); + } + // Release the config objects + SmallRyeConfigTestUtil.releaseConfig(); + } + + public BeanManager getBeanManager() { + if (container == null) { + runApplication(new MapBasedConfig()); + } + return container.getBeanManager(); + } + + public void addBeans(Class... clazzes) { + weld.addBeanClasses(clazzes); + } + + public T get(Class clazz) { + return getBeanManager().createInstance().select(clazz).get(); + } + + public T runApplication(MapBasedConfig config, Class clazz) { + weld.addBeanClass(clazz); + runApplication(config); + return get(clazz); + } + + public void runApplication(MapBasedConfig config) { + if (config != null) { + config.write(); + } else { + MapBasedConfig.cleanup(); + } + + SmallRyeConfigTestUtil.installConfig(); + container = weld.initialize(); + } + + public static void addConfig(MapBasedConfig config) { + if (config != null) { + config.write(); + } else { + MapBasedConfig.cleanup(); + } + } + + public HealthCenter getHealth() { + if (container == null) { + throw new IllegalStateException("Application not started"); + } + return container.getBeanManager().createInstance().select(HealthCenter.class).get(); + } + + public boolean isStarted() { + return getHealth().getStartup().isOk(); + } + + public boolean isReady() { + return getHealth().getReadiness().isOk(); + } + + public boolean isAlive() { + return getHealth().getLiveness().isOk(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java new file mode 100644 index 000000000..9454e254f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java @@ -0,0 +1,64 @@ +package connectors.tracing; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.opentelemetry.api.GlobalOpenTelemetry; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessageOperation; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingAttributesExtractor; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingAttributesGetter; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingSpanNameExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; +import io.smallrye.reactive.messaging.tracing.TracingUtils; + +/** + * Encapsulates the OpenTelemetry instrumentation API so that those classes are only needed if + * users explicitly enable tracing. + */ +public class MyOpenTelemetryInstrumenter { + + private final Instrumenter instrumenter; + + private MyOpenTelemetryInstrumenter(Instrumenter instrumenter) { + this.instrumenter = instrumenter; + } + + public static MyOpenTelemetryInstrumenter createIncoming() { + return new MyOpenTelemetryInstrumenter(createInstrumenter(true)); + } + + public static MyOpenTelemetryInstrumenter createOutgoing() { + return new MyOpenTelemetryInstrumenter(createInstrumenter(false)); + } + + // tag::create-instrumenter[] + public static Instrumenter createInstrumenter(boolean incoming) { + MessageOperation messageOperation = incoming ? MessageOperation.RECEIVE : MessageOperation.PUBLISH; + + MyAttributesExtractor myExtractor = new MyAttributesExtractor(); + MessagingAttributesGetter attributesGetter = myExtractor.getMessagingAttributesGetter(); + var spanNameExtractor = MessagingSpanNameExtractor.create(attributesGetter, messageOperation); + InstrumenterBuilder builder = Instrumenter.builder(GlobalOpenTelemetry.get(), + "io.smallrye.reactive.messaging", spanNameExtractor); + var attributesExtractor = MessagingAttributesExtractor.create(attributesGetter, messageOperation); + + builder + .addAttributesExtractor(attributesExtractor) + .addAttributesExtractor(myExtractor); + + if (incoming) { + return builder.buildConsumerInstrumenter(MyTraceTextMapGetter.INSTANCE); + } else { + return builder.buildProducerInstrumenter(MyTraceTextMapSetter.INSTANCE); + } + } + // + + public Message traceIncoming(Message message, MyTrace myTrace, boolean makeCurrent) { + return TracingUtils.traceIncoming(instrumenter, message, myTrace, makeCurrent); + } + + public void traceOutgoing(Message message, MyTrace myTrace) { + TracingUtils.traceOutgoing(instrumenter, message, myTrace); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/consumption/ConsumptionExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/consumption/ConsumptionExamples.java new file mode 100644 index 000000000..2094888b6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/consumption/ConsumptionExamples.java @@ -0,0 +1,70 @@ +package consumption; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; + +public class ConsumptionExamples { + + //tag::message-cs[] + @Incoming("my-channel") + public CompletionStage consumeMessage(Message message) { + handle(message.getPayload()); + return message.ack(); + } + //end::message-cs[] + + //tag::payload-sync[] + @Incoming("my-channel") + public void consumePayload(Price payload) { + // do something + } + //end::payload-sync[] + + //tag::payload-cs[] + @Incoming("my-channel") + public CompletionStage consumePayloadCS(Price payload) { + CompletionStage cs = handleAsync(payload); + return cs; + } + //end::payload-cs[] + + //tag::payload-uni[] + @Incoming("my-channel") + public Uni consumePayloadUni(Price payload) { + return Uni.createFrom().item(payload) + .onItem().invoke(this::handle) + .onItem().ignore().andContinueWithNull(); + } + //end::payload-uni[] + + //tag::message-uni[] + @Incoming("my-channel") + public Uni consumeMessageUni(Message message) { + return Uni.createFrom().item(message) + .onItem().invoke(m -> handle(m.getPayload())) + .onItem().transformToUni(x -> Uni.createFrom().completionStage(message.ack())); + } + //end::message-uni[] + + private CompletionStage handleAsync(Price price) { + return CompletableFuture.completedFuture(null); + } + + @SuppressWarnings("UnusedReturnValue") + private Price handle(Price price) { + return price; + } + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/converters/ConverterExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/converters/ConverterExample.java new file mode 100644 index 000000000..a9d3b661e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/converters/ConverterExample.java @@ -0,0 +1,24 @@ +package converters; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class ConverterExample { + + // tag::code[] + @Outgoing("persons") + public Multi source() { + return Multi.createFrom().items("Neo", "Morpheus", "Trinity"); + } + + // The messages need to be converted as they are emitted as Message + // and consumed as Message + @Incoming("persons") + public void consume(Person p) { + // ... + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/converters/MyConverter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/converters/MyConverter.java new file mode 100644 index 000000000..3f517ece0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/converters/MyConverter.java @@ -0,0 +1,31 @@ +package converters; + +import java.lang.reflect.Type; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.MessageConverter; + +// tag::code[] +@ApplicationScoped +public class MyConverter implements MessageConverter { + @Override + public boolean canConvert(Message in, Type target) { + // Checks whether this converter can be used to convert + // the incoming message into a message containing a payload + // of the type `target`. + return in.getPayload().getClass().equals(String.class) + && target.equals(Person.class); + } + + @Override + public Message convert(Message in, Type target) { + // Convert the incoming message into the new message. + // It's important to build the new message **from** + // the received one. + return in.withPayload(new Person((String) in.getPayload())); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/customizers/MyClientCustomizer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/customizers/MyClientCustomizer.java new file mode 100644 index 000000000..9e07288be --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/customizers/MyClientCustomizer.java @@ -0,0 +1,17 @@ +package customizers; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.config.Config; + +import io.smallrye.reactive.messaging.ClientCustomizer; + +@ApplicationScoped +public class MyClientCustomizer implements ClientCustomizer { + @Override + public ClientConfig customize(String channel, Config channelConfig, ClientConfig config) { + // customize the client configuration + return config; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/decorators/ConsumedMessageDecorator.java b/content/docs/smallrye-reactive-messaging/latest/_examples/decorators/ConsumedMessageDecorator.java new file mode 100644 index 000000000..d1b403fde --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/decorators/ConsumedMessageDecorator.java @@ -0,0 +1,41 @@ +package decorators; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.PublisherDecorator; + +// tag::code[] +@ApplicationScoped +public class ConsumedMessageDecorator implements PublisherDecorator { + + private final Map counters = new HashMap<>(); + + @Override + public Multi> decorate(Multi> publisher, String channelName, + boolean isConnector) { + if (isConnector) { + AtomicLong counter = new AtomicLong(); + counters.put(channelName, counter); + return publisher.onItem().invoke(counter::incrementAndGet); + } else { + return publisher; + } + } + + @Override + public int getPriority() { + return 10; + } + + public long getMessageCount(String channel) { + return counters.get(channel).get(); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/ChannelExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/ChannelExamples.java new file mode 100644 index 000000000..1b2f021ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/ChannelExamples.java @@ -0,0 +1,31 @@ +package emitter; + +import java.util.concurrent.Flow.Publisher; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Multi; + +public class ChannelExamples { + + // tag::channel[] + @Inject + @Channel("my-channel") + Multi streamOfPayloads; + + @Inject + @Channel("my-channel") + Multi> streamOfMessages; + + @Inject + @Channel("my-channel") + Publisher publisherOfPayloads; + + @Inject + @Channel("my-channel") + Publisher> publisherOfMessages; + // end::channel[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/EmitterExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/EmitterExamples.java new file mode 100644 index 000000000..4c5c4ed99 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/EmitterExamples.java @@ -0,0 +1,119 @@ +package emitter; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.*; + +import io.smallrye.reactive.messaging.annotations.Broadcast; +import messages.MyMetadata; + +public class EmitterExamples { + + // tag::payload[] + @Inject + @Channel("prices") + Emitter emitterForPrices; + + public void send(double d) { + emitterForPrices.send(d); + } + // end::payload[] + + // tag::cs[] + public void sendAndAwaitAcknowledgement(double d) { + CompletionStage acked = emitterForPrices.send(d); + // sending a payload returns a CompletionStage completed + // when the message is acknowledged + acked.toCompletableFuture().join(); + } + // end::cs[] + + // tag::message[] + public void sendAsMessage(double d) { + emitterForPrices.send(Message.of(d)); + } + // end::message[] + + // tag::message-ack[] + public void sendAsMessageWithAck(double d) { + emitterForPrices.send(Message.of(d, () -> { + // Called when the message is acknowledged. + return CompletableFuture.completedFuture(null); + }, + reason -> { + // Called when the message is acknowledged negatively. + return CompletableFuture.completedFuture(null); + })); + } + // end::message-ack[] + + // tag::message-meta[] + public void sendAsMessageWithAckAndMetadata(double d) { + MyMetadata metadata = new MyMetadata(); + emitterForPrices.send(Message.of(d, Metadata.of(metadata), + () -> { + // Called when the message is acknowledged. + return CompletableFuture.completedFuture(null); + }, + reason -> { + // Called when the message is acknowledged negatively. + return CompletableFuture.completedFuture(null); + })); + } + // end::message-meta[] + + // tag::broadcast[] + @Inject + @Broadcast + @Channel("prices") + Emitter emitter; + + public void emit(double d) { + emitter.send(d); + } + + @Incoming("prices") + public void handle(double d) { + // Handle the new price + } + + @Incoming("prices") + public void audit(double d) { + // Audit the price change + } + // end::broadcast[] + + static class OverflowExample { + // tag::overflow[] + + // Set the max size to 10 and fail if reached + @OnOverflow(value = OnOverflow.Strategy.BUFFER, bufferSize = 10) + @Inject + @Channel("channel") + Emitter emitterWithBuffer; + + // [DANGER ZONE] no limit + @OnOverflow(OnOverflow.Strategy.UNBOUNDED_BUFFER) + @Inject + @Channel("channel") + Emitter danger; + + // Drop the new messages if the size is reached + @OnOverflow(OnOverflow.Strategy.DROP) + @Inject + @Channel("channel") + Emitter dropping; + + // Drop the previously sent messages if the size is reached + @OnOverflow(OnOverflow.Strategy.LATEST) + @Inject + @Channel("channel") + Emitter dropOldMessages; + + // end::overflow[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/EmitterFactoryExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/EmitterFactoryExamples.java new file mode 100644 index 000000000..d9884a773 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/EmitterFactoryExamples.java @@ -0,0 +1,88 @@ +package emitter; + +import java.util.concurrent.Flow.Publisher; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.enterprise.inject.spi.InjectionPoint; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.ChannelRegistry; +import io.smallrye.reactive.messaging.EmitterConfiguration; +import io.smallrye.reactive.messaging.EmitterFactory; +import io.smallrye.reactive.messaging.EmitterType; +import io.smallrye.reactive.messaging.MessagePublisherProvider; +import io.smallrye.reactive.messaging.annotations.EmitterFactoryFor; +import io.smallrye.reactive.messaging.providers.extension.ChannelProducer; + +public class EmitterFactoryExamples { + + // tag::custom-emitter-declaration[] + + public interface CustomEmitter extends EmitterType { + + > void sendAndForget(M msg); + + } + + public static class CustomEmitterImpl implements CustomEmitter, MessagePublisherProvider { + + Publisher> publisher; + + public CustomEmitterImpl(EmitterConfiguration configuration, long defaultBufferSize) { + //... initialize emitter with configuration + } + + @Override + public Publisher> getPublisher() { + return publisher; + } + + @Override + public > void sendAndForget(M msg) { + //... send to stream + } + } + // end::custom-emitter-declaration[] + + // tag::custom-emitter-factory[] + @EmitterFactoryFor(CustomEmitter.class) + @ApplicationScoped + public static class CustomEmitterFactory implements EmitterFactory> { + + @Inject + ChannelRegistry channelRegistry; + + @Override + public CustomEmitterImpl createEmitter(EmitterConfiguration configuration, long defaultBufferSize) { + return new CustomEmitterImpl<>(configuration, defaultBufferSize); + } + + @Produces + @Channel("") // Stream name is ignored during type-safe resolution + CustomEmitter produce(InjectionPoint injectionPoint) { + String channelName = ChannelProducer.getChannelName(injectionPoint); + return channelRegistry.getEmitter(channelName, CustomEmitter.class); + } + } + // end::custom-emitter-factory[] + + // tag::custom-emitter-usage[] + + @Inject + @Channel("custom-emitter-channel") + CustomEmitter customEmitter; + + //... + + public void emitMessage() { + customEmitter.sendAndForget(Message.of("a")); + customEmitter.sendAndForget(Message.of("b")); + customEmitter.sendAndForget(Message.of("c")); + } + // end::custom-emitter-usage[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/MutinyExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/MutinyExamples.java new file mode 100644 index 000000000..d6d2321b5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/MutinyExamples.java @@ -0,0 +1,33 @@ +package emitter; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import io.smallrye.reactive.messaging.MutinyEmitter; + +public class MutinyExamples { + // tag::uni[] + @Inject + @Channel("prices") + MutinyEmitter emitter; + + public Uni send(double d) { + return emitter.send(d); + } + // end::uni[] + + // tag::uni-await[] + public void sendAwait(double d) { + emitter.sendAndAwait(d); + } + // end::uni-await[] + + // tag::uni-forget[] + public Cancellable sendForget(double d) { + return emitter.sendAndForget(d); + } + // end::uni-forget[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/MyImperativeBean.java b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/MyImperativeBean.java new file mode 100644 index 000000000..a4619004f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/emitter/MyImperativeBean.java @@ -0,0 +1,24 @@ +package emitter; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +// tag::intro[] +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Emitter; + +@ApplicationScoped +public class MyImperativeBean { + + @Inject + @Channel("prices") + Emitter emitter; + + // ... + + public void send(double d) { + emitter.send(d); + } +} + +// end::intro[] diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/generation/GenerationExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/generation/GenerationExamples.java new file mode 100644 index 000000000..c4c0afdc5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/generation/GenerationExamples.java @@ -0,0 +1,95 @@ +package generation; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.Flow; +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; + +public class GenerationExamples { + + AtomicInteger counter = new AtomicInteger(); + + // tag::message-sync[] + @Outgoing("my-channel") + public Message generateMessagesSynchronously() { + return Message.of(counter.getAndIncrement()); + } + // end::message-sync[] + + // tag::message-cs[] + @Outgoing("my-channel") + public CompletionStage> generateMessagesAsCompletionStage() { + return asyncClient.poll() + .thenApply(Message::of); + } + // end::message-cs[] + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } + + private Pollable asyncClient = () -> CompletableFuture.completedFuture(new Price(10.0)); + + private interface Pollable { + CompletionStage poll(); + } + + // tag::message-uni[] + @Outgoing("my-channel") + public Uni> generateMessagesAsync() { + return Uni.createFrom().item(() -> Message.of(counter.getAndIncrement())); + } + // end::message-uni[] + + // tag::message-stream[] + public Flow.Publisher> generateMessageStream() { + Multi multi = reactiveClient.getStream(); + return multi.map(Message::of); + } + // end::message-stream[] + + private ReactiveClient reactiveClient = () -> Multi.createFrom().items("a", "b", "c"); + + private interface ReactiveClient { + Multi getStream(); + } + + // tag::payload-sync[] + @Outgoing("my-channel") + public Integer generatePayloadsSynchronously() { + return counter.getAndIncrement(); + } + // end::payload-sync[] + + // tag::payload-cs[] + @Outgoing("my-channel") + public CompletionStage generatePayloadsAsCompletionStage() { + return asyncClient.poll(); + } + // end::payload-cs[] + + // tag::payload-uni[] + @Outgoing("my-channel") + public Uni generatePayloadsAsync() { + return Uni.createFrom().item(() -> counter.getAndIncrement()); + } + // end::payload-uni[] + + // tag::payload-stream[] + @Outgoing("my-channel") + public Multi generatePayloadsStream() { + Multi multi = reactiveClient.getStream(); + return multi; + } + // end::payload-stream[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/genericpayload/GenericPayloadExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/genericpayload/GenericPayloadExample.java new file mode 100644 index 000000000..583cfcec0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/genericpayload/GenericPayloadExample.java @@ -0,0 +1,49 @@ +package genericpayload; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.GenericPayload; +import io.smallrye.reactive.messaging.MutinyEmitter; +import messages.MyMetadata; + +@ApplicationScoped +public class GenericPayloadExample { + + // tag::code[] + @Outgoing("out") + Multi> produce() { + return Multi.createFrom().range(0, 100) + .map(i -> GenericPayload.of(">> " + i, Metadata.of(new MyMetadata()))); + } + // end::code[] + + // tag::injection[] + @Incoming("in") + @Outgoing("out") + GenericPayload process(int payload, MyMetadata metadata) { + // use the injected metadata + String id = metadata.getId(); + return GenericPayload.of(">> " + payload + " " + id, + Metadata.of(metadata, new MyMetadata("Bob", "Alice"))); + } + // end::injection[] + + // tag::emitter[] + @Inject + @Channel("out") + MutinyEmitter> emitter; + + public void emitWithMetadata(String payload) { + emitter.sendAndForget( + GenericPayload.of(payload, Metadata.of(new MyMetadata()))); + } + // end::emitter[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/incomings/IncomingsExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/incomings/IncomingsExamples.java new file mode 100644 index 000000000..f1d727df7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/incomings/IncomingsExamples.java @@ -0,0 +1,16 @@ +package incomings; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +public class IncomingsExamples { + + //tag::code[] + @Incoming("channel-1") + @Incoming("channel-2") + public String process(String s) { + // get messages from channel-1 and channel-2 + return s.toUpperCase(); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/incomings/MetadataInjectionExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/incomings/MetadataInjectionExample.java new file mode 100644 index 000000000..79c3cc3ef --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/incomings/MetadataInjectionExample.java @@ -0,0 +1,44 @@ +package incomings; + +import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; +import jdk.jfr.Period; +import messages.MyMetadata; + +public class MetadataInjectionExample { + + //tag::code[] + @Incoming("in") + @Outgoing("out") + public String process(String payload, MyMetadata metadata) { + // ... + return payload.toUpperCase(); + } + + @Incoming("in") + @Outgoing("out") + public Uni process2(String payload, MyMetadata metadata) { + // ... + return Uni.createFrom().item(payload.toUpperCase()); + } + + // ... + @Incoming("in") + public void consume(String payload, Optional metadata, Period metadata2) { + // ... + } + + @Incoming("in") + public CompletionStage consume2(String payload, Optional metadata, Period metadata2) { + // ... + return CompletableFuture.completedFuture(null); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/interceptors/MyIncomingInterceptor.java b/content/docs/smallrye-reactive-messaging/latest/_examples/interceptors/MyIncomingInterceptor.java new file mode 100644 index 000000000..c322a7553 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/interceptors/MyIncomingInterceptor.java @@ -0,0 +1,28 @@ +package interceptors; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.IncomingInterceptor; + +@Identifier("channel-a") +@ApplicationScoped +public class MyIncomingInterceptor implements IncomingInterceptor { + + @Override + public Message afterMessageReceive(Message message) { + return message.withPayload("changed " + message.getPayload()); + } + + @Override + public void onMessageAck(Message message) { + // Called after message ack + } + + @Override + public void onMessageNack(Message message, Throwable failure) { + // Called after message nack + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/interceptors/MyOutgoingInterceptor.java b/content/docs/smallrye-reactive-messaging/latest/_examples/interceptors/MyOutgoingInterceptor.java new file mode 100644 index 000000000..6efdc8835 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/interceptors/MyOutgoingInterceptor.java @@ -0,0 +1,30 @@ +package interceptors; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.OutgoingInterceptor; +import io.smallrye.reactive.messaging.OutgoingMessageMetadata; + +@Identifier("channel-a") +@ApplicationScoped +public class MyOutgoingInterceptor implements OutgoingInterceptor { + + @Override + public Message onMessage(Message message) { + return message.withPayload("changed " + message.getPayload()); + } + + @Override + public void onMessageAck(Message message) { + message.getMetadata(OutgoingMessageMetadata.class) + .ifPresent(m -> m.getResult()); + } + + @Override + public void onMessageNack(Message message, Throwable failure) { + + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsMetadataExample.java new file mode 100644 index 000000000..adb2a0a65 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsMetadataExample.java @@ -0,0 +1,25 @@ +package jms.inbound; + +import java.util.Optional; + +import jakarta.jms.Destination; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.jms.IncomingJmsMessageMetadata; + +public class JmsMetadataExample { + + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + Optional metadata = incoming.getMetadata(IncomingJmsMessageMetadata.class); + metadata.ifPresent(meta -> { + long expiration = meta.getExpiration(); + Destination destination = meta.getDestination(); + String value = meta.getStringProperty("my-property"); + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsPriceConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsPriceConsumer.java new file mode 100644 index 000000000..ac4cdd774 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsPriceConsumer.java @@ -0,0 +1,15 @@ +package jms.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class JmsPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsPriceMessageConsumer.java new file mode 100644 index 000000000..6dfdf485e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/inbound/JmsPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package jms.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class JmsPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsOutboundMetadataExample.java new file mode 100644 index 000000000..6142bccf7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsOutboundMetadataExample.java @@ -0,0 +1,23 @@ +package jms.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.jms.JmsProperties; +import io.smallrye.reactive.messaging.jms.OutgoingJmsMessageMetadata; + +public class JmsOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + OutgoingJmsMessageMetadata metadata = OutgoingJmsMessageMetadata.builder() + .withProperties(JmsProperties.builder().with("some-property", "some-value").build()) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsPriceMessageProducer.java new file mode 100644 index 000000000..bd57c863b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsPriceMessageProducer.java @@ -0,0 +1,26 @@ +package jms.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class JmsPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsPriceProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsPriceProducer.java new file mode 100644 index 000000000..b693a91f7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/jms/outbound/JmsPriceProducer.java @@ -0,0 +1,25 @@ +package jms.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class JmsPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/ConsumerTest.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/ConsumerTest.java new file mode 100644 index 000000000..fe0e60637 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/ConsumerTest.java @@ -0,0 +1,45 @@ +package kafka.companion; + +import static org.testcontainers.shaded.org.awaitility.Awaitility.await; + +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + +import org.apache.kafka.common.TopicPartition; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class ConsumerTest extends KafkaCompanionTestBase { + + @Test + public void fromTopics() { + // tag::topics[] + companion.consumeIntegers().fromTopics("topic1", "topic2"); + // end::topics[] + } + + @Test + public void fromOffset() { + // tag::offsets[] + Map offsets = new HashMap<>(); + offsets.put(new TopicPartition("topic1", 0), 100L); + offsets.put(new TopicPartition("topic2", 0), 100L); + companion.consumeIntegers().fromOffsets(offsets, Duration.ofSeconds(10)); + // end::offsets[] + } + + @Test + public void committed() { + // tag::committed[] + ConsumerBuilder consumer = companion.consumeIntegers() + .withAutoCommit(); + consumer.fromTopics("topic"); + // ... + await().untilAsserted(consumer::waitForAssignment); + consumer.committed(new TopicPartition("topic", 1)); + // end::committed[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/KafkaTest.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/KafkaTest.java new file mode 100644 index 000000000..e10717dc0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/KafkaTest.java @@ -0,0 +1,76 @@ +package kafka.companion; + +import java.time.Duration; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.common.serialization.Deserializer; +import org.apache.kafka.common.serialization.Serializer; +import org.junit.jupiter.api.Assertions; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder; +import io.smallrye.reactive.messaging.kafka.companion.ConsumerTask; +import io.smallrye.reactive.messaging.kafka.companion.KafkaCompanion; +import io.smallrye.reactive.messaging.kafka.companion.ProducerBuilder; + +public class KafkaTest { + + public void newCompanion() { + // tag::companion[] + // Create companion with bootstrap servers and API timeout (default is 10 seconds) + KafkaCompanion companion = new KafkaCompanion("localhost:9092", Duration.ofSeconds(5)); + + // Create producer and start producer task + ProducerBuilder producer = companion.produceIntegers() + .withClientId("my-producer") + .withProp("max.block.ms", "5000"); + producer.usingGenerator(i -> new ProducerRecord<>("topic", i), 100); + + // Create consumer and start consumer task + ConsumerBuilder consumer = companion.consumeIntegers() + .withGroupId("my-group") + .withCommitAsyncWhen(record -> true); + ConsumerTask records = consumer.fromTopics("topic", Duration.ofSeconds(10)); + // Await completion and assert consumed record count + Assertions.assertEquals(records.awaitCompletion().count(), 100); + // end::companion[] + } + + public void serdes() { + // tag::serdes[] + KafkaCompanion companion = new KafkaCompanion("localhost:9092"); + + // Register serde to the companion + companion.registerSerde(Orders.class, new OrdersSerializer(), new OrdersDeserializer()); + + // Companion will configure consumer accordingly + ConsumerTask orders = companion.consume(Integer.class, Orders.class) + .fromTopics("orders", 1000).awaitCompletion(); + + for (ConsumerRecord order : orders) { + // ... check consumed records + } + // end::serdes[] + } + + public static class Orders { + + } + + public static class OrdersSerializer implements Serializer { + + @Override + public byte[] serialize(String s, Orders orders) { + return new byte[0]; + } + } + + public static class OrdersDeserializer implements Deserializer { + + @Override + public Orders deserialize(String s, byte[] bytes) { + return null; + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/KafkaWithBaseTest.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/KafkaWithBaseTest.java new file mode 100644 index 000000000..63bd8634a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/KafkaWithBaseTest.java @@ -0,0 +1,32 @@ +package kafka.companion; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerTask; +import io.smallrye.reactive.messaging.kafka.companion.ProducerTask; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +// tag::code[] +public class KafkaWithBaseTest extends KafkaCompanionTestBase { + + @Test + public void testWithBase() { + // companion is created by the base class + + // produce 100 records to messages topic + ProducerTask producerTask = companion.produceIntegers() + .usingGenerator(i -> new ProducerRecord<>("messages", i), 100); + long msgCount = producerTask.awaitCompletion().count(); + Assertions.assertEquals(msgCount, 100); + + // consume 100 records from messages topic + ConsumerTask consumerTask = companion.consumeIntegers() + .fromTopics("messages", 100); + ConsumerRecord lastRecord = consumerTask.awaitCompletion().getLastRecord(); + Assertions.assertEquals(lastRecord.value(), 99); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/OffsetsTest.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/OffsetsTest.java new file mode 100644 index 000000000..f7b00fa6b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/OffsetsTest.java @@ -0,0 +1,36 @@ +package kafka.companion; + +import java.util.Collection; + +import org.apache.kafka.clients.admin.ConsumerGroupListing; +import org.apache.kafka.clients.admin.OffsetSpec; +import org.apache.kafka.common.TopicPartition; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.KafkaCompanion; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class OffsetsTest extends KafkaCompanionTestBase { + + @Test + public void offsets() { + // tag::offsets[] + TopicPartition topicPartition = KafkaCompanion.tp("topic", 1); + long latestOffset = companion.offsets().get(topicPartition, OffsetSpec.latest()).offset(); + // end::offsets[] + } + + @Test + public void consumerGroups() { + // tag::consumerGroups[] + Collection consumerGroups = companion.consumerGroups().list(); + for (ConsumerGroupListing consumerGroup : consumerGroups) { + // check consumer groups + } + + TopicPartition topicPartition = KafkaCompanion.tp("topic", 1); + companion.consumerGroups().resetOffsets("consumer-group", topicPartition); + // end::consumerGroups[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/ProducerTest.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/ProducerTest.java new file mode 100644 index 000000000..a60561829 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/ProducerTest.java @@ -0,0 +1,34 @@ +package kafka.companion; + +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class ProducerTest extends KafkaCompanionTestBase { + + @Test + public void fromRecords() { + // tag::records[] + companion.produce(byte[].class).fromRecords( + new ProducerRecord<>("topic1", "k1", "1".getBytes()), + new ProducerRecord<>("topic1", "k2", "2".getBytes()), + new ProducerRecord<>("topic1", "k3", "3".getBytes())); + // end::records[] + } + + @Test + public void fromGenerator() { + // tag::generator[] + companion.produceIntegers().usingGenerator(i -> new ProducerRecord<>("topic", i), 10); + // end::generator[] + } + + @Test + public void fromCsv() { + // tag::csv[] + companion.produceStrings().fromCsv("records.csv"); + // end::csv[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/TopicsTest.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/TopicsTest.java new file mode 100644 index 000000000..01e048611 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/companion/TopicsTest.java @@ -0,0 +1,20 @@ +package kafka.companion; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class TopicsTest extends KafkaCompanionTestBase { + + @Test + public void topics() { + // tag::code[] + companion.topics().create("topic1", 1); + companion.topics().createAndWait("topic2", 3); + Assertions.assertEquals(companion.topics().list().size(), 2); + + companion.topics().delete("topic1"); + // end::code[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/Converters.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/Converters.java new file mode 100644 index 000000000..646c5ae54 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/Converters.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.Record; + +@ApplicationScoped +public class Converters { + + // tag::code[] + @Incoming("topic-a") + public void consume(Record record) { + String key = record.key(); // Can be `null` if the incoming record has no key + String value = record.value(); // Can be `null` if the incoming record has no value + } + + @Incoming("topic-b") + public void consume(ConsumerRecord record) { + String key = record.key(); // Can be `null` if the incoming record has no key + String value = record.value(); // Can be `null` if the incoming record has no value + String topic = record.topic(); + int partition = record.partition(); + // ... + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaCheckpointExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaCheckpointExample.java new file mode 100644 index 000000000..9ae1f1ecb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaCheckpointExample.java @@ -0,0 +1,32 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.commit.CheckpointMetadata; + +@Deprecated(forRemoval = true) +@ApplicationScoped +public class KafkaCheckpointExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consume(Message record) { + // Get the `CheckpointMetadata` from the incoming message + CheckpointMetadata checkpoint = CheckpointMetadata.fromMessage(record); + + // `CheckpointMetadata` allows transforming the processing state + // Applies the given function, starting from the value `0.0` when no previous state exists + checkpoint.transform(0.0, current -> current + record.getPayload(), /* persistOnAck */ true); + + // `persistOnAck` flag set to true, ack will persist the processing state + // associated with the latest offset (per partition). + return record.ack(); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaCustomCommit.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaCustomCommit.java new file mode 100644 index 000000000..f57e3b87a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaCustomCommit.java @@ -0,0 +1,60 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.function.BiConsumer; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.TopicPartition; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord; +import io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.kafka.KafkaConsumer; +import io.smallrye.reactive.messaging.kafka.commit.KafkaCommitHandler; +import io.vertx.mutiny.core.Vertx; + +public class KafkaCustomCommit implements KafkaCommitHandler { + + @Override + public Uni handle(IncomingKafkaRecord record) { + // called on message ack + return Uni.createFrom().voidItem(); + } + + @Override + public Uni> received(IncomingKafkaRecord record) { + // called before message processing + return Uni.createFrom().item(record); + } + + @Override + public void terminate(boolean graceful) { + // called on channel shutdown + } + + @Override + public void partitionsAssigned(Collection partitions) { + // called on partitions assignment + } + + @Override + public void partitionsRevoked(Collection partitions) { + // called on partitions revoked + } + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements KafkaCommitHandler.Factory { + + @Override + public KafkaCommitHandler create(KafkaConnectorIncomingConfiguration config, + Vertx vertx, + KafkaConsumer consumer, + BiConsumer reportFailure) { + return new KafkaCustomCommit(/* ... */); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaDeadLetterExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaDeadLetterExample.java new file mode 100644 index 000000000..82cb5af95 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaDeadLetterExample.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import java.nio.charset.StandardCharsets; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.header.internals.RecordHeaders; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +@ApplicationScoped +public class KafkaDeadLetterExample { + + // tag::code[] + @Incoming("in") + public CompletionStage consume(Message message) { + return message.nack(new Exception("Failed!"), Metadata.of( + OutgoingKafkaRecordMetadata.builder() + .withKey("failed-record") + .withHeaders(new RecordHeaders() + .add("my-header", "my-header-value".getBytes(StandardCharsets.UTF_8))) + .build())); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaMetadataExample.java new file mode 100644 index 000000000..8400fe0df --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaMetadataExample.java @@ -0,0 +1,36 @@ +package kafka.inbound; + +import java.time.Instant; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordMetadata; + +public class KafkaMetadataExample { + + @SuppressWarnings("unchecked") + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + IncomingKafkaRecordMetadata metadata = incoming.getMetadata(IncomingKafkaRecordMetadata.class) + .orElse(null); + if (metadata != null) { + // The topic + String topic = metadata.getTopic(); + + // The key + String key = metadata.getKey(); + + // The timestamp + Instant timestamp = metadata.getTimestamp(); + + // The underlying record + ConsumerRecord record = metadata.getRecord(); + + // ... + } + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaPriceConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaPriceConsumer.java new file mode 100644 index 000000000..7d6d28b94 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaPriceConsumer.java @@ -0,0 +1,15 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaPriceMessageConsumer.java new file mode 100644 index 000000000..324b7b94f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class KafkaPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message (commit the offset) + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRebalancedConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRebalancedConsumer.java new file mode 100644 index 000000000..814461dc2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRebalancedConsumer.java @@ -0,0 +1,22 @@ +package kafka.inbound; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class KafkaRebalancedConsumer { + + @Incoming("rebalanced-example") + @Acknowledgment(Acknowledgment.Strategy.NONE) + public CompletionStage consume(Message message) { + // We don't need to ACK messages because in this example we set offset during consumer re-balance + return CompletableFuture.completedFuture(null); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java new file mode 100644 index 000000000..512b65117 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java @@ -0,0 +1,49 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.logging.Logger; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.consumer.OffsetAndTimestamp; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener; + +@ApplicationScoped +@Identifier("rebalanced-example.rebalancer") +public class KafkaRebalancedConsumerRebalanceListener implements KafkaConsumerRebalanceListener { + + private static final Logger LOGGER = Logger.getLogger(KafkaRebalancedConsumerRebalanceListener.class.getName()); + + /** + * When receiving a list of partitions will search for the earliest offset within 10 minutes + * and seek the consumer to it. + * + * @param consumer underlying consumer + * @param partitions set of assigned topic partitions + */ + @Override + public void onPartitionsAssigned(Consumer consumer, + Collection partitions) { + long now = System.currentTimeMillis(); + long shouldStartAt = now - 600_000L; //10 minute ago + + Map request = new HashMap<>(); + for (org.apache.kafka.common.TopicPartition partition : partitions) { + LOGGER.info("Assigned " + partition); + request.put(partition, shouldStartAt); + } + Map offsets = consumer + .offsetsForTimes(request); + for (Map.Entry position : offsets.entrySet()) { + long target = position.getValue() == null ? 0L : position.getValue().offset(); + LOGGER.info("Seeking position " + target + " for " + position.getKey()); + consumer.seek(position.getKey(), target); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRecordBatchExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRecordBatchExample.java new file mode 100644 index 000000000..85d329af6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRecordBatchExample.java @@ -0,0 +1,60 @@ +package kafka.inbound; + +import java.util.List; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.apache.kafka.common.TopicPartition; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.TracingMetadata; +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordBatchMetadata; + +@ApplicationScoped +public class KafkaRecordBatchExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consumeMessage(Message> msg) { + IncomingKafkaRecordBatchMetadata batchMetadata = msg.getMetadata(IncomingKafkaRecordBatchMetadata.class) + .get(); + for (ConsumerRecord record : batchMetadata.getRecords()) { + int partition = record.partition(); + long offset = record.offset(); + long timestamp = record.timestamp(); + } + // ack will commit the latest offsets (per partition) of the batch. + return msg.ack(); + } + + @Incoming("prices") + public void consumeRecords(ConsumerRecords records) { + for (TopicPartition partition : records.partitions()) { + for (ConsumerRecord record : records.records(partition)) { + //... process messages + } + } + } + // end::code[] + + // tag::batch[] + @Incoming("prices") + public void consumeRecords(ConsumerRecords records, + IncomingKafkaRecordBatchMetadata metadata) { + for (TopicPartition partition : records.partitions()) { + for (ConsumerRecord record : records.records(partition)) { + TracingMetadata tracing = metadata.getMetadataForRecord(record, TracingMetadata.class); + if (tracing != null) { + tracing.getCurrentContext().makeCurrent(); + } + //... process messages + } + } + } + // end::batch[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java new file mode 100644 index 000000000..9a3d11100 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java @@ -0,0 +1,21 @@ +package kafka.inbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaRecordBatchPayloadExample { + + // tag::code[] + @Incoming("prices") + public void consume(List prices) { + for (double price : prices) { + // process price + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupAckExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupAckExample.java new file mode 100644 index 000000000..2ee56bd59 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupAckExample.java @@ -0,0 +1,29 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.queues.ShareGroupAcknowledgement; + +@ApplicationScoped +public class KafkaShareGroupAckExample { + + // tag::code[] + @Incoming("queue") + public void consume(double price, ShareGroupAcknowledgement ack) { + if (price < 0) { + ack.reject(); // Permanently reject the record + } else if (needsRetry(price)) { + ack.release(); // Release for re-delivery to another consumer + } else { + ack.accept(); // Mark as successfully processed + } + } + // end::code[] + + private boolean needsRetry(double price) { + return false; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java new file mode 100644 index 000000000..383d4ec6c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordBatchMetadata; +import io.smallrye.reactive.messaging.kafka.queues.ShareGroupAcknowledgement; + +@ApplicationScoped +public class KafkaShareGroupBatchAckExample { + + // tag::code[] + @Incoming("queue") + public void consume(ConsumerRecords records, + IncomingKafkaRecordBatchMetadata batchMetadata) { + for (ConsumerRecord record : records) { + ShareGroupAcknowledgement ack = batchMetadata.getMetadataForRecord(record, ShareGroupAcknowledgement.class); + if (record.value() < 0) { + ack.reject(); // Reject invalid records + } else { + ack.accept(); // Accept valid records + } + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupConsumer.java new file mode 100644 index 000000000..5df915512 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupConsumer.java @@ -0,0 +1,15 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaShareGroupConsumer { + + @Incoming("queue") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupNackExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupNackExample.java new file mode 100644 index 000000000..ffebef1c2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/KafkaShareGroupNackExample.java @@ -0,0 +1,41 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.AcknowledgeType; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.kafka.queues.ShareGroupAcknowledgement; + +@ApplicationScoped +public class KafkaShareGroupNackExample { + + // tag::code[] + @Incoming("queue") + public CompletionStage consume(Message msg) { + try { + process(msg.getPayload()); + return msg.ack(); + } catch (TransientException e) { + // Release for re-delivery + return msg.nack(e, + Metadata.of(ShareGroupAcknowledgement.from(AcknowledgeType.RELEASE))); + } catch (Exception e) { + // Reject permanently + return msg.nack(e, + Metadata.of(ShareGroupAcknowledgement.from(AcknowledgeType.REJECT))); + } + } + // end::code[] + + private void process(double price) { + } + + private static class TransientException extends RuntimeException { + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/MyCheckpointStateStore.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/MyCheckpointStateStore.java new file mode 100644 index 000000000..5c33ce0c1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/inbound/MyCheckpointStateStore.java @@ -0,0 +1,69 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerConfig; +import org.apache.kafka.common.TopicPartition; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.kafka.KafkaConsumer; +import io.smallrye.reactive.messaging.kafka.commit.CheckpointStateStore; +import io.smallrye.reactive.messaging.kafka.commit.ProcessingState; +import io.vertx.mutiny.core.Vertx; + +@Deprecated(forRemoval = true) +public class MyCheckpointStateStore implements CheckpointStateStore { + + private final String consumerGroupId; + private final Class stateType; + + public MyCheckpointStateStore(String consumerGroupId, Class stateType) { + this.consumerGroupId = consumerGroupId; + this.stateType = stateType; + } + + /** + * Can be used with + * {@code mp.reactive.messaging.incoming.my-channel.commit-strategy=checkpoint} + * {@code mp.reactive.messaging.incoming.my-channel.checkpoint.state-store=my-store} + */ + @ApplicationScoped + @Identifier("my-store") + public static class Factory implements CheckpointStateStore.Factory { + + @Override + public CheckpointStateStore create(KafkaConnectorIncomingConfiguration config, + Vertx vertx, + KafkaConsumer consumer, + Class stateType /* if configured, otherwise null */) { + String consumerGroupId = (String) consumer.configuration().get(ConsumerConfig.GROUP_ID_CONFIG); + return new MyCheckpointStateStore(consumerGroupId, stateType); + } + } + + @Override + public Uni>> fetchProcessingState(Collection partitions) { + // Called on Vert.x event loop + // Return a Uni completing with the map of topic-partition to processing state + // The Uni will be subscribed also on Vert.x event loop + return Uni.createFrom().nullItem(); + } + + @Override + public Uni persistProcessingState(Map> state) { + // Called on Vert.x event loop + // Return a Uni completing with void when the given states are persisted + // The Uni will be subscribed also on Vert.x event loop + return Uni.createFrom().voidItem(); + } + + @Override + public void close() { + /* Called when channel is closing, no-op by default */ + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java new file mode 100644 index 000000000..17cea321d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java @@ -0,0 +1,39 @@ +package kafka.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class KafkaCloudEventMultipleProcessors { + + @Incoming("source") + @Outgoing("processed") + public Message process(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greeting") + .build()); + } + + @SuppressWarnings("unchecked") + @Incoming("processed") + @Outgoing("cloud-events") + public Message process2(Message in) { + OutgoingCloudEventMetadata metadata = in + .getMetadata(OutgoingCloudEventMetadata.class) + .orElseGet(() -> OutgoingCloudEventMetadata.builder().build()); + + return in.addMetadata(OutgoingCloudEventMetadata.from(metadata) + .withSource(URI.create("source://me")) + .withSubject("test") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCloudEventProcessor.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCloudEventProcessor.java new file mode 100644 index 000000000..8b5d4d91c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCloudEventProcessor.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class KafkaCloudEventProcessor { + + @Outgoing("cloud-events") + public Message toCloudEvents(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greetings") + .withSource(URI.create("http://example.com")) + .withSubject("greeting-message") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCustomHeaderReplier.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCustomHeaderReplier.java new file mode 100644 index 000000000..9612a1c60 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaCustomHeaderReplier.java @@ -0,0 +1,39 @@ +package kafka.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.common.header.Header; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaCustomHeaderReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + ProducerRecord process(ConsumerRecord request) { + Header topicHeader = request.headers().lastHeader("MY_TOPIC"); + if (topicHeader == null) { + // Skip + return null; + } + String myTopic = new String(topicHeader.value()); + int generateValue = rand.nextInt(100); + Header partitionHeader = request.headers().lastHeader("MY_PARTITION"); + if (partitionHeader == null) { + // Propagate incoming headers, including the correlation id header + return new ProducerRecord<>(myTopic, null, request.key(), generateValue, request.headers()); + } + // Send the replies to extracted myTopic-myPartition + int myPartition = KafkaRequestReply.replyPartitionFromBytes(partitionHeader.value()); + return new ProducerRecord<>(myTopic, myPartition, request.key(), generateValue, request.headers()); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java new file mode 100644 index 000000000..49b973232 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java @@ -0,0 +1,34 @@ +package kafka.outbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.Record; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + @Incoming("in-channel") + public Uni emitInTransaction(Message>> batch) { + return txProducer.withTransaction(batch, emitter -> { + for (Record record : batch.getPayload()) { + emitter.send(KafkaRecord.of(record.key(), record.value() + 1)); + } + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java new file mode 100644 index 000000000..cca404431 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +public class KafkaOutboundDynamicTopicExample { + + public Message metadata(Message incoming) { + // tag::code[] + String topicName = selectTopicFromIncommingMessage(incoming); + OutgoingKafkaRecordMetadata metadata = OutgoingKafkaRecordMetadata. builder() + .withTopic(topicName) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + + private String selectTopicFromIncommingMessage(Message incoming) { + return "fake"; + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaOutboundMetadataExample.java new file mode 100644 index 000000000..645f290d2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaOutboundMetadataExample.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import org.apache.kafka.common.header.internals.RecordHeaders; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +public class KafkaOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + // Creates an OutgoingKafkaRecordMetadata + // The type parameter is the type of the record's key + OutgoingKafkaRecordMetadata metadata = OutgoingKafkaRecordMetadata. builder() + .withKey("my-key") + .withHeaders(new RecordHeaders().add("my-header", "value".getBytes())) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java new file mode 100644 index 000000000..8bdf4142c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java @@ -0,0 +1,32 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.annotations.Blocking; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordMetadata; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaPooledExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + @Incoming("in-channel") + @Blocking(ordered = false) + public void process(ConsumerRecord record, IncomingKafkaRecordMetadata metadata) { + txProducer.withTransactionAndAwait(metadata, emitter -> { + emitter.send(KafkaRecord.of(record.key(), record.value() + 1)); + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceMessageProducer.java new file mode 100644 index 000000000..52e86b093 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceMessageProducer.java @@ -0,0 +1,26 @@ +package kafka.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class KafkaPriceMessageProducer { + + private final Random random = new Random(); + + @Outgoing("prices-out") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceProcessor.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceProcessor.java new file mode 100644 index 000000000..7d423ae89 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceProcessor.java @@ -0,0 +1,19 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaPriceProcessor { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public double process(int in) { + return in * 0.88; + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceProducer.java new file mode 100644 index 000000000..220a0214f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaPriceProducer.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class KafkaPriceProducer { + + private final Random random = new Random(); + + @Outgoing("prices-out") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaProducerRecordExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaProducerRecordExample.java new file mode 100644 index 000000000..0fb3f3dc4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaProducerRecordExample.java @@ -0,0 +1,18 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.producer.ProducerRecord; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaProducerRecordExample { + + // tag::code[] + @Outgoing("out") + public ProducerRecord generate() { + return new ProducerRecord<>("my-topic", "key", "value"); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRecordExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRecordExample.java new file mode 100644 index 000000000..560850605 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRecordExample.java @@ -0,0 +1,21 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.kafka.Record; + +@ApplicationScoped +public class KafkaRecordExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Record process(String in) { + return Record.of("my-key", in); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaReplier.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaReplier.java new file mode 100644 index 000000000..8bad449e8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaReplier.java @@ -0,0 +1,20 @@ +package kafka.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + int handleRequest(String request) { + return rand.nextInt(100); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyEmitter.java new file mode 100644 index 000000000..c1994d090 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyEmitter.java @@ -0,0 +1,21 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaRequestReplyEmitter { + + @Inject + @Channel("my-request") + KafkaRequestReply quoteRequest; + + public Uni requestQuote(String request) { + return quoteRequest.request(request); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java new file mode 100644 index 000000000..e70379b62 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java @@ -0,0 +1,26 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaRequestReplyMessageEmitter { + + @Inject + @Channel("my-request") + KafkaRequestReply quoteRequest; + + public Uni> requestMessage(String request) { + return quoteRequest.request(Message.of(request) + .addMetadata(OutgoingKafkaRecordMetadata.builder() + .withKey(request) + .build())); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java new file mode 100644 index 000000000..8d8897ba1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java @@ -0,0 +1,21 @@ +package org.acme; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaRequestReplyMultiEmitter { + + @Inject + @Channel("my-request") + KafkaRequestReply quoteRequest; + + public Multi requestQuote(String request) { + return quoteRequest.requestMulti(request).select().first(5); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaTransactionalProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaTransactionalProducer.java new file mode 100644 index 000000000..597c33cc2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/KafkaTransactionalProducer.java @@ -0,0 +1,28 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaTransactionalProducer { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + public Uni emitInTransaction() { + return txProducer.withTransaction(emitter -> { + emitter.send(KafkaRecord.of(1, "a")); + emitter.send(KafkaRecord.of(2, "b")); + emitter.send(KafkaRecord.of(3, "c")); + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/MyReplyFailureHandler.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/MyReplyFailureHandler.java new file mode 100644 index 000000000..fcd7f8f9c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/MyReplyFailureHandler.java @@ -0,0 +1,23 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.header.Header; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.reply.ReplyFailureHandler; + +@ApplicationScoped +@Identifier("my-reply-error") +public class MyReplyFailureHandler implements ReplyFailureHandler { + + @Override + public Throwable handleReply(KafkaRecord replyRecord) { + Header header = replyRecord.getHeaders().lastHeader("REPLY_ERROR"); + if (header != null) { + return new IllegalArgumentException(new String(header.value())); + } + return null; + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/ProducerInterceptorBeanExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/ProducerInterceptorBeanExample.java new file mode 100644 index 000000000..a01e555cd --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/kafka/outbound/ProducerInterceptorBeanExample.java @@ -0,0 +1,37 @@ +package kafka.outbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.producer.ProducerInterceptor; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.clients.producer.RecordMetadata; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +@Identifier("my-producer-interceptor") +public class ProducerInterceptorBeanExample implements ProducerInterceptor { + + @Override + public ProducerRecord onSend(ProducerRecord producerRecord) { + // called before send + return producerRecord; + } + + @Override + public void onAcknowledgement(RecordMetadata recordMetadata, Exception e) { + // called on send acknowledgement callback + } + + @Override + public void close() { + // called on client close + } + + @Override + public void configure(Map map) { + // called on client configuration + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyValueExtractorFromPayload.java b/content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyValueExtractorFromPayload.java new file mode 100644 index 000000000..6191d081b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyValueExtractorFromPayload.java @@ -0,0 +1,35 @@ +package keyed; + +import java.lang.reflect.Type; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +// tag::code[] +import io.smallrye.reactive.messaging.keyed.KeyValueExtractor; + +@ApplicationScoped +public class KeyValueExtractorFromPayload implements KeyValueExtractor { + + @Override + public boolean canExtract(Message msg, Type keyType, Type valueType) { + // Called for the first message of the stream to select the extractor. + // Here we only check for the type, but the logic can be more complex + return keyType.equals(String.class) && valueType.equals(String.class); + } + + @Override + public String extractKey(Message message, Type keyType) { + String string = message.getPayload().toString(); + return string.substring(0, string.indexOf(":")); + } + + @Override + public String extractValue(Message message, Type valueType) { + String string = message.getPayload().toString(); + return string.substring(string.indexOf(":") + 1); + } + +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyedExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyedExample.java new file mode 100644 index 000000000..438a0185e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyedExample.java @@ -0,0 +1,25 @@ +package keyed; + +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.keyed.Keyed; +import io.smallrye.reactive.messaging.keyed.KeyedMulti; + +public class KeyedExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Multi reshape( + @Keyed(KeyValueExtractorFromPayload.class) KeyedMulti multi) { + return multi.onItem().scan(AtomicInteger::new, (i, s) -> { + i.incrementAndGet(); + return i; + }).map(i -> Integer.toString(i.get())); + } + // end::code[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyedMultiExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyedMultiExample.java new file mode 100644 index 000000000..c917cc8d1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/keyed/KeyedMultiExample.java @@ -0,0 +1,27 @@ +package keyed; + +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.keyed.KeyedMulti; + +public class KeyedMultiExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Multi reshape(KeyedMulti multi) { + // Called once per key and receive the stream of value for that specific key + String key = multi.key(); + return multi.onItem().scan(AtomicInteger::new, (i, s) -> { + i.incrementAndGet(); + return i; + }) + .map(i -> Integer.toString(i.get())); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/merge/MergeExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/merge/MergeExamples.java new file mode 100644 index 000000000..fbf4d4ac8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/merge/MergeExamples.java @@ -0,0 +1,31 @@ +package merge; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Merge; + +public class MergeExamples { + + // tag::chain[] + @Incoming("in1") + @Outgoing("out") + public int increment(int i) { + return i + 1; + } + + @Incoming("in2") + @Outgoing("out") + public int multiply(int i) { + return i * 2; + } + + @Incoming("out") + @Merge + public void getAll(int i) { + //... + } + + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/messages/MessageExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/messages/MessageExamples.java new file mode 100644 index 000000000..15dbf7e0f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/messages/MessageExamples.java @@ -0,0 +1,96 @@ +package messages; + +import java.util.Optional; +import java.util.concurrent.CompletableFuture; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +@SuppressWarnings({ "unused" }) +public class MessageExamples { + + public void example1() { + Message message = Message.of("hello", Metadata.of(new MyMetadata())); + // tag::message[] + String payload = message.getPayload(); + Optional metadata = message.getMetadata(MyMetadata.class); + // end::message[] + } + + public void creation() { + Price price = new Price(20.5); + // tag::creation[] + // Create a simple message wrapping a payload + Message m1 = Message.of(price); + + // Create a message with metadata + Message m2 = Message.of(price, Metadata.of(new PriceMetadata())); + + // Create a message with several metadata + Message m3 = Message.of(price, + Metadata.of(new PriceMetadata(), new MyMetadata())); + + // Create a message with an acknowledgement callback + Message m4 = Message.of(price, () -> { + // Called when the message is acknowledged by the next consumer. + return CompletableFuture.completedFuture(null); + }); + + // Create a message with both metadata and acknowledgement callback + Message m5 = Message.of(price, + Metadata.of(new PriceMetadata()), + () -> { + // Called when the message is acknowledged by the next consumer. + return CompletableFuture.completedFuture(null); + }); + // end::creation[] + } + + public void copy() { + Price price = new Price(20.5); + Message message = Message.of(price); + // tag::copy[] + + // Create a new message with a new payload but with the same metadata + Message m1 = message.withPayload(new Price(12.4)); + + // Create a new message with a new payload and add another metadata + Message m2 = message + .withPayload(new Price(15.0)) + .withMetadata(Metadata.of(new PriceMetadata())); + + // Create a new message with a new payload and a custom acknowledgement + Message m3 = message + .withPayload(new Price(15.0)) + .withAck(() -> + // acknowledge the incoming message + message.ack() + .thenAccept(x -> { + // do something + })); + // end::copy[] + } + + public void nullPayload() { + // tag::null-payload[] + // Create a message with null payload + Message m6 = Message.of(null, Metadata.of(new PriceMetadata())); + // end::null-payload[] + } + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } + + static class PriceMetadata { + final long timestamp; + + public PriceMetadata() { + this.timestamp = System.currentTimeMillis(); + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/customization/ClientProducers.java b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/customization/ClientProducers.java new file mode 100644 index 000000000..fbcaaea08 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/customization/ClientProducers.java @@ -0,0 +1,32 @@ +package mqtt.customization; + +import jakarta.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; + +public class ClientProducers { + + // tag::named[] + @Produces + @Identifier("my-options") + public MqttClientSessionOptions getOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return new MqttClientSessionOptions() + .setSsl(true) + .setKeyCertOptions(keycert) + .setTrustOptions(trust) + .setHostnameVerificationAlgorithm("HTTPS") + .setConnectTimeout(30000) + .setReconnectInterval(5000); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/inbound/MqttPriceConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/inbound/MqttPriceConsumer.java new file mode 100644 index 000000000..9115d809a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/inbound/MqttPriceConsumer.java @@ -0,0 +1,17 @@ +package mqtt.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class MqttPriceConsumer { + + @Incoming("prices") + public void consume(byte[] raw) { + double price = Double.parseDouble(new String(raw)); + + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/inbound/MqttPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/inbound/MqttPriceMessageConsumer.java new file mode 100644 index 000000000..ed40c96db --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/inbound/MqttPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package mqtt.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class MqttPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/outbound/MqttPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/outbound/MqttPriceMessageProducer.java new file mode 100644 index 000000000..744ce54b5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/outbound/MqttPriceMessageProducer.java @@ -0,0 +1,26 @@ +package mqtt.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class MqttPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/outbound/MqttPriceProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/outbound/MqttPriceProducer.java new file mode 100644 index 000000000..22c0998e9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/mqtt/outbound/MqttPriceProducer.java @@ -0,0 +1,25 @@ +package mqtt.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class MqttPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/observability/ContextMessageObservationCollector.java b/content/docs/smallrye-reactive-messaging/latest/_examples/observability/ContextMessageObservationCollector.java new file mode 100644 index 000000000..608e368dc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/observability/ContextMessageObservationCollector.java @@ -0,0 +1,57 @@ +package observability; + +import java.time.Duration; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.observation.DefaultMessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservationCollector; +import io.smallrye.reactive.messaging.observation.ObservationContext; + +@ApplicationScoped +public class ContextMessageObservationCollector + implements MessageObservationCollector { + + @Override + public MyContext initObservation(String channel, boolean incoming, boolean emitter) { + // Called on observation setup, per channel + // if returned null the observation for that channel is disabled + return new MyContext(channel, incoming, emitter); + } + + @Override + public MessageObservation onNewMessage(String channel, Message message, MyContext ctx) { + // Called after message has been created + return new DefaultMessageObservation(channel); + } + + public static class MyContext implements ObservationContext { + + private final String channel; + private final boolean incoming; + private final boolean emitter; + + public MyContext(String channel, boolean incoming, boolean emitter) { + this.channel = channel; + this.incoming = incoming; + this.emitter = emitter; + } + + @Override + public void complete(MessageObservation observation) { + // called after message processing has completed and observation is done + // register duration + Duration duration = observation.getCompletionDuration(); + Throwable reason = observation.getReason(); + if (reason != null) { + // message was nacked + } else { + // message was acked successfully + } + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/observability/SimpleMessageObservationCollector.java b/content/docs/smallrye-reactive-messaging/latest/_examples/observability/SimpleMessageObservationCollector.java new file mode 100644 index 000000000..838bceb5f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/observability/SimpleMessageObservationCollector.java @@ -0,0 +1,21 @@ +package observability; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.observation.DefaultMessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservationCollector; +import io.smallrye.reactive.messaging.observation.ObservationContext; + +@ApplicationScoped +public class SimpleMessageObservationCollector implements MessageObservationCollector { + + @Override + public MessageObservation onNewMessage(String channel, Message message, ObservationContext ctx) { + // Called after message has been created + return new DefaultMessageObservation(channel); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/OutgoingsExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/OutgoingsExample.java new file mode 100644 index 000000000..4e5bf44db --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/OutgoingsExample.java @@ -0,0 +1,18 @@ +package outgoings; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class OutgoingsExample { + + //tag::code[] + @Incoming("in") + @Outgoing("out1") + @Outgoing("out2") + public String process(String s) { + // send messages from channel-in to both channel-out1 and channel-out2 + return s.toUpperCase(); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/SplitterMultiExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/SplitterMultiExample.java new file mode 100644 index 000000000..550443c61 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/SplitterMultiExample.java @@ -0,0 +1,37 @@ +package outgoings; + +import java.util.Objects; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.operators.multi.split.MultiSplitter; + +public class SplitterMultiExample { + + // tag::code[] + enum Caps { + ALL_CAPS, + ALL_LOW, + MIXED + } + + @Incoming("in") + @Outgoing("sink1") + @Outgoing("sink2") + @Outgoing("sink3") + public MultiSplitter reshape(Multi in) { + return in.split(Caps.class, s -> { + if (Objects.equals(s, s.toLowerCase())) { + return Caps.ALL_LOW; + } else if (Objects.equals(s, s.toUpperCase())) { + return Caps.ALL_CAPS; + } else { + return Caps.MIXED; + } + }); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/TargetedExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/TargetedExample.java new file mode 100644 index 000000000..7835ef9d8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/outgoings/TargetedExample.java @@ -0,0 +1,44 @@ +package outgoings; + +import java.util.Map; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.Messages; +import io.smallrye.reactive.messaging.Targeted; +import io.smallrye.reactive.messaging.TargetedMessages; + +public class TargetedExample { + + //tag::code[] + @Incoming("in") + @Outgoing("out1") + @Outgoing("out2") + @Outgoing("out3") + public Targeted process(double price) { + // send messages from channel-in to both channel-out1 and channel-out2 + Targeted targeted = Targeted.of("out1", "Price: " + price, + "out2", "Quote: " + price); + if (price > 90.0) { + return targeted.with("out3", price); + } + return targeted; + } + //end::code[] + + //tag::targeted-messages[] + @Incoming("channel-in") + @Outgoing("channel-out1") + @Outgoing("channel-out2") + @Outgoing("channel-out3") + public TargetedMessages processMessage(Message msg) { + // send messages from channel-in to both channel-out1 and channel-out2 + return Messages.chain(msg) + .with(Map.of("channel-out1", msg.withPayload(msg.getPayload().toUpperCase()), + "channel-out2", msg.withPayload(msg.getPayload().toLowerCase()))); + } + //end::targeted-messages[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pausable/PausableController.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pausable/PausableController.java new file mode 100644 index 000000000..f95612833 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pausable/PausableController.java @@ -0,0 +1,46 @@ +package pausable; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.ChannelRegistry; +import io.smallrye.reactive.messaging.PausableChannel; + +@ApplicationScoped +public class PausableController { + + // Option 1: Inject ChannelRegistry and retrieve the pausable channel + @Inject + ChannelRegistry registry; + + // Option 2: Directly inject the pausable channel + @Inject + @Channel("my-channel") + PausableChannel myChannel; + + @PostConstruct + public void resume() { + // Wait for the application to be ready + // Option 1: Retrieve the pausable channel from the registry + PausableChannel pausable = registry.getPausable("my-channel"); + // Resume the processing of the messages + pausable.resume(); + } + + public void pause() { + // Option 2: Use the injected pausable channel + + // Pause the processing of the messages + myChannel.pause(); + } + + @Incoming("my-channel") + void process(String message) { + // Process the message + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/processing/ProcessingExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/processing/ProcessingExamples.java new file mode 100644 index 000000000..548722816 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/processing/ProcessingExamples.java @@ -0,0 +1,72 @@ +package processing; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class ProcessingExamples { + + // tag::process-message[] + @Incoming("in") + @Outgoing("out") + public Message processMessage(Message in) { + return in.withPayload(Integer.toString(in.getPayload())); + } + // end::process-message[] + + // tag::process-message-cs[] + @Incoming("in") + @Outgoing("out") + public CompletionStage> processMessageCS(Message in) { + CompletionStage cs = invokeService(in.getPayload()); + return cs.thenApply(in::withPayload); + } + // end::process-message-cs[] + + // tag::process-message-uni[] + @Incoming("in") + @Outgoing("out") + public Uni> processMessageUni(Message in) { + return invokeService(in.getPayload()) + .map(in::withPayload); + } + // end::process-message-uni[] + + // tag::process-payload[] + @Incoming("in") + @Outgoing("out") + public String processPayload(int in) { + return Integer.toString(in); + } + // end::process-payload[] + + // tag::process-payload-cs[] + @Incoming("in") + @Outgoing("out") + public CompletionStage processPayloadCS(int in) { + return invokeService(in); + } + // end::process-payload-cs[] + + // tag::process-payload-uni[] + @Incoming("in") + @Outgoing("out") + public Uni processPayload(String in) { + return invokeService(in); + } + // end::process-payload-uni[] + + private CompletionStage invokeService(int param) { + return CompletableFuture.completedFuture("ok"); + } + + private Uni invokeService(String param) { + return Uni.createFrom().item("ok"); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/processing/StreamExamples.java b/content/docs/smallrye-reactive-messaging/latest/_examples/processing/StreamExamples.java new file mode 100644 index 000000000..c33bfecd8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/processing/StreamExamples.java @@ -0,0 +1,41 @@ +package processing; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; + +public class StreamExamples { + + // tag::processing-stream-message[] + @Incoming("in") + @Outgoing("out") + public Multi> processMessageStream(Multi> stream) { + return stream + .onItem().transformToUni(message -> invokeService(message.getPayload()) + .onFailure().recoverWithItem("fallback") + .onItem().transform(message::withPayload)) + .concatenate(); + + } + // end::processing-stream-message[] + + // tag::processing-stream-payload[] + @Incoming("in") + @Outgoing("out") + public Multi processPayloadStream(Multi stream) { + return stream + .onItem().transformToUni(payload -> invokeService(payload) + .onFailure().recoverWithItem("fallback")) + .concatenate(); + + } + // end::processing-stream-payload[] + + private Uni invokeService(int i) { + return Uni.createFrom().item("ok " + i); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/configuration/PulsarClientConfigProducers.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/configuration/PulsarClientConfigProducers.java new file mode 100644 index 000000000..89f1d31c5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/configuration/PulsarClientConfigProducers.java @@ -0,0 +1,66 @@ +package pulsar.configuration; + +import java.util.HashMap; +import java.util.Map; + +import jakarta.enterprise.inject.Produces; + +import org.apache.pulsar.client.api.BatcherBuilder; +import org.apache.pulsar.client.api.PulsarClientSharedResources; +import org.apache.pulsar.client.impl.AutoClusterFailover; +import org.apache.pulsar.client.impl.DefaultCryptoKeyReader; +import org.apache.pulsar.client.impl.conf.ClientConfigurationData; +import org.apache.pulsar.client.impl.conf.ConsumerConfigurationData; +import org.apache.pulsar.client.impl.customroute.PartialRoundRobinMessageRouterImpl; + +import io.smallrye.common.annotation.Identifier; + +public class PulsarClientConfigProducers { + + // tag::consumer[] + @Produces + @Identifier("my-consumer-options") + public ConsumerConfigurationData getConsumerConfig() { + ConsumerConfigurationData data = new ConsumerConfigurationData<>(); + data.setAckReceiptEnabled(true); + data.setCryptoKeyReader(DefaultCryptoKeyReader.builder() + //... + .build()); + return data; + } + // end::consumer[] + + // tag::client[] + @Produces + @Identifier("prices") + public ClientConfigurationData getClientConfig() { + ClientConfigurationData data = new ClientConfigurationData(); + data.setEnableTransaction(true); + data.setServiceUrlProvider(AutoClusterFailover.builder() + // ... + .build()); + return data; + } + // end::client[] + + // tag::shared-resources[] + @Produces + public PulsarClientSharedResources getSharedResources() { + return PulsarClientSharedResources.builder() + .configureEventLoop(config -> config.numberOfThreads(4)) + .build(); + } + // end::shared-resources[] + + // tag::producer[] + @Produces + @Identifier("prices") + public Map getProducerconfig() { + Map map = new HashMap<>(); + map.put("batcherBuilder", BatcherBuilder.KEY_BASED); + map.put("sendTimeoutMs", 3000); + map.put("customMessageRouter", new PartialRoundRobinMessageRouterImpl(4)); + return map; + } + // end::producer[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/configuration/PulsarSchemaProvider.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/configuration/PulsarSchemaProvider.java new file mode 100644 index 000000000..3fe6141d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/configuration/PulsarSchemaProvider.java @@ -0,0 +1,30 @@ +package pulsar.configuration; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; + +import org.apache.pulsar.client.api.Schema; +import org.apache.pulsar.common.schema.KeyValue; +import org.apache.pulsar.common.schema.KeyValueEncodingType; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +public class PulsarSchemaProvider { + + @Produces + @Identifier("user-schema") + Schema userSchema = Schema.AVRO(User.class); + + @Produces + @Identifier("a-channel") + Schema> keyValueSchema() { + return Schema.KeyValue(Schema.INT32, Schema.JSON(User.class), KeyValueEncodingType.SEPARATED); + } + + public static class User { + String name; + int age; + + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMessageBatchExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMessageBatchExample.java new file mode 100644 index 000000000..9ce9eead1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMessageBatchExample.java @@ -0,0 +1,54 @@ +package pulsar.inbound; + +import java.util.List; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.TracingMetadata; +import io.smallrye.reactive.messaging.pulsar.PulsarIncomingBatchMessageMetadata; + +@ApplicationScoped +public class PulsarMessageBatchExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consumeMessage(Message> messages) { + messages.getMetadata(PulsarIncomingBatchMessageMetadata.class).ifPresent(metadata -> { + for (org.apache.pulsar.client.api.Message message : metadata.getMessages()) { + String key = message.getKey(); + String topic = message.getTopicName(); + long timestamp = message.getEventTime(); + //... process messages + } + }); + // ack will commit the latest offsets (per partition) of the batch. + return messages.ack(); + } + + @Incoming("prices") + public void consumeMessages(org.apache.pulsar.client.api.Messages messages) { + for (org.apache.pulsar.client.api.Message msg : messages) { + //... process messages + } + } + // end::code[] + + // tag::batch[] + @Incoming("prices") + public void consumeMessages(org.apache.pulsar.client.api.Messages messages, + PulsarIncomingBatchMessageMetadata metadata) { + for (org.apache.pulsar.client.api.Message message : messages) { + TracingMetadata tracing = metadata.getMetadataForMessage(message, TracingMetadata.class); + if (tracing != null) { + tracing.getCurrentContext().makeCurrent(); + } + //... process messages + } + } + // end::batch[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java new file mode 100644 index 000000000..649b7d1ae --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java @@ -0,0 +1,21 @@ +package pulsar.inbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class PulsarMessageBatchPayloadExample { + + // tag::code[] + @Incoming("prices") + public void consume(List prices) { + for (double price : prices) { + // process price + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMetadataExample.java new file mode 100644 index 000000000..a4add7ea1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarMetadataExample.java @@ -0,0 +1,35 @@ +package pulsar.inbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.pulsar.PulsarIncomingMessageMetadata; + +public class PulsarMetadataExample { + + @SuppressWarnings("unchecked") + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + PulsarIncomingMessageMetadata metadata = incoming.getMetadata(PulsarIncomingMessageMetadata.class).orElse(null); + if (metadata != null) { + // The topic + String topic = metadata.getTopicName(); + + // The key + String key = metadata.getKey(); + + // The event time + long timestamp = metadata.getEventTime(); + + // The raw data + byte[] rawData = metadata.getData(); + + // The underlying message + org.apache.pulsar.client.api.Message message = metadata.getMessage(); + + // ... + } + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarPriceConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarPriceConsumer.java new file mode 100644 index 000000000..9973a6158 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarPriceConsumer.java @@ -0,0 +1,15 @@ +package pulsar.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class PulsarPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java new file mode 100644 index 000000000..4cdc3f12a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package pulsar.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class PulsarPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java new file mode 100644 index 000000000..c207cba70 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java @@ -0,0 +1,35 @@ +package pulsar.outbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.pulsar.PulsarIncomingBatchMessageMetadata; +import io.smallrye.reactive.messaging.pulsar.PulsarMessage; +import io.smallrye.reactive.messaging.pulsar.transactions.PulsarTransactions; + +@ApplicationScoped +public class PulsarExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + PulsarTransactions txProducer; + + @Incoming("in-channel") + public Uni emitInTransaction(Message> batch) { + return txProducer.withTransactionAndAck(batch, emitter -> { + PulsarIncomingBatchMessageMetadata metadata = batch.getMetadata(PulsarIncomingBatchMessageMetadata.class).get(); + for (org.apache.pulsar.client.api.Message message : metadata. getMessages()) { + emitter.send(PulsarMessage.of(message.getValue() + 1, message.getKey())); + } + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarKeyValueExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarKeyValueExample.java new file mode 100644 index 000000000..ab0b43a6c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarKeyValueExample.java @@ -0,0 +1,28 @@ +package pulsar.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; + +import org.apache.pulsar.client.api.Schema; +import org.apache.pulsar.common.schema.KeyValue; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +public class PulsarKeyValueExample { + + // tag::code[] + @Identifier("out") + @Produces + Schema> schema = Schema.KeyValue(Schema.STRING, Schema.INT64); + + @Incoming("in") + @Outgoing("out") + public KeyValue process(long in) { + return new KeyValue<>("my-key", in); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java new file mode 100644 index 000000000..152974fe2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java @@ -0,0 +1,26 @@ +package pulsar.outbound; + +import java.util.Map; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.pulsar.PulsarOutgoingMessageMetadata; + +public class PulsarOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + // Creates an PulsarOutgoingMessageMetadata + // The type parameter is the type of the record's key + PulsarOutgoingMessageMetadata metadata = PulsarOutgoingMessageMetadata.builder() + .withKey("my-key") + .withProperties(Map.of("property-key", "value")) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java new file mode 100644 index 000000000..f452f437e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java @@ -0,0 +1,18 @@ +package pulsar.outbound; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.pulsar.OutgoingMessage; + +public class PulsarOutgoingMessageExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + OutgoingMessage process(org.apache.pulsar.client.api.Message in) { + return OutgoingMessage.from(in) + .withValue(Long.valueOf(in.getValue())); + } + // end::code[] +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarPriceMessageProducer.java new file mode 100644 index 000000000..1f53f7c68 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarPriceMessageProducer.java @@ -0,0 +1,26 @@ +package pulsar.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class PulsarPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarPriceProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarPriceProducer.java new file mode 100644 index 000000000..2073b7763 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarPriceProducer.java @@ -0,0 +1,25 @@ +package pulsar.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class PulsarPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarTransactionalProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarTransactionalProducer.java new file mode 100644 index 000000000..8bee09bb3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/pulsar/outbound/PulsarTransactionalProducer.java @@ -0,0 +1,38 @@ +package pulsar.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.pulsar.OutgoingMessage; +import io.smallrye.reactive.messaging.pulsar.transactions.PulsarTransactions; + +@ApplicationScoped +public class PulsarTransactionalProducer { + + @Inject + @Channel("tx-out-example") + PulsarTransactions> txProducer; + + @Inject + @Channel("other-producer") + PulsarTransactions producer; + + @Incoming("in") + public Uni emitInTransaction(Message in) { + return txProducer.withTransaction(emitter -> { + emitter.send(OutgoingMessage.of("a", 1)); + emitter.send(OutgoingMessage.of("b", 2)); + emitter.send(OutgoingMessage.of("c", 3)); + producer.send(emitter, "4"); + producer.send(emitter, "5"); + producer.send(emitter, "6"); + return Uni.createFrom().completionStage(in::ack); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/quickstart/ReactiveMessagingExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/quickstart/ReactiveMessagingExample.java new file mode 100644 index 000000000..318b39739 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/quickstart/ReactiveMessagingExample.java @@ -0,0 +1,35 @@ +package quickstart; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class ReactiveMessagingExample { + + @Outgoing("source") + public Multi source() { + return Multi.createFrom().items("hello", "from", "SmallRye", "reactive", "messaging"); + } + + @Incoming("source") + @Outgoing("processed-a") + public String toUpperCase(String payload) { + return payload.toUpperCase(); + } + + @Incoming("processed-a") + @Outgoing("processed-b") + public Multi filter(Multi input) { + return input.select().where(item -> item.length() > 4); + } + + @Incoming("processed-b") + public void sink(String word) { + System.out.println(">> " + word); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java new file mode 100644 index 000000000..637edb2bc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java @@ -0,0 +1,21 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.rabbitmq.IncomingRabbitMQMessage; +import io.smallrye.reactive.messaging.rabbitmq.reply.ReplyFailureHandler; + +@ApplicationScoped +@Identifier("my-reply-error") +public class MyRabbitMQReplyFailureHandler implements ReplyFailureHandler { + + @Override + public Throwable handleReply(IncomingRabbitMQMessage replyMessage) { + var error = (String) replyMessage.getHeaders().get("REPLY_ERROR"); + if (error != null) { + return (Throwable) new IllegalArgumentException(error); + } + return null; + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQReplier.java b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQReplier.java new file mode 100644 index 000000000..aec8bfa73 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQReplier.java @@ -0,0 +1,20 @@ +package rabbitmq.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class RabbitMQReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + String handleRequest(String request) { + return request + "-" + rand.nextInt(100); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java new file mode 100644 index 000000000..019255318 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java @@ -0,0 +1,21 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.rabbitmq.reply.RabbitMQRequestReply; + +@ApplicationScoped +public class RabbitMQRequestReplyEmitter { + + @Inject + @Channel("my-request") + RabbitMQRequestReply quoteRequest; + + public Uni requestQuote(String request) { + return quoteRequest.request(request); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java new file mode 100644 index 000000000..96b9b0f81 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java @@ -0,0 +1,22 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.rabbitmq.reply.RabbitMQRequestReply; + +@ApplicationScoped +public class RabbitMQRequestReplyMessageEmitter { + + @Inject + @Channel("my-request") + RabbitMQRequestReply quoteRequest; + + public Uni> requestMessage(String request) { + return quoteRequest.request(Message.of(request)); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java new file mode 100644 index 000000000..2069164d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java @@ -0,0 +1,21 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.rabbitmq.reply.RabbitMQRequestReply; + +@ApplicationScoped +public class RabbitMQRequestReplyMultiEmitter { + + @Inject + @Channel("my-request") + RabbitMQRequestReply quoteRequest; + + public Multi requestQuote(String request) { + return quoteRequest.requestMulti(request).select().first(5); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/skip/SingleSkip.java b/content/docs/smallrye-reactive-messaging/latest/_examples/skip/SingleSkip.java new file mode 100644 index 000000000..f7209220b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/skip/SingleSkip.java @@ -0,0 +1,59 @@ +package skip; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class SingleSkip { + + // tag::skip[] + // Skip when processing payload synchronously - returning `null` + @Incoming("in") + @Outgoing("out") + public String processPayload(String s) { + if (s.equalsIgnoreCase("skip")) { + return null; + } + return s.toUpperCase(); + } + + // Skip when processing message synchronously - returning `null` + @Incoming("in") + @Outgoing("out") + public Message processMessage(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + m.ack(); + return null; + } + return m.withPayload(s.toUpperCase()); + } + + // Skip when processing payload asynchronously - returning a `Uni` with a `null` value + @Incoming("in") + @Outgoing("out") + public Uni processPayloadAsync(String s) { + if (s.equalsIgnoreCase("skip")) { + // Important, you must not return `null`, but a `null` content + return Uni.createFrom().nullItem(); + } + return Uni.createFrom().item(s.toUpperCase()); + } + + // Skip when processing message asynchronously - returning a `Uni` with a `null` value + @Incoming("in") + @Outgoing("out") + public Uni> processMessageAsync(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + m.ack(); + return Uni.createFrom().nullItem(); + } + return Uni.createFrom().item(m.withPayload(s.toUpperCase())); + } + + // end::skip[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/skip/StreamSkip.java b/content/docs/smallrye-reactive-messaging/latest/_examples/skip/StreamSkip.java new file mode 100644 index 000000000..2108a1077 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/skip/StreamSkip.java @@ -0,0 +1,48 @@ +package skip; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class StreamSkip { + + // tag::skip[] + @Incoming("in") + @Outgoing("out-1") + public Multi processPayload(String s) { + if (s.equalsIgnoreCase("skip")) { + return Multi.createFrom().empty(); + } + return Multi.createFrom().item(s.toUpperCase()); + } + + @Incoming("in") + @Outgoing("out-2") + public Multi> processMessage(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + return Multi.createFrom().empty(); + } + return Multi.createFrom().item(m.withPayload(s.toUpperCase())); + } + + @Incoming("in") + @Outgoing("out-3") + public Multi processPayloadStream(Multi stream) { + return stream + .select().where(s -> !s.equalsIgnoreCase("skip")) + .onItem().transform(String::toUpperCase); + } + + @Incoming("in") + @Outgoing("out-4") + public Multi> processMessageStream(Multi> stream) { + return stream + .select().where(m -> !m.getPayload().equalsIgnoreCase("skip")) + .onItem().transform(m -> m.withPayload(m.getPayload().toUpperCase())); + } + // end::skip[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsMessageProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsMessageProducer.java new file mode 100644 index 000000000..cc2e815d6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsMessageProducer.java @@ -0,0 +1,27 @@ +package sns.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.aws.sns.SnsOutboundMetadata; + +@ApplicationScoped +public class SnsMessageProducer { + + @Outgoing("prices") + public Multi> generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(UUID.randomUUID().toString(), + Metadata.of(SnsOutboundMetadata.builder() + .groupId("group-1") + .build()))); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsOutboundMetadataExample.java new file mode 100644 index 000000000..9d44dacb0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsOutboundMetadataExample.java @@ -0,0 +1,29 @@ +package sns.outbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.aws.sns.SnsOutboundMetadata; +import software.amazon.awssdk.services.sns.model.MessageAttributeValue; + +@ApplicationScoped +public class SnsOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + final SnsOutboundMetadata metadata = SnsOutboundMetadata.builder() + .messageAttributes(Map.of("my-attribute", MessageAttributeValue.builder() + .dataType("String").stringValue("my-value").build())) + .groupId("group-1") + .smsPhoneNumber("+1234567890") + .build(); + + // Add `metadata` to the metadata of the outgoing message. + return Message.of("Hello", Metadata.of(metadata)); + // end::code[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsProducer.java new file mode 100644 index 000000000..cde773fa6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sns/outbound/SnsProducer.java @@ -0,0 +1,22 @@ +package sns.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class SnsProducer { + + @Outgoing("data") + public Multi generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> UUID.randomUUID().toString()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsCustomAckStrategy.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsCustomAckStrategy.java new file mode 100644 index 000000000..ad8b679ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsCustomAckStrategy.java @@ -0,0 +1,36 @@ +package sqs.inbound; + +import java.util.function.BiConsumer; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.aws.sqs.SqsAckHandler; +import io.smallrye.reactive.messaging.aws.sqs.SqsConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.aws.sqs.SqsMessage; +import io.vertx.mutiny.core.Vertx; +import software.amazon.awssdk.services.sqs.SqsAsyncClient; + +public class SqsCustomAckStrategy implements SqsAckHandler { + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements SqsAckHandler.Factory { + + @Override + public SqsAckHandler create(SqsConnectorIncomingConfiguration conf, + Vertx vertx, + SqsAsyncClient client, + Uni queueUrlUni, + BiConsumer reportFailure) { + return new SqsCustomAckStrategy(); + } + } + + @Override + public Uni handle(SqsMessage message) { + return Uni.createFrom().voidItem() + .emitOn(message::runOnMessageContext); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsCustomNackStrategy.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsCustomNackStrategy.java new file mode 100644 index 000000000..6daeec399 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsCustomNackStrategy.java @@ -0,0 +1,33 @@ +package sqs.inbound; + +import java.util.function.BiConsumer; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.aws.sqs.SqsFailureHandler; +import io.smallrye.reactive.messaging.aws.sqs.SqsMessage; +import software.amazon.awssdk.services.sqs.SqsAsyncClient; + +public class SqsCustomNackStrategy implements SqsFailureHandler { + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements SqsFailureHandler.Factory { + + @Override + public SqsFailureHandler create(String channel, SqsAsyncClient client, Uni queueUrlUni, + BiConsumer reportFailure) { + return new SqsCustomNackStrategy(); + } + } + + @Override + public Uni handle(SqsMessage message, Metadata metadata, Throwable throwable) { + return Uni.createFrom().voidItem() + .emitOn(message::runOnMessageContext); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsMessageStringConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsMessageStringConsumer.java new file mode 100644 index 000000000..218e26f0c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsMessageStringConsumer.java @@ -0,0 +1,17 @@ +package sqs.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class SqsMessageStringConsumer { + @Incoming("data") + CompletionStage consume(Message msg) { + System.out.println("Received: " + msg.getPayload()); + return msg.ack(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsMetadataExample.java new file mode 100644 index 000000000..cd1b4a5aa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsMetadataExample.java @@ -0,0 +1,21 @@ +package sqs.inbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.aws.sqs.SqsIncomingMetadata; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +@ApplicationScoped +public class SqsMetadataExample { + + @Incoming("queue") + public void metadata(String body, SqsIncomingMetadata metadata) { + Map attributes = metadata.getMessage().messageAttributes(); + attributes.forEach((k, v) -> System.out.println(k + " -> " + v.stringValue())); + System.out.println("Message body: " + body); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java new file mode 100644 index 000000000..1316a6c0a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java @@ -0,0 +1,17 @@ +package sqs.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.aws.sqs.SqsReceiveMessageRequestCustomizer; +import software.amazon.awssdk.services.sqs.model.ReceiveMessageRequest; + +@Identifier("my-customizer") // or with channel name @Identifier("data") +@ApplicationScoped +public class SqsReceiveMessageRequestCustomizerExample implements SqsReceiveMessageRequestCustomizer { + @Override + public void customize(ReceiveMessageRequest.Builder builder) { + builder.visibilityTimeout(10) + .messageAttributeNames("my-attribute"); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsSdkMessageConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsSdkMessageConsumer.java new file mode 100644 index 000000000..bdaf6fd90 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsSdkMessageConsumer.java @@ -0,0 +1,21 @@ +package sqs.inbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import software.amazon.awssdk.services.sqs.model.Message; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +@ApplicationScoped +public class SqsSdkMessageConsumer { + + @Incoming("data") + void consume(Message msg) { + System.out.println("Received: " + msg.body()); + Map attributes = msg.messageAttributes(); + // ... + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsStringConsumer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsStringConsumer.java new file mode 100644 index 000000000..ffdfcf6d9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/inbound/SqsStringConsumer.java @@ -0,0 +1,13 @@ +package sqs.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class SqsStringConsumer { + @Incoming("data") + void consume(String messageBody) { + System.out.println("Received: " + messageBody); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/json/SqsJsonMapping.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/json/SqsJsonMapping.java new file mode 100644 index 000000000..4980edbb8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/json/SqsJsonMapping.java @@ -0,0 +1,56 @@ +package sqs.json; + +import java.time.Duration; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.atomic.AtomicInteger; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class SqsJsonMapping { + + // tag::code[] + @ApplicationScoped + public static class Generator { + + @Outgoing("to-rabbitmq") + public Multi prices() { + AtomicInteger count = new AtomicInteger(); + return Multi.createFrom().ticks().every(Duration.ofMillis(1000)) + .map(l -> new Price().setPrice(count.incrementAndGet())) + .onOverflow().drop(); + } + + } + + @ApplicationScoped + public static class Consumer { + + List prices = new CopyOnWriteArrayList<>(); + + @Incoming("from-rabbitmq") + public void consume(Price price) { + prices.add(price); + } + + public List list() { + return prices; + } + } + + public static class Price { + public int price; + + public Price setPrice(int price) { + this.price = price; + return this; + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsMessageStringProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsMessageStringProducer.java new file mode 100644 index 000000000..eac978671 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsMessageStringProducer.java @@ -0,0 +1,27 @@ +package sqs.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.aws.sqs.SqsOutboundMetadata; + +@ApplicationScoped +public class SqsMessageStringProducer { + + @Outgoing("prices") + public Multi> generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(UUID.randomUUID().toString(), + Metadata.of(SqsOutboundMetadata.builder() + .groupId("group-1") + .build()))); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsOutboundMetadataExample.java new file mode 100644 index 000000000..e512f4743 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsOutboundMetadataExample.java @@ -0,0 +1,27 @@ +package sqs.outbound; + +import java.util.Map; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.aws.sqs.SqsOutboundMetadata; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +public class SqsOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + final SqsOutboundMetadata metadata = SqsOutboundMetadata.builder() + .messageAttributes(Map.of("my-attribute", MessageAttributeValue.builder() + .dataType("String").stringValue("my-value").build())) + .groupId("group-1") + .build(); + + // Add `metadata` to the metadata of the outgoing message. + return Message.of("Hello", Metadata.of(metadata)); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsStringProducer.java b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsStringProducer.java new file mode 100644 index 000000000..4a39f5b4e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/sqs/outbound/SqsStringProducer.java @@ -0,0 +1,22 @@ +package sqs.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class SqsStringProducer { + + @Outgoing("data") + public Multi generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> UUID.randomUUID().toString()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/testing/MyTest.java b/content/docs/smallrye-reactive-messaging/latest/_examples/testing/MyTest.java new file mode 100644 index 000000000..1e1451f67 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/testing/MyTest.java @@ -0,0 +1,52 @@ +package testing; + +import jakarta.enterprise.inject.Any; +import jakarta.inject.Inject; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.memory.TestIncoming; +import io.smallrye.reactive.messaging.memory.TestOutgoing; +import io.smallrye.reactive.messaging.memory.TestingConnector; + +// @io.quarkus.test.junit.QuarkusTest or the Junit 5 extension that allows injection in tests +public class MyTest { + + // 1. Switch the channels to the test connector: + @BeforeAll + public static void switchMyChannels() { + TestingConnector.switchIncomingChannelsToTesting("prices"); + TestingConnector.switchOutgoingChannelsToTesting("processed-prices"); + } + + // 2. Don't forget to reset the channel after the tests: + @AfterAll + public static void revertMyChannels() { + TestingConnector.clear(); + } + + // 3. Inject the test connector in your test, + // or use the bean manager to retrieve the instance + @Inject + @Any + TestingConnector connector; + + @Test + void test() { + // 4. Retrieves the incoming channel to deliver messages + TestIncoming prices = connector.incoming("prices"); + // 5. Retrieves the outgoing channel to verify what the app sent + TestOutgoing results = connector.outgoing("processed-prices"); + + // 6. Deliver fake messages to the app: + prices.deliver(1); + prices.deliver(2); + prices.deliver(3); + + // 7. Verify what the app sent + Assertions.assertEquals(3, results.sent().size()); + } +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_examples/testing/MyTestSetup.java b/content/docs/smallrye-reactive-messaging/latest/_examples/testing/MyTestSetup.java new file mode 100644 index 000000000..ae5b9a3f0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_examples/testing/MyTestSetup.java @@ -0,0 +1,23 @@ +package testing; + +import java.util.HashMap; +import java.util.Map; + +import io.smallrye.reactive.messaging.memory.TestingConnector; + +public class MyTestSetup { + + // tag::code[] + public Map start() { + Map env = new HashMap<>(); + env.putAll(TestingConnector.switchIncomingChannelsToTesting("prices")); + env.putAll(TestingConnector.switchOutgoingChannelsToTesting("my-data-stream")); + return env; + } + + public void stop() { + TestingConnector.clear(); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-amqp-incoming.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-amqp-incoming.adoc new file mode 100644 index 000000000..9804e5883 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-amqp-incoming.adoc @@ -0,0 +1,37 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_address_ |The AMQP address. If not set, the channel name is used |string |false | +|_auto-acknowledgement_ |Whether the received AMQP messages must be acknowledged when received |boolean |false |`false` +|_broadcast_ |Whether the received AMQP messages must be dispatched to multiple _subscribers_ |boolean |false |`false` +|_capabilities_ |A comma-separated list of capabilities proposed by the sender or receiver client. |string |false | +|_cbs.audience_ |The audience used to authenticate with the broker using the CBS exchange. If not set, the audience is derived from the address. |string |false |++``++ +|_cbs.enabled_ |Whether the CBS authorization is enabled. If enabled, the connector will use the claims-based security to authenticate with the broker. If disabled, the connector will not use the CBS exchange and will not authenticate with the broker. |boolean |false |`false` +|_cbs.exchange_ |The name of the CBS exchange used to authenticate with the broker. |string |false |`set-token` +|_cbs.scopes_ |The scopes used to authenticate with the broker using the CBS exchange. If not set, the scopes are derived from the address. |string |false |++``++ +|_cbs.token-manager_ |The name of the CbsTokenManager bean used to manage the CBS tokens. |string |false |`default-cbs-token-manager` +|_client-options-name_ _(amqp-client-options-name)_ |The name of the AMQP Client Option bean used to customize the AMQP client configuration |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_connect-timeout_ _(amqp-connect-timeout)_ |The connection timeout in milliseconds |int |false |`1000` +|_container-id_ |The AMQP container id. Channels with the same container id share the same AMQP connection. |string |false | +|_durable_ |Whether AMQP subscription is durable |boolean |false |`false` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from an AMQP message is nacked. Accepted values are `fail` (default), `accept`, `release`, `reject`, `modified-failed`, `modified-failed-undeliverable-here` |string |false |`fail` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-timeout_ |The max number of seconds to wait to determine if the connection with the broker is still established for the readiness check. After that threshold, the check is considered as failed. |int |false |`3` +|_host_ _(amqp-host)_ |The broker hostname |string |false |`localhost` +|_initial-credits_ |The number of credits initially requested for incoming messages. This controls how many messages the receiver can buffer. |int |false |`1000` +|_link-name_ |The name of the link. If not set, the channel name is used. |string |false | +|_password_ _(amqp-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(amqp-port)_ |The broker port |int |false |`5672` +|_qos_ |Sets the local QOS config, values can be ++{++@code null}, ++{++@code AT++_++MOST++_++ONCE} or ++{++@code AT++_++LEAST++_++ONCE}. |string |false | +|_reconnect-attempts_ _(amqp-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(amqp-reconnect-interval)_ |The interval in second between two reconnection attempts |int |false |`10` +|_retry-on-fail-attempts_ |The number of tentative to retry on failure |int |false |`6` +|_retry-on-fail-interval_ |The interval (in seconds) between two sending attempts |int |false |`5` +|_selector_ |Sets a message selector. This attribute is used to define an `apache.org:selector-filter:string` filter on the source terminus, using SQL-based syntax to request the server filters which messages are delivered to the receiver (if supported by the server in question). Precise functionality supported and syntax needed can vary depending on the server. |string |false | +|_sni-server-name_ _(amqp-sni-server-name)_ |If set, explicitly override the hostname to use for the TLS SNI server name |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_use-ssl_ _(amqp-use-ssl)_ |Whether the AMQP connection uses SSL/TLS |boolean |false |`false` +|_username_ _(amqp-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(amqp-virtual-host)_ |If set, configure the hostname value used for the connection AMQP Open frame and TLS SNI server name (if TLS is in use) |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-amqp-outgoing.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-amqp-outgoing.adoc new file mode 100644 index 000000000..e38833d3d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-amqp-outgoing.adoc @@ -0,0 +1,44 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_address_ |The AMQP address. If not set, the channel name is used |string |false | +|_capabilities_ |A comma-separated list of capabilities proposed by the sender or receiver client. |string |false | +|_cbs.audience_ |The audience used to authenticate with the broker using the CBS exchange. If not set, the audience is derived from the address. |string |false |++``++ +|_cbs.enabled_ |Whether the CBS authorization is enabled. If enabled, the connector will use the claims-based security to authenticate with the broker. If disabled, the connector will not use the CBS exchange and will not authenticate with the broker. |boolean |false |`false` +|_cbs.exchange_ |The name of the CBS exchange used to authenticate with the broker. |string |false |`set-token` +|_cbs.scopes_ |The scopes used to authenticate with the broker using the CBS exchange. If not set, the scopes are derived from the address. |string |false |++``++ +|_cbs.token-manager_ |The name of the CbsTokenManager bean used to manage the CBS tokens. |string |false |`default-cbs-token-manager` +|_client-options-name_ _(amqp-client-options-name)_ |The name of the AMQP Client Option bean used to customize the AMQP client configuration |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_cloud-events-data-content-type_ _(cloud-events-default-data-content-type)_ |Configure the default `datacontenttype` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `datacontenttype` attribute itself |string |false | +|_cloud-events-data-schema_ _(cloud-events-default-data-schema)_ |Configure the default `dataschema` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `dataschema` attribute itself |string |false | +|_cloud-events-insert-timestamp_ _(cloud-events-default-timestamp)_ |Whether or not the connector should insert automatically the `time` attribute into the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `time` attribute itself |boolean |false |`true` +|_cloud-events-mode_ |The Cloud Event mode (`structured` or `binary` (default)). Indicates how are written the cloud events in the outgoing record |string |false |`binary` +|_cloud-events-source_ _(cloud-events-default-source)_ |Configure the default `source` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `source` attribute itself |string |false | +|_cloud-events-subject_ _(cloud-events-default-subject)_ |Configure the default `subject` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `subject` attribute itself |string |false | +|_cloud-events-type_ _(cloud-events-default-type)_ |Configure the default `type` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `type` attribute itself |string |false | +|_connect-timeout_ _(amqp-connect-timeout)_ |The connection timeout in milliseconds |int |false |`1000` +|_container-id_ |The AMQP container id. Channels with the same container id share the same AMQP connection. |string |false | +|_credit-retrieval-period_ |The period (in milliseconds) between two attempts to retrieve the credits granted by the broker. This time is used when the sender run out of credits. |int |false |`2000` +|_durable_ |Whether sent AMQP messages are marked durable |boolean |false |`false` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-timeout_ |The max number of seconds to wait to determine if the connection with the broker is still established for the readiness check. After that threshold, the check is considered as failed. |int |false |`3` +|_host_ _(amqp-host)_ |The broker hostname |string |false |`localhost` +|_lazy-client_ |Whether to create the connection and sender at startup or at first send request |boolean |false |`true` +|_link-name_ |The name of the link. If not set, the channel name is used. |string |false | +|_max-inflight-messages_ |The maximum number of messages to be written to the broker concurrently. The number of sent messages waiting to be acknowledged by the broker are limited by this value and credits granted by the broker. The default value `0` means only credits apply. |long |false |`0` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ _(amqp-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(amqp-port)_ |The broker port |int |false |`5672` +|_reconnect-attempts_ _(amqp-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(amqp-reconnect-interval)_ |The interval in second between two reconnection attempts |int |false |`10` +|_retry-on-fail-attempts_ |The number of tentative to retry on failure |int |false |`6` +|_retry-on-fail-interval_ |The interval (in seconds) between two sending attempts |int |false |`5` +|_sni-server-name_ _(amqp-sni-server-name)_ |If set, explicitly override the hostname to use for the TLS SNI server name |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_ttl_ |The time-to-live of the send AMQP messages. 0 to disable the TTL |long |false |`0` +|_use-anonymous-sender_ |Whether or not the connector should use an anonymous sender. Default value is `true` if the broker supports it, `false` otherwise. If not supported, it is not possible to dynamically change the destination address. |boolean |false | +|_use-ssl_ _(amqp-use-ssl)_ |Whether the AMQP connection uses SSL/TLS |boolean |false |`false` +|_username_ _(amqp-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(amqp-virtual-host)_ |If set, configure the hostname value used for the connection AMQP Open frame and TLS SNI server name (if TLS is in use) |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-camel-incoming.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-camel-incoming.adoc new file mode 100644 index 000000000..e14c417cf --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-camel-incoming.adoc @@ -0,0 +1,6 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_endpoint-uri_ |The URI of the Camel endpoint (read from or written to) |string |true | +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a Camel exchange is nacked. Values can be `fail` (default) or `ignore` |string |false |`fail` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-camel-outgoing.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-camel-outgoing.adoc new file mode 100644 index 000000000..ae1860580 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-camel-outgoing.adoc @@ -0,0 +1,6 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_endpoint-uri_ |The URI of the Camel endpoint (read from or written to) |string |true | +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-jms-incoming.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-jms-incoming.adoc new file mode 100644 index 000000000..d93940a5d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-jms-incoming.adoc @@ -0,0 +1,25 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_broadcast_ |Whether or not the JMS message should be dispatched to multiple consumers |boolean |false |`false` +|_client-id_ |The client id |String |false | +|_connection-factory-name_ |The name of the JMS connection factory (`jakarta.jms.ConnectionFactory`) to be used. If not set, it uses any exposed JMS connection factory |String |false | +|_dead-letter-queue.destination_ |When the `failure-strategy` is set to `dead-letter-queue` indicates on which queue the message is sent. Defaults is `dead-letter-topic-$channel` |string |false | +|_dead-letter-queue.producer-client-id_ |When the `failure-strategy` is set to `dead-letter-queue` indicates what client id the generated producer should use. Defaults is `jms-dead-letter-topic-producer-$client-id` |string |false | +|_destination_ |The name of the JMS destination. If not set the name of the channel is used |String |false | +|_destination-type_ |The type of destination. It can be either `queue` or `topic` |string |false |`queue` +|_durable_ |Set to `true` to use a durable subscription |boolean |false |`false` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `fail` (default), `ignore`, or `dead-letter-queue` |string |false |`fail` +|_no-local_ |Enable or disable local delivery |boolean |false |`false` +|_password_ |The password to connect to to the JMS server |String |false | +|_retry_ |Whether to retry on terminal stream errors. |boolean |false |`true` +|_retry.initial-delay_ |The initial delay for the retry. |string |false |`PT1S` +|_retry.jitter_ |How much the delay jitters as a multiplier between 0 and 1. The formula is current delay ++*++ jitter. For example, with a current delay of 2H, a jitter of 0.5 will result in an actual delay somewhere between 1H and 3H. |double |false |`0.5` +|_retry.max-delay_ |The maximum delay |string |false |`PT10S` +|_retry.max-retries_ |Maximum number of retries for terminal stream errors. |int |false |`3` +|_reuse-jms-context_ |Whether to reuse JMS contexts by creating child contexts from a parent context. When enabled, child contexts will be created using JMSContext.createContext() instead of ConnectionFactory.createContext() |boolean |false |`false` +|_selector_ |The JMS selector |String |false | +|_session-mode_ |The session mode. Accepted values are AUTO++_++ACKNOWLEDGE, SESSION++_++TRANSACTED, CLIENT++_++ACKNOWLEDGE, DUPS++_++OK++_++ACKNOWLEDGE |String |false |`AUTO++_++ACKNOWLEDGE` +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_username_ |The username to connect to to the JMS server |String |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-jms-outgoing.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-jms-outgoing.adoc new file mode 100644 index 000000000..335b694e3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-jms-outgoing.adoc @@ -0,0 +1,28 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_client-id_ |The client id |String |false | +|_connection-factory-name_ |The name of the JMS connection factory (`jakarta.jms.ConnectionFactory`) to be used. If not set, it uses any exposed JMS connection factory |String |false | +|_correlation-id_ |The JMS Message correlation id |string |false | +|_delivery-delay_ |The delivery delay |long |false | +|_delivery-mode_ |The delivery mode. Either `persistent` or `non++_++persistent` |string |false | +|_destination_ |The name of the JMS destination. If not set the name of the channel is used |String |false | +|_destination-type_ |The type of destination. It can be either `queue` or `topic` |string |false |`queue` +|_disable-message-id_ |Omit the message id in the outbound JMS message |boolean |false | +|_disable-message-timestamp_ |Omit the message timestamp in the outbound JMS message |boolean |false | +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ |The password to connect to to the JMS server |String |false | +|_priority_ |The JMS Message priority |int |false | +|_reply-to_ |The reply to destination if any |string |false | +|_reply-to-destination-type_ |The type of destination for the response. It can be either `queue` or `topic` |string |false |`queue` +|_retry_ |Whether to retry on terminal stream errors. |boolean |false |`true` +|_retry.initial-delay_ |The initial delay for the retry. |string |false |`PT1S` +|_retry.jitter_ |How much the delay jitters as a multiplier between 0 and 1. The formula is current delay ++*++ jitter. For example, with a current delay of 2H, a jitter of 0.5 will result in an actual delay somewhere between 1H and 3H. |double |false |`0.5` +|_retry.max-delay_ |The maximum delay |string |false |`PT10S` +|_retry.max-retries_ |Maximum number of retries for terminal stream errors. |int |false |`3` +|_reuse-jms-context_ |Whether to reuse JMS contexts by creating child contexts from a parent context. When enabled, child contexts will be created using JMSContext.createContext() instead of ConnectionFactory.createContext() |boolean |false |`false` +|_session-mode_ |The session mode. Accepted values are AUTO++_++ACKNOWLEDGE, SESSION++_++TRANSACTED, CLIENT++_++ACKNOWLEDGE, DUPS++_++OK++_++ACKNOWLEDGE |String |false |`AUTO++_++ACKNOWLEDGE` +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_ttl_ |The JMS Message time-to-live |long |false | +|_username_ |The username to connect to to the JMS server |String |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-kafka-incoming.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-kafka-incoming.adoc new file mode 100644 index 000000000..54dfa4117 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-kafka-incoming.adoc @@ -0,0 +1,65 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_assign-seek_ |Assign partitions and optionally seek to offsets, instead of subscribing to topics. A comma-separating list of triplets in form of ++`++: | |:`to assign statically to the consumer and seek to the given offsets. Offset`0`seeks to beginning and offset`-1++`++ seeks to the end of the topic-partition. If the topic is omitted the configured topic will be used. If the offset is omitted partitions are assigned to the consumer but won't be seeked to offset. |string +|_auto.offset.reset_ |What to do when there is no initial offset in Kafka.Accepted values are earliest, latest and none |string |false |`latest` +|_batch_ |Whether the Kafka records are consumed in batch. The channel injection point must consume a compatible type, such as `List++<++Payload++>++` or `KafkaRecordBatch++<++Payload++>++`. |boolean |false |`false` +|_bootstrap.servers_ _(kafka.bootstrap.servers)_ |A comma-separated list of host:port to use for establishing the initial connection to the Kafka cluster. |string |false |`localhost:9092` +|_broadcast_ |Whether the Kafka records should be dispatched to multiple consumer |boolean |false |`false` +|_checkpoint.state-store_ |While using the `checkpoint` commit-strategy, the name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.StateStore.Factory` to specify the state store implementation. |string |false | +|_checkpoint.state-type_ |While using the `checkpoint` commit-strategy, the fully qualified type name of the state object to persist in the state store. When provided, it can be used by the state store implementation to help persisting the processing state object. |string |false | +|_checkpoint.unsynced-state-max-age.ms_ |While using the `checkpoint` commit-strategy, specify the max age in milliseconds that the processing state must be persisted before the connector is marked as unhealthy. Setting this attribute to 0 disables this monitoring. |int |false |`10000` +|_client-id-prefix_ |Prefix for Kafka client `client.id` attribute. If defined configured or generated `client.id` will be prefixed with the given value. |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_commit-strategy_ |Specify the commit strategy to apply when a message produced from a record is acknowledged. Values can be `latest`, `ignore` or `throttled`. If `enable.auto.commit` is true then the default is `ignore` otherwise it is `throttled` |string |false | +|_consumer-rebalance-listener.name_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener`. If set, this rebalance listener is applied to the consumer. |string |false | +|_dead-letter-queue.key.serializer_ |When the `failure-strategy` is set to `dead-letter-queue` indicates the key serializer to use. If not set the serializer associated to the key deserializer is used |string |false | +|_dead-letter-queue.producer-client-id_ |When the `failure-strategy` is set to `dead-letter-queue` indicates what client id the generated producer should use. Defaults is `kafka-dead-letter-topic-producer-$client-id` |string |false | +|_dead-letter-queue.topic_ |When the `failure-strategy` is set to `dead-letter-queue` indicates on which topic the record is sent. Defaults is `dead-letter-topic-$channel` |string |false | +|_dead-letter-queue.value.serializer_ |When the `failure-strategy` is set to `dead-letter-queue` indicates the value serializer to use. If not set the serializer associated to the value deserializer is used |string |false | +|_delayed-retry-topic.max-retries_ |When the `failure-strategy` is set to `delayed-retry-topic` indicates the maximum number of retries. If higher than the number of delayed retry topics, last topic is used. |int |false | +|_delayed-retry-topic.timeout_ |When the `failure-strategy` is set to `delayed-retry-topic` indicates the global timeout per record. |int |false |`120000` +|_delayed-retry-topic.topics_ |When the `failure-strategy` is set to `delayed-retry-topic` indicates topics to use. If not set the source channel name is used, with 10, 20 and 50 seconds delayed topics. |string |false | +|_enable.auto.commit_ |If enabled, consumer's offset will be periodically committed in the background by the underlying Kafka client, ignoring the actual processing outcome of the records. It is recommended to NOT enable this setting and let Reactive Messaging handles the commit. |boolean |false |`false` +|_fail-on-deserialization-failure_ |When no deserialization failure handler is set and a deserialization failure happens, report the failure and mark the application as unhealthy. If set to `false` and a deserialization failure happens, a `null` value is forwarded. |boolean |false |`true` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `fail` (default), `ignore`, or `dead-letter-queue` |string |false |`fail` +|_fetch.min.bytes_ |The minimum amount of data the server should return for a fetch request. The default setting of 1 byte means that fetch requests are answered as soon as a single byte of data is available or the fetch request times out waiting for data to arrive. |int |false |`1` +|_graceful-shutdown_ |Whether or not a graceful shutdown should be attempted when the application terminates. |boolean |false |`true` +|_group.id_ |A unique string that identifies the consumer group the application belongs to. If not set, a unique, generated id is used |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-timeout_ |_deprecated_ - During the readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. Deprecated: Use 'health-topic-verification-timeout' instead. |long |false | +|_health-readiness-topic-verification_ |_deprecated_ - Whether the readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin connection. Deprecated: Use 'health-topic-verification-enabled' instead. |boolean |false | +|_health-topic-verification-enabled_ |Whether the startup and readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin client connection. |boolean |false |`false` +|_health-topic-verification-readiness-disabled_ |Whether the topic verification is disabled for the readiness health check. |boolean |false |`false` +|_health-topic-verification-startup-disabled_ |Whether the topic verification is disabled for the startup health check. |boolean |false |`false` +|_health-topic-verification-timeout_ |During the startup and readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. |long |false |`2000` +|_kafka-configuration_ |Identifier of a CDI bean that provides the default Kafka consumer/producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_key-deserialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.DeserializationFailureHandler`. If set, deserialization failure happening when deserializing keys are delegated to this handler which may retry or provide a fallback value. |string |false | +|_key.deserializer_ |The deserializer classname used to deserialize the record's key |string |false |`org.apache.kafka.common.serialization.StringDeserializer` +|_lazy-client_ |Whether Kafka client is created lazily or eagerly. |boolean |false |`false` +|_max-queue-size-factor_ |Multiplier factor to determine maximum number of records queued for processing, using `max.poll.records` ++*++ `max-queue-size-factor`. Defaults to 2. In `batch` mode `max.poll.records` is considered `1`. |int |false |`2` +|_ordered_ |Configures ordering guarantees for concurrent processing. Possible values: `key` for per-key sequential processing, or `partition` for per-partition sequential processing. Requires `@Blocking(ordered = false)` for concurrency. Works with any commit strategy. |string |false | +|_ordered.max-concurrency_ |Maximum number of groups (keys or partitions) that can be processed concurrently. Defaults to `max.poll.records`. |int |false | +|_partitions_ |_deprecated_ - The number of partitions to be consumed concurrently. The connector creates the specified amount of Kafka consumers. It should match the number of partition of the targeted topic. Deprecated: Use `concurrency` channel attribute instead. |int |false |`1` +|_pattern_ |Indicate that the `topic` property is a regular expression. Must be used with the `topic` property. Cannot be used with the `topics` property |boolean |false |`false` +|_pause-if-no-requests_ |Whether the polling must be paused when the application does not request items and resume when it does. This allows implementing back-pressure based on the application capacity. Note that polling is not stopped, but will not retrieve any records when paused. |boolean |false |`true` +|_poll-timeout_ |The polling timeout in milliseconds. When polling records, the poll will wait at most that duration before returning records. Default is 1000ms |int |false |`1000` +|_requests_ |_deprecated_ - When `partitions` is greater than 1, this attribute allows configuring how many records are requested by each consumers every time. Deprecated: Use `concurrency` channel attribute instead. |int |false |`128` +|_retry_ |Whether or not the connection to the broker is re-attempted in case of failure |boolean |false |`true` +|_retry-attempts_ |The maximum number of reconnection before failing. -1 means infinite retry |int |false |`-1` +|_retry-max-wait_ |The max delay (in seconds) between 2 reconnects |int |false |`30` +|_share-group_ |_deprecated_ - Deprecated, use 'share-group.enabled' instead |boolean |false |`false` +|_share-group.enabled_ |Whether to use Kafka Share Groups for consumption. When enabled, the consumer will use a ShareConsumer which provides cooperative record processing across multiple consumers without explicit partition assignment. |boolean |false |`false` +|_share-group.failure-acknowledgement-type_ |Default acknowledgement type to apply to the record, when the message is nacked. |string |false |`release` +|_share-group.failure-deserialization-acknowledgement-type_ |Default acknowledgement type to apply to the record, when the message is nacked because of failure on deserialization. |string |false |`reject` +|_share-group.unprocessed-record-max-age.ms_ |While using share groups, specify the max age in milliseconds that an unprocessed record can be before the connector reports a failure. Setting this attribute to 0 disables this monitoring. |int |false |`60000` +|_throttled.ordered_ |_deprecated_ - While using the `throttled` commit-strategy, configures ordering guarantees for concurrent processing. Possible values: `key` for per-key sequential processing within partitions, or `partition` for per-partition sequential processing. Requires `@Blocking(ordered = false)` for concurrency. Deprecated: Use `ordered` instead. |string |false | +|_throttled.ordered.max-concurrency_ |_deprecated_ - While using the `throttled` commit-strategy with ordered processing, specifies the maximum number of groups (keys or partitions) that can be processed concurrently. This should typically match your worker pool's `max-concurrency` setting. Defaults to `max.poll.records`. Deprecated: Use `ordered.max-concurrency` instead. |int |false | +|_throttled.unprocessed-record-max-age.ms_ |While using the `throttled` commit-strategy, specify the max age in milliseconds that an unprocessed message can be before the connector is marked as unhealthy. Setting this attribute to 0 disables this monitoring. |int |false |`60000` +|_topic_ |The consumed / populated Kafka topic. If neither this property nor the `topics` properties are set, the channel name is used |string |false | +|_topics_ |A comma-separating list of topics to be consumed. Cannot be used with the `topic` or `pattern` properties |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_value-deserialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.DeserializationFailureHandler`. If set, deserialization failure happening when deserializing values are delegated to this handler which may retry or provide a fallback value. |string |false | +|_value.deserializer_ |The deserializer classname used to deserialize the record's value |string |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-kafka-outgoing.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-kafka-outgoing.adoc new file mode 100644 index 000000000..85f3102a9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-kafka-outgoing.adoc @@ -0,0 +1,46 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_acks_ |The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. Accepted values are: 0, 1, all |string |false |`1` +|_bootstrap.servers_ _(kafka.bootstrap.servers)_ |A comma-separated list of host:port to use for establishing the initial connection to the Kafka cluster. |string |false |`localhost:9092` +|_buffer.memory_ |The total bytes of memory the producer can use to buffer records waiting to be sent to the server. |long |false |`33554432` +|_client-id-prefix_ |Prefix for Kafka client `client.id` attribute. If defined configured or generated `client.id` will be prefixed with the given value. |string |false | +|_close-timeout_ |The amount of milliseconds waiting for a graceful shutdown of the Kafka producer |int |false |`10000` +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_cloud-events-data-content-type_ _(cloud-events-default-data-content-type)_ |Configure the default `datacontenttype` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `datacontenttype` attribute itself |string |false | +|_cloud-events-data-schema_ _(cloud-events-default-data-schema)_ |Configure the default `dataschema` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `dataschema` attribute itself |string |false | +|_cloud-events-insert-timestamp_ _(cloud-events-default-timestamp)_ |Whether or not the connector should insert automatically the `time` attribute into the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `time` attribute itself |boolean |false |`true` +|_cloud-events-mode_ |The Cloud Event mode (`structured` or `binary` (default)). Indicates how are written the cloud events in the outgoing record |string |false |`binary` +|_cloud-events-source_ _(cloud-events-default-source)_ |Configure the default `source` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `source` attribute itself |string |false | +|_cloud-events-subject_ _(cloud-events-default-subject)_ |Configure the default `subject` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `subject` attribute itself |string |false | +|_cloud-events-type_ _(cloud-events-default-type)_ |Configure the default `type` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `type` attribute itself |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-timeout_ |_deprecated_ - During the readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. Deprecated: Use 'health-topic-verification-timeout' instead. |long |false | +|_health-readiness-topic-verification_ |_deprecated_ - Whether the readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin connection. Deprecated: Use 'health-topic-verification-enabled' instead. |boolean |false | +|_health-topic-verification-enabled_ |Whether the startup and readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin client connection. |boolean |false |`false` +|_health-topic-verification-readiness-disabled_ |Whether the topic verification is disabled for the readiness health check. |boolean |false |`false` +|_health-topic-verification-startup-disabled_ |Whether the topic verification is disabled for the startup health check. |boolean |false |`false` +|_health-topic-verification-timeout_ |During the startup and readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. |long |false |`2000` +|_interceptor-bean_ |The name set in `@Identifier` of a bean that implements `org.apache.kafka.clients.producer.ProducerInterceptor`. If set, the identified bean will be used as the producer interceptor. |string |false | +|_kafka-configuration_ |Identifier of a CDI bean that provides the default Kafka consumer/producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_key_ |A key to used when writing the record |string |false | +|_key-serialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing keys are delegated to this handler which may provide a fallback value. |string |false | +|_key.serializer_ |The serializer classname used to serialize the record's key |string |false |`org.apache.kafka.common.serialization.StringSerializer` +|_lazy-client_ |Whether Kafka client is created lazily or eagerly. |boolean |false |`false` +|_max-inflight-messages_ |The maximum number of messages to be written to Kafka concurrently. It limits the number of messages waiting to be written and acknowledged by the broker. You can set this attribute to `0` remove the limit |long |false |`1024` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_partition_ |The target partition id. -1 to let the client determine the partition |int |false |`-1` +|_pooled-producer_ |_deprecated_ - Deprecated, use 'pooled-producer.enabled' instead |boolean |false |`false` +|_pooled-producer.enabled_ |Whether to use a pool of Kafka producers for concurrent transactions. Each transaction scope acquires a producer from the pool, enabling concurrent exactly-once processing. Requires transactional.id to be set. |boolean |false |`false` +|_pooled-producer.initial-pool-size_ |Number of Kafka producers to pre-create in the pool at startup. Respects the lazy-client setting. Defaults to 0 (lazy creation). |int |false |`0` +|_pooled-producer.max-pool-size_ |Maximum number of Kafka producers in the pool. When all producers are in use and the pool is exhausted, an exception is thrown. Defaults to 10. |int |false |`10` +|_propagate-headers_ |A comma-separating list of incoming record headers to be propagated to the outgoing record |string |false |++``++ +|_propagate-record-key_ |Propagate incoming record key to the outgoing record |boolean |false |`false` +|_retries_ |If set to a positive number, the connector will try to resend any record that was not delivered successfully (with a potentially transient error) until the number of retries is reached. If set to 0, retries are disabled. If not set, the connector tries to resend any record that failed to be delivered (because of a potentially transient error) during an amount of time configured by `delivery.timeout.ms`. |long |false |`2147483647` +|_topic_ |The consumed / populated Kafka topic. If neither this property nor the `topics` properties are set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_value-serialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing values are delegated to this handler which may provide a fallback value. |string |false | +|_value.serializer_ |The serializer classname used to serialize the payload |string |true | +|_waitForWriteCompletion_ |Whether the client waits for Kafka to acknowledge the written record before acknowledging the message |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-mqtt-incoming.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-mqtt-incoming.adoc new file mode 100644 index 000000000..69d568103 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-mqtt-incoming.adoc @@ -0,0 +1,45 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_authentication-method_ |MQTT 5.0: the authentication method for enhanced authentication |string |false | +|_auto-clean-session_ |Set to start with a clean session (`true` by default) |boolean |false |`true` +|_auto-generated-client-id_ |Set if the MQTT client must generate clientId automatically |boolean |false |`true` +|_auto-keep-alive_ |Set if the MQTT client must handle `PINGREQ` automatically |boolean |false |`true` +|_broadcast_ |Whether or not the messages should be dispatched to multiple consumers |boolean |false |`false` +|_buffer-size_ |The size buffer of incoming messages waiting to be processed |int |false |`128` +|_client-id_ |Set the client identifier |string |false | +|_client-options-name_ _(mqtt-client-options-name)_ |The name of the MQTT Client Option bean (`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`) used to customize the MQTT client configuration |string |false | +|_connect-timeout-seconds_ |Set the connect timeout (in seconds) |int |false |`60` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a MQTT message is nacked. Values can be `fail` (default), or `ignore` |string |false |`fail` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ |Set the MQTT server host name/IP |string |true | +|_keep-alive-seconds_ |Set the keep alive timeout in seconds |int |false |`30` +|_max-inflight-queue_ |Set max count of unacknowledged messages |int |false |`10` +|_max-message-size_ |Set max MQTT message size in bytes |int |false |`8092` +|_mqtt-version_ |Set the MQTT protocol version (4 for 3.1.1 or 5 for 5.0) |int |false |`4` +|_no-local_ |MQTT 5.0: if true, the server will not forward messages published by this client back to this client |boolean |false |`false` +|_password_ |Set the password to connect to the server |string |false | +|_port_ |Set the MQTT server port. Default to 8883 if ssl is enabled, or 1883 without ssl |int |false | +|_qos_ |Set the QoS level when subscribing to the topic or when sending a message (0, 1, or 2) |int |false |`0` +|_reconnect-interval-seconds_ |Set the reconnect interval in seconds |int |false |`1` +|_retain-as-published_ |MQTT 5.0: if true, the server keeps the retain flag as set by the publishing client |boolean |false |`false` +|_retain-handling_ |MQTT 5.0: retain handling option (0=send on subscribe, 1=send if new subscription, 2=do not send) |int |false |`0` +|_server-name_ |Set the SNI server name |string |false | +|_session-expiry-interval_ |Set the session expiry interval in seconds (MQTT 5.0 only) |int |false | +|_ssl_ |Set whether SSL/TLS is enabled |boolean |false |`false` +|_ssl.hostname-verification-algorithm_ |Set the hostname verifier algorithm for the TLS connection.Accepted values are `HTTPS`, `LDAPS`, and `NONE` (defaults). `NONE` disables the hostname verification. |string |false |`NONE` +|_ssl.keystore.location_ |Set the keystore location. In case of `pem` type this is the server ca cert path |string |false | +|_ssl.keystore.password_ |Set the keystore password. In case of `pem` type this is the key path |string |false | +|_ssl.keystore.type_ |Set the keystore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_ssl.truststore.location_ |Set the truststore location. In case of `pem` type this is the client cert path |string |false | +|_ssl.truststore.password_ |Set the truststore password. In case of `pem` type this is not necessary |string |false | +|_ssl.truststore.type_ |Set the truststore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_subscription-identifier_ |MQTT 5.0: subscription identifier to include in the SUBSCRIBE packet |int |false | +|_topic_ |Set the MQTT topic. If not set, the channel name is used |string |false | +|_trust-all_ |Set whether all server certificates should be trusted |boolean |false |`false` +|_unsubscribe-on-disconnection_ |This flag restore the old behavior to unsubscribe from the broken on disconnection |boolean |false |`false` +|_username_ |Set the username to connect to the server |string |false | +|_will-flag_ |Set if will information are provided on connection |boolean |false |`false` +|_will-qos_ |Set the QoS level for the will message |int |false |`0` +|_will-retain_ |Set if the will message must be retained |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-mqtt-outgoing.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-mqtt-outgoing.adoc new file mode 100644 index 000000000..7f079e6ca --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-mqtt-outgoing.adoc @@ -0,0 +1,40 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_authentication-method_ |MQTT 5.0: the authentication method for enhanced authentication |string |false | +|_auto-clean-session_ |Set to start with a clean session (`true` by default) |boolean |false |`true` +|_auto-generated-client-id_ |Set if the MQTT client must generate clientId automatically |boolean |false |`true` +|_auto-keep-alive_ |Set if the MQTT client must handle `PINGREQ` automatically |boolean |false |`true` +|_client-id_ |Set the client identifier |string |false | +|_client-options-name_ _(mqtt-client-options-name)_ |The name of the MQTT Client Option bean (`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`) used to customize the MQTT client configuration |string |false | +|_connect-timeout-seconds_ |Set the connect timeout (in seconds) |int |false |`60` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ |Set the MQTT server host name/IP |string |true | +|_keep-alive-seconds_ |Set the keep alive timeout in seconds |int |false |`30` +|_max-inflight-queue_ |Set max count of unacknowledged messages |int |false |`10` +|_max-message-size_ |Set max MQTT message size in bytes |int |false |`8092` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_mqtt-version_ |Set the MQTT protocol version (4 for 3.1.1 or 5 for 5.0) |int |false |`4` +|_password_ |Set the password to connect to the server |string |false | +|_port_ |Set the MQTT server port. Default to 8883 if ssl is enabled, or 1883 without ssl |int |false | +|_qos_ |Set the QoS level when subscribing to the topic or when sending a message (0, 1, or 2) |int |false |`0` +|_reconnect-interval-seconds_ |Set the reconnect interval in seconds |int |false |`1` +|_retain_ |Whether the published message should be retained |boolean |false |`false` +|_server-name_ |Set the SNI server name |string |false | +|_session-expiry-interval_ |Set the session expiry interval in seconds (MQTT 5.0 only) |int |false | +|_ssl_ |Set whether SSL/TLS is enabled |boolean |false |`false` +|_ssl.hostname-verification-algorithm_ |Set the hostname verifier algorithm for the TLS connection.Accepted values are `HTTPS`, `LDAPS`, and `NONE` (defaults). `NONE` disables the hostname verification. |string |false |`NONE` +|_ssl.keystore.location_ |Set the keystore location. In case of `pem` type this is the server ca cert path |string |false | +|_ssl.keystore.password_ |Set the keystore password. In case of `pem` type this is the key path |string |false | +|_ssl.keystore.type_ |Set the keystore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_ssl.truststore.location_ |Set the truststore location. In case of `pem` type this is the client cert path |string |false | +|_ssl.truststore.password_ |Set the truststore password. In case of `pem` type this is not necessary |string |false | +|_ssl.truststore.type_ |Set the truststore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_topic_ |Set the MQTT topic. If not set, the channel name is used |string |false | +|_trust-all_ |Set whether all server certificates should be trusted |boolean |false |`false` +|_unsubscribe-on-disconnection_ |This flag restore the old behavior to unsubscribe from the broken on disconnection |boolean |false |`false` +|_username_ |Set the username to connect to the server |string |false | +|_will-flag_ |Set if will information are provided on connection |boolean |false |`false` +|_will-qos_ |Set the QoS level for the will message |int |false |`0` +|_will-retain_ |Set if the will message must be retained |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-pulsar-incoming.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-pulsar-incoming.adoc new file mode 100644 index 000000000..6d8f6f7e1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-pulsar-incoming.adoc @@ -0,0 +1,21 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_ack-strategy_ |Specify the commit strategy to apply when a message produced from a record is acknowledged. Values can be `ack`, `cumulative`. |string |false |`ack` +|_ackTimeout.redeliveryBackoff_ |Comma separated values for configuring ack timeout MultiplierRedeliveryBackoff, min delay, max delay, multiplier. |string |false | +|_batchReceive_ |Whether batch receive is used to consume messages |boolean |false |`false` +|_client-configuration_ |Identifier of a CDI bean that provides the default Pulsar client configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_consumer-configuration_ |Identifier of a CDI bean that provides the default Pulsar consumer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_deadLetterPolicy.deadLetterTopic_ |Name of the dead letter topic where the failing messages will be sent |string |false | +|_deadLetterPolicy.initialSubscriptionName_ |Name of the initial subscription name of the dead letter topic |string |false | +|_deadLetterPolicy.maxRedeliverCount_ |Maximum number of times that a message will be redelivered before being sent to the dead letter topic |int |false | +|_deadLetterPolicy.retryLetterTopic_ |Name of the retry topic where the failing messages will be sent |string |false | +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `nack` (default), `fail`, `ignore` or ++`++reconsume-later |string |false |`nack` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_negativeAck.redeliveryBackoff_ |Comma separated values for configuring negative ack MultiplierRedeliveryBackoff, min delay, max delay, multiplier. |string |false | +|_reconsumeLater.delay_ |Default delay for reconsume failure-strategy, in seconds |long |false |`3` +|_schema_ |The Pulsar schema type of this channel. When configured a schema is built with the given SchemaType and used for the channel. When absent, the schema is resolved searching for a CDI bean typed `Schema` qualified with `@Identifier` and the channel name. As a fallback AUTO++_++CONSUME or AUTO++_++PRODUCE are used. |string |false | +|_serviceUrl_ |The service URL for the Pulsar service |string |false |`pulsar://localhost:6650` +|_topic_ |The consumed / populated Pulsar topic. If not set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-pulsar-outgoing.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-pulsar-outgoing.adoc new file mode 100644 index 000000000..9d44f7b1d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-pulsar-outgoing.adoc @@ -0,0 +1,13 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_client-configuration_ |Identifier of a CDI bean that provides the default Pulsar client configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_max-inflight-messages_ |The maximum size of a queue holding pending messages, i.e messages waiting to receive an acknowledgment from a broker. Defaults to 1000 messages |int |false | +|_producer-configuration_ |Identifier of a CDI bean that provides the default Pulsar producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_schema_ |The Pulsar schema type of this channel. When configured a schema is built with the given SchemaType and used for the channel. When absent, the schema is resolved searching for a CDI bean typed `Schema` qualified with `@Identifier` and the channel name. As a fallback AUTO++_++CONSUME or AUTO++_++PRODUCE are used. |string |false | +|_serviceUrl_ |The service URL for the Pulsar service |string |false |`pulsar://localhost:6650` +|_topic_ |The consumed / populated Pulsar topic. If not set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_waitForWriteCompletion_ |Whether the client waits for the broker to acknowledge the written record before acknowledging the message |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sns-outgoing.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sns-outgoing.adoc new file mode 100644 index 000000000..c25ed7a4f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sns-outgoing.adoc @@ -0,0 +1,17 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_batch_ |When set, sends messages in batches of maximum 10 messages |boolean |false |`false` +|_batch-delay_ |In batch send mode, the maximum delay in milliseconds to wait for messages to be included in the batch. Defaults to 3000 ms |int |false |`3000` +|_batch-size_ |In batch send mode, the maximum number of messages to include in batch, currently SNS maximum is 10 messages |int |false |`10` +|_credentials-provider_ |The credential provider to be used in the client, defaults to AWS default provider chain |string |false | +|_email.subject_ |When set, sends messages with the specified subject |string |false | +|_endpoint-override_ |The endpoint override |string |false | +|_group.id_ |When set, sends messages with the specified group id |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_message-structure_ |Set to json if you want to send a different message for each protocol. |string |false | +|_region_ |The name of the SNS region, defaults to AWS region resolver |string |false | +|_sms.phoneNumber_ |When set, sends messages to the specified phone number. Not supported in combination with batching. |string |false | +|_topic_ |The name of the SNS topic, defaults to channel name if not provided |string |false | +|_topic.arn_ |The arn of the SNS topic |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sqs-incoming.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sqs-incoming.adoc new file mode 100644 index 000000000..b461eea07 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sqs-incoming.adoc @@ -0,0 +1,21 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_ack-strategy_ |The identifier for the bean implementing ack strategy factory. Strategies: 'delete', 'ignore' |string |false |`delete` +|_ack.delete_ |_deprecated_ - Whether the acknowledgement deletes the message from the queue. Deprecated, use ack-strategy instead |boolean |false | +|_credentials-provider_ |The credential provider to be used in the client |string |false | +|_endpoint-override_ |The endpoint override |string |false | +|_failure-strategy_ |The identifier for the bean implementing failure strategy factory. Strategies: 'ignore', 'fail', 'visibility', 'delete' |string |false |`ignore` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_max-number-of-messages_ |The maximum number of messages to receive |int |false |`10` +|_queue_ |The name of the SQS queue, defaults to channel name if not provided |string |false | +|_queue.url_ |The url of the SQS queue |string |false | +|_receive.request.customizer_ |The identifier for the bean implementing a customizer to receive requests, defaults to channel name if not provided |string |false | +|_receive.request.message-attribute-names_ |The message attribute names to retrieve when receiving messages. |string |false | +|_receive.request.pause.resume_ |Whether the polling must be paused when the application does not request items and resume when it does. This allows implementing back-pressure based on the application capacity. Note that polling is not stopped, but will not retrieve any records when paused. |boolean |false |`true` +|_receive.request.retries_ |If set to a positive number, the connector will try to retry the request that was not delivered successfully (with a potentially transient error) until the number of retries is reached. If set to 0, retries are disabled. |long |false |`2147483647` +|_region_ |The name of the SQS region |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_visibility-timeout_ |The duration in seconds that the received messages are hidden from subsequent retrieve requests after being retrieved by a receive request |int |false | +|_wait-time-seconds_ |The maximum amount of time in seconds to wait for messages to be received |int |false |`1` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sqs-outgoing.adoc b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sqs-outgoing.adoc new file mode 100644 index 000000000..28e23dc2c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_generated/smallrye-sqs-outgoing.adoc @@ -0,0 +1,15 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_batch_ |When set, sends messages in batches of maximum 10 messages |boolean |false |`false` +|_batch-delay_ |In batch send mode, the maximum delay in milliseconds to wait for messages to be included in the batch |int |false |`3000` +|_batch-size_ |In batch send mode, the maximum number of messages to include in batch, currently SQS maximum is 10 messages |int |false |`10` +|_credentials-provider_ |The credential provider to be used in the client |string |false | +|_endpoint-override_ |The endpoint override |string |false | +|_group.id_ |When set, sends messages with the specified group id |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_queue_ |The name of the SQS queue, defaults to channel name if not provided |string |false | +|_queue.url_ |The url of the SQS queue |string |false | +|_region_ |The name of the SQS region |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_nav.yml b/content/docs/smallrye-reactive-messaging/latest/_nav.yml new file mode 100644 index 000000000..6c52e73e5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_nav.yml @@ -0,0 +1,192 @@ +title: SmallRye Reactive Messaging +nav: +- title: Home + page: index +- title: Core + items: + - title: Getting Started + page: getting-started + - title: Concepts + items: + - title: Introduction + page: concepts/concepts + - title: Development Model + page: concepts/model + - title: Emitters and Channel + page: concepts/emitter + - title: Connectors + page: concepts/connectors + - title: Contributing Connectors + page: concepts/contributing-connectors + - title: Acknowledgement + page: concepts/acknowledgement + - title: Blocking Processing + page: concepts/blocking + - title: Method Signatures + page: concepts/signatures + - title: Skipping Messages + page: concepts/skipping + - title: Message Converters + page: concepts/converters + - title: Keyed Streams + page: concepts/keyed-multi + - title: Channel Decorators and Interceptors + page: concepts/decorators + - title: Broadcast + page: concepts/broadcast + - title: Merge channels + page: concepts/merge + - title: Incoming Channel Concurrency + page: concepts/incoming-concurrency + - title: '@Incomings' + page: concepts/incomings + - title: '@Outgoings' + page: concepts/outgoings + - title: Testing + page: concepts/testing + - title: Logging + page: concepts/logging + - title: Observability API + page: concepts/observability + - title: Advanced Configuration + page: concepts/advanced-config + - title: Message Context + page: concepts/message-context + - title: Metadata Injection + page: concepts/incoming-metadata-injection + - title: Generic Payloads + page: concepts/generic-payloads + - title: Pausable Channels + page: concepts/pausable-channels +- title: Kafka + items: + - page: kafka/kafka + - title: Receiving records + page: kafka/receiving-kafka-records + - title: Writing records + page: kafka/writing-kafka-records + - title: Health Checks + page: kafka/health + - title: Using Avro + page: kafka/avro-configuration + - title: Using Protobuf + page: kafka/protobuf-configuration + - title: Rebalance Listeners + page: kafka/consumer-rebalance-listener + - title: Kerberos authentication + page: kafka/kerberos + - title: Accessing the client + page: kafka/client-service + - title: Customizing Default Kafka Configuration + page: kafka/default-configuration + - title: Test Companion for Kafka + page: kafka/test-companion + - title: Kafka Transactions and Exactly-Once Processing + page: kafka/transactions + - title: Kafka Request/Reply + page: kafka/request-reply +- title: AMQP 1.0 + items: + - page: amqp/amqp + - title: Receiving messages + page: amqp/receiving-amqp-messages + - title: Sending messages + page: amqp/sending-amqp-messages + - title: AMQP Request/Reply + page: amqp/request-reply + - title: CBS Authentication + page: amqp/cbs-authentication + - title: Health Checks + page: amqp/health + - title: Client Customization + page: amqp/client-customization + - title: Using RabbitMQ + page: amqp/rabbitmq +- title: RabbitMQ + items: + - page: rabbitmq/rabbitmq + - title: Receiving messages + page: rabbitmq/receiving-messages-from-rabbitmq + - title: Sending messages + page: rabbitmq/sending-messages-to-rabbitmq + - title: Health Checks + page: rabbitmq/rabbitmq-health + - title: Client Customization + page: rabbitmq/rabbitmq-client-customization + - title: Connecting to managed instances + page: rabbitmq/rabbitmq-cloud + - title: RabbitMQ Request/Reply + page: rabbitmq/request-reply +- title: RabbitMQ OG + items: + - page: rabbitmq-og/rabbitmq-og + - title: Receiving messages + page: rabbitmq-og/receiving-messages-from-rabbitmq + - title: Sending messages + page: rabbitmq-og/sending-messages-to-rabbitmq + - title: Health Checks + page: rabbitmq-og/rabbitmq-og-health + - title: Client Customization + page: rabbitmq-og/rabbitmq-og-client-customization + - title: OpenTelemetry Tracing + page: rabbitmq-og/rabbitmq-og-tracing + - title: Connecting to managed instances + page: rabbitmq-og/rabbitmq-og-cloud +- title: Pulsar + items: + - page: pulsar/pulsar + - title: Receiving messages + page: pulsar/receiving-pulsar-messages + - title: Sending messages + page: pulsar/sending-messages-to-pulsar + - title: Configuring the Schema + page: pulsar/schema-configuration + - title: Configuring the Pulsar client + page: pulsar/client-configuration + - title: Health Checks + page: pulsar/health + - title: Accessing the client + page: pulsar/client-service + - title: Pulsar Transactions and Exactly-Once Processing + page: pulsar/transactions +- title: Apache Camel + items: + - page: camel/camel + - title: Receiving messages from Camel + page: camel/receiving-messages-from-camel + - title: Sending messages to Camel + page: camel/sending-messages-to-camel + - title: Implementing Camel processor + page: camel/camel-processor + - title: Using existing Camel routes + page: camel/using-existing-routes +- title: JMS + items: + - page: jms/jms + - title: Receiving JMS messages + page: jms/receiving-jms-messages + - title: Sending JMS messages + page: jms/sending-jms-messages + - title: Advanced configuration + page: jms/advanced-jms +- title: MQTT + items: + - page: mqtt/mqtt + - title: Receiving MQTT messages + page: mqtt/receiving-mqtt-messages + - title: Sending MQTT messages + page: mqtt/sending-messages-to-mqtt + - title: Customizing the MQTT client + page: mqtt/client-customization +- title: AWS SQS + items: + - page: sqs/sqs + - title: Receiving AWS SQS messages + page: sqs/receiving-aws-sqs-messages + - title: Sending AWS SQS messages + page: sqs/sending-aws-sqs-messages +- title: AWS SNS + items: + - page: sns/sns + - title: Sending AWS SNS messages + page: sns/sending-aws-sns-messages diff --git a/content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-client.adoc b/content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-client.adoc new file mode 100644 index 000000000..513f4c895 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-client.adoc @@ -0,0 +1,58 @@ +[width="100%",cols="<13%,<42%,^17%,^17%,<11%",options="header",] +|=== +|Attribute |Description |Type |Config file |Default +|_serviceUrl_ |Pulsar cluster HTTP URL to connect to a broker. |String |true | +|_serviceUrlProvider_ |The implementation class of ServiceUrlProvider used to generate ServiceUrl. |ServiceUrlProvider |false | +|_authentication_ |Authentication settings of the client. |Authentication |false | +|_authPluginClassName_ |Class name of authentication plugin of the client. |String |true | +|_authParams_ |Authentication parameter of the client. |String |true | +|_authParamMap_ |Authentication map of the client. |Map |true | +|_operationTimeoutMs_ |Client operation timeout (in milliseconds). |long |true |30000 +|_lookupTimeoutMs_ |Client lookup timeout (in milliseconds). |long |true |-1 +|_statsIntervalSeconds_ |Interval to print client stats (in seconds). |long |true |60 +|_numIoThreads_ |Number of IO threads. |int |true |10 +|_numListenerThreads_ |Number of consumer listener threads. |int |true |10 +|_connectionsPerBroker_ |Number of connections established between the client and each Broker. A value of 0 means to disable connection pooling. |int |true |1 +|_connectionMaxIdleSeconds_ |Release the connection if it is not used for more than ++[++connectionMaxIdleSeconds++]++ seconds. If ++[++connectionMaxIdleSeconds++]++ ++<++ 0, disabled the feature that auto release the idle connections |int |true |180 +|_useTcpNoDelay_ |Whether to use TCP NoDelay option. |boolean |true |true +|_useTls_ |Whether to use TLS. |boolean |true |false +|_tlsKeyFilePath_ |Path to the TLS key file. |String |true | +|_tlsCertificateFilePath_ |Path to the TLS certificate file. |String |true | +|_tlsTrustCertsFilePath_ |Path to the trusted TLS certificate file. |String |true | +|_tlsAllowInsecureConnection_ |Whether the client accepts untrusted TLS certificates from the broker. |boolean |true |false +|_tlsHostnameVerificationEnable_ |Whether the hostname is validated when the client creates a TLS connection with brokers. |boolean |true |false +|_concurrentLookupRequest_ |The number of concurrent lookup requests that can be sent on each broker connection. Setting a maximum prevents overloading a broker. |int |true |5000 +|_maxLookupRequest_ |Maximum number of lookup requests allowed on each broker connection to prevent overloading a broker. |int |true |50000 +|_maxLookupRedirects_ |Maximum times of redirected lookup requests. |int |true |20 +|_maxNumberOfRejectedRequestPerConnection_ |Maximum number of rejected requests of a broker in a certain time frame (60 seconds) after the current connection is closed and the client creating a new connection to connect to a different broker. |int |true |50 +|_keepAliveIntervalSeconds_ |Seconds of keeping alive interval for each client broker connection. |int |true |30 +|_connectionTimeoutMs_ |Duration of waiting for a connection to a broker to be established.If the duration passes without a response from a broker, the connection attempt is dropped. |int |true |10000 +|_requestTimeoutMs_ |Maximum duration for completing a request. |int |true |60000 +|_readTimeoutMs_ |Maximum read time of a request. |int |true |60000 +|_autoCertRefreshSeconds_ |Seconds of auto refreshing certificate. |int |true |300 +|_initialBackoffIntervalNanos_ |Initial backoff interval (in nanosecond). |long |true |100000000 +|_maxBackoffIntervalNanos_ |Max backoff interval (in nanosecond). |long |true |60000000000 +|_enableBusyWait_ |Whether to enable BusyWait for EpollEventLoopGroup. |boolean |true |false +|_listenerName_ |Listener name for lookup. Clients can use listenerName to choose one of the listeners as the service URL to create a connection to the broker as long as the network is accessible."advertisedListeners" must enabled in broker side. |String |true | +|_useKeyStoreTls_ |Set TLS using KeyStore way. |boolean |true |false +|_sslProvider_ |The TLS provider used by an internal client to authenticate with other Pulsar brokers. |String |true | +|_tlsKeyStoreType_ |TLS KeyStore type configuration. |String |true |JKS +|_tlsKeyStorePath_ |Path of TLS KeyStore. |String |true | +|_tlsKeyStorePassword_ |Password of TLS KeyStore. |String |true | +|_tlsTrustStoreType_ |TLS TrustStore type configuration. You need to set this configuration when client authentication is required. |String |true |JKS +|_tlsTrustStorePath_ |Path of TLS TrustStore. |String |true | +|_tlsTrustStorePassword_ |Password of TLS TrustStore. |String |true | +|_tlsCiphers_ |Set of TLS Ciphers. |Set |true |++[]++ +|_tlsProtocols_ |Protocols of TLS. |Set |true |++[]++ +|_memoryLimitBytes_ |Limit of client memory usage (in byte). The 64M default can guarantee a high producer throughput. |long |true |67108864 +|_proxyServiceUrl_ |URL of proxy service. proxyServiceUrl and proxyProtocol must be mutually inclusive. |String |true | +|_proxyProtocol_ |Protocol of proxy service. proxyServiceUrl and proxyProtocol must be mutually inclusive. |ProxyProtocol |true | +|_enableTransaction_ |Whether to enable transaction. |boolean |true |false +|_clock_ | |Clock |false | +|_dnsLookupBindAddress_ |The Pulsar client dns lookup bind address, default behavior is bind on 0.0.0.0 |String |true | +|_dnsLookupBindPort_ |The Pulsar client dns lookup bind port, takes effect when dnsLookupBindAddress is configured, default value is 0. |int |true |0 +|_socks5ProxyAddress_ |Address of SOCKS5 proxy. |InetSocketAddress |true | +|_socks5ProxyUsername_ |User name of SOCKS5 proxy. |String |true | +|_socks5ProxyPassword_ |Password of SOCKS5 proxy. |String |true | +|_description_ |The extra description of the client version. The length cannot exceed 64. |String |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-consumer.adoc b/content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-consumer.adoc new file mode 100644 index 000000000..1f4b499aa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-consumer.adoc @@ -0,0 +1,137 @@ +[width="100%",cols="<13%,<42%,^17%,^17%,<11%",options="header",] +|=== +|Attribute |Description |Type |Config file |Default +|_topicNames_ |Topic name |Set |true |++[]++ +|_topicsPattern_ |Topic pattern |Pattern |true | +|_subscriptionName_ |Subscription name |String |true | +|_subscriptionType_ |Subscription type. + +Four subscription types are available: + +++*++ Exclusive + +++*++ Failover + +++*++ Shared + +++*++ Key++_++Shared |SubscriptionType |true |Exclusive +|_subscriptionProperties_ | |Map |true | +|_subscriptionMode_ | |SubscriptionMode |true |Durable +|_messageListener_ | |MessageListener |false | +|_consumerEventListener_ | |ConsumerEventListener |false | +|_negativeAckRedeliveryBackoff_ |Interface for custom message is negativeAcked policy. You can specify `RedeliveryBackoff` for a consumer. |RedeliveryBackoff |false | +|_ackTimeoutRedeliveryBackoff_ |Interface for custom message is ackTimeout policy. You can specify `RedeliveryBackoff` for a consumer. |RedeliveryBackoff |false | +|_receiverQueueSize_ |Size of a consumer's receiver queue. + + + +For example, the number of messages accumulated by a consumer before an application calls `Receive`. + + + +A value higher than the default value increases consumer throughput, though at the expense of more memory utilization. |int |true |1000 +|_acknowledgementsGroupTimeMicros_ |Group a consumer acknowledgment for a specified time. + + + +By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker. + + + +Setting a group time of 0 sends out acknowledgments immediately. + + + +A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure. |long |true |100000 +|_maxAcknowledgmentGroupSize_ |Group a consumer acknowledgment for the number of messages. |int |true |1000 +|_negativeAckRedeliveryDelayMicros_ |Delay to wait before redelivering messages that failed to be processed. + + + +When an application uses `Consumer#negativeAcknowledge(Message)`, failed messages are redelivered after a fixed timeout. |long |true |60000000 +|_maxTotalReceiverQueueSizeAcrossPartitions_ |The max total receiver queue size across partitions. + + + +This setting reduces the receiver queue size for individual partitions if the total receiver queue size exceeds this value. |int |true |50000 +|_consumerName_ |Consumer name |String |true | +|_ackTimeoutMillis_ |Timeout of unacked messages |long |true |0 +|_tickDurationMillis_ |Granularity of the ack-timeout redelivery. + + + +Using an higher `tickDurationMillis` reduces the memory overhead to track messages when setting ack-timeout to a bigger value (for example, 1 hour). |long |true |1000 +|_priorityLevel_ |Priority level for a consumer to which a broker gives more priority while dispatching messages in Shared subscription type. + + + +The broker follows descending priorities. For example, 0=max-priority, 1, 2,... + + + +In Shared subscription type, the broker *first dispatches messages to the max priority level consumers if they have permits*. Otherwise, the broker considers next priority level consumers. + + + +**Example 1** + +If a subscription has consumerA with `priorityLevel` 0 and consumerB with `priorityLevel` 1, then the broker *only dispatches messages to consumerA until it runs out permits* and then starts dispatching messages to consumerB. + + + +**Example 2** + +Consumer Priority, Level, Permits + +C1, 0, 2 + +C2, 0, 1 + +C3, 0, 1 + +C4, 1, 2 + +C5, 1, 1 + + + +Order in which a broker dispatches messages to consumers is: C1, C2, C3, C1, C4, C5, C4. |int |true |0 +|_maxPendingChunkedMessage_ |The maximum size of a queue holding pending chunked messages. When the threshold is reached, the consumer drops pending messages to optimize memory utilization. |int |true |10 +|_autoAckOldestChunkedMessageOnQueueFull_ |Whether to automatically acknowledge pending chunked messages when the threshold of `maxPendingChunkedMessage` is reached. If set to `false`, these messages will be redelivered by their broker. |boolean |true |false +|_expireTimeOfIncompleteChunkedMessageMillis_ |The time interval to expire incomplete chunks if a consumer fails to receive all the chunks in the specified time period. The default value is 1 minute. |long |true |60000 +|_cryptoKeyReader_ | |CryptoKeyReader |false | +|_messageCrypto_ | |MessageCrypto |false | +|_cryptoFailureAction_ |Consumer should take action when it receives a message that can not be decrypted. + +++*++ *FAIL*: this is the default option to fail messages until crypto succeeds. + +++*++ *DISCARD*:silently acknowledge and not deliver message to an application. + +++*++ *CONSUME*: deliver encrypted messages to applications. It is the application's responsibility to decrypt the message. + + + +The decompression of message fails. + + + +If messages contain batch messages, a client is not be able to retrieve individual messages in batch. + + + +Delivered encrypted message contains `EncryptionContext` which contains encryption and compression information in it using which application can decrypt consumed message payload. |ConsumerCryptoFailureAction |true |FAIL +|_properties_ |A name or value property of this consumer. + + + +`properties` is application defined metadata attached to a consumer. + + + +When getting a topic stats, associate this metadata with the consumer stats for easier identification. |SortedMap |true |++{++} +|_readCompacted_ |If enabling `readCompacted`, a consumer reads messages from a compacted topic rather than reading a full message backlog of a topic. + + + +A consumer only sees the latest value for each key in the compacted topic, up until reaching the point in the topic message when compacting backlog. Beyond that point, send messages as normal. + + + +Only enabling `readCompacted` on subscriptions to persistent topics, which have a single active consumer (like failure or exclusive subscriptions). + + + +Attempting to enable it on subscriptions to non-persistent topics or on shared subscriptions leads to a subscription call throwing a `PulsarClientException`. |boolean |true |false +|_subscriptionInitialPosition_ |Initial position at which to set cursor when subscribing to a topic at first time. |SubscriptionInitialPosition |true |Latest +|_patternAutoDiscoveryPeriod_ |Topic auto discovery period when using a pattern for topic's consumer. + + + +The default and minimum value is 1 minute. |int |true |60 +|_regexSubscriptionMode_ |When subscribing to a topic using a regular expression, you can pick a certain type of topics. + + + +++*++ *PersistentOnly*: only subscribe to persistent topics. + +++*++ *NonPersistentOnly*: only subscribe to non-persistent topics. + +++*++ *AllTopics*: subscribe to both persistent and non-persistent topics. |RegexSubscriptionMode |true |PersistentOnly +|_deadLetterPolicy_ |Dead letter policy for consumers. + + + +By default, some messages are probably redelivered many times, even to the extent that it never stops. + + + +By using the dead letter mechanism, messages have the max redelivery count. *When exceeding the maximum number of redeliveries, messages are sent to the Dead Letter Topic and acknowledged automatically*. + + + +You can enable the dead letter mechanism by setting `deadLetterPolicy`. + + + +**Example** + + + +client.newConsumer() + +.deadLetterPolicy(DeadLetterPolicy.builder().maxRedeliverCount(10).build()) + +.subscribe(); + + + +Default dead letter topic name is `++{++TopicName}-++{++Subscription}-DLQ`. + + + +To set a custom dead letter topic name: + + + +client.newConsumer() + +.deadLetterPolicy(DeadLetterPolicy.builder().maxRedeliverCount(10) + +.deadLetterTopic("your-topic-name").build()) + +.subscribe(); + + + +When specifying the dead letter policy while not specifying `ackTimeoutMillis`, you can set the ack timeout to 30000 millisecond. |DeadLetterPolicy |true | +|_retryEnable_ | |boolean |true |false +|_batchReceivePolicy_ | |BatchReceivePolicy |false | +|_autoUpdatePartitions_ |If `autoUpdatePartitions` is enabled, a consumer subscribes to partition increasement automatically. + + + +**Note**: this is only for partitioned consumers. |boolean |true |true +|_autoUpdatePartitionsIntervalSeconds_ | |long |true |60 +|_replicateSubscriptionState_ |If `replicateSubscriptionState` is enabled, a subscription state is replicated to geo-replicated clusters. |boolean |true |false +|_resetIncludeHead_ | |boolean |true |false +|_keySharedPolicy_ | |KeySharedPolicy |false | +|_batchIndexAckEnabled_ | |boolean |true |false +|_ackReceiptEnabled_ | |boolean |true |false +|_poolMessages_ | |boolean |true |false +|_payloadProcessor_ | |MessagePayloadProcessor |false | +|_startPaused_ | |boolean |true |false +|_autoScaledReceiverQueueSizeEnabled_ | |boolean |true |false +|_topicConfigurations_ | |List |true |++[]++ +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-producer.adoc b/content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-producer.adoc new file mode 100644 index 000000000..e8755e86b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/_partials/pulsar/config/smallrye-pulsar-producer.adoc @@ -0,0 +1,60 @@ +[width="100%",cols="<13%,<42%,^17%,^17%,<11%",options="header",] +|=== +|Attribute |Description |Type |Config file |Default +|_topicName_ |Topic name |String |true | +|_producerName_ |Producer name |String |true | +|_sendTimeoutMs_ |Message send timeout in ms. + +If a message is not acknowledged by a server before the `sendTimeout` expires, an error occurs. |long |true |30000 +|_blockIfQueueFull_ |If it is set to `true`, when the outgoing message queue is full, the `Send` and `SendAsync` methods of producer block, rather than failing and throwing errors. + +If it is set to `false`, when the outgoing message queue is full, the `Send` and `SendAsync` methods of producer fail and `ProducerQueueIsFullError` exceptions occur. + + + +The `MaxPendingMessages` parameter determines the size of the outgoing message queue. |boolean |true |false +|_maxPendingMessages_ |The maximum size of a queue holding pending messages. + + + +For example, a message waiting to receive an acknowledgment from a https://pulsar.apache.org/docs/reference-terminology#broker[broker]. + + + +By default, when the queue is full, all calls to the `Send` and `SendAsync` methods fail *unless* you set `BlockIfQueueFull` to `true`. |int |true |0 +|_maxPendingMessagesAcrossPartitions_ |The maximum number of pending messages across partitions. + + + +Use the setting to lower the max pending messages for each partition (`#setMaxPendingMessages(int)`) if the total number exceeds the configured value. |int |true |0 +|_messageRoutingMode_ |Message routing logic for producers on https://pulsar.apache.org/docs/concepts-architecture-overview#partitioned-topics[partitioned topics]. + +Apply the logic only when setting no key on messages. + +Available options are as follows: + +++*++ `pulsar.RoundRobinDistribution`: round robin + +++*++ `pulsar.UseSinglePartition`: publish all messages to a single partition + +++*++ `pulsar.CustomPartition`: a custom partitioning scheme |MessageRoutingMode |true | +|_hashingScheme_ |Hashing function determining the partition where you publish a particular message (partitioned topics only). + +Available options are as follows: + +++*++ `pulsar.JavastringHash`: the equivalent of `string.hashCode()` in Java + +++*++ `pulsar.Murmur3++_++32Hash`: applies the https://en.wikipedia.org/wiki/MurmurHash[Murmur3] hashing function + +++*++ `pulsar.BoostHash`: applies the hashing function from C{plus}{plus}'shttps://www.boost.org/doc/libs/1_62_0/doc/html/hash.html[Boost] library |HashingScheme |true |JavaStringHash +|_cryptoFailureAction_ |Producer should take action when encryption fails. + +++*++ *FAIL*: if encryption fails, unencrypted messages fail to send. + +++*++ *SEND*: if encryption fails, unencrypted messages are sent. |ProducerCryptoFailureAction |true |FAIL +|_customMessageRouter_ | |MessageRouter |false | +|_batchingMaxPublishDelayMicros_ |Batching time period of sending messages. |long |true |1000 +|_batchingPartitionSwitchFrequencyByPublishDelay_ | |int |true |10 +|_batchingMaxMessages_ |The maximum number of messages permitted in a batch. |int |true |1000 +|_batchingMaxBytes_ | |int |true |131072 +|_batchingEnabled_ |Enable batching of messages. |boolean |true |true +|_batcherBuilder_ | |BatcherBuilder |false | +|_chunkingEnabled_ |Enable chunking of messages. |boolean |true |false +|_chunkMaxMessageSize_ | |int |true |-1 +|_cryptoKeyReader_ | |CryptoKeyReader |false | +|_messageCrypto_ | |MessageCrypto |false | +|_encryptionKeys_ | |Set |true |++[]++ +|_compressionType_ |Message data compression type used by a producer. + +Available options: + +++*++ https://github.com/lz4/lz4[LZ4] + +++*++ https://zlib.net/[ZLIB] + +++*++ https://facebook.github.io/zstd/[ZSTD] + +++*++ https://google.github.io/snappy/[SNAPPY] |CompressionType |true |NONE +|_initialSequenceId_ | |Long |true | +|_autoUpdatePartitions_ | |boolean |true |true +|_autoUpdatePartitionsIntervalSeconds_ | |long |true |60 +|_multiSchema_ | |boolean |true |true +|_accessMode_ | |ProducerAccessMode |true |Shared +|_lazyStartPartitionedProducers_ | |boolean |true |false +|_properties_ | |SortedMap |true |++{++} +|_initialSubscriptionName_ |Use this configuration to automatically create an initial subscription when creating a topic. If this field is not set, the initial subscription is not created. |String |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/amqp/amqp.adoc b/content/docs/smallrye-reactive-messaging/latest/amqp/amqp.adoc new file mode 100644 index 000000000..d4326ffeb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/amqp/amqp.adoc @@ -0,0 +1,51 @@ += AMQP 1.0 Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP Connector adds support for AMQP 1.0 to Reactive Messaging. + +Advanced Message Queuing Protocol 1.0 (AMQP 1.0) is an open standard for +passing business messages between applications or organizations. + +With this connector, your application can: + +* receive messages from an AMQP Broker or Router. +* send `Message` to an AMQP _address_ +* implement xref:amqp/request-reply.adoc[request-reply] messaging patterns +* authenticate using xref:amqp/cbs-authentication.adoc[Claims-Based Security (CBS)] tokens + +The AMQP connector is based on the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP Client]. + +Using the AMQP connector + +To use the AMQP Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-amqp + {project-version} + +---- + +The connector name is: `smallrye-amqp`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-amqp + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-amqp +---- + +[IMPORTANT] +.RabbitMQ +==== + +To use RabbitMQ, refer to xref:#amqp-rabbitmq[Using RabbitMQ]. + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/amqp/cbs-authentication.adoc b/content/docs/smallrye-reactive-messaging/latest/amqp/cbs-authentication.adoc new file mode 100644 index 000000000..5b5fd6132 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/amqp/cbs-authentication.adoc @@ -0,0 +1,186 @@ += Claims-Based Security (CBS) Authentication +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +CBS authentication support is an experimental feature. + +==== + +The AMQP connector supports https://docs.oasis-open.org/amqp/amqp-cbs/v1.0/amqp-cbs-v1.0.html[Claims-Based Security (CBS)] for token-based authentication with AMQP 1.0 brokers. +CBS allows the client to authenticate by sending a security token (such as a JWT or SAS token) to the broker over the AMQP connection, rather than relying solely on SASL mechanisms. +This is commonly used with brokers like *Azure Service Bus*. + +== Enabling CBS + +To enable CBS authentication on a channel, set the `cbs.enabled` attribute: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-amqp +mp.messaging.incoming.my-channel.host=my-broker.servicebus.windows.net +mp.messaging.incoming.my-channel.port=5671 +mp.messaging.incoming.my-channel.use-ssl=true +mp.messaging.incoming.my-channel.cbs.enabled=true +---- + +CBS can be enabled on both incoming and outgoing channels independently. + +== Providing Tokens + +When CBS is enabled, the connector requires a CDI bean implementing +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/cbs/CbsTokenProvider.html[`CbsTokenProvider`]. +This bean is called during initial connection and on each token refresh cycle. + +[source,java] +---- +include::{examples-dir}/amqp/customization/MyCbsTokenProvider.java[tags=provider,indent=0] +---- + +The `getToken` method receives the channel configuration, allowing you to adapt token generation per channel (e.g., using different audiences or scopes). +It returns a `Uni++<++CbsToken++>++` to support non-blocking token retrieval from external identity providers. + +=== The CbsToken Interface + +A `CbsToken` provides: + +[width="100%",cols="16%,84%",options="header",] +|=== +|Method |Description +|`token()` |The token string value (JWT, SAS token, etc.) +|`type()` |The token type (e.g., `"jwt"` or `"servicebus.windows.net:sastoken"`) +|`expiresAt()` |When the token expires +|`refreshAt()` |When the token should be refreshed (defaults to `expiresAt()` if not set) +|=== + +The `DefaultCbsToken` record provides a convenient implementation: + +[source,java] +---- +// With explicit refresh time (refresh before expiration) +new DefaultCbsToken(token, "jwt", expiresAt, refreshAt); + +// Refresh at expiration +new DefaultCbsToken(token, "jwt", expiresAt); + +// Using validity duration in seconds +new DefaultCbsToken(token, "jwt", 3600); +---- + +== Token Refresh + +The connector automatically refreshes tokens before they expire. +After a successful authorization, a timer is scheduled based on the `refreshAt()` value of the token. + +* If `refreshAt()` is set earlier than `expiresAt()`, the token is refreshed proactively. +* If the refresh fails after retries, the connection is closed and re-established. + +Setting `refreshAt()` earlier than `expiresAt()` is recommended to avoid authentication gaps during refresh: + +[source,java] +---- +new DefaultCbsToken( + token, "jwt", + OffsetDateTime.now().plusHours(1), // expires in 1 hour + OffsetDateTime.now().plusMinutes(45)); // refresh after 45 minutes +---- + +== CBS Exchange Protocols + +The connector supports two CBS exchange protocols, configured with `cbs.exchange`: + +=== `set-token` (default) + +The `set-token` protocol sends the token as an AMQP message to the CBS node with: + +* Subject: `set-token` +* Application property `token-type`: the token type +* Body: the token string + +The broker acknowledges the message to confirm the token was accepted. + +[source,properties] +---- +mp.messaging.incoming.my-channel.cbs.exchange=set-token +---- + +=== `put-token` + +The `put-token` protocol uses a request-reply exchange, compatible with *Azure Service Bus*. +It sends the token as a request and validates the response status code. + +[source,properties] +---- +mp.messaging.incoming.my-channel.cbs.exchange=put-token +mp.messaging.incoming.my-channel.cbs.audience=my-namespace.servicebus.windows.net/my-queue +---- + +When using `put-token`, the `cbs.audience` attribute sets the token audience. +If not configured, the audience is derived from the broker host and target address in the format `amqp://HOST/ADDRESS`. + +== Connection Sharing with CBS + +When multiple channels share the same connection using `container-id`, CBS authentication is performed once for the shared connection: + +[source,properties] +---- +mp.messaging.incoming.my-channel-in.connector=smallrye-amqp +mp.messaging.incoming.my-channel-in.container-id=shared +mp.messaging.incoming.my-channel-in.cbs.enabled=true + +mp.messaging.outgoing.my-channel-out.connector=smallrye-amqp +mp.messaging.outgoing.my-channel-out.container-id=shared +mp.messaging.outgoing.my-channel-out.cbs.enabled=true +---- + +Both channels share a single connection and a single CBS token authorization. + +== Azure Service Bus Example + +To connect to Azure Service Bus using CBS with SAS tokens: + +[source,java] +---- +include::{examples-dir}/amqp/customization/MySasTokenProvider.java[tags=sas-provider,indent=0] +---- + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-amqp +mp.messaging.incoming.my-channel.host=my-namespace.servicebus.windows.net +mp.messaging.incoming.my-channel.port=5671 +mp.messaging.incoming.my-channel.use-ssl=true +mp.messaging.incoming.my-channel.cbs.enabled=true +mp.messaging.incoming.my-channel.cbs.exchange=put-token +mp.messaging.incoming.my-channel.cbs.audience=my-namespace.servicebus.windows.net/my-queue +---- + +== Retry Configuration + +If token authorization fails, the connector retries with exponential backoff. +The retry behavior is controlled by the standard connector retry attributes: + +[source,properties] +---- +mp.messaging.incoming.my-channel.retry-on-fail-attempts=6 # max retries (default: 6) +mp.messaging.incoming.my-channel.retry-on-fail-interval=5 # retry delay in seconds (default: 5) +---- + +If all retries are exhausted, the connection is closed and re-established using the connector's reconnection mechanism. + +== Configuration Reference + +[width="100%",cols="17%,7%,24%,52%",options="header",] +|=== +|Attribute |Type |Default |Description +|`cbs.enabled` |boolean |`false` |Enable CBS authorization +|`cbs.exchange` |string |`set-token` |CBS exchange protocol: `set-token` or `put-token` +|`cbs.audience` |string | |Token audience (auto-derived from address if not set) +|`cbs.scopes` |string | |Token scopes for authorization +|`cbs.token-manager` |string |`default-cbs-token-manager` |CDI bean identifier of a custom `CbsTokenManager.Factory` +|=== + +All attributes are available for both incoming and outgoing channels. diff --git a/content/docs/smallrye-reactive-messaging/latest/amqp/client-customization.adoc b/content/docs/smallrye-reactive-messaging/latest/amqp/client-customization.adoc new file mode 100644 index 000000000..bc214acb8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/amqp/client-customization.adoc @@ -0,0 +1,50 @@ += Customizing the underlying AMQP client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying AMQP Client configuration by +_producing_ an instance of +https://vertx.io/docs/apidocs/io/vertx/amqp/AmqpClientOptions.html[`AmqpClientOptions`]: + +[source,java] +---- +include::{examples-dir}/amqp/customization/ClientProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.client-options-name=my-named-options +---- + +If you experience frequent disconnections from the broker, the AmqpClientOptions can also be used to set a heartbeat if you need to keep the AMQP connection permanently. +Some brokers might terminate the AMQP connection after a certain idle timeout. +You can provide a heartbeat value which will be used by the Vert.x proton client to advertise the idle timeout when opening transport to a remote peer. + +[source,java] +---- +@Produces +@Identifier("my-named-options") +public AmqpClientOptions getNamedOptions() { + // set a heartbeat of 30s (in milliseconds) + return new AmqpClientOptions() + .setHeartbeat(30000); +} +---- + +== Client capabilities + +Both incoming and outgoing AMQP channels can be configured with a list +of capabilities to declare during sender and receiver connections with +the AMQP broker. Note that supported capability names are broker +specific. + +[source,properties] +---- +mp.messaging.incoming.sink.capabilities=temporary-topic +... +mp.messaging.outgoing.source.capabilities=shared +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/amqp/health.adoc b/content/docs/smallrye-reactive-messaging/latest/amqp/health.adoc new file mode 100644 index 000000000..79ec6eb9f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/amqp/health.adoc @@ -0,0 +1,34 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector reports the startup, liveness, and readiness of each +inbound (Receiving messages) and outbound (sending messages) channel +managed by the connector: + +* Startup :: For both inbound and outbound, the startup probe reports _OK_ when the +connection with the broker is established, and the AMQP senders and +receivers are opened (the links are attached to the broker). +* Liveness :: For both inbound and outbound, the liveness check verifies that the +connection is established. The check still returns _OK_ if the +connection got cut, but we are attempting a reconnection. +* Readiness :: For the inbound, it checks that the connection is established and the +receiver is opened. Unlike the liveness check, this probe reports _KO_ +until the connection is re-established. For the outbound, it checks that +the connection is established and the sender is opened. Unlike the +liveness check, this probe reports _KO_ until the connection is +re-established. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +Note that a message processing failures _nacks_ the message, which is +then handled by the failure-strategy. It is the responsibility of the +`failure-strategy` to report the failure and influence the outcome of +the checks. The `fail` failure strategy reports the failure, and so the +check will report the fault. diff --git a/content/docs/smallrye-reactive-messaging/latest/amqp/rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/latest/amqp/rabbitmq.adoc new file mode 100644 index 000000000..06631ded9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/amqp/rabbitmq.adoc @@ -0,0 +1,61 @@ += Using RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +RabbitMQ 4.0{plus} provides native AMQP 1.0 support, making it fully compatible with this connector. +For older versions (3.x), RabbitMQ implements AMQP 0.9.1 and requires the +https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/v3.8.x/README.md[AMQP 1.0 plugin] to be enabled. + +== Address format + +RabbitMQ 4.0{plus} uses the v2 address format with `/queues/` and `/exchanges/` prefixes. +When using this connector with RabbitMQ, prefix your addresses accordingly: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-amqp +mp.messaging.incoming.prices.address=/queues/prices + +mp.messaging.outgoing.generated-price.connector=smallrye-amqp +mp.messaging.outgoing.generated-price.address=/queues/prices +mp.messaging.outgoing.generated-price.use-anonymous-sender=false +---- + +== Recommendations + +RabbitMQ support for AMQP 1.0 may differ from other AMQP 1.0 supporting brokers. +We recommend the following configurations. + +To receive messages from RabbitMQ: + +* Set `durable` to `false` + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-amqp +mp.messaging.incoming.prices.durable=false +---- + +To send messages to RabbitMQ: + +* set the destination `address` (anonymous senders are not supported) +* set `use-anonymous-sender` to `false` + +[source,properties] +---- +mp.messaging.outgoing.generated-price.connector=smallrye-amqp +mp.messaging.outgoing.generated-price.address=prices +mp.messaging.outgoing.generated-price.use-anonymous-sender=false +---- + +It’s not possible to change the destination dynamically (using message +metadata) when using RabbitMQ. The connector automatically detects that +the broker does not support anonymous sender (See +http://docs.oasis-open.org/amqp/anonterm/v1.0/anonterm-v1.0.html). + +== Request/Reply with RabbitMQ + +This connector supports the request-reply pattern with RabbitMQ. +See xref:amqp/request-reply.adoc#using-with-rabbitmq[AMQP Request/Reply] for details. + +Alternatively, you can use the xref:rabbitmq/rabbitmq.adoc[RabbitMQ connector]. diff --git a/content/docs/smallrye-reactive-messaging/latest/amqp/receiving-amqp-messages.adoc b/content/docs/smallrye-reactive-messaging/latest/amqp/receiving-amqp-messages.adoc new file mode 100644 index 000000000..751056c73 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/amqp/receiving-amqp-messages.adoc @@ -0,0 +1,257 @@ += Receiving messages from AMQP +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector lets you retrieve messages from an https://www.amqp.org/product/architecture[AMQP broker or +router]. The AMQP connector +retrieves _AMQP Messages_ and maps each of them into Reactive Messaging +`Messages`. + +== Example + +Let’s imagine you have an AMQP broker (such as https://activemq.apache.org/components/artemis/[Apache ActiveMQ +Artemis]) running, and +accessible using the `amqp:5672` address (by default it would use +`localhost:5672`). Configure your application to receive AMQP Messages +on the `prices` channel as follows: + +[source,properties] +---- +amqp-host=amqp # <1> +amqp-port=5672 # <2> +amqp-username=my-username # <3> +amqp-password=my-password # <4> + +mp.messaging.incoming.prices.connector=smallrye-amqp # <5> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `amqp-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `amqp-port`. The default is +`5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`amqp-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`amqp-password`. +. Instructs the `prices` channel to be managed by the AMQP connector + +[NOTE] +==== + +You don’t need to set the AMQP _address_. By default, it uses the +channel name (`prices`). You can configure the `address` attribute to +override it. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The connector converts incoming AMQP Messages into Reactive Messaging +`Message++<++T++>++` instances. `T` depends on the _body_ of the received AMQP +Message. + +The http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html[AMQP Type +System] +defines the supported types. + +[width="100%",cols="66%,34%",options="header",] +|=== +|AMQP Body Type |`++<++T++>++` +|AMQP Value containing a http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html#section-primitive-type-definitions[AMQP Primitive Type] |the corresponding Java type +|AMQP Value using the `Binary` type |`byte++[]++` +|AMQP Sequence |`List` +|AMQP Data (with binary content) and the `content-type` is set to `application/json` |https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] +|AMQP Data with a different `content-type` |`byte++[]++` +|=== + +If you send objects with this AMQP connector (outbound connector), it +gets encoded as JSON and sent as binary. The `content-type` is set to +`application/json`. You can receive this payload using (Vert.x) JSON +Objects, and then map it to the object class you want: + +[source,java] +---- +@ApplicationScoped +public static class Generator { + + @Outgoing("to-amqp") + public Multi prices() { // <1> + AtomicInteger count = new AtomicInteger(); + return Multi.createFrom().ticks().every(Duration.ofMillis(1000)) + .map(l -> new Price().setPrice(count.incrementAndGet())) + .onOverflow().drop(); + } + +} + +@ApplicationScoped +public static class Consumer { + + List prices = new CopyOnWriteArrayList<>(); + + @Incoming("from-amqp") + public void consume(JsonObject p) { // <2> + Price price = p.mapTo(Price.class); // <3> + prices.add(price); + } + + public List list() { + return prices; + } +} +---- + +[arabic] +. The `Price` instances are automatically encoded to JSON by the +connector +. You can receive it using a `JsonObject` +. Then, you can reconstruct the instance using the `mapTo` method + +== Inbound Metadata + +Messages coming from AMQP contains an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/IncomingAmqpMetadata.html[`IncomingAmqpMetadata`] + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a Reactive Messaging `Message` associated with an AMQP Message is +acknowledged, it informs the broker that the message has been +_accepted_. + +== Failure Management + +If a message produced from an AMQP message is _nacked_, a failure +strategy is applied. The AMQP connector supports six strategies: + +* `fail` - fail the application; no more AMQP messages will be +processed (default). The AMQP message is marked as rejected. +* `accept` - this strategy marks the AMQP message as _accepted_. The +processing continues ignoring the failure. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-accepted[accepted +delivery state +documentation]. +* `release` - this strategy marks the AMQP message as _released_. The +processing continues with the next message. The broker can redeliver +the message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-released[released delivery state +documentation]. +* `reject` - this strategy marks the AMQP message as rejected. The +processing continues with the next message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-rejected[rejected +delivery state +documentation]. +* `modified-failed` - this strategy marks the AMQP message as +_modified_ and indicates that it failed (with the `delivery-failed` +attribute). The processing continues with the next message, but the +broker may attempt to redeliver the message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-modified[modified +delivery state +documentation] +* `modified-failed-undeliverable-here` - this strategy marks the AMQP +message as _modified_ and indicates that it failed (with the +`delivery-failed` attribute). It also indicates that the application +cannot process the message, meaning that the broker will not attempt +to redeliver the message to this node. The processing continues with +the next message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-modified[modified delivery state +documentation] + +== Configuration Reference + +include::{generated-dir}/smallrye-amqp-incoming.adoc[indent=0] + +You can also pass any property supported by the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP +client] as attribute. + +To use an existing _address_ or _queue_, you need to configure the +`address`, `container-id` and, optionally, the `link-name` attributes. +For example, if you have an Apache Artemis broker configured with: + +[source,xml] +---- + + +
      people
      + true + artemis +
      +
      +---- + +You need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-amqp +mp.messaging.incoming.people.durable=true +mp.messaging.incoming.people.address=people +mp.messaging.incoming.people.container-id=people +---- + +You may need to configure the `link-name` attribute, if the queue name +is not the channel name: + +[source,properties] +---- +mp.messaging.incoming.people-in.connector=smallrye-amqp +mp.messaging.incoming.people-in.durable=true +mp.messaging.incoming.people-in.address=people +mp.messaging.incoming.people-in.container-id=people +mp.messaging.incoming.people-in.link-name=people +---- + +== Receiving Cloud Events + +The AMQP connector supports https://cloudevents.io/[Cloud Events]. +When the connector detects a _structured_ or _binary_ Cloud Events, it +adds a link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/ce/IncomingCloudEventMetadata.html[`IncomingCloudEventMetadata`] +into the metadata of the `Message`. `IncomingCloudEventMetadata` +contains accessors to the mandatory and optional Cloud Event attributes. + +If the connector cannot extract the Cloud Event metadata, it sends the +Message without the metadata. + +=== Binary Cloud Events + +For `binary` Cloud Events, *all* mandatory Cloud Event attributes must +be set in the AMQP application properties, prefixed by `cloudEvents:` +(as mandated by the https://github.com/cloudevents/spec/blob/v1.0.1/amqp-protocol-binding.md[protocol +binding]). +The connector considers headers starting with the `cloudEvents:` prefix +but not listed in the specification as extensions. You can access them +using the `getExtension` method from `IncomingCloudEventMetadata`. + +The `datacontenttype` attribute is mapped to the `content-type` header +of the record. + +=== Structured Cloud Events + +For `structured` Cloud Events, the event is encoded in the record’s +value. Only JSON is supported, so your event must be encoded as JSON in +the record’s value. + +Structured Cloud Event must set the `content-type` header of the record +to `application/cloudevents{plus}json; charset=UTF-8`. The message body must +be a valid JSON object containing at least all the mandatory Cloud +Events attributes. + +If the record is a structured Cloud Event, the created Message’s payload +is the Cloud Event `data`. diff --git a/content/docs/smallrye-reactive-messaging/latest/amqp/request-reply.adoc b/content/docs/smallrye-reactive-messaging/latest/amqp/request-reply.adoc new file mode 100644 index 000000000..4b7bbaad1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/amqp/request-reply.adoc @@ -0,0 +1,202 @@ += AMQP Request/Reply +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +AMQP Request Reply Emitter is an experimental feature. + +==== + +The AMQP https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html[Request-Reply] pattern allows you to publish a message to an AMQP address and then await for a reply message that responds to the initial request. + +The `AmqpRequestReply` emitter implements the requestor (or the client) of the request-reply pattern for AMQP 1.0 outbound channels: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpRequestReplyEmitter.java[indent=0] +---- + +The `request` method publishes the request message to the configured target address of the outgoing channel, +and listens on a reply address (by default, the channel name with `-reply` suffix) for a reply message. +When the reply is received the returned `Uni` is completed with the message payload. + +The request send operation generates a correlation id and sets the AMQP `message-id` property, +which it expects to be sent back in the reply message's `correlation-id` property. + +The replier (or the server) can be implemented using a Reactive Messaging processor: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpReplier.java[indent=0] +---- + +When you need more control over the reply message, such as setting the reply-to address and correlation id explicitly, you can use the `Message` type: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpReplierWithMetadata.java[indent=0] +---- + +Given the following configuration example: + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-amqp +mp.messaging.outgoing.my-request.address=requests +mp.messaging.outgoing.my-request.reply.address=my-request-reply + +mp.messaging.incoming.request.connector=smallrye-amqp +mp.messaging.incoming.request.address=requests + +mp.messaging.outgoing.reply.connector=smallrye-amqp +mp.messaging.outgoing.reply.address=my-request-reply +mp.messaging.outgoing.reply.use-anonymous-sender=false +---- + +== Requesting with `Message` types + +Like the core Emitter's `send` methods, `request` method also can receive a `Message` type and return a message: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpRequestReplyMessageEmitter.java[indent=0] +---- + +[NOTE] +==== + +The ingested reply type of the `AmqpRequestReply` is discovered at runtime, +in order to configure a `MessageConverter` to be applied on the incoming message before returning the `Uni` result. + +==== + +== Requesting multiple replies + +You can use the `requestMulti` method to expect any number of replies represented by the `Multi` return type. + +For example this can be used to aggregate multiple replies to a single request. + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpRequestReplyMultiEmitter.java[indent=0] +---- + +Like the other `request` you can also request `Message` types. + +[NOTE] +==== + +The channel attribute `reply.timeout` will be applied between each message, if reached the returned `Multi` will +fail. + +==== + +== Pending replies and reply timeout + +By default, the `Uni` returned from the `request` method is configured to fail with timeout exception if no reply is received after 5 seconds. +This timeout is configurable with the channel attribute `reply.timeout` (in milliseconds). + +[source,properties] +---- +mp.messaging.outgoing.my-request.reply.timeout=10000 +---- + +A snapshot of the list of pending replies is available through the `AmqpRequestReply#getPendingReplies` method. + +== Scaling Request/Reply + +If multiple requestor instances are configured on the same outgoing address, and the same reply address, +each requestor instance will receive replies of all instances. If an observed correlation id doesn't match +the id of any pending replies, the reply is simply discarded. +With the additional network traffic this allows scaling requestors, (and repliers) dynamically. + +== Correlation Ids + +The AMQP Request/Reply allows configuring the correlation id mechanism completely through a `CorrelationIdHandler` implementation. +The default handler is based on randomly generated UUID strings, set as the AMQP `message-id` on the request message. +The reply message is expected to carry the same value in the `correlation-id` property. + +The correlation id handler implementation can be configured using the `reply.correlation-id.handler` attribute. +The default configuration is `uuid`, which uses randomly generated UUID strings as correlation ids. +An alternative `bytes` implementation can be used to generate random binary correlation ids. +The `bytes` id handler generates 12 random bytes, +but the length can be configured with the `smallrye.amqp.request-reply.correlation-id.bytes.length` attribute. + +Custom handlers can be implemented by proposing a CDI-managed bean with `@Identifier` qualifier. + +== Reply Error Handling + +If the reply server produces an error, it can propagate the error back to the requestor, failing the returned `Uni`. + +If configured using the `reply.failure.handler` channel attribute, +the `ReplyFailureHandler` implementations are discovered through CDI, matching the `@Identifier` qualifier. + +A sample reply error handler can lookup application properties and return the error to be thrown by the reply: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/MyAmqpReplyFailureHandler.java[indent=0] +---- + +`null` return value indicates that no error has been found in the reply message, and it can be delivered to the application. + +== Connection Sharing + +Multiple AMQP channels can share the same underlying connection when configured with the same `container-id`. +This reduces resource consumption and is particularly useful for request-reply patterns +where the sender and reply receiver can share a single connection. + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-amqp +mp.messaging.outgoing.my-request.address=requests +mp.messaging.outgoing.my-request.container-id=my-connection +mp.messaging.outgoing.my-request.reply.address=replies + +mp.messaging.incoming.other-channel.connector=smallrye-amqp +mp.messaging.incoming.other-channel.address=other +mp.messaging.incoming.other-channel.container-id=my-connection +---- + +Both channels above will share the same AMQP connection because they use the same `container-id`. + +[NOTE] +==== + +Connection sharing requires all channels with the same `container-id` to have compatible connection settings (host, port, credentials, etc.). +If the settings differ, the connector will detect the conflict and raise an error. + +==== + +== Using with RabbitMQ + +RabbitMQ 4.0{plus} with native AMQP 1.0 support is compatible with the request-reply pattern. +When using RabbitMQ, remember to use `/queues/` prefixed addresses (v2 address format) +and set `use-anonymous-sender=false` as anonymous senders are not supported. + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-amqp +mp.messaging.outgoing.my-request.address=/queues/requests +mp.messaging.outgoing.my-request.reply.address=/queues/replies +mp.messaging.outgoing.my-request.use-anonymous-sender=false + +mp.messaging.incoming.request.connector=smallrye-amqp +mp.messaging.incoming.request.address=/queues/requests + +mp.messaging.outgoing.reply.connector=smallrye-amqp +mp.messaging.outgoing.reply.address=/queues/replies +mp.messaging.outgoing.reply.use-anonymous-sender=false +---- + +See xref:amqp/rabbitmq.adoc[Using RabbitMQ] for more details on RabbitMQ-specific configuration. + +== Limitations + +The following features are not yet supported: + +* *Direct reply-to* (`amq.rabbitmq.reply-to`): RabbitMQ's direct reply-to mechanism requires link pairing, which is not yet implemented. +* *Link pairing*: Pairing sender and receiver links on the same connection for request-reply routing is not yet available. diff --git a/content/docs/smallrye-reactive-messaging/latest/amqp/sending-amqp-messages.adoc b/content/docs/smallrye-reactive-messaging/latest/amqp/sending-amqp-messages.adoc new file mode 100644 index 000000000..f89a2a0b6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/amqp/sending-amqp-messages.adoc @@ -0,0 +1,254 @@ += Sending messages to AMQP +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector can write Reactive Messaging `Messages` as AMQP +Messages. + +== Example + +Let’s imagine you have an AMQP broker (such as https://activemq.apache.org/components/artemis/[Apache ActiveMQ +Artemis]) running, and +accessible using the `amqp:5672` address (by default it would use +`localhost:5672`). Configure your application to send the messages from +the `prices` channel as AMQP Message as follows: + +[source,properties] +---- +amqp-host=amqp # <1> +amqp-port=5672 # <2> +amqp-username=my-username # <3> +amqp-password=my-password # <4> + +mp.messaging.outgoing.prices.connector=smallrye-amqp # <5> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `amqp-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `amqp-port`. The default is +`5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`amqp-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`amqp-password`. +. Instructs the `prices` channel to be managed by the AMQP connector + +[NOTE] +==== + +You don’t need to set the _address_. By default, it uses the channel +name (`prices`). You can configure the `address` attribute to override +it. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpPriceMessageProducer.java[indent=0] +---- + +== Serialization + +When receiving a `Message++<++T++>++`, the connector convert the message into an +AMQP Message. The payload is converted to the AMQP Message _body_. + +[width="100%",cols="50%,50%",options="header",] +|=== +|`T` |AMQP Message Body +|primitive types or `String` |AMQP Value with the payload +|`Instant` or `UUID` |AMQP Value using the corresponding AMQP Type +|https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] or https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`] |AMQP Data using a binary content. The `content-type` is set to `application/json` +|`io.vertx.mutiny.core.buffer.Buffer` |AMQP Data using a binary content. No `content-type` set +|Any other class |The payload is converted to JSON (using a Json Mapper). The result is wrapped into AMQP Data using a *binary* content. The `content-type` is set to `application/json` +|=== + +If the message payload cannot be serialized to JSON, the message is +_nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/OutgoingAmqpMetadata.html[`OutgoingAmqpMetadata`] +to influence how the message is going to be sent to AMQP. For example, you +can configure the subjects, properties: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Dynamic address names + +Sometimes it is desirable to select the destination of a message +dynamically. In this case, you should not configure the address inside +your application configuration file, but instead, use the outbound +metadata to set the address. + +For example, you can send to a dynamic address based on the incoming +message: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpOutboundDynamicAddressExample.java[tags=code,indent=0] +---- + +[NOTE] +==== + +To be able to set the address per message, the connector is using an +_anonymous sender_. + +==== + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +broker acknowledged the message. When using routers, this +acknowledgement may not be enabled. In this case, configure the +`auto-acknowledgement` attribute to acknowledge the message as soon as +it has been sent to the router. + +If an AMQP message is rejected/released/modified by the broker (or +cannot be sent successfully), the message is nacked. + +== Back Pressure and Credits + +The back-pressure is handled by the `max-inflight-messages` attribute and AMQP _credits_. +The outbound connector requests messages minimum between `max-inflight-messages` and credits allowed by the broker. +When the amount of credits reaches 0, it waits (in a non-blocking fashion) until the broker grants more credits to the AMQP sender. + +When `max-inflight-messages` is set to 0, only AMQP credits apply to limit the requests. + +Note that if an AMQP message send fails, it is retried until `retry-on-fail-attempts` is reached. +If the client reconnects to the broker during the retry, failing messages are sent again but the message order is not preserved. + +To preserve the message order in this case you can set `max-inflight-messages` to + +== Configuration Reference + +include::{generated-dir}/smallrye-amqp-outgoing.adoc[indent=0] + +You can also pass any property supported by the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP +client] as attribute. + +== Using existing destinations + +To use an existing _address_ or _queue_, you need to configure the +`address`, `container-id` and, optionally, the `link-name` attributes. +For example, if you have an Apache Artemis broker configured with: + +[source,xml] +---- + + +
      people
      + true + artemis +
      +
      +---- + +You need the following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people.connector=smallrye-amqp +mp.messaging.outgoing.people.durable=true +mp.messaging.outgoing.people.address=people +mp.messaging.outgoing.people.container-id=people +---- + +You may need to configure the `link-name` attribute, if the queue name +is not the channel name: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.durable=true +mp.messaging.outgoing.people-out.address=people +mp.messaging.outgoing.people-out.container-id=people +mp.messaging.outgoing.people-out.link-name=people +---- + +To use a `MULTICAST` queue, you need to provide the _FQQN_ +(Fully-qualified queue name) instead of just the name of the queue: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.durable=true +mp.messaging.outgoing.people-out.address=foo +mp.messaging.outgoing.people-out.container-id=foo + +mp.messaging.incoming.people-out.connector=smallrye-amqp +mp.messaging.incoming.people-out.durable=true +mp.messaging.incoming.people-out.address=foo::bar # Note the syntax: address-name::queue-name +mp.messaging.incoming.people-out.container-id=bar +mp.messaging.incoming.people-out.link-name=people +---- + +More details about the AMQP Address model can be found on https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html[the Artemis +documentation]. + +== Sending Cloud Events + +The AMQP connector supports https://cloudevents.io/[Cloud Events]. The +connector sends the outbound record as Cloud Events if: + +* the message metadata contains an +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` +instance, +* the channel configuration defines the `cloud-events-type` and +`cloud-events-source` attributes. + +You can create +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` instances +using: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpCloudEventProcessor.java[indent=0] +---- + +If the metadata does not contain an id, the connector generates one +(random UUID). The `type` and `source` can be configured per message or +at the channel level using the `cloud-events-type` and +`cloud-events-source` attributes. Other attributes are also +configurable. + +The metadata can be contributed by multiple methods, however, you must +always retrieve the already existing metadata to avoid overriding the +values: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpCloudEventMultipleProcessors.java[indent=0] +---- + +By default, the connector sends the Cloud Events using the _binary_ +format. You can write _structured_ Cloud Events by setting the +`cloud-events-mode` to `structured`. Only JSON is supported, so the +created records had its `content-type` header set to +`application/cloudevents{plus}json; charset=UTF-8` + +[NOTE] +==== + +you can disable the Cloud Event support by setting the `cloud-events` +attribute to `false` + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/camel/camel-processor.adoc b/content/docs/smallrye-reactive-messaging/latest/camel/camel-processor.adoc new file mode 100644 index 000000000..20327120f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/camel/camel-processor.adoc @@ -0,0 +1,37 @@ += The processor pattern using Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Using the processor pattern, you can consume on a channel using a Camel +component, and produce on a channel using another Camel component. In +that case, the headers present in the incoming metadata will be +forwarded in the outgoing metadata. + +== Example + +Let’s imagine you want to read messages from a Nats subject, process it +and produce a message on a Kafka topic. + +[source,properties] +---- +mp.messaging.incoming.mynatssubject.connector=smallrye-camel # <1> +mp.messaging.incoming.mynatssubject.endpoint-uri=nats:mynatssubject # <2> +mp.messaging.outgoing.mykafkatopic.connector=smallrye-camel # <3> +mp.messaging.outgoing.mykafkatopic.endpoint-uri=kafka:mykafkatopic# <4> + +camel.component.nats.servers=127.0.0.1:5555 # <5> +camel.component.kafka.brokers=127.0.0.1:9092 # <6> +---- + +[arabic] +. Sets the connector for the `mynatssubject` channel +. Configures the `endpoint-uri` for nats subject +. Sets the connector for the `mykafkatopic` channel +. Configures the `endpoint-uri` for the kafka topic +. Sets the URL of the nats server to use +. Sets the URL of a kafka broker to use + +[source,java] +---- +include::{examples-dir}/camel/processor/CamelProcessor.java[indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/camel/camel.adoc b/content/docs/smallrye-reactive-messaging/latest/camel/camel.adoc new file mode 100644 index 000000000..00eb2828e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/camel/camel.adoc @@ -0,0 +1,75 @@ += Apache Camel Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Camel connector adds support for Apache Camel to Reactive Messaging. + +https://camel.apache.org/[Camel] is an open source integration +framework let you integrate various systems consuming or producing data. +Camel implements the Enterprise Integration Patterns and provides +several hundred of components used to access databases, message queues, +APIs or basically https://camel.apache.org/components/latest/[anything under the +sun]. + +[IMPORTANT] +==== + +Smallrye Reactive Messaging 4.x moved from `javax` to `jakarta` APIs therefore only supports Camel 4 releases. +Similarly, this connector drops the Java 11 support as this is the case for Camel 4. + +==== + +== Introduction + +Camel is not a messaging broker. But, it allows your Reactive Messaging +application to retrieve data from almost anything and send data to +almost anything. + +So if you want to send Reactive Messaging `Message` to Telegram or +retrieve data from Salesforce or SAP, this is the connector you need. + +One of the Camel cornerstone is the `endpoint` and its `uri` encoding +the connection to an external system. For example, +`file:orders/?delete=true&charset=utf-8` instructs Camel to read the +files from the `orders` directory. URI format and parameters are listed +on the component documentation, such as the https://camel.apache.org/components/latest/file-component.html[File +component]. + +== Using the camel connector + +To you the camel Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-camel + {project-version} + +---- + +You will also need the dependency of the Camel component you are using. +For example, if you want to process files, you would need to add the +Camel File Component artifact: + +[source,xml,subs="attributes+"] +---- + + org.apache.camel + camel-file + {camel-version} + +---- + +The connector name is: `smallrye-camel`. + +So, to indicate that a channel is managed by this connector you need: + +.... +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-camel + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-camel +.... diff --git a/content/docs/smallrye-reactive-messaging/latest/camel/receiving-messages-from-camel.adoc b/content/docs/smallrye-reactive-messaging/latest/camel/receiving-messages-from-camel.adoc new file mode 100644 index 000000000..65338aedc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/camel/receiving-messages-from-camel.adoc @@ -0,0 +1,89 @@ += Retrieving data using Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Camel provides many components. To keep this documentation focused on +the integration with Camel, we use the https://camel.apache.org/components/latest/file-component.html[File +component]. +This component let use read files from a directory. So the connector +configured with this component creates a `Message` for each file located +in the directory. As soon as a file is dropped in the directory, a new +`Message` is created. + +== Example + +Let’s imagine you want to read the files from the `orders` directory and +send them to the `files` channel. Configuring the Camel connector to +gets the _file_ from this directory only requires 2 properties: + +[source,properties] +---- +mp.messaging.incoming.files.connector=smallrye-camel # <1> +mp.messaging.incoming.files.endpoint-uri=file:orders/?delete=true&charset=utf-8 # <2> +---- + +[arabic] +. Sets the connector for the `files` channel +. Configures the `endpoint-uri` + +Then, your application receives `Message++<++GenericFile++<++File++>>++`. + +[NOTE] +==== + +The Camel File component produces +`org.apache.camel.component.file.GenericFile` instances. You can +retrieve the actual `File` using `getFile()`. + +==== + +You can consume the payload directly: + +[source,java] +---- +include::{examples-dir}/camel/inbound/CamelFileConsumer.java[indent=0] +---- + +You can also retrieve the `Message++<++GenericFile++<++File++>>++`: + +[source,java] +---- +include::{examples-dir}/camel/inbound/CamelFileMessageConsumer.java[indent=0] +---- + +== Deserialization + +Each Camel component is producing specific objects. As we have seen, the +File component produces `GenericFile`. + +Refer to the component documentation to check which type is produced. + +== Inbound Metadata + +Messages coming from Camel contains an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-camel/{javadoc-version}/io/smallrye/reactive/messaging/camel/IncomingExchangeMetadata.html[`IncomingExchangeMetadata`] +in the metadata. + +[source,java] +---- +include::{examples-dir}/camel/inbound/IncomingCamelMetadataExample.java[indent=0] +---- + +This object lets you retrieve the Camel `Exchange`. + +== Failure Management + +If a message produced from a Camel exchange is _nacked_, a failure +strategy is applied. The Camel connector supports 3 strategies: + +* `fail` - fail the application, no more MQTT messages will be +processed. (default) The offset of the record that has not been +processed correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. + +In both cases, the `exchange` is marked as rollback only and the nack +reason is attached to the exchange. + +== Configuration Reference + +include::{generated-dir}/smallrye-camel-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/latest/camel/sending-messages-to-camel.adoc b/content/docs/smallrye-reactive-messaging/latest/camel/sending-messages-to-camel.adoc new file mode 100644 index 000000000..8bf614150 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/camel/sending-messages-to-camel.adoc @@ -0,0 +1,76 @@ += Sending data with Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can use the Camel connector to send data to almost any type of +system. + +To keep this document focused on the Camel connector, we use the Camel +File component. However, the connector can be used with any Camel +component. + +== Example + +Let’s imagine you want to write generated prices into files. Configure +your application to write the messages from the `prices` channel into a +files as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-camel # <1> +mp.messaging.outgoing.prices.endpoint-uri=file:prices/?fileName=${date:now:yyyyMMddssSS}.txt&charset=utf-8 # <2> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the `endpoint-uri` to write into files in the `prices` +directory + +[IMPORTANT] +==== + +Depending on your implementation of MicroProfile Reactive Messaging, the +`$` may need to be escaped as follows: `$$++{++...}` + +==== + +Then, your application must send `Message++<++String++>++` to the `prices` +channel. It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The serialization is handled by the Camel component. Refer to the Camel +documentation to check which payload type is supported by the component. + +== Outbound Metadata + +When sending `Messages`, you can add an instance +of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-camel/{javadoc-version}/io/smallrye/reactive/messaging/camel/OutgoingExchangeMetadata.html[`OutgoingExchangeMetadata`] +to the message metadata. You can then influence how the outbound Camel +`Exchange` is created, for example by adding properties: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +The incoming messages are acknowledged when the underlying Camel +exchange completes. If the exchange fails, the message is nacked. + +== Configuration Reference + +include::{generated-dir}/smallrye-camel-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/latest/camel/using-existing-routes.adoc b/content/docs/smallrye-reactive-messaging/latest/camel/using-existing-routes.adoc new file mode 100644 index 000000000..ed8b2cfd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/camel/using-existing-routes.adoc @@ -0,0 +1,67 @@ += Using the Camel API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Camel connector is based on the https://camel.apache.org/components/latest/reactive-streams-component.html[Reactive Streams +support] +from Camel. If you have an application already using the Camel API +(routes, `from`...), you can integrate it with Reactive Messaging. + +== Getting the CamelReactiveStreamsService + +Once you add the Camel connector to your application, you can retrieve +the +`org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService` +object: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=reactive,indent=0] +---- + +This `CamelReactiveStreamsService` lets you create `Publisher` and +`Subscriber` instances from existing routes. + +== Using Camel Route with @Outgoing + +If you have an existing Camel route, you can transform it as a +`Publisher` using the `CamelReactiveStreamsService`. Then, you can +return this `Publisher` from a method annotated with `@Outgoing`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source,indent=0] +---- + +You can also expose a `RouteBuilder` bean, making sure to use the `Singleton` scope, +as `RouteBuilder` is no longer proxyable: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source-route-builder,indent=0] +---- + +Alternatively you can use the `LambdaRouteBuilder`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source-lambda-route-builder,indent=0] +---- + +Using Camel Route with @Incoming + +If you have an existing Camel route, you can transform it as a +`Subscriber` using the `CamelReactiveStreamsService`. Then, you can +return this `Subscriber` from a method annotated with `@Incoming`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=sink,indent=0] +---- + +You can also use a producer: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=producer,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/acknowledgement.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/acknowledgement.adoc new file mode 100644 index 000000000..782ec0e81 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/acknowledgement.adoc @@ -0,0 +1,183 @@ += Acknowledgement +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Acknowledgment is an essential concept in messaging. A message is +acknowledged when its processing or reception has been successful. It +allows the broker to move to the next message. + +How acknowledgment is used, and the exact behavior in terms of retry and +resilience depends on the broker. For example, for Kafka, it would +commit the offset. For AMQP, it would inform the broker that the message +has been _accepted_. + +Reactive Messaging supports acknowledgement. The default acknowledgement +depends on the method signature. Also, the acknowledgement policy can be +configured using the `@Acknowledgement` annotation. + +== Chain of acknowledgment + +If we reuse this example: + +[source,java] +---- +include::{examples-dir}/beans/Chain.java[tags=chain,indent=0] +---- + +The framework automatically acknowledges the message received from the +`sink` channel when the `consume` method returns. As a consequence, the +message received by the `process` method is acknowledged, and so on. In +other words, it creates a chain of acknowledgement - from the outbound +channel to the inbound channel. + +When using connectors to receive and consume messages, the outbound +connector acknowledges the messages when they are dispatched +successfully to the broker. The acknowledgment chain would, as a result, +acknowledges the inbound connector, which would be able to send an +acknowledgment to the broker. + +This chain of acknowledgment is automatically implemented when +processing payloads. + +== Acknowledgment when using Messages + +When using `Messages`, the user controls the acknowledgment, and so the +chain is not formed automatically. It gives you more flexibility about +when and how the incoming messages are acknowledged. + +If you create a `Message` using the `with` method, is copy the +acknowledgment function from the incoming message: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=with-payload,indent=0] +---- + +To have more control over the acknowledgment, you can create a brand new +`Message` and pass the acknowledgment function: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=message-creation,indent=0] +---- + +However, you may need to create the acknowledgment chain, to acknowledge +the incoming message: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=process,indent=0] +---- + +To trigger the acknowledgment of the incoming message, use the `ack()` +method. It returns a `CompletionStage`, receiving `null` as value when +the acknowledgment has completed. + +== Acknowledgment when using streams + +When transforming streams of `Message`, the acknowledgment is delegated +to the user. It means that it’s up to the user to acknowledge the +incoming messages: + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=message,indent=0] +---- + +In the previous example, we only generate a single message per incoming +message so that we can use the `with` method. It becomes more +sophisticated when grouping incoming messages or when each incoming +message produces multiple messages. + +In the case of a stream of payloads, the default strategy acknowledges +the incoming messages before being processed by the method (regardless +of the outcome). + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=payload,indent=0] +---- + +For method receiving a single payload and producing a stream of payloads, it defaults to pre-processing acknowledgement. +However, in this case, post-processing is supported. +It waits for all the produced messages to be acknowledged before acknowledging the received one. +If one of the produced message is nacked, the received one is nacked immediately. + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=payload-to-multi,indent=0] +---- + +== Controlling acknowledgement + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Acknowledgment.html[`Acknowledgment`] +annotation lets you customize the default strategy presented in the +previous sections. The `@Acknowledgement` annotation takes a _strategy_ +as parameter. Reactive Messaging proposed 4 strategies: + +* `POST++_++PROCESSING` - the acknowledgement of the incoming message is +executed once the produced message is acknowledged. +* `PRE++_++PROCESSING` - the acknowledgement of the incoming message is +executed before the message is processed by the method. +* `MANUAL` - the acknowledgement is done by the user. +* `NONE` - No acknowledgment is performed, neither manually or +automatically. + +It is recommended to use `POST++_++PROCESSING` as it guarantees that the +full processing has completed before acknowledging the incoming message. +However, sometimes it’s not possible, and this strategy is not available +if you manipulate streams of `Messages` or payloads. + +The `PRE++_++PROCESSING` strategy can be useful to acknowledge a message +early in the process: + +[source,java] +---- +include::{examples-dir}/ack/PreAckExamples.java[tags=pre,indent=0] +---- + +It cuts the acknowledgment chain, meaning that the rest of the +processing is not linked to the incoming message anymore. This strategy +is the default strategy when manipulating streams of payloads. + +Refer to the xref:concepts/signatures.adoc[signature list] to determine +which strategies are available for a specific method signature and +what’s the default strategy. + +== Negative acknowledgement + +Messages can also be _nacked_, which indicates that the message was not +processed correctly. The `Message.nack` method indicates failing +processing (and supply the reason), and, as for successful +acknowledgment, the _nack_ is propagated through the chain of messages. + +If the message has been produced by a connector, this connector +implements specific behavior when receiving a _nack_. It can fail +(default), or ignore the failing, or implement a dead-letter queue +mechanism. Refer to the connector documentation for further details +about the available strategies. + +If the message is sent by an emitter using the `send(P)` method, the +returned `CompletionStage` is completed _exceptionally_ with the _nack_ +reason. + +[source,java] +---- +include::{examples-dir}/ack/NackOnEmitter.java[tags=emitter,indent=0] +---- + +Negative acknowledgment can be manual or automatic. If your method +handles instances of `Message` and the acknowledgment strategy is +`MANUAL`, you can nack a message explicitly. You must indicate the +reason (an exception) when calling the `nack` method. As for successful +acknowledgment, the `nack` returns a `CompletionStage` completed when +the `nack` has been processed. + +If your method uses the `POST++_++PROCESSING` acknowledgment strategy, and +the method fails (either by throwing an exception or by producing a +failure), the message is automatically nacked with the caught exception: + +[source,java] +---- +include::{examples-dir}/ack/AutoNack.java[tags=auto-nack,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/advanced-config.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/advanced-config.adoc new file mode 100644 index 000000000..89aa2cd08 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/advanced-config.adoc @@ -0,0 +1,43 @@ += Advanced configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Strict Binding Mode + +By default, SmallRye Reactive Messaging does not enforce whether all +_mediators_ are connected. It just prints a warning message. The strict +mode fails the deployment if some "incomings" are not bound to +"outgoings". To enable this mode, you can pass the +`-Dsmallrye-messaging-strict-binding=true` via the command line, or you +can set the `smallrye-messaging-strict-binding` attribute to `true` in +the configuration: + +[source,text] +---- +smallrye-messaging-strict-binding=true +---- + +== Disabling channels + +You can disable a channel in the configuration by setting the `enabled` +attribute to `false`: + +[source,text] +---- +mp.messaging.outgoing.dummy-sink.connector=dummy +mp.messaging.outgoing.dummy-sink.enabled=false # Disable this channel +---- + +SmallRye Reactive Messaging does not register disabled channels, so make +sure the rest of the application does not rely on them. + +== Publisher metrics + +SmallRye Reactive Messaging integrates MicroProfile Metrics and +Micrometer for registering counter metrics (named +`mp.messaging.message.count`) of published messages per channel. + +Both MicroProfile and Micrometer publisher metrics are enabled by +default if found on the classpath. They can be disabled with +`smallrye.messaging.metrics.mp.enabled` and +`smallrye.messaging.metrics.micrometer.enabled` properties respectively. diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/blocking.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/blocking.adoc new file mode 100644 index 000000000..078af3ac4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/blocking.adoc @@ -0,0 +1,105 @@ += @Blocking +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.reactive.messaging.annotations.Blocking` annotation can +be used on a method annotated with `@Incoming`, or `@Outgoing` to +indicate that the method should be executed on a worker pool: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking +public String process(String s) { + return s.toUpperCase(); +} +---- + +If method execution does not need to be ordered, it can be indicated on +the `@Blocking` annotation: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking(ordered = false) +public String process(String s) { + return s.toUpperCase(); +} +---- + +When unordered, the invocation can happen concurrently. + +By default, use of `@Blocking` results in the method being executed in +the Vert.x worker pool. If it’s desired to execute methods on a custom +worker pool, with specific concurrency needs, it can be defined on +`@Blocking`: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking("my-custom-pool") +public String process(String s) { + return s.toUpperCase(); +} +---- + +Specifying the concurrency for the above worker pool requires the +following configuration property to be defined: + +.... +smallrye.messaging.worker.my-custom-pool.max-concurrency=3 +.... + +== Custom worker pool shutdown timeout + +When using a custom worker pool, it is possible to define a shutdown timeout in order to wait for the scheduled tasks to complete before shutting down the pool. +This can be done by setting the following configuration property: + +[source,properties] +---- +smallrye.messaging.worker.my-custom-pool.max-concurrency=3 +smallrye.messaging.worker.my-custom-pool.shutdown-timeout=10000 +smallrye.messaging.worker.my-custom-pool.shutdown-check-interval=2000 +---- + +The `shutdown-timeout` property defines the maximum time to wait in milliseconds for the scheduled tasks to complete before shutting down the pool, defaults to 60 seconds. +The `shutdown-check-interval` property defines the interval in milliseconds at which the pool will check if the tasks have completed, defaults to 5 seconds. + +== Supported signatures + +`@Blocking` does not support every signature. The following table lists +the supported ones. + +[width="100%",cols="7%,36%,57%",options="header",] +|=== +|Shape |Signature |Comment +|Publisher |`@Outgoing("in") @Blocking O generator()` |Invokes the generator from a worker thread. If `ordered` is set to `false`, the generator can be called concurrently. +|Publisher |`@Outgoing("in") @Blocking Message++<++O++>++ generator()` |Invokes the generator from a worker thread. If `ordered` is set to `false`, the generator can be called concurrently. +|Processor |`@Incoming("in") @Outgoing("bar") @Blocking O process(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Processor |`@Incoming("in") @Outgoing("bar") @Blocking Message++<++O++>++ process(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking void consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking Uni++<++Void++>++ consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking Uni++<++Void++>++ consume(Message++<++I++>++ msg)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking CompletionStage++<++Void++>++ consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking CompletionStage++<++Void++>++ consume(Message++<++I++>++ msg)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|=== + +When a method can be called concurrently, the max concurrency depends on +the number of threads from the worker thread pool. + +== Using io.smallrye.common.annotation.Blocking + +`io.smallrye.common.annotation.Blocking` is another annotation with the +same semantic. `io.smallrye.common.annotation.Blocking` is used by +multiple SmallRye projects and Quarkus. + +SmallRye Reactive Messaging also supports +`io.smallrye.common.annotation.Blocking`. However, +`io.smallrye.common.annotation.Blocking` does not allow configuring the +ordering (it defaults to `ordered=true`). + +When both annotations are used, +`io.smallrye.reactive.messaging.annotations.Blocking` is preferred. diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/broadcast.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/broadcast.adoc new file mode 100644 index 000000000..a10dc2c86 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/broadcast.adoc @@ -0,0 +1,49 @@ += Broadcast +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`@Broadcast` is an experimental feature. + +==== + +By default, messages transiting in a channel are only dispatched to a +single consumer. Having multiple consumers is considered as an error, +and is reported at deployment time. + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/annotations/Broadcast.html[`Broadcast`] +annotation changes this behavior and indicates that messages transiting +in the channel are dispatched to all the consumers. `@Broadcast` must be +used with the `@Outgoing` annotation: + +[source,java] +---- +include::{examples-dir}/broadcast/BroadcastExamples.java[tags=chain,indent=0] +---- + +In the previous example, both consumers get the messages. + +You can also control the number of consumers to wait before starting to +dispatch the messages. This allows waiting for the complete graph to be +woven: + +[source,java] +---- +include::{examples-dir}/broadcast/BroadcastWithCountExamples.java[tags=chain,indent=0] +---- + +[NOTE] +==== + +Inbound connectors also support a `broadcast` attribute that allows +broadcasting the messages to multiple downstream subscribers. + +==== + +Use with Emitter + +For details on how to use `@Broadcast` with `Emitter` see the +xref:concepts/emitter.adoc#emitter-and-broadcast[documentation]. diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/client-customizers.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/client-customizers.adoc new file mode 100644 index 000000000..2ca59c240 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/client-customizers.adoc @@ -0,0 +1,28 @@ += Client Customizers +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Client customizers allow to customize the client instance created by the connector. +Only connectors which create their own client instance support customizers. + +To define a client customizer, you need to provide a CDI bean that implements the `ClientCustomizer++<++T++>++` interface, +parameterized with the config type: + +[source,java] +---- +include::{examples-dir}/customizers/MyClientCustomizer.java[indent=0] +---- + +Connectors which support client customizers will discover all beans and call the `customize` method, +with the _channel name_, the _channel configuration_ and the configuration that'll be used to create the client instance. +If the customizer returns `null` it'll be skipped. + +If you have multiple customizers, customizers can override the `getPriority` method to define the order in which they are called. + +Currently, the following core connectors support client customizers: + +* Kafka: `ClientCustomizer++<++Map++<++String, Object++>>++` +* RabbitMQ: `ClientCustomizer++<++RabbitMQOptions++>++` +* AMQP 1.0: `ClientCustomizer++<++AmqpClientOptions++>++` +* MQTT: `ClientCustomizer++<++MqttClientSessionOptions++>++` +* Pulsar: `ClientCustomizer++<++ClientBuilder++>++`, `ClientCustomizer++<++ConsumerBuilder++<++?++>>++`, `ClientCustomizer++<++ProducerBuilder++<++?++>>++` diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/concepts.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/concepts.adoc new file mode 100644 index 000000000..2f3b413e8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/concepts.adoc @@ -0,0 +1,100 @@ += Concepts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +When dealing with event-driven or data streaming applications, there are +a few concepts and vocabulary to introduce. + +== Messages, Payload, Metadata + +A `Message` is an _envelope_ around a `payload`. Your application is +going to receive, process, and send `Messages`. + +Your application’s logic can generate these `Messages` or receive them +from a message broker. They can also be consumed by your application or +sent to a message broker. + +.An application can receive a message, process it and send a resulting message +[.has-dark] +image::images/messages.png[An application can receive a message, process it and send a resulting message] + +In Reactive Messaging, `Message` are represented by the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/eclipse/microprofile/reactive/messaging/Message.html[`Message`] interface. +Each `Message++<++T++>++` contains a _payload_ of type `++<++T++>++`. This payload can be retrieved using `message.getPayload()`: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=message,indent=0] +---- + +As you can see in the previous snippet, `Messages` can also have +_metadata_. _Metadata_ is a way to extend messages with additional data. +It can be metadata related to the message broker +(like link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/KafkaMessageMetadata.html[`KafkaMessageMetadata`]), or contain operational data (such as tracing metadata), or business-related data. + +[NOTE] +==== + +When retrieving metadata, you get an `Optional` as it may not be present. + +==== + +[TIP] +==== + +Metadata is also used to influence the outbound dispatching (how the message will be sent to the broker). + +==== + +== Channels and Streams + +Inside your application, `Messages` transit on _channel_. A _channel_ is +a virtual destination identified by a name. + +.The application is a set of channels +[.has-dark] +image::images/channels.png[The application is a set of channels] + +SmallRye Reactive Messaging connects the component to the channel they read and to the channel they populate. +The resulting structure is a stream: Messages flow between components through channels. + +[NOTE] +.What about Reactive Streams? +==== + +You may wonder why _Reactive Messaging_ has _Reactive_ in the name. The +Messaging part is kind of obvious. The Reactive part comes from the +streams that are created by binding components. These streams are +https://www.reactive-streams.org/[Reactive Streams]. They follow the +subscription and request protocol and implement back-pressure. It also +means that xref:#connectors[Connectors] are intended to use non-blocking IO +to interact with the various message brokers. + +==== + +== Connectors + +Your application is interacting with messaging brokers or event backbone using _connectors_. +A _connector_ is a piece of code that connects to a broker and: + +[arabic] +. subscribe/poll/receive messages from the broker and propagate them to the application +. send/write/dispatch messages provided by the application to the broker + +Connectors are configured to map incoming messages to a specific +_channel_ (consumed by the application) and collect outgoing messages +sent to a specific channel. These collected messages are sent to the +external broker. + +.Connectors manages the communication between the application and the brokers +[.has-dark] +image::images/connectors.png[Connectors manages the communication between the application and the brokers] + +Each connector is dedicated to a specific technology. +For example, a Kafka Connector only deals with Kafka. + +You don’t necessarily need a connector. +When your application does not use connectors, everything happens _in-memory_, and the streams are created by chaining methods altogether. +Each chain is still a reactive stream and enforces the back-pressure protocol. +When you don’t use connectors, you need to make sure the chain is complete, meaning it starts with a message source, and it ends with a sink. +In other words, you need to generate messages from within the application (using a method with only `@Outgoing`, or an `Emitter`) and consume the messages +from within the application (using a method with only `@Incoming` or using an unmanaged stream). diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/connectors.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/connectors.adoc new file mode 100644 index 000000000..5a10eafca --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/connectors.adoc @@ -0,0 +1,199 @@ += Connectors +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Reactive Messaging can handle messages generated from within the +application but also interact with remote _brokers_. Reactive Messaging +Connectors interacts with these remote _brokers_ to retrieve messages +and send messages using various protocols and technology. + +Each connector handles to a specific technology. For example, a Kafka +Connector is responsible for interacting with Kafka, while an MQTT +Connector is responsible for MQTT interactions. + +== Connector name + +Each connector has a name. This name is referenced by the application to +indicate that this connector manages a specific channel. + +For example, the SmallRye Kafka Connector is named: `smallrye-kafka`. + +== Inbound and Outbound connectors + +Connector can: + +[arabic] +. retrieve messages from a remote broker (inbound) +. send messages to a remote broker (outbound) + +A connector can, of course, implement both directions. + +Inbound connectors are responsible for: + +[arabic] +. Getting messages from the remote broker, +. Creating a Reactive Messaging `Message` associated with the +retrieved message. +. Potentially associating technical metadata with the message. It +includes unmarshalling the payload. +. Associating an acknowledgment callback to acknowledge the incoming +message when the Reactive Messaging message is +processed/acknowledged. + +[IMPORTANT] +.Reactive matters +==== + +The first step should follow the reactive streams principle: uses +non-blocking technology, respects downstream requests. + +==== + +Outbound connectors are responsible for: + +[arabic] +. Receiving Reactive Messaging `Message` and transform it into a +structure understood by the remote broker. It includes marshaling +the payload. +. If the `Message` contains outbound metadata (metadata set during the +processing to influence the outbound structure and routing), taking +them into account. +. Sending the message to the remote broker. +. Acknowledging the Reactive Messaging `Message` when the broker has +accepted/acknowledged the message. + +== Configuring connectors + +Applications need to configure the connector used by expressing which +channel is managed by which connector. Non-mapped channels are local / +in-memory. + +To configure connectors, you need to have an implementation of +MicroProfile Config. If you don’t have one, add an implementation of +MicroProfile Config in your _classpath_, such as: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config + {smallrye-config-version} + +---- + +Then edit the application configuration, generally +`src/main/resources/META-INF/microprofile-config.properties`. + +The application configures the connector with a set of properties +structured as follows: + +.... +mp.messaging.[incoming|outgoing].[channel-name].[attribute]=[value] +.... + +For example: + +.... +mp.messaging.incoming.dummy-incoming-channel.connector=dummy +mp.messaging.incoming.dummy-incoming-channel.attribute=value +mp.messaging.outgoing.dummy-outgoing-channel.connector=dummy +mp.messaging.outgoing.dummy-outgoing-channel.attribute=value +.... + +You configure each channel (both incoming and outgoing) individually. + +The `++[++incoming++|++outgoing++]++` segment indicates the direction. + +* an `incoming` channel consumes data from a message broker or +something producing data. It’s an inbound interaction. It relates to +methods annotated with an `@Incoming` using the same channel name. +* an `outgoing` consumes data from the application and forwards it to +a message broker or something consuming data. It’s an outbound +interaction. It relates to methods annotated with an `@Outgoing` +using the same channel name. + +The `++[++channel-name++]++` is the name of the channel. If the channel name +contains a `.` (dot), you would need to use `"` (double-quote) around +it. For example, to configure the `dummy.incoming.channel` channel, you +would need: + +.... +mp.messaging.incoming."dummy.incoming.channel".connector=dummy +mp.messaging.incoming."dummy.incoming.channel".attribute=value +.... + +The `++[++attribute++]++=++[++value++]++` sets a specific connector attribute to the +given value. Attributes depend on the used connector. So, refer to the +connector documentation to check the supported attributes. + +The `connector` attribute must be set for each mapped channel and +indicates the name of the connector responsible for the channel. + +Here is an example of a channel using an MQTT connector, consuming data +from a MQTT broker, and a channel using a Kafka connector (writing data +to Kafka): + +[source,properties] +---- +# Configure the incoming health channel +mp.messaging.incoming.health.topic=neo +mp.messaging.incoming.health.connector=smallrye-mqtt +mp.messaging.incoming.health.host=localhost +mp.messaging.incoming.health.broadcast=true + +# Configure outgoing data channel +mp.messaging.outgoing.data.connector=smallrye-kafka +mp.messaging.outgoing.data.bootstrap.servers=localhost:9092 +mp.messaging.outgoing.data.key.serializer=org.apache.kafka.common.serialization.StringSerializer +mp.messaging.outgoing.data.value.serializer=io.vertx.kafka.client.serialization.JsonObjectSerializer +mp.messaging.outgoing.data.acks=1 +---- + +[IMPORTANT] +==== + +To use a connector, you need to add it to your _CLASSPATH_. Generally, +adding the dependency to your project is enough. Then, you need to know +the connector’s name and set the `connector` attribute for each channel +managed by this connector. + +==== + +[TIP] +.Connector names +==== + +Connector managed by the SmallRye Reactive Messaging project are typically +prefixed with `smallrye-`. For example, the SmallRye Kafka Connector is +named `smallrye-kafka`. When using Smallrye connectors, you can omit the +prefix and just use `kafka` as the connector name: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=kafka +mp.messaging.connector.kafka.bootstrap.servers=localhost:9092 +---- + +==== + +== Connector attribute table + +In the connector documentation, you will find a table listing the +attribute supported by the connector. Be aware that attributes for +inbound and outbound interactions may be different. + +These tables contain the following entries: + +[arabic] +. The name of the attribute, and potentially an _alias_. The name of +the attribute is used with the +`mp.messaging.++[++incoming++|++outgoing++]++.++[++channel-name++]++.++[++attribute++]++=++[++value++]++` +syntax (the `attribute` segment). The _alias_ (if set) is the name +of a global MicroProfile Config property that avoids having to +configure the attribute for each managed channel. For example, to +set the location of your Kafka broker globally, you can use the +`kafka.bootstrap.servers` alias. +. The description of the attribute, including the type. +. Whether that attribute is mandatory. If so, it fails the +deployment if not set +. The default value, if any. diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/contributing-connectors.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/contributing-connectors.adoc new file mode 100644 index 000000000..2af522fc2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/contributing-connectors.adoc @@ -0,0 +1,457 @@ += Connector Contribution Guide +:version-root: ../ +include::{version-root}_attributes.adoc[] + +A connector implementation is a CDI-managed bean, typically an `@ApplicationScoped` bean, +which is identified by the `@Connector` identifier. +In order to provide inbound and outbound channels, the connector implements two interfaces `InboundConnector` and `OutboundConnector` respectively. +In addition to that, the connector bean is annotated with `@ConnectorAttribute`, which describes attributes to configure channels. + +[NOTE] +.Maven Archetype +==== + +Smallrye Reactive Messaging provides a Maven archetype to bootstrap a new connector. +You can generate a new connector project with the code described in this guide using: + +[source,shell,subs="attributes+"] +---- +mvn -N archetype:generate \ +-DarchetypeGroupId=io.smallrye.reactive \ +-DarchetypeArtifactId=smallrye-reactive-messaging-connector-archetype \ +-DarchetypeVersion={project-version} \ +-DgroupId=io.smallrye.reactive \ +-Dpackage=io.smallrye.reactive.messaging.my \ +-Dversion={project-version} \ +-DartifactId=smallrye-reactive-messaging-my \ +-DconnectorName=my +---- + +==== + +The following is an example of a connector skeleton : + +[source,java] +---- +include::{examples-dir}/connectors/MyConnector.java[indent=0] +---- + +Note that the `getPublisher` and `getSubscriber` methods receive MicroProfile Config `Config` instance and wrap it with +`MyConnectorIncomingConfiguration` and `MyConnectorOutgoingConfiguration` objects. + +These custom channel configuration types ease getting channel configuration, including the optional or default values. +They are generated by the `smallrye-connector-attribute-processor` annotation processor, and can be configured in project pom like the following: + +[source,xml] +---- + + + ${project.groupId} + smallrye-reactive-messaging-provider + ${project.version} + + + io.smallrye.reactive + smallrye-connector-attribute-processor + ${project.version} + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${project.build.directory}/generated-sources/ + + + io.smallrye.reactive.messaging.connector.ConnectorAttributeProcessor + + + org.jboss.logging.processor.apt.LoggingToolsProcessor + + + + + + +---- + +The `smallrye-reactive-messaging-provider` is the minimum required dependency for a connector implementation. +You'll also note that the `LoggingToolsProcessor` annotation processor is also configured. +This enables generating internationalized log statements and exceptions. +Typically, you would create following interfaces in `i18n` sub-package: `++[++Connector++]++Exceptions`, `++[++Connector++]++Logging` and `++[++Connector++]++Messages`. +More information can be found in https://jboss-logging.github.io/jboss-logging-tools/[JBoss Logging Tools documentation]. + +== Implementing Inbound Channels + +The `InboundConnector` implementation returns, for a given channel configuration, a reactive stream of `Message`s. +The returned reactive stream is an instance of `Flow.Publisher` and typically can be implemented using Mutiny `Multi` type. + +[NOTE] +.`IncomingConnectorFactory` +==== + +The inbound channels can also implement the `IncomingConnectorFactory` from the MicroProfile Reactive Messaging specification. +However, the `PublisherBuilder` type can be more challenging to work with and +Smallrye Reactive Messaging converts the provided stream to Mutiny types to do the wiring anyway. + +==== + +The returned `Flow.Publisher` would allow controlling the flow of ingestion using backpressure. +It would be preferable to use pull-based APIs of the underlying messaging library to receive messages from the message broker. +You can refer to the https://smallrye.io/smallrye-mutiny/latest/guides/polling/[`Mutiny` "How to use polling?" guide] +to construct a `Multi` using Mutiny APIs, or implement the `Flow.Subscription` from scratch and wrap it in an `AbstractMulti`. + +Here is an example channel implementation which constructs the reactive stream using the polling API: + +[source,java] +---- +include::{examples-dir}/connectors/MyIncomingChannel.java[indent=0] +---- + +=== Connector Threading and Vert.x + +Whether the external API call is blocking or non-blocking, managing the thread on which the message processing will be dispatched can be challenging. +Smallrye Reactive Messaging depends on https://vertx.io/[Eclipse Vert.x] to consistently dispatch messages in event-loop or worker threads, +propagating the message context along different processing stages. +You can read more on xref:concepts/message-context.adoc[Message Context] and https://vertx.io/blog/an-introduction-to-the-vert-x-context-object/[Vert.x Context]. + +Some connectors already use Vert.x clients, such as RabbitMQ, AMQP 1.0 or MQTT. +Other connectors such as Kafka or Pulsar directly use the client library of the messaging technology, +therefore they create a Vert.x Context per channel to dispatch messages on that context. +Connectors can access the `Vertx` instance by injecting the `ExecutionHolder` bean. +https://smallrye.io/smallrye-mutiny/latest/guides/emit-on-vs-run-subscription-on/[Mutiny operators `runSubscribtionOn` and `emitOn`] can be used to switch threads the events are dispatched on. + +=== Custom Message and Metadata implementations + +Reactive messaging link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Message.html[`Message`] +type is a thin wrapper around a payload and some metadata, which lets implementing acknowledgment and negative acknowledgment of that message. + +Messages received from the underlying library very often return with a custom type, +wrapping the payload and some properties such as key, timestamp, schema information, or any other metadata. + +[TIP] +==== + +The client may propose different strategies for consuming messages individually or in batches. +If a batch consuming is available the incoming channel may receive wrap and dispatch message as a batch or individually. + +==== + +While it is possible to use `Message.of` builder methods to wrap the incoming message type, +a custom type implementing `Message` interface helps to deal with different aspects we'll cover later, +such as deserialization, message acknowledgment or tracing. + +An example message implementation would be like the following: + +[source,java] +---- +include::{examples-dir}/connectors/MyMessage.java[indent=0] +---- + +Note that `MyMessage` implements the `ContextAwareMessage`. +In the constructor `captureContextMetadata` helper method is used to capture the Vert.x context which created the object and capturing it into the `LocalContextMetadata`. +This metadata allows running xref:concepts/message-context.adoc[each message in its own Vert.x context, supporting context propagation]. + +The `MyMessage` type implements the accessors for the `metadata` and `payload` from the `Message` interface. +If the messaging technology doesn't have a built-in unmarshalling mechanism, the message can deserialize the raw payload to a primitive or a complex object. + +[WARNING] +==== + +The custom message implementation is usually not the type consumed by the application injecting channels. +Applications usually inject in the payload, the raw consumed type (in the above example the `ConsumedMessage`), +or some other type provided by the xref:concepts/converters.adoc[`MessageConverter`s]. +Handling of `Message` types by the application is restricted only to advanced use cases, because handling of message acknowledgment is manual +Even then the message may be intercepted before and changed, conserving the `metadata`, `ack` and `nack` handlers but not the original type created by the connector. + +==== + +The `MyIncomingMetadata` gives access to the underlying consumed message attributes, and applications can inject this object for accessing message details: + +[source,java] +---- +include::{examples-dir}/connectors/MyIncomingMetadata.java[indent=0] +---- + +Also note that `ack` and `nack` method implementations are delegated to handler objects. +This allows configuring different strategies at channel level. + +=== Acknowledgment strategies + +The xref:concepts/acknowledgement.adoc[acknowledgement] is the way for message consumers to inform the broker that the message has been successfully received and processed. +Depending on the messaging technology the broker then can decide to remove the message from the queue, flag as consumed or purge it completely. +In Reactive Messaging there are different policies to trigger the acknowledgement but the canonical one is to acknowledge a message when the processing (potentially asynchronous) has completed (`POST++_++PROCESSING`). + +The Reactive Messaging defines `Message#ack` method as non-blocking asynchronous, returning a `CompletionStage++<++Void++>++`, +because potentially the acknowledgement action sends a network call to the broker. + +The following example simply calls the client `ack` method using the Mutiny `Uni` and switch the emitter to the Message context. +Returning back to the message context is essential for chaining asynchronous actions without losing the context and for keeping the consistency on message consumption flow. + +[source,java] +---- +include::{examples-dir}/connectors/MyAckHandler.java[indent=0] +---- + +While this ack handler strategy acknowledges each message to the broker, +the messaging technology can allow employing different strategies for acknowledging messages. +For example an ack strategy can track processed messages and acknowledge them altogether or call a different client side endpoint to acknowledge the message batch. + +=== Failure handling strategies + +The failure handling, or the xref:concepts/acknowledgement.adoc#negative-acknowledgement[negative acknowledgment] allows indicating that a message was not processed correctly. +Similar to the acknowledgment the Reactive Messaging defines `Message#nack(Throwable reason, Metadata metadata)` method as non-blocking asynchronous, returning a `CompletionStage++<++Void++>++`. + +[source,java] +---- +include::{examples-dir}/connectors/MyFailureHandler.java[indent=0] +---- + +Different failure handling strategies can, for example, +- Ignore the failure, log and call the `ack` instead +- Send the message to a dead letter queue and call the `ack` +- Employ a different strategy depending on the `Metadata` associated with the `nack` method call. + +=== Message Converters + +The connector can propose default xref:concepts/converters.adoc[`MessageConverter`] implementations for converting the payload to a custom type. +As an example the following converter extracts the `CustomMessage` and puts it in the payload: + +[source,java] +---- +include::{examples-dir}/connectors/MyMessageConverter.java[indent=0] +---- + +== Implementing Outbound Channels + +The `OutboundConnector` implementation returns, for a given channel configuration, a `Flow.Subscriber` of messages. +This is typically implemented by a custom `Flow.Processor` and using the `MultiUtils.via` helper methods to apply message transformations. + +[NOTE] +.`OutgoingConnectorFactory` +==== + +The outbound channels can also implement the `OutgoingConnectorFactory` from the MicroProfile Reactive Messaging specification. +However, it is usually more friendly to work with the `MultiUtils.via` methods to construct and transform outgoing messages. + +==== + +Here is an example outgoing channel implementation: + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannel.java[indent=0] +---- + +The `MultiUtils.via` helper method allows using the `Multi` chaining methods and in the same time provides a `Flow.Subscriber`. +However, this implementation allows sending messages one at a time: +one only after the previous outgoing message send is completed. + +Some messaging technologies provide publish receipt, +a message back from the broker to the sender that asynchronously acknowledges the sent operation. +In this case the connector can only be sure of the send operation when it receives the publish receipt of that message. +Some technologies may provide blocking sending calls, +in that case the connector needs to delegate the sending call to a worker thread. + +Depending on whether the client supports multiple in-flight outgoing messages, you can also use a `SenderProcessor`, +which allows receiving configuration for the maximum number of in-flight messages and whether it waits for completion (publish receipt from the broker): + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannelWithPartials.java[tags=sender-processor,indent=0] +---- + +Other more advanced scenarios can be implemented to retry the transmission in case of a retryable failure, +or batch multiple outgoing messages to a single send operation. + +=== Outgoing `Message` Builder + +In order to convey all attributes of the outgoing message to the client library +connectors provide outgoing `Message` implementation and a corresponding outgoing message metadata. +These allow the application developer to build the message attributes that will be sent to the broker. + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingMessage.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingMetadata.java[indent=0] +---- + +The outgoing channel implementation then will construct the client library object that represents the outbound message, `SendMessage` in this example: + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannelWithPartials.java[tags=send-message,indent=0] +---- + +It is a best practice to also allow the application to return a payload of the client outbound library object (`SendMessage`). + +=== Outgoing message acknowledgement + +Because the Reactive Messaging xref:concepts/acknowledgement.adoc#chain-of-acknowledgment[chains acknowledgements] from incoming message until the outgoing message, +it is crucial for the outgoing channel to correctly ack and nack the message. + +== Smallrye Health Integration + +Smallrye Reactive Messaging allows connectors to integrate with Smallrye Health to contribute channel state to the health reports. +Connectors need to implement the `HealthReporter` interface and implement some or all of the `getReadiness`, `getLiveness` and `getStartup` methods: + +[source,java] +---- +include::{examples-dir}/connectors/MyConnectorWithPartials.java[tags=health-report,indent=0] +---- + +Implementing health reports per channel depends on what information is available to the connector. +For more information on different health check probes you can check out https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/[Configure Liveness, Readiness and Startup Probes] + +You may want to add a connector attribute to enable/disable the health reporting per channel: + +[source,java] +---- +import io.smallrye.reactive.messaging.annotations.ConnectorAttribute; + +@ConnectorAttribute(name = "health-enabled", type = "boolean", direction = ConnectorAttribute.Direction.INCOMING_AND_OUTGOING, description = "Whether health reporting is enabled (default) or disabled", defaultValue = "true") +---- + +== OpenTelemetry Tracing Integration + +Smallrye Reactive Messaging allows connectors to easily integrate with OpenTelemetry tracing. +It propagates the tracing context from inbound messages and to outbound messages. +The `smallrye-reactive-messaging-otel` module provides necessary dependencies to the OpenTelemetry artifacts and also provides `TracingUtils` helper class for setting up the tracing. + +[source,xml] +---- + + io.smallrye.reactive.messaging + smallrye-reactive-messaging-otel + +---- + +For integrating tracing you'd need to create a couple of classes: + +* Holder class for tracing information +* Implementation of `io.opentelemetry.context.propagation.TextMapGetter`, which retrieves for a given key the value of a tracing attributed from the holder object +* Implementation of `io.opentelemetry.context.propagation.TextMapSetter`, which sets on the holder object the key and value of tracing attributes +* Implementations of `io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor` and `io.opentelemetry.instrumentation.api.instrumenter.messaging.MessagingAttributesGetter` + +Then you'd need to configure instrumenters per incoming and outgoing channel: + +[source,java] +---- +include::{examples-dir}/connectors/tracing/MyOpenTelemetryInstrumenter.java[tags=create-instrumenter,indent=0] +---- + +Finally, you'd need to configure instrumenters per incoming and outgoing channels and wire the call to instrumenter using `TracingUtils`. + +For an incoming channel, you'd need to call the instrumenter on an inbound message: + +[source,java] +---- +include::{examples-dir}/connectors/MyIncomingChannelWithPartials.java[tags=incoming-tracing,indent=0] +---- + +For an outgoing channel, you'd need to call the instrumenter on constructing the outbound message: + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannelWithPartials.java[tags=outgoing-tracing,indent=0] +---- + +You may want to add a connector attribute to enable/disable the tracing per channel: + +[source,java] +---- +import io.smallrye.reactive.messaging.annotations.ConnectorAttribute; + +@ConnectorAttribute(name = "tracing-enabled", type = "boolean", direction = ConnectorAttribute.Direction.INCOMING_AND_OUTGOING, description = "Whether tracing is enabled (default) or disabled", defaultValue = "true") +---- + +== Testing the connector + +While unit tests are highly encouraged for validating ad-hoc logic in connector code, +by nature connector tests are mostly integration tests validating the correct configuration and functioning of channels. +Most of the time tests need to run against a broker instance. +This instance can be mocked or embedded in the test JVM, +or provisioned in a container runtime using https://testcontainers.org[Testcontainers]. +The testcontainers approach is encouraged as it'll provide a testing environment closest to reality. + +It may take too much time and resources to start a broker per test method or per test class, +so may want to share the same broker instance between all test classes. +In that case you can checkout how to write a https://junit.org/junit5/docs/current/user-guide/#extensions[JUnit 5 Extension] +and start only one container instance in the beginning of tests and stop it at the end of all the tests. + +There are essentially two ways of creating the connector behavior to test against: + +[arabic] +. Instantiating channels directly by passing the custom configuration. +With this you can get the Reactive stream directly from the channel implementation and send/receive messages. +You can use https://smallrye.io/smallrye-mutiny/2.5.1/guides/testing/[AssertSubscriber from Mutiny] to regulate demand and write assertions. +. CDI-based tests which write configuration and instantiate application beans. +You can use https://weld.cdi-spec.org/[Weld, the reference implementation of CDI specification] with configured set of beans and extensions: + +[source,java] +---- +include::{examples-dir}/connectors/test/WeldTestBase.java[indent=0] +---- + +You would need following test dependencies for enabling Weld in tests: + +[source,xml] +---- + + io.smallrye.reactive + test-common + test + + + org.jboss.weld.se + weld-se-shaded + ${weld.version} + test + + + org.jboss.weld + weld-core-impl + ${weld.version} + test + + + org.awaitility + awaitility + test + +---- + +Your test classes can therefore extend the `WeldTestBase` and provide configuration and application beans: + +[source,java] +---- +include::{examples-dir}/connectors/test/MyConnectorTest.java[indent=0] +---- + +[TIP] +.Awaitility +==== + +Because connector tests are usually asynchronous, https://github.com/awaitility/awaitility[awaitility] +provides a DSL to await on expressed assertions. + +==== + +=== Common tests for validating the connector + +* Message consumption through incoming channels +* Message producing through outgoing channels +* Ack and failure handler strategies test +* Message Context propagation test `LocalPropagationTest` +* `HealthCheckTest` +* `MessageConverterTest` +* `TracingPropagationTest` +* Configuration test +* Authentication test +* Tests for diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/converters.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/converters.adoc new file mode 100644 index 000000000..ff3f6148e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/converters.adoc @@ -0,0 +1,43 @@ += Message Converters +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging supports _message converters_, allowing to +transform an incoming message into a version accepted by the method. If +the incoming messages or payload does not match the invoked method’s +expectation, SmallRye Reactive Messaging looks for a suitable converter. +If found, it converts the incoming message with this converter. + +Converters can have multiple purposes, but the main use case is about +transforming the message’s payload: + +[source,java] +---- +include::{examples-dir}/converters/MyConverter.java[tags=code,indent=0] +---- + +To provide a converter, implement a bean exposing the `MessageConverter` +interface. The `canConvert` method is called during the lookup and +verifies if it can handle the conversion. The `target` type is the +expected payload type. If the converter returns `true` to `canConvert`, +SmallRye Reactive Messaging calls the `convert` method to proceed to the +conversion. + +The previous converter can be used in application like the following, to +convert `Message++<++String++>++` to `Message++<++Person++>++`: + +[source,java] +---- +include::{examples-dir}/converters/ConverterExample.java[tags=code,indent=0] +---- + +Converters work for all supported method signatures. However, the +signature must be well-formed to allow the extraction of the expected +payload type. Wildcards and raw types do not support conversion. If the +expected payload type cannot be extracted, or no converter fits, the +message is passed as received. + +If multiple suitable converters are present, implementations should +override the `getPriority` method returning the priority. The default +priority is `100`. The converter lookup invokes converters with higher +priority (from the least value to the greatest) first. diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/decorators.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/decorators.adoc new file mode 100644 index 000000000..0cdb8b7a9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/decorators.adoc @@ -0,0 +1,96 @@ += Channel Decorators +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging supports decorating reactive streams +of incoming and outgoing channels for implementing cross-cutting +concerns such as monitoring, tracing or message interception. + +Two symmetrical APIs are proposed for decorating publisher and subscriber channels, +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/PublisherDecorator.html[`PublisherDecorator`] +and link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/SubscriberDecorator.html[`SubscriberDecorator`] respectively. + +[IMPORTANT] +==== + +`@Incoming` channels and channels bound to an outbound connector are both `Subscriber`s. +Conversely `@Outgoing` channels and channels bound to an inbound connector are `Publisher`s. + +==== + +For example, to provide a decorator which counts consumed messages from incoming connector, +implement a bean exposing the interface `PublisherDecorator`: + +[source,java] +---- +include::{examples-dir}/decorators/ConsumedMessageDecorator.java[tags=code,indent=0] +---- + +Decorators' `decorate` method is called only once per channel at application deployment when graph wiring is taking place. +Decorators are very powerful because they receive the stream of messages (Mutiny `Multi++<++Message++<++?++>>++`) +and potentially return a new stream of messages. + +Note that if a decorator is available it will be called on every channel. +The `decorate` method receives the channel name and whether the channel is a connector or not as parameters. +Decorators are called ordered from highest to lowest priority (from the least value to the greatest), +obtained using the `jakarta.enterprise.inject.spi.Prioritized#getPriority` method. + +[NOTE] +==== + +The `SubscriberDecorator` receive a list of channel names because `@Incoming` annotation is repeatable +and consuming methods can be linked to multiple channels. + +==== + +== Intercepting Incoming and Outgoing Messages + +Decorators (`PublisherDecorator` and `SubscriberDecorator`) can be used to intercept and alter messages, both on incoming and outgoing channels. + +Smallrye Reactive Messaging allows defining intercepting incoming and outgoing messages for a specific channel, using +`IncomingInterceptor` and `OutgoingInterceptor` respectively. + +Only one interceptor is allowed to be bound for interception per outgoing channel. +If no interceptors are found with a `@Identifier` but a `@Default` one is available, it is used. +When multiple interceptors are available, the bean with the highest priority is used. + +=== `IncomingInterceptor` + +To provide an incoming interceptor implement a bean exposing the interface link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/IncomingInterceptor.html[`IncomingInterceptor`], qualified with a `@Identifier` with the channel name to intercept. + +[source,java] +---- +include::{examples-dir}/interceptors/MyIncomingInterceptor.java[indent=0] +---- + +An `IncomingInterceptor` can implement these three methods: + +* `Message++<++?++>++ afterMessageReceive(Message++<++?++>++ message)` : Called after receiving the message from an incoming connector. +The message can be altered by returning a new message from this method. The modified message will be consumed in incoming channels. +* `void onMessageAck(Message++<++?++>++ message)` : Called after message acknowledgment. +* `void onMessageNack(Message++<++?++>++ message, Throwable failure)` : Called after message negative-acknowledgment. + +[NOTE] +==== + +If you are willing to adapt an incoming message payload to fit a consuming method receiving type, +you can use xref:concepts/converters.adoc[`MessageConverter`]s. + +==== + +=== `OutgoingInterceptor` + +To provide an outgoing interceptor implement a bean exposing the interface link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/OutgoingInterceptor.html[`OutgoingInterceptor`], qualified with a `@Identifier` with the channel name to intercept. + +[source,java] +---- +include::{examples-dir}/interceptors/MyOutgoingInterceptor.java[indent=0] +---- + +An `OutgoingInterceptor` can implement these three methods: + +* `Message++<++?++>++ beforeMessageSend(Message++<++?++>++ message)` : Called before passing the message to the outgoing connector for transmission. +The message can be altered by returning a new message from this method. +* `void onMessageAck(Message++<++?++>++ message)` : Called after message acknowledgment. +This callback can access `OutgoingMessageMetadata` which will hold the result of the message transmission to the broker, if supported by the connector. This is only supported by MQTT and Kafka connectors. +* `void onMessageNack(Message++<++?++>++ message, Throwable failure)` : Called after message negative-acknowledgment. diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/emitter.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/emitter.adoc new file mode 100644 index 000000000..a59761323 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/emitter.adoc @@ -0,0 +1,270 @@ += Emitter and Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is not rare to combine in a single application imperative parts +(Jax-RS, regular CDI _beans_) and reactive parts (_beans_ with +`@Incoming` and `@Outgoing` annotations). In these case, it’s often +required to send _messages_ from the imperative part to the reactive +part. In other words, send messages to channels handled by reactive +messaging and how can you retrieve messages. + +== Emitter and @Channel + +To send _things_ (payload or `Message`) from imperative code to a +specific channel you need to use: + +[arabic] +. the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Channel.html[`org.eclipse.microprofile.reactive.messaging.Channel`] annotations +. the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Emitter.html[`org.eclipse.microprofile.reactive.messaging.Emitter`] type + +The `@Channel` lets you indicate to which channel you are going to send +your payloads or messages. The `Emitter` is the object to use to send +these payloads or messages. + +[source,java] +---- +include::{examples-dir}/emitter/MyImperativeBean.java[tags=intro,indent=0] +---- + +The `Emitter` class takes a type parameter. It’s the type of payload. +Even if you want to send `Messages`, the type is the payload type. + +[IMPORTANT] +==== + +You must have a `@Incoming("prices")` somewhere in your application +(meaning a method consuming messages transiting on the channel +`prices`), or an outbound connector configured to manage the `prices` +channel (`mp.messaging.outgoing.prices...`) + +==== + +== Sending payloads + +Sending payloads is done as follows: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=payload,indent=0] +---- + +When sending a payload, the emitter returns a `CompletionStage`. This +`CompletionStage` gets completed once the message created from the +payload is acknowledged: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=cs,indent=0] +---- + +If the processing fails, the `CompletionStage` gets completed +exceptionally (with the reason of the nack). + +== Sending messages + +You can also send `Messages`: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message,indent=0] +---- + +When sending a `Message`, the emitter does not return a +`CompletionStage`, but you can pass the ack/nack callback, and be called +when the message is acked/nacked. + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message-ack,indent=0] +---- + +Sending messages also let you pass metadata. + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message-meta,indent=0] +---- + +Metadata can be used to propagate some context objects with the message. + +== Overflow management + +When sending messages from imperative code to reactive code, you must be +aware of back-pressure. Indeed, messages sent using the emitter and +stored in a _queue_. If the consumer does not process the messages +quickly enough, this queue can become a memory hog and you may even run +out of memory. + +To control what need to happen when the queue becomes out of control, +use the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/OnOverflow.html[`OnOverflow`] annotation. `@OnOverflow` lets you configure: + +* the maximum size of the queue (default is 256) +* what needs to happen when this size is reached (fail, drop...) + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=overflow,indent=0] +---- + +The supported strategies are: + +* `OnOverflow.Strategy.BUFFER` - use a buffer to store the elements +until they are consumed. If the buffer is full, a failure is +propagated (and the thread using the emitted gets an exception) +* `OnOverflow.Strategy.UNBOUNDED++_++BUFFER` - use an unbounded buffer to +store the elements +* `OnOverflow.Strategy.DROP` - drops the most recent value if the +downstream can’t keep up. It means that new value emitted by the +emitter are ignored. +* `OnOverflow.Strategy.FAIL` - propagates a failure in case the +downstream can’t keep up. +* `OnOverflow.Strategy.LATEST` - keeps only the latest value, dropping +any previous value if the downstream can’t keep up. +* `OnOverflow.Strategy.NONE` - ignore the back-pressure signals +letting the downstream consumer to implement a strategy. + +=== Defensive emission + +Having an emitter injected into your code does not guarantee that +someone is ready to consume the message. For example, a subscriber may +be connecting to a remote broker. If there are no subscribers, using the +`send` method will throw an exception. + +The `emitter.hasRequests()` method indicates that a subscriber +subscribes to the channel and requested items. So, you can wrap your +emission with: + +[source,java] +---- +if (emitter.hasRequests()) { + emitter.send("hello"); +} +---- + +If you use the `OnOverflow.Strategy.DROP`, you can use the `send` method +even with no subscribers nor demands. The message will be nacked +immediately. + +== Retrieving channels + +You can use the `@Channel` annotation to inject in your bean the +underlying stream. Note that in this case, you will be responsible for +the subscription: + +[source,java] +---- +include::{examples-dir}/emitter/ChannelExamples.java[tags=channel,indent=0] +---- + +[IMPORTANT] +==== + +You must have a `@Outgoing("my-channel")` somewhere in your application +(meaning a method generating messages transiting on the channel +`my-channel`), or an inbound connector configured to manage the `prices` +channel (`mp.messaging.incoming.prices...`) + +==== + +Injected _channels_ merge all the matching _outgoing_ - so if you have +multiple `@Outgoing("out")`, `@Inject @Channel("out")` gets all the +messages. + +If your injected _channel_ receives _payloads_ (`Multi++<++T++>++`), it +acknowledges the message automatically, and support multiple +subscribers. If you injected _channel_ receives `Message` +(`Multi++<++Message++<++T++>>++`), you will be responsible for the acknowledgement +and broadcasting. + +== Emitter and @Broadcast + +When using an `Emitter`, you can now `@Broadcast` what is emitted to all +subscribers. + +Here is an example of emitting a price with two methods marked +`@Incoming` to receive the broadcast: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=broadcast,indent=0] +---- + +For more details see xref:concepts/broadcast.adoc[@Broadcast] +documentation. + +== Mutiny Emitter + +If you prefer to utilize `Uni` in all your code, there is now a +`MutinyEmitter` that will return `Uni++<++Void++>++` instead of `void`. + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni,indent=0] +---- + +There’s also the ability to block on sending the event to the emitter. +It will only return from the method when the event is acknowledged, or +nacked, by the receiver: + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni-await,indent=0] +---- + +And if you don’t need to worry about the success or failure of sending +an event, you can `sendAndForget`: + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni-forget,indent=0] +---- + +== Custom Emitter Implementations + +[WARNING] +.Experimental +==== + +Custom emitter implementations is an experimental feature. + +==== + +`Emitter` and `MutinyEmitter` are two implementations of the emitter concept, +where imperative code in your application can send messages to Reactive Messaging channels. + +With `EmitterFactory` it is possible to provide custom implementations, and application facing emitter interfaces. + +In the following example, the injectable custom emitter interface is `CustomEmitter`, +and it is implemented by `CustomEmitterImpl`: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-declaration,indent=0] +---- + +Note that `CustomEmitter` interface extends `EmitterType`, which is a marker interface for discovering custom emitter types. +Also, `CustomEmitterImpl` implements the `MessagePublisherProvider`, which is used by the framework to transform this emitter to a channel. + +Then we need to provide an implementation of the `EmitterFactory` interface: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-factory,indent=0] +---- + +The `CustomEmitterFactory` is a CDI managed bean, which implements the `EmitterFactory`. +It is qualified with `EmitterFactoryFor` annotation which is configured with the emitter interface `CustomEmitter` that this factory provides. + +Smallrye Reactive Messaging discovers the emitter factory during the CDI deployment validation +and verifies that custom emitters used by the application have corresponding emitter factories. +It'll use the emitter factory to create the emitter implementation and will register the implementation into the `ChannelRegistry`. + +Note that the `CustomEmitterFactory` also uses the `ChannelRegistry` and provides the custom emitter with `@Produces`. + +Finally, the application can inject and use the `CustomEmitter` as a normal emitter channel: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-usage,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/generic-payloads.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/generic-payloads.adoc new file mode 100644 index 000000000..fd7193fd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/generic-payloads.adoc @@ -0,0 +1,55 @@ += Generic Payloads +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Generic payloads are an experimental feature and the API is subject to change. + +==== + +When using reactive messaging, `Message` flow in your system +each message has a payload but can also contain _metadata_, as explained in xref:concepts/concepts.adoc#messages-payload-metadata[Messages, Payload, Metadata]. +The metadata can hold information, for example in an outgoing channel, additional properties of the outgoing message to be sent to the broker. + +It is sometimes preferable to continue using the xref:concepts/model.adoc#messages-vs-payloads[payload signatures], +and also being able to attach metadata. +Using `GenericPayload` allows customizing metadata when handling payloads in SmallRye Reactive Messaging `@Incoming` and `@Outgoing` methods. +`GenericPayload` is a wrapper type, like the `Message`, containing a payload and metadata, +without requiring handling acknowledgments manually. + +[source,java] +---- +include::{examples-dir}/genericpayload/GenericPayloadExample.java[tags=code,indent=0] +---- + +You can combine generic payloads with xref:concepts/incoming-metadata-injection.adoc[metadata injection] : + +[source,java] +---- +include::{examples-dir}/genericpayload/GenericPayloadExample.java[tags=injection,indent=0] +---- + +Note that the metadata provided with the outgoing generic payload is merged with the incoming message metadata. + +`GenericPayload` can also be used with emitters to attach metadata without dealing with `Message` directly: + +[source,java] +---- +include::{examples-dir}/genericpayload/GenericPayloadExample.java[tags=emitter,indent=0] +---- + +The inner payload is extracted and the metadata from the `GenericPayload` is merged into the outgoing message. +Note that existing metadata entries are not overwritten by the `GenericPayload` metadata. +If a metadata entry of the same type already exists, it is preserved unless the metadata class implements `MergeableMetadata`. + +[WARNING] +.Limitations +==== + +While `GenericPayload++<++T++>++` can be used as an incoming payload type, +xref:concepts/converters.adoc[message converters] are not applied to the payload type `T`. + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/incoming-concurrency.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/incoming-concurrency.adoc new file mode 100644 index 000000000..058eb070f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/incoming-concurrency.adoc @@ -0,0 +1,73 @@ += Incoming Channel Concurrency +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Incoming channel `concurrency` config is an experimental feature. + +==== + +The `concurrency` attribute for incoming channels provides a mechanism to enable concurrent non-blocking processing of incoming messages. +When applied to a channel, this attribute specifies the number of copies of that channel to be created and wired to the processing method, +allowing multiple messages to be processed concurrently. + +For example, concurrency configuration for a Kafka incoming channel the configuration will look like: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-kafka +mp.messaging.incoming.my-channel.topic=orders +mp.messaging.incoming.my-channel.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer +mp.messaging.incoming.my-channel.concurrency=4 +---- + +In this example, there will be 4 copies of the `my-channel` running concurrently, with distinctive internal channel names, +`my-channel$1`, `my-channel$2`, etc. but all registered with the name `my-channel` to the `ChannelRegistry`. + +[NOTE] +.Kafka connector `partitions` +==== + +This is essentially very similar to the Kafka connector `partitions` configuration, but addresses some its limitations. +Using `partitions` config in Kafka connector, channels are merged into the downstream message processor +(method annotated with `@Incoming` or an injected channel) which is therefore called sequentially. +This prevents concurrently processing messages from multiple partitions. + +The `concurrency` mechanism effectively allows polling Kafka partitions from separate clients +and concurrently processing records while preserving the in-partition order. + +==== + +Copy channels inherit all configuration attributes of the main channel config. +Per-copy channel attributes can be configured separately using the `$` separated channel names: `mp.messaging.incoming.my-channel$1.attribute`. + +For example, the following AMQP 1.0 channel defines 3 channels each with a different selector: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-amqp +mp.messaging.incoming.data.address=address +mp.messaging.incoming.data.durable=false +mp.messaging.incoming.data.concurrency=3 +mp.messaging.incoming.data$1.selector=x='foo' +mp.messaging.incoming.data$2.selector=x='bar' +mp.messaging.incoming.data$3.selector=x='baz' +---- + +While the `concurrency` attribute is applicable to channels of any connector type, +the channel implementation may need to take this configuration into account and adjust the threading accordingly. +Connectors based on Vert.x event loop create a new event loop context per copy-channel to dispatch messages on distinct contexts. + +[IMPORTANT] +.Non-blocking processing +==== + +Note that while this allows concurrent processing, messages are still dispatched on Vert.x event loop threads, and should not be blocked. + +==== + +Otherwise, connectors treat copy channels as independent channels. +For example, health check reports are registered separately for each copy-channel. diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/incoming-metadata-injection.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/incoming-metadata-injection.adoc new file mode 100644 index 000000000..fb27198b2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/incoming-metadata-injection.adoc @@ -0,0 +1,29 @@ += Incoming Metadata Injection +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Metadata injection is an experimental feature. + +==== + +When using reactive messaging, `Message` flow in your system. +Each message has a payload but can also contain _metadata_, as explained in xref:concepts/concepts.adoc#messages-payload-metadata[Messages, Payload, Metadata]. + +You can inject the incoming message metadata as a parameter depending on the method signature. +*Only methods receiving the payload as a parameter can also receive the metadata.* +For example, `@Incoming("in") void consume(String s)` can also receive the metadata using the following signature: +`@Incoming("in") void consume(String s, MyMetadata m)`. +Note that the payload must be the first parameter. + +The metadata can be injected using the class of the metadata to inject. +In this case, the method is invoked with `null` if the metadata is missing. +You can also inject the metadata using `Optional++<++MetadataClass++>++,` which would be empty if the incoming message does not contain metadata of type `MetadataClass.` + +[source,java] +---- +include::{examples-dir}/incomings/MetadataInjectionExample.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/incomings.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/incomings.adoc new file mode 100644 index 000000000..8fc179d3a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/incomings.adoc @@ -0,0 +1,20 @@ += Multiple Incoming Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Multiple `@Incomings` is an experimental feature. + +==== + +The `@Incoming` annotation is repeatable. It means that the method +receives the messages transiting on every listed channels, in no +specific order: + +[source,java] +---- +include::{examples-dir}/incomings/IncomingsExamples.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/keyed-multi.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/keyed-multi.adoc new file mode 100644 index 000000000..cc1824499 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/keyed-multi.adoc @@ -0,0 +1,52 @@ += Using `KeyedMulti` +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`KeyedMulti` is an experimental feature. + +==== + +When implementing a data streaming application, it's common to handle messages partitioned using a _key_. +In this case, your stream manipulation often has to 1) group by key and 2) do the manipulation. +Reactive Messaging can do the first step for you and reduce the code complexity. +To do this, it injects `io.smallrye.reactive.messaging.keyed.KeyedMulti` in your method instead of a _bare_ `Multi`. + +For example, imagine the following stream, represented as `key:value`: `"a:1", "b:1", "a:2", "b:2", "b:3"...` +Then, let's consider the following method: + +[source,java] +---- +include::{examples-dir}/keyed/KeyedMultiExample.java[tags=code,indent=0] +---- + +Reactive Messaging automatically extracts the key and value from the incoming stream and invokes the method for each key. +The received `KeyedMulti` represent the stream for each key. +The `key()` method returns the extracted key. + +The key and value can be extracted from the payload but also (and often) from the message's metadata. + +When using Kafka, it automatically extracts the key/value from the Kafka records. +In the other cases, or if you need custom extraction, you can implement your own `io.smallrye.reactive.messaging.keyed.KeyValueExtractor`. +Implementations are exposed `ApplicationScoped` beans, and are used to extract the key and value. +The following implementation extracts the key and value from payloads structured as "key:value": + +[source,java] +---- +include::{examples-dir}/keyed/KeyValueExtractorFromPayload.java[tags=code,indent=0] +---- + +The extractor selection uses the `canExtract` method. +When multiple extractors are available, you can implement the `getPriority()` method to give a lower priority. +Default extractors have the priority 100. +So, if you have a custom extractor with the priority 99, it will be used (if it replies `true` to the `canExtract` call). +In addition, you can use the `io.smallrye.reactive.messaging.keyed.Keyed` annotation to indicate the class of the extractor to use. +The extractor must still be a CDI bean, but the `canExtract` method is not called, and priority does not matter: + +[source,java] +---- +include::{examples-dir}/keyed/KeyedExample.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/logging.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/logging.adoc new file mode 100644 index 000000000..2a8fc8df3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/logging.adoc @@ -0,0 +1,269 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging uses https://github.com/jboss-logging[JBoss +Logging] as logging API. This section +explains how to configure the loggers for various logging backends. + +[TIP] +==== + +If you are developing SmallRye Reactive Messaging and wonder about how +the logs are managed, it uses https://jboss-logging.github.io/jboss-logging-tools/#introduction[JBoss Logging +Tools]. + +==== + +== Logging Backends + +SmallRye Reactive Messaging uses the JBoss Logging library to write +messages to a log file. This library is a logging _bridge_ that +integrates different log frameworks. You can decide which of the +following frameworks you want to use for your application: + +* JBoss LogManager (`jboss`) +* Log4j 2 (`log4j2`) +* Log4j 1 (`log4j`) +* Slf4j (`slf4j`) +* JDK logging (`jul`) + +You only need to add the chosen framework to the classpath, and the +JBoss Logging library will pick it up. If there are multiple frameworks +available on the classpath, it picks the first found (in the order from +the list). Alternatively, you can set the `org.jboss.logging.provider` +system property is one of the values given above. + +The concepts and log categories are the same for all frameworks. +However, the format of the configuration file and the names of the log +levels differ. Check the documentation of your logging library to find +out which _dependencies_ are required, the exact name of the log levels, +and where the configuration should be written. + +== Log Categories + +As all applications and frameworks, SmallRye Reactive Messaging writes +log messages in different categories and log levels. The categories +group messages from specific connectors, classes or components. The +following table shows the essential log categories used by SmallRye +Reactive Messaging: + +[width="100%",cols="36%,64%",options="header",] +|=== +|Category |Description +|`io.smallrye.reactive.messaging` |This category contains all the messages written by SmallRye Reactive Messaging. +|`io.smallrye.reactive.messaging.provider` |This category contains all the messages generated by the _core_ (provider). +|`io.smallrye.reactive.messaging.kafka` |This category contains all the messages generated by the Kafka Connector. +|`io.smallrye.reactive.messaging.amqp` |This category contains all the messages generated by the AMQP Connector. +|`io.smallrye.reactive.messaging.jms` |This category contains all the messages generated by the JMS Connector. +|`io.smallrye.reactive.messaging.camel` |This category contains all the messages generated by the Camel Connector. +|`io.smallrye.reactive.messaging.mqtt` |This category contains all the messages generated by the MQTT (Client) Connector. +|`io.smallrye.reactive.messaging.mqtt-server` |This category contains all the messages generated by the MQTT (Server) Connector. +|=== + +The names of the log levels are defined by your logging framework and +determine the amount and granularity of the log messages. You can assign +a log level to each category. If you do not specify a specific +category’s log level, it will inherit the level from its parent +category. Thus, setting the log level of +`io.smallrye.reactive.messaging` influences every loggers from SmallRye +Reactive Messaging. + +== Message Code + +Each message has an identifier code. They are all prefixed with `SRMSG`, +followed with the numeric code. + +In the following output, the code is `SRMSG00229`: + +.... +[2020-06-15 13:35:07] [INFO ] SRMSG00229: Channel manager initializing... +.... + +== Recommended logging configurations + +=== Development + +==== Log4J 1 + +_log4j.properties_ + +[source,properties] +---- +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +log4j.rootLogger=info, stdout +log4j.logger.io.smallrye.reactive.messaging=info +log4j.logger.org.jboss.weld=warn +---- + +==== Log4J 2 + +_log4j2.xml_ + +[source,xml] +---- + + + PropertiesConfiguration + + + + + + [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n + > + + + + + + + + + + + + + + + +---- + +==== JDK (JUL) + +_logging.properties_ + +[source,properties] +---- +handlers=java.util.logging.ConsoleHandler + +java.util.logging.ConsoleHandler.level=FINEST +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$-7s] %5$s %n + +.level=INFO +io.smallrye.reactive.messaging.level=INFO +org.jboss.weld.level=WARNING +---- + +==== LogBack via SLF4J++*++ + +_logback.xml_ + +[source,xml] +---- + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + +---- + +=== Production + +==== Log4J 1 + +_log4j.properties_ + +[source,properties] +---- +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +log4j.rootLogger=info, stdout +log4j.logger.io.smallrye.reactive.messaging=warn +log4j.logger.org.jboss.weld=error +---- + +==== Log4J 2 + +_log4j2.xml_ + +[source,xml] +---- + + + PropertiesConfiguration + + + + + + [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n + > + + + + + + + + + + + + + + + +---- + +==== JDK (JUL) + +_logging.properties_ + +[source,properties] +---- +handlers=java.util.logging.ConsoleHandler + +java.util.logging.ConsoleHandler.level=INFO +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$-7s] %5$s %n + +.level=INFO +io.smallrye.reactive.messaging.level=WARNING +org.jboss.weld.level=SEVERE +---- + +_logback.xml_ + +[source,xml] +---- + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/merge.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/merge.adoc new file mode 100644 index 000000000..d7bd6cbd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/merge.adoc @@ -0,0 +1,47 @@ += Merge channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`@Merge` is an experimental feature. + +==== + +By default, messages transiting in a channel can arise from a single +producer. Having multiple producers is considered erroneous and is +reported at deployment time. + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/annotations/Merge.html[`Merge`] +annotation changes this behavior and indicates that a channel can have +multiple producers. `@Merge` must be used with the `@Incoming` +annotation: + +[source,java] +---- +include::{examples-dir}/merge/MergeExamples.java[tags=chain,indent=0] +---- + +In the previous example, the consumer gets all the messages (from both +producers). + +The `@Merge` annotation allows configuring how the incoming messages +(from the different producers) are merged into the channel. The `mode` +attribute allows configuring this behavior: + +* `ONE` picks a single producer, discarding the other producer; +* `MERGE` (default) gets all the messages as they come, without any +defined order. Messages from different producers may be interleaved. +* `CONCAT` concatenates the producers. The messages from one producer +are received until the messages from other producers are received. + +[NOTE] +==== + +Outbound connectors also support a `merge` attribute that allows +consuming the messages to multiple upstreams. It will dispatch all the +received messages. + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/message-context.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/message-context.adoc new file mode 100644 index 000000000..411587683 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/message-context.adoc @@ -0,0 +1,83 @@ += Message Contexts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Message context provides a way to propagate data along the processing of a message. +It can be used to propagate message specific objects in an implicit manner and be able to retrieve them later, such as the user, session or transaction. + +[IMPORTANT] +==== + +Message contexts are only support by Kafka, AMQP, RabbitMQ and MQTT connectors. + +==== + +[NOTE] +==== + +Message context support is an experimental and SmallRye only feature. + +==== + +== What's a message context + +A message context is execution context on which a message is processed. +Each stage of the processing is going to use the same execution context. +Thus, it allows storing _data_ which can later be restored. +For example, you can imagine storing some authentication (`User` in the following example) data in one part of your processing and restore it in a later stage. + +[source,java] +---- +@Incoming("data") +@Outgoing("process") +public Message process(Message input) { + // Extract some data from the message and store it in the context + User user = ...; + // Store the extracted data into the message context. + ContextLocals.put("user", user); + record input; +} + +@Incoming("process") +@Outgoing("after-process") +public String handle(String payload) { + // You can retrieve the store data using + User user = ContextLocals.get("user", null); + + // ... + return payload; +} +---- + +The Message context is also available when using blocking or asynchronous stages (stage returning `Uni` or `CompletionStage`) + +== The difference with metadata + +Message metadata can be used to provide a similar feature. +However, it requires using `Messages` which can be inconvenient (need to handle the acknowledgement manually). +Message Contexts provide a simpler API, closer to a _Message CDI scope_: you can save data, and restore it later. +The implicit propagation avoid having to deal with `Messages`. + +== Supported signatures + +Message context works with: + +* methods consuming or producing `Messages`, `Uni++<++Message++<++T++>>++` and `CompletionStage++<++Message++<++T++>>++` +* methods consuming or producing payloads, `Uni++<++Payload++>++` and `CompletionStage++<++Payload++>++`. +* blocking and non-blocking methods + +However, message context are *NOT* enforced when using methods consuming or producing: + +* `Multi`, `Flow.Publisher`, `Publisher` and `PublisherBuilder` +* `Subscriber`, `Flow.Subscriber`, and `SubscriberBuilder` +* `Processor`, `Flow.Processor`, and `ProcessorBuilder` + +== Under the hood + +Under the hood, the message context feature uses Vert.x _duplicated contexts_. +A duplicated context is a view of the "root" (event loop) context, which is restored at each stage of the message processing. + +Each time that a compatible connector receives a message from a broker, it creates a new _duplicated context_ and attaches it to the message. +So the context is stored in the metadata of the message. + +When the message is processed, SmallRye Reactive Messaging makes sure that this processing is executed on the stored duplicated context. diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/model.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/model.adoc new file mode 100644 index 000000000..37691b5ee --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/model.adoc @@ -0,0 +1,423 @@ += Development Model +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Reactive Messaging proposes a CDI-based programming model to implement event-driven applications. +Following the CDI principles, _beans_ are forming the main building block of your application. +Reactive Messaging provides a set of annotations and types to implement beans that generate, consume or process messages. + +== @Incoming and @Outgoing + +Reactive Messaging provides two main annotations: + +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Incoming.html[`org.eclipse.microprofile.reactive.messaging.Incoming`] - indicates the consumed channel +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Outgoing.html[`org.eclipse.microprofile.reactive.messaging.Outgoing`] - indicates the populated channel + +These annotations are used on _methods_: + +[source,java] +---- +include::{examples-dir}/beans/MessageProcessingBean.java[indent=0] +---- + +[NOTE] +==== + +Reactive Messaging beans can either be in the _application_ scope (`@ApplicationScoped`) or dependent scope (`@Dependent`). + +==== + +Manipulating messages can be cumbersome. +When you are only interested in the payload, you can use the following syntax: The following code is equivalent to the snippet from above: + +[source,java] +---- +include::{examples-dir}/beans/PayloadProcessingBean.java[indent=0] +---- + +[IMPORTANT] +==== + +You should not call methods annotated with `@Incoming` and/or +`@Outgoing` directly from your code. They are invoked by the framework. +Having user code invoking them would not have the expected outcome. + +==== + +SmallRye Reactive Messaging automatically binds matching `@Outgoing` to +`@Incoming` to form a chain: + +.A chain of components +[.has-dark] +image::images/chain.png[A chain of components] + +If we consider the following code: + +[source,java] +---- +include::{examples-dir}/beans/Chain.java[tags=chain,indent=0] +---- + +It would generate the following chain: + +[source,text] +---- +generate --> [ source ] --> process --> [ sink ] --> consume +---- + +Methods annotated with `@Incoming` or `@Outgoing` don’t have to be in the same _bean_ (_class_). +You can distribute them among a set of beans. +Remote interactions are also possible when using connectors. + +Methods annotated with: + +* only `@Outgoing` are used to generate messages or payloads +* only `@Incoming` are used to consume messages or payloads +* both `@Incoming` and `@Outgoing` are used to process messages or payloads; or transform the stream + +== Creating messages + +Messages are envelopes around payload. +They are the vehicle. +While manipulating payload is convenient, messages let you add metadata, handle acknowledgement... + +Creating `Messages` is done using the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/eclipse/microprofile/reactive/messaging/Message.html[`Message`] interface directly: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=creation,indent=0] +---- + +Messages accept `null` as payload. +Channels connected to outbound connectors interpret messages with `null` payload differently depending on the technology. + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=null-payload,indent=0] +---- + +You can also create new instance of `Message` from an existing one: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=copy,indent=0] +---- + +[WARNING] +.Acknowledgement? +==== + +Acknowledgement is an important part of messaging systems. This will be covered in the xref:concepts/acknowledgement.adoc[acknowledgement] section. + +==== + +[NOTE] +.Connector Metadata +==== + +Most connectors are providing metadata to let you extract technical +details about the message, but also customize the outbound dispatching. + +==== + +== Messages vs. Payloads + +Reactive messaging offers flexibility when it comes to handling messages and their acknowledgements. +The application developer can choose to finely handle acknowledgements per-message basis, by handling the +`Message`-based signatures. Otherwise, when handling payloads, acknowledgements +(and negative-acknowledgements) are handled by the framework. +The following sections in this documentation detail both development models. + +While being the easier development model, in the past using payload-based signatures did not allow associating connector-specific metadata, +making the `Message`-based signatures the de-facto choice even for the most common scenarios. +This lead to using the connector custom-message implementation types, +such as `IncomingKafkaRecord`, `KafkaRecord` or `IncomingRabbitMQMessage`, +as a convenience for accessing connector-specific metadata. + +Not only this forces to handle acknowledgements manually, +it also doesn't allow for incoming or outgoing `Messages` to be xref:concepts/decorators.adoc#intercepting-incoming-and-outgoing-messages[intercepted] +or xref:concepts/observability.adoc[observed]. + +[WARNING] +.Custom `Message` types & Message interception +==== + +Custom `Message` types such as `IncomingKafkaRecord`, `KafkaRecord` or `IncomingRabbitMQMessage` +are not compatible with features intercepting messages. +Therefore, it is no longer recommended to use custom `Message` implementations in consumptions methods. +Instead, you can either use the generic `Message` type and access specific metadata, +or use the payload with xref:concepts/incoming-metadata-injection.adoc[metadata injection] + +==== + +Since xref:concepts/incoming-metadata-injection.adoc[incoming metadata injection] and xref:concepts/generic-payloads.adoc[generic payloads] +features added to SmallRye Reactive Messaging, +it is easier to use payload signatures and benefit from acknowledgement handling and still access connector-specific metadata. + +== Generating Messages + +To produce messages to a channel, you need to use the `@Outgoing` +annotation. This annotation takes a single parameter: the name of the +populated channel. + +=== Generating messages synchronously + +You can generate messages synchronously. In this case, the method is +called for every _request_ from the downstream: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-sync,indent=0] +---- + +[NOTE] +.Requests? +==== + +Reactive Messaging connects components to build a reactive stream. +In a reactive stream, the emissions are controlled by the consumer +(downstream) indicating to the publisher (upstream) how many items it +can consume. With this protocol, the consumers are never flooded. + +==== + +=== Generating messages using CompletionStage + +You can also return a `CompletionStage` / `CompletableFuture`. +In this case, Reactive Messaging waits until the `CompletionStage` gets completed before calling it again. + +For instance, this signature is useful to poll messages from a source using an asynchronous client: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-cs,indent=0] +---- + +=== Generating messages using Uni + +You can also return a https://smallrye.io/smallrye-mutiny/#_uni_and_multi[Uni] instance. +In this case, Reactive Messaging waits until the `Uni` emits its item before calling it again. + +This signature is useful when integrating asynchronous clients providing a Mutiny API. + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-uni,indent=0] +---- + +=== Generating Reactive Streams of messages + +Instead of producing the message one by one, you can return the stream +directly. If you have a data source producing Reactive Streams +`Publisher` (or sub-types, such as `Multi`), this is the signature you are looking for: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-stream,indent=0] +---- + +In this case, the method is called once to retrieve the `Publisher`. + +== Generating Payloads + +Instead of `Message`, you can produce _payloads_. In this case, Reactive +Messaging produces a simple message from the _payload_ using +`Message.of`. + +=== Generating payload synchronously + +You can produce _payloads_ synchronously. The framework calls the method +upon request and create `Messages` around the produced payloads. + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-sync,indent=0] +---- + +=== Generating payload using CompletionStage + +You can also return `CompletionStage` or `CompletableFuture`. For +example, if you have an asynchronous client returning `CompletionStage`, +you can use it as follows, to poll the data one by one: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-cs,indent=0] +---- + +=== Generating payload by producing Unis + +You can also return a `Uni` if you have a client using Mutiny types: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-uni,indent=0] +---- + +=== Generating Reactive Streams of payloads + +Finally, you can return a `Publisher` (or a sub-type such as a `Multi`): + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-stream,indent=0] +---- + +In this case, Reactive Messaging calls the method only once to retrieve +the `Publisher`. + +== Consuming Messages + +To consume messages from a channel, you need to use the `@Incoming` +annotation. This annotation takes a single parameter: the name of the +consumed channel. + +Because `Messages` must be acknowledged, consuming messages requires +returning _asynchronous results_ that would complete when the incoming +message get acknowledged. + +For example, you can receive the `Message`, process it and return the +acknowledgement as result: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=message-cs,indent=0]' +---- + +You can also return a `Uni` if you need to implement more complicated +processing: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=message-uni,indent=0] +---- + +== Consuming Payloads + +Unlike consuming messages, consuming payloads support both synchronous +and asynchronous consumption. + +For example, you can consume a payload as follows: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-sync,indent=0] +---- + +In this case, you don’t need to deal with the acknowledgement yourself. +The framework acknowledges the incoming message (that wrapped the +payload) once your method returns successfully. + +If you need to achieve asynchronous actions, you can return a +`CompletionStage` or a `Uni`: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-cs,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-uni,indent=0] +---- + +In these 2 cases, the framework acknowledges the incoming message when +the returned construct gets _completed_. + +== Processing Messages + +You can process `Message` both synchronously or asynchronously. +This later case is useful when you need to execute an asynchronous action during your processing such as invoking a remote service. + +Do process `Messages` synchronously uses: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message,indent=0] +---- + +This method transforms the `int` payload to a `String`, and wraps it +into a `Message`. + +'''important "Using `Message.withX` methods" +You may be surprised by the usage of `Message.withX` methods. It allows +metadata propagation as the metadata would be copied from the incoming +message and so dispatched to the next method. + +You can also process `Messages` asynchronously: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message-cs,indent=0] +---- + +Or using Mutiny: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message-uni,indent=0] +---- + +In general, you want to create the new `Message` from the incoming one. +It enables metadata propagation and post-acknowledgement. For this, use +the `withX` method from the `Message` class returning a new `Message` +instance but copy the _content_ (metadata, ack/nack...). + +== Processing payloads + +If you don’t need to manipulate the envelope, you can process payload +directly either synchronously or asynchronously: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload-cs,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload-uni,indent=0] +---- + +[NOTE] +.What about metadata? +==== + +With these methods, the metadata are automatically propagated. + +==== + +== Processing streams + +The previous processing method were taking single `Message` or payload. +Sometimes you need more advanced manipulation. For this, SmallRye +Reactive Messaging lets you process the stream of `Message` or the +stream of payloads directly: + +[source,java] +---- +include::{examples-dir}/processing/StreamExamples.java[tags=processing-stream-message,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/StreamExamples.java[tags=processing-stream-payload,indent=0] +---- + +You can receive either a (Reactive Streams) `Publisher`, a +`PublisherBuilder` or (Mutiny) `Multi`. You can return any subclass of +`Publisher` or a `Publisher` directly. + +[IMPORTANT] +==== + +These signatures do not support metadata propagation. In the case of a +stream of `Message`, you need to propagate the metadata manually. In the +case of a stream of payload, propagation is not supported, and incoming +metadata are lost. + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/observability.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/observability.adoc new file mode 100644 index 000000000..aa57e8238 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/observability.adoc @@ -0,0 +1,38 @@ += Observability API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[IMPORTANT] +==== + +Observability API is experimental and SmallRye only feature. + +==== + +Smallrye Reactive Messaging proposes an observability API that allows to observe messages received and send through inbound and outbound channels. + +For any observation to happen, you need to provide an implementation of the `MessageObservationCollector`, discovered as a CDI-managed bean. + +At wiring time the discovered `MessageObservationCollector` implementation `initObservation` method is called once per channel to initialize the `ObservationContext`. +The default `initObservation` implementation returns a default `ObservationContext` object, +but the collector implementation can provide a custom per-channel `ObservationContext` object that'll hold information necessary for the observation. +The `ObservationContext#complete` method is called each time a message observation is completed – message being acked or nacked. +The collector implementation can decide at initialization time to disable the observation per channel by returning a `null` observation context. + +For each new message, the collector is on `onNewMessage` method with the channel name, the `Message` and the `ObservationContext` object initialized beforehand. +This method can react to the creation of a new message but also is responsible for instantiating and returning a `MessageObservation`. +While custom implementations can augment the observability capability, SmallRye Reactive Messaging provides a default implementation `DefaultMessageObservation`. + +So a simple observability collector can be implemented as such: + +[source,java] +---- +include::{examples-dir}/observability/SimpleMessageObservationCollector.java[indent=0] +---- + +A collector with a custom `ObservationContext` can be implemented as such : + +[source,java] +---- +include::{examples-dir}/observability/ContextMessageObservationCollector.java[indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/outgoings.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/outgoings.adoc new file mode 100644 index 000000000..64adca658 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/outgoings.adoc @@ -0,0 +1,79 @@ += Multiple Outgoing Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Multiple `@Outgoings` is an experimental feature. + +==== + +The `@Outgoing` annotation is repeatable. It means that the method +dispatches outgoing messages to multiple listed channels: + +[source,java] +---- +include::{examples-dir}/outgoings/OutgoingsExample.java[tags=code,indent=0] +---- + +The default behaviour is same as the xref:concepts/broadcast.adoc[@Broadcast annotation], +meaning that outbound messages are dispatched to all listed outgoing channels. + +However, different dispatching mechanism can be employed: + +== Selectively dispatching messages using `Targeted` messages + +You can selectively dispatch messages to multiple outgoings by returning +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/Targeted.html[`Targeted`] : + +[source,java] +---- +include::{examples-dir}/outgoings/TargetedExample.java[tags=code,indent=0] +---- + +In this example, three outgoing channels are declared on the `process` method +but in some condition channel `out3` does not receive any messages. + +[IMPORTANT] +.Coordinated acknowledgements +==== + +`Targeted` return types coordinate acknowledgements between outgoing messages +and the incoming message, therefore the incoming message will be ack'ed only +when all outgoing messages are ack'ed. + +==== + +In cases where you need to consume `Message` and handle metadata propagation +more finely you can use link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/TargetedMessages.html[`TargetedMessages`] +which is a `Message` type: + +[source,java] +---- +include::{examples-dir}/outgoings/TargetedExample.java[tags=targeted-messages,indent=0] +---- + +Note that in this case coordinated acknowledgements is handled explicitly +using link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/Messages.html[`Messages`] utility. + +== Branching outgoing channels with `MultiSplitter` + +In stream transformer processors it can be useful to branch out an incoming +stream into different sub-streams, based on some conditions. + +When consuming a `Multi`, you can use the `Multi.split` +(see https://smallrye.io/smallrye-mutiny/latest/guides/multi-split/[Mutiny documentation]) +operation to define multiple branches. +The stream transformer method with multiple outgoings must return a +link:https://javadoc.io/doc/io.smallrye.reactive/mutiny/{javadoc-version}/io/smallrye/mutiny/operators/multi/split/MultiSplitter.html[`MultiSplitter`]. + +[source,java] +---- +include::{examples-dir}/outgoings/SplitterMultiExample.java[tags=code,indent=0] +---- + +In this case the number of outgoing channels must match the number of branches given to `split` operation. +Outgoing channels will be tried to be matched to branch identifier enum `toString` ignoring case. +If not all branches are matched, it will fall back to one-by-one matching depending on the order of outgoing channel declarations and enum ordinals. diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/pausable-channels.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/pausable-channels.adoc new file mode 100644 index 000000000..2aeae29c4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/pausable-channels.adoc @@ -0,0 +1,64 @@ += Pausable Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Based on reactive streams, Smallrye Reactive Messaging ensures that channels are back-pressured. +This means that the flow of messages is controlled by the downstream consumer, +whether it is a processing method or outgoing channel. +Sometimes you may want to pause the flow of messages, for example, when the consumer is not ready to process them. + +Injected xref:concepts/emitter.adoc#retrieving-channels[`@Channel`] streams are not subscribed to by default, so the flow of messages is controlled by the application. +But for xref:concepts/model.adoc#incoming-and-outgoing[`@Incoming`] methods, the flow of messages is controlled by the runtime. + +Pausable channels are useful when you want to control the flow of messages within your application. + +== Creating a Pausable Channel + +To use pausable channels, you need to activate it with the configuration property `pausable` set to `true`. + +[source,properties] +---- +mp.messaging.incoming.my-channel.pausable=true +---- + +=== Configuration Options + +Pausable channels support the following configuration options: + +* `pausable.initially-paused` - Whether the channel starts in a paused state (default: `false`) +* `pausable.late-subscription` - Whether to subscribe to the upstream after pausing (default: `false`) +* `pausable.buffer-size` - Maximum buffer size for items received while the channel is paused (optional) +* `pausable.buffer-strategy` - Strategy for handling already requested items that arrive while paused. Possible values are: +** `BUFFER` - Buffer items received while paused and deliver them when resumed (default) +** `DROP` - Drop already requested items received while paused +** `IGNORE` - Let already requested items flow through even while paused + +Example configuration: + +[source,properties] +---- +mp.messaging.incoming.my-channel.pausable=true +mp.messaging.incoming.my-channel.pausable.initially-paused=true +mp.messaging.incoming.my-channel.pausable.buffer-size=100 +mp.messaging.incoming.my-channel.pausable.buffer-strategy=BUFFER +mp.messaging.incoming.my-channel.pausable.late-subscription=false +---- + +== Controlling the flow of messages + +If a channel is configured to be pausable, +you can inject the `PausableChannel` qualified with the `@Channel("channel-name")` annotation to control the flow of messages. +You can also get the `PausableChannel` by channel name from the `ChannelRegistry` programmatically, +and pause or resume the channel as needed: + +[source,java] +---- +include::{examples-dir}/pausable/PausableController.java[indent=0] +---- + +[WARNING] +==== + +Pausable channels only work with back-pressure aware subscribers, with bounded downstream requests. + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/signatures.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/signatures.adoc new file mode 100644 index 000000000..ef35c854f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/signatures.adoc @@ -0,0 +1,105 @@ += Supported signatures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The following tables list the supported method signatures and indicate +the various supported features. For instance, they indicate the default +and available acknowledgement strategies (when applicable). + +== Method signatures to generate data + +[width="100%",cols="32%,68%",options="header",] +|=== +|Signature |Invocation time +|`@Outgoing Publisher++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Publisher method()`` |Called once at _assembly_ time +|`@Outgoing Multi++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Multi method()`` |Called once at _assembly_ time +|`@Outgoing Flow.Publisher++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Flow.Publisher method()`` |Called once at _assembly_ time +|`@Outgoing PublisherBuilder++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing PublisherBuilder method()`` |Called once at _assembly_ time +|`@Outgoing Message++<++O++>++ method()` `{vbar} Called for every downstream request, sequentially {vbar} {vbar}`@Outgoing O method()`` |Called for every downstream request, sequentially +|`@Outgoing CompletionStage++<++Message++<++O++>>++ method()` `{vbar} Called for every downstream request, sequentially (After the completion of the last returned CompletionStage) {vbar} {vbar}`@Outgoing CompletionStage method()`` |Called for every downstream request, , sequentially (After the completion of the last returned CompletionStage) +|`@Outgoing Uni++<++Message++<++O++>>++ method()` `{vbar} Called for every downstream request, sequentially (After the completion of the last returned Uni) {vbar} {vbar}`@Outgoing Uni method()`` |Called for every downstream request, , sequentially (After the completion of the last returned Uni) +|=== + +== Method signatures to consume data + +[width="100%",cols="37%,32%,31%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies +|`@Incoming void method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming CompletionStage++<++?++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING +|`@Incoming CompletionStage++<++?++>++ method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, PRE++_++PROCESSING, NONE +|`@Incoming Uni++<++?++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING +|`@Incoming Uni++<++?++>++ method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, PRE++_++PROCESSING, NONE +|`@Incoming Subscriber++<++Message++<++I++>>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming Subscriber++<++I++>++ method()` |Called once at _assembly_ time |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming Flow.Subscriber++<++Message++<++I++>>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming Flow.Subscriber++<++I++>++ method()` |Called once at _assembly_ time |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming SubscriberBuilder++<++Message++<++I++>++, ?++>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming SubscriberBuilder++<++I, ?++>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|=== + +== Method signatures to process data + +[width="99%",cols="37%,23%,30%,10%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies |Metadata Propagation +|`@Outgoing @Incoming Message++<++O++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |POST++_++PROCESSING (Smallrye only), _MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Message++<++O++>++ method(I payload)` |Called for every incoming message (sequentially) |_POST++_++PROCESSING_ (Smallrye only), NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming O method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming CompletionStage++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_ (Smallrye only), NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_ (Smallrye only), NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Uni++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Processor++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Processor++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Flow.Processor++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Flow.Processor++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming ProcessorBuilder++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming ProcessorBuilder++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Publisher++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Publisher++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|`@Outgoing @Incoming Multi++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Multi++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|`@Outgoing @Incoming Flow.Publisher++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Flow.Publisher++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|`@Outgoing @Incoming PublisherBuilder++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming PublisherBuilder++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|=== + +Note that in additional to the MicroProfile Reactive Messaging specification, +SmallRye Reactive Messaging supports the post-processing acknowledgment handling with automatic metadata propagation for the following signatures: + +* `@Outgoing @Incoming Message++<++O++>++ method(I payload)` +* `@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(I payload)` +* `@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(I payload)` +* `@Outgoing @Incoming Message++<++O++>++ method(Message++<++I++>++ payload)` : For this signature, the post-processing acknowledgment handling is limited. +It covers cases for nacking incoming messages on caught exceptions at the method body, acking incoming messages when outgoing message is skipped by returning `null`, and chaining acknowlegment from outgoing message to the incoming. +However, if the incoming message has already been (n)acked, you will experience duplicate (n)acks. + +== Method signatures to manipulate streams + +[width="100%",cols="52%,17%,20%,11%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies |Metadata Propagation +|`@Outgoing @Incoming Publisher++<++Message++<++O++>>++ method(Publisher++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Publisher++<++O++>++ method(Publisher++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Multi++<++Message++<++O++>>++ method(Multi++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Multi++<++O++>++ method(Multi++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Flow.Publisher++<++Message++<++O++>>++ method(Flow.Publisher++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Flow.Publisher++<++O++>++ method(Flow.Publisher++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming PublisherBuilder++<++Message++<++O++>>++ method(PublisherBuilder++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming PublisherBuilder++<++O++>++ method(PublisherBuilder++<++I++>++ pub)` |Called once at _assembly_ time |NONE, PRE++_++PROCESSING |not supported +|=== + +[IMPORTANT] +==== + +When processing `Message`, it is often required to _chain_ the incoming +`Message` to enable post-processing acknowledgement and metadata +propagation. Use the `with` (like `withPayload`) methods from the +incoming message, so it copies the metadata and ack/nack methods. It +returns a new `Message` with the right content. + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/skipping.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/skipping.adoc new file mode 100644 index 000000000..2717afe78 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/skipping.adoc @@ -0,0 +1,29 @@ += Skipping messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Sometimes you receive a message and don’t want to produce an output +message. To handle this, you have several choices: + +[arabic] +. for method processing single message or payload, producing `null` +would produce an ignored message (not forwarded) +. for method processing streams, you can generate an _empty_ stream. + +== Skipping a single item + +To skip a single message or payload, return `null`: + +[source,java] +---- +include::{examples-dir}/skip/SingleSkip.java[tags=skip,indent=0] +---- + +== Skipping in a stream + +To skip a message or payload when manipulating a stream, emit an _empty_ `Multi` (or `Publisher`): + +[source,java] +---- +include::{examples-dir}/skip/StreamSkip.java[tags=skip,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/concepts/testing.adoc b/content/docs/smallrye-reactive-messaging/latest/concepts/testing.adoc new file mode 100644 index 000000000..c61cb82d6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/concepts/testing.adoc @@ -0,0 +1,131 @@ += Testing your application +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging provides a *test connector* that replaces +real broker connectors during tests. It lets you deliver messages to +incoming channels and verify messages sent to outgoing channels — without +requiring any external infrastructure. + +Add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-testing + {project-version} + test + +---- + +Then, in a test, you can do something like: + +[source,java] +---- +include::{examples-dir}/testing/MyTest.java[indent=0] +---- + +When switching a channel to the test connector, all the +configuration properties are ignored. + +[WARNING] +==== + +This connector has been designed for testing purpose only. +Switching the channel to the test connector means that the +original connector is not invoked at all during tests. +Therefore, if your code depends on a specific connector behaviour +or a custom metadata you need to simulate those in your tests. + +==== + +The _switch_ methods return `Map++<++String, String++>++` instances containing +the set properties. While these system properties are already set, you +can retrieve them and pass them around, for example if you need to start +an external process with these properties: + +[source,java] +---- +include::{examples-dir}/testing/MyTestSetup.java[tags=code,indent=0] +---- + +[NOTE] +==== + +The test connector supports the `broadcast` and `merge` attributes. +So, if your connector is configured with `broadcast: true`, the +connector broadcasts the messages to all the channel consumers. If your +connector is configured with `merge:true`, the connector receives all +the messages sent to the mapped channel even when coming from multiple +producers. + +==== + +== Testing with connector-specific emitters + +Connector-specific emitter types such as `KafkaTransactions` or `KafkaRequestReply` work +with the test connector. When the channel uses the test connector instead of the native +connector, a fallback emitter is created automatically: + +* *Transaction emitters* (`KafkaTransactions`, `PulsarTransactions`): Transaction +semantics (begin/commit/abort) are skipped. Messages sent through the +`TransactionalEmitter` are dispatched normally and can be verified via the `TestOutgoing`. +The `markForAbort()` method is supported and causes the transaction `Uni` to fail with +`TransactionAbortedException`. All `withTransaction` variants work, including +exactly-once methods — the offset/acknowledgement management is skipped but the +work function executes normally. +* *Request-reply emitters* (`KafkaRequestReply`, `AmqpRequestReply`, +`RabbitMQRequestReply`): Requests are sent through the normal emitter path (visible +in the `TestOutgoing`). Replies are resolved via a programmatic reply function that you +configure in your test by casting the emitter to its no-op implementation and calling +`setReplyFunction()`. + +== Simulating connector-specific metadata + +When your application reads connector-specific metadata from incoming messages, +you can attach it using the `deliver(payload, metadata...)` overload: + +[source,java] +---- +incoming.deliver(new Order(...), + new IncomingKafkaRecordMetadata<>( + new ConsumerRecord<>("orders", 0, 42L, "key", "value"), "orders")); +---- + +This creates a `Message` with the given payload and metadata, so your application +code can retrieve it via `message.getMetadata(IncomingKafkaRecordMetadata.class)` +or through metadata injection in `@Incoming` method parameters. + +== Vert.x Context with Test Connector + +For the sake of simplicity, test connector channels dispatch messages on the caller thread of `TestIncoming#deliver` method. +However, most of the other connectors handle context propagation dispatching messages on separate xref:concepts/message-context.adoc[duplicated Vert.x contexts]. + +If this causes a change of behaviour in your tests, +you can configure the test connector channels with `run-on-vertx-context` attribute to dispatch events, +including messages and acknowledgements, on a Vert.x context. +Alternatively you can switch this behaviour using the `TestIncoming#runOnVertxContext` method. + +== Migrating from InMemoryConnector + +The `InMemoryConnector` class and the `smallrye-in-memory` connector name are deprecated. +Use `TestingConnector` with the `smallrye-testing` connector name instead. The old API continues +to work — both connector names are supported simultaneously, and the old classes extend +the new ones. + +[width="100%",cols="50%,50%",options="header",] +|=== +|Deprecated |Replacement +|`InMemoryConnector` |`TestingConnector` +|`InMemorySource` |`TestIncoming` +|`InMemorySink` |`TestOutgoing` +|`connector.source("channel")` |`connector.incoming("channel")` +|`connector.sink("channel")` |`connector.outgoing("channel")` +|`source.send(payload)` |`incoming.deliver(payload)` +|`sink.received()` |`outgoing.sent()` +|`InMemoryConnector.switchIncomingChannelsToInMemory(...)` |`TestingConnector.switchIncomingChannelsToTesting(...)` +|`InMemoryConnector.switchOutgoingChannelsToInMemory(...)` |`TestingConnector.switchOutgoingChannelsToTesting(...)` +|`"smallrye-in-memory"` |`"smallrye-testing"` +|`smallrye-reactive-messaging-in-memory` (Maven) |`smallrye-reactive-messaging-testing` +|=== diff --git a/content/docs/smallrye-reactive-messaging/latest/getting-started.adoc b/content/docs/smallrye-reactive-messaging/latest/getting-started.adoc new file mode 100644 index 000000000..9cc19d837 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/getting-started.adoc @@ -0,0 +1,63 @@ += Getting Started +include::_attributes.adoc[] + +The easiest way to start using SmallRye Reactive Messaging is from https://quarkus.io[Quarkus]. +SmallRye Reactive Messaging can also be used standalone, or with https://openliberty.io/guides/microprofile-reactive-messaging.html[Open Liberty]. + +First, go to https://code.quarkus.io/?g=io.smallrye&a=getting-started-with-reactive-messaging&e=smallrye-reactive-messaging[code.quarkus.io]. +Select the `smallrye-reactive-messaging` extension (already done if you use the link), and then click on the generate button to download the code. + +One downloaded, unzip the project and import it in your IDE. + +If you look at the `pom.xml` file, you will see the following dependency: + +[source,xml] +---- + + io.quarkus + quarkus-smallrye-reactive-messaging + +---- + +It provides the support for SmallRye Reactive Messaging. + +Ok, so far so good, but we need event-driven _beans_. + +Create the `quickstart` package, and copy the following class into it: + +For instance: + +[source,java] +---- +include::{examples-dir}/quickstart/ReactiveMessagingExample.java[indent=0] +---- + +This class contains a set of methods: + +* producing messages (`source`) +* processing messages (`toUpperCase`) +* transforming the stream by skipping messages (`filter`) +* consuming messages (`sink`) + +Each of these methods are connected through _channels_. + +Now, let's see this in action. +For the terminal, run: + +[source,shell] +---- +> ./mvnw quarkus:dev +---- + +Running the previous example should give the following output: + +[source,text] +---- +>> HELLO +>> SMALLRYE +>> REACTIVE +>> MESSAGE +---- + +Of course, this is a very simple example. +To go further, let's have a look to the core xref:concepts/concepts.adoc[concepts] behind SmallRye Reactive Messaging. diff --git a/content/docs/smallrye-reactive-messaging/latest/images/chain.dark.png b/content/docs/smallrye-reactive-messaging/latest/images/chain.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..7149b0201c8ca23473e4d07aa2babb2168f7107b GIT binary patch literal 68029 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%0DQ;M2Ld+rG0x6_+)AIb<7XYYQ`goxNLR78 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 R0dgBr3p1N5m6vWl_&@u_(7XTu literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/chain.png b/content/docs/smallrye-reactive-messaging/latest/images/chain.png new file mode 100644 index 0000000000000000000000000000000000000000..eacfc241c08d73d3113d721c4d68c37ccc09805a GIT binary patch literal 96931 zcmeFZg;!K<+deD^3Kn$(3L;WNgLH?qz|h?wozk76NH^oqA>BhaC_RKULkrRaNDVQ> zH>mgXK6gCp`v-ok1&dgF@9R42IF9qYHla!i(hu*E+`Dz_*27ma5-PWDVS;YmLd(Ot zgZj-aaAOGSE1I*4wAih(p{JXuAF$uZXglA!MT~#*iDr>8in>Jf)+>pZY946tw7aR) z>J4=QiVK1Qft+&q63S?JodHh<4CFsJ;oZ)r^y+%h-^KL4_;Hy>7o5vz^8SbOEE7@5 zAk+ur=OJ4oaJ@ibQ|qdz>#8>k&F`z%7jD zx6rUeZ~eb-|DPTHB?tl≻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%0AR3NTWU< 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/channels.dark.png b/content/docs/smallrye-reactive-messaging/latest/images/channels.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..df084e51db28a374c041e36f00e0c22597e28474 GIT binary patch literal 36975 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

      %^EaT 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 Uy)=SSpOFxcfsUzmEf^a8e~S?LUH||9 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/channels.png b/content/docs/smallrye-reactive-messaging/latest/images/channels.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2052ce4d34206f9a51fce2a687cc17bbfe7f5e GIT binary patch literal 47651 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 F{{yrPbAA8- literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/connectors.png b/content/docs/smallrye-reactive-messaging/latest/images/connectors.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd50c3024293457316a1d0b9b78f6990725647e GIT binary patch literal 115514 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 z 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± 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

      cyV$A7d@&_lP$w3`_D7{PB$| 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 NNl`hGY9WJw{{zJ5$kPA- literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/favicon.png b/content/docs/smallrye-reactive-messaging/latest/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..93f705b9cf8f220b2613664026ffe3cc88a87728 GIT binary patch literal 335720 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 PUc^9Apl;6jS-j`d|}- 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

      ID!LMUR;!Avg(Y-cTWfC`_2x{V#8#(3J+X%{F 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 N5|bCL5jOn&{{S|)6p#P_ literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/logo.png b/content/docs/smallrye-reactive-messaging/latest/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2d957bd5273da2c077a34f832ff2b90ee2fd136b GIT binary patch literal 352162 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 rIK>@DR%@kxUF#gRE-nIL=ZHG$4Qu|D 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 z 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%0AtGvm?Qy4pGN%$3yXmdqdIzUc_WT7a=ij; zuZQ#AVSVYR7Ana8P)I~{E;~chJ5G^|4*_S&L%(_IGWuN<=5BE4*wC^me%4Ev=_e6? zj6kgqo@mV*$4|k>*U*|w864Yo7bk+cRxL_5psYzFbun630JWO9Dx_^^e;MK02cf%& zIYTdC>7T&q+u5h2y7|>OTgW;r^W5!TURJY=teMbwBR+lwBngV2N}hsQBF8-V-sl}& z7Q~Mo$hhHl-y<1^IHNC^=J)+-C*^)kK+|IR(`gJoM>3$V%>SX$-<$dUMz7gF7D{1A zO9u!JndmR|ojO{lwu)S_6J3GwkRg4^Z*9@so+A*rAR_S%$OYRp$Vkr1xl91y4=4fB-glgoo|Qs(siHz$4Ngsi_$4R^=!2AidLp&$%}; z*;vYTW}Wfz7>Ow`02=bOi)rAQ{u%$|{K~9{OHVzL>zoioWS|R`6EGISPb_97IVp<& zm4+$-8wt6O?r4^V`#;eAsyUGD9hgsC*uM;-(8O1P7Jt@fxeOI>z&Z)BX266wN9y1P zOc<8_-2tYG1C32V>*49PRSD&IJXgGs@T4n+KZo<6M1BpL;mAj&pD>$dn-QAP{b6uM z2rcKhUvudDD1>|JWV?ToZ3dI%`X`b!{lz0=HU_2Jza#zZAHH_Y(WjO3>+lN&P4i}k z81Gxy_YO-zVQ-f86f%S%JN7BS5nuoDGFuzX6~L%w40kWSkG)sIA4-h+_%-K=Oe{u8 zRnDc`M6XbQPTW*R`s2)HBeqF*%3F#%9pwZ zCZ-djlV()B($js44!s6urdujLfpn(zV%q%b?@5@AVU|$Kh9Z=c6J>`OlXVe98o(!h zQK$D5{O7UQuaT;X&<3!fM@L7|IsMbl{m16DifW5J>1i+0wo!62iWaA*r{R~XNrV@L z2d3lBXDJ!y;6fq;wzImr+WFwu-BH*T(k28WhZsk>RN9%Jcj*hcn*0W|3YQ8RysP$% zy{l@#2u5G{wI6MEpZMpl23X@uZw3f7PXiG70(IX6S(eapyyr$f`WqCiaVqkM4|tMEw}j?VXpa zmmrQ12KHzF04u$ML2JCQ8?FSO%fA5)dZY9)70(aFFt`QGCg6obgVSwZDCb*5&)3io zD3(Q=5hq}6_qk!XP5eLz_oNwe(!`zP`4Q029&~Q5LYO?)YgtSl_esEPAcO1W6+DBz zxJe56noDY?~v?=|)J=-Xnr(#&UwhPr$m6oQbsfnEul)i}BP5A~5mSf6W5u0d( zPbW0z5%ZO=HWEzZn!~XxIsA&XO>)I{^&TLEe7Jz-O}O@G?TBf|EOrXxzMF$+6c$W8_Tk@OKv*9zembU_7NwVmjsu5^chU_g2L0)e z!Jnfoc^mBl6Er2Rq#;Yh5K2!jJ0)tx!4f9c`lDyHW6)hO7LQ}U_lNTi5nXX}GowU4 zFxrk9v4Oh3qnU9;9sdknW##sjas!k||5Ya;>{wLzey=A2qnao@F^BX~oeY%+BzV7D z#QW<|BINQ$>~G{`(Sa;4A73!9zXf*;EebN|=JiN@+aWGM6J%q=RK^CK!y5i-K2{la zrFK(!(c<*z&L4|CVrSRrF;zpuTUr`ChKbBN=x_uOy@%y%k>Hn??8;XD5t*RVR)Lkc zT4XY}^FY!5xnCplJvri~X@`jd$$=GhetiCy1B(&&MpL(Y2_ep3gzS{9-!pq6M-Quj z_;_*n5=p$i{ni9-K9S?nc{9cs6)5m91wQ$5c3rmwOS}UAb!p8|7dCwjO`h`yD;agq zD~77eSxwDVT0?^>Y=>OoG$G#jOcg;5Akeyh27Vjjd#G-N@y)$AsN2i^uC0iHqUf3^ zZ{XqgRDoxPLBTgKX1Cqa_VcbX4_6Qxz>v~e*d}Rc2zXXpN0VG}T#-@Sqaaj)hN=P^ zzI}^~A3p#X8$A1ums-q1NSUh19}E6UU&+%n+L0)h>e#6dGJZX<^*`<;fSViJLNKTL7zR&ok25_Egj|sr`rAThg;5 z!gG_&iTgCP4*|~1b`}cv!(ClHC{|WhUnztm6REz2jG+fPQMZPK=1su(2{Ffe_@1qQ zev5X9O!*tm6bq^^J$ZkHe0--JQ0$h+)AW3xW7{E!>V@SgEk7je=FOFVUYQ#qW(GDd ztwfh&L?ZH0L$6ej!NtUA0xIz}ej9rqyEF8*u;J10z89p8)zUJ=T-6!y^xbB>f#vO| z3!g|X4E7|Er~=k6Rn)}A_k_(Qf*{PmkO7^tIMBNL($Kp1uc(I#1eS1f)+*B6jdWey zW~2e(i<1Ngu^>Wt4b=kLZ%SVC)yYcD-@dU9t~NF{<^?V67+(9o`T4*YS(VSA{nJiM zHO(5N64vIduP{iq`KEX`aW(n}?VQ@6j_1g@GzqT7cKEKq=E~_(6rkw`F!tG3t_O*U z1qdibD~*?6P|BtEKJ5q!t{}%0u|J8b27#dY z^Yk1;(&?oxX`p)BU8{R=X>u&c~uF_E{Y2HHITJ$yR|+PTrAh5f}6PT_3kYt}9ep05mw z;y#6u;2(+w=)%_tpmbBLmZh%Kk;5|lL89GOlmTYqDm&gbB_lCD&)q0782?gqei_($r`~@H!f*|M!CN1WTT)bk_!`Ij zq|i5K3%JRm;*UFmaB(nY8+x6_#PTbuGqbo%U4*5O6Zk;MnW{TB8? z4V3{$pKPql`4Dm{MYz63yzCI*1XhqZaI8B1(m%oe4^TRTs@dW9xH?m&>J5k&j*&?{ z3W(-BL&Mr9qU3MxzYC^(D_D9!M%+tmL@e7g55SkQ*RcIjKKqAp^$D#88i~(ckz8U( ztmct){v{(>Wqqnm=U2Eu+t|+&z~09$R6}q9ouK1f3wL1ZNdl-$lP>2kF?P-8LBhVi zj~|lxZ&YrBD>mvlt_wf!qK_^N$1}35uwQt-okOYI9a2aG>5RGH5d`lLShyj@nv4^w z=DnpT6Dm=`zQG>AE{LmZ=~h@T$C2zWXpG~)2T$y9gG2yK8>>^nn162cn?F9=!^$G4 z=A^p433C5pI^r0k2qRP%`nB3XZs5Had_@5kEYQ@@q z7(Oj;+#qP(c8}%op;YNKj-4IagOr4TcK~Mt&>xb@+(_cc3W>rsNkuZ|X!YVmfh00@ zOdW{Vs9Z46X`bl63-#(&0vHRx|Cypf_5D%lTlm?kGIYi3Subf;CH-@NAc=i`?ZP62 zY4M{9x_8paVQm5|^-qoKaJ7*$8Z!-_=wD6o`~e^0ele-w&qevP!?kIkz>YDeg0Fe| zMzOZzK|kK;f7L$lq`rt)z`P$)_8Nt{kv21XL^jg2B%HW`b zBMqeSzwSVglPnTL!-W9yH4Lh!-{M#ABsY6Ay#eGn{FvQoOz&M&h)G%9ASS{d%0#;n z!2jD4m4r990EbBl9pcQWS7X>^+BYW<{e$nz7IziPue0t7hj-Q`0`gX|OBiwe`V4gC z^K9cM8=>=hJ1N_P0Qb_%j#p@Dmr3~2^JRngA2>KH%ej7`q{?FO1QD@k+0G_=PHmop z>3AW~oAAQ>zO@QZ8AGLGT0f({Jnlf;No7rKk%9B?!gRwzKLO=1+cyz?y8`N#kf4QB zPn88eQO9d8RNP|1U}-vF>FYn3$|5RY21}^Ae*e|`5<#yJqtmeoiI-q6&dK%lQkbn* zHtP5pKF8s4$m9hZFW7;o;K7&;O40h>-VdIB5B&Ux(-9wb_+-76$e?q&sevVP z*=)ClQf##t7pl3S6GQ_XIm5n`t#tbBFv7j3tFDS~WeS~6Uzi?{CF})BC`7nt*z51O zzX`q25n^)!ozf<+&Eq&wMH>xrk3NuG30%?bVhF1^=qV8i`L$vSCrAMes+b;shQ1lW>`fX{!;|)L)T1@dy2fyv70O`ywB?lMW z_l5@bHN#VmzB!X*46)^B{l-iU8BA&lf$-@8@F9|&eO0IDGw2xs@ae+jaLjyY6jEDZBSEQw zJ9$bWy7B0l7c5AY9Aq5GP@Wjf@ve$?vtBr@`hQxu&|=+4kuxlDhf_NNU3KeE>goml zw#tMiSEdz+dP6ug@x=ri9$9hPdLn`0WTKiu6>qEJZ za>J!x#W#xJGNh)54y z@#kP4{TcT4Ns(%}=(cxH?yDeq$7LXSH zC?@>9@PFFzzZS$fqlQlX1_A+6NSgiL!^rz{vfp`h=;%~4cr}6~(`L!or2zqiYXta% z)tv2MU^Xg6bD{(do!ntgR5S~|`1D|X>4z&L+^|SXS-IIP|GQZ%xrV%1-_Df0HVV^U z`KineK|a3~e&TZl8Ca-9{tg~C&rAi*46Al4=M=g`L8j&*^s*K~eM)BS@5%S_=Ro}5 zbueBb_9oDjuL6Pcvnt=NZDfz@i@U6;DV#WzKn9|^w-`R1*geU*caKTZU0ZbyFH|(N z+NG=fqDWtr=Ry%nF>AO@hT71;T$qph7mG#!gi`OWVFT?%1*B!pKMIWx*{j)1>gzeW zaA)gIEHe>*MDpv4@f?TC!|EtuFhgN52L_=@y*pHBPxzl91a|^l=?c*?6#iWdeuMef z^00dbQjXn*oX#3ZE@DV3QizC%tnt-f%D+h2o$T&fBB`kln?d(d1|*UXT1{?^AUq+D zdu243WaQEmv94e}oSC`$n-W=6SJjd43t`q97;8~XM6d+HVax+yvV9;!mB(q$Ey}rr zE&M+9w94zsUYZ_P`YXxS#qFq{8;2nvF3N{eu$O|4aN%5`E3Gp)3`RT~m$JCuB<-m8?=17vzLt?+|t^)x~ zvzUP<)90thn@S%N1e*-G{BV%I_fb8_c7T5&ewN>y(RP5^Tc}6jE?b z(3FPIluE+T0CNOUx9!@Gs{^KI*tk&tpRbPJYi6AC#Kliq%h9!o;?4+!BWV!sCuJol zR#~DqiOUFh#0X^t!1HIkD*texlxZWvbB(A`-E*pj`?cV&GW#a5P+A}oNk;Q}oE&{4 z@A~@MYP`yU)6p~e^l2F+BOK72QmFS^;^F)?Q6mP7t>}<8c#-9TgR8eSnBM%@J(jIPNcr{IpC|Fvh zx0MdJ_Xz7qd-+r-jGOvL;>WfN#L6Lt{{P*1Eqo2ynG|WQx6AbBQa+r4M~3l-m7bqH z7kI7K@2e+*HWRzQG&g%8ziyk2HnE=Xr&mAL5*=0@W@7^Zi!WAXVk_cz7iq<-C4GGo zzQ|Ug4@m=7Dgns`IE}D8fNa{A=NhA*sVHto3s_IE;fg^U&soBOaI3VgEWS6gi^n=W zSWc4JdY&rzR3A1tTN}UlrkIJ-UHFUtxj?h6irJ?a5nN6wnNCm^#`wH#aZwyXLw#K2 z)JI@?KxTFR#}<)PdkL#0ztx;z1}PX>6LD~suiubc>fJR?irnMo11TkcmD%&`z9Hy4 zG30^`p(#iVO*EvLA4vXvs*(gm<;O8YKjH`Ha^b8JcEY)^SYu`m9Sz-cEhtKTBiZqS z^{^%QiQAUS;Yr1a2~GV0&(ZguW789Sn{583&Opr$C0wb;r-DEQQ+iLq+X-82&Rh4d zHc*=GCACvoFd&*f#m=7I5h zW#g9eDCP!+-Z7O(&_^?gH`DWwUwlhi%1n7H+UxVY?4gKYO5-xR31d`$m+@a<>a1au zucnvcHI9}Q4{ah4Q6w;^9U<%4c<~@Bg=?er623ryJEw&*73%(4ftxjJ= zG;4e+ZIME0mUAphsUX8tA4PEDv@-UQ)^YFfcOBR#jW_T7~Y zM!94XK@zK5FU6ObNxt+2eD!!IsrTa7k8+&1roE9^R^9|MQu$?NWx4KBmHUac)(u32 ziM6t341dzBJF57yR}!;E&`BA~B|oKby2kqYO=mnxiCKBa)36zZ`RKp8MC#cW@V@RT zbz~?{-0p!yabXwu`FX6RR_7skAcPaY18t7QwOR1uHu(pTK0KShy6pI!?5TT<$U%)j zVacp0TzvV8)yg1XQV#i|)aQI8{suJcZ0zKE zA2ZrkVNKs*l?3U5Yl{N2I8-Ukh%MJ~79UtlUg>6QT-G3&DZ0Aet9Px6UrKB`W;VO! zv})uG&-RDQT&xVL|4!lmPKAfban4gQy7Q#-F%Oc70jW|#K#ZPv$bk;vfgqou!m_f% ztAK6T16<^5s0gWfEVq-(s0Mb%y6L4OfAyGG2L%#2anhhGg~r%4ECji-gQ(HC0hSS1 z%<<>o<_oGrquP(`wc6??vf*v zXVTENJP*0;!l(E(GJM$h6J*!pU%Qt33dh6TL^mfZ2JlfWJ*opM<@Y!$N-dE#=+YRj zcmT;FkNwGV+b^Ba>JUKs{Xld&ppl&dwXwv!2z}RRN?RD#Vbt5BcaT z45jH7CXPSyKlPuMjP?-%|BOfsqFPrL8ylN~PVKw+t_b)IezcEzOI z9y=AAEddD5bGMekLmNq3ev&gZhnq+xub;|P+g3~n!j9k_Q|=&4G$Ju*)-ur$ntN8a zManC2aZiVW2BwM}n}N&NJ5Jeoqgl98(vCztU8j@7bkBtAqdd;rJqv1-c61nW$3H%_ zxTJDd4GNIJ3_13tkgyI;{ZJ{t7E2ue2C-q_F7tq^?X@_h`tLKmb89&50C)ZqZ24yu zl#p#fsd85K8jJkK*sdiv8Wx0*u|}3aVt7lYH_3u^5p-xuq3eJY8~869qi{aLJFGke!xmn%n@=Hbc3L?Fy zKcTaqy!I3Jb{5bq7}l);s26yL%pr+~SJ+HQoKiQ)bDn^4GT5>)l~IouHPS~l!DMGF zhwRW`QCzQ8>>&x4D#X+!jUEpLZJT(-eAC9*ENux_p`_-P3vzF$s?eNnz3dwd4UiLm zNC<#!LR>f7%~YIO733CAQnz4kIxwl>LeWZ-V9Coi$Dqave2dLEQ()FU;U=;@Ylw1Or3)D+CSLLJ|;1k8uS6YBXOT`ckImQS<;H~9r^Vr%v zn}1n_CUnl?F})*VntxXl3nnQ|63+bKonPjKk@}Z`)2&(DpbbN46x7bj`NiDaT%q-Y zXE3RkhOckib!~Wz4$DI1h@f6#hSstQs9k~XJPx1B?r-{Y41d7zd%(SY77n;q6Ziki z5xY{NZ=2Xf)v|Ah;2w3XxJjgFi%h^s+UuSDo*Te*&hE-!N(`}huoFi_>%FDP;_yKh zV=h+mRQ*7Cv=s98XAi^BN~IwvJCykRuW$=HC~iChXRg#uxQ3e<$*rpZa4UQX$d_X+{K@^IhukPIwq_xbG6U*c~ytcP}qh^BOQzi`8Q z9)Tj3^}GE|?A!o#7iF%^GK!LkI&?a85;M{9J_ zL2-t#DcnSrDP{#g(XB7GDG@75@$ms#+OCNJ-0$zW61OGMpmcNN zOR2azQ6Q$aciASfEjny0CtLnR%LJdzZ*q7Or&g}q30e8a{uH)81Y*AjzT2YMz3lFNAY_o!GdKw58AJXYfL=rT#9 zYtE(4S48}i_nX1$MN4+ao4ApXB34k za+xl?3Je=u79gso_cm;8RZR`DFahjb2GZg{I?F={DQgr09PQA^+jw= z-Q-jX3)BMEQN|s^x_h|nWfhvFSlR+!HyoYxrsy%*nE&JDv|^t1r%$*uLImcquc}%P z`uflh4YH>E^nlDSyOyp+JL{2}?ikhHi=)8lN1-SIGpwsB6-QS|s>$|)(vxYw+d!&j z4}X9Co{Os*^*1f#e@XB@Ss!9@7z4J2b^6hF{dRGvo`Z@td_G+ zpw|R+cNLE~1VHd0t^wc&rjnBV(=$;WAI|=k0(0_<;^-7(a(1)vB35175YywMBYC#E z2d?k<{yJ*2H}^md*_t+3lz-=qkxmY^kXHGfruw`tXQsB9`*^yWD$?J~K=)XtiF&#kC_jtq zTAiL_FO|(Q8mPc>bf~6+c>)PkQ#|`UFL(F}NQ2b0m;Ev!UMXD|3U2k=Asg&Xp3L1x zRaK0UNMxFW5=~=?AL`DdB4q;K4ZEO^)K(3lYpH}ErJip4h4hEca1CuF;irhXxSWi> zG-IR@Ykhh+COJ`F_n*>lonE-lHgD$x{%^UY0K|RCI3hiThjY?KuiPe4nax9);7`i} z+Cp=tg@;3#$SO~=m}4Ek>#fr?Tv9|hzY39aDsfsQWQ)rI=)!0#6-mwk+k)%8=0W#H zXM_82MWIx_KxuC`Kjb*5nD;a4VDyj(uW*}I9#XozOy%1#`=Ty6XPc~+w**PhRm{p0f#YLmxVVa2NjNjswcyM65M zc$CTctm!GGap!YC?~sh`sn4-QkrA_txT|J1g^uzxC^q63zQ#k_E!7({i0FJz^~Kx? zA2bN>5;4itK*6Ov_HO*wHxx~vzuu#^hsLprXv$7Yr8i=j^Y z^$x1Y{u6WpS!d{>Ge*Rv?5;q&qHf$|OQgx>X1Y}n1>KN)<=+_wyR$ot*u1~fLXSy$ zeDYXd{Vkv|;3~B1tr#&Ba!c(#bY=^zI=ZrxSEes+2LO);{o3xO9SsLSDVj zJDV<5G_Z(gnxk~3_M;QiUJCTV!Z~G6Qnni`p4E2(h8?{2um+Sc6NBk!(C_{Ko4f+ovf)LuUxIkt`5Da zH5xBEwY(ZvTgk^6)54^T7)|DOcL($q(l^)zPKu|4sfHLMB4TATqSQs-Q*ApzEw0w(63o@_ zddStNmE@Jo@qidGHDO@QXaD5btpB&&G0!pG&6H1w6^xlf{r$kt_%a~@$pgQNHGxw6}Ky5Y4;UM&F7=E zqoX5>^ShjCz@R)>1Cyu}$BL>Sc{Qx^s?;t!r1$?M`QyxE0c@xy8sg&X1oB6JMyNbG z+I;)#JA0yAxpAQPS>%Q)Pe>8JmsJ=MpF2sv+Sg|s0)LL?Sx6gta1|hTFDu6k-bD4O zGRl6RRLh&3KPX50XMin_R2gie{~KFoTl>ZLQnLm+c>N>|K0o?*(L+(Mf{80FxflNY z;mgFwNz*_mO~s=*F98zMxq&;G%?h3GmXn<`$J+)O!k6$${YeoYW?4TP(q(imlEX+X z1}$(0JuL=y{XRRZwFYRdMMl?Sb#k?r&xwVFviP01<=*yNL@-U-nO~>VYr>rBs)l^ zP(r#oR`{{_k>H<$3PPI@&I1A{SF3bu;qN&NEDjj&3B)C8DiqdAqt#|e4ZV;z(giY> zhEQzjOsxGy_3fVnvVg3*p}6^)i6OP?epYLNPJiF*ir$Z*?+3^mnN* z2LIXmY~6ODZUSi98D@f1$`(>)>Q0=pu$3^!=S-90b-TBMCHugKo>DsJa1IHgUgmD;15r49&Q)VO9mkYnZ}LSkxY#ya`G`g>D+m7W&| zDF7cIkF}iW{9YN8F_W3iIlU`4SusXWPp@8Cs%6>|8cfOzkT=JB+ZG|)tj>2v1|#%x z!_ZXCyZF6=4O23I3L0;ECmT{U8mVfo{p%Zu2`msz` z6!971qF5Y0hM8uISLt#hI+B{CT^}^3JWTb6p-)69%h;w3 zb%R1t+PGy5WQZ2Fy!659j>$$``b>e!L-eJykh>ZR2kK0-WL$;Fe`&%Kh&>Crod`-vhz0Sg)QKLOYU9gx4HUKg%jFlk@aRUq^S-wk#OK z{buSEuFbn(st>G%Ha3#a4*>D<#WB7oIDDYI+M_@epaXJR){XUe#5Z^AnKh)Fs)+mc ztdpx70HV*bFh(o`Ex%P=MS|m}HL_#vvaguVDB0$vtCPJ$n#b!C*h96wQ)=j%uN3+v zHoArM(auj_WXY}s&P~~L#rx; zXq^gT!e26XD9pL7jlfb#ot*`xa=whmUJ9MY49({Cfp$JW;-D~{r)g`^Nm}`G3qkes z-yLB0jbwd5AhOvj?t}G8)o?ady$V}$06&(NXI}zS@BY&dg36zW6u}H(kQ>8{2;hq( z4ZO0I@5H8(?D!uS0Oa(MviX37bS{+QYsCcFD8V~d6dE~)xrWTHWmOG~PWod=OVrOL3NIMeAsJ_20<#sZkitvWaA>z@ZQ1>dw^*--S)5@Jc;MeZZ zggu*WZ0OI9A|uIJYO{IYC3g`EAz=ORZN5C8fe&(DJzWFXZf!INuvZav-8cGT@b3Fz z&#hSE($cw zUSs-Ar>n(y?&t_Kg0#Z0@&5`ipdL#tJu(0HNeY1h! zsvRbn?e6cdxe)>=L_H_1wBOZHCa)iRMkqeRDN0Z-sU^*OB_N$3?cs}i$T2sDXaKT1 zSB$m`wwh|HfVC7D{d#L#fg=}D|I)Bl!UGD=l+e1o|IQ792DStktV>{r(Y<;e!EsPxUV?Hkd;~m_U}@tn^G~jl=9e) z`NY1?-Q_0_6YYDW=d3V1xy8g$ohaSRzT<`@@WGuHdA^)+kNypgQP^Kpbu?i}V60f# zgGB_xXT}B|3BS1m9kY%MId$L8uLW5zCq;xBvPtAm(g^11De*c%DmzrzJ$REKONVHG zzEqh}Kv-F-LiF9y(ZJsRBs^LSLsLRF{*6lcd8J#V25HJ2XRO+Qxyjt??7#m8kE`WC z{J5t@@n?O>Z^Kao#iQOKvF`FnByR1Oi{iV6p_41Rb>wahG{qxj)+aJ#msl5=CT~&W zKn?kr85pc^{a91vS&1R7#_g4Gs7rqTM$T0qL2gs>cbcFeXX;aY#=_2*2kosrpqghE zhn^_|(NQ)!_<-*(34E>0j@5nA_>i8yaAMuDRT*h<41cZa2{SQK>ktI$@i_p6S^0r+ z1D*KB_VUfu=5OeA(XA3hD8Ry!IF^x!4N%VTs(emDNex)GIz0rCtDV1_EfJUz&~9(Y zc-apY3CQtSIf-h@;>yZQp|C+FFt@0;=M+MMq&h19@&Z&iDaYQx)LLISbEkt}lV z0`4-E=~4^Ao1=@1r)wZXbbh|6^?_e(^{fkpM~m59Gd{O#Uv{tSD>#?GBv+w)E#IJU zO|qi5UJt;8LhDIR$UQc__W*#kN=>tf=Pt2eku)0#t_W4Kv%EugFHzqx@R+{(4t3XF zZfE^&AA3m-h?$_*X!$ErnvPMIe!1}ddttJk#k_ml_Vy7B zyxd~AQ@i-Z4u5|NS8KYV%d|b&yfxT5fIw-%>qiha$x(f3T#KR zUByVP(=b<40Kvc2T|?+Dw9YRruL?NP<_b>}vp%ny`XmZ#QCtdCwa6`XgrjRS_O8EK zm(KqSXdi>17B5C2oX`JmVQxteFmO7gtPfWA48&;@L2_3lfln$KY<+y}{furHC(fqF~ zZqz}!Gaj<}61*Xar%=B8q&@!Xn7KbPn%MS974mxFbkOUAr5}Utt`rZnBuEVjsXQ%n zS@Q=J%g02*2eJT4?WfMh zf5lKY8n#Kd$oHTVnz+-qV%Zsuf)cWzKW4>)6D1>|=z}fLx{ZAGA;@rIP{oqx02Q7| zW#u9M`~k6d1_!Os(S9jrD6fi_ot>huc!}^)h>7L#3h*Cpx-X%SYYj`6g#lI+R6bAq z&ooWj(S~h}Hwb8&VH`#jc}aIJg|18)^RoZ0WrVDQz=PJ7<%QAUN31R{Fc5- zKkHS9?&fC$`<3nYp7QcB*IVv`AwdR>YIJu415>57=*tNl8WuF6qFE`#ziK0D&E-^h z7-^l5>U0ra?r#GNK)`qn{Iy?x#lh}=$Vk>*tUsiatAxhe6+{26;ull2^()doGylW{ zMhwfO#D`Wc#-djX@}_=fY7?wefiXZ!QJ;KDO*&3-A;55t;keqlT)(iX2E}ZpiX?;W zvp12i`+jF+^3kB(#;mD;`g2ti?Q_&&t@zboD&?puz}qP)Q25YBO7%7fJYrt@7FW^> zc_^o_Q-ULz;s@G!tV?q3Ax8Bd!F4m7jCQ|USNla!t9x2=jOxs7Jj}L;_KMB-0YYZo zI&;cxS~NQ&8Dfi2XR(s6tu)W?Q`v zB||?T8f0zrxhlUo&eT&qtAWIdDl02TyDmp>h)3^9PHz`M{IbQhD8uHFuSbbR#&@%F zYDr6ROmt(!OwKm?>YXF*xEE7TU7i&6D65*n#(O%*w}us6?NSiMD%w`I|InSG`mbZX zhS@S3{o_@avH24~Y8g|uRX#wzP}Q9ONLD>o^$h`62(^=*(*WjP{IM~!;|rgDmq4Pu z!ZoBA2=Oz~!VFwJC&%Wk$#&Oud@n|~TR_k+_al`WPsw$pLqZM6?u7(hb?G$q}Veet9Sf zZR+S4!{lR;^$J6F!4~X`cy+zfr>VYSWpMAwQ2xm|HcjeLHU956 zWQBz8nF{HJIfmMp#|sM}{AJJ}Ll#Mh)(BYr5n#U~w)j8lII7(Wlgi7w z)iazXlMDN`Wct}tC=>qlw8eLG?q?pN+j|jR3Y4%2=A*=#iXQW`A0}ge(ud^VU7o0zGJ+UAUxnwiP_dy!^N9u3UB>tB+JlV?jA*cSs68V$?7_q|UxTci z=$rDl%F_yB?gT=HK*xoR<)}AdNZCY6G>N;3LuZZ#{658!HuXKqsIlGqQ>CwbeEPez zR1oxo>Wlmdg z&-ZeSJQGgo5`>sv)5!<9<_nE0;j-b{)jM>XJE=F#QL8%&(!92`)7GB*UZ+@z`|?WJ z3xPD5sromd<)yo(L_)*FG?pkUCLSKGBq?L;6&l_q!$pI>Ngs~UPdsY_b~4(W0;NtQ zY4GMiTytD3+7tO+-V<7gGU^p~{ZCoBSY9|#?sE^#ik5JTmo$f|p*2h91Pn-GL;j{t z!bM9$NuKJhz;-IDpBrwNRuQ1vT*-GXnXe5K-}2`4wLB73o354~*FsYoM_RZoKNoHa zuI1Z?&KN^_1;U&~u2prJ=n~Vvgzx$e2M-?FTs7!idhySNI$Di4=oN}&t#Q_90t_G1 zEQh}>5!!yA_PM6AXL!;O2m@+N;D=KT=(jWSPOO0WGVsmfC3ge9A6&0A?w7NtJ{F@P z(GDWTr&zJ>y0-|uTB$XQz~9U_cUIVn|9%4KA}hX>u2z4M33#Q=6+^=xeh^#Bgh3Q9 zR2WJ|L_{QIbHOUN_w?Srazg~j{dRMvE(}nqwbpPA+UO6|6>W^25=(C@6HraAa$Qht z%^FMl28aDQ2!% zc@9oiR*Y_<)S0{MEk_~TK5uMbKj?ASxW+-(;BeW2IERT}p(|o11-{%Y7B3KgVa82j ztey|rF^9b(mo^&uH5y7EI0VW91gc^y~ikZ(&SJaE`75@<*O%4dbv z7iw8jQzAG{LQMR6%E-_KB{L-!#;87Vyj!%tnp#VApbSoD))b5P{m!0v?2f=bp>ctd zgXy+;h!$6qpP}=IlG!2oP3~1wONHq*YW1_*1kC60~=N72yVrC8aWLU2Aq| zeC^AGH(HbeP0<9q`%mi25HJBkPt)J@a(xSdA+4S^De@JHBxeECM9nE%*@d1E_y}DIIq)2u`Gu)Md@OOrfG=uqkqr!*Mzn1Qnd%Jg^#}{0WeX zhhsHpQF#Madq8`y|A+;hn;N4+4D&@hgQ#dC4qMJ477Z~}dF?ly!zgwE{eWP&ZtD}O zwgdN88Bd!cqK^LzpLwBL6Flw(OjAIxDjuo+!V+P>e7kyRuRraTL3g}}Wvruk9ZaJ%%! zSVQP=-(>u%6TN02`zk-8vWKuF{wsRYfS5W(ySMs64N8U&2Dpc8Dli5nP|2c{c{8{c z3Dx2>;tfy+R<_s}alPaC zgBmR>svBM5C)Bf37h|uIFKhnqagoxY9{d1ZZAGfb7BPXVe_R;qFYIQqW0WUUo%2<~ zEu>#vIYCHQWnNFjA$?iTn<97gAA#OhnX{!KD~rk zVyv$Pm1y9e|9X>jVQ2&qvtF~MGIdz0R!$UJ_Vfx9$=F`qaCBg0?UfP-d*FuyjBv&Px@e72H{|{fln;OEZ)KN{#hOt zubJq%+i9^&n`otVago%@M&cjon1wg)VWWCmlkP-vtB}Tmqt~#1XyKm*UeOrdyR*b2 z`H-X0P7v;F5f?cn>#s7kdmN(-W8R{f6Oc|N6MBd2_3##55X(relSc{iy=ipMZl=(_ z09ec$jkk8|wRfMMKUORnAozS3(L%L&4nAkp-QDz((y zme~tH`$#?*q*7wQNo9Cv1z^iItCL&hr%Q@phi}m4E=`f~4_1cnv7QN{u`ai{GX(_9 zo(FH+DNrcGOfwxn-T1QxhF@rqel+0I&^t~_=?c*fGp55STWx6Sq-u7?z@`^9)>X7G zsAQACYXy%~g+{lS-z3#|LdSY$e&G@Akhlymgdfz^N}O|j)ygg;O`0Son4HJ2V$62$ z)Mx+D>ar=t%lV2n{)K-pDuxuA56_H*vfBHC6hPpdZ>U(>5WF&nmVTJ9eIXuoT@DuD zwNQnH1UEg8u%-aZ2?lMLXS!iiZEdeH`@kRRqp3#GaPm>Pv^pvbv2)uRR?A&G#z$;4 zLno>ymvMtQi4*;PQ|xa4b<>k7p*Ev@7Tv<#(5*$q^DSJj)gc2qNuGYzV^24%A9KGd zZJT4J{h*}QNY0zW{T%7a^IO61-wKzUL=fE|B>xEL~J zFoixR*CKp!F7u$gO~(|cRb8gX+->O5emS4E`-O<87EDq|22q1Xe#4F#E&?GeGjGyUJsh_}4?B6FsZG+u`C7LtI>aE1S zIlRWOwJK zUTWlM3O^B>!kEI=%-U?gT05MNOtR-e3E)6Y0s#N&&<$B!I>H8LVm=5zC(~LT`B!$fU==#*DswPVo)3Ta>B2Ez&8W z`bOuv@{W*R0V4KlwbV`RjFehQBqCrP_$#M+ zlmj{oYXgLHtPhL6y^~vAQd_#i-d9XDUUA>C&i}(lD3L=a5AhQt0iN%_Fr*7}w5?k4 ztqO_IIm<&ImI{<3fkd)4hdlkM!0tVgt8VyLq-puJ$YWf30%ZMQ1wSP=R4K<3IvXKh`|O1pVpd-o^vWdVhZo zGVP|Dk#FNN0a~7M=eH7z*||4YSFe}rt;Tg0=$4SPxPn(!R!Go9N4L(vcR%?Ry-+~r z!>*QHtXplt&^NX+=c5hG4XC!{!qi4oEPiOx$E9`Z`uY`ThWM@@$@$#|9nq}Xx^Hiv zPo`oC_kI5gf>xOXh*F+^_kn?hh22C8D31b}l1PfF)W0oWl31sF!$!@}PLK~Z-M@`N zr$PYNP!Pl4jQ=C`dPn|;xx3$H4>RquaS8uN1nn%RKh)$x2i0hNTL>Q+(SI7dd7p$BD zuH*uv!NI^lsTfc-+s2DAwWZq98p{BfP|89)r-!?G>NhZlv_+=04xKf1TdN}C@sF=` zYYHa9qwT;>Ia<`yOgR~mx-lDTYaNG>xslx%^?%j-_FJHOcZHyr{$toGnCLw(A#}qm z?uI`yXyH^CDX*$RwiLlcKiO)ERH+JPma7p)sNdwzCE$9RheMG!0a>{6HCIOef}n1t z!q6#devAHm>KWDhCx0~SjXtvB{P}i!Uu1V_ZUBE=fD%(%fap@M++^&f9;p0|pft}D z%D_{03m~ian}2Bb#^f!!$>DX045|Fp>{L_qG+p8r6B)zpLPKMgwx#--4o$t9^WNR? zn@^)OQ19hJDNF&T3hhz?E*~%C8eio%rY+paE7}`K=-R%cHSgdL-6zCd{ipi)KnKL3 zi3Pj$XWWD$01j{@iu?5`ni}oMu~;po=jc~)Fk?s?iY5E3wX^gXj{~reF7iF*?+xvd zVKq}ofq`8>+@?}8lOlL5yu`$t)C-i%-ZcD2Fo^6_kiVn?C}slY0!X=@#^K16^InIH z-L$@~kj!#XCavJHpvpWdXZ3ea{ey6(*x5cZNy!dFkLy6A}`ZPn4}u*l`tl42-Ei-Znx zK9PTzR-nfKp(Vy)AVv@N7b&Wgz^ddN{KR~Dz7&=zYEp}%p9fZ_bF}R67#&I0;3W%4 zyp|UWo@XPqDkdK>(dx`uHD6kF&#A8JxJK#f^8ry5y6Y8D(WaZ9rz!veQ5ObS6Q;<} zdq9M?OnYr<^)zZ@}H&$oLzCGt0i*0mPvk=!LLWV6k|mBvGa z>bAifWal>H#dgVOcCBpw%xKUpbf7n$E&7Nfr?%o_aMxkpgJ>&~$ELH5_YD1Oi-pp0 zJn`9VsB>s^qjCQcz+j&Tga5a8fv24q2y%=MHsY*R;xy$WxP<0(=LF5vi`BO`&WR~{ z1f|`tNaHeqpkocedtBJs*o3Nc{Ss;;lvB7NTeKJ|jBVZ9R%}|fu+Rd6e`Y>F9e4iW7^DK0FyUHvu@ZX{ zQVrsOE+r1sLG2lyu3J+^@BK+@OeX5ro4Sjy8|RGVRXiHX53?Ov%(P|1wi((tRAD>% zye=n-m|nGuL(E_1yHgaui)ZagZhkAjfPM;j_DI(C9tiHP0DO0+F7 ztkzcMus5uW*WqlH#8hi(pdHK<<;2WPBN6q{4MR+gtAX@#MKT~C5vz}}v$HFXB@6Ds z-x7}bDd`*kZ}1rmg)+j8k6)&}chcE6PWb8LM}*>|Tr`|Uw#+T@U#=OOHP%)uG)9>t zLVgZgNY-7|J_kKGYB?@KX_^PpO7Ri2I;V)wFue11xqXe%x5d+1%nTFWNLKEYM(Ee^I`pPt+LV7t7`PQHAt9S-{k;VMw@!W`L6el*=P zgKIC)t<}{gOh{7?5sLh?(rb)@A2 zRhHwXC3c9ot?oQ0Z}gTACC#|Tp!NKE6WF%|kX8N)L*La;1ICp*zsZlM!t$AFgD-4B zHk${TUR2HOi zI3V>}Oe+QCGc?!{R5(FzR*ECQVKRRukQRI>GYBZAP#{VDlFz)!=bv~=z%KB=|Hs0C zMsP>Qv(&qC`wTsyd)<=wDxF=*(_F)mjb=-KaLw^>D2aa6#>r_8VHHTGU>MijDBmhA zJPZM^J<}BV(Yj)TRAzL}TMAGto{jOA+9mGRBVw|w$ZG5R((6Iz=LkRpeZ8+2wc(2@ z;+xRv&`MYK#SqzsTf9@oTt-`8?%wC4#}4YoFJQ@w$k-$k;dvO*#KHvi>jjo!>;6iw_hsZe6lr$YNNe{PZfE?H54p}+=0x+ z(WB~kD0EiywQs=l-)vU~_cx?k#wr)r>EHQ(QvheS!LuO6X=I2l@+MEN3mV5XA{iP_ z49PelnYJ0PrZd+cqZohirg_iV7FFUnH1pFHvSwR=_kI%J5(SjjG5w9Boccsy==C@A_2sg15h@2d z!nZ~KZ7QTg4r8y0+-kipNqQiAervZRxL!fsYimpH^Ko4Rf0Ivt*U+l{jwsp+6kU=I z&}gpya-Hl9D|zxOyK781$cpTi`iYtdrb4T#z^7Ze2ujIg;FkHI)?=ZBfJpW169j0hXqxLc-<6k@&QW!kmemw$cp_591j z9i`U~pSbc*tzs}Qc6*Qd_73CTZN@ccp@Inuo17^;*}XhaO&kpS#B+5DbvAl^&5|o} z9r0KS3|mgId0jT%az9+y8|0mAnwnk#)k!S&PfbR7 zM)myAO2Nvn%FJ&|crwRsB%b*(FSD|^Agd3`ak+v2NgYbyRKBlL*$k*=8qNeU2&lIy zsAmP%aj95bo5G`f$J^CcC1}`rvNN`UQKuL6mIo|GSd0ETNVa~>5g7WNvQS}n;Q4Wu ztvFum;T0)q3tC)Y@#Dj5CfPVid6d#wI7kT8!#VhR+b7583dh~%^+OX*Dw1qZE}PA_ zLi1I1$KP42lbwH2Jj3bVQCn1Nf80R@f1j)UP!rwZNM$?Twuq(uMy;BgkEz)hSk+*q zO_Rtv7eIptYt~0=AoWS530xsfo$!aAM(qLa+?u%|b5o6u3SDTO{;~N5Dtew1;wQy6 zr9Vd~EP5D##w?#NT44so^>#W3O03H7XQihllwG{Gyur=c06ANv`lH@#2BoO3y!y$` z?@O(N8MRMpBclqYmV0Fj8NCfm_*Och`S^s|mJFbPO60eh-T4v`n}e-L!DWf{sYU;dMVq zwj6tm=f7ec(5z&Qo$)QwGGxCnlCl)P1ABCim&N$gj>3tIz`;;X%+I%ws&-0R_#|w) zUQK2WVmAlK*}KK@-%3lZ8tT9w^X&{+sVgjw)PzHEG^*2=7&3m&cchXF`7}`C zEinHhyrp+f15E!RmhNHr91RZAmP42;hQ{qr>7r>1Q z_y$kN&Pz(ei0x ztTSeP^N+f+Q1K8m1_xzOesgrnl-ji2jGJX+fXtQHX%%=ybvGhXs8@a=%7$ZTJp&uq z5ce5YQ*-~~HyH)|)xx!YK>=co(75(ospTSb)j@?_xQCi7NK$WDIM)mGFH~AkIAG7Qf$_1Pn2<4Aes+w04c5V02mYyK~gM)6Lp4|7?o9mt4&9rTiFX-m5P1!CpR6k2r&v)a5_5eIy3}2bpHy z5-dOWE8=u{qn*T1+}OnG^a$)oA1$nSq>SuA7)3$!YdZ`dUp3ZRUaQ+i10`PG5z^rH zJg^_5Q!(Qn6m@S2cuvE*GipCVSiglS#UGG>ceRW!DSYXV2N&Xm?_}fz07HjhSu9?+ zy$PH<*5j!w!+?^EKea2R@_XsAoKO)Vz0C-ScFKw{rEKV--I#%Ye&DS<*d`5KiXRMs ztFDKubdbf~&RiS`RNN_6MRqPNFZ&C?Efi3|vZ{fMqv~S`$C#MJ!5(D>L%bukM&4rI zY+}W8ct5^Wc73#Y55ms^splV{h+RZoOHvkYjdJx#7Bk`uX;0Sj48z$U+&!zkanxKmH+pybwg#x@}+~o(t2Z{i7X-^@pCAlM5OVVKMCx&fvQK zX*H_5ugNQp;;Z%KH^}27<8_rht2~Wb&+%MwCzrs2f-lo@afk8ZH{a$ZV*ccy?gGi7 z$6w7%{L<36Z-_akL(PwHgj3kQGx*E0><)W-9xpUGWDUG6*!Wl8a?q}&7;=ny#r#W_ zE)?Aer)fmfudSfmwB_tT>EcLg7;-K_zI?4G)@F2@f(Tw`zkbt%jxd`MtH^NU%&D&E zF&IZZK0eM9wI#De8U)8Qav^lePdC3&QF-6Sh-_V=7Wz6pMOY<1+4T}y zy`LXu$HhR|e=Rm0G=i{IOCP;GM3Bxb4Z(*pbm@R(OZUUM{VPsl!f=W-3kGr+h9ZIj zw_gg;=D*8Pi%+)Xi85x4tm)cfcj#5WEUmS(lf?T`{^7@EfPy|4<+&>p+4%$0oW){M zaiC2avLaE(#54vZ{Y0K?DAMYIgfNRvWvF&5Zl*TNcQMxQOtsXmsFUM;oz@r#!$YR; z?Xr#0B|EgYFSMcCZjmhp{6Q7)NfSw5Rg*}39|)EYnq`>4=sEpf8kyUXsi zUc!=d?`9*JW|oDy>| z5o>r^h@;hC9RRtvpgOrEm6L_qIYLhB_mW2TIH2v}<4Pb!&_|-dtE8Y+R2ZL-AQJPH^EEwt}%LuDGm$3-m zxmevAeq<_7E2YS1P*EvIur)d*L`0PMTqssJCYc0eEm0<*Tu`A&s0O#*q*^T|B6<>d za&jX4)$7dk6#9(D>#+;j99br6d|&ErEp5NhV={G+#kS;if-Bfj>^OQ+WrNmSyWKU& zzpV{`6pLmGF*sYIROMC`sBGPQe~mKM@RymTvmF+N~7quMtV} z4g95kF%c$mNx$>HOG-!wrxrcZ?7z>nLTe!ZPhm{}kSrKu?47AzVo|y=V zJwa_|k4j>X3J00yxvv~XtAu#}wxAyetj=*5R=6{5=|1Alv(@3}ZxTP%TB^3&`G{Kk z7o6w|i$)D`&#_xM>qB+97nDEW#gB^=<~;ZSB*`2QscXM}(+6A~fPm@OR+QFyMvgOA z(G^{oAa62LJv}|W_eB;IvHn|rOl0zjbVD)du`#ia0lkI8Kx!eq)Kj1jAb$y;54Kg! z#58BfY(BJEQoIK$w2GAd(n#vc51GMuc&7=BW<(d4P+Ay}hwE=wfRN-JvaXZy9`gJeOt7kvZ8Wtp zu7!S2xs?SO4_^n=fEELS855 zFT-<1!{GT0YWZUD`M>0qDJqI$eGj^Q5HP?+3k64)+AKFH1TfFJx;D~nQ|(qPkXtxr z(2Nd6Qv9<8c!&1Ly1idIowU19UoLeOHjbTac`lm@BLh6XSx(p0H4HuPGh)a7JG#I( zPv7A-WY_A)g|h~FanKAmSHruT%F7Sv7UMM{<^Ixde_b4}H1$sI)VsF}K+5t2(v9+Z z=a|$bJv7?iC)ZaB8DB~qttIDN75h=ja=!ev3NawUpxCt7nu6nsAf^!grLIV}WWhW= z(83@@8E8qt9p*~|wm3jPAK7kr?G*0rfvL~i*_rfwoq+4XM?=*S?$U*qx9S9AufZJV zk1n!jCF&+$KP*AKX5oJlM>S5ddlMcJp+5Mh*n`qZrjz{|P}T@!`TF|iBKDGF=cfMr zc&?GZQ0IbVi@Rm12rf((jv1-RFM4bSHooM<{9^~9NCrg_>hHxFS?E_gX=%^#49yo( zgqZ^(y5ysKsW$_wluyuFS-Cp~4<3JmdaIxW#f1)eD7 zD(&60fO7XnAYl~LCOL6SCxz{5_uFa*)}Nbl0s4Z56XP0OKj&H;Sor)!0J9K)pBMui zb327x>Elac2}ZWoM5rf5Y^nN7Xz523zR?*1U2zRvw$p;N@H2Z@G78Zfo>ju7)k%o2voWnPd*Wja6D8dv&S^a}MggUrlh~NXzU+O}%U8NB z`aCrmgfIQiRO$V50XSaKlr9|f;xVFi*W@x9lGtl;I5??H7q+i;0Ft2kgg)fI-Pl= z4p?5PM!TT4HgPiDdv66wCp<3RyY*GE3rZPjVQZhS%#P49?Y$?Fs9-8bY=GAzV@>-! z_sw|D3`HX0Nz%xgD*KwXv)5a$pY^=P<{icI+E(P> z1c6GdJLHdyc@pkR|H1wm2B2Og!Q3N-rxRS`fk2()*zyBendtZd?39khQq&CT_**XKfVrtD>acii6G4pZCo33T z78x#B7H)~+x?I|}lsI!%8a~!!J3Pfa3=J{6+!X94;^miJH zwU*7^+j`*F9!zOLmMZ}uW#9+q%?KX7$cq{-6ZlLmJ_{*jzkH_9NHjZRpY?xqOUspV z5=DTszV9Mzz_&cbE{lWBQ=-)J(BB(*0>a}qV)=M-QVJu$iRBhkz? z>U7y%ZS6gOe@g>3?roW3{%h5CSNPji>dr9v>7=&s(~ZfmN^lz&5jcMiyB_UWa;x(@ zm^VHYGrq|O&i@o;i+1PT+~NjoHT;Dcw$3Im7v$;*Tc~Y$%GIbz8EUUP^%k}&S>vOk|ZO`JZ%wDwwPOfsq)AdyuC$A&wfYJNHk!j6t3zC{(xCcFd`{p+QHM zJSscu_HDs$A_*~}xGGYugiN~8KNhRy8Ol1y>J-~l;EFL)%11&4x93i1FsVC((~6*g z-9KTtOEOvBa0c|+lz5tcDpl^g>WZ!pE{Pu!aeWA3*sV`W zBfHIFcnAUKa;}tdOa#;s8hdZ!ds8~6Q^M#e4i?@syf5Xw9vluk2ZaVHWZ*aIQD&r+ zwbj?x)4?qOYMEzL3y^Wm&vScQJ_5p!XYxTW($P|@I_z-;(8`u;FfO>QetdUXWk|9F z;^OAkd_Nyq@Kz2N5qB`AI|`ScWOB%HcVm}9ez=S<($^)?&?m=NVIC+)BplK?{3up2k0~bw&Ip$~yuf4A z(55F5;rsz&(Dbk!Z!|wQ*Bn}S^?BXAmiE~pAh-j$c~VB4Tt&K1l3EGdGxz?1Kn{mMI^S#%N^n9KVJ%LR$7i#?%+4RBsvUFkg#CD$Fh zV5xR!=4Fo?y5_W9*d0vL12fq1mg}L1AJV`-6@i zx!pizdKvh;wnrlvo$;J~ zdPA=J1N&=tho8W6(SVczyjaTJYKxa@{!b#5?>QRy%MZX_#opW;a8bNFe^M2CM^P%2 zTBNck5xgpsO|Ge%eex4)BAOM??iYxu-P^R{8f8-0kP`HZOj^xds-G1k>HNmygWXe3 z(|T^M&jDy$Fp!iNnCa4C<&D|DZT-V&>>t7_?;s-+J%wB#e5P?MJ3H?lva>CeIsGO) zVqjeGETWSl74FNMp|i6bTgWI36mwcWZ_%T+ep7pZ9 z2x4=(Jsix%21u}ipapg<4XP{zcYlUcMB3Al$?K%y&rovQ4wrN{tiya-7#JA+O0wu7 z99vy)|8l$UQB-JDMl#)eIJ``OhmPHzd3H@uyPF`~m*|o-kXEp`DPxS`O6A7}Ywh`e zxDNg1j3Y8IfA#n*fKB6n9bm+T(H^F=Q7it{SCOR?@9KfKC3cg zq)tLVL)?7GE!a4|PpqRt3~KtZ@WR{cY{>4i4PeJzk9~Hl4!7$ zPI+W|`~d~#^KV*e`7dFaE=Dph_I8)P6dB0QjK~+h$QnTQw#|@Y6)b;WDn=k%n)s&%qR^i~CogBO=7B9lr z#ywLzWhY-S!tmmy!^3^26ZErvXWTN(Pu73f*#f+CJG?h&7x=Kic8?4ir^TU(dqa;D zhs-+dIRLtlzrBF#wn@4||A&_7!3lni(+c2ge7RM1nmpZEG(X|ZU0AeGHIlV3tRjlZ z97Eu*)wv8s*0RF2GE1x@t7s)wLcGE^jd2160dg~+8d|TUtRj5b7r@h*C?dhQel&2v z^VEK&)+TsNo~H&UmE$5k3n6 zs2O+Q3Y`-dK=6Y}JFzNa#K)hR0}O%ny$Gu?Y&6s0w2b8^=*%Ui^CGF!Alm^6%cPl3(e5c_~TjNJMf{|50wi03H^NHsAao(VrX! z&8H!vpPu0`oa>d400mnvoDv5u*dyPWR6K{#;H)_tU=`a$H=mEg&_2(xAi(s!rXW@@ z4s3#G$}{Ny&T%|kwC^!mM=y-B*c6bO8uE6Gi9B_F`}RPw>*0QZul5L>1TeG#UbhHM z=OF%tM(&0wb6|YrV$zZCTg)ec!Cm9JpNhUv{OR4)$SR(R=;-g$KWp?omhTg!P|g&p zz&zNDc_jjR-tjaq>2CzleyV9^K(}TF*zmMQlY$3_Q!H7#3Rv~%9u_nc%T+EC9AI;| zM}NH3f)tiOV;Zd+uKy3PjbwtxLqj%Tv*DZLLlE69-b$-uJP?DOx##3$!twh4j;-#J zB07n2=#~3I_TzVKul?e*eumQv20|tfCu+-u*V6TTf;e{J*OI?-ln-R*xvZq`0HVit z+V1Fy*2)7Pl)iP(gmXJ0_Z??*_vp)oGt>i5eD29m3Qv=osiuy0pDWwb2g0rmc2E>1 zxp4NuvEuY^>g!Pj<{4k>$bQy?h*ZDp^D!5f;Zzn+I`|<%!jx{nIl;BFqUP%6#*S^X zK)5FP&A3u$yk7;#cQ|3R!d^ZDIw1A=jV2=p@7di#;EIy|JzzSO6*#VRiF_4V#$xl9 zh(x7VR%xCE7c!sC>1oMTAWyEwdh_FHZ|@ zOJ2(%YEj86_T5oi&uz`^@qKpSn73e6;O+Mdcl;JiB{jE$ec#j&Gw6XlE$MQ{31JE? zpV0Tjt*p+M_twNI4_R-VX5&R5uZ~&fOOfA0nz23{BrQ#IwyJJ^lhaaaI|}YB?~o~F3Hcg=oRcI&W@5YpJLZjjs?ftd&STQPiv*;yif0M;=ga!1jIqzBWtSV zZrRQlq}~0`3&027UmbRP_oh1Pnvl3KDwKq7CGV40S2cKe0!YcNj=~ax%0Q?mW3Jaw z65=Dl9P&k^9Cfj?XV;o?k z?v0r+5Pb1usw{f{_hIKvmyHzm9W#5UqR`@yOEsFI3rDhu4$^e$pqJ7_XCS#r!yo01 zGsKz;D_k$4;D4aKr>-n<;;RXK%9FV;f3X6yBRNcP+7>v;u0bSOf*9M{&hD@j&0{ir znO65|fu|}~jrUv8m%t4}Wk;@E!1$njwQ_%Xvg?Ij6G;NZse)89rJ8>!sJj6v?@RmO z+U}ocf5~KxR(#c|wq1oM9ajd5Id+$zjPH$rmh?O?9#t6b?p|Jqf@^t8K z#YMy(>4g;tfvQ~t(!D}6I-AL!n4abUGZWVQ{QPx38Nb|?jG2T3Yn*a*psxeFfh;Xf z#UGm^PxD8b*99HJ-bJ5x{@I9;T_Vz&!mKye_Q{Avqr4h=G8Fk)sF4z2-r*I)E@|+n zn}8Ire9j4yNc+xy8g(-cbDLGAeo!;ZF03anRPVbWdOmCVFQ0b8Z4J-91gLH}Q?X~X zat6(BtMfMxjIm|YYWWjcwlraIvQs8yEKVTLZla4b(Dg}7rVN7E@Sq`gT9A{n09Qvx2w~uiB4y|k{AKH8eKD|DhnifG$esTg_4NWBHeC`HBiqO4NH^r|w zQCc@)(-0pLcxcS_3XVIZ^$YMf5N}T$v|{X@y4ZQzk@*paC0c+T$#fjd)2f!K>ZJrA zO}#K2xrzIR6*g-|9nGXYu`yJSQ{9}_iW{nPxz5KnU5A$B@s#{z$sw_)lnsAR4vVj3 z#GJzD!<_Wlj4y*SQ!Id#VXAT^^ui~CBtqTW=2^ASfBdW^Br8_D@X;b;c8G?N9+va8 zLY1choACGj9x4wpQs*_(Ka*pQlYkK7s=z)GBa17sB#5j5nxR_T5EL^lH)LN}m|XPs ztRJwxQ+7Gg?KB3l04c|q)_H3%VSxe7IBzsQ->>ih8)dS_2(M7N;WeMl`1iL=Z7T`+ z^2R@NT53io0p}t(V5{vGY<Y@J*E%!12fNY4K&c`&T^>8gQJtV%S)p3dq< z%aptzI?m*b|9B{2XywP;KvvM5g#l3sgMeOe*M}ilJzZQhysK7}LAv~KUZaxNLqwsR zPrq~Ps8qDI-^hFbsJYZNw&I)~7Q=;>*3;^{T7l<7^efF3m2!Ew|ERcqv{ed$5rmsfW3@2w8>TCpC4MCFE9b z_BHbwr`dzE0qr*I+jE@ay**Rt-2@1PgK7C3de_cW5$cWI=q34h{rMLD!8p(L5#)Cs z3$i1;oG@_}z5@z4`^Oro!+w_E4MBKx%Fd&<|Gt?wwoa?-w!_BNwS*s^ zj?C*=C_&m(%P@dlGxTwHXb?9M#|`}T(kQP9?iLYnkgA?cJ&70=TcR}n zJmT+Hg&g_p<#u_ZD`6nVr&n-}{}aMGlN;^j99Z=AJdm5TO6+ueGz z$icX8j5M$z`6W?s6FuY{y&d2wR@PYi`hZ~7kT<pNMX7435)aHhp_M>kt3pYrvM~jLms!fpGy?@BKl=L?)FU z9#p#RigptQek3a}>PVH-vJaeSp;K$sFprs)7E?VxS$3$0m!YqHP5jED12du#q??h(LO=feJS{VW zmWjsPF#i1Gn*+||w9iY`#Snx&y{u^mboH)qzOO0qBODKhx>l35^3*3H5_({`P&q%l z+(FLu&I6fT$JM<7W#r&!69yT)tJMJ*f)4tH@xzoHvOnjrha!B)vc`oxfmxl8=^e~} zp$6>aaW%CR-|}C+;&LLJ%pG9TTUuh znTShiT358y`867+9Yku0EV?@r$hDGLuX61x-+LHt$s`e`3dwA?ANjtEzT;8$RZF!q z;x&9Ji^6Dub`_Y|IKKRfO))V&?WP7RxIrZMZN!8DW+=cOhdXb$EjzIwKl%c{RO$0i z6rPB5EE9Nbd`JU9uc5SkbXGy;T{h>@ki|MkCwoVLsnksEk!5EZiImUPoadoWemX^@ zgnWTH%qlPXPY2Yb<6c{XR>b#wR64}FyPxF0ziF3mNlp+7$p9w%y$(%y#}`p7dfY^6 zucz)yVWf%Mx$=*2PO0a>#&^mKID7m1s$}k15#q$C+a?tXwiaM_{icTgL_!EDq~F-?-xS&~+g=F>q}6#zq=b_+}~9@%rFAhYhoMhb{N*8i3vY zY<>2Wq6@K=aaXts572hO)7i8c~<_LE3+kEvcx$lrB;hl=6W1R|dsh6wl z=4%xZlb|=9tO-QMzB!H{!P#OB{R%3crDhF24!uJJdw}( z(i_d??P}9|k!N=#1IAc^O@J0qJprpbiYu6yqFdN-vBnkIKO%OE&4gmSMK}e==s}h= zgbrzNUQ*yEdX{G-qK~hyz~+YMI`-_0!2~*OL^@UTe zKp_HSw2(qhZ~ULc1uK|VKGj;89RAoT1+9-EkN6hsg}v49SQtxjw}!>~Tze*N55f0- zOtv_l(~NTE+3ch>DC=U(NaobbA9^&OQ*rL-*$rH7aoH?2{szefE|?A{Z`8W5^DpJu zFQOPA)D~hT;sg|Q-2NY`&N3{jw~y9zcL*rmogyIJ-QC@ygmiZe-QC@#bV;Lvgh)su z(wzg$*(3k=oa=n#8~fUOp63^9-7EJ?sRTYEifnYl#rxA`0I)NGnI4L&lm*1e^_YC! z*72c3n!iufaaRuFmRS>2>Xv!sYCm`*!e$A#O(eoN>-r;m(NfvTOirBTX>W_$lFC~Q zMgGly$gER4IP)u;g!Ea+Gfm;;p+nyokBMFd|+Ws#>7?)(6qlqF%*?oZGKB8GPV zTtTMzLL1cNNV?#UJ`TnldQogd7tVA@Q>xLy0HVC1E7ox{Ui|!_z}QP9B%|+5FjS{L zjXdGB!7}u%S`z<0{uk^_3_Bv|kA1t*#-(s(_h$ed&~m>zfKU!hq*KkPW$658g^rsf zd}+e14zo{tx#Inr2`24kls_`M!7=BA86JM}2w^YOeP771ZJSl`G(MiPq2i92bYqO>(EEcD0oWaeC&oTomzB(B5C9s9e+2CG=)-9|k{8uin>k8t1;zND zvH8iSPc1F8ueen^KT7Q)SE!H~D~mv){2=h495%)oJZ5+oRD-yX<&oU>-NZ+Pk%MD^ zedF~Zf|QU#nNl(6J}I?1;i*2a!GwNdy-m(ZMh@+^w%wbexn`+#6a4z!Dv%n8eE7pX z_S5{4+$w?p1`P`Bt5>gTDlKD~R41+VFstgRG~YL8zLA@eYDNdLJ=*V3UOaVvMY+7Z zG@`?vN~#URXetV?-NpKtKhDb!qt^x)PN$_>g`Uq*Y#_j5L9+0c<+=JfMKvR?G*=5C zm+yLAB8*^};i?>}y*-m}b;bC20!TgsI_6j&jN%f)Gz<#fx;wbPHNG4Dn;j6=>=B-- z;=0Q)>`oez8WH2V9Cb*62eE#7xI0n%b21_xFlh&uLgx(pt>3N%e*5^l=D`Cw!lDjA zS>cX6!(&U_W*OW}O{&6gjjc+O|7BP)r=c3F<8sf;LJs$wj`zJ#$Vh}kPg8>kl)pg!G!W}0M zxsfnZ#_bt2ITBne&fZM$>Zlz~p=zQ^BOh3V@UBTM-sh9?0<9REe$LeHt%rvIqsTw8 z+yAFJh4uWRD8%*wlZ zO04+;VeZPVfeT&3!AE4LJOkdws(&D0_$BJ*rh9nc2oIb4jPQO_gLGcjkz&43=lk}m zK%%N*SA=&$@1Xh*Dry8R8Se~IS`O>OzC1@Fn&bxtdi+Ih{Fm*{1SAK}N2{z^1-Fv_ z32boep*qF4;M{*)Th8DrJh3d^A^;E~=f_mY+gP5v*{&i1@Gkls06DDC&M}`;aooZ3(PZM{j zu>c?C@OKxVHxRg-4s_E*RSavzeU1zY8$_v_{vl)Dd4pmsMe}y~e{NrlVsFo|G*E!4 z@y8OxEP(M{+TTSY%{86Mui>AX6^~H-n{_-e%@{kTS62LlMPK(;E1{@~u+%3f6u6N7 zBp>k^MWg%sJM)?>i+N_OE%i(ty;&dmr2>-SKdP-40xaKU0?by!bB76Z)!Z87);696 zNS-eVq=oHt=+V-cw<~4J#jmZJU@7;r-cmhgr^U?NBLWY4d+!ZuW$K`gokYW&*JQ$= z<6vLhX5TZ70s~N7(XGI<#%pCpY!TjI2He{VQOJeBr4vWtDVPiGn^XJVB=JaDsSe0e zP0)3%MO&HzBS1Ol9KH7-iUxhsNDD4n%K_#Db{taBb7PjU#XsA|6`Cs_qE9Oxga8{N zpf@gF{7!&TU{<7SRd~0c_Bz9FVexlMSNXe!P+CJBNXwl0YynP zYeE$WW0EFR$X)Gwbj2f>_FHNy6x?xqvwlE*tE8)|sBau<{0Wvs+vGo{3FWio?QC9E(Dn56tb+7k!=Y|}VB`5> zh+|8|Rpj3Z)e6{9#bgn17f73*(Vy*T*XWRadzyl-umn-37pi)^f^XS2g|2Xm>exFp zH^G6O!c}zIr6L6YX*Nmp{I{TAdh@~nf~!nW4{wU3Wb}S<@utlCw}$SjBSmT<7&K!% zA#$O)rseE;Xwskf$D07ckIBTJ#u4fLR}#!6=Z(=qTAg$6Vh-?@?pq-T{5uWSywFV@ zKi+h+HSkmY=UIy)gGKuD#rOJ9p0lJ2ZKKSe*s3w(6P`4Qj7}0$2PaA`)hDW{QT6n3 zdx#+Hxf^@vl{@HnhI+(g**lH=Q93yj3%INXmuVAYU32xX9k%-;WjK1@xp4WN*Tpce ztjMpnnD$5c_V8b}qG@r}i~D@H;vPTzXMRHklgjiB1k(iJjgf&N@RJ9EHkYiqk&R>Jxq9-pn4QHAk@94)K_8k=;xxWc*eAFGJgpqU%!1d6`zr2!FK>yt!MqNC6+lv)PpUZbot zQyl*_3W4gnx&q8EP8dDnvssMdNKO-E4->Ep6`?ma2 zEK!uBR^VoLv7(dg8%`3bC-k+5$%eCESN7MwK&g^}VB)h!7h^2pODQa+Kbvn1`?5>s zZ$|88z+x!d#x^jpYS>LKI!U8|!c$*btvDluPTNm7=mVFw)l653S$bOfi^=6-p?yms zll%+Kum=L@H_ONmob7~0>HOl)^~fDCV3Ql{{2yxkF zRj%i73IhlV1U>6t-q^nq2#k1pj=2=SXrPX_3n*U~%(;|AIV2a}Z{`rgi1s>fg#0E_ zQC0^%8t;D1N+~R;Mv$UWfAmyyS9|2)DE{03>_~8GYJx*~Z{UrbQ?8)y3mS{Vjjabr!HsvOkBc3=Vg1|&e zw~A^RZPTEOEBC(nb((7buoBzWWt)&CjSH-TLG#rK3t{>BVz~1MCgWD_@RB!bqN+mP zTO*hxy_@hwINXEwj9zfP$RtT=YC(Xpw#BxKHK;YMpYieL2%;{DmIa&p$ z!|dag%%KaWf<>&&>OTl!m+|ssb5b&w`Qy^L-(__^gHsq;djE+-i=pZz#_eQ)QVo5f zoOB4z9o%C<^^uiNjXE+2m@&oVrE`ZzM`^_Vxg1hInqTj85A!|(L*AN`#R)!4U7^T+>?n z>RW!(o3muWTjnVm_|(11w)5hif2+`>$2X}#^Zu*fYIkYr>qquzC3y?}kRANuf`1(x zE_7`k#yu$yJ$wNvif}Nn_AOb_<{CDUOY*d2l-NTB;W4J|GptHK{$W->SFMIDIlWMauQ<3q=7A7l(Cy*2D52vU zfrkgCrH5UCPm^Q#wwAg&`ZYZhc6<$k+rnNC9nH<>{rrvh74)3AaH#jJ-dK8KMzzhv z8hv%WSspS*R)_mL4|C@`lMPA;sSQjRaM_2lBKedbR1=F4Mke2p6Uo3aj*C=s)pUOW$e&E5gAokgLmC%$6?)Ah zq+nvQrB`;%Q(AbgKq}FjHP#jrZFNO8Zu<}G*pF~b3p77@LJ!aOc3`^-BoH!Zy0d(K zVXG!%lp+ywA*VTAsKUK|UZ1`7QiLO>Rg6nnhy^o)`d&A>hEwmSU71X7NGjV{ZKrph zSGKF4`Hy004`bpA2{U~PxgZ~IzBFcYY28hM&SpXb>0%L>vQ_v7%q!%52sgfNJy?_t`Y98 z$6_IgMq=4wQk;RCasHl3vhKh6N+GZuMtg0^_HTun+5Zcr(UmsbRSmw7n+f^K`xS)nWtREZvAB0jnUAL0znDDsW$=N!y&nl_7ZSC(aR=ZZkVpa~G&AGUZ(?^fw6@+W zwQQ6n-ln>C_te!L;nZ-y_domm^bXF2Ud&iO_Cb{XeNp~vxhkTHPn)scsySKthe>;o zw`S*PYdzy9hc-vCjSm952#g=10jvtWz5sXZMVV{DH(%@T1w6)lT8|oqaX-46@3*Fs zRBIT>s8!YhJU_wW9H+M*q2+?yn+6(oows*mWvDo)AfxJxZjzIAY7@{M@a|XQ!@I)GmXFqjq)rbq@bh^s~lpFHBsLm_% z?YR^AIcLjx8?roiE6Lp!Y~_4IR+yMLrJ)_OS6d~ ze|R0JQNENUt**`qb--ZBi~Mio0+lmA=7mo^*RU1}X23*Z6vvN6@pgpDfDnlU z;}?%a%LiRbL!SDNgW1Ib8!POG=xe?wJq9)*AL!S56%;bmURb7m7>ffBGBeTA-U!5; zk)+-kY!DvBU7~gU5^%?*fl59)=F(1ZOey#FfQsIRfFjS@fsf$hP``WH7S<+YUE#R@ z@7mo8!nt^mcDi?0Ha@2@?z$NSF!s>5P^_i)&@! zsWJbSkd~SyZD2`DF*U_KDrT3ks*=tG+@5YM^4NU6#ch5HIsYs_qHxa6D82Z2u3m$y zj(48Y8e7V)vT70W0B+~(#z=5(4ZjIphh+8pqpWu}`T-kO^ePtB=@HR53s+1hsXQa1 z>Td~_YNmCcLbp(kw_4#YVU$d^9v%TZr7?&Ge^SUFT2qO;DE-9GmA+zPtrnj*!)l6M?4y>gd}3+v}xXH(Ai2S9~7f3x^#-x+qR zDuSYhgdh9j%5uGvH{n92V;-XlyF$czEzVm1geD)bqVy(We+rNZK+)29p_@3h5D|gI zq3$6&*BgQNy8g>#_)rxceHM-$NzA+dKG}5@xQ$B_&xsw?=Q@_2(*{l>s)#l9Aif17 zf|;4+3o&F26P0^hdW$kthl!pPEj0)uC3PU2_5*H{5)1DpL21|+BVyYRVel@UC-0kb z_R;8IYu;dF+(P9wvA`?I{YhPQ37yeJck}c#dL*l*c=*OU%ri`Y&j7jkfp9KwW>(nr z(To2K$Nggx2BM_ohLT><`?xnA_K4HbvK0PWU=INV2_R7omwvpgHQ|iOf*K&-G|N3A zinHJ=a`~~H(u!?BnFpM~r%)HONxlK~^NgGKE^S-LGuFhCm#6J=uJm`RVw4A2R{QGEkz`ugzG}}e7qbJ;% zK~X`Y!1E&lLpdUMFew{wmQrL!Ow!<-Dn3L-372YW)K~6|XgC*XXx}Wb z#Qs~>HqL5Xi8cj17)}6`cJa%TC9;s|-RJj{!~m3W+bz>@&+Ad8^nM_`GP4`t$C1Dn zU924N`+AK(u33E$JX&y6V+bXJ@3bae@Il&YwH?pE6I)FM8p?M=?f2+UcmCIV4$}$T zEQGz6;OSm9;S`oPBsb2&KPPuTo1ZHvDuR1~L4mz04gg{04F*QPS_=ycA0%9!;3&y0 z;UsyFq$OfL4!0wbjG;KGGHf$Hci5Ebl{)A{hBv)P59?C9i;a_{dB0%VHic_+K9 zcizz7A`EcIb`U>5FpwudQjbf3zmM-2mEGjSgFqKfPz2myFMrw7zt;o?m~MwWUHveJ zfF7Ryt`%um{gr%;1vczaTe?Y|nwflF^0wNW*$80_Cj#^a$Z9s`wOuz?y zSV|j^BY9sdQdAVcguZt|>P<~$rGGK19L?sfj)FC?{`w66av`5dMI87|5V)b%jqKc_ zybcia1L>6zc4;gP^HzS)Sxe`lCEdQ5%>Sn$z|Hsn z;!W%b-M19#m{qUJ)5jaQe^WTzM)j6vB)wOWuSZFo`aL8$VcQW)*Wl)UVBeQ8(L@h& zJ`}G->SkiSpzXJxdcp8-4(F-@Pzzah?ffL4&zg2zv-CA!z>{htS= z;xo$EB$WX5+QfNS>UAhG_8YaI`7-4N8sC3zDbNYS=;jYo$$3-rsb*!Jfc1vXYl@1J z7C1*7+{;2yhq9sVwxWF(1y!$@;2Gh*0=MI~Mh^Kxf3@S4y#p<_8D${i=L*4>uU_>O z19qO`{_URuK64B77RH}?U+Cd6 ze%fwHD3=7}6b4 zlUN;jdko))`U`uCNXwI8ES+K&8n3VPr1fXHbWSWa-dOGb#Qcs8UjlEfaP!(Gn!*VV zQ54Oe0}S@nNpZRSiOg$_V#z9fS~K} z`eV1)BbbTmbey4pKvRdPP{@?JeiQNSs8bqqE}bYK4>Em_vW395ARXpS>O1nPRo6ECM#W%g=5|1R1mWYV8V~ zJ>t+#1o)!b5VjeO31d?ACt_I~AlV?({94}`A{y7R^uuL+V`F2EgZQJUqJU$f1*?j9 z%j(Xjq-o_Wp%{%F{)xj?ey+w^dS^a3;Lvggu_6Q{k`ZJD!jRwD` z*_94AQJXhUm?yJ@3mWQruCobcon2j%^7D9`5@qbPTd&Wpx8?1;nOFie81lXUkeooO zL0EhkGe60tyIHc|6>{S!j9u4^0V$^%JwVJ+2dOYS+W(@R#QNhpV}t*FoI$7{>Yxw{ z3W^&Cqz>R9@<~ii74D)Pp|;8yrEEa9)a`yWSJo^~CZYovCWhl%eWNVD_&7gm%TtwW zznZ9+4o#(7{PtbnoKbS2APLOZ{&g|7$eZ%x9a{nFN&<|#_*V01wCKhIE@-`ssw1JZ z;P3`quml2ati$wy;m@3a4c<-H2!tot4?mOFQHOBKNa44Wn)goT39ZuJ#ovaj)u@c1 zp)#rB?YUHuuY3hM&>-xcT4oVdlJuNky*MKhCBgf~uUpPF(mtZ%H>SI`ntXgsTLA3@ z#fDJZ)f2ps-u|b9>7Xg}@8ZOuBSFbCOY}5}8Bynfal0uLT9sEI8XqvL2Oi&I$S{3$ z6s%r?LJELEh!L-a&c$o^s=01UopE{gi8cxp27*>x121Lwe{r}-eq!;fVk<&j$$`0| z^oADcL!)-DT8j^G@5zpKGPK8jgExa9@Ug8Q-_Asi@9cT>-U=)HiVqt8WQR*9){!ed zljFUh5cYR4@xCILq*Npz!q1jETUq6r7{v~o<@}cTaaupXq&&?y>w)6Sd^iMuyjb2Q z%xB`_rB&XrOXaENF~PHb0+a^y6_#{6YyW+zs_PY^k5zti8AVpC^Zk(nYD>EQbBGkg z#EceOAEVVr3*G5j-W(LOYZA<=ihPx_?+WJr6nr^F$H8c`(H=pfm`~ZYKc~M*wZFJa z#9@Nrcn{X21Y)&0W1xgZ16gCQ)LWsW0VE?ohe2r{Ui>SoIgTwi<~yEaV`Q%Q0?Bhv zU@5{PhRtgD>CnedPH#qnL99c`u9)B?_Co$Zqb>wsmGbVBNyn*+9?jW=w4 zaSQ8u2FY4CO)QJoLB{)rOv^3&?CD%n{|%y8p?zUmLHfvZUxo!Anxq@3Ef@|g*zjq!53!&J=wj5cmmNwa^!9DQau=xkIqC9I9<4T z2(yev3LYg4q$+eN(L750(=okf*GC%aIuu{J+N~70>6y<=M${S8R7#*fNKhX1W!moi zCypKpf&nAv*_^gS4oq8roBsBdJ)w1*`!%I3qQqBPtgo3|UwF1IGD@PqDs)DY7zM_< zwizX)gMon~NOCN-uQ)%Soas!oJm3+p*ZX3p4rF;shnOBQ%1PH29#y4Bf;_sP1z_$QA5DNBfyWe(>N(?`aq%lwkhvH7wM*zTAp0wwc&oW4Y0E?kNNMKud7$bjvVhuhU3U;3O{ z$E(agdt?|T;Ip4@AbRXa-+`y(B_caPAro7?3G?2BC+>qT)T0w>)xyu8KgU1SWxX|e zVfQHAJ%{6d%6gJgK~rG_`0! zNE)><(Ui9E4OQBbj*+%@Tl&RrCC%D4-$m<7T0nSjD&;&i)rz_JN#a;}Eo^F13F}nE z_=fgRAOQ?)jD2-jfIqIiel2%x+9eg@_N-!wNr-RKN!ah`h}5o|j2(b?;%dyq7r3C; z;{~CRJ?!(rt`K5SP*8ZqxQRJ#<+DP>#q>Y&kuPpz(}9T(+nawfV^ga zJ0q9d@V3^KR6*_c*RfI`Z_LmK)ZW-@bQi{~6l4LQB`M*OC{bW)1sF^U5aGg z+U&7&=G5*4upD?+=(7E4+!OymZT$#9)6WZQ*ZUtR{T&=e06S;@T4*ZKYhn$MYhts+ zgp>}xmdm?sw|SuadT(IQ<=(*@igg@da~ei>nqMXqwLF1IaLc4aU=lGPIQFy;jB?w4 zbN~f-I?Q_)!^lYdsUPG*h+*FPI1Ut>fWS{1BGrx(i7n9k-Ln7?`P_A4Zn>}#CM9=8 zxORcK4e{+L3W@`o12q*+zA(_F@u(b@qH?P6k0{3<$f#4G`{PF38`E2w_p>OZrqgGz z8S!iSyZQ-kaloD1LVtx(oIo!~o$IaA`CN>r;>Z;?GD^A>`J=w|_3??|P2t*aA!+eV z;A(f2sCNf47Yx+bIi(SxtO~`fJLb<2`WR{_BU92V?$;(-V>Kkrzf(K#4~N}gZ^ETt7VI=;=$bUr0;H%CWmcwyl~C?_{@cJ_zNN%9_#i_(OdUF9L`BtTQ= z=aGNs2>NVa!3(&#U4+MbNull}RE+_Wh9nNhsAJg?e5I#OezwBLX?rR$Um+<|_wX$g z7qOH-5@`Frj9Z7_jD~3Yljz1?{*3UYvQGaOPaf=o2gtN?`yc*e*`K1;0!=708psjj zc)PDL9ae4ImPa81=;Z4SF;1)12X(CbF1h#+^m?>L6vAyLreugYBHVF(rx19zzyYON z-w9kWOBS0?2G`eg8cZI+(8)^In)_1$YM4S{b8~ZWTAnIp!3t45d0R5m`QwDth0>A5 z2;EPZh*LMe0A#}f4~$LZbdJEGnofGOp9?!_{qbai6HHxkbB-k4AuA2&O|4T0?iNJ# z(qEcAw%b~zF3gp#XX!t_etY4*zZ7d*Ute)0qG6pXM%# z8pyA%VVv>IewO;6rNh93vG6?M!j0gptq028YEdV#_HQ4RzE4Jfj;9a}aI9Sbds@;= zudcGwO!-YDtVsVHvF6oHkDnkxOM;Cj8xk$~1;Kfd&z6I@ZFz{I_OvjK^#Hm*B_jxL znWwMJ9}*aw9^SX0Y8UgvmT92Fv)&Vain&BCH!JcB2jA<#ODjJgkG))Y$w97biHvE z?BIMripakQN$^FgG9DUQ6Hqbh?nYOr9Xn33_kDQb@kzj4Qw+$1{nB!CwEQ{i9Adn* z+%OZ#s$q=sjd0FuTE3~W&_jZ~6va21!<-_ptE_A%qSu)-xDuxyhcl)1jiZDX%5nY4 zfPbQoZ$z(=uZO@82xiBirV|U#`jk2LUhi-0Vx&=ZS9YTI=$%40-q-uh4}e@BIzOZI zL8$eMGRYShexAr^Dy+ve?#i4V~=R;Gh&Bgy(=D7I+Q-B%D#j`boZdUDf{i)w_Sk=%y{6;1n@CV z%Q0N*@A@k*;I1IANFB9h30mQ3>tVya4K58ozYp2{i7L{KnDChkhCBh75|SCim6b)` zl?K?$%iCZ7X6_sWDR_UXoA7f_d2>j6l3)HSNtrAeR{8fFAD?!1nzn_&>??8-=zee5L1szDNqT4lF`TO^x zjun3MNu--Qk#4q()ajEY+3~d-RjD=nT+g=#dh8yg3@WP0;7%-5!f?PPug}T@hjv92Zla>j^6Q60%tuf5a@y?3mjJz&2VO4zJsoU8+|e|&z@5wW0wDe_Gd3=$e{4{HJ#%l2l@ zz+!Q-32D0bur4CpS5Aw~(!Kj+^x`l?5iKMSkf8H3p3M6C%F3uTSao-J;HukS#t!9S zlw>#Ra2?)pz_XsnkVz2(!i6+at*3tc6j99y@@-jG7SF{r-sdYLou9}6vH{!B1zjSp z6sUhdL{b!dinC@_+*eT5rVgUM?Vo)3aEDKuM77jBm2{|;IHO<5gi>mV(z$zjdeAg@Y`0+VA)>7 zj^z8b?t8M8Ao^aHGh9t9FQOYa(U9l5%^Sly%ZNxsAyA#95zp_dQ5kU>cam4uEfZ0% z0Jp}2yyL+iMZcdDxIlqU3cHHB`(u~a9!_2E%E(=t%B_2NkI70n=V>O;LOw{?j^ng` zK|JfPHR0S593Bd4+J(|1S?QF?P!~7`SpDiL>!H)Kuth+>#T9YNC4(+Osk8sd`Nqg# zQ;Fq~gy&b({dbgC)a-36kI6ZeJ(C6NzM5#bkIe?0t`9`mD=07~)R{M~AWU|kydKNf zZsPiAooX&EEG*2Y9?|nRxlzemYUFaP-`+9frfl2>^KP`&ckg<})D_&HE9l_GVPm00U zwUJ(aM@wzGlF3uepad~Z%~@r7S0f80t>Sa?C98U+$F${G`t2OqJ~o<$|5OTL&;Z7b zuWmEX*Bzk5gnz)bIW$@4AJcT$`AicAYhqLQHj0%mQL%-{QT-hPucq6+!m#nliX6$J z)VuPi)R+%OAp{nTsHHoC$`8bMH@^7b_U+!CuXy}Gy0UP~@6T#afhvNH9RSm_2Tku$ zTE{;3(J42+Q7*Oy^+njMUqIZ}i9U)O>mxRVD>w=ds&5vfT2(sVt;&x)eV_RaZGKs) zYnaMC&hzETLRvWf7R^pE=vUm2nw;hW4FOcD%G#PIZYD`z54Lr;J;2f~f%A>~U)xZN zIwVVjfAH?p>GS=7Pc=O=y_OeBtp}kMjnXo0b+2V;C!kQCbgnFvt|dwbln;r+J9ODe~iN|4%BHxV4OAh z@f+m$dH-v5VuZ&(U0liPhpS@2{@vNJ`#Zh*s}FI=ajZ~lAw9S+M2)$rt_sk{uRr8Ob1L%xRfXB7ZOO zHyb#k`dB10{?#t{W;4^0V~tuhhE^+BOn=F^G!wuACkB84bU1Olg%zKsUnDlW-8qIk zDK&|&HId8XM{rqYzsAh3>FM=o!y@bE9YA~#MF^ao7HPjoOEV5gT_ z5@xG@=}LU*q7c;0d{RA{dPU;JXgc711(-v(ctXF?{o6^v(H6$-{inPHF2Q4opkP%r zU2TnDdA6KdBkxA6=5$XfHGMb;2@;2MC%qOpeh8fZ@b&y%M!a%14`|?QEgAh_O(1IO z>P<5BoxdXK-@KosZLqnzzPghC!_&VT-`k-9X9{)Xq>e&EForf z^?(Y?LW=}>)+;uH-$*&I?Uic}Fgt&jYwxuLH=v=%dR-n)gcGOMsW(~GH&lr8=KJ*_ z@kCJ!62Jkf6c4i_ET44?>dK}2UV*I?rUf`{Kch&lVr(a?tMdH%hrWWgwv@09hcRa5 z0^`re%pFb80al&CqNGr4GEd#t$+cNG2rUyAL3MTYgn+3+ZFN=E-shr&;97h@7hYv! z#<5^+y0s9Ojmlh-5D(;&EYeyMO~8D+42W#U+`0Ch!+q7Y37j(}6A+_Kp2Ax$7l0Q@ zrff@H^oDZz(+D9xkR$TANRrqsVR$E~(?yoRf;~w_4}1ThFZZdoxtY6io~^`HQ6b={ z&NEwH{f$-v9R7{w#1QY&9lUe9f@r2%4uyi)r^B!`kw36MJ>1ERY9GBNlcxTSA;eaI z5=L^EZI|^Klptn;vR+@ED?Tl-xdDhWF7s&s_k(~OR}M+(8*UwAQGPGuiC2+e{OK9K zqqR>#w>Z0LuE-=awLihp4cr|1`fWvVULsOW5J!;dvY~+ipok1uf9NwqQTr2{b=pW0 z93Tbm2)C@OmRyN5a(G2RsJByH#$M3BO-Qgq(S#;*>`JCYNeox}_otv(3VnduNNAFx zyPlJNxrig&9O|mecVwDE#4G?}5TWDl|NU0H=1$h?5R<8L#de?PKRNFd!y|wXdY`cA|W$fDlB=Mcv?247?g6}{va>BjC}Ju=j4xA^v*HxxpfZEA&d9(XWk1c9 zbAr29qj*v=K9NEnjRp`@95%1OJ)(F-tL6kO-%n`80x|%@jVJy}!1ucwXRuyPnhO=?Lx;^|B4wC0mAc!+mPvmuK=P)zf zlv%f;z1eAwne?d9ZSB^Y;~4nm(X9J&&YCeh${|bI6^Oel%EuY+>=SNahsAKr)&mE> zvZ>jkE%2WNMZ-+mBj@kxh*Go9AAVpN%%m4zE@VWc+IW37HKc3Lpt6UKjE@or1J?dY zGwVtpm>TvIsgfQ4Qg+f^q{O6)JT~eJ8A9eEEm6ixeB*S_P^FHJEk5{#JO zbXi=c)?u9f@jfZ*+I``jFX3&7+(I9~RZyaH`}=V;I6yIr2>!_MhW@PW`r3n}hg6Bu z4thG)zV$j?*U)hmiY{C$J^YMcGlx9nFHJ-`0~VQifn|AnvT-r$d`E*1E8=~(lhKB^ zG=LC7(@$IEjWS<5E&(Mk7F?N>(1;(`sZy`$`vW~ZE9|}0x8xEdT5L6w_f2TbhBnQj z(U)~ux8OtZ z`k_PE26KNSOruSaJ)O%R zr2fu=bve!C-pQ5Re0xUgzRum8;VeSXefom)C&K>z{!8^+5mbbu*?ALvef?7HJQu!? zRcdyF$WB2<9r+tu>^i^QpQ15|5*>G$5kdG{tnon(1&Q2-h7#?ARo z!1Tk|_di(n&Y}t{9C-?>)z!@Y4Lu}S)HkvKNhwuO^;KuD)TC+HKUcVQYl5oUF$A}R zeCntF_?RbE^jj)@tHY3ll{|l?2OxGNb2`p12~{c#=1N4K;@4MomhMoEa~AaGqnD#K z#24MBx>6I?y(#0R5hnWpYz|d9don%8ufmc!zrxd(n!3!!4YK2E%}+RW_8(uRJU=MS zKy&JsDscHh?>}IV@$g%0v5MqypU<)EZ|psc>Igf*%Vb%k1{09?IA9z0F+;`(hsrc~ z5(80GocxT$lmO@yvOtdEc>q_XT_vbdHahjC;O)anJBObWfI#p!eW(-75o1KqIswK? zd_Nzv>dCO;J+u6y5toPIkv;^5aCdjwa7eBgTid%zD}vEpcy%E-Zy!I!YF zcHpgbF}eq31O=Z#t*Jt-|Ffq4!ZZ7{CK8s>RsMwYFb7D`1W??fFNoK#eAn1F+R31b z4W)e1p$d=9cNn5*S&)c8wY&ab6+MDjIHtRPeCNLMinsa{j;QwVWz$d0){pv|x_XOx zR67~_p%%HJOQLnoG?&=e*kmJ5kQWM5pBEZTA&Wp8yh>sFCSBMMuDvloG?k5UFm$Pb zCC9CLt<@#8)w6>0I57PY$o(Q#UVpq<%V^RC6FVx+)rp7$q)AHMovZ+rhz126?*%oE zL0ryMP&4#ipg)Dm&V*qSATA%yvwRJUB#rO?em8ZF)jG=KTw>qabnW?4vJ`~{BFaF|qH^d|O;IIr0S25*=E zT0Rh2Q$+1{SW$OifvrozL#ni{2$dZ-!A?NbpTtGgQnmb1>H<@Vkl}o1<7*37r%K-6 zB8o}<3nrkHK-etlh*m4-uYx|K8Cdx66X^2)N+T(xh#Q(i^0`NtW z0E?urbVd~aP_P(}L^s8RUItcdMU9iU-g8d`X#|wOW{LQ%yH7pTQwlM zcc^rBuIN|32m-c0M%y&mR#BzjJi`-RsMkq4T_&6+9iUH1&q)O(?3rqE5IIWe4)n9* zhBQk~U~VUBY#~v<$ViX>D)mXP?-exenV3Cx?1IjjY1Cc)9ft8(u8x=dAE1PrB}mA) zJ*Im@dlC{3Jegt;p~4aILtkW&Dwn3ei3eQ;fvF3&1(h{@z0!w%3y!lme=t@rkV$^+ zy|SqHiA?!y_SKd%m_R|`4NznbCh|Gs)g+Ho!gPN zh85+5mIF{x=-k+VtQTNHH)K#mSd;sy@%g2tQ1{1FkiVx~AR~^zBV0O(5uYwS7Whr% z7!*S~Oj=Dc7gwtBC7JCfydZ|~Ql<}~3#Q8-#s%ZqJY&r#zcgDNmonl*Q<*t+ggGR<*Na;;OHph4f72)=HgSmH z7%y$94qT01B6pb*Igy_PRcUs^PYCCQqOPQf$;w6w8QKx9i*LpyuBKd(*LuRx_m2(x z3UDpK_xS!PhWy+9m;-qVEQb$mAD@B$o2(!lY{mAf(?es)V^%+n-&9*>>;Kd&c17r%dNOWtv0 z1r(zy3B!VntO2yJft=tIttuF6=g~Z#XS?}zSX$Q@cNI*+M~VzCkGzeGn#Oy4K4IRf zS6~bLC}P;9uyEQA{TkAppZq{TbA2I=|C4gOG4bX1Na})}%$IOpozvCq%1?qt%_+vH z!n~?E`CSuVf~%3wc^xFaUX~83KKrXO8G$wQ9zAng!}BtMGZ+@$q)sO+80ofa z80`!n9h#4g8Vv8=5SoI%yye?mtE;&MV-E9Hy^ft9-u9t$-jN zCP`Gi7?bsp(^EBynBdlAv*w$;?+3h!S^C-VrRF%;5wSohV9C646FP8qb4V^;;Dk(V z@nfX?YUfTVR*XSQU1Ds~{7|_2)W`U=)>y>iF;A%jS5mkf)-OsYBHm?EalNwfCRlw! zvCbwS{8koZl;`j&dc%%4Zv%Q_1HJgHNdDyQB54~g71LE8>|lg2OQ`u-rDg*$%B&+ffP5i4WSav`&&1WS?$EBGUTOGz zHTx1m2QL`i^dWvqa7%I^IlF%iwN}5y2C2Zn`6L5lJltGIV*UxztD(mm}}B9hijVTGO+`x3>arLC}84#X5*ZI&n`|AJ91q$x$RbM>ri!vFh5 z(V+P!$Cf!YSR>-Ptp%FW(mPs0^d~oSg=qu7@yLzJ7PB#qEqG#aJ7O2#fz_=bqPdVp z07+hsVf^xNgi1~z7*CZQgE#hy`Am;nKLGLW%e27|6+YWmCTgQ=TXqjWxun48s$cXd z6L?2sMt(6z{Wkv2gzAa2q>9?!QR|}^U&Ed8bt^ZKo5Nit`9oz`d-M7Q z%D(}06do+!|KaK@qpEzOerY*$Nl8j~Bi-F4NFyE6(%lV*PU!||rAv|S5J9@TJMVMk z|GxLGyB1&kcE)FB_MZK#dDTItl7Cj_3P$swTpXT3>(Vc@utl_A-*Ay-Ts0_CLaQxV zRugV~2>!HxD-d>np|D|~+8PR2hrK3=;uVUGw;)ELZ%|GJ;+Y4laNOsE;L?>(Z{PE@ zEzQplA_3w@yX{P{u{v(HB+8x+12d{I8~SEMrnTTL zA5sW@TGj808ebkQwtkbAJb_L%cP1DY3K^bnEJ;r<`_+vsC?~SYZT!%;KU%Rm zLl0kvqXxjfLYp49t6W*keamUq!LE8~a12c(+*dmLIy3rPE-$&ra^AJ{C8idqqueH4 zl1TfkX|LLbcBCGv``Hfq|8^l{z$=`{X^#B`_SuMrl8bXj@n`11D3>DtkW&9fc`BxG z2V9p(mKwd;KO=0v)VA_?GcYb`AQU(Jj10R~4m`~c%0sONBOZiO>N1xqqC_89m4!kk zpINJT4}Z{h&aISe2KeLrPCBnXFFkf%P|?#1RHZRs;5iOUcU3{M*X}@{Bik)O>@!T;n}M(A04?jx=z2f@SZh%@f^F<5N}Oe!HziJ%((Iy4XR%0- z_!Wmq1d*_rr(FrNst-k8V4Bfenahj9p8qLxh`?-?T5M$Yzm1pzhiwtca^>u-D43T$-xJy z#3Dqzx@`u$^gOFk=t_MtYF?pht$goDzuuUKjHV&y38zGF_L#blWpzlE zPeCW>dB(kct^=5xUr(G^1B?JGORg0iS!Ovu1^)K3s;a6alLYo0*TvV-x!4#IhyHIP zk8o@Q^v;ep&yTgc&qe|EQsqT9l)51n3H07C_CkQ}>2U8NTdctE5aZ@=lGV2@N!yms z$AmQ?BIj2g;rEUUO)VXXs?@IEg^u0o*Zf=R{;wjxFVw14OdI|^aQ?sLft_Jcyyfsu zG&nFOpQN@OA8~Idz96`qHO2`vhSxjHPW0@R)D&CB(u0PD7Da@f(yFsXnsrHCOg3pJ zNZjeof>9da4kuh;=9JlT_fndBILe0KFv<_o6oB~zw5W7^h6j#oCJd;uT>5HS!n<6lExDdqobOhn*- z#)M#RXQydkr6g;kf|OVa6KnTLBS;;EjIeTWXX59!gpEzb0|!FUh3PTLAxjNmv#;2b zPn1tfIcM4olpva@RMo)}MZZt>nAeJfJKz`8?g(CH?+xFa`)Rt(r*hd-GALo$ak(dgyNFcKWKt%lR z&-MTM>?o`lz-dIZ@+*iy6Bj!4I zrPV!g3_eWZH*DwT(x*(yMJ_hIx?>`jK}9QWG}9oxLOATUVcm=7e*=u>3P9uLjQOZm zzv=tID4U*mD&zN1$KtU4bHDnWcUd0$;HX9X*+28d%ajvQX;g_JrTe6FsVW^~5>fze zi8ASC|JbQUIKb(X>OLv^_Xz>2aR^ipNiTny&%<~1NZ65w7|-zzeF9$10vx-D76CVT zVFrS|{%XyqS&2%urC)U5K8l|D{s-LC5y;e-gyxpXrU}k6ZYnwbeIpb8XM?=Gc*32jTCBLk2f7D(ei*%9Gc_aQLUoL0K3 zvbEW6-oHS>Q&zV#XiNh+%^4>84fEtSi4mG4dg9iO`45lk6h;E^#;c|;^6lCkfW_1f z`i+wT(u-P%Rsd+40i7a`LJTT=y1l^`&OoJ2JJ znU>fO=_Tt0H=y2uExYsh**)`6sj}`FBUi#!UOw}*UXbOYhT<)me zg7oXKF=CnWD?`ML_0)}CzwDUq{4|1$hcwSGxQFGn=Brsiqk9rr)wbzRio*t@11%(d z7#1y_7owo+0NorLLY=ueKpJ2+l%l`Ac*oI_N=fou%JA{B(KC!}XR$ftdu~}{<2y#^ zb1jVrO2~%nX8^v|S>#{z|F}~D{@l#cjvoT*L<(}{Z=6YETi7Kc(al+7$)wTQli9j- zF(TPEAZ)1kIiWc|r@$u~M9l34SkeOLBDYHS_2aewmEKLgY55Q|d z*^`Nyj|c1Fn@c9G>K;NL{;*o$%pUdyXeCfDr&^z}#R0@|Ma5O^mxSGWmDzEG zLM<0HLu=VT?6L3T1h3MTGm+_2v+(~NJ^p}%R=-307bpaR)kzuwjwIrhlsf~o$n>}R zj?>BIYN7cTGR94bQL&U2IS9WiwXu6XnVneRW#Y7$&=8XfQMHV>RK zt@#1WZ5=xl0Jk{Dp=Oe{oC+I)dh_O(%{oX)`6CG$Vwz4?z+}4g{X<`yVU7xqLMW8a;OjN$@}c*= zVmS2;tqTJSbw*XmjGl2@v}1^uTGa-&D8Ke4yG2~ZfbXPWgoM~5{g(s JQnAz1@% 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%0A5V}M-g)#}54DvjpyK%e>v?&|ROFQ<@vNin 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
        y&QVOZ#9TM$pP|3Ws>?A4oAO>R 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 A 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/messages.png b/content/docs/smallrye-reactive-messaging/latest/images/messages.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b37e6a29f6fcaf70574aab2efb9949e7509fcc GIT binary patch literal 31071 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/outgoing.png b/content/docs/smallrye-reactive-messaging/latest/images/outgoing.png new file mode 100644 index 0000000000000000000000000000000000000000..f5aaef29d96eb96dee426eb2724414fe6367f7bb GIT binary patch literal 37982 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/overview.dark.png b/content/docs/smallrye-reactive-messaging/latest/images/overview.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..22b5ab45af0ea1c2ec75c15a95dbe6ec776b376e GIT binary patch literal 227317 zcmb5VXIN8P*ELL$ZYUz4^rk2XqI8hnrAk#gq7X`eNGFC+q=*y&DbjmyB7|N=QKW

        J?}Uk6T-PTOEYUc1>SFqAJ!^vPecGK{=H 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/overview.png b/content/docs/smallrye-reactive-messaging/latest/images/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..42e00e441280da27fa7af6830dfdca4fe34a2cb6 GIT binary patch literal 332218 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 z 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 z zp`Tddb675sC-q%jIR*t6=rKQsUa&l)7#7%z`qj9Z>YA1Ej4N>xEnye$b^)%=16j)~G#0W{rmiHh2}8un9Y=4y82p-D zPD>wf#}r$*>*pE9nPYRpFL1>W9x+n~p7&te|t82G7q5Rz*= zW9;Jqq#EkRXk}h?Z_H7LJ>t=;rdyUCM>^ta)*1Cg7(j)c%Jmi6$>Zl&)_U6YifxNd zZp}awdGF15AnxtQ&o{Y7LuQt^vh|$ZqAN&0)|=7a*{yp+a)ECRGc-~*B2SNO#KjOs009cJydNa$uwRIV&;Mcnp6VVCnj*01j5wEnwQX{g?ynq}5@FEfuwa8u zD8OO6HPC|fh^`{7kM*-6g27pt`h2S5&K;@QW=6Sx-v*oE5+6o2SW;IXe#^wDU@4}|p z+HXqg-(TaBuubA&u^IbY_gVpg>T>Q{Hkn0*p3LG9mz^#Z)NmbcELDLy^3ODZC~f#5ckbIE$b1-2-ccvS%X}Qi(6cd7 z3vAcb8?RpyX-;>{kz6%gME6DEK<(W7LH`?RzP18KwnL*SnJOa@I@&&ClZaT+_KU#9 zgtFtJJFdUvo`0K2y=3=(g+o~&jm?iBV={(szDyzf-uF~LINe5ZubB)J76l*}1X7Z{ zveR&atEmj$ODGP-#*?d~Vprz5eywvN04itRn^s8-W^ZaXf2}O;gr=?bdjC4DA!5uX zO6waDF5@f+#IC&}ATm5yW^tHAgyb(BV!=#LuNHV-EM?Y_E(&$JAc16ZI);xFP@n#; zxmcepu&;9(6Hyj>Jvo%z9SC1zCavAUO0;14h@%~UPWZj{?T6K`vM!MU zv0UXevz?9510O0AOghcUgs7JNpvRPeQhUh*p)-xT_f28&Jv#W?A8Sy`-e)0!E^NXCmIzGHDX@Y-u2Yy?R@LT^XS?sAU{7|E)#Pl!Snee+Dbl6?t-kebOd&ssjaFq#Z|umKZFLL(Be%pJQ{5}&ABS8~Yuo(G3*aV=v%6rL`3!fQ__o!7aRoxqtz%{BG$NAn_t6L% zrN$Ewi7N1d(Qfjc41E!{@4XNoPw!Ii%mtyX8l|1+ga*bqcs|uAVBzc#zszC;1d{Py zng`8VySQ8l3=Nlzd6PLZZB=;9HOV{XTv>xl!ge5&*reH(y{_mV+4PD9BcDx85M`j9 z;~#qKEEcc*y6+tjV#13=RiiOfcaw@1W`84!b1~81%Xg!V8PnDYE~@QRpNZ@ zaP0V|q{RKnd|7K}@b7J^2h-TbX%!CGLr}D|TS8}V7h0A<%L{gRc*D8`9!gka<1zzH zY23WVqqjChd{hcbw?d$d1a+lu__xe^-GUaa`pd(p{=6igVNvD74s(MRRh&RdGSH)RZ^eNXhDH=+CgZ< z*A~I?#}tDUWm2`i2d1Y;%v27Gg&O3X_yA`URq}MMsD-37_^9-?p z7KQuaGg44GV=cz8|FkFVw2t$`o7@Y9>X3jlmHlwSF0QX@WaJh4mL_~pc!~ZT02`6l zS?wI)Fk^o;>3ARE#@_Q;f`&wGxw zB))E2d%pOcf9SbU^EoZs*}iSMmOXro6*FH{WXW%3=Z9x1`7ReHiflosJtjzf!sXlX zVA@g}K{ZVJnD1z=^UVsQ!#gA9(VGY#HMEApv%VY+D5G3LNly3aH?5L0^4P=TLCgWt zk_rt)YnjxiJ&aaX2>!lC?`fCF18)_jN|k7MZ4Rrf2#BAscyU+zA!EY(#k)6IiNZU57s*Q^#o1AG+* zzyp)TQ<$0%og|_CTGd@#-u=4~5LPOMEQF1I`;k?l01=ZKR#i1Q;@ixMYWY(u^j$Yp zA20MYnvo6U5r^E7mK7G7ODvj@64=?>s>i`0wX~pX zeXafn7hM^7{)@3*{){e{q_bU1iT#$43s%YR8Pm0INrzCU7b?jWIW}ga=Th|@JKvNIPdHC>&fXSEP zv1KQ{=qVVXsgjA*`CjhOwjkEMsn}UPqwbaZ^3vCt zUHD~`%-<*7H4r$Az|C}HdFHaCN>4yQ$;vmP{y)hzpeXbgLN2!NN8j&q0C=^Mz1Sv> zmWz1m8daIb8VcPKjaHrU%=JTmaT1KG#>Pg3sYn?PfgR2G5B1g>F6>7#5^SjK{(L2G zch&i$IqPB!aAB5IPLHaY#mr`4&L)uD#6J5~Yle81B0FSpBe>?hZ-0xlk85UX%1*wz zUjr?vFLZTHgjOc-$Q}0*bT7@WpA%_XTbg~#`ff}tEa7Jv2Wn;$`NcXOH3m8VR^!Fh zyC%*CV#h*>5Y{Qj+rOxF$3xkX&nf$`tXxB^pss$z%*go0aIb&IlKMA~6%ekH7sktK zKH_7U&IEAz2aOd2#-@Y@F5Eu_4CS$MX2kwgE&PaCLGsH;fJ~YsKi>llJXjAw!?(t6 zOSzO%_Q!GMxp5ao8BHcZKX_|0&4$44nQvX)ixE!k-qXrTM?_WUwg5{^wI0WKeyXYY z6CEUdSc;$v7^QwdtV9IYd1-Kbc(}l}Q*=Q8z*-)~_otm+Jktw<6WTMCw2Rotzu6v< zLIr(8OFdEkkQUymDR>{YMlt35(OwX%D^_qzmaFI}bESj+BCY3Y-L5+n^KfH08a)en zZKR&Bjo+@Q(0IClO!tZA8lHTzt8>sXnk#?WMLSWOJQA#?9oE1``-L7NtG_6+5%LfX2H zp6Ta;q-wIM#&8Dw4 z2$c^^etI6V29Vv2*#&=DSSH25+rzW6M`mVoMWp>@AC6Ou$sk(i;q-UdZ9VULIQ==x zuhW2S-GtudCdQRGk3;^rng@*sc>+r{3}?v7kV-++KNn-3gw}rch-)WCq55Mlk-djv z#(?$ZxpXq^FT%0ivWPz>(v7`1l4TtIk13Cciel#9q8y;XLWEU)@exrcg zOxo3l8b%sFBx=^01gcza@oxm~E3az4BJr(3U9h9)sGa>dO9-3FK&Yww`fRgKeR$?0uiyH8q`wB#lKecb#Ur=a`|%1mvNaenrONE5w6#)^J?K_9tLkkxj8psK z@X@veVSc5Kxsjd4=Ec!cdfM^x<=#Y&RbgqVdfZ?Dkj4`q^>Dbdxw8l|1k5?+Ks>gh ziM_#5o7EMi+)`(v8@^`m(I=Ayb)?u)M&)70+mKSz1gMR=TT$L1-3Uf>$6EDC4VyEg zf9N#KK;6>k(Ye5NNB1&iW+3;J2rd{x5b*p8t05DKDck#)+V5oeSA?0wRJJuMdej~5 zs!K?`iYXGZmv(lKzuxxajWIh&PPh+%9sBU6Q)!JHztnVo>QZ&^DdR5Hlg<2hd(6MR zyq`q0+j|Fg42@v7UO40D!}~Zo10BTExK;rqMvRt6AF5ir?lmF;^=CAvSn6>UPG6YI zaJHY?y=6kR=+bf%QbToH0L0!{2L@na-`(9cMo=bbXB6aBCFvRunVP|8?|nTre31L` z%b1rPNa&hW+p8$B_##TYB;%&5y6ABLlV1RGgzE#-q-`8 zfNHNH=VvR+^7e{E^ZH4;m)^uQg~#dUWSMe2i*8{M5B^4xBPSIbAnDlq$o)x$@6a{z z=UX2CGimeF9!W0#yPWL{k+B-C?8-nTjHIzA=TZ-0XHk3scglK+{zsUWcYvUdzf#N^ zg4(~SC))2>xVtwsbW=tD7+lvdMaldT;*tb8k9LF}1o!$b5q0H1l3S?X|A+<=dwO+) zslc{*ptv9^0sxSioW|K9XF+YRvYc>=3}#db8-= zxKL=iIXEGBFzO6vB;>e#C8kFh?VH8!3WTRinlT;*%nf!VgcKL<6 zX2p?KE@gQE8n92KXAraG;WI6qxgX!y^}AfIKXj8TpU>Irq4QtH$=gwb;9;If>8J!^ z#xyq)J!sXMm4W)4WGhJ~L@nYL;)@6Jj|_5i+`M&scqk`=E^1AXAV}&L1OE=%ohiuDFd@o6@_aa zv(i+^S@H_B6ypgZ_!Xn1l1rm#@^Cpg4v;2XoF`uv3iEuDPQr_4G;vDZb!OUm4oE9t z9SpIw=t_BGVIm^b+^)fL^>uV@M09$Xo@KT2D^HEW#)Bw*U+GuolirNV;3&YAvZn-i zihW9Na(*llmUr`w@qd{Nn=a3)Z~lSMcn8!5ZG5waMTNuoB3+ z@~-TW0b?$x&ATQ1gVxG>^2rg zCi|fHIZxSus?5OkIDVanbbG$sOM@&KZk7r}811g5BA`IcVQ+d}px{$%mQK!LQAvrf zQf_Lxw69q$jiTP0S;3#YZBR0AQ&rVa0ki@Dnwg$9U#`#*A}&iY*HBcP+Fgsit0In} z9<8A;PIk_7VMmr_TGml)mW-Ggik>Vfo(*If)m)w8N1{k7WCRga0by+g+>qw=eYc>>Be~exS zj%x$4q+)pKzvsz;Kecd>$Jfx5(g4J$L3Nnx(tw6|_Vtz~yu^BwvAgJN75?cdvaqwNp804_fEGzP&&< z-sGjlT&%rTBmXFEEqyel%Kr7Fxq7*bUg*5J?5hjAaX_W{i7w1!%uNUDS@sNC_=CET z(S^7Ea6;?5HJ*tKNE`tp4~odFc3c^_=}>dgIxOHH;jzXUQ!gI0pM z4-FDOb(Yx@F#|pXc_)D~_^j7DphW;P=|gKtTPcCrO#ces~jS3b!G$(!0_?T?tEcgB3bP#?hKO zzdWSqgao5*b?Ht5o|<{2Ie@R_+?S>BW0Wioz#P(4*8Tmxu*`rkctSbGai_-Z?2Z@0 z(1VzY2uC53$6Xc3Y3@JPb7hYgQTernj>le41PvowfY zA&-)km#j~n)pQ$Wr%@W+fa?qOt{b%B4w1DHT0k~weWBAIqQ4J{+T@hZTuvQLO1`xX zoctc-VU&U6R-Q zX{EnpD78#=TxxG#A)CP~=8`l$d*O%~CCIO#u2ta(bx?pN)=(80$M_V?F2wZYm66`G zo7(xFO}~jLEAu%2Y+=Xy|Cj+$pKmb536a=FFWH4n8x$xdmywT&TTa#{@MP&W-XwhO zAV^%OvY0?P+gJ9cr*{$HdSUdTZ~iA)J(bI95N?6R(AAf-ZnkZgxbfw+EIclw%IEy4*D0QAYu)V)u_r{bJJ?%jCH2i=Xcl56N3DMhhtqbuL*o~j zpDAB|{y@ix?0tY9DcA5U=~>O)Tdp=# ztH1t#PG=*8T&xam7S5b{0@z~x>-ug-V$GzUfmm{};{^gjgVt4MN5N9Ocqs(m+t;1) zq^1zjm`y*9FBjF>%BlVOHOmp+NT0BuTW|o9E%9-2$58#bOv04Z$Vq)fl3F^!yRomU?bOND; zLrDN~1YrWtTiwGR`#S9l-$D&HVkr3`%9>L-N}tfJ`OD{$6*ci+FX0i|Ff6~SE|ydT zo?pwFp{{cfn=|VbYUkM-`GJKmT2(#0&MK;75l4ELd5CT41#jpe>PJG8Bz_x6OV5=O zobCLkGAjo3q;G)S*CEHW{^uSaRtz)%fm>o|K{38ujjJ(b4I27rEfVago}$RD@g73VQkI_$kSNKrI0d4kh=+MV5I6c*HH!6Z+yRz@FpRj+N}$J5P6zNsTlt@ zIpt+>TKD9>@P_#H2-70MZ)(YZ?JfWH(H_}bUstDq+UF@LVA!=wtbS>IaO80%llG^9|QgbO69i6MdM9A&5 zT}t)11BoUrE_~+}xwG;D>%}i56N@@D?O_}9M}r^NesIAq%5cuIR^l$1VJy_^S*(_-RA;VD3GQpHPjGT)Pl%FYk?e zHo35+hWGi|U|$WQFAcG)@t29d@EPKs>OH*DeFubMFW*8J#l=Kpxh1yz(SQ^`nnDc; zvk;R|MTZ6`{J%`8cd?t{AtvCFA7HM%0*~v`YZsuF-{=yO+e&xh`6+*+4LZT;(jeub zW{J!S)JrnKJTl{DCO)C;L+yS*z)rFCG{YT*(^XoP0So+ci}^qx$lfDIPeJGKE4qn< z$9bG)%gPDfY&gcBCVYN=m|g4s@Z}w~(Kxomkd+FdpzFnQH{Ye>^3ufR8(HXtlXlRvk#7~(ti*nmJA5#-6X}ftm{`7S8qA3y z2r4f{_J=*{p(%BG7avca#K)ger{e*!S8aCQT2|#*WuN2?EAYsZ-!PI5CB1{Gy^(5> z`aFH?P6xGVp%m`sBYo85#Y4d!iRo(;f$P!ED0eli$XjD`{`ypL8T~L3Q(l;4W@WL< zcq0Yen7=lk1R%4dcmzl8q7he#HE%APC*^c$mRXu;(p6OfPp_xjbssFPA@NQ5NmNPg zOXI91y9~cE%s2$raFm_|=M;{3^R5-R;c@M}K1eAXgU_?yhFNm@Izs(nhq;^iIkI9> zwWvkHWU0QcB#*fr>r5W}cxCtc|AayR{03d}FEm7EP#M6zLrE}r3f1M@($mo;>n^Up zxgrs6pDRXnp%3^{%8m1;+{t)JZM_9e%`rRo7Y=WgC>#u`pk~N!j!^EUW}rrpkgatM z(^<&(q-wEnf-Cf%=Dwaf1fa?_zz9e{7MY?S$O^ON2Ctx=Uq3YWx%J?^8K z3qf38nz1EGfMnJ&^Ip^JqIs7eqIZ0Jep035+lx~b^;ZI|u|~c-yStH}GlZt3LhasC z3L4L^2P!EjQ4zTyesR;^NF^S&4V2~L;Q`&GCEwugY6ARQ_>b5~w&_*}1shjIqGp&$ zT|}-*;H!odF{)j!4_>=S+K_Deu8$AcB5Z4284Wt+Mst*E#zyW|@2J6l6q5<#Gar+t zr*0<{Q0m@1Gx*ERZY}29+AmU4K6!}Um>sbVKWu;XsRC1mUOUiWb%E0BqsY@VemG|3 zu@)cZDcDa@_f`(oALG7Qzgi20V%{HLPu-dC7??9Na0op-+2 zCdq&(oz%Ovl$HIF-!j)!hmY4apfwz_$H+S9oQ`_YV=4$Lb7h4%U z?#AdDQOona>~R;Fxu7}Wlkq7<`Y%}&xd_N=PC%Ht=Tl^UUs@9JV#c2|%2273$?vT| zqG)&uQN@A~KRdQ6OL6lpzZe8vRXeaE%_i-1kU+Q;|Fm=@qTGrZDn3z(Y^;|>^mg>P zeI}a21M$;Q`0&M>9CL1-xc}Buj831to^cQ%;8-XY>q2j~K~v0XY6a2;S142QEvsYk3{r-B%vo@U;_Y&1!Z9 z+WMbrKERlggo4=FUO&gD5#QonbXS+>7-a&47KH)bb{}?VCTxnz5O!4q>JE{RFG$(@ zT4C;(Hx#huJ&V6sT-~mH2=gfOLEvhytlUTAaXk8rFh54+_p8=!Db^gV634pSGxB^T z9F>rLB%rYM{S0TbWevc0&J36%ku(k-i4C`SQ{f9#=;aB1MCDGdW*p;LKzOt;WR4Q{EtYiA*KzQ>KZKOUEdYu=1^Pzf&5tf%aqy^s-RRI6AHSfiC?Ou zSXLQKsZ3UI6oJ;BVY)97wYsMXD2O)=-LZj%5BG>pCDEi3!lLC*muOGAFf4z-8axdJ1k4inApS-BaIE8)<_Zd zVVWhfIuy?xzHYEstmCVA97fI8r7IPO`*zYakt2o{StOmp$XxEy+|sf^h@jz0)R&G( z=%iy2xp_}5+#eUUEfK8+H|5o9h9Nw8_(MR0_D1g1&)r$ePrMo3nL{(sBUhbtp|r4} zI4^HIvJx3MHui+H(AN*58hplgpaq69^mr#33y@sLpjZI9F4^NCk57}J5 zuLy+A+xk1tj^faENMRF&FVTt2T767Z1$5)a6`NUmx#6 zsd8*L;Hv(ds^$}ap}YE&2X(Mkb>@iw!axu$9n}?RE~W!VI5ZWS@wFW`vUTxCf+D&< z$btR7#$bTth>-pxR?oQ3{!YDJ<|AnewAo@D z=ZbBAV7_$I8NkBTVPmdMR&;J!i2BV?26_06w;~cSNDFG4lo8ePOojv#HE~BO%>zv{8cUR>>n#*S!}IahvwT7txsOBMHw(J`icm9nAYk*O7)*_9N5APewsr{<34cfhdF*4IdP=YORKs z>v?`VY5t)?x&~+Jb#>wXg7}I+eO79@q4L0Yt`mLAmdp^~_df2t zrMvEF6ur;zbB`Odqq{kYv@5Okc~_>BQd;thf$lV z<_eR(X#Wj}4a#l)3EXY*zTk`;uGm$we#*tR>z=5Mz?ZWo=1)w8YJywXv`PvKd0*+t zrq3X}yale^_sTmSxdWE2dbMxl?Vt9rH!}nwP>pJiMdaau9=k>HJQlPWNZBDy1YRET zszR6ZYgOk+iT&o{+o5DaH(igs(134!?$4;jr~2*J%oj;~{r+1&ud;Rmg5@j=S0^#e z)`-K6K;{E4(li7?@JF%kPSnDP1Z8E9D73V z+FKv&VN`?XVa@#n>OO1R(?=hC`pLHRvu^5Fc=h9W{Z>u;K!Nq|J|xKt{kfT@J@D#YyqYNpiadr`^?N@f#JI z+xYUc&havss*nWrZS?2u5qSc5M}8bw<5z$&;<-lWD-RdsuPoMj7uz1rv(hD7Ji+1y z+*P1r4=J_aNMAMTveBJq%B zi@{XiTP9R?#%{GcU7X%mw&@O3rVLbFi$n;GSg0--xQTaC(xhl;| zKCifmBDn&o^4XLukuUBaKlDe_!n|aBVJNJO8n8huriRIe|7ot{_?_aNskPqy-sqmB#C+oHO(j^!Ss!5fl z#M(@f@bM|-cgMP+9tDldfIzo@MP%=5vCOZ!`UZKA2BHC#IFoYi_v0p=h&Sv)$jEl* zisel6$~+l&IIy+Y4PT0!mitUQP20mzfX1;NZH{-zl-(61N<-=1iCxKa3*-O}CNjg&MJ3eug@-3`(;fFj+}4BZUfNY~I^(%toquW|2P-&*`Jti`Zq ze$R9E*{AkteSW&nZ7A^fS|BAjl4VoPTxjdWK7;~LmcLb3l+N_k8?Fvmx8%{O0q=7t zf@WaL&pS#31jJ-lugrn+4XogG=fz2jPDi&ITaK_(Ar@U*YcSbhEFlL1+_=32=GFNAls#q>lQ(LAB8VN=(+Ic|zF*4LlY_!=E zo?t5c@9gWOUtD7=EUa!{&@XDFEyVT*J1-7~g=>_bhW`W`jJq>SfZBRlNp<>8+~d(e z#L;C)KFOc!wz*UiSpqNKljRdf*-ke~N0niDkPQ`KfyTk!VvHJu@d{X_4Gdd8j`#&w7bEaedXzO zy$s+cjLz&OEcq1U+A8JM2=824?wF2tojqu+O;n)!6P#F{m1O{Z^gT0dh6N%qbBy+| zlCO~JDh-AuZ!rFpe{5V+ub(FHVZ_f|X?$BEXr`Y=8T08ZdolH~&b`BU;47R?%_$na z1y^xgImyr?E(;LOVJ`#E{xn~ak!0`o>genTLLlpk+UsxMLVvqxX2}=FCh2}Vu^{{M zbLuA&yY}dgTi>ncrREahyVgdK^AV8Jwj$R7k7k|3zXUu`r!PdUuo2P7nLx6%XjA?B zoNi?W&PhZVXp(XpZK#_YXCgQfuHhsvpwdRi!W7O`!t#Ez z?d;M9|MC|B;xa+cD2AI_s}UYD=Q{@0g?reMIg)J+E|u7#{qFS1#(mvx{}Eaml|ycVvtb$;+2<-E-{UjqQw?j{%#!`fpwi^IJOYAXDS<#LA3 zw;~s(Ss}eSld(IZ^8P#;^k=XJZ#`@rPVYQ}`yne;qD0&MxTWR|bj{Ih1l~&`#Wj79 z3c2RW<)xF@J42UB6c5vxHV|h{p}UV1oqM-6Fh8ff1fMh_#z^+6^KoFC^k{z`zns=L z{_q?{!jDd>Zc5hhzaSA^(qR2S{1u}3-aw|9JWK*X{;eWIkjxT_@%t_7Z*jF!2pg6+ zmN#wwGfv^7rz?VMfNVGskLmT%?@d3%|Cw0}B^e09=`qfciBFhPQF?$cGg{xk5B^A~ z7z!LzB%Nr+RP&ft^AxtphFcqnd=M6Vu-q5)0d{Etow{7sPqPlYszG%}ND+QurSeo_(jMMTDx3Lp+&_SUSe7}9&vK_t6$197m>O=mhx z_h8*^Z_w^ius~?pKM3DV@?U7g?I27QHBN(Ip}%dMpu4y?-&N$B;sYgidJFp{w7(j4 z&xAuy_)%hp`0X~*i@R1ep_dBTinYXE&AaSJg?o)uM@Tv@40D5FjWa&2KApPaB%yd7P@iCNHH+6(wDHhV z@_lHEbMYDzbu=NX79fs4YZ$9Ph+7>^@OpcF@};saOU98``=I|7&(zBaO;iAAeR_+< zJ?SVyQ1>KFd*M7k5+3bU+SnFWkVz)o6A4Mtkt<*niqsygIQVs@w8VZZqh6%`mY@cXM!jj17UX+|-9 zrYG(0uD3t-!Lcpd+X_l`S^}GRTZYFqz0e7KB4#~^7OwzndkYLNIWIM^ir|3bXvMg^ z=AvVkt=x+3XFT7`Puh~@e8m!w(qxucMj=1D3qcemB918tzMDZZFSJ+DDlAE2;ffj@ zJN`)SoB{XtthCU&7Bw<5QUp52se&Ze^;-#Pyk#D(V^&{;qX?eVmL1^_eT_keswY=x zpE2~zmms_E`;$go^Pi_Jo!=cAZx;FY>z2b>A1)S&h&^wq$IPy*ru0SEw2)m2!PhpJ zx=kkvHQn6FQny}tRyD2VEWPM!zpq#EoBfkx(1m7G`WZOaTMO9Th0`}JAAJL=3k_?c z{z8Za&le*K>k~IC^_)uQZRu zB7JU{H;Xh{ev6Ln)xn^2T>CRAvH{>p)nT@LCk^ zyp)a%({|{9=}H=f?=>cUP3$miQwjtwLi)^$gZufa$@|B9dAvstD#*&G3~j94iT>Lk z^sB%oN(m1+vMHOlqF$K1T4vl+EE93Sk)I2^^(!gdscMqj!G%}CFvE#h=v>r6^($`+ zwc)cBK_y|0hPQ#KtBMzNU9ps6hrL5MoXR5hSws3I!Tqo7UbE+ReR*8WzK;~X2+DFB zjq#m&EVOH#t77~l4H-KcYSsJ@>n4x}91?F7jwWU;E^7D8_!=2eXKh|cyl|xtpW(2y zknK!^L;jm)vUkoO}Jt+)I8`p*Z*#>pI0`U)R~CzY4* z*&zc#*l61>LAO6~D9K(KaK{L7pvy$?Eh`%v{fD|^VEENzEkG&5^Oj39CF2%ceXghX z=)+zY8to!K)#P!Qi^l9O?Rh@y?QIa~mD?MOx|0?GU6uSM5$nG@;!^_r;cS)9D~OC( zhZM|}*!3eL-7C-{qTQbkU{Bdd(dN^2XL8|ZH0UV~A|l6gj5#m9spexq=@2%kY$_hq z)R)^du+**Hjpt-D(%JU7)W9bAXvazW)!jTkl`hoTFe-dE%ym(3pK*N?R^jWR7S76*fu-BA*o(wwSo42t|(D-E$BQSA$Jg7A443_`B6rNSJ60-QW28f$kUeWH zqiCDKcW<%;>OSy(9{z069*c-3_6e0FC8FY;%)FzOtfKXQld)P6{)c>;oz4kHIQjO= z$V$hND#P<4^iO7p1-Rg{MYD(Mp9+-^gc}E-EI8 zA|dQ`U8t+?&~hLIV!M$s+a!j{vUYpT5PCn`6A~?ZL&#PmH8nM17d!I5N_7n(v@8at zdYMimR+&;JbnQL?MJS<2x*$U5R9A&HkXoZuv)Y#(NU0xgMy#pZXJ=@5TW*dt*k3nO z%6N-PF)yJ}#_V4JTHf#IldZzlY@*mCsMFv$n2 z)a7tKn(^*p*Gcf`yIoJ@r$n*b&ZIro(*00SEF8FW0e$A(OP5Ee9Z8X&)B5Dfv8`~n za>r3|2&13(Ue(NHXA6u`U&xk9KI=y)N#99mE~EMu{NO;|Cl*h>8*ar}i087Fe#K+~ z_W&RlNU0m(<MXT4+}XM~8_c>qA+4syFS$Mf&%cn~{i*d@h-iU%@aq*t)ID zCy4Pe^>mBTj~pwulmiwJ94cQ&7#2CFDK|VWA|TBw!$-V<4rs4KPNK&_3TTA4-IWnt zmyiVF(=!e31^X&T$@hKj5&qNWAYhdy_pg2?HS##wTH9l zwH#H5g^?NlzJ)MD#L;@82?3u5oQi;8Z`g$Xc{2~4DpRy&*_>HHq;EA}{o0V_?m0Cl z$7P?em{mXlHwGZL&E5nqJg;^=)Oze)F-7+hX@8Q6Dpxmmul367gSagZzS(p@e1H9v zrCB$|9sw%**-qtN_>j)<*?3Nlg1$uWKAXg+u-x?_cbA}M7rvPGDo1T+;$3GTv|^s= z?U}0R!zd3CkdWcXyz+@(41eN;4-w3Rx_A-M?#2wp<@v2k_aXE}T6rRVM%1LuM;~2U zc1et_x*M)ZWBt$9@nC`FC>Hx9JtF(nR>0p}PA)$b@O+lkZr5^@pWLdC>)1~FkR)U4 z(vxE=Npvon-E!^y@zN+sScolO66#t7xH1*@{1vFOroZfkgfuf9M1Dc34X7H7R?qXU z9iYRBY22L`KO+_T!|-2kO*i=%U1dpjlfmwd5Rejgb^EL{M517?hST%<$U{tNJmgsl z94?T6^Lq0ci#Km_V;V~6P%upAJTf9eKMY7Ifc(~xWbXi(x1xHyUW9C;m*n$pZvY_z2zI@ASJmyFWi(U#qGmtb_>+-MEAuCT#ieH36L8T+M@d z8kXKDswD{7n7H2UxS_f9@A^4t%F10}so12Ap(-csuYNw}TKG_2BOx+N^B-#!)rIcz z6+-rtE)iDC=YJ>gMD5~~OVhj8asgNAYYzq7U8xl47xpEzqTm+;8SMP^`xXi>q*Sd8 zP>Oc&rE^b0_%{DdQ0F_?>kh8XfY_469E5FlXW#lX!+1*J zcw7f}4YWK>H8v4Fy|VU#W=NM3beX)1M|%C5ER@Nr6!bWZy$#qCisZ=gJm>u6-}2)u zA9R@%ydnpFK$0omo;6H0K_@O|eiR`R64J`V{u`<7OLuQS1eoFx37yRTo1YbBFCE-E z9FN7r?DoG;QpP}F$~WtM=0kZ_f$ryRupUzP8^04iti+A1|xc5iHXu&~=gDh$-^GO_rudRt8t6~3*i+oYY+6IszaCae| zVrei6!&)`V*>C9BMGK(t9*L6)SVHae_D7YdmCgqV*h&zi(R`5B5A*W$Jk;?fXeQSO z)!hhfj%UW(;8A8sPFan;E0E-3SQEH1X#n^%W}m9=tS}Dtht+j213+11$GPq}#ZBpZ z?5#6-a*3h#Pn4-Rcso!bYl|?E16rq*sO?52eH%ZWlCQL%cXQ4LLsbKCUP>l=Y7m^Y zZpB=Bn~aU}cz^pbGPuO=b1DiV0BHGHdp@=hoB9^rC;SkuVE*kd?hxEjK!J`b!G`X_ zYMr)9^@Z;2bXf*qR-3_gkSxhZt@$4Te_^c#2bxF6lSR_(vY?e2YuTsCNTI0={ZwE> zlN$+|G$9;gPQ#3iNo9QwOLn4&@|C617#E|GnjeE;fT(HvMo|#DMy1ca>tkA;$mM(I zshJY0oloFm=Qu${ve?A;!hZrSv+%=5sF3z$?(=gXJJ+vw( zacoO+RHK>N3Tqvh!QOg`^Ulk?4aipOrWa`NlmwUu&ID&staLvSI_$bcDEDO&+3xU$ z@kV*Wncbiwdt2(Ftbg46N{&|0>@58R(FS-HlfmnQjCvxpe2Dq%v+8S{`$Q^OOl_NY zxYNYL>aNmMOL%~?SuGd+>-~1oOG58me((-q%{5kYK8^%(nnf6&BIE)C>s(%g$?g}~ zx?|#v^;Y?=BI&JC|1?5&Q=`X{yw5)~Gn&})126+b1Nzo+Ec20XQUQ<=l?B^3H(oZ| z>%KNtoZLN@e=b^99(;V)7v(nVmoLR^e?>2%FV1~y7i+|ZkCRa!jY$8c@s;0`?Xq;O zl3WlrEKKcl(r^$oFuOcKAvO8raNM6BJ+ZRe)lo9Ej*y?3zdg%`tb12Gcg60-@nx(Y z@h_&lXfROKkXtQbwX52A2{r1%=X2jvqMm8o%mmw|f!>|)4X{h2p zib!NFogltnX&7N8c5kG^0-Ta5g2$@wH=iJRc$JWbA!qAwRmw`eJckse#`|!Uy3xAd zAC-V+b#}ycfz49|_TZU-*Q-S%?>UTtq6O#)OyQu)dK;_lt$^zF{(^|93^i z7sVInVzu2eMD;0+pxiEl;J<pt|Sz{DjUG>|v0mEJU8Cn|_d@U>l;F5Y{IsU2941QoTrXCfgS z;K!nw(*|KZ;wGJ+55*$wJys=EV<#pF%@HG{_3KY8p|A%+)vMGRD+c=Kmw}L#v2xXR znZh-r=rSGmb0O3Ck2jUsX)|zotzO2}yhDHLEtoX1nyPw6FjH%A-+UStU4w32cF2t} zS<()o>dv}Uby?SvtWI#Pf-0@93kGaIU;d?5J}^y?%o75O${TRvh&v<$Stl#{3c5By zrBe`tnQ~#fXuI&wO(0_l_ypm^<$5hIp*LI_1`01wBE9i|R;xE&@&4q-KoOm)6!FN~erWR2ZjqM2uCB?c6Bbq#z!;ft#D5;D*VCDlWW z%;jRD-|<|1LiQEvn@uz#4nshKCmy{9mZGD`9Ztl4*wVEs4IVAYbA6L3(3ZzBF}w;+Jo%KI$?d+JrLW3z~o-2h(QEcvlD3O?Mq1DOtOL?~l7!nmNLJpr(*`^Q}Nk$0U zK$er!c%yId)b+nHFF$R!0^oSm_1oOZu9blzu5@Yz4=RYpB4J=V67RWQ$>C{|{olTD z)(hI5-)iSZ8|{sC%!vq9?%qPBTu0_rYh4Q?K3f_Tz{WcwRXDTHEG?o<{dpObqVcz< z^a|i_obo6{f+iW(($%L-HD-w*QH~!TU}7n^tM-P>HSMn^l0i8FS1MkSSI|J&3e9?1 zt$>|$Sa{6!?pIzmN3IfeJDuo_`&xHwJMj$ppIT-;gEJGmV`qX07af&0l(C|%xh4Uz zvxHdreY7+b#oy3V*HUW0pEMGZU=tf@drP{QgRjb%8Rj1XA?j#XaC%i+gyQ`m`=upg z0go1r2kZjF91r}mDPbtP&>nrEsmBJB7+H`Rx4dy(?D{JUd=cCqa~285$zKj!HGXTa zi#o#3*0~SwoXdL}-kp&KeR+Ocs;=1Jb5b-=Bvh#-zrd@Ma>e3KIZH;oW5h&q>uyAy z{9h3eVklq4U$A~WibEp54gk%LJu=Y z?YX=lZ&nE5tEG)&5uY0969{*L_>N9H`Ob+`Xdn|GwL^fMt88v*!tmEvQQ&)P#Rq6-g=h{Pd8WfeUn3qcTAtj0wP@5bE?qDKNkn4wczL z{?^&Lnx%hm$D^m2|GOWs1{rEl`-yc64>u~)M;@@kWy_vRo<~i}Z?m0sRP-~>b(}%o zp(&f`ftdqoY`eFhT&sx*+ol@jKPCW$X^*gqU-9BA+G{c$vc<2WZ^&2sEP2MoYnd1Y zcW~2tjsN@^1cv0YG<#&COAF1r7SIdJCZScDOSOIqbk_-?btxY|BO-bVq3-j0OO(5t zT1`wZaIak;8_I`=eGCxII#SSfiiVHI4mgj18T|@(>$`ofX?J~;?)ORu^{rDTm%wZEXk)&U_w*Cin?CyE>(Z2TcBA2eb0u``=ba} z(jUZ2@t?%Sa(AeyQ8HrzXe;?hd51cVV?Ek>w(nY)e$R4`HN%j!tyinwc%20F6*b!~ zU-Z}^Echa^J|9e0rrvhnB)`OJBsEutBkpp-YL;TE`R3G&xkt8;;Ko}dhV!QpCZL5Z zEB7D>t*5`mppSxTECr$4ezG|9>q1IjckAzSfTSu8hyy<1Qo7WGOBq`Uq2u-B*lbzF zKPL!|b8UHrkQ-tbEw%K{0G*dA>Oj~>;?LOiaX2Hf{V8#HRne(+@tRTz@$vEefFSIW z+1ar33rhJyBbyH%BC)+K2^YJe3(Lb0Oj`fOSbuE2HW^#9jn?2k`OZ%iz+u3(H+;~r zNb5!9F(#RsPYB?{q|~GSR@oNYYo#wZbv{u3w0!E{%hi0)3e3oaETCg0S@S`nDdHFX z*&`4a+J1MI7RbWvQN!-S&iXs-8br5`cVg73(PMYL$_`aeIO4}GUkCEWpMHE_e}GH- z#DJTDkYYyYx3HRRA9>BW;QAEk6=9r*S;BMl!yD+KWnB8lqCSW~JqUGrrF;f|xTG{f zM5vL4uI!c(r;muUIkR^9@Ykuc1vEe_clBT?s%mO}n`);)^#ucqonPnl0yzgzo}0SK(8e%;!=i7x7P(V(2b9V$p0 zeN^=dL1}K-Z2ajc`1`uZyoYu&^S%*yDr=2jGZ9Wusxwv3%T~0HpU;Jrod%t>IN6C* zxm9_gmJAA(s|%OJv-cTmP>yF1v-NC6eqwpI+ag)j*K_yV&1*3SI0`mQa#T%c2txq; z3Lt7~YD&yoI$u4tJl(7O=MjoRmnMrAcgvg(^J=>$=W}B~gLlH=b;HG`UEXe{sjAdG zS;kwSh~?raZbZc4McSl%`az3411bNaby^JoOFVP8CAz(o}51;_M970 z1w9f1LZ~-a^1joUc?y)_>(6c&PFA^=&Q@ATwA(8N25(Nf!;>e{bq z-Az*pMYekL)w}m}HJaAdi-)6w88NN$DEy=~)Dza3*J+8f%P!+>1kT0=-iTP*SkLPJ z!Wi>om?+{`;5OH)G`(Oa$>lG04A(FrUEjOjHRn3ff#bZ*9uCM~e(5oP0KWBU))i=u z#x-HE{%-mG%euF8xK(Cy>!#m;W#HwXjG-tc!a+wMTTj1~n6WFS`5}yvrW9gVmZ^!A zNacaZpOV-CY(PAucw%P-212H4+Xdu{NK+VO!~&;q;;;+%)%U@rZJ5*I2bRQycj;kx z_$Thg$}CcrpFPvxFR0Oq2|g4S?a0m)?AsGL2%G;5b6{M0^g3J-qO zqA#%RPPh3?GMl%9^HEd%Ez8Pge>-;tW_qxkE5?MYc?U)x?1}RN7K_GO85-(id^P4* z@TiRG3N7(-IGk?H+GkSznp2z>DO2t3zRF(=QB<4y07e6Vhg@f+5?dD{@#8!`;iEdqnY$rsao7`vdKajLJ zTm3rS*yOeaj@^B+lbN`6H!U^kkqpcmQvtYk0@v-esRhK&19d%z!GwMPEpxOoA<3!>d zN#(xTv4;f>p`RH%JYKHr?V4B&?q?>QX1f}XM*rbWT3PyX-R!txjL!uY>myBs4LCxaU4JBk|`Zbsi?2xNp_K3@hrQ1ugoA{Aru86MQ zv1ET9jdi&j((k2Tm*Mn#q^kAMy0JO|IFh-dq+t7Bgu`cru&X zaU<*J(=AkZZs1gUb;~P_E1ufV{=$thTlh3iuYRQj%yWCz$sY78g>NHOZAkk`sLP@~ zqw!q60bW63%!>2M!j|(Re$l$%i7Zo7E^_M48&D|Grs`GE4~P=5qb<%BA7L(6zM#Vv z9BY%q;vaV?Du>ZOI(Uz=tkTk$0~y~sS@(o zF7nn28Cw0rGG>LWo^BbTlh2=Znj7teUXJf&xl<(K)UjFAqp~nPzi`Wp$#OSB%(pGX zugedMg9JOCcpHsuBT4FsiRvU(rh_;d?`j^v1@D(%Dy5m?(IHkyeVnIwqq4CP*)SuQ&Xy902v=UG4DReCv7{}A{2G= zNb?aou-0H%AsXKj&uJn|!?8-5HhNT)`==iFR8%}0jV7S*3O~IWahq)PM$2gfDXk%SL$W*=M@L5iccv0>GtPE|t9aBw>;#~K{U77Pp*5&A zL4#BqE<9FR8w>aVm#-yQfT=3#`co8Cb?Gu*c($6ybSx~kmv%}BJ@$gcyU zqM~q|CJB}*Ypr;F!y7ogu17=&ZC(AMWyiW)GJZPc_XW2aGr!+KgpWg$nCbdQ@u0}J z75oZdh(=OR>c5j4Zi8ymnm+mA)D3` z9=h^(hko7}Upefhm6SdpJAKuZ<8&_cTd0Og064XVQ@BWS9tuw5ycD&*?uY8GV`mF{rKQSlDT6A|_;%$d);!kbLkpjTyAp#p*Z1%~~^fqBjUN;?Pf?y^AkTOZH@qx&C!#5K@h;8|8jN(+SC4xfBOm;WJv?7L0DAfg7m@aITku`wf-79LscpV(``o5lC{rJY{mf!ULUyW6ZGr(gq(L4NUKgPepT~l#J z_cq_=^$l|$8%iH-iAlI2K5?EhV|4BQJJM(EL*4;;iMs9T(fv9}Q7ejH{>`~=RvlA@0SZs5*KvAYs3^LEE8BO;lkY;iZ2u=l zpoXjz_ChG5?=iSc@;5cP16kN0zD)Q(o#6j9-<$Koh*?QZC|H5`*NEs48emp4k`v-s zkdOZQY+|e|yyUyD<%x#?D}4IAclX?sA7cQ_|G(%5#Gl(wYLFaMD>u&WZ&5Zvcti~r z^cP#Lg@NR4w!i<*5c)MG;r1j^(Om~)nJHDqD4i4!oDcZ_Uy&TE42@11m=GuS?!BHK z$xMVCy$_ERG_#z4LLBp8X6aw}Z$kg|@i?K_m3wQWf*5BsY?+i-wCiO4M~g@a=9kGJ zNDd~@F$w;L%fe9q4L)*q%w2SvMq3l1G&}`pn=k&#F5swczFTFnRKYo-*MFY>)cf{g zk#PFqw+5@Ch6xD__I9(JC`&c}=QEFKKx?@V?bqzEO~Mng#B+DDZ9)Nx@$8>~eW26e#g2y8kc)DUhE^i3?Xe$F% zdFHg%p9~2pDzcKB2L9xWwa}mlb*JUx+=;v3i@uZ=93Rj_*a#N^Bd(69sjFGz@TV(=Z0bf~vCoT7H2tG?qaho_F= z4Pxr*9zPGM@_X+7CdbP)R+Axm_c~MkG@1Vi@Y3@ZdWofLZ&v-Cbo%k^$TYxE-%Qr2 zY-V5A^GR3w(f8;Z>EeW_kNoeY?&ctv8q?g^nkZ|KSrR2>fCfx1Fbq2ycebWPEh4UR zl@0KRyUvpZq^PeftgcQt$mo@mLRaWt&~vc<>0h+T5bftshA+dP+kVdtCj-q5 zbCD9qEzM2d$3`awUNs2&d$5854LKUAw6W_@o-F{^ae_opd<5iDj-sUgv7dk|vG)Fp zB_nlJg~zgu)vqYPV+~CVyywoL_pV%hH%0slpJ3puhf zx`a9*yF6kiBG#mmhDAdmS@x=L8OE;vbss@I_C#`fqZ_g?^uAbY9`v%Z#g7%0{ z`8y|XuTjpp)Z2Kik535cP4f1Zb{G~C+JYlniA?d{)4w@y-M0LC`TN4=5(k`xkwADQ zJRb5FQEeK3(=a0~Da1aAeqG=2e*yDmd9-p(*57|6eccO zBm~XkfALC=zKjqb4)?1S#>oN5ZU$Ifd_dHVvl@7vTwJHF8orcdOn)6zXWj7pXnT9M z?bTSU7ULev2IalN$kwMy+m@3G7Ldmq=Ysy;CoiOrccw*)&bJ?pd-R-bQCs<&%!*e1 za)CVKe3zODbx~X!T2kwuqK!<568@J9BnohP_EgEXpTZe5jw-{vnoMxM8%=FxG8M~O zseAqzXOvBU0Cn>ERJKR)UYZ!>Zp-&PLV2D3W~1v{G$D%9Z+=n30c|)a)3Bd!YQp%& zgLz7K4lDlA}>>!Bxa_>Ro0@c^I^d49Y3~qo%P7xLjCF- zw-xvi$%9Pel?d~c3(r2LKXT&&%FH}t4>zS1)Y{vR2z27a5qadO3Hg`D+2Vbqb?&Fl zGS{mLr5Rhli9w1C1o^R`c- z`L(km404Y?70?bh8DH*ATah)tOOK?sR;;t}BMpm9KMeqsdJ#OJNl%0(9o-OxyPJQ> zL3E(KKGHpDvU$_S%);_Sl6=TTsO@#2cq19q-yxoxi-(U8v_=CFk#v3CP+<_}CF(kQ zba!iH`<2o3j|zq?CB$OnwB&$vGGsNMaw7(b!O%5Po801m>07J{v@)I#8T3)%$<0F@ zWt*SN-Is}6o>)=S23*e%h@*29tIc~Fmhm?IX2D#SCQ!V;A*4>e-Juh#l*E{iHnjVHmk9Hq>ARmJ~kDC7RephfN^pg~+&x#pGIs^e5cQ5!M0?R@iE7weGy{fN*nCtRZn?I2lM zCvcKLfNL9%(p+Q)Ns7M7XXrX6`N^*NzvhP2!vQxKT7 zeQ&M{nxvBGYjB^SQ_mOb6N1X)ljJUb%_OSc-{w9MFRBq01V2td6F&LcIQ1w&Nn_Rv zXvoKz#eCKC5dJF0#<`PL@W5|cY?%j+pPo92g8XLRUO;Qm= zLWI-wtdM;&|E;&sr{}MVXWV&;zhVjVmj4LfVsie37}e7VSM#`nRhM_tyT7MbfeS+v zcPO*-QaTy`{8QO%11>jLW4|0{iQI{b`~{NJw> zpfXK)2)N$JK;O#OAIgT;lLIb`u}WN?-@R`v{LxX=vf_#3xz| zE0Wcj<|@yxf77-^=pWz6A12~<-MgNz zuyRsOTqkX_F0-FxeK)4_Hus^2omMvWVtXK4W$0e9Imm8nb2DhklIQ&fko(IEiT-51 zR;Ythv8*AE+}oM{3ovQIon**r2s@;fp)!F7AH(X?aUrbnth;_izU(Xg?U8NUPXv5> zawVD1N_n2^ZmK1IS24*ta;$95f-%uRLRqp;{2_uee#Se8J1W=*5<|(b1W+xlQrCa9 zY2=x7#&mou1?hqH#4W*#8VFDR!Dmw$DP$uSjEiVc7H*q4Ax?VbR7WYYnRoe zZWOlXJ^rxsF&y|=jD$FiO*_)4@G{PY&TxeZytDK3`;9Fd4T~bho9;qYq{wXZp+qtw zK`^Vs#zaJm#lB3Q35#;UnvWf`qoWl*G<%QC5;pL3uFPd^(VSDN=-sQ1Xw9b$5 z?}}|Ie$rZxI66*BMI>thGO9$Vyk6};v2DeQKX$G01#Gb{wG~u}MRl?+JN0WZM5$cy zEAFJkrtO{zMXmhoa>2eK)(amE{(-S$l=kdUB6-J-ZX4qq(+Dwbb5a;g%-(sph^Z({ z7U_1u)_RP^*l`XH?t-Awzf}Sd8QT+TTzI{!2zNYDDbY?q0#S|ryuL^LtUBWNZe*3K z9-TEc)4BUvlgwF2vKK-oM60pjwWW+Om0kD2%x;jz^8J(+Rh}^dc$uL9=T3r{`?U-* za1cV2#k3TBB&mVry>4Hno2*59dbYre#EA~PRbje<8S>~x)a2I1EZr+B6ta0E(#Lm) zWyixWWBR`L^k3RIEbj8qbYXtfktOA5AvN^TG9cQ0q`!*E)Al1=AgwMbKx^ISZX*nkyduo34XgV4wVS3&ps-a)x|1(t*2)#9mjk+ z^(;S?&24%$5u3~tCdS)VNb}F#XCc@eu!#vNjyQVsmJU0d?1%)QM3#PxlK01|{+BPI zl4=JEGVr3G_-(*DghfkIVlhq&HomK~Te604MB7GshfI&wNkE|tGlX;a@jNQN_BTV5 zK!=Zv6ByaQoUr)>ljcftk(_@^sWCbQ%v2+Ur`g|PnpELEoUgqnCm*7XhyXvA78c&* zL?Av704UcGKeS^?9{_ckyyFonIrBf@k93GuW3+of5VLw*0l1!-#!*|MvhJO(jTFbG z4(ekrk~a$@v>o~Km^s9ZmoH;H(zRsf2t`buwSyjsmIu9najq!Rw&D;SHt~_e% zk}LNy>-)Bm?ivaMFnxJhuOVh~7$_>%sc|nFm!d=Ks^exmByijuTy#LmV*Lmua|hAiQ86w2816? zDoJ1HB$laZlkU2Y)CTS5(YzpU&|}BE_Ol-xENw(EF$t5qB#3Jw4*PO$;NJ}2q5mo- zSY9TI$OXKKWh&}(dnb2YKE1WKAeF&yYA=dUxcoFDBzd_dOZ7Bcolk6%;`)@aWJ=27 zaXD}!C*Qy7S#3Lg3Z&QytNi+^jof6wCr|0^nsdO+!M%gu*C7JWl3{xKUo z=mkgK#WCNXW2ea(54Ny&qix5akhAGTp1T@ZpLlAx_TI~LnU3<-hw;;-7y`b(tTz`4s_<0Ag$)JR+(GA~@fDNT3Z;8F^) z_Hb43W33nR?Q`s^XQZt})Z+;!>j4Gw#!9D|uj2v!q-S40g;W~%?U<5rfv<^1FJ`$k zQ1Yf%z97N~+ zJ{)DB`i?n_)|z&V>KAZ8NIJ^$P;FIZO~jGW1oItA3*MtzXWec-_bWW9e_ibd)KKMH zD}d0hMWF;wRhf<4$xqvGD}d#}y%aTMP73!A_2kl?dGvC*)Npq;qt^;0@p-=)_(bvx zm~5?txGxEDyWUO8^YxF{D=UOGGZExeIg}b|V}h-aq2sp2#l-^+VsR}R;XY&Cfk6B8 zU6+#_9?e(kWd#>|(D=+Qfc9lFN7!aSsN z>}GztNBOWxOo`{5|1{nt1o(=&e@jP+d8kd@Nn-!%DJI%Io6mBTs@s6%q31MtLE=Ih z{_GpoplnujTjr`8JP_w_h(}pJH$Zm&A8FUaSW6fnc4qu$qh`bDPuB`npZ3 zS28p-)7y{)WE01cYfcR_riusT02 zGS=(x07uoeb0$O^?iWs$X1?g@f1N3AgO6V>d-yFVA?}opJ^gQoSr$7C12U+aYv|eQ zSI^doe{;Tg-||<2kHX0ww9D?!0OLXwHoyTj@-u;S5yra&pOhgUjo<26qMjIGIFyDY zr2KPfdg-Qi%I{Y1kK52hWu|Pg*Q$s=&erl0pL)r+t{7>8Yte~W_m@D|7?5=vOK_+} zKZD!DxC_%a3~%`q=$VPS3q>PzG}aa0X3*YW>~gnOR8%0H1=9{#@%DZHMD`(A;Id#O zWF??NQZrpbiYnMYzW1B0B*5|W=a2S>!r5w#r}>8FgPWebAEz3o6G8;|IX3#)6EC>) zZUxpIDK=a*WH)G-KTGyWlg8k2nkMaD`b0sLjd@X=zH6VlZBPrcHY|Vioyf~PrR5c} zw4>A9V8Fi2Dw`$rmFvt&w>3VmUuca;p8SB@bgHpUVU54bIaEN#w;Z-p^qm4$C>?jQ zaqEUjs-=4TIy}IC^7wM+XwGfzvsZ@0{)E>svdck9SK;@Bio%VYdgJ$?noNrUH>FP! z3Mum;JbKbzZ!1YH)U7(IXj*7;b(gg?ljX+1qp_?vlt^XRP38UA&H<4>*2RGrsgD6j+_r9;yeQQcni;LbF#H4}{!CyIAP2^I1{5B;GsrgeU zcDTPu&KC$&QU=Rgj6dS-U#-(?GFXThr0j(t9T81YV0AnJo*sjZfnw60Z=l`-K3Lv2 zm#A6GSyK&3{^wA~2!8eb=OviJGv%x+eyHzts2cT>Y)6He^80{UhRrUd=N70f;({~u zJ%6L;FqKTF)m+oa!eVzMhQ06XRsQ)7A3y-Z!$?cfsB`(H!;5P{$JfHw3w6)zVP9x3 z_GhXgi}t35nPFj!w4{xcAxJR{Y5d*{GUt)!4LEKGoS|rUS>3FqUPUi(Ep8p{gcu*2 z#@GwO2=W4%vGdk^a42wrFD~n68ddp?sP>i%W3oM6*f=-jMjp)C{}#(A0N`lsxXmUC_joVp@U7Y`|GYQ~3hpOCg65mL5JZfmn#{lGM!CS$6P> zN^$=%V~f#B+(v#z(8@vLc6z)bL#U@&e=qvUU1pO2LhL zCCR$&;CxF{6$d4qjP-ntto}yYX!vLNBT##bwn~kjXqu4;S3DI-7xfOdt;@UOK3vue zxc!Z>kn+(P`1Il!^ktFPg!g`F1!*bC^0%d_C05xkSe=2F>@cM(Ogi?*r2@!qIp?Ra zC}kfJpeow{k+mqKP8I>N+kSCi?xeD*ZGTKNCN2A8INPWCot0~1u-*f5-@IkjWTi3f zalyu-b4w!0t=|!Q(BS29^PPRT7g1xMTU`j;;*{D=$x*nxTbI<#(FO);+v2LsjwbKn z@XnDopZCp4Ya|YHm2`#xwZ74C?}wCm{MoZhkZo(o)sGK->$prwuxg2yPgmxZypvWf zpQG-ZE)DfOdI^!X7q>`QJuYQ!=KddDZy6O=w>1j~3GM{f1_Fctjk^SQ3-0a?K^k}0 z5Zv9}J-9o;-Q8Wke&oFG`R=%vAM7#U2khQ!&s9~kR!vv#tMNJPN}IM;_I!^In;R~2 z;e}>SE8UOx7E(7G4KMl6_oNr3!~EE#9!?DbE)V&hSk}=|9 z!67nUS0$*navJ2JN_lPkiBYd@OgoZ1@v=9n$wC-k`g#7LvgH{*4N*v8v1pWf#o(kh z=sFrx=kqn*p8ae6bf)A@4%z(m^K~2C&%+I^1Ui-T#B5e-yKSH<9f?|GgAKMa_($C` zRB%d;KPH2D#Q>%uVpv$0>rQAaF@H&mmYABdtS}appR#=>pQp|O*t)_CHr*{L3X$eu z*Xnk9ef0hId4*-zH{=`vodw6~Cdl)kL)xZb*mfIt>-gK`Fo>8LF86bf)a*yz?{`#ytw%v*Lm_Zx#A_v6$-lfrhv3Z#=O zyTO{b=Udu5`L#iMH}M%`f+`$+c^2K7{L6foYyKX+76TPHDZ_BKx_=Cqx80(SET#-w zW!1KCZbT19^p)UEb6lOJQ#1q#N8aGe6>|4IYgMacIqHBaEK)Y9Xi&eO3npKf?EHXQ z=OnBG?I_grLg$+MW%iaDh;c2v`%=={)$z^KHYgh12MzBj@?toSZ0j8-Dmo;B=+{8g zWmJr9>*j%HqSqd42sbTZUEE;iYA ze6+M23lbF%a9cW{S6sbEOw+N0(R&O2YZ8o7OS$GL-igrp zu2NY?-=#s%p6R%s#h#g5&9mq4UL(fxR}b;B-vNk;iQ1q9iyw78#oYOLQEJrK^RL}< zI{E`8-mUOG-yhx)nNH${C1N}^q3RC?+Z~f6`hgU%hSP8IBR@YD92WnonWtIC&iv-} zaQ7GRoT=13k5pGr$1Yc^COgq#AQD9>?H@{bS&455r8%7m4$gf}~a)xmq zDqGkS`7ZPRboss-EMR*CL7sYf!OlAOaWU3KM2LLmv>zVr_+(&sv5Trzrn^AA2u08A z4He!-Zs!4AvDs}W^}Tzn_{HhqO645zhU{SxLGf$QrJhfyWEVUeA;~w9kVJqOYTcjJ z*j=)ajBxFyy~FY`xWNFy3(Q2)BY@KkjcCIwO&87XIL!m~_ch^s{f%eE7E&D=Ll2@T zbL-OWUC&`>-s$DG&g zv|Ka;9P66^`*$PaWx={GcGhd`{=E&~1qkX)#`~CZL@A^46gK0`kaARpt+H^=X>#ImcYhIolJ%DEEF87Rg0*_(oLU=u+Vdy5(J zkeRe<6?yX{I?8ZeU87}ts=NCIigBqf1;>wd(>vT7fS8)2<^1%?ODy>sPa&@0 zt@3@*;|E8Eg)0h`E#}Cl@$-&lsZm~KuG_or^Q{B1?v*TW5q!bDMrBfmN}=ZB(R{#I zk)r^Y3a7QM=8I7|x*MCGoM+rm+}bBD^?gQ;WL*2>U5Q%|j#*4; zz&ybH0MwnB+`Gf!_1Gfi@xSJB63C?VGGn6n^z<<&^82$JaWynz9d+|nC|`Rv%D0K$ z^(#T8cr0aYJ3$U=X1zIr)VtYPSQ}yeOR9mzh8NxQHIN32cxiJsc5O6PHMe!c&x=f0b&E}YD>$Z+j-nvWDy;Oa1XLY z^Qo54L6RVWRu#eQ)^5UJ5e@8`Ot`oq$n#<7Q7Wgn$HD&<_Z^X<+= za97LP1#r1xI@tz-4db6|z)VZfK!=0r)4}xo6TD#dv1%yly7$}Kn1cEdH&4IJZ$~w0 z2*pgXA7|3+B%ju~*F5aU**CYLp_ZIVOO#CY^Q8Pl@;D|hhNHzI)9<7R2VV7Ms*?5C ztQAr=$0jG@#pY+l}?)y`5J=9n{T$+abg^6+8x6L zgRjTm(0kX&%k}P5NR*{x?%{L)n$s*ADlOB+ta~|NbmZctlM1a07_Ix0^B-Al2?^qh zB|JvbU;%D34pk!#o7%c|^u!mvCRD8rP|3%trux7u{b9bk0BKw4bAG>ieApa4t}#^3 zQWb0J?)G8JB%$IEataH?6kx0^#2K9p9q_)h*+k}&3M_R#vzC38>y=WQCnbto{_ef? z2Wv>~`l5gGE7^4~V$X$~<{RgX-7w4cUF)BQFcin%ucqQL2m=gNjnJa$j3A%nVL zo6dR$9*dJ%{@>qS7@xAs$8Sl)10142+mG(+cGvdcla`Zg@DyYb^<%M(lSOv9@oj+?N2j4 zP*%F=*D$qpJ(Zb0`1lILtDynBLnT&b7$k_&%4F;Ge(=#rcb7Q$%v)+Lf?eF}*5C*L z@~aJ&{63Q|rz31N9%n)JW2+=h_2?T-UgGMan(0N~H`~{f+6iYd6Rl3KR~5o{OiT8T zkZP3g!|xouu_N}Y$bHontXB>Zv?;UTDE&({?GVX&J4{0s32S<~uTTdXK(eOvUh^#6 z!)~)Jui#u2Lwym?F_(xk1mM?~GLN3QeQaQcDlr}jLMhP$zS*&E?B=D@Kn2Gq-Rn*~ z^GGvEx&xv@MSz`7^+PABP3aIG!e)L?+zLn0WmR2SJBWGra}#k%pXBX$>UBM<$tbce zfxY5RqteIT<0(!B)yVq1@8_b0u+jN`sf$OItxCGR4p3YMD?18b%A+m z^c94RCPxHS#NKFvrY^JIHO+GOjhjsOzg)0aIsq!p!ds$|$xL`FZxAg7U#Ujh)Vxk5INWqOS0@4^++m3pO zw98;0lHDc)3LCIr*nEmsDSRU;pA)d8Qh8@Z6P2^yumopA<%`}|V}mUN8pa({*g zq5gFZ$dT4%=(?u4@`3#xNumb6Ywhk)eoamg3j!g%x>uAoMX;E#4E|kB)aew~xR^|A!Qhu-hl%XgXoCM1-)!?33@kpMoxj{Ti}nvE3{g zLV3tPsQ}w9SJFV)e)aFcA3$zS#8`H-QuT`dlnay#c_t}e;Pp3AqmWb%tt^e1GW)D<T>D_A)3!&8i>FEC%m; zew@H1_hHn25Gum&gW*jb^N!X=?4RTV(#-<+{p|<#@*&U>pu4#%g}-!(q5H}X4fC)2 z`y93qt0EER4J>8R+5n~pf{NMohDwBpJha7-xWO`t$>G0!vGBd9o?46;wr>hxO#r0t z_%C~#T!R};zuc7c&a(Klc2v*ha!GrxYeL9*U-G$ANp^#(O6!I2p7u50xa|kn{@DIw zZ7i5=seYl^o44d*MO|z~&y5+|fUFu*3(tuedE2ZLEQcgg}MTZd8o*^xm^Edph1WTZ{(J_K*>!I$#{W^izTKQTW4l;Zp2%WGJ1?h-oQkAixG7Bh z(Zv-o(AtL<$a|Kc-aS72QhE3abXg8riRQ4p%6@=2 zs@%Q+kByx|yswCoo~P#m1Q6wIUj)*68+u7dhj)W_5UmI|FD!LzLlELXecNDHNhMW9 zxnR27JkEj!v1U_TN#=Midl}B7IbbBzv63rS1%$(BcG zHlZjx$4wUiEq<%L8~;uoJlcWKT*(uzr3wAivypZ9+v{Ne?>XMWoL5w*^o_>K#qwvT z$a0c|DE?r;m~>;BGt~2wqvN=G-2r;r4*C-ISSRYSOUr!LNm#$1r8`-@8iGBf)<<2; zx}_h8c7N?!dw(yLFa6PfEfsGBQc;yZPf)2_HZ}ioZIJppf7?hd<$wEhPiYtrXwXZK zcA-yVz3C`P-{pU3Oe6vjz89;h?(v4i7aF`K1III+W-a&Ey=Il@q)}RI<;%(;GL_@;`-^@_956W$mK<1KJJH_Xlw4AYi02Zfb>@TjvdwXielw zNgss^RDai`u8@>`u6kPP=jaSjYo5QRtoo(3d21pIi31ll4z*DSXRX|CA;;`5wNU@? z4g(im=*qJet|#$C1t@#=?BJcp3j#qNHQ_$m>0&KIqFv(o`rv~PIAxBiS=Zfi9CC0U z6BvR`QqtjVPgl$xUXY7KJaJ^unX9dLCvG)wE8?*h;i)Lql}jySk-k9XXq=qXn;1&rgo-7dxzV1i~c|Mo0+gZS$8kdASoE$cBn`K%ds6w1WfI5qq0g0kq3ae3TiD7`VL!}|MCX@;0?zhCk@y`Y z_3L*F2$W4pcJgNZZ6Iao#vQj(b?!0u89kyd*bhk%_t)J&Tfl|afITEEICJH0o>M~# ztlSrqj_?74T=XuvSC`;Okt}2k@o%`6{<&}7cjHjwVMizL%#I@}!`aGFfKp#5vKv`0ORhhhE){D%^NVX!vP2yJd_<*%rYb4nIxA zi^t_Jm+oNNNiMs;|KKMG{U6TVNqw=u(=shY`==HxKRiZy69}&NFzp6V!s*Zbdj0L; z?aSewUtDbO$U$iHsXHo{gPq;gcUu@Jn)NO*Jn(Uz&MCQ>XW+RZ&Bf;6AUFD~-P8S) z)M%MZ(OjLyrcq1QNP_y)5-@oVeDW^9Bh3Xo@$j|1xVR$G9L7sZ(R9XST1<7LTgUxw zMn+~TnSg!HN>a=u70o*OS7Kskr1N3p5P#_Pr|BspOB?s5^~^XLa>>dw(g=H6OZSK& zNfIpGqj=4H|B2g`U*^;APo6|LN{5!f%T)rqwB zE8c59Kf>bVb@(PsqX$A`lzvusc)3tVj)rq>%6O4)=*-k{TiqO#I`Bf;j|M7^lo4Lv zS7p#Mimt0DP6-Vv+u9$qr?bQrM;&tiInFfa#;d2zr$t(Xx$^8r=61Gi*3wpw~z z(ITb_*$?;)#2wjgo5tUyIV>=9aYNSJgTta$9kaw)ukvZHmxKY>N=T_SN<|Ey{7 z($0cHbKN}7fxkFUopke98AkNNvR^cPEPnu%y4c~kVcQCmk1q$|wG%@)F!Faq?~3ih zdErKHM4B*Y;GR)cT?xfmS5{9NdWd&ekmG}xj~c-&Z~pz#1onq|snS31&Os2|MVUC$ zpFzjGJOY&5+Lj0p%{u$hX{BUHzXLdfARNK$1FRV1R^}h_cJHejT~L|fqU9v9?^jCI z&`yHChlsL!Vz>fBK5aJMtQB{Kk2K#G&W|Jl*L$6llho=-M7OV`k0i;+ z0Wu6-7Ej=lsY$*eR^}iuR+K6-rF4>p-cEoPw7Y1dc*FK(;lpu}Q^ToEN5PjD>x zZ0jX_UwtEEa5iAX_o9UM8m-pf2D=9=`BW!^*Cgw68_ae-b0yT+XNa``Hj$P^jhOJ5 z5Lm_J(mW_mqeGPS-uU8q;vPy0iC6gUY7P<2t_drO$-M2~+zo-LDj%zFC4NS4USJQo zM{f3C`*r<>%S2aPh!7<&6_<1Pfi^Qxjc&A*IXxmBg##ZAMia-x;^JNtNn#Gn=vTjt z3KLp~OSKvjC5gMEn?ah7ur__wD(0*9Ho*^?U98>+i((E)D(Q|#nZ1jwCWo5!AGTEaSclP}xe%%9ylI+Dw8R$RGeywtB7IuDS-JHg*!I|nkh z@0UME>>_q#*>mn@uoGU>ZKI4RTaEw_e z?;PMX?3X(pIv1P^PlE5KDBULo9IgXLTMp#X*WOaU+|vDg@cQ!<)YXI$_8(`guLBdCds% zLFk597Q8I*u9Yw6G-bXse-JM+BK1mya&L?n|MpNo!SzmpkKk`V|+s_uSt zSlfb_%$(6jv+BXPc4%+6I1ABwd3sqt$Mx(|Zivl1r+l_D^)%?{Ww;M%{C;03Ev@@L zm7tqQsQ&V9c8ysF8*93xd%`1gW0|>*_#7gD>@!~Qx)yvBMC0{s z;{KQiMZ#ReyRzK4hxbbFVYK4Jele0|^B$&31apC(D{8ggNJm?c{k9*7S%qc(<+K)< z`W7@{f0m8Z+q@Xerz5@;*sp}6Y+GafI;9onLpJG&CeL*BVKjba>Avq0 z>bH%V{Mevpm-ICaB>1;kaMX}t-|o;&h^@|%in zr~2w}8m6yiKbnaLS)@3#DXlh?FuLji{+d;w>%GW4V+_HhzP`S|gWqW|u{bycRI@W^p}464GEMR&j2dSTw3&1# zuTE5EpJE{aT3dYm%!z|BwOWZ3QM=>GlSPqN-tVGjfH_XWoU7R3;j7f+F;^tfmZxn-JwrEa6&x*eks)W0pS~zjf%GJwqmhBhN2pWSNeVE)GiSGdVLvZM1!C z5%bJBdu6_w4hu#{HeFvSfy%qPU02LljA$y(XlA-FE>N9`isfR^-0V9+V^x9f>cdn5 z$yv4R0O7`!MAUUUFS@_M+mF$JQox>Hv>iWpPifp&PjV80H!G)}qjmb!cfV)pBDc3L zjoA>{ zJI*%@z6RPj@&2baGrN8Vqc{HdQ1|n1xzW$nm&l0`mg6u{Qq9Jz&3b3pA!D2pl9UC8 z^f(?5&poAb>ze7!dkG64<;Gt+YX{^&BqN}E-0Qou)1Ii8A6;?xo@q&xn}KpG+^C8b-gF2WicQJ70*?xGptPb5TdVTdqR+BI;6-M~ z0Qk)-ukDV8%UPqVudVF^+!_U(e(6kPVm-OEL(<*r>&#k|@{&>cPyPDu8YvIm!UCE9 z`kXn^5Av2ep@2N-0#9z&O~)9?kdW{e}Hm6N-c57*Y&>~_0^6C!8)0kf7k=3+A2SS&!W zKm4YYsa~Kzc<<+B?a|RulCz>kkaNa;|LuXog>4u~LNUS>9UX7n_4W0|1q?G+BoXLPU_)4hc7J?wKX^*81F9>FVoLuh z0i+oQ%FXUxv>LM#Cd9}2b^dZV*rkmWF>M2&NSD)sN53aRR+eKevr<3$3uQ{w_Tl^?^}?L}yE}JF z{bptIUUj`j6zBc0-`YoB8V`km3e@@X^<}=o@;|wke-$rYaPg{ny*8@B+395H;-Z-u zF?lX^lA_-yZ_Qn_&7wn{ezlSe|N1|r?B9y^&xI)Z+xy$A+~u=J4ZqTgi1oA4X!sjB zakeiDbQIsyK@NB{Vg_pAEuHiU5%TARx> zGodAu%{pU?p8-lfHtNraYk zC9zr-U@G0)Sx!Ewcz&e+qIhnWSM9z^XK#A zMkKmcOUqN)dK>EuE#Nqg(|ji575)p1{0}nzi}d}2IB?N6?kkdPr5tc=2$Mc#Q-#7k z00u;@mQ~zY_k@4|{VF)JyPXHU7RaY#1S2dv9$Xk<&*+zmlfwF%*>-}l_L7toryPkz ztTaRQ4u~HVks-gv8KbnL4C$z-_vDxJh$wcKHq7STdhN;dtV5kC_UvXZWq&jJbI$Fk zBvn}KZTPOXp59AvQiO^N7(L&eI)R#-YlvsWHNPn_mk*7IPN0xNekOlP0}AIY=b7^q z3-3Tc>;6SteT7hb+dDXj970Zdd}Np%`0wgxyrfTsu*!{`m{LT|KG%x=KURS@F+@m4 z-TFio|7Y!v?ev+hmFekeL$jx^W=Ar9vn30NsEaF7s)llPm%?k?{v6kcpoDK(`H?|J zqY)|Oi>Q}dvE*VVOVLc_(qdv&DnT=%FtsrS5!UI}^Wh2FY@y;V;^5?_$3d3Yxa?5| z^y9i24dpc3Ww__fRuOM=~Riei!CZ;1b$Q4J^6!h%G|xG*Y{f{?CK__j&$($x0>v zodGg`-c62jtg;l%c{#M8G?~4!G?s+&he77TQSU(o^it+-s!4XB#I2JCUkG(*hw-;p z*gW5xl~%=j5fzz@G>rM)1mFGKrDGJ4bBv!*om9vxMg}~>I3$xy-eGRkaA_yn+A?sQ zd^Pv@6v;KOZ*fO8l0YY=dGB7jsV6P=#lgM6o^c{s8rF2U#6IkI2bo?C$qrsQ*3Z{Z zL^Dl;GA?N{i2F9_>l!+d|1Qi0Z|GU+V=n_Ub>DMgvQ7OLaSjlF=}#b5pV7eB$y8QK z>@#9P!vA#@AAE;90UuT{74Y)x1!Ec;j9YE!^Z~eWbTNBVTG^b=qj089v<*{v-UJ zOZcbB){2TV**&Q`RMaLRa+bu)^WQtPOr=W9#gwl$!Ctuah~Jg;CS;>QQ1{bm_`Cl1qbWea0O^M11YQzQ%9lf(ckn1 z=hP)18V5r&bm}dXbMuPgoQ@a@_p+2|o8Xj~nXo?bP9Q)UQc1s3xz< zQ;XxDo^H~+^TSOz*bQcqtZ^Mt)D?$|7Y>^LMsq~IVE*wON&`$FaJ7H^p|8J|_^5G7 zORT%w_T%grC;X~A>u;YOKHkLoz}^NO*Xm zEZTMd_x%E)BL;d*6;h1H;Ggx8-)JrY}=m|0jLsHmVUVZ-58(rT)-w}G@!3Y0AuYOk|{ zf(jl%pf3L9hHG`W{uzl02#hMDTP`-&6ztU{L2aqz;KWz2?R>1SbHl{3u%8;EQle?+ zG*gS|zkMGYl>TkD;zh2fu~(RffwZK}@4WS6-LE+nKw%iLZI0vJ3=6;RLSP?3$xQfm z>cw7!1;*Kb?Mf%;5FjDtL~Us38P7h}L#e?NXEDqFA#VTwiroSO`56kfLX6uYYo1^s z&AVc~stXI(-F|f_xNO+ayC>X=8$rQ1{lmM`aMHANNZ1}B1-X#prfwm=vdQqkES@n}f9EqCzkHbtk)ZK1ymu@>NeUypf=jnCWse zo!jNT0sNKWaJAXA?}s-2rYC=Qc9SmIE>z@*=;Y~Ba7+m|hSdVhgH<-^%*)%6sPK_u z&Ks{(?|e%`y2Q_iJHdejD-v$mn@JOPz|bLcqJ5EpA6`ATtz)Li{98J%2`s-0N%++- zdXc1=OaJ|d55%Dj*tess1djh7U=#cVK0r%KNiyi06K?uK{HZem)0g-)kjqstGJ&%a z_3Q;R^wRbLJM_+49bTLm)s}r7d2WoxvG|v5vpFm2@kCcjCa0+PZza4KNGXndZ?4wJ zhh)o_sDvCbR&^Uiyzb*IN9eLbE_F!0KkcL{!d|1g@gNM_f;$v zz-mTztG7f-Zvq4nVlgQPM-2y9VI*9JEK;-!UWjIQ9U45m?N4csYVl7jGE|-mV-L?C z{X5_z4n?nS$$3><5;cN*^SOP|S{7J@cD!+Fw%n1Ck;4I>0bzzn4i?D@xuPGjfjYES z#W&=|z+%wt3Ii$mIqYt!V)ch}n^ytBBiEZYO8|q-%gy`#1L0govi-Ww8BV2WqZdO% zNeRv6wtodH+-c=?ExJ zGzv1AqB%Y$_U0bv&!1x(iuR#naS@S9vJsjz{78IVfK3t3I&ml7@$N%oHt1i@OycZ#2}o{U62kf6-U~IyE@@9iqh35CdRlW_8kTttlFp8oJmb zjT<>gc*oj?QFDY1z2whTV>q^x3OBrO80Iv$R8R0G$w8pu`nbCbB`56YK>18c>?==v zo$vlb@Z}Z0HV;)vRkgEaAniF>O1r)K(KSm=3m?PyfVco%GC`H|^}%~ZB%cJbgEuTkH?iQeRU zV{8mE+4rN$;02F#PqYEU3aq%Ijvm0HmSQb@Bo&M!sVF}pz|BEKFPPqrs>QX-Ny83Uh{ z+)yGHsh|l>ORXl8k4U>0Clu4kCNJT7rK?puXD{i@5&soXlF=5H6K#`+&C>pUAO8L6 ze_wu(L))~TvOVH*ro(eg8rr3`%u+JqagnlCAZBWww5p9~_+OlCic=Q(X zojp$h^!jLci7SxHU&^1rmAf0$Kz zfRBZ!GseYI+5i2HC(+?pFrx=V$YQr&z1|n=?4bt~8rR$`KQR@+e<%I@C>Bt9$!=e^ zQIxaNdC5I103HP_I!!VaaYBy*Iqib7_w6}9PFL_-3x38#)%-?kjEQDf65ttyS*A7O zFT8;q(mx=Rdj+6JQsVE* z(g_-wJYbJa%02tOZnm6iX=ypHP(U8I#`OjK93}AheKaC6wxSK^&yd4!79+#e<^sw%g zq3am?9CVv%881ruHB@jnxi#Bd-X~N7^i<$+V7KB)H~@WbT$x0%(C-FJK|kMAp<8Gn z(Smc)ue|+HGP>IH&eymkb)*AZBEFG*tx|x)$%!s_(K_*1i8j>dC3rg=g_32 zIX20fd_1!x&%1&lL%~H~TxnC#*4Bp7e-fMPGJtD=e_*eo7Y=9h$NV`?tw#gQ>l6VG z@2U+#Cb(0=hLd3aRO6lv`a&|1SC0sP0#*3==Z7d23XGOCr_2O7vV-|nv`$qO)k>@@ zrdtrD<+E4+vl_#}Gg(T}yuujT9)oe)*$vAXxCOOq3VGzk!RNPR@yOhR8*xhT#oe*w ze=)4D|0my3TL{=gJtwvQE`on4%`nhgJESS7&1Q&uWIi&Ku(?y%4)TNi)3FvU0i?I^ zn>eWC>9^gW5C+Y`?gXChXS^K9Ny_=K80F#q&kH&tWJ5OoLcbBC&F9GWR;BOg&U}aA z?0ayR)p}bDrC?CnTC%Gzf1Wn6DHW@Of!xLia=RX6_B21XB~KRapO);^PR+eIXqR%M zbsZyOs08rAO^w$6NDD9m%swyqXdDJKN_EuyUClARZ2MQ}g5Yx@pWEP=t`MRcLq}5l z;mf6Rqi9Q)lgvMMc5KuVc>H8A&+r@Dpt*NVj@dz?YbF|vSu(>Clui*8rQ~Q_aPGkR zA{)Y!B>*?$hVRj6I+5`wN#A-4{RV0rQR5hz1A54jlF(({u4yv_498aMT`#xnEFYKA zNG_kt4To@kw#-~FvnKr6IpY<7LfgyXaiY&dx)fzO8ZEGW-(`spiBMhUSxW{tMv2Da zE)g(D$u$dP%TB)kS?ccornlVS%7|PC1tI>lG>xI~O~%EUbds4@#jph*a+^MNcmTKu z#qg?#!^3%;Uoppj8vRc>`Zh26ZD_E9mw$=-zuz7dENEf2^qErCN-a16Mv@fEz@BFG zOdzapP7=--WA2m|8+V)|;6bY!O<$ZoXSvP9K_2?IApRZ((7w7(ttB<+_w?=R72PFg z+IceJO!&)iK0(bbKJRh9pDK9vTABcu)Cr>dE;yQt5H-n#pn<@)ts1HO3V&Efj5l%HJN$v*f~4o2%6ipfKiy?bhU06L z+e{tZ)ZiIgN^Gq7D?PEqxm_s^-8A$*MraQd#PxgM+gr+>aWFCiULM9_| z@4CnStZEk+;lw2FNbZY$wlgF+Xpi)Az~1biKYtuv+S=M!MwuT(TjsvT=7qbYd@wir znldo??#rWlB_$O}GB=AWXwfj>8_L{W&YI6+ec{Tk!piovvX8UlhC0GDKf||U4H;v@ z$+dfpTvS5CvDY+VzcQLBfX#D4y{}%8A3kI-5!bc4M%{~{P zAjzO_4e?nf<&{2ti=zx_koNJ+@PoU8ggf?AVZpES?C>#OhL~mb+Y);DxH$0D2OCiX zRpo;<+WbJTP7F~heYL-2XVXOED zDNdH7iT^zRQJP_C`oAWPZ|H-3kX>6_TWNZVin4IsC|&wdK#U>uQ=X|&OUffixRn>U zZY^DLu6x2O6u)ucPWl6y6Ql0<(D_fNF}~^gJjX#Eeo(;ZHM!Ka(1*uWj&2*m!(RA9 zs@)ej2a3+rpqmN0?OjZMAuTOCYMQ_;KVRH?ob^^%^Wv}gK^NB^mGUe10Rsj4c}%m~6DP6aK{DNw%hcV(5jtHyu&LO;(0<8AOe@n;_p~+M z&4O8WrZ31$GQyf>1+7%uv^0E>-W(KTKg^>_ z32#H;^b}wJe0s?^{**>|EwV*rk53i!nT`!eN$HecdD(phx(oD(z1R~8A4V7%86#@z zWQ{3|VdaasB%FB68Z~sV{F)spMLNwtGyBVhHKnpMZ^dKDw)duJ8D}WJLIw^F52R)x zyOtgwA^kBQF~ji>j@$W5)b1H56`5(8(0!3*jdN@}SM#W{ti(+|gB47&Jq5naPj+PG zgRp#Mg~2VzU5aN9|fU5H5jk znuntzZ+8@ngv&NhX1B!t7${GceGRz|&BNyPnSg5dkMT!{xtOH9rC|VmSVaQab;Ba^ zKpl2t)tZ)Lapcs23H1EWx!x&j!lmkC9*h*(%mF~*lnwKT(;_lEG%~yEG4|-4H^u=aFV&YeJeic#nXAlULvQFyW(!JyZjX zqr*(Jv!kwq6jsYMdLYpI*TB6Tvr7Vd^d4$3#Rq30L*YaMpaK|hh?{=Jk9Pq(%Ds#w z4OBUtI&ShyN!s4up5Oa80%F=y6p*tg@Sa6k)XOR#UiY%VT4^CU`abB+q-;E95jDyH z)J01}6Q(!E20gUDpGq&?gWq>G_OkvNIgb{`$4_$`r8o~**mHLcT|_|etvSln}_2U@Nyx*0QM zOVAQhyonMt7ZJF%!tIGr2lXFJ`Wq1JGsGt;^6}$GD72Rl^@cY%QW#R(Bh=!93?b_N z@lc@ya$!TQIJxdKIXw#T%PInkw?qKn7jH+mHmh!s0V_Tq3z{BsSTj4LWfPV}9vnOG zPexh#?%&PNv_G93!Dhr7!vPfZm%>nSRLWj7820`#>J$@TK)V>=#`9bcKQ~GQ{lEt9 z8`5w`MpH$0_GU!uc}FW9^dKK9R`;cjbS<%HS1{u{7lO=hpaZJb!0T1w3E*)W z3|YQFZaX(Kq{K3=zT|DynA)M=&wH{lrz(y3a)%0%w&R8d4EPLjR4wLO1>W%9MW~|h zO|?xlc;*<-n$UIgs-)}+&jlnMcy@xL^ZtNiOU|#6=b~}Bp+Tj{`aE5n(Kp*3eET6i zsFiK+o$uPO**o-fbYr#_7Bn=pqeM{+yI;(>h&5Fk4dp?gMU^W=bC5%Un|bv4)M$$F zNYnsNDYX_p%0xj5xG6y5r_>hi2q0!|*?W4R9@}xRo#RfgwiC=_PaIuro^|3faaxBD z#8+i3D4eSBFadkq1f5NoOiu`STsKI|wpEi%T;aAe@FO*#{0z`Cqthlcv}N!42PYcc z_IKmO0A}kuLO%QK)=Lz*G6$kE9T1#Y z$1}OF%U_H4KO~CybL`Rf=$r@M515_>4|x4i2shVp?|;;NTC@bd2(0y>;ZuWTW!K7Pn8wzl<`Z zrtr)A2VoVJdae8E4)2SNF6qK`^#&_-Op^4AbhW|tg(Mt3Taot?@aRe->T|2;=FV(% z>fTMOxjs7&@Dea`(cPD%9dU6oG<>+Yy87u31+l)lX?MeO=MWIX?55b^bEQ^n#>Ov4 zrx#mHAKK&AQQOO~N5Pky0`^rRiMJ~z1tU_Ywgz8)ceivpSM+cscr??GUmfL;U%J;Ngi>Tkht${2Fx3i(EdQZKjN^Ux9-x1(4l6Rh<>zjbGsLyT1N1 z;=E!)&f$rDI%4}PKAu-x^BQ;AWG?tbd9gj++SZ{FN`@%V*a?vd1XpiheOanT_p+L4{Tio8LrmXig3CtI#^o?jE#07) zh!8dR_kN^Tu3tGX$jA!0lgg6L!I4Hc7eeMQTq+`2rGVeGimh@U^} za-2y?=g|2i|39L>Dy*%rS+}K7pcJRYB?K+*?(P&?+}+)^I1~u(?k!rJ;O_2Du>eI< z2(Bmn_x|^}%UaKqT&&ERZ)RQ@g~L{Ct9qoZILSi8V6%I+;$*9l4}W{-h}iJSQF(o~ z?L!Y-T&5N@4Lb_8AEp(KQAF_3g~4FVov)|KR-A&HO?^mKR2T9GcJ?--hQugZ$58^d z)A<(*@sWWmVAlhL@z^DGni)H*-ApbnNAYBR(A``FVV~0=Q|VuhYeJ@O11yic(%7UT zLH!>*D(vzBHHwv1kc+4k@!O6G@NnJEQ_$_2kk{Yej#5PhWa$w?s9tD4G3#nhtKny= z>)hfq=YcI*+#TUxQ&KG!v36newF2Sv@{X7rhzgrB8*KHFpCs?a3t5PyJMqdC0&|ea z^nR~XWb*DdkP`cWC*3or%eXJxp^9yAm}dYv2kW<|R5Jw-kR)HS_IC&zUyeyQNHq+m zauGECk`b~?qx@p178;2+RMppl)HRlrusf&(;pcv6>3|s0nJ{1VKJ2mtcz8S=+SmJB;pEW2b2q0YPGn&vH z?nN1Ugn}0I0$rx#@z{_f;OzADL=;vK*}it3jgs@ z4&NiX$bd-htcjk9Z>DT1kfGKrge@#N5hT92u2n3?iI@DG9F}l;QhhuABNoot!#r%X zbAEqcYE;iK*heeI?c7A)#Kve$`vxUS8X)A49E{mJB23(eX=q9%1NbFl<#nSxwac+xn_BZH~ZT>Y~KMVP6zX z;v8JhbPX=PgvmB9x}4JI)+tqHi8?zwZ>BQodeA_ml3W+!0TP`bW2H-R0vVBsqLm#? zau<8YQIBVqW0ZHs+N0Z%$cDrzzDKS23CD>?&%DlS;=5mtzDN_3%|*^@A+3B+FN^Uf z&ql6&BV+lixx|~@ReeMU94&vgf7k?-b@NkyY?efzjPb&>r3IMMBHvxPnzf^qYO`C2 z&(yL^aXjP3ttl9t^jkMO{nXFOj@3SU%e*?q%Wiz;(RF{>VOzg&+9kpxamJKX_th}1 zVu&+N?l4J^XWpDJC?o*goR9^MXdN;lCdZsG?ltQFcQBM6O`)oz=NG(v6Bu@;hha_C z%dtd_6KjxtAAx~@GABs{hHsw2=yk6|p82xAeculttpG~Ed$}cnOqe~c_zXFQBih4L z<3G1a_d^N~r&zpRfZX&5NgAmhaDIjkVFUTKY62 zkhG>D>!-%p2w;m;5j7FESrZ~77UYF`w!v9#R5(El8kPQz%fCi-iHL!QW_Ec+o1knN zz}28c_zV6EI)=Aqlz`#^^XXjKR234E_tG>J*waRpn~wKQ&Bf4dLlzKmM>m>ny%wty z+6Up^G*pDR{Md5TlOv@~Si~O>SErR0XWvfw0*+?5il$*B%9PVroLnB{SS|i^v)f&h zmX`Jce_>v%OlO$WVx7(AW6Z=`+bxPu9)|eiukS62{L672Q`&nXXhWW*vhzQ4p$H-bd1*2mj_Td7 z|K*Y4V2R>h*abXxWn-1}I7Ge@|CHbsC8{3U<}weYiHhj(VjqA}yk9k6^&l;O<$iJw z27Xu3BZVl3X;n&0(@7S-BYd^3>SiTIosbYeS%u<;Ddpxi{=NIP%&YBYX9G^6j_;UA z4tr!mSEARide23yWI89pgH5e`>B)13H~laR==pL39t(5)6D+^r-2K+lkV(`!J%Mz7 zkWhDGpe9Rx!q2G59bcLP=M`#OrhL=KkUvN$r70_I^)Y9%NlHSb7rY?Ie#+vDIGmk=LMvwD( z>^X*kiQ!<^d~9*S8!3Iv6Qv7IUhOKV6JZz#|J%wH1%5PR2N^`UbyeNXDwGb%>clK7{g1eYv_a?jiY7J& zkZb5qXI}vk*T+k2KOPO8F5jiD=kwl|fu+;UQFD3nf1FJZJE2k3ENI7LT88yfvSv6a z?r-m-cs!;$JO5GE2m5!LLa^?-7(yIM6+Uw{gZu`Sy9!s!5#+aoq`t1XmeSdn5D@`i zrNQ?T38u_BK5G57i$%5C9c6wQv;U!RJ`15K_n%x}mzSOSrU`0yh;W>id7oy2&RJO6 zy8@aXI%#zW~XR~s8&ewJq@oxhn^AA*bbo2y71mHADW+eV2J!6Y2pf8=|#1mFDE z3t;R$*(R35{m}8$qp+NBVBmqy7y|+_+P~;zL%JXkMx`a;NJm` zabhg!8rFWD-sdC?J1Az#XV1fP-!KuvN!JG^rRBNUD*;y96k92H2l=Z8<%_D3K)(h- zAmQHc0My)@M(2?!*uiT>$vQ{d=4>95Fa!1A?Cywg~lZk z*Kl~~&5>fmhd67S@5&a};V`n=EvWazyC6%-qMNI;jXvSCmR+){^78M{wH6bp38Kh0 z8P=m#gjRFP&^<0+P0CA7Jl)6{p)}`-O^5`_Eat8xD5hVI)8;K;d`8~x=hB&=reCe0^Jo&!==z5i>*>vgAe$D>SD}xHA`+3&Y zvO6!i$Qj5=5Lc?z9mzwTWL&-_(I+JVEfa;ZNn;W1n7!l#NwIUq31>FNQ2 zL+&xz6p2)EHo&)Mov=&Mii0WLP|Xkbu1jK*CFy2n{(TWkM>$VdLN1R>%&DaT`;%7O zy!^Q5^)0=L#vP^}$q<^lqQ0l*@*)T4la*JuQ5 z+OR=JWkvL<)srnLTUt&>xY;_qbbDf7liCuEKVD^Zc>~5?oN+u5VcYfL(=3BeNSXfC z_rYP|{~f!-DXy;@wo)m1|Ac&lF$Q$!^kFJupT+FS-v4P9KnO9C6Lmjb|13@k`;eBzsM1Vj)($t2x)2gRbz5w9W>t)OxsN6mLAMMDQ zzws7SffkT=?GoPhtvPl*3B(tglrBuwLT`{7U>q@~qT#%;HpmF+pH63%354*)eqnh$ zC`r<|1(_Qa3Yk4DRcbe--`?QN##q2kSPG>cls|ul`dlYuPx@F_`P;?u>u#T?y4r;s zq0Vjrv5YjQ!~G&tTHKvYI6`wa_oQ@ZygpHjDHqLqk{ppaCMFK_f2lfmq`Z-qq)D+| zMBFgYwH-H!n=YG~Y{xhqO*&E_v`?9}(A~3*S)nfDQMvOv&S%AM~Wft zE$15d^5u$QzW|9oc&Kw6<;+i22h_pK@hUjg&Lkcv-9PZKhCbfFpRTX0|0Slc;mu+i z!O-b>Efu149NFm&lD}*EjXck)GxvGhj&OkO@DRz44O|8!aK!&ziuQ%v|9qkEvFA5= z6zRYtEsaYC;Swe@fs0Aa=cFM<13_J3os}YZ-k$GCH+UBE=NI5An&$e{2t1Ex#8{PU-Smtv2 z>?EsbOys}~@yyqKBcTCUZHXU#2agKb2Naz?0+&C#u0+{d{nN7g`@;gpe8Bw9O#}i{ zZ(#h@(J##Do{p9s&D0)pecwgX#PXR~6!c5$SF!(FN&W{Bm>i1rxn|L{a%#Kd9QYSW6AmKG6m*7=4Sex?%mdwMGM3PClu_9CVeYsXQ-_jo1G zr9pQJfQS*AVEZXirVfT-JPh0o@vq7{c&?V5sYyQA5O3(1H-G)Q0asxectJ8;-I-A# zAy0yfn?#a@nlZf`m94;958rcV5xd=F4+6^2;0*jTo*9I*CJghXZoL;}U*g9A@>EDq3vFCV8Qp^>lUPp@kmk z@+Jxk8!fndb5!YlDzik$+EPdYkOn6Ipg-A%-3a~BOeQ83@DvXx&9TzyJnnFV=%Ta> zwbs)r3dM3i%a@9?0BwyK%(wE-)LSz5Lu%)IF>B8_KN4@jF3c{ZiY5@cz2CBHFDh_>}V+SK{G z*Eg>JpvV2t(RKXY@X2|H7=2_W#>#od=tbf-&rkq~6A9}#)>ECo~jy(vhBR&LiQ^ZR{>Y>`G`^hnOZ@e<4u!q?ZWB`$nHi|ak zv8yw6cPlIAP)0r+u}g=@5sI*|Y3y0Eyb;;r&1j2lnC=!^q|*rx4NX z2Ki4WJw1>BhiW7JD6R;ERINZrlP1S!y37b~whM+1rQrsI;Xd3s^&K`0@(5A|Qt?D8 zz6_7+TEDm_4i>|Di;&8kdF6NBf91{1_g9)o?=YT-WS*(is=?x8(5(~+En(5>}FoMIn+*H+9hJ+Il3VZ zp|AVi=dRItlC^rG2veGhIbM$LV*l32ABX4p+>*}YBIO8hDBeqLy8rkQM132RP0K$v z!Z#*hnZp9>9SP_ide8itSm6V@pzMZ-uc`CVV_U+wpen4gFb#+5_-}DkOO^zt z%vsz~xf78?0)u&;3(%IqHDB0?LfMAnT}+ssmCz5U!+4)?)`*~8`(y4KyAL)2{K8w| z=R3Le&AFKq0hXrve8z1f@jO8m5!Q>x8BXAr?QBh=J|%o=Xjb|Y_@t7H3RuZVAeiMo zFD|({Igzl62~CW{X}KdcJ!?O#bW-4RtUdx zvI2fHVwF=J1KTi>t}2MjYC*n{!pUd z+wpv`mm3v-Rg|hW0=SUf5VB&3a#I)&BOF!{ryAt4)R~oJgsyMR?^Py>D)_lr!Ixg4 zVQY7Y+2O1ZjO`nV_Ep>4jVl4^B?|OI2!N|m7&5IA#IDHlNp*{qM?W9P>fwBzzi?lJ zCJi_jH=+q*sCuthf#3dPxxYN(T=5fj#wulIZljVCHe_f;E@R$o@HC{W?x%&ex{k?B z6c#)C0_sYt@b7uO9CwHNNf1x$_4?$7`%>-TV*jopgV<)2ju6JU_kQkYl`jaH zWhKkFE*HP%efIQ*+uDuJT=j@0I^1NRj|~G%2A70-WrunHJP%xdO-Q^`8Lzy!h;rnw z9y!oT-hJ%go8WxY^RnBQh{I<&F}eA78}c2=6)F_&&n99uX?m-8K*y4OD3Iz}>Iu@= z5$SL$j7v4?mH7l2G9V)I^8B_d=W@0@c=J(^4Hv!L7k@SiY(O@=(%13p01co3-f}(L zBtL}J!wxndwBsU^{m}9jk_nPZb(*mlk>?*12%B3U6=F7o#&}&zf=h;VZ zj5W`2AE{cJPa|EDb5Ko6>Z=<8?${Ct9s zMS^${9s`sqfovHk@3M9XIsb{NNkQGka!D5yPn!h*wkU8%AMv`xoA?CsM8Ra=K8ta% zW+62=r88>e`nu(QUVNSbVkI@Fv=Kn@3ba4I;LZG!qK0X0MJ;Xk_bz*6VSx*?+OX?c zqT!xhu$%ZPD#3u@+|Cf7J9|fc z8LC*(dw>@8t#iRsi<88hX_=oo9)fpmSXo&{^I)G3WB^HnX^?h^Bn{;*NL@82qq) zR6?!a2wfl3M|OU?f4r*)3~}(!Ilg^{JLbfdTm+>b`8C;WzHh)$&o*t5%++&jlK}Zq zB|?^mpaPO)_$p4>ZHBo#yScaC;`u55wAx8*mRZ-wIO4bt{F=Y~==um^%kal@*xW}F z`CK{*ovaxXy_}2fqr=o*vMjyWnv6UDgyH%NGaN#5T%AYivHZ$%6x+7kcS#S}WQX&7 zyjxl{eU1AXn)~}Eg4RVRSw?{U%`Fq?O|TR#*1JF|l7Q7{V~icso1N7^4~j2$Ox`*6 zlTDcVCptT;A4g5P>YJ*UE9%4OJl@YBKypt{j3iPR@R>4`uCe8s4%oxjgA64sRp5g< zb6(E@%Sks2xJLja~?~{TiJjbh}$#s7Z3+0Wko#VsJ{B&?yyw=0WKsKEN_bw zd#HiOnLbVs6?!c!Mr8>e>BdfmGI!nhb^$x;OhpP4$**helUp({pTe6tpkYMBZuS!Sfn;H8bd<)GfZ$nQN&`6&pF(76f{<42L|&vlD5Fj89Dn0bTWi)Bxf# zfZ~*f`e$jq9%1CzdFUSGZCSx*A3tyJ7gK^}6xfEXY=a_T_wDQpT1FS~Pa4!DE#wV0 zCI_ou_?AU|IT{i6j>GfZ1m*;;rP;`W7{7C7&Nb{gN;jH-{8_?9Jw&cnm;s*iQb{m> zi@(e>}s4kFD8z3*xRWOq;H}S+f7Y<#qP&@a41nMd$urf3Y7(Ww&rdEy}sR z-LbSR^FIWX>dAGkjH&3eOyvpeB5!&V`-Pk4Qr?CBUDwfkq4C8ZjiC1&+R6T!&i8?- z_ICAvC=T~4R_rmgVWBNI)JIaVdSp^oTFvxl+7NrrK#`1L%5i-Ra?~y{pXt@)eXBK` z<`z@M7;wfbN3NbN6tJp&nE{Rj(@E|Tt4yx%<9PHKA&jN08rySZ0XT5^^8ttv%Pt>*s&A%FM(kZgF!wLj!d5~RA_I9t8I zaiV-%z_(XY+@;?=N54!A^L`|PJ4xXo%vd!buWA%pUpQ6|wWwZ;Hs&p3JVMHZS|(4xlc($~yX0lzgBhJ4$o#GCOeM~lem@xQJV{Y$*<$NPq! zf%{gOs+mb545Du`^@sOEYdkq!@>&fM-RpcaEs@3#7~1F?+JmmLcp%LV;ApC zIu(<0cgD;xTCK~-%TzimIFwXnH&c@_HjP!{zGzRcwjK^Q8}`fJwPzQAhLI7En5}e@ zV>80d?ZcO;JzBGbglq@XozoPb5$*d?R2ulU;9bxLTr2l10KrnyKvtf*6EDnAZ^jwo z-PG-wak}l8|DI#?ThS5y*L7NhybL^$$mcDL^Q-&?^SFyW+taGr+NMMq zDDRUkBD*4R9W%)8N?`4HwC*&(Zv&eg_1I0q&9*}ivkF`}QNlS*XnS}PrOy1@ zz^R%?RO2Q2i)(`cQCHR`0D8bn{$~IVK+++!m(ipA|I%^#6q`31`{Zb#YYkHs`QIs= z6D*n-j}PeURz3>jE=M8hMG=*J%Q}`0UzMfVYw5;~hb2pyg+7akQZ#Jz$jRYle`1<> z4N5l6_FvO7sBa8@g-Eta0C5RDN)dOW=7-e8`vV-W9$;_x4$>;eC(!-Ym#u1y^2Fmv zFfd4UI9c&N@nV05rqTHd!g92bj6Fu#b95pH_m3C9T4u}8f4f^khnqJBnm%kZm`KW+ z2svoU4)$3e5Et{z@^IR3Abspl`{a~ME|Bz6iG6L*U?_a@t8dG&@lz3kGSbTTpUowz zt|*EW_$PldGcz#&FbY&2xXw~YrmN;H&lH}Snh2uGz4LqFh!0Y!QxPKJ1KWw!s^oHa z9k{=@ix3a|2VVfr)(>hvcda2)TI@E`7eNwfRKOWt5@N$>P(7JzvDNz_z2bsx{LaV6 z8g^Uny6`9=fmBLJSPm-O;0xTqSF!CGY}(E$xzdWHGNlYWq7oXq+yX6)O(^)L<2)g3 z$B<(fAzb(xY%%unr}%Zbk8!;a!(DjZfN_{pK;TKXK=9uT-(CNU!kfbfrn|oj?x0ga z0gv9~u^&*uC?mcXtL^rTnjtmQmmz&laIlo{558*1f+f^2BYl$uBr?^_1ElvIrBAvb zSo@r~9&@#9PuGGDCnN>OxPP&$oCKvE*!vDCkn=dWurOCC zw7XjTQS8IlT7{3EU)Qd7%SHzOa!2#EVvA^k?cb?PR$h#rM(0^(9Prej0@VB3i2ksH zTvgmH>bF+(G-oaUez%owJpjSR%FB_7IbvzETr*T(Uh7NDGA}LL8$663^`YfvUui-G z7d#b@O|<1mhDu70z?4pO!08LrzJi!wkp6#lk%xmQ6dwhn&X8Nru^Nv5&6|+0MZe)F zoqQB2Rlu3zs{B_y#=Q#N;vSB8eaqsclpE(^5-`-fYJ=7*IqDBUvHnGf-jHx^s4=4k8#WLgR1)a$0#>8P?yVxFnd z1Cd-Hm&9$(sC{Lm(o^BIc^Nv0-rUFpODyiA?ybGiwqzFLXehd-=`ZyDEf)UwwGc$- zTsC$uVK{vt2u&A--zvAYQ{YTX{!d_YuF~JnQ`d(xyY^}vIO;!3TL19DvMrj_@8$i{ zIOpE^XNyvDXIa_5ZT@qI%##j^T^W=-kR)B}q@1WMH}97dVxGE-qHg~Sr#WaKT3;hU z1#MO}n=It#H;UMMk}K>7ufJT5eus`tJ+K!iJP0JXH+#%Y=6KSSHZ$4fZ120i_XQXt zuJ7gwOlHkgkv~r>!2AS$N85tfCcAvkqlBA7>)Tzg!zN^B_ftQT_EAGW&BPy+TQ}4r3oK4mhkEu}PMD5_r}jQgM3)VG zTAR>647kW{`8|^Hf*)r&k=s)+PE>Wv| zyOgIxtKEJ?KJD$W87Oqt*45Vbz~4Kx8-1TIuK9o&m`CcL9MEN<-TBi>vf8>MczC8R zM-SpAeavgii$m_1QQySju~7ci5sr4Re+LgkKO;SO5+PMh4Qvue#jdS{ecZ3i6?%BI z7)hjVyEZ5vI~e{!II?pXoSBehHj%pzupz!iGgyWlOyzi^L3CWFt8mdr&{-3fn6r6~ zy;(X2JX8jre{mlR4Yk{)L_a{T!2bg}Ip z)WG9Iu6+id4uPq^6c)D6H2^D4R_)0(zfP=d9mmkb)-u_zPBn(Ek&S9})pu5#p;(MP zmt{}r!bg(2y2RSt2WqQ_FyQp_orCfAJg-E0B7p5#M&rqD+f3!hwIH^N$ zFYOz`e{8_u87T+*H=5U7oj@c*PtDn+=}ad)zC`gQL^<>03kP$ozf)-Ez{im!qKFi) zJjKL8@J{y$2p#%zY`+B8Q{L~ztss$+uw79uB%j3ELG;G|0=PrZfM{n z7jL5V5~ToN%Bhi|M8wC3czb(q+pqEWt5vL#wdC8czH})LkX}AqqnL&n)jm5P2pUOy?uz`YVnCiFAjv%IK%InuQ2KYb>0cct@qLBbseyv>jZ*vygj zaMriiznzb1R)f_h?@*B}sYuVVG%D`gW#IdpqqrxxIhUR@``@QlDxWPhYfj|E${m{V z{3#r{Csb~A3wEFztyeESIWwQAL|(vwj! z&UIJzacEY-AM<7KHUo}XCS7QuK3wxbd=ozc)haZwlYtcuzJ4{E$N9djBQI z)cc%McdqM1`nptwj`P~*GgxoNW98(3>attr+1~$7^F%$RDDd8aEj$^Au-VoAMGhT;w#2K~s)?+zu*Y=N?nQL6 zc70ANY#qn%Ggt=LQz|UV!m{sRLgStRZJoky#F?pM!zl@o$+PYF4-}O6!AN!0U)Vp` zbi0W+Y`v+P9K2ktBij9<>8LYPBy+eXo-bWASrk(;vTJC<)F|u#apu?!z!)L zblgz%h!JU7>z|()6;#4As0lrFqyXp2&2TsnKFJIH4~`stw-#ky@Y`Tp@M!gR{!Y{A zdhuj;-!yO}&}+NtKFH|zcxZc>>xX@pX9Kfi84;DpIAmYQ?UbqcfgIw}s_oaQN#&*d zrt$g?gz>vM1Kyc`lj)n^nbr<#KPi+VYgz}L<}`6(-rI1`IKGdH7-_Dnfk1S_q4c?L*I|rIfY6Es5-v2z2E#E+(b&D7JOi>9 zdMpu_wi&a;#%mLZ=XO&4rgPuOi(=pwc9$hmz+g0-?gW%O-d8uo=1s)3VEjek1AdebCBq0Zo(`r;?Hu@6>1t80cScuw>z!HS?Q+x zlKvWsNU!s`63+$|;{0p(^q40~^mi+b!NPh`sSt_N(^ur5&1phf^DVyk4z)zMq^5r* z<#)5HdHv=sUi=iT@KF5s??FJg!3T{_+3=jMXEOPqvq1kEN2zsSNVe}I9h3BPqk*A- zT0Ax1o0XwcT5s>5EM$xmeL2#e#Xmi6)~4?6SAMbs0=JX^@hh z0y=cR%VQ_NA9UU>i@c1yxQxm+x*WS<(ATdJ?`rwsSwA6if~(V`I=wX|G-SNzID=Sy zsNcUp(?+i>FKd#J$zPUdW;L-XE#98&bl-@&a|b@~GMw3#0AHA9_JLq<`SlzLhw-X= zdPq)&mU1uFlC`8Mj4TXmjqPB0QqG`->m^ymkd&6i)O*}Qe7b`keNRW~l$D=4$y)=y z+W0j`HCu!ORF5V5WN6&iMM#p!BO*^hIXY(_DfnQv&{rj)VlmeJ1lsjH4z*?9=kZ@O zHxSekgoFv@ecIW>UNVTN;kf1y+^{7MG#2-Y69b&#aF`Wstr%$5K4%`_%|`E*uh$CU<;=NM1K@x% z7NQA$qDcWf(fn@`+Q12lCFbEyPEC&dnJx6LpmqOu!`#2(`zK0d%Sh4-m0PjM_CD$X z{5Zr5!jOJtUsLubsJjM05ivcl0_Ls>M`=g19|1PsXWvp9s|&>n$7hTDMwjZ3fTQY>z8H6InUAvvP{fch{IoRuNu#aN zt|~q4xy-lm8|_njw#iR7`C=gy+=W=A5II5HKj(l0ySb*=A5)eK(nSgTa3M|vR>r~} z+~jH@$R4j3hUf?#dymA}S??_%;TIvrq)oY+E3~uYhM?->815 zGU0x~z2LObey*~jr~x`KX$6h+924yNK!hxw>%G(0@u&BW)sziFl&^fuWLB+hlHMtf ziP^Gvz|k+ifeMb9xc``8Qxszy&l7O_Tz&eI~1WlL%tKw-5J@>^LEMQMpI>Wkko|P`LVgz2mrb-9{KQ{HE-d5)dPqJGibTFS3$Zo z)j0$e>Dc3$FME|zwe@>1g+ha*yW*bNAazF>VsfQPV*+-JGv+?i^T{pshn@Whrw-n5 z4OitMZ_}Rj3~Q>&w7e${+Cc|vW&fwMY4Q%QsR&X3xyuprLH+3q{|}CJzKIwAJZpOr zw+9Y*OI;J@LNBE&d1^NN%Hxd^WyVAQIylt@OsV;sG6zte?4a*$}r}l^kz&-%t;|` z@rD{=D+2aI| z%4bj9yJv~#2kRI6vAVd3%l7YTGNQ`zu6HOJu#p4#BWra=2ToNBpf$Pcdx|s3M=b&_AiAiUM}=q#eWb8hAU zcY5}VafMPe?NwTC`bnZ|Grjdq)E%OCPO&YMpwM#m1@)`>khLKLZvWRS)BGIKj{|qm z*bY0L4|^N5BZ2QDJm>ss*w($s$T?#Ej$HrX9e()gK(U`k7`172>u(BRgYhYkL9y3a zJ$4%I=E2zl!=iN(7;sZ-mO}$P5DY=G_@Mxm%AEeFul*C)h&x@NaO-AL{V7*MGJ4jn z5o6@xM+_}j+&{1Eg<-406n0kO6M>Z&e4`JSYFA%r`4$ zM*J@?DE|SdIu++h4QzW6{DXoQR2?SzmZJ(ZwbW(nuI5{WLPCT>aoa}RdqCd2?lRUF zbE|`atq2t5eg+Nhl|kYCZAz#>znDir*moJ1@j~*go|h$3&-GeEaqcg#!@kM6%4TLE zWn0T_Fq_Q(n0<^Tt{O`y55z|JOZ65D?=y#vlZo04Y22@%pPH@h6iKC^+9zsr8bRk9H&9kl9{MyAG>T&bXZr}@Q7cxJ{o$~9#JaY2X*v9@?yI?RcyV(6&9+Oh?TE~ktpSz?|i+S4p)KkndWgR_| zOM;fS*}q|u%>(K_OfN+MxEa}?T-sYZUCM9txf40lPN__*>RjZw5afF)Quf};{63A1 z{brva7oCM@4Pnd2{HSBig3LGkXm|?q!#;bJdx7kFUP++gMNcK}WKKxcJ~aBlJy&hk6htV%fSy2}vnFfwSDs28mmj>rfh{(;Y{tXp_t>zI5C~g}0t_t#n z=tCtx6B}?rin6y7biL)^V0SlROS<@r1oz$3%-M5$HDj~7QT@3ko;4#`6bG5=KpsTApFrc3oY)ufb zhVZ_qn_K7!r-PV>-;z==S8lEgg@*<0&EGm%%S6z|;N_PKTo)}2arg!x<5T^233|Xo z!Ns=_x^^HfEtGa)!F}5sd4TeBa7}sn85d$V@vo+ipJ4BUCncq-F50aR#rit>`W-0v z1uqoO!pEMqRDvlUg2BAjfs?Ca@1Lm2pWKX|2wNH}EBDra=+j5>=P(mchcGZse0A{r zC2^=Em(-9*g?JlZ2Qb#`U;Sh}l}|O?9$C758~erK_RY;r33dy)!DPvi#1F5Q3KuhF z$+?S(-v&PP{N$RBK$G7rMsKWAaL20?2j&I&BD~R8bEN(=)>IZ}d8?7;`X%CvS z2wy);?X}!?&sjGX1NPQ$cDA5DqPAGp7&HWTiu9M{v#+9K$sP45&Wn5gq))BaF>60J zw|z?5*L~hgjQuL`X`hfSPq=w?Z|zl4)`XGKeccdLum2eZEvsFh#{TDfJ;gQXY2o|P zrp=!F3!m}EID_lMK{+h~1ALD$Vtuc`hBlEJhOx_z5p|8qGyl{+{8r(@HDXfoNLN0s zrFfK`?76-cY4IhemOQ(z2s&TMikefuv$^XyWJcSJRx5Pe*+!g5>Ta0fzmWUiFq=e7 z=eST`&C~31(AVa_kyxunOzxhhRQ;lL`#NOxL9+Q>nnahql~oG`ztS%JJH_Fzf~jC| zWq0IqgX_U$9}ET)nt$XS)6`!5Wg_sj8z&O*m>@$YcN?G2!-N-<)cQPl@%AcU@Lmwo zDsZ}LTjT$OXJ3k3T`=G=jnu(&+{kz6+0#3ZkAmNkXfQSkmsW#y>Y!1JBNs&g8yA_= z$$>7QOod24SR+u#tMpNNGKb`@cVoTWSVv>bI8rzZPU|P^o_T;>L_Wlf$;c zbPT=^57%b1mM{w8d&KC`huHetkB%oz-uaD9LR7ZA?t4x*=*D;-i|fnyn5Kjy<83FZ zs-SDAUn6pO%Z87g(wKc8L5Kx2)gWM8mb!ztKC%h;029%Vp>|eJqLW#&d8N8fg~+$K z@hHiha&k3=P&oZrRX;U*d&}4TELuRS#t4yxjX2Nk+rlIdk zhREqJdfG&{Wj0ID4aBGHdXHqJJ)%fHcH`VdV8V^pzuL&@G*xGa7TR8KmPW2G`RPpB zY!THGYRs!|2ti8_U+;D3Rjf<6^)ZaTIv-Qn0GAL;^_v|ik*Si z`OBe|T9Ragf(dHj?}fV*?jq{5ht^ZNREF215&K(1&XMn1Ckhy_fj4z>DrLp(iHV6E z{T=kxD$W7|(=`?a#yM|8n?`68W0?hq8Btp9b(ACS7C(iG52E?y9|CEcK;IjE? zid6=l!R~^aDa|w;H`~Dil;hQ-icMQz^#sqIDuFM(jr^N5Nhr)LV7*+ZhK2@>&i)EX zzT6v`e6QZnT~cPvm=e;Z#kFH1qE1$)Mw^j;&m<@a&`pxq%ttDH7&0N+oxPrta@O4- zs_+%zNKAC2p>)W5R^!vZJfHjxM^?GJPUm)XR$WVrm)VYlQk5QQ=n7#pT{F$U@^x1wGBzEN_UF#6_fZTY!={rZIb1|T^~s13I?Ui-TZ#0PJH z!p1vpIo%yG_;gS1-Pj;zkHg1T>j`;z4@!)TB1`Vq!lzPO*D)t87P#+v%W*ZN)y?;p zl~4t^0Q-o+h;Ed`e!ssqxEjB{m!B5PV4_V{Lw@TMcQtf`(r})Ig#3K52R5M7V=KHSeJ$rW; z`%mBa=wN;5W)J??Ibu04Xk}MJt8QRF4@2p>a5sG5QSg<2gH$a^1Nx468tK9~p!uDG z^p5g+F42IOJW1@Y!@ZW7lc`3b7GQ$B(|6-L`dz6-Ogub1!Jh0mC4JI4@&~v(27vM+ zk5)1LFFE2di;MjuBHDCO;#Fh4@-ge`xSq~p#Qy$%GY5-#8$;XV`zIU;#LcXx79$hg zT=R^t7()V4UG`02E@uib1mhvcYr@0S*U-c6R2^yQH#03b z1XKtpk+vW{NV){3@a^x47EP8CLd!bAQ5VcHY(@^P&Y=rn{{T>1!0CWUG`n)Y^WzvR zc1k-5!;Kp@LTR)+UA%@|F%C8?6%Zk>h>EPsPOO)dGjSo(TA0=R*9Jiy!L=}|H zZa#{VS92;!mNPP_(`5Yh_C4ihl2bsEYi(_HwZ~kp?-^fvNr^dT=qL+ix{|R_lHd4B zmKFW#xt2lSxx)LtyRy~Q)q6b8#l2Rm;>j}S=7&z>mTIY6;V9u#dD+yP`KZ(n*}~Sd z#ZlvHUY;V&YnGWkgsinpAN>=r2_5UzCzXQtyH3S2d5sXAR@S=L=V@+44^ZL7*X!LX zBzSmE3m_Em$-yp|S(}g@bXwg;xYyM5&XW3$G^QUld8=*VQHO&{K#9$U2<}uI z`fDlq3oKWdUjRM%P}Q}d!$+g)ig}k{gRfm zUY}5h1qOXSo}b{n%jT>dO~nKTpVHrJ{wsc2TM*m(TmlE{k6dh%bs_aasnpLr{UgK^ zgrr^kP-fqq8wKR%0i8A+g4KT^ym}y`TlU|4Ab=>Ins9ri##SfL!1q}3^`=;p0S1r;zXFnDR+?Zp z=S8xCNQ*~g6m7MHDOE^6+P_Hj`$gSajQ)B+395V|+d+njf0z#E#0Q3W6J#_|gT996 zmO3>Pr7zVgq%~{tJ6JGJzqINtu0?{jFyw66ZuvqAW%>1NO%stV`*v>fts#m-VHKKb zcBLJbvzv(yoYZ-){;t~EBg1eL`>mDvd8)$b-H)GSUg(0})8w0&z0K1*&HSI7V1^zPPhicL z!}c<6sRV5-f=BXul-JMDrp5rtLjswwPtq7D?o40cA^S>v#{%?`r>c&Zx#My+!Jx+T z9fG-Vs_m|vPmcGh1;C6+>Kl9s3Z%(Nv0_ijT{NIXcYYPl6L$oEG_`_p_KsXF(|j5D?gOcXyW{Y`VK7q&p-fq+7bXq`T{TyytlD`~777Vn1um8gtAs z*P}`C)0NmOBR?*>>0leX;=^(<71-Tx#*?2rQ5HjEVa(mFjd$a17h@B>O! zv>(K|blg{5Blr0?E6#`s5s-IzjfSILHt4qAmDK(^(jWx?$l=XeJw9FmACrrfrCg;2 z1~>~Mm`n-;eQwQH0n-A7VcE&5kkiDNDeRu9G;n_QUuY-79O+#Ug*ZUn4}~HpYMf*=iSB6 zE79K@-b&gKnz>tsv3&4GID5f+2&h{6V$}yh)hVdF=2zvSj(O!J?P6#7;a^ME^Vy7! zi4nM8-g3BnR?=dNJdKKW;31Os=*_S9QK9H^s>d^1PdO&|WBP%WaK*R_SVSv-&6$)4 z4m7KXXV?`44v*V+Xs?fwBUOO=3P*_v1$^HG=i<>LZb+EQkGEE~wt{FiTX1qK5vKYu z6TMzdNf556j%m&{;ny$>=o-dhcZANoe#`cZ18tvMREkYJm=`Y1WfJDA4aJ>hWzT73 z^h4)46RjyzG`_zY^CHm?WmQx#Dwvw~CWUO2Z{ViUpyCwG?xBynr5p}bBHgU%Yir-e zJ-3T0aXPX;n#m5Hsf8$?5i?o)%ju)!scn#Hx55kw#E1Tb=6273>6A;R&e6#I$^dibq7 zjLPpgcB0qqN@cXI*<>4avss+|%oh~Q3B zXcq2!Ryr}gA?^%d+LXfiofR%Qbn2=;ztc+h_~T0Tq*d5}m2Y_u zQD}L7{wCWaTfkpg4V8EhUMfV2-4&)S~=D` zbvM3N<)aaw_TYMc25FG<5Rc!$6Vj9WEAA1|B^Ru;>d;;aN+_87{=k;?wP<#&*3EWM8btd7r+kqCr+niV!_Oz)fld^4 zuR{k;>%+av=r**mIAk znR|{A66I7b$&nJllM;u6nu2%q8Dhu-7)0K9#@t~YJqEj0LH3^v2l^MZJ$v+J)fo3j za|5`RQ~&u|d>|nLG0Mm}$HXdT{ZF9FCdxk{4zUC*+ev`lnX-$d?tDg;5ZPXI(^{WGIQ z{ojn@D>PeZKzLl5GgAZ2Kb9K%4H^LvF~$);1Sv0EsYw+dAHRn&6NZW<5w58k4IMEw zNHf|rpdq-c-?Hb{C=1h`QH&2;W_C%jXlrw5sAVpnZ&S>N+4RjN?$8}|P%{Z%)@}kL z^&{diwbfO* z795@f()vr?hv((>w*I@|xQ&y+rr~N}fmhI7T1)T_A_&Gw69ihrH{S7zjeM$XIQO0x zdx-D>#>VfH-v(96mEVgw2ZbUI2Q;v{9(>vjvU$e#{So|fs?bprPdJd{;OJ`2>4Yex zqpi(MvT&B2Ye%W{ZEKkb1q`k`1hlu zkpsAvTF<~vtzp`(ZUnm(xw zB!-on3m5bmTh?e4!?u&0vhW4Sf%KJ4MtS{P=!Op1QM=u6{q|{47gui)vCDt&DdNIq zbnI!mVz?5CEa24X43HZQ%q`p!9+o2t=og;*)R+=+j6$Zlvx?_7Q7fbe6Bt~|>tN!B z;?tuK41rO(ku*@Uhtoo*y?~`0$(#UnWdS89@Y8P?f|`tb(xR=Q8@d9}iMaKrr+(Sz z6_JxJ7(Eg*H4Sc`=`~Yp&mR;4rUjs9Vtk==#24b#y)gv)L#;mv;D4&z0YXSVbCcan z`QxyE%L?W|Fg^PRCX+EB>oxcY{~?VHxL^EHGZ9w;sE9f|n`c66b5vNo6_6D1>8n8?9!ckXqW z;Ip2~iDI&sPG91ANs< zrDiD~jKNy8;<7St|H%SJ93Dd64mg;otvd(H+mkkWhgXAUn+>#{fUKR}d`h8u)aJ$& zEU{IBOt>5rEDCo?I>|>*;#p@Qe(Sn&aVdAboVQ)y6bN zL`b5yJE7iexu!hmx)`v*74o@*1q4w$Xig8C8kYvNU_8C&!1D-o*2A@0-Q&qk(R*0@ zg!g!CMcO)ZF6;zwIzH#UrdO&jIC|k|&5?W4mLz_6hSwt3x;pK8e)l^?8!$J<9c%uC z*NhU-&wSSUfGlNI2@WfDE9CR36$3fFjs>{{_2W841`|wKsnr&rzM#3b`T9ORD4_njXN03Zq9fIG&qsQ#(DFmX3zg zvyV!gkuATeoi;y3M#AJd{`1&ALgGn?=uL9`eS9Aw_Z3Ku@WLEOla25bMM~juM_$#A zZuf+@o$!ReU8p3-wsN*Y^xpM_8N3gQl>Lc&bKEbIue0>Mc@dVTTPt4~EV=t3nI4Un zx##V2oN-?yUiQ&ErK=SiG(!>lzKAFNN33`Z84bv$7@?r=`hA!CTG_%8Ae0A7p>`!kc$RZ~V_^a#HC|J( z3eaa})mX^q@F~NIyzJe=ztN!q1(O5wHpI-8+1*DK7K>2?m{H>&tIMbC*Sj+X%(1o? zSwm$%VF^>G0m<(SDHTb-0*5FhItVkRou$IDfD{}o3Vuh6{}g0^J&H)7|30wpi99HF zlls?0MG7$tMC@r2P`6vXm@iQL}3F&^N4o|-RP$U-O z{>`Q7kG?mX{YV^sp~p2yynTBOj{%A>WrNX2xZHMwg`wL}Y2Jq-c2N{L|$r*q#9a>jRM^Jf*58DLN`9iE$Qic6r(%xI# zKuw<`_WV*Uz7!QoL1wZ1)MbG?FfUH)q!V3eF z8x;UGiyL&cSdZ1xVgQ;a%CJ4yKcn7SbpqXSE<9uQ?X)ZFc&j(aKgX1H7QzHXMvg`H{A?Tsl`9Tp1 z&3s5GUB#hn0VfmUypoU;42QwYIN8tWNYS#j@(D?uvDCk2XTOsmXAWJkkz8hev2f%( zXX=f5IYLwKjXD2-FU2oacVm$I{?K&V(Z+w4eR_B^*XFVE=N5m7_h{}ajjjF~oCAr? z7Ps$@mE(caHlGhJzCd;A*joDSYp1pq?%0Y4&VcNQ_1pV9OM3NGddyqPAp^8^Uc$q| znOZ3nDgJuJzurjBU>&{*wjH5D^uO^C*8mcft_cy0%N^16$qw@m7f{_C@J(`X4$o2I zND{vzNXEIVKXS~mgYW2!)=#V99%2LUj<2t;jTX=%tuuAHtJqPeyGQsnyI3VBb_@rr zgZT7V750Ejv`Ryj3$EQ=s55`vN&=Gq!9!O?RA|Cb=Mm)**alQj3U#SOdNo@_=+AK+ zvcGORRbr%Q?JM#Qr3L7?%TC#vpy~3V}G#x!ml0IyyMW z8|C(tv15^~j9McUDD}i?ij4OZZnJmP-7Wr^b7`GhO*@y^@WO4z`9NDE@}<0-TMdG%)rpi1?FEb0Awglhu1xft*1Mu<{17Xi+9 zZiYuhE+I2Wmtw+>V7t}&AR>|&*dYlLUhP6bC)s*Ckoq*TKhNg4*(2Pf!`qD8Zy;*< zP8B9dxpLfL@FCC;+P=8NGB$8XhBrpw0^Gx0+eRvHX}Q0JB(kdTM4F7kIO+r)6#dPE zsDfHS{1%?FF_Hrbi=uU0*%^fl5{yU1pkxr`j6@>+WEh)%V}773#qSqVHcx^foMgUJ z5j34FT7q3+3Hr?**R+_%tk^riL%mSDuxQ1(yUV91<{=OzwB(D}eV3$s;Kb{X4R<%b z^SrKhp>_^233u}C$I>FhDqbc9=wd;!vrmwkX?g9&%X#NzibVp>X1S@Rq_`UG_F3xp zE3PFr_7rAX;(SUg)%kmH(S;s7RA;mL>&aqf>Cw2EI_EJ*Wtl zepHf_>@8+BCPaEl`;HwN`Szq!{6Ly;%Qy@UtZYgt0W`|of&Fv(p&lNzmDADn40ErB zYMz`sPi-wN8(X?bLEn1tFH#wlDdKX;P6<=!(VCSo=w^eVAwemWSQJEsB}OKYtO_!) zkldC8=9BI9`Dw?l8aj@>JzW;#U#It-kn74) zVBOt!k-zhQnwrcE0IMu#j87m73DqW)F7Xf8W1eVKD8t?NZ^~{6=(L7=c#?{llHDq+ zki~D64m?h&m8q8uaQ0MUjk!mH3dTdfUK zej!Je=ey%?ljHG6Skv`g;Hwquw`ykFgS=W`FvJ4j{#o__Z+N@`#5auzm?!FwW{Pn1nPoS#F?3!8-i82=!y@?mFTQJ@IbimTOii? za|O5|m487)6EpxuWdChqrSZ>GAuWTKfH}p@d_Q7^v3T!C#R5!ie?DGn^b740aLk~C z+JT0mm!A45Nbh)Pjg;4V4D)uOW9-L9>`CO;T=kK-av{7G@wRh5;EINYuX5u#>0yNi50P!v&sdoAzc zxp{on2#+`Om@as-q=1p2Uh3QTO%pNI$vs7@jG_i)j6l*;6x7S;8dPWg>e}Dy1*3z3 z%1+9iwLMzuK^QXpkVqa?+lwz4Ct9ZM&0R<&lhFwl<1mYC$$Jxg_z4Omm{gb)6eJqR zyMq%gurUE6B)WP+7jwyK>w7PE5V!ERU%I@dw}}e0qqgSNhuL0xTL*G3E`01~XKcef zxqqvZrN5_wzUwRzda%VPa|E7^m>&IK>yOp?Q=nOSTHF4G{9uCLymm@2zh}G41CYFr zV`E}jisLEh7d=S^F{=coXe?+fbdHUSv2spG2kfEW0Ahl?bYP4Cz$@mYO%z=O6$a2wubWblp*`5D_e z-jJ2EI5*u~4Su`;87^+hGAxG2dBartYt>-Sz&44f2`v6G6?AD?qisn^Nrp9USN@sJ z*&7n!iVeSop~-WyPaK6e^*6p4+=M=f^-M$7XKi~f6yo|$haQtAFCc?q)AvSProxG!EEM=v$z9Vfj!W-FuerFfdZzcHQT!yJ8 z{q1K+jg#b@wI?mR9O{!(n4+m`p(%w9nHP6!D=XE5tiT(K-)|u>hX;N$uktin;VmFW zdx8IjI|6eRfry&x7gF#0_oK8(lNxpP2%jx%?^bxbaA?@WHPO@236a3v74=8OY$*)a zKtP;Q?FJF{8?@-y=cC{Cs8r&itCaidnHii-wX`fMd8<0=M|UljFris=BRI{8_I$!d zeST~MF7|rQ3Oh@>7Ly37Eg6my{+0b}YH`M_q9VRLCL|nwH#+^cmtUOefdN;BC%FQ) z9qaI@AoXqf2tl(g%TnTI%Wy`Pz^EW!0 zkOl?^enC3QcLRFF|A8<>xX{4hxMF&86spuOrcltw#;@oGdXhDy4+tj{XoUR3rqw>M z`>&`q=k8r!^9OdE_9FO|V)|=(Pu-6wPj0=Q+dqE}%fLlD5@3<60oHN1X{f8yk<(K9 zl3fny&VJDEiFT2+x^03rT_HywK2x@+tkLO5WX_m`>Zh|grye4ZkV)7R*q9+Rn;k}&56tQ z18;kTaY=uT-sSD<3Db+2jQ=0M7XRb>$Y@krbN?xB78Ks7RuZA#N`-8^Cl>Ot@qH9g za0{APy-g2TvOON`d`5qV=4$z+?;$ziYVYA;G3h9QicbO=W{AgdlGL;X6bUTcEWus# z9Rn1SQ%`Hs>j6qWGC@3X^C8hl>uwXWytGa;-ZvARxpJb@w!G4im0>sRU^o%&a?JvP zkvxF2f*%&f5=$x-ziWzq`(tDrh|UGDfq&Mz1KYn-rxzE!2o9xdJ}gJ}8P)enQMM69Qac|F>d zq#R~n{SlWWSz=^#+rtXLlLlcDsVitki;IhCU0SnJT2}h5!Lc#Mx}Jy_>p1U8xU2h4z=7jIzBuO-0p^*P$PYqjDaf#T`iT!`?0@vHwbQvINj~w zPY-3YJwwb(@z@g$`KE(?shFI{y zyy( zp08DZIxBA#PWpf*ywYU$Oy;_)+6cDSmx_Fnr(0ryKB&c_;3cub9ip z*ZBf_j`nXU!dj!7(r7M*f#!%b;W%M5>!#VZMM>e0%CU!^{Jhb{te@E&&JS9?<>lom z=?@cxTysgX-J05H7YnD{(>2x*V^?a=kwMDpUXUM^W~l#=nT+dH!T*7CqG`_hdVCr- z?E6|lU)6T;sxpHIfTsAav*$jKgw|>F7d5>RIK#`$3z$gV>XAJXy1fHO%?R~Ha-?Db zdxkx17~FWiUUL!eO40v5PB{Z$*D$M-Ocsi5^ei^1&)TYIAcVAFX`Mvy*K(;Q6 zU14$ayh#ZK#upKt()oDkP%*tf;g(v`mfSuPe_>T)%Nj(};8K)nGuR!9tT6b1!0tMg zjuc&pstF0A3eVVW_2gn48Xr$t8?!E`X(D=A*-6p&OYMPW8_5>rM;#vdvYDK;x58aq zmbkMUSne#7Y^(X5#Lu9z)Mz_az;Kb4ilrLbqX-O=y0CFk%H)~2!DFqi_%->rUICc3 zlwXauMJ8uz{~i^Di?HBQNR^tJly;h%3A(zvp7Lf@(x4reVtQMA=>BqeD<>ysqBvOj zlcmwSX8|q}E@h%62PBM-ogA%DXvv5QLuAe(J%2l&-5=edvRB98O8%)2_QDelt$nyH zX0QMB@Pv!WI0L!cC*cB#>Hr&{H6MVgo4Q+!Tq>j6x?6Mi;rWevTZZ$RXtlUfX% z;Gl}#fYzBvj=M@i<(lSW>mF}*Q~D=N)y4o_fd%)mhW>w|RBRwL+FPR@nNP_-k&X)8 z-hY9%va%v}X(e)3HjVs7s$aQfH{-}~2&K7%LM_iuqm(UxrBOwL!6>N{iBNzaE!XWZ zW^H|$HAI*gL+;nEr>6D@a&=viWJ-CIkQf5yOlS26Qw)+q>1SALf%b;1ihqo_on7Vo z&*tSKi+V^w>vlb0V=o;G7?L*$!OmzWOf)LJ11w0oMOY9$!j8arI0?_wL+vorBjkCV zN1@;dUySvO{ZWSpDW62MaKY1M$t^}Xg}-9fWOM{fUL~2H+2mTZ0n0qVlL+lVd7{kfvLZ?U zQbeu~p%lO?IGa(h#@2ztTb6W;dO#wfeadpZmnQMO63m9^*nyxJPs%_;!Ku4ivVU(n zn!DVpd6FNUQ_E!Hi?M&*Q%4s`z&(~#-u=V`WMzOU(F3f!YP%J_H0hMN=$myU7+c+^ z(A)phUXu}q6eRAH?O?Ks_-h0vLJ<0GrUiyb%x*jv>>YcH-4NvKz%D@{CR~nQBN|bM zck-VK!a;lNfqgR3UHJMB#0;iz^w-Qft@)2a#4hF>g9wW*WgR0NN3_9vnWH);yD%ri90nf z6CW=~P3;z8b3FkrwCgufk1jZC&4h?qr4P_YH_;maT!TlGy-{>gM{z>mZxPbeX{-MB zo=8Oin=f&eGQ08|4hZ_YBIXqc%qMkgVQ1X zaLyq3@S64n$XeR3iYH#eVwbX-IQT-6|3*LZj`mQ8X@{%9qS(k+2O4~m7DY)S{1AFW zr9T-whyl;?f1w&U2qKHYSj>_Y;0yhkF*pKf@0OphyV|-R~_t-D{B?H#z{_g^&n8ya;nKC;%z3$&>IE#$n==G#1- zogJ0S$qM$Ju9tK)_C-at7o;JZ%ou;5IV$e5(I22aVT7Bov?J7W782d3!OjySW4<>VVsMkE&_Ug=N%;RR-n5)2f*ZGvQ=-|u$hBpO%ycSZ2lFunjj}>+Dt2_3Lz2ujOh0kG z^=+?Xizke>1zCiDo!4cZnv|9M|uno0;nQSD?nT0p1Y@q_i8s(fc``p{I2VqB6#4{QJ5vBVneiGIj7#T zr>G{o69b-*;(jMhE$sIVo2OpSPZelc0C`zAe~f|}e}_eJO{WaGpdeB{DjvwZ2%vmO z;&XqiKDJ;W!s0oRHxT?iAtlWdm5A*5VpLvIK&}EPvZ65;GlE+1xOVBt%DP~tT%OPx zi>u;lhIvV{6rG7G^-#qa-chj?5X#LUO|n~%{JsDU;t)CPg%*A6;4YALJF;;1vbZNg zsnf1RDN=OZuK$khhaS=IY|-6F+vi4_=~A;>4iAmwYENirOPRwCL{t>HmLW<=fXP)M zps_oeE$DrIwLjG%sv{K4gRgwflTAW{sXs_g!eC==Nv`1MEo}M<3zDBDHEExloxM>6 zDr4*(h3xnEoAB$Kvwnm>S>pY+G4w3@E9><;wN zEBt^H?V|5rd)k)?@Lx0);V?oDLwOfgWb8j#JQ|t)Y5POA%?Fb=UiytoVQ@CKD>eDo zSl^$U-r54F)6k`dfZiDTs&j@rG-UVU!Qr7dBt*0GCIds1yN%WtUIO2J zVfi*2fNp9U^q(>VJ6U=^iy?(farYS5$chExN7>WlLbS*UcEDaF=cx0B*h4JTn1A zuzXD?dLys^$be7b@(U?B~Ye(B>+0W$4@8P}CCb#BExZ){Y zw6z2(cCt4aMo93$SX*++`z4d?My6gFhK#nQM*C-CQ$jgBcrlZH*tlP9=TrGf zB3hX1y5$J3XSqUW8UV}ou&yNPFS9E459?HdI{m+hydXTdtSQ=m{TmeA+k-;afN>L` z7o{8+@TdVg$@<(72^S|ud~<9~bAbm%U-0E6u~z8aaChvb3Jre^ils4%6bX|8I-MZ@ z#pQ~fM4RFLy-PpuzIHsi?iZ&`o1!At`RqGV|6}_Zm>+(b39Y*dfI$5ajPG&Ck3L>jL@pr} z=C0m)h0CwF`jW=Yh%gwR_2@J|CR(4dDpYC5gVr~IiC=8GsN|E7zH5lI`~rQ9VL27# zVRr1&968fvux{Vm+w0$HRa+>`C&yc1YD&c>(iZ(7hxZNzi~fP@Gm%(vgYm(12``{w zZgnW-D`YYgBGP$JcP!MFUwmeG#p?n8dHWGA-aZubc=k#OT0*BhJYb2}O(DZ!!HNTk zM92pdN+XN^2*EI3Zt;~_V!ivQ9&tlKlX-S-E(}e!89xtxpwmFvkW8$>@X;Tt^1T{B z{wX~7qayuD@%Cg~Clc1+y&uoHAgFLOgPVDPbD_^!)CbOAOeZ_&P_w7^!YTUjVnK`; zIY^##!C9M;0`|7e;#kh$7yOw+@%D@}!?-&Z1?;np1=L?S_=*`~N%YH0g_!*Rm{}^K zZ+7Tb6%L^fBs*0CP2b#k%gf23NPyc!%Hi_A)UHm?c>0+5sQ1Wg_Wa~jF_9L6=G$_n z)M(Nf({a=5o+P-CTO;&Vq6!fav7h1{vBIlTl%jnM!N{=LpyP_wFdzePN+jqt zy*I#Y>I#XBwM!^Fxeu3fN;YsH;sKUDA{h$=Nk>O1*sh6zLvvuLe)&U71Z-18=6ih1 z6e;Pii>2E%imFtX>@Jx@dk z-Yz?PSXx>R_Jm=ED(hv+B(;T1PM+_8p0WaeeYY=)O%?EeJ*|-_AXH3XrekK#p3&cF zUEw`d#Yg1R1m@4X&?cit_@_c+N+T-m;B@!OQk$|{U(WeQ~`Ga z6A6g`wGrho+$Meq8bp2r=S$lct^Q_JRwuYD8ryITTqMZ0$SUL+YuxPft^Q$YhyU}1 zfaHt)EP>2-((b?ELk{w;CNhn^7D|llu&*3CzHJId-N6_=$M4tVqz}SEy0f$3Yahnx zdzeo8n&_ppr;nle01}0k5-2QY!5`=|WEwpSq$JVShco+q4B|9zMaaZ3OY(RF!r^i~dBs(t zyZVo?!;M>rdD#LI+BMNnw0`;;OZWGj5n5V97r$V~X!J)~X~?@|g2(eWnu@wNN;yW? zPv8)-3Mc~lN-amJQ{K+Np!6a$>dH zLpyHUo|o&oL$S~TJl$9CwQD(4!@-sHrqoe&ps-L^gUmbSJ(?9MlP zwOiC=J{4M5{ZP-=p3`yYdfP$3?{<{cV{e$&VL4UUJ?|H_cW<=Zss6EFshIx)3Qa9o zN>w6YFNElo*w-LFuh5DUc)kUx0UMWUd~L^T5$EM-tSbLU<%0~G9EufhlH@q#?}tC4 zGDufI`S6klB_yF1X#*P{6nlp?jG))K>qzb;8CtB+SCWNg*SN(1U6$a0=fw}XyG5zK z(cTcXB{`7!v)yFzgLDlH)V`VE&X7)GQwkf;>=|#??7N}yd_O!>c+Zjus|XIdPfQOW z+QoJyE~6!S@9x01t@q9hP$zH&(a0NDdX>FD4AZ784WdkvBplJZ6c=^62xG9of!5wC zFAvxJvnk0a`oX{6S8CoCF)&aWi+k%EPvtf8R7M^5a&k7jnjFWh&IR!p)pCYCv2r7j z@0+veECe~#($O=0ZLN*`#9g83%6X+^jt*7B)Tp@LE)S5wfjI)`u9@$BY_ zlKnxm!{i4pSuKQy|5_j9CGtV6m$vMyrvBl?)}ut{i8K(|gve%sl0?kVir4B(YKyC5 zPrt$y@=~*Vef#kb?D8kw4;C2_i6s9EN&>dj*S2; zMtl4af0X^kT3L1CqziKeU+3&6iMh=n;xJ0in(e9NYpiM7;u8kF;xA)%+(bkCs5HD=KH;bnK zmQ*^BKy$KrPu;ulpRSyyQ~<;*G%H3#p-p3?OL9tz0lX#YohIAaO1C?SF~@A=nn>^? zAJig5FntZm2Yen_uub%BrsCWRK$gnbWE<)n3RSjT1w?1qdedkCGGge2RQcNq^=`QD z-y1vy>>Aauk+i0&=a(Xk6^->Br)%P9kK^yUnwy)ONL^-RHQvP>y(B&_80XXOfk z0q4on>im1q-#J&N@&Lz+^3O3@Zx_FEp^?e$+6u(%fRZCThzZ?* zZBkTNZI6>6+~q)Pbx$s#fXBHY1O$Ya7;`fs)QpTY@e9q}Se>Pmi|hGS^!a9Ia|e$= zfg66P@%Y%gUuk))zy;JMi#)c)NeYyyMUE^+i0}i`seh*5(qz7dLOG>@MIH{{){`guE(V<L`+O#4U=XLjd)Bs%PhDOvcFwT3%ug@oML{2k~@{JU?|8l1Aue^NbUINQBzDD)dM% zC`hP{90ESuI(Oa98Tv@I7R33^k6!3nsyvGc?yYLEhi= zT6@ub0&mjF59HMs6qvko{xW7XHvGfVMmnaKZOY2bd;j-DzHp$dbW7zX{2Ac_KE+0# z8Nf}c5m0HT`bm*=GXCuJ=8~LP(FZlz66_#)qM;+94d`pq^jL$2VG*rC$h@u__Md8Dk;dFR465f=3FIO+1!%8ttD9Pjto zcN3pV#?4<+R>;s9n6#C+#Y@v-IzN4_V)gK&e!IPh^?Ch3N<@Hgqn2=^vV}rvfJj(O zhjsRgz7vlgo;j|aFq1_EFyuB@z5E3BaXWT_f!w8^elJ!sS1B|pX6k-~Y3BX;L~F4r z{*Hjbu(ygre$xtYTM7)Lz)P@0f{|_u{TA6IYbympCIU3g*81EU8C$EH2-jw3`*?3F zdNa!LkXopngl>#}5tPy9$NHTH!NrkGkc%sD2$7yr0IS^Rv64k-B9z@Ri3$J$b_)cc4oJvrPpywLTy=t(s~JnZ#a4MoVtyir|r;8M=;c5y?We zZ{j&F4kgi7r2@#TzQvrJtsK%I_@0;k z^e&>AO5ke$L6%$~k>u=SPAP&aG~Y{MV`HCuA^4T?Ya|{a4#|OqyP)~qk3+ihM+f19 zrcV;|xVt|YiFcU3n^v#20BdY^t}B9dO-?54YB+j`tk_{I@^l~PNj}&kIrGfMNt6F< z53ZgI$NIGzxiwGfgTZBn95Zc+~rM7oG7O# zh(l&Vvc?S8BL%)yON|p;Gg@_Ki0U!5S3*ZM(w4IF^7MHjP(s-i;9omesy!MtW-GFf zAnnz=DY><5J75e}E;~E>Y?Ye}ImQHXqQHo89e`uM?7dUArJkz*d6V?9`yW-7QZuXC zIhs4LOYhiH`r;1eP#m)k`2brW%Q5}L^P=~wEKdFaqEd#hxya@eD68oRtg-DsqQCvF z1BK}Kgz|UnQM^rq@__icZCWqcJMhBSy222OstnmHdGV}dzCMim?~IHICxl=1tlJx4 z-n+aVqyF+A%Zasw&g-xmuWz^X|7$q_jy^Y*1rIfd^c}@q@28f;e0I)hO|PeQE^RVf~d+DA)i0Dbxh^>ld5Na8T(G~NUglegY8oq zA^{KMUasnPVv`;vX{hL;i-A)nsZ;rqB#^OrOSObO0VOWKy3lj1kd$I!Cc9fj@UT9&&3tuD$6{Q~PLqyo6%?rOnc`E zTg@JPtrOJp;0ob70r4k~*(&9immXLKK#1zg@Ut6b#8qz!0$IG57=#@nICBYD@kx7# zsYz^*CfZt9Jqs{W!;<6vu#>IE17{1NLl_{4(a2aaxX%H}k%hVf$5Hn{fdcLJ7HOlT0H+@2$Ck_6eQ$+dvysSrou4BRWV8!OY12CWs`T(~Cz z@qtTaO-)M*Tg&`o_)SA;^!#7yDCDT*Hmw6hZ6K%l@1vDMZYTN6YyX#1&!wH<$2#h+70=*N>&#vnWgx=^oJ~7whvK^V%`k)S3 zT@6N^rZc`xD0B(ZXFkm3Y*GKpf-z^XCE(wTMb0qxL0=TstzaS^{ zvwA=FFgrWDl{2jr@u9NpeIsG?l=2S)Zip|J`mVSYr-WWeYtmRYgRWeaU3uG~#l=LZ z-^o8(YP9=BMp5o#)NLQP(!^Rfx+fNzazE%*FRUNB=CXr2P|(`qQC4U|OCVCnuxv8b zT43l70?dg#01(C=5Px9?{Fo_S-4AWwdLYY-{<6S9^mafaq)A_5y%%GdImFbF5IsIcYKV(J z8jU};MW24}{=W%G*OH*JwVrMlVd z!sMNN<~Bt95_S9CQq{t=-k%tXd);L$@1%F(=) z*UzuppFEX5quRZ|#y2(4q*-`7AYbel+bIUIp!5sK->>+Q?D(4I1kH#;)lxm|Wh zf7&t|exy9^gG)qS=~&;p+xlBDGDkNGB7r*!bgyHa2;}UdEGt0f-t)Y)rn*1J2{HYq zKY(O}y0Djjff%reqT!0v0J1{gv~oNvYvk5Y<=tz9tPZW zHt8M3`uch_r%Lv4-QxNX!>Z@PEN<#Bdn~8*2_(4X=y1a zd!YR_W0IJ!wEJQ!gZSME%3i903=cum<*Z%PD^470DUMrPWRe6Vu(%RYRZBN;$ zORQ40N+kCoK2h1tTl}5vRDs}vnqixQiK6(~A+?`z+8s{ zoDbZ$t(Na!6M9$)Hi&4Yhx4i;$)!B68mRRGZzZvCaQ63in%YmU9|SS$(Th`eP9~eJ z?YW$JVMb)6M`7LTV$F`(p$09Fj=3vL#Ji0g%RAwKgmiF%$iq4bK?e@WlHeW*st zRA=pmFjo0n9|9gxThCgK8zk9oOrZkLQ1oh}Snj~i3{jI%F`7z_c^bKUZvPaA%Cm|+ zQ!AamRd7MU*Z{p;Y24Llp|iYm1AH=c3bHI)AJKr7L{?76 z@0m-^h2fzpdhnh*pp4JJd47xtp{dygv4(+@pi%g{50ZW%W1>V&~^7ppv<3`a!!*piy_3SEaEntB8t z{DWChgdWH)G-pb@TWUAhX%0hKQ59d&zMCoa@efVSa;}{|p0KIi?xT$w7_GaXZOXqV z`JA5a(V4~Tk~A7>qa`;!b#VM;W;TpqFPc})GtTmf^zrE_Cw0dB%;LHl;fvY|%ftRZ5Isw>zvP5%~( zDI$CrxYhmz(|A!0`hUqYE$AEcTfL$NB`zi{wLgam6k&zU@Tg4V%5Ed`Ec|5bF;k4(i#d>GB9Z9PIxwbk(psT!UHTp`zF7v z_ODdvhztx2uH52$hgq@)whi1+w_qcq^_N~tK;2hf_@7bo8$R*f=30_oUJp3SO9C$Z zON8msQ(02-;f`6=$`~Idfn~TuyfW1pCz{BD0&tT|AC>x0tp|27NnPj+8bA@5QILU& zs&%wXhF32g1r74s-Yc){o(4tS0!gO&WpM`Nqf@Y7Rs(2%?s`poXp3L>qkB|tjoDCA zyPra0UFr>|i2goM$l&Pu;Z<77Y5f`KMiPLy@{LNc`ZK@9cuscs0riyNx!bg7ME*%Y)!$3W$nw0fr~TgG$r3alM>>I^zLg;|KK+-L8Dmn12U% zKokxLx)ft~ik3rxD`Q zH%TziUQe!1lx0o2*~1g#q1r4&gT`oD6>3t_c?zZomoP9<-PSezCR41Dvwaln?+grF z`3lSyM?bNz{+8SA!mlYUD%#<=TI~^tZzXr$;NqI$KogZkd2jMFo1^R`+_p)(n^XgS zYx|(4W{Vw^cizH&n}4C7MtUWRZkq1-R4_jizgwOkygaG$h`Z05q!DwY{cf0%oZU&O zuT(vSA2g%*&B^~I+SI!n&}YA-$_e@Jm3bB zQwu-`Kxj);Ay*=s#-RTX`DF|Kt=Qp2T#xhDk;I??Na(#XX2jp!M|J?62udL(@4}c& z9%*&(AjdcZ13sxDm4E%(r~%RxdH4SPlbD-ZPZVg2&7A4WJ*}8I7Fcg+h28I2fWZ0< zJs3Zn+D>}bJjAF{p49ITh$ABd5uv8fPh=!z{07wedjQPu>_R)_NyMR?N4^zr%^!c2 zO9~ktqh{2CID2#sVlvr4w_cJNQiU|uf!+7o=6=lu1typ#7QAG8#$Uel%_qM)EcvkS zKk{7Vj5TAil77dn0-qvSq-5Z@AqgxpDLQm7(Thpp#cC!VEA-yv#j+$XMvmws+FcVB z>@ZK{#X7fm5w80FR-ML+MO}N=D58&rNp(iw7jz+xy1LsnPW9w-8dEH; z5~K(qnF1lk>WwiZ8$G56pHE9o`pQr$kHC;l&4lO*!+F>_y{pU1_oNs|_NTkvg@Awd z(=q7nz+j|*lY@z%9?{=4nmuMo zt(4_?Q58Q!2(nN!$UqQD;@E|kK&kFl^&fh9R6zD|Wd%fD_J29mvcEM|ow@;Rs;|H2 zHTYKCEz~^7eak8;o)R8l=+Pv5iEKs(-XS@s0S$cPZsN5~W`||q-{V-@*{^xcUu-^r zFX+jhqdlNQm=w6lDaCmcVnH)wH|f7n_6)&x>Quy# zL8DnNCPOBt zw?T9zb=Ijcb%$gg*w4%3?@i#dc2abtrm#P$Uq*p?X)mE%p?ex;FBC3xOv<+UZ$-c< zXl+o~{h~d63QCDDvZCTa!TH7Nhqh95BiX{k`)>tfy{HP0CGxWJfxCh?*ZdK#zw4|1 z@b~M3kHtl>rzWuGcKI>P?kNv8kE!D|E;!-HGxlD^gISFRdQ(x}=MKP>HFlL$>*gW& zy88MTnt@~AL>qfHVT9am>HS|@1qJwH;|Ou(JKqf=q0O^ z?GPzoJNcgMyiE5syVNu_jb}YPJmhma;q1>2)pFFKI9zAJ+0~BkrU?+ow`uX13kPc{ zMTZyKj`)#%U#?j{JXs;BXFS~mE}o}tFQ%mfysY8-yha>{&8AtOC=?ACwr-t7cJ5XD z;*#6Zxm#+PHHf{+l!p(M60TYi(jY}v#4+(dj@LKI?g(vW)7)%IHr^(44}uFlPD)uW z8DYgeMKmU^1s%^&>6vgOa@TD*1$!__%WK6RpSFXFwY}l*b=D$n#5WE4AG7{J0zj&Y z-XLn+ZB91v-;pw-K{O*r;9_Te6Rkey4*rTivdP8JCGm@JOjpvq8r}(Ohtih#C4Y_A z=Vq?P-F*VoR=pl7(v58B#)&*-4h$7Gu9K|3i1p;r#e0{P9;Vo}w=sScsN@!EP}BI= zUIf}h2@9q>mHDYsPAPbUL|5Xq1om-9OrKW-5OW}h{Rp{vM@}GhvfiWri@;SC>29pi z#N|*N(K1QOtJ~g$wjsP@{~R@au;?&Ima~qWqlE1Ew~5feP#qUTUY`8&y55rnnUsP6 zD1E?5B3=k4ig4S;i}4QWqvPzKnu>0`yo0U zHP;w~#o!F&47!mDqnK9=cbi|5V@9=HUhC^=AMDQ;piF)V>(xn% zVyleMwrh&FmjuI@?|jSsaU2j|*tEv4d!|G^RI^JqR1+1e7-Of$LRmK<7ES>gX6ef? zK-alX4%rg{ij>L*EHoJrI0iw60K|X*1^n5C4TJ?LrVnX$vJFS8XJc>P-h2;dt{(52 z`RlobW8F)}eOep&pW3|~2!r5zYsIZpGa?vI+`hs@GOg@OP@u_wk<<4Wqm7A#M*9F! zr)5Lft?eItpTJ}0JQeK3=%qoHEmCygN&3N4wjSLaQ|bjjQPovqfj2CKlP=ncuQxNf zgHplGR3xQ}bd|THDZ%CgeDn zX+(9Di?b^?Pou1Sj(d1^w~2!nLNa0*HJ}JzoNy|bRjHL!))gNg=OZ!m&$4e{RwIu1 zNMbtceui3Eex%7!9d}~1-okd(76@3DPYR6@Y=ZUJUaO$In&6dtAAGMtJYF=}t8yPN_M?_#->*{_87TqHX8iOtJB`p*Y7z(0> z=r_d1*`F6hOudapa`OZDQ%vN-?t;OEpYj9a8KlCn#n86O0I;Mf@YhxJ3?uDInz0Ou zwFY7Yi=^)z@eQa1V#O%PlDUq89N*h_JrKqik^e>yi&?sJ-0(vG}$=voigg(FbUgxg1Dy0c+EKc@km50PFi#@ud*5F zY`N+>t?2Kw6-ga|sZdW4d+8G_)q&_zC!z4J(7#n}72cjX08A!=XgEi3UnJNbNuge; z$JZS~t$1r7Z5D={6iMJE8ckVfLq{fU<9dj+Qbcc(LUgvLk4Ute-m{1seyPx(F%^1^ z=`^wsBL5+XlgBAgVqXy}riAN2AftVpd=`8@lNo^Y>`*oWUw0!|M-=6N%pdq81pgPg z{YSIcv5;)+dqaOwusfQUXPB)qeB8G2Y|{$^#Ad_b4ngRSpL2$mQekX_#18m6wj$TA zEwV$8V2l(2&UHQ=9Y#ajX8$z_K8VWmw{{^FVv_&Z4H)?Z2>^_}_Vc?WX}*dh>Ysya zCo)x5IGC771La5Lq}~i6wvbQ0i_(Dsd@wE0Dsd_+31$*_g{FKdw^A#pkzWhV4#rjI z{GLwlq-2MrPIhJXbSO`?a1t~c3eYEPq1J*K<>Mq=Dez=@MQzhgaRoo##2?= zD^3exm{W;7IkCvdu|>l`^KD8K_e34ACaw%GYb+K^x=vWnQ1?oSiArCh z)WTZg>_2?a39-2Y4(d&XJ^9J&45Q!@Bo-XAwu`g0A2x-*X4dpK=V!oe;JtF9lUQ9s zM8{qkce`+Ole2>3MmBo0!o?+eipKW3jr6z`dV%wUT=IY(4howfgw6n6lozMi$aGBj zad^Uu@V`FnFB&j3`0D({E9;-1ULe5Pyk^p(iX6N?P0NE%7?smPiXA5cvzWl=T_Kw0 zM1jPDz#5vW^`Tj7nr3~39AJV zxx}31tp!Xcog5%UEM#VnZyR)6 zs%h~$T|{{$PqC`ij;q#g;Sk+%z{yVy4gg_(nPqj_tfGG+8@-V@&6f& zD&$EjGt|e^aW%$&-iB4Iiy^wz&}xG_@C8UQgn34Fb7%r646koxu~fi8KN{Xvoc=tEe_ltcV3CN< z5=DIJe?Ot(U_s5L-cmvDk7CV=5Pmj`i%6^*E$l5gFhp0yHfvhikrfFU92&Y5t42l^(d^bMZGL<0sl~_FXq>m<=H^J5by(gz35SeM z7aX6Rnek0Y-2C$59nlsyC2AwCpY4x~UO?F}v~Gfa=id{KY8cIz-n{BwZ`u2{o6?X(4K}wJ z4BV)lotb-{HI`tJFo&6zoLrRb*N`9<{4^+c{bKBs8_e*;6y!qgq-2geUhQV(faw>k z84Qcc)Xj@cpYi1O1yv~bobzP)jsk8lv2@?~xr%w<`brd#eBR|hm)f$dduu8Dw76-- zO#)(FM0~%<1u;YPIo`SdKm<38rlPb~mvXDy*UK#5TMSE#w#kX!*I+6}t(3;Z55iI8 zI=d8=8ShTqgFOLVM4mTVX&1#c@-x-`I}Htntp3v)HFH;ET z%`|kE;G>mNAcG6=Q3sZExCo>;8MIfScOWaqOY&7TS-%oi*J2=K2lcndVJ{#v*|b9@5`zZ z+RyzCdr~YKsST6eaonuC7s6WC!ib!ons~e&DI@MDRP?7nS-CKbcbIK=&?E0}LwQQr zA=Ku!xNFfn^0C0S*`NE3HQ)|NTQzrPjw zA~b|JM-1Yce$e7L+Fg`z}kHrt9ABoz-c>()5PXJLILuXBWh$|!37gd*C?-hn`a zBL}C^D^usoGdf}r>36cw{-e#TH{uy<;>>59MPLL(l#p1eNEmR&trbW4gw;$Q-s0{$dH*j!4lBv3@7-#&${q3r z#%4+P8!Ub@b&uIGH;-~uPezqUU!CEO?aek9p>Xrvnzx~%oT;9*gLr3EWo0E*e4K-v z$Ud@_MbeiL*A*KHB|hR`A2+QWvJO}RyS9|NKv}E5(gSm;U_avJ^)JmSK7Sfz3b##mfni( zmfg8&}Gcb|n9yHHQaa#6i|&dkgVCQT6HW1p_XY^TyJO{}c=_`;TNRK$o#11^#+s1Op)QNjo6#Xh&;#|FdT z-M<`7JaSxk_q0F+=dk1Z!O~gtZ{zZm@Yr6hBozm)YS;-x&=9$m@u=D<6w}1Ol^}6Q z2OHP#X6*^!zvF~Hnca?nL&o?%=Ze7Z27@ikdkFV+g3s+JCOwWiN!`C%pc_Afp~OF< z!Ybt~#7W85UU6WU3k>}LmWY=5G?s{gBr$GZB2Q@{UfOr2IEqaJc2jP*lqjl17QGMl zDr85RD5bHZIUDx^+o%?A!5=xRJ;-q0Ec0tMEQ9jN4GJBra;@? z_>-*{f}~&iK?jP|83(S;U%YHz zl7_+_D*Rn7NYS6^Gfv1*J;MwyMifMPVe=(mD@1Ii%w>iZOecwY+miuqK`Sacd|g*f zEe!!#qNJlxI^La|oBI{)9!r`eu7aHK#qZLq1ZFVw5fj4bf&MTZ`_S>N$ZUMDy}g7C zPKN9SC8%twBww%zugM_v0wdA0gbWEiW%M$wXCDN{IfPj}H~|s-vmzQ)J%|KOXYZYK zbe4pj1hBkEax&7>rJs0TaZlSqY+g8@83*s?tLorm2MbmAb5+A5_bbA#ZHCtU-(KWf z)R@!%*m52b+=N8p-fkr#y$FC_4omQ;hbXyk)6+5HuVI7gTq=k<^eCdght~;rLkb0a zh_EQGKH2klCl3fo*GYS(y)_pAo!k^b zgDve7>Mbe5I*3`29yth-|3V!aywF2&zIo>fNYn>m)K`HmMFeT>V*_Fj^HOmP0yt%6 zWDJKW+VP^~)Zms&wREH4x*>ffv9WvnK!g@~e)cBnG$IYY}b*9_vP7Js(?@bxGTiPo`j@|F7ndSU@DYG0J| zv5{W&w4h26cN@Mm{iMD6#XX#Ed-Q*{_Xj)p4}_pE6~IZ}ibSgQ-`{Rnpo%Jbh`Gec zyrE--tnhE2f8HBaVJ-#50r|!RB=7TiAE=;4nL$lDrr_$fe2{`VhnU?xlv=0?;_x^L zxWSohof~?{9$sP-6Axv7qLqR&cb3z|8b_Ul0q3)~(rqOS0BW+t|A8>)r5`3tcV z3v#v&tVt?d=dX!50jPNoz8ru3DV3PHr>C>lbC;N3wlf`=uj`E7vTMO@uszS~krN5e zcuRtiJXwKt9wG+qK^Gkt6>lFv9NE`FKGk%bT@>*g7u9vj1Mg!p#E=e=C8WA$vKqp0 zy#IhI{|m3bA(o_g5kgYKD}sIO|NRc6g_D?$(WrJnN=!7Q{?ga0Dd)YtBPP$XsyZ62 z#tijy;kADa1>J6Mu5y`BF}tOuR6I_trAL*?k(oRHr#pHggg~_&LjEGa&y=5JB0A_+ zpMtT+D#XytpO8JsROM`W0`nsde&q7fdzP94-%!m2WO8J2LF$PPuEk0JFEgieYaf!k z(O$5@SNc>r$uFNKs!`K$_V$y?MWekN#?Q;(7!J8TkZ;-B06R-2S%&b)9lFLXza}-- zJb_nC&}-icekvYJ_W_|$<)xl*w~N)41%E~KpzxnC39vgz6Qp;&!TS+EUtWZF8^ZbX zKHlgPVr95+iYnQQces3Ouh zBP*k(s*3grDGNN`T`yLKOlgyw{G85Kz5!{^WM9U5&1m^bEupxP)Q+)V6Vl=At0@iS znl`VZ=B|e$((;pwq51M>lmhnUQ!XX(j(*<9cw^{D6|7EeA5cx4mZM}4{woV|ND}Px znIt87nWoD^b&-v9P)tE=gOze$?7iaDdF-vm2{tTxtU`KP55G5EfpA@kN&4NpUk^Ut z@~dh^MB;ioiTj%s@sq61^E8k#pBRYa+^;9k;Ocm>U)eL{^wTSD*L|*kTEv_yF-Uxh z;TjYGiQ-)m5qflE$Tq|BtjE-OJ1Q+D8us9j3t+uE@{uX{esNfK8@%Rv{t?j%R%{sG z^KwN`MHYzkyVCt9%>Vb(f(A}S-iqd9pZWJM83a(CM@c?8w^3A=-YJKO=ptp6nfIex z;^qUb&fM2>LqtdrmZc^a)&A|_B%T}K-S^*s5dM*u_F#L6 zn?spDNdUyyh;I`8t$J0`6MJeiUNFx*2_ecPTB(~F^7qFnvpXT{DWm@)m;16THI`^m0y$4p+l@0Z)+-EsL6(e zKjr2^)&@V;v%K*ki(PZTO$9&b#$$%Je0RtcTN0V?nfA+ocLDM-K?U+r%1vAK9F7AC zzXeh)H6kE}zszy`dNc8nP^mc{fD1TTtdd-0PXe+Q5hjpXJwE3|c`^xvSawQ#tow2& zI&pVmfOBKL3QuGR;AQ%)ZwSz$KoKVf{Ga+|NY7@N@KI#1aY%vQYZpXV8;20(LxB1+ zf9j4ZITP;J@djmdgK{QIQny2(N|iq@^CA6r=#?M?_KEH@65H5p0gaaj=reJ@E{rQ< zny@mW*mRFhgK;*G)fmx=rE0S1cBpdB`up7u$R`!QCt4IoVgEl*!i^rN=s#(m5A*K- zdnc~gf&Es{q}pefW)yHWJ~u>rX3OZV98_D{qItfinYUL~rV1)qnQ0dB-x*km@MF&! zLbAngmSmQ#mbY*KVI5201!GK%mCsOS`&8-jZ(!Xwt&{t0Rxicwll@*3aXv&)`?-a? zhqi=A?u87aT~Y(QD&GbJ(vCi<;jhnf?ACX8cQ=EC1s`yxlFAa77D=6&F@Y+eI2Hc# zh<|~2A;o2R{Beqtyi8GG;P;UO=Y;xlB3xMK9zYX9u%_cZ>b14C>!O}y*l<1&NzV9i z-FIZ)M74TY#y{fb$aYBbb8mZ69@$vg+ZXo%R*#539^~t|8c9k}8$`glB>avtA)UR~ zId2VB?=9tby>uircWg(?%L3pVL1DTSAHQkc$STO8((1#j;gyykJ_Ev5<> z{$;_xqxuVGU__azuw-EP&%Z}|!w6N7l!&{PkRzl3*X%qwz$G!T=9la!Z{O=@!g^P= z{JGJ^60`yl-|l@?`1b-5??hGaM5Q1=sv-I9>tvzy+jmF_vud)hph1lCvLR`xZHO4& zxnF8VOS7SuYY{@`(1_Gq5xxu^B7#qPDPc}(F4mn-wluy>Ak8QTmlj5(bF9 zMAD@c#Knx(q{?Y~ma1bph2-O(6T5bG^A4AFM zJ%MJWKWMMGxrL3%fD%RBXf=11+zy2G^TK45c!Xu%PqO9PTztkK$xaXyJtMdTaGH}< zba^lE^jT~q6occ&?YEhrTy)wX37%YRX%>ELh8&O})~VpE8~&M;(n9C=flb5}{V=yi z?KMeAEK)2o+3bnDCwhh1w|~Yq#0PCt=i4dtC2HNtL-XQTD(FL_I+}O%V|;iz@9>vR zr`ziW#pH=&0FTwu)}%VK_DzGdn}2@kFjhuz3<8Rnj&r@qh-7z-{pEY-7Q0Amzh(cR z#Tg#}F>y(T-?j6o#U9<1`<|6b&Zuh0jmi6I`38+S1kE4LM;n3X3OsLRK}Oj=|Ls8h zIo<RuaYOfrDUD7X`Z#2DHiz;IliQv& z2ap$^<3fcRqsPIB?+*t53S)HZ%F?qToCOUoUIqHN+AmF1SHJktNgE5#Zu1Od2%r)d z_CZev4RmS;XXz5aLBE=Tvszw$8|&F2zFmFV1l~uis7_*UW%V&=)XcptwUiPD6Dt;M zl9Z%VA>`J`WaX0f} z>jrM1^q*go-%qpbzi}_!<2-BJe-i~|ILdv}6LayKINkn1uY^&iYAgC4tDNwrJ}9Y{ zkavg^b8jNV#F0NRaz$4HXJ{Pn>4gA(AJ={FD)Sw^iH_)C4AQ%Aj)`ct1e82VQTI(j?%E#MDZ0+d?-uJ5;4XYz3Mb=kOF zKPqznhhs+m(!2@m$)Vatvk7hb0y-O<;uso2g^ zQc{}3uZpw6bw;3(=e<~VK#Hy`80j4(uDPi#r8}(ZGypl;>Gy#Y;ar@Yud14n7IZ+ZmIjXw4^4@frU4mF>jTpUp zQ@0u+wA1FG>^CQBdU8%wTfxz`M)6Y+E@9|xTEUN@i@Nk3L7ua29%U%i2lgxyc;%uU z{?09|qBq3iypBwEOC^FSFgGvNGnO4*97(3G@3RbC!~TJFctB3_JIkV@MOIKJn?%ZJ zI5e6Wtvstx=90UE^3AMtOGw5Hv|Ez%*=Ke{>)ZLsgmI=@!9=f1#(+Zi)iGYR(B=0{ zw%2HA?ZpJgl^W+EN@dpud#3+eY)rHQB4qE~Tye>z<3?E(-*f?TirwM1SzFmuvs*Jm zvcAyZa1ub7@4_~=H$=%Ir}6C&sPVzSljlHpQZTlweIWUHe3BQ=;2^P0IacOJEs^63 z;x2Q}leL?%nXz7x`cdxt1A>C3Q5r7rYz}wvPTwosM;3LCsn9~Gq;!suXMXI4Qtc$4)hirkDn*C?FNN_X3=Bz3 z1gx!ou^#>bAiH%M^z`h zc_DE2N^a?XYIY>Cq+7Np+>TEUEdC(ajBal0;SO$WD1@&0+opr45Ch9WTcIFUKANl> zpsNx67YVGtU9`K!KK+@5Y=#|C{15u7fsAo+k{YKFbF^K5#+Rj-Z9uQ0*b+DoHOb)t zcrCG4!`40N)em?dp_tKLW6%?MKmr%jwy~IHyZPXq-0=XF-#pOb_RuQz^>C|RzUnAp zao@L)vQHF;Av3nQXHn6QwXZT-S446x!ZL9^Wsla7;nTyo?|c{U|4p4fvO}N+HH;ze zE||uL8mXK3myD(EtHp>=Kxk9&(z3<%`~w7>O68I2D8XgR62MTXkGp6GD(`3!V{=Ys zk$r%j^tZaRA`p=fBWJ#}?+gHc07MbNi@yK-fQIIfv2QE>W}v`6Zj|9bp(EuE1ZUTn3>gn0^eYb;;r0^&*MA4Q7SL<< z+;Ucp@5ge>iys%iQl-_;$pRq)Cbn+s zN2_vyc{=Z!3mRWS0v>*VuY!XQHjj&z8mkuRA-p*xgn)t$D$M2HNm<1HCSH@)xQI?T z2srgk7rAbnb!F=ov{06e@xr;FLe`X)|Mk004Z7W<0i+ltl-#tw04&UuMRM1{QH0_L zrX$#%bx-3yr!1R6eWZcF81pX&eU)!S}J+M)#9ptDRm9aCjUNX+(3Kjyh@6E4E-P@7WwJHEF6BR zykj^KE3s4sLRJ%rO^`C%U>o*72u&agFks(`z49nxlMT=zD5c{eIqhQxC%`Bcxk~{T zO4q{@5p(kRDyga?`chYd9}zA?mc+*IdDiu6E8B(Q&Hc!2_lW-FRsO5VHRs}&J_=eC z${_LqoOL6W8L9xjCWjUzw^4x4Obr{1v7d+jh&Qj!I{*RKr;lbqm@CZw(IN9%4)yqv_F6F_dM$jku&^ZygzY`^PH>l%g}D^gul9a&@KJq>vSmToBLoWv%u?6 z^fWhRF=bWgU*zf!sFhbjngC!!@8*{|m9fQEzrf=<3-GD)^#Uyf$x|i;NH@uDD@?n6 zS}TDW4K@Y^ZJ|K0HFwWbN%OBCNAH0$@w6h{wT%Oxx`M1F)5~>|yK4LN7NDl{scxw& z0>YH1BABOBgsdzZK8Q*hs2GL+U`Q>c0<9o+=V-HCWOM0_*u=1kqoDkmxCAIDVtkLF z?9y12lvqmQ&25PyYUo^e6Py%WMLch6$rppaPjoeAYifVnI| zG?pQQkRdfr_T}!m75cQ%CWggeeO~wLf-=Ln*P#ovN3RU0wvGAI9!+_Mgz`3MyY+;V z+h)K2Yo%wRKvGce8wNDds~aZO-Sa`gQ&!}|7UX*GT|0>}2wRkntj;6v4jN6JoQ#B> zjC5Aw3n8HhN#+{fprJux{+^Cb1Py++k@uMG<63kT=$`elR5)dAONDPE%QUajC{vxu^|`BUa3V^Rg~?Mw$1__) zx7y%_Ji`H^ARiii6^(0BohR*2k~RaZ-lL@y{|HNxx3EOJVDCgnEN40|Xc=$NDzX?v zJ)_d5%7v)=g3z5TClJy2fc4bF{3CT_OpyD*OjQ8tV(i-bMkjLXVhcopBi;?r=UNM{ z(=z?arRE9S^(qHlY`&XrZf;(Os>7Crvcj?-@o@AVtSrzME7@WT`%ar^X;4DAAeI@~ z%yyV?tt*)Y4=>m>h6|p$nJ6>)`z>mWYFyzH7=$bJR89eJzG+wX6gf8EL{8MfyxT-t z8wQp9I0UN~pqqNL(U<4UQb$DuzhB~PK3SUZrC1ijlJP2K>#h;v?zO|I9np=VkAh?A zKc%HeBN@vBY&@#Q7oF7N=5Jv$yRtMP!qq-QeZm?kcthtnqxHkr`|Bl#kAkno{Uk>@ zby_}Y&QZGcT9&zw&*L6Hye7|fJc4xpiyHq42{N1z@TBC%#r0Ct0%q?R_?N(Bsx6nV zpcSY63yxb)mvnxHec~i|%3NScrKqjpS{O;^rbBB!(jyVet7ds)*4FU1KoX^v z*8_VE&FY#&B)i@|Q@AWBmH5x4gi?c38P_f)<}bbH)Lg8h9{nV(aZ}PBJ(G zIEB)2di@`rAC2rDZx>f3!mwfaG8!4Y3kwmJgLBem{Al*&++qpQF6+q zGzts_`KZnkImB@g1h=vnpLvaiU6s)N#*PdRp2t+0}`rFFEl6 zg=I_EtwVw!1SQZfu(KR`k-B`!S1@gy5HTO_Rwx+XBRoxF0Xu?V$-hEIv#x~dWT@F{ zSIlK;N8TgJ`ezCs&GM6p8`1e8aS0y0AFJ|oO4|WKAXIj3sdcz{S)HMo8kG4$;Q}2U zehw;IHGDfVUZgu`uMKg$CGJ>9pmHfa(>sA;>k?6r;>nMR4K-`xR9D4H5RdHl-rg>X zl@Zq4aSG?Oma_DeGGTfA#qyM`@3v{y*&Uwk#!V&i%a8o-142U@JLrlZEb~beq>67$ z98Lep7yo>UU;;DHzoBrUf>(&q7i~8mc}8Zb9jH8OKheE_Rd(>pe5yz`a@|DvbChxNDD`B*=r4jJfy43xdg(^Hw)vQUCr3hJAW zP!|PXBM700g9Me1`D)?`|A8m1L`CQxGCJDnreLx^WDeJ^21d`#TnI=&Sl%=4=9U-x z3~>DL@6mhAI6FXW9Qum_|7pr4_&}i-;4MxmPQ8mbG}1$w;{pXCW4M#xm>og#o{24y zc(DMP#%shYs^E%DGR|K-3Cd4}!P|38b(QsqGZsE81WjG@!Jk(U&`n$ImOdlpGZJ`v zJ(LK30O}to7*NJ~HXrWTsa3XF(T(<66!_wC>f%+~|C6Sp1JTi=w6wDPRr_l!a3`|( z*L?mXM%E%UdnM$uswI=3yf7A7tyOPCg`s$IVjWbWebqu-i-}nxWhX3t!lZ$6-B_pW z0(PNedck+Co32u$j#5Q_#u4X?)^De3lp|(+N}~v>HvX#Zlzr~R9#*k@>jbQc z$%I1$?cpi-&<*GB$im{9MfYTiKssRU)YqakRXnHW@Qr!C9LeKW=(3y;FVDRyBRnu1 zq@;>z`XO&mqT-$nhxh9hoy3KUn=RcRALmnQyiLrH(~sXjd&R?-tum|(gZ0n|kIiQ_ zA~p6f&kLk~7CxJbIwrM+Z#E^fkyF5>NK~FJ?AQvmlU_|`VP*7aOWWEqp>fUxUfdm4 zV-*M7=3S8k%zHp2?|snpzhCvZ8qwgyimhMiF(6X%(^wrKB{>hT%q?%&-JB94{8k0# z0oLVi#`Ci-6n^5>P*@lY*;~@7hQPPHFCWZd9?|Q0T~+LZhI9<9u(5L5Nh0@Uc(D!Y z@M!#~Apt{XW&~zDL4Q(&oX~*crKhjmzk({?C%4vG-kW@cJ>565hduo`I(#ZQ!fw6< z)ys;vn2i&*{Et8ViHtyaIEi!(_X5(B>luI~)uaxFg4cJW0<73qH#WC&6WisqZRgfi zrjt<6WW0~7tEf>bycio5u8afy?*C)!8<;EYwsoV9ZQJPBw%M_bj-7OD+et?q+qP}n zww>J7-`?lky>Hzgu&P$oJLj0s7~?^BS_TTH-#$_G>B_p1iq3jy+k-hnI50|_{iTli z>WV&boQ`!zPeDD6phN+TC@-SYd&<(}n8$)$%G5FCNm9GwU{y<%LG{m`>9l5vrBu~E zFdf!t1?7(;hT7MUnv~=&41%!d62CJI?}5`6P6B8h_rZIFwbQ#1f>xegW}<^kPRTB1!0)m#kvwk0`(UQ6t4 zPL?dUT{va1L;uhAP!0@POw90^R3!40kTeh-7it!FVI=3=Kicr!P1M>3pDxE@+pTL0 z0S-zlClZrE-`7!YM<16J2xKfyY}VZaH_)WwCE&;j_V<<2&!5WbRDOIYyM*1&x3evk zXOoMOm>lSgl0etl^a-Y+o$(~4xP%z*%`OpDJ)WiIWTHKmsGDPYsxkMz} z3x1$bLwA%oHAzhm_}<+}~QNMstRBmsGb;~2x9)~vTy#uKjlK23KZ4SgFzrGTMe1Q`+5 z-)KMYvtDpRZ{K~sR<&BcJZ&p2@T9fAgOQ%078H2(#IIPbGjna2pLINE;nYsuWspsp z{-aDTa7G1TDqvlrIVEgqllo_s|N6y&U!A$g;`O=gr)u!hmZOjtQh;;U*!q@gy>ydp zB_?M%dC4~pmxC-GjeW0cC`-)*LXa-gAIfaLcle$iH&fiX+I%Mh)_ahzJi z_XBQSi9?k^=FKanW5%_`nYwmstEYij$)Vj{|0#i;ghjoGwAtn>aHeGFh-QD)nQR!i zPEb}^S}NLcFO#w4aOdK@xk4>LXwBye!!BZXxB4fP)%tatixBg@u4^b}`Ebr5s8oum z&>3=Gu10{Pq-Vk~o1&U>(b*%z*laWiIOAdHora0vh1N?>90D~J;Sd)1NA|OW=gB`_ zWq&8t|4U#2FwPjk3?b9GSVz6eqt%YkP$SL#tE1{Sh6Bvw4X5zG^&2IifaiW&93=!9 zy(v5ikYwA%M-#O0cxm){q!$WrQTuM8k!sT?cpOF&mu?ZhbQYV@!{p>NNjK&+X|L?r zN#0^6-$_dgoBwT;>%;CgC)+7-JuMoN(;4g(u24~%aD!^;#3v96S{SiR0Gf2f3NN#1 zn|h&?TFMrra{6ILMG${I8~Oql*Go>L-_Pkjzys|X`x2Cxw8pyK@T?pA&7=f7+KvTP zIoh!v_(-I8pENU}Z@_*x;KU;)5&aUxIcR7A9*GE#JLw0YmJwH*ZcY=dq`#&Ll?4TT zfP2eP>>eqEti3LXZDqB=cXDO5h%l{`c*1{?zn3S$Kpa^X+82-~W(3lGuP^W_GhzD} zXK1IF+W5FR{np|t+g!ezyB}S=*YKnQo6r8CmQH7bm(2eR$&++t*EWhE9~^x8JVvdj z{j^>^6TX{OCiw-X#aP+>Ll&d-@xG|8<15k!!TJ4HP;z&K<5dJb3-FN}=RGA;e5;yL z?E|a%ewy3TdW7pJX?vIE78BBjEgX0lccin=ei!nYc{&6fc6|lFIb!aOT2)n*?eHM# z8PzhjbQ*D-A%wfWB(0FCrMkM>d@PwRqxT0l8ZwDkBxbbhg{bvbn!!WGW}Vs8WOXX( zw|o}xzVKfL$7?+GROyMpA=ZT!9}qW;taid<*X~=wKxHdZ!sG!Jp#2?4!g-CXFxmfR zK{+vl)Kicg29({@cx5LpzHO}Fb^WpFStlltX6w3#v~DlN;seA$j)sf7?)F*#XQi7? zL6pG6f?845WXO^=M)@ecbYnQ7i#VA zUT6XI==LPt?!b z*KQ*Wlu`wi z>0a1@R#NwcZ2kwN@2CC+>FZ)|c`x>s7^{n`->5_3*Sa$s@P${QYc^cg>e;b`wAdbR zZ{>e1PXw|rU<`Hq)ZJvA4&;$$#EDUDs23(m?CN7Vut=yZf3GeBicZsjur6zLT;xl6 z^I=$e(NDn|*eVFNZFZ%;#;UbyN#-F0~ z4mwew{D^lZizuul0ef`x^jjc8x4@}%bUldQL7~(llWxTrcpu|}X~cG4^ITqDT=lp;}!#G0MOtxnnba(#EiR_Y- zq-SVF;8YqHjp5Jf%!&Kl2j(%Z1=$dOF-=T%_jdkD50Z~2josfTMAV%Hu|Yi#e*u&I z@7pLME+8#ErTosPGt=OMmCnTVs}gl!GTo#Mg9kxNo-LW!(t80pEfvRkbyPI`*Tlqs z^BrxSd*8sn#cdn?K|G!@CPlK>qs9Goy86xCaguJFu1@6u1#;)mH?$oH zNG3?WPc9#eL#Rz052*G;!Mr<@F25PQ(B4P(WodHi#c;!)2RZ8rdnsk8!$I!SEmj1B zKtYLfWO03~=OLq}qw!=|1Tiib!)-k>Jj8(N72I5%*P=PeY5mw$fvY*@Y>79;RmFT$ zIs3^OR#_CDhmiS+fvAGsTE!b7aBK}iI}Vqa$?XEZz5W#@wbPqUc%l_c>v^&-;>l?Y zJqE{OH(5W66xWDJl91XX-_#fe964~`)QaVuWxOOIc)uv$P1IWt-hHQElEI_(YTTZB zt+t>MTd4X-fMaoBxX>WGfM#}fHX4T!q;ZpbM=a($7o@3)tsm=#WzWmOP$|g%PpB+d zKnm^}crVWjyr~T%J}bShbTca7eG9EFzT6oB2OGwh#$i(SSz?_W~9@q-7 zmiKem{e`SMS8C=MqfdZmsY$3BZ}DSOL@>|AtPOJU)ICi%5-ugO|= z@XF*Clr-(_Rq<~aymB-lmCau7_!zHGtHoh3wuRhMz-H;}2o4KgvrKvJ!jX3173a|w zm+7-MyZ{fRI3X=)*0Za0l!kWWi3^?7bBg3N>(AcNlyRU1nse9V+TCVMFTD*Dc)(Jfn{k4&RKc~g=%?YV zpV<`tnof0O_GA1Qdad9xlkme!6O^o61Kr)&d!szQaVZ;1?mm6&6U?`L(s~_-*e#l%2OerSEyW9hXU`Ub z@-$|<+8-teuShhl>^SRf)(g#EO$~4L;0wG5b1PEZG9oUQ{vQ^W0~ZWX zYvm>gZQo+1vIAmq!##|`a^1~bD+eo+PR}rxOH(8D&QL8ht0===GIi=8x<=-kZnL%?DJd*i1T zxfk1|nJxl^Li7p(yg?ZHthxfv94T+%!s9U%_e1X!$h^BAkR?`T1+;I!EYt134?4-L z5rM4^^1@Io=Gs~&Y~k4C4v`RwWO$%FiG>Wm;PZ=J68WiT)()D&)wS zxd6~&%`0eaZ*~wKXhbR#Px`!Pu9Kjq9-t4bP zEoR%}7%N#XnHm*>;XL;IKUt8skm*sQWl^2Hu6Ul#!tUpji)w@yj?e5nW)<2T9D2-A zG`UaiDEGSG1IgDbl2`7T`>s1Fou7uvF!ncDcWT2!43|<`6F*sOQYSJyTU&RJ_8<;A z%p(fVm>>MQ8qn?@0_cAvlfm3*)S=#$n$Dp!U2e)xj1E`7FUwCON-s?iIE(`` zyS8VSH|8y@EiuL>>-v6}i-npliKUuvxNploB+b}KsQxB9&{m;ju68}=N0t3;p0P`2 zzN{1Qcu3JIJ2Ov;7DJ)hFyao}|Fh!khKWX+#@4*rF>tzCf{c1CBDvtZcAcp# z?Oo}`<;d;9*awL?{M+)CD{s`&!38BI8gu&{(={JAmiWfm1MGKd?9SGjnewsm@p>E_ zoDiH~P5pFqbe3W`H#FTmi_;yyCsGv*XIwdgnL>gwRrI8!q(Wt8phGipBOXxA%>(Oe z=>D?o7te`|HBtwWE@7azsbqs7jpb$}LnbCzB=~>s?KCKoI@?$x1`j``W*AobEDM6; z96PyowOh|A8O9gMLPrB^OLpaO)N!Bjjx0AMj0?ZwbeHl|z}ml8*8kpCNbrF`k&x6N zpx1X8LN8MK4O1}Hh#f^kXh2%pJIU4O{%B^UON9_8Zp;}6NKG`F!N9Ocv=g0`t@mhkwBj!WRmLr$&>Cla3Ri zq_Ffn^`IC)(pN(y-sjO~?n!tELHS7FULXa%&q8b$YopxG_u=aD_U=nQule5Q$AQpO z;q~W5Il}ODK>2I%KQ7k-qA-v7t}#&er$PunnNF2iLZ0z+v07XNFFSlMq_h-$qP+hB z)IzH<8M3knvh9_PT$)>Z1G1e?6c)(iufMzpe@qbXVX1@;6=Xfa2(LKS%jf&}dXW+Q z3sE12pAD23KY6vEq9iYF4Mtg>r!nYXk0e*LlLekhsk~-mW`i)rKIR3kZ25$i1G7^# za%wF!+|drS%VWIC+cR#-FMqQZ7xlseP4yaWLc1x=H1O_f(cqbbmq1Q8(Xk#lLjgbh zoMcN1v6kg4hAnOuoZfXBcs2V=oKY&18bQLPzx2iPk-2*n3qQ zQ^FS<#n>syMDV(sc$7Nle=)1){B|{vpzz~5lR%YfQ^m$mBvD@eHf!cAckeqvPg?<*T3a$N#y;Zxi7(4G~ z)Ls+NZap!lox>4e4xe8`!vDKZzZU^xnb19G%qa3YeWFc2{kdsMX*ju0z{6*9kZmhB zijG#p;EQ^)ri8Y}kg*m{CsSD+_@G(djyv^VZw&xV0NO4puzp`D+DnN=KQ*qt+VTlR zP2YM{rM`0vY!DY=;Q&W?jbO)l=Z(se68lL(4sp6Uf7rcG~5NQcnkcC`+5Fu9a za1g(6M?Sl4fg_2VeX6W<$b2oiWthEmrC*tM)3=EsJc)|GjTmq#uWX{u^i$T1Dc+SA zjc%*pGA_~XRey3KCtM@m|rp5h9}LNui`KA5LM2WR@wk5@<~PXba>HW3AY_zI_! z8gJT{UlygF)gzPTzF|v$5q_M)yyYU=fnPseS4-K2Q=z91&QrLVLxcg7Yshr{RcU7- zzr+CVq3_s_q9pTI?8`ZwO;?xewlJ^A86z#%}@xr+I)NO(bc2i|6B*^ zgDHgz@c8`*;SwS>vf|885b!rRE2_}qQnp|>-fXZ`W3OMe&4{E)8~8w_+LNMEpgG!) z4xw6zK%gx7UEgYc3_IO?q_)V0@4i043Z+BGWg|AwSB3#w1}b=yUrHn1$1;J3d5nT+ zs@HYd((Vi~PMMuB>i0Bc-^RPhaZcnGK2R z{V>+EGPon836opsiT-+HPW?K|&wyxzT4$5M(%w+g&7z4@XxdelG3r*1xYB9=m_u96 z@l3mM0k9McBPYpYz3TU)Jzg}k9FG>2M+7h!g9wMC!HJf|j1U|V664Eg%UwC@l z4>sXN^;?~#yD~nyczW-@%jP$@TRdC|3aaE*k$u^mhso-4dWnw+O_XWPNN4}Wb?924 zPVb#lx%$Jpq@(?G-~_LcC-FYo0rWp-feau}f`rM`Mjr63~77=;#%j1}l< zVSOJkz{9ad8}xJnPE~2DDMSRd^@Wy881S5MBKxv7K6CXVC~-YBd^@!l^3qzLa_WY0 zKH>-3lndpErMKvh37+S7W_4oVcLlr41Vh#dTWqhci{`LX*73eEt`D&Xoa2iCdv1LSADnCI>f#JB`hEl-uA)s6%*km*t zFoS3G*SK!4$WR$)Z4!y$kRB9%FydRI{#edC5l-vp>mA)^fOh8H(csr3)Y>A3LCnM( zi|jjoFp76%aBx7N)86uGE@f1n{GZXrs6>8(y!)WMUqB#)wPVC>ep`?UadA0zssC(l z@IwVgYBgk&ttWzlvh*%E>@7PghBfA8mqUL2+BO;9p*1qbEk%jLj<(9i26%~E(*c%n` zpzi{!MkDVDhJ$(KuRsg)N!j1V^!z>!NDPYXIfwo7D0CHH;!2nEOed6-gs2~!VI}6U zR}1w@g?O<|2WS!;kk%AWqJM2^PVjt$Ee@Mh&a!vX==Vgsb29%Li0oH_*-+ffs-T+ z5m-203UsIe$mFjav=WFdpasYM&42)-!Wdjm2kLsPD}RgkCxtW5-+DoNanG_cgZBDX zW#}Gn(@cvxgtSXI!HQk%K~t~HAOQHMqTY?--6aKBv-xyVxt;&*xXTb@y+5F2atHC+ zJD&%Wq`$j^tYOhA2T8Cie^dla>e!hwK`@KrM2f0Qk&u@g|M5mV#P-o_xi3u`u}V1m z&&3;nG@=WJEQuJe{5{!NE~uL!&f1y&=lU-pL|>Dw=JdE}=(9!-@cEbfg$A@PNB91{ zM)Ov_9|X@@qD^7|Sic+CA4ll##Pm_<(4a7I;j(dw_RMOc?)?JNXqZ`R^BHSId`CgD zt~Vr0u#sH#B20PqYfw*5FAmn~NrmFF0$hta+dtODU~2l~S`l6=efQ2HXyxsy%!+vS zjSD=RCzDrb^|WZ&>gi2LtuN>(45&KOnPYXKak#(F7UKSFP-7Vg)AWZV30*GyYM`VR zN8EJuWge4`n%Q=fot)EHtsw+tV?lL$wL8HADfLP}e*9N&XOCH4uLj{E-_T6RXG8O1 zg1*Q&Ns{1;>~yd;U7!n5=;XlgI%1sw1^n|XX=7g&f&rGdPPN?H4_L!>Q`V`63%fp3SfPa32+gv6U3NqR4F1FDxx#f2RAgPEFB|{$o{EW!XuEWo@7N z-(`;%!p|)o1@E+=Qd&XUL(~B&NJWN;oANol*e}2f9(bL;S{2hv-HF1l`?AqPjCz*Y zpnE%kPRm^yaw)0wo}bbCF#0L)iOs&|@4V4&!oU6hgHdOsX4kH&_P`lgCJ!Eaf7d73 zG35xmhQwZ_C3B&_HOyDJOWLnIJW^}5lIKJ>;FT7kqyfH_jf$y7Yb_S}KnC3pQx}jw zfoOi=g(c8XKT=i|5aYB8vfL{8a9lVVFcH*azu9B>lUn8IlovNQFB@qb#<>v)I3^BP zcSLU@5iTabeJpN`j*enK6_S3)0K#l+#b^)^uvw0ubgQ03RM3XD)A9ZA(E|2JhznIB zP#g)sW;BYs4F~w`hJL6*zw&nZGo1x8@U67F-?2kdtOK&4S2xzz-N;^DF*l2J%CiUc zef-Eo=9el}7Y91+Zn6S_vJ46oZs=eip$y1L0`#xr{;7w$zTLMqI0PBB-d%Yc>7Ey{ zJ4Vs3{bt%6qL%A&#ze_td|VH`L4E1(&hq6Nzr2Ldt^O+D${2WGJ51JKa{OM5Ja3Ll zXZb$Iy0kY3?_KGAW7>xQB3%J$B!v)~aPg7xdp0aF>_!aQ|O*7>L zDVL+#Egh?06$Towym}K;SPfs}qq04oVSJBE_9)S*{R@7?9D+*?=^}fpxv%e!QVY|C zI~J`2Dk*UX7=KWq<5O+Pw;tSKoz#N29#0rfUTjr<<|V|KpQGn1&}pT%R?G0$$1$@? zgEFS6hs3~wvb)?%kxWpFO)a1pLhQC#;2vTq*7M-`U$G*_;k1?H)dKcJY`nZ5aAURn zY_QJMukIYL-1soo*GQCMgw|k4kab2(IQFqED>OHo9vDyC0IBjiob~X}{gow;>bbtP z4v!~+m?6w4Z|9L6lH_`hGKRt?Y3VU_np$b|$By3Sj?rE|pzi9U{r&vDK$?uZ3y+ix z@qWNZ@j~*`s5`$f`>-*sWIyXFwEpt=t?M`&PNw!@zUvOd&(89|9j2oZ?9JNbGf|-?~7RC8)rKsyopz7yz<^S#$u+8$9_?PexlO+~fzF~W=5>Azn zWJSgjN121T5>a)oRh)VDqGnLA<^VNYFKx%cZaP} z{b1W_&+gp02~p1rKnaT>FQfl(UZ>|R%wJ(>Dwev@`7zou(%Z!Q0DYnd@lm2!`bSkm z$~3NklG}MFWs4T4>L zc61IjSuus$&Cji9^twDxT3Z=UP4}=~Y=;$Q#X=t4_!%xY`yc3Eo(IiQK8gZ{jjqZG zg>+m}3rS}+5@+uMSgdQwjRkCJLq0dR<1zo%-T{m06F@fWcaXz*tb5>A2zG6O-qKCL zA_is=-h|{q6fVzR59|^BK|o+8{s!7l5a*{f+k$Z-XgE!Tgme_h_yrdmK!~6i&G*}o zyJEpy&N54V>!e2Xv_f<*bK3O;{vIwuV#k`>PUJUAvIB(7gMLTbGkW833sUB1$@m1X zZb>l*`bkMWOW@%@tY;rFLICYjwRylZ3q&8yRC}-B>Bw?Adk9~=_ykg5uWLRb@VCiX z5JQ5--s8ecL0qT7xTsWbL-ON-vvld*^&SsKq2^Y7fs6lEGQCCXE959yROETp9)3b{ zMxN#;eL?9~c|^w{+LLosd>p`9?3ag};-r46&^sV-8DW|sp&$RdwOJLEO*_B-cI~~6 zf-JWf%hHFSEY9`$(j9X!UHWAgm)5 zD)FiVD#P0o0 z7Kds?ASA36ay}-4|M4gJ1rK6O{?HAhmud>>!FZ?vQ>a^gOgwkg_5lb<;=RkcL&pQ+ zMstOf{vA?PpjPO~`ZF)J^I2u5Zqv3pa^Xz3#SUhIK}+26oYreLXD5$EZ8c6vZE~my zZhZAhM?3hNyX|7e?P!&5*2q=3>hyCU((wXh?0Iy#5hg%&hMzKa(6g$}j^tTt(jo|s z%y}GGvpXM!Kuin{if<5WoPQ%uE}F^X6s;0xgZMLXNYb$vIDR@{5QNkK#xFD^MwpP; zwt0Q!z(F92`WarM21^%G^s$G&5t{lbZpxzl?&~KY77{Ux5QFiPnkPf6uek96_eKS; zTIzNQ;3r3Gk2Q$B?RJ}L$=*WxPnU-$OnA!NVx$7*u(uO(q&^;>kA=m} zYRV{gd;u9rz`xmGGz8yw;nJr6XA&kGIBH0SssR>~=PAN*O8 zostnU>msl7I&Fc)gl8^{)o)^2X;xOzxr+TNr85LfOc(c{k^_AA?uQ5Y@-+VKJ=3)} z6wwkuN8TWz>Zwn!Fazr@Q^Qi>aIzTfbhRSs!A3f7AiTMp9;c3!Ha!@xoHli2$p(87 z<{INUhV79J5{mYkTV97yH>v~}qMdZ-Jkp9-?1g*`(E99*A5R$jZ3 zKk!KK?6cdU9o4}>Q%!LAH#ERT9Cu>t5gHQ-AW8y5>OSXRm!Uzf#`GVS_#Z7^2dtk8 zz1$Enwfo`z2~1U=|1yMg%v)Uv2Hk6nHML`+>78jVW}W`p9*7nayS{^6#_p`mUGMI@ zAO?@ERE;@Cy|rgG#~!j0EFe6-H7DNqGj*z>7uTr4dW2o=eJ6gP0~Y)8J4q}h*s*Ia z0v^}=_1i})ga>u^pTNsrbe!a|0xb^zei-hbN~cPFvrcP^CpZXq9y$daubX)vKtYiG zqWOZ5XZ=Q%Vp~C6c*1*jm%XmOeylzA*VZ z3>7MkztiH7qLV6VD#8-|A%xEQa>>@Ez=I(nPe222!81|dB@qVa7!)u| zDgn)eCB`t42spK~gP+2{`9Z{OR>m*Mm)3lL9L1Jm0?k1AQe@1ZnK>=*-w^N13pz!O z&m0h^R7n=Y<<<=)->Od>hJ>k?8!VS>s$BaWu1&rMiI)=ow9{YX(L`9Uu^ZhV&&1d+ zR}<}U1UnTiWvT)~vjHJS?FMVNs5~m*;y6IFowF=8%l`TbijP(ew6-Lw3v5KT#o%V= z7|!)loRxY+Kz@=X=){zNdW03k9EJY(5F-N7wq9sP53uv=9QSOeV-i_Zp~nM)SMEW?r|zY zK@ggZ(pr@z)fsMSJ6I2T?skV{6yGu|P8b$=B_~0i?he!x*Di~MDbEX_VVNf+3Q)ue z^mn9AO?I5UN0(-oBl^ufuPu!xhdbG~`+JMPJ4zY*XkNRzhs{25X=Kp>7VI(E8Y<)f zDmix;9fK)fUwI242riP8Lm@;16+gm#lAY!$75=`9U%cAs#a$5Ot>?@y*4Pm|tgGGS zbiGxSBP`w4^+`$8J$c2q@*CQ=Zxe8aLmK?nX#~+ z)%TVxJaV!i*L)?{-PmJSreM6=6(YvJ1Em_`2ply>LK^uO4m%-+={9MFu;ryii)vER z)SN=K@e1^TT+yaW>pco7Gqg~E*gIIa!QI{8h>ta*TBO~w~G(#Mgq7SYjI9^AjQ z>4zQUIaNPj!!WBsFkM)ywld2K%t{*c_oW{^@6e1}Y&xSmkgX!Ze|BozC1Yv^Riif0 zxZy@R%L+&nLF;1GQihV{$J30zLtYdp4}XOLZ+w=jnBwlUq17wRKYAyhu${_am41Qu zRH~24>$N`FYGi4Fo|?9m)M^`UtmqP%SQ?Pv$p&S!_%k0+KOe;|^@bPLn-xibfsX#Y zuW8LV(J@fF=hiJ|=S?!Qk(Mzx*8roy8m{n$(bsp&wkyix!ZNUSr|;0+enOle!}GuTGkVeOvVxT4KW9&rbNC*1 z;cVwlwD8=R1YZ;eBO_^z6`7zBOnQby6c;UxICo*Zu_WCz>ifo3wK67U7HQdPT2W)t z6c@#p!=LdTsNXMLpb>`w%`DiD>%MJAyQ!IVeh82}1CFVl4o=h^E6*cX5jVt1h#gOX za+`*qhX#MvshyyCheTRf`3RSPlARRGnJMAX@nK@vi+uG`?ACA%-cX4HJ;6ZLS>71b zqeP*^VTv&zw}jFH|CwoY6-a1+ep8z-Y|n$TL42~)kx1I=;Y^4l^1Y@4ywaoyf0f

        *XdU8l_Vyxjp^CT>)u^P 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 m-t?Ee&i`MZ{dw*G^jZO>HHh!*iA|6I literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/processor.png b/content/docs/smallrye-reactive-messaging/latest/images/processor.png new file mode 100644 index 0000000000000000000000000000000000000000..faac01281b6e34a1366b894bdac15f9fc2e55b3b GIT binary patch literal 52042 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 XTD(%|*XJEs3_#%N>gTe~DWM4fC$7Kz literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/latest/images/redhat_reversed.svg b/content/docs/smallrye-reactive-messaging/latest/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-reactive-messaging/latest/index.adoc b/content/docs/smallrye-reactive-messaging/latest/index.adoc new file mode 100644 index 000000000..f98038e4e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/index.adoc @@ -0,0 +1,17 @@ += SmallRye Reactive Messaging +include::_attributes.adoc[] + +*SmallRye Reactive Messaging is a framework for building event-driven, data streaming, and event-sourcing applications.* + +It lets your application interact using various messaging technologies such as Apache Kafka, AMQP or MQTT. +The framework provides a flexible programming model bridging https://www.cdi-spec.org/[CDI] and event-driven. + +SmallRye Reactive Messaging is an implementation of the Eclipse MicroProfile Reactive Messaging specification {spec-version}. + +.Event-Driven Architectures +[.has-dark] +image::images/overview.png[Event-Driven Architectures] + +SmallRye Reactive Messaging is used in http://quarkus.io[Quarkus], and https://openliberty.io/[Open Liberty]. + +Start with the xref:getting-started.adoc[Getting Started] guide to know how it can be used and introduce various features. diff --git a/content/docs/smallrye-reactive-messaging/latest/jms/advanced-jms.adoc b/content/docs/smallrye-reactive-messaging/latest/jms/advanced-jms.adoc new file mode 100644 index 000000000..7a33879c2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/jms/advanced-jms.adoc @@ -0,0 +1,37 @@ += Advanced configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Underlying thread pool + +Lots of JMS operations are blocking and so not cannot be done on the +_caller_ thread. For this reason, these blocking operations are executed +on a worker thread. + +You can configure the thread pool providing these worker threads using +the following MicroProfile Config properties: + +* `smallrye.jms.threads.max-pool-size` - the max number of threads +(Defaults to 10) +* `smallrye.jms.threads.ttl` - the ttl of the created threads +(Defaults to 60 seconds) + +== Selecting the ConnectionFactory + +The JMS Connector requires a `jakarta.jms.ConnectionFactory` to be exposed +as a CDI bean. The connector looks for a `jakarta.jms.ConnectionFactory` +and delegate the interaction with the JMS server to this factory. + +In case you have several connection factories, you can use the +`@Identifier` qualifier on your factory to specify the name. Then, in +the channel configuration, configure the name as follows: + +[source,properties] +---- +# Configure the connector globally +mp.messaging.connector.smallrye-jms.connection-factory-name=my-factory-name +# Configure a specific incoming channel +mp.messaging.incoming.my-channel.connection-factory-name=my-factory-name +# Configure a specific outgoing channel +mp.messaging.outgoing.my-channel.connection-factory-name=my-factory-name +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/jms/jms.adoc b/content/docs/smallrye-reactive-messaging/latest/jms/jms.adoc new file mode 100644 index 000000000..b94527d64 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/jms/jms.adoc @@ -0,0 +1,74 @@ += The JMS connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS connector adds support for https://en.wikipedia.org/wiki/Jakarta_Messaging[Jakarta +Messaging] to Reactive +Messaging. It is designed to integrate with _JakartaEE_ applications +that are sending or receiving Jakarta Messaging Messages. + +Jakarta Messaging is a Java Message Oriented Middleware API for sending +messages between two or more clients. It is a programming model to +handle the producer-consumer messaging problem. It is a messaging +standard that allows application components based on Jakarta EE to +create, send, receive, and read messages. It allows the communication +between different components of a distributed application to be loosely +coupled, reliable, and asynchronous. + +Using the JMS connector + +To you the JMS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-jms + {project-version} + +---- + +The connector name is: `smallrye-jms`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-jms + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-jms +---- + +The JMS Connector requires a `jakarta.jms.ConnectionFactory` to be exposed +(as CDI bean). The connector looks for a `jakarta.jms.ConnectionFactory` +and delegate the interaction with the JMS server to this factory. In +other words, it creates the JMS connection and context using this +factory. + +So, in order to use this connector you would need to expose a +`jakarta.jms.ConnectionFactory`: + +[source,java] +---- +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.jms.ConnectionFactory; + +import org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory; + +@ApplicationScoped +public class ConnectionFactoryBean { + + @Produces + ConnectionFactory factory() { + return new ActiveMQJMSConnectionFactory( + "tcp://localhost:61616", + null, null); + } + +} +---- + +The factory class may depend on your JMS connector/server. diff --git a/content/docs/smallrye-reactive-messaging/latest/jms/receiving-jms-messages.adoc b/content/docs/smallrye-reactive-messaging/latest/jms/receiving-jms-messages.adoc new file mode 100644 index 000000000..08f9af3f5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/jms/receiving-jms-messages.adoc @@ -0,0 +1,115 @@ += Receiving messages from JMS +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS Connector retrieves JMS Message and maps each of them into +Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a `jakarta.jms.ConnectionFactory` bean exposed and +connected to your JMS server. Don’t forget that it’s required to use the +JMS connector. + +Configure your application to receive JMS messages on the `prices` +channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-jms +---- + +[NOTE] +==== + +You don’t need to set the destination. By default, it uses the channel +name (`prices`). You can configure the `destination` attribute to +override it. + +==== + +[NOTE] +==== + +By default the connector uses a `queue`. You can configure it to use a +`topic` by setting `destination-type=topic`. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The content of the incoming JMS message is mapped to a Java object. + +By default it extracts the JMS Message _body_ as a `java.lang.Object`. +This can be changed by setting, in the incoming JMS Message: + +[arabic] +. The `++_++classname` property +. the `JMSType` + +The value must be a fully qualified class name. The connector then load +the associated class. + +[NOTE] +==== + +The connector loads the associated `Class` using the `TCCL` and if not +found, the classloader used to load the connector. + +==== + +If the target type is a primitive type ort `String`, the resulting +message contains the mapped payload. + +If the target type is a class, the object is built using included JSON +deserializer (JSON-B and Jackson provided OOB from the `JMSType`. +If not, the default behavior is used (Java deserialization). + +== Inbound Metadata + +Messages coming from JMS contains an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-jms/{javadoc-version}/io/smallrye/reactive/messaging/jms/IncomingJmsMessageMetadata.html[`io.smallrye.reactive.messaging.jms.IncomingJmsMessageMetadata`] in the metadata. + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When the Reactive Messaging `Message` gets acknowledged, the associated +JMS Message is acknowledged. As JMS acknowledgement is blocking, this +acknowledgement is delegated to a worker thread. + +== Failure Handling + +If a message produced from a JMS message is _nacked_, a failure strategy is applied. The JMS connector supports 3 strategies: + +* `fail` - (default) fail the application, no more messages will be processed. The failing message is not acknowledged and may be redelivered by the JMS broker. The application is marked as unhealthy (impacting liveness checks). +* `ignore` - the failure is logged, but the processing continues. The failing message is acknowledged and will not be redelivered. +* `dead-letter-queue` - the failing message is acknowledged and sent to a JMS _dead letter queue_ destination. The processing continues with the next message. ++ +The dead letter queue destination can be configured using the `dead-letter-queue.destination` attribute. If not specified, it defaults to `dead-letter-queue-$channel`. +Messages sent to the dead letter queue preserve the original message body and properties. In addition, the following properties are added: +** `dead++_++letter++_++exception++_++class++_++name` - the fully qualified class name of the exception +** `dead++_++letter++_++reason` - the exception message +** `dead++_++letter++_++cause++_++class++_++name` - the fully qualified class name of the root cause (if available) +** `dead++_++letter++_++cause` - the root cause exception message (if available) + +== Configuration Reference + +include::{generated-dir}/smallrye-jms-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/latest/jms/sending-jms-messages.adoc b/content/docs/smallrye-reactive-messaging/latest/jms/sending-jms-messages.adoc new file mode 100644 index 000000000..0e107b798 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/jms/sending-jms-messages.adoc @@ -0,0 +1,106 @@ += Sending messages to JMS +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS Connector can send Reactive Messaging `Messages` as JMS Message. + +== Example + +Let’s imagine you have a `jakarta.jms.ConnectionFactory` bean exposed and +connected to your JMS server. Don’t forget that it’s required to use the +JMS connector. + +Configure your application to write the messages from the `prices` +channel into a JMS Message as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-jms +---- + +[NOTE] +==== + +You don’t need to set the destination. By default, it uses the channel +name (`prices`). You can configure the `destination` attribute to +override it. + +==== + +[NOTE] +==== + +By default the connector uses a `queue`. You can configure it to use a +`topic` by setting `destination-type=topic`. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The connector serializes the incoming message payload into the body of +the outgoing JMS Message. + +If the payload is a `String` or a primitive type, the payload is encoded +as `String` and the `JMSType` is set to the target class. The +`++_++classname` property is also set. The JMS Message is a `TextMessage`. + +If the payload is a `byte++[]++`, it’s passed as `byte++[]++` in a JMS +`BytesMessage`. + +Otherwise, the payload is encoded using included JSON serializer (JSON-B and Jackson provided OOB. +The `JMSType` is set to the target class. +The `++_++classname` property is also set. +The JMS Message is a `TextMessage`. + +For example, the following code serialize the produced `Person` using +JSON-B. + +[source,java] +---- +@Incoming("...") +@Outgoing("my-channel") +public Person sendToJms(...) { + // ... + return new Person("bob", 42); +} +---- + +It requires that the `Person` class can be serialized to JSON. The +classname is passed in the `JMSType` property and `++_++classname` property. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-jms/{javadoc-version}/io/smallrye/reactive/messaging/jms/OutgoingJmsMessageMetadata.html[`OutgoingJmsMessageMetadata`] +to influence how the message is going to be written to JMS. + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsOutboundMetadataExample.java[tags=code,indent=0] +---- + +The metadata allow adding properties but also override the destination. + +== Acknowledgement + +Once the JMS message is sent to the JMS server, the message is +acknowledged. Sending a JMS message is a blocking operation. So, sending +is done on a worker thread. + +== Configuration Reference + +include::{generated-dir}/smallrye-jms-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/avro-configuration.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/avro-configuration.adoc new file mode 100644 index 000000000..a714f9cb9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/avro-configuration.adoc @@ -0,0 +1,152 @@ += Using Apache Avro serializer/deserializer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you are using https://avro.apache.org/[Apache Avro] +serializer/deserializer, please note the following configuration +properties. + +== For https://docs.confluent.io/current/schema-registry/serdes-develop/serdes-avro.html[Confluent] Schema Registry + +Confluent Avro library is `io.confluent:kafka-avro-serializer`. Note +that this library is not available in Maven Central, you need to use the +https://docs.confluent.io/clients-kafka-java/current/overview.html[Confluent Maven +repository]. + +=== Consumer + +[width="100%",cols="25%,75%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.confluent.kafka.serializers.KafkaAvroDeserializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|specific.avro.reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer +mp.messaging.incoming.[channel].schema.registry.url=http://{your_host}:{your_port}/ +mp.messaging.incoming.[channel].specific.avro.reader=true +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.confluent.kafka.serializers.KafkaAvroSerializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.confluent.kafka.serializers.KafkaAvroSerializer +mp.messaging.outgoing.[channel].schema.registry.url=http://{your_host}:{your_port}/ +.... + +== For https://www.apicur.io/registry/[Apicurio] Registry 1.x + +Apicurio Registry 1.x Avro library is +`io.apicurio:apicurio-registry-utils-serde`. + +The configuration properties listed here are meant to be used with the +Apicurio Registry 1.x client library and Apicurio Registry 1.x server. + +=== Consumer + +[width="100%",cols="38%,62%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.apicurio.registry.utils.serde.AvroKafkaDeserializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/api +|apicurio.registry.avro-datum-provider |io.apicurio.registry.utils.serde.avro.DefaultAvroDatumProvider +|apicurio.registry.use-specific-avro-reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.apicurio.registry.utils.serde.AvroKafkaDeserializer +mp.messaging.incoming.[channel].apicurio.registry.url=http://{your_host}:{your_port}/api +mp.messaging.incoming.[channel].apicurio.registry.avro-datum-provider=io.apicurio.registry.utils.serde.avro.DefaultAvroDatumProvider +mp.messaging.incoming.[channel].apicurio.registry.use-specific-avro-reader=true +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.apicurio.registry.utils.serde.AvroKafkaSerializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/api +|=== + +To automatically register schemas with the registry, add: + +[width="100%",cols="31%,69%",options="header",] +|=== +|Property |Value +|apicurio.registry.global-id |io.apicurio.registry.utils.serde.strategy.GetOrCreateIdStrategy +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.apicurio.registry.utils.serde.AvroKafkaSerializer +mp.messaging.outgoing.[channel].apicurio.registry.url=http://{your_host}:{your_port}/api +mp.messaging.outgoing.[channel].apicurio.registry.global-id=io.apicurio.registry.utils.serde.strategy.GetOrCreateIdStrategy +.... + +== For https://www.apicur.io/registry/[Apicurio] Registry 2.x + +Apicurio Registry 2.x Avro library is +`io.apicurio:apicurio-registry-serdes-avro-serde`. + +The configuration properties listed here are meant to be used with the +Apicurio Registry 2.x client library and Apicurio Registry 2.x server. + +=== Consumer + +[width="100%",cols="31%,69%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.apicurio.registry.serde.avro.AvroKafkaDeserializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/apis/registry/v2 +|apicurio.registry.use-specific-avro-reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.apicurio.registry.serde.avro.AvroKafkaDeserializer +mp.messaging.incoming.[channel].apicurio.registry.url=http://{your_host}:{your_port}/apis/registry/v2 +mp.messaging.incoming.[channel].apicurio.registry.use-specific-avro-reader=true +.... + +=== Producer + +[width="100%",cols="19%,81%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.apicurio.registry.serde.avro.AvroKafkaSerializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/apis/registry/v2 +|=== + +To automatically register schemas with the registry, add: + +[cols=",",options="header",] +|=== +|Property |Value +|apicurio.registry.auto-register |true +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.apicurio.registry.serde.avro.AvroKafkaSerializer +mp.messaging.outgoing.[channel].apicurio.registry.url=http://{your_host}:{your_port}/apis/registry/v2 +mp.messaging.outgoing.[channel].apicurio.registry.auto-register=true +.... diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/client-service.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/client-service.adoc new file mode 100644 index 000000000..2487db3de --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/client-service.adoc @@ -0,0 +1,39 @@ += KafkaClientService +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For advanced use cases, SmallRye Reactive Messaging provides a bean of +type `KafkaClientService` that you can inject: + +[source,java] +---- +@Inject +KafkaClientService kafka; +---- + +From there, you can obtain an +`io.smallrye.reactive.messaging.kafka.KafkaProducer` and an +`io.smallrye.reactive.messaging.kafka.KafkaConsumer`. + +`KafkaProducer` and `KafkaConsumer` expose a non-blocking API on top of +the Kafka client API. They also mediate access to the threads that +SmallRye Reactive Messaging uses to run all Kafka operations: the +_polling thread_, used for consuming records from Kafka topics, and the +_sending thread_, used for producing records to Kafka topics. (Just to +be clear: each _channel_ has its own polling thread and sending thread.) + +The reason why SmallRye Reactive Messaging uses a special thread to run +the poll loop should be obvious: the `Consumer` API is blocking. The +`Producer` API, on the other hand, is documented to be non-blocking. +However, in present versions, Kafka doesn’t guarantee that in all cases; +see https://issues.apache.org/jira/browse/KAFKA-3539[KAFKA-3539] for +more details. That is why SmallRye Reactive Messaging uses a dedicated +thread to run the send operations as well. + +Sometimes, SmallRye Reactive Messaging provides direct access to the +Kafka `Producer` or `Consumer`. For example, a +xref:kafka/consumer-rebalance-listener.adoc[`KafkaConsumerRebalanceListener`] +methods are always invoked on the polling thread, so they give you +direct access to `Consumer`. In such case, you should use the +`Producer`/`Consumer` API directly, instead of the +`KafkaProducer`/`KafkaConsumer` API. diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/consumer-rebalance-listener.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/consumer-rebalance-listener.adoc new file mode 100644 index 000000000..fbbdd605f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/consumer-rebalance-listener.adoc @@ -0,0 +1,67 @@ += Consumer Rebalance Listener +:version-root: ../ +include::{version-root}_attributes.adoc[] + +To handle offset commit and assigned partitions yourself, you can +provide a consumer rebalance listener. To achieve this, implement the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface, make the implementing class a bean, and add the `@Identifier` +qualifier. A usual use case is to store offset in a separate data store +to implement exactly-once semantic, or starting the processing at a +specific offset. + +The listener is invoked every time the consumer topic/partition +assignment changes. For example, when the application starts, it invokes +the `partitionsAssigned` callback with the initial set of +topics/partitions associated with the consumer. If, later, this set +changes, it calls the `partitionsRevoked` and `partitionsAssigned` +callbacks again, so you can implement custom logic. + +Note that the rebalance listener methods are called from the Kafka +_polling_ thread and must block the caller thread until completion. +That’s because the rebalance protocol has synchronization barriers, and +using asynchronous code in a rebalance listener may be executed after +the synchronization barrier. + +When topics/partitions are assigned or revoked from a consumer, it +pauses the message delivery and restarts once the rebalance completes. + +If the rebalance listener handles offset commit on behalf of the user +(using the `ignore` commit strategy), the rebalance listener *must* +commit the offset synchronously in the `partitionsRevoked` callback. We +also recommend applying the same logic when the application stops. + +Unlike the `ConsumerRebalanceListener` from Apache Kafka, the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +methods pass the Kafka `Consumer` and the set of topics/partitions. + +== Example + +In this example we set-up a consumer that always starts on messages from +at most 10 minutes ago (or offset 0). First we need to provide a bean +that implements the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface and is annotated with `@Identifier`. We then must configure +our inbound connector to use this named bean. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumer.java[indent=0] +---- + +To configure the inbound connector to use the provided listener we +either set the consumer rebalance listener’s name: + +* `mp.messaging.incoming.rebalanced-example.consumer-rebalance-listener.name=rebalanced-example.rebalancer` + +Or have the listener’s name be the same as the group id: + +* `mp.messaging.incoming.rebalanced-example.group.id=rebalanced-example.rebalancer` + +Setting the consumer rebalance listener’s name takes precedence over +using the group id. diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/default-configuration.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/default-configuration.adoc new file mode 100644 index 000000000..a8da3024e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/default-configuration.adoc @@ -0,0 +1,80 @@ += Retrieving Kafka default configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If your application/runtime exposes as a CDI _bean_ of type +`Map++<++String, Object` with the identifier `default-kafka-broker`, this +configuration is used to establish the connection with the Kafka broker. + +For example, you can imagine exposing this map as follows: + +[source,java] +---- +@Produces +@ApplicationScoped +@Identifier("default-kafka-broker") +public Map createKafkaRuntimeConfig() { + Map properties = new HashMap<>(); + + StreamSupport + .stream(config.getPropertyNames().spliterator(), false) + .map(String::toLowerCase) + .filter(name -> name.startsWith("kafka")) + .distinct() + .sorted() + .forEach(name -> { + final String key = name.substring("kafka".length() + 1).toLowerCase().replaceAll("[^a-z0-9.]", "."); + final String value = config.getOptionalValue(name, String.class).orElse(""); + properties.put(key, value); + }); + + return properties; +} +---- + +This previous example would extract all the configuration keys from +MicroProfile Config starting with `kafka`. + +[NOTE] +.Quarkus +==== + +Starting with Quarkus 1.5, a map corresponding to the previous example +is automatically provided. + +==== + +In addition to this default configuration, you can configure the name of +the `Map` producer using the `kafka-configuration` attribute: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-kafka +mp.messaging.incoming.my-channel.kafka-configuration=my-configuration +---- + +In this case, the connector looks for the `Map` associated with the +`my-configuration` name. If `kafka-configuration` is not set, an +optional lookup for a `Map` exposed with the channel name (`my-channel` +in the previous example) is done. + +[IMPORTANT] +==== + +If `kafka-configuration` is set and no `Map` can be found, the +deployment fails. + +==== + +Attribute values are resolved as follows: + +[arabic] +. if the attribute is set directly on the channel configuration +(`mp.messaging.incoming.my-channel.attribute=value`), this value is +used +. if the attribute is not set on the channel, the connector looks for +a `Map` with the channel name or the configured +`kafka-configuration` (if set) and the value is retrieved from that +`Map` +. If the resolved `Map` does not contain the value the default `Map` +is used (exposed with the `default-kafka-broker` name) diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/health.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/health.adoc new file mode 100644 index 000000000..2b233b117 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/health.adoc @@ -0,0 +1,107 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka connector reports the startup, readiness and liveness of each channel managed by the connector. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +== Startup & Readiness + +=== Metrics-based strategy + +By default, both inbound and outbound channels use underlying Kafka client metrics to check if at least one active connection exists with a broker. +This strategy is lightweight and does not require additional remote interactions with the broker. + +=== Client-based strategy + +You can also enable another strategy by setting the `health-topic-verification-enabled` attribute to `true`. +With this second strategy, the health checks use a Kafka Admin Client to access the broker and retrieve the list of existing topics. +Retrieving this list can be a lengthy and expensive operation. +You can configure a timeout using the `health-topic-verification-timeout` attribute. +The default timeout is set to 2 seconds. +Note that if the timeout is reached, the health check fails. + +[WARNING] +.Deprecated +==== + +`health-readiness-topic-verification` and `health-readiness-timeout` attributes are deprecated and replaced by `health-topic-verification-enabled` and `health-topic-verification-timeout`. + +==== + +For *startup* checks both _inbound_ and _outbound_ side verify that the Kafka topic is created and its partitions are available in the broker. +If multiple topics are consumed using the `topics` attribute, the readiness check verifies that all the consumed topics are available. +If you use a pattern (using the `pattern` attribute), the readiness check verifies that at least one existing topic matches the pattern. + +For *readiness* checks inbound channels verify that the underlying consumer is assigned at least a partition to consume. +On the outbound side (writing records to Kafka) verify that the broker is still accessible. + +[NOTE] +==== + +If `health-topic-verification-enabled` is enabled, both for startup and readiness checks use this strategy. They can be disabled explicitly using `health-topic-verification-startup-disabled` and `health-topic-verification-readiness-disabled` flags. + +==== + +==== Admin Client Pooling + +By default, the client-based strategy creates a dedicated Kafka Admin Client per channel, using client IDs that include the channel name (e.g. `kafka-admin-incoming-prices`, `kafka-admin-outgoing-orders`). +This makes it easy to identify each client in monitoring, logs, and ACLs. + +If your application has many channels sharing the same Kafka broker configuration, you can opt in to admin client pooling to reduce the number of connections: + +[source,properties] +---- +smallrye.messaging.kafka.admin-client.pooling.enabled=true +---- + +When pooling is enabled, channels with identical broker configurations share a single Admin Client instance, using counter-based client IDs (`smallrye-kafka-admin-1`, `smallrye-kafka-admin-2`, ...). + +To summarize for startup and readiness health checks: + +*Startup* + +[width="100%",cols="12%,50%,38%",options="header",] +|=== +| |Inbound |Outbound +|Metrics-based |`connection-count` metric ++>++ 0 or + + no subscribers to the stream |`connection-count` metric ++>++ 0 +|Client-based |Subscribed topic(s) exist in the broker and are available |Produced topic exist in the broker and is available +|=== + +*Readiness* + +[width="100%",cols="11%,56%,33%",options="header",] +|=== +| |Inbound |Outbound +|Metrics-based |`connection-count` metric ++>++ 0 or + + no subscribers to the stream |`connection-count` metric ++>++ 0 +|Client-based |Consumer has at least one partition assignment + + no subscribers to the stream |Cluster is acessible using the Kafka admin API +|=== + +== Liveness + +On the inbound side (receiving records from Kafka), the liveness check +verifies that: + +* no failures have been caught +* the client is connected to the broker + +On the outbound side (writing records to Kafka), the liveness check +verifies that: + +* no failures have been caught + +Note that a message processing failures _nacks_ the message which is +then handled by the failure-strategy. It the responsibility of the +failure-strategy to report the failure and influence the outcome of the +liveness checks. The `fail` failure strategy reports the failure and so +the liveness check will report the failure. diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/kafka.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/kafka.adoc new file mode 100644 index 000000000..dbe86b6d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/kafka.adoc @@ -0,0 +1,47 @@ += Apache Kafka Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka connector adds support for Kafka to Reactive Messaging. With +it you can receive Kafka Records as well as write `message` into Kafka. + +https://kafka.apache.org/[Apache Kafka] is a popular distributed +streaming platform. It lets you: + +* Publish and subscribe to streams of records, similar to a message +queue or enterprise messaging system. +* Store streams of records in a fault-tolerant durable way. +* Process streams of records as they occur. + +The Kafka cluster stores streams of _records_ in categories called +_topics_. Each record consists of a _key_, a _value_, and a _timestamp_. + +For more details about Kafka, check the +https://kafka.apache.org/intro[documentation]. + +== Using the Kafka Connector + +To use the Kafka Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-kafka + {project-version} + +---- + +The connector name is: `smallrye-kafka`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-kafka + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-kafka +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/kerberos.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/kerberos.adoc new file mode 100644 index 000000000..873617497 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/kerberos.adoc @@ -0,0 +1,22 @@ += Kerberos authentication +:version-root: ../ +include::{version-root}_attributes.adoc[] + +When using https://en.wikipedia.org/wiki/Kerberos_(protocol)[Kerberos] +authentication, you need to configure the connector with: + +* the security protocol set to `SASL++_++PLAINTEXT` +* the SASL mechanism set to `GSSAPI` +* the Jaas config configured with `Krb5LoginModule` +* the Kerberos service name + +The following snippet provides an example: + +[source,properties] +---- +kafka.bootstrap.servers=ip-192-168-0-207.us-east-2.compute.internal:9094 +kafka.sasl.mechanism=GSSAPI +kafka.security.protocol=SASL_PLAINTEXT +kafka.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true refreshKrb5Config=true useKeyTab=true storeKey=true keyTab="file:/opt/kafka/krb5/kafka-producer.keytab" principal="kafka-producer/ip-192-168-0-207.us-east-2.compute.internal@INTERNAL"; +kafka.sasl.kerberos.service.name=kafka +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/protobuf-configuration.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/protobuf-configuration.adoc new file mode 100644 index 000000000..36e025d1e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/protobuf-configuration.adoc @@ -0,0 +1,51 @@ += Using Google Protobuf serializer/deserializer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you are using https://developers.google.com/protocol-buffers/[Protocol +Buffers] +serializer/deserializer, please note the following configuration +properties. + +== For https://docs.confluent.io/platform/current/schema-registry/serdes-develop/serdes-protobuf.html#serdes-and-formatter-protobuf[Confluent] Schema Registry + +Confluent protobuf library is `io.confluent:kafka-protobuf-serializer`. +Note that this library is not available in Maven Central, you need to +use the https://docs.confluent.io/clients-kafka-java/current/overview.html[Confluent Maven +repository]. + +=== Consumer + +[width="100%",cols="49%,51%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.confluent.kafka.serializers.protobuf.KafkaProtobufDeserializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|mp.messaging.incoming.++[++channel++]++.specific.protobuf.value.type |your.package.DomainObjectKey$Key +|mp.messaging.incoming.++[++channel++]++.specific.protobuf.key.type |your.package.DomainObjectValue$Value +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.confluent.kafka.serializers.protobuf.KafkaProtobufDeserializer +mp.messaging.incoming.[channel].schema.registry.url=http://{your_host}:{your_port}/ +mp.messaging.incoming.[channel].specific.protobuf.value.type=your.package.DomainObjectKey$Key +mp.messaging.incoming.[channel].specific.protobuf.key.type=your.package.DomainObjectValue$Value +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer +mp.messaging.outgoing.[channel].schema.registry.url=http://{your_host}:{your_port}/ +.... diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/receiving-kafka-records.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/receiving-kafka-records.adoc new file mode 100644 index 000000000..bb16937d6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/receiving-kafka-records.adoc @@ -0,0 +1,1057 @@ += Receiving Kafka Records +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka Connector retrieves Kafka Records from Kafka Brokers and maps +each of them to Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a Kafka broker running, and accessible using the +`kafka:9092` address (by default it would use `localhost:9092`). +Configure your application to receive Kafka records from a Kafka _topic_ +on the `prices` channel as follows: + +[source,properties] +---- +kafka.bootstrap.servers=kafka:9092 # <1> + +mp.messaging.incoming.prices.connector=smallrye-kafka # <2> +mp.messaging.incoming.prices.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer # <3> +mp.messaging.incoming.prices.broadcast=true # <4> +---- + +[arabic] +. Configure the broker location. You can configure it globally or per +channel +. Configure the connector to manage the `prices` channel +. Sets the (Kafka) deserializer to read the record’s value +. Make sure that we can receive from more than one consumer (see +`KafkaPriceConsumer` and `KafkaPriceMessageConsumer` below) + +[NOTE] +==== + +You don’t need to set the Kafka topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The deserialization is handled by the underlying Kafka Client. You need +to configure the: + +* `mp.messaging.incoming.++[++channel-name++]++.value.deserializer` to +configure the value deserializer (mandatory) +* `mp.messaging.incoming.++[++channel-name++]++.key.deserializer` to configure +the key deserializer (optional, default to `String`) + +If you want to use a custom deserializer, add it to your `CLASSPATH` and +configure the associate attribute. + +In addition, the Kafka Connector also provides a set of _message +converters_. So you can receive _payloads_ representing records from +Kafka using: + +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/Record.html[`Record`] - a pair key/value +* https://kafka.apache.org/26/javadoc/index.html?org/apache/kafka/clients/consumer/ConsumerRecord.html[ConsumerRecord++<++K,V++>++] - +a structure representing the record with all its metadata + +[source,java] +---- +include::{examples-dir}/kafka/inbound/Converters.java[tags=code,indent=0] +---- + +== Inbound Metadata + +Messages coming from Kafka contains an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/IncomingKafkaRecordMetadata.html[`IncomingKafkaRecordMetadata`] +in the metadata. It provides the key, topic, partitions, +headers and so on: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a message produced from a Kafka record is acknowledged, the +connector invokes a _commit strategy_. These strategies decide when the +consumer offset for a specific topic/partition is committed. Committing +an offset indicates that all previous records have been processed. It is +also the position where the application would restart the processing +after a crash recovery or a restart. + +Committing every offset has performance penalties as Kafka offset +management can be slow. However, not committing the offset often enough +may lead to message duplication if the application crashes between two +commits. + +The Kafka connector supports three strategies: + +* `throttled` keeps track of received messages and commit to the next +offset after the latest _acked_ message in sequence. This strategy +guarantees _at-least-once delivery_ even if the channel performs +asynchronous processing. The connector tracks the received records +and periodically (period specified by `auto.commit.interval.ms` +(default: 5000)) commits the highest consecutive offset. The +connector will be marked as unhealthy if a message associated with a +record is not acknowledged in +`throttled.unprocessed-record-max-age.ms` (default: 60000). Indeed, +this strategy cannot commit the offset as soon as a single record +processing fails (see failure-strategy to configure what happens on +failing processing). If `throttled.unprocessed-record-max-age.ms` is +set to less than or equal to 0, it does not perform any health check +verification. Such a setting might lead to running out of memory if +there are poison pill messages. This strategy is the default if +`enable.auto.commit` is not explicitly set to `true`. ++ +The `throttled` strategy supports concurrent processing with ordering +guarantees using the `throttled.ordered` configuration. See +xref:#concurrent-processing-with-ordering-guarantees[Concurrent Processing with Ordering Guarantees] +for more details. +* `checkpoint` allows persisting consumer offsets on a "state store", +instead of committing them back to the Kafka broker. Using the +`CheckpointMetadata` API, consumer code can persist a processing +state with the offset to mark the progress of a consumer. +When the processing continues from a previously persisted offset, +it seeks the Kafka consumer to that offset and also restores the +persisted state, continuing the stateful processing from where it +left off. The `checkpoint` strategy holds locally the processing +state associated with the latest offset, and persists it +periodically to the state store (period specified by +`auto.commit.interval.ms` (default: 5000)). The connector will be +marked as unhealthy if no processing state is persisted to the state +store in `checkpoint.unsynced-state-max-age.ms` (default: 10000). +Using the `CheckpointMetadata` API the user code can force to persist +the state on message ack. If `checkpoint.unsynced-state-max-age.ms` +is set to less than or equal to 0, it does not perform any health +check verification. For more information, see +xref:#stateful-processing-with-checkpointing[Stateful processing with Checkpointing] +* `latest` commits the record offset received by the Kafka consumer as +soon as the associated message is acknowledged (if the offset is +higher than the previously committed offset). This strategy provides +_at-least-once_ delivery if the channel processes the message +without performing any asynchronous processing. This strategy should +not be used on high-load as offset commit is expensive. However, it +reduces the risk of duplicates. +* `ignore` performs no commit. This strategy is the default strategy +when the consumer is explicitly configured with `enable.auto.commit` +to `true`. It delegates the offset commit to the Kafka client. When +`enable.auto.commit` is `true` this strategy *DOES NOT* guarantee +at-least-once delivery. However, if the processing failed between +two commits, messages received after the commit and before the +failure will be re-processed. + +[IMPORTANT] +==== + +The Kafka connector disables the Kafka _auto commit_ if not explicitly +enabled. This behavior differs from the traditional Kafka consumer. + +==== + +If high-throughout is important for you, and not limited by the +downstream, we recommend to either: + +* Use the `throttled` policy +* or set `enable.auto.commit` to `true` and annotate the consuming +method with `@Acknowledgment(Acknowledgment.Strategy.NONE)` + +== Concurrent Processing with Ordering Guarantees + +[WARNING] +.Experimental +==== + +Ordered concurrent processing is experimental, and APIs and features are subject to change. + +==== + +When processing Kafka messages concurrently (using `@Blocking(ordered = false)`), +you can configure ordering guarantees using the `ordered` attribute. + +=== Choosing a Commit Strategy + +* *`ordered=key`*: Messages from the same partition but with different keys can be acknowledged +out of order. Use `commit-strategy=throttled`, which tracks out-of-order acknowledgements and +commits offsets correctly. +* *`ordered=partition`*: Messages within a partition are processed sequentially, so +acknowledgements are always in order. This works with any commit strategy, including +`commit-strategy=ignore` for exactly-once transactional processing. + +=== Processing Order Modes + +* *`unordered`* (default): Messages are processed without any ordering guarantees, +allowing maximum concurrency across all partitions and keys. +* *`key`*: Messages with the same key from the same topic-partition are +processed sequentially, while messages with different keys or from different +partitions can be processed concurrently. This ensures per-key ordering within +each partition. +* *`partition`*: Messages from the same topic-partition are processed +sequentially, but messages from different partitions can be processed concurrently. +This ensures partition-level ordering while still allowing parallelism across +partitions. + +=== Examples + +Configure the `ordered` property and use the `@Blocking(ordered = false)` annotation +to enable concurrent processing with ordering guarantees: + +[source,properties] +---- +mp.messaging.incoming.orders.connector=smallrye-kafka +mp.messaging.incoming.orders.topic=orders +mp.messaging.incoming.orders.commit-strategy=throttled +mp.messaging.incoming.orders.ordered=key + +# Configure worker pool concurrency for thread pool size +smallrye.messaging.worker.order-pool.max-concurrency=10 + +# Configure merge concurrency (how many groups can process concurrently) +# Should typically match or be less than worker pool max-concurrency +mp.messaging.incoming.orders.ordered.max-concurrency=10 +---- + +[source,java] +---- +@Incoming("orders") +@Blocking(ordered = false, value = "order-pool") +public void processOrder(Order order) { + // Orders with the same key are processed sequentially + // Orders with different keys can be processed concurrently +} +---- + +For exactly-once transactional processing, use `ordered=partition` with `commit-strategy=ignore` +to avoid dual offset commits: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-kafka +mp.messaging.incoming.data.topic=data +mp.messaging.incoming.data.commit-strategy=ignore +mp.messaging.incoming.data.ordered=partition +---- + +In order to allow creating more groups (of keys or partitions) that can be processed concurrently, +each group buffers ordered messages to process. +The `max-queue-size-factor` (default: 2) attribute controls the buffer size per group, calculated as +`max.poll.records ++*++ max-queue-size-factor`. +The `ordered.max-concurrency` attribute controls how many groups can be processed concurrently. +If not set, it defaults to `max.poll.records`. +When buffers of all groups are full, backpressure is applied to pause consumption. + +[NOTE] +.Deprecation +==== + +The `throttled.ordered` and `throttled.ordered.max-concurrency` attributes are deprecated. +Use `ordered` and `ordered.max-concurrency` instead, which work with any commit strategy. + +==== + +== Failure Management + +If a message produced from a Kafka record is _nacked_, a failure +strategy is applied. The Kafka connector supports 3 strategies: + +* `fail` - fail the application, no more records will be processed. +(default) The offset of the record that has not been processed +correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. The +offset of the record that has not been processed correctly is +committed. +* `dead-letter-queue` - the offset of the record that has not been +processed correctly is committed, but the record is written to a +(Kafka) _dead letter queue_ topic. +* `delayed-retry-topic` - the offset of the record that has not been +processed correctly is still committed, but the record is written to +a series of Kafka topics for retrying the processing with some delay. +This allows retrying failed records by reconsuming them later without +blocking the processing of the latest records. + +The strategy is selected using the `failure-strategy` attribute. + +=== Dead Letter Queue + +In the case of `dead-letter-queue`, you can configure the following +attributes: + +* `dead-letter-queue.topic`: the topic to use to write the records not +processed correctly, default is `dead-letter-topic-$channel`, with +`$channel` being the name of the channel. +* `dead-letter-queue.producer-client-id`: the client id used by the kafka +producer when sending records to dead letter queue topic. If not specified +it will default to `kafka-dead-letter-topic-producer-$client-id`, with $client-id +being the value obtained from consumer client id. +* `dead-letter-queue.key.serializer`: the serializer used to write the +record key on the dead letter queue. By default, it deduces the +serializer from the key deserializer. +* `dead-letter-queue.value.serializer`: the serializer used to write +the record value on the dead letter queue. By default, it deduces +the serializer from the value deserializer. + +The record written on the dead letter topic contains the original +record’s headers, as well as a set of additional headers about the +original record: + +* `dead-letter-reason` - the reason of the failure (the `Throwable` +passed to `nack()`) +* `dead-letter-cause` - the cause of the failure (the `getCause()` of +the `Throwable` passed to `nack()`), if any +* `dead-letter-topic` - the original topic of the record +* `dead-letter-partition` - the original partition of the record +(integer mapped to String) +* `dead-letter-offset` - the original offset of the record (long +mapped to String) + +When using `dead-letter-queue`, it is also possible to change some +metadata of the record that is sent to the dead letter topic. To do +that, use the `Message.nack(Throwable, Metadata)` method: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaDeadLetterExample.java[tags=code,indent=0] +---- + +The `Metadata` may contain an instance of `OutgoingKafkaRecordMetadata`. +If the instance is present, the following properties will be used: + +* key; if not present, the original record’s key will be used +* topic; if not present, the configured dead letter topic will be used +* partition; if not present, partition will be assigned automatically +* headers; combined with the original record’s headers, as well as the +`dead-letter-++*++` headers described above + +=== Delayed Retry Topic + +[NOTE] +==== + +Delayed retry topic feature is experimental. + +==== + +The delayed retry topic strategy allows failed records to be automatically retried by forwarding them to a series of retry topics. +Each retry topic is associated with a specific delay time, which is expressed in milliseconds. +When a record processing fails, it is forwarded to the first retry topic. +The failure strategy then consumes these records and dispatches them to be retried again once the delay time of the topic has elapsed. + +If the processing of a record fails again, the message is forwarded to the next topic in the list, with possibly a longer delay time. +If the processing of a record keeps failing, it will eventually be abandoned. +Alternatively, if the `dead-letter-queue.topic` property is configured, the record will be sent to the dead letter queue. + +The Kafka producer client used when forwarding records to retry topics can be configured using the _dead-letter-queue_ properties +namely, `dead-letter-queue.producer-client-id`, `dead-letter-queue.key.serializer` and `dead-letter-queue.value.serializer`. + +Delayed retry topics and delays can be configured with following attributes: + +* `delayed-retry-topic.topics` : +The comma-separated list of retry topics, each one suffixed with `++_[++DELAY++_++IN++_++MILLISECONDS++]++` for indicating the delay time. +For example, `my++_++retry++_++topic++_++2000,my++_++retry++_++topic++_++4000,my++_++retry++_++topic++_++10000` will use three topics +_my++_++retry++_++topic++_++2000_, _my++_++retry++_++topic++_++4000_ and _my++_++retry++_++topic++_++10000_, with 2000ms 4000ms and 10000ms respectively. ++ +If not configured the source channel name is used, with 10, 20 and 50 seconds of delay, +ex. for a channel named `source`, retry topics will be `source++_++retry++_++10000`, `source++_++retry++_++20000`, `source++_++retry++_++50000`. +* `delayed-retry-topic.max-retries` : +The maximum number of retries before abandoning the retries. +If configured higher than the number of retry topics the last topic is used until maximum number of retries is reached. +This can be configured to use a single retry topic with a fixed delay and multiple retries. ++ +For example, `delayed-retry-topic.topics=source++_++retry++_++10000` and `delayed-retry-topic.max-retries=4` will forward failed records +to the topic _source++_++retry++_++10000_ with maximum of 4 retries. +* `delayed-retry-topic.timeout` : +The global timeout in milliseconds for a retried record. +The timeout is calculated from the first failure for a record. +If the next retry will reach the timeout, instead of forwarding to the retry topic the retry is abandoned and, +if configured, the record is forwarded to the dead letter queue. ++ +The default is 120 seconds. + +[IMPORTANT] +==== + +While you can use xref:#retrying-processing[Smallrye Fault Tolerance to retry processing], +it will block the processing of further messages until the retried record is processed successfully, or abandoned. + +Delayed retry topic failure strategy allows effectively implementing non-blocking retries. +But it will not preserve the order of messages inside a topic-partition. + +==== + +The record written on the delayed retry topics will preserve the key and partition of the original record. +It also contains the original record’s headers, as well as a set of additional headers about the original record: + +* `delayed-retry-count` the current number of retries +* `delayed-retry-original-timestamp` the original timestamp of the record +* `delayed-retry-first-processing-timestamp` the first processing timestamp of the record +* `delayed-retry-reason` the reason of the failure (the `Throwable` passed to `nack()`) +* `delayed-retry-cause` the cause of the failure (the `getCause()` of the `Throwable` passed to `nack()`), if any +* `delayed-retry-topic` the original topic of the record +* `delayed-retry-partition` the original partition of the record +* `delayed-retry-offset` the original offset of the record +* `delayed-retry-exception-class-name` the class name of the throwable passed to `nack()` +* `delayed-retry-cause-class-name` the class name of the the `getCause()` of the `Throwable` passed to `nack()`, if any + +As for the dead letter queue it is possible to change forwarded values by providing a `OutgoingKafkaRecordMetadata` +when the message is nacked using `Message.nack(Throwable, Metadata)`. + +[NOTE] +.Multiple partitions +==== + +The delayed retry topic strategy does not create retry topics automatically. +If the source topic has multiple partitions, delayed retry and dead letter queue topics would need to be setup with the same number of partitions. + +It is possible to scale consumer application instances according to the number of partitions. +But it is not guaranteed that the retry topics consumer will be assigned the same partition(s) as the main topic consumer. +Therefore, retry processing of a record can happen in an other instance. + +==== + +== Custom commit and failure strategies + +In addition to provided strategies, it is possible to implement custom +commit and failure strategies and configure Kafka channels with them. + +For example, for a custom commit strategy, implement the +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/commit/KafkaCommitHandler.html[`KafkaCommitHandler`] interface, +and provide a managed bean implementing the `KafkaCommitHandler.Factory` interface, +identified using `@Identifier` qualifier. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaCustomCommit.java[indent=0] +---- + +Finally, to use the custom commit strategy, +set the `commit-strategy` attribute to the identifier of the commit handler factory: +`mp.messaging.incoming.$channel.commit-strategy=custom`. +Similarly, custom failure strategies can be configured using `failure-strategy` attribute. + +[NOTE] +==== + +If the custom strategy implementation inherits +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/commit/ContextHolder.html[`ContextHolder`] class it can access the +Vert.x event-loop context created for the Kafka consumer + +==== + +== Retrying processing + +You can combine Reactive Messaging with https://github.com/smallrye/smallrye-fault-tolerance[SmallRye Fault +Tolerance], and +retry processing when it fails: + +[source,java] +---- +@Incoming("kafka") +@Outgoing("processed") +@Retry(delay = 10, maxRetries = 5) +public String process(String v) { + // ... retry if this method throws an exception +} +---- + +You can configure the delay, the number of retries, the jitter... + +If your method returns a `Uni`, you need to add the `@NonBlocking` +annotation: + +[source,java] +---- +@Incoming("kafka") +@Outgoing("processed") +@Retry(delay = 10, maxRetries = 5) +@NonBlocking +public Uni process(String v) { + // ... retry if this method throws an exception or the returned Uni produce a failure +} +---- + +The incoming messages are acknowledged only once the processing +completes successfully. So, it commits the offset after the successful +processing. If after the retries the processing still failed, the +message is _nacked_ and the failure strategy is applied. + +You can also use `@Retry` on methods only consuming incoming messages: + +[source,java] +---- +@Incoming("kafka") +@Retry(delay = 10, maxRetries = 5) +public void consume(String v) { + // ... retry if this method throws an exception +} +---- + +== Handling deserialization failures + +Because deserialization happens before creating a `Message`, the failure +strategy presented above cannot be applied. However, when a +deserialization failure occurs, you can intercept it and provide a +fallback value. To achieve this, create a CDI bean implementing the +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/DeserializationFailureHandler.html[`DeserializationFailureHandler`] +interface: + +[source,java] +---- +@ApplicationScoped +@Identifier("failure-retry") // Set the name of the failure handler +public class MyDeserializationFailureHandler + implements DeserializationFailureHandler { // Specify the expected type + + @Override + public JsonObject decorateDeserialization(Uni deserialization, + String topic, boolean isKey, String deserializer, byte[] data, + Headers headers) { + return deserialization + .onFailure().retry().atMost(3) + .await().atMost(Duration.ofMillis(200)); + } +} +---- + +The bean must be exposed with the `@Identifier` qualifier specifying the +name of the bean. Then, in the connector configuration, specify the +following attribute: + +* `mp.messaging.incoming.$channel.key-deserialization-failure-handler`: +name of the bean handling deserialization failures happening for the +record’s key +* `mp.messaging.incoming.$channel.value-deserialization-failure-handler`: +name of the bean handling deserialization failures happening for the +record’s value, + +The handler is called with the deserialization action as a `Uni++<++T++>++`, the +record’s topic, a boolean indicating whether the failure happened on a +key, the class name of the deserializer that throws the exception, the +corrupted data, the exception, and the records headers augmented with +headers describing the failure (which ease the write to a dead letter). +On the deserialization `Uni` failure strategies like retry, providing a +fallback value or applying timeout can be implemented. Note that the +method must await on the result and return the deserialized object. +Alternatively, the handler can only implement +`handleDeserializationFailure` method and provide a fallback value, +which may be `null`. + +If you don’t configure a deserialization failure handlers and a +deserialization failure happens, the application is marked unhealthy. +You can also ignore the failure, which will log the exception and +produce a `null` value. To enable this behavior, set the +`mp.messaging.incoming.$channel.fail-on-deserialization-failure` +attribute to `false`. + +If the `fail-on-deserialization-failure` attribute is set to `false` and +the `failure-strategy` attribute is `dead-letter-queue` the failed record +will be sent to the corresponding _dead letter queue_ topic. +The forwarded record will have the original key and value, +and the following headers set: + +* `deserialization-failure-reason`: The deserialization failure message +* `deserialization-failure-cause`: The deserialization failure cause if any +* `deserialization-failure-key`: Whether the deserialization failure happened on a key +* `deserialization-failure-topic`: The topic of the incoming message when a deserialization failure happen +* `deserialization-failure-deserializer`: The class name of the underlying deserializer +* `deserialization-failure-key-data`: If applicable the key data that was not able to be deserialized +* `deserialization-failure-value-data`: If applicable the value data that was not able to be deserialized + +== Receiving Cloud Events + +The Kafka connector supports https://cloudevents.io/[Cloud Events]. +When the connector detects a _structured_ or _binary_ Cloud Events, it +adds a link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/IncomingKafkaCloudEventMetadata.html[`IncomingKafkaCloudEventMetadata`] in the metadata of the +Message. `IncomingKafkaCloudEventMetadata` contains the various (mandatory and optional) Cloud Event attributes. + +If the connector cannot extract the Cloud Event metadata, it sends the +Message without the metadata. + +=== Binary Cloud Events + +For `binary` Cloud Events, *all* mandatory Cloud Event attributes must +be set in the record header, prefixed by `ce++_++` (as mandated by the +https://github.com/cloudevents/spec/blob/v1.0/kafka-protocol-binding.md[protocol +binding]). +The connector considers headers starting with the `ce++_++` prefix but not +listed in the specification as extensions. You can access them using the +`getExtension` method from `IncomingKafkaCloudEventMetadata`. You can +retrieve them as `String`. + +The `datacontenttype` attribute is mapped to the `content-type` header +of the record. The `partitionkey` attribute is mapped to the record’s +key, if any. + +Note that all headers are read as UTF-8. + +With binary Cloud Events, the record’s key and value can use any +deserializer. + +=== Structured Cloud Events + +For `structured` Cloud Events, the event is encoded in the record’s +value. Only JSON is supported, so your event must be encoded as JSON in +the record’s value. + +Structured Cloud Event must set the `content-type` header of the record +to `application/cloudevents` or prefix the value with +`application/cloudevents` such as: +`application/cloudevents{plus}json; charset=UTF-8`. + +To receive structured Cloud Events, your value deserializer must be: + +* `org.apache.kafka.common.serialization.StringDeserializer` +* `org.apache.kafka.common.serialization.ByteArrayDeserializer` +* `io.vertx.kafka.client.serialization.JsonObjectDeserializer` + +As mentioned previously, the value must be a valid JSON object +containing at least all the mandatory Cloud Events attributes. + +If the record is a structured Cloud Event, the created Message’s payload +is the Cloud Event `data`. + +The `partitionkey` attribute is mapped to the record’s key if any. + +== Consumer Rebalance Listener + +To handle offset commit and assigned partitions yourself, you can +provide a consumer rebalance listener. To achieve this, implement the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface, make the implementing class a bean, and add the `@Identifier` +qualifier. A usual use case is to store offset in a separate data store +to implement exactly-once semantic, or starting the processing at a +specific offset. + +The listener is invoked every time the consumer topic/partition +assignment changes. For example, when the application starts, it invokes +the `partitionsAssigned` callback with the initial set of +topics/partitions associated with the consumer. If, later, this set +changes, it calls the `partitionsRevoked` and `partitionsAssigned` +callbacks again, so you can implement custom logic. + +Note that the rebalance listener methods are called from the Kafka +_polling_ thread and must block the caller thread until completion. +That’s because the rebalance protocol has synchronization barriers, and +using asynchronous code in a rebalance listener may be executed after +the synchronization barrier. + +When topics/partitions are assigned or revoked from a consumer, it +pauses the message delivery and restarts once the rebalance completes. + +If the rebalance listener handles offset commit on behalf of the user +(using the `ignore` commit strategy), the rebalance listener *must* +commit the offset synchronously in the `partitionsRevoked` callback. We +also recommend applying the same logic when the application stops. + +Unlike the `ConsumerRebalanceListener` from Apache Kafka, the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +methods pass the Kafka `Consumer` and the set of topics/partitions. + +=== Example + +In this example we set-up a consumer that always starts on messages from +at most 10 minutes ago (or offset 0). First we need to provide a bean +that implements the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface and is annotated with `@Identifier`. We then must configure +our inbound connector to use this named bean. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumer.java[indent=0] +---- + +To configure the inbound connector to use the provided listener we +either set the consumer rebalance listener’s name: + +* `mp.messaging.incoming.rebalanced-example.consumer-rebalance-listener.name=rebalanced-example.rebalancer` + +Or have the listener’s name be the same as the group id: + +* `mp.messaging.incoming.rebalanced-example.group.id=rebalanced-example.rebalancer` + +Setting the consumer rebalance listener’s name takes precedence over +using the group id. + +== Receiving Kafka Records in Batches + +By default, incoming methods receive each Kafka record individually. +Under the hood, Kafka consumer clients poll the broker constantly and +receive records in batches, presented inside the `ConsumerRecords` +container. + +In *batch* mode, your application can receive all the records returned +by the consumer *poll* in one go. + +To achieve this you need to set +`mp.messaging.incoming.$channel.batch=true` *and* specify a compatible +container type to receive all the data: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchPayloadExample.java[tags=code,indent=0] +---- + +The incoming method can also receive `Message++<++List++<++Payload++>++` or `ConsumerRecords++<++Key, Payload++>++` types, They +give access to record details such as offset or timestamp : + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchExample.java[tags=code,indent=0] +---- + +Note that the successful processing of the incoming record batch will +commit the latest offsets for each partition received inside the batch. +The configured commit strategy will be applied for these records only. + +Conversely, if the processing throws an exception, all messages are +_nacked_, applying the failure strategy for all the records inside the +batch. + +=== Accessing metadata of batch records + +When receiving records in batch mode, the metadata of each record is accessible through the `IncomingKafkaRecordBatchMetadata` : + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchExample.java[tags=batch,indent=0] +---- + +Like in this example, this can be useful to propagate the tracing information of each record. + +== Manual topic-partition assignment + +The default behavior of Kafka incoming channels is to subscribe to one or more topics in order to receive records from the Kafka broker. +Channel attributes `topic` and `topics` allow specifying topics to subscribe to, +or `pattern` attribute allows to subscribe to all topics matching a regular expression. +Subscribing to topics allows partitioning consumption of topics by dynamically assigning (rebalancing) partitions between members of a consumer group. + +The `assign-seek` configuration attribute allows manually assigning topic-partitions to a Kafka incoming channel, +and optionally seek to a specified offset in the partition to start consuming records. +If `assign-seek` is used, the consumer will not be dynamically subscribed to topics, +but instead will statically assign the described partitions. +In manual topic-partition rebalancing doesn't happen and therefore rebalance listeners are never called. + +The attribute takes a list of triplets separated by commas: `++<++topic++>++:++<++partition++>++:++<++offset++>++`. + +For example, the following configuration + +[source,properties] +---- +mp.messaging.incoming.data.assign-seek=topic1:0:10, topic2:1:20 +---- + +assigns the consumer to: +- Partition 0 of topic 'topic1', setting the initial position at offset 10. +- Partition 1 of topic 'topic2', setting the initial position at offset 20. + +The topic, partition, and offset in each triplet can have the following variations: +- If the topic is omitted, the configured `topic` will be used. +- If the offset is omitted, partitions are assigned to the consumer but won't be seeked to offset. +- If offset is 0, it seeks to the beginning of the topic-partition. +- If offset is -1, it seeks to the end of the topic-partition. + +== Stateful processing with Checkpointing + +[CAUTION] +.Deprecated +==== + +Checkpointing is deprecated and will be removed in a future version. + +==== + +The `checkpoint` commit strategy allows for a Kafka incoming channel to +manage topic-partition offsets, not by committing on the Kafka broker, +but by persisting consumers' advancement on a +xref:#implementing-state-stores[_state store_]. + +In addition to that, if the consumer builds an internal state as +a result of consumed records, the topic-partition offset persisted +to the state store can be associated with a _processing state_, +saving the local state to the persistent store. When a consumer +restarts or consumer group instances scale, i.e. when new partitions +get assigned to the consumer, the checkpointing works by resuming the +processing from the latest offset and its saved state. + +The `@Incoming` channel consumer code can manipulate the processing +state through the `CheckpointMetadata` API: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaCheckpointExample.java[tags=code,indent=0] +---- + +The `transform` method allows applying a transformation function to +the current state, producing a changed state and registering it +locally for checkpointing. By default, the local state is synced +(persisted) to the state store periodically, period specified by +`auto.commit.interval.ms`, (default: 5000). If `persistOnAck` flag +is given, the latest state is persisted to the state store eagerly +on message acknowledgment. The `setNext` method works similarly +directly setting the latest state. + +The `checkpoint` commit strategy tracks when a processing state +is last persisted for each topic-partition. If an outstanding state +change can not be persisted for `checkpoint.unsynced-state-max-age.ms` +(default: 10000), the channel is marked unhealthy. + +Where and how processing states are persisted is decided by the +state store implementation. This can be configured on the incoming +channel using `checkpoint.state-store` configuration property, +using the state store factory identifier name. +The serialization of state objects depends on the state store +implementation. In order to instruct state stores for serialization +can require configuring the type name of state objects +using `checkpoint.state-type` property. + +In order to keep Smallrye Reactive Messaging free of persistence-related +dependencies, this library includes only a default state store named `file`. +It is based on Vert.x Filesystem API and stores the processing state +in Json formatted files, in a local directory configured by the +`checkpoint.file.state-dir` property. State files follow the naming +scheme `++[++consumer-group-id++]++:++[++topic++]++:++[++partition++]++`. + +=== Implementing State Stores + +State store implementations are required to implement `CheckpointStateStore` +interface, and provide a managed bean implementing +`CheckpointStateStore.Factory`, identified with `@Identifier` bean +qualifier indicating the name of the state-store. +The factory bean identifier indicates the name to configure on +`checkpoint.state-store` config property. +The factory is discovered as a CDI managed bean and state store is +created once per channel: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/MyCheckpointStateStore.java[indent=0] +---- + +The checkpoint commit strategy calls the state store in following events: + +* `fetchProcessingState` : on partitions assigned, to seek the consumer to the latest offset. +* `persistProcessingState` on partitions revoked, to persist the state of last processed record. +* `persistProcessingState` on message acknowledgement, if a new state is set during the processing and `persistOnAck` flag is set. +* `persistProcessingState` on `auto.commit.interval.ms` intervals, if a new state is set during processing. +* `persistProcessingState` on channel shutdown. +* `close` on channel shutdown. + +== Receiving Kafka Records Using Kafka Queues (Share Groups) + +[WARNING] +.Experimental +==== + +Kafka Queues (Share Groups) support is experimental. + +==== + +https://cwiki.apache.org/confluence/display/KAFKA/KIP-932[Kafka Share Groups] provide a new consumption model where records from a topic are cooperatively distributed across consumers without explicit partition assignment. +Unlike traditional consumer groups, share groups do not require managing offsets or partition rebalancing -- the broker handles record distribution and acquisition locks automatically. + +This is useful for *queue-like* workloads where you want records to be processed by exactly one consumer in a group, without worrying about partition count or consumer coordination. + +=== Enabling Share Groups + +To enable share group consumption on a channel, set the `share-group.enabled` attribute to `true`: + +[source,properties] +---- +mp.messaging.incoming.queue.connector=smallrye-kafka +mp.messaging.incoming.queue.topic=prices +mp.messaging.incoming.queue.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer +mp.messaging.incoming.queue.share-group.enabled=true # <1> +---- + +[arabic] +. Enables share group consumption for this channel. + +Then consume records as usual: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupConsumer.java[indent=0] +---- + +By default, successfully processed records are acknowledged with `ACCEPT`. +If the processing method throws an exception, the record is released (`RELEASED`) and will be attempted for re-delivery. + +=== Controlling Acknowledgement + +Share groups support four acknowledgement types for each record: + +* *`ACCEPT`* Record processed successfully (default on ack). +* *`RELEASE`* Record could not be processed; release it for re-delivery to another consumer (default on nack). +* *`REJECT`* Record is permanently rejected and will not be re-delivered. +* *`RENEW`* Extend the acquisition lock for long-running processing (managed automatically when processing timeout is enabled). + +You can control the acknowledgement type using the `ShareGroupAcknowledgement` metadata, which is injected as a parameter in the consuming method: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupAckExample.java[tags=code,indent=0] +---- + +When the message is acked (or method completes normally), the connector uses the acknowledgement type set on `ShareGroupAcknowledgement`. +If no type is explicitly set, the default is `ACCEPT`. + +When calling `nack()` on the `Message`, you can pass the desired acknowledgement type via metadata: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupNackExample.java[tags=code,indent=0] +---- + +If no metadata is provided on nack, the default acknowledgement type is `RELEASE`. +This can be changed using the `share-group.failure-acknowledgement-type` attribute: + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.share-group.failure-acknowledgement-type=reject # <1> +---- + +[arabic] +. Nacked records are permanently rejected instead of released for re-delivery. + +=== Handling Deserialization Failures + +When `fail-on-deserialization-failure` is set to `false`, records that fail deserialization are not forwarded to the consumer method. +They are automatically nacked using the acknowledgement type configured by `share-group.failure-deserialization-acknowledgement-type` (default: `reject`). + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.fail-on-deserialization-failure=false # <1> +mp.messaging.incoming.queue.share-group.failure-deserialization-acknowledgement-type=reject # <2> +---- + +[arabic] +. Deserialization failures do not kill the application. +. Records that fail deserialization are permanently rejected (default). + +A custom `DeserializationFailureHandler` can override the acknowledgement type per record by setting the `deserialization-failure-share-ack-type` header +to the set `AcknowledgeType` value (e.g., `RELEASE`, `REJECT`, `ACCEPT`). + +=== Acquisition Lock Renewal and Processing Timeout + +Each record acquired by a share group consumer has a time-limited *acquisition lock* (default 30 seconds, configured on the broker via `group.share.record.lock.duration.ms`). +If the consumer does not acknowledge the record before the lock expires, the broker automatically releases it for re-delivery. + +The connector can periodically send `RENEW` acknowledgements to extend the lock for records still being processed. +This is controlled by the `share-group.unprocessed-record-max-age.ms` attribute: + +* When set to a value greater than `0` (default: `60000`), the connector enables *processing timeout monitoring*: +** Records still in progress are periodically renewed to prevent lock expiry. +** If a record exceeds the configured timeout, the connector reports a failure and marks the channel as unhealthy. +* When set to `0`, processing timeout monitoring is disabled. No `RENEW` acknowledgements are sent. If processing exceeds the broker's lock duration, the record will be automatically released and re-delivered. + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.share-group.unprocessed-record-max-age.ms=30000 # <1> +---- + +[arabic] +. Records not processed within 30 seconds trigger a failure report. + +=== Batch Mode + +Share groups support batch consumption. Set `batch=true` to receive all records from a single poll as a batch: + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.batch=true +---- + +When a batch is acknowledged, all individual records in the batch are acknowledged. +When a batch is nacked, all records are nacked with the specified acknowledgement type. + +You can control the acknowledgement type per record within a batch using the `ShareGroupAcknowledgement` metadata accessible through `IncomingKafkaRecordBatchMetadata`: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupBatchAckExample.java[tags=code,indent=0] +---- + +Each record in the batch has its own `ShareGroupAcknowledgement` instance. +When the batch is acked, each record is individually acknowledged using its configured type. +This allows accepting some records while rejecting or releasing others within the same batch. + +=== Incompatible Configuration + +The following configuration attributes are not supported with share groups and will be ignored: + +* `pattern` Share groups subscribe to explicit topics only. +* `assign-seek` Share groups do not support manual partition assignment. +* `partitions` Share groups handle record distribution automatically; multiple consumer instances are not needed. +* `commit-strategy` Share groups use their own acknowledgement mechanism. +* `failure-strategy` Share groups use their own failure handling based on `AcknowledgeType`. +* `consumer-rebalance-listener.name` Share groups do not have traditional partition rebalancing. + +If any of these are configured alongside `share-group.enabled=true`, a warning is logged at startup. + +== Configuration Reference + +include::{generated-dir}/smallrye-kafka-incoming.adoc[indent=0] + +You can also pass any property supported by the underlying https://kafka.apache.org/documentation/#consumerconfigs[Kafka +consumer]. + +For example, to configure the `max.poll.records` property, use: + +[source,properties] +---- +mp.messaging.incoming.[channel].max.poll.records=1000 +---- + +Some consumer client properties are configured to sensible default +values: + +If not set, `reconnect.backoff.max.ms` is set to `10000` to avoid high +load on disconnection. + +If not set, `key.deserializer` is set to +`org.apache.kafka.common.serialization.StringDeserializer`. + +The consumer `client.id` is configured according to the number of +clients to create. + +[WARNING] +.Deprecated +==== + +The `partitions` property (`mp.messaging.incoming.++[++channel++]++.partitions`) and the associated `requests` property are *deprecated*. +Use the `concurrency` channel attribute instead, which creates distinct indexed channels with their own consumer. + +==== + +* If a `client.id` is provided, it is used as-is or suffixed with +client index if the deprecated `partitions` property is set. +* If a `client.id` is not provided, it is generated as +`kafka-consumer-++[++channel++][++-index++]++`. diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/request-reply.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/request-reply.adoc new file mode 100644 index 000000000..4aedd2cc9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/request-reply.adoc @@ -0,0 +1,175 @@ += Kafka Request/Reply +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Tech Preview +==== + +Kafka Request Reply Emitter is a tech preview feature. + +==== + +The Kafka https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html[Request-Reply] pattern allows you to publish a message to a Kafka topic and then await for a reply message that responds to the initial request. + +The `KafkaRequestReply` emitter implements the requestor (or the client) of the request-reply pattern for Kafka outbound channels: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRequestReplyEmitter.java[indent=0] +---- + +The `request` method publishes the request record to the configured target topic of the outgoing channel, +and polls a reply topic (by default, the target topic with `-replies` suffix) for a reply record. +When the reply is received the returned `Uni` is completed with the record value. + +The request send operation generates a correlation id and sets a header (by default `REPLY++_++CORRELATION++_++ID`), +which it expects to be sent back in the reply record. Two additional headers are set on the request record: + +* The topic from which the reply is expected, by default `REPLY++_++TOPIC` header, +which can be configured using the `reply.topic` channel attribute. +* Optionally, the partition from which the reply is expected, by default `REPLY++_++PARTITION` header. +The reply partition header is added only when the Kafka request reply is configured specifically to receive records from a topic-partition +, using the `reply.partition` channel attribute. +The reply partition header integer value is encoded in 4 bytes, +and helper methods `KafkaRequestReply#replyPartitionFromBytes` and `KafkaRequestReply#replyPartitionToBytes` can be used for custom operations. + +The replier (or the server) can be implemented using a Reactive Messaging processor: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaReplier.java[indent=0] +---- + +Kafka outgoing channels detect default `REPLY++_++CORRELATION++_++ID`, `REPLY++_++TOPIC` and `REPLY++_++PARTITION` headers +and send the reply record to the expected topic-partition by propagating back the correlation id header. + +Default headers can be configured, using `reply.correlation-id.header`, `reply.topic.header` and `reply.partition.header` channel attributes. +If custom headers are used the reply server needs some more manual work. +Given the following request/reply outgoing configuration: + +[source,properties] +---- +mp.messaging.outgoing.reqrep.topic=requests +mp.messaging.outgoing.reqrep.reply.correlation-id.header=MY_CORRELATION +mp.messaging.outgoing.reqrep.reply.topic.header=MY_TOPIC +mp.messaging.outgoing.reqrep.reply.partition.header=MY_PARTITION +mp.messaging.incoming.request.topic=requests +---- + +The reply server can be implemented as the following: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCustomHeaderReplier.java[indent=0] +---- + +== Requesting with `Message` types + +Like the core Emitter's `send` methods, `request` method also can receive a `Message` type and return a message: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRequestReplyMessageEmitter.java[indent=0] +---- + +[NOTE] +==== + +The ingested reply type of the `KafkaRequestReply` is discovered at runtime, +in order to configure a `MessageConveter` to be applied on the incoming message before returning the `Uni` result. + +==== + +== Requesting multiple replies + +You can use the `requestMulti` method to expect any number of replies represented by the `Multi` return type. + +For example this can be used to aggregate multiple replies to a single request. + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRequestReplyMultiEmitter.java[indent=0] +---- + +Like the other `request` you can also request `Message` types. + +[NOTE] +==== + +The channel attribute `reply.timeout` will be applied between each message, if reached the returned `Multi` will +fail. + +==== + +== Scaling Request/Reply + +If multiple requestor instances are configured on the same outgoing topic, and the same reply topic, +each requestor consumer will generate a unique consumer group.id and +therefore all requestor instances will receive replies of all instances. If an observed correlation id doesn't match +the id of any pending replies, the reply is simply discarded. +With the additional network traffic this allows scaling requestors, (and repliers) dynamically. + +Alternatively, requestor instances can be configured to consume replies from dedicated topics using `reply.topic` attribute, +or distinct partitions of a single topic, using `reply.partition` attribute. +The later will configure the Kafka consumer to assign statically to the given partition. + +== Pending replies and reply timeout + +By default, the `Uni` returned from the `request` method is configured to fail with timeout exception if no replies is received after 5 seconds. +This timeout is configurable with the channel attribute `reply.timeout`. + +A snapshot of the list of pending replies is available through the `KafkaRequestReply#getPendingReplies` method. + +== Waiting for topic-partition assignment + +The requestor can be found in a position where a request is sent, and it's reply is already published to the reply topic, +before the requestor starts and polls the consumer. +In case the reply consumer is configured with `auto.offset.reset=latest`, which is the default value, this can lead to the requestor missing replies. + +If `auto.offset.reset` is `latest`, at wiring time, before any request can take place, the `KafkaRequestReply` +finds partitions that the consumer needs to subscribe and waits for their assignment to the consumer. +The timeout of the initial subscription can be adjusted with `reply.initial-assignment-timeout` which defaults to the `reply.timeout`. +If this timeout fails, `KafkaRequestReply` will enter an invalid state which will require it to be restarted. +If set to `-1`, the `KafkaRequestReply` will not wait for the initial assignment of the reply consumer to sent requests. + +On other occasions the `KafkaRequestReply#waitForAssignments` method can be used. + +== Correlation Ids + +The Kafka Request/Reply allows configuring the correlation id mechanism completely through a `CorrelationIdHandler` implementation. +The default handler is based on randomly generated UUID strings, written to byte array in Kafka record headers. +The correlation id handler implementation can be configured using the `reply.correlation-id.handler` attribute. +As mentioned the default configuration is `uuid`, +and an alternative `bytes` implementation can be used to generate 12 bytes random correlation ids. + +Custom handlers can be implemented by proposing a CDI-managed bean with `@Identifier` qualifier. + +== Reply Error Handling + +If the reply server produces an error and can or would like to propagate the error back to the requestor, failing the returned `Uni`. + +If configured using the `reply.failure.handler` channel attribute, +the `ReplyFailureHandler` implementations are discovered through CDI, matching the `@Identifier` qualifier. + +A sample reply error handler can lookup header values and return the error to be thrown by the reply: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/MyReplyFailureHandler.java[indent=0] +---- + +`null` return value indicates that no error has been found in the reply record, and it can be delivered to the application. + +== Advanced configuration for the Kafka consumer + +The underlying Kafka consumer can be configured with the `reply` property prefix. +For example the underlying Kafka consuemer can be configured to batch mode using: + +[source,properties] +---- +mp.messaging.outgoing.reqrep.topic=requests +mp.messaging.outgoing.reqrep.reply.topic=quote-results +mp.messaging.outgoing.reqrep.reply.batch=true +mp.messaging.outgoing.reqrep.reply.commit-strategy=latest +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/test-companion.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/test-companion.adoc new file mode 100644 index 000000000..d25aa111f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/test-companion.adoc @@ -0,0 +1,158 @@ += Kafka Companion +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Kafka Companion is experimental and APIs are subject to change in the future. + +==== + +The *Kafka Companion* is a separate Java library for helping to test Kafka applications. +It is not intended to mock Kafka, but to the contrary, connect to a Kafka broker and provide high-level features. + +It is not limited to the SmallRye Reactive Messaging testing, but intends to improve the testability of applications using Kafka. Some of its features: + +* Running In-container Kafka broker for tests via https://github.com/strimzi/test-container[strimzi-test-container]. +* Running the Kafka broker behind a https://github.com/Shopify/toxiproxy[toxiproxy] for simulating network issues. +* Running embedded Kafka Kraft broker for tests. +* Base classes for tests to bootstrap tests. +* Companion classes for easily creating tasks to produce and consume Kafka records. +* Writing assertions for produce and consume tasks, state of consumers, topics, offsets etc. + +== Getting started writing tests + +Easiest way of starting to write Kafka tests is to extend `KafkaCompanionTestBase`. +It starts a single-node Kafka broker for the test suite using testcontainers and creates the `KafkaCompanion` to connect to this broker: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaWithBaseTest.java[tags=code,indent=0] +---- + +`KafkaCompanion` can be used on its own to connect to a broker: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaTest.java[tags=companion,indent=0] +---- + +There are a couple of things to note on how Kafka companion handles *producers*, *consumers* and *tasks*: + +`ProducerBuilder` and `ConsumerBuilder` lazy descriptions of with which configuration to create a producer or a consumer. + +`ProducerTask` and `ConsumerTask` run asynchronously on dedicated threads and are started as soon as they are created. +A task terminates when it is explicitly stopped, when it's predefined duration or number of records has been produced/consumed, or when it encounters an error. +An exterior thread can await on records processed, or simply on termination of the task. +At a given time produced or consumed records are accessible through the task. + +The actual creation of the producer or consumer happens when a task is started. When the task terminates the producer or the consumer is automatically closed. + +For example, in the previous example: + +[arabic] +. We described a producer with a client id `my-producer` and `max.block.ms` of 5 seconds. +. Then we created a task to produce 100 records using the generator function, without waiting for its completion. +. We then described a consumer with group id `my-group` and which commits offset synchronously on every received record. +. Finally, we created a task to consume records for 10 seconds and await its completion. + +== Producing records + +=== Produce from records + +Produce given records: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=records,indent=0] +---- + +=== Produce from generator function + +Produce 10 records using the generator function: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=generator,indent=0] +---- + +=== Produce from CSV file + +Given a comma-separated file `records.csv` with the following content + +[source,csv] +---- +messages,0,a,asdf +messages,1,b,asdf +messages,3,c,asdf +---- + +Produce records from the file: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=csv,indent=0] +---- + +== Consuming records + +=== Consume from topics + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=topics,indent=0] +---- + +=== Consume from offsets + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=offsets,indent=0] +---- + +=== Consumer assignment and offsets + +During execution of the consumer task, information about the underlying consumer's topic partition assignment, position or committed offsets can be accessed. + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=committed,indent=0] +---- + +== Registering Custom Serdes + +KafkaCompanion handles Serializers and Deserializers for default types such as primitives, String, ByteBuffer, UUID. + +Serdes for custom types can be registered to the companion object, and will be used for producer and consumer tasks: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaTest.java[tags=serdes,indent=0] +---- + +== Topics + +Create, list, describe and delete topics: + +[source,java] +---- +include::{examples-dir}/kafka/companion/TopicsTest.java[tags=code,indent=0] +---- + +== Consumer Groups and Offsets + +List topic partition offsets: + +[source,java] +---- +include::{examples-dir}/kafka/companion/OffsetsTest.java[tags=offsets,indent=0] +---- + +List, describe, alter consumer groups and their offsets: + +[source,java] +---- +include::{examples-dir}/kafka/companion/OffsetsTest.java[tags=consumerGroups,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/transactions.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/transactions.adoc new file mode 100644 index 000000000..927012f01 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/transactions.adoc @@ -0,0 +1,165 @@ += Kafka Transactions and Exactly-Once Processing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://cwiki.apache.org/confluence/display/KAFKA/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging[Kafka transactions] enable atomic writes to multiple Kafka topics and partitions. +Inside a transaction, a producer writes records to the Kafka topic partitions as it would normally do. +If the transaction completes successfully, all the records previously written to the broker inside that transaction will be _committed_, and will be readable for consumers. +If an error during the transaction causes it to be _aborted_, none will be readable for consumers. + +There are a couple of fundamental things to consider before using transactions: + +* Each transactional producer is configured with a unique identifier called the `transactional.id`. +This is used to identify the same producer instance across application restarts. +By default, it is not configured, and transactions cannot be used. +When it is configured, the producer is limited to idempotent delivery, therefore `enable.idempotence=true` is implied. +* For *only* reading transactional messages, a consumer needs to explicitly configure its `isolation.level` property to `read++_++committed`. +This will make sure that the consumer will deliver only records committed inside a transaction, and filter out messages from aborted transactions. +* It should also be noted that this does not mean all records atomically written inside a transaction will be read atomically by the consumer. +Transactional producers can write to multiple topics and partitions inside a transaction, but consumers do not know where the transaction starts or ends. +Not only multiple consumers inside a consumer group can share those partitions, +all records which were part of a single transaction can be consumed in different batch of records by a consumer. + +Kafka connector provides `KafkaTransactions` custom emitter for writing records inside a transaction. +Before using a transaction we need to make sure that `transactional.id` is configured on the channel properties. + +.... +mp.messaging.outgoing.tx-out-example.transactional.id=example-tx-producer +.... + +It can be used as a regular emitter `@Channel`: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaTransactionalProducer.java[indent=0] +---- + +[NOTE] +==== + +When `transactional.id` is provided `KafkaProducer#initTransactions` is called when the underlying Kafka producer is created. + +==== + +The function given to the `withTransaction` method receives a `TransactionalEmitter` for producing records, and returns a `Uni` that provides the result of the transaction. +If the processing completes successfully, the producer is flushed and the transaction is committed. +If the processing throws an exception, returns a failing `Uni`, or marks the `TransactionalEmitter` for abort, the transaction is aborted. + +If this method is called on a Vert.x context, the processing function is also called on that context. +Otherwise, it is called on the sending thread of the producer. + +A synchronous variant `withTransactionAndAwait` is also available for blocking contexts such as REST endpoints or `@Blocking` annotated methods. +It blocks the calling thread until the transaction completes and must not be called on a Vert.x event loop thread. +The transaction completion phase (flush, commit/abort) is bounded by the Kafka producer's `transaction.timeout.ms` setting (default 60 seconds). + +[IMPORTANT] +==== + +By default (non-pooled mode), a transaction is considered _in progress_ from the call to the `withTransaction` until the returned `Uni` results in success or failure. +While a transaction is in progress, subsequent calls to the `withTransaction`, including nested ones inside the given function, will throw `IllegalStateException`. +Note that in Reactive Messaging, the execution of processing methods is already serialized, unless `@Blocking(ordered = false)` is used. +If `withTransaction` can be called concurrently, for example from a REST endpoint, it is recommended to limit the concurrency of the execution. +This can be done using the `@Bulkhead` annotation from Microprofile Fault Tolerance, or by using the xref:#pooled-producer-for-concurrent-transactions[pooled producer mode] which allows concurrent transactions. +In pooled producer mode, multiple transactions can run concurrently, each using a different producer from the pool. + +==== + +== Exactly-Once Processing + +Kafka Transactions API also allows managing consumer offsets inside a transaction, together with produced messages. +This in turn enables coupling a consumer with a transactional producer in a consume-transform-produce pattern, +also known as exactly-once processing. +It means that an application consumes messages from a topic-partition, processes them, publishes the results to a topic-partition, +and commits offsets of the consumed messages in a transaction. + +The `KafkaTransactions` emitter also provides a way to apply exactly-once processing to an incoming Kafka message inside a transaction. + +The following example includes a batch of Kafka records inside a transaction. + +.... +mp.messaging.outgoing.tx-out-example.transactional.id=example-tx-producer +mp.messaging.incoming.in-channel.batch=true +mp.messaging.incoming.in-channel.commit-strategy=ignore +mp.messaging.incoming.in-channel.failure-strategy=ignore +.... + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaExactlyOnceProcessor.java[indent=0] +---- + +If the processing completes successfully, before committing the transaction, the topic partition offsets of the given batch message will be committed to the transaction. + +If the processing needs to abort, after aborting the transaction, the consumer's position is reset to the last committed offset, effectively resuming the consumption from that offset. +If no consumer offset has been committed, the consumer's position is reset to the beginning of the topic, even if the offset reset policy is `latest`. + +[IMPORTANT] +==== + +When using exactly-once processing, consumed message offset commits are handled by the transaction and therefore `commit-strategy` needs to be `ignore`. + +==== + +Any strategy can be employed for the `failure-strategy`. +Note that the `Uni` returned from the `#withTransaction` will yield a failure if the transaction fails and is aborted. + +The application can choose to handle the error case, but for the message consumption to continue, `Uni` returned from the `@Incoming` method must not result in failure. +`KafkaTransactions#withTransactionAndAck` method will ack and nack the message but will not stop the reactive stream. +Ignoring the failure simply resets the consumer to the last committed offsets and resumes the processing from there. + +Synchronous variants `withTransactionAndAwait` are also available for exactly-once processing, +accepting `IncomingKafkaRecordMetadata` or `IncomingKafkaRecordBatchMetadata` for offset management within the transaction. + +[NOTE] +==== + +It is recommended to use exactly-once processing along with the batch consumption mode. +While it is possible to use it with a single Kafka message, it'll have a significant performance impact. + +==== + +== Pooled Producer for Concurrent Transactions + +By default, `KafkaTransactions` uses a single transactional producer and a global lock, meaning only one transaction can be in progress at a time. +This limits throughput when consuming from multiple partitions concurrently. + +The *pooled producer* mode uses a pool of Kafka producers, each with its own `transactional.id`. +Each transaction reserves a producer from the pool for the duration of the transaction, enabling concurrent exactly-once processing. + +To enable pooled producer mode, set `pooled-producer.enabled` to `true` on the outgoing channel. +Combined with incoming channel `batch` and `concurrency`, multiple partitions can be processed in parallel, +each with its own independent transaction: + +[source,properties] +---- +mp.messaging.outgoing.tx-out-example.transactional.id=my-tx-producer +mp.messaging.outgoing.tx-out-example.pooled-producer.enabled=true + +mp.messaging.incoming.in-channel.ordered=partition +mp.messaging.incoming.in-channel.commit-strategy=ignore +mp.messaging.incoming.in-channel.failure-strategy=ignore +---- + +The `KafkaTransactions` API is the same as for regular exactly-once processing. +The outgoing record's partition defaults to the incoming record's partition: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPooledExactlyOnceProcessor.java[indent=0] +---- + +On commit or abort, the producer is returned to the pool and can be reused for another transaction. +Only the partitions involved in the transaction are reset on abort, so other concurrent transactions are unaffected. + +The pool grows lazily to match actual concurrency, up to `pooled-producer.max-pool-size` (default 10). +Each inner producer gets a unique `transactional.id` derived from the base value, e.g. `my-tx-producer-1`, `my-tx-producer-2`, etc. +Producers are reused across transactions. + +You can also pre-create producers at startup with `pooled-producer.initial-pool-size` (default 0). +Pre-created producers respect the `lazy-client` setting, so with `lazy-client=false` (default), they eagerly initialize the Kafka producer and call `initTransactions()` at startup. + +[source,properties] +---- +mp.messaging.outgoing.tx-out-example.pooled-producer.max-pool-size=20 +mp.messaging.outgoing.tx-out-example.pooled-producer.initial-pool-size=5 +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/kafka/writing-kafka-records.adoc b/content/docs/smallrye-reactive-messaging/latest/kafka/writing-kafka-records.adoc new file mode 100644 index 000000000..6d27eee5b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/kafka/writing-kafka-records.adoc @@ -0,0 +1,354 @@ += Writing Kafka Records +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka Connector can write Reactive Messaging `Messages` as Kafka +Records. + +== Example + +Let’s imagine you have a Kafka broker running, and accessible using the +`kafka:9092` address (by default it would use `localhost:9092`). +Configure your application to write the messages from the `prices` +channel into a Kafka _topic_ as follows: + +[source,properties] +---- +kafka.bootstrap.servers=kafka:9092 # <1> + +mp.messaging.outgoing.prices-out.connector=smallrye-kafka # <2> +mp.messaging.outgoing.prices-out.value.serializer=org.apache.kafka.common.serialization.DoubleSerializer # <3> +mp.messaging.outgoing.prices-out.topic=prices # <4> +---- + +[arabic] +. Configure the broker location. You can configure it globally or per +channel +. Configure the connector to manage the `prices` channel +. Sets the (Kafka) serializer to encode the message payload into the +record’s value +. Make sure the topic name is `prices` (and not the default +`prices-out`) + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The serialization is handled by the underlying Kafka Client. You need to +configure the: + +* `mp.messaging.outgoing.++[++channel-name++]++.value.serializer` to configure +the value serializer (mandatory) +* `mp.messaging.outgoing.++[++channel-name++]++.key.serializer` to configure +the key serializer (optional, default to `String`) + +If you want to use a custom serializer, add it to your `CLASSPATH` and +configure the associate attribute. + +By default, the written record contains: + +* the `Message` payload as _value_ +* no key, or the key configured using the `key` attribute or the key +passed in the metadata attached to the `Message` +* the timestamp computed for the system clock (`now`) or the timestamp +passed in the metadata attached to the `Message` + +== Sending key/value pairs + +In the Kafka world, it’s often necessary to send _records_, i.e. a +key/value pair. The connector provides the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/Record.html[`io.smallrye.reactive.messaging.kafka.Record`] +class that you can use to send a pair: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRecordExample.java[tags=code,indent=0] +---- + +When the connector receives a message with a `Record` payload, it +extracts the key and value from it. The configured serializers for the +key and the value must be compatible with the record’s key and value. +Note that the `key` and the `value` can be `null`. It is also possible +to create a record with a `null` key AND a `null` value. + +If you need more control on the written records, use +`OutgoingKafkaRecordMetadata`. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/OutgoingKafkaRecordMetadata.html[`OutgoingKafkaRecordMetadata`] +to influence how the message is going to be written to Kafka. For example, +you can add Kafka headers, configure the record key… + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Propagating Record Key + +When processing messages, you can propagate incoming record key to the +outgoing record. + +Consider the following example method, which consumes messages from the +channel `in`, transforms the payload, and writes the result to the +channel `out`. + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceProcessor.java[tags=code,indent=0] +---- + +Enabled with +`mp.messaging.outgoing.++[++channel-name++]++.propagate-record-key=true` +configuration, record key propagation produces the outgoing record with +the same _key_ as the incoming record. + +If the outgoing record already contains a _key_, it *won’t be +overridden* by the incoming record key. If the incoming record does +have a _null_ key, the `mp.messaging.outgoing.++[++channel-name++]++.key` +property is used. + +== Propagating Record headers + +You can also propagate incoming record headers to the outgoing record, by specifying the list of headers to be considered. + +`mp.messaging.outgoing.++[++channel-name++]++.propagate-headers=Authorization,Proxy-Authorization` + +If the ougoing record already defines a header with the same key, it won't be overriden by the incoming header. + +== Dynamic topic names + +Sometimes it is desirable to select the destination of a message +dynamically. In this case, you should not configure the topic inside +your application configuration file, but instead, use the outbound +metadata to set the name of the topic. + +For example, you can route to a dynamic topic based on the incoming +message: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaOutboundDynamicTopicExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +Kafka acknowledgement can take times depending on the configuration. +Also, it stores in-memory the records that cannot be written. + +By default, the connector does wait for Kafka to acknowledge the record +to continue the processing (acknowledging the received `Message`). You +can disable this by setting the `waitForWriteCompletion` attribute to +`false`. + +Note that the `acks` attribute has a huge impact on the record +acknowledgement. + +If a record cannot be written, the message is `nacked`. + +== Back-pressure and inflight records + +The Kafka outbound connector handles back-pressure monitoring the number +of in-flight messages waiting to be written to the Kafka broker. The +number of in-flight messages is configured using the +`max-inflight-messages` attribute and defaults to 1024. + +The connector only sends that amount of messages concurrently. No other +messages will be sent until at least one in-flight message gets +acknowledged by the broker. Then, the connector writes a new message to +Kafka when one of the broker’s in-flight messages get acknowledged. Be +sure to configure Kafka’s `batch.size` and `linger.ms` accordingly. + +You can also remove the limit of inflight messages by setting +`max-inflight-messages` to `0`. However, note that the Kafka Producer +may block if the number of requests reaches +`max.in.flight.requests.per.connection`. + +== Handling serialization failures + +For Kafka producer client serialization failures are not recoverable, +thus the message dispatch is not retried. However, using schema +registries, serialization may intermittently fail to contact the +registry. In these cases you may need to apply a failure strategy for +the serializer. To achieve this, create a CDI bean implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/SerializationFailureHandler.html[`SerializationFailureHandler`] +interface: + +[source,java] +---- +@ApplicationScoped +@Identifier("failure-fallback") // Set the name of the failure handler +public class MySerializationFailureHandler + implements SerializationFailureHandler { // Specify the expected type + + @Override + public byte[] decorateSerialization(Uni serialization, String topic, + boolean isKey, String serializer, + Object data, Headers headers) { + return serialization + .onFailure().retry().atMost(3) + .await().atMost(Duration.ofMillis(200)); + } +} +---- + +The bean must be exposed with the `@Identifier` qualifier specifying the +name of the bean. Then, in the connector configuration, specify the +following attribute: + +* `mp.messaging.incoming.$channel.key-serialization-failure-handler`: +name of the bean handling serialization failures happening for the +record’s key +* `mp.messaging.incoming.$channel.value-serialization-failure-handler`: +name of the bean handling serialization failures happening for the +record’s value, + +The handler is called with the serialization action as a `Uni`, the +record’s topic, a boolean indicating whether the failure happened on a +key, the class name of the deserializer that throws the exception, the +corrupted data, the exception, and the records headers. Failure +strategies like retry, providing a fallback value or applying timeout +can be implemented. Note that the method must await on the result and +return the serialized byte array. Alternatively, the handler can +implement `decorateSerialization` method which can return a fallback +value. + +== Sending Cloud Events + +The Kafka connector supports https://cloudevents.io/[Cloud Events]. +The connector sends the outbound record as Cloud Events if: + +* the message metadata contains an +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` +instance, +* the channel configuration defines the `cloud-events-type` and +`cloud-events-source` attributes. + +You can create +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` instances +using: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCloudEventProcessor.java[indent=0] +---- + +If the metadata does not contain an id, the connector generates one +(random UUID). The `type` and `source` can be configured per message or +at the channel level using the `cloud-events-type` and +`cloud-events-source` attributes. Other attributes are also +configurable. + +The metadata can be contributed by multiple methods, however, you must +always retrieve the already existing metadata to avoid overriding the +values: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCloudEventMultipleProcessors.java[indent=0] +---- + +By default, the connector sends the Cloud Events using the _binary_ +format. You can write _structured_ Cloud Events by setting the +`cloud-events-mode` to `structured`. Only JSON is supported, so the +created records had its `content-type` header set to +`application/cloudevents{plus}json; charset=UTF-8` When using the +_structured_ mode, the value serializer must be set to +`org.apache.kafka.common.serialization.StringSerializer`, otherwise the +connector reports the error. In addition, in _structured_, the connector +maps the message’s payload to JSON, except for `String` passed directly. + +The record’s key can be set in the channel configuration (`key` +attribute), in the `OutgoingKafkaRecordMetadata` or using the +`partitionkey` Cloud Event attribute. + +[NOTE] +==== + +you can disable the Cloud Event support by setting the `cloud-events` +attribute to `false` + +==== + +== Using `ProducerRecord` + +Kafka built-in type +https://kafka.apache.org/26/javadoc/index.html?org/apache/kafka/clients/producer/ProducerRecord.html[ProducerRecord++<++K,V++>++] +can also be used for producing messages: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaProducerRecordExample.java[tags=code,indent=0] +---- + +[WARNING] +==== + +This is an advanced feature. The `ProducerRecord` is sent to Kafka as +is. Any possible metadata attached through `Message++<++ProducerRecord++<++K, V++>>++` are ignored and lost. + +==== + +== Producer Interceptors + +Producer interceptors can be configured for Kafka producer clients using the standard `interceptor.classes` property. +Configured classes will be instantiated by the Kafka producer on client creation. + +Alternatively, producer clients can be configured with a CDI managed-bean implementing link:https://javadoc.io/doc/org.apache.kafka/kafka-clients/{javadoc-version}/org/apache/kafka/clients/producer/ProducerInterceptor.html[`org.apache.kafka.clients.producer.ProducerInterceptor`] interface: + +To achieve this, the bean must be exposed with the `@Identifier` qualifier specifying the name of the bean: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/ProducerInterceptorBeanExample.java[indent=0] +---- + +Then, in the channel configuration, specify the following attribute: +`mp.messaging.incoming.$channel.interceptor-bean=my-producer-interceptor`. + +[WARNING] +==== + +The `onSend` method will be called on the producer _sending thread_ and `onAcknowledgement` will be called on the _Kafka producer I/O thread_. +In both cases if implementations are not fast, sending of messages could be delayed. + +==== + +== Configuration Reference + +include::{generated-dir}/smallrye-kafka-outgoing.adoc[indent=0] + +You can also pass any property supported by the underlying https://kafka.apache.org/documentation/#producerconfigs[Kafka +producer]. + +For example, to configure the `batch.size` property, use: + +[source,properties] +---- +mp.messaging.outgoing.[channel].batch.size=32768 +---- + +Some producer client properties are configured to sensible default +values: + +If not set, `reconnect.backoff.max.ms` is set to `10000` to avoid high +load on disconnection. + +If not set, `key.serializer` is set to +`org.apache.kafka.common.serialization.StringSerializer`. + +If not set, producer `client.id` is generated as +`kafka-producer-++[++channel++]++`. diff --git a/content/docs/smallrye-reactive-messaging/latest/mqtt/client-customization.adoc b/content/docs/smallrye-reactive-messaging/latest/mqtt/client-customization.adoc new file mode 100644 index 000000000..768513593 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/mqtt/client-customization.adoc @@ -0,0 +1,21 @@ += Customizing the underlying MQTT client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying MQTT Client configuration by +_producing_ an instance of +`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`: + +[source,java] +---- +include::{examples-dir}/mqtt/customization/ClientProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.client-options-name=my-options +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/mqtt/mqtt.adoc b/content/docs/smallrye-reactive-messaging/latest/mqtt/mqtt.adoc new file mode 100644 index 000000000..afa02d06f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/mqtt/mqtt.adoc @@ -0,0 +1,44 @@ += MQTT Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT connector adds support for MQTT to Reactive Messaging. + +It lets you receive messages from an MQTT server or broker as well as +send MQTT messages. The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +Client]. + +== Introduction + +http://mqtt.org/[MQTT] is a machine-to-machine (M2M)/"Internet of +Things" connectivity protocol. It was designed as an extremely +lightweight publish/subscribe messaging transport. + +The MQTT Connector allows consuming messages from MQTT as well as +sending MQTT messages. + +== Using the MQTT connector + +To you the MQTT Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-mqtt + {project-version} + +---- + +The connector name is: `smallrye-mqtt`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-mqtt + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-mqtt +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/mqtt/receiving-mqtt-messages.adoc b/content/docs/smallrye-reactive-messaging/latest/mqtt/receiving-mqtt-messages.adoc new file mode 100644 index 000000000..5a1e176bb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/mqtt/receiving-mqtt-messages.adoc @@ -0,0 +1,114 @@ += Receiving messages from MQTT +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT Connector connects to a MQTT broker or router, and forward the +messages to the Reactive Messaging application. It maps each of them +into Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a MQTT server/broker running, and accessible +using the `mqtt:1883` address (by default it would use +`localhost:1883`). Configure your application to receive MQTT messages +on the `prices` channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-mqtt # <1> +mp.messaging.incoming.prices.host=mqtt # <2> +mp.messaging.incoming.prices.port=1883 # <3> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the broker/server host name. +. Configure the broker/server port. 1883 is the default. + +[NOTE] +==== + +You don’t need to set the MQTT topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. + +==== + +[NOTE] +==== + +It is generally recommended to set the `client-id`. By default, the connector is generating a unique `client-id`. + +==== + +[IMPORTANT] +==== + +Message coming from MQTT have a `byte++[]++` payload. + +==== + +Then, your application receives `Message++<++byte++[]>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/mqtt/inbound/MqttPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++byte++[]>++`: + +[source,java] +---- +include::{examples-dir}/mqtt/inbound/MqttPriceMessageConsumer.java[indent=0] +---- + +The inbound topic can use the https://mosquitto.org/man/mqtt-7.html[MQTT +wildcards] (`{plus}` and `#`). + +== Deserialization + +The MQTT Connector does not handle the deserialization and creates a +`Message++<++byte++[]>++`. + +== Inbound Metadata + +The MQTT connector does not provide inbound metadata. + +== Failure Management + +If a message produced from a MQTT message is _nacked_, a failure +strategy is applied. The MQTT connector supports 3 strategies: + +* `fail` - fail the application, no more MQTT messages will be +processed. (default) The offset of the record that has not been +processed correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. + +== Configuration Reference + +include::{generated-dir}/smallrye-mqtt-incoming.adoc[indent=0] + +The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +client]. So +you can pass any attribute supported by this client. + +[IMPORTANT] +==== + +A single instance of `MqttClient` and a single connection is used for +each `host` / `port` / `server-name` / `client-id`. This client is +reused for both the inbound and outbound connectors. + +==== + +[IMPORTANT] +==== + +Using `auto-clean-session=false` the MQTT Connector send Subscribe requests +to the broken only if a Persistent Session is not present (like on the first +connection). This means that if a Session is already present (maybe for a +previous run) and you add a new incoming channel, this will not be subscribed. +Beware to check always the subscription present on Broker when use +`auto-clean-session=false`. + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/mqtt/sending-messages-to-mqtt.adoc b/content/docs/smallrye-reactive-messaging/latest/mqtt/sending-messages-to-mqtt.adoc new file mode 100644 index 000000000..bc8017414 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/mqtt/sending-messages-to-mqtt.adoc @@ -0,0 +1,94 @@ += Sending messages to MQTT +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT Connector can write Reactive Messaging `Messages` as MQTT +Message. + +== Example + +Let’s imagine you have a MQTT server/broker running, and accessible +using the `mqtt:1883` address (by default it would use +`localhost:1883`). Configure your application to write the messages from +the `prices` channel into a MQTT Messages as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.type=smallrye-mqtt +mp.messaging.outgoing.prices.host=mqtt +mp.messaging.outgoing.prices.port=1883 +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the broker/server host name. +. Configure the broker/server port. 1883 is the default. + +[NOTE] +==== + +You don’t need to set the MQTT topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. +NOTE: It is generally recommended to set the `client-id`. By default, +the connector is generating a unique `client-id`. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/mqtt/outbound/MqttPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/mqtt/outbound/MqttPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The `Message` sent to MQTT can have various payload types: + +* https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`]: +JSON string encoded as `byte++[]++` +* https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`]: +JSON string encoded as `byte++[]++` +* `java.lang.String` and Java primitive types: `toString` encoded as +`byte++[]++` +* `byte++[]++` +* complex objects: The objects are encoded to JSON and passed as +`byte++[]++` + +== Outbound Metadata + +The MQTT connector does not provide outbound metadata. + +== Acknowledgement + +MQTT acknowledgement depends on the QoS level. The message is +acknowledged when the broker indicated the successful reception of the +message (or immediately if the level of QoS does not support +acknowledgment). + +If a MQTT message cannot be sent to the broker, the message is `nacked`. + +== Configuration Reference + +include::{generated-dir}/smallrye-mqtt-outgoing.adoc[indent=0] + +The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +client]. So +you can pass any attribute supported by this client. + +[IMPORTANT] +==== + +A single instance of `MqttClient` and a single connection is used for +each `host` / `port` / `server-name` / `client-id`. This client is +reused for both the inbound and outbound connectors. + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/pulsar/client-configuration.adoc b/content/docs/smallrye-reactive-messaging/latest/pulsar/client-configuration.adoc new file mode 100644 index 000000000..c0e021963 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/pulsar/client-configuration.adoc @@ -0,0 +1,98 @@ += Configuring Pulsar clients, consumers and producers +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Pulsar clients, consumers and producers are very customizable to configure how a Pulsar client application behaves. + +The Pulsar connector creates a Pulsar client and, a consumer or a producer per channel, each with sensible defaults to ease their configuration. +Although the creation is handled, all available configuration options remain configurable through Pulsar channels. + +While idiomatic way of creating `PulsarClient`, `PulsarConsumer` or `PulsarProducer` are through builder APIs, in its essence +those APIs build each time a configuration object, to pass onto the implementation. +Those are link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-original/{javadoc-version}/org/apache/pulsar/client/impl/conf/ClientConfigurationData.html[`ClientConfigurationData`], +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-original/{javadoc-version}/org/apache/pulsar/client/impl/conf/ConsumerConfigurationData.html[`ConsumerConfigurationData`], +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-original/{javadoc-version}/org/apache/pulsar/client/impl/conf/ProducerConfigurationData.html[`ProducerConfigurationData`]. + +Pulsar Connector allows receiving properties for those configuration objects directly. +For example, the broker authentication information for `PulsarClient` is received using `authPluginClassName` and `authParams` properties. +In order to configure the authentication for the incoming channel `data` : + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.serviceUrl=pulsar://localhost:6650 +mp.messaging.incoming.data.topic=topic +mp.messaging.incoming.data.subscriptionInitialPosition=Earliest +mp.messaging.incoming.data.schema=INT32 +mp.messaging.incoming.data.authPluginClassName=org.apache.pulsar.client.impl.auth.AuthenticationBasic +mp.messaging.incoming.data.authParams={"userId":"superuser","password":"admin"} +---- + +Note that the Pulsar consumer property `subscriptionInitialPosition` is also configured with the `Earliest` value which represents with enum value `SubscriptionInitialPosition.Earliest`. + +This approach covers most of the configuration cases. +However, non-serializable objects such as `CryptoKeyReader`, `ServiceUrlProvider` etc. cannot be configured this way. +The Pulsar Connector allows taking into account instances of Pulsar configuration data objects – +`ClientConfigurationData`, `ConsumerConfigurationData`, `ProducerConfigurationData`: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=consumer,indent=0] +---- + +This instance is retrieved and used to configure the client used by the connector. +You need to indicate the name of the client using the `client-configuration`, `consumer-configuration` or `producer-configuration` attributes: + +[source,properties] +---- +mp.messaging.incoming.prices.consumer-configuration=my-consumer-options +---- + +If no `++[++client++|++consumer++|++producer++]++-configuration` is configured, the connector will look for instances identified with the channel name: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=client,indent=0] +---- + +You also can provide a `Map++<++String, Object++>++` containing configuration values by key: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=producer,indent=0] +---- + +Different configuration sources are loaded in the following order of precedence, from the least important to the highest: + +[arabic] +. `Map++<++String, Object++>++` config map produced with default config identifier, `default-pulsar-client`, `default-pulsar-consumer`, `default-pulsar-producer`. +. `Map++<++String, Object++>++` config map produced with identifier in the configuration or channel name +. `++[++Client++|++Producer++|++Consuemr++]++ConfigurationData` object produced with identifier in the channel configuration or the channel name +. Channel configuration properties named with `++[++Client++|++Producer++|++Consuemr++]++ConfigurationData` field names. + +Following is the configuration reference for the `PulsarClient`. + +Corresponding sections list the xref:pulsar/receiving-pulsar-messages.adoc#configuration-reference[Consumer Configuration Reference] and +xref:pulsar/sending-messages-to-pulsar.adoc#configuration-reference[Producer Configuration Reference]. +Configuration properties not configurable in configuration files (non-serializable) is noted in the column `Config file`. + +== Shared Resources + +The Pulsar connector shares an event loop group and DNS resolver across all Pulsar clients using +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-api/{javadoc-version}/org/apache/pulsar/client/api/PulsarClientSharedResources.html[`PulsarClientSharedResources`]. +This reduces thread usage and avoids creating separate thread pools per client. + +By default, the connector creates and manages a `PulsarClientSharedResources` instance with shared `EventLoopGroup` and `DnsResolver`. +To customize the shared resources, produce a CDI bean of type `PulsarClientSharedResources`: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=shared-resources,indent=0] +---- + +When a `PulsarClientSharedResources` bean is provided, the connector uses it for all Pulsar clients and does not manage its lifecycle. +The application is responsible for closing the shared resources when they are no longer needed. + +== `PulsarClient` Configuration Reference + +include::{partialsdir}/pulsar/config/smallrye-pulsar-client.adoc[] diff --git a/content/docs/smallrye-reactive-messaging/latest/pulsar/client-service.adoc b/content/docs/smallrye-reactive-messaging/latest/pulsar/client-service.adoc new file mode 100644 index 000000000..a50e7db91 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/pulsar/client-service.adoc @@ -0,0 +1,24 @@ += PulsarClientService +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For advanced use cases, SmallRye Reactive Messaging provides a bean of +type `PulsarClientService` that you can inject: + +[source,java] +---- +@Inject +PulsarClientService pulsarClients; +---- + +From there, you can obtain +`org.apache.pulsar.client.api.Consumer`, +`org.apache.pulsar.client.api.Producer` and `org.apache.pulsar.client.api.PulsarClient` by channel name. + +[IMPORTANT] +==== + +Note that the https://pulsar.apache.org/docs/3.0.x/admin-api-get-started/[`PulsarAdmin`] is a separate library and the Pulsar connector doesn't provide it out-of-the-box. +You'd need to explicitly add the dependency, i.e. `org.apache.pulsar:pulsar-client-admin-original` artifact. + +==== diff --git a/content/docs/smallrye-reactive-messaging/latest/pulsar/health.adoc b/content/docs/smallrye-reactive-messaging/latest/pulsar/health.adoc new file mode 100644 index 000000000..090f18c9c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/pulsar/health.adoc @@ -0,0 +1,24 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar connector reports the startup, readiness and liveness of each channel managed by the connector: + +* *Startup & Readiness* For both inbound and outbound, probes report _OK_ when the +connection with the broker is established. +* *Liveness* For both inbound and outbound, the liveness check verifies that the +connection is established *AND* that no failures have been caught. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +Note that a message processing failures _nacks_ the message which is +then handled by the failure-strategy. It is the responsibility of the +failure-strategy to report the failure and influence the outcome of the +liveness checks. The `fail` failure strategy reports the failure and so +the liveness check will report the failure. diff --git a/content/docs/smallrye-reactive-messaging/latest/pulsar/pulsar.adoc b/content/docs/smallrye-reactive-messaging/latest/pulsar/pulsar.adoc new file mode 100644 index 000000000..29e31c8b8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/pulsar/pulsar.adoc @@ -0,0 +1,64 @@ += Apache Pulsar Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar connector adds support for Apache Pulsar to Reactive Messaging. With +it you can consume Pulsar Messages as well as produce _message_ into Pulsar. + +https://pulsar.apache.org/[Apache Pulsar] an open-source, distributed messaging +and streaming platform built for the cloud. For more details about Pulsar, check the +https://pulsar.apache.org/docs/next/concepts-overview/[documentation]. + +Pulsar implements the publish-subscribe pattern. +Producers publish _messages_ to __topic__s. +Consumers create __subscription__s to those topics to receive and process incoming messages, +and send _acknowledgments_ to the broker when processing is finished. + +When a _subscription_ is created, Pulsar retains all messages, even if the consumer is disconnected. +The retained messages are discarded only when a consumer acknowledges that all these messages are processed successfully. + +A Pulsar _message_ consists of + +* *value*, payload data that message contains, while Pulsar messages contain payloads as unstructured byte array, +a *schema* is applied to write and read with an enforced data structure +* *key* of type string, used for partitioning +* *properties*, optional key/value map +* *topic*, the topic that the message is published to +* *producer name*, the name of the producer who produces the message +* *message ID*, the ID assigned by bookies to a message as soon as the message is persistently stored +* *sequence ID*, the ID assigned by producers, indicating its order in that sequence +* *publish time*, timestamp automatically added by the producer +* *event time*, optional timestamp added by the application + +A Pulsar cluster consists of +- One or more **broker**s, which are stateless components +- A *metadata store* for maintaining topic metadata, schema, coordination and cluster configuration. +By default, a Zookeeper cluster is used, except the standalone mode +- A ensemble of *bookies* used for persistent storage of messages + +== Using the Pulsar Connector + +To use the Pulsar Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-pulsar + {project-version} + +---- + +The connector name is: `smallrye-pulsar`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-pulsar + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-pulsar +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/pulsar/receiving-pulsar-messages.adoc b/content/docs/smallrye-reactive-messaging/latest/pulsar/receiving-pulsar-messages.adoc new file mode 100644 index 000000000..bafa43e0b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/pulsar/receiving-pulsar-messages.adoc @@ -0,0 +1,196 @@ += Receiving messages from Pulsar +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar Connector connects to a Pulsar broker using a Pulsar client and creates consumers to +receive messages from Pulsar brokers and it maps each of them into Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a Pulsar broker running, and accessible +using the `pulsar:6650` address (by default it would use +`localhost:6650`). Configure your application to receive Pulsar messages +on the `prices` channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-pulsar # <1> +mp.messaging.incoming.prices.serviceUrl=pulsar://pulsar:6650 # <2> +mp.messaging.incoming.prices.schema=DOUBLE # <3> +mp.messaging.incoming.prices.subscriptionInitialPosition=Earliest # <4> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the Pulsar broker service url. +. Configure the schema to consume prices as Double. +. Make sure consumer subscription starts receiving messages from the `Earliest` position. + +[NOTE] +==== + +You don’t need to set the Pulsar topic, nor the consumer name. +By default, the connector uses the channel name (`prices`). +You can configure the `topic` and `consumerName` attributes to override them. + +==== + +[NOTE] +==== + +In Pulsar, consumers need to provide a `subscriptionName` for topic subscriptions. +If not provided the connector is generating a unique *subscription name*. + +==== + +Then, your application can receive the `double` payload directly: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarPriceMessageConsumer.java[indent=0] +---- + +== Consumer Configuration + +The Pulsar Connector allows flexibly configuring the underlying Pulsar consumer. +One of the ways is to set consumer properties directly on the channel configuration. +The list of available configuration properties are listed in xref:#configuration-reference[Configuration Reference]. + +See the xref:pulsar/client-configuration.adoc[Configuring Pulsar consumers, producers and clients] for more information. + +== Deserialization and Pulsar Schema + +The Pulsar Connector allows configuring Schema configuration for the underlying Pulsar consumer. +See the xref:pulsar/schema-configuration.adoc[Configuring the schema used for Pulsar channels] for more information. + +== Inbound Metadata + +The incoming Pulsar messages include an instance of `PulsarIncomingMessageMetadata` in the metadata. +It provides the key, topic, partitions, headers and so on: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a message produced from a Pulsar Message is _acknowledged_, the connector sends an https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#acknowledgment[acknowledgement request] to the Pulsar broker. +All Reactive Messaging messages need to be _acknowledged_, which is handled automatically in most cases. +Acknowledgement requests can be sent to the Pulsar broker using the following two strategies: + +* *Individual acknowledgement* is the default strategy, an acknowledgement request is to the broker for each message. +* *Cumulative acknowledgement*, configured using `ack-strategy=cumulative`, the consumer only acknowledges the last message it received. +All messages in the stream up to (and including) the provided message are not redelivered to that consumer. + +== Failure Management + +If a message produced from a Pulsar message is _nacked_, a failure strategy is applied. +The Pulsar connector supports 4 strategies: + +* `nack` _(default)_ sends https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#negative-acknowledgment[negative acknowledgment] to the broker, triggering the broker to redeliver this message to the consumer. +The negative acknowledgment can be further configured using `negativeAckRedeliveryDelayMicros` and `negativeAck.redeliveryBackoff` properties. +* `fail` fail the application, no more messages will be processed. +* `ignore` the failure is logged, but the acknowledgement strategy will be applied and the processing will continue. +* `continue` the failure is logged, but processing continues without applying acknowledgement or negative acknowledgement. This strategy can be used with xref:#acknowledgement-timeout[acknowledgement timeout] configuration. +* `reconsume-later` sends the message to the https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#retry-letter-topic[retry letter topic] using the `reconsumeLater` API to be reconsumed with a delay. +The delay can be configured using the `reconsumeLater.delay` property and defaults to 3 seconds. +Custom delay or properties per message can be configured by adding an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/pulsar/PulsarReconsumeLaterMetadata.html[`PulsarReconsumeLaterMetadata`] to the failure metadata. + +For example the following configuration for the incoming channel `data` uses `reconsumer-later` failure strategy with default delays of 60 seconds: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.serviceUrl=pulsar://localhost:6650 +mp.messaging.incoming.data.topic=data +mp.messaging.incoming.data.schema=INT32 +mp.messaging.incoming.data.failure-strategy=reconsume-later +mp.messaging.incoming.data.retryEnable=true +mp.messaging.incoming.data.reconsumeLater.delay=60 // in seconds +mp.messaging.incoming.data.deadLetterPolicy.retryLetterTopic=data-retry +mp.messaging.incoming.data.deadLetterPolicy.maxRedeliverCount=2 +---- + +=== Acknowledgement timeout + +Similar to the negative acknowledgement, with the https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#acknowledgment-timeout[acknowledgment timeout] mechanism, the Pulsar client tracks the unacknowledged messages, +for the given _ackTimeout_ period and sends _redeliver unacknowledged messages request_ to the broker, thus the broker resends the unacknowledged messages to the consumer. + +To configure the timeout and redelivery backoff mechanism you can set `ackTimeoutMillis` and `ackTimeout.redeliveryBackoff` properties. +The `ackTimeout.redeliveryBackoff` value accepts comma separated values of min delay in milliseconds, max delay in milliseconds and multiplier respectively: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.failure-strategy=continue +mp.messaging.incoming.data.ackTimeoutMillis=10000 +mp.messaging.incoming.data.ackTimeout.redeliveryBackoff=1000,60000,2 +---- + +=== Dead-letter topic + +The https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#dead-letter-topic[dead letter topic] pushes messages that are not consumed successfully to a dead letter topic an continue message consumption. +Note that dead letter topic can be used in different message redelivery methods, such as acknowledgment timeout, negative acknowledgment or retry letter topic. + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.failure-strategy=nack +mp.messaging.incoming.data.deadLetterPolicy.maxRedeliverCount=2 +mp.messaging.incoming.data.deadLetterPolicy.deadLetterTopic=my-dead-letter-topic +mp.messaging.incoming.data.deadLetterPolicy.initialSubscriptionName=my-dlq-subscription +mp.messaging.incoming.data.subscriptionType=Shared +---- + +[IMPORTANT] +==== + +_Negative acknowledgment_ or _acknowledgment timeout_ methods for redelivery will redeliver the whole batch of messages containing at least an unprocessed message. +See xref:pulsar/sending-messages-to-pulsar.adoc#producer-batching[producer batching] for more information. + +==== + +== Receiving Pulsar Messages in Batches + +By default, incoming methods receive each Pulsar message individually. +You can enable batch mode using `batchReceive=true` property, or setting a `batchReceivePolicy` in consumer configuration. + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMessageBatchExample.java[tags=code,indent=0] +---- + +Or you can directly receive the list of payloads to the consume method: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMessageBatchPayloadExample.java[tags=code,indent=0] +---- + +=== Accessing metadata of batch records + +When receiving records in batch mode, the metadata of each record is accessible through the `PulsarIncomingBatchMessageMetadata` : + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMessageBatchExample.java[tags=batch,indent=0] +---- + +Like in this example, this can be useful to propagate the tracing information of each record. + +== Configuration Reference + +include::{generated-dir}/smallrye-pulsar-incoming.adoc[indent=0] + +In addition to the configuration properties provided by the connector, +following Pulsar consumer properties can also be set on the channel: + +include::{partialsdir}/pulsar/config/smallrye-pulsar-consumer.adoc[] diff --git a/content/docs/smallrye-reactive-messaging/latest/pulsar/schema-configuration.adoc b/content/docs/smallrye-reactive-messaging/latest/pulsar/schema-configuration.adoc new file mode 100644 index 000000000..67aaf89d5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/pulsar/schema-configuration.adoc @@ -0,0 +1,57 @@ += Configuring the schema used for Pulsar channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Pulsar messages are stored with payloads as unstructured byte array. +A Pulsar *schema* defines how to serialize structured data to the raw message bytes +The *schema* is applied in producers and consumers to write and read with an enforced data structure. +It serializes data into raw bytes before they are published to a topic and deserializes the raw bytes before they are delivered to consumers. + +Pulsar uses a schema registry as a central repository to store the registered schema information, +which enables producers/consumers to coordinate the schema of a topic's messages through brokers. +By default the Apache BookKeeper is used to store schemas. + +Pulsar API provides built-in schema information for a number of +https://pulsar.apache.org/docs/3.0.x/schema-understand#primitive-type[primitive types] +and https://pulsar.apache.org/docs/3.0.x/schema-understand#complex-type[complex types] such as Key/Value, Avro and Protobuf. + +The Pulsar Connector allows specifying the schema as a primitive type using the `schema` property: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-pulsar +mp.messaging.incoming.prices.schema=INT32 + +mp.messaging.outgoing.prices-out.connector=smallrye-pulsar +mp.messaging.outgoing.prices-out.schema=DOUBLE +---- + +If the value for the `schema` property matches a https://javadoc.io/doc/org.apache.pulsar/pulsar-client-api/latest/org/apache/pulsar/common/schema/SchemaType.html[Schema Type] +a simple schema will be created with that type and will be used for that channel. + +The Pulsar Connector allows configuring complex schema types by providing `Schema` beans through CDI, identified with the `@Identifier` qualifier. + +For example the following bean provides an Avro schema and a Key/Value schema: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarSchemaProvider.java[indent=0] +---- + +To configure the incoming channel `users` with defined schema, you need to set the `schema` property to the identifier of the schema `user-schema`: + +[source,properties] +---- +mp.messaging.incoming.users.connector=smallrye-pulsar +mp.messaging.incoming.users.schema=user-schema +---- + +If no `schema` property is found, the connector looks for `Schema` beans identified with the channel name. +For example, the outgoing channel `a-channel` will use the key/value schema. + +[source,properties] +---- +mp.messaging.outgoing.a-channel.connector=smallrye-pulsar +---- + +If no schema information is provided incoming channels will use `Schema.AUTO++_++CONSUME()`, whereas outgoing channels will use `Schema.AUTO++_++PRODUCE++_++BYTES()` schemas. diff --git a/content/docs/smallrye-reactive-messaging/latest/pulsar/sending-messages-to-pulsar.adoc b/content/docs/smallrye-reactive-messaging/latest/pulsar/sending-messages-to-pulsar.adoc new file mode 100644 index 000000000..f3561a08a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/pulsar/sending-messages-to-pulsar.adoc @@ -0,0 +1,160 @@ += Sending messages to Pulsar +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar Connector can write Reactive Messaging `Message`s as Pulsar Message. + +== Example + +Let’s imagine you have a Pulsar broker running, and accessible +using the `pulsar:6650` address (by default it would use +`localhost:1883`). Configure your application to write the messages from +the `prices` channel into a Pulsar Messages as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-pulsar # <1> +mp.messaging.outgoing.prices.serviceUrl=pulsar://pulsar:6650 # <2> +mp.messaging.outgoing.prices.schema=DOUBLE # <3> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the Pulsar broker service url. +. Configure the schema to consume prices as Double. + +[NOTE] +==== + +You don’t need to set the Pulsar topic, nor the producer name. +By default, the connector uses the channel name (`prices`). +You can configure the `topic` and `producerName` attributes to override them. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarPriceMessageProducer.java[indent=0] +---- + +== Producer Configuration + +The Pulsar Connector allows flexibly configuring the underlying Pulsar producer. +One of the ways is to set producer properties directly on the channel configuration. +The list of available configuration properties are listed in xref:#configuration-reference[Configuration Reference]. + +See the xref:pulsar/client-configuration.adoc[Configuring Pulsar consumers, producers and clients] for more information. + +== Serialization and Pulsar Schema + +The Pulsar Connector allows configuring Schema configuration for the underlying Pulsar producer. +See the xref:pulsar/schema-configuration.adoc[Configuring the schema used for Pulsar channels] for more information. + +== Sending key/value pairs + +In order to send Kev/Value pairs to Pulsar, you can configure the Pulsar producer Schema with a +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-api/{javadoc-version}/org/apache/pulsar/common/schema/KeyValue.html[`org.apache.pulsar.common.schema.KeyValue`] type: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarKeyValueExample.java[tags=code,indent=0] +---- + +If you need more control on the written records, use +`PulsarOutgoingMessageMetadata`. + +== Outbound Metadata + +When sending `Message`s, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-pulsar/{javadoc-version}/io/smallrye/reactive/messaging/pulsar/PulsarOutgoingMessageMetadata.html[`PulsarOutgoingMessageMetadata`] +to influence how the message is going to be written to Pulsar. +For example, configure the record key, and set message properties: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarOutboundMetadataExample.java[tags=code,indent=0] +---- + +== OutgoingMessage + +Using link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-pulsar/{javadoc-version}/io/smallrye/reactive/messaging/pulsar/OutgoingMessage.html[`OutgoingMessage`], +is an easy way of customizing the Pulsar message to be published when dealing with payloads and not `Message`s. + +You can create an `OutgoingMessage` with key and value, or from an incoming Pulsar Message: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarOutgoingMessageExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +Upon receiving a message from a Producer, a Pulsar broker assigns a `MessageId` to the message and sends it back to the producer, +confirming that the message is published. + +By default, the connector does wait for Pulsar to acknowledge the record +to continue the processing (acknowledging the received `Message`). +You can disable this by setting the `waitForWriteCompletion` attribute to `false`. + +If a record cannot be written, the message is `nacked`. + +[IMPORTANT] +==== + +The Pulsar client automatically retries sending messages in case of failure, until the _send timeout_ is reached. +The _send timeout_ is configurable with `sendTimeoutMs` attribute and by default is is 30 seconds. + +==== + +== Back-pressure and inflight records + +The Pulsar outbound connector handles back-pressure monitoring the number +of pending messages waiting to be written to the Pulsar broker. +The number of pending messages is configured using the +`max-inflight-messages` attribute and defaults to 1000. + +The connector only sends that amount of messages concurrently. No other +messages will be sent until at least one pending message gets +acknowledged by the broker. Then, the connector writes a new message to +Pulsar when one of the broker’s pending messages get acknowledged. + +The Pulsar producer also has a limit on the number of pending messages controlled by +`maxPendingMessages` and for partitioned topics `maxPendingMessagesAcrossPartitions` producer configuration properties. +The default value for the both is `0` which means the limit is enforced by the connector and not the underlying producer. +If a `maxPendingMessagesAcrossPartitions` is set and subscribed topic is partitioned, the connector will set the `max-inflight-messages` use the producer's limit. + +[WARNING] +.Deprecation +==== + +Previously a single connector attribute `maxPendingMessages` controlled both the connector back-pressure and the Pulsar producer configuration. +The `max-inflight-messages` attribute is not the same as the Pulsar producer `maxPendingMessages` configuration property. + +==== + +== Producer Batching + +By default, the Pulsar producer batches individual messages together to be published to the broker. +You can configure batching parameters using `batchingMaxPublishDelayMicros`, `batchingPartitionSwitchFrequencyByPublishDelay`, +`batchingMaxMessages`, `batchingMaxBytes` configuration properties, or disable it completely with `batchingEnabled=false`. + +When using `Key++_++Shared` consumer subscriptions, the `batcherBuilder` can be configured to `BatcherBuilder.KEY++_++BASED`. + +== Configuration Reference + +include::{generated-dir}/smallrye-pulsar-outgoing.adoc[indent=0] + +In addition to the configuration properties provided by the connector, +following Pulsar producer properties can also be set on the channel: + +include::{partialsdir}/pulsar/config/smallrye-pulsar-producer.adoc[] diff --git a/content/docs/smallrye-reactive-messaging/latest/pulsar/transactions.adoc b/content/docs/smallrye-reactive-messaging/latest/pulsar/transactions.adoc new file mode 100644 index 000000000..d46f4e6ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/pulsar/transactions.adoc @@ -0,0 +1,89 @@ += Pulsar Transactions and Exactly-Once Processing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://pulsar.apache.org/docs/3.0.x/txn-why/[Pulsar transactions] enable event streaming applications to consume, process, and produce messages in one atomic operation. + +Transactions allow one or multiple producers to send batch of messages to multiple topics where all messages in the batch are eventually visible to any consumer, or none is ever visible to consumers. + +In order to be used, transaction support needs to be activated on the broker configuration: + +[source,properties] +---- +# used to enable transaction coordinator +transactionCoordinatorEnabled=true + +# used to create systemTopic used for transaction buffer snapshot +systemTopicEnabled=true +---- + +On the client side, the transaction support also needs to be enabled on `PulsarClient` configuration: + +[source,properties] +---- +mp.messaging.outgoing.tx-producer.enableTransaction=true +---- + +Pulsar connector provides `PulsarTransactions` custom emitter for writing records inside a transaction. + +It can be used as a regular emitter `@Channel`: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarTransactionalProducer.java[indent=0] +---- + +The function given to the `withTransaction` method receives a `TransactionalEmitter` for producing records, and returns a `Uni` that provides the result of the transaction. +If the processing completes successfully, the producer is flushed and the transaction is committed. +If the processing throws an exception, returns a failing `Uni`, or marks the `TransactionalEmitter` for abort, the transaction is aborted. + +[NOTE] +==== + +Multiple transactional producers can participate in a single transaction. +This ensures all messages are sent using the started transaction and before the transaction is committed, all participating producers are flushed. + +==== + +If this method is called on a Vert.x context, the processing function is also called on that context. +Otherwise, it is called on the sending thread of the producer. + +== Exactly-Once Processing + +Pulsar Transactions API also allows managing consumer offsets inside a transaction, together with produced messages. +This in turn enables coupling a consumer with a transactional producer in a consume-transform-produce pattern, +also known as exactly-once processing. +It means that an application consumes messages, processes them, publishes the results to a topic, and commits offsets of the consumed messages in a transaction. + +The `PulsarTransactions` emitter also provides a way to apply exactly-once processing to an incoming Pulsar message inside a transaction. + +The following example includes a batch of Pulsar messages inside a transaction. + +[source,properties] +---- + mp.messaging.outgoing.tx-out-example.enableTransaction=true + # ... + mp.messaging.incoming.in-channel.enableTransaction=true + mp.messaging.incoming.in-channel.batchReceive=true +---- + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarExactlyOnceProcessor.java[indent=0] +---- + +If the processing completes successfully, the message is acknowledged inside the transaction and the transaction is committed. + +[IMPORTANT] +==== + +When using exactly-once processing, messages can only be acked individually rather than cumulatively. + +==== + +If the processing needs to abort, the message is nack'ed. One of the failure strategies can be employed in order to retry the processing or simply fail-stop. +Note that the `Uni` returned from the `#withTransaction` will yield a failure if the transaction fails and is aborted. + +The application can choose to handle the error case, but for the message consumption to continue, `Uni` returned from the `@Incoming` method must not result in failure. +`PulsarTransactions#withTransactionAndAck` method will ack and nack the message but will not stop the reactive stream. +Ignoring the failure simply resets the consumer to the last committed offsets and resumes the processing from there. diff --git a/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-client-customization.adoc b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-client-customization.adoc new file mode 100644 index 000000000..2eeebf8fb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-client-customization.adoc @@ -0,0 +1,57 @@ += Customizing the underlying RabbitMQ client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying RabbitMQ Client configuration by +_producing_ an instance of +https://rabbitmq.github.io/rabbitmq-java-client/api/current/com/rabbitmq/client/ConnectionFactory.html[`ConnectionFactory`]: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/customization/RabbitMQProducers.java[tags=named,indent=0,opts=optional] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +.... +mp.messaging.incoming.prices.client-options-name=my-named-options +.... + +== Credentials Provider + +The OG connector supports RabbitMQ's +https://rabbitmq.github.io/rabbitmq-java-client/api/current/com/rabbitmq/client/impl/CredentialsProvider.html[`CredentialsProvider`] +interface for dynamic credential management. This is useful when +credentials are rotated or fetched from an external secrets manager. + +To use a credentials provider, expose a CDI bean implementing +`com.rabbitmq.client.impl.CredentialsProvider` with an `@Identifier` +qualifier, and reference it via the `credentials-provider-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.credentials-provider-name=my-credentials-provider +---- + +== Cluster mode + +To connect to a RabbitMQ cluster, use the `addresses` attribute to +specify multiple broker addresses. When set, this overrides the `host` +and `port` attributes: + +[source,properties] +---- +rabbitmq-addresses=host1:5672,host2:5672,host3:5672 +---- + +== NIO Sockets + +The connector supports using NIO sockets for the RabbitMQ connection. +Enable NIO mode with: + +[source,properties] +---- +rabbitmq-use-nio=true +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-cloud.adoc b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-cloud.adoc new file mode 100644 index 000000000..b1df1aed5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-cloud.adoc @@ -0,0 +1,52 @@ += Connecting to managed instances +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This section describes the connector configuration to use managed +RabbitMQ instances (hosted on the Cloud). + +== Cloud AMQP + +To connect to an instance of RabbitMQ hosted on https://www.cloudamqp.com/[Cloud +AMQP], use the following configuration: + +[source,properties] +---- +rabbitmq-host=host-name +rabbitmq-port=5671 +rabbitmq-username=user-name +rabbitmq-password=password +rabbitmq-virtual-host=user-name +rabbitmq-ssl=true +---- + +You can extract the values from the `AMQPS` url displayed on the +administration portal: + +.... +amqps://user-name:password@host/user-name +.... + +== Amazon MQ + +https://aws.amazon.com/amazon-mq/[Amazon MQ] can host RabbitMQ brokers +(as well as AMQP 1.0 brokers). To connect to a RabbitMQ instance hosted +on Amazon MQ, use the following configuration: + +[source,properties] +---- +rabbitmq-host=host-name +rabbitmq-port=5671 +rabbitmq-username=user-name +rabbitmq-password=password +rabbitmq-ssl=true +---- + +You can extract the host value from the `AMQPS` url displayed on the +administration console: + +.... +amqps://foobarbaz.mq.us-east-2.amazonaws.com:5671 +.... + +The username and password are configured during the broker creation. diff --git a/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-health.adoc b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-health.adoc new file mode 100644 index 000000000..ff7bd4d47 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-health.adoc @@ -0,0 +1,27 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG connector reports the readiness and liveness of each +channel managed by the connector. + +On the inbound side (receiving messages from RabbitMQ), the check +verifies that the receiver is connected to the broker. + +On the outbound side (sending records to RabbitMQ), the check verifies +that the sender is not disconnected from the broker; the sender _may_ +still be in an initialized state (connection not yet attempted), but +this is regarded as live/ready. + +You can disable health reporting by setting the `health-enabled` attribute of the channel to `false`. +It disables both liveness and readiness. +You can disable readiness reporting by setting the `health-readiness-enabled` attribute of the channel to `false`. + +== @Channel and lazy subscription + +When you inject a channel using `@Channel` annotation, you are responsible for subscribing to the channel. +Until the subscription happens, the channel is not connected to the broker and thus cannot receive messages. +The default health check will fail in this case. + +To handle this use case, you need to configure the `health-lazy-subscription` attribute of the channel to `true`. +It configures the health check to not fail if there are no subscription yet. diff --git a/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-tracing.adoc b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-tracing.adoc new file mode 100644 index 000000000..46b1ecce4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og-tracing.adoc @@ -0,0 +1,41 @@ += OpenTelemetry Tracing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG connector supports https://opentelemetry.io/[OpenTelemetry] +tracing for both incoming and outgoing channels. + +== Enabling tracing + +Tracing is enabled by default. You can disable it per channel with: + +[source,properties] +---- +mp.messaging.incoming.prices.tracing.enabled=false +mp.messaging.outgoing.prices.tracing.enabled=false +---- + +== How it works + +When tracing is enabled: + +* *Outgoing messages*: The connector creates a `PUBLISH` span and +injects the trace context into the message headers before sending. +* *Incoming messages*: The connector extracts the trace context from +the message headers and creates a `RECEIVE` span linked to the +producer's trace context. + +The span attributes include the exchange name and routing key. + +== Including headers as span attributes + +You can configure specific message headers to be recorded as span +attributes using the `tracing.attribute-headers` property: + +[source,properties] +---- +mp.messaging.incoming.prices.tracing.attribute-headers=my-header,another-header +---- + +This is a comma-separated list of header names whose values will be +added as attributes to the tracing span. diff --git a/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og.adoc b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og.adoc new file mode 100644 index 000000000..77a76a528 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/rabbitmq-og.adoc @@ -0,0 +1,68 @@ += RabbitMQ OG Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG Connector adds support for RabbitMQ to Reactive Messaging, +based on the AMQP 0-9-1 Protocol Specification. + +Advanced Message Queuing Protocol 0-9-1 (https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf[AMQP +0-9-1]) is an +open standard for passing business messages between applications or +organizations. + +With this connector, your application can: + +* receive messages from a RabbitMQ queue +* send messages to a RabbitMQ exchange + +The RabbitMQ OG connector is based on the https://www.rabbitmq.com/client-libraries/java-client[RabbitMQ Java Client], +the official RabbitMQ client library. + +[NOTE] +==== + +This connector is an alternative to the existing RabbitMQ connector +(`smallrye-rabbitmq`), which is based on the Vert.x RabbitMQ client. +The OG connector uses the original RabbitMQ Java client directly, +providing improved reconnection handling and direct access to all +RabbitMQ client features. + +==== + +[IMPORTANT] +==== + +The *AMQP connector* supports the AMQP 1.0 protocol, which is very +different from AMQP 0-9-1. You _can_ use the AMQP connector with +RabbitMQ provided that the latter has the https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/v3.7.x/README.md[AMQP 1.0 +Plugin] +installed, albeit with reduced functionality. + +==== + +== Using the RabbitMQ OG connector + +To use the RabbitMQ OG Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-rabbitmq-og + {project-version} + +---- + +The connector name is: `smallrye-rabbitmq-og`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-rabbitmq-og + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-rabbitmq-og +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/rabbitmq/receiving-messages-from-rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/receiving-messages-from-rabbitmq.adoc new file mode 100644 index 000000000..43ee6049d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/receiving-messages-from-rabbitmq.adoc @@ -0,0 +1,308 @@ += Receiving messages from RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG connector lets you retrieve messages from a https://www.rabbitmq.com/[RabbitMQ +broker]. The RabbitMQ connector retrieves +_RabbitMQ Messages_ and maps each of them into Reactive Messaging +`Messages`. + +[NOTE] +==== + +In this context, the reactive messaging concept of a _Channel_ is +realised as a https://www.rabbitmq.com/queues.html[RabbitMQ Queue]. + +==== + +== Example + +Let's imagine you have a RabbitMQ broker running, and accessible using +the `rabbitmq:5672` address (by default it would use `localhost:5672`). +Configure your application to receive RabbitMQ Messages on the `prices` +channel as follows: + +[source,properties] +---- +rabbitmq-host=rabbitmq # <1> +rabbitmq-port=5672 # <2> +rabbitmq-username=my-username # <3> +rabbitmq-password=my-password # <4> + +mp.messaging.incoming.prices.connector=smallrye-rabbitmq-og # <5> +mp.messaging.incoming.prices.queue.name=my-queue # <6> +mp.messaging.incoming.prices.routing-keys=urgent # <7> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `rabbitmq-host`. +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `rabbitmq-port`. The default +is 5672. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`rabbitmq-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`rabbitmq-password`. +. Instructs the `prices` channel to be managed by the RabbitMQ OG +connector. +. Configures the RabbitMQ queue to read messages from. +. Configures the binding between the RabbitMQ exchange and the +RabbitMQ queue using a routing key. The default is `#` (all messages +will be forwarded from the exchange to the queue) but in general +this can be a comma-separated list of one or more keys. + +Then, your application receives `Message++<++String++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/inbound/RabbitMQPriceConsumer.java[indent=0,opts=optional] +---- + +Or, you can retrieve the `Message++<++String++>++`: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/inbound/RabbitMQPriceMessageConsumer.java[indent=0,opts=optional] +---- + +[NOTE] +==== + +Whether you need to explicitly acknowledge the message depends on the +`auto-acknowledgement` channel setting; if that is set to `true` then +your message will be automatically acknowledged on receipt. + +==== + +== Deserialization + +The connector converts incoming RabbitMQ Messages into Reactive +Messaging `Message++<++T++>++` instances. Incoming messages are received as +`byte++[]++` and can be automatically converted to `String` using the +built-in message converter. + +[cols=",",options="header",] +|=== +|content++_++type |Type +|`text/plain` |`String` +|_Anything else or unset_ |`byte++[]++` +|=== + +[NOTE] +==== + +Unlike the Vert.x-based RabbitMQ connector, the OG connector does not +provide automatic conversion to Vert.x `JsonObject` or `JsonArray` +types. For JSON payloads, receive the message as `String` or `byte++[]++` +and use your preferred JSON library (such as Jackson) for +deserialization. + +==== + +== Inbound Metadata + +Messages coming from RabbitMQ contain an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-rabbitmq-og/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/og/IncomingRabbitMQMetadata.html[`IncomingRabbitMQMetadata`] +in the metadata. + +RabbitMQ message headers can be accessed from the metadata either by +calling `getHeader(String header)` to retrieve a single +header value as a `String`, or `getHeader(String header, Class++<++T++>++ type)` to retrieve +a typed header value, or `getHeaders()` to get a map of all header values. + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/inbound/RabbitMQMetadataExample.java[tags=code,indent=0,opts=optional] +---- + +The type `++<++T++>++` of the header value depends on the RabbitMQ type used for +the header: + +[cols=",",options="header",] +|=== +|RabbitMQ Header Type |T +|String |`String` +|Boolean |`Boolean` +|Number |`Number` +|List |`java.util.List` +|=== + +[NOTE] +==== + +The `IncomingRabbitMQMetadata` in the OG connector returns direct types +(e.g. `String`, `Integer`, `Date`) for most property accessors rather +than `Optional` wrappers. Values will be `null` when not set by the +producer. The `getHeader` methods still return `Optional`. + +==== + +== Acknowledgement + +When a Reactive Messaging Message associated with a RabbitMQ Message is +acknowledged, it informs the broker that the message has been +_accepted_. + +Whether you need to explicitly acknowledge the message depends on the +`auto-acknowledgement` setting for the channel; if that is set to `true` +then your message will be automatically acknowledged on receipt. + +== Failure Management + +If a message produced from a RabbitMQ message is _nacked_, a failure +strategy is applied. The RabbitMQ OG connector supports four strategies, +controlled by the `failure-strategy` channel setting: + +* `fail` - fail the application; no more RabbitMQ messages will be +processed. The RabbitMQ message is marked as rejected. +* `accept` - this strategy marks the RabbitMQ message as accepted. The +processing continues ignoring the failure. +* `reject` - this strategy marks the RabbitMQ message as rejected +(default). The processing continues with the next message. +* `requeue` - this strategy marks the RabbitMQ message as rejected +with requeue flag to true. The processing continues with the next message, +but the requeued message will be redelivered to the consumer. + +The RabbitMQ reject `requeue` flag can be controlled on different failure strategies +using the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/og/RabbitMQRejectMetadata.html[`RabbitMQRejectMetadata`]. +To do that, use the `Message.nack(Throwable, Metadata)` method by including the +`RabbitMQRejectMetadata` metadata with `requeue` to `true`. + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/inbound/RabbitMQRejectMetadataExample.java[tags=code,indent=0,opts=optional] +---- + +[WARNING] +.Experimental +==== + +`RabbitMQFailureHandler` is experimental and APIs are subject to change in the future + +==== + +In addition, you can also provide your own failure strategy. +To provide a failure strategy implement a bean exposing the interface +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/og/fault/RabbitMQFailureHandler.html[`RabbitMQFailureHandler`], +qualified with a `@Identifier`. +Set the name of the bean as the `failure-strategy` channel setting. + +== Configuration Reference + +NOTE: This table is generated from the project's build and is not available for this version. + +To use an existing _queue_, you need to configure the `queue.name` +attribute. + +For example, if you have a RabbitMQ broker already configured with a +queue called `peopleQueue` that you wish to read messages from, you need +the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq-og +mp.messaging.incoming.people.queue.name=peopleQueue +---- + +If you want RabbitMQ to create the queue for you but bind it to an +existing topic exchange `people`, you need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq-og +mp.messaging.incoming.people.queue.name=peopleQueue +mp.messaging.incoming.people.queue.declare=true +---- + +[NOTE] +==== + +In the above the channel name `people` is implicitly assumed to be the +name of the exchange; if this is not the case you would need to name the +exchange explicitly using the `exchange.name` property. + +==== + +[NOTE] +==== + +The connector supports RabbitMQ's "Server-named Queues" feature to create +an exclusive, auto-deleting, non-durable and randomly named queue. To +enable this feature you set the queue name to exactly `(server.auto)`. +Using this name not only enables the server named queue feature but also +automatically makes ths queue exclusive, auto-deleting, and non-durable; +therefore ignoring any values provided for the `exclusive`, `auto-delete` +and `durable` options. + +==== + +If you want RabbitMQ to create the `people` exchange, queue and binding, +you need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq-og +mp.messaging.incoming.people.exchange.declare=true +mp.messaging.incoming.people.queue.name=peopleQueue +mp.messaging.incoming.people.queue.declare=true +mp.messaging.incoming.people.queue.routing-keys=tall,short +---- + +In the above we have used an explicit list of routing keys rather than +the default (`#`). Each component of the list creates a separate binding +between the queue and the exchange, so in the case above we would have +two bindings; one based on a routing key of `tall`, the other based on +one of `short`. + +[NOTE] +==== + +The default value of `routing-keys` is `#` (indicating a match against +all possible routing keys) which is only appropriate for _topic_ +Exchanges. If you are using other types of exchange and/or need to +declare queue bindings, you'll need to supply a valid value for the +exchange in question. + +==== + +== Custom arguments for Queue declaration + +When queue declaration is made by the Reactive Messaging channel, using the `queue.declare=true` configuration, +custom queue arguments can be specified using the `queue.arguments` attribute. +`queue.arguments` accepts the identifier (using the `@Identifier` qualifier) of a `Map++<++String, Object++>++` exposed as a CDI bean. +If no arguments has been configured, the default *rabbitmq-queue-arguments* identifier is looked for. + +The following CDI bean produces such a configuration identified with *my-arguments*: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/customization/ArgumentProducers.java[indent=0,opts=optional] +---- + +Then the channel can be configured to use those arguments in queue declaration: + +[source,properties] +---- +mp.messaging.incoming.data.queue.arguments=my-arguments +---- + +Similarly, the `dead-letter-queue.arguments` allows configuring custom arguments for dead letter queue when one is declared (`auto-bind-dlq=true`). + +== Consumer configuration + +The OG connector provides additional consumer options: + +* `consumer-tag` - a custom consumer tag; if not provided, the broker +generates one automatically. +* `consumer-exclusive` - whether the consumer has exclusive access to +the queue. +* `consumer-arguments` - a comma-separated list of arguments +(`key1:value1,key2:value2,...`) for the consumer. +* `content-type-override` - overrides the `content++_++type` attribute of +the incoming message; should be a valid MIME type. +* `max-outstanding-messages` - the maximum number of unacknowledged +messages being processed concurrently. This controls backpressure +through RabbitMQ's QoS (prefetch count) mechanism. diff --git a/content/docs/smallrye-reactive-messaging/latest/rabbitmq/request-reply.adoc b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/request-reply.adoc new file mode 100644 index 000000000..094e929e0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/request-reply.adoc @@ -0,0 +1,139 @@ += RabbitMQ Request/Reply +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +RabbitMQ Request Reply Emitter is an experimental feature. + +==== + +The RabbitMQ https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html[Request-Reply] pattern allows you to publish a message to a RabbitMQ address and then await for a reply message that responds to the initial request, which can be used to implement https://www.rabbitmq.com/tutorials/tutorial-six-java[RPC over RabbitMQ]. + +Given the following request/reply outgoing configuration example: + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-rabbitmq +mp.messaging.outgoing.my-request.exchange.name=rpc +mp.messaging.outgoing.my-request.exchange.type=direct +mp.messaging.outgoing.my-request.default-routing-key=rpc-request +---- + +The `RabbitMQRequestReply` emitter implements the requestor (or the client) of the request-reply pattern for RabbitMQ outbound channels: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java[indent=0] +---- + +[NOTE] +==== + +While in this example we use a direct exchange, it is also possible to use a topic or fanout exchange as well as https://www.rabbitmq.com/docs/local-random-exchange[Local Random Exchanges] for request/reply. + +==== + +The `request` method publishes the request message to the configured target address of the outgoing channel leveraging RabbitMQ https://www.rabbitmq.com/docs/direct-reply-to[Direct Reply-To], +and waits for a reply. +When the reply is received the returned `Uni` is completed with the message payload. + +The request send operation generates a correlation id and sets the `correlationId` property, +which it expects to be sent back in the reply message. + +The replier (or the server) can be implemented using a Reactive Messaging processor: + +[source,properties] +---- +mp.messaging.incoming.request.connector=smallrye-rabbitmq +mp.messaging.incoming.request.exchange.name=rpc +mp.messaging.incoming.request.exchange.type=direct +mp.messaging.incoming.request.routing-keys=rpc-request + +mp.messaging.outgoing.reply.connector=smallrye-rabbitmq +mp.messaging.outgoing.reply.exchange.name="" +---- + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQReplier.java[indent=0] +---- + +== Requesting with `Message` types + +Like the core Emitter's `send` methods, `request` method also can receive a `Message` type and return a message: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java[indent=0] +---- + +[NOTE] +==== + +The ingested reply type of the `RabbitMQRequestReply` is discovered at runtime, +in order to configure a `MessageConverter` to be applied on the incoming message before returning the `Uni` result. + +==== + +== Requesting multiple replies + +You can use the `requestMulti` method to expect any number of replies represented by the `Multi` return type. + +For example this can be used to aggregate multiple replies to a single request. + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java[indent=0] +---- + +Like the other `request` you can also request `Message` types. + +[NOTE] +==== + +The channel attribute `reply.timeout` will be applied between each message, if reached the returned `Multi` will +fail. + +==== + +== Scaling Request/Reply + +If multiple requestor instances are configured on the same outgoing address, and the same reply address, +each requestor instance will receive replies of all instances. If an observed correlation id doesn't match +the id of any pending replies, the reply is simply discarded. +With the additional network traffic this allows scaling requestors, (and repliers) dynamically. + +== Pending replies and reply timeout + +By default, the `Uni` returned from the `request` method is configured to fail with timeout exception if no replies is received after 5 seconds. +This timeout is configurable with the channel attribute `reply.timeout`. + +A snapshot of the list of pending replies is available through the `RabbitMQRequestReply#getPendingReplies` method. + +== Correlation Ids + +The RabbitMQ Request/Reply allows configuring the correlation id mechanism completely through a `CorrelationIdHandler` implementation. +The default handler is based on randomly generated UUID strings. +The correlation id handler implementation can be configured using the `reply.correlation-id.handler` attribute. +As mentioned the default configuration is `uuid`. + +Custom handlers can be implemented by proposing a CDI-managed bean with `@Identifier` qualifier. + +== Reply Error Handling + +If the reply server produces an error and can or would like to propagate the error back to the requestor, failing the returned `Uni`. + +If configured using the `reply.failure.handler` channel attribute, +the `ReplyFailureHandler` implementations are discovered through CDI, matching the `@Identifier` qualifier. + +A sample reply error handler can lookup header values and return the error to be thrown by the reply: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java[indent=0] +---- + +`null` return value indicates that no error has been found in the reply, and it can be delivered to the application. diff --git a/content/docs/smallrye-reactive-messaging/latest/rabbitmq/sending-messages-to-rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/sending-messages-to-rabbitmq.adoc new file mode 100644 index 000000000..0dbb3830c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/rabbitmq/sending-messages-to-rabbitmq.adoc @@ -0,0 +1,241 @@ += Sending messages to RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG connector can write Reactive Messaging `Messages` as +RabbitMQ Messages. + +[NOTE] +==== + +In this context, the reactive messaging concept of a _Channel_ is +realised as a https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchanges[RabbitMQ +Exchange]. + +==== + +== Example + +Let's imagine you have a RabbitMQ broker running, and accessible using +the `rabbitmq:5672` address (by default it would use `localhost:5672`). +Configure your application to send the messages from the `prices` +channel as a RabbitMQ Message as follows: + +.... +rabbitmq-host=rabbitmq # <1> +rabbitmq-port=5672 # <2> +rabbitmq-username=my-username # <3> +rabbitmq-password=my-password # <4> + +mp.messaging.outgoing.prices.connector=smallrye-rabbitmq-og # <5> +mp.messaging.outgoing.prices.default-routing-key=normal # <6> +.... + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `rabbitmq-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `rabbitmq-port`. The default +is `5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`rabbitmq-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`rabbitmq-password`. +. Instructs the `prices` channel to be managed by the RabbitMQ OG +connector +. Supplies the default routing key to be included in outbound +messages; this will be used if the "raw payload" form of message +sending is used (see below). + +[NOTE] +==== + +You don't need to set the RabbitMQ exchange name. By default, it uses +the channel name (`prices`) as the name of the exchange to send messages +to. You can configure the `exchange.name` attribute to override it. + +==== + +Then, your application can send `Message++<++Double++>++` to the prices channel. +It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/outbound/RabbitMQPriceProducer.java[indent=0,opts=optional] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/outbound/RabbitMQPriceMessageProducer.java[indent=0,opts=optional] +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a +RabbitMQ Message. The payload is converted to the RabbitMQ Message body. + +[width="100%",cols="32%,68%",options="header",] +|=== +|T |RabbitMQ Message Body +|primitive types or `UUID`/`String` |String value with `content++_++type` set to `text/plain` +|`byte++[]++` |Binary content, with `content++_++type` set to `application/octet-stream` +|Any other class |The payload is converted via `toString()` with `content++_++type` set to `application/json` +|=== + +[NOTE] +==== + +Unlike the Vert.x-based RabbitMQ connector, the OG connector does not +handle Vert.x `JsonObject`, `JsonArray`, or `Buffer` types directly. +For JSON payloads, serialize to `String` or `byte++[]++` before sending. + +==== + +If the message payload cannot be serialized, the message is _nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-rabbitmq-og/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/og/OutgoingRabbitMQMetadata.html[`OutgoingRabbitMQMetadata`] +to influence how the message is handled by RabbitMQ. For example, you +can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/outbound/RabbitMQOutboundMetadataExample.java[tags=code,indent=0,opts=optional] +---- + +[NOTE] +==== + +The `OutgoingRabbitMQMetadata` in the OG connector uses +`OutgoingRabbitMQMetadata.builder()` as the entry point for building +metadata (instead of `new OutgoingRabbitMQMetadata.Builder()`). It +also uses `java.util.Date` for timestamps instead of `ZonedDateTime`. + +==== + +== Publisher Confirms + +The OG connector supports https://www.rabbitmq.com/docs/confirms#publisher-confirms[publisher confirms] +for reliable message publishing. When enabled, the connector waits for +the broker to acknowledge each published message before considering the +send operation complete. + +[source,properties] +---- +mp.messaging.outgoing.prices.publish-confirms=true +---- + +When publisher confirms are enabled, message acknowledgement in +Reactive Messaging is tied to the broker's confirmation. If the broker +does not confirm the message, the Reactive Messaging message is _nacked_. + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +broker acknowledges the message. + +== Configuration Reference + +NOTE: This table is generated from the project's build and is not available for this version. + +== Using existing destinations + +To use an existing _exchange_, you may need to configure the +`exchange.name` attribute. + +For example, if you have a RabbitMQ broker already configured with an +exchange called `people` that you wish to send messages to, you need the +following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people.connector=smallrye-rabbitmq-og +---- + +You would need to configure the `exchange.name` attribute, if the +exchange name were not the channel name: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-rabbitmq-og +mp.messaging.outgoing.people-out.exchange.name=people +---- + +If you want RabbitMQ to create the `people` exchange, you need the +following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-rabbitmq-og +mp.messaging.outgoing.people-out.exchange.name=people +mp.messaging.outgoing.people-out.exchange.declare=true +---- + +[NOTE] +==== + +The above example will create a `topic` exchange and use an empty +default `routing-key` (unless overridden programatically using outgoing +metadata for the message). If you want to create a different type of +exchange or have a different default routing key, then the +`exchange.type` and `default-routing-key` properties need to be +explicitly specified. + +==== + +== Sending to specific queues via the default exchange + +To send a message to a specific queue (usually a reply queue), +you have to configure the default exchange as an outgoing channel and set the name of the queue as routing key in the message metadata. +The name of the exchange needs to be set to `""`. + +[source,properties] +---- +mp.messaging.outgoing.channel-name-for-default-exchange.connector=smallrye-rabbitmq-og +mp.messaging.outgoing.channel-name-for-default-exchange.exchange.name="" +---- + +== Custom arguments for Exchange declaration + +When exchange declaration is made by the Reactive Messaging channel, using the `exchange.declare=true` configuration, +custom exchange arguments can be specified using the `exchange.arguments` attribute. +`exchange.arguments` accepts the identifier (using the `@Identifier` qualifier) of a `Map++<++String, Object++>++` exposed as a CDI bean. +If no arguments has been configured, the default *rabbitmq-exchange-arguments* identifier is looked for. + +The following CDI bean produces such a configuration identified with *my-arguments*: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/customization/ArgumentProducers.java[indent=0,opts=optional] +---- + +Then the channel can be configured to use those arguments in exchange declaration: + +[source,properties] +---- +mp.messaging.outgoing.data.exchange.arguments=my-arguments +---- + +Similarly, the `dead-letter-exchange.arguments` allows configuring custom arguments for dead letter exchange when one is declared (`dlx.declare=true`). + +== Retry on failure + +The OG connector supports automatic retry when message publishing fails. +This is controlled by two configuration attributes: + +* `retry-on-fail-attempts` (default: 6) - the number of retry attempts +before giving up. +* `retry-on-fail-interval` (default: 5 seconds) - the interval between +retry attempts. + +[source,properties] +---- +mp.messaging.outgoing.prices.retry-on-fail-attempts=10 +mp.messaging.outgoing.prices.retry-on-fail-interval=3 +---- diff --git a/content/docs/smallrye-reactive-messaging/latest/sns/sending-aws-sns-messages.adoc b/content/docs/smallrye-reactive-messaging/latest/sns/sending-aws-sns-messages.adoc new file mode 100644 index 000000000..69282c824 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/sns/sending-aws-sns-messages.adoc @@ -0,0 +1,72 @@ += Sending AWS SNS Messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AWS SNS connector allows you to send messages to an AWS SNS topic. + +== Sending messages + +Before you start, you need to have an AWS account and an SNS topic created. +To send messages to an SNS topic, you need to create a method that produces messages to the topic. + +Then, your application can send `Message++<++String++>++` to the prices channel. +It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/sns/outbound/SnsProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/sns/outbound/SnsMessageProducer.java[indent=0] +---- + +== Sending messages in batch + +You can configure the outbound channel to send messages in batch of maximum 10 messages (AWS SNS limitation). + +You can customize the size of batches, `10` being the default batch size, and the delay to wait for new messages to be added to the batch, 3000ms being the default delay: + +[source,java] +---- +mp.messaging.outgoing.prices.connector=smallrye-sns +mp.messaging.outgoing.prices.topic=prices +mp.messaging.outgoing.prices.batch=true +mp.messaging.outgoing.prices.batch-size=5 +mp.messaging.outgoing.prices.batch-delay=3000 +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a AWS SNS Message. +How the message is converted depends on the payload type: + +* If the payload is of type `PublishRequest` it is sent as is. +* If the payload is of type `PublishRequest.Builder`, the topic url is set and sent. +* If the payload is of primitive types the payload is converted to String and the message attribute `++_++classname` is set to the class name of the payload. +* If the payload is of any other object type, the payload is serialized (using the `JsonMapping` implementation discovered) and the message attribute `++_++classname` is set to the class name of the payload. + +If the message payload cannot be serialized to JSON, the message is _nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sns/{javadoc-version}/io/smallrye/reactive/messaging/aws/sns/SnsOutboundMetadata.html[`SnsOutboundMetadata`] +to influence how the message is handled by AWS SNS. For example, you can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/sns/outbound/SnsOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +send message request is successful. If the message is not sent successfully, the message is _nacked_. + +== Configuration Reference + +include::{generated-dir}/smallrye-sns-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/latest/sns/sns.adoc b/content/docs/smallrye-reactive-messaging/latest/sns/sns.adoc new file mode 100644 index 000000000..b24bf08f7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/sns/sns.adoc @@ -0,0 +1,59 @@ += AWS SNS Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Preview +==== + +The AWS SNS Connector is currently in *preview*. + +==== + +The AWS SNS Connector adds support for AWS SNS to Reactive Messaging. + +With this connector, your application can send messages to a AWS SNS topic. + +The AWS SNS connector is based on the https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html[AWS SDK for Java V2]. + +== Using the AWS SNS connector + +To use the AWS SNS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-aws-sns + {project-version} + +---- + +The connector name is: `smallrye-sns`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-sns + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-sns +---- + +== Configuration + +When available the AWS SNS connector discovers the SNS client as a CDI bean. +This allows using the connector with the https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sns.html[Quarkiverse AWS SNS extension]. +If the SNS client is not available as a CDI bean, the connector creates a new client using the provided configuration. + +* `topic` - The name of the SNS queue, defaults to channel name if not provided. +* `region` - The name of the SNS region. +* `endpoint-override` - The endpoint url override. +* `credentials-provider` - The fully qualified class name of the credential provider to be used in the client, if not provided the default provider chain is used. + +== Additional Resources + +* https://docs.aws.amazon.com/sns/index.html[AWS SNS Documentation] +* https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sns.html[Quarkiverse AWS SNS Extension] diff --git a/content/docs/smallrye-reactive-messaging/latest/sqs/receiving-aws-sqs-messages.adoc b/content/docs/smallrye-reactive-messaging/latest/sqs/receiving-aws-sqs-messages.adoc new file mode 100644 index 000000000..2b03c4832 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/sqs/receiving-aws-sqs-messages.adoc @@ -0,0 +1,140 @@ += Receiving AWS SQS Messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AWS SQS connector allows you to receive messages from an AWS SQS queue. + +== Receiving messages + +Before you start, you need to have an AWS account and a SQS queue created. +To receive messages from an SQS queue, you need to create a method that consumes messages from the queue. + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-sqs +mp.messaging.incoming.data.queue=my-queue +---- + +Then, your application receives `Message++<++String++>++`. +You can consume the payload directly: + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsStringConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++String++>++`: + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsMessageStringConsumer.java[indent=0] +---- + +You also can directly consume the `software.amazon.awssdk.services.sqs.model.Message`: + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsSdkMessageConsumer.java[indent=0] +---- + +=== Receive message request customizer + +The receive message requests sent to AWS SQS can be customized by providing a CDI bean implementation of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsReceiveMessageRequestCustomizer.html[`SqsReceiveMessageRequestCustomizer`] +and configuring it's identifier using the `receive.request.customizer` connector attribute. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java[indent=0] +---- + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-sqs +mp.messaging.incoming.data.queue=my-queue +mp.messaging.incoming.data.receive.request.customizer=my-customizer +---- + +Receive requests failed with retryable exceptions are retried automatically, by setting the failed request id. + +=== Receive message request pause and resume + +The AWS SQS connector fetches messages by continuously sending receive message requests. +If messages are not processed in a timely manner, the connector pauses fetching messages until queued messages are processed. + +The pause resume can be disabled using the `receive.request.pause.resume` connector attribute. + +[source,properties] +---- +mp.messaging.incoming.data.receive.request.pause.resume=false +---- + +== Deserialization + +The connector converts incoming SQS Messages into Reactive Messaging `Message++<++T++>++` instances. + +The payload type `T` is determined based on the value of the SQS message attribute `++_++classname`. + +If you send messages with the AWS SQS connector (outbound connector), +the `++_++classname` attribute is automatically added to the message. +The primitive types are transformed from the string representation to the corresponding Java type. +For objects, if one of the `JsonMapping` modules is present on the classpath, +the connector used that JSON module to deserialize the message body to objects. + +If the `++_++classname` attribute is not present, the payload is deserialized as a `String`. + +[source,java] +---- +include::{examples-dir}/sqs/json/SqsJsonMapping.java[tags=code,indent=0] +---- + +== Inbound Metadata + +Messages coming from SQS contain an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsIncomingMetadata.html[`SqsIncomingMetadata`] +in the metadata. + +SQS message attributes can be accessed from the metadata either by name or by the `MessageAttributeValue` object. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsMetadataExample.java[indent=0] +---- + +== Acknowledgement Strategies + +The default strategy for acknowledging AWS SQS Message is to _delete_ the message from the queue. +You can set the `ack-strategy` attribute to `ignore` if you want to ignore the message. + +++[++NOTE++]++ Deprecated +`ack.delete` attribute is deprecated and will be removed in a future release. + +You can implement a custom strategy by implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsAckHandler.html[`SqsAckHandler`], +interface with a `Factory` class and registering it as a CDI bean with an `@Identifier`. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsCustomAckStrategy.java[indent=0] +---- + +== Failure Strategies + +The default strategy for handling message processing failures is `ignore`. +It lets the visibility timeout of the message consumer to expire and reconsume the message. + +Other possible strategies are: + +* `fail`: the failure is logged and the channel fail-stops. +* `delete`: the message is removed from the queue. +* `visibility`: the message visibility timeout is reset to 0. + +You can implement a custom strategy by implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsFailureHandler.html[`SqsFailureHandler`], +interface with a `Factory` class and registering it as a CDI bean with an `@Identifier`. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsCustomNackStrategy.java[indent=0] +---- + +== Configuration Reference + +include::{generated-dir}/smallrye-sqs-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/latest/sqs/sending-aws-sqs-messages.adoc b/content/docs/smallrye-reactive-messaging/latest/sqs/sending-aws-sqs-messages.adoc new file mode 100644 index 000000000..94e92d1ce --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/sqs/sending-aws-sqs-messages.adoc @@ -0,0 +1,74 @@ += Sending AWS SQS Messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AWS SQS connector allows you to send messages to an AWS SQS queue. + +== Sending messages + +Before you start, you need to have an AWS account and an SQS queue created. +To send messages to an SQS queue, you need to create a method that produces messages to the queue. + +Then, your application can send `Message++<++String++>++` to the prices channel. +It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/sqs/outbound/SqsStringProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/sqs/outbound/SqsMessageStringProducer.java[indent=0] +---- + +== Sending messages in batch + +You can configure the outbound channel to send messages in batch of maximum 10 messages (AWS SQS limitation). + +You can customize the size of batches, `10` being the default batch size, and the delay to wait for new messages to be added to the batch, 3000ms being the default delay: + +[source,java] +---- +mp.messaging.outgoing.prices.connector=smallrye-sqs +mp.messaging.outgoing.prices.queue=prices +mp.messaging.outgoing.prices.batch=true +mp.messaging.outgoing.prices.batch-size=5 +mp.messaging.outgoing.prices.batch-delay=3000 +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a AWS SQS Message. +How the message is converted depends on the payload type: + +* If the payload is of type `SendMessageRequest` it is sent as is. +* If the payload is of type `SendMessageRequest.Builder`, the queue url is set and sent. +* If the payload is of type `software.amazon.awssdk.services.sqs.model.Message` it is usd to set the message body and attributes. +* If the payload is of primitive types the paylaod is converted to String and the message attribute `++_++classname` is set to the class name of the payload. +* If the payload is of any other object type, the payload is serialized (using the `JsonMapping` implementation discovered) and the message attribute `++_++classname` is set to the class name of the payload. + +If the message payload cannot be serialized to JSON, the message is _nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsOutboundMetadata.html[`SqsOutboundMetadata`] +to influence how the message is handled by AWS SQS. For example, you +can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/sqs/outbound/SqsOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +send message request is successful. If the message is not sent successfully, the message is _nacked_. + +== Configuration Reference + +include::{generated-dir}/smallrye-sqs-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/latest/sqs/sqs.adoc b/content/docs/smallrye-reactive-messaging/latest/sqs/sqs.adoc new file mode 100644 index 000000000..83b664f6d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/latest/sqs/sqs.adoc @@ -0,0 +1,62 @@ += AWS SQS Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Preview +==== + +The AWS SQS Connector is currently in *preview*. + +==== + +The AWS SQS Connector adds support for AWS SQS to Reactive Messaging. + +With this connector, your application can: + +* receive messages from a RabbitMQ queue +* send messages to a RabbitMQ exchange + +The AWS SQS connector is based on the https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html[AWS SDK for Java V2]. + +== Using the AWS SQS connector + +To use the AWS SQS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-aws-sqs + {project-version} + +---- + +The connector name is: `smallrye-sqs`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-sqs + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-sqs +---- + +== Configuration + +When available the AWS SQS connector discovers the SQS client as a CDI bean. +This allows using the connector with the https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sqs.html[Quarkiverse AWS SQS extension]. +If the SQS client is not available as a CDI bean, the connector creates a new client using the provided configuration. + +* `queue` - The name of the SQS queue, defaults to channel name if not provided. +* `region` - The name of the SQS region. +* `endpoint-override` - The endpoint url override. +* `credentials-provider` - The fully qualified class name of the credential provider to be used in the client, if not provided the default provider chain is used. + +== Additional Resources + +* https://docs.aws.amazon.com/sqs/index.html[AWS SQS Documentation] +* https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sqs.html[Quarkiverse AWS SQS Extension] diff --git a/content/docs/smallrye-reactive-messaging/main/_attributes.adoc b/content/docs/smallrye-reactive-messaging/main/_attributes.adoc new file mode 100644 index 000000000..dacabad96 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_attributes.adoc @@ -0,0 +1,26 @@ +:project-version: 5.0.0-RC1 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Reactive Messaging +:javadoc-version: latest +:version: {project-version} +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 5.0.0-RC1 +:relfileprefix: /docs/smallrye-reactive-messaging/main/ +:imagesdir: /docs/smallrye-reactive-messaging/main +:docs-project: smallrye-reactive-messaging +:docs-version: main +:docs-ref: main +:weld-version: 6.0.4.Final +:smallrye-config-version: 4.0.0 +:mutiny-version: 3.1.0 +:camel-version: 4.22.1 +:spec-version: 3.0.1 diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/ack/AutoNack.java b/content/docs/smallrye-reactive-messaging/main/_examples/ack/AutoNack.java new file mode 100644 index 000000000..bdb5a371a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/ack/AutoNack.java @@ -0,0 +1,55 @@ +package ack; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class AutoNack { + + // tag::auto-nack[] + @Incoming("data") + @Outgoing("out") + public String process(String s) { + if (s.equalsIgnoreCase("b")) { + // Throwing an exception triggers a nack + throw new IllegalArgumentException("b"); + } + + if (s.equalsIgnoreCase("e")) { + // Returning null would skip the message (it will be acked) + return null; + } + + return s.toUpperCase(); + } + + @Incoming("data") + @Outgoing("out") + public Uni processAsync(String s) { + if (s.equalsIgnoreCase("a")) { + // Returning a failing Uni triggers a nack + return Uni.createFrom().failure(new Exception("a")); + } + + if (s.equalsIgnoreCase("b")) { + // Throwing an exception triggers a nack + throw new IllegalArgumentException("b"); + } + + if (s.equalsIgnoreCase("e")) { + // Returning null would skip the message (it will be acked not nacked) + return Uni.createFrom().nullItem(); + } + + if (s.equalsIgnoreCase("f")) { + // returning `null` is invalid for method returning Unis, the message is nacked + return null; + } + + return Uni.createFrom().item(s.toUpperCase()); + } + + // end::auto-nack[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/ack/MessageAckExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/ack/MessageAckExamples.java new file mode 100644 index 000000000..5b4ddf459 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/ack/MessageAckExamples.java @@ -0,0 +1,52 @@ +package ack; + +import java.util.concurrent.CompletableFuture; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class MessageAckExamples { + + // tag::with-payload[] + @Incoming("in") + @Outgoing("out") + public Message process(Message in) { + // The acknowledgement is forwarded, when the consumer + // acknowledges the message, `in` will be acknowledged + return in.withPayload(in.getPayload() + 1); + } + // end::with-payload[] + + public void creation() { + // tag::message-creation[] + Message message = Message.of("hello", () -> { + // called when the consumer acknowledges the message + + // return a CompletionStage completed when the + // acknowledgment of the created message is + // completed. + // For immediate ack use: + return CompletableFuture.completedFuture(null); + + }); + // end::message-creation[] + } + + // tag::process[] + @Incoming("in") + @Outgoing("out") + public Message processAndProduceNewMessage(Message in) { + // The acknowledgement is forwarded, when the consumer + // acknowledges the message, `in` will be acknowledged + return Message.of(in.getPayload() + 1, + () -> { + // Called when the consumer acknowledges the message + // ... + // Don't forget to acknowledge the incoming message: + return in.ack(); + }); + } + // end::process[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/ack/NackOnEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/ack/NackOnEmitter.java new file mode 100644 index 000000000..ffdbc70bc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/ack/NackOnEmitter.java @@ -0,0 +1,27 @@ +package ack; + +import java.util.concurrent.CompletionStage; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Emitter; + +public class NackOnEmitter { + + // tag::emitter[] + @Inject + @Channel("data") + Emitter emitter; + + public void emitPayload() { + CompletionStage completionStage = emitter.send("hello"); + completionStage.whenComplete((acked, nacked) -> { + if (nacked != null) { + // the processing has failed + } + }); + } + // end::emitter[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/ack/PreAckExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/ack/PreAckExamples.java new file mode 100644 index 000000000..04b336bde --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/ack/PreAckExamples.java @@ -0,0 +1,20 @@ +package ack; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class PreAckExamples { + + // tag::pre[] + @Incoming("in") + @Outgoing("out") + @Acknowledgment(Acknowledgment.Strategy.PRE_PROCESSING) + public String process(String input) { + // The message wrapping the payload is already acknowledged + // The default would have waited the produced message to be + // acknowledged + return input.toUpperCase(); + } + // end::pre[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/ack/StreamAckExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/ack/StreamAckExamples.java new file mode 100644 index 000000000..ea47f34b4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/ack/StreamAckExamples.java @@ -0,0 +1,42 @@ +package ack; + +import java.util.concurrent.Flow.Publisher; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class StreamAckExamples { + + // tag::message[] + @Incoming("in") + @Outgoing("out") + public Publisher> transform(Multi> stream) { + return stream + .map(message -> message.withPayload(message.getPayload().toUpperCase())); + } + // end::message[] + + // tag::payload[] + @Incoming("in") + @Outgoing("out") + public Publisher transformPayload(Multi stream) { + return stream + // The incoming messages are already acknowledged + .map(String::toUpperCase); + } + // end::payload[] + + // tag::payload-to-multi[] + @Incoming("in") + @Outgoing("out") + // Defaults to pre-processing, but post-processing is also supported + @Acknowledgment(Acknowledgment.Strategy.POST_PROCESSING) + public Multi transformPayload(String one) { + return Multi.createFrom().items(one, one); + } + // end::payload-to-multi[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/ClientProducers.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/ClientProducers.java new file mode 100644 index 000000000..4dfa6c829 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/ClientProducers.java @@ -0,0 +1,34 @@ +package amqp.customization; + +import jakarta.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.vertx.amqp.AmqpClientOptions; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; + +public class ClientProducers { + + // tag::named[] + @Produces + @Identifier("my-options") + public AmqpClientOptions getNamedOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return new AmqpClientOptions() + .setSsl(true) + .setKeyCertOptions(keycert) + .setTrustOptions(trust) + .addEnabledSaslMechanism("EXTERNAL") + .setHostnameVerificationAlgorithm("") // Disable hostname verification + .setConnectTimeout(30000) + .setReconnectInterval(5000) + .setContainerId("my-container"); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/MyCbsTokenProvider.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/MyCbsTokenProvider.java new file mode 100644 index 000000000..45346773f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/MyCbsTokenProvider.java @@ -0,0 +1,32 @@ +package amqp.customization; + +import java.time.OffsetDateTime; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.AmqpConnectorCommonConfiguration; +import io.smallrye.reactive.messaging.amqp.cbs.CbsToken; +import io.smallrye.reactive.messaging.amqp.cbs.CbsTokenProvider; +import io.smallrye.reactive.messaging.amqp.cbs.DefaultCbsToken; + +// tag::provider[] +@ApplicationScoped +public class MyCbsTokenProvider implements CbsTokenProvider { + + @Override + public Uni getToken(AmqpConnectorCommonConfiguration config) { + String token = fetchTokenFromAuthService(); + return Uni.createFrom().item(new DefaultCbsToken( + token, + "jwt", + OffsetDateTime.now().plusHours(1), + OffsetDateTime.now().plusMinutes(45))); + } + + private String fetchTokenFromAuthService() { + // Retrieve a token from your identity provider + return "my-jwt-token"; + } +} +// end::provider[] diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/MySasTokenProvider.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/MySasTokenProvider.java new file mode 100644 index 000000000..0440f43b5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/customization/MySasTokenProvider.java @@ -0,0 +1,29 @@ +package amqp.customization; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.AmqpConnectorCommonConfiguration; +import io.smallrye.reactive.messaging.amqp.cbs.CbsToken; +import io.smallrye.reactive.messaging.amqp.cbs.CbsTokenProvider; +import io.smallrye.reactive.messaging.amqp.cbs.DefaultCbsToken; + +// tag::sas-provider[] +@ApplicationScoped +public class MySasTokenProvider implements CbsTokenProvider { + + @Override + public Uni getToken(AmqpConnectorCommonConfiguration config) { + String sasToken = generateSasToken(config.getHost()); + return Uni.createFrom().item(new DefaultCbsToken( + sasToken, + "servicebus.windows.net:sastoken", + 3600)); // valid for 1 hour + } + + private String generateSasToken(String host) { + // Build a SAS token for Azure Service Bus + return "SharedAccessSignature sr=..."; + } +} +// end::sas-provider[] diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpMetadataExample.java new file mode 100644 index 000000000..8683ccbb7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpMetadataExample.java @@ -0,0 +1,27 @@ +package amqp.inbound; + +import java.util.Optional; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.IncomingAmqpMetadata; +import io.vertx.core.json.JsonObject; + +public class AmqpMetadataExample { + + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + Optional metadata = incoming.getMetadata(IncomingAmqpMetadata.class); + metadata.ifPresent(meta -> { + String address = meta.getAddress(); + String subject = meta.getSubject(); + boolean durable = meta.isDurable(); + // Use io.vertx.core.json.JsonObject + JsonObject properties = meta.getProperties(); + // ... + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpPriceConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpPriceConsumer.java new file mode 100644 index 000000000..ac877fc2b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpPriceConsumer.java @@ -0,0 +1,15 @@ +package amqp.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class AmqpPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpPriceMessageConsumer.java new file mode 100644 index 000000000..1611ebf7d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/inbound/AmqpPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package amqp.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class AmqpPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message, marking the AMQP message as `accepted`. + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java new file mode 100644 index 000000000..f87f08a15 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpCloudEventMultipleProcessors.java @@ -0,0 +1,39 @@ +package amqp.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class AmqpCloudEventMultipleProcessors { + + @Incoming("source") + @Outgoing("processed") + public Message process(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greeting") + .build()); + } + + @SuppressWarnings("unchecked") + @Incoming("processed") + @Outgoing("cloud-events") + public Message process2(Message in) { + OutgoingCloudEventMetadata metadata = in + .getMetadata(OutgoingCloudEventMetadata.class) + .orElseGet(() -> OutgoingCloudEventMetadata.builder().build()); + + return in.addMetadata(OutgoingCloudEventMetadata.from(metadata) + .withSource(URI.create("source://me")) + .withSubject("test") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpCloudEventProcessor.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpCloudEventProcessor.java new file mode 100644 index 000000000..3b7a981f8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpCloudEventProcessor.java @@ -0,0 +1,25 @@ +package amqp.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class AmqpCloudEventProcessor { + + @Outgoing("cloud-events") + public Message toCloudEvents(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greetings") + .withSource(URI.create("http://example.com")) + .withSubject("greeting-message") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java new file mode 100644 index 000000000..35f848796 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpOutboundDynamicAddressExample.java @@ -0,0 +1,26 @@ +package amqp.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +public class AmqpOutboundDynamicAddressExample { + public Message metadata(Message incoming) { + + // tag::code[] + String addressName = selectAddressFromIncommingMessage(incoming); + OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder() + .withAddress(addressName) + .withDurable(true) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + + private String selectAddressFromIncommingMessage(Message incoming) { + return "fake"; + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpOutboundMetadataExample.java new file mode 100644 index 000000000..3eef8b590 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpOutboundMetadataExample.java @@ -0,0 +1,23 @@ +package amqp.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +public class AmqpOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + OutgoingAmqpMetadata metadata = OutgoingAmqpMetadata.builder() + .withDurable(true) + .withSubject("my-subject") + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpPriceMessageProducer.java new file mode 100644 index 000000000..418a901b3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpPriceMessageProducer.java @@ -0,0 +1,26 @@ +package amqp.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class AmqpPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpPriceProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpPriceProducer.java new file mode 100644 index 000000000..0e760b71f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpPriceProducer.java @@ -0,0 +1,25 @@ +package amqp.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class AmqpPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpReplier.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpReplier.java new file mode 100644 index 000000000..7f5236aba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpReplier.java @@ -0,0 +1,20 @@ +package amqp.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class AmqpReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + String handleRequest(String request) { + return request + "-" + rand.nextInt(100); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpReplierWithMetadata.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpReplierWithMetadata.java new file mode 100644 index 000000000..c798cd136 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpReplierWithMetadata.java @@ -0,0 +1,31 @@ +package amqp.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.amqp.IncomingAmqpMetadata; +import io.smallrye.reactive.messaging.amqp.OutgoingAmqpMetadata; + +@ApplicationScoped +public class AmqpReplierWithMetadata { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + Message handleRequest(Message request) { + IncomingAmqpMetadata incoming = request.getMetadata(IncomingAmqpMetadata.class) + .orElseThrow(); + OutgoingAmqpMetadata outMeta = OutgoingAmqpMetadata.builder() + .withAddress(incoming.getReplyTo()) + .withCorrelationId(incoming.getId()) + .build(); + String reply = request.getPayload() + "-" + rand.nextInt(100); + return request.withPayload(reply).addMetadata(outMeta); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyEmitter.java new file mode 100644 index 000000000..f1d5285c8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyEmitter.java @@ -0,0 +1,21 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.reply.AmqpRequestReply; + +@ApplicationScoped +public class AmqpRequestReplyEmitter { + + @Inject + @Channel("my-request") + AmqpRequestReply quoteRequest; + + public Uni requestQuote(String request) { + return quoteRequest.request(request); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java new file mode 100644 index 000000000..de5f1bbaf --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyMessageEmitter.java @@ -0,0 +1,22 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.amqp.reply.AmqpRequestReply; + +@ApplicationScoped +public class AmqpRequestReplyMessageEmitter { + + @Inject + @Channel("my-request") + AmqpRequestReply quoteRequest; + + public Uni> requestMessage(String request) { + return quoteRequest.request(Message.of(request)); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java new file mode 100644 index 000000000..25d776606 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/AmqpRequestReplyMultiEmitter.java @@ -0,0 +1,21 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.amqp.reply.AmqpRequestReply; + +@ApplicationScoped +public class AmqpRequestReplyMultiEmitter { + + @Inject + @Channel("my-request") + AmqpRequestReply quoteRequest; + + public Multi requestQuote(String request) { + return quoteRequest.requestMulti(request).select().first(5); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java new file mode 100644 index 000000000..77b1d2d14 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/amqp/outbound/MyAmqpReplyFailureHandler.java @@ -0,0 +1,24 @@ +package amqp.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.amqp.AmqpMessage; +import io.smallrye.reactive.messaging.amqp.reply.ReplyFailureHandler; + +@ApplicationScoped +@Identifier("my-reply-error") +public class MyAmqpReplyFailureHandler implements ReplyFailureHandler { + + @Override + public Throwable handleReply(AmqpMessage replyMessage) { + var properties = replyMessage.getApplicationProperties(); + if (properties != null) { + String error = properties.getString("REPLY_ERROR"); + if (error != null) { + return new IllegalArgumentException(error); + } + } + return null; + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/beans/Chain.java b/content/docs/smallrye-reactive-messaging/main/_examples/beans/Chain.java new file mode 100644 index 000000000..8a44b6d55 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/beans/Chain.java @@ -0,0 +1,27 @@ +package beans; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class Chain { + + // tag::chain[] + @Outgoing("source") + public Multi generate() { + return Multi.createFrom().items("Hello", "from", "reactive", "messaging"); + } + + @Incoming("source") + @Outgoing("sink") + public String process(String in) { + return in.toUpperCase(); + } + + @Incoming("sink") + public void consume(String processed) { + System.out.println(processed); + } + // end::chain[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/beans/MessageProcessingBean.java b/content/docs/smallrye-reactive-messaging/main/_examples/beans/MessageProcessingBean.java new file mode 100644 index 000000000..edfbf0df4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/beans/MessageProcessingBean.java @@ -0,0 +1,20 @@ +package beans; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class MessageProcessingBean { + + @Incoming("consumed-channel") + @Outgoing("populated-channel") + public Message process(Message in) { + // Process the payload + String payload = in.getPayload().toUpperCase(); + // Create a new message from `in` and just update the payload + return in.withPayload(payload); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/beans/PayloadProcessingBean.java b/content/docs/smallrye-reactive-messaging/main/_examples/beans/PayloadProcessingBean.java new file mode 100644 index 000000000..b7fa6b0ae --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/beans/PayloadProcessingBean.java @@ -0,0 +1,16 @@ +package beans; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class PayloadProcessingBean { + + @Incoming("consumed-channel") + @Outgoing("populated-channel") + public String process(String in) { + return in.toUpperCase(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/broadcast/BroadcastExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/broadcast/BroadcastExamples.java new file mode 100644 index 000000000..53a8bb160 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/broadcast/BroadcastExamples.java @@ -0,0 +1,29 @@ +package broadcast; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Broadcast; + +public class BroadcastExamples { + + // tag::chain[] + @Incoming("in") + @Outgoing("out") + @Broadcast + public int increment(int i) { + return i + 1; + } + + @Incoming("out") + public void consume1(int i) { + //... + } + + @Incoming("out") + public void consume2(int i) { + //... + } + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/broadcast/BroadcastWithCountExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/broadcast/BroadcastWithCountExamples.java new file mode 100644 index 000000000..e227d7747 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/broadcast/BroadcastWithCountExamples.java @@ -0,0 +1,29 @@ +package broadcast; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Broadcast; + +public class BroadcastWithCountExamples { + + // tag::chain[] + @Incoming("in") + @Outgoing("out") + @Broadcast(2) + public int increment(int i) { + return i + 1; + } + + @Incoming("out") + public void consume1(int i) { + //... + } + + @Incoming("out") + public void consume2(int i) { + //... + } + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/camel/api/CamelApi.java b/content/docs/smallrye-reactive-messaging/main/_examples/camel/api/CamelApi.java new file mode 100644 index 000000000..f96087599 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/camel/api/CamelApi.java @@ -0,0 +1,94 @@ +package camel.api; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; + +import org.apache.camel.BindToRegistry; +import org.apache.camel.CamelContext; +import org.apache.camel.Exchange; +import org.apache.camel.builder.LambdaRouteBuilder; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; +import org.reactivestreams.Publisher; +import org.reactivestreams.Subscriber; + +public class CamelApi { + + // tag::reactive[] + @Inject + CamelReactiveStreamsService reactiveStreamsService; + // end::reactive[] + + // tag::source[] + @Outgoing("camel") + public Publisher retrieveDataFromCamelRoute() { + return reactiveStreamsService.from("seda:camel"); + } + // end::source[] + + // tag::source-route-builder[] + @Singleton + static class MyRouteBuilder extends RouteBuilder { + @Inject + CamelReactiveStreamsService reactiveStreamsService; + + @Outgoing("sink") + public Publisher getDataFromCamelRoute() { + return reactiveStreamsService.fromStream("my-stream", String.class); + } + + @Override + public void configure() { + from("seda:camel").process( + exchange -> exchange.getMessage().setBody(exchange.getIn().getBody(String.class).toUpperCase())) + .to("reactive-streams:my-stream"); + } + } + // end::source-route-builder[] + + // tag::source-lambda-route-builder[] + @ApplicationScoped + static class MyLambdaRouteBuilder { + @Inject + CamelReactiveStreamsService reactiveStreamsService; + + @Outgoing("sink") + public Publisher getDataFromCamelRoute() { + return reactiveStreamsService.fromStream("my-stream", String.class); + } + + @Produces + @BindToRegistry + public LambdaRouteBuilder route() { + return rb -> rb.from("seda:camel").process( + exchange -> exchange.getMessage().setBody(exchange.getIn().getBody(String.class).toUpperCase())) + .to("reactive-streams:my-stream"); + } + } + // end::source-lambda-route-builder[] + + // tag::sink[] + @Incoming("to-camel") + public Subscriber sendDataToCamelRoute() { + return reactiveStreamsService.subscriber("file:./target?fileName=values.txt&fileExist=append", + String.class); + } + // end::sink[] + + // tag::producer[] + @Inject + CamelContext camel; + + @Incoming("to-camel") + public CompletionStage sink(String value) { + return camel.createProducerTemplate() + .asyncSendBody("file:./target?fileName=values.txt&fileExist=append", value).thenApply(x -> null); + } + // end::producer[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/CamelFileConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/CamelFileConsumer.java new file mode 100644 index 000000000..21c206129 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/CamelFileConsumer.java @@ -0,0 +1,20 @@ +package camel.inbound; + +import java.io.File; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class CamelFileConsumer { + + @Incoming("files") + public void consume(GenericFile gf) { + File file = gf.getFile(); + // process the file + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/CamelFileMessageConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/CamelFileMessageConsumer.java new file mode 100644 index 000000000..56cbc8559 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/CamelFileMessageConsumer.java @@ -0,0 +1,23 @@ +package camel.inbound; + +import java.io.File; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class CamelFileMessageConsumer { + + @Incoming("files") + public CompletionStage consume(Message> msg) { + File file = msg.getPayload().getFile(); + // process the file + + return msg.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/IncomingCamelMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/IncomingCamelMetadataExample.java new file mode 100644 index 000000000..63f0a4f3d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/camel/inbound/IncomingCamelMetadataExample.java @@ -0,0 +1,29 @@ +package camel.inbound; + +import java.io.File; +import java.util.Optional; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.camel.Exchange; +import org.apache.camel.component.file.GenericFile; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.camel.IncomingExchangeMetadata; + +@ApplicationScoped +public class IncomingCamelMetadataExample { + + @Incoming("files") + public CompletionStage consume(Message> msg) { + Optional metadata = msg.getMetadata(IncomingExchangeMetadata.class); + if (metadata.isPresent()) { + // Retrieve the camel exchange: + Exchange exchange = metadata.get().getExchange(); + } + return msg.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelOutboundMetadataExample.java new file mode 100644 index 000000000..3261e7371 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelOutboundMetadataExample.java @@ -0,0 +1,31 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.camel.OutgoingExchangeMetadata; + +@ApplicationScoped +public class CamelOutboundMetadataExample { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // tag::code[] + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)) + .map(s -> Message.of(s) + .addMetadata(new OutgoingExchangeMetadata() + .putProperty("my-property", "my-value"))); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelPriceMessageProducer.java new file mode 100644 index 000000000..5a0202608 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelPriceMessageProducer.java @@ -0,0 +1,27 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class CamelPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)) + .map(Message::of); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelPriceProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelPriceProducer.java new file mode 100644 index 000000000..30392e08e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/camel/outbound/CamelPriceProducer.java @@ -0,0 +1,26 @@ +package camel.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class CamelPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .onOverflow().drop() + .map(x -> random.nextDouble()) + .map(p -> Double.toString(p)); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/camel/processor/CamelProcessor.java b/content/docs/smallrye-reactive-messaging/main/_examples/camel/processor/CamelProcessor.java new file mode 100644 index 000000000..434b12911 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/camel/processor/CamelProcessor.java @@ -0,0 +1,18 @@ +package camel.processor; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class CamelProcessor { + + @Incoming("mynatssubject") + @Outgoing("mykafkatopic") + public byte[] process(byte[] message) { + // do some logic + return message; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyAckHandler.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyAckHandler.java new file mode 100644 index 000000000..dc1d1d146 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyAckHandler.java @@ -0,0 +1,25 @@ +package connectors; + +import java.util.concurrent.CompletionStage; + +import connectors.api.BrokerClient; +import io.smallrye.mutiny.Uni; + +public class MyAckHandler { + + private final BrokerClient client; + + static MyAckHandler create(BrokerClient client) { + return new MyAckHandler(client); + } + + public MyAckHandler(BrokerClient client) { + this.client = client; + } + + public CompletionStage handle(MyMessage msg) { + return Uni.createFrom().completionStage(client.ack(msg.getConsumedMessage())) + .emitOn(msg::runOnMessageContext) + .subscribeAsCompletionStage(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyConnector.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyConnector.java new file mode 100644 index 000000000..9dd75beb8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyConnector.java @@ -0,0 +1,75 @@ +package connectors; + +import static io.smallrye.reactive.messaging.annotations.ConnectorAttribute.Direction.INCOMING; +import static io.smallrye.reactive.messaging.annotations.ConnectorAttribute.Direction.INCOMING_AND_OUTGOING; +import static io.smallrye.reactive.messaging.annotations.ConnectorAttribute.Direction.OUTGOING; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.Flow; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.spi.Connector; + +import connectors.api.BrokerClient; +import io.smallrye.reactive.messaging.annotations.ConnectorAttribute; +import io.smallrye.reactive.messaging.connector.InboundConnector; +import io.smallrye.reactive.messaging.connector.OutboundConnector; +import io.smallrye.reactive.messaging.providers.connectors.ExecutionHolder; +import io.vertx.mutiny.core.Vertx; + +@ApplicationScoped +@Connector(MyConnector.CONNECTOR_NAME) +@ConnectorAttribute(name = "client-id", type = "string", direction = INCOMING_AND_OUTGOING, description = "The client id ", mandatory = true) +@ConnectorAttribute(name = "buffer-size", type = "int", direction = INCOMING, description = "The size buffer of incoming messages waiting to be processed", defaultValue = "128") +@ConnectorAttribute(name = "topic", type = "string", direction = OUTGOING, description = "The default topic to send the messages, defaults to channel name if not set") +@ConnectorAttribute(name = "maxPendingMessages", type = "int", direction = OUTGOING, description = "The maximum size of a queue holding pending messages", defaultValue = "1000") +@ConnectorAttribute(name = "waitForWriteCompletion", type = "boolean", direction = OUTGOING, description = "Whether the outgoing channel waits for the write completion", defaultValue = "true") +public class MyConnector implements InboundConnector, OutboundConnector { + + public static final String CONNECTOR_NAME = "smallrye-my-connector"; + + @Inject + ExecutionHolder executionHolder; + + Vertx vertx; + + List incomingChannels = new CopyOnWriteArrayList<>(); + List outgoingChannels = new CopyOnWriteArrayList<>(); + + @PostConstruct + void init() { + this.vertx = executionHolder.vertx(); + } + + @Override + public Flow.Publisher> getPublisher(Config config) { + MyConnectorIncomingConfiguration ic = new MyConnectorIncomingConfiguration(config); + String channelName = ic.getChannel(); + String clientId = ic.getClientId(); + int bufferSize = ic.getBufferSize(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyIncomingChannel channel = new MyIncomingChannel(vertx, ic, client); + incomingChannels.add(channel); + return channel.getStream(); + } + + @Override + public Flow.Subscriber> getSubscriber(Config config) { + MyConnectorOutgoingConfiguration oc = new MyConnectorOutgoingConfiguration(config); + String channelName = oc.getChannel(); + String clientId = oc.getClientId(); + int pendingMessages = oc.getMaxPendingMessages(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyOutgoingChannel channel = new MyOutgoingChannel(vertx, oc, client); + outgoingChannels.add(channel); + return channel.getSubscriber(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyConnectorWithPartials.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyConnectorWithPartials.java new file mode 100644 index 000000000..55d0cc2fa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyConnectorWithPartials.java @@ -0,0 +1,106 @@ +package connectors; + +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.Flow; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.spi.Connector; + +import connectors.api.BrokerClient; +import io.smallrye.reactive.messaging.connector.InboundConnector; +import io.smallrye.reactive.messaging.connector.OutboundConnector; +import io.smallrye.reactive.messaging.health.HealthReport; +import io.smallrye.reactive.messaging.health.HealthReporter; +import io.smallrye.reactive.messaging.providers.connectors.ExecutionHolder; +import io.vertx.mutiny.core.Vertx; + +// tag::health-report[] +@ApplicationScoped +@Connector(MyConnectorWithPartials.CONNECTOR_NAME) +public class MyConnectorWithPartials implements InboundConnector, OutboundConnector, HealthReporter { + + public static final String CONNECTOR_NAME = "smallrye-my-connector"; + + List incomingChannels = new CopyOnWriteArrayList<>(); + List outgoingChannels = new CopyOnWriteArrayList<>(); + + @Override + public HealthReport getReadiness() { + HealthReport.HealthReportBuilder builder = HealthReport.builder(); + for (MyIncomingChannel channel : incomingChannels) { + builder.add(channel.getChannel(), true); + } + for (MyOutgoingChannel channel : outgoingChannels) { + builder.add(channel.getChannel(), true); + } + return builder.build(); + } + + @Override + public HealthReport getLiveness() { + HealthReport.HealthReportBuilder builder = HealthReport.builder(); + for (MyIncomingChannel channel : incomingChannels) { + builder.add(channel.getChannel(), true); + } + for (MyOutgoingChannel channel : outgoingChannels) { + builder.add(channel.getChannel(), true); + } + return builder.build(); + } + + @Override + public HealthReport getStartup() { + HealthReport.HealthReportBuilder builder = HealthReport.builder(); + for (MyIncomingChannel channel : incomingChannels) { + builder.add(channel.getChannel(), true); + } + for (MyOutgoingChannel channel : outgoingChannels) { + builder.add(channel.getChannel(), true); + } + return builder.build(); + } + + // end::health-report[] + + @Inject + ExecutionHolder executionHolder; + + Vertx vertx; + + @PostConstruct + void init() { + this.vertx = executionHolder.vertx(); + } + + @Override + public Flow.Publisher> getPublisher(Config config) { + MyConnectorIncomingConfiguration ic = new MyConnectorIncomingConfiguration(config); + String channelName = ic.getChannel(); + String clientId = ic.getClientId(); + int bufferSize = ic.getBufferSize(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyIncomingChannel channel = new MyIncomingChannel(vertx, ic, client); + incomingChannels.add(channel); + return channel.getStream(); + } + + @Override + public Flow.Subscriber> getSubscriber(Config config) { + MyConnectorOutgoingConfiguration oc = new MyConnectorOutgoingConfiguration(config); + String channelName = oc.getChannel(); + String clientId = oc.getClientId(); + int pendingMessages = oc.getMaxPendingMessages(); + // ... + BrokerClient client = BrokerClient.create(clientId); + MyOutgoingChannel channel = new MyOutgoingChannel(vertx, oc, client); + outgoingChannels.add(channel); + return channel.getSubscriber(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyFailureHandler.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyFailureHandler.java new file mode 100644 index 000000000..f41b78055 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyFailureHandler.java @@ -0,0 +1,27 @@ +package connectors; + +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import connectors.api.BrokerClient; +import io.smallrye.mutiny.Uni; + +public class MyFailureHandler { + + private final BrokerClient client; + + static MyFailureHandler create(BrokerClient client) { + return new MyFailureHandler(client); + } + + public MyFailureHandler(BrokerClient client) { + this.client = client; + } + + public CompletionStage handle(MyMessage msg, Throwable reason, Metadata metadata) { + return Uni.createFrom().completionStage(() -> client.reject(msg.getConsumedMessage(), reason.getMessage())) + .emitOn(msg::runOnMessageContext) + .subscribeAsCompletionStage(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingChannel.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingChannel.java new file mode 100644 index 000000000..a7db74ccc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingChannel.java @@ -0,0 +1,57 @@ +package connectors; + +import java.util.concurrent.Flow; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.health.HealthReport; +import io.vertx.core.internal.VertxInternal; +import io.vertx.mutiny.core.Context; +import io.vertx.mutiny.core.Vertx; + +public class MyIncomingChannel { + + private final String channel; + private final BrokerClient client; + private final Context context; + private final MyAckHandler ackHandler; + private final MyFailureHandler failureHandler; + private final AtomicBoolean closed = new AtomicBoolean(false); + private Flow.Publisher> stream; + + public MyIncomingChannel(Vertx vertx, MyConnectorIncomingConfiguration cfg, BrokerClient client) { + // create and configure the client with MyConnectorIncomingConfiguration + this.channel = cfg.getChannel(); + this.client = client; + this.context = Context.newInstance(((VertxInternal) vertx.getDelegate()).createEventLoopContext()); + this.ackHandler = MyAckHandler.create(this.client); + this.failureHandler = MyFailureHandler.create(this.client); + this.stream = Multi.createBy().repeating() + .uni(() -> Uni.createFrom().completionStage(this.client.poll())) + .until(__ -> closed.get()) + .emitOn(context::runOnContext) + .map(consumed -> new MyMessage<>(consumed, ackHandler, failureHandler)); + } + + public String getChannel() { + return channel; + } + + public Flow.Publisher> getStream() { + return this.stream; + } + + public void close() { + closed.compareAndSet(false, true); + client.close(); + } + + void isReady(HealthReport.HealthReportBuilder healthReportBuilder) { + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingChannelWithPartials.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingChannelWithPartials.java new file mode 100644 index 000000000..fb8417101 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingChannelWithPartials.java @@ -0,0 +1,79 @@ +package connectors; + +import java.util.concurrent.Flow; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import connectors.api.ConsumedMessage; +import connectors.tracing.MyOpenTelemetryInstrumenter; +import connectors.tracing.MyTrace; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.health.HealthReport; +import io.smallrye.reactive.messaging.tracing.TracingUtils; +import io.vertx.core.internal.VertxInternal; +import io.vertx.mutiny.core.Context; +import io.vertx.mutiny.core.Vertx; + +public class MyIncomingChannelWithPartials { + + private final String channel; + private final BrokerClient client; + private final Context context; + private final MyAckHandler ackHandler; + private final MyFailureHandler failureHandler; + private final AtomicBoolean closed = new AtomicBoolean(false); + private final boolean tracingEnabled; + private Flow.Publisher> stream; + + public MyIncomingChannelWithPartials(Vertx vertx, MyConnectorIncomingConfiguration cfg, BrokerClient client) { + // create and configure the client with MyConnectorIncomingConfiguration + this.channel = cfg.getChannel(); + this.client = client; + this.context = Context.newInstance(((VertxInternal) vertx.getDelegate()).createEventLoopContext()); + this.ackHandler = MyAckHandler.create(this.client); + this.failureHandler = MyFailureHandler.create(this.client); + this.tracingEnabled = true; + // tag::incoming-tracing[] + Multi> receiveMulti = Multi.createBy().repeating() + .uni(() -> Uni.createFrom().completionStage(this.client.poll())) + .until(__ -> closed.get()) + .emitOn(context::runOnContext) + .map(consumed -> new MyMessage<>(consumed, ackHandler, failureHandler)); + + Instrumenter instrumenter = MyOpenTelemetryInstrumenter.createInstrumenter(true); + if (tracingEnabled) { + receiveMulti = receiveMulti.map(message -> { + ConsumedMessage consumedMessage = message.getMetadata(MyIncomingMetadata.class).get().getCustomMessage(); + return TracingUtils.traceIncoming(instrumenter, message, new MyTrace.Builder() + .withClientId(consumedMessage.clientId()) + .withTopic(consumedMessage.topic()) + .withProperties(consumedMessage.properties()) + .build()); + }); + } + // end::incoming-tracing[] + this.stream = receiveMulti; + } + + public String getChannel() { + return channel; + } + + public Flow.Publisher> getStream() { + return this.stream; + } + + public void close() { + closed.compareAndSet(false, true); + client.close(); + } + + void isReady(HealthReport.HealthReportBuilder healthReportBuilder) { + + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingMetadata.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingMetadata.java new file mode 100644 index 000000000..c288085be --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyIncomingMetadata.java @@ -0,0 +1,34 @@ +package connectors; + +import java.util.Map; + +import connectors.api.ConsumedMessage; + +public class MyIncomingMetadata { + + private final ConsumedMessage msg; + + public MyIncomingMetadata(ConsumedMessage msg) { + this.msg = msg; + } + + public ConsumedMessage getCustomMessage() { + return msg; + } + + public T getBody() { + return msg.body(); + } + + public String getKey() { + return msg.key(); + } + + public long getTimestamp() { + return msg.timestamp(); + } + + public Map getProperties() { + return msg.properties(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyMessage.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyMessage.java new file mode 100644 index 000000000..cd432f0f3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyMessage.java @@ -0,0 +1,51 @@ +package connectors; + +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import connectors.api.ConsumedMessage; +import io.smallrye.reactive.messaging.providers.locals.ContextAwareMessage; + +public class MyMessage implements Message, ContextAwareMessage { + + private final T payload; + private final Metadata metadata; + private final MyAckHandler ackHandler; + + private final MyFailureHandler nackHandler; + private ConsumedMessage consumed; + + public MyMessage(ConsumedMessage message, MyAckHandler ackHandler, MyFailureHandler nackHandler) { + this.consumed = message; + this.payload = message.body(); + this.ackHandler = ackHandler; + this.nackHandler = nackHandler; + this.metadata = ContextAwareMessage.captureContextMetadata(new MyIncomingMetadata<>(message)); + } + + public ConsumedMessage getConsumedMessage() { + return consumed; + } + + @Override + public T getPayload() { + return payload; + } + + @Override + public Metadata getMetadata() { + return metadata; + } + + @Override + public CompletionStage ack() { + return ackHandler.handle(this); + } + + @Override + public CompletionStage nack(Throwable reason, Metadata nackMetadata) { + return nackHandler.handle(this, reason, nackMetadata); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyMessageConverter.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyMessageConverter.java new file mode 100644 index 000000000..6f9f180e9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyMessageConverter.java @@ -0,0 +1,27 @@ +package connectors; + +import java.lang.reflect.Type; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.ConsumedMessage; +import io.smallrye.reactive.messaging.MessageConverter; +import io.smallrye.reactive.messaging.providers.helpers.TypeUtils; + +@ApplicationScoped +public class MyMessageConverter implements MessageConverter { + @Override + public boolean canConvert(Message in, Type target) { + return TypeUtils.isAssignable(target, ConsumedMessage.class) + && in.getMetadata(MyIncomingMetadata.class).isPresent(); + } + + @Override + public Message convert(Message in, Type target) { + return in.withPayload(in.getMetadata(MyIncomingMetadata.class) + .map(MyIncomingMetadata::getCustomMessage) + .orElse(null)); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingChannel.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingChannel.java new file mode 100644 index 000000000..013defda1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingChannel.java @@ -0,0 +1,49 @@ +package connectors; + +import java.util.concurrent.Flow; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import connectors.api.SendMessage; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.providers.helpers.MultiUtils; +import io.vertx.mutiny.core.Vertx; + +public class MyOutgoingChannel { + private final String channel; + private Flow.Subscriber> subscriber; + private final BrokerClient client; + private final String topic; + + public MyOutgoingChannel(Vertx vertx, MyConnectorOutgoingConfiguration oc, BrokerClient client) { + this.channel = oc.getChannel(); + this.client = client; + this.topic = oc.getTopic().orElse(oc.getChannel()); + this.subscriber = MultiUtils.via(multi -> multi.call(m -> publishMessage(this.client, m))); + } + + private Uni publishMessage(BrokerClient client, Message m) { + // construct the outgoing message + SendMessage sendMessage = new SendMessage(); + Object payload = m.getPayload(); + sendMessage.setPayload(payload); + sendMessage.setTopic(topic); + m.getMetadata(MyOutgoingMetadata.class).ifPresent(out -> { + sendMessage.setTopic(out.getTopic()); + sendMessage.setKey(out.getKey()); + //... + }); + return Uni.createFrom().completionStage(() -> client.send(sendMessage)) + .onItem().transformToUni(receipt -> Uni.createFrom().completionStage(m.ack())) + .onFailure().recoverWithUni(t -> Uni.createFrom().completionStage(m.nack(t))); + } + + public Flow.Subscriber> getSubscriber() { + return this.subscriber; + } + + public String getChannel() { + return this.channel; + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingChannelWithPartials.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingChannelWithPartials.java new file mode 100644 index 000000000..2ba3d9e59 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingChannelWithPartials.java @@ -0,0 +1,105 @@ +package connectors; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.Flow; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import connectors.api.BrokerClient; +import connectors.api.SendMessage; +import connectors.tracing.MyOpenTelemetryInstrumenter; +import connectors.tracing.MyTrace; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.providers.helpers.MultiUtils; +import io.smallrye.reactive.messaging.providers.helpers.SenderProcessor; +import io.smallrye.reactive.messaging.tracing.TracingUtils; +import io.vertx.mutiny.core.Vertx; + +public class MyOutgoingChannelWithPartials { + private SenderProcessor processor; + private Flow.Subscriber> subscriber; + private final BrokerClient client; + private final String topic; + private final boolean tracingEnabled; + + private Instrumenter instrumenter; + + public MyOutgoingChannelWithPartials(Vertx vertx, MyConnectorOutgoingConfiguration oc, BrokerClient client) { + this.client = client; + this.topic = oc.getTopic().orElse(oc.getChannel()); + this.tracingEnabled = true; + // tag::sender-processor[] + long requests = oc.getMaxPendingMessages(); + boolean waitForWriteCompletion = oc.getWaitForWriteCompletion(); + if (requests <= 0) { + requests = Long.MAX_VALUE; + } + this.processor = new SenderProcessor(requests, waitForWriteCompletion, m -> publishMessage(client, m)); + this.subscriber = MultiUtils.via(processor, m -> m.onFailure().invoke(f -> { + // log the failure + })); + // end::sender-processor[] + instrumenter = MyOpenTelemetryInstrumenter.createInstrumenter(false); + + } + + // tag::send-message[] + private Uni publishMessage(BrokerClient client, Message message) { + // construct the outgoing message + SendMessage sendMessage; + Object payload = message.getPayload(); + if (payload instanceof SendMessage) { + sendMessage = (SendMessage) message.getPayload(); + } else { + sendMessage = new SendMessage(); + sendMessage.setPayload(payload); + sendMessage.setTopic(topic); + message.getMetadata(MyOutgoingMetadata.class).ifPresent(out -> { + sendMessage.setTopic(out.getTopic()); + sendMessage.setKey(out.getKey()); + //... + }); + } + return Uni.createFrom().completionStage(() -> client.send(sendMessage)) + .onItem().transformToUni(receipt -> Uni.createFrom().completionStage(message.ack())) + .onFailure().recoverWithUni(t -> Uni.createFrom().completionStage(message.nack(t))); + } + // end::send-message[] + + // tag::outgoing-tracing[] + private Uni publishMessageWithTracing(BrokerClient client, Message message) { + // construct the outgoing message + SendMessage sendMessage; + Object payload = message.getPayload(); + if (payload instanceof SendMessage) { + sendMessage = (SendMessage) message.getPayload(); + } else { + sendMessage = new SendMessage(); + sendMessage.setPayload(payload); + sendMessage.setTopic(topic); + message.getMetadata(MyOutgoingMetadata.class).ifPresent(out -> { + sendMessage.setTopic(out.getTopic()); + sendMessage.setKey(out.getKey()); + //... + }); + } + if (tracingEnabled) { + Map properties = new HashMap<>(); + TracingUtils.traceOutgoing(instrumenter, message, new MyTrace.Builder() + .withProperties(properties) + .withTopic(sendMessage.getTopic()) + .build()); + sendMessage.setProperties(properties); + } + return Uni.createFrom().completionStage(() -> client.send(sendMessage)) + .onItem().transformToUni(receipt -> Uni.createFrom().completionStage(message.ack())) + .onFailure().recoverWithUni(t -> Uni.createFrom().completionStage(message.nack(t))); + } + // end::outgoing-tracing[] + + public Flow.Subscriber> getSubscriber() { + return this.subscriber; + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingMessage.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingMessage.java new file mode 100644 index 000000000..86c8a3636 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingMessage.java @@ -0,0 +1,70 @@ +package connectors; + +import java.util.concurrent.CompletionStage; +import java.util.function.Function; +import java.util.function.Supplier; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.providers.locals.ContextAwareMessage; + +public class MyOutgoingMessage implements Message, ContextAwareMessage { + + private final T payload; + private final Metadata metadata; + + private final Supplier> ack; + private final Function> nack; + + public static MyOutgoingMessage from(Message message) { + return new MyOutgoingMessage<>(message.getPayload(), message.getMetadata(), message.getAck(), message.getNack()); + } + + public MyOutgoingMessage(T payload, Metadata metadata, + Supplier> ack, + Function> nack) { + this.payload = payload; + this.metadata = metadata; + this.ack = ack; + this.nack = nack; + } + + public MyOutgoingMessage(T payload, String key, String topic, + Supplier> ack, + Function> nack) { + this(payload, Metadata.of(new MyOutgoingMetadata(topic, key)), ack, nack); + } + + @Override + public T getPayload() { + return payload; + } + + @Override + public Metadata getMetadata() { + return metadata; + } + + @Override + public Supplier> getAck() { + return this.ack; + } + + @Override + public Function> getNack() { + return this.nack; + } + + public MyOutgoingMessage withKey(String key) { + this.metadata.with(this.metadata.get(MyOutgoingMetadata.class) + .map(m -> MyOutgoingMetadata.builder(m).withKey(key).build())); + return this; + } + + public MyOutgoingMessage withTopic(String topic) { + this.metadata.with(this.metadata.get(MyOutgoingMetadata.class) + .map(m -> MyOutgoingMetadata.builder(m).withTopic(topic).build())); + return this; + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingMetadata.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingMetadata.java new file mode 100644 index 000000000..15c47cc1b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/MyOutgoingMetadata.java @@ -0,0 +1,56 @@ +package connectors; + +public class MyOutgoingMetadata { + private String topic; + private String key; + + public static MyOutgoingMetadataBuilder builder() { + return new MyOutgoingMetadataBuilder(); + } + + public static MyOutgoingMetadataBuilder builder(MyOutgoingMetadata metadata) { + return new MyOutgoingMetadataBuilder(metadata); + } + + public MyOutgoingMetadata(String topic, String key) { + this.topic = topic; + this.key = key; + } + + public String getTopic() { + return topic; + } + + public String getKey() { + return key; + } + + public static class MyOutgoingMetadataBuilder { + private String topic; + private String key; + + public MyOutgoingMetadataBuilder() { + + } + + public MyOutgoingMetadataBuilder(MyOutgoingMetadata metadata) { + this.key = metadata.getKey(); + this.topic = metadata.getTopic(); + } + + public MyOutgoingMetadataBuilder withTopic(String topic) { + this.topic = topic; + return this; + } + + public MyOutgoingMetadataBuilder withKey(String key) { + this.key = key; + return this; + } + + public MyOutgoingMetadata build() { + return new MyOutgoingMetadata(topic, key); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/test/MyConnectorTest.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/test/MyConnectorTest.java new file mode 100644 index 000000000..718aac41f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/test/MyConnectorTest.java @@ -0,0 +1,52 @@ +package connectors.test; + +import static org.awaitility.Awaitility.await; + +import java.util.List; +import java.util.UUID; +import java.util.concurrent.CopyOnWriteArrayList; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.junit.jupiter.api.Test; + +import connectors.MyConnector; +import io.smallrye.reactive.messaging.test.common.config.MapBasedConfig; + +public class MyConnectorTest extends WeldTestBase { + + @Test + void incomingChannel() { + String host = ""; + int port = 0; + String myTopic = UUID.randomUUID().toString(); + MapBasedConfig config = new MapBasedConfig() + .with("mp.messaging.incoming.data.topic", myTopic) + .with("mp.messaging.incoming.data.host", host) + .with("mp.messaging.incoming.data.port", port) + .with("mp.messaging.incoming.data.connector", MyConnector.CONNECTOR_NAME); + MyApp app = runApplication(config, MyApp.class); + + int expected = 10; + // produce expected number of messages to myTopic + + // wait until app received + await().until(() -> app.received().size() == expected); + } + + @ApplicationScoped + public static class MyApp { + + List received = new CopyOnWriteArrayList<>(); + + @Incoming("data") + void consume(String msg) { + received.add(msg); + } + + public List received() { + return received; + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/test/WeldTestBase.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/test/WeldTestBase.java new file mode 100644 index 000000000..35cf9555b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/test/WeldTestBase.java @@ -0,0 +1,140 @@ +package connectors.test; + +import jakarta.enterprise.inject.spi.BeanManager; + +import org.eclipse.microprofile.reactive.messaging.spi.ConnectorLiteral; +import org.jboss.weld.environment.se.Weld; +import org.jboss.weld.environment.se.WeldContainer; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; + +import connectors.MyConnector; +import connectors.MyMessageConverter; +import io.smallrye.config.inject.ConfigExtension; +import io.smallrye.reactive.messaging.providers.MediatorFactory; +import io.smallrye.reactive.messaging.providers.connectors.ExecutionHolder; +import io.smallrye.reactive.messaging.providers.connectors.WorkerPoolRegistry; +import io.smallrye.reactive.messaging.providers.extension.ChannelProducer; +import io.smallrye.reactive.messaging.providers.extension.EmitterFactoryImpl; +import io.smallrye.reactive.messaging.providers.extension.HealthCenter; +import io.smallrye.reactive.messaging.providers.extension.LegacyEmitterFactoryImpl; +import io.smallrye.reactive.messaging.providers.extension.MediatorManager; +import io.smallrye.reactive.messaging.providers.extension.MutinyEmitterFactoryImpl; +import io.smallrye.reactive.messaging.providers.extension.ReactiveMessagingExtension; +import io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory; +import io.smallrye.reactive.messaging.providers.impl.ConnectorFactories; +import io.smallrye.reactive.messaging.providers.impl.InternalChannelRegistry; +import io.smallrye.reactive.messaging.providers.metrics.MetricDecorator; +import io.smallrye.reactive.messaging.providers.metrics.MicrometerDecorator; +import io.smallrye.reactive.messaging.providers.wiring.Wiring; +import io.smallrye.reactive.messaging.test.common.config.MapBasedConfig; +import io.smallrye.reactive.messaging.test.common.config.SmallRyeConfigTestUtil; + +public class WeldTestBase { + + protected Weld weld; + protected WeldContainer container; + + @BeforeEach + public void initWeld() { + weld = new Weld(); + + // SmallRye config + ConfigExtension extension = new ConfigExtension(); + weld.addExtension(extension); + + weld.addBeanClass(MediatorFactory.class); + weld.addBeanClass(MediatorManager.class); + weld.addBeanClass(InternalChannelRegistry.class); + weld.addBeanClass(ConnectorFactories.class); + weld.addBeanClass(ConfiguredChannelFactory.class); + weld.addBeanClass(ChannelProducer.class); + weld.addBeanClass(ExecutionHolder.class); + weld.addBeanClass(WorkerPoolRegistry.class); + weld.addBeanClass(HealthCenter.class); + weld.addBeanClass(Wiring.class); + weld.addExtension(new ReactiveMessagingExtension()); + + weld.addBeanClass(EmitterFactoryImpl.class); + weld.addBeanClass(MutinyEmitterFactoryImpl.class); + weld.addBeanClass(LegacyEmitterFactoryImpl.class); + + weld.addBeanClass(MyConnector.class); + weld.addBeanClass(MyMessageConverter.class); + weld.addBeanClass(MetricDecorator.class); + weld.addBeanClass(MicrometerDecorator.class); + weld.disableDiscovery(); + } + + @AfterEach + public void stopContainer() { + if (container != null) { + // TODO Explicitly close the connector + getBeanManager().createInstance() + .select(MyConnector.class, ConnectorLiteral.of(MyConnector.CONNECTOR_NAME)).get(); + container.close(); + } + // Release the config objects + SmallRyeConfigTestUtil.releaseConfig(); + } + + public BeanManager getBeanManager() { + if (container == null) { + runApplication(new MapBasedConfig()); + } + return container.getBeanManager(); + } + + public void addBeans(Class... clazzes) { + weld.addBeanClasses(clazzes); + } + + public T get(Class clazz) { + return getBeanManager().createInstance().select(clazz).get(); + } + + public T runApplication(MapBasedConfig config, Class clazz) { + weld.addBeanClass(clazz); + runApplication(config); + return get(clazz); + } + + public void runApplication(MapBasedConfig config) { + if (config != null) { + config.write(); + } else { + MapBasedConfig.cleanup(); + } + + SmallRyeConfigTestUtil.installConfig(); + container = weld.initialize(); + } + + public static void addConfig(MapBasedConfig config) { + if (config != null) { + config.write(); + } else { + MapBasedConfig.cleanup(); + } + } + + public HealthCenter getHealth() { + if (container == null) { + throw new IllegalStateException("Application not started"); + } + return container.getBeanManager().createInstance().select(HealthCenter.class).get(); + } + + public boolean isStarted() { + return getHealth().getStartup().isOk(); + } + + public boolean isReady() { + return getHealth().getReadiness().isOk(); + } + + public boolean isAlive() { + return getHealth().getLiveness().isOk(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java new file mode 100644 index 000000000..9454e254f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/connectors/tracing/MyOpenTelemetryInstrumenter.java @@ -0,0 +1,64 @@ +package connectors.tracing; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.opentelemetry.api.GlobalOpenTelemetry; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessageOperation; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingAttributesExtractor; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingAttributesGetter; +import io.opentelemetry.instrumentation.api.incubator.semconv.messaging.MessagingSpanNameExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; +import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; +import io.smallrye.reactive.messaging.tracing.TracingUtils; + +/** + * Encapsulates the OpenTelemetry instrumentation API so that those classes are only needed if + * users explicitly enable tracing. + */ +public class MyOpenTelemetryInstrumenter { + + private final Instrumenter instrumenter; + + private MyOpenTelemetryInstrumenter(Instrumenter instrumenter) { + this.instrumenter = instrumenter; + } + + public static MyOpenTelemetryInstrumenter createIncoming() { + return new MyOpenTelemetryInstrumenter(createInstrumenter(true)); + } + + public static MyOpenTelemetryInstrumenter createOutgoing() { + return new MyOpenTelemetryInstrumenter(createInstrumenter(false)); + } + + // tag::create-instrumenter[] + public static Instrumenter createInstrumenter(boolean incoming) { + MessageOperation messageOperation = incoming ? MessageOperation.RECEIVE : MessageOperation.PUBLISH; + + MyAttributesExtractor myExtractor = new MyAttributesExtractor(); + MessagingAttributesGetter attributesGetter = myExtractor.getMessagingAttributesGetter(); + var spanNameExtractor = MessagingSpanNameExtractor.create(attributesGetter, messageOperation); + InstrumenterBuilder builder = Instrumenter.builder(GlobalOpenTelemetry.get(), + "io.smallrye.reactive.messaging", spanNameExtractor); + var attributesExtractor = MessagingAttributesExtractor.create(attributesGetter, messageOperation); + + builder + .addAttributesExtractor(attributesExtractor) + .addAttributesExtractor(myExtractor); + + if (incoming) { + return builder.buildConsumerInstrumenter(MyTraceTextMapGetter.INSTANCE); + } else { + return builder.buildProducerInstrumenter(MyTraceTextMapSetter.INSTANCE); + } + } + // + + public Message traceIncoming(Message message, MyTrace myTrace, boolean makeCurrent) { + return TracingUtils.traceIncoming(instrumenter, message, myTrace, makeCurrent); + } + + public void traceOutgoing(Message message, MyTrace myTrace) { + TracingUtils.traceOutgoing(instrumenter, message, myTrace); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/consumption/ConsumptionExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/consumption/ConsumptionExamples.java new file mode 100644 index 000000000..2094888b6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/consumption/ConsumptionExamples.java @@ -0,0 +1,70 @@ +package consumption; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; + +public class ConsumptionExamples { + + //tag::message-cs[] + @Incoming("my-channel") + public CompletionStage consumeMessage(Message message) { + handle(message.getPayload()); + return message.ack(); + } + //end::message-cs[] + + //tag::payload-sync[] + @Incoming("my-channel") + public void consumePayload(Price payload) { + // do something + } + //end::payload-sync[] + + //tag::payload-cs[] + @Incoming("my-channel") + public CompletionStage consumePayloadCS(Price payload) { + CompletionStage cs = handleAsync(payload); + return cs; + } + //end::payload-cs[] + + //tag::payload-uni[] + @Incoming("my-channel") + public Uni consumePayloadUni(Price payload) { + return Uni.createFrom().item(payload) + .onItem().invoke(this::handle) + .onItem().ignore().andContinueWithNull(); + } + //end::payload-uni[] + + //tag::message-uni[] + @Incoming("my-channel") + public Uni consumeMessageUni(Message message) { + return Uni.createFrom().item(message) + .onItem().invoke(m -> handle(m.getPayload())) + .onItem().transformToUni(x -> Uni.createFrom().completionStage(message.ack())); + } + //end::message-uni[] + + private CompletionStage handleAsync(Price price) { + return CompletableFuture.completedFuture(null); + } + + @SuppressWarnings("UnusedReturnValue") + private Price handle(Price price) { + return price; + } + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/converters/ConverterExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/converters/ConverterExample.java new file mode 100644 index 000000000..a9d3b661e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/converters/ConverterExample.java @@ -0,0 +1,24 @@ +package converters; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class ConverterExample { + + // tag::code[] + @Outgoing("persons") + public Multi source() { + return Multi.createFrom().items("Neo", "Morpheus", "Trinity"); + } + + // The messages need to be converted as they are emitted as Message + // and consumed as Message + @Incoming("persons") + public void consume(Person p) { + // ... + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/converters/MyConverter.java b/content/docs/smallrye-reactive-messaging/main/_examples/converters/MyConverter.java new file mode 100644 index 000000000..3f517ece0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/converters/MyConverter.java @@ -0,0 +1,31 @@ +package converters; + +import java.lang.reflect.Type; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.MessageConverter; + +// tag::code[] +@ApplicationScoped +public class MyConverter implements MessageConverter { + @Override + public boolean canConvert(Message in, Type target) { + // Checks whether this converter can be used to convert + // the incoming message into a message containing a payload + // of the type `target`. + return in.getPayload().getClass().equals(String.class) + && target.equals(Person.class); + } + + @Override + public Message convert(Message in, Type target) { + // Convert the incoming message into the new message. + // It's important to build the new message **from** + // the received one. + return in.withPayload(new Person((String) in.getPayload())); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/customizers/MyClientCustomizer.java b/content/docs/smallrye-reactive-messaging/main/_examples/customizers/MyClientCustomizer.java new file mode 100644 index 000000000..9e07288be --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/customizers/MyClientCustomizer.java @@ -0,0 +1,17 @@ +package customizers; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.config.Config; + +import io.smallrye.reactive.messaging.ClientCustomizer; + +@ApplicationScoped +public class MyClientCustomizer implements ClientCustomizer { + @Override + public ClientConfig customize(String channel, Config channelConfig, ClientConfig config) { + // customize the client configuration + return config; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/decorators/ConsumedMessageDecorator.java b/content/docs/smallrye-reactive-messaging/main/_examples/decorators/ConsumedMessageDecorator.java new file mode 100644 index 000000000..d1b403fde --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/decorators/ConsumedMessageDecorator.java @@ -0,0 +1,41 @@ +package decorators; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.PublisherDecorator; + +// tag::code[] +@ApplicationScoped +public class ConsumedMessageDecorator implements PublisherDecorator { + + private final Map counters = new HashMap<>(); + + @Override + public Multi> decorate(Multi> publisher, String channelName, + boolean isConnector) { + if (isConnector) { + AtomicLong counter = new AtomicLong(); + counters.put(channelName, counter); + return publisher.onItem().invoke(counter::incrementAndGet); + } else { + return publisher; + } + } + + @Override + public int getPriority() { + return 10; + } + + public long getMessageCount(String channel) { + return counters.get(channel).get(); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/emitter/ChannelExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/ChannelExamples.java new file mode 100644 index 000000000..1b2f021ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/ChannelExamples.java @@ -0,0 +1,31 @@ +package emitter; + +import java.util.concurrent.Flow.Publisher; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Multi; + +public class ChannelExamples { + + // tag::channel[] + @Inject + @Channel("my-channel") + Multi streamOfPayloads; + + @Inject + @Channel("my-channel") + Multi> streamOfMessages; + + @Inject + @Channel("my-channel") + Publisher publisherOfPayloads; + + @Inject + @Channel("my-channel") + Publisher> publisherOfMessages; + // end::channel[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/emitter/EmitterExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/EmitterExamples.java new file mode 100644 index 000000000..4c5c4ed99 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/EmitterExamples.java @@ -0,0 +1,119 @@ +package emitter; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.*; + +import io.smallrye.reactive.messaging.annotations.Broadcast; +import messages.MyMetadata; + +public class EmitterExamples { + + // tag::payload[] + @Inject + @Channel("prices") + Emitter emitterForPrices; + + public void send(double d) { + emitterForPrices.send(d); + } + // end::payload[] + + // tag::cs[] + public void sendAndAwaitAcknowledgement(double d) { + CompletionStage acked = emitterForPrices.send(d); + // sending a payload returns a CompletionStage completed + // when the message is acknowledged + acked.toCompletableFuture().join(); + } + // end::cs[] + + // tag::message[] + public void sendAsMessage(double d) { + emitterForPrices.send(Message.of(d)); + } + // end::message[] + + // tag::message-ack[] + public void sendAsMessageWithAck(double d) { + emitterForPrices.send(Message.of(d, () -> { + // Called when the message is acknowledged. + return CompletableFuture.completedFuture(null); + }, + reason -> { + // Called when the message is acknowledged negatively. + return CompletableFuture.completedFuture(null); + })); + } + // end::message-ack[] + + // tag::message-meta[] + public void sendAsMessageWithAckAndMetadata(double d) { + MyMetadata metadata = new MyMetadata(); + emitterForPrices.send(Message.of(d, Metadata.of(metadata), + () -> { + // Called when the message is acknowledged. + return CompletableFuture.completedFuture(null); + }, + reason -> { + // Called when the message is acknowledged negatively. + return CompletableFuture.completedFuture(null); + })); + } + // end::message-meta[] + + // tag::broadcast[] + @Inject + @Broadcast + @Channel("prices") + Emitter emitter; + + public void emit(double d) { + emitter.send(d); + } + + @Incoming("prices") + public void handle(double d) { + // Handle the new price + } + + @Incoming("prices") + public void audit(double d) { + // Audit the price change + } + // end::broadcast[] + + static class OverflowExample { + // tag::overflow[] + + // Set the max size to 10 and fail if reached + @OnOverflow(value = OnOverflow.Strategy.BUFFER, bufferSize = 10) + @Inject + @Channel("channel") + Emitter emitterWithBuffer; + + // [DANGER ZONE] no limit + @OnOverflow(OnOverflow.Strategy.UNBOUNDED_BUFFER) + @Inject + @Channel("channel") + Emitter danger; + + // Drop the new messages if the size is reached + @OnOverflow(OnOverflow.Strategy.DROP) + @Inject + @Channel("channel") + Emitter dropping; + + // Drop the previously sent messages if the size is reached + @OnOverflow(OnOverflow.Strategy.LATEST) + @Inject + @Channel("channel") + Emitter dropOldMessages; + + // end::overflow[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/emitter/EmitterFactoryExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/EmitterFactoryExamples.java new file mode 100644 index 000000000..d9884a773 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/EmitterFactoryExamples.java @@ -0,0 +1,88 @@ +package emitter; + +import java.util.concurrent.Flow.Publisher; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.enterprise.inject.spi.InjectionPoint; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.ChannelRegistry; +import io.smallrye.reactive.messaging.EmitterConfiguration; +import io.smallrye.reactive.messaging.EmitterFactory; +import io.smallrye.reactive.messaging.EmitterType; +import io.smallrye.reactive.messaging.MessagePublisherProvider; +import io.smallrye.reactive.messaging.annotations.EmitterFactoryFor; +import io.smallrye.reactive.messaging.providers.extension.ChannelProducer; + +public class EmitterFactoryExamples { + + // tag::custom-emitter-declaration[] + + public interface CustomEmitter extends EmitterType { + + > void sendAndForget(M msg); + + } + + public static class CustomEmitterImpl implements CustomEmitter, MessagePublisherProvider { + + Publisher> publisher; + + public CustomEmitterImpl(EmitterConfiguration configuration, long defaultBufferSize) { + //... initialize emitter with configuration + } + + @Override + public Publisher> getPublisher() { + return publisher; + } + + @Override + public > void sendAndForget(M msg) { + //... send to stream + } + } + // end::custom-emitter-declaration[] + + // tag::custom-emitter-factory[] + @EmitterFactoryFor(CustomEmitter.class) + @ApplicationScoped + public static class CustomEmitterFactory implements EmitterFactory> { + + @Inject + ChannelRegistry channelRegistry; + + @Override + public CustomEmitterImpl createEmitter(EmitterConfiguration configuration, long defaultBufferSize) { + return new CustomEmitterImpl<>(configuration, defaultBufferSize); + } + + @Produces + @Channel("") // Stream name is ignored during type-safe resolution + CustomEmitter produce(InjectionPoint injectionPoint) { + String channelName = ChannelProducer.getChannelName(injectionPoint); + return channelRegistry.getEmitter(channelName, CustomEmitter.class); + } + } + // end::custom-emitter-factory[] + + // tag::custom-emitter-usage[] + + @Inject + @Channel("custom-emitter-channel") + CustomEmitter customEmitter; + + //... + + public void emitMessage() { + customEmitter.sendAndForget(Message.of("a")); + customEmitter.sendAndForget(Message.of("b")); + customEmitter.sendAndForget(Message.of("c")); + } + // end::custom-emitter-usage[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/emitter/MutinyExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/MutinyExamples.java new file mode 100644 index 000000000..d6d2321b5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/MutinyExamples.java @@ -0,0 +1,33 @@ +package emitter; + +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import io.smallrye.reactive.messaging.MutinyEmitter; + +public class MutinyExamples { + // tag::uni[] + @Inject + @Channel("prices") + MutinyEmitter emitter; + + public Uni send(double d) { + return emitter.send(d); + } + // end::uni[] + + // tag::uni-await[] + public void sendAwait(double d) { + emitter.sendAndAwait(d); + } + // end::uni-await[] + + // tag::uni-forget[] + public Cancellable sendForget(double d) { + return emitter.sendAndForget(d); + } + // end::uni-forget[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/emitter/MyImperativeBean.java b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/MyImperativeBean.java new file mode 100644 index 000000000..a4619004f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/emitter/MyImperativeBean.java @@ -0,0 +1,24 @@ +package emitter; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +// tag::intro[] +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Emitter; + +@ApplicationScoped +public class MyImperativeBean { + + @Inject + @Channel("prices") + Emitter emitter; + + // ... + + public void send(double d) { + emitter.send(d); + } +} + +// end::intro[] diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/generation/GenerationExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/generation/GenerationExamples.java new file mode 100644 index 000000000..c4c0afdc5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/generation/GenerationExamples.java @@ -0,0 +1,95 @@ +package generation; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; +import java.util.concurrent.Flow; +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; + +public class GenerationExamples { + + AtomicInteger counter = new AtomicInteger(); + + // tag::message-sync[] + @Outgoing("my-channel") + public Message generateMessagesSynchronously() { + return Message.of(counter.getAndIncrement()); + } + // end::message-sync[] + + // tag::message-cs[] + @Outgoing("my-channel") + public CompletionStage> generateMessagesAsCompletionStage() { + return asyncClient.poll() + .thenApply(Message::of); + } + // end::message-cs[] + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } + + private Pollable asyncClient = () -> CompletableFuture.completedFuture(new Price(10.0)); + + private interface Pollable { + CompletionStage poll(); + } + + // tag::message-uni[] + @Outgoing("my-channel") + public Uni> generateMessagesAsync() { + return Uni.createFrom().item(() -> Message.of(counter.getAndIncrement())); + } + // end::message-uni[] + + // tag::message-stream[] + public Flow.Publisher> generateMessageStream() { + Multi multi = reactiveClient.getStream(); + return multi.map(Message::of); + } + // end::message-stream[] + + private ReactiveClient reactiveClient = () -> Multi.createFrom().items("a", "b", "c"); + + private interface ReactiveClient { + Multi getStream(); + } + + // tag::payload-sync[] + @Outgoing("my-channel") + public Integer generatePayloadsSynchronously() { + return counter.getAndIncrement(); + } + // end::payload-sync[] + + // tag::payload-cs[] + @Outgoing("my-channel") + public CompletionStage generatePayloadsAsCompletionStage() { + return asyncClient.poll(); + } + // end::payload-cs[] + + // tag::payload-uni[] + @Outgoing("my-channel") + public Uni generatePayloadsAsync() { + return Uni.createFrom().item(() -> counter.getAndIncrement()); + } + // end::payload-uni[] + + // tag::payload-stream[] + @Outgoing("my-channel") + public Multi generatePayloadsStream() { + Multi multi = reactiveClient.getStream(); + return multi; + } + // end::payload-stream[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/genericpayload/GenericPayloadExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/genericpayload/GenericPayloadExample.java new file mode 100644 index 000000000..583cfcec0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/genericpayload/GenericPayloadExample.java @@ -0,0 +1,49 @@ +package genericpayload; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.GenericPayload; +import io.smallrye.reactive.messaging.MutinyEmitter; +import messages.MyMetadata; + +@ApplicationScoped +public class GenericPayloadExample { + + // tag::code[] + @Outgoing("out") + Multi> produce() { + return Multi.createFrom().range(0, 100) + .map(i -> GenericPayload.of(">> " + i, Metadata.of(new MyMetadata()))); + } + // end::code[] + + // tag::injection[] + @Incoming("in") + @Outgoing("out") + GenericPayload process(int payload, MyMetadata metadata) { + // use the injected metadata + String id = metadata.getId(); + return GenericPayload.of(">> " + payload + " " + id, + Metadata.of(metadata, new MyMetadata("Bob", "Alice"))); + } + // end::injection[] + + // tag::emitter[] + @Inject + @Channel("out") + MutinyEmitter> emitter; + + public void emitWithMetadata(String payload) { + emitter.sendAndForget( + GenericPayload.of(payload, Metadata.of(new MyMetadata()))); + } + // end::emitter[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/incomings/IncomingsExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/incomings/IncomingsExamples.java new file mode 100644 index 000000000..f1d727df7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/incomings/IncomingsExamples.java @@ -0,0 +1,16 @@ +package incomings; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +public class IncomingsExamples { + + //tag::code[] + @Incoming("channel-1") + @Incoming("channel-2") + public String process(String s) { + // get messages from channel-1 and channel-2 + return s.toUpperCase(); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/incomings/MetadataInjectionExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/incomings/MetadataInjectionExample.java new file mode 100644 index 000000000..79c3cc3ef --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/incomings/MetadataInjectionExample.java @@ -0,0 +1,44 @@ +package incomings; + +import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; +import jdk.jfr.Period; +import messages.MyMetadata; + +public class MetadataInjectionExample { + + //tag::code[] + @Incoming("in") + @Outgoing("out") + public String process(String payload, MyMetadata metadata) { + // ... + return payload.toUpperCase(); + } + + @Incoming("in") + @Outgoing("out") + public Uni process2(String payload, MyMetadata metadata) { + // ... + return Uni.createFrom().item(payload.toUpperCase()); + } + + // ... + @Incoming("in") + public void consume(String payload, Optional metadata, Period metadata2) { + // ... + } + + @Incoming("in") + public CompletionStage consume2(String payload, Optional metadata, Period metadata2) { + // ... + return CompletableFuture.completedFuture(null); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/interceptors/MyIncomingInterceptor.java b/content/docs/smallrye-reactive-messaging/main/_examples/interceptors/MyIncomingInterceptor.java new file mode 100644 index 000000000..c322a7553 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/interceptors/MyIncomingInterceptor.java @@ -0,0 +1,28 @@ +package interceptors; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.IncomingInterceptor; + +@Identifier("channel-a") +@ApplicationScoped +public class MyIncomingInterceptor implements IncomingInterceptor { + + @Override + public Message afterMessageReceive(Message message) { + return message.withPayload("changed " + message.getPayload()); + } + + @Override + public void onMessageAck(Message message) { + // Called after message ack + } + + @Override + public void onMessageNack(Message message, Throwable failure) { + // Called after message nack + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/interceptors/MyOutgoingInterceptor.java b/content/docs/smallrye-reactive-messaging/main/_examples/interceptors/MyOutgoingInterceptor.java new file mode 100644 index 000000000..6efdc8835 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/interceptors/MyOutgoingInterceptor.java @@ -0,0 +1,30 @@ +package interceptors; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.OutgoingInterceptor; +import io.smallrye.reactive.messaging.OutgoingMessageMetadata; + +@Identifier("channel-a") +@ApplicationScoped +public class MyOutgoingInterceptor implements OutgoingInterceptor { + + @Override + public Message onMessage(Message message) { + return message.withPayload("changed " + message.getPayload()); + } + + @Override + public void onMessageAck(Message message) { + message.getMetadata(OutgoingMessageMetadata.class) + .ifPresent(m -> m.getResult()); + } + + @Override + public void onMessageNack(Message message, Throwable failure) { + + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsMetadataExample.java new file mode 100644 index 000000000..adb2a0a65 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsMetadataExample.java @@ -0,0 +1,25 @@ +package jms.inbound; + +import java.util.Optional; + +import jakarta.jms.Destination; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.jms.IncomingJmsMessageMetadata; + +public class JmsMetadataExample { + + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + Optional metadata = incoming.getMetadata(IncomingJmsMessageMetadata.class); + metadata.ifPresent(meta -> { + long expiration = meta.getExpiration(); + Destination destination = meta.getDestination(); + String value = meta.getStringProperty("my-property"); + }); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsPriceConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsPriceConsumer.java new file mode 100644 index 000000000..ac4cdd774 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsPriceConsumer.java @@ -0,0 +1,15 @@ +package jms.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class JmsPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsPriceMessageConsumer.java new file mode 100644 index 000000000..6dfdf485e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/jms/inbound/JmsPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package jms.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class JmsPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsOutboundMetadataExample.java new file mode 100644 index 000000000..6142bccf7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsOutboundMetadataExample.java @@ -0,0 +1,23 @@ +package jms.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.jms.JmsProperties; +import io.smallrye.reactive.messaging.jms.OutgoingJmsMessageMetadata; + +public class JmsOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + OutgoingJmsMessageMetadata metadata = OutgoingJmsMessageMetadata.builder() + .withProperties(JmsProperties.builder().with("some-property", "some-value").build()) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsPriceMessageProducer.java new file mode 100644 index 000000000..bd57c863b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsPriceMessageProducer.java @@ -0,0 +1,26 @@ +package jms.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class JmsPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsPriceProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsPriceProducer.java new file mode 100644 index 000000000..b693a91f7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/jms/outbound/JmsPriceProducer.java @@ -0,0 +1,25 @@ +package jms.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class JmsPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/ConsumerTest.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/ConsumerTest.java new file mode 100644 index 000000000..fe0e60637 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/ConsumerTest.java @@ -0,0 +1,45 @@ +package kafka.companion; + +import static org.testcontainers.shaded.org.awaitility.Awaitility.await; + +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + +import org.apache.kafka.common.TopicPartition; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class ConsumerTest extends KafkaCompanionTestBase { + + @Test + public void fromTopics() { + // tag::topics[] + companion.consumeIntegers().fromTopics("topic1", "topic2"); + // end::topics[] + } + + @Test + public void fromOffset() { + // tag::offsets[] + Map offsets = new HashMap<>(); + offsets.put(new TopicPartition("topic1", 0), 100L); + offsets.put(new TopicPartition("topic2", 0), 100L); + companion.consumeIntegers().fromOffsets(offsets, Duration.ofSeconds(10)); + // end::offsets[] + } + + @Test + public void committed() { + // tag::committed[] + ConsumerBuilder consumer = companion.consumeIntegers() + .withAutoCommit(); + consumer.fromTopics("topic"); + // ... + await().untilAsserted(consumer::waitForAssignment); + consumer.committed(new TopicPartition("topic", 1)); + // end::committed[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/KafkaTest.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/KafkaTest.java new file mode 100644 index 000000000..e10717dc0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/KafkaTest.java @@ -0,0 +1,76 @@ +package kafka.companion; + +import java.time.Duration; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.common.serialization.Deserializer; +import org.apache.kafka.common.serialization.Serializer; +import org.junit.jupiter.api.Assertions; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerBuilder; +import io.smallrye.reactive.messaging.kafka.companion.ConsumerTask; +import io.smallrye.reactive.messaging.kafka.companion.KafkaCompanion; +import io.smallrye.reactive.messaging.kafka.companion.ProducerBuilder; + +public class KafkaTest { + + public void newCompanion() { + // tag::companion[] + // Create companion with bootstrap servers and API timeout (default is 10 seconds) + KafkaCompanion companion = new KafkaCompanion("localhost:9092", Duration.ofSeconds(5)); + + // Create producer and start producer task + ProducerBuilder producer = companion.produceIntegers() + .withClientId("my-producer") + .withProp("max.block.ms", "5000"); + producer.usingGenerator(i -> new ProducerRecord<>("topic", i), 100); + + // Create consumer and start consumer task + ConsumerBuilder consumer = companion.consumeIntegers() + .withGroupId("my-group") + .withCommitAsyncWhen(record -> true); + ConsumerTask records = consumer.fromTopics("topic", Duration.ofSeconds(10)); + // Await completion and assert consumed record count + Assertions.assertEquals(records.awaitCompletion().count(), 100); + // end::companion[] + } + + public void serdes() { + // tag::serdes[] + KafkaCompanion companion = new KafkaCompanion("localhost:9092"); + + // Register serde to the companion + companion.registerSerde(Orders.class, new OrdersSerializer(), new OrdersDeserializer()); + + // Companion will configure consumer accordingly + ConsumerTask orders = companion.consume(Integer.class, Orders.class) + .fromTopics("orders", 1000).awaitCompletion(); + + for (ConsumerRecord order : orders) { + // ... check consumed records + } + // end::serdes[] + } + + public static class Orders { + + } + + public static class OrdersSerializer implements Serializer { + + @Override + public byte[] serialize(String s, Orders orders) { + return new byte[0]; + } + } + + public static class OrdersDeserializer implements Deserializer { + + @Override + public Orders deserialize(String s, byte[] bytes) { + return null; + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/KafkaWithBaseTest.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/KafkaWithBaseTest.java new file mode 100644 index 000000000..63bd8634a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/KafkaWithBaseTest.java @@ -0,0 +1,32 @@ +package kafka.companion; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.ConsumerTask; +import io.smallrye.reactive.messaging.kafka.companion.ProducerTask; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +// tag::code[] +public class KafkaWithBaseTest extends KafkaCompanionTestBase { + + @Test + public void testWithBase() { + // companion is created by the base class + + // produce 100 records to messages topic + ProducerTask producerTask = companion.produceIntegers() + .usingGenerator(i -> new ProducerRecord<>("messages", i), 100); + long msgCount = producerTask.awaitCompletion().count(); + Assertions.assertEquals(msgCount, 100); + + // consume 100 records from messages topic + ConsumerTask consumerTask = companion.consumeIntegers() + .fromTopics("messages", 100); + ConsumerRecord lastRecord = consumerTask.awaitCompletion().getLastRecord(); + Assertions.assertEquals(lastRecord.value(), 99); + } +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/OffsetsTest.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/OffsetsTest.java new file mode 100644 index 000000000..f7b00fa6b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/OffsetsTest.java @@ -0,0 +1,36 @@ +package kafka.companion; + +import java.util.Collection; + +import org.apache.kafka.clients.admin.ConsumerGroupListing; +import org.apache.kafka.clients.admin.OffsetSpec; +import org.apache.kafka.common.TopicPartition; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.KafkaCompanion; +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class OffsetsTest extends KafkaCompanionTestBase { + + @Test + public void offsets() { + // tag::offsets[] + TopicPartition topicPartition = KafkaCompanion.tp("topic", 1); + long latestOffset = companion.offsets().get(topicPartition, OffsetSpec.latest()).offset(); + // end::offsets[] + } + + @Test + public void consumerGroups() { + // tag::consumerGroups[] + Collection consumerGroups = companion.consumerGroups().list(); + for (ConsumerGroupListing consumerGroup : consumerGroups) { + // check consumer groups + } + + TopicPartition topicPartition = KafkaCompanion.tp("topic", 1); + companion.consumerGroups().resetOffsets("consumer-group", topicPartition); + // end::consumerGroups[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/ProducerTest.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/ProducerTest.java new file mode 100644 index 000000000..a60561829 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/ProducerTest.java @@ -0,0 +1,34 @@ +package kafka.companion; + +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class ProducerTest extends KafkaCompanionTestBase { + + @Test + public void fromRecords() { + // tag::records[] + companion.produce(byte[].class).fromRecords( + new ProducerRecord<>("topic1", "k1", "1".getBytes()), + new ProducerRecord<>("topic1", "k2", "2".getBytes()), + new ProducerRecord<>("topic1", "k3", "3".getBytes())); + // end::records[] + } + + @Test + public void fromGenerator() { + // tag::generator[] + companion.produceIntegers().usingGenerator(i -> new ProducerRecord<>("topic", i), 10); + // end::generator[] + } + + @Test + public void fromCsv() { + // tag::csv[] + companion.produceStrings().fromCsv("records.csv"); + // end::csv[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/TopicsTest.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/TopicsTest.java new file mode 100644 index 000000000..01e048611 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/companion/TopicsTest.java @@ -0,0 +1,20 @@ +package kafka.companion; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.kafka.companion.test.KafkaCompanionTestBase; + +public class TopicsTest extends KafkaCompanionTestBase { + + @Test + public void topics() { + // tag::code[] + companion.topics().create("topic1", 1); + companion.topics().createAndWait("topic2", 3); + Assertions.assertEquals(companion.topics().list().size(), 2); + + companion.topics().delete("topic1"); + // end::code[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/Converters.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/Converters.java new file mode 100644 index 000000000..646c5ae54 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/Converters.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.Record; + +@ApplicationScoped +public class Converters { + + // tag::code[] + @Incoming("topic-a") + public void consume(Record record) { + String key = record.key(); // Can be `null` if the incoming record has no key + String value = record.value(); // Can be `null` if the incoming record has no value + } + + @Incoming("topic-b") + public void consume(ConsumerRecord record) { + String key = record.key(); // Can be `null` if the incoming record has no key + String value = record.value(); // Can be `null` if the incoming record has no value + String topic = record.topic(); + int partition = record.partition(); + // ... + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaCheckpointExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaCheckpointExample.java new file mode 100644 index 000000000..9ae1f1ecb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaCheckpointExample.java @@ -0,0 +1,32 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.commit.CheckpointMetadata; + +@Deprecated(forRemoval = true) +@ApplicationScoped +public class KafkaCheckpointExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consume(Message record) { + // Get the `CheckpointMetadata` from the incoming message + CheckpointMetadata checkpoint = CheckpointMetadata.fromMessage(record); + + // `CheckpointMetadata` allows transforming the processing state + // Applies the given function, starting from the value `0.0` when no previous state exists + checkpoint.transform(0.0, current -> current + record.getPayload(), /* persistOnAck */ true); + + // `persistOnAck` flag set to true, ack will persist the processing state + // associated with the latest offset (per partition). + return record.ack(); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaCustomCommit.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaCustomCommit.java new file mode 100644 index 000000000..f57e3b87a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaCustomCommit.java @@ -0,0 +1,60 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.function.BiConsumer; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.TopicPartition; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.IncomingKafkaRecord; +import io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.kafka.KafkaConsumer; +import io.smallrye.reactive.messaging.kafka.commit.KafkaCommitHandler; +import io.vertx.mutiny.core.Vertx; + +public class KafkaCustomCommit implements KafkaCommitHandler { + + @Override + public Uni handle(IncomingKafkaRecord record) { + // called on message ack + return Uni.createFrom().voidItem(); + } + + @Override + public Uni> received(IncomingKafkaRecord record) { + // called before message processing + return Uni.createFrom().item(record); + } + + @Override + public void terminate(boolean graceful) { + // called on channel shutdown + } + + @Override + public void partitionsAssigned(Collection partitions) { + // called on partitions assignment + } + + @Override + public void partitionsRevoked(Collection partitions) { + // called on partitions revoked + } + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements KafkaCommitHandler.Factory { + + @Override + public KafkaCommitHandler create(KafkaConnectorIncomingConfiguration config, + Vertx vertx, + KafkaConsumer consumer, + BiConsumer reportFailure) { + return new KafkaCustomCommit(/* ... */); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaDeadLetterExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaDeadLetterExample.java new file mode 100644 index 000000000..82cb5af95 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaDeadLetterExample.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import java.nio.charset.StandardCharsets; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.header.internals.RecordHeaders; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +@ApplicationScoped +public class KafkaDeadLetterExample { + + // tag::code[] + @Incoming("in") + public CompletionStage consume(Message message) { + return message.nack(new Exception("Failed!"), Metadata.of( + OutgoingKafkaRecordMetadata.builder() + .withKey("failed-record") + .withHeaders(new RecordHeaders() + .add("my-header", "my-header-value".getBytes(StandardCharsets.UTF_8))) + .build())); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaManualPartitionPauseResume.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaManualPartitionPauseResume.java new file mode 100644 index 000000000..9f3852dd1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaManualPartitionPauseResume.java @@ -0,0 +1,37 @@ +package kafka.inbound; + +import java.util.Set; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.apache.kafka.common.TopicPartition; + +import io.smallrye.reactive.messaging.kafka.KafkaClientService; +import io.smallrye.reactive.messaging.kafka.KafkaConsumer; + +@ApplicationScoped +public class KafkaManualPartitionPauseResume { + + @Inject + KafkaClientService kafkaClientService; + + // tag::code[] + public void manualPartitionPauseResume() { + KafkaConsumer consumer = kafkaClientService.getConsumer("my-channel"); + TopicPartition tp = new TopicPartition("my-topic", 0); + + // Pause specific partitions — survives backpressure resume cycles + consumer.pausePartitions(Set.of(tp)).await().indefinitely(); + + // Check which partitions are manually paused + Set paused = consumer.pausedPartitions(); + + // Resume specific partitions + consumer.resumePartitions(Set.of(tp)).await().indefinitely(); + + // Pause all assigned partitions + consumer.pauseAssignedPartitions().await().indefinitely(); + } + // end::code[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaMetadataExample.java new file mode 100644 index 000000000..8400fe0df --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaMetadataExample.java @@ -0,0 +1,36 @@ +package kafka.inbound; + +import java.time.Instant; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordMetadata; + +public class KafkaMetadataExample { + + @SuppressWarnings("unchecked") + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + IncomingKafkaRecordMetadata metadata = incoming.getMetadata(IncomingKafkaRecordMetadata.class) + .orElse(null); + if (metadata != null) { + // The topic + String topic = metadata.getTopic(); + + // The key + String key = metadata.getKey(); + + // The timestamp + Instant timestamp = metadata.getTimestamp(); + + // The underlying record + ConsumerRecord record = metadata.getRecord(); + + // ... + } + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaPriceConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaPriceConsumer.java new file mode 100644 index 000000000..7d6d28b94 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaPriceConsumer.java @@ -0,0 +1,15 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaPriceMessageConsumer.java new file mode 100644 index 000000000..324b7b94f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class KafkaPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message (commit the offset) + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRebalancedConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRebalancedConsumer.java new file mode 100644 index 000000000..814461dc2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRebalancedConsumer.java @@ -0,0 +1,22 @@ +package kafka.inbound; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Acknowledgment; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class KafkaRebalancedConsumer { + + @Incoming("rebalanced-example") + @Acknowledgment(Acknowledgment.Strategy.NONE) + public CompletionStage consume(Message message) { + // We don't need to ACK messages because in this example we set offset during consumer re-balance + return CompletableFuture.completedFuture(null); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java new file mode 100644 index 000000000..512b65117 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java @@ -0,0 +1,49 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.logging.Logger; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.clients.consumer.OffsetAndTimestamp; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener; + +@ApplicationScoped +@Identifier("rebalanced-example.rebalancer") +public class KafkaRebalancedConsumerRebalanceListener implements KafkaConsumerRebalanceListener { + + private static final Logger LOGGER = Logger.getLogger(KafkaRebalancedConsumerRebalanceListener.class.getName()); + + /** + * When receiving a list of partitions will search for the earliest offset within 10 minutes + * and seek the consumer to it. + * + * @param consumer underlying consumer + * @param partitions set of assigned topic partitions + */ + @Override + public void onPartitionsAssigned(Consumer consumer, + Collection partitions) { + long now = System.currentTimeMillis(); + long shouldStartAt = now - 600_000L; //10 minute ago + + Map request = new HashMap<>(); + for (org.apache.kafka.common.TopicPartition partition : partitions) { + LOGGER.info("Assigned " + partition); + request.put(partition, shouldStartAt); + } + Map offsets = consumer + .offsetsForTimes(request); + for (Map.Entry position : offsets.entrySet()) { + long target = position.getValue() == null ? 0L : position.getValue().offset(); + LOGGER.info("Seeking position " + target + " for " + position.getKey()); + consumer.seek(position.getKey(), target); + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRecordBatchExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRecordBatchExample.java new file mode 100644 index 000000000..85d329af6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRecordBatchExample.java @@ -0,0 +1,60 @@ +package kafka.inbound; + +import java.util.List; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.apache.kafka.common.TopicPartition; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.TracingMetadata; +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordBatchMetadata; + +@ApplicationScoped +public class KafkaRecordBatchExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consumeMessage(Message> msg) { + IncomingKafkaRecordBatchMetadata batchMetadata = msg.getMetadata(IncomingKafkaRecordBatchMetadata.class) + .get(); + for (ConsumerRecord record : batchMetadata.getRecords()) { + int partition = record.partition(); + long offset = record.offset(); + long timestamp = record.timestamp(); + } + // ack will commit the latest offsets (per partition) of the batch. + return msg.ack(); + } + + @Incoming("prices") + public void consumeRecords(ConsumerRecords records) { + for (TopicPartition partition : records.partitions()) { + for (ConsumerRecord record : records.records(partition)) { + //... process messages + } + } + } + // end::code[] + + // tag::batch[] + @Incoming("prices") + public void consumeRecords(ConsumerRecords records, + IncomingKafkaRecordBatchMetadata metadata) { + for (TopicPartition partition : records.partitions()) { + for (ConsumerRecord record : records.records(partition)) { + TracingMetadata tracing = metadata.getMetadataForRecord(record, TracingMetadata.class); + if (tracing != null) { + tracing.getCurrentContext().makeCurrent(); + } + //... process messages + } + } + } + // end::batch[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java new file mode 100644 index 000000000..9a3d11100 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaRecordBatchPayloadExample.java @@ -0,0 +1,21 @@ +package kafka.inbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaRecordBatchPayloadExample { + + // tag::code[] + @Incoming("prices") + public void consume(List prices) { + for (double price : prices) { + // process price + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupAckExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupAckExample.java new file mode 100644 index 000000000..2ee56bd59 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupAckExample.java @@ -0,0 +1,29 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.queues.ShareGroupAcknowledgement; + +@ApplicationScoped +public class KafkaShareGroupAckExample { + + // tag::code[] + @Incoming("queue") + public void consume(double price, ShareGroupAcknowledgement ack) { + if (price < 0) { + ack.reject(); // Permanently reject the record + } else if (needsRetry(price)) { + ack.release(); // Release for re-delivery to another consumer + } else { + ack.accept(); // Mark as successfully processed + } + } + // end::code[] + + private boolean needsRetry(double price) { + return false; + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java new file mode 100644 index 000000000..383d4ec6c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupBatchAckExample.java @@ -0,0 +1,30 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.ConsumerRecords; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordBatchMetadata; +import io.smallrye.reactive.messaging.kafka.queues.ShareGroupAcknowledgement; + +@ApplicationScoped +public class KafkaShareGroupBatchAckExample { + + // tag::code[] + @Incoming("queue") + public void consume(ConsumerRecords records, + IncomingKafkaRecordBatchMetadata batchMetadata) { + for (ConsumerRecord record : records) { + ShareGroupAcknowledgement ack = batchMetadata.getMetadataForRecord(record, ShareGroupAcknowledgement.class); + if (record.value() < 0) { + ack.reject(); // Reject invalid records + } else { + ack.accept(); // Accept valid records + } + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupConsumer.java new file mode 100644 index 000000000..5df915512 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupConsumer.java @@ -0,0 +1,15 @@ +package kafka.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class KafkaShareGroupConsumer { + + @Incoming("queue") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupNackExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupNackExample.java new file mode 100644 index 000000000..ffebef1c2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/KafkaShareGroupNackExample.java @@ -0,0 +1,41 @@ +package kafka.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.AcknowledgeType; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.kafka.queues.ShareGroupAcknowledgement; + +@ApplicationScoped +public class KafkaShareGroupNackExample { + + // tag::code[] + @Incoming("queue") + public CompletionStage consume(Message msg) { + try { + process(msg.getPayload()); + return msg.ack(); + } catch (TransientException e) { + // Release for re-delivery + return msg.nack(e, + Metadata.of(ShareGroupAcknowledgement.from(AcknowledgeType.RELEASE))); + } catch (Exception e) { + // Reject permanently + return msg.nack(e, + Metadata.of(ShareGroupAcknowledgement.from(AcknowledgeType.REJECT))); + } + } + // end::code[] + + private void process(double price) { + } + + private static class TransientException extends RuntimeException { + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/MyCheckpointStateStore.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/MyCheckpointStateStore.java new file mode 100644 index 000000000..5c33ce0c1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/inbound/MyCheckpointStateStore.java @@ -0,0 +1,69 @@ +package kafka.inbound; + +import java.util.Collection; +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerConfig; +import org.apache.kafka.common.TopicPartition; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.kafka.KafkaConsumer; +import io.smallrye.reactive.messaging.kafka.commit.CheckpointStateStore; +import io.smallrye.reactive.messaging.kafka.commit.ProcessingState; +import io.vertx.mutiny.core.Vertx; + +@Deprecated(forRemoval = true) +public class MyCheckpointStateStore implements CheckpointStateStore { + + private final String consumerGroupId; + private final Class stateType; + + public MyCheckpointStateStore(String consumerGroupId, Class stateType) { + this.consumerGroupId = consumerGroupId; + this.stateType = stateType; + } + + /** + * Can be used with + * {@code mp.reactive.messaging.incoming.my-channel.commit-strategy=checkpoint} + * {@code mp.reactive.messaging.incoming.my-channel.checkpoint.state-store=my-store} + */ + @ApplicationScoped + @Identifier("my-store") + public static class Factory implements CheckpointStateStore.Factory { + + @Override + public CheckpointStateStore create(KafkaConnectorIncomingConfiguration config, + Vertx vertx, + KafkaConsumer consumer, + Class stateType /* if configured, otherwise null */) { + String consumerGroupId = (String) consumer.configuration().get(ConsumerConfig.GROUP_ID_CONFIG); + return new MyCheckpointStateStore(consumerGroupId, stateType); + } + } + + @Override + public Uni>> fetchProcessingState(Collection partitions) { + // Called on Vert.x event loop + // Return a Uni completing with the map of topic-partition to processing state + // The Uni will be subscribed also on Vert.x event loop + return Uni.createFrom().nullItem(); + } + + @Override + public Uni persistProcessingState(Map> state) { + // Called on Vert.x event loop + // Return a Uni completing with void when the given states are persisted + // The Uni will be subscribed also on Vert.x event loop + return Uni.createFrom().voidItem(); + } + + @Override + public void close() { + /* Called when channel is closing, no-op by default */ + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java new file mode 100644 index 000000000..17cea321d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCloudEventMultipleProcessors.java @@ -0,0 +1,39 @@ +package kafka.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class KafkaCloudEventMultipleProcessors { + + @Incoming("source") + @Outgoing("processed") + public Message process(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greeting") + .build()); + } + + @SuppressWarnings("unchecked") + @Incoming("processed") + @Outgoing("cloud-events") + public Message process2(Message in) { + OutgoingCloudEventMetadata metadata = in + .getMetadata(OutgoingCloudEventMetadata.class) + .orElseGet(() -> OutgoingCloudEventMetadata.builder().build()); + + return in.addMetadata(OutgoingCloudEventMetadata.from(metadata) + .withSource(URI.create("source://me")) + .withSubject("test") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCloudEventProcessor.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCloudEventProcessor.java new file mode 100644 index 000000000..8b5d4d91c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCloudEventProcessor.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import java.net.URI; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata; + +@ApplicationScoped +public class KafkaCloudEventProcessor { + + @Outgoing("cloud-events") + public Message toCloudEvents(Message in) { + return in.addMetadata(OutgoingCloudEventMetadata.builder() + .withId("id-" + in.getPayload()) + .withType("greetings") + .withSource(URI.create("http://example.com")) + .withSubject("greeting-message") + .build()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCustomHeaderReplier.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCustomHeaderReplier.java new file mode 100644 index 000000000..9612a1c60 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaCustomHeaderReplier.java @@ -0,0 +1,39 @@ +package kafka.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.common.header.Header; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaCustomHeaderReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + ProducerRecord process(ConsumerRecord request) { + Header topicHeader = request.headers().lastHeader("MY_TOPIC"); + if (topicHeader == null) { + // Skip + return null; + } + String myTopic = new String(topicHeader.value()); + int generateValue = rand.nextInt(100); + Header partitionHeader = request.headers().lastHeader("MY_PARTITION"); + if (partitionHeader == null) { + // Propagate incoming headers, including the correlation id header + return new ProducerRecord<>(myTopic, null, request.key(), generateValue, request.headers()); + } + // Send the replies to extracted myTopic-myPartition + int myPartition = KafkaRequestReply.replyPartitionFromBytes(partitionHeader.value()); + return new ProducerRecord<>(myTopic, myPartition, request.key(), generateValue, request.headers()); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java new file mode 100644 index 000000000..49b973232 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaExactlyOnceProcessor.java @@ -0,0 +1,34 @@ +package kafka.outbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.Record; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + @Incoming("in-channel") + public Uni emitInTransaction(Message>> batch) { + return txProducer.withTransaction(batch, emitter -> { + for (Record record : batch.getPayload()) { + emitter.send(KafkaRecord.of(record.key(), record.value() + 1)); + } + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java new file mode 100644 index 000000000..cca404431 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaOutboundDynamicTopicExample.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +public class KafkaOutboundDynamicTopicExample { + + public Message metadata(Message incoming) { + // tag::code[] + String topicName = selectTopicFromIncommingMessage(incoming); + OutgoingKafkaRecordMetadata metadata = OutgoingKafkaRecordMetadata. builder() + .withTopic(topicName) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + + private String selectTopicFromIncommingMessage(Message incoming) { + return "fake"; + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaOutboundMetadataExample.java new file mode 100644 index 000000000..645f290d2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaOutboundMetadataExample.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import org.apache.kafka.common.header.internals.RecordHeaders; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; + +public class KafkaOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + // Creates an OutgoingKafkaRecordMetadata + // The type parameter is the type of the record's key + OutgoingKafkaRecordMetadata metadata = OutgoingKafkaRecordMetadata. builder() + .withKey("my-key") + .withHeaders(new RecordHeaders().add("my-header", "value".getBytes())) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java new file mode 100644 index 000000000..8bdf4142c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPooledExactlyOnceProcessor.java @@ -0,0 +1,32 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.annotations.Blocking; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordMetadata; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaPooledExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + @Incoming("in-channel") + @Blocking(ordered = false) + public void process(ConsumerRecord record, IncomingKafkaRecordMetadata metadata) { + txProducer.withTransactionAndAwait(metadata, emitter -> { + emitter.send(KafkaRecord.of(record.key(), record.value() + 1)); + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceMessageProducer.java new file mode 100644 index 000000000..52e86b093 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceMessageProducer.java @@ -0,0 +1,26 @@ +package kafka.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class KafkaPriceMessageProducer { + + private final Random random = new Random(); + + @Outgoing("prices-out") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceProcessor.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceProcessor.java new file mode 100644 index 000000000..7d423ae89 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceProcessor.java @@ -0,0 +1,19 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaPriceProcessor { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public double process(int in) { + return in * 0.88; + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceProducer.java new file mode 100644 index 000000000..220a0214f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaPriceProducer.java @@ -0,0 +1,25 @@ +package kafka.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class KafkaPriceProducer { + + private final Random random = new Random(); + + @Outgoing("prices-out") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaProducerRecordExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaProducerRecordExample.java new file mode 100644 index 000000000..0fb3f3dc4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaProducerRecordExample.java @@ -0,0 +1,18 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.producer.ProducerRecord; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaProducerRecordExample { + + // tag::code[] + @Outgoing("out") + public ProducerRecord generate() { + return new ProducerRecord<>("my-topic", "key", "value"); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRecordExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRecordExample.java new file mode 100644 index 000000000..560850605 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRecordExample.java @@ -0,0 +1,21 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.kafka.Record; + +@ApplicationScoped +public class KafkaRecordExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Record process(String in) { + return Record.of("my-key", in); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaReplier.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaReplier.java new file mode 100644 index 000000000..8bad449e8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaReplier.java @@ -0,0 +1,20 @@ +package kafka.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class KafkaReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + int handleRequest(String request) { + return rand.nextInt(100); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyEmitter.java new file mode 100644 index 000000000..c1994d090 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyEmitter.java @@ -0,0 +1,21 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaRequestReplyEmitter { + + @Inject + @Channel("my-request") + KafkaRequestReply quoteRequest; + + public Uni requestQuote(String request) { + return quoteRequest.request(request); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java new file mode 100644 index 000000000..e70379b62 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyMessageEmitter.java @@ -0,0 +1,26 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.api.OutgoingKafkaRecordMetadata; +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaRequestReplyMessageEmitter { + + @Inject + @Channel("my-request") + KafkaRequestReply quoteRequest; + + public Uni> requestMessage(String request) { + return quoteRequest.request(Message.of(request) + .addMetadata(OutgoingKafkaRecordMetadata.builder() + .withKey(request) + .build())); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java new file mode 100644 index 000000000..8d8897ba1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaRequestReplyMultiEmitter.java @@ -0,0 +1,21 @@ +package org.acme; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.kafka.reply.KafkaRequestReply; + +@ApplicationScoped +public class KafkaRequestReplyMultiEmitter { + + @Inject + @Channel("my-request") + KafkaRequestReply quoteRequest; + + public Multi requestQuote(String request) { + return quoteRequest.requestMulti(request).select().first(5); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaTransactionalProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaTransactionalProducer.java new file mode 100644 index 000000000..597c33cc2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/KafkaTransactionalProducer.java @@ -0,0 +1,28 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.transactions.KafkaTransactions; + +@ApplicationScoped +public class KafkaTransactionalProducer { + + @Inject + @Channel("tx-out-example") + KafkaTransactions txProducer; + + public Uni emitInTransaction() { + return txProducer.withTransaction(emitter -> { + emitter.send(KafkaRecord.of(1, "a")); + emitter.send(KafkaRecord.of(2, "b")); + emitter.send(KafkaRecord.of(3, "c")); + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/MyReplyFailureHandler.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/MyReplyFailureHandler.java new file mode 100644 index 000000000..fcd7f8f9c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/MyReplyFailureHandler.java @@ -0,0 +1,23 @@ +package kafka.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.common.header.Header; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.kafka.KafkaRecord; +import io.smallrye.reactive.messaging.kafka.reply.ReplyFailureHandler; + +@ApplicationScoped +@Identifier("my-reply-error") +public class MyReplyFailureHandler implements ReplyFailureHandler { + + @Override + public Throwable handleReply(KafkaRecord replyRecord) { + Header header = replyRecord.getHeaders().lastHeader("REPLY_ERROR"); + if (header != null) { + return new IllegalArgumentException(new String(header.value())); + } + return null; + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/ProducerInterceptorBeanExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/ProducerInterceptorBeanExample.java new file mode 100644 index 000000000..a01e555cd --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/kafka/outbound/ProducerInterceptorBeanExample.java @@ -0,0 +1,37 @@ +package kafka.outbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.apache.kafka.clients.producer.ProducerInterceptor; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.clients.producer.RecordMetadata; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +@Identifier("my-producer-interceptor") +public class ProducerInterceptorBeanExample implements ProducerInterceptor { + + @Override + public ProducerRecord onSend(ProducerRecord producerRecord) { + // called before send + return producerRecord; + } + + @Override + public void onAcknowledgement(RecordMetadata recordMetadata, Exception e) { + // called on send acknowledgement callback + } + + @Override + public void close() { + // called on client close + } + + @Override + public void configure(Map map) { + // called on client configuration + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyValueExtractorFromPayload.java b/content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyValueExtractorFromPayload.java new file mode 100644 index 000000000..6191d081b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyValueExtractorFromPayload.java @@ -0,0 +1,35 @@ +package keyed; + +import java.lang.reflect.Type; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +// tag::code[] +import io.smallrye.reactive.messaging.keyed.KeyValueExtractor; + +@ApplicationScoped +public class KeyValueExtractorFromPayload implements KeyValueExtractor { + + @Override + public boolean canExtract(Message msg, Type keyType, Type valueType) { + // Called for the first message of the stream to select the extractor. + // Here we only check for the type, but the logic can be more complex + return keyType.equals(String.class) && valueType.equals(String.class); + } + + @Override + public String extractKey(Message message, Type keyType) { + String string = message.getPayload().toString(); + return string.substring(0, string.indexOf(":")); + } + + @Override + public String extractValue(Message message, Type valueType) { + String string = message.getPayload().toString(); + return string.substring(string.indexOf(":") + 1); + } + +} +// end::code[] diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyedExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyedExample.java new file mode 100644 index 000000000..438a0185e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyedExample.java @@ -0,0 +1,25 @@ +package keyed; + +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.keyed.Keyed; +import io.smallrye.reactive.messaging.keyed.KeyedMulti; + +public class KeyedExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Multi reshape( + @Keyed(KeyValueExtractorFromPayload.class) KeyedMulti multi) { + return multi.onItem().scan(AtomicInteger::new, (i, s) -> { + i.incrementAndGet(); + return i; + }).map(i -> Integer.toString(i.get())); + } + // end::code[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyedMultiExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyedMultiExample.java new file mode 100644 index 000000000..c917cc8d1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/keyed/KeyedMultiExample.java @@ -0,0 +1,27 @@ +package keyed; + +import java.util.concurrent.atomic.AtomicInteger; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.keyed.KeyedMulti; + +public class KeyedMultiExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + public Multi reshape(KeyedMulti multi) { + // Called once per key and receive the stream of value for that specific key + String key = multi.key(); + return multi.onItem().scan(AtomicInteger::new, (i, s) -> { + i.incrementAndGet(); + return i; + }) + .map(i -> Integer.toString(i.get())); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/merge/MergeExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/merge/MergeExamples.java new file mode 100644 index 000000000..fbf4d4ac8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/merge/MergeExamples.java @@ -0,0 +1,31 @@ +package merge; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.annotations.Merge; + +public class MergeExamples { + + // tag::chain[] + @Incoming("in1") + @Outgoing("out") + public int increment(int i) { + return i + 1; + } + + @Incoming("in2") + @Outgoing("out") + public int multiply(int i) { + return i * 2; + } + + @Incoming("out") + @Merge + public void getAll(int i) { + //... + } + + // end::chain[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/messages/MessageExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/messages/MessageExamples.java new file mode 100644 index 000000000..15dbf7e0f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/messages/MessageExamples.java @@ -0,0 +1,96 @@ +package messages; + +import java.util.Optional; +import java.util.concurrent.CompletableFuture; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +@SuppressWarnings({ "unused" }) +public class MessageExamples { + + public void example1() { + Message message = Message.of("hello", Metadata.of(new MyMetadata())); + // tag::message[] + String payload = message.getPayload(); + Optional metadata = message.getMetadata(MyMetadata.class); + // end::message[] + } + + public void creation() { + Price price = new Price(20.5); + // tag::creation[] + // Create a simple message wrapping a payload + Message m1 = Message.of(price); + + // Create a message with metadata + Message m2 = Message.of(price, Metadata.of(new PriceMetadata())); + + // Create a message with several metadata + Message m3 = Message.of(price, + Metadata.of(new PriceMetadata(), new MyMetadata())); + + // Create a message with an acknowledgement callback + Message m4 = Message.of(price, () -> { + // Called when the message is acknowledged by the next consumer. + return CompletableFuture.completedFuture(null); + }); + + // Create a message with both metadata and acknowledgement callback + Message m5 = Message.of(price, + Metadata.of(new PriceMetadata()), + () -> { + // Called when the message is acknowledged by the next consumer. + return CompletableFuture.completedFuture(null); + }); + // end::creation[] + } + + public void copy() { + Price price = new Price(20.5); + Message message = Message.of(price); + // tag::copy[] + + // Create a new message with a new payload but with the same metadata + Message m1 = message.withPayload(new Price(12.4)); + + // Create a new message with a new payload and add another metadata + Message m2 = message + .withPayload(new Price(15.0)) + .withMetadata(Metadata.of(new PriceMetadata())); + + // Create a new message with a new payload and a custom acknowledgement + Message m3 = message + .withPayload(new Price(15.0)) + .withAck(() -> + // acknowledge the incoming message + message.ack() + .thenAccept(x -> { + // do something + })); + // end::copy[] + } + + public void nullPayload() { + // tag::null-payload[] + // Create a message with null payload + Message m6 = Message.of(null, Metadata.of(new PriceMetadata())); + // end::null-payload[] + } + + public static class Price { + final double price; + + public Price(double p) { + this.price = p; + } + } + + static class PriceMetadata { + final long timestamp; + + public PriceMetadata() { + this.timestamp = System.currentTimeMillis(); + } + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/customization/ClientProducers.java b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/customization/ClientProducers.java new file mode 100644 index 000000000..fbcaaea08 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/customization/ClientProducers.java @@ -0,0 +1,32 @@ +package mqtt.customization; + +import jakarta.enterprise.inject.Produces; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions; +import io.vertx.core.net.PemKeyCertOptions; +import io.vertx.core.net.PemTrustOptions; + +public class ClientProducers { + + // tag::named[] + @Produces + @Identifier("my-options") + public MqttClientSessionOptions getOptions() { + // You can use the produced options to configure the TLS connection + PemKeyCertOptions keycert = new PemKeyCertOptions() + .addCertPath("./tls/tls.crt") + .addKeyPath("./tls/tls.key"); + PemTrustOptions trust = new PemTrustOptions().addCertPath("./tlc/ca.crt"); + + return new MqttClientSessionOptions() + .setSsl(true) + .setKeyCertOptions(keycert) + .setTrustOptions(trust) + .setHostnameVerificationAlgorithm("HTTPS") + .setConnectTimeout(30000) + .setReconnectInterval(5000); + } + // end::named[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/inbound/MqttPriceConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/inbound/MqttPriceConsumer.java new file mode 100644 index 000000000..9115d809a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/inbound/MqttPriceConsumer.java @@ -0,0 +1,17 @@ +package mqtt.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class MqttPriceConsumer { + + @Incoming("prices") + public void consume(byte[] raw) { + double price = Double.parseDouble(new String(raw)); + + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/inbound/MqttPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/inbound/MqttPriceMessageConsumer.java new file mode 100644 index 000000000..ed40c96db --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/inbound/MqttPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package mqtt.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class MqttPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/outbound/MqttPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/outbound/MqttPriceMessageProducer.java new file mode 100644 index 000000000..744ce54b5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/outbound/MqttPriceMessageProducer.java @@ -0,0 +1,26 @@ +package mqtt.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class MqttPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/outbound/MqttPriceProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/outbound/MqttPriceProducer.java new file mode 100644 index 000000000..22c0998e9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/mqtt/outbound/MqttPriceProducer.java @@ -0,0 +1,25 @@ +package mqtt.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class MqttPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/observability/ContextMessageObservationCollector.java b/content/docs/smallrye-reactive-messaging/main/_examples/observability/ContextMessageObservationCollector.java new file mode 100644 index 000000000..608e368dc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/observability/ContextMessageObservationCollector.java @@ -0,0 +1,57 @@ +package observability; + +import java.time.Duration; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.observation.DefaultMessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservationCollector; +import io.smallrye.reactive.messaging.observation.ObservationContext; + +@ApplicationScoped +public class ContextMessageObservationCollector + implements MessageObservationCollector { + + @Override + public MyContext initObservation(String channel, boolean incoming, boolean emitter) { + // Called on observation setup, per channel + // if returned null the observation for that channel is disabled + return new MyContext(channel, incoming, emitter); + } + + @Override + public MessageObservation onNewMessage(String channel, Message message, MyContext ctx) { + // Called after message has been created + return new DefaultMessageObservation(channel); + } + + public static class MyContext implements ObservationContext { + + private final String channel; + private final boolean incoming; + private final boolean emitter; + + public MyContext(String channel, boolean incoming, boolean emitter) { + this.channel = channel; + this.incoming = incoming; + this.emitter = emitter; + } + + @Override + public void complete(MessageObservation observation) { + // called after message processing has completed and observation is done + // register duration + Duration duration = observation.getCompletionDuration(); + Throwable reason = observation.getReason(); + if (reason != null) { + // message was nacked + } else { + // message was acked successfully + } + } + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/observability/SimpleMessageObservationCollector.java b/content/docs/smallrye-reactive-messaging/main/_examples/observability/SimpleMessageObservationCollector.java new file mode 100644 index 000000000..838bceb5f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/observability/SimpleMessageObservationCollector.java @@ -0,0 +1,21 @@ +package observability; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.observation.DefaultMessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservation; +import io.smallrye.reactive.messaging.observation.MessageObservationCollector; +import io.smallrye.reactive.messaging.observation.ObservationContext; + +@ApplicationScoped +public class SimpleMessageObservationCollector implements MessageObservationCollector { + + @Override + public MessageObservation onNewMessage(String channel, Message message, ObservationContext ctx) { + // Called after message has been created + return new DefaultMessageObservation(channel); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/outgoings/OutgoingsExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/outgoings/OutgoingsExample.java new file mode 100644 index 000000000..4e5bf44db --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/outgoings/OutgoingsExample.java @@ -0,0 +1,18 @@ +package outgoings; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +public class OutgoingsExample { + + //tag::code[] + @Incoming("in") + @Outgoing("out1") + @Outgoing("out2") + public String process(String s) { + // send messages from channel-in to both channel-out1 and channel-out2 + return s.toUpperCase(); + } + //end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/outgoings/SplitterMultiExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/outgoings/SplitterMultiExample.java new file mode 100644 index 000000000..550443c61 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/outgoings/SplitterMultiExample.java @@ -0,0 +1,37 @@ +package outgoings; + +import java.util.Objects; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.operators.multi.split.MultiSplitter; + +public class SplitterMultiExample { + + // tag::code[] + enum Caps { + ALL_CAPS, + ALL_LOW, + MIXED + } + + @Incoming("in") + @Outgoing("sink1") + @Outgoing("sink2") + @Outgoing("sink3") + public MultiSplitter reshape(Multi in) { + return in.split(Caps.class, s -> { + if (Objects.equals(s, s.toLowerCase())) { + return Caps.ALL_LOW; + } else if (Objects.equals(s, s.toUpperCase())) { + return Caps.ALL_CAPS; + } else { + return Caps.MIXED; + } + }); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/outgoings/TargetedExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/outgoings/TargetedExample.java new file mode 100644 index 000000000..7835ef9d8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/outgoings/TargetedExample.java @@ -0,0 +1,44 @@ +package outgoings; + +import java.util.Map; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.Messages; +import io.smallrye.reactive.messaging.Targeted; +import io.smallrye.reactive.messaging.TargetedMessages; + +public class TargetedExample { + + //tag::code[] + @Incoming("in") + @Outgoing("out1") + @Outgoing("out2") + @Outgoing("out3") + public Targeted process(double price) { + // send messages from channel-in to both channel-out1 and channel-out2 + Targeted targeted = Targeted.of("out1", "Price: " + price, + "out2", "Quote: " + price); + if (price > 90.0) { + return targeted.with("out3", price); + } + return targeted; + } + //end::code[] + + //tag::targeted-messages[] + @Incoming("channel-in") + @Outgoing("channel-out1") + @Outgoing("channel-out2") + @Outgoing("channel-out3") + public TargetedMessages processMessage(Message msg) { + // send messages from channel-in to both channel-out1 and channel-out2 + return Messages.chain(msg) + .with(Map.of("channel-out1", msg.withPayload(msg.getPayload().toUpperCase()), + "channel-out2", msg.withPayload(msg.getPayload().toLowerCase()))); + } + //end::targeted-messages[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pausable/PausableController.java b/content/docs/smallrye-reactive-messaging/main/_examples/pausable/PausableController.java new file mode 100644 index 000000000..f95612833 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pausable/PausableController.java @@ -0,0 +1,46 @@ +package pausable; + +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.ChannelRegistry; +import io.smallrye.reactive.messaging.PausableChannel; + +@ApplicationScoped +public class PausableController { + + // Option 1: Inject ChannelRegistry and retrieve the pausable channel + @Inject + ChannelRegistry registry; + + // Option 2: Directly inject the pausable channel + @Inject + @Channel("my-channel") + PausableChannel myChannel; + + @PostConstruct + public void resume() { + // Wait for the application to be ready + // Option 1: Retrieve the pausable channel from the registry + PausableChannel pausable = registry.getPausable("my-channel"); + // Resume the processing of the messages + pausable.resume(); + } + + public void pause() { + // Option 2: Use the injected pausable channel + + // Pause the processing of the messages + myChannel.pause(); + } + + @Incoming("my-channel") + void process(String message) { + // Process the message + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/processing/ProcessingExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/processing/ProcessingExamples.java new file mode 100644 index 000000000..548722816 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/processing/ProcessingExamples.java @@ -0,0 +1,72 @@ +package processing; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class ProcessingExamples { + + // tag::process-message[] + @Incoming("in") + @Outgoing("out") + public Message processMessage(Message in) { + return in.withPayload(Integer.toString(in.getPayload())); + } + // end::process-message[] + + // tag::process-message-cs[] + @Incoming("in") + @Outgoing("out") + public CompletionStage> processMessageCS(Message in) { + CompletionStage cs = invokeService(in.getPayload()); + return cs.thenApply(in::withPayload); + } + // end::process-message-cs[] + + // tag::process-message-uni[] + @Incoming("in") + @Outgoing("out") + public Uni> processMessageUni(Message in) { + return invokeService(in.getPayload()) + .map(in::withPayload); + } + // end::process-message-uni[] + + // tag::process-payload[] + @Incoming("in") + @Outgoing("out") + public String processPayload(int in) { + return Integer.toString(in); + } + // end::process-payload[] + + // tag::process-payload-cs[] + @Incoming("in") + @Outgoing("out") + public CompletionStage processPayloadCS(int in) { + return invokeService(in); + } + // end::process-payload-cs[] + + // tag::process-payload-uni[] + @Incoming("in") + @Outgoing("out") + public Uni processPayload(String in) { + return invokeService(in); + } + // end::process-payload-uni[] + + private CompletionStage invokeService(int param) { + return CompletableFuture.completedFuture("ok"); + } + + private Uni invokeService(String param) { + return Uni.createFrom().item("ok"); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/processing/StreamExamples.java b/content/docs/smallrye-reactive-messaging/main/_examples/processing/StreamExamples.java new file mode 100644 index 000000000..c33bfecd8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/processing/StreamExamples.java @@ -0,0 +1,41 @@ +package processing; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; + +public class StreamExamples { + + // tag::processing-stream-message[] + @Incoming("in") + @Outgoing("out") + public Multi> processMessageStream(Multi> stream) { + return stream + .onItem().transformToUni(message -> invokeService(message.getPayload()) + .onFailure().recoverWithItem("fallback") + .onItem().transform(message::withPayload)) + .concatenate(); + + } + // end::processing-stream-message[] + + // tag::processing-stream-payload[] + @Incoming("in") + @Outgoing("out") + public Multi processPayloadStream(Multi stream) { + return stream + .onItem().transformToUni(payload -> invokeService(payload) + .onFailure().recoverWithItem("fallback")) + .concatenate(); + + } + // end::processing-stream-payload[] + + private Uni invokeService(int i) { + return Uni.createFrom().item("ok " + i); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/configuration/PulsarClientConfigProducers.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/configuration/PulsarClientConfigProducers.java new file mode 100644 index 000000000..89f1d31c5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/configuration/PulsarClientConfigProducers.java @@ -0,0 +1,66 @@ +package pulsar.configuration; + +import java.util.HashMap; +import java.util.Map; + +import jakarta.enterprise.inject.Produces; + +import org.apache.pulsar.client.api.BatcherBuilder; +import org.apache.pulsar.client.api.PulsarClientSharedResources; +import org.apache.pulsar.client.impl.AutoClusterFailover; +import org.apache.pulsar.client.impl.DefaultCryptoKeyReader; +import org.apache.pulsar.client.impl.conf.ClientConfigurationData; +import org.apache.pulsar.client.impl.conf.ConsumerConfigurationData; +import org.apache.pulsar.client.impl.customroute.PartialRoundRobinMessageRouterImpl; + +import io.smallrye.common.annotation.Identifier; + +public class PulsarClientConfigProducers { + + // tag::consumer[] + @Produces + @Identifier("my-consumer-options") + public ConsumerConfigurationData getConsumerConfig() { + ConsumerConfigurationData data = new ConsumerConfigurationData<>(); + data.setAckReceiptEnabled(true); + data.setCryptoKeyReader(DefaultCryptoKeyReader.builder() + //... + .build()); + return data; + } + // end::consumer[] + + // tag::client[] + @Produces + @Identifier("prices") + public ClientConfigurationData getClientConfig() { + ClientConfigurationData data = new ClientConfigurationData(); + data.setEnableTransaction(true); + data.setServiceUrlProvider(AutoClusterFailover.builder() + // ... + .build()); + return data; + } + // end::client[] + + // tag::shared-resources[] + @Produces + public PulsarClientSharedResources getSharedResources() { + return PulsarClientSharedResources.builder() + .configureEventLoop(config -> config.numberOfThreads(4)) + .build(); + } + // end::shared-resources[] + + // tag::producer[] + @Produces + @Identifier("prices") + public Map getProducerconfig() { + Map map = new HashMap<>(); + map.put("batcherBuilder", BatcherBuilder.KEY_BASED); + map.put("sendTimeoutMs", 3000); + map.put("customMessageRouter", new PartialRoundRobinMessageRouterImpl(4)); + return map; + } + // end::producer[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/configuration/PulsarSchemaProvider.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/configuration/PulsarSchemaProvider.java new file mode 100644 index 000000000..3fe6141d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/configuration/PulsarSchemaProvider.java @@ -0,0 +1,30 @@ +package pulsar.configuration; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; + +import org.apache.pulsar.client.api.Schema; +import org.apache.pulsar.common.schema.KeyValue; +import org.apache.pulsar.common.schema.KeyValueEncodingType; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +public class PulsarSchemaProvider { + + @Produces + @Identifier("user-schema") + Schema userSchema = Schema.AVRO(User.class); + + @Produces + @Identifier("a-channel") + Schema> keyValueSchema() { + return Schema.KeyValue(Schema.INT32, Schema.JSON(User.class), KeyValueEncodingType.SEPARATED); + } + + public static class User { + String name; + int age; + + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMessageBatchExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMessageBatchExample.java new file mode 100644 index 000000000..9ce9eead1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMessageBatchExample.java @@ -0,0 +1,54 @@ +package pulsar.inbound; + +import java.util.List; +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.TracingMetadata; +import io.smallrye.reactive.messaging.pulsar.PulsarIncomingBatchMessageMetadata; + +@ApplicationScoped +public class PulsarMessageBatchExample { + + // tag::code[] + @Incoming("prices") + public CompletionStage consumeMessage(Message> messages) { + messages.getMetadata(PulsarIncomingBatchMessageMetadata.class).ifPresent(metadata -> { + for (org.apache.pulsar.client.api.Message message : metadata.getMessages()) { + String key = message.getKey(); + String topic = message.getTopicName(); + long timestamp = message.getEventTime(); + //... process messages + } + }); + // ack will commit the latest offsets (per partition) of the batch. + return messages.ack(); + } + + @Incoming("prices") + public void consumeMessages(org.apache.pulsar.client.api.Messages messages) { + for (org.apache.pulsar.client.api.Message msg : messages) { + //... process messages + } + } + // end::code[] + + // tag::batch[] + @Incoming("prices") + public void consumeMessages(org.apache.pulsar.client.api.Messages messages, + PulsarIncomingBatchMessageMetadata metadata) { + for (org.apache.pulsar.client.api.Message message : messages) { + TracingMetadata tracing = metadata.getMetadataForMessage(message, TracingMetadata.class); + if (tracing != null) { + tracing.getCurrentContext().makeCurrent(); + } + //... process messages + } + } + // end::batch[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java new file mode 100644 index 000000000..649b7d1ae --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMessageBatchPayloadExample.java @@ -0,0 +1,21 @@ +package pulsar.inbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class PulsarMessageBatchPayloadExample { + + // tag::code[] + @Incoming("prices") + public void consume(List prices) { + for (double price : prices) { + // process price + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMetadataExample.java new file mode 100644 index 000000000..a4add7ea1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarMetadataExample.java @@ -0,0 +1,35 @@ +package pulsar.inbound; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.pulsar.PulsarIncomingMessageMetadata; + +public class PulsarMetadataExample { + + @SuppressWarnings("unchecked") + public void metadata() { + Message incoming = Message.of(12.0); + // tag::code[] + PulsarIncomingMessageMetadata metadata = incoming.getMetadata(PulsarIncomingMessageMetadata.class).orElse(null); + if (metadata != null) { + // The topic + String topic = metadata.getTopicName(); + + // The key + String key = metadata.getKey(); + + // The event time + long timestamp = metadata.getEventTime(); + + // The raw data + byte[] rawData = metadata.getData(); + + // The underlying message + org.apache.pulsar.client.api.Message message = metadata.getMessage(); + + // ... + } + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarPriceConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarPriceConsumer.java new file mode 100644 index 000000000..9973a6158 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarPriceConsumer.java @@ -0,0 +1,15 @@ +package pulsar.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class PulsarPriceConsumer { + + @Incoming("prices") + public void consume(double price) { + // process your price. + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java new file mode 100644 index 000000000..4cdc3f12a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/inbound/PulsarPriceMessageConsumer.java @@ -0,0 +1,21 @@ +package pulsar.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class PulsarPriceMessageConsumer { + + @Incoming("prices") + public CompletionStage consume(Message price) { + // process your price. + + // Acknowledge the incoming message + return price.ack(); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java new file mode 100644 index 000000000..c207cba70 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarExactlyOnceProcessor.java @@ -0,0 +1,35 @@ +package pulsar.outbound; + +import java.util.List; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.pulsar.PulsarIncomingBatchMessageMetadata; +import io.smallrye.reactive.messaging.pulsar.PulsarMessage; +import io.smallrye.reactive.messaging.pulsar.transactions.PulsarTransactions; + +@ApplicationScoped +public class PulsarExactlyOnceProcessor { + + @Inject + @Channel("tx-out-example") + PulsarTransactions txProducer; + + @Incoming("in-channel") + public Uni emitInTransaction(Message> batch) { + return txProducer.withTransactionAndAck(batch, emitter -> { + PulsarIncomingBatchMessageMetadata metadata = batch.getMetadata(PulsarIncomingBatchMessageMetadata.class).get(); + for (org.apache.pulsar.client.api.Message message : metadata. getMessages()) { + emitter.send(PulsarMessage.of(message.getValue() + 1, message.getKey())); + } + return Uni.createFrom().voidItem(); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarKeyValueExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarKeyValueExample.java new file mode 100644 index 000000000..ab0b43a6c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarKeyValueExample.java @@ -0,0 +1,28 @@ +package pulsar.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; + +import org.apache.pulsar.client.api.Schema; +import org.apache.pulsar.common.schema.KeyValue; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.common.annotation.Identifier; + +@ApplicationScoped +public class PulsarKeyValueExample { + + // tag::code[] + @Identifier("out") + @Produces + Schema> schema = Schema.KeyValue(Schema.STRING, Schema.INT64); + + @Incoming("in") + @Outgoing("out") + public KeyValue process(long in) { + return new KeyValue<>("my-key", in); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java new file mode 100644 index 000000000..152974fe2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarOutboundMetadataExample.java @@ -0,0 +1,26 @@ +package pulsar.outbound; + +import java.util.Map; + +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.reactive.messaging.pulsar.PulsarOutgoingMessageMetadata; + +public class PulsarOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + // Creates an PulsarOutgoingMessageMetadata + // The type parameter is the type of the record's key + PulsarOutgoingMessageMetadata metadata = PulsarOutgoingMessageMetadata.builder() + .withKey("my-key") + .withProperties(Map.of("property-key", "value")) + .build(); + + // Create a new message from the `incoming` message + // Add `metadata` to the metadata from the `incoming` message. + return incoming.addMetadata(metadata); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java new file mode 100644 index 000000000..f452f437e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarOutgoingMessageExample.java @@ -0,0 +1,18 @@ +package pulsar.outbound; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.reactive.messaging.pulsar.OutgoingMessage; + +public class PulsarOutgoingMessageExample { + + // tag::code[] + @Incoming("in") + @Outgoing("out") + OutgoingMessage process(org.apache.pulsar.client.api.Message in) { + return OutgoingMessage.from(in) + .withValue(Long.valueOf(in.getValue())); + } + // end::code[] +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarPriceMessageProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarPriceMessageProducer.java new file mode 100644 index 000000000..1f53f7c68 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarPriceMessageProducer.java @@ -0,0 +1,26 @@ +package pulsar.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class PulsarPriceMessageProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi> generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(random.nextDouble())); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarPriceProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarPriceProducer.java new file mode 100644 index 000000000..2073b7763 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarPriceProducer.java @@ -0,0 +1,25 @@ +package pulsar.outbound; + +import java.time.Duration; +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class PulsarPriceProducer { + + private Random random = new Random(); + + @Outgoing("prices") + public Multi generate() { + // Build an infinite stream of random prices + // It emits a price every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> random.nextDouble()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarTransactionalProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarTransactionalProducer.java new file mode 100644 index 000000000..8bee09bb3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/pulsar/outbound/PulsarTransactionalProducer.java @@ -0,0 +1,38 @@ +package pulsar.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.pulsar.OutgoingMessage; +import io.smallrye.reactive.messaging.pulsar.transactions.PulsarTransactions; + +@ApplicationScoped +public class PulsarTransactionalProducer { + + @Inject + @Channel("tx-out-example") + PulsarTransactions> txProducer; + + @Inject + @Channel("other-producer") + PulsarTransactions producer; + + @Incoming("in") + public Uni emitInTransaction(Message in) { + return txProducer.withTransaction(emitter -> { + emitter.send(OutgoingMessage.of("a", 1)); + emitter.send(OutgoingMessage.of("b", 2)); + emitter.send(OutgoingMessage.of("c", 3)); + producer.send(emitter, "4"); + producer.send(emitter, "5"); + producer.send(emitter, "6"); + return Uni.createFrom().completionStage(in::ack); + }); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/quickstart/ReactiveMessagingExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/quickstart/ReactiveMessagingExample.java new file mode 100644 index 000000000..318b39739 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/quickstart/ReactiveMessagingExample.java @@ -0,0 +1,35 @@ +package quickstart; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class ReactiveMessagingExample { + + @Outgoing("source") + public Multi source() { + return Multi.createFrom().items("hello", "from", "SmallRye", "reactive", "messaging"); + } + + @Incoming("source") + @Outgoing("processed-a") + public String toUpperCase(String payload) { + return payload.toUpperCase(); + } + + @Incoming("processed-a") + @Outgoing("processed-b") + public Multi filter(Multi input) { + return input.select().where(item -> item.length() > 4); + } + + @Incoming("processed-b") + public void sink(String word) { + System.out.println(">> " + word); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java new file mode 100644 index 000000000..637edb2bc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java @@ -0,0 +1,21 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.rabbitmq.IncomingRabbitMQMessage; +import io.smallrye.reactive.messaging.rabbitmq.reply.ReplyFailureHandler; + +@ApplicationScoped +@Identifier("my-reply-error") +public class MyRabbitMQReplyFailureHandler implements ReplyFailureHandler { + + @Override + public Throwable handleReply(IncomingRabbitMQMessage replyMessage) { + var error = (String) replyMessage.getHeaders().get("REPLY_ERROR"); + if (error != null) { + return (Throwable) new IllegalArgumentException(error); + } + return null; + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQReplier.java b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQReplier.java new file mode 100644 index 000000000..aec8bfa73 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQReplier.java @@ -0,0 +1,20 @@ +package rabbitmq.outbound; + +import java.util.Random; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +@ApplicationScoped +public class RabbitMQReplier { + + Random rand = new Random(); + + @Incoming("request") + @Outgoing("reply") + String handleRequest(String request) { + return request + "-" + rand.nextInt(100); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java new file mode 100644 index 000000000..019255318 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java @@ -0,0 +1,21 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.rabbitmq.reply.RabbitMQRequestReply; + +@ApplicationScoped +public class RabbitMQRequestReplyEmitter { + + @Inject + @Channel("my-request") + RabbitMQRequestReply quoteRequest; + + public Uni requestQuote(String request) { + return quoteRequest.request(request); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java new file mode 100644 index 000000000..96b9b0f81 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java @@ -0,0 +1,22 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; +import org.eclipse.microprofile.reactive.messaging.Message; + +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.rabbitmq.reply.RabbitMQRequestReply; + +@ApplicationScoped +public class RabbitMQRequestReplyMessageEmitter { + + @Inject + @Channel("my-request") + RabbitMQRequestReply quoteRequest; + + public Uni> requestMessage(String request) { + return quoteRequest.request(Message.of(request)); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java new file mode 100644 index 000000000..2069164d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java @@ -0,0 +1,21 @@ +package rabbitmq.outbound; + +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import org.eclipse.microprofile.reactive.messaging.Channel; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.rabbitmq.reply.RabbitMQRequestReply; + +@ApplicationScoped +public class RabbitMQRequestReplyMultiEmitter { + + @Inject + @Channel("my-request") + RabbitMQRequestReply quoteRequest; + + public Multi requestQuote(String request) { + return quoteRequest.requestMulti(request).select().first(5); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/skip/SingleSkip.java b/content/docs/smallrye-reactive-messaging/main/_examples/skip/SingleSkip.java new file mode 100644 index 000000000..f7209220b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/skip/SingleSkip.java @@ -0,0 +1,59 @@ +package skip; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Uni; + +public class SingleSkip { + + // tag::skip[] + // Skip when processing payload synchronously - returning `null` + @Incoming("in") + @Outgoing("out") + public String processPayload(String s) { + if (s.equalsIgnoreCase("skip")) { + return null; + } + return s.toUpperCase(); + } + + // Skip when processing message synchronously - returning `null` + @Incoming("in") + @Outgoing("out") + public Message processMessage(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + m.ack(); + return null; + } + return m.withPayload(s.toUpperCase()); + } + + // Skip when processing payload asynchronously - returning a `Uni` with a `null` value + @Incoming("in") + @Outgoing("out") + public Uni processPayloadAsync(String s) { + if (s.equalsIgnoreCase("skip")) { + // Important, you must not return `null`, but a `null` content + return Uni.createFrom().nullItem(); + } + return Uni.createFrom().item(s.toUpperCase()); + } + + // Skip when processing message asynchronously - returning a `Uni` with a `null` value + @Incoming("in") + @Outgoing("out") + public Uni> processMessageAsync(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + m.ack(); + return Uni.createFrom().nullItem(); + } + return Uni.createFrom().item(m.withPayload(s.toUpperCase())); + } + + // end::skip[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/skip/StreamSkip.java b/content/docs/smallrye-reactive-messaging/main/_examples/skip/StreamSkip.java new file mode 100644 index 000000000..2108a1077 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/skip/StreamSkip.java @@ -0,0 +1,48 @@ +package skip; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class StreamSkip { + + // tag::skip[] + @Incoming("in") + @Outgoing("out-1") + public Multi processPayload(String s) { + if (s.equalsIgnoreCase("skip")) { + return Multi.createFrom().empty(); + } + return Multi.createFrom().item(s.toUpperCase()); + } + + @Incoming("in") + @Outgoing("out-2") + public Multi> processMessage(Message m) { + String s = m.getPayload(); + if (s.equalsIgnoreCase("skip")) { + return Multi.createFrom().empty(); + } + return Multi.createFrom().item(m.withPayload(s.toUpperCase())); + } + + @Incoming("in") + @Outgoing("out-3") + public Multi processPayloadStream(Multi stream) { + return stream + .select().where(s -> !s.equalsIgnoreCase("skip")) + .onItem().transform(String::toUpperCase); + } + + @Incoming("in") + @Outgoing("out-4") + public Multi> processMessageStream(Multi> stream) { + return stream + .select().where(m -> !m.getPayload().equalsIgnoreCase("skip")) + .onItem().transform(m -> m.withPayload(m.getPayload().toUpperCase())); + } + // end::skip[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsMessageProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsMessageProducer.java new file mode 100644 index 000000000..cc2e815d6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsMessageProducer.java @@ -0,0 +1,27 @@ +package sns.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.aws.sns.SnsOutboundMetadata; + +@ApplicationScoped +public class SnsMessageProducer { + + @Outgoing("prices") + public Multi> generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(UUID.randomUUID().toString(), + Metadata.of(SnsOutboundMetadata.builder() + .groupId("group-1") + .build()))); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsOutboundMetadataExample.java new file mode 100644 index 000000000..9d44dacb0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsOutboundMetadataExample.java @@ -0,0 +1,29 @@ +package sns.outbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.aws.sns.SnsOutboundMetadata; +import software.amazon.awssdk.services.sns.model.MessageAttributeValue; + +@ApplicationScoped +public class SnsOutboundMetadataExample { + + public Message metadata(Message incoming) { + // tag::code[] + final SnsOutboundMetadata metadata = SnsOutboundMetadata.builder() + .messageAttributes(Map.of("my-attribute", MessageAttributeValue.builder() + .dataType("String").stringValue("my-value").build())) + .groupId("group-1") + .smsPhoneNumber("+1234567890") + .build(); + + // Add `metadata` to the metadata of the outgoing message. + return Message.of("Hello", Metadata.of(metadata)); + // end::code[] + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsProducer.java new file mode 100644 index 000000000..cde773fa6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sns/outbound/SnsProducer.java @@ -0,0 +1,22 @@ +package sns.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class SnsProducer { + + @Outgoing("data") + public Multi generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> UUID.randomUUID().toString()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsCustomAckStrategy.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsCustomAckStrategy.java new file mode 100644 index 000000000..ad8b679ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsCustomAckStrategy.java @@ -0,0 +1,36 @@ +package sqs.inbound; + +import java.util.function.BiConsumer; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.aws.sqs.SqsAckHandler; +import io.smallrye.reactive.messaging.aws.sqs.SqsConnectorIncomingConfiguration; +import io.smallrye.reactive.messaging.aws.sqs.SqsMessage; +import io.vertx.mutiny.core.Vertx; +import software.amazon.awssdk.services.sqs.SqsAsyncClient; + +public class SqsCustomAckStrategy implements SqsAckHandler { + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements SqsAckHandler.Factory { + + @Override + public SqsAckHandler create(SqsConnectorIncomingConfiguration conf, + Vertx vertx, + SqsAsyncClient client, + Uni queueUrlUni, + BiConsumer reportFailure) { + return new SqsCustomAckStrategy(); + } + } + + @Override + public Uni handle(SqsMessage message) { + return Uni.createFrom().voidItem() + .emitOn(message::runOnMessageContext); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsCustomNackStrategy.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsCustomNackStrategy.java new file mode 100644 index 000000000..6daeec399 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsCustomNackStrategy.java @@ -0,0 +1,33 @@ +package sqs.inbound; + +import java.util.function.BiConsumer; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.mutiny.Uni; +import io.smallrye.reactive.messaging.aws.sqs.SqsFailureHandler; +import io.smallrye.reactive.messaging.aws.sqs.SqsMessage; +import software.amazon.awssdk.services.sqs.SqsAsyncClient; + +public class SqsCustomNackStrategy implements SqsFailureHandler { + + @ApplicationScoped + @Identifier("custom") + public static class Factory implements SqsFailureHandler.Factory { + + @Override + public SqsFailureHandler create(String channel, SqsAsyncClient client, Uni queueUrlUni, + BiConsumer reportFailure) { + return new SqsCustomNackStrategy(); + } + } + + @Override + public Uni handle(SqsMessage message, Metadata metadata, Throwable throwable) { + return Uni.createFrom().voidItem() + .emitOn(message::runOnMessageContext); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsMessageStringConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsMessageStringConsumer.java new file mode 100644 index 000000000..218e26f0c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsMessageStringConsumer.java @@ -0,0 +1,17 @@ +package sqs.inbound; + +import java.util.concurrent.CompletionStage; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Message; + +@ApplicationScoped +public class SqsMessageStringConsumer { + @Incoming("data") + CompletionStage consume(Message msg) { + System.out.println("Received: " + msg.getPayload()); + return msg.ack(); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsMetadataExample.java new file mode 100644 index 000000000..cd1b4a5aa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsMetadataExample.java @@ -0,0 +1,21 @@ +package sqs.inbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import io.smallrye.reactive.messaging.aws.sqs.SqsIncomingMetadata; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +@ApplicationScoped +public class SqsMetadataExample { + + @Incoming("queue") + public void metadata(String body, SqsIncomingMetadata metadata) { + Map attributes = metadata.getMessage().messageAttributes(); + attributes.forEach((k, v) -> System.out.println(k + " -> " + v.stringValue())); + System.out.println("Message body: " + body); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java new file mode 100644 index 000000000..1316a6c0a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java @@ -0,0 +1,17 @@ +package sqs.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import io.smallrye.common.annotation.Identifier; +import io.smallrye.reactive.messaging.aws.sqs.SqsReceiveMessageRequestCustomizer; +import software.amazon.awssdk.services.sqs.model.ReceiveMessageRequest; + +@Identifier("my-customizer") // or with channel name @Identifier("data") +@ApplicationScoped +public class SqsReceiveMessageRequestCustomizerExample implements SqsReceiveMessageRequestCustomizer { + @Override + public void customize(ReceiveMessageRequest.Builder builder) { + builder.visibilityTimeout(10) + .messageAttributeNames("my-attribute"); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsSdkMessageConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsSdkMessageConsumer.java new file mode 100644 index 000000000..bdaf6fd90 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsSdkMessageConsumer.java @@ -0,0 +1,21 @@ +package sqs.inbound; + +import java.util.Map; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +import software.amazon.awssdk.services.sqs.model.Message; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +@ApplicationScoped +public class SqsSdkMessageConsumer { + + @Incoming("data") + void consume(Message msg) { + System.out.println("Received: " + msg.body()); + Map attributes = msg.messageAttributes(); + // ... + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsStringConsumer.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsStringConsumer.java new file mode 100644 index 000000000..ffdfcf6d9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/inbound/SqsStringConsumer.java @@ -0,0 +1,13 @@ +package sqs.inbound; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; + +@ApplicationScoped +public class SqsStringConsumer { + @Incoming("data") + void consume(String messageBody) { + System.out.println("Received: " + messageBody); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/json/SqsJsonMapping.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/json/SqsJsonMapping.java new file mode 100644 index 000000000..4980edbb8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/json/SqsJsonMapping.java @@ -0,0 +1,56 @@ +package sqs.json; + +import java.time.Duration; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.atomic.AtomicInteger; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Incoming; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +public class SqsJsonMapping { + + // tag::code[] + @ApplicationScoped + public static class Generator { + + @Outgoing("to-rabbitmq") + public Multi prices() { + AtomicInteger count = new AtomicInteger(); + return Multi.createFrom().ticks().every(Duration.ofMillis(1000)) + .map(l -> new Price().setPrice(count.incrementAndGet())) + .onOverflow().drop(); + } + + } + + @ApplicationScoped + public static class Consumer { + + List prices = new CopyOnWriteArrayList<>(); + + @Incoming("from-rabbitmq") + public void consume(Price price) { + prices.add(price); + } + + public List list() { + return prices; + } + } + + public static class Price { + public int price; + + public Price setPrice(int price) { + this.price = price; + return this; + } + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsMessageStringProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsMessageStringProducer.java new file mode 100644 index 000000000..eac978671 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsMessageStringProducer.java @@ -0,0 +1,27 @@ +package sqs.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; +import io.smallrye.reactive.messaging.aws.sqs.SqsOutboundMetadata; + +@ApplicationScoped +public class SqsMessageStringProducer { + + @Outgoing("prices") + public Multi> generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> Message.of(UUID.randomUUID().toString(), + Metadata.of(SqsOutboundMetadata.builder() + .groupId("group-1") + .build()))); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsOutboundMetadataExample.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsOutboundMetadataExample.java new file mode 100644 index 000000000..e512f4743 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsOutboundMetadataExample.java @@ -0,0 +1,27 @@ +package sqs.outbound; + +import java.util.Map; + +import org.eclipse.microprofile.reactive.messaging.Message; +import org.eclipse.microprofile.reactive.messaging.Metadata; + +import io.smallrye.reactive.messaging.aws.sqs.SqsOutboundMetadata; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +public class SqsOutboundMetadataExample { + + public Message metadata(Message incoming) { + + // tag::code[] + final SqsOutboundMetadata metadata = SqsOutboundMetadata.builder() + .messageAttributes(Map.of("my-attribute", MessageAttributeValue.builder() + .dataType("String").stringValue("my-value").build())) + .groupId("group-1") + .build(); + + // Add `metadata` to the metadata of the outgoing message. + return Message.of("Hello", Metadata.of(metadata)); + // end::code[] + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsStringProducer.java b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsStringProducer.java new file mode 100644 index 000000000..4a39f5b4e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/sqs/outbound/SqsStringProducer.java @@ -0,0 +1,22 @@ +package sqs.outbound; + +import java.time.Duration; +import java.util.UUID; + +import jakarta.enterprise.context.ApplicationScoped; + +import org.eclipse.microprofile.reactive.messaging.Outgoing; + +import io.smallrye.mutiny.Multi; + +@ApplicationScoped +public class SqsStringProducer { + + @Outgoing("data") + public Multi generate() { + // It emits a UUID every second + return Multi.createFrom().ticks().every(Duration.ofSeconds(1)) + .map(x -> UUID.randomUUID().toString()); + } + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/testing/MyTest.java b/content/docs/smallrye-reactive-messaging/main/_examples/testing/MyTest.java new file mode 100644 index 000000000..1e1451f67 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/testing/MyTest.java @@ -0,0 +1,52 @@ +package testing; + +import jakarta.enterprise.inject.Any; +import jakarta.inject.Inject; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import io.smallrye.reactive.messaging.memory.TestIncoming; +import io.smallrye.reactive.messaging.memory.TestOutgoing; +import io.smallrye.reactive.messaging.memory.TestingConnector; + +// @io.quarkus.test.junit.QuarkusTest or the Junit 5 extension that allows injection in tests +public class MyTest { + + // 1. Switch the channels to the test connector: + @BeforeAll + public static void switchMyChannels() { + TestingConnector.switchIncomingChannelsToTesting("prices"); + TestingConnector.switchOutgoingChannelsToTesting("processed-prices"); + } + + // 2. Don't forget to reset the channel after the tests: + @AfterAll + public static void revertMyChannels() { + TestingConnector.clear(); + } + + // 3. Inject the test connector in your test, + // or use the bean manager to retrieve the instance + @Inject + @Any + TestingConnector connector; + + @Test + void test() { + // 4. Retrieves the incoming channel to deliver messages + TestIncoming prices = connector.incoming("prices"); + // 5. Retrieves the outgoing channel to verify what the app sent + TestOutgoing results = connector.outgoing("processed-prices"); + + // 6. Deliver fake messages to the app: + prices.deliver(1); + prices.deliver(2); + prices.deliver(3); + + // 7. Verify what the app sent + Assertions.assertEquals(3, results.sent().size()); + } +} diff --git a/content/docs/smallrye-reactive-messaging/main/_examples/testing/MyTestSetup.java b/content/docs/smallrye-reactive-messaging/main/_examples/testing/MyTestSetup.java new file mode 100644 index 000000000..ae5b9a3f0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_examples/testing/MyTestSetup.java @@ -0,0 +1,23 @@ +package testing; + +import java.util.HashMap; +import java.util.Map; + +import io.smallrye.reactive.messaging.memory.TestingConnector; + +public class MyTestSetup { + + // tag::code[] + public Map start() { + Map env = new HashMap<>(); + env.putAll(TestingConnector.switchIncomingChannelsToTesting("prices")); + env.putAll(TestingConnector.switchOutgoingChannelsToTesting("my-data-stream")); + return env; + } + + public void stop() { + TestingConnector.clear(); + } + // end::code[] + +} diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-amqp-incoming.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-amqp-incoming.adoc new file mode 100644 index 000000000..9804e5883 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-amqp-incoming.adoc @@ -0,0 +1,37 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_address_ |The AMQP address. If not set, the channel name is used |string |false | +|_auto-acknowledgement_ |Whether the received AMQP messages must be acknowledged when received |boolean |false |`false` +|_broadcast_ |Whether the received AMQP messages must be dispatched to multiple _subscribers_ |boolean |false |`false` +|_capabilities_ |A comma-separated list of capabilities proposed by the sender or receiver client. |string |false | +|_cbs.audience_ |The audience used to authenticate with the broker using the CBS exchange. If not set, the audience is derived from the address. |string |false |++``++ +|_cbs.enabled_ |Whether the CBS authorization is enabled. If enabled, the connector will use the claims-based security to authenticate with the broker. If disabled, the connector will not use the CBS exchange and will not authenticate with the broker. |boolean |false |`false` +|_cbs.exchange_ |The name of the CBS exchange used to authenticate with the broker. |string |false |`set-token` +|_cbs.scopes_ |The scopes used to authenticate with the broker using the CBS exchange. If not set, the scopes are derived from the address. |string |false |++``++ +|_cbs.token-manager_ |The name of the CbsTokenManager bean used to manage the CBS tokens. |string |false |`default-cbs-token-manager` +|_client-options-name_ _(amqp-client-options-name)_ |The name of the AMQP Client Option bean used to customize the AMQP client configuration |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_connect-timeout_ _(amqp-connect-timeout)_ |The connection timeout in milliseconds |int |false |`1000` +|_container-id_ |The AMQP container id. Channels with the same container id share the same AMQP connection. |string |false | +|_durable_ |Whether AMQP subscription is durable |boolean |false |`false` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from an AMQP message is nacked. Accepted values are `fail` (default), `accept`, `release`, `reject`, `modified-failed`, `modified-failed-undeliverable-here` |string |false |`fail` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-timeout_ |The max number of seconds to wait to determine if the connection with the broker is still established for the readiness check. After that threshold, the check is considered as failed. |int |false |`3` +|_host_ _(amqp-host)_ |The broker hostname |string |false |`localhost` +|_initial-credits_ |The number of credits initially requested for incoming messages. This controls how many messages the receiver can buffer. |int |false |`1000` +|_link-name_ |The name of the link. If not set, the channel name is used. |string |false | +|_password_ _(amqp-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(amqp-port)_ |The broker port |int |false |`5672` +|_qos_ |Sets the local QOS config, values can be ++{++@code null}, ++{++@code AT++_++MOST++_++ONCE} or ++{++@code AT++_++LEAST++_++ONCE}. |string |false | +|_reconnect-attempts_ _(amqp-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(amqp-reconnect-interval)_ |The interval in second between two reconnection attempts |int |false |`10` +|_retry-on-fail-attempts_ |The number of tentative to retry on failure |int |false |`6` +|_retry-on-fail-interval_ |The interval (in seconds) between two sending attempts |int |false |`5` +|_selector_ |Sets a message selector. This attribute is used to define an `apache.org:selector-filter:string` filter on the source terminus, using SQL-based syntax to request the server filters which messages are delivered to the receiver (if supported by the server in question). Precise functionality supported and syntax needed can vary depending on the server. |string |false | +|_sni-server-name_ _(amqp-sni-server-name)_ |If set, explicitly override the hostname to use for the TLS SNI server name |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_use-ssl_ _(amqp-use-ssl)_ |Whether the AMQP connection uses SSL/TLS |boolean |false |`false` +|_username_ _(amqp-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(amqp-virtual-host)_ |If set, configure the hostname value used for the connection AMQP Open frame and TLS SNI server name (if TLS is in use) |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-amqp-outgoing.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-amqp-outgoing.adoc new file mode 100644 index 000000000..e38833d3d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-amqp-outgoing.adoc @@ -0,0 +1,44 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_address_ |The AMQP address. If not set, the channel name is used |string |false | +|_capabilities_ |A comma-separated list of capabilities proposed by the sender or receiver client. |string |false | +|_cbs.audience_ |The audience used to authenticate with the broker using the CBS exchange. If not set, the audience is derived from the address. |string |false |++``++ +|_cbs.enabled_ |Whether the CBS authorization is enabled. If enabled, the connector will use the claims-based security to authenticate with the broker. If disabled, the connector will not use the CBS exchange and will not authenticate with the broker. |boolean |false |`false` +|_cbs.exchange_ |The name of the CBS exchange used to authenticate with the broker. |string |false |`set-token` +|_cbs.scopes_ |The scopes used to authenticate with the broker using the CBS exchange. If not set, the scopes are derived from the address. |string |false |++``++ +|_cbs.token-manager_ |The name of the CbsTokenManager bean used to manage the CBS tokens. |string |false |`default-cbs-token-manager` +|_client-options-name_ _(amqp-client-options-name)_ |The name of the AMQP Client Option bean used to customize the AMQP client configuration |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_cloud-events-data-content-type_ _(cloud-events-default-data-content-type)_ |Configure the default `datacontenttype` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `datacontenttype` attribute itself |string |false | +|_cloud-events-data-schema_ _(cloud-events-default-data-schema)_ |Configure the default `dataschema` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `dataschema` attribute itself |string |false | +|_cloud-events-insert-timestamp_ _(cloud-events-default-timestamp)_ |Whether or not the connector should insert automatically the `time` attribute into the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `time` attribute itself |boolean |false |`true` +|_cloud-events-mode_ |The Cloud Event mode (`structured` or `binary` (default)). Indicates how are written the cloud events in the outgoing record |string |false |`binary` +|_cloud-events-source_ _(cloud-events-default-source)_ |Configure the default `source` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `source` attribute itself |string |false | +|_cloud-events-subject_ _(cloud-events-default-subject)_ |Configure the default `subject` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `subject` attribute itself |string |false | +|_cloud-events-type_ _(cloud-events-default-type)_ |Configure the default `type` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `type` attribute itself |string |false | +|_connect-timeout_ _(amqp-connect-timeout)_ |The connection timeout in milliseconds |int |false |`1000` +|_container-id_ |The AMQP container id. Channels with the same container id share the same AMQP connection. |string |false | +|_credit-retrieval-period_ |The period (in milliseconds) between two attempts to retrieve the credits granted by the broker. This time is used when the sender run out of credits. |int |false |`2000` +|_durable_ |Whether sent AMQP messages are marked durable |boolean |false |`false` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-timeout_ |The max number of seconds to wait to determine if the connection with the broker is still established for the readiness check. After that threshold, the check is considered as failed. |int |false |`3` +|_host_ _(amqp-host)_ |The broker hostname |string |false |`localhost` +|_lazy-client_ |Whether to create the connection and sender at startup or at first send request |boolean |false |`true` +|_link-name_ |The name of the link. If not set, the channel name is used. |string |false | +|_max-inflight-messages_ |The maximum number of messages to be written to the broker concurrently. The number of sent messages waiting to be acknowledged by the broker are limited by this value and credits granted by the broker. The default value `0` means only credits apply. |long |false |`0` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ _(amqp-password)_ |The password used to authenticate to the broker |string |false | +|_port_ _(amqp-port)_ |The broker port |int |false |`5672` +|_reconnect-attempts_ _(amqp-reconnect-attempts)_ |The number of reconnection attempts |int |false |`100` +|_reconnect-interval_ _(amqp-reconnect-interval)_ |The interval in second between two reconnection attempts |int |false |`10` +|_retry-on-fail-attempts_ |The number of tentative to retry on failure |int |false |`6` +|_retry-on-fail-interval_ |The interval (in seconds) between two sending attempts |int |false |`5` +|_sni-server-name_ _(amqp-sni-server-name)_ |If set, explicitly override the hostname to use for the TLS SNI server name |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_ttl_ |The time-to-live of the send AMQP messages. 0 to disable the TTL |long |false |`0` +|_use-anonymous-sender_ |Whether or not the connector should use an anonymous sender. Default value is `true` if the broker supports it, `false` otherwise. If not supported, it is not possible to dynamically change the destination address. |boolean |false | +|_use-ssl_ _(amqp-use-ssl)_ |Whether the AMQP connection uses SSL/TLS |boolean |false |`false` +|_username_ _(amqp-username)_ |The username used to authenticate to the broker |string |false | +|_virtual-host_ _(amqp-virtual-host)_ |If set, configure the hostname value used for the connection AMQP Open frame and TLS SNI server name (if TLS is in use) |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-camel-incoming.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-camel-incoming.adoc new file mode 100644 index 000000000..e14c417cf --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-camel-incoming.adoc @@ -0,0 +1,6 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_endpoint-uri_ |The URI of the Camel endpoint (read from or written to) |string |true | +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a Camel exchange is nacked. Values can be `fail` (default) or `ignore` |string |false |`fail` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-camel-outgoing.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-camel-outgoing.adoc new file mode 100644 index 000000000..ae1860580 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-camel-outgoing.adoc @@ -0,0 +1,6 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_endpoint-uri_ |The URI of the Camel endpoint (read from or written to) |string |true | +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-jms-incoming.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-jms-incoming.adoc new file mode 100644 index 000000000..d93940a5d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-jms-incoming.adoc @@ -0,0 +1,25 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_broadcast_ |Whether or not the JMS message should be dispatched to multiple consumers |boolean |false |`false` +|_client-id_ |The client id |String |false | +|_connection-factory-name_ |The name of the JMS connection factory (`jakarta.jms.ConnectionFactory`) to be used. If not set, it uses any exposed JMS connection factory |String |false | +|_dead-letter-queue.destination_ |When the `failure-strategy` is set to `dead-letter-queue` indicates on which queue the message is sent. Defaults is `dead-letter-topic-$channel` |string |false | +|_dead-letter-queue.producer-client-id_ |When the `failure-strategy` is set to `dead-letter-queue` indicates what client id the generated producer should use. Defaults is `jms-dead-letter-topic-producer-$client-id` |string |false | +|_destination_ |The name of the JMS destination. If not set the name of the channel is used |String |false | +|_destination-type_ |The type of destination. It can be either `queue` or `topic` |string |false |`queue` +|_durable_ |Set to `true` to use a durable subscription |boolean |false |`false` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `fail` (default), `ignore`, or `dead-letter-queue` |string |false |`fail` +|_no-local_ |Enable or disable local delivery |boolean |false |`false` +|_password_ |The password to connect to to the JMS server |String |false | +|_retry_ |Whether to retry on terminal stream errors. |boolean |false |`true` +|_retry.initial-delay_ |The initial delay for the retry. |string |false |`PT1S` +|_retry.jitter_ |How much the delay jitters as a multiplier between 0 and 1. The formula is current delay ++*++ jitter. For example, with a current delay of 2H, a jitter of 0.5 will result in an actual delay somewhere between 1H and 3H. |double |false |`0.5` +|_retry.max-delay_ |The maximum delay |string |false |`PT10S` +|_retry.max-retries_ |Maximum number of retries for terminal stream errors. |int |false |`3` +|_reuse-jms-context_ |Whether to reuse JMS contexts by creating child contexts from a parent context. When enabled, child contexts will be created using JMSContext.createContext() instead of ConnectionFactory.createContext() |boolean |false |`false` +|_selector_ |The JMS selector |String |false | +|_session-mode_ |The session mode. Accepted values are AUTO++_++ACKNOWLEDGE, SESSION++_++TRANSACTED, CLIENT++_++ACKNOWLEDGE, DUPS++_++OK++_++ACKNOWLEDGE |String |false |`AUTO++_++ACKNOWLEDGE` +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_username_ |The username to connect to to the JMS server |String |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-jms-outgoing.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-jms-outgoing.adoc new file mode 100644 index 000000000..335b694e3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-jms-outgoing.adoc @@ -0,0 +1,28 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_client-id_ |The client id |String |false | +|_connection-factory-name_ |The name of the JMS connection factory (`jakarta.jms.ConnectionFactory`) to be used. If not set, it uses any exposed JMS connection factory |String |false | +|_correlation-id_ |The JMS Message correlation id |string |false | +|_delivery-delay_ |The delivery delay |long |false | +|_delivery-mode_ |The delivery mode. Either `persistent` or `non++_++persistent` |string |false | +|_destination_ |The name of the JMS destination. If not set the name of the channel is used |String |false | +|_destination-type_ |The type of destination. It can be either `queue` or `topic` |string |false |`queue` +|_disable-message-id_ |Omit the message id in the outbound JMS message |boolean |false | +|_disable-message-timestamp_ |Omit the message timestamp in the outbound JMS message |boolean |false | +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_password_ |The password to connect to to the JMS server |String |false | +|_priority_ |The JMS Message priority |int |false | +|_reply-to_ |The reply to destination if any |string |false | +|_reply-to-destination-type_ |The type of destination for the response. It can be either `queue` or `topic` |string |false |`queue` +|_retry_ |Whether to retry on terminal stream errors. |boolean |false |`true` +|_retry.initial-delay_ |The initial delay for the retry. |string |false |`PT1S` +|_retry.jitter_ |How much the delay jitters as a multiplier between 0 and 1. The formula is current delay ++*++ jitter. For example, with a current delay of 2H, a jitter of 0.5 will result in an actual delay somewhere between 1H and 3H. |double |false |`0.5` +|_retry.max-delay_ |The maximum delay |string |false |`PT10S` +|_retry.max-retries_ |Maximum number of retries for terminal stream errors. |int |false |`3` +|_reuse-jms-context_ |Whether to reuse JMS contexts by creating child contexts from a parent context. When enabled, child contexts will be created using JMSContext.createContext() instead of ConnectionFactory.createContext() |boolean |false |`false` +|_session-mode_ |The session mode. Accepted values are AUTO++_++ACKNOWLEDGE, SESSION++_++TRANSACTED, CLIENT++_++ACKNOWLEDGE, DUPS++_++OK++_++ACKNOWLEDGE |String |false |`AUTO++_++ACKNOWLEDGE` +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_ttl_ |The JMS Message time-to-live |long |false | +|_username_ |The username to connect to to the JMS server |String |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-kafka-incoming.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-kafka-incoming.adoc new file mode 100644 index 000000000..54dfa4117 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-kafka-incoming.adoc @@ -0,0 +1,65 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_assign-seek_ |Assign partitions and optionally seek to offsets, instead of subscribing to topics. A comma-separating list of triplets in form of ++`++: | |:`to assign statically to the consumer and seek to the given offsets. Offset`0`seeks to beginning and offset`-1++`++ seeks to the end of the topic-partition. If the topic is omitted the configured topic will be used. If the offset is omitted partitions are assigned to the consumer but won't be seeked to offset. |string +|_auto.offset.reset_ |What to do when there is no initial offset in Kafka.Accepted values are earliest, latest and none |string |false |`latest` +|_batch_ |Whether the Kafka records are consumed in batch. The channel injection point must consume a compatible type, such as `List++<++Payload++>++` or `KafkaRecordBatch++<++Payload++>++`. |boolean |false |`false` +|_bootstrap.servers_ _(kafka.bootstrap.servers)_ |A comma-separated list of host:port to use for establishing the initial connection to the Kafka cluster. |string |false |`localhost:9092` +|_broadcast_ |Whether the Kafka records should be dispatched to multiple consumer |boolean |false |`false` +|_checkpoint.state-store_ |While using the `checkpoint` commit-strategy, the name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.StateStore.Factory` to specify the state store implementation. |string |false | +|_checkpoint.state-type_ |While using the `checkpoint` commit-strategy, the fully qualified type name of the state object to persist in the state store. When provided, it can be used by the state store implementation to help persisting the processing state object. |string |false | +|_checkpoint.unsynced-state-max-age.ms_ |While using the `checkpoint` commit-strategy, specify the max age in milliseconds that the processing state must be persisted before the connector is marked as unhealthy. Setting this attribute to 0 disables this monitoring. |int |false |`10000` +|_client-id-prefix_ |Prefix for Kafka client `client.id` attribute. If defined configured or generated `client.id` will be prefixed with the given value. |string |false | +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_commit-strategy_ |Specify the commit strategy to apply when a message produced from a record is acknowledged. Values can be `latest`, `ignore` or `throttled`. If `enable.auto.commit` is true then the default is `ignore` otherwise it is `throttled` |string |false | +|_consumer-rebalance-listener.name_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener`. If set, this rebalance listener is applied to the consumer. |string |false | +|_dead-letter-queue.key.serializer_ |When the `failure-strategy` is set to `dead-letter-queue` indicates the key serializer to use. If not set the serializer associated to the key deserializer is used |string |false | +|_dead-letter-queue.producer-client-id_ |When the `failure-strategy` is set to `dead-letter-queue` indicates what client id the generated producer should use. Defaults is `kafka-dead-letter-topic-producer-$client-id` |string |false | +|_dead-letter-queue.topic_ |When the `failure-strategy` is set to `dead-letter-queue` indicates on which topic the record is sent. Defaults is `dead-letter-topic-$channel` |string |false | +|_dead-letter-queue.value.serializer_ |When the `failure-strategy` is set to `dead-letter-queue` indicates the value serializer to use. If not set the serializer associated to the value deserializer is used |string |false | +|_delayed-retry-topic.max-retries_ |When the `failure-strategy` is set to `delayed-retry-topic` indicates the maximum number of retries. If higher than the number of delayed retry topics, last topic is used. |int |false | +|_delayed-retry-topic.timeout_ |When the `failure-strategy` is set to `delayed-retry-topic` indicates the global timeout per record. |int |false |`120000` +|_delayed-retry-topic.topics_ |When the `failure-strategy` is set to `delayed-retry-topic` indicates topics to use. If not set the source channel name is used, with 10, 20 and 50 seconds delayed topics. |string |false | +|_enable.auto.commit_ |If enabled, consumer's offset will be periodically committed in the background by the underlying Kafka client, ignoring the actual processing outcome of the records. It is recommended to NOT enable this setting and let Reactive Messaging handles the commit. |boolean |false |`false` +|_fail-on-deserialization-failure_ |When no deserialization failure handler is set and a deserialization failure happens, report the failure and mark the application as unhealthy. If set to `false` and a deserialization failure happens, a `null` value is forwarded. |boolean |false |`true` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `fail` (default), `ignore`, or `dead-letter-queue` |string |false |`fail` +|_fetch.min.bytes_ |The minimum amount of data the server should return for a fetch request. The default setting of 1 byte means that fetch requests are answered as soon as a single byte of data is available or the fetch request times out waiting for data to arrive. |int |false |`1` +|_graceful-shutdown_ |Whether or not a graceful shutdown should be attempted when the application terminates. |boolean |false |`true` +|_group.id_ |A unique string that identifies the consumer group the application belongs to. If not set, a unique, generated id is used |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-timeout_ |_deprecated_ - During the readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. Deprecated: Use 'health-topic-verification-timeout' instead. |long |false | +|_health-readiness-topic-verification_ |_deprecated_ - Whether the readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin connection. Deprecated: Use 'health-topic-verification-enabled' instead. |boolean |false | +|_health-topic-verification-enabled_ |Whether the startup and readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin client connection. |boolean |false |`false` +|_health-topic-verification-readiness-disabled_ |Whether the topic verification is disabled for the readiness health check. |boolean |false |`false` +|_health-topic-verification-startup-disabled_ |Whether the topic verification is disabled for the startup health check. |boolean |false |`false` +|_health-topic-verification-timeout_ |During the startup and readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. |long |false |`2000` +|_kafka-configuration_ |Identifier of a CDI bean that provides the default Kafka consumer/producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_key-deserialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.DeserializationFailureHandler`. If set, deserialization failure happening when deserializing keys are delegated to this handler which may retry or provide a fallback value. |string |false | +|_key.deserializer_ |The deserializer classname used to deserialize the record's key |string |false |`org.apache.kafka.common.serialization.StringDeserializer` +|_lazy-client_ |Whether Kafka client is created lazily or eagerly. |boolean |false |`false` +|_max-queue-size-factor_ |Multiplier factor to determine maximum number of records queued for processing, using `max.poll.records` ++*++ `max-queue-size-factor`. Defaults to 2. In `batch` mode `max.poll.records` is considered `1`. |int |false |`2` +|_ordered_ |Configures ordering guarantees for concurrent processing. Possible values: `key` for per-key sequential processing, or `partition` for per-partition sequential processing. Requires `@Blocking(ordered = false)` for concurrency. Works with any commit strategy. |string |false | +|_ordered.max-concurrency_ |Maximum number of groups (keys or partitions) that can be processed concurrently. Defaults to `max.poll.records`. |int |false | +|_partitions_ |_deprecated_ - The number of partitions to be consumed concurrently. The connector creates the specified amount of Kafka consumers. It should match the number of partition of the targeted topic. Deprecated: Use `concurrency` channel attribute instead. |int |false |`1` +|_pattern_ |Indicate that the `topic` property is a regular expression. Must be used with the `topic` property. Cannot be used with the `topics` property |boolean |false |`false` +|_pause-if-no-requests_ |Whether the polling must be paused when the application does not request items and resume when it does. This allows implementing back-pressure based on the application capacity. Note that polling is not stopped, but will not retrieve any records when paused. |boolean |false |`true` +|_poll-timeout_ |The polling timeout in milliseconds. When polling records, the poll will wait at most that duration before returning records. Default is 1000ms |int |false |`1000` +|_requests_ |_deprecated_ - When `partitions` is greater than 1, this attribute allows configuring how many records are requested by each consumers every time. Deprecated: Use `concurrency` channel attribute instead. |int |false |`128` +|_retry_ |Whether or not the connection to the broker is re-attempted in case of failure |boolean |false |`true` +|_retry-attempts_ |The maximum number of reconnection before failing. -1 means infinite retry |int |false |`-1` +|_retry-max-wait_ |The max delay (in seconds) between 2 reconnects |int |false |`30` +|_share-group_ |_deprecated_ - Deprecated, use 'share-group.enabled' instead |boolean |false |`false` +|_share-group.enabled_ |Whether to use Kafka Share Groups for consumption. When enabled, the consumer will use a ShareConsumer which provides cooperative record processing across multiple consumers without explicit partition assignment. |boolean |false |`false` +|_share-group.failure-acknowledgement-type_ |Default acknowledgement type to apply to the record, when the message is nacked. |string |false |`release` +|_share-group.failure-deserialization-acknowledgement-type_ |Default acknowledgement type to apply to the record, when the message is nacked because of failure on deserialization. |string |false |`reject` +|_share-group.unprocessed-record-max-age.ms_ |While using share groups, specify the max age in milliseconds that an unprocessed record can be before the connector reports a failure. Setting this attribute to 0 disables this monitoring. |int |false |`60000` +|_throttled.ordered_ |_deprecated_ - While using the `throttled` commit-strategy, configures ordering guarantees for concurrent processing. Possible values: `key` for per-key sequential processing within partitions, or `partition` for per-partition sequential processing. Requires `@Blocking(ordered = false)` for concurrency. Deprecated: Use `ordered` instead. |string |false | +|_throttled.ordered.max-concurrency_ |_deprecated_ - While using the `throttled` commit-strategy with ordered processing, specifies the maximum number of groups (keys or partitions) that can be processed concurrently. This should typically match your worker pool's `max-concurrency` setting. Defaults to `max.poll.records`. Deprecated: Use `ordered.max-concurrency` instead. |int |false | +|_throttled.unprocessed-record-max-age.ms_ |While using the `throttled` commit-strategy, specify the max age in milliseconds that an unprocessed message can be before the connector is marked as unhealthy. Setting this attribute to 0 disables this monitoring. |int |false |`60000` +|_topic_ |The consumed / populated Kafka topic. If neither this property nor the `topics` properties are set, the channel name is used |string |false | +|_topics_ |A comma-separating list of topics to be consumed. Cannot be used with the `topic` or `pattern` properties |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_value-deserialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.DeserializationFailureHandler`. If set, deserialization failure happening when deserializing values are delegated to this handler which may retry or provide a fallback value. |string |false | +|_value.deserializer_ |The deserializer classname used to deserialize the record's value |string |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-kafka-outgoing.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-kafka-outgoing.adoc new file mode 100644 index 000000000..85f3102a9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-kafka-outgoing.adoc @@ -0,0 +1,46 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_acks_ |The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. Accepted values are: 0, 1, all |string |false |`1` +|_bootstrap.servers_ _(kafka.bootstrap.servers)_ |A comma-separated list of host:port to use for establishing the initial connection to the Kafka cluster. |string |false |`localhost:9092` +|_buffer.memory_ |The total bytes of memory the producer can use to buffer records waiting to be sent to the server. |long |false |`33554432` +|_client-id-prefix_ |Prefix for Kafka client `client.id` attribute. If defined configured or generated `client.id` will be prefixed with the given value. |string |false | +|_close-timeout_ |The amount of milliseconds waiting for a graceful shutdown of the Kafka producer |int |false |`10000` +|_cloud-events_ |Enables (default) or disables the Cloud Event support. If enabled on an _incoming_ channel, the connector analyzes the incoming records and try to create Cloud Event metadata. If enabled on an _outgoing_, the connector sends the outgoing messages as Cloud Event if the message includes Cloud Event Metadata. |boolean |false |`true` +|_cloud-events-data-content-type_ _(cloud-events-default-data-content-type)_ |Configure the default `datacontenttype` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `datacontenttype` attribute itself |string |false | +|_cloud-events-data-schema_ _(cloud-events-default-data-schema)_ |Configure the default `dataschema` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `dataschema` attribute itself |string |false | +|_cloud-events-insert-timestamp_ _(cloud-events-default-timestamp)_ |Whether or not the connector should insert automatically the `time` attribute into the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `time` attribute itself |boolean |false |`true` +|_cloud-events-mode_ |The Cloud Event mode (`structured` or `binary` (default)). Indicates how are written the cloud events in the outgoing record |string |false |`binary` +|_cloud-events-source_ _(cloud-events-default-source)_ |Configure the default `source` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `source` attribute itself |string |false | +|_cloud-events-subject_ _(cloud-events-default-subject)_ |Configure the default `subject` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `subject` attribute itself |string |false | +|_cloud-events-type_ _(cloud-events-default-type)_ |Configure the default `type` attribute of the outgoing Cloud Event. Requires `cloud-events` to be set to `true`. This value is used if the message does not configure the `type` attribute itself |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-enabled_ |Whether readiness health reporting is enabled (default) or disabled |boolean |false |`true` +|_health-readiness-timeout_ |_deprecated_ - During the readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. Deprecated: Use 'health-topic-verification-timeout' instead. |long |false | +|_health-readiness-topic-verification_ |_deprecated_ - Whether the readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin connection. Deprecated: Use 'health-topic-verification-enabled' instead. |boolean |false | +|_health-topic-verification-enabled_ |Whether the startup and readiness check should verify that topics exist on the broker. Default to false. Enabling it requires an admin client connection. |boolean |false |`false` +|_health-topic-verification-readiness-disabled_ |Whether the topic verification is disabled for the readiness health check. |boolean |false |`false` +|_health-topic-verification-startup-disabled_ |Whether the topic verification is disabled for the startup health check. |boolean |false |`false` +|_health-topic-verification-timeout_ |During the startup and readiness health check, the connector connects to the broker and retrieves the list of topics. This attribute specifies the maximum duration (in ms) for the retrieval. If exceeded, the channel is considered not-ready. |long |false |`2000` +|_interceptor-bean_ |The name set in `@Identifier` of a bean that implements `org.apache.kafka.clients.producer.ProducerInterceptor`. If set, the identified bean will be used as the producer interceptor. |string |false | +|_kafka-configuration_ |Identifier of a CDI bean that provides the default Kafka consumer/producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_key_ |A key to used when writing the record |string |false | +|_key-serialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing keys are delegated to this handler which may provide a fallback value. |string |false | +|_key.serializer_ |The serializer classname used to serialize the record's key |string |false |`org.apache.kafka.common.serialization.StringSerializer` +|_lazy-client_ |Whether Kafka client is created lazily or eagerly. |boolean |false |`false` +|_max-inflight-messages_ |The maximum number of messages to be written to Kafka concurrently. It limits the number of messages waiting to be written and acknowledged by the broker. You can set this attribute to `0` remove the limit |long |false |`1024` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_partition_ |The target partition id. -1 to let the client determine the partition |int |false |`-1` +|_pooled-producer_ |_deprecated_ - Deprecated, use 'pooled-producer.enabled' instead |boolean |false |`false` +|_pooled-producer.enabled_ |Whether to use a pool of Kafka producers for concurrent transactions. Each transaction scope acquires a producer from the pool, enabling concurrent exactly-once processing. Requires transactional.id to be set. |boolean |false |`false` +|_pooled-producer.initial-pool-size_ |Number of Kafka producers to pre-create in the pool at startup. Respects the lazy-client setting. Defaults to 0 (lazy creation). |int |false |`0` +|_pooled-producer.max-pool-size_ |Maximum number of Kafka producers in the pool. When all producers are in use and the pool is exhausted, an exception is thrown. Defaults to 10. |int |false |`10` +|_propagate-headers_ |A comma-separating list of incoming record headers to be propagated to the outgoing record |string |false |++``++ +|_propagate-record-key_ |Propagate incoming record key to the outgoing record |boolean |false |`false` +|_retries_ |If set to a positive number, the connector will try to resend any record that was not delivered successfully (with a potentially transient error) until the number of retries is reached. If set to 0, retries are disabled. If not set, the connector tries to resend any record that failed to be delivered (because of a potentially transient error) during an amount of time configured by `delivery.timeout.ms`. |long |false |`2147483647` +|_topic_ |The consumed / populated Kafka topic. If neither this property nor the `topics` properties are set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_value-serialization-failure-handler_ |The name set in `@Identifier` of a bean that implements `io.smallrye.reactive.messaging.kafka.SerializationFailureHandler`. If set, serialization failure happening when serializing values are delegated to this handler which may provide a fallback value. |string |false | +|_value.serializer_ |The serializer classname used to serialize the payload |string |true | +|_waitForWriteCompletion_ |Whether the client waits for Kafka to acknowledge the written record before acknowledging the message |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-mqtt-incoming.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-mqtt-incoming.adoc new file mode 100644 index 000000000..69d568103 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-mqtt-incoming.adoc @@ -0,0 +1,45 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_authentication-method_ |MQTT 5.0: the authentication method for enhanced authentication |string |false | +|_auto-clean-session_ |Set to start with a clean session (`true` by default) |boolean |false |`true` +|_auto-generated-client-id_ |Set if the MQTT client must generate clientId automatically |boolean |false |`true` +|_auto-keep-alive_ |Set if the MQTT client must handle `PINGREQ` automatically |boolean |false |`true` +|_broadcast_ |Whether or not the messages should be dispatched to multiple consumers |boolean |false |`false` +|_buffer-size_ |The size buffer of incoming messages waiting to be processed |int |false |`128` +|_client-id_ |Set the client identifier |string |false | +|_client-options-name_ _(mqtt-client-options-name)_ |The name of the MQTT Client Option bean (`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`) used to customize the MQTT client configuration |string |false | +|_connect-timeout-seconds_ |Set the connect timeout (in seconds) |int |false |`60` +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a MQTT message is nacked. Values can be `fail` (default), or `ignore` |string |false |`fail` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ |Set the MQTT server host name/IP |string |true | +|_keep-alive-seconds_ |Set the keep alive timeout in seconds |int |false |`30` +|_max-inflight-queue_ |Set max count of unacknowledged messages |int |false |`10` +|_max-message-size_ |Set max MQTT message size in bytes |int |false |`8092` +|_mqtt-version_ |Set the MQTT protocol version (4 for 3.1.1 or 5 for 5.0) |int |false |`4` +|_no-local_ |MQTT 5.0: if true, the server will not forward messages published by this client back to this client |boolean |false |`false` +|_password_ |Set the password to connect to the server |string |false | +|_port_ |Set the MQTT server port. Default to 8883 if ssl is enabled, or 1883 without ssl |int |false | +|_qos_ |Set the QoS level when subscribing to the topic or when sending a message (0, 1, or 2) |int |false |`0` +|_reconnect-interval-seconds_ |Set the reconnect interval in seconds |int |false |`1` +|_retain-as-published_ |MQTT 5.0: if true, the server keeps the retain flag as set by the publishing client |boolean |false |`false` +|_retain-handling_ |MQTT 5.0: retain handling option (0=send on subscribe, 1=send if new subscription, 2=do not send) |int |false |`0` +|_server-name_ |Set the SNI server name |string |false | +|_session-expiry-interval_ |Set the session expiry interval in seconds (MQTT 5.0 only) |int |false | +|_ssl_ |Set whether SSL/TLS is enabled |boolean |false |`false` +|_ssl.hostname-verification-algorithm_ |Set the hostname verifier algorithm for the TLS connection.Accepted values are `HTTPS`, `LDAPS`, and `NONE` (defaults). `NONE` disables the hostname verification. |string |false |`NONE` +|_ssl.keystore.location_ |Set the keystore location. In case of `pem` type this is the server ca cert path |string |false | +|_ssl.keystore.password_ |Set the keystore password. In case of `pem` type this is the key path |string |false | +|_ssl.keystore.type_ |Set the keystore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_ssl.truststore.location_ |Set the truststore location. In case of `pem` type this is the client cert path |string |false | +|_ssl.truststore.password_ |Set the truststore password. In case of `pem` type this is not necessary |string |false | +|_ssl.truststore.type_ |Set the truststore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_subscription-identifier_ |MQTT 5.0: subscription identifier to include in the SUBSCRIBE packet |int |false | +|_topic_ |Set the MQTT topic. If not set, the channel name is used |string |false | +|_trust-all_ |Set whether all server certificates should be trusted |boolean |false |`false` +|_unsubscribe-on-disconnection_ |This flag restore the old behavior to unsubscribe from the broken on disconnection |boolean |false |`false` +|_username_ |Set the username to connect to the server |string |false | +|_will-flag_ |Set if will information are provided on connection |boolean |false |`false` +|_will-qos_ |Set the QoS level for the will message |int |false |`0` +|_will-retain_ |Set if the will message must be retained |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-mqtt-outgoing.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-mqtt-outgoing.adoc new file mode 100644 index 000000000..7f079e6ca --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-mqtt-outgoing.adoc @@ -0,0 +1,40 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_authentication-method_ |MQTT 5.0: the authentication method for enhanced authentication |string |false | +|_auto-clean-session_ |Set to start with a clean session (`true` by default) |boolean |false |`true` +|_auto-generated-client-id_ |Set if the MQTT client must generate clientId automatically |boolean |false |`true` +|_auto-keep-alive_ |Set if the MQTT client must handle `PINGREQ` automatically |boolean |false |`true` +|_client-id_ |Set the client identifier |string |false | +|_client-options-name_ _(mqtt-client-options-name)_ |The name of the MQTT Client Option bean (`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`) used to customize the MQTT client configuration |string |false | +|_connect-timeout-seconds_ |Set the connect timeout (in seconds) |int |false |`60` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_host_ |Set the MQTT server host name/IP |string |true | +|_keep-alive-seconds_ |Set the keep alive timeout in seconds |int |false |`30` +|_max-inflight-queue_ |Set max count of unacknowledged messages |int |false |`10` +|_max-message-size_ |Set max MQTT message size in bytes |int |false |`8092` +|_merge_ |Whether the connector should allow multiple upstreams |boolean |false |`false` +|_mqtt-version_ |Set the MQTT protocol version (4 for 3.1.1 or 5 for 5.0) |int |false |`4` +|_password_ |Set the password to connect to the server |string |false | +|_port_ |Set the MQTT server port. Default to 8883 if ssl is enabled, or 1883 without ssl |int |false | +|_qos_ |Set the QoS level when subscribing to the topic or when sending a message (0, 1, or 2) |int |false |`0` +|_reconnect-interval-seconds_ |Set the reconnect interval in seconds |int |false |`1` +|_retain_ |Whether the published message should be retained |boolean |false |`false` +|_server-name_ |Set the SNI server name |string |false | +|_session-expiry-interval_ |Set the session expiry interval in seconds (MQTT 5.0 only) |int |false | +|_ssl_ |Set whether SSL/TLS is enabled |boolean |false |`false` +|_ssl.hostname-verification-algorithm_ |Set the hostname verifier algorithm for the TLS connection.Accepted values are `HTTPS`, `LDAPS`, and `NONE` (defaults). `NONE` disables the hostname verification. |string |false |`NONE` +|_ssl.keystore.location_ |Set the keystore location. In case of `pem` type this is the server ca cert path |string |false | +|_ssl.keystore.password_ |Set the keystore password. In case of `pem` type this is the key path |string |false | +|_ssl.keystore.type_ |Set the keystore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_ssl.truststore.location_ |Set the truststore location. In case of `pem` type this is the client cert path |string |false | +|_ssl.truststore.password_ |Set the truststore password. In case of `pem` type this is not necessary |string |false | +|_ssl.truststore.type_ |Set the truststore type ++[++`pkcs12`, `jks`, `pem`++]++ |string |false |`pkcs12` +|_topic_ |Set the MQTT topic. If not set, the channel name is used |string |false | +|_trust-all_ |Set whether all server certificates should be trusted |boolean |false |`false` +|_unsubscribe-on-disconnection_ |This flag restore the old behavior to unsubscribe from the broken on disconnection |boolean |false |`false` +|_username_ |Set the username to connect to the server |string |false | +|_will-flag_ |Set if will information are provided on connection |boolean |false |`false` +|_will-qos_ |Set the QoS level for the will message |int |false |`0` +|_will-retain_ |Set if the will message must be retained |boolean |false |`false` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-pulsar-incoming.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-pulsar-incoming.adoc new file mode 100644 index 000000000..6d8f6f7e1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-pulsar-incoming.adoc @@ -0,0 +1,21 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_ack-strategy_ |Specify the commit strategy to apply when a message produced from a record is acknowledged. Values can be `ack`, `cumulative`. |string |false |`ack` +|_ackTimeout.redeliveryBackoff_ |Comma separated values for configuring ack timeout MultiplierRedeliveryBackoff, min delay, max delay, multiplier. |string |false | +|_batchReceive_ |Whether batch receive is used to consume messages |boolean |false |`false` +|_client-configuration_ |Identifier of a CDI bean that provides the default Pulsar client configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_consumer-configuration_ |Identifier of a CDI bean that provides the default Pulsar consumer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_deadLetterPolicy.deadLetterTopic_ |Name of the dead letter topic where the failing messages will be sent |string |false | +|_deadLetterPolicy.initialSubscriptionName_ |Name of the initial subscription name of the dead letter topic |string |false | +|_deadLetterPolicy.maxRedeliverCount_ |Maximum number of times that a message will be redelivered before being sent to the dead letter topic |int |false | +|_deadLetterPolicy.retryLetterTopic_ |Name of the retry topic where the failing messages will be sent |string |false | +|_failure-strategy_ |Specify the failure strategy to apply when a message produced from a record is acknowledged negatively (nack). Values can be `nack` (default), `fail`, `ignore` or ++`++reconsume-later |string |false |`nack` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_negativeAck.redeliveryBackoff_ |Comma separated values for configuring negative ack MultiplierRedeliveryBackoff, min delay, max delay, multiplier. |string |false | +|_reconsumeLater.delay_ |Default delay for reconsume failure-strategy, in seconds |long |false |`3` +|_schema_ |The Pulsar schema type of this channel. When configured a schema is built with the given SchemaType and used for the channel. When absent, the schema is resolved searching for a CDI bean typed `Schema` qualified with `@Identifier` and the channel name. As a fallback AUTO++_++CONSUME or AUTO++_++PRODUCE are used. |string |false | +|_serviceUrl_ |The service URL for the Pulsar service |string |false |`pulsar://localhost:6650` +|_topic_ |The consumed / populated Pulsar topic. If not set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-pulsar-outgoing.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-pulsar-outgoing.adoc new file mode 100644 index 000000000..9d44f7b1d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-pulsar-outgoing.adoc @@ -0,0 +1,13 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_client-configuration_ |Identifier of a CDI bean that provides the default Pulsar client configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_max-inflight-messages_ |The maximum size of a queue holding pending messages, i.e messages waiting to receive an acknowledgment from a broker. Defaults to 1000 messages |int |false | +|_producer-configuration_ |Identifier of a CDI bean that provides the default Pulsar producer configuration for this channel. The channel configuration can still override any attribute. The bean must have a type of Map++<++String, Object++>++ and must use the @io.smallrye.common.annotation.Identifier qualifier to set the identifier. |string |false | +|_schema_ |The Pulsar schema type of this channel. When configured a schema is built with the given SchemaType and used for the channel. When absent, the schema is resolved searching for a CDI bean typed `Schema` qualified with `@Identifier` and the channel name. As a fallback AUTO++_++CONSUME or AUTO++_++PRODUCE are used. |string |false | +|_serviceUrl_ |The service URL for the Pulsar service |string |false |`pulsar://localhost:6650` +|_topic_ |The consumed / populated Pulsar topic. If not set, the channel name is used |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_waitForWriteCompletion_ |Whether the client waits for the broker to acknowledge the written record before acknowledging the message |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sns-outgoing.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sns-outgoing.adoc new file mode 100644 index 000000000..c25ed7a4f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sns-outgoing.adoc @@ -0,0 +1,17 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_batch_ |When set, sends messages in batches of maximum 10 messages |boolean |false |`false` +|_batch-delay_ |In batch send mode, the maximum delay in milliseconds to wait for messages to be included in the batch. Defaults to 3000 ms |int |false |`3000` +|_batch-size_ |In batch send mode, the maximum number of messages to include in batch, currently SNS maximum is 10 messages |int |false |`10` +|_credentials-provider_ |The credential provider to be used in the client, defaults to AWS default provider chain |string |false | +|_email.subject_ |When set, sends messages with the specified subject |string |false | +|_endpoint-override_ |The endpoint override |string |false | +|_group.id_ |When set, sends messages with the specified group id |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_message-structure_ |Set to json if you want to send a different message for each protocol. |string |false | +|_region_ |The name of the SNS region, defaults to AWS region resolver |string |false | +|_sms.phoneNumber_ |When set, sends messages to the specified phone number. Not supported in combination with batching. |string |false | +|_topic_ |The name of the SNS topic, defaults to channel name if not provided |string |false | +|_topic.arn_ |The arn of the SNS topic |string |false | +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sqs-incoming.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sqs-incoming.adoc new file mode 100644 index 000000000..b461eea07 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sqs-incoming.adoc @@ -0,0 +1,21 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_ack-strategy_ |The identifier for the bean implementing ack strategy factory. Strategies: 'delete', 'ignore' |string |false |`delete` +|_ack.delete_ |_deprecated_ - Whether the acknowledgement deletes the message from the queue. Deprecated, use ack-strategy instead |boolean |false | +|_credentials-provider_ |The credential provider to be used in the client |string |false | +|_endpoint-override_ |The endpoint override |string |false | +|_failure-strategy_ |The identifier for the bean implementing failure strategy factory. Strategies: 'ignore', 'fail', 'visibility', 'delete' |string |false |`ignore` +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_max-number-of-messages_ |The maximum number of messages to receive |int |false |`10` +|_queue_ |The name of the SQS queue, defaults to channel name if not provided |string |false | +|_queue.url_ |The url of the SQS queue |string |false | +|_receive.request.customizer_ |The identifier for the bean implementing a customizer to receive requests, defaults to channel name if not provided |string |false | +|_receive.request.message-attribute-names_ |The message attribute names to retrieve when receiving messages. |string |false | +|_receive.request.pause.resume_ |Whether the polling must be paused when the application does not request items and resume when it does. This allows implementing back-pressure based on the application capacity. Note that polling is not stopped, but will not retrieve any records when paused. |boolean |false |`true` +|_receive.request.retries_ |If set to a positive number, the connector will try to retry the request that was not delivered successfully (with a potentially transient error) until the number of retries is reached. If set to 0, retries are disabled. |long |false |`2147483647` +|_region_ |The name of the SQS region |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|_visibility-timeout_ |The duration in seconds that the received messages are hidden from subsequent retrieve requests after being retrieved by a receive request |int |false | +|_wait-time-seconds_ |The maximum amount of time in seconds to wait for messages to be received |int |false |`1` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sqs-outgoing.adoc b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sqs-outgoing.adoc new file mode 100644 index 000000000..28e23dc2c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_generated/smallrye-sqs-outgoing.adoc @@ -0,0 +1,15 @@ +[cols="<,<,^,^,<",options="header",] +|=== +|Attribute (_alias_) |Description |Type |Mandatory |Default +|_batch_ |When set, sends messages in batches of maximum 10 messages |boolean |false |`false` +|_batch-delay_ |In batch send mode, the maximum delay in milliseconds to wait for messages to be included in the batch |int |false |`3000` +|_batch-size_ |In batch send mode, the maximum number of messages to include in batch, currently SQS maximum is 10 messages |int |false |`10` +|_credentials-provider_ |The credential provider to be used in the client |string |false | +|_endpoint-override_ |The endpoint override |string |false | +|_group.id_ |When set, sends messages with the specified group id |string |false | +|_health-enabled_ |Whether health reporting is enabled (default) or disabled |boolean |false |`true` +|_queue_ |The name of the SQS queue, defaults to channel name if not provided |string |false | +|_queue.url_ |The url of the SQS queue |string |false | +|_region_ |The name of the SQS region |string |false | +|_tracing-enabled_ |Whether tracing is enabled (default) or disabled |boolean |false |`true` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_nav.yml b/content/docs/smallrye-reactive-messaging/main/_nav.yml new file mode 100644 index 000000000..d70bbd297 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_nav.yml @@ -0,0 +1,194 @@ +title: SmallRye Reactive Messaging +nav: +- title: Home + page: index +- title: Core + items: + - title: Getting Started + page: getting-started + - title: Concepts + items: + - title: Introduction + page: concepts/concepts + - title: Development Model + page: concepts/model + - title: Emitters and Channel + page: concepts/emitter + - title: Connectors + page: concepts/connectors + - title: Contributing Connectors + page: concepts/contributing-connectors + - title: Acknowledgement + page: concepts/acknowledgement + - title: Blocking Processing + page: concepts/blocking + - title: Method Signatures + page: concepts/signatures + - title: Skipping Messages + page: concepts/skipping + - title: Message Converters + page: concepts/converters + - title: Keyed Streams + page: concepts/keyed-multi + - title: Channel Decorators and Interceptors + page: concepts/decorators + - title: Broadcast + page: concepts/broadcast + - title: Merge channels + page: concepts/merge + - title: Incoming Channel Concurrency + page: concepts/incoming-concurrency + - title: '@Incomings' + page: concepts/incomings + - title: '@Outgoings' + page: concepts/outgoings + - title: Testing + page: concepts/testing + - title: Logging + page: concepts/logging + - title: Observability API + page: concepts/observability + - title: Advanced Configuration + page: concepts/advanced-config + - title: Message Context + page: concepts/message-context + - title: Metadata Injection + page: concepts/incoming-metadata-injection + - title: Generic Payloads + page: concepts/generic-payloads + - title: Pausable Channels + page: concepts/pausable-channels +- title: Kafka + items: + - page: kafka/kafka + - title: Receiving records + page: kafka/receiving-kafka-records + - title: Writing records + page: kafka/writing-kafka-records + - title: Health Checks + page: kafka/health + - title: Using Avro + page: kafka/avro-configuration + - title: Using Protobuf + page: kafka/protobuf-configuration + - title: Rebalance Listeners + page: kafka/consumer-rebalance-listener + - title: Kerberos authentication + page: kafka/kerberos + - title: Accessing the client + page: kafka/client-service + - title: Customizing Default Kafka Configuration + page: kafka/default-configuration + - title: Test Companion for Kafka + page: kafka/test-companion + - title: Kafka Transactions and Exactly-Once Processing + page: kafka/transactions + - title: Kafka Request/Reply + page: kafka/request-reply +- title: AMQP 1.0 + items: + - page: amqp/amqp + - title: Receiving messages + page: amqp/receiving-amqp-messages + - title: Sending messages + page: amqp/sending-amqp-messages + - title: AMQP Request/Reply + page: amqp/request-reply + - title: CBS Authentication + page: amqp/cbs-authentication + - title: Health Checks + page: amqp/health + - title: Client Customization + page: amqp/client-customization + - title: Using RabbitMQ + page: amqp/rabbitmq +- title: RabbitMQ + items: + - page: rabbitmq/rabbitmq + - title: Receiving messages + page: rabbitmq/receiving-messages-from-rabbitmq + - title: Sending messages + page: rabbitmq/sending-messages-to-rabbitmq + - title: Health Checks + page: rabbitmq/rabbitmq-health + - title: Client Customization + page: rabbitmq/rabbitmq-client-customization + - title: Connecting to managed instances + page: rabbitmq/rabbitmq-cloud + - title: RabbitMQ Request/Reply + page: rabbitmq/request-reply +- title: RabbitMQ OG + items: + - page: rabbitmq-og/rabbitmq-og + - title: Receiving messages + page: rabbitmq-og/receiving-messages-from-rabbitmq + - title: Sending messages + page: rabbitmq-og/sending-messages-to-rabbitmq + - title: Health Checks + page: rabbitmq-og/rabbitmq-og-health + - title: Client Customization + page: rabbitmq-og/rabbitmq-og-client-customization + - title: OpenTelemetry Tracing + page: rabbitmq-og/rabbitmq-og-tracing + - title: Connecting to managed instances + page: rabbitmq-og/rabbitmq-og-cloud +- title: Pulsar + items: + - page: pulsar/pulsar + - title: Receiving messages + page: pulsar/receiving-pulsar-messages + - title: Sending messages + page: pulsar/sending-messages-to-pulsar + - title: Configuring the Schema + page: pulsar/schema-configuration + - title: Configuring the Pulsar client + page: pulsar/client-configuration + - title: Health Checks + page: pulsar/health + - title: Accessing the client + page: pulsar/client-service + - title: Pulsar Transactions and Exactly-Once Processing + page: pulsar/transactions +- title: Apache Camel + items: + - page: camel/camel + - title: Receiving messages from Camel + page: camel/receiving-messages-from-camel + - title: Sending messages to Camel + page: camel/sending-messages-to-camel + - title: Implementing Camel processor + page: camel/camel-processor + - title: Using existing Camel routes + page: camel/using-existing-routes +- title: JMS + items: + - page: jms/jms + - title: Receiving JMS messages + page: jms/receiving-jms-messages + - title: Sending JMS messages + page: jms/sending-jms-messages + - title: JMS Transactions + page: jms/jms-transactions + - title: Advanced configuration + page: jms/advanced-jms +- title: MQTT + items: + - page: mqtt/mqtt + - title: Receiving MQTT messages + page: mqtt/receiving-mqtt-messages + - title: Sending MQTT messages + page: mqtt/sending-messages-to-mqtt + - title: Customizing the MQTT client + page: mqtt/client-customization +- title: AWS SQS + items: + - page: sqs/sqs + - title: Receiving AWS SQS messages + page: sqs/receiving-aws-sqs-messages + - title: Sending AWS SQS messages + page: sqs/sending-aws-sqs-messages +- title: AWS SNS + items: + - page: sns/sns + - title: Sending AWS SNS messages + page: sns/sending-aws-sns-messages diff --git a/content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-client.adoc b/content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-client.adoc new file mode 100644 index 000000000..513f4c895 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-client.adoc @@ -0,0 +1,58 @@ +[width="100%",cols="<13%,<42%,^17%,^17%,<11%",options="header",] +|=== +|Attribute |Description |Type |Config file |Default +|_serviceUrl_ |Pulsar cluster HTTP URL to connect to a broker. |String |true | +|_serviceUrlProvider_ |The implementation class of ServiceUrlProvider used to generate ServiceUrl. |ServiceUrlProvider |false | +|_authentication_ |Authentication settings of the client. |Authentication |false | +|_authPluginClassName_ |Class name of authentication plugin of the client. |String |true | +|_authParams_ |Authentication parameter of the client. |String |true | +|_authParamMap_ |Authentication map of the client. |Map |true | +|_operationTimeoutMs_ |Client operation timeout (in milliseconds). |long |true |30000 +|_lookupTimeoutMs_ |Client lookup timeout (in milliseconds). |long |true |-1 +|_statsIntervalSeconds_ |Interval to print client stats (in seconds). |long |true |60 +|_numIoThreads_ |Number of IO threads. |int |true |10 +|_numListenerThreads_ |Number of consumer listener threads. |int |true |10 +|_connectionsPerBroker_ |Number of connections established between the client and each Broker. A value of 0 means to disable connection pooling. |int |true |1 +|_connectionMaxIdleSeconds_ |Release the connection if it is not used for more than ++[++connectionMaxIdleSeconds++]++ seconds. If ++[++connectionMaxIdleSeconds++]++ ++<++ 0, disabled the feature that auto release the idle connections |int |true |180 +|_useTcpNoDelay_ |Whether to use TCP NoDelay option. |boolean |true |true +|_useTls_ |Whether to use TLS. |boolean |true |false +|_tlsKeyFilePath_ |Path to the TLS key file. |String |true | +|_tlsCertificateFilePath_ |Path to the TLS certificate file. |String |true | +|_tlsTrustCertsFilePath_ |Path to the trusted TLS certificate file. |String |true | +|_tlsAllowInsecureConnection_ |Whether the client accepts untrusted TLS certificates from the broker. |boolean |true |false +|_tlsHostnameVerificationEnable_ |Whether the hostname is validated when the client creates a TLS connection with brokers. |boolean |true |false +|_concurrentLookupRequest_ |The number of concurrent lookup requests that can be sent on each broker connection. Setting a maximum prevents overloading a broker. |int |true |5000 +|_maxLookupRequest_ |Maximum number of lookup requests allowed on each broker connection to prevent overloading a broker. |int |true |50000 +|_maxLookupRedirects_ |Maximum times of redirected lookup requests. |int |true |20 +|_maxNumberOfRejectedRequestPerConnection_ |Maximum number of rejected requests of a broker in a certain time frame (60 seconds) after the current connection is closed and the client creating a new connection to connect to a different broker. |int |true |50 +|_keepAliveIntervalSeconds_ |Seconds of keeping alive interval for each client broker connection. |int |true |30 +|_connectionTimeoutMs_ |Duration of waiting for a connection to a broker to be established.If the duration passes without a response from a broker, the connection attempt is dropped. |int |true |10000 +|_requestTimeoutMs_ |Maximum duration for completing a request. |int |true |60000 +|_readTimeoutMs_ |Maximum read time of a request. |int |true |60000 +|_autoCertRefreshSeconds_ |Seconds of auto refreshing certificate. |int |true |300 +|_initialBackoffIntervalNanos_ |Initial backoff interval (in nanosecond). |long |true |100000000 +|_maxBackoffIntervalNanos_ |Max backoff interval (in nanosecond). |long |true |60000000000 +|_enableBusyWait_ |Whether to enable BusyWait for EpollEventLoopGroup. |boolean |true |false +|_listenerName_ |Listener name for lookup. Clients can use listenerName to choose one of the listeners as the service URL to create a connection to the broker as long as the network is accessible."advertisedListeners" must enabled in broker side. |String |true | +|_useKeyStoreTls_ |Set TLS using KeyStore way. |boolean |true |false +|_sslProvider_ |The TLS provider used by an internal client to authenticate with other Pulsar brokers. |String |true | +|_tlsKeyStoreType_ |TLS KeyStore type configuration. |String |true |JKS +|_tlsKeyStorePath_ |Path of TLS KeyStore. |String |true | +|_tlsKeyStorePassword_ |Password of TLS KeyStore. |String |true | +|_tlsTrustStoreType_ |TLS TrustStore type configuration. You need to set this configuration when client authentication is required. |String |true |JKS +|_tlsTrustStorePath_ |Path of TLS TrustStore. |String |true | +|_tlsTrustStorePassword_ |Password of TLS TrustStore. |String |true | +|_tlsCiphers_ |Set of TLS Ciphers. |Set |true |++[]++ +|_tlsProtocols_ |Protocols of TLS. |Set |true |++[]++ +|_memoryLimitBytes_ |Limit of client memory usage (in byte). The 64M default can guarantee a high producer throughput. |long |true |67108864 +|_proxyServiceUrl_ |URL of proxy service. proxyServiceUrl and proxyProtocol must be mutually inclusive. |String |true | +|_proxyProtocol_ |Protocol of proxy service. proxyServiceUrl and proxyProtocol must be mutually inclusive. |ProxyProtocol |true | +|_enableTransaction_ |Whether to enable transaction. |boolean |true |false +|_clock_ | |Clock |false | +|_dnsLookupBindAddress_ |The Pulsar client dns lookup bind address, default behavior is bind on 0.0.0.0 |String |true | +|_dnsLookupBindPort_ |The Pulsar client dns lookup bind port, takes effect when dnsLookupBindAddress is configured, default value is 0. |int |true |0 +|_socks5ProxyAddress_ |Address of SOCKS5 proxy. |InetSocketAddress |true | +|_socks5ProxyUsername_ |User name of SOCKS5 proxy. |String |true | +|_socks5ProxyPassword_ |Password of SOCKS5 proxy. |String |true | +|_description_ |The extra description of the client version. The length cannot exceed 64. |String |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-consumer.adoc b/content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-consumer.adoc new file mode 100644 index 000000000..1f4b499aa --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-consumer.adoc @@ -0,0 +1,137 @@ +[width="100%",cols="<13%,<42%,^17%,^17%,<11%",options="header",] +|=== +|Attribute |Description |Type |Config file |Default +|_topicNames_ |Topic name |Set |true |++[]++ +|_topicsPattern_ |Topic pattern |Pattern |true | +|_subscriptionName_ |Subscription name |String |true | +|_subscriptionType_ |Subscription type. + +Four subscription types are available: + +++*++ Exclusive + +++*++ Failover + +++*++ Shared + +++*++ Key++_++Shared |SubscriptionType |true |Exclusive +|_subscriptionProperties_ | |Map |true | +|_subscriptionMode_ | |SubscriptionMode |true |Durable +|_messageListener_ | |MessageListener |false | +|_consumerEventListener_ | |ConsumerEventListener |false | +|_negativeAckRedeliveryBackoff_ |Interface for custom message is negativeAcked policy. You can specify `RedeliveryBackoff` for a consumer. |RedeliveryBackoff |false | +|_ackTimeoutRedeliveryBackoff_ |Interface for custom message is ackTimeout policy. You can specify `RedeliveryBackoff` for a consumer. |RedeliveryBackoff |false | +|_receiverQueueSize_ |Size of a consumer's receiver queue. + + + +For example, the number of messages accumulated by a consumer before an application calls `Receive`. + + + +A value higher than the default value increases consumer throughput, though at the expense of more memory utilization. |int |true |1000 +|_acknowledgementsGroupTimeMicros_ |Group a consumer acknowledgment for a specified time. + + + +By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker. + + + +Setting a group time of 0 sends out acknowledgments immediately. + + + +A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure. |long |true |100000 +|_maxAcknowledgmentGroupSize_ |Group a consumer acknowledgment for the number of messages. |int |true |1000 +|_negativeAckRedeliveryDelayMicros_ |Delay to wait before redelivering messages that failed to be processed. + + + +When an application uses `Consumer#negativeAcknowledge(Message)`, failed messages are redelivered after a fixed timeout. |long |true |60000000 +|_maxTotalReceiverQueueSizeAcrossPartitions_ |The max total receiver queue size across partitions. + + + +This setting reduces the receiver queue size for individual partitions if the total receiver queue size exceeds this value. |int |true |50000 +|_consumerName_ |Consumer name |String |true | +|_ackTimeoutMillis_ |Timeout of unacked messages |long |true |0 +|_tickDurationMillis_ |Granularity of the ack-timeout redelivery. + + + +Using an higher `tickDurationMillis` reduces the memory overhead to track messages when setting ack-timeout to a bigger value (for example, 1 hour). |long |true |1000 +|_priorityLevel_ |Priority level for a consumer to which a broker gives more priority while dispatching messages in Shared subscription type. + + + +The broker follows descending priorities. For example, 0=max-priority, 1, 2,... + + + +In Shared subscription type, the broker *first dispatches messages to the max priority level consumers if they have permits*. Otherwise, the broker considers next priority level consumers. + + + +**Example 1** + +If a subscription has consumerA with `priorityLevel` 0 and consumerB with `priorityLevel` 1, then the broker *only dispatches messages to consumerA until it runs out permits* and then starts dispatching messages to consumerB. + + + +**Example 2** + +Consumer Priority, Level, Permits + +C1, 0, 2 + +C2, 0, 1 + +C3, 0, 1 + +C4, 1, 2 + +C5, 1, 1 + + + +Order in which a broker dispatches messages to consumers is: C1, C2, C3, C1, C4, C5, C4. |int |true |0 +|_maxPendingChunkedMessage_ |The maximum size of a queue holding pending chunked messages. When the threshold is reached, the consumer drops pending messages to optimize memory utilization. |int |true |10 +|_autoAckOldestChunkedMessageOnQueueFull_ |Whether to automatically acknowledge pending chunked messages when the threshold of `maxPendingChunkedMessage` is reached. If set to `false`, these messages will be redelivered by their broker. |boolean |true |false +|_expireTimeOfIncompleteChunkedMessageMillis_ |The time interval to expire incomplete chunks if a consumer fails to receive all the chunks in the specified time period. The default value is 1 minute. |long |true |60000 +|_cryptoKeyReader_ | |CryptoKeyReader |false | +|_messageCrypto_ | |MessageCrypto |false | +|_cryptoFailureAction_ |Consumer should take action when it receives a message that can not be decrypted. + +++*++ *FAIL*: this is the default option to fail messages until crypto succeeds. + +++*++ *DISCARD*:silently acknowledge and not deliver message to an application. + +++*++ *CONSUME*: deliver encrypted messages to applications. It is the application's responsibility to decrypt the message. + + + +The decompression of message fails. + + + +If messages contain batch messages, a client is not be able to retrieve individual messages in batch. + + + +Delivered encrypted message contains `EncryptionContext` which contains encryption and compression information in it using which application can decrypt consumed message payload. |ConsumerCryptoFailureAction |true |FAIL +|_properties_ |A name or value property of this consumer. + + + +`properties` is application defined metadata attached to a consumer. + + + +When getting a topic stats, associate this metadata with the consumer stats for easier identification. |SortedMap |true |++{++} +|_readCompacted_ |If enabling `readCompacted`, a consumer reads messages from a compacted topic rather than reading a full message backlog of a topic. + + + +A consumer only sees the latest value for each key in the compacted topic, up until reaching the point in the topic message when compacting backlog. Beyond that point, send messages as normal. + + + +Only enabling `readCompacted` on subscriptions to persistent topics, which have a single active consumer (like failure or exclusive subscriptions). + + + +Attempting to enable it on subscriptions to non-persistent topics or on shared subscriptions leads to a subscription call throwing a `PulsarClientException`. |boolean |true |false +|_subscriptionInitialPosition_ |Initial position at which to set cursor when subscribing to a topic at first time. |SubscriptionInitialPosition |true |Latest +|_patternAutoDiscoveryPeriod_ |Topic auto discovery period when using a pattern for topic's consumer. + + + +The default and minimum value is 1 minute. |int |true |60 +|_regexSubscriptionMode_ |When subscribing to a topic using a regular expression, you can pick a certain type of topics. + + + +++*++ *PersistentOnly*: only subscribe to persistent topics. + +++*++ *NonPersistentOnly*: only subscribe to non-persistent topics. + +++*++ *AllTopics*: subscribe to both persistent and non-persistent topics. |RegexSubscriptionMode |true |PersistentOnly +|_deadLetterPolicy_ |Dead letter policy for consumers. + + + +By default, some messages are probably redelivered many times, even to the extent that it never stops. + + + +By using the dead letter mechanism, messages have the max redelivery count. *When exceeding the maximum number of redeliveries, messages are sent to the Dead Letter Topic and acknowledged automatically*. + + + +You can enable the dead letter mechanism by setting `deadLetterPolicy`. + + + +**Example** + + + +client.newConsumer() + +.deadLetterPolicy(DeadLetterPolicy.builder().maxRedeliverCount(10).build()) + +.subscribe(); + + + +Default dead letter topic name is `++{++TopicName}-++{++Subscription}-DLQ`. + + + +To set a custom dead letter topic name: + + + +client.newConsumer() + +.deadLetterPolicy(DeadLetterPolicy.builder().maxRedeliverCount(10) + +.deadLetterTopic("your-topic-name").build()) + +.subscribe(); + + + +When specifying the dead letter policy while not specifying `ackTimeoutMillis`, you can set the ack timeout to 30000 millisecond. |DeadLetterPolicy |true | +|_retryEnable_ | |boolean |true |false +|_batchReceivePolicy_ | |BatchReceivePolicy |false | +|_autoUpdatePartitions_ |If `autoUpdatePartitions` is enabled, a consumer subscribes to partition increasement automatically. + + + +**Note**: this is only for partitioned consumers. |boolean |true |true +|_autoUpdatePartitionsIntervalSeconds_ | |long |true |60 +|_replicateSubscriptionState_ |If `replicateSubscriptionState` is enabled, a subscription state is replicated to geo-replicated clusters. |boolean |true |false +|_resetIncludeHead_ | |boolean |true |false +|_keySharedPolicy_ | |KeySharedPolicy |false | +|_batchIndexAckEnabled_ | |boolean |true |false +|_ackReceiptEnabled_ | |boolean |true |false +|_poolMessages_ | |boolean |true |false +|_payloadProcessor_ | |MessagePayloadProcessor |false | +|_startPaused_ | |boolean |true |false +|_autoScaledReceiverQueueSizeEnabled_ | |boolean |true |false +|_topicConfigurations_ | |List |true |++[]++ +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-producer.adoc b/content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-producer.adoc new file mode 100644 index 000000000..e8755e86b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/_partials/pulsar/config/smallrye-pulsar-producer.adoc @@ -0,0 +1,60 @@ +[width="100%",cols="<13%,<42%,^17%,^17%,<11%",options="header",] +|=== +|Attribute |Description |Type |Config file |Default +|_topicName_ |Topic name |String |true | +|_producerName_ |Producer name |String |true | +|_sendTimeoutMs_ |Message send timeout in ms. + +If a message is not acknowledged by a server before the `sendTimeout` expires, an error occurs. |long |true |30000 +|_blockIfQueueFull_ |If it is set to `true`, when the outgoing message queue is full, the `Send` and `SendAsync` methods of producer block, rather than failing and throwing errors. + +If it is set to `false`, when the outgoing message queue is full, the `Send` and `SendAsync` methods of producer fail and `ProducerQueueIsFullError` exceptions occur. + + + +The `MaxPendingMessages` parameter determines the size of the outgoing message queue. |boolean |true |false +|_maxPendingMessages_ |The maximum size of a queue holding pending messages. + + + +For example, a message waiting to receive an acknowledgment from a https://pulsar.apache.org/docs/reference-terminology#broker[broker]. + + + +By default, when the queue is full, all calls to the `Send` and `SendAsync` methods fail *unless* you set `BlockIfQueueFull` to `true`. |int |true |0 +|_maxPendingMessagesAcrossPartitions_ |The maximum number of pending messages across partitions. + + + +Use the setting to lower the max pending messages for each partition (`#setMaxPendingMessages(int)`) if the total number exceeds the configured value. |int |true |0 +|_messageRoutingMode_ |Message routing logic for producers on https://pulsar.apache.org/docs/concepts-architecture-overview#partitioned-topics[partitioned topics]. + +Apply the logic only when setting no key on messages. + +Available options are as follows: + +++*++ `pulsar.RoundRobinDistribution`: round robin + +++*++ `pulsar.UseSinglePartition`: publish all messages to a single partition + +++*++ `pulsar.CustomPartition`: a custom partitioning scheme |MessageRoutingMode |true | +|_hashingScheme_ |Hashing function determining the partition where you publish a particular message (partitioned topics only). + +Available options are as follows: + +++*++ `pulsar.JavastringHash`: the equivalent of `string.hashCode()` in Java + +++*++ `pulsar.Murmur3++_++32Hash`: applies the https://en.wikipedia.org/wiki/MurmurHash[Murmur3] hashing function + +++*++ `pulsar.BoostHash`: applies the hashing function from C{plus}{plus}'shttps://www.boost.org/doc/libs/1_62_0/doc/html/hash.html[Boost] library |HashingScheme |true |JavaStringHash +|_cryptoFailureAction_ |Producer should take action when encryption fails. + +++*++ *FAIL*: if encryption fails, unencrypted messages fail to send. + +++*++ *SEND*: if encryption fails, unencrypted messages are sent. |ProducerCryptoFailureAction |true |FAIL +|_customMessageRouter_ | |MessageRouter |false | +|_batchingMaxPublishDelayMicros_ |Batching time period of sending messages. |long |true |1000 +|_batchingPartitionSwitchFrequencyByPublishDelay_ | |int |true |10 +|_batchingMaxMessages_ |The maximum number of messages permitted in a batch. |int |true |1000 +|_batchingMaxBytes_ | |int |true |131072 +|_batchingEnabled_ |Enable batching of messages. |boolean |true |true +|_batcherBuilder_ | |BatcherBuilder |false | +|_chunkingEnabled_ |Enable chunking of messages. |boolean |true |false +|_chunkMaxMessageSize_ | |int |true |-1 +|_cryptoKeyReader_ | |CryptoKeyReader |false | +|_messageCrypto_ | |MessageCrypto |false | +|_encryptionKeys_ | |Set |true |++[]++ +|_compressionType_ |Message data compression type used by a producer. + +Available options: + +++*++ https://github.com/lz4/lz4[LZ4] + +++*++ https://zlib.net/[ZLIB] + +++*++ https://facebook.github.io/zstd/[ZSTD] + +++*++ https://google.github.io/snappy/[SNAPPY] |CompressionType |true |NONE +|_initialSequenceId_ | |Long |true | +|_autoUpdatePartitions_ | |boolean |true |true +|_autoUpdatePartitionsIntervalSeconds_ | |long |true |60 +|_multiSchema_ | |boolean |true |true +|_accessMode_ | |ProducerAccessMode |true |Shared +|_lazyStartPartitionedProducers_ | |boolean |true |false +|_properties_ | |SortedMap |true |++{++} +|_initialSubscriptionName_ |Use this configuration to automatically create an initial subscription when creating a topic. If this field is not set, the initial subscription is not created. |String |true | +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/amqp/amqp.adoc b/content/docs/smallrye-reactive-messaging/main/amqp/amqp.adoc new file mode 100644 index 000000000..d4326ffeb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/amqp/amqp.adoc @@ -0,0 +1,51 @@ += AMQP 1.0 Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP Connector adds support for AMQP 1.0 to Reactive Messaging. + +Advanced Message Queuing Protocol 1.0 (AMQP 1.0) is an open standard for +passing business messages between applications or organizations. + +With this connector, your application can: + +* receive messages from an AMQP Broker or Router. +* send `Message` to an AMQP _address_ +* implement xref:amqp/request-reply.adoc[request-reply] messaging patterns +* authenticate using xref:amqp/cbs-authentication.adoc[Claims-Based Security (CBS)] tokens + +The AMQP connector is based on the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP Client]. + +Using the AMQP connector + +To use the AMQP Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-amqp + {project-version} + +---- + +The connector name is: `smallrye-amqp`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-amqp + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-amqp +---- + +[IMPORTANT] +.RabbitMQ +==== + +To use RabbitMQ, refer to xref:#amqp-rabbitmq[Using RabbitMQ]. + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/amqp/cbs-authentication.adoc b/content/docs/smallrye-reactive-messaging/main/amqp/cbs-authentication.adoc new file mode 100644 index 000000000..5b5fd6132 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/amqp/cbs-authentication.adoc @@ -0,0 +1,186 @@ += Claims-Based Security (CBS) Authentication +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +CBS authentication support is an experimental feature. + +==== + +The AMQP connector supports https://docs.oasis-open.org/amqp/amqp-cbs/v1.0/amqp-cbs-v1.0.html[Claims-Based Security (CBS)] for token-based authentication with AMQP 1.0 brokers. +CBS allows the client to authenticate by sending a security token (such as a JWT or SAS token) to the broker over the AMQP connection, rather than relying solely on SASL mechanisms. +This is commonly used with brokers like *Azure Service Bus*. + +== Enabling CBS + +To enable CBS authentication on a channel, set the `cbs.enabled` attribute: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-amqp +mp.messaging.incoming.my-channel.host=my-broker.servicebus.windows.net +mp.messaging.incoming.my-channel.port=5671 +mp.messaging.incoming.my-channel.use-ssl=true +mp.messaging.incoming.my-channel.cbs.enabled=true +---- + +CBS can be enabled on both incoming and outgoing channels independently. + +== Providing Tokens + +When CBS is enabled, the connector requires a CDI bean implementing +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/cbs/CbsTokenProvider.html[`CbsTokenProvider`]. +This bean is called during initial connection and on each token refresh cycle. + +[source,java] +---- +include::{examples-dir}/amqp/customization/MyCbsTokenProvider.java[tags=provider,indent=0] +---- + +The `getToken` method receives the channel configuration, allowing you to adapt token generation per channel (e.g., using different audiences or scopes). +It returns a `Uni++<++CbsToken++>++` to support non-blocking token retrieval from external identity providers. + +=== The CbsToken Interface + +A `CbsToken` provides: + +[width="100%",cols="16%,84%",options="header",] +|=== +|Method |Description +|`token()` |The token string value (JWT, SAS token, etc.) +|`type()` |The token type (e.g., `"jwt"` or `"servicebus.windows.net:sastoken"`) +|`expiresAt()` |When the token expires +|`refreshAt()` |When the token should be refreshed (defaults to `expiresAt()` if not set) +|=== + +The `DefaultCbsToken` record provides a convenient implementation: + +[source,java] +---- +// With explicit refresh time (refresh before expiration) +new DefaultCbsToken(token, "jwt", expiresAt, refreshAt); + +// Refresh at expiration +new DefaultCbsToken(token, "jwt", expiresAt); + +// Using validity duration in seconds +new DefaultCbsToken(token, "jwt", 3600); +---- + +== Token Refresh + +The connector automatically refreshes tokens before they expire. +After a successful authorization, a timer is scheduled based on the `refreshAt()` value of the token. + +* If `refreshAt()` is set earlier than `expiresAt()`, the token is refreshed proactively. +* If the refresh fails after retries, the connection is closed and re-established. + +Setting `refreshAt()` earlier than `expiresAt()` is recommended to avoid authentication gaps during refresh: + +[source,java] +---- +new DefaultCbsToken( + token, "jwt", + OffsetDateTime.now().plusHours(1), // expires in 1 hour + OffsetDateTime.now().plusMinutes(45)); // refresh after 45 minutes +---- + +== CBS Exchange Protocols + +The connector supports two CBS exchange protocols, configured with `cbs.exchange`: + +=== `set-token` (default) + +The `set-token` protocol sends the token as an AMQP message to the CBS node with: + +* Subject: `set-token` +* Application property `token-type`: the token type +* Body: the token string + +The broker acknowledges the message to confirm the token was accepted. + +[source,properties] +---- +mp.messaging.incoming.my-channel.cbs.exchange=set-token +---- + +=== `put-token` + +The `put-token` protocol uses a request-reply exchange, compatible with *Azure Service Bus*. +It sends the token as a request and validates the response status code. + +[source,properties] +---- +mp.messaging.incoming.my-channel.cbs.exchange=put-token +mp.messaging.incoming.my-channel.cbs.audience=my-namespace.servicebus.windows.net/my-queue +---- + +When using `put-token`, the `cbs.audience` attribute sets the token audience. +If not configured, the audience is derived from the broker host and target address in the format `amqp://HOST/ADDRESS`. + +== Connection Sharing with CBS + +When multiple channels share the same connection using `container-id`, CBS authentication is performed once for the shared connection: + +[source,properties] +---- +mp.messaging.incoming.my-channel-in.connector=smallrye-amqp +mp.messaging.incoming.my-channel-in.container-id=shared +mp.messaging.incoming.my-channel-in.cbs.enabled=true + +mp.messaging.outgoing.my-channel-out.connector=smallrye-amqp +mp.messaging.outgoing.my-channel-out.container-id=shared +mp.messaging.outgoing.my-channel-out.cbs.enabled=true +---- + +Both channels share a single connection and a single CBS token authorization. + +== Azure Service Bus Example + +To connect to Azure Service Bus using CBS with SAS tokens: + +[source,java] +---- +include::{examples-dir}/amqp/customization/MySasTokenProvider.java[tags=sas-provider,indent=0] +---- + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-amqp +mp.messaging.incoming.my-channel.host=my-namespace.servicebus.windows.net +mp.messaging.incoming.my-channel.port=5671 +mp.messaging.incoming.my-channel.use-ssl=true +mp.messaging.incoming.my-channel.cbs.enabled=true +mp.messaging.incoming.my-channel.cbs.exchange=put-token +mp.messaging.incoming.my-channel.cbs.audience=my-namespace.servicebus.windows.net/my-queue +---- + +== Retry Configuration + +If token authorization fails, the connector retries with exponential backoff. +The retry behavior is controlled by the standard connector retry attributes: + +[source,properties] +---- +mp.messaging.incoming.my-channel.retry-on-fail-attempts=6 # max retries (default: 6) +mp.messaging.incoming.my-channel.retry-on-fail-interval=5 # retry delay in seconds (default: 5) +---- + +If all retries are exhausted, the connection is closed and re-established using the connector's reconnection mechanism. + +== Configuration Reference + +[width="100%",cols="17%,7%,24%,52%",options="header",] +|=== +|Attribute |Type |Default |Description +|`cbs.enabled` |boolean |`false` |Enable CBS authorization +|`cbs.exchange` |string |`set-token` |CBS exchange protocol: `set-token` or `put-token` +|`cbs.audience` |string | |Token audience (auto-derived from address if not set) +|`cbs.scopes` |string | |Token scopes for authorization +|`cbs.token-manager` |string |`default-cbs-token-manager` |CDI bean identifier of a custom `CbsTokenManager.Factory` +|=== + +All attributes are available for both incoming and outgoing channels. diff --git a/content/docs/smallrye-reactive-messaging/main/amqp/client-customization.adoc b/content/docs/smallrye-reactive-messaging/main/amqp/client-customization.adoc new file mode 100644 index 000000000..bc214acb8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/amqp/client-customization.adoc @@ -0,0 +1,50 @@ += Customizing the underlying AMQP client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying AMQP Client configuration by +_producing_ an instance of +https://vertx.io/docs/apidocs/io/vertx/amqp/AmqpClientOptions.html[`AmqpClientOptions`]: + +[source,java] +---- +include::{examples-dir}/amqp/customization/ClientProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.client-options-name=my-named-options +---- + +If you experience frequent disconnections from the broker, the AmqpClientOptions can also be used to set a heartbeat if you need to keep the AMQP connection permanently. +Some brokers might terminate the AMQP connection after a certain idle timeout. +You can provide a heartbeat value which will be used by the Vert.x proton client to advertise the idle timeout when opening transport to a remote peer. + +[source,java] +---- +@Produces +@Identifier("my-named-options") +public AmqpClientOptions getNamedOptions() { + // set a heartbeat of 30s (in milliseconds) + return new AmqpClientOptions() + .setHeartbeat(30000); +} +---- + +== Client capabilities + +Both incoming and outgoing AMQP channels can be configured with a list +of capabilities to declare during sender and receiver connections with +the AMQP broker. Note that supported capability names are broker +specific. + +[source,properties] +---- +mp.messaging.incoming.sink.capabilities=temporary-topic +... +mp.messaging.outgoing.source.capabilities=shared +---- diff --git a/content/docs/smallrye-reactive-messaging/main/amqp/health.adoc b/content/docs/smallrye-reactive-messaging/main/amqp/health.adoc new file mode 100644 index 000000000..79ec6eb9f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/amqp/health.adoc @@ -0,0 +1,34 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector reports the startup, liveness, and readiness of each +inbound (Receiving messages) and outbound (sending messages) channel +managed by the connector: + +* Startup :: For both inbound and outbound, the startup probe reports _OK_ when the +connection with the broker is established, and the AMQP senders and +receivers are opened (the links are attached to the broker). +* Liveness :: For both inbound and outbound, the liveness check verifies that the +connection is established. The check still returns _OK_ if the +connection got cut, but we are attempting a reconnection. +* Readiness :: For the inbound, it checks that the connection is established and the +receiver is opened. Unlike the liveness check, this probe reports _KO_ +until the connection is re-established. For the outbound, it checks that +the connection is established and the sender is opened. Unlike the +liveness check, this probe reports _KO_ until the connection is +re-established. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +Note that a message processing failures _nacks_ the message, which is +then handled by the failure-strategy. It is the responsibility of the +`failure-strategy` to report the failure and influence the outcome of +the checks. The `fail` failure strategy reports the failure, and so the +check will report the fault. diff --git a/content/docs/smallrye-reactive-messaging/main/amqp/rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/main/amqp/rabbitmq.adoc new file mode 100644 index 000000000..06631ded9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/amqp/rabbitmq.adoc @@ -0,0 +1,61 @@ += Using RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +RabbitMQ 4.0{plus} provides native AMQP 1.0 support, making it fully compatible with this connector. +For older versions (3.x), RabbitMQ implements AMQP 0.9.1 and requires the +https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/v3.8.x/README.md[AMQP 1.0 plugin] to be enabled. + +== Address format + +RabbitMQ 4.0{plus} uses the v2 address format with `/queues/` and `/exchanges/` prefixes. +When using this connector with RabbitMQ, prefix your addresses accordingly: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-amqp +mp.messaging.incoming.prices.address=/queues/prices + +mp.messaging.outgoing.generated-price.connector=smallrye-amqp +mp.messaging.outgoing.generated-price.address=/queues/prices +mp.messaging.outgoing.generated-price.use-anonymous-sender=false +---- + +== Recommendations + +RabbitMQ support for AMQP 1.0 may differ from other AMQP 1.0 supporting brokers. +We recommend the following configurations. + +To receive messages from RabbitMQ: + +* Set `durable` to `false` + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-amqp +mp.messaging.incoming.prices.durable=false +---- + +To send messages to RabbitMQ: + +* set the destination `address` (anonymous senders are not supported) +* set `use-anonymous-sender` to `false` + +[source,properties] +---- +mp.messaging.outgoing.generated-price.connector=smallrye-amqp +mp.messaging.outgoing.generated-price.address=prices +mp.messaging.outgoing.generated-price.use-anonymous-sender=false +---- + +It’s not possible to change the destination dynamically (using message +metadata) when using RabbitMQ. The connector automatically detects that +the broker does not support anonymous sender (See +http://docs.oasis-open.org/amqp/anonterm/v1.0/anonterm-v1.0.html). + +== Request/Reply with RabbitMQ + +This connector supports the request-reply pattern with RabbitMQ. +See xref:amqp/request-reply.adoc#using-with-rabbitmq[AMQP Request/Reply] for details. + +Alternatively, you can use the xref:rabbitmq/rabbitmq.adoc[RabbitMQ connector]. diff --git a/content/docs/smallrye-reactive-messaging/main/amqp/receiving-amqp-messages.adoc b/content/docs/smallrye-reactive-messaging/main/amqp/receiving-amqp-messages.adoc new file mode 100644 index 000000000..751056c73 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/amqp/receiving-amqp-messages.adoc @@ -0,0 +1,257 @@ += Receiving messages from AMQP +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector lets you retrieve messages from an https://www.amqp.org/product/architecture[AMQP broker or +router]. The AMQP connector +retrieves _AMQP Messages_ and maps each of them into Reactive Messaging +`Messages`. + +== Example + +Let’s imagine you have an AMQP broker (such as https://activemq.apache.org/components/artemis/[Apache ActiveMQ +Artemis]) running, and +accessible using the `amqp:5672` address (by default it would use +`localhost:5672`). Configure your application to receive AMQP Messages +on the `prices` channel as follows: + +[source,properties] +---- +amqp-host=amqp # <1> +amqp-port=5672 # <2> +amqp-username=my-username # <3> +amqp-password=my-password # <4> + +mp.messaging.incoming.prices.connector=smallrye-amqp # <5> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `amqp-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `amqp-port`. The default is +`5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`amqp-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`amqp-password`. +. Instructs the `prices` channel to be managed by the AMQP connector + +[NOTE] +==== + +You don’t need to set the AMQP _address_. By default, it uses the +channel name (`prices`). You can configure the `address` attribute to +override it. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The connector converts incoming AMQP Messages into Reactive Messaging +`Message++<++T++>++` instances. `T` depends on the _body_ of the received AMQP +Message. + +The http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html[AMQP Type +System] +defines the supported types. + +[width="100%",cols="66%,34%",options="header",] +|=== +|AMQP Body Type |`++<++T++>++` +|AMQP Value containing a http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-types-v1.0-os.html#section-primitive-type-definitions[AMQP Primitive Type] |the corresponding Java type +|AMQP Value using the `Binary` type |`byte++[]++` +|AMQP Sequence |`List` +|AMQP Data (with binary content) and the `content-type` is set to `application/json` |https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] +|AMQP Data with a different `content-type` |`byte++[]++` +|=== + +If you send objects with this AMQP connector (outbound connector), it +gets encoded as JSON and sent as binary. The `content-type` is set to +`application/json`. You can receive this payload using (Vert.x) JSON +Objects, and then map it to the object class you want: + +[source,java] +---- +@ApplicationScoped +public static class Generator { + + @Outgoing("to-amqp") + public Multi prices() { // <1> + AtomicInteger count = new AtomicInteger(); + return Multi.createFrom().ticks().every(Duration.ofMillis(1000)) + .map(l -> new Price().setPrice(count.incrementAndGet())) + .onOverflow().drop(); + } + +} + +@ApplicationScoped +public static class Consumer { + + List prices = new CopyOnWriteArrayList<>(); + + @Incoming("from-amqp") + public void consume(JsonObject p) { // <2> + Price price = p.mapTo(Price.class); // <3> + prices.add(price); + } + + public List list() { + return prices; + } +} +---- + +[arabic] +. The `Price` instances are automatically encoded to JSON by the +connector +. You can receive it using a `JsonObject` +. Then, you can reconstruct the instance using the `mapTo` method + +== Inbound Metadata + +Messages coming from AMQP contains an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/IncomingAmqpMetadata.html[`IncomingAmqpMetadata`] + +[source,java] +---- +include::{examples-dir}/amqp/inbound/AmqpMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a Reactive Messaging `Message` associated with an AMQP Message is +acknowledged, it informs the broker that the message has been +_accepted_. + +== Failure Management + +If a message produced from an AMQP message is _nacked_, a failure +strategy is applied. The AMQP connector supports six strategies: + +* `fail` - fail the application; no more AMQP messages will be +processed (default). The AMQP message is marked as rejected. +* `accept` - this strategy marks the AMQP message as _accepted_. The +processing continues ignoring the failure. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-accepted[accepted +delivery state +documentation]. +* `release` - this strategy marks the AMQP message as _released_. The +processing continues with the next message. The broker can redeliver +the message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-released[released delivery state +documentation]. +* `reject` - this strategy marks the AMQP message as rejected. The +processing continues with the next message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-rejected[rejected +delivery state +documentation]. +* `modified-failed` - this strategy marks the AMQP message as +_modified_ and indicates that it failed (with the `delivery-failed` +attribute). The processing continues with the next message, but the +broker may attempt to redeliver the message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-modified[modified +delivery state +documentation] +* `modified-failed-undeliverable-here` - this strategy marks the AMQP +message as _modified_ and indicates that it failed (with the +`delivery-failed` attribute). It also indicates that the application +cannot process the message, meaning that the broker will not attempt +to redeliver the message to this node. The processing continues with +the next message. Refer to the http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-modified[modified delivery state +documentation] + +== Configuration Reference + +include::{generated-dir}/smallrye-amqp-incoming.adoc[indent=0] + +You can also pass any property supported by the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP +client] as attribute. + +To use an existing _address_ or _queue_, you need to configure the +`address`, `container-id` and, optionally, the `link-name` attributes. +For example, if you have an Apache Artemis broker configured with: + +[source,xml] +---- + + +
        people
        + true + artemis +
        +
        +---- + +You need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-amqp +mp.messaging.incoming.people.durable=true +mp.messaging.incoming.people.address=people +mp.messaging.incoming.people.container-id=people +---- + +You may need to configure the `link-name` attribute, if the queue name +is not the channel name: + +[source,properties] +---- +mp.messaging.incoming.people-in.connector=smallrye-amqp +mp.messaging.incoming.people-in.durable=true +mp.messaging.incoming.people-in.address=people +mp.messaging.incoming.people-in.container-id=people +mp.messaging.incoming.people-in.link-name=people +---- + +== Receiving Cloud Events + +The AMQP connector supports https://cloudevents.io/[Cloud Events]. +When the connector detects a _structured_ or _binary_ Cloud Events, it +adds a link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/ce/IncomingCloudEventMetadata.html[`IncomingCloudEventMetadata`] +into the metadata of the `Message`. `IncomingCloudEventMetadata` +contains accessors to the mandatory and optional Cloud Event attributes. + +If the connector cannot extract the Cloud Event metadata, it sends the +Message without the metadata. + +=== Binary Cloud Events + +For `binary` Cloud Events, *all* mandatory Cloud Event attributes must +be set in the AMQP application properties, prefixed by `cloudEvents:` +(as mandated by the https://github.com/cloudevents/spec/blob/v1.0.1/amqp-protocol-binding.md[protocol +binding]). +The connector considers headers starting with the `cloudEvents:` prefix +but not listed in the specification as extensions. You can access them +using the `getExtension` method from `IncomingCloudEventMetadata`. + +The `datacontenttype` attribute is mapped to the `content-type` header +of the record. + +=== Structured Cloud Events + +For `structured` Cloud Events, the event is encoded in the record’s +value. Only JSON is supported, so your event must be encoded as JSON in +the record’s value. + +Structured Cloud Event must set the `content-type` header of the record +to `application/cloudevents{plus}json; charset=UTF-8`. The message body must +be a valid JSON object containing at least all the mandatory Cloud +Events attributes. + +If the record is a structured Cloud Event, the created Message’s payload +is the Cloud Event `data`. diff --git a/content/docs/smallrye-reactive-messaging/main/amqp/request-reply.adoc b/content/docs/smallrye-reactive-messaging/main/amqp/request-reply.adoc new file mode 100644 index 000000000..4b7bbaad1 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/amqp/request-reply.adoc @@ -0,0 +1,202 @@ += AMQP Request/Reply +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +AMQP Request Reply Emitter is an experimental feature. + +==== + +The AMQP https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html[Request-Reply] pattern allows you to publish a message to an AMQP address and then await for a reply message that responds to the initial request. + +The `AmqpRequestReply` emitter implements the requestor (or the client) of the request-reply pattern for AMQP 1.0 outbound channels: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpRequestReplyEmitter.java[indent=0] +---- + +The `request` method publishes the request message to the configured target address of the outgoing channel, +and listens on a reply address (by default, the channel name with `-reply` suffix) for a reply message. +When the reply is received the returned `Uni` is completed with the message payload. + +The request send operation generates a correlation id and sets the AMQP `message-id` property, +which it expects to be sent back in the reply message's `correlation-id` property. + +The replier (or the server) can be implemented using a Reactive Messaging processor: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpReplier.java[indent=0] +---- + +When you need more control over the reply message, such as setting the reply-to address and correlation id explicitly, you can use the `Message` type: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpReplierWithMetadata.java[indent=0] +---- + +Given the following configuration example: + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-amqp +mp.messaging.outgoing.my-request.address=requests +mp.messaging.outgoing.my-request.reply.address=my-request-reply + +mp.messaging.incoming.request.connector=smallrye-amqp +mp.messaging.incoming.request.address=requests + +mp.messaging.outgoing.reply.connector=smallrye-amqp +mp.messaging.outgoing.reply.address=my-request-reply +mp.messaging.outgoing.reply.use-anonymous-sender=false +---- + +== Requesting with `Message` types + +Like the core Emitter's `send` methods, `request` method also can receive a `Message` type and return a message: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpRequestReplyMessageEmitter.java[indent=0] +---- + +[NOTE] +==== + +The ingested reply type of the `AmqpRequestReply` is discovered at runtime, +in order to configure a `MessageConverter` to be applied on the incoming message before returning the `Uni` result. + +==== + +== Requesting multiple replies + +You can use the `requestMulti` method to expect any number of replies represented by the `Multi` return type. + +For example this can be used to aggregate multiple replies to a single request. + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpRequestReplyMultiEmitter.java[indent=0] +---- + +Like the other `request` you can also request `Message` types. + +[NOTE] +==== + +The channel attribute `reply.timeout` will be applied between each message, if reached the returned `Multi` will +fail. + +==== + +== Pending replies and reply timeout + +By default, the `Uni` returned from the `request` method is configured to fail with timeout exception if no reply is received after 5 seconds. +This timeout is configurable with the channel attribute `reply.timeout` (in milliseconds). + +[source,properties] +---- +mp.messaging.outgoing.my-request.reply.timeout=10000 +---- + +A snapshot of the list of pending replies is available through the `AmqpRequestReply#getPendingReplies` method. + +== Scaling Request/Reply + +If multiple requestor instances are configured on the same outgoing address, and the same reply address, +each requestor instance will receive replies of all instances. If an observed correlation id doesn't match +the id of any pending replies, the reply is simply discarded. +With the additional network traffic this allows scaling requestors, (and repliers) dynamically. + +== Correlation Ids + +The AMQP Request/Reply allows configuring the correlation id mechanism completely through a `CorrelationIdHandler` implementation. +The default handler is based on randomly generated UUID strings, set as the AMQP `message-id` on the request message. +The reply message is expected to carry the same value in the `correlation-id` property. + +The correlation id handler implementation can be configured using the `reply.correlation-id.handler` attribute. +The default configuration is `uuid`, which uses randomly generated UUID strings as correlation ids. +An alternative `bytes` implementation can be used to generate random binary correlation ids. +The `bytes` id handler generates 12 random bytes, +but the length can be configured with the `smallrye.amqp.request-reply.correlation-id.bytes.length` attribute. + +Custom handlers can be implemented by proposing a CDI-managed bean with `@Identifier` qualifier. + +== Reply Error Handling + +If the reply server produces an error, it can propagate the error back to the requestor, failing the returned `Uni`. + +If configured using the `reply.failure.handler` channel attribute, +the `ReplyFailureHandler` implementations are discovered through CDI, matching the `@Identifier` qualifier. + +A sample reply error handler can lookup application properties and return the error to be thrown by the reply: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/MyAmqpReplyFailureHandler.java[indent=0] +---- + +`null` return value indicates that no error has been found in the reply message, and it can be delivered to the application. + +== Connection Sharing + +Multiple AMQP channels can share the same underlying connection when configured with the same `container-id`. +This reduces resource consumption and is particularly useful for request-reply patterns +where the sender and reply receiver can share a single connection. + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-amqp +mp.messaging.outgoing.my-request.address=requests +mp.messaging.outgoing.my-request.container-id=my-connection +mp.messaging.outgoing.my-request.reply.address=replies + +mp.messaging.incoming.other-channel.connector=smallrye-amqp +mp.messaging.incoming.other-channel.address=other +mp.messaging.incoming.other-channel.container-id=my-connection +---- + +Both channels above will share the same AMQP connection because they use the same `container-id`. + +[NOTE] +==== + +Connection sharing requires all channels with the same `container-id` to have compatible connection settings (host, port, credentials, etc.). +If the settings differ, the connector will detect the conflict and raise an error. + +==== + +== Using with RabbitMQ + +RabbitMQ 4.0{plus} with native AMQP 1.0 support is compatible with the request-reply pattern. +When using RabbitMQ, remember to use `/queues/` prefixed addresses (v2 address format) +and set `use-anonymous-sender=false` as anonymous senders are not supported. + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-amqp +mp.messaging.outgoing.my-request.address=/queues/requests +mp.messaging.outgoing.my-request.reply.address=/queues/replies +mp.messaging.outgoing.my-request.use-anonymous-sender=false + +mp.messaging.incoming.request.connector=smallrye-amqp +mp.messaging.incoming.request.address=/queues/requests + +mp.messaging.outgoing.reply.connector=smallrye-amqp +mp.messaging.outgoing.reply.address=/queues/replies +mp.messaging.outgoing.reply.use-anonymous-sender=false +---- + +See xref:amqp/rabbitmq.adoc[Using RabbitMQ] for more details on RabbitMQ-specific configuration. + +== Limitations + +The following features are not yet supported: + +* *Direct reply-to* (`amq.rabbitmq.reply-to`): RabbitMQ's direct reply-to mechanism requires link pairing, which is not yet implemented. +* *Link pairing*: Pairing sender and receiver links on the same connection for request-reply routing is not yet available. diff --git a/content/docs/smallrye-reactive-messaging/main/amqp/sending-amqp-messages.adoc b/content/docs/smallrye-reactive-messaging/main/amqp/sending-amqp-messages.adoc new file mode 100644 index 000000000..f89a2a0b6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/amqp/sending-amqp-messages.adoc @@ -0,0 +1,254 @@ += Sending messages to AMQP +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AMQP connector can write Reactive Messaging `Messages` as AMQP +Messages. + +== Example + +Let’s imagine you have an AMQP broker (such as https://activemq.apache.org/components/artemis/[Apache ActiveMQ +Artemis]) running, and +accessible using the `amqp:5672` address (by default it would use +`localhost:5672`). Configure your application to send the messages from +the `prices` channel as AMQP Message as follows: + +[source,properties] +---- +amqp-host=amqp # <1> +amqp-port=5672 # <2> +amqp-username=my-username # <3> +amqp-password=my-password # <4> + +mp.messaging.outgoing.prices.connector=smallrye-amqp # <5> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `amqp-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `amqp-port`. The default is +`5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`amqp-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`amqp-password`. +. Instructs the `prices` channel to be managed by the AMQP connector + +[NOTE] +==== + +You don’t need to set the _address_. By default, it uses the channel +name (`prices`). You can configure the `address` attribute to override +it. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpPriceMessageProducer.java[indent=0] +---- + +== Serialization + +When receiving a `Message++<++T++>++`, the connector convert the message into an +AMQP Message. The payload is converted to the AMQP Message _body_. + +[width="100%",cols="50%,50%",options="header",] +|=== +|`T` |AMQP Message Body +|primitive types or `String` |AMQP Value with the payload +|`Instant` or `UUID` |AMQP Value using the corresponding AMQP Type +|https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`] or https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`] |AMQP Data using a binary content. The `content-type` is set to `application/json` +|`io.vertx.mutiny.core.buffer.Buffer` |AMQP Data using a binary content. No `content-type` set +|Any other class |The payload is converted to JSON (using a Json Mapper). The result is wrapped into AMQP Data using a *binary* content. The `content-type` is set to `application/json` +|=== + +If the message payload cannot be serialized to JSON, the message is +_nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-amqp/{javadoc-version}/io/smallrye/reactive/messaging/amqp/OutgoingAmqpMetadata.html[`OutgoingAmqpMetadata`] +to influence how the message is going to be sent to AMQP. For example, you +can configure the subjects, properties: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Dynamic address names + +Sometimes it is desirable to select the destination of a message +dynamically. In this case, you should not configure the address inside +your application configuration file, but instead, use the outbound +metadata to set the address. + +For example, you can send to a dynamic address based on the incoming +message: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpOutboundDynamicAddressExample.java[tags=code,indent=0] +---- + +[NOTE] +==== + +To be able to set the address per message, the connector is using an +_anonymous sender_. + +==== + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +broker acknowledged the message. When using routers, this +acknowledgement may not be enabled. In this case, configure the +`auto-acknowledgement` attribute to acknowledge the message as soon as +it has been sent to the router. + +If an AMQP message is rejected/released/modified by the broker (or +cannot be sent successfully), the message is nacked. + +== Back Pressure and Credits + +The back-pressure is handled by the `max-inflight-messages` attribute and AMQP _credits_. +The outbound connector requests messages minimum between `max-inflight-messages` and credits allowed by the broker. +When the amount of credits reaches 0, it waits (in a non-blocking fashion) until the broker grants more credits to the AMQP sender. + +When `max-inflight-messages` is set to 0, only AMQP credits apply to limit the requests. + +Note that if an AMQP message send fails, it is retried until `retry-on-fail-attempts` is reached. +If the client reconnects to the broker during the retry, failing messages are sent again but the message order is not preserved. + +To preserve the message order in this case you can set `max-inflight-messages` to + +== Configuration Reference + +include::{generated-dir}/smallrye-amqp-outgoing.adoc[indent=0] + +You can also pass any property supported by the https://vertx.io/docs/vertx-amqp-client/java/[Vert.x AMQP +client] as attribute. + +== Using existing destinations + +To use an existing _address_ or _queue_, you need to configure the +`address`, `container-id` and, optionally, the `link-name` attributes. +For example, if you have an Apache Artemis broker configured with: + +[source,xml] +---- + + +
        people
        + true + artemis +
        +
        +---- + +You need the following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people.connector=smallrye-amqp +mp.messaging.outgoing.people.durable=true +mp.messaging.outgoing.people.address=people +mp.messaging.outgoing.people.container-id=people +---- + +You may need to configure the `link-name` attribute, if the queue name +is not the channel name: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.durable=true +mp.messaging.outgoing.people-out.address=people +mp.messaging.outgoing.people-out.container-id=people +mp.messaging.outgoing.people-out.link-name=people +---- + +To use a `MULTICAST` queue, you need to provide the _FQQN_ +(Fully-qualified queue name) instead of just the name of the queue: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-amqp +mp.messaging.outgoing.people-out.durable=true +mp.messaging.outgoing.people-out.address=foo +mp.messaging.outgoing.people-out.container-id=foo + +mp.messaging.incoming.people-out.connector=smallrye-amqp +mp.messaging.incoming.people-out.durable=true +mp.messaging.incoming.people-out.address=foo::bar # Note the syntax: address-name::queue-name +mp.messaging.incoming.people-out.container-id=bar +mp.messaging.incoming.people-out.link-name=people +---- + +More details about the AMQP Address model can be found on https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html[the Artemis +documentation]. + +== Sending Cloud Events + +The AMQP connector supports https://cloudevents.io/[Cloud Events]. The +connector sends the outbound record as Cloud Events if: + +* the message metadata contains an +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` +instance, +* the channel configuration defines the `cloud-events-type` and +`cloud-events-source` attributes. + +You can create +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` instances +using: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpCloudEventProcessor.java[indent=0] +---- + +If the metadata does not contain an id, the connector generates one +(random UUID). The `type` and `source` can be configured per message or +at the channel level using the `cloud-events-type` and +`cloud-events-source` attributes. Other attributes are also +configurable. + +The metadata can be contributed by multiple methods, however, you must +always retrieve the already existing metadata to avoid overriding the +values: + +[source,java] +---- +include::{examples-dir}/amqp/outbound/AmqpCloudEventMultipleProcessors.java[indent=0] +---- + +By default, the connector sends the Cloud Events using the _binary_ +format. You can write _structured_ Cloud Events by setting the +`cloud-events-mode` to `structured`. Only JSON is supported, so the +created records had its `content-type` header set to +`application/cloudevents{plus}json; charset=UTF-8` + +[NOTE] +==== + +you can disable the Cloud Event support by setting the `cloud-events` +attribute to `false` + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/camel/camel-processor.adoc b/content/docs/smallrye-reactive-messaging/main/camel/camel-processor.adoc new file mode 100644 index 000000000..20327120f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/camel/camel-processor.adoc @@ -0,0 +1,37 @@ += The processor pattern using Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Using the processor pattern, you can consume on a channel using a Camel +component, and produce on a channel using another Camel component. In +that case, the headers present in the incoming metadata will be +forwarded in the outgoing metadata. + +== Example + +Let’s imagine you want to read messages from a Nats subject, process it +and produce a message on a Kafka topic. + +[source,properties] +---- +mp.messaging.incoming.mynatssubject.connector=smallrye-camel # <1> +mp.messaging.incoming.mynatssubject.endpoint-uri=nats:mynatssubject # <2> +mp.messaging.outgoing.mykafkatopic.connector=smallrye-camel # <3> +mp.messaging.outgoing.mykafkatopic.endpoint-uri=kafka:mykafkatopic# <4> + +camel.component.nats.servers=127.0.0.1:5555 # <5> +camel.component.kafka.brokers=127.0.0.1:9092 # <6> +---- + +[arabic] +. Sets the connector for the `mynatssubject` channel +. Configures the `endpoint-uri` for nats subject +. Sets the connector for the `mykafkatopic` channel +. Configures the `endpoint-uri` for the kafka topic +. Sets the URL of the nats server to use +. Sets the URL of a kafka broker to use + +[source,java] +---- +include::{examples-dir}/camel/processor/CamelProcessor.java[indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/camel/camel.adoc b/content/docs/smallrye-reactive-messaging/main/camel/camel.adoc new file mode 100644 index 000000000..00eb2828e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/camel/camel.adoc @@ -0,0 +1,75 @@ += Apache Camel Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Camel connector adds support for Apache Camel to Reactive Messaging. + +https://camel.apache.org/[Camel] is an open source integration +framework let you integrate various systems consuming or producing data. +Camel implements the Enterprise Integration Patterns and provides +several hundred of components used to access databases, message queues, +APIs or basically https://camel.apache.org/components/latest/[anything under the +sun]. + +[IMPORTANT] +==== + +Smallrye Reactive Messaging 4.x moved from `javax` to `jakarta` APIs therefore only supports Camel 4 releases. +Similarly, this connector drops the Java 11 support as this is the case for Camel 4. + +==== + +== Introduction + +Camel is not a messaging broker. But, it allows your Reactive Messaging +application to retrieve data from almost anything and send data to +almost anything. + +So if you want to send Reactive Messaging `Message` to Telegram or +retrieve data from Salesforce or SAP, this is the connector you need. + +One of the Camel cornerstone is the `endpoint` and its `uri` encoding +the connection to an external system. For example, +`file:orders/?delete=true&charset=utf-8` instructs Camel to read the +files from the `orders` directory. URI format and parameters are listed +on the component documentation, such as the https://camel.apache.org/components/latest/file-component.html[File +component]. + +== Using the camel connector + +To you the camel Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-camel + {project-version} + +---- + +You will also need the dependency of the Camel component you are using. +For example, if you want to process files, you would need to add the +Camel File Component artifact: + +[source,xml,subs="attributes+"] +---- + + org.apache.camel + camel-file + {camel-version} + +---- + +The connector name is: `smallrye-camel`. + +So, to indicate that a channel is managed by this connector you need: + +.... +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-camel + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-camel +.... diff --git a/content/docs/smallrye-reactive-messaging/main/camel/receiving-messages-from-camel.adoc b/content/docs/smallrye-reactive-messaging/main/camel/receiving-messages-from-camel.adoc new file mode 100644 index 000000000..65338aedc --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/camel/receiving-messages-from-camel.adoc @@ -0,0 +1,89 @@ += Retrieving data using Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Camel provides many components. To keep this documentation focused on +the integration with Camel, we use the https://camel.apache.org/components/latest/file-component.html[File +component]. +This component let use read files from a directory. So the connector +configured with this component creates a `Message` for each file located +in the directory. As soon as a file is dropped in the directory, a new +`Message` is created. + +== Example + +Let’s imagine you want to read the files from the `orders` directory and +send them to the `files` channel. Configuring the Camel connector to +gets the _file_ from this directory only requires 2 properties: + +[source,properties] +---- +mp.messaging.incoming.files.connector=smallrye-camel # <1> +mp.messaging.incoming.files.endpoint-uri=file:orders/?delete=true&charset=utf-8 # <2> +---- + +[arabic] +. Sets the connector for the `files` channel +. Configures the `endpoint-uri` + +Then, your application receives `Message++<++GenericFile++<++File++>>++`. + +[NOTE] +==== + +The Camel File component produces +`org.apache.camel.component.file.GenericFile` instances. You can +retrieve the actual `File` using `getFile()`. + +==== + +You can consume the payload directly: + +[source,java] +---- +include::{examples-dir}/camel/inbound/CamelFileConsumer.java[indent=0] +---- + +You can also retrieve the `Message++<++GenericFile++<++File++>>++`: + +[source,java] +---- +include::{examples-dir}/camel/inbound/CamelFileMessageConsumer.java[indent=0] +---- + +== Deserialization + +Each Camel component is producing specific objects. As we have seen, the +File component produces `GenericFile`. + +Refer to the component documentation to check which type is produced. + +== Inbound Metadata + +Messages coming from Camel contains an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-camel/{javadoc-version}/io/smallrye/reactive/messaging/camel/IncomingExchangeMetadata.html[`IncomingExchangeMetadata`] +in the metadata. + +[source,java] +---- +include::{examples-dir}/camel/inbound/IncomingCamelMetadataExample.java[indent=0] +---- + +This object lets you retrieve the Camel `Exchange`. + +== Failure Management + +If a message produced from a Camel exchange is _nacked_, a failure +strategy is applied. The Camel connector supports 3 strategies: + +* `fail` - fail the application, no more MQTT messages will be +processed. (default) The offset of the record that has not been +processed correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. + +In both cases, the `exchange` is marked as rollback only and the nack +reason is attached to the exchange. + +== Configuration Reference + +include::{generated-dir}/smallrye-camel-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/main/camel/sending-messages-to-camel.adoc b/content/docs/smallrye-reactive-messaging/main/camel/sending-messages-to-camel.adoc new file mode 100644 index 000000000..8bf614150 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/camel/sending-messages-to-camel.adoc @@ -0,0 +1,76 @@ += Sending data with Camel +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can use the Camel connector to send data to almost any type of +system. + +To keep this document focused on the Camel connector, we use the Camel +File component. However, the connector can be used with any Camel +component. + +== Example + +Let’s imagine you want to write generated prices into files. Configure +your application to write the messages from the `prices` channel into a +files as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-camel # <1> +mp.messaging.outgoing.prices.endpoint-uri=file:prices/?fileName=${date:now:yyyyMMddssSS}.txt&charset=utf-8 # <2> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the `endpoint-uri` to write into files in the `prices` +directory + +[IMPORTANT] +==== + +Depending on your implementation of MicroProfile Reactive Messaging, the +`$` may need to be escaped as follows: `$$++{++...}` + +==== + +Then, your application must send `Message++<++String++>++` to the `prices` +channel. It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The serialization is handled by the Camel component. Refer to the Camel +documentation to check which payload type is supported by the component. + +== Outbound Metadata + +When sending `Messages`, you can add an instance +of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-camel/{javadoc-version}/io/smallrye/reactive/messaging/camel/OutgoingExchangeMetadata.html[`OutgoingExchangeMetadata`] +to the message metadata. You can then influence how the outbound Camel +`Exchange` is created, for example by adding properties: + +[source,java] +---- +include::{examples-dir}/camel/outbound/CamelOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +The incoming messages are acknowledged when the underlying Camel +exchange completes. If the exchange fails, the message is nacked. + +== Configuration Reference + +include::{generated-dir}/smallrye-camel-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/main/camel/using-existing-routes.adoc b/content/docs/smallrye-reactive-messaging/main/camel/using-existing-routes.adoc new file mode 100644 index 000000000..ed8b2cfd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/camel/using-existing-routes.adoc @@ -0,0 +1,67 @@ += Using the Camel API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Camel connector is based on the https://camel.apache.org/components/latest/reactive-streams-component.html[Reactive Streams +support] +from Camel. If you have an application already using the Camel API +(routes, `from`...), you can integrate it with Reactive Messaging. + +== Getting the CamelReactiveStreamsService + +Once you add the Camel connector to your application, you can retrieve +the +`org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService` +object: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=reactive,indent=0] +---- + +This `CamelReactiveStreamsService` lets you create `Publisher` and +`Subscriber` instances from existing routes. + +== Using Camel Route with @Outgoing + +If you have an existing Camel route, you can transform it as a +`Publisher` using the `CamelReactiveStreamsService`. Then, you can +return this `Publisher` from a method annotated with `@Outgoing`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source,indent=0] +---- + +You can also expose a `RouteBuilder` bean, making sure to use the `Singleton` scope, +as `RouteBuilder` is no longer proxyable: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source-route-builder,indent=0] +---- + +Alternatively you can use the `LambdaRouteBuilder`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=source-lambda-route-builder,indent=0] +---- + +Using Camel Route with @Incoming + +If you have an existing Camel route, you can transform it as a +`Subscriber` using the `CamelReactiveStreamsService`. Then, you can +return this `Subscriber` from a method annotated with `@Incoming`: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=sink,indent=0] +---- + +You can also use a producer: + +[source,java] +---- +include::{examples-dir}/camel/api/CamelApi.java[tags=producer,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/acknowledgement.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/acknowledgement.adoc new file mode 100644 index 000000000..782ec0e81 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/acknowledgement.adoc @@ -0,0 +1,183 @@ += Acknowledgement +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Acknowledgment is an essential concept in messaging. A message is +acknowledged when its processing or reception has been successful. It +allows the broker to move to the next message. + +How acknowledgment is used, and the exact behavior in terms of retry and +resilience depends on the broker. For example, for Kafka, it would +commit the offset. For AMQP, it would inform the broker that the message +has been _accepted_. + +Reactive Messaging supports acknowledgement. The default acknowledgement +depends on the method signature. Also, the acknowledgement policy can be +configured using the `@Acknowledgement` annotation. + +== Chain of acknowledgment + +If we reuse this example: + +[source,java] +---- +include::{examples-dir}/beans/Chain.java[tags=chain,indent=0] +---- + +The framework automatically acknowledges the message received from the +`sink` channel when the `consume` method returns. As a consequence, the +message received by the `process` method is acknowledged, and so on. In +other words, it creates a chain of acknowledgement - from the outbound +channel to the inbound channel. + +When using connectors to receive and consume messages, the outbound +connector acknowledges the messages when they are dispatched +successfully to the broker. The acknowledgment chain would, as a result, +acknowledges the inbound connector, which would be able to send an +acknowledgment to the broker. + +This chain of acknowledgment is automatically implemented when +processing payloads. + +== Acknowledgment when using Messages + +When using `Messages`, the user controls the acknowledgment, and so the +chain is not formed automatically. It gives you more flexibility about +when and how the incoming messages are acknowledged. + +If you create a `Message` using the `with` method, is copy the +acknowledgment function from the incoming message: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=with-payload,indent=0] +---- + +To have more control over the acknowledgment, you can create a brand new +`Message` and pass the acknowledgment function: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=message-creation,indent=0] +---- + +However, you may need to create the acknowledgment chain, to acknowledge +the incoming message: + +[source,java] +---- +include::{examples-dir}/ack/MessageAckExamples.java[tags=process,indent=0] +---- + +To trigger the acknowledgment of the incoming message, use the `ack()` +method. It returns a `CompletionStage`, receiving `null` as value when +the acknowledgment has completed. + +== Acknowledgment when using streams + +When transforming streams of `Message`, the acknowledgment is delegated +to the user. It means that it’s up to the user to acknowledge the +incoming messages: + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=message,indent=0] +---- + +In the previous example, we only generate a single message per incoming +message so that we can use the `with` method. It becomes more +sophisticated when grouping incoming messages or when each incoming +message produces multiple messages. + +In the case of a stream of payloads, the default strategy acknowledges +the incoming messages before being processed by the method (regardless +of the outcome). + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=payload,indent=0] +---- + +For method receiving a single payload and producing a stream of payloads, it defaults to pre-processing acknowledgement. +However, in this case, post-processing is supported. +It waits for all the produced messages to be acknowledged before acknowledging the received one. +If one of the produced message is nacked, the received one is nacked immediately. + +[source,java] +---- +include::{examples-dir}/ack/StreamAckExamples.java[tags=payload-to-multi,indent=0] +---- + +== Controlling acknowledgement + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Acknowledgment.html[`Acknowledgment`] +annotation lets you customize the default strategy presented in the +previous sections. The `@Acknowledgement` annotation takes a _strategy_ +as parameter. Reactive Messaging proposed 4 strategies: + +* `POST++_++PROCESSING` - the acknowledgement of the incoming message is +executed once the produced message is acknowledged. +* `PRE++_++PROCESSING` - the acknowledgement of the incoming message is +executed before the message is processed by the method. +* `MANUAL` - the acknowledgement is done by the user. +* `NONE` - No acknowledgment is performed, neither manually or +automatically. + +It is recommended to use `POST++_++PROCESSING` as it guarantees that the +full processing has completed before acknowledging the incoming message. +However, sometimes it’s not possible, and this strategy is not available +if you manipulate streams of `Messages` or payloads. + +The `PRE++_++PROCESSING` strategy can be useful to acknowledge a message +early in the process: + +[source,java] +---- +include::{examples-dir}/ack/PreAckExamples.java[tags=pre,indent=0] +---- + +It cuts the acknowledgment chain, meaning that the rest of the +processing is not linked to the incoming message anymore. This strategy +is the default strategy when manipulating streams of payloads. + +Refer to the xref:concepts/signatures.adoc[signature list] to determine +which strategies are available for a specific method signature and +what’s the default strategy. + +== Negative acknowledgement + +Messages can also be _nacked_, which indicates that the message was not +processed correctly. The `Message.nack` method indicates failing +processing (and supply the reason), and, as for successful +acknowledgment, the _nack_ is propagated through the chain of messages. + +If the message has been produced by a connector, this connector +implements specific behavior when receiving a _nack_. It can fail +(default), or ignore the failing, or implement a dead-letter queue +mechanism. Refer to the connector documentation for further details +about the available strategies. + +If the message is sent by an emitter using the `send(P)` method, the +returned `CompletionStage` is completed _exceptionally_ with the _nack_ +reason. + +[source,java] +---- +include::{examples-dir}/ack/NackOnEmitter.java[tags=emitter,indent=0] +---- + +Negative acknowledgment can be manual or automatic. If your method +handles instances of `Message` and the acknowledgment strategy is +`MANUAL`, you can nack a message explicitly. You must indicate the +reason (an exception) when calling the `nack` method. As for successful +acknowledgment, the `nack` returns a `CompletionStage` completed when +the `nack` has been processed. + +If your method uses the `POST++_++PROCESSING` acknowledgment strategy, and +the method fails (either by throwing an exception or by producing a +failure), the message is automatically nacked with the caught exception: + +[source,java] +---- +include::{examples-dir}/ack/AutoNack.java[tags=auto-nack,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/advanced-config.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/advanced-config.adoc new file mode 100644 index 000000000..89aa2cd08 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/advanced-config.adoc @@ -0,0 +1,43 @@ += Advanced configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Strict Binding Mode + +By default, SmallRye Reactive Messaging does not enforce whether all +_mediators_ are connected. It just prints a warning message. The strict +mode fails the deployment if some "incomings" are not bound to +"outgoings". To enable this mode, you can pass the +`-Dsmallrye-messaging-strict-binding=true` via the command line, or you +can set the `smallrye-messaging-strict-binding` attribute to `true` in +the configuration: + +[source,text] +---- +smallrye-messaging-strict-binding=true +---- + +== Disabling channels + +You can disable a channel in the configuration by setting the `enabled` +attribute to `false`: + +[source,text] +---- +mp.messaging.outgoing.dummy-sink.connector=dummy +mp.messaging.outgoing.dummy-sink.enabled=false # Disable this channel +---- + +SmallRye Reactive Messaging does not register disabled channels, so make +sure the rest of the application does not rely on them. + +== Publisher metrics + +SmallRye Reactive Messaging integrates MicroProfile Metrics and +Micrometer for registering counter metrics (named +`mp.messaging.message.count`) of published messages per channel. + +Both MicroProfile and Micrometer publisher metrics are enabled by +default if found on the classpath. They can be disabled with +`smallrye.messaging.metrics.mp.enabled` and +`smallrye.messaging.metrics.micrometer.enabled` properties respectively. diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/blocking.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/blocking.adoc new file mode 100644 index 000000000..078af3ac4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/blocking.adoc @@ -0,0 +1,105 @@ += @Blocking +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `io.smallrye.reactive.messaging.annotations.Blocking` annotation can +be used on a method annotated with `@Incoming`, or `@Outgoing` to +indicate that the method should be executed on a worker pool: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking +public String process(String s) { + return s.toUpperCase(); +} +---- + +If method execution does not need to be ordered, it can be indicated on +the `@Blocking` annotation: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking(ordered = false) +public String process(String s) { + return s.toUpperCase(); +} +---- + +When unordered, the invocation can happen concurrently. + +By default, use of `@Blocking` results in the method being executed in +the Vert.x worker pool. If it’s desired to execute methods on a custom +worker pool, with specific concurrency needs, it can be defined on +`@Blocking`: + +[source,java] +---- +@Outgoing("Y") +@Incoming("X") +@Blocking("my-custom-pool") +public String process(String s) { + return s.toUpperCase(); +} +---- + +Specifying the concurrency for the above worker pool requires the +following configuration property to be defined: + +.... +smallrye.messaging.worker.my-custom-pool.max-concurrency=3 +.... + +== Custom worker pool shutdown timeout + +When using a custom worker pool, it is possible to define a shutdown timeout in order to wait for the scheduled tasks to complete before shutting down the pool. +This can be done by setting the following configuration property: + +[source,properties] +---- +smallrye.messaging.worker.my-custom-pool.max-concurrency=3 +smallrye.messaging.worker.my-custom-pool.shutdown-timeout=10000 +smallrye.messaging.worker.my-custom-pool.shutdown-check-interval=2000 +---- + +The `shutdown-timeout` property defines the maximum time to wait in milliseconds for the scheduled tasks to complete before shutting down the pool, defaults to 60 seconds. +The `shutdown-check-interval` property defines the interval in milliseconds at which the pool will check if the tasks have completed, defaults to 5 seconds. + +== Supported signatures + +`@Blocking` does not support every signature. The following table lists +the supported ones. + +[width="100%",cols="7%,36%,57%",options="header",] +|=== +|Shape |Signature |Comment +|Publisher |`@Outgoing("in") @Blocking O generator()` |Invokes the generator from a worker thread. If `ordered` is set to `false`, the generator can be called concurrently. +|Publisher |`@Outgoing("in") @Blocking Message++<++O++>++ generator()` |Invokes the generator from a worker thread. If `ordered` is set to `false`, the generator can be called concurrently. +|Processor |`@Incoming("in") @Outgoing("bar") @Blocking O process(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Processor |`@Incoming("in") @Outgoing("bar") @Blocking Message++<++O++>++ process(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking void consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking Uni++<++Void++>++ consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking Uni++<++Void++>++ consume(Message++<++I++>++ msg)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking CompletionStage++<++Void++>++ consume(I in)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|Subscriber |`@Incoming("in") @Blocking CompletionStage++<++Void++>++ consume(Message++<++I++>++ msg)` |Invokes the method on a worker thread. If `ordered` is set to `false`, the method can be called concurrently. +|=== + +When a method can be called concurrently, the max concurrency depends on +the number of threads from the worker thread pool. + +== Using io.smallrye.common.annotation.Blocking + +`io.smallrye.common.annotation.Blocking` is another annotation with the +same semantic. `io.smallrye.common.annotation.Blocking` is used by +multiple SmallRye projects and Quarkus. + +SmallRye Reactive Messaging also supports +`io.smallrye.common.annotation.Blocking`. However, +`io.smallrye.common.annotation.Blocking` does not allow configuring the +ordering (it defaults to `ordered=true`). + +When both annotations are used, +`io.smallrye.reactive.messaging.annotations.Blocking` is preferred. diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/broadcast.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/broadcast.adoc new file mode 100644 index 000000000..a10dc2c86 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/broadcast.adoc @@ -0,0 +1,49 @@ += Broadcast +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`@Broadcast` is an experimental feature. + +==== + +By default, messages transiting in a channel are only dispatched to a +single consumer. Having multiple consumers is considered as an error, +and is reported at deployment time. + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/annotations/Broadcast.html[`Broadcast`] +annotation changes this behavior and indicates that messages transiting +in the channel are dispatched to all the consumers. `@Broadcast` must be +used with the `@Outgoing` annotation: + +[source,java] +---- +include::{examples-dir}/broadcast/BroadcastExamples.java[tags=chain,indent=0] +---- + +In the previous example, both consumers get the messages. + +You can also control the number of consumers to wait before starting to +dispatch the messages. This allows waiting for the complete graph to be +woven: + +[source,java] +---- +include::{examples-dir}/broadcast/BroadcastWithCountExamples.java[tags=chain,indent=0] +---- + +[NOTE] +==== + +Inbound connectors also support a `broadcast` attribute that allows +broadcasting the messages to multiple downstream subscribers. + +==== + +Use with Emitter + +For details on how to use `@Broadcast` with `Emitter` see the +xref:concepts/emitter.adoc#emitter-and-broadcast[documentation]. diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/client-customizers.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/client-customizers.adoc new file mode 100644 index 000000000..2ca59c240 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/client-customizers.adoc @@ -0,0 +1,28 @@ += Client Customizers +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Client customizers allow to customize the client instance created by the connector. +Only connectors which create their own client instance support customizers. + +To define a client customizer, you need to provide a CDI bean that implements the `ClientCustomizer++<++T++>++` interface, +parameterized with the config type: + +[source,java] +---- +include::{examples-dir}/customizers/MyClientCustomizer.java[indent=0] +---- + +Connectors which support client customizers will discover all beans and call the `customize` method, +with the _channel name_, the _channel configuration_ and the configuration that'll be used to create the client instance. +If the customizer returns `null` it'll be skipped. + +If you have multiple customizers, customizers can override the `getPriority` method to define the order in which they are called. + +Currently, the following core connectors support client customizers: + +* Kafka: `ClientCustomizer++<++Map++<++String, Object++>>++` +* RabbitMQ: `ClientCustomizer++<++RabbitMQOptions++>++` +* AMQP 1.0: `ClientCustomizer++<++AmqpClientOptions++>++` +* MQTT: `ClientCustomizer++<++MqttClientSessionOptions++>++` +* Pulsar: `ClientCustomizer++<++ClientBuilder++>++`, `ClientCustomizer++<++ConsumerBuilder++<++?++>>++`, `ClientCustomizer++<++ProducerBuilder++<++?++>>++` diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/concepts.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/concepts.adoc new file mode 100644 index 000000000..2f3b413e8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/concepts.adoc @@ -0,0 +1,100 @@ += Concepts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +When dealing with event-driven or data streaming applications, there are +a few concepts and vocabulary to introduce. + +== Messages, Payload, Metadata + +A `Message` is an _envelope_ around a `payload`. Your application is +going to receive, process, and send `Messages`. + +Your application’s logic can generate these `Messages` or receive them +from a message broker. They can also be consumed by your application or +sent to a message broker. + +.An application can receive a message, process it and send a resulting message +[.has-dark] +image::images/messages.png[An application can receive a message, process it and send a resulting message] + +In Reactive Messaging, `Message` are represented by the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/eclipse/microprofile/reactive/messaging/Message.html[`Message`] interface. +Each `Message++<++T++>++` contains a _payload_ of type `++<++T++>++`. This payload can be retrieved using `message.getPayload()`: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=message,indent=0] +---- + +As you can see in the previous snippet, `Messages` can also have +_metadata_. _Metadata_ is a way to extend messages with additional data. +It can be metadata related to the message broker +(like link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/KafkaMessageMetadata.html[`KafkaMessageMetadata`]), or contain operational data (such as tracing metadata), or business-related data. + +[NOTE] +==== + +When retrieving metadata, you get an `Optional` as it may not be present. + +==== + +[TIP] +==== + +Metadata is also used to influence the outbound dispatching (how the message will be sent to the broker). + +==== + +== Channels and Streams + +Inside your application, `Messages` transit on _channel_. A _channel_ is +a virtual destination identified by a name. + +.The application is a set of channels +[.has-dark] +image::images/channels.png[The application is a set of channels] + +SmallRye Reactive Messaging connects the component to the channel they read and to the channel they populate. +The resulting structure is a stream: Messages flow between components through channels. + +[NOTE] +.What about Reactive Streams? +==== + +You may wonder why _Reactive Messaging_ has _Reactive_ in the name. The +Messaging part is kind of obvious. The Reactive part comes from the +streams that are created by binding components. These streams are +https://www.reactive-streams.org/[Reactive Streams]. They follow the +subscription and request protocol and implement back-pressure. It also +means that xref:#connectors[Connectors] are intended to use non-blocking IO +to interact with the various message brokers. + +==== + +== Connectors + +Your application is interacting with messaging brokers or event backbone using _connectors_. +A _connector_ is a piece of code that connects to a broker and: + +[arabic] +. subscribe/poll/receive messages from the broker and propagate them to the application +. send/write/dispatch messages provided by the application to the broker + +Connectors are configured to map incoming messages to a specific +_channel_ (consumed by the application) and collect outgoing messages +sent to a specific channel. These collected messages are sent to the +external broker. + +.Connectors manages the communication between the application and the brokers +[.has-dark] +image::images/connectors.png[Connectors manages the communication between the application and the brokers] + +Each connector is dedicated to a specific technology. +For example, a Kafka Connector only deals with Kafka. + +You don’t necessarily need a connector. +When your application does not use connectors, everything happens _in-memory_, and the streams are created by chaining methods altogether. +Each chain is still a reactive stream and enforces the back-pressure protocol. +When you don’t use connectors, you need to make sure the chain is complete, meaning it starts with a message source, and it ends with a sink. +In other words, you need to generate messages from within the application (using a method with only `@Outgoing`, or an `Emitter`) and consume the messages +from within the application (using a method with only `@Incoming` or using an unmanaged stream). diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/connectors.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/connectors.adoc new file mode 100644 index 000000000..5a10eafca --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/connectors.adoc @@ -0,0 +1,199 @@ += Connectors +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Reactive Messaging can handle messages generated from within the +application but also interact with remote _brokers_. Reactive Messaging +Connectors interacts with these remote _brokers_ to retrieve messages +and send messages using various protocols and technology. + +Each connector handles to a specific technology. For example, a Kafka +Connector is responsible for interacting with Kafka, while an MQTT +Connector is responsible for MQTT interactions. + +== Connector name + +Each connector has a name. This name is referenced by the application to +indicate that this connector manages a specific channel. + +For example, the SmallRye Kafka Connector is named: `smallrye-kafka`. + +== Inbound and Outbound connectors + +Connector can: + +[arabic] +. retrieve messages from a remote broker (inbound) +. send messages to a remote broker (outbound) + +A connector can, of course, implement both directions. + +Inbound connectors are responsible for: + +[arabic] +. Getting messages from the remote broker, +. Creating a Reactive Messaging `Message` associated with the +retrieved message. +. Potentially associating technical metadata with the message. It +includes unmarshalling the payload. +. Associating an acknowledgment callback to acknowledge the incoming +message when the Reactive Messaging message is +processed/acknowledged. + +[IMPORTANT] +.Reactive matters +==== + +The first step should follow the reactive streams principle: uses +non-blocking technology, respects downstream requests. + +==== + +Outbound connectors are responsible for: + +[arabic] +. Receiving Reactive Messaging `Message` and transform it into a +structure understood by the remote broker. It includes marshaling +the payload. +. If the `Message` contains outbound metadata (metadata set during the +processing to influence the outbound structure and routing), taking +them into account. +. Sending the message to the remote broker. +. Acknowledging the Reactive Messaging `Message` when the broker has +accepted/acknowledged the message. + +== Configuring connectors + +Applications need to configure the connector used by expressing which +channel is managed by which connector. Non-mapped channels are local / +in-memory. + +To configure connectors, you need to have an implementation of +MicroProfile Config. If you don’t have one, add an implementation of +MicroProfile Config in your _classpath_, such as: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.config + smallrye-config + {smallrye-config-version} + +---- + +Then edit the application configuration, generally +`src/main/resources/META-INF/microprofile-config.properties`. + +The application configures the connector with a set of properties +structured as follows: + +.... +mp.messaging.[incoming|outgoing].[channel-name].[attribute]=[value] +.... + +For example: + +.... +mp.messaging.incoming.dummy-incoming-channel.connector=dummy +mp.messaging.incoming.dummy-incoming-channel.attribute=value +mp.messaging.outgoing.dummy-outgoing-channel.connector=dummy +mp.messaging.outgoing.dummy-outgoing-channel.attribute=value +.... + +You configure each channel (both incoming and outgoing) individually. + +The `++[++incoming++|++outgoing++]++` segment indicates the direction. + +* an `incoming` channel consumes data from a message broker or +something producing data. It’s an inbound interaction. It relates to +methods annotated with an `@Incoming` using the same channel name. +* an `outgoing` consumes data from the application and forwards it to +a message broker or something consuming data. It’s an outbound +interaction. It relates to methods annotated with an `@Outgoing` +using the same channel name. + +The `++[++channel-name++]++` is the name of the channel. If the channel name +contains a `.` (dot), you would need to use `"` (double-quote) around +it. For example, to configure the `dummy.incoming.channel` channel, you +would need: + +.... +mp.messaging.incoming."dummy.incoming.channel".connector=dummy +mp.messaging.incoming."dummy.incoming.channel".attribute=value +.... + +The `++[++attribute++]++=++[++value++]++` sets a specific connector attribute to the +given value. Attributes depend on the used connector. So, refer to the +connector documentation to check the supported attributes. + +The `connector` attribute must be set for each mapped channel and +indicates the name of the connector responsible for the channel. + +Here is an example of a channel using an MQTT connector, consuming data +from a MQTT broker, and a channel using a Kafka connector (writing data +to Kafka): + +[source,properties] +---- +# Configure the incoming health channel +mp.messaging.incoming.health.topic=neo +mp.messaging.incoming.health.connector=smallrye-mqtt +mp.messaging.incoming.health.host=localhost +mp.messaging.incoming.health.broadcast=true + +# Configure outgoing data channel +mp.messaging.outgoing.data.connector=smallrye-kafka +mp.messaging.outgoing.data.bootstrap.servers=localhost:9092 +mp.messaging.outgoing.data.key.serializer=org.apache.kafka.common.serialization.StringSerializer +mp.messaging.outgoing.data.value.serializer=io.vertx.kafka.client.serialization.JsonObjectSerializer +mp.messaging.outgoing.data.acks=1 +---- + +[IMPORTANT] +==== + +To use a connector, you need to add it to your _CLASSPATH_. Generally, +adding the dependency to your project is enough. Then, you need to know +the connector’s name and set the `connector` attribute for each channel +managed by this connector. + +==== + +[TIP] +.Connector names +==== + +Connector managed by the SmallRye Reactive Messaging project are typically +prefixed with `smallrye-`. For example, the SmallRye Kafka Connector is +named `smallrye-kafka`. When using Smallrye connectors, you can omit the +prefix and just use `kafka` as the connector name: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=kafka +mp.messaging.connector.kafka.bootstrap.servers=localhost:9092 +---- + +==== + +== Connector attribute table + +In the connector documentation, you will find a table listing the +attribute supported by the connector. Be aware that attributes for +inbound and outbound interactions may be different. + +These tables contain the following entries: + +[arabic] +. The name of the attribute, and potentially an _alias_. The name of +the attribute is used with the +`mp.messaging.++[++incoming++|++outgoing++]++.++[++channel-name++]++.++[++attribute++]++=++[++value++]++` +syntax (the `attribute` segment). The _alias_ (if set) is the name +of a global MicroProfile Config property that avoids having to +configure the attribute for each managed channel. For example, to +set the location of your Kafka broker globally, you can use the +`kafka.bootstrap.servers` alias. +. The description of the attribute, including the type. +. Whether that attribute is mandatory. If so, it fails the +deployment if not set +. The default value, if any. diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/contributing-connectors.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/contributing-connectors.adoc new file mode 100644 index 000000000..2af522fc2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/contributing-connectors.adoc @@ -0,0 +1,457 @@ += Connector Contribution Guide +:version-root: ../ +include::{version-root}_attributes.adoc[] + +A connector implementation is a CDI-managed bean, typically an `@ApplicationScoped` bean, +which is identified by the `@Connector` identifier. +In order to provide inbound and outbound channels, the connector implements two interfaces `InboundConnector` and `OutboundConnector` respectively. +In addition to that, the connector bean is annotated with `@ConnectorAttribute`, which describes attributes to configure channels. + +[NOTE] +.Maven Archetype +==== + +Smallrye Reactive Messaging provides a Maven archetype to bootstrap a new connector. +You can generate a new connector project with the code described in this guide using: + +[source,shell,subs="attributes+"] +---- +mvn -N archetype:generate \ +-DarchetypeGroupId=io.smallrye.reactive \ +-DarchetypeArtifactId=smallrye-reactive-messaging-connector-archetype \ +-DarchetypeVersion={project-version} \ +-DgroupId=io.smallrye.reactive \ +-Dpackage=io.smallrye.reactive.messaging.my \ +-Dversion={project-version} \ +-DartifactId=smallrye-reactive-messaging-my \ +-DconnectorName=my +---- + +==== + +The following is an example of a connector skeleton : + +[source,java] +---- +include::{examples-dir}/connectors/MyConnector.java[indent=0] +---- + +Note that the `getPublisher` and `getSubscriber` methods receive MicroProfile Config `Config` instance and wrap it with +`MyConnectorIncomingConfiguration` and `MyConnectorOutgoingConfiguration` objects. + +These custom channel configuration types ease getting channel configuration, including the optional or default values. +They are generated by the `smallrye-connector-attribute-processor` annotation processor, and can be configured in project pom like the following: + +[source,xml] +---- + + + ${project.groupId} + smallrye-reactive-messaging-provider + ${project.version} + + + io.smallrye.reactive + smallrye-connector-attribute-processor + ${project.version} + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${project.build.directory}/generated-sources/ + + + io.smallrye.reactive.messaging.connector.ConnectorAttributeProcessor + + + org.jboss.logging.processor.apt.LoggingToolsProcessor + + + + + + +---- + +The `smallrye-reactive-messaging-provider` is the minimum required dependency for a connector implementation. +You'll also note that the `LoggingToolsProcessor` annotation processor is also configured. +This enables generating internationalized log statements and exceptions. +Typically, you would create following interfaces in `i18n` sub-package: `++[++Connector++]++Exceptions`, `++[++Connector++]++Logging` and `++[++Connector++]++Messages`. +More information can be found in https://jboss-logging.github.io/jboss-logging-tools/[JBoss Logging Tools documentation]. + +== Implementing Inbound Channels + +The `InboundConnector` implementation returns, for a given channel configuration, a reactive stream of `Message`s. +The returned reactive stream is an instance of `Flow.Publisher` and typically can be implemented using Mutiny `Multi` type. + +[NOTE] +.`IncomingConnectorFactory` +==== + +The inbound channels can also implement the `IncomingConnectorFactory` from the MicroProfile Reactive Messaging specification. +However, the `PublisherBuilder` type can be more challenging to work with and +Smallrye Reactive Messaging converts the provided stream to Mutiny types to do the wiring anyway. + +==== + +The returned `Flow.Publisher` would allow controlling the flow of ingestion using backpressure. +It would be preferable to use pull-based APIs of the underlying messaging library to receive messages from the message broker. +You can refer to the https://smallrye.io/smallrye-mutiny/latest/guides/polling/[`Mutiny` "How to use polling?" guide] +to construct a `Multi` using Mutiny APIs, or implement the `Flow.Subscription` from scratch and wrap it in an `AbstractMulti`. + +Here is an example channel implementation which constructs the reactive stream using the polling API: + +[source,java] +---- +include::{examples-dir}/connectors/MyIncomingChannel.java[indent=0] +---- + +=== Connector Threading and Vert.x + +Whether the external API call is blocking or non-blocking, managing the thread on which the message processing will be dispatched can be challenging. +Smallrye Reactive Messaging depends on https://vertx.io/[Eclipse Vert.x] to consistently dispatch messages in event-loop or worker threads, +propagating the message context along different processing stages. +You can read more on xref:concepts/message-context.adoc[Message Context] and https://vertx.io/blog/an-introduction-to-the-vert-x-context-object/[Vert.x Context]. + +Some connectors already use Vert.x clients, such as RabbitMQ, AMQP 1.0 or MQTT. +Other connectors such as Kafka or Pulsar directly use the client library of the messaging technology, +therefore they create a Vert.x Context per channel to dispatch messages on that context. +Connectors can access the `Vertx` instance by injecting the `ExecutionHolder` bean. +https://smallrye.io/smallrye-mutiny/latest/guides/emit-on-vs-run-subscription-on/[Mutiny operators `runSubscribtionOn` and `emitOn`] can be used to switch threads the events are dispatched on. + +=== Custom Message and Metadata implementations + +Reactive messaging link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Message.html[`Message`] +type is a thin wrapper around a payload and some metadata, which lets implementing acknowledgment and negative acknowledgment of that message. + +Messages received from the underlying library very often return with a custom type, +wrapping the payload and some properties such as key, timestamp, schema information, or any other metadata. + +[TIP] +==== + +The client may propose different strategies for consuming messages individually or in batches. +If a batch consuming is available the incoming channel may receive wrap and dispatch message as a batch or individually. + +==== + +While it is possible to use `Message.of` builder methods to wrap the incoming message type, +a custom type implementing `Message` interface helps to deal with different aspects we'll cover later, +such as deserialization, message acknowledgment or tracing. + +An example message implementation would be like the following: + +[source,java] +---- +include::{examples-dir}/connectors/MyMessage.java[indent=0] +---- + +Note that `MyMessage` implements the `ContextAwareMessage`. +In the constructor `captureContextMetadata` helper method is used to capture the Vert.x context which created the object and capturing it into the `LocalContextMetadata`. +This metadata allows running xref:concepts/message-context.adoc[each message in its own Vert.x context, supporting context propagation]. + +The `MyMessage` type implements the accessors for the `metadata` and `payload` from the `Message` interface. +If the messaging technology doesn't have a built-in unmarshalling mechanism, the message can deserialize the raw payload to a primitive or a complex object. + +[WARNING] +==== + +The custom message implementation is usually not the type consumed by the application injecting channels. +Applications usually inject in the payload, the raw consumed type (in the above example the `ConsumedMessage`), +or some other type provided by the xref:concepts/converters.adoc[`MessageConverter`s]. +Handling of `Message` types by the application is restricted only to advanced use cases, because handling of message acknowledgment is manual +Even then the message may be intercepted before and changed, conserving the `metadata`, `ack` and `nack` handlers but not the original type created by the connector. + +==== + +The `MyIncomingMetadata` gives access to the underlying consumed message attributes, and applications can inject this object for accessing message details: + +[source,java] +---- +include::{examples-dir}/connectors/MyIncomingMetadata.java[indent=0] +---- + +Also note that `ack` and `nack` method implementations are delegated to handler objects. +This allows configuring different strategies at channel level. + +=== Acknowledgment strategies + +The xref:concepts/acknowledgement.adoc[acknowledgement] is the way for message consumers to inform the broker that the message has been successfully received and processed. +Depending on the messaging technology the broker then can decide to remove the message from the queue, flag as consumed or purge it completely. +In Reactive Messaging there are different policies to trigger the acknowledgement but the canonical one is to acknowledge a message when the processing (potentially asynchronous) has completed (`POST++_++PROCESSING`). + +The Reactive Messaging defines `Message#ack` method as non-blocking asynchronous, returning a `CompletionStage++<++Void++>++`, +because potentially the acknowledgement action sends a network call to the broker. + +The following example simply calls the client `ack` method using the Mutiny `Uni` and switch the emitter to the Message context. +Returning back to the message context is essential for chaining asynchronous actions without losing the context and for keeping the consistency on message consumption flow. + +[source,java] +---- +include::{examples-dir}/connectors/MyAckHandler.java[indent=0] +---- + +While this ack handler strategy acknowledges each message to the broker, +the messaging technology can allow employing different strategies for acknowledging messages. +For example an ack strategy can track processed messages and acknowledge them altogether or call a different client side endpoint to acknowledge the message batch. + +=== Failure handling strategies + +The failure handling, or the xref:concepts/acknowledgement.adoc#negative-acknowledgement[negative acknowledgment] allows indicating that a message was not processed correctly. +Similar to the acknowledgment the Reactive Messaging defines `Message#nack(Throwable reason, Metadata metadata)` method as non-blocking asynchronous, returning a `CompletionStage++<++Void++>++`. + +[source,java] +---- +include::{examples-dir}/connectors/MyFailureHandler.java[indent=0] +---- + +Different failure handling strategies can, for example, +- Ignore the failure, log and call the `ack` instead +- Send the message to a dead letter queue and call the `ack` +- Employ a different strategy depending on the `Metadata` associated with the `nack` method call. + +=== Message Converters + +The connector can propose default xref:concepts/converters.adoc[`MessageConverter`] implementations for converting the payload to a custom type. +As an example the following converter extracts the `CustomMessage` and puts it in the payload: + +[source,java] +---- +include::{examples-dir}/connectors/MyMessageConverter.java[indent=0] +---- + +== Implementing Outbound Channels + +The `OutboundConnector` implementation returns, for a given channel configuration, a `Flow.Subscriber` of messages. +This is typically implemented by a custom `Flow.Processor` and using the `MultiUtils.via` helper methods to apply message transformations. + +[NOTE] +.`OutgoingConnectorFactory` +==== + +The outbound channels can also implement the `OutgoingConnectorFactory` from the MicroProfile Reactive Messaging specification. +However, it is usually more friendly to work with the `MultiUtils.via` methods to construct and transform outgoing messages. + +==== + +Here is an example outgoing channel implementation: + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannel.java[indent=0] +---- + +The `MultiUtils.via` helper method allows using the `Multi` chaining methods and in the same time provides a `Flow.Subscriber`. +However, this implementation allows sending messages one at a time: +one only after the previous outgoing message send is completed. + +Some messaging technologies provide publish receipt, +a message back from the broker to the sender that asynchronously acknowledges the sent operation. +In this case the connector can only be sure of the send operation when it receives the publish receipt of that message. +Some technologies may provide blocking sending calls, +in that case the connector needs to delegate the sending call to a worker thread. + +Depending on whether the client supports multiple in-flight outgoing messages, you can also use a `SenderProcessor`, +which allows receiving configuration for the maximum number of in-flight messages and whether it waits for completion (publish receipt from the broker): + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannelWithPartials.java[tags=sender-processor,indent=0] +---- + +Other more advanced scenarios can be implemented to retry the transmission in case of a retryable failure, +or batch multiple outgoing messages to a single send operation. + +=== Outgoing `Message` Builder + +In order to convey all attributes of the outgoing message to the client library +connectors provide outgoing `Message` implementation and a corresponding outgoing message metadata. +These allow the application developer to build the message attributes that will be sent to the broker. + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingMessage.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingMetadata.java[indent=0] +---- + +The outgoing channel implementation then will construct the client library object that represents the outbound message, `SendMessage` in this example: + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannelWithPartials.java[tags=send-message,indent=0] +---- + +It is a best practice to also allow the application to return a payload of the client outbound library object (`SendMessage`). + +=== Outgoing message acknowledgement + +Because the Reactive Messaging xref:concepts/acknowledgement.adoc#chain-of-acknowledgment[chains acknowledgements] from incoming message until the outgoing message, +it is crucial for the outgoing channel to correctly ack and nack the message. + +== Smallrye Health Integration + +Smallrye Reactive Messaging allows connectors to integrate with Smallrye Health to contribute channel state to the health reports. +Connectors need to implement the `HealthReporter` interface and implement some or all of the `getReadiness`, `getLiveness` and `getStartup` methods: + +[source,java] +---- +include::{examples-dir}/connectors/MyConnectorWithPartials.java[tags=health-report,indent=0] +---- + +Implementing health reports per channel depends on what information is available to the connector. +For more information on different health check probes you can check out https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/[Configure Liveness, Readiness and Startup Probes] + +You may want to add a connector attribute to enable/disable the health reporting per channel: + +[source,java] +---- +import io.smallrye.reactive.messaging.annotations.ConnectorAttribute; + +@ConnectorAttribute(name = "health-enabled", type = "boolean", direction = ConnectorAttribute.Direction.INCOMING_AND_OUTGOING, description = "Whether health reporting is enabled (default) or disabled", defaultValue = "true") +---- + +== OpenTelemetry Tracing Integration + +Smallrye Reactive Messaging allows connectors to easily integrate with OpenTelemetry tracing. +It propagates the tracing context from inbound messages and to outbound messages. +The `smallrye-reactive-messaging-otel` module provides necessary dependencies to the OpenTelemetry artifacts and also provides `TracingUtils` helper class for setting up the tracing. + +[source,xml] +---- + + io.smallrye.reactive.messaging + smallrye-reactive-messaging-otel + +---- + +For integrating tracing you'd need to create a couple of classes: + +* Holder class for tracing information +* Implementation of `io.opentelemetry.context.propagation.TextMapGetter`, which retrieves for a given key the value of a tracing attributed from the holder object +* Implementation of `io.opentelemetry.context.propagation.TextMapSetter`, which sets on the holder object the key and value of tracing attributes +* Implementations of `io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor` and `io.opentelemetry.instrumentation.api.instrumenter.messaging.MessagingAttributesGetter` + +Then you'd need to configure instrumenters per incoming and outgoing channel: + +[source,java] +---- +include::{examples-dir}/connectors/tracing/MyOpenTelemetryInstrumenter.java[tags=create-instrumenter,indent=0] +---- + +Finally, you'd need to configure instrumenters per incoming and outgoing channels and wire the call to instrumenter using `TracingUtils`. + +For an incoming channel, you'd need to call the instrumenter on an inbound message: + +[source,java] +---- +include::{examples-dir}/connectors/MyIncomingChannelWithPartials.java[tags=incoming-tracing,indent=0] +---- + +For an outgoing channel, you'd need to call the instrumenter on constructing the outbound message: + +[source,java] +---- +include::{examples-dir}/connectors/MyOutgoingChannelWithPartials.java[tags=outgoing-tracing,indent=0] +---- + +You may want to add a connector attribute to enable/disable the tracing per channel: + +[source,java] +---- +import io.smallrye.reactive.messaging.annotations.ConnectorAttribute; + +@ConnectorAttribute(name = "tracing-enabled", type = "boolean", direction = ConnectorAttribute.Direction.INCOMING_AND_OUTGOING, description = "Whether tracing is enabled (default) or disabled", defaultValue = "true") +---- + +== Testing the connector + +While unit tests are highly encouraged for validating ad-hoc logic in connector code, +by nature connector tests are mostly integration tests validating the correct configuration and functioning of channels. +Most of the time tests need to run against a broker instance. +This instance can be mocked or embedded in the test JVM, +or provisioned in a container runtime using https://testcontainers.org[Testcontainers]. +The testcontainers approach is encouraged as it'll provide a testing environment closest to reality. + +It may take too much time and resources to start a broker per test method or per test class, +so may want to share the same broker instance between all test classes. +In that case you can checkout how to write a https://junit.org/junit5/docs/current/user-guide/#extensions[JUnit 5 Extension] +and start only one container instance in the beginning of tests and stop it at the end of all the tests. + +There are essentially two ways of creating the connector behavior to test against: + +[arabic] +. Instantiating channels directly by passing the custom configuration. +With this you can get the Reactive stream directly from the channel implementation and send/receive messages. +You can use https://smallrye.io/smallrye-mutiny/2.5.1/guides/testing/[AssertSubscriber from Mutiny] to regulate demand and write assertions. +. CDI-based tests which write configuration and instantiate application beans. +You can use https://weld.cdi-spec.org/[Weld, the reference implementation of CDI specification] with configured set of beans and extensions: + +[source,java] +---- +include::{examples-dir}/connectors/test/WeldTestBase.java[indent=0] +---- + +You would need following test dependencies for enabling Weld in tests: + +[source,xml] +---- + + io.smallrye.reactive + test-common + test + + + org.jboss.weld.se + weld-se-shaded + ${weld.version} + test + + + org.jboss.weld + weld-core-impl + ${weld.version} + test + + + org.awaitility + awaitility + test + +---- + +Your test classes can therefore extend the `WeldTestBase` and provide configuration and application beans: + +[source,java] +---- +include::{examples-dir}/connectors/test/MyConnectorTest.java[indent=0] +---- + +[TIP] +.Awaitility +==== + +Because connector tests are usually asynchronous, https://github.com/awaitility/awaitility[awaitility] +provides a DSL to await on expressed assertions. + +==== + +=== Common tests for validating the connector + +* Message consumption through incoming channels +* Message producing through outgoing channels +* Ack and failure handler strategies test +* Message Context propagation test `LocalPropagationTest` +* `HealthCheckTest` +* `MessageConverterTest` +* `TracingPropagationTest` +* Configuration test +* Authentication test +* Tests for diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/converters.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/converters.adoc new file mode 100644 index 000000000..ff3f6148e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/converters.adoc @@ -0,0 +1,43 @@ += Message Converters +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging supports _message converters_, allowing to +transform an incoming message into a version accepted by the method. If +the incoming messages or payload does not match the invoked method’s +expectation, SmallRye Reactive Messaging looks for a suitable converter. +If found, it converts the incoming message with this converter. + +Converters can have multiple purposes, but the main use case is about +transforming the message’s payload: + +[source,java] +---- +include::{examples-dir}/converters/MyConverter.java[tags=code,indent=0] +---- + +To provide a converter, implement a bean exposing the `MessageConverter` +interface. The `canConvert` method is called during the lookup and +verifies if it can handle the conversion. The `target` type is the +expected payload type. If the converter returns `true` to `canConvert`, +SmallRye Reactive Messaging calls the `convert` method to proceed to the +conversion. + +The previous converter can be used in application like the following, to +convert `Message++<++String++>++` to `Message++<++Person++>++`: + +[source,java] +---- +include::{examples-dir}/converters/ConverterExample.java[tags=code,indent=0] +---- + +Converters work for all supported method signatures. However, the +signature must be well-formed to allow the extraction of the expected +payload type. Wildcards and raw types do not support conversion. If the +expected payload type cannot be extracted, or no converter fits, the +message is passed as received. + +If multiple suitable converters are present, implementations should +override the `getPriority` method returning the priority. The default +priority is `100`. The converter lookup invokes converters with higher +priority (from the least value to the greatest) first. diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/decorators.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/decorators.adoc new file mode 100644 index 000000000..0cdb8b7a9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/decorators.adoc @@ -0,0 +1,96 @@ += Channel Decorators +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging supports decorating reactive streams +of incoming and outgoing channels for implementing cross-cutting +concerns such as monitoring, tracing or message interception. + +Two symmetrical APIs are proposed for decorating publisher and subscriber channels, +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/PublisherDecorator.html[`PublisherDecorator`] +and link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/SubscriberDecorator.html[`SubscriberDecorator`] respectively. + +[IMPORTANT] +==== + +`@Incoming` channels and channels bound to an outbound connector are both `Subscriber`s. +Conversely `@Outgoing` channels and channels bound to an inbound connector are `Publisher`s. + +==== + +For example, to provide a decorator which counts consumed messages from incoming connector, +implement a bean exposing the interface `PublisherDecorator`: + +[source,java] +---- +include::{examples-dir}/decorators/ConsumedMessageDecorator.java[tags=code,indent=0] +---- + +Decorators' `decorate` method is called only once per channel at application deployment when graph wiring is taking place. +Decorators are very powerful because they receive the stream of messages (Mutiny `Multi++<++Message++<++?++>>++`) +and potentially return a new stream of messages. + +Note that if a decorator is available it will be called on every channel. +The `decorate` method receives the channel name and whether the channel is a connector or not as parameters. +Decorators are called ordered from highest to lowest priority (from the least value to the greatest), +obtained using the `jakarta.enterprise.inject.spi.Prioritized#getPriority` method. + +[NOTE] +==== + +The `SubscriberDecorator` receive a list of channel names because `@Incoming` annotation is repeatable +and consuming methods can be linked to multiple channels. + +==== + +== Intercepting Incoming and Outgoing Messages + +Decorators (`PublisherDecorator` and `SubscriberDecorator`) can be used to intercept and alter messages, both on incoming and outgoing channels. + +Smallrye Reactive Messaging allows defining intercepting incoming and outgoing messages for a specific channel, using +`IncomingInterceptor` and `OutgoingInterceptor` respectively. + +Only one interceptor is allowed to be bound for interception per outgoing channel. +If no interceptors are found with a `@Identifier` but a `@Default` one is available, it is used. +When multiple interceptors are available, the bean with the highest priority is used. + +=== `IncomingInterceptor` + +To provide an incoming interceptor implement a bean exposing the interface link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/IncomingInterceptor.html[`IncomingInterceptor`], qualified with a `@Identifier` with the channel name to intercept. + +[source,java] +---- +include::{examples-dir}/interceptors/MyIncomingInterceptor.java[indent=0] +---- + +An `IncomingInterceptor` can implement these three methods: + +* `Message++<++?++>++ afterMessageReceive(Message++<++?++>++ message)` : Called after receiving the message from an incoming connector. +The message can be altered by returning a new message from this method. The modified message will be consumed in incoming channels. +* `void onMessageAck(Message++<++?++>++ message)` : Called after message acknowledgment. +* `void onMessageNack(Message++<++?++>++ message, Throwable failure)` : Called after message negative-acknowledgment. + +[NOTE] +==== + +If you are willing to adapt an incoming message payload to fit a consuming method receiving type, +you can use xref:concepts/converters.adoc[`MessageConverter`]s. + +==== + +=== `OutgoingInterceptor` + +To provide an outgoing interceptor implement a bean exposing the interface link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/OutgoingInterceptor.html[`OutgoingInterceptor`], qualified with a `@Identifier` with the channel name to intercept. + +[source,java] +---- +include::{examples-dir}/interceptors/MyOutgoingInterceptor.java[indent=0] +---- + +An `OutgoingInterceptor` can implement these three methods: + +* `Message++<++?++>++ beforeMessageSend(Message++<++?++>++ message)` : Called before passing the message to the outgoing connector for transmission. +The message can be altered by returning a new message from this method. +* `void onMessageAck(Message++<++?++>++ message)` : Called after message acknowledgment. +This callback can access `OutgoingMessageMetadata` which will hold the result of the message transmission to the broker, if supported by the connector. This is only supported by MQTT and Kafka connectors. +* `void onMessageNack(Message++<++?++>++ message, Throwable failure)` : Called after message negative-acknowledgment. diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/emitter.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/emitter.adoc new file mode 100644 index 000000000..a59761323 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/emitter.adoc @@ -0,0 +1,270 @@ += Emitter and Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +It is not rare to combine in a single application imperative parts +(Jax-RS, regular CDI _beans_) and reactive parts (_beans_ with +`@Incoming` and `@Outgoing` annotations). In these case, it’s often +required to send _messages_ from the imperative part to the reactive +part. In other words, send messages to channels handled by reactive +messaging and how can you retrieve messages. + +== Emitter and @Channel + +To send _things_ (payload or `Message`) from imperative code to a +specific channel you need to use: + +[arabic] +. the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Channel.html[`org.eclipse.microprofile.reactive.messaging.Channel`] annotations +. the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Emitter.html[`org.eclipse.microprofile.reactive.messaging.Emitter`] type + +The `@Channel` lets you indicate to which channel you are going to send +your payloads or messages. The `Emitter` is the object to use to send +these payloads or messages. + +[source,java] +---- +include::{examples-dir}/emitter/MyImperativeBean.java[tags=intro,indent=0] +---- + +The `Emitter` class takes a type parameter. It’s the type of payload. +Even if you want to send `Messages`, the type is the payload type. + +[IMPORTANT] +==== + +You must have a `@Incoming("prices")` somewhere in your application +(meaning a method consuming messages transiting on the channel +`prices`), or an outbound connector configured to manage the `prices` +channel (`mp.messaging.outgoing.prices...`) + +==== + +== Sending payloads + +Sending payloads is done as follows: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=payload,indent=0] +---- + +When sending a payload, the emitter returns a `CompletionStage`. This +`CompletionStage` gets completed once the message created from the +payload is acknowledged: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=cs,indent=0] +---- + +If the processing fails, the `CompletionStage` gets completed +exceptionally (with the reason of the nack). + +== Sending messages + +You can also send `Messages`: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message,indent=0] +---- + +When sending a `Message`, the emitter does not return a +`CompletionStage`, but you can pass the ack/nack callback, and be called +when the message is acked/nacked. + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message-ack,indent=0] +---- + +Sending messages also let you pass metadata. + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=message-meta,indent=0] +---- + +Metadata can be used to propagate some context objects with the message. + +== Overflow management + +When sending messages from imperative code to reactive code, you must be +aware of back-pressure. Indeed, messages sent using the emitter and +stored in a _queue_. If the consumer does not process the messages +quickly enough, this queue can become a memory hog and you may even run +out of memory. + +To control what need to happen when the queue becomes out of control, +use the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/OnOverflow.html[`OnOverflow`] annotation. `@OnOverflow` lets you configure: + +* the maximum size of the queue (default is 256) +* what needs to happen when this size is reached (fail, drop...) + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=overflow,indent=0] +---- + +The supported strategies are: + +* `OnOverflow.Strategy.BUFFER` - use a buffer to store the elements +until they are consumed. If the buffer is full, a failure is +propagated (and the thread using the emitted gets an exception) +* `OnOverflow.Strategy.UNBOUNDED++_++BUFFER` - use an unbounded buffer to +store the elements +* `OnOverflow.Strategy.DROP` - drops the most recent value if the +downstream can’t keep up. It means that new value emitted by the +emitter are ignored. +* `OnOverflow.Strategy.FAIL` - propagates a failure in case the +downstream can’t keep up. +* `OnOverflow.Strategy.LATEST` - keeps only the latest value, dropping +any previous value if the downstream can’t keep up. +* `OnOverflow.Strategy.NONE` - ignore the back-pressure signals +letting the downstream consumer to implement a strategy. + +=== Defensive emission + +Having an emitter injected into your code does not guarantee that +someone is ready to consume the message. For example, a subscriber may +be connecting to a remote broker. If there are no subscribers, using the +`send` method will throw an exception. + +The `emitter.hasRequests()` method indicates that a subscriber +subscribes to the channel and requested items. So, you can wrap your +emission with: + +[source,java] +---- +if (emitter.hasRequests()) { + emitter.send("hello"); +} +---- + +If you use the `OnOverflow.Strategy.DROP`, you can use the `send` method +even with no subscribers nor demands. The message will be nacked +immediately. + +== Retrieving channels + +You can use the `@Channel` annotation to inject in your bean the +underlying stream. Note that in this case, you will be responsible for +the subscription: + +[source,java] +---- +include::{examples-dir}/emitter/ChannelExamples.java[tags=channel,indent=0] +---- + +[IMPORTANT] +==== + +You must have a `@Outgoing("my-channel")` somewhere in your application +(meaning a method generating messages transiting on the channel +`my-channel`), or an inbound connector configured to manage the `prices` +channel (`mp.messaging.incoming.prices...`) + +==== + +Injected _channels_ merge all the matching _outgoing_ - so if you have +multiple `@Outgoing("out")`, `@Inject @Channel("out")` gets all the +messages. + +If your injected _channel_ receives _payloads_ (`Multi++<++T++>++`), it +acknowledges the message automatically, and support multiple +subscribers. If you injected _channel_ receives `Message` +(`Multi++<++Message++<++T++>>++`), you will be responsible for the acknowledgement +and broadcasting. + +== Emitter and @Broadcast + +When using an `Emitter`, you can now `@Broadcast` what is emitted to all +subscribers. + +Here is an example of emitting a price with two methods marked +`@Incoming` to receive the broadcast: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterExamples.java[tags=broadcast,indent=0] +---- + +For more details see xref:concepts/broadcast.adoc[@Broadcast] +documentation. + +== Mutiny Emitter + +If you prefer to utilize `Uni` in all your code, there is now a +`MutinyEmitter` that will return `Uni++<++Void++>++` instead of `void`. + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni,indent=0] +---- + +There’s also the ability to block on sending the event to the emitter. +It will only return from the method when the event is acknowledged, or +nacked, by the receiver: + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni-await,indent=0] +---- + +And if you don’t need to worry about the success or failure of sending +an event, you can `sendAndForget`: + +[source,java] +---- +include::{examples-dir}/emitter/MutinyExamples.java[tags=uni-forget,indent=0] +---- + +== Custom Emitter Implementations + +[WARNING] +.Experimental +==== + +Custom emitter implementations is an experimental feature. + +==== + +`Emitter` and `MutinyEmitter` are two implementations of the emitter concept, +where imperative code in your application can send messages to Reactive Messaging channels. + +With `EmitterFactory` it is possible to provide custom implementations, and application facing emitter interfaces. + +In the following example, the injectable custom emitter interface is `CustomEmitter`, +and it is implemented by `CustomEmitterImpl`: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-declaration,indent=0] +---- + +Note that `CustomEmitter` interface extends `EmitterType`, which is a marker interface for discovering custom emitter types. +Also, `CustomEmitterImpl` implements the `MessagePublisherProvider`, which is used by the framework to transform this emitter to a channel. + +Then we need to provide an implementation of the `EmitterFactory` interface: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-factory,indent=0] +---- + +The `CustomEmitterFactory` is a CDI managed bean, which implements the `EmitterFactory`. +It is qualified with `EmitterFactoryFor` annotation which is configured with the emitter interface `CustomEmitter` that this factory provides. + +Smallrye Reactive Messaging discovers the emitter factory during the CDI deployment validation +and verifies that custom emitters used by the application have corresponding emitter factories. +It'll use the emitter factory to create the emitter implementation and will register the implementation into the `ChannelRegistry`. + +Note that the `CustomEmitterFactory` also uses the `ChannelRegistry` and provides the custom emitter with `@Produces`. + +Finally, the application can inject and use the `CustomEmitter` as a normal emitter channel: + +[source,java] +---- +include::{examples-dir}/emitter/EmitterFactoryExamples.java[tags=custom-emitter-usage,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/generic-payloads.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/generic-payloads.adoc new file mode 100644 index 000000000..fd7193fd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/generic-payloads.adoc @@ -0,0 +1,55 @@ += Generic Payloads +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Generic payloads are an experimental feature and the API is subject to change. + +==== + +When using reactive messaging, `Message` flow in your system +each message has a payload but can also contain _metadata_, as explained in xref:concepts/concepts.adoc#messages-payload-metadata[Messages, Payload, Metadata]. +The metadata can hold information, for example in an outgoing channel, additional properties of the outgoing message to be sent to the broker. + +It is sometimes preferable to continue using the xref:concepts/model.adoc#messages-vs-payloads[payload signatures], +and also being able to attach metadata. +Using `GenericPayload` allows customizing metadata when handling payloads in SmallRye Reactive Messaging `@Incoming` and `@Outgoing` methods. +`GenericPayload` is a wrapper type, like the `Message`, containing a payload and metadata, +without requiring handling acknowledgments manually. + +[source,java] +---- +include::{examples-dir}/genericpayload/GenericPayloadExample.java[tags=code,indent=0] +---- + +You can combine generic payloads with xref:concepts/incoming-metadata-injection.adoc[metadata injection] : + +[source,java] +---- +include::{examples-dir}/genericpayload/GenericPayloadExample.java[tags=injection,indent=0] +---- + +Note that the metadata provided with the outgoing generic payload is merged with the incoming message metadata. + +`GenericPayload` can also be used with emitters to attach metadata without dealing with `Message` directly: + +[source,java] +---- +include::{examples-dir}/genericpayload/GenericPayloadExample.java[tags=emitter,indent=0] +---- + +The inner payload is extracted and the metadata from the `GenericPayload` is merged into the outgoing message. +Note that existing metadata entries are not overwritten by the `GenericPayload` metadata. +If a metadata entry of the same type already exists, it is preserved unless the metadata class implements `MergeableMetadata`. + +[WARNING] +.Limitations +==== + +While `GenericPayload++<++T++>++` can be used as an incoming payload type, +xref:concepts/converters.adoc[message converters] are not applied to the payload type `T`. + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/incoming-concurrency.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/incoming-concurrency.adoc new file mode 100644 index 000000000..058eb070f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/incoming-concurrency.adoc @@ -0,0 +1,73 @@ += Incoming Channel Concurrency +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Incoming channel `concurrency` config is an experimental feature. + +==== + +The `concurrency` attribute for incoming channels provides a mechanism to enable concurrent non-blocking processing of incoming messages. +When applied to a channel, this attribute specifies the number of copies of that channel to be created and wired to the processing method, +allowing multiple messages to be processed concurrently. + +For example, concurrency configuration for a Kafka incoming channel the configuration will look like: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-kafka +mp.messaging.incoming.my-channel.topic=orders +mp.messaging.incoming.my-channel.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer +mp.messaging.incoming.my-channel.concurrency=4 +---- + +In this example, there will be 4 copies of the `my-channel` running concurrently, with distinctive internal channel names, +`my-channel$1`, `my-channel$2`, etc. but all registered with the name `my-channel` to the `ChannelRegistry`. + +[NOTE] +.Kafka connector `partitions` +==== + +This is essentially very similar to the Kafka connector `partitions` configuration, but addresses some its limitations. +Using `partitions` config in Kafka connector, channels are merged into the downstream message processor +(method annotated with `@Incoming` or an injected channel) which is therefore called sequentially. +This prevents concurrently processing messages from multiple partitions. + +The `concurrency` mechanism effectively allows polling Kafka partitions from separate clients +and concurrently processing records while preserving the in-partition order. + +==== + +Copy channels inherit all configuration attributes of the main channel config. +Per-copy channel attributes can be configured separately using the `$` separated channel names: `mp.messaging.incoming.my-channel$1.attribute`. + +For example, the following AMQP 1.0 channel defines 3 channels each with a different selector: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-amqp +mp.messaging.incoming.data.address=address +mp.messaging.incoming.data.durable=false +mp.messaging.incoming.data.concurrency=3 +mp.messaging.incoming.data$1.selector=x='foo' +mp.messaging.incoming.data$2.selector=x='bar' +mp.messaging.incoming.data$3.selector=x='baz' +---- + +While the `concurrency` attribute is applicable to channels of any connector type, +the channel implementation may need to take this configuration into account and adjust the threading accordingly. +Connectors based on Vert.x event loop create a new event loop context per copy-channel to dispatch messages on distinct contexts. + +[IMPORTANT] +.Non-blocking processing +==== + +Note that while this allows concurrent processing, messages are still dispatched on Vert.x event loop threads, and should not be blocked. + +==== + +Otherwise, connectors treat copy channels as independent channels. +For example, health check reports are registered separately for each copy-channel. diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/incoming-metadata-injection.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/incoming-metadata-injection.adoc new file mode 100644 index 000000000..fb27198b2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/incoming-metadata-injection.adoc @@ -0,0 +1,29 @@ += Incoming Metadata Injection +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Metadata injection is an experimental feature. + +==== + +When using reactive messaging, `Message` flow in your system. +Each message has a payload but can also contain _metadata_, as explained in xref:concepts/concepts.adoc#messages-payload-metadata[Messages, Payload, Metadata]. + +You can inject the incoming message metadata as a parameter depending on the method signature. +*Only methods receiving the payload as a parameter can also receive the metadata.* +For example, `@Incoming("in") void consume(String s)` can also receive the metadata using the following signature: +`@Incoming("in") void consume(String s, MyMetadata m)`. +Note that the payload must be the first parameter. + +The metadata can be injected using the class of the metadata to inject. +In this case, the method is invoked with `null` if the metadata is missing. +You can also inject the metadata using `Optional++<++MetadataClass++>++,` which would be empty if the incoming message does not contain metadata of type `MetadataClass.` + +[source,java] +---- +include::{examples-dir}/incomings/MetadataInjectionExample.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/incomings.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/incomings.adoc new file mode 100644 index 000000000..8fc179d3a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/incomings.adoc @@ -0,0 +1,20 @@ += Multiple Incoming Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Multiple `@Incomings` is an experimental feature. + +==== + +The `@Incoming` annotation is repeatable. It means that the method +receives the messages transiting on every listed channels, in no +specific order: + +[source,java] +---- +include::{examples-dir}/incomings/IncomingsExamples.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/keyed-multi.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/keyed-multi.adoc new file mode 100644 index 000000000..cc1824499 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/keyed-multi.adoc @@ -0,0 +1,52 @@ += Using `KeyedMulti` +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`KeyedMulti` is an experimental feature. + +==== + +When implementing a data streaming application, it's common to handle messages partitioned using a _key_. +In this case, your stream manipulation often has to 1) group by key and 2) do the manipulation. +Reactive Messaging can do the first step for you and reduce the code complexity. +To do this, it injects `io.smallrye.reactive.messaging.keyed.KeyedMulti` in your method instead of a _bare_ `Multi`. + +For example, imagine the following stream, represented as `key:value`: `"a:1", "b:1", "a:2", "b:2", "b:3"...` +Then, let's consider the following method: + +[source,java] +---- +include::{examples-dir}/keyed/KeyedMultiExample.java[tags=code,indent=0] +---- + +Reactive Messaging automatically extracts the key and value from the incoming stream and invokes the method for each key. +The received `KeyedMulti` represent the stream for each key. +The `key()` method returns the extracted key. + +The key and value can be extracted from the payload but also (and often) from the message's metadata. + +When using Kafka, it automatically extracts the key/value from the Kafka records. +In the other cases, or if you need custom extraction, you can implement your own `io.smallrye.reactive.messaging.keyed.KeyValueExtractor`. +Implementations are exposed `ApplicationScoped` beans, and are used to extract the key and value. +The following implementation extracts the key and value from payloads structured as "key:value": + +[source,java] +---- +include::{examples-dir}/keyed/KeyValueExtractorFromPayload.java[tags=code,indent=0] +---- + +The extractor selection uses the `canExtract` method. +When multiple extractors are available, you can implement the `getPriority()` method to give a lower priority. +Default extractors have the priority 100. +So, if you have a custom extractor with the priority 99, it will be used (if it replies `true` to the `canExtract` call). +In addition, you can use the `io.smallrye.reactive.messaging.keyed.Keyed` annotation to indicate the class of the extractor to use. +The extractor must still be a CDI bean, but the `canExtract` method is not called, and priority does not matter: + +[source,java] +---- +include::{examples-dir}/keyed/KeyedExample.java[tags=code,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/logging.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/logging.adoc new file mode 100644 index 000000000..2a8fc8df3 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/logging.adoc @@ -0,0 +1,269 @@ += Logging +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging uses https://github.com/jboss-logging[JBoss +Logging] as logging API. This section +explains how to configure the loggers for various logging backends. + +[TIP] +==== + +If you are developing SmallRye Reactive Messaging and wonder about how +the logs are managed, it uses https://jboss-logging.github.io/jboss-logging-tools/#introduction[JBoss Logging +Tools]. + +==== + +== Logging Backends + +SmallRye Reactive Messaging uses the JBoss Logging library to write +messages to a log file. This library is a logging _bridge_ that +integrates different log frameworks. You can decide which of the +following frameworks you want to use for your application: + +* JBoss LogManager (`jboss`) +* Log4j 2 (`log4j2`) +* Log4j 1 (`log4j`) +* Slf4j (`slf4j`) +* JDK logging (`jul`) + +You only need to add the chosen framework to the classpath, and the +JBoss Logging library will pick it up. If there are multiple frameworks +available on the classpath, it picks the first found (in the order from +the list). Alternatively, you can set the `org.jboss.logging.provider` +system property is one of the values given above. + +The concepts and log categories are the same for all frameworks. +However, the format of the configuration file and the names of the log +levels differ. Check the documentation of your logging library to find +out which _dependencies_ are required, the exact name of the log levels, +and where the configuration should be written. + +== Log Categories + +As all applications and frameworks, SmallRye Reactive Messaging writes +log messages in different categories and log levels. The categories +group messages from specific connectors, classes or components. The +following table shows the essential log categories used by SmallRye +Reactive Messaging: + +[width="100%",cols="36%,64%",options="header",] +|=== +|Category |Description +|`io.smallrye.reactive.messaging` |This category contains all the messages written by SmallRye Reactive Messaging. +|`io.smallrye.reactive.messaging.provider` |This category contains all the messages generated by the _core_ (provider). +|`io.smallrye.reactive.messaging.kafka` |This category contains all the messages generated by the Kafka Connector. +|`io.smallrye.reactive.messaging.amqp` |This category contains all the messages generated by the AMQP Connector. +|`io.smallrye.reactive.messaging.jms` |This category contains all the messages generated by the JMS Connector. +|`io.smallrye.reactive.messaging.camel` |This category contains all the messages generated by the Camel Connector. +|`io.smallrye.reactive.messaging.mqtt` |This category contains all the messages generated by the MQTT (Client) Connector. +|`io.smallrye.reactive.messaging.mqtt-server` |This category contains all the messages generated by the MQTT (Server) Connector. +|=== + +The names of the log levels are defined by your logging framework and +determine the amount and granularity of the log messages. You can assign +a log level to each category. If you do not specify a specific +category’s log level, it will inherit the level from its parent +category. Thus, setting the log level of +`io.smallrye.reactive.messaging` influences every loggers from SmallRye +Reactive Messaging. + +== Message Code + +Each message has an identifier code. They are all prefixed with `SRMSG`, +followed with the numeric code. + +In the following output, the code is `SRMSG00229`: + +.... +[2020-06-15 13:35:07] [INFO ] SRMSG00229: Channel manager initializing... +.... + +== Recommended logging configurations + +=== Development + +==== Log4J 1 + +_log4j.properties_ + +[source,properties] +---- +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +log4j.rootLogger=info, stdout +log4j.logger.io.smallrye.reactive.messaging=info +log4j.logger.org.jboss.weld=warn +---- + +==== Log4J 2 + +_log4j2.xml_ + +[source,xml] +---- + + + PropertiesConfiguration + + + + + + [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n + > + + + + + + + + + + + + + + + +---- + +==== JDK (JUL) + +_logging.properties_ + +[source,properties] +---- +handlers=java.util.logging.ConsoleHandler + +java.util.logging.ConsoleHandler.level=FINEST +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$-7s] %5$s %n + +.level=INFO +io.smallrye.reactive.messaging.level=INFO +org.jboss.weld.level=WARNING +---- + +==== LogBack via SLF4J++*++ + +_logback.xml_ + +[source,xml] +---- + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + +---- + +=== Production + +==== Log4J 1 + +_log4j.properties_ + +[source,properties] +---- +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +log4j.rootLogger=info, stdout +log4j.logger.io.smallrye.reactive.messaging=warn +log4j.logger.org.jboss.weld=error +---- + +==== Log4J 2 + +_log4j2.xml_ + +[source,xml] +---- + + + PropertiesConfiguration + + + + + + [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n + > + + + + + + + + + + + + + + + +---- + +==== JDK (JUL) + +_logging.properties_ + +[source,properties] +---- +handlers=java.util.logging.ConsoleHandler + +java.util.logging.ConsoleHandler.level=INFO +java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter +java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$-7s] %5$s %n + +.level=INFO +io.smallrye.reactive.messaging.level=WARNING +org.jboss.weld.level=SEVERE +---- + +_logback.xml_ + +[source,xml] +---- + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + + +---- diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/merge.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/merge.adoc new file mode 100644 index 000000000..d7bd6cbd7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/merge.adoc @@ -0,0 +1,47 @@ += Merge channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +`@Merge` is an experimental feature. + +==== + +By default, messages transiting in a channel can arise from a single +producer. Having multiple producers is considered erroneous and is +reported at deployment time. + +The link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/annotations/Merge.html[`Merge`] +annotation changes this behavior and indicates that a channel can have +multiple producers. `@Merge` must be used with the `@Incoming` +annotation: + +[source,java] +---- +include::{examples-dir}/merge/MergeExamples.java[tags=chain,indent=0] +---- + +In the previous example, the consumer gets all the messages (from both +producers). + +The `@Merge` annotation allows configuring how the incoming messages +(from the different producers) are merged into the channel. The `mode` +attribute allows configuring this behavior: + +* `ONE` picks a single producer, discarding the other producer; +* `MERGE` (default) gets all the messages as they come, without any +defined order. Messages from different producers may be interleaved. +* `CONCAT` concatenates the producers. The messages from one producer +are received until the messages from other producers are received. + +[NOTE] +==== + +Outbound connectors also support a `merge` attribute that allows +consuming the messages to multiple upstreams. It will dispatch all the +received messages. + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/message-context.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/message-context.adoc new file mode 100644 index 000000000..411587683 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/message-context.adoc @@ -0,0 +1,83 @@ += Message Contexts +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Message context provides a way to propagate data along the processing of a message. +It can be used to propagate message specific objects in an implicit manner and be able to retrieve them later, such as the user, session or transaction. + +[IMPORTANT] +==== + +Message contexts are only support by Kafka, AMQP, RabbitMQ and MQTT connectors. + +==== + +[NOTE] +==== + +Message context support is an experimental and SmallRye only feature. + +==== + +== What's a message context + +A message context is execution context on which a message is processed. +Each stage of the processing is going to use the same execution context. +Thus, it allows storing _data_ which can later be restored. +For example, you can imagine storing some authentication (`User` in the following example) data in one part of your processing and restore it in a later stage. + +[source,java] +---- +@Incoming("data") +@Outgoing("process") +public Message process(Message input) { + // Extract some data from the message and store it in the context + User user = ...; + // Store the extracted data into the message context. + ContextLocals.put("user", user); + record input; +} + +@Incoming("process") +@Outgoing("after-process") +public String handle(String payload) { + // You can retrieve the store data using + User user = ContextLocals.get("user", null); + + // ... + return payload; +} +---- + +The Message context is also available when using blocking or asynchronous stages (stage returning `Uni` or `CompletionStage`) + +== The difference with metadata + +Message metadata can be used to provide a similar feature. +However, it requires using `Messages` which can be inconvenient (need to handle the acknowledgement manually). +Message Contexts provide a simpler API, closer to a _Message CDI scope_: you can save data, and restore it later. +The implicit propagation avoid having to deal with `Messages`. + +== Supported signatures + +Message context works with: + +* methods consuming or producing `Messages`, `Uni++<++Message++<++T++>>++` and `CompletionStage++<++Message++<++T++>>++` +* methods consuming or producing payloads, `Uni++<++Payload++>++` and `CompletionStage++<++Payload++>++`. +* blocking and non-blocking methods + +However, message context are *NOT* enforced when using methods consuming or producing: + +* `Multi`, `Flow.Publisher`, `Publisher` and `PublisherBuilder` +* `Subscriber`, `Flow.Subscriber`, and `SubscriberBuilder` +* `Processor`, `Flow.Processor`, and `ProcessorBuilder` + +== Under the hood + +Under the hood, the message context feature uses Vert.x _duplicated contexts_. +A duplicated context is a view of the "root" (event loop) context, which is restored at each stage of the message processing. + +Each time that a compatible connector receives a message from a broker, it creates a new _duplicated context_ and attaches it to the message. +So the context is stored in the metadata of the message. + +When the message is processed, SmallRye Reactive Messaging makes sure that this processing is executed on the stored duplicated context. diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/model.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/model.adoc new file mode 100644 index 000000000..37691b5ee --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/model.adoc @@ -0,0 +1,423 @@ += Development Model +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Reactive Messaging proposes a CDI-based programming model to implement event-driven applications. +Following the CDI principles, _beans_ are forming the main building block of your application. +Reactive Messaging provides a set of annotations and types to implement beans that generate, consume or process messages. + +== @Incoming and @Outgoing + +Reactive Messaging provides two main annotations: + +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Incoming.html[`org.eclipse.microprofile.reactive.messaging.Incoming`] - indicates the consumed channel +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/org/eclipse/microprofile/reactive/messaging/Outgoing.html[`org.eclipse.microprofile.reactive.messaging.Outgoing`] - indicates the populated channel + +These annotations are used on _methods_: + +[source,java] +---- +include::{examples-dir}/beans/MessageProcessingBean.java[indent=0] +---- + +[NOTE] +==== + +Reactive Messaging beans can either be in the _application_ scope (`@ApplicationScoped`) or dependent scope (`@Dependent`). + +==== + +Manipulating messages can be cumbersome. +When you are only interested in the payload, you can use the following syntax: The following code is equivalent to the snippet from above: + +[source,java] +---- +include::{examples-dir}/beans/PayloadProcessingBean.java[indent=0] +---- + +[IMPORTANT] +==== + +You should not call methods annotated with `@Incoming` and/or +`@Outgoing` directly from your code. They are invoked by the framework. +Having user code invoking them would not have the expected outcome. + +==== + +SmallRye Reactive Messaging automatically binds matching `@Outgoing` to +`@Incoming` to form a chain: + +.A chain of components +[.has-dark] +image::images/chain.png[A chain of components] + +If we consider the following code: + +[source,java] +---- +include::{examples-dir}/beans/Chain.java[tags=chain,indent=0] +---- + +It would generate the following chain: + +[source,text] +---- +generate --> [ source ] --> process --> [ sink ] --> consume +---- + +Methods annotated with `@Incoming` or `@Outgoing` don’t have to be in the same _bean_ (_class_). +You can distribute them among a set of beans. +Remote interactions are also possible when using connectors. + +Methods annotated with: + +* only `@Outgoing` are used to generate messages or payloads +* only `@Incoming` are used to consume messages or payloads +* both `@Incoming` and `@Outgoing` are used to process messages or payloads; or transform the stream + +== Creating messages + +Messages are envelopes around payload. +They are the vehicle. +While manipulating payload is convenient, messages let you add metadata, handle acknowledgement... + +Creating `Messages` is done using the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/eclipse/microprofile/reactive/messaging/Message.html[`Message`] interface directly: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=creation,indent=0] +---- + +Messages accept `null` as payload. +Channels connected to outbound connectors interpret messages with `null` payload differently depending on the technology. + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=null-payload,indent=0] +---- + +You can also create new instance of `Message` from an existing one: + +[source,java] +---- +include::{examples-dir}/messages/MessageExamples.java[tags=copy,indent=0] +---- + +[WARNING] +.Acknowledgement? +==== + +Acknowledgement is an important part of messaging systems. This will be covered in the xref:concepts/acknowledgement.adoc[acknowledgement] section. + +==== + +[NOTE] +.Connector Metadata +==== + +Most connectors are providing metadata to let you extract technical +details about the message, but also customize the outbound dispatching. + +==== + +== Messages vs. Payloads + +Reactive messaging offers flexibility when it comes to handling messages and their acknowledgements. +The application developer can choose to finely handle acknowledgements per-message basis, by handling the +`Message`-based signatures. Otherwise, when handling payloads, acknowledgements +(and negative-acknowledgements) are handled by the framework. +The following sections in this documentation detail both development models. + +While being the easier development model, in the past using payload-based signatures did not allow associating connector-specific metadata, +making the `Message`-based signatures the de-facto choice even for the most common scenarios. +This lead to using the connector custom-message implementation types, +such as `IncomingKafkaRecord`, `KafkaRecord` or `IncomingRabbitMQMessage`, +as a convenience for accessing connector-specific metadata. + +Not only this forces to handle acknowledgements manually, +it also doesn't allow for incoming or outgoing `Messages` to be xref:concepts/decorators.adoc#intercepting-incoming-and-outgoing-messages[intercepted] +or xref:concepts/observability.adoc[observed]. + +[WARNING] +.Custom `Message` types & Message interception +==== + +Custom `Message` types such as `IncomingKafkaRecord`, `KafkaRecord` or `IncomingRabbitMQMessage` +are not compatible with features intercepting messages. +Therefore, it is no longer recommended to use custom `Message` implementations in consumptions methods. +Instead, you can either use the generic `Message` type and access specific metadata, +or use the payload with xref:concepts/incoming-metadata-injection.adoc[metadata injection] + +==== + +Since xref:concepts/incoming-metadata-injection.adoc[incoming metadata injection] and xref:concepts/generic-payloads.adoc[generic payloads] +features added to SmallRye Reactive Messaging, +it is easier to use payload signatures and benefit from acknowledgement handling and still access connector-specific metadata. + +== Generating Messages + +To produce messages to a channel, you need to use the `@Outgoing` +annotation. This annotation takes a single parameter: the name of the +populated channel. + +=== Generating messages synchronously + +You can generate messages synchronously. In this case, the method is +called for every _request_ from the downstream: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-sync,indent=0] +---- + +[NOTE] +.Requests? +==== + +Reactive Messaging connects components to build a reactive stream. +In a reactive stream, the emissions are controlled by the consumer +(downstream) indicating to the publisher (upstream) how many items it +can consume. With this protocol, the consumers are never flooded. + +==== + +=== Generating messages using CompletionStage + +You can also return a `CompletionStage` / `CompletableFuture`. +In this case, Reactive Messaging waits until the `CompletionStage` gets completed before calling it again. + +For instance, this signature is useful to poll messages from a source using an asynchronous client: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-cs,indent=0] +---- + +=== Generating messages using Uni + +You can also return a https://smallrye.io/smallrye-mutiny/#_uni_and_multi[Uni] instance. +In this case, Reactive Messaging waits until the `Uni` emits its item before calling it again. + +This signature is useful when integrating asynchronous clients providing a Mutiny API. + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-uni,indent=0] +---- + +=== Generating Reactive Streams of messages + +Instead of producing the message one by one, you can return the stream +directly. If you have a data source producing Reactive Streams +`Publisher` (or sub-types, such as `Multi`), this is the signature you are looking for: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=message-stream,indent=0] +---- + +In this case, the method is called once to retrieve the `Publisher`. + +== Generating Payloads + +Instead of `Message`, you can produce _payloads_. In this case, Reactive +Messaging produces a simple message from the _payload_ using +`Message.of`. + +=== Generating payload synchronously + +You can produce _payloads_ synchronously. The framework calls the method +upon request and create `Messages` around the produced payloads. + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-sync,indent=0] +---- + +=== Generating payload using CompletionStage + +You can also return `CompletionStage` or `CompletableFuture`. For +example, if you have an asynchronous client returning `CompletionStage`, +you can use it as follows, to poll the data one by one: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-cs,indent=0] +---- + +=== Generating payload by producing Unis + +You can also return a `Uni` if you have a client using Mutiny types: + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-uni,indent=0] +---- + +=== Generating Reactive Streams of payloads + +Finally, you can return a `Publisher` (or a sub-type such as a `Multi`): + +[source,java] +---- +include::{examples-dir}/generation/GenerationExamples.java[tags=payload-stream,indent=0] +---- + +In this case, Reactive Messaging calls the method only once to retrieve +the `Publisher`. + +== Consuming Messages + +To consume messages from a channel, you need to use the `@Incoming` +annotation. This annotation takes a single parameter: the name of the +consumed channel. + +Because `Messages` must be acknowledged, consuming messages requires +returning _asynchronous results_ that would complete when the incoming +message get acknowledged. + +For example, you can receive the `Message`, process it and return the +acknowledgement as result: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=message-cs,indent=0]' +---- + +You can also return a `Uni` if you need to implement more complicated +processing: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=message-uni,indent=0] +---- + +== Consuming Payloads + +Unlike consuming messages, consuming payloads support both synchronous +and asynchronous consumption. + +For example, you can consume a payload as follows: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-sync,indent=0] +---- + +In this case, you don’t need to deal with the acknowledgement yourself. +The framework acknowledges the incoming message (that wrapped the +payload) once your method returns successfully. + +If you need to achieve asynchronous actions, you can return a +`CompletionStage` or a `Uni`: + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-cs,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/consumption/ConsumptionExamples.java[tags=payload-uni,indent=0] +---- + +In these 2 cases, the framework acknowledges the incoming message when +the returned construct gets _completed_. + +== Processing Messages + +You can process `Message` both synchronously or asynchronously. +This later case is useful when you need to execute an asynchronous action during your processing such as invoking a remote service. + +Do process `Messages` synchronously uses: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message,indent=0] +---- + +This method transforms the `int` payload to a `String`, and wraps it +into a `Message`. + +'''important "Using `Message.withX` methods" +You may be surprised by the usage of `Message.withX` methods. It allows +metadata propagation as the metadata would be copied from the incoming +message and so dispatched to the next method. + +You can also process `Messages` asynchronously: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message-cs,indent=0] +---- + +Or using Mutiny: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-message-uni,indent=0] +---- + +In general, you want to create the new `Message` from the incoming one. +It enables metadata propagation and post-acknowledgement. For this, use +the `withX` method from the `Message` class returning a new `Message` +instance but copy the _content_ (metadata, ack/nack...). + +== Processing payloads + +If you don’t need to manipulate the envelope, you can process payload +directly either synchronously or asynchronously: + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload-cs,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/ProcessingExamples.java[tags=process-payload-uni,indent=0] +---- + +[NOTE] +.What about metadata? +==== + +With these methods, the metadata are automatically propagated. + +==== + +== Processing streams + +The previous processing method were taking single `Message` or payload. +Sometimes you need more advanced manipulation. For this, SmallRye +Reactive Messaging lets you process the stream of `Message` or the +stream of payloads directly: + +[source,java] +---- +include::{examples-dir}/processing/StreamExamples.java[tags=processing-stream-message,indent=0] +---- + +[source,java] +---- +include::{examples-dir}/processing/StreamExamples.java[tags=processing-stream-payload,indent=0] +---- + +You can receive either a (Reactive Streams) `Publisher`, a +`PublisherBuilder` or (Mutiny) `Multi`. You can return any subclass of +`Publisher` or a `Publisher` directly. + +[IMPORTANT] +==== + +These signatures do not support metadata propagation. In the case of a +stream of `Message`, you need to propagate the metadata manually. In the +case of a stream of payload, propagation is not supported, and incoming +metadata are lost. + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/observability.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/observability.adoc new file mode 100644 index 000000000..aa57e8238 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/observability.adoc @@ -0,0 +1,38 @@ += Observability API +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[IMPORTANT] +==== + +Observability API is experimental and SmallRye only feature. + +==== + +Smallrye Reactive Messaging proposes an observability API that allows to observe messages received and send through inbound and outbound channels. + +For any observation to happen, you need to provide an implementation of the `MessageObservationCollector`, discovered as a CDI-managed bean. + +At wiring time the discovered `MessageObservationCollector` implementation `initObservation` method is called once per channel to initialize the `ObservationContext`. +The default `initObservation` implementation returns a default `ObservationContext` object, +but the collector implementation can provide a custom per-channel `ObservationContext` object that'll hold information necessary for the observation. +The `ObservationContext#complete` method is called each time a message observation is completed – message being acked or nacked. +The collector implementation can decide at initialization time to disable the observation per channel by returning a `null` observation context. + +For each new message, the collector is on `onNewMessage` method with the channel name, the `Message` and the `ObservationContext` object initialized beforehand. +This method can react to the creation of a new message but also is responsible for instantiating and returning a `MessageObservation`. +While custom implementations can augment the observability capability, SmallRye Reactive Messaging provides a default implementation `DefaultMessageObservation`. + +So a simple observability collector can be implemented as such: + +[source,java] +---- +include::{examples-dir}/observability/SimpleMessageObservationCollector.java[indent=0] +---- + +A collector with a custom `ObservationContext` can be implemented as such : + +[source,java] +---- +include::{examples-dir}/observability/ContextMessageObservationCollector.java[indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/outgoings.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/outgoings.adoc new file mode 100644 index 000000000..64adca658 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/outgoings.adoc @@ -0,0 +1,79 @@ += Multiple Outgoing Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Multiple `@Outgoings` is an experimental feature. + +==== + +The `@Outgoing` annotation is repeatable. It means that the method +dispatches outgoing messages to multiple listed channels: + +[source,java] +---- +include::{examples-dir}/outgoings/OutgoingsExample.java[tags=code,indent=0] +---- + +The default behaviour is same as the xref:concepts/broadcast.adoc[@Broadcast annotation], +meaning that outbound messages are dispatched to all listed outgoing channels. + +However, different dispatching mechanism can be employed: + +== Selectively dispatching messages using `Targeted` messages + +You can selectively dispatch messages to multiple outgoings by returning +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/Targeted.html[`Targeted`] : + +[source,java] +---- +include::{examples-dir}/outgoings/TargetedExample.java[tags=code,indent=0] +---- + +In this example, three outgoing channels are declared on the `process` method +but in some condition channel `out3` does not receive any messages. + +[IMPORTANT] +.Coordinated acknowledgements +==== + +`Targeted` return types coordinate acknowledgements between outgoing messages +and the incoming message, therefore the incoming message will be ack'ed only +when all outgoing messages are ack'ed. + +==== + +In cases where you need to consume `Message` and handle metadata propagation +more finely you can use link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/TargetedMessages.html[`TargetedMessages`] +which is a `Message` type: + +[source,java] +---- +include::{examples-dir}/outgoings/TargetedExample.java[tags=targeted-messages,indent=0] +---- + +Note that in this case coordinated acknowledgements is handled explicitly +using link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/Messages.html[`Messages`] utility. + +== Branching outgoing channels with `MultiSplitter` + +In stream transformer processors it can be useful to branch out an incoming +stream into different sub-streams, based on some conditions. + +When consuming a `Multi`, you can use the `Multi.split` +(see https://smallrye.io/smallrye-mutiny/latest/guides/multi-split/[Mutiny documentation]) +operation to define multiple branches. +The stream transformer method with multiple outgoings must return a +link:https://javadoc.io/doc/io.smallrye.reactive/mutiny/{javadoc-version}/io/smallrye/mutiny/operators/multi/split/MultiSplitter.html[`MultiSplitter`]. + +[source,java] +---- +include::{examples-dir}/outgoings/SplitterMultiExample.java[tags=code,indent=0] +---- + +In this case the number of outgoing channels must match the number of branches given to `split` operation. +Outgoing channels will be tried to be matched to branch identifier enum `toString` ignoring case. +If not all branches are matched, it will fall back to one-by-one matching depending on the order of outgoing channel declarations and enum ordinals. diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/pausable-channels.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/pausable-channels.adoc new file mode 100644 index 000000000..2aeae29c4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/pausable-channels.adoc @@ -0,0 +1,64 @@ += Pausable Channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Based on reactive streams, Smallrye Reactive Messaging ensures that channels are back-pressured. +This means that the flow of messages is controlled by the downstream consumer, +whether it is a processing method or outgoing channel. +Sometimes you may want to pause the flow of messages, for example, when the consumer is not ready to process them. + +Injected xref:concepts/emitter.adoc#retrieving-channels[`@Channel`] streams are not subscribed to by default, so the flow of messages is controlled by the application. +But for xref:concepts/model.adoc#incoming-and-outgoing[`@Incoming`] methods, the flow of messages is controlled by the runtime. + +Pausable channels are useful when you want to control the flow of messages within your application. + +== Creating a Pausable Channel + +To use pausable channels, you need to activate it with the configuration property `pausable` set to `true`. + +[source,properties] +---- +mp.messaging.incoming.my-channel.pausable=true +---- + +=== Configuration Options + +Pausable channels support the following configuration options: + +* `pausable.initially-paused` - Whether the channel starts in a paused state (default: `false`) +* `pausable.late-subscription` - Whether to subscribe to the upstream after pausing (default: `false`) +* `pausable.buffer-size` - Maximum buffer size for items received while the channel is paused (optional) +* `pausable.buffer-strategy` - Strategy for handling already requested items that arrive while paused. Possible values are: +** `BUFFER` - Buffer items received while paused and deliver them when resumed (default) +** `DROP` - Drop already requested items received while paused +** `IGNORE` - Let already requested items flow through even while paused + +Example configuration: + +[source,properties] +---- +mp.messaging.incoming.my-channel.pausable=true +mp.messaging.incoming.my-channel.pausable.initially-paused=true +mp.messaging.incoming.my-channel.pausable.buffer-size=100 +mp.messaging.incoming.my-channel.pausable.buffer-strategy=BUFFER +mp.messaging.incoming.my-channel.pausable.late-subscription=false +---- + +== Controlling the flow of messages + +If a channel is configured to be pausable, +you can inject the `PausableChannel` qualified with the `@Channel("channel-name")` annotation to control the flow of messages. +You can also get the `PausableChannel` by channel name from the `ChannelRegistry` programmatically, +and pause or resume the channel as needed: + +[source,java] +---- +include::{examples-dir}/pausable/PausableController.java[indent=0] +---- + +[WARNING] +==== + +Pausable channels only work with back-pressure aware subscribers, with bounded downstream requests. + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/signatures.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/signatures.adoc new file mode 100644 index 000000000..ef35c854f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/signatures.adoc @@ -0,0 +1,105 @@ += Supported signatures +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The following tables list the supported method signatures and indicate +the various supported features. For instance, they indicate the default +and available acknowledgement strategies (when applicable). + +== Method signatures to generate data + +[width="100%",cols="32%,68%",options="header",] +|=== +|Signature |Invocation time +|`@Outgoing Publisher++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Publisher method()`` |Called once at _assembly_ time +|`@Outgoing Multi++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Multi method()`` |Called once at _assembly_ time +|`@Outgoing Flow.Publisher++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing Flow.Publisher method()`` |Called once at _assembly_ time +|`@Outgoing PublisherBuilder++<++Message++<++O++>>++ method()` `{vbar} Called once at ++*++assembly++*++ time {vbar} {vbar}`@Outgoing PublisherBuilder method()`` |Called once at _assembly_ time +|`@Outgoing Message++<++O++>++ method()` `{vbar} Called for every downstream request, sequentially {vbar} {vbar}`@Outgoing O method()`` |Called for every downstream request, sequentially +|`@Outgoing CompletionStage++<++Message++<++O++>>++ method()` `{vbar} Called for every downstream request, sequentially (After the completion of the last returned CompletionStage) {vbar} {vbar}`@Outgoing CompletionStage method()`` |Called for every downstream request, , sequentially (After the completion of the last returned CompletionStage) +|`@Outgoing Uni++<++Message++<++O++>>++ method()` `{vbar} Called for every downstream request, sequentially (After the completion of the last returned Uni) {vbar} {vbar}`@Outgoing Uni method()`` |Called for every downstream request, , sequentially (After the completion of the last returned Uni) +|=== + +== Method signatures to consume data + +[width="100%",cols="37%,32%,31%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies +|`@Incoming void method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming CompletionStage++<++?++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING +|`@Incoming CompletionStage++<++?++>++ method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, PRE++_++PROCESSING, NONE +|`@Incoming Uni++<++?++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING +|`@Incoming Uni++<++?++>++ method(I p)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, PRE++_++PROCESSING, NONE +|`@Incoming Subscriber++<++Message++<++I++>>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming Subscriber++<++I++>++ method()` |Called once at _assembly_ time |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming Flow.Subscriber++<++Message++<++I++>>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming Flow.Subscriber++<++I++>++ method()` |Called once at _assembly_ time |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING +|`@Incoming SubscriberBuilder++<++Message++<++I++>++, ?++>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|`@Incoming SubscriberBuilder++<++I, ?++>++ method()` |Called once at _assembly_ time |_MANUAL_, POST++_++PROCESSING, NONE, PRE++_++PROCESSING +|=== + +== Method signatures to process data + +[width="99%",cols="37%,23%,30%,10%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies |Metadata Propagation +|`@Outgoing @Incoming Message++<++O++>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |POST++_++PROCESSING (Smallrye only), _MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Message++<++O++>++ method(I payload)` |Called for every incoming message (sequentially) |_POST++_++PROCESSING_ (Smallrye only), NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming O method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming CompletionStage++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_ (Smallrye only), NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_ (Smallrye only), NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Uni++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_POST++_++PROCESSING_, NONE, PRE++_++PROCESSING |automatic +|`@Outgoing @Incoming Processor++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Processor++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Flow.Processor++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Flow.Processor++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming ProcessorBuilder++<++Message++<++I++>++, Message++<++O++>>++ method()` |Called once at _assembly_ time |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming ProcessorBuilder++<++I, O++>++ method()` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Publisher++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Publisher++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|`@Outgoing @Incoming Multi++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Multi++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|`@Outgoing @Incoming Flow.Publisher++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming Flow.Publisher++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|`@Outgoing @Incoming PublisherBuilder++<++Message++<++O++>>++ method(Message++<++I++>++ msg)` |Called for every incoming message (sequentially) |_MANUAL_, PRE++_++PROCESSING, NONE |manual +|`@Outgoing @Incoming PublisherBuilder++<++O++>++ method(I payload)` |Called for every incoming payload (sequentially) |_PRE++_++PROCESSING_, POST++_++PROCESSING, NONE |automatic +|=== + +Note that in additional to the MicroProfile Reactive Messaging specification, +SmallRye Reactive Messaging supports the post-processing acknowledgment handling with automatic metadata propagation for the following signatures: + +* `@Outgoing @Incoming Message++<++O++>++ method(I payload)` +* `@Outgoing @Incoming CompletionStage++<++Message++<++O++>>++ method(I payload)` +* `@Outgoing @Incoming Uni++<++Message++<++O++>>++ method(I payload)` +* `@Outgoing @Incoming Message++<++O++>++ method(Message++<++I++>++ payload)` : For this signature, the post-processing acknowledgment handling is limited. +It covers cases for nacking incoming messages on caught exceptions at the method body, acking incoming messages when outgoing message is skipped by returning `null`, and chaining acknowlegment from outgoing message to the incoming. +However, if the incoming message has already been (n)acked, you will experience duplicate (n)acks. + +== Method signatures to manipulate streams + +[width="100%",cols="52%,17%,20%,11%",options="header",] +|=== +|Signature |Invocation time |Supported Acknowledgement Strategies |Metadata Propagation +|`@Outgoing @Incoming Publisher++<++Message++<++O++>>++ method(Publisher++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Publisher++<++O++>++ method(Publisher++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Multi++<++Message++<++O++>>++ method(Multi++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Multi++<++O++>++ method(Multi++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming Flow.Publisher++<++Message++<++O++>>++ method(Flow.Publisher++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming Flow.Publisher++<++O++>++ method(Flow.Publisher++<++I++>++ pub)` |Called once at _assembly_ time |_PRE++_++PROCESSING_, NONE |not supported +|`@Outgoing @Incoming PublisherBuilder++<++Message++<++O++>>++ method(PublisherBuilder++<++Message++<++I++>>++ pub)` |Called once at _assembly_ time |_MANUAL_, NONE, PRE++_++PROCESSING |manual +|`@Outgoing @Incoming PublisherBuilder++<++O++>++ method(PublisherBuilder++<++I++>++ pub)` |Called once at _assembly_ time |NONE, PRE++_++PROCESSING |not supported +|=== + +[IMPORTANT] +==== + +When processing `Message`, it is often required to _chain_ the incoming +`Message` to enable post-processing acknowledgement and metadata +propagation. Use the `with` (like `withPayload`) methods from the +incoming message, so it copies the metadata and ack/nack methods. It +returns a new `Message` with the right content. + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/skipping.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/skipping.adoc new file mode 100644 index 000000000..2717afe78 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/skipping.adoc @@ -0,0 +1,29 @@ += Skipping messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Sometimes you receive a message and don’t want to produce an output +message. To handle this, you have several choices: + +[arabic] +. for method processing single message or payload, producing `null` +would produce an ignored message (not forwarded) +. for method processing streams, you can generate an _empty_ stream. + +== Skipping a single item + +To skip a single message or payload, return `null`: + +[source,java] +---- +include::{examples-dir}/skip/SingleSkip.java[tags=skip,indent=0] +---- + +== Skipping in a stream + +To skip a message or payload when manipulating a stream, emit an _empty_ `Multi` (or `Publisher`): + +[source,java] +---- +include::{examples-dir}/skip/StreamSkip.java[tags=skip,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/concepts/testing.adoc b/content/docs/smallrye-reactive-messaging/main/concepts/testing.adoc new file mode 100644 index 000000000..c61cb82d6 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/concepts/testing.adoc @@ -0,0 +1,131 @@ += Testing your application +:version-root: ../ +include::{version-root}_attributes.adoc[] + +SmallRye Reactive Messaging provides a *test connector* that replaces +real broker connectors during tests. It lets you deliver messages to +incoming channels and verify messages sent to outgoing channels — without +requiring any external infrastructure. + +Add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-testing + {project-version} + test + +---- + +Then, in a test, you can do something like: + +[source,java] +---- +include::{examples-dir}/testing/MyTest.java[indent=0] +---- + +When switching a channel to the test connector, all the +configuration properties are ignored. + +[WARNING] +==== + +This connector has been designed for testing purpose only. +Switching the channel to the test connector means that the +original connector is not invoked at all during tests. +Therefore, if your code depends on a specific connector behaviour +or a custom metadata you need to simulate those in your tests. + +==== + +The _switch_ methods return `Map++<++String, String++>++` instances containing +the set properties. While these system properties are already set, you +can retrieve them and pass them around, for example if you need to start +an external process with these properties: + +[source,java] +---- +include::{examples-dir}/testing/MyTestSetup.java[tags=code,indent=0] +---- + +[NOTE] +==== + +The test connector supports the `broadcast` and `merge` attributes. +So, if your connector is configured with `broadcast: true`, the +connector broadcasts the messages to all the channel consumers. If your +connector is configured with `merge:true`, the connector receives all +the messages sent to the mapped channel even when coming from multiple +producers. + +==== + +== Testing with connector-specific emitters + +Connector-specific emitter types such as `KafkaTransactions` or `KafkaRequestReply` work +with the test connector. When the channel uses the test connector instead of the native +connector, a fallback emitter is created automatically: + +* *Transaction emitters* (`KafkaTransactions`, `PulsarTransactions`): Transaction +semantics (begin/commit/abort) are skipped. Messages sent through the +`TransactionalEmitter` are dispatched normally and can be verified via the `TestOutgoing`. +The `markForAbort()` method is supported and causes the transaction `Uni` to fail with +`TransactionAbortedException`. All `withTransaction` variants work, including +exactly-once methods — the offset/acknowledgement management is skipped but the +work function executes normally. +* *Request-reply emitters* (`KafkaRequestReply`, `AmqpRequestReply`, +`RabbitMQRequestReply`): Requests are sent through the normal emitter path (visible +in the `TestOutgoing`). Replies are resolved via a programmatic reply function that you +configure in your test by casting the emitter to its no-op implementation and calling +`setReplyFunction()`. + +== Simulating connector-specific metadata + +When your application reads connector-specific metadata from incoming messages, +you can attach it using the `deliver(payload, metadata...)` overload: + +[source,java] +---- +incoming.deliver(new Order(...), + new IncomingKafkaRecordMetadata<>( + new ConsumerRecord<>("orders", 0, 42L, "key", "value"), "orders")); +---- + +This creates a `Message` with the given payload and metadata, so your application +code can retrieve it via `message.getMetadata(IncomingKafkaRecordMetadata.class)` +or through metadata injection in `@Incoming` method parameters. + +== Vert.x Context with Test Connector + +For the sake of simplicity, test connector channels dispatch messages on the caller thread of `TestIncoming#deliver` method. +However, most of the other connectors handle context propagation dispatching messages on separate xref:concepts/message-context.adoc[duplicated Vert.x contexts]. + +If this causes a change of behaviour in your tests, +you can configure the test connector channels with `run-on-vertx-context` attribute to dispatch events, +including messages and acknowledgements, on a Vert.x context. +Alternatively you can switch this behaviour using the `TestIncoming#runOnVertxContext` method. + +== Migrating from InMemoryConnector + +The `InMemoryConnector` class and the `smallrye-in-memory` connector name are deprecated. +Use `TestingConnector` with the `smallrye-testing` connector name instead. The old API continues +to work — both connector names are supported simultaneously, and the old classes extend +the new ones. + +[width="100%",cols="50%,50%",options="header",] +|=== +|Deprecated |Replacement +|`InMemoryConnector` |`TestingConnector` +|`InMemorySource` |`TestIncoming` +|`InMemorySink` |`TestOutgoing` +|`connector.source("channel")` |`connector.incoming("channel")` +|`connector.sink("channel")` |`connector.outgoing("channel")` +|`source.send(payload)` |`incoming.deliver(payload)` +|`sink.received()` |`outgoing.sent()` +|`InMemoryConnector.switchIncomingChannelsToInMemory(...)` |`TestingConnector.switchIncomingChannelsToTesting(...)` +|`InMemoryConnector.switchOutgoingChannelsToInMemory(...)` |`TestingConnector.switchOutgoingChannelsToTesting(...)` +|`"smallrye-in-memory"` |`"smallrye-testing"` +|`smallrye-reactive-messaging-in-memory` (Maven) |`smallrye-reactive-messaging-testing` +|=== diff --git a/content/docs/smallrye-reactive-messaging/main/getting-started.adoc b/content/docs/smallrye-reactive-messaging/main/getting-started.adoc new file mode 100644 index 000000000..9cc19d837 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/getting-started.adoc @@ -0,0 +1,63 @@ += Getting Started +include::_attributes.adoc[] + +The easiest way to start using SmallRye Reactive Messaging is from https://quarkus.io[Quarkus]. +SmallRye Reactive Messaging can also be used standalone, or with https://openliberty.io/guides/microprofile-reactive-messaging.html[Open Liberty]. + +First, go to https://code.quarkus.io/?g=io.smallrye&a=getting-started-with-reactive-messaging&e=smallrye-reactive-messaging[code.quarkus.io]. +Select the `smallrye-reactive-messaging` extension (already done if you use the link), and then click on the generate button to download the code. + +One downloaded, unzip the project and import it in your IDE. + +If you look at the `pom.xml` file, you will see the following dependency: + +[source,xml] +---- + + io.quarkus + quarkus-smallrye-reactive-messaging + +---- + +It provides the support for SmallRye Reactive Messaging. + +Ok, so far so good, but we need event-driven _beans_. + +Create the `quickstart` package, and copy the following class into it: + +For instance: + +[source,java] +---- +include::{examples-dir}/quickstart/ReactiveMessagingExample.java[indent=0] +---- + +This class contains a set of methods: + +* producing messages (`source`) +* processing messages (`toUpperCase`) +* transforming the stream by skipping messages (`filter`) +* consuming messages (`sink`) + +Each of these methods are connected through _channels_. + +Now, let's see this in action. +For the terminal, run: + +[source,shell] +---- +> ./mvnw quarkus:dev +---- + +Running the previous example should give the following output: + +[source,text] +---- +>> HELLO +>> SMALLRYE +>> REACTIVE +>> MESSAGE +---- + +Of course, this is a very simple example. +To go further, let's have a look to the core xref:concepts/concepts.adoc[concepts] behind SmallRye Reactive Messaging. diff --git a/content/docs/smallrye-reactive-messaging/main/images/chain.dark.png b/content/docs/smallrye-reactive-messaging/main/images/chain.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..7149b0201c8ca23473e4d07aa2babb2168f7107b GIT binary patch literal 68029 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%0DQ;M2Ld+rG0x6_+)AIb<7XYYQ`goxNLR78 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 R0dgBr3p1N5m6vWl_&@u_(7XTu literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/chain.png b/content/docs/smallrye-reactive-messaging/main/images/chain.png new file mode 100644 index 0000000000000000000000000000000000000000..eacfc241c08d73d3113d721c4d68c37ccc09805a GIT binary patch literal 96931 zcmeFZg;!K<+deD^3Kn$(3L;WNgLH?qz|h?wozk76NH^oqA>BhaC_RKULkrRaNDVQ> zH>mgXK6gCp`v-ok1&dgF@9R42IF9qYHla!i(hu*E+`Dz_*27ma5-PWDVS;YmLd(Ot zgZj-aaAOGSE1I*4wAih(p{JXuAF$uZXglA!MT~#*iDr>8in>Jf)+>pZY946tw7aR) z>J4=QiVK1Qft+&q63S?JodHh<4CFsJ;oZ)r^y+%h-^KL4_;Hy>7o5vz^8SbOEE7@5 zAk+ur=OJ4oaJ@ibQ|qdz>#8>k&F`z%7jD zx6rUeZ~eb-|DPTHB?tl≻P&^ebs^LIn8gd6t0)wZ(~5Q$9U?aMKv8(jg-8QfO}Q zlk5MAB+)8dk1T$EKuY2~6|~ondOPOZXK|zQWG8)(WYxo@r}-p{hFO!*beEcZ0+XPV z!Pe9Kvt{CCA#L!ru3HTp3Av7Kk#>7uqOO6%k}Gv3VIENycXl1p1`fY|S9=LDDN~Hi z0BH;H{*Mq&p!osFjp{X^)&)VWK9Av;0+edjm&5FsuD#93OO38`k9zvv$WeXmU513# zUB|#0)P~4%CA_hhdxcpK=ll*LpiEa52H(+Z4f_*Y3}&wr^r?~6@FqwGw6=GvLr5`_ z^N#uY8HrCb>lMDC&)3Tp@2KZw=V3e-m=kgO)@$cMf-iTLtRcIDv~C@mbRHX=fhNd^nHEoHslcHZYc zxH2;Iq1l5b7>B_964@tTHezpgubG2^t}A><^6Jx<;0!Qmcd=C&ErlpQ`Smx}5b}S` z@yt*xA8p^7Sa9y#nQVQvnn~y>2cbibh$C)6Qb43mt0tn5;eLs7s~tOmoZ%|tYm=hT zA|gX8uZM<}y(fQofJCwtE<+0D0VOGEOWSYv*(nz4r<>;!_43)L_X{|~npK28{kt(Z z>CliD^AdDOz19Q)b?mwXSth*bdOh?9BQ)3_m#jXo$I>_tDE`RvuV;%f%`Qrt;;s>A zkI`W8NW(YKW~hu>7Rjt7=^4H=_|9i8k{<7G}{vy}f z4=@5#fW|Y1CTVk3A3X|=kr9OP*ll^JEMLl(6A5t5@QhXJ)pKNSNkSFoTB9iyI~3^x z>tmn2)--ePAJCpnr;vl%8Z7FXb){xRgX|CQ8Lne8*j}#MbWE)+`h~$Qwd>$@>?`}4 zU_JqJ8$Cnrp>zF6?@;#3SLPALu7;XYj229h$UW0FKbj_abF1!CCv7(O2+EdCijqNY zn(mb_)9OQW-Plv3ag!mC&Sb2LnMJQ{=RT>K--#0@T<;|M0Fh68=>ICVJXT28-0yGp z`A_jbz)*p__*yOM;1~K7Ca!aSl%nlf_yiy>_@j9 zkEtI`xtp{Tt9@CkNYK;9gp3~u)?jq69N1!W9LKPP`ul6MS=ez2Yea)rFRMy)))UJy z7elP`>-yv^FO%Rokc_?(U`A4xnSp;vX-1s-ifvYN1UzlR^wD=d3FDM}*vzs!Dd99d zGD>80ormp=1>7@1gf+K)-+RBd=C$DvGs0(oN;{li{;2L6#&Jmq^_O7rWAoWby)?@d z4*DNe>_fA{gEH(l9wDCr<~lm%@CL~0A0YLXZTpc$QZoRS@MI(yIYwEIUBfddnRwJ9 zLl3}DSEcM(LFG{nFj$~PBE5X|K(I>Yyfv&z%sfXN_y_aakjkeC2Qm0n!vnyx87#Oy z#J~5BX*x1cFjqo}HM))q&5vRkqG?~~L!K9wXG)$_&yZO8wf4UGLhHx=6m5Fyf{ z_FnHoyqc?{?u>p4p~h8Y444U3Zlt!W6+C;vm|A&-u6J~y*?LoHeHQMp>d7dh_Ob6SJv zbwYZ&DPl|hxA(h(xS8JrqaA%JJ7c<;lgcBHt`Y|@zB`pA3wHIBXUdQ|+EaQ9HT<#? zADDuLl~#Z2{a;9&M#8P-gRo_D3)}!v0{qj$^EqbkS7eBJ2@8U)qO|B~;bR`k3>5wqi@ z+;z@1LkBuwDR%%%X5#@P(qGzmDbq_o42ERks5l z`KuV~zS)IBfb1zn?Q2*InndOnIpz+DWDUVmGcwG5*?Z;Rr2E+3dkePXp}`o~^_u%ENAK7N9E?>}&S8p8qSLbM5{|25~MCcP?m{5o_!@Ha4 z55Tbfw5I`k0+D({TtonPpQf3`0brO-Am^TcdtKL+H^D1zzI^c7G&eQzIu33F$w=xS z7u~OoSqwK@?-zc~K>^#VrF&B|5bP%SQ4luz0HETy%_$jJ5i*dVt>%`IyncyUQ^gp}|^5N2q~ zO^M_Lv;Al?WcozLN4u^KH=Lll8lOK};pX z-5nxfKH@Ax%R(Gd8u`SC+7SAo&i2e=!o|g+W$C_j8V)=d#y1?O9}}`_K#E*<#sDTZ zFQUH00Bd8eUcx`1RYRb$M`xs!yV-jhJJ@(GLsaYw*TW}t!}(=v9O(C>mA(x^ph+s& zX8)srf&#D;{o}#)7U;TP(@L-i)Z`l8CK%nnojk46x1jzhj`a4bIiWCD%pTLboiU$s zzm)6_47kcr=el7p(=|7&2GZpGZD*!cy;ebEh^)MG))XMT$kL=>ewiAV#>(NyzTrj4 z1~{CtGBaF(9@!esylXv;_t_^u>hk|Wyf>k3ZIfLVI{8x5rWFu2yI<+%_Y!drhQ~g9 z`7#~k6^LmI{8-y6WQ%5&6n6|}5Ts)48Vj!zR4g=+4(BrrnwZRvGD?%f_Sbp0bKPa& zv-ID-M!9`lDA0rovel~Uazk!Kv9JWS>`rS3Fydt#9t!qtI96h-h-I7&x7#Gg&b)r{pN(MbpjPU4aY}DY87VF=>f3x+;Vp#Wj3R zQwl%KC2}1Pic8zmHA9$vNiqAM%$~YJgPuG4qzSTZCX#TOZ!7ZT5&8sf#U_=!hrb6G zIQ)Ah-WIphJcjSw7QRQmn+WA>b>pDX-rvyVKYJAA!1c)GZ;(#XF}1Kef(%-;d{rI} zpCjv%#jPL)eu3~L$(rlq-3=j8Yb*%X{&a zF$bf(Du2Bi>j_#)2=3kAu+hGScgnMK4xih#8xhcj?_@!$;jR#<>CfFqO0~C^R7k3N zo3_R8#C`iL**+OkuV`)~{dW)Dq#+gsnuFRWj&9L5_!;DuUi+V>G@Ke*&ayJDo&Ry>2{XyRX3(H@{CB%Plx;W2hAk(t#+5>k zM}qUod*wga40ox|2r4|0Kjqjzd?eg zm1XNd&k<%L>t^XyUEm%wqH7LT_6pyK&*ibchHhrhOO=C$Riz^WVVzbnx0`_hj-@TC-ToMb_0$?>y7y>iKN=NaQa?^v`-KN`Q9?IX|Cg zzZ5dG0wulT+26YEtL=YAcb{LEb4==$LZ8AT0E_CWYtfW2vS$JZjkLy=l|oqEEPje^ zksBPETYivOc{n1W9`4`9D!gH*=6HtdIv(s=Mc|XhZ2;&bB~GbpirZGZBk&Bcyz-y0 z|F0NEefuI>G{rM+VNi0VyOApvEm3Q=7VFD)ENj+j*w7|3 zx3u=3ZV^qx`!K2PZN>5zV<`Ef@N6FlVF5>4KWGGoc@)CsVObp#@9bj7X3e;r#`C_= zt=pPzEt(l7!e~#{;0^0q;K(>m3ra-Hb_()!_VMktAbYawqjy5(6ArH6kEga^><9om zu`|GFQHQC6*y2!LMAEIgL>Hk8V>RUwW0Mp&L-BX(zOJ_N3 zGjeG9bMKFEcT~xZ7G#YTl6Gq#-keRY_sNET(wj54BWD&+PD;8|Hn%$mm5^Ah|M+5t z$TpWN3rO2rOuXbHW~s4K4oYh()O(L-w{!6$b>fm2_Km%GSm5p|^BavTdu@3)5pbj+ zA{D6U><`{=84NF}5R%$#1EsMbRo*pI|BWsDj(*N3fvV$+O<_kcsaX3&7*_8SFm`X( z+`BMNydhQ}BItS-Y~z*U1*E=JZyG~^;OI)9$YoDCI5$OGcY%&^E&WrkK0CBdlRM?m z+w5|7J5gf@ykU(##|^797mwo~x02RuEOQ*AQJ(P`@x^lPZD-<_B>q)6fe-zF?b_ zB5C9Js3ducy9!Q#u^lu;-h(Ij_K z$L%D+*jgkIY%oHI6|4*5v@1cQqr3BXwgE{B<|7E*Ifb$DWS!n+haTE#s}Q*;DhFQ< zr$3S5r6g{9+)JJ# za%cL8SdRMNJH(lu*s1wthCAC=#s`YfXFK7Hv@9vT+VTSjgc<8xm2l5Pld8{a*5Ob9 zWPt%`6pQdw2Jl`>ng{9fIi5+%)+y&9q5TaGbR)q(v>N1FIagY=96cq>q7NokPi9<* zU$YaKzAa1A3v$&xz0ba4g}x)pM*y$6YNr`5GnK2fRZh#FKmFJJz}8?>y@Cl<6yT$-lI|59ka)}v%&8Ej)BLvy67;9xod zqfRq+Dx)j7O4wiG!$p1pGq=fjXS<5M3U)bN;>U2*nz@-j+nBkpF3Z}<%L}4pW8nj? z2%eY6(KK7LIUc0*aR16Bvr07cLhS$-Gl#vl@5p8? zrAWa|tzxZ4kkt$ucjmi(dWadK5wY-KTItVmfF`vz|A zE^$7d+)k6>?3!g2>&3ft9eE}&eTFaWU9)tTD$eXk_cJa`IE`q-^?iYb=vZw-+iEW< z^UF#QYob&+qg)^|UJTI{a2Z`%E3Rj-L)CtDLx7p$0_MlR{S8Y>r~@;sEx0Ay<%;GC zfjGvhR%+YwsRBxFiZz%TycvUqKGK9p&Tp3)W(VNMHn#F5rQP$H@*02=RO-tfvz7*T z4cyf$YPDXmyO#iFU{9G&Nq}J;W>#68@bq0#AcNrV*cFZZsxOG4ED6k=FevB+7Ie~l zul}P})Z3fX4dka(g4;Qgab@I*{e=LyindEIkveYjk>;NAgMqhy5W#RvLwau%DyHPO zHiq3Ri1qyKgptnr?PBJN&u8*l+!Qr&RqI>?xN>|cCZE?{luc?IFcN5JGP2~J*QsM8 zMvbd%Lu_;PbQ1+2p0zv8%-jda%dl&A*sK|-FRVq$1H5cVRV;0BeZ5xO=zn(mC)slq zZ}+SJyMvSB+x3flo>#n8WblcA-{@Fm^)(K}*X*TxE~P^JF(!d*uwC#v7i5QKR8wF^ z3OD092U}%oaYD})TcwL#gRGAgw>7Lkcw!<Dx#rAQU6Dtj9}Ow zjmD`CqYY})7XDlBV$Qo08t?Dj2mFC8qU1On@B2w6SrVp3uqvTX%G^A{&XR+y-FgPn zS2HJPmgS(ROl?vP^#`?N>E-DqV<#xa>#IvHO!TXu>^bAF%hEx>F1K3j+AQRrp(>eM z`(i~g?0XgH0isQ1vnwF-qFmD=s12xVVo3js_hv?+dMr~T9odEdoh=2b=ygT&x~Lu~ z(Y8TO5J2o&8hlSa^E?Xf1dEpa&Jnl|rWy4jyyk!@(~Q0y0qo8QGYV;fjdtAQ?=@?= zmBDYb6U1HGhofsk<$1Z?a#IIE-tPxGS9^M88(3(3ULm+(igIT6Uiy^QCv5dkCC0>( z8QhpUx?thH+3HX+i0)FEoiyvI3->$e3?`3fo@dJk&H9L!tl2}g$~994etHzM>K1nS z4gbC9|6{3)qDz81U)IKf%*KX_%GxR1ON{IUMnY2*(UJXJctaA}1gdg;P>URpVl0@> zVo1V_l+QOBz79z-yQX2Rtw_#3w14aK7KO*Vpy)xb#u~mGrgLqUvv%qG(c}t%1Pufa z-{{|z7+)##9pqbhF2reQTA^=&`S4_3VviO@IsIsLsTkKv$Z;M`>k@K13Osh8%nS{D zX|bHYTJzc#RmV{By-YHY%4`ZMuO=d)F@TD>%Ele7IRmDwZb$Bk@cq*QxGZcFq71V! zy}Aypx#zD^tBH83%{EmiBS4e^dLlBceev3~E#_e#3kY^*iWJf!a&c22ajtUjwdHjA zajN6dAiZltjJX?o4;CJ0LD-4^e+K%C*+ip6i)#Ts`ZOp_amGW-Xe4GyW08H}U<#0$ zXXe;X+8jOCNK84shEG>j5Z^(pmbo1RT%MfFY)n@)xHui11vA3 z+`m?xMYXyunO5Z=i>M=B!iY`FW5_5DQ;+v@4KfE19=Y=XXm5$)RA0%ZD&)`%Tbusm zA&nNYn2q2ix!R{}l)MMF*ZG~zYv221w&2&jy11Cpv0hF{Y?xR!g&{xNhCL14^egCZ z@k_3^-KBv@ zZ)G;>!%?VR+d836)=qv+#ty{#%3ZVI75vW6R4t-0;!*g!TxNXPE+y%wYo0w#$WG9E zqtam;UBtaCAoUgb3L%5qi~%XvvN^)FzEMyaV3n;)rb+nG>r&McPv~guzAY>48*Ed#^REll?-iP`dB>&HS{j|T5Xn+;lz5gH*6Heg5!h*%N^oeJzCFc`h zzDR>zPZT-paC!mZKO9!Uj)BiuMT$WG)yJ?jK)-Bh$%rYq=obw1xS%_$>$R-}{Bz=z z$%5Uv4VmEl-4aov#hC1)!4EB$&QW&A0@$3*L=6pzL`O$2>d?+-g8vaEfu0x_IE{z+ zp?{VIBP)#et7>1|-`2?3`T<`={ndUq6h1Tk1}w%#vP*yM8HAB4^L?e`z0K9C^wIG# z8CeAFgWtWF|HL6~0Wr!S$4;LtX@B}-oH;NnD=S0#>H3<{-R!8tZlkBh{|GwNyy9y+ z{eQMx12D>oBkSQ~U*l~$kq2Hjx8$yVmtjJvU;8DbD_F3f%vQecA-nRp_~$0Qp2rk~ zNR3MUdW0w$p3Kn+!cTI?w`@&4O2X8xv{axQ0N7oe7;y~weAm-g*-H>Fyv5*~rkA7b zKf~f!EFkv3_kwxj<&f^|kwr|>6vxzP8dpc@MLTzHdc8sma+cj4vMISWQj;{ z;{J@Ltw>QtMMY^nF-TrJFYi}`p$*1iE(z?y)4!P@6dt=F_}thlU*y?8nJ02Xx$-z8pBow37h&MR`#_8Jk4V9yLF-&q zdPYQo`SVYaqDDSG7a;tP8F{ToUYD^2a}?K^w$T@NPnT8i(Wm+$=u;{8W? zxD|+tFRJ(G+smw1KX3o_4TgED<&ivg-)2y{WX`(f(Lv9pBYxTnewxTq^cS3e+La0| zuM2BMIScsb^_&x3Miv$pO`R*!r~FeyeWq81yeZy%Z5tUF>*8FA-K=Wn#jLCb|IEt* ztQSsvY9VjCe^x_LDuS;^kBN)?>j;n7NQ8i@#y+kK%YGvpcM}y=+5e?K_Kg~4*f-CJ zb$)yJl~HYR>5ddIcHbmY!|mP5T&-pxBbUiphd~|T?lyd@Q9K89f6W>(3j1dYXr$bt z0%;<#D*S&g(~<#w)@`?0gDR1gdBcVCTr^UzRoC(4e1+yko9;Ia|EGTc+>O@FZkVKl z+zJLF5tOn4Fwsg~O^W2B1))f4Ca=4!V3e z-uoO;(qHMgiDl{7=3vPXam~2l!Fk>sv7)ybT{SY;XL@k^Uvu#V?pNaa|IinWx1tUX zdjXv*x<{|)c6SVe4l@XOa(;+6^SY-fh?vYqk+m^=pt?z$zW_C^mLz(Fo`K{k{1>z& zrvyl`IwXF)cqD>}4aIpw85=yoGQjdFyKTiBo;*Qgcu+22hQ(B6;t(K4zsmH!PykApZG)q-*dzoUd{kIa#7z)j|F*=b$R$P*BnwR}CZnRg^Q)(U^DZ z^m9N{a!SHOAg;0zsEG31OM}!%Qw0G2b~i1+Z=?S zTf9#!I~|Aan=WdK9V}AQMSJbzC%^8u2uJRF@4hs?|Mx^-ltPg@jR#x;KWjG{mYSky z`0-_7Rn?&ccJJ*ol_=+WVZQSSiM0@KN7=>vs$!ej)6>)Ae_syn&2lmagnut5{Q1|} zS#SS`uUeH&oJJXUB`6msqEGPdkuP^ydGAf1o?do$ckdo|efv40mcfAEj~qWg-qwxl zGqo`>&ocwWT84I+l;w_X61CXcsPhs6^L58Y3f}2vN3Ga%#L5(3(1$x;&TK)WiS!k9 z(=0g?59=(+?e6LFoisAGG3W8)^_jZ$Iv7S@cp(uxQ*>oUvFh*sZvd4^kDAo;tQzN! z{frSMR*Z9RZ`P!Gy%&=2G1iKYZ(m{flmFpfxMm;>{S^)E_*m3lUS2u?T3S^nW^C++ zs;Vk_0_T-Y7i(@J4hkN|C3AM>Cj_R0->0~W)zQlgr(MUWmuk0W660iMw?Z2L-@W`2 zZDKua(92h=yqMrgu_D)TcG$i}T58A?brGrYJmVTWEy}}+d%)hsy!yM0rMlmm(p=8D z-U_(+c4d0yqN#h%Q^>qou8iv%Tr$!8NgM`Xz?Z3@jphBl8~JH zHu!u(#e3HCn1nYe?B8m0b7{=7OFL)P1fMBdVc4_RaZ&IPLQPdj-ff?A95Axbqw&zN z@t9FL(s<2S&NUmNTgpzMy9e7VRM!Xsj`H*>xf##RFJZAw=_0EHF2Dz6(Dh)G*GO zmAu2uAD|e}Mz85|m7N_4Mv6jpZ-zoH{@PT+-BBdFW7_cO`7-vbtPxPB_riX6KjZ1o z{Iy^3ra{gv&qBbyV1Gs@ux*(?(&OhlDrM*j3}On@6p_f!~j>_xqFwjG$H!vJq7N>2I5hut^SrWC>U1O3%6~O zXyA@?vs2egIkRJY$wL2fNJ5#k&wAF>J_To8Qi(vED)y88AI#B_VaEqU_vKFItgc_# z0exIC4bN864P7AtE?-jZ69uxJDd-+WZ|FUqJmbthToz7~qvFq>Q~pBoZYQj#(q)EB zNRW%mb@9iK9|Z{fEn-uWmJ9XcO|_hFrtGZbbFG&giG4AsBR;>QloJpr@!Boi;CHnp z2@jC!Y2ihYc|(?<@*#>OK1SE-owFsfx>I@n)QsB7)M$_yOizvq!j z&}W@}&Su}D(_|1dcPH|Le);R>mz48fRvtEli-m$=2MrPkgnfE;v2877a=+9Zx@0Zv zyREB1Ztj8C{uTS`Mbi7?`{>@T_K_RaB$cH@#3}x~ZCtUuJWkWIUSj(n^3GzopZYo0 z-;t&eaedD#q<&1nGIfhV{ZF`8%D}({Z6DT;SpT9u?C9t4bMD9_WDG`2o!Z8EHv)mU zPs5U-OF`ZTm404hHI^5NAJ#-8Xg6viSEO@+%G*OsHUZl@Lx-ey^82Gw~(&pU6e7|TZpxL{hErB zcWmwt#uEcuiyfLsKDN5T5C0M3qV0JBHejtL4LR%TPxu@h%p5wn+GB3HM~ND;HiGr{ zpKd=Jm>jblsS@ia5_6jxsW@g6Y%2{lHoU{2zg|SH8Zv0P>ZHM4}9h7Yv zn>r!B^w=}Br)~87I1$dZIv(;k^f?S0=O=I&2R}Er z`6}Lf%_ZAW!Bg@v!PE8c?p(qP%*KA2!V!1>q%5n?msmbDyYCrjHUq6+nugXb1oiGt z(k|y6i3v5`f^_PYPQ>cp;%lOVG<~hy%@4z_XZD)3?h9?`!qAh$VR>(>+No`DLe;Ul z;Zew6W4Jkf<}ID#H9%_gV(TGih4-tj;R44L_2KxV2hN}R?S^@WtY+&RuB{3iiSdVf zSKoc5Wc@`Fj0mx9#|k=IUCwJ_JuYUi%)i?+9K6+ceQVsdM;v29l+ zqlB~~Uyjo+qTWrTD6kHZh&ADRp5XPuIM4a>ymj>lyB=3~m9ZVot@TTO2LR>f(MPG= z`p=b8_o9csUkJFtU%ae0&yi9iw#URem1ddU9o^ZvD~Suz3=nMknUjH%xD^(`!FLKf zX?bjA28M^&l9A#ebQx(govA>l4)HxsT{0 zu*bW>e1AY*w6=tD7!wEDN$M2V13Mr*ZT$MnC%fY}5Y23d$&AQZMvAWw8TU-7Q7G>| zdeN9Qv=-ep_lCucfeV7mo9W^=2+2>0kH6Ykj!=#ZD;l zT)SQU@vAuRLs@G$wuf`Ic{O6pJ)Jx!G>XLsdnZ@luaDwS;w09+OVn>0J=9J7!i<_2v4yp zxTOO(-+Spe0?r%#>Y5KWIv7)?wv?ZRPpOV3JX^MXR&Ot&s`ct8B;4*Lk>*?!(`~@h z&zQ*?HgX6J;Ae1A41ck5(OR=|DO;ow*Ls(Yzy0);m*bk|C8CFHLTAa{*&i!XDqhzG1{^2%H{jXWsd+JI_qr@%{iL?RlA8~mKcm@-+P1R- zNNh~?ZoYJ=K{?I;tm1Lhn#4C{U>%#uSnTR#K?UpZ7Q#R+CoSY0d2ZYO?y{V0W_A`y z2h2Y`e3~t3ckc?1SpD|9KQ)JzGCB!`dp^;Lcb)x*h0Pr;9ufU?k+w)FoXNq@4UO9M zyyPMI*60n2oz26Y_{o5k=MQaRiiEb~Ij=wxBP{coZkv@|^Rj~aIVoc-^9eJRmQ(wV zGB?!4^&?JJm!F!IPiuI2JUl#M6Hili zk-BC;Ue+of*4e8OGuzHSY{b#dN5;A~YHH_u$Ge6Z=AT~NKPyQUpj{w&wptmvz2*~G zLEEn}y;fvAc8Y=6x^SAx`ntFK5xaxm9kQ)v*~sP&4AX1e9yYa=W#{p?H8+>%naOFK zA{)7E@eO?sU06@4x4n*599>(N3k<4n{=+Nbw+<}95A5jZ2tV#VlbpHCT20PODLZUx zY-EY2b9X=?r8@PCV!Wz4deF_-!_ovDU*(<@%l$4iU__4IR8BH<-*bOww#~ujP6AYh z1mk%{GX`f^y{aL)UBu9ky$p(r@31lATCkITVzC<+%3&l*SsbPQUJBaaJOK>aWbdse zOBSXUsv@Q&7~G-cSQ{6wwrw9zy<$rzcx&ey#)dj)zgN&SA%{)y&JGyHHb^VD722U( zs-E?&i#z{E0ke)EJG;plm(7zh4Gb6ggA;as794%+mYZ{4GM>K#YWo)M$5FwI@=;nJ zP0(zM{p6%eZCx91`M^H`s!34_MDJKRcG-V1F_lj$MoRNTIr77TPS(@D8`ek?6;SrJ zZ|{1N$M!!xzc>kqjKk{D3FJ-|>ox8A`Bb&DRW+48{l z4x#goW@>tz>|e=Io*tkDmn?2xH=Aw8a8WGR^>*L6=Z#%2ot+a2cfH)5bX*JnOhQ;9 zN!P8;!uVi#D9Wb)Ly1vIsR2V2&VdTsoJHiyfEVk#@vmP%Gg_Uix%i(1e!kiOA#fEk)fp5^4fTBleb zw!@hy*(UYW=Ihg&VV0;JmQ3}&NDNG=<+in|^XmzdHu6cTOTVX?p5x_n&7Oy`I_;KC zU7I|cK8}JOUT%n%hH^0`64W73roe#R+4N`OQf*rcRTK|c1HW$(4q~^|4t0InZKHKX zON;AtxR0wlJ=yqCZF;h`H@~NKo07sdIar9DK4>v zLxrXXXC^03mB?%m2-OX*;6*UY=Pko$1L)_HOI_z znBg=KV7RecT6jYZ>)Nu@>Jh0?I013V+gROC(~~Vfi0BcMEpMj!Dr#QLxw2L-Nb1-a z_KGB?rlrZ|tHg6~aKtyc@730@h}A7fzRkb`&I+Y%lh~&F_K$HFfm(GraW`4RF;Qu) z<&^MKfZx0@77*D#@%BvD)#k_ky+J-;PPgzU<<}@}Z6W3;E!|VBHeBrLKcdeREu!FQ zl4fVuBcs>aPfiYKBdYNJAO(FGTnMbjM8_@gM?aKev1sDVe7Nki`@K(|Rt^s=GAwI0KnIu6&#e915<+Gg^q1a>9^!wMOV%AnT0B8x?ySqo$z8>Y zR3lTW&=reg7M-)wWtN#KtXI&7qJ)XMdvU$S{9?_t#+lCdlPg8SMAxvX>iS)=&f4dd z{>IBbytG3zL0@4s@tro?)#K88BrSrNp3n}g;IoYR&%aD#=!_Qk7$*}>?0KyYf zv)+yN=(deC0phd?SSM zFt|35^8w0Ga_EieM1nD^{A`&!d)pB48V46O!?t==lhfkK<5QvY(KU`R-MwfKZsNH3 z&f7ogHbQ2C&Tnc|?8wN-d`@gH>$}gkl?q-if$@(9kFYT%P}4sJ>l4aeIC;_^(f#h4VciXkKp|#B=Zc8T5#8BrS#>;D{~23+d^}HeO^uLxj*LM`$a#+r zagewwHTs3BBM;-Hm09ECEk%}zMc;{#K=z%VJ&*PvYz*>VC&J)!ulgkgmMqchwLwKC zM|YiEAFilFsxzD^*M=p`{9L)x^YlsFQypPeRFC#K69&7n71j=_Oj^sew*tO88?=t* zJ|el-8rrYs%!ibc5gfCB-UI zF-D`DvxEvXr+cJA`vHwfF8F5T`4SehW%@ie65vt>{qaozHE)Lbh)?ljzAOYz$?_G9 z>*rf5oKx$9j@t8c6(g z*MH8ko$novF!+INiJ3&bEfh@T`I|md05b7j`;zQCr6z0bSWg?yb8{Yvt+r82GXpdB z`NPL_cMR{2HCK!Rg#791me&*M{`_A6BOCQK#Tr1!)`r1EYOheOPkE#G z-9cOs>FKR8F09~p0S2a+U8^z-L{%fua3|EOgP)}+{-h!VF)uFQSFNp0`1_|jULO9D zI^#N@)OpOFu6L0H`DniYQi`fkC5Xh&)YwSia5!M+^`PFbrH48M?VnYw!26Nn8_Kgn z``*uk2Xj!9NzpX?4`%Ef9eK0IYOLQ854(Ak>m_qChaMiCOr7s|N<1G5BA+N&T_g^r zy@x&sd>%it^ASlX0jpt4CdF?FL1pgC%--JB4=kd$!%ImWJuAP{{eH1SOCS9ec0X|; zHWFO$%^^(c-C%!f!jNgyEI03|kx-|<-`@DRKi#f^e{1SBZhrY*OaCF^ywcpNqGs;! zLY0N0&T>1qfAetL*g8&{=6y*sX%>MY(G3#mw>ftKpTX4pe^&HH(FZxo&x|~129w4|W zJbc_j@0UdgWNfS)9Q<1sY_I8Y_wLkWs~2>c`EIX9=}is}iB=*AZj52XhT%fS%)qjp zJXf;pB(KVzwr)W$)izag^4LH1>=^&hwf5BZruaP1OsvjUKFO^o>Nd50pnw`o8fjx& z;*KlS!}*HwxI?$8>pJkO|*F)axm{L4W+fA*t4)K z&gJZ-+3}0l;u#|O^$zsF+ZJo7D(U5X4Pjx>es!f`y~3}jdXCyA-AP}oKfFf;udAXc zRYG_eG*&*3zRPUz%%P1fgy^YO&skYni{fDqz0dK|(o)@p<0-|hKt6OGCYN!sMq+Wj z^e;iE4zJc7^mAZ3&pO17qheYg^@`?y+qV5xzDQvR&OCAb?w!jP+I1Xz6;$_VTS!Pq zu_oBA$?ejSJ5BhNT43KkN};j^Pk9^HqI~Xyeoi^i;xHmI z6nLl_dh`0Mk^p++&;V&eNqu0~F50ii4eX}Mw82K9d;tM^p(W*h<;B~k6+uy|HDQ+A zGnbmSkG-j3JtiR3ISqnRe^m3PS=lpVk05{Eo^jXKbJyv1gUC$CJmb@y=);TTe9zv) z5J%F*Dq3U=QKVa+-GkSpRs^W$`eSgeDk(c^t708b89F3Qng9!3AokCr52msgd z;_*-ITpPCHj}Rg3#6w}@J*lel@x9}>sLTvjeM>ObFyZ!WQJBPswLK_duT&Zl;py>_5L_iO%6bU>OADotUIu^ zb$-&YQ}z1D)<(L1PL?mJ8BA33N&QY3+EE21#?cG^WVfTGiy^o_FNtsYXHCW70YMh9OtbFwdj9vZ zs&pdSXV(gb?kBHMY2)&Z@reEqnRsN*n$a)es_)T!wP&%K)+GHwD*EKWLwB|EZssf2 zr`y8Z}}mU_}Q@m=tYbk@Z;dJ8HKPV&)_r&%O!Y zrOGH-q_%@7I1+GFRS|pKcwW>IeSdRvM8>9gFg&nc?nrx=Z zIw-AB$3&k!g_=|0p}W3%UZ#;hS*kll2}%Zo+3qkB{V%QKT0dZnj!*>()(==PHi z==QQE_Tj>K?wI=YW%R=t#5OcT=kN5|40*Z7xIU~z#j#C@NqXjXFDplsb6y#_ zJHs&P1vp`$?0SzJ;qIPMZ?`@~iW;^oE-X&DLkV8%2Do{a6*So|Xg8cN~f1j+YbH z--dfC9rstgL;bUpkG-bd{3TT*8-atP7U!thc*!F)Aw>mZ@APre9<&-PM^D#Ba`Sr= zE*RcFqPC-Wg5hWl`8905_R@zggEuc z!=*&Be0|&x*9LLa^?B48B=}J&aeR0bygsH;n zcWqbjpWeG@^|AL&8b&xE6WW#{Wa-&+@oLiLWL&t`?VbG`s^72u7-x2|SFp}t$IWEs&r24KvxiDQ4;L2~38Am&j~Mrk@V|xgPi80y#FK1ZKB~!l zbJd*afbWeWh!RF8yYt*MUBxvriy)VGt!mdf(sw#GvaX+AKAS6{Nf0hQ0&SniH&vKp zT3$Bmw-|qUPhcA;(js%7fN#gvR+M&-VyTNWB=N%)66j^gWQV%tXGKxNFF@p8VhhnW zd&6+avld&8@!7r4yNxhP{a+Yl17E8`O=%Fh7o{ zmp;+jA)$ATabos3GU`iybu$fFqQwm-Bnv3;21_z4%+W17=>`30L>*l^CV5q%ph{*N zbK0b!G->1Y_E-fm+2q%wO_hYm4b^U9ne%KT&i84g?dQWTVR?>Sr0uCLYpWnX7~-sb ze0zyMF=O`sBkC)|;^>+v2MrS3-8C>I1b2505?n*D0KwheEm&}OcPF^JySuxy&HL>> z`?qJNr@Q)A-BYJdRS%v8w3L3kJb-9N-yLjh{jS48 z?)<=P>yd%O)%E=pmk{DaF2=G`E+JpC@eJte4v*9(2Rl#sF=v;FyY$PYr+=I@6Y6v2 zU3M>vMg5Gn@TX^kuP)&(xp~Mg-P_ySFn}_2Olj59GY#RD7i&^Dx}#@*)L0w z1rl%_SI9@MUshkN7r64!sM%P>xkN>Jt&VXu*A~K4!jLHFV6}=C%$-jOa;A zf7{2K{^%}#AC>$#`l)-hKtuY{$lAB@_!oY>*GMgAky4l6y5h@KBHXbhYgH#=vK~*- zL??_UMu4c1NH&zk4;^iUE>`X$jrmV^?Xi>lFNP{-V`i%CSU}aemh^LR;N9K9&RE=I z=k}+jycK?hLRk!DQU=$95PqSo%R3++PMcp`a?SLR;NQq)9iJuAFGYM1fVv4T1JGTu zgr1X=lf0{@<^=Zs&{vFvH#L?@LGqgthY}BdIr@D$7Ow1b+ZXGm(>BeGEQ;*shjSot zvW32GH`2|&kr?}IjrSj-Rfm)K^offxpv?{GrhjMlRW|vwypRHUyvHWH-$}@NHXW(i z!+uT@o^#Fx}@YJ|w0myp=cJlGTDA3{jtIDRdC3GTGyyE4ZN zK1u*_74_`N5Q4c#bR?dL7Jmkxl+1CgZ1X61bQ__-X~Ovhd9~3uD2{OE0Z84T71c$h zR(9&`KKs$dwVlEHfyDvHFr3U$QjaD>O~$__6jtlT z%+%8lOy`cD*%Pz%^!a-%X3hqUU;ew+u)j` zxk@mc^hYpUGH%I%bg$j_Q-n@H$YyAB8$TpL``bk>4kw@4iucp%aayE{G)uhPtT6(&nM_Ae0>PN*Zj4rILkfB4v z{JinSg0;V{T{AoyKoNVI4x;(&1ffn_caXKFp#(x${9xg<(A(opW5XwUSfl$aHDs%e z4-`TQO^-fK`sv9`c`gR((=HX%d!<1XJxY~ZJ(S?(-eg^Cm-Bi~<-G0s*xtOL#Oaij(^=kVOw}~Elw9+;c1apy z$1628A>W5PvkjW7v$&IqeU9d&c%3kFSV*q&ONxY2%r+{Ml1 zcB~E@H#29h#ovzhq!`)kr!+*`>_D&5gJWPDW|fsS;g#LuM&ip}_d1CN#(L;~>S1p)06Go9YAx{32+qWl zz4u6Z`=eJtWK6>Baca9B^Y!K_+#U&BUBXbrTa4}`***F`G8`x1L)eEoJfbdapmW_# zjPz>o)_|8he2GffN*oRzzH()cgw;{cyDXW8&h0OoI?gw2)}}`5aWn3JZMt8Y6&T|UUaYhP$cprz2poq3LUMfSDUzR{Ch0P(5;&Sdo7vrsg0I%r$^ zn*X`VOe6p8E^`0wwDnQfGsokp#q%XgG)~Q}b0Vwp`xoZs&k=K85YAVGIGx+Gu~JJ>^hp-{PE@F1R4l;k0(LaO&zVkejZaC?p*L6%(FwP#9aHf9TfP2T zYpGzB0IfQQUMEY*#aI${awt>0J8Mx}3NG`v_ybwofQRvm)o*U)uR!rWUhu+#1$YF* z%<$kk48HDftRr=_gp7G*9bR~MYFbK4iYW<>Z^ftq8F*_7`6P3bgUJW248lR#xnA z5Baw#Bk>u!6_Kr~&Z%;+T%bU5=cbSjHh_Tvo=vkl+8=X`Dmcqr6A2KZ6_o` zs}7&#w`2OD`QYw#nI_ecsc6V;OfV&28zgxF6nJNA&bb9fq%~76IB!@=QtyX)e2eGL zFY;^OLQf0RYK!tW-9;F0YyWWBZT%r>Ea^pN$OR9+D{A{Og2Vu~a+aH02*6CRf8o)c zQ#u&n!wHAQVQLYF3Ibp4bi8BKD6iL%%PBn*%P*eT!7zr|5y2JXCsq8s*y4E_plkv5|<<5L{PT2m%&9cYihd86W z%CI;r@E?@kCe&NtePcWpA^>7ZetS2DG^K*gc2yqnsiw&aR*#YPI0B!i#y)aCAnTuI zhtP&X=-%PjlyN6f&{(^MK5ag0LmTOO#)OASSEmn4nw@n|(CD*Cm_uZ42ibMloJBqY zFmIPM!(95cN2Q|g47iUj+U!iRpN1BvKZ)iSGh*)trGcSj8_dJe46oESbdVB0?(C5+d5 zKbX%nOawh&op{>T9~z!_zIUeI!V92_bFnVEOi3LlxC6HrE-S#ac9o6j%WJQpN$}I` z<47$}hHE=OsmaKVnVM37g90o=Y0m8ZqT+p2eHp)d1$iH#m@yaqQ{94t;=i<4%x# zm%PE@yHsaoJZ*C>Li!O93H9Ft8`;H+(SWG3Fxq>BG6Fc1l{b51L7m(gRjpb7k(cMf z>}*5ne`)WZ$_fjhp!#oCZOzLfzZb1hAm|FxUQ^e8n9Se|Q$H{#dWgcC4H>!<`kj7fNc1X8f?+Cy z#G3B9=ElMyn${XBS87MNJZL-j6VN@I{r))}x%++Y1GXe7AGhZ3wHQ6ccF~v|T)=mN zy>#@jS`#K{N^fIYo;47?2d~mOU^Z9Q0g)#)fVWPR)Vp^Kyn=iMFi!JI0buwcoG3QHBG*JK7`4-TMG#bv^Tf>f-}%wffK9qAM3{h`L%Ms!jt$T4K}xl4mJ5Z&pYkq zbqXP7H&(@`7Pqv*EF{??vF|9pGX~?T>^BL(XN(i zpb!nXSXNxzuo4I8HbdFC-@LSu%!>l2v#?FS_vp*B4u<%I*%P-M{*?}&iJ zqUcxP32{+J(Ou9LE>ZQtrvf|O+KR{WYeG;{gkzs!W%`lP#!;Mjy+^bv{CN4r9@DP8 zF|*Zox8IL72I|2;k+_JaqF#^aV_r`|8X+fe*)VA1b23!vcgL%GWN|9MoXCyDkJip) z$^(eru;dwm(Fb~tn-f6HL`BetV?l)gW?z+BvJvZsca-#i5XGAP(R@WP-!vb*Ki5UG z0nT(I+L0DLSi|9F3l`6Y0jOV((z5W^F>NKbB6TJ5R|O@Ll;YQ$KL_blD>-W+<=^{- znStFN4$|cne-y`-Pz=1MzYZ|HW|9J9*007nK1Ey65*9#ko0QV6Y`IQVKnCA=W@aR^?lV9I(=tp%wOT9~WIdmDW$L6L^nrFW- zyb<8cgBTL|Q&i$l1wZb^z}#})4JAhgQrWSd=*PKb(ekR#Pd*p_D#RGm^EqCifyRAr z4UF-(z2zG!eBO%L8>Rooa!@E(Zdb*ae*&9N#{>_R0tD`1bt=$<<-JRuQLnBf>JrwV z1&yGHYQh4kv3=%tYPd`l! zehwM>ck58_;(76yffKwIv$E+wWRXkjDW4s`2S2ql7zH%RDa&^--AkBQ0ue}Od^vyS zEI0)?g%SqsR~z;A8z5xcfB9<7857b|$HHpIh2l+3mGL3m8Q596s;y!-GnP4W02vMjn{ z%)%o(;DMUE1gf`jPVE01aC&ZMp_)XjDL5jSskh@B*;8B;zn;86*2UBTKtV5%BCDTY z(qn{vIkO4JQzC*UMGclfUDXZ{wh#xKi?4?F3nZn+0NXAw{8#%oaE&ek2j3l8`(c1v zWkH0HjkXRK@dri~InP12{&s2F>~fWb3)527{P4d)XwqaEcW1fZ)#WMC2@<|Jmk!Cv z%e#)*>CBu&tCjqoXfwH%j4wEP>A~lGKw!$Qk6Y(q;pTp_{7<5(Mhw}MNslXAu=k~V zXGc)B6xGBMGC~P>wu-?ymJGc$1;QdrjB%GS$iSr#L-2CSVkw4w(?B)f0tk5R@Hs;l z;IjXalm6QX0a_k#fd0BB5iCaX6vz44 zyjNbtN!;yhmg+1%^chsf8dUcCW+@u?T4#C6=BKV5zTK4HE!#%IH&yHJN2IkQoNC&Y za(@1JlJ#EcH$)q^dT|%^IBJ!fbq4qf8^7pEfi|MU5CInamb&fa z^2S49RvY!XBcDBSn8lg-t}7%qdFn03^91F`cB~vaQV7fHSP8AEdgp5HPR>L*Tu3tN zC|vxez2FO{V`lgv5>@Uu?KgC$nOolrr)^{Ozn%?aeC|vO75cuVpR$(%X6zq58G%+< z{7^D*`6-$H8LEi{WYg^QuWg$i#C&RWTmH;R3?Re{r^(qNK<>crlPlUqsI=aQYk?yp zl;Kzy-h*mZUO$J8!C2bJQb2$lQ9PopF)L(&0BDkT1VZ1E$pQ%6hrV8I#|-W#LlIiY zuHwj7>?yq%*Xii8ZG3e-(x^4hG4 z)ZUGCrP_1X$q8eES@fpT<5M#>i-DC#s&pv4jwU7O3uEtO)ce>!S|I_%Yiu40n5y~B zZY);Aa+#j6rg4`m+mn1Dto(^{`kw&GXZh&O+vAdzObp-&JpfO{qRzLuKc$O{ix0J) zAS1!^{=r)2I9UBT0@SoaJqC&YicO&c1&V9v>#QQnZX@jvxkNZz+K4Yx1ft9n`y-YS zb#+fzyVLn}5w`haZ0UI?4TC)_VGl3vt*r^>IeUNgbUIPt2)yItySrG-9_BAkY!>a! z(o>{*n8JIw+AGHRo_HKnwH}y<{@{nM9F?oT+45?f_qMV9Pw$22y?y*^z?idHeE;yU z=+U{bsv%{dVY5nQd1}fK^6NWXB!@KZ1B#O7lo^bNf$wT6R2RrfuZCYprxLlaLTkVA zfx5KcU$5!Kn9ZuT*N-zbxJfd30uo?Y)zF)j_1->%NVvS>a*`yu{PKi?6i<)os|~u+ z!fBGH=4KM~VL*nVPo6R5P`zlVI>9OTBUS7RKPR>=-z?Cj9sT<1@#HyfxAkf78r?W; zJ@)i~^Y@NMM;frD{3QJxD>2+Wd;hc&CuRTCwe$Rt?E5WgveER5&4H%W4h1oA>1vRo zJx06=pKTiTQ8Mr=Kl_6@jlu!BD zGfw_)FJm1M1tPfi?}XLs^yfGY+HlT79(S$>`MCb)5%;^3w~)~*D(>R_fpVrNS8RaGnd$MD*RHH*M|^5nDf)Pk6f}jugR*ie%sLp z=MH`mt5VZ-^DcGqG&mB#BzOv{Fn0D4uhh#ViH#mLFq`CgssTH7kT z=^b(>Sq*g7c38nYUBvZII8P1T!2d+HcG z+vfr95tSOU35}K>TpZrRB%p7`WAR?BCxyIla(k`8jqV5ieh2Xk{$9b<=qjP#H#q7B zT})CI7gefC&5RggA1vN_!vpEo3SZq~mOKg%KFcXB+xn!wPZL;eGwf5rA9&!Pv#pm9 zI8UVrrL$PUMr)~+%$@tGzS}?%!zwnU zI>$y%sY@h1UZyuvK0h`6xPEQ7d~CSegO!El2c)d*^8Eb#Z)5R5zN){?9s5!k_}1#3 z=WRf%hx{}STE2{&TpH;=r_%N<^rS06`+s82B$nD2J#R-uXHI=MEJ9CJj;%-9Z~ex- z0C!u$0imrq*h*TQ+K|$`-b6I*n$P%YRmlN}8zuAr#sSnDO@aXJIYZGk3IK02_<1)2 zAi7mIS?=f-9f_G`EM9KE#~p<*uhVF$h?XfACvaFUH4={eqRI;BYe%BZbt0oIr+jF3f-_LzN_mDHciTi4=@VM7*+ z3hWi^VzP$T!7Ns2RvWo})8)`+%)GXai1qLuT?ssJvs6kFn05Xq8!U4C5E08m7u~;H zLie?8o5OIeaWAdXb#F(@Nkqc}SFzGwN74Vgy~aoQ!DK2}e(e*dwnaN-`Zx_M3#EB; z1J)($aGlxv9+Svpx8O;d_7e*$*SnMYwbvIbkE>*S^$6f5RlNloaSUrQ5^m(v({0rg z<`|2|6&>E|&*Ts*YFJnaGdZ*G-N*|-Bk?{xTcq~;q{#O-Jm}o6krF9b2wnnt04lAR z0Qmse9bb`Q05d@WfM*d$bQBOPlkqZq3I}8KlS$$*Tgr2_0Fh|5e{%BTcyraRQpTDn zZhc~K#T#zs@#pfDEK#n(6mH%$U+JfPYMSve%vFnMF=l?kC|+NlHRt1g_M82jw&P1i zZtjj#s}iTSDNWIgvvs{1iVfs-lN!S-?E?vBupMuHd;3e(z(CTc_~)=cFU+0oZxFTm zJo31Lma6SBjOW8Fi z)2iyJnv}|C-`XfB58vkW1Bo0uIQLR)7pM}nI&E{)!5(lWAP7demhAJ=Dy#e?nHeRw z9r5$~5F97gMPs3C_ZlDJ>04t8tP_j1RUesmhCF~O07x{AHz#4)&g&Z~0hv z#TH9-argy>Mp9fe4VrImuM>leO;!uySvMMT9T@E+4#dS|6 zPfSG3V~6m%G7kCu0ew#auD#5=F5yKj2vJw1C?3b^>F-;`9|U;xz#@2(Fb z*y)UW?O{~YY#FHtSjvN_<8O8creCltIIIT{bF9`Ja%&ocW=--HTiuDrm-gE4Cocf@ z6iJ4((RR;d`>ooM_}m(Ej%00xJGE)MNM{tuk?=F)HL(PwA0@J%7e?UfByFZY2P#*$ zBphmpg$8;D*@F_KB{qxg-C{k z|E9O*erNG&up>o+vk0LeNh&ND?Dw!+4;o_jHd{y2vrs@HwIci0JL{}4gK)p)F&m*@ zr;Falh<9*MuE$L_Of`!Vaarw=()*|gzNi|p6oUW>(}1=xL0w891o;ubEyU2euJHr0 zlN?mBpBW9AGYr0ZZ6eOU5G!1`uTo19T*nr%+kzhTYPOjZD}?9Vqx(?oD3dfLpK7bB zs_rm*>iL`E#zbhYDnS!QKe*F$esU%K4O}~m+SP9=3+vLr*(x1 zdVc73=esb1;8^p0`RSqC>5BQXiO?!c(s>{1xoUodpJO6?A$^dbHn2*=hEc z&MQBE_TwB0Wr$Km>Umytu6qBhU#a8ZqJ|`slh7E%#t8z(E5a~bwZo7Njf`CE?CiKQ zf4!-Dc8i>t%n~6QA}RQ`yS@ARak{vZp7)ZGz~W-gKW|hcm$)5goqeN+I<$|QeRhuD zAg;`!{^%Phc-9)o&aVAI;hrE&%z@c06N0KF^md{X24=yVldvv&fh`Zex5bS>k}^W4 zb?>27kEfHe)YWfSap~#YzBv&Yp@YFbmcnUE&Z{PtmS}q1gDmXquF1)cB}@zqk5+qdqjjw~zaP`fN@)lJ0u9;^;~h&gkrZHNvhL{m~PV?pL%A zpMQQ(-8q9r$H0|E3nqz8KUwj4z2NgwFR+fiUvmX4RaIe?oucX$Ki!vaDO_L>RF%3n7_ znSSW7W(2@wam)FXaaelLs9>2+f6n-%gDX%GS2T8~1ipT<;_<9oDiehO>lQgr!2%N$eHTABdTAvk>-K#^Q*>aXgNDLDsOL#W!8~g;_$iF zSx=H^=I~w%|E0GK7u5>hkg$k+x9xQZYQO$?KL{3t097N%PRXmN zd{D|Uff_>_`glL;?M3x;Zd9p`xdzL7Q;tPk}8wM2EJ4>_y>i7lpe)D z32IS#^@Y2GoYs4ewNjFl5c0N=7fypLkc_HxYZwuaQ4 zsDl2f-LxfszJqsKn3%ApZAxO=zN_q3mnQTo4*<>Wq3wN~Y=U6Lv&xI2-5x-Pfc^d@ zw-iP%{+3{lL94 z9JWIJ&_I0g3+Ou?{w|6Rbaffv2=ewSymPX#Umiz{jEr}~$?Qy0vf?DMY?cih0ecXM zfzhi;(@z>PE&;csG`lF9oT+s-IP!y33r~qw+zqncDz^ujP&G1CI^|85_IFlww~ zj3J3r%E(&C$A5mke>;^Hw7+@o5?+Ztm0e&^#ep%fj_yaX@P{3B@e6XNB@yYBQo*jX zJ-`Z)4-g_og@!PxhfZXRhsy2j2WwTKso&=lmWn)wWEL^GxVOD+G2go&TGh>fScr<7OsgWQBRHn;oVlwL@R#TOWI zkjo)2Cw8U9PN(D}1fZgHdD=;0p6KsHpm}s2SaB>Fk!feOCQVVIhMcpn^-C`>X7sN~ zNl6~quOhj=5_*UVL|p~ThPi}DOo>_=8qa=R(RCS3O^=8?nh@-YT;YP9PgtQ3J4~KQ zW4#NX4;v9;1|(sal3^n&&}K2S1>9@JhO%y1Or;tl)}6!8a4M6TP)tK zwNHaEzGhIAkx5ciP>JVF{5YTR3Ui4ScyTh!i4kBqU9No%ha_f%; zSDq4LVzREr`57|o)QB?#F&mcGd_1&p@3Agx{hLUgqw7=;*A)|FQaCO!*KC$LceIdaLar|~kLauJh zHb#UTc!}U5`UV5C(UBbZ4IzO3m;WQxAsN1*?~rhz&~XdkD?N1USEeIPme&qlBM{?p z$exUT^{0q+H#8L~b5TE9Fr%DdbAZ&#UW(Op5MowFhD$*NBv2X`P^P=Ib0GsQvr3R! z`Mr|V9n0!A`UXzpM2^3_?a>SZDp1bVckdfS@nVe`nq6nsCzRN|G1a-65GQfo$FSl^J;1SM z7PKpUOBO#Z4T+=raVzr`3iW1mcsR`e`bC{5)4Z6r7T1q<8x9zxEAg~1@a#M-{AFT$ zKv>&2)BFLCvj0tx7yf>UDWHL$ViQHe71AE&Aj~4CHR<`swP!=t z7`=7K#=*=nV~}sAq?eE@psG51TUV#5jMd9K0YUvKlvbw_iQGqut;L?lnE5wd~lm%Wo2dDFRig*7|hUpuoc+mhoF8X%3%!{LH({FnA%77X@$*Lp!v;-ix)Gz^xzSrq*o4!Px9}; zubOUZf+y>aXP@yhRdS6VoBwIzjbAVJpfWyw))T(raNb$pz!A5#puco_j_IsUV&VhH z3YGwl%bqW|1x&Vh(o+AsadQ)s3XKUL3YFmZDkoM`u95@E^=JQN6Q~avLOXHF^^HzR z3ot7`e1A~74Bz=U#QjqBx#BcaG_8Uha8Xp5wjzLPCM}H_sbX_Dp4VcVmNH2eTAH9; zu;xs4DIVJ^@LfFuCcohaDepoxmw0~-F$)`rhmlaQ;UxQ=6hDtSXmN0DC~>Vc4nSALSh0W+O!)#i-pg+fq!_^&4X#aTYL zwco8N)Jnqg*G6kVy%)B9Ni%=viMv-jEf#z*%@TL|oR)3)uZ}DgQEilUC(y$Jbj33V zdXws-w`+og1TAQ{N9&X=tqL)NalORr@6%smlxdpgYro}fp|5Ca>Z7!G+u9qRj5WgVye2gnRHJKn zcuZ<&u($+x2#(_82yB9qR;B}h&I9OSaOdm4RA?G8k%<{%jn`Gbr%fh`AiYK}_*gBr z8N*%>?`6_66!Vc6>Ei(5R*HN^JtWTZHLk~J9@4m)87au19%-0|%6~im3NX240o3^! zW*gT{U7b!KgPFVtw?c7Ou2Yu($LqDc(~ji&2=X(60(IXABaI4rq#uT37y*(<+&tkw za)&RZ|7@_EnIJk!w3;0(s%RuIAQL2)#0RgUbz1a?;u*h0_DjK9#B#uZ0){dUEzs!|m8votkQu7WQu_C*#e1(k%2wXw;>Y&FARu{WLxw~sG}`% z|Mi>GZ{D)rHF0e3fe*ANZ_*Z<6E5+DhT()b%TD}c-k{{*xqH}dl=fP8@b48T7Scmu z;T|@Jr|)yh(-cV;Ta+&gvIr>3>QMd-`=|h8a>9buu$`HSf>8J_i(=XrT(@JF%^oK00N(W4ZJWcPgY6y;htS zqUDGCw+HzbKDP~ZA30&mT74mNRhvs*ov+9gb%G^W5$OLvIvIoS}AcF2te}4msc<2@uO>FRyVY@iCC*LX})=QQ{2aI_{M|0DfDIwOv9}ttiDVRCa_G;c@nSXpZtY` z0SzL64&?IEtfAj>S8HLf-v0moAKIU?}?98MI-fq0c#>#e>FTQ zI4$I4xSo*U(G|i&*o#O1O#eK6&!u;MhK07`Zq?PedW8R5VtCO-hwV1ej~W2nS8-H@ z|CeEM!0b=i5VP-=kgHxKQuJ&2h^I>TFKOalED#wV-7FV#m- zEq*&oOh=`{195^JMp?R$Pd^vJ;j6*T;Y_MTs0FN^hSvA`3uKj(rjdhVXbvUMu8TXz zbt%U4i8O@r4H_KzzAuQ}L>W6{e7bY8J3Bpr`Zx(=FW-Rxg1s#<&pXP%M&J^TPE(wJf1tn+1j&*%@>#z7C_v|SDw$o+M zb*$=pHB?t54^d3|LrUzTdf=X^+&iZ_!c6A0r?Z%%)0;41!QXp){jTF|1bzU`D-ZPx zp)D);7pfwKHXT@kEC&!94=K3oXV`YUNn8q?{|Eao4|S4$WqMy zyT3T!zu$0Dx3ujlfOKO1$=M{QOw-hs!U?gzC9bbygf$}xFDtk)Ne_x4UHBH9qaEp^ z6TJP0vn`?tZx3((XZ#de9eifTbfJi;2tU=5Wn)oK($_lTz#nXRu8&1BLjNxRx<%$~`cPe4y#o2O_ zRDfO`{j#t!0x|*HF|9-08%jG7Pje0VlXgqn@$nMoJ_bx;MwYOmDEeTKTKCYl6kB}L zznH{>b$@Nw8x!y-XZO*FTYV1Yku|kClhtyAwfnFD)ZV&p_`px+d+Q&fg@g?Z^K}13 zB5p;{EA^wb=-V&o{SDneo7m7;x$_1Gg@p?Yhz%||xMv$La5$e+VV!P~Ixr^w9YHGu z2O;W`!SW@GDo-uU5qwZPZ>_2_fcQjGQe5nbWX0@wMMDe+B^>zy?0Io#@Cs-1VY(6;FRS zUiMk2d2@FHK5YS~G!- z-S;*D!Xl?VGWV^&x3etQj5H2wJ5m~)&f{&p{-MTS#Ct~%+`uu(fj@5h1$zvd@$ULA zTAY5g*1X;m@vjb|tSFUyx}*>x25$Bkn2D*dv~b~kjZd5dgf`xHSTg+qHbze3KiCS} zB5QkkjnMeypNRw-Ii`G1)g_`JWz1&yUk>Es&gas}Srq91;V!>qIv2wYf=J0^Gsd=5 zw}J}{o*ZqfjSp^5mSBFw_p$wlN`)}>$h#*rZ70*P|5`Y8{7hp{jDmD32;8D+&kx2q zJ&-Ai@DnHO{;@MOIoWBfHvNJXmQ4nfpd{T+5U%KqXb2j+^XZPkM4;OF8H$=4tbY5D+b1GE{Jgy{%*4wONiz)3 zqdrU||Fn)dBlAxpdVBNCo)Ok9cBN-6ycaZ`Fas{S10Eka)sPQU!XNTrO*kQL$aIZc zP(RyK8)g0S=yE()8l+z%AK=FRI9$`mf2EjT@XaaY{4O)rNud|dO9w)zoB}1be?E0u z9_=A@_>5aqQ!~8I+tKcWMOhm8hUs6FXA<|Bfo#}~p z=%H-Zy5q{dgUo|uI3+WX9BeDjd#R9@$U$T)k(sGlU>X9J0zbv2hj<4vkjLbD)!3d0 zRX|}0HN)Grj;Sgn_=!L{(fsWNPRs9ke!h~*%FcnFUoYaukeNA+S%aEB=?|L~*WDDI z&8B=HvSFbW*0XV}kr-@8j9Y)+gmR1lxKJt?gP4jwz>lWW_D)MlLu2q~<^``)`*k?2 zkOViH;STjJq1Zg4h3p3vWo3r4va;1|Q@U%^>YuWlW@^{zLd^{wHc@rx)Y$Glj3(#R zOj{3gE2k6EMMZ2gA5H=fliS+c%GYg#Wd8i4s@iA_q*pw4dk-H`_z0gBXSBh4rpE=z z9aSnNood#5F-RvG&=#-pv9b0P+!x{$;YvPl4KeJh7Yh#W%jqLAOd<j>wLLvu^cSXdrE zL)apfrT=kNNswMDDFF(i?t*>?KO-Rna>O~rUXK@ROs9~ec^tT=%GZ_W>!VHnD3Q#_ zRR2K2mLF8vM2F8n2PN5RmmPa%#qSSiWsz@G$CNc?*WUbGO~0@sz)V_&t#E_I_Jw8m zI%WseuOrII4`O-rdwz@9``jC5sn^Ke^@`GB)2hyqLCzH{nq|+S&tx?6$YMPzW+Wod z5*gHF#ZMQi_1B*6VICUJmAEpv#sYsWAuIiUmC}2sVmJtSGw##(Rp|L!rA5v?W~k@gCza z=XB;_IY>qsCu(<8`}7wmgDpQ!7LjJgv4ibizCFHp_Gi!V4C}6fe!~$)th;#Z7Y5}V zpizK2p~cv0(BXF>mLw|rr70YAF4r%=H*Zqu@;xdgp8JY6tSp-C4kwxZ5+al$L#d%H zxQ^6V9DCw1-~XCbywaH*(?i_DvMt%G&UtF;;C18rB_bVu1UVlf+t z`t!Po%-XN8?!sH^EcrG;eOrI=%s7?XlLA?y*pDy}wTk{qv^j=Q^j*k`uO1>aLVpn2 z{j^sg%w1vqts?b5YB2;;fT(w)^5J-tFqA~#XAS{o4s94l*y6dkm4tvL?guq}Pa` zF(X-aqOotS{zo!X3PCuf@B7qlyX8^I{c4C5ka9L8zkmVnyM})z$pUXlI-RjA6o!rJ z2u}N(#M>EKTJKk`+IuQPMp+E|WGnlmCKX1?;>{&5eVmWnlH>{<4PMcUS%~_*e;?G3& zt1jj_73$;W?JXou>kueArNB$R(Q$=6a)_pt?jEX~e*@JpO<&S4Hc%^Sff8qx(91a& z>fGHyOmVX|2XjD^jPB9C$tS3N$m7Z0D3VZ0$c4SQ)OfZ$I{$AilM$Jv5owMYlliiUp(!VdPAa2^SuJ7Gh2s69>kdH=}(CC zmiBHQT6mDlpB*@O+RDHq;vRNQzN-@(QC7Z4j3kk(largi-yh~_rzWbIoN*opxQzlF zHuEe9KQ=Q2n~=newwrXei;}-~S#L>6H8&CN8_tg9@xY*Yo1gjUg3S@~+RZ%gTnjwDe7 zLtkA;Xh_b5o$rL0T!bdTAV_2_0W{>XD(3qBFx;cNkP!m&kCsSZcHMr^T$soejl|b_ z;GG|QBVN~Xva*I)(MXFws4{)#(|#dPN?SU}0t(YSux>`! zrsWwpwfJkrnooQStBm@gThq5b@7_ql1EMo|9>aZ$QAjbT#5rg3x$oB&A7U5Qy9Yqe zQNgoMJS3!KjwJaso}hA$q&EJvVC=qlU}C)wHfga$s*K^LGvaI8h-Bb{jKo`yU-23Q zNHU#%q4$t1D(>`qo|a{2jy9#yFGHZn08rkPw4^aZA-`HgrP2PX#gWkybTg9u=1lx8 zVAT6bi}`xD&SDAKSbJ3QXWyKD>6UtdjUC^uLA*187&nB>xgPk+Rb{Sq43fc$hU5;A zpJ~bC`?8@37u^dm-+j9L&9K#BCO|Qvj+Bw-0UPB;V&uNN>UtJl57L#LuXiGb{5VAM zjOM00Yzuv1K^pOiE`Q&Yk0feOV6qt^wcBcI)heJS!eCelLYi+oX~YWR?`aadRoaYX zQrmWy0K%g)Xih)Jk(xzQ`rDYoDGxbs(4L(MPzw95iw++^bsGH*oaT}y82y`OrFJ|2 zPu0&0Mo_{yOY(^CuT@FkA;0_+O$dn)v1i3tUsA@$rx7jM>g?>e5tkFKNqk|Ql32_m zuULqNVJ1pCB}0>HyQGg0Qbxj*C@;Nug~6N;YWv(o*V-7rbBMSK>j~4gDMH{Nn4Za? zQxH>|wMlCw6$3rv5f3C46FeauxIlk*N_~qEOo~8%I@R65Og0I6hIz?zTL;%ael*-$ zI5jtMwP0ZxNoX8R>hQvKJE8@MiyF5`t+Cv*ZELRoB00dw7gT$&=(mEWiCHx0t3Rbc zUS{ds_wq3NGtK-Ozs}ZPS0}f-Ti`se(DnT6I6Ma794=iscml3?(EmLt+DP^X*?`Ez zA@llNQy4i(Fcu{i_SKaHt8E0eY3>MuA%28Fm4CcXUL;{`C#DLR-glhQR*#|4$bnb- zw+18m@{+o3Naha2>j&m(y8q&@lYwQ9ky$@35^eQZ$C@oeG>q zgFsc(!43j0^EBW+3vO-llzh@kN}amG zk89K|B~~RLi=g9LnVF}B2)Dv5RP{e}S@H%?j&>roT8T7--;`Tc%rA0wtE$vrNjr?l zLP4y!d9D6W4X_di`B}OnZ(GKTJv4$LM=@+mZQTjit*x`7CcCA@PEcHYt{5cQnPG$q z5Cq=Z5s>M;99bU=U$?&Vl(>JeUJ+KFiDUBD^Vwj(+!fr)d)^iMX;HN-Pn+Dad22b({#C&DEgc>+mMv*q6i?j_=HHHjxUc5e_tC$(!`dwk=aSfz`ICE% zCK5?vJXNS4ZwPL~xkF)gig}cxweImTY64kHcUBG$^E~3h3}%-wOY+7)R&tcD*CT-g z(R*Is>);vU2o(wz@C+Ih&sp7Ac__Ln4eoTAqUs{hyJJQ}@$d@w%%oSYDUeUydq?3n)Q#N-(#z53G|UxJ4p0<#$- zs@}h*jPiAjV&aK_(&f#6%|z&?(y9Gyn7bY z2(nuWC!MV)(c>S>D+xS=zAK@H5=k7QXLp#rChCa&)&~&m(>r3(uv8?F%QY9E3Or;s zG!CS=8hvW9z_55NSmfB&y?+o1oVihm5l-|kH#q+X&pu zH&-OYGiXD#yvwQoUh}OKWXhlqi#isKKF$3;K9MRF0$9ya`1?h-;ssEdpJ#kp8ZjT#}jE6{2eSOaRq~$ z@8Hj162ad=nu#Z|^V|Ew?(`$}VbvwR1Afiu`3|Nhmy!qLk#{iP;vW3=hY9{CEEh>? z&(zgbe;%|8eZ%LMR92S$0sbLlz}I5Y6yco`*p{gCSrZz5D1JkU^+Ae-RZ z%ayjUtgPg+($WH%KnV{@m=DEG$#%3U(2o>Y{b*sq(uYQ!vut7E%jm>hqAJe$G~KV$ zrt=d{)-ZM;pdga7g`f`Cxty7cKA&H3s_|583ABXcPJu_}U*>LpWK@(<`l#hxL;NmU zr1+5fU0PRHcO#2{Q;_MHgCxN}acb&`PcRY7W8y8BQ9Xv5zemc;3%-REu}CEKiy=MP zD7P{KF5AYYfK36L0!dK-07k%N%Z(|~kR*(gv(wR1%}J%gq2XoA(8*l)ZfR-7OU$X} zk>*d}XHW6o7Kc5Xi)nZ)oBhhZ=)IRyWjFABYh`8SS9!BPIxq$xct27)i#)#rFnAl^ zTmo z7;~Nz6(B_xsIDnP;`K5#klYNdXT*z^{D~N*Ac>|o8rPV3{(Ip@HG8GaR+ENEFuQvZ zM@oZ069>SuNS|iY4kT|Wk;+eLCW%byWS}04yi33TlKv4j4&~=}E@y-Df8>yHYNsKu z{lc4erV#xl&32$@lx#ZDx$U-DscD|&{IW)$amdLT_7SZ3S<@!7Jn;>Su#3Jw}QTFJqG(i6q-G=}!CxpU>n-JT7k?}{{7 z_E6r4xCD6S0tCMXH6lwMrB4lms0(mdFwfV%<}vP=L8m|qJl^JreQemPfOE&UtV4=Kt#%U z0-{MW36D0qZiCCwRIzPr3fL6rfdT+lI{sulBF z#&A*7kwv=CASwM1$}Qk;zZl~FjEFxV?FoQyQsixkqi0oE@Yu;3BF4bOC5a@SEvWl(=G#c_WO}N31$gGcpDia06II)s21y`MQXw zG+qH@-NpHQbG3zE(<^hxG4aAA>xRUAJ2Xz`*#?ctS;wcp2D%fyqnTpue4ZD?dHx1fE(3pW_pw$N2&su@}^ zL-yOIfK7p+L;(Y72vY}?4Cp%z%s}_S1;nUIEj#|QTUrTo9S#GPqiZn@j9Lb?bS4QE ze4oMlNSCYh<G~=B~XK&sxfLZOgq;>}yteih;B4RREqe1L+ zv<@~BCrMzoUyEebo;eCAO+HJM!+?b0Mp)WwIa>J5`MwB`=2ge>AbC8XhVopSS zoP&KF zL;C5mvbvt;V47Ch{cV5rI|XFn`0l&!<^wX7BiC8M;!*0I$+zhBbfAB`Yi(<* zr#7H>w%_wJ&810HW z1Ax<;g|CGg`59zdY-*(pTnVZinUH?{>Q%2k4D;s>3RdWbKY6KnM8}>Dsf%ZK+6*;}FSNYW5cZ8^`kk-|TM=$`Inl)Vnd7%A#z%<$w# zR4oqU$9DRhtP%TUB50UETv2K$5(qPJUT6~1H{#Jn=Hpu;awHS(2&-g&`rB-brkiYJ zL(#ve;Nh-<)_Alv^NnCkJ>6yl{$rGbV-u#{>=@2N%X)pR?5OaESZ+akXYixPw_kyN zs5f`$5BuAufK7qjj{@*Wz-4n{6IM7Gk7Utg4oe(C)D`W!OlA*-sh&od3f$eevO{Oy z@N9Yui+~?N28`blo-=jbabkXc{u9H7<-XG1-t_@qS^ySAY9bb=j*N0pe+!uUje=1V zva{sE9raYNPo0S-#4NM$lz=i~%(Y%tU|uT|rLj^tLF`0Eli72_iiL$wF^Ru#`ng+H zi1n^yb|)HqF~4Aj7u6N4HYQOqcPb9ONHes_ici1Osdqd%@%+Ru5V<=vnE zwcshOLpdJ>6z8KVGm8tC@6pp7o4F$660T7mg_QK%DRUa$8;pAA=$tH0gLp_-7HHG7 z(1gL|U|6HJwwXz7^AiOH1+S&2JHJ6sm`&f`k91-#rU)z@Wh^}9x~!~>!!j~T?q_oM zMk@3%BLdT;1a55!X3~5cMn%|f`$xY}VA7=0k!@{`gWr4aof84V4)l7vgzf_Tz#+{e z$@CRD0;@G;Wu>n`g8c>DpWza+b-XRxX1`>#pCTPUempu%Ju{n|x1WiG{xJYTNIZ)E zac-ya$q=A#)QL9>)>$Pi(h9w;!F?Fv5CD*EcJvdG4}S%JV=Jsu^s3ZHE@@98Z2_B4;`^~w6tttGqX_U- zHi%kzMiciYe!r56xD$zkBg)Gu=Nih%JX#gi5poIGM!rX(KX(Fg2oLG45up-kKefci z=3l?H;U4oxxr`vtNclMMr6I(tTlTqlk$Jre@*Y+^)nv13dwc)OwH$fmk6=0&2a4VEWT6njWJb!u;{ujfGgIWSo$`$i|FpBDmOBSWF)kz3!sk z}UkM2`hAz__gO@uk;Ai8dv$_I}KK&f0}t)!8*Iq&5g zUTNClW;m%AnWM_Xx1o_g#&Ey-IQboL;}zt+vMC@xQ)5UYG9vU*cVD_4>Bf}T=wyDu zC4xJh_-4LgG*B*)$_2%jI72+_{2|pq{EC#*EI%IQBrdeUM)jB1?>cW zQ^Nb{W`^?931`!YKQX~~cLnB;k{yEk=vvDPDd(r7I~jc5i`x< zIc$s$%@`$P6hgTz%g%r&(Z#D89`x`c-K1XXaHJi(e15^LX|0Vb$!mCj=X5wv<-TPk@_m<1K6mpc)LP7j+!M{GpV8QWmdu-$w~t=V zJKHn_l=V>J&5Sd#%f$Tz7K8gE{rq-mY3AcCEp4wfHw$3hJ43%~ zvY7QrWCC*9rk^NKQBg4*Jm7@3Hhm7Mn-5AM3zx6r?|X#5 zms2gzAnn@};%AroM8|Eh*V{pVSI(yVm6VIctGSpBEypr@uH-BA_e(`qImB2c$6J3F152T znQYt_1m;&3&dFOr<_0z__7Q1#(*KwkM7R5_AN}Y@f8eCSfPrJ=p^Ut+b~I|JH)+eu z_?AB0Cv(67UtPF-`SM4DkpQ9x7Gi!I(pBZ@>hf?8t53_z^O8`MN*Vc*%{3WAVj99`@i5NH1-sFP zx@=){O9bYIyxF*MV_k7kkq8?_l?4Xe<3_nO+C)v{Von%ZVJaC~q8YLM*%a6lDe%tk zl+4`R9Ji8|eXwSzhl1@+TdwNkr?slu@`W5>GAHfEI?YhlqtBJ&8S08O#rsBW_10BK z%}wYidlXq=lmhBT4OGH_gDjYDSv1MutjmQnykDC+bLLxsQ2)g(hY9W>3`B>KA9>1z zSxNXf21zc*MJ$Y}7{U(8&CS}x^M9?a9q;vYLus5iQ||Qnf)V9TCGA3Hs^>U0rwr<* zkpusnCtIf}#+zt``xqc?4Fg}ZS2tQ+F7H;oO?P%>IEtJO*CgF*90$UDI5a7gF;6vo zOBe>%Lfq+`SGv=aTQGjvJ+1dny|}eL82?au?~XKBcF*V>w#-jaG<~V&Fihv*>hvr*X$GK@`6FPmS|$@J?=+R+j8h!^M<6KM}8_!LLuXAkDzIOE)= zb$w1Oi3n(i%o{9$EWiLoZEM?LPAHRzGRi9ws2gU@QvUkpn?-Ljv-~#8#UH~yrbc-T zw;1VgI8O$YJP>KD7dQg`5d7tRyd*8T#7uQN^UmB?A<#SbR_`pwk+SnB=(X+uE|yULqQm2r#(KcnnFfCj@@tjL&Y zWkkQENDMMAXdc3KP~OE>9`|s&A=9py*OqPBwD92NI?~z-0jpCeoK1XxqbR|C{)}FBRaflsA?E zc&+7GOj^hAw34oXDWbm@l_2V&e6NocHc@*(raa;je&prd#N~v&26GclGtwX9=;xI0 zXwn}>*+d%A1D(+Us<|WmCi9zldmC-r1!%OHxCD&Z`@Hkcd**=$9%xG@o>cfHeUdk& zNJX^@cegm&kQz@qAJB*?d-NO!d*R1`VSdmo6?u+~LpB$?x;i+q;y53-agpx9-(&^7 z$G+FRUPDy7ywT9Gxs}ODmQu{p$ihI2GOT6uK2>HF^pPJRtt zgr^45)Y(8(_bM+RHM*uIO0}X2|1X8dN6c|m0A;nIsi~=%Ct-So7ILW3CNyt}e!JbJ z2LZm%g#&!eI*f|iA!Q0~aZeNDX9Cl@@zjfzummS9j0Sk>kX*}Kl-tWXxDNXY3%As% z#h?Li5rType!KadN`@91z5Q)dV2`K3x`j%{c2B{+E|+pD*NvaV05P5c#J`h7cMM%8 z_;nSTFda=tAQ{)mEQkawxIAp^7t$2;#lagnrk+;kl`|j@|mF<_o*F? z&rG>E?hfT@Qh$r*p)VgFk=NquIpVxP#=Fs+|s?RqvvJYJPQ1%Ve z&S`wR_c=~|$la9&T9$Sc?ON^9)eq@+v#D2I@parY;p`oe8?1dIs@eRN4bQK5sCbwm z5@x!WO$F^4_SEy}R0py7aQd>Rl)I*WZ{T#VGC7ikDT^=Z-QmXL5vhSuICRgn!#yPN zYtbU3+AlBbv~F9c*>g|jRe z6EYwGEmphgOwncWB8)TPxDrZm5B78<$A8zYTYWqWD#Z8u540qGDqtYuoRGLn&j=) zTW{?XVnkn-O0VW&n(OTN?Qef8-vep@;T0y_NS?%9@RviznvBN4$*w z?|=VmJ^b*)D&GL1*w5UFIME<~P5Q4Wd2T0ALD_so|NplMtp_4mRP__r*>&ySfehznJ>l4~r6L z*lo{z1m5S93H_k1r$aI{D4*O@x(2CpHU-rq$UvlYx2!!-9p(5=MMcqy>gxLCR+$_( zZd`%K(|Htb)5B@(_f4Ni@Xn}$Z^e~SM45cVT9g=ajCs?hP4%_4^>1$2 zP=5y}UcSRXcOhZd5~)mj|cZ{+xArcK=GmWfL%(0KVAMCMnNxL-Df6HmX<+ zPp98`Jv%xVPRVO#lO^?r$~4-18=ppEos9#>5uDVjXX*1IDmZFb=j^Mrj6Npysm6|x zeo0?6C3`GA;hfU;w|e#JP8LvH8lzszx@is^?4P8+-D=?%%nQi_Mh7y7LY@O368-L5cy|FhPl^*XAt&a@oT_oi@$Ze$uQQ=Q{o`pZ zc@SZ*5#&Pvk`4U!A>GUTxpzj|HRTgk8^eiHq@&ZR&yxYG2Xvfd6IwPt!~hDbazwog znr|c@an=t00FnOzcLZ3r3MbPs6*UK`9#=HRfa&Bzz*!`g)p)>iBmVATBmcKDFXB5a zpOjtJV^IeCFyWsl4@p`;S1Zk+5xTQ^2M`FDS6=fe}+@ zEi9O?sTpr+iuN-Y-WVn$vYWmG0P{md_x)Kl^fP>l=P0k%d9csXHO26GCwSUh<)X1~ zbNAjn{C9?}3ZsUVpUEX84q~aIE^$`!7S8^eaC1aQD$p9&fgRwk6=N^y0l$I8q z3sWB-u#W+{e&rBaT)@s_mtm|(> zUC@oi#l@2o%$Oy(EMeiD*5^(WjM(~w=h2MVA5h8^a}m;0+>!3GvB)~*M4H+kIdys#?lFKT329VO##>uj zT5m(&>H5gH0>7=nWkA>%{`+G69&}zq1Siq9MOp5jsrMCpBjl6*TL9?2`Vx7(ut>)r zN7@30N;@WLZ7ucv${lyyvBv|ULbrA6)-^Ei{U7b63L1ryl6jW#9aKX9uA-uJ7Si%F zDl1DaVvTwY&3ZEaL;do@sB${JvD#Xw-`)NjJ=*WF?t29q$=DEOu&3|pKSWUAZ_xE> z=AQ?n=4LW|{KTv**B_au{Tdp(BWTdl%lw%z{XdPULe&>4((D=j*E#t5$ zXE$Cr`Ns`^n?7gr>wEuj>$}ruZ&@+*oK34|T-5T#lye&YZ_1Awe=#Meet*5I<3NDu zdpS$&BIQ#Q*q941`2>KelGKieIs*ltYXFABeMyi ziR{Mv8X6kbaisk|=K7}-&+mDVtkD}7EW>WJ4GAZoGLmM1E6v~%fIl*bJ_~dIDW`t+ z89R1(K5nvj=ohp4(ZT|c;XMxE{%z{!MfBpblc|5ySiR|n8Ru@TO;w_ke$@E3uBg`n zC>so9CjmCTMX_I@;0GA0e&LFTi)W@Ptz_fb?P=gM^0=>~*r^(M+-;YK%tRL2%%7P) zr|}=^Tr1EuSqfVFpE76DXY~6IxYA<+n?Ve>>NYybW)!JsI@4TVwGNefTPE-#)nmCp zCR1E&g3_ISG%{(ftE;=u6i1}!HLKv$;1)#%ROWQz{i;5D5&2sFE9*x@AVr1Y9uGCeneh5t?4+Dh+>UZlAlj` zeq|UN??lFa5}^$%&|x9~0cm_;?&AGk;|<#SWw zl#2wr86_f8n9|4#n!AciaUxTgvg?aIN95(zt{-RVh zV7H0q)2gcay4{dGNf&9&nl-2uGMTHgc=wR7{>-1W3Sq9pK3=CxpN3+BH(xNNFEbJdP1#Ai=O#%9m zy7ZxfQ@I265@4mZti+#YYIrpJTPW%4sV>?NWjQtVW_A2i~yH>@le5E z6;-J+wex?IBl!#P zU>IvM;BshmdUbV!FtD55?vh1buO zmhR-DMSTf!vD=-RvSsp*H!bdO%1Zx6H^dtN*+}IW=?azXP>f~+eKuTSbHJB>R9>0z zlhn7f$a0~33>M^o{RBF8xCiDMxj2A{^|RqfXcdwH_rV92Fp0hdK5!gK#+1N(TD*4JdhtIzzcg7)zNsy4LdU|i!towWV=ed@+}YC z+bdx_I=t1#qD|~|hr=W3VAthsZ`Zi%+$nDIHZv}n#~=CKsx&o8d+`6pk69k1JWRXn z>}>O$k+ID9=%eoPa_6^#)UtXc!7L@UC`%Kx{wtdZe%yx$qm@-O%m=^lndK?b||D1&{_zQM!btl)KAMN1>BRBg$=fgq~epD()J`ehvKk zptZw89@xptJ#vw4dAJpTronY>16pZbZ;bF@EhlYj?8{KYq2FEJD$^Omd&tckM1{e9HsmtUTB=bd-<3KS;J9O4j=dN}cA!v`!u%Q#s}nG^h|iOWuf z@5tqeS(McT&f!m%gL$F}x3si;$-OD?PVGSS@7_y%?-2J-;dkG?^2#fh-+ue;8xoDH zH~vVYjBwMTaWRjSPukCt-nJv*^V|z)RZq}KE}HGM+zd@7?`(oifc>9Gum1tS5~`BB z*>hMlSc?=r!Xw&koZfnsZ&4E%(~v<+aGA+W%E4vH1nv7>z~0BH`=28Le*yh?9%b1< z8@QgjIDs~w!zROBT(tgjZ|ftpu%smy`2CtR;KN20=^jH{`xnoA+L>k9L&NV$-?W$2 z=u&>3;eRIWEK(|&IfJN=Q{<6v3(}};&iFpWA?EtuBG7JaRaI5@J`&##K`!Andt1}Z zq^Iyy0r6czkXZf##KKu;4XM4n8a03cyItZ1lN3BE%20S2TjH98!DaL|ZB5I`iHyu0 zX<`4iDPU6|ISPESpztW}cRm$C)kUhVRdXtR7AyM~GCZA+jXQr^uaO*?DJfh6xBQ`D z7Z^syFCCh3E{Ep+2o~`WhyJfpROgi$uEKWIE(Ww{9_J|jqB207Ir z$J1Ux^6qnvvYx@F*ttyj6w}4*g$-yKXE6#*YvYvN0Vva(o(8dRIm+(ANUpd)5pMz#|6t|7Gmc={FxHF z_p=Egk{o7%sc-SI68+h?4;z-p598<5w>w50=wvhw1dK%&BR)*>nb8PM`K^%$e}bkf zNr*5XOO+%gjvY9i*Mm z)vH4f)2*VSOz6bMfCuR{4Pe-xH-C;uMN>b-|3BI2sKU;us;cS$ka(KB2^fDB`5F@% zhVK!$F}A53v5svd83|{%t6sOOOxo30`kjC^$!<``1}Od2??R`0Hgz7`U+k()*2RgM zpp%f&yn(hhCA2L?MC5_r{G+wCZEjPOHEdGk5|=K}m$7v0)9JbjK` zRG0uV!mso*P=~ND@0W=85F$Q}ve$DV;yf-!?DaaOrwo$DarhCiQ3}KOsyzc9@m^2i zV!8V_4`sZIq7B7zP?c#`cuK73!tCMUnT*HBlh>bqjh|%Zf58R**j0vr+8$Kk8ig;YHNHlMRNuAk>9ys$5GMPljMmjvP7i)vK?*`c~ZE zq^(FBOxh4`U*f!;fX5PVBWV^u#}|3-8{`U?u;s>g$Yx;ft7Ap_EwWs`R zEW;+C1~p-DnL%`04lS9)LKk)wmI>RIHU(@7Bt!v#-%6l?{g5?yPSK669L49t1oi2* zuKIsZjU!QMS;4V6^fH$|Lm6ttPhX5rOWPaOBJDsbBhZ8EWktp`)O7}eo=^4%uq=6vY*mE ze)bMIYC0fB>ie`ul@ATC{&n!hY})X4r=qoi#CbJm+C(xj0Fx7uT#cTg3SNah*sFE_ z>qi3VavA86M;`gdRjXFL55V?QCdRUO%d<+8`N=Ts4`Gq>GVgc`&>gr(fy+#ABz&(8 z`4av3(UOb3jxo7_J8Ld_k>PjiwkMn2-+>zM{@wi%%5MEQMK}8m4NfNg_TopPWpOBw zZ|Gbxq#$Z7{$7DCFT*k!u&k2uR_S$BcM@{{=`An%(XkM3k8LwkrUj^C>`XcOgPP$bJD5?gb%M z34Z!G;pLDc?fH=bs6S|7C;*(paqAV385w7s-QKYz67Y>LA+z7Z$X)cg%}- z6hBTni8_fiW+`Bt z^!T3v`P-oVrGUv}Xj?Y}GXDs>Gl=9Dv^$Yvo=HBQ#P7XG8H=Ehb>SmYCH@NH`z~SU z5XZEDv#1!DkNxd7upB|Kke@48)@|W(`@b;DsDzix8aa`+D<|V#WP0(>4I64L*Y+Vv z>~WtWUCcb}DX;|Ye9?bNf98_J-jM-5@BwV#w(9B)uk|j5!3~A*$0kmB?w}lDYbE-o z%yDEBE+E1YozFxXVlb2d%W@36d+?M58C*vKJSV%uAB@v}_niWo+;9(5-YYFlt7JXL z;OMPma^JV+d?C!C_dk40x>jx8 ztgK^Kd^M98bW$2W0bDwP$>A`*W5p~P9Y%H!z%SBXMy1>B{vDEG^|1mZVh^wk&gYw` zd9(&Dc^l?b)J+_EzV9pj4DO09=cNk^7lSe!gNR)#vVk3rG^K+T1h+W54khoxZ~YMf z06+jqL_t*R6Ul!n{Os;DfVO$SIU7*M$YP9R`##SAfVtr{qj$A^&J{dIV>^s%Jee=D zpfa>B-DkMNefG~U77s|CnraxV5|9i1;xhuPP${sJTkDDDEf#QVyxug_WXP@SF^^`I zFexmFmn?;_1bE7 zwZ_`8*XxsD-T?qNqyFG|;<|$PPv=DA-E95^Pgz`+m6bK}+H0@96(DeZFicLkiw#|EA=DaqxjQ>VHRWZ9q1Le?khH;6P_ zA|~G!@r%T?vXuTeudB=VG~=9XawlVAfr0%xZxNLgKmYm97qH%Kr%nLe)W5TV{~-19 zD1GW5^zl=%zlefdNV_=W`s=TMoA3WXgZF7OU($ZM$2z{XEnBvXB(536b0U6DCZ6$p z2kG!7am@p~e%w}t5hO|MH+u4yj~P>X2XiHatJG8RDVt}p0?28tS73X8W^;daEKhs7 zy=?SDgGGSMRsNHR%GaSA^MaUk4I>$Tfpv`6IJtIfU0uT)IPS7I9A#NU{%3?15IYt1 zgChid4z&;cPHs?@OZ_51q}=rMN*i1bCFy{DYh`7Hs0>J(%`kQ{sk&+R?4s)m5)0sk z-YPCRdxDLuhihtTq;c3LK?+n<t$)A(@tqr=OU+1skE z!t}*%`ng+HEL%|cwB}I0ry1%x?lze-hQ0e+%U)aYXI$R#rB zG|AiE7sb8+Bp63u-+KZL=z|C=`>HwJ&X=QO(z&VcgFV&5)N`7*E}fs%NIT1=rbnon zbE~c?TQ$R%y=<=HnmRYWPQISvPrzLydMqbGY}SbK+Cc@mJRTS75Y!CH5oZA?07iTe z118tey_5+d3g}m#B$q>?vOi-`0N!1X>Ss>N#5L@!pxfR^gLfO{Rz79?k-d)KIArB# zDB6+VW{<~Ixe%oy;G>T|@|2gC)WX{v7??x#e_J)zp;){@%Tto=ip>qkM zsz}8rYrFtI8gp%ROnAs(5~8leyg)A8IYqxlj2MyE+1Y+B>0d|NvEXBp4}&`+jE~93 z?HwK4-fwAX>sP@bRGeiatu27ENZoS^EuiNoMP*JV8bGgBfJp(9 z)?2S0cGzL8h1By9_Si!F3n;I&r>iOZ**wEhk8v9pV=Y;aPh-VA| zl2Iw*_O@X*37%tBF0A`*P`e_4+d?)GmeS_0re1F3_r(Cq z|D?S=Nn1FHe2C6uX$vACaZ(^v9k96-|8k+GfbO{n3<&@q+V2{0TZ*4|u>boFH{7r! z5Y~PrK!J7Z>OSMXkE>Yg*5G|Mbue0jLF?|&*wI&&7nobz0L0_@M%2?0yn8V>)P*c-TWqRC&|Ivch(ow^}WhoAH7{x0l zxSZ@lF^Z`(N>}c}blWAf?sg9w#>Fl)bmt-lw96=j3~HiWJjhH$-`030x>wWI@8Q_Q zA-iNj2RPHvX*g;W&SJy=8K+YNm{*0FOykLcwgAh1`pO$4G%khy-{N_wv(x!F622$M zF19!(Vl<~~uTDelVk$FQN53OS;d2~{<1|O7E8)paBI$(s$=lxWU!Sh5(NuM+;nSNr zy!#(6 zJ@=BO?bJcc$rSa(TudF!`y991{gq%u$-bSLu2Iy@SCR7Gt~j7vn$nul+W1DY@$}Ze zDN(LEKA{|FKUH%KMa$yus4a+IbfsmdPwH*F$%NYzXn>C8k%;?<9MeXxW(?ZJ3-qP6 zsK{wx^d14imI2Vb!7J;<3Hhc(OfvPBtY7+*F7qRcZ~)8ZF;B8LIEJI%lfeb9qaO%> zVga5=&dsc^V%^3Q$Ed1h{UX+38E>4JES;dEOukIF;P)06xS4qf|18}o9(ScL+pka9OgxYI9pmNoQyaLVs*-@Qw_Pqd35OX$yJ z+LhWs-Ywf8EJQZaE!{#>i~e@X;@zyLNH@9CB0#HtnJ2LT9-p0^K9_W_B^^s1Mw^l{ zJtyEoP0fb?Zr0K<2TD#vAD`04!gQy?|r_ z-0#OzMH+ViEU$|6pX_h$W<@x|h}zi0PDT?a7rgek{+c>fag~)7aXQktne=}J&z3cK zJhKJfuz=;t6$pDR#$#{WoaMYl5=N4+U!|7=g)@*&f1i5!A@x5CyUzfHf5h)M=|}I; z4=&()1$H+<&p+|J&bMqts91+M>c;MaqMacqQStLGOC(U*$I{Y&tKd{n@~B5`+a{-dbH<{}|vhs-|=#^p(4z z<=eE|8lqvYrXm2Ltl_ul2fqTmUa*hkdE;!42}Z*6VkQsTL|qN3!lF#2CGvHLptlSyb4dm?jUHxBiBC-eT4 zCuxHkwtSDGr#lp1E5e(by-1x+_=ys8l9zM>2?TIx&X0Y%XCk0u9wgsE9@>~h_`Ik! zA^5uqMA0WNdjbtqO=m&o7^@gQ)#vfX+>z}QArlD9l`?f6pFS1%Cf%X=T7e}xxOPlS z>qyHa__hS1=(QK_IifQ=%nltH2`rI$Moj&kk=|4J+rh2a=w9@4VnGvW82FGie})%) z0ULNZH@Bd=wl;PZQjktdgG{t%K=Wtkc>PK5F&vcQ=UP4wuBieh>5 zA6-j?;Ek1LFn*i%0)mKcVKy`kC;dL~+gt>TM4%jlWY^2o$4gi>P2z)2_|r^x<^h4Y zRIw)>Q_4xwlHUj!nD*pP6@SDbcEKm8YnxEm@gFxyPZfWr9rj`*9;q0KKU4B$+D83z z>@q8!{BZf2ssVsU0gZ_!3lJt!nKJiuag2X4;Ofc5c?$NQ z@T^TVo)q~TLE03{Xy@%FPMIsz@+8V*@EYHs>v$XG`U7d8k5s(?wSi^uqxKRMCLBBCp|%rDR|Qcnu+FF)ZVo|$>qf9*GHcWlc7ZUV}EE0}-nZWysZQC4P82ex1G4s#v%PHUtezs3R z_nV@OMuK>wPg9pp{c-;R%fW(WsGI-Ssuvvt!^j1G=%mCQW}Gd|4z>K1R9_sX0zf`vsna;bUA$~k@o3Lz5DdeMtU2<%9=~o!49X-%iTP_HiN^Q z{cPw%2yfG}EP4^Zt(KW--M{)PTW+^IgA0R>V&m^}79&TJj@3LTm^{)!vJh>4vAViW zHp5~X`b?)q5rv0aO8v!*D8hjW=nAX=xDzs#S%?ub(r@=~w;R6X4c1GUpBccbnfT(z zWR8+kujthVG&Y&Nnw}m6VgwgUH|=rb!YJ{RE{kfhGvktQ zqCJUI;^nlVi(yN$5zw8_kaCSf<B9oTA@q?l%9D{{mK&O6{6Bl=0Vh{g_WyhD z)NR?cE!lJgH3UTv5fN#=AU0kb`2H2Gv&lZ^v$OZ!)6egod&=)T=Q-{(=Ynw!xL73d zAgn(e_KT#8NOQGdKUziy63AMN8iTqWJ9fwo1J0_!5EEw#!K_Ta15R zP7OYr?KTLJI3f|~WkhwsgVedJHg4>C1`m@)GN6wYOd=M9VJCHZIcXm#dYB=UiXMk~ z6|6`*QS0O`+YxS1zq%$do zJS-qDGe~_#&A{~(arfntAxavw=s_nlq4c6|d$?%Pm5awhht zlI{;7i$9D1-$63}9Y0T@GNT=p8L9RQw`z1@AAtVeY9r&(>@g0{(tf*(ieBlks}%|L_{j*pp9Ri`kjEPQk3}p)@*6A&I^S(? z?+|IxRJpz4FUZca^42G?9(TdEpfrl`H2NJ&|0}<13MoN`WG!~eiub% ztF`^=i56W38g!)l6VFGGV%W^}Px<2Xhk|p_;d`X%#5ObM=;zptfx9+z$^fL|X6c#6 z@amh5N15#$YuXG(*@kPOml)wl8>bZ}DPL;d_H_(aeZQgBiA4tx7M_JX zW{vHHa!7(wu`4#*jGC=Iz5Pva-5et6cdFT2Fb9csv&uKt>Q1q#c>CuYa>->cSDH5{ zlFH{Hnf4NhWz=<^90>R>!tM}$DdH>XCwZj_>Vr4#ychY{0tM?=g>AEq( z6yhXoZi3M*#CI9|w6>;4BHd2$hV9Mc1jvMor*jqkFD3A^;mB2_ynW*XP4 zO%O<(#e*CiVMD}LulkxCE735_Ey?`v3TS9OCnn{0vlgjG#874}T+s34_%P z$msONL#dylTlpd0)4dR650#sUgv^eH!y)>N%zlaC1;$2=OXiLnQFX|{dxy}DpU0-0 z|HQqXJmw{p#fiW5RJ9uh2cx%-o*5%SCTze>B*wktiN$1|zemj|+1x=Ur^`cieJN$HgUbLv?I0g%!0++nRauVCI@J+{0ux5~QD1(%@F}Q3_cT2x#*K)l` zv&hD1(;wKuPULkfR!kl#0h#l6W-7i%r!;%NF zNLtbk?2&r4WJyiaj2SaN4dzFJeGajl7>C)Y^@#l;5Li%>dazWA$2_#jfD$< zr6OJyoQhPH4av)ghxP$~+=MTY^9!OEc&Lo?ajA^VCedp>h+2` zDH6gti;^-1kphUpPdUit5c7e3*IxjWm>W^ zX$I0$NM+Iei#or!ETqif+keM-=bbmvMZBWRfOM>2PqX3bU2Y~%r~oo|mO+a8CEj~4 zaUG6OiL^@(F{EBXTJQhD7ryYCqBB}T00cr`O}dK-T1{RK=DLgPzro*o5w(OgvV#b2 z9K7}$(tRK0mEE)=0sc)$}opTm}$z6brDK6Q~{4I>|(emEjU0(?V zte@fkG`{5Qc3GlKH-kj}H_CXy=FOc~my=kQM3^$>eV?Sc$I0b%AoN}lPz3gV1Q=s) zgh2G-J;oGr^(3V8!NDHDU5t*houxxlQ&|K==igCG`d{yImzimaq#3J(&Sv~HFvdjU z#TE(848v=q<8fX^$M-TEnD|X^gVe{%*%9|)Fg-jU65uJs{0^=gxYDVc97bTw=RTA# z%&0xvN3y(+7!6foq)=aNcP|cRVioeVsO`TbcP`9~mk(ApvkQWjjCTNFI$?U5$)?3IR2Tkt2vDFtj*B63z3#B2MJKpYY;ACH6rp5 zrc8s~P1Qd1nmc~BbCwig5rJsym~eTL%MuIf0J2GpA|fx)D+l*2=9`9CcFsiOf^4t! z42eB`pZyr^)Bi$T{6WYkPmdm!jAguaE~Deo!@F7)i2xJyf77=QBxX@aAeFZ< z5*hjzf!<92A%}h?!_VO!bq45bYH7KZI^RLxc@XMfsrQyFlqUTpuWb-7^ug2HOyzn- zy^SDAoM-$a;}G8I#C0yS+iua(Z0kq2t#uOhB;R5f#Io^k*4wWMhiiT@mWsAY*C@Vq z7R2qv{CXgGMODMQ7`v?`-Je%F?ezHhu7uz=A-gw|hgaaXo-5@0#0&&(jNjwLeK2v; zcE$fp+s5LN@ivI`?u#zE=o^<`etE^dT~S3qIww*VA#7!F<1o^{6_WOmiIuFd(3HI$ zpEpoWIqdIsNGMDD^(KCA;rRr9qJNkA$YBTx}nh=Q5MuF*_#OaGloew zZQi_PO<6LV6$#9IEQf(f`cZN@iG*Gi0Y#vE2%vP&e2M6!&rCOS(jT(#iz1h4*mij| zY_n;IYm1rKWoM$&&rDdB(1|Uk1EAA_n;A8UXQb4S)}phCaS|lDEiE}wIK~0O1QFwl z;ZL;DbB3&s-;g~#?3Yf`q4OpT(w-(9NO<8_nE6f8Jd%T^)k=P#Q@)W5&j$$D}1P}L` zD7RqZmfyv}=R+wYr_Tv4biRTMypt;lAQ)0b(5wJP0|RmuynMFb-)HysChi3*24D_4 z4DD5`8o=rS$wLw|H{nV6$6(Ajj>(=(UUR+y${<;QOm=?DB=_p->Z&IhoJX6QUN$!r z8fL&`uu5+TDV-xJD*=g_N{nq4;_%h9m9p@I6bo2cP^4Iqi;A(4ZwN~(DRE)-)10z$~;nOsdI zr@3K~C^(Rb<`;N}vh}Ve*GIyJeE){(b$wr7pGZff>U%!_+4fId$AM1K=yob|HMOF} zj*aA%9LNq^?&okkwsp`7#u@zv85RdjADTYl*Mk0FP8}|1+S37p5tyn_$gzA@lu4k! zg^IGIoEVl87Y7WY>Klz$rj5>T%Np#9MM{aMm@pi4!&(Te><2R9T$?^yU7LZP)=6dC~0G5!g^OUI`aMQ?wvw1=Cn^^rAn4$+wE})~2lR)9!I9*DEFqBeb1S#^8D0i!2nDt`=h^1{Gk()6{*L)>u@_coNIF z4MX2O1&6l+l@EW)lbK1gCZFpVL%xRVa`N;T-@#kCKl969{_@7JfBox^OjbsiiyTb4 zhw|$o52!h?*7JM1OzER~#5|t3-$^>sF8z?QHgkU_gnAVO?4|r(EK^z;(LmG-fqN{L z+xX3?pFIw{du{2oc?Y zPJ9vEs^o%a-pnun@@x;XGpo;vfFhs>6or7}tcB>wCYR@q6-QB|1T#x7$z^ms`xcXk zOz@_pfnYkFE@DMuqPlx-OrPO4)DVqa zB7h3Oj-uc7mPgH1pet z0ZO^Bi^I}aL%zG1i9g8dSiHBlC%$OWF8agy#OGoxVO64$6-r;hkUPo1pv=NQUC8s_f^e<_$glk~vB zw%y$Sn91VPr13@W-@`AEbWgt$MLp@goGoHP^5;m@LF_iL7~T+znlA<|k&2#tLn&KP zt-t^ZveJ$ZBd^$R`iurUD2JNu&NJ{b5OX$w$(z!1DJWS~!#K!ORt`vVPb=P-?xzy> z;D0z$0$=7kWH4{$BcRBYvyLAJf|y+0x>9s@e8HKV*& z;Wt}W@B-TGqY0TW9al?Vcx3|OtQ0b)EADfdw(w36TgtL+p#GG{ZMT<6ejVO|4>1PHv`Zy?VnN-Vk~C z;eSA|<+dv+WJ*+vA%}U_)PzrG81sI<5!ASeD5W%oIfi+L^LrK}zRbK}O3cZaAFdg# z^KXFIyOwYML2~_ZzJ>LujcEPmH^14DQ;ITMeDRB4Tu8bHl9&19MGnl2%HkB{c3Jv& zh~r*21;tILhMYkz8FNA@EFh&bUuFIjdP1 z{b4j}--QrS<;na!;}*#ndDdN58E;4*6aht`90<@3u9Y@1!;GVIxhQg(8D~$PVbfv~ zoe~3?jKYuqkVH$a8AZ$PQ${-yH%94jl0YZ$7X4=8l!y+=-qd}j{cb2rGHzxfAWl^V^%~-4~c7{ z0K4xqFiCp#iX##2?zrW7cNs<_94&CN+`I8g#+<|?c}<3sxa2;Wy~K5QJlSa_a7?;0 z_(~=)ilcRU>CWywgZAej@xKGHC)<7BlH&o3ME!6j z%^~!S^*MeVGeQ=YLgw~G>}algPJr@TSc3yyPPiJmeGafNtr5T9;P4l)K|x=7YCtl` zmiTL zxDS8Pe16BZPjpV6-XL2`B$M`NVRd!*tyB})(Xo&w*zNy4-U>U+;&<}RUEI~x zE`ktK!a%zA^LvUqF2WeHli_ca;~0LYGJk2~puO*1dF7QA?b}G_MA8#s5*ZsF#n|xA z*geX9*$icT1hV&b#=#dLRPx`P8E`da?uTUl3TdB2dbMBr(wDAck?1eiUVCkhz)7(g zAuTz;?-J5jz^|2b-%PpK$!gy?O6(RJ<+SiG37EG%$#wt+orKpcd- zs#Y0BtLJw=RwSjk@!@-p%_J`JBa7l{6ahs*5hyDH3^~?%O#H@_T+TxmdFP82(Oupy z#^OBo`>eHeK9lwH0+Eh{tzE`iR;Y6Zk;B9B=jnqUWA4?P9+v#(o4}-dE8D&F&y$5w zvFVIeNCpfXJYj+1io6{;B>t037Jtoq*pe?U%3qCoFOdSyFl(<7$++kaM!C3K^8z9N zqzp_lGQq7malV50)A{A#nurF{9(`_*;kQFV{MJ(?Ny1}6|Iuq~jl`@l6}gq;-i9oH zj%u2M;whIW2E=R=kcBXA9A6b0;t;=xluoi0kg@52!HN}z?X%2K3?i4){8qy3#(?%e zU%aV)zXBjCvzO3p3sGfcYlnEvOB~ZDdqpa8ROcy-R~g;pAp>-KX}%Xxq`eTU zBO|e2LWo^Pn=Gm!ii}~mcYI-NeIoQ-(MBF*uKq6YF zjc@D=RaLd;BGI2SCnyZniu!tpvWwb;cR{*}B=ZfBpy;UfeFnYcpN5#7S*g^C`%vP3 z3+YJ`qV{kYEbqtug)*lpssQhyY(*`<6Ky2PIXU?3vKL7d8 zA4B>j_obs{`U>g%$EZ-p;l%$Szbn7-jc??gla#r9AQJ)FytSD&?o;{5Wjanz za+wBtfk(n>RUrhVL*!-C$yr^fZOEBq384nD`67g%9JG*bwDUf|O z=X5K!)frD?!K!s$Q^hv(9HJs-)yY=aK1P-(TX7ays7ucqLj@hA8d>OjaZn!)!Cb}7 zTpvo8Bf0s3{7#I_bF(8^Ph_8ZS&(LKDN#8k5u((4C>xTI)a~v5j8Y6hl4oR z;CKh$Mw^GHqO3-Ou_4RxS#cxYDR@!V14RdMQIV9%Gv72ibVik8pi0G&!x#J-c*@^aOs+0F%ja7_+dTtzc@q@q{wya{ z+rD_YC&Hdp1Qjx@DGVX9JLdchl8;5`tNXVOc0BIQ!z4-zwVwOM80y zZbV;a^5Ca}-?bg=K51FR#a_aNn$d4<3I(EKHBrBaCfZr41e{8?g&vh!+E5F~! zqq>MXoOp$@D4s33?)CD5^X4@O8F@X9pJLqMIku8-gKz33s>i4J#;y?^-(HdJX*-_j0KDy{N6Y zuiR-#e3W63xPQp)m6Y#YyubgWY$#zEIfHaR&aaj7o&>>p7x&*Kf6MS&aAQdPi;!5p zkg&HB&&d$WRfM0*^Do%lu;S87FWtbinlTVSs+YeWAXpZwx z$8{E}dH#rHMaSJK-QQHaPjnE4=1ioL3-!Ba{L$YHl1J&>JadY>Ou%+z<&Fu> zMEajZQd1q9tTGq-h~#U0r)Bx`OcHiS7YM{VnDBODBfxk7D|(}mcg-?R01dBbneaL0 zX2iP6XgG@+S-|aU$bUSS#-SxYjzD9{SEbo6NsQ- zx)s&puMb$WU(2V(#D8+lvp;UC_A_JQ*f~@JNBNe0vmKv3w0&fkhon^b@-}TS@Wo$5 zuIXr>VIB(1k64E9E!>~kw4iCDVRZexe2C_c2?=ToegCiZ2du+sRyt9F(#Y5KNR6=_ z6+M+VoMnr?dOrknPFj5Fq81~PcQBC?B9FzAB}--Gl5_W9;FcTahZUykGY?KmK#b^X#$ov%c(QwT&YqGft+x{UnQS z2d3AJRD|5f=R!TXjkNxE%a-=BgdEa??Xi0%sDFe2T>{~HdR<-J4kVawz)r^57eSPM z1P*p4W_ro>cogNaIt3of|e zruzE&A=<8sXv^+~O#TsNy^X`{ekpw)_U94uT%@)?@RhH8MO6I!kvu+5e%Dg|ln@v9 z*7oh&=MdMy#3KhG3ZcAzTKl+`xUPo0zFk#e@GvwwzfU zTCh7Pnc}b}qYE1bRwA92k;&8pdFS3Ozgyj;F2v{x)`W;m2EP< z{8S^d`X+0pyj^Pjlf3B@0=~dIR(;=Cx%~XyhaRTqr&9MdG2iS6Z_7Y+f#LX@k!*zo zGd_HSxkRbO@nzbXY1{vrT+KQvnGdBi$+a55bz|k_ykSXHvHqZi(>(_cyZIx zSS)fb`s&Z%du|xRuSifo$HeXmCgi_rZSBixN5=>|t`lPxQC#k6M*ApFH?^D)0`W~S z%*1drJ5he`_ZzQgRr3U-$PS?sLBi0Ok?2aCKI(rP{vP4|{|++c3BvX8T()+7LZz5k zV8P(YrAwE7CKem{9d+%!41*3M$~lQX)?Nn&_fqb=+uOIS!#;n%JF$H1OQEMsz2e+% zNUKoVsCzfeGOQMg83IwpNg|YxV-_!-|MubG*rypq!imZ|>*`3P_x7z@ zdpBS)<-ZMx(#XXZUwk{|Z{eH%B!sJlwDnEsBbRTT1DbvR#r1?sF1h4q5U}67?6S*V zZJe#9(dq^ICZX-8O!F;df^eu+`;_reilLRu}0n@y((lR zmDeG|mp&*0ihv?e90G8M4uT=(f$6~_q0k(o9ON>QatN6drE$yH7CzM_mk&Su4L7e| zz52FvP*~|rHN>n)nsgvmJRUP=&Wv+~_KVH1=)lF^&tSmEK*)!rsy`OvGyr-W?EF5T zjhm0FPy7Td%MNndy$Bbw?adDIBDgoPbGW*sbpSF5d-mC5$2~u^xYA+pBOb960$c1| zA{Tx^!WkTdV;oBUWee1(aq5|v&0W5Hd2rRLRY==r8qy9ECPT`TG-T!BMkHpgX7yG` z(UeKYLoAb+$bB@LkXEa&k6Q`11U8fzDZ8jI9FDVHIxKiusIvl_0Ohd-M=2M(ylu+k zxBPxv`bNRW4_1N+WeyTHaUTc>4whghnBYh7Uw09kZ4(h4=#%GT%%hJBqSBTgV$jRa#WHVJ7)C zjvXHkL^HR0ZP>73WZ}a38TBQZ0r`lM9};!W1J9(-qOX1ifG0A*`x5W`wY)#RDNn;; zgU0WvN8i}EapO~-J|=G2hfeCn@o2oqAMmfD!0$3cO-xWGN18R6{b)SW$U+1&RMfWE z#w)0I>#0K}Pr#D#7I@v~F*t685qs_y=W)xn4i3bskLIiRGYbkwLJGXi@tfVNZkzRu z<)`gzD-f@uy@|RNTEr94dp@79Do$%~7n}JlJ91PosAj6J1bNc#QTiu1TDNmf` zFRrJHO`j@@{CDwP+{bq@oAKprw$rmn>TE?iP9ztl&W}|`JtLmRmQ$o&g^(TdD=(H={y^Y#cvrL9JsZor&sFAUQAz1q%y}S0?Z@)fPZ;O_Q*_s;SO&x49 zN?qUshe)Bz&bS0TPRb1;{jmvl?_e)Ju6zYEHCJ^GlF~@ieF8-~Yv3BP3w>EBEc6#?CWl5xfNDvx580qjs{U!(F znC2neuMdO=D=tkdS(`2xg#EEcM91k|n^3$L(^De-LT+Dm*>e_ek5fTxsO0ad1GFP0TWEe2Y9azAydfD?$t zoTA4J97?rxczEy(zu!8YZ+3Aa?%V_tnRPl?l)M>Y`FgfuZ7jL~1qNV2oC8dy;Zn1Q z5ReKGgJhO*2z`sI!Ylbg#Lel;S(e3i-!d_DmFF!IborQ77hEh{yDVq7HxBgddl;}dX+$Ky**8_Nir_5dO4tmOHN0|P@(F!tY> z=C;?|LW*|s`yRq6vLo()Ao`AmEWL`h;PS@C#velrp9TgWWbF4HNajyKGT#RQ`v*wl zf7jI1bQ6}L&u;V4kA5_Obnj9jr1AFwu7}~895V`udmVB8K+@eEYVz(#SHAIIlh5DJ zojZ3K<)e>x-o*6~@_Pgrh%V?}@+iA?da>iyYUe8Rfpy@thUcfzF~0u#>#xtN3UTsE zwD+gf+S=N)aN*paFhAq`7VB&l&gqAod%4HXSxH@-k~lMN;XIJ6#%1(%@KNM#IQITG zrX^4W6oEa70Bz4&kG4k^LOo5<6Gd9Dewwz_;K+^DaprIp$-+uV7J1Ge`rTC`|2Iubnz-{$7#242CNA(jtH1OIu7BdX>ej0S&Iqt+)c9=BFc0i zEbn~BHs^8_Bnk}dXJ7FFZ+%C_#9fHr>4L!lAKKCT+)a(YMwI{6Ec%=li^jfb#m&pC zkojdKSw4jBmxkwWZ2a1?v&*}vu#V1c_qC2hQs= z3nooUqIxranf-=0EU4PD#X^W7`a#Ay@2AOW!h+5`Oi6AO>Oj7B#<+}mr& z^ImHpTz4FM?6FrKb<|P+hFtyvW4YTHQ_EQUCy>ZDVs|}uCqb&7&hI>aLPCoK?=IA4 zbaIvPwUmDbzh<86xv~Iii5>GCrxeTk*pUqyA zpgGI?8Sj?? ztPIL>Bxxn0>0~-PJGUYY{tqxZj&Yoj^BIQfj2aH(WN;i>vSi5>ta87Q?t!{q8wgmZ zvc3C#kjpjcZgNj}AzMXCV%?fG+mHgzHN2!@Bj(IQ70aVW(6<3H>D@I|jSM`yCyh*s z)zvqk%Oq~t)^?w1Eko(@Ml!!PH@Ap^1T3V46O*G{cNvJ`HbJ!*3l_|n&4l7;CJ~<_ z!m$pr8R7kWHxh|nhQ2{hd~@?yy3O+QxAw2PrTHliKYUNz484Z=%irR*#e#ryYL&mP z?U`>6e(&JVR(P`K1WrV>T(<8q@HLJCr$5`4{b=c>DlX)7!r-8@x*vJrhNjz%xOG9m z=lk!zk-@90!!`YuV|<1A|49h>*RH;y@hWGe`!D6tyZ!tv^Ii+JdI@Cq0u~NhX&c_m z;=z3*R{X}-oSv&zr?@v)oNpw^A}s7gv-wr(9TRs^^Msd@|o1v z1Ejl3bXmE9X)jTO;ry1Wjr3aA6Zj~4S50oLbG>`M*H3DJp2f2`!fC%)oLy)n(5np5^2`Ww4INl3gbJB z!=7Pxr7ZIA^+tqT`27ju_i4)bHt;$Na`>wde3vr5Sem#=o_7{l6c6Uh9pAu+cPO=01QY>9U}6Z+_N>irduVfHQQXsHkdK}|axFc{90(zi zTHGVsj&ifOZ`q)OuWP}Ac4ZKu002M$Nkl!XmS8M;xZ1TvRyMW0)1TKH*u8;#nJFi^iA0A9&YbSI~bV1*I8(;$Bj z1=~B&Z~Xv+)}Bzv&tY56DG)91U@+T|3Y2@Zif!a8vGyb?&{h4CFW_5d1%gXS?=g~m zs~Iy-W83|PN^QH(&SD@EI+#uFuk=~Ywz!RMS>btDS z;5W@s%?(HqebKb+&-iCG1~=Rsxn}8^yF~wC+0E*kS`KxL_*+Oj4#O7%>S3Q@-G9)T zTQe3t%ARmmgwq8B@O7SucimI#Z=7!%zVqs;tNj7H|Ej1l<6ORZ-nntI>9g)I!j1Po zf0O;KSGH|?&|JaWDZ$9QMNH`{Pz(QI+EzEqQmh2~ejkkuUiq4HdbX4h<%EJDEES`T z^OAsJSCkQ?{K@Ucp6M)EvSemFK6EsW=W@X2aa_mR=8d!2!9vlU?6SG8qoYd}P$$Lk zj`K>VL6kbC`Jw<96B~b0J+# z-gXE-Eb=*RsQtQ)vHvf-y4t0`ul&MWD#w#^1G(HyO1E5a!3B3fEFa2TQu>WI@;ib1 z_ksa(rA9A5kz5`ceeQ-xev$k2^hs;^J&Kg_8VF?>qn6Yc6HbjHFr^V-5SDjQoNqzN z)H_8TC+?UC6^8FRda|pA(z!u3<2x$c-(mmg7^TEU~Zf+bSNAU zXr0LQc=Wc#7;wq9s*FX0#7eBw%^>yZy1JV7WZ3C^73pPkFaN^tHxGg=J}D0tkoU&H zkSYhG5@LjN1yNDVc52fI5XLjeDArvFtvrBKN?!8M?zdm?)%)L#kjoKqBmOhX3_c9~ z|9;1I*0x_~T+#9|R}ZCU8s)HbRbp^Z9>eehDN3)*dmu~Kyz=ZW&-&r_yWhQcp#ex% zF8D9%af&rQ-owif7W_DooB<)vL0{fcfcZ20E{25qv$v1R*}n4ZZS5;>X!$K<@`ZM= z>izL(-wz?f!^m@f7NYT@AtOBR`I~26zU<6ht>w(cGe4TW04dgU_}~L5AK3=VCsGOT z^&9c~%9&0faZM)-P){@X!j1M1ITCabY2yEh8Z}F8C-zOhX`cc9AD|hy(6o?ZcC6RF zu&CjV=e}=Wd(ipYU*J9EslAy9uexs5BEuhepJCZ&qV4=3*VT09a!?~%f+JTPc-G_- z%aR8s_Yo%Q(QM&eK5yCwCq)0^NiHv6-cZ}q<2#xG2;ZuLKZMZ>rv_d{Apliomo%0G+^gU*AsJP}B#SndGv7z&KJa zFQe__fa<(m1rBCZ2vg#@1v2{HO`A4VRP~o+YEPT1ufAF&vL7D(8IaCl4!LY*Hw`N2 zOcpKUJ0b4j?}N_Z;NV(RkPQF*?|&Z_3FtkYcTHarm<$A1H3{Y0;=tHU$1Rib5;P4( zU>YK@ef#!ycBBq6f=LNu(iW9ba+xixUbxb*DY@(gOquN1va=2e+TTK09)?tMhGggH zAXNxuA(r!{_$=?}$yKXz_37pdu&>*567b^-7RuXth|m|Dhd$<_*rBowu8( zdg?w+r8SWotGekp^00Vxi@Y)Yde zI2F2r9$dJv`Cw4}I`JM2FNeNm&m1sWi~kkr@z1g-Acv{J?@hijXSDy(>1$fTVh(x$ zYj=d}x^5WhZybb_zla9+BaRuG`OFPX-+1-eU8@pY`^572!fj1U<1y!AFgXf=r{^HC zU&~oRPoo3)2e16dHqS+XiKRGx=;?$3WP0B}|98PnvuBMA#SQBsI?}s2Yv)JC@W5@u zRsLUAS5(T{4xzX{$GX) zjI(g(5GG?0?SK%`nVvG992Vc~yCM<)^<7uqnZ)6JP&-YIps*kjE+v7q$R=7 zt0JHX6pR3ibI#74Bb$A`u;`3$P7lbK03+0pw4?dkN1D#$;6wdk1B>4B9Tz&Esd$EIJyOI@c4CaVrc6Gw^QO;=fFiKh zBfy!&&N_&m6j#P5rhJmiL_R{~IVf?s)XW@9wJ0kBkZXVCOpAjdx8_4~&L|{uA^+%f zwjurSr)V_x??S>%BR_UHT=UyVWT+N=E{0$h6&WQP!J0|KKbb&WziCsOsKgl4#3CaP z2dYBHBg6NfW_09gI~cwhp7ztWX?=Nhf3vk}MdweJuPFZ^nQM`TjX2Ib49l#sY$Hl~ zGaTFg``sJ2daA@o6e7YY=zjRH%p$SSK{P0B7`5hnk~!P9jZb_g4(@a0RPaxO8RpA6sL9|^axci@vF0}a*=r~9Va zPIDXjkiU%D#QzHToD(1!fA;+K@$W7B=r$q3OEUkyVdi3XDtr#g{#0OSN3#5NC|_Ld zv+T>3ePr9Xb*rRA3kWpbFp$GHsh2mezO8vBn{q$T0R~?;tLx4W8_utcxN}ErxbK}# zsP46X%RHNY@p!-Ef2W*NKg@Cq^*~60ghZ}m)ZvbP_CzZoeJFitmt)#1A(j8>j~jO{ zJEt3+>wDI)0LdpOdc9fBNH8Jk8DhsqN^;p+vSdkPG&=I1juS^(*+l=p6&BKj@abVv z_t=Xb(&xE;ufKoz&Rv+4<0RkEkmZ$JWQm7ZBKQzy0jCwze25>JsgK zPNBTp#?i4(jGY`$A>Dk<;NbARjHCLp&g#yIO)V4wMWCz*So4~izQ*{BLx|1VmgeSm zqqFmXcB8U8Nee9jtw(*<6f6~#ag~zGDKzv(5l{rmjR5VB=v_{c%e0ealw6j1vxh+! zs7fw-;8IR2ByG1ZUOex12B1qAjGn?A-gAp`dYXv|y>%Z%)jjR)?MR=hNk?Gax^*Lv zBg&BR7_Y10<2{d$_%d@*W5W~IMXx*TV>^4sjjTWqq7EZ!`Ok#pTFL=st#QYAJ*qi= z8}u2!LAo-p1fk;uhT)w!c*RI;;ZLQP9O@({O-O-@-etyO`Athp%OY^P5Xe3ZZh7@I zL-ubaz1z@F{r#@4u2y19B$7Ysin}cSV9(A~-w%G*s5T+nedo@x<}Hd1j(o?eb53<) z!T+YQJ)6a!k2?YLM99T!1J1xt4>+rTYoQr?>gJg|-6%_YovW&TuUAt{#6)G&O% z@UHHuYejsGL)W87UGV|||Z+0LeqUlab?j*gBe ziFeO_%aUhaY#yWJavosRS`knL@*}W(`EmzU4SlqCJ6Wj9yU>=5Au(=r;*51#33KP* z;Ls0u?%X;4;4vA2UKIgFplk@tYiv9LF5`=-2u-uaX=?hU(baWX%5D$dFk;Co#7Fxv zEq6HV!PlWlD+1FC0n^M7n4>)^pX4$#!jU{vGNiK9R2qSe8#|syN9`3zM)(<+zKaee zg8)cRKQVAM{(=zNb(=SD5vfl#9te!8uefvm{HBej>HjoRcy9&Qg6i|=wa{ zvMpQM|GsI{T?I?mMt61n)<36dKbWWYhwK^Mk&%I`0>SDL!-Al6tS?jr{q<{aYW~gv zXLS}#PQ*?(~Sga1Bo<3P8WMdCkkoe`)B&t1xKedtcNK7e%WVGxm`+gm25UFc%D&KMf_ z!SeG5Iw!fPd6S!t7##4S9lZeZYu?xILssK5%jX=67EKONWkJd@jzAW9Cv8A4(#S~Y za-|ZWAfg>2dNsRF*1_AZ8Ho%$J-1_E{k#>%ki6c!0Pi6Okz6KQESxwae9IYq3uT&( z-P?mf-)VfiCvhLf-zJiuNkCDC|L-Xl$phx%t^wi(T*zx{6-ql(WPy{9c0mrg(_zlJi z7tNS4Yat;Ie zSISXu#zbJjf*G?dtL`1(c@6~1VR&Y%w>t|+g-d>1_(96gK+43tl>_{4*|>4zhLoow zZl1n%&itU``=Vi+Mo47F-{iXiTLfh`gn|;xY$G=-sHS#l&8Z9E~l-EbE zF=ouDYdDt)&nJ$oK2Ay@kFZp({Oo(oou_m ztuXw}3mcDTA>a#?{zzb0jZ&hYSpMN(#fHszz!y4+!kiAtOg%C=%Ev_tRRCru+C=&Z z!|O0-@FJRd&kP!qt+u@jmsV5_JqbDa<5#wAdoY`jp6s&bOHVN{3|Sm7jJb2`s$-3j zn12@Udza64{LE79+UU0R!C6M+5yOa_T0tG^`QA^lY<+cHm0Qp*v4u^SQqn2iU7K!D zx26Sz+H^{bbW3hh@4G$cyXTzm-hcSIu5qiJ4riPzRuUuVpb*#+t?pW=Fxm|jB zc+FWa9W?wYhHOwn?#wA%dJ#VXJ`5!$F!?^Kro=J+k~W!lhsdXgNMd}y`txamwzq8l z8JL%kuWQv>KYqJtQ&9Jla{$9YP!bz)OQlt2ZI5+*Utjc+=X@9=uU$EitrE!R7k^lP z)^`%jDORGuE4-%s#BOqvn{FD0J84(8@8f1*J!S`l2gaW$Ws*T7f!VK8#@ z*WHPPg-zLSF*0Ev_hw2uf)A=+36*A=$8Asc+o?y@!Fzjx_N&G2l?65kU$mrJphUiTbu{G8>c(9}2>%y#YAR;D2XRxB zQsUUJ*z4Jur41O&KSpFpNcq+4QST}WXf(zNY8F<|_3s6Wr>n zymbu?KbATjqA?1q(%9G&psnYwX&T);qEa}J{$MsbIQW(v6Xn(f);@o^;;Fm7&(R-t zq)mCC-*YA3?JOVotJT6F?_4(`{+;Zov#zZ0Z-2UF58CN?_it9dG@Dz_g-x;XRh^Uf z#d|ULVuYAoK0j@Zh1#3vR&8Z7mM%)2)T2-g6&PpNL{3-NcqyUDJ@r)i8ennq!6_jjef+n< z*f==%D53Ei3vFD<&57njT&L<+99UTK4&i$2wnPSKHl!9UXe#_Y29Dvgu{GcXuvDXKHNRGFnB4tPcC$ zGsX2AARuA0RCJxO^w#(>QG`CzXr$3+mYAo)6Zg~Yh9W9d0QH*yTivo#+eV#$IZDo8 ziI==$;Yu-Cw6tRp4&8Z_wUs#aD`%EoI7W`d+HzD*m{sj&A?x-x9o@Ss|}b9?LO90;{cy3znH z2EC}~<%sGvdD|P!(cSteG#ulb_FF%`1}=&Q2^tG3g;#Sqs$;d_(N&D-VtpOZl`Tjx zUofF1q~u1DE~_Uxs)q6Gw!AV7{L?BsEKw!S6-otbN2Wo0`-f<9gVVPSXvBG+w2kkS zi`V(M>0fzr-HmX?6(&K2^2;LNJu+PjqI*zpTdNV{|+S{MX;o^K&jL1EP zaU$(r428f`p`T(fe9P?Z_SZNob|uEJgk(vng`iJfBmAu+@?_BNgI=B%rNZY)3qYpj z;Ng98amSVzGfo=vE}S-sEM1T~VhJC!`JPCsosk;Bg(m16Ur43?NBCa!*B?DscgO+` ztDSqFlDGwAk=ewiSHvcit~LeOVqeyJcU`r&3zv3uNP~4UDmVG0m}z4K24UTq&ey97 zbY7^2g-TAQXAD}1k-!noPDlI*jlDc{v+5VjNYhw|gd0{E54uImZ0FnL<68(o!-~u3 z^VlteeF>mP;9DV>GqqebsBnSgQ|=1tnD#fy&1c6e6eLj}uw;rwu%&y{kRm8v66Hf}eUfpbnX-NDT z+g?G4iCUe}MB#1rsUqIO@nynkfn)#N>CbG5m*QTqfo4w<7EFt;QJo^#=))^#ThN@~ z`whx^dr1Yx@hW}XRXM8f{#flfI3GUg=c;*GGkzAtG8qo~=6e5|C^qi?Lt&w&Vva+? zg+5-o<)0?0>-(E?fvHjFH>g4*BEIgWjsujvM?@tg4@=vlON+pjBC3XqIV5C@8yP~2 z>hF!NWaQZ3hk>;~#810qmfRo)KI&cNw#R-Sfk>YmgK(b2<^A}3&_!o|zqdcRfyrJa zw^O-5r?%Ii((fy!(wb8ic$*bM%Q@1K89Mlt#uh+$m8jEa0Iu0fN9D4sU;nl9w=Uh~ z$0s)YLE}xAmvYMnxRvN5Z}sqc*7fkHv!t7OaQPxTvPZifP^&n0qHAd3evdR$xO`(SV6anYwl%$&)-EX+ zbf(0fY^h{r5s@@+185L}hYK9z zrXzz^mt%E@B~xqtIsJg?-81*&_1gx$ks#n*Qp#Q&K5@ubM%5VV3s*P$zzwAf_UnR+ z3{S9&Z-L|?6baW%uaV#0tjLZFy;rphSk`w4YqrXB-kDjQw#REzGalyty7Mh=- zNzfZFqr?i}tzcm$7COK`zW{xA$yGOfW=*qOPDr~(_VF>*fMc@qJFPzW3eQ0Dd)6o; zEmGNj=Az2SpbNgT^h&XNlfp0Ta=qQ#J7KuE*t}f+#SKN}HXp3Q1d0><(ONC!o(;7g zsWrjc@>2+WsN~=m5RiD+SdR2wrbzy~?aSkE|yrQ(@vN1#_Fp|0a${!S5f3%AQoO<(5;l?>} z+?u-w@B#|LEDS1B`%}8BJj3St6&;+w>jL1L%~_Aqx-t&&n~MYse5v8o@vD)NJqIxxO6dd6YE zhLQx$-Q>QiQ)Ei|Yr6`B*c|%qc$OS@WG}g>u`?Y-V_0d(9m^}W`~6{ zRue4)AuPr&U=ub}EV@?@A0kel20MgK&O8YXe1eF5sZ5AfK9D`6H>C>aRGc^9{QZ}{ zb>&LLMQIYc4y_vZeRZ4K7Ez1jLKyO~f0C{z^1WW!+I#P2W@dOxC7^*oUKBafoY9*KxaY>b(fMPW=6r-gd{**7SS?L$M#ln=IRFOsM*+vXiwYq)@O3c9iPs}0{(j6g^n!o=YP`iyg zaaf!=Em6&C&WLH^lftQo7IFUw#Qn|dabAoWBBnHXsj`KAJ5~LZux@28bJU|`_zo-C|JB^A6yjjjIn@Fykd{Er{)X{jTVKTt<72&*Z{ z73%_$rxPO$#1fI62@RieADrDv|73rRzLGK@_!@g8^h}Z6IoE84)acKM1-SWQN{LX` z099Z;@tt1}G~Y!JXZXQmN+1&A5+`7Y=zP?`ZB@q76ulz=ZO%Kd)n)mk9CW!5u9zLV z*iRbPpAyUdR+x0}n`|ZB*bkd-uGi(xviUS%DqJ4+HkHqk+YG_vEXXm`Y7nvhHj5jk z+1OV1aHr)~70sb74ar#-!0?~rBmER-Nk+u`mLb@tLIDwFjPEYuo=3$PIUprOhFexh*>^)c}A;2nn7KHHj{Xmk)j6 z6ny7O1p#ro9-TT3i?E~x!s$%R!ql4JEWpp-?Z7HQ-~MT5lk^NI6|=M2!N2i|OmEaz zjZN-sb!?8l>yl>{_=-8Y;3Zywj3LP#0qP+`OzCho3n5Tv*$yAHT53L5B-BAg3au$E zE^GlN1Ha$_!Gc)5iI_~Kg0Y$?qUeuSY4G%tFVsbfgwvAEcD3=oNrS0s&)kx7O%={? z2b{l?r9%hKqHkkJ^Q<1oBtF&MKRG~YI0P;_RAMK>D87XgAT*kZZpWp4x)bRv0j?n{ z(scuxA$bLsHqlRM#h;#pc0CS#cC(t23PW>*UEBoZZq`5T*~osU)%$UJYRd4hl>^K= z&?GleNyBXcgZNLdJ)=qpD$BD~v&q)V#k6IO>b;Po+J*IWfI+J^ULNNzgc}a)TJ8UQG_TU73JvHgZ+_1^urMV{-I>b3UKUI62xJ4ClryY5d@EWiJ8& zxv^=F-YJ9cqvb4di6fL*&qO+mA@WrxUk&QtXFMs9;x>d7EieHa5g(a>Uu4A)16kfN z?EB&C=E`Eh&A&d#hXg4289HK7G?6qhrH%@f_?pF1M|;qh_3Vvf4=J(!(FAsk=ywt| zrWcR=+G1m3p8XA;Q4m?Yd^VLt=+8b9zclz2KTBsx&{LlPe_7=ZiSTGSBiqZHyhOV! zD!lHpw^?r+r^v31ggZjhbyy`bI~w{6piGFey#$EkiUxG}B;NJABv}T3qB>ADFg7+u z_OU0w6i&A9*O_|Z53tLqUP~&oCCX>~B!jyIU>?jm?&=HfU#}viKA5_)`7&B_2Nz}W zI8oy~z$2aF?IhfP08Sc#PyxzQERi)#`QQz|)IdQL=RA2(XvSWi8?Ouay50+^kT>+n zMqb%TEdlkTEEbPOFceV?P{-`;gx8>|M}UkFyunBW3{AzMPbox;9M(VuD~AcA>n|dS z1fKX+sU{}^oYzevT2FQbJOmDMy^WPTqEc}~RzDvoRMTDLb>}^ex;!{=iU;2Po~NM> zv}iYGf^kCkB1;$x6(kNAY)j!N_#DI>hkzu+G-L&>S7J;;v?;@&8ja3G2RhfCwAJB$XRJWFFAqF$B?NM#3wgG#6XeEO{uixbeuEG@ zUSYXOJ*_oMtjGyqw+ams8DAZ7TuFs#V^-rILQ3 z2vA19`Z1aueHEM)jtHT{y4z7AVsD1QYtyi0ICb!i-BaWTIp0NW%4!=ziH%(#)wG#^giAG^n`^s z<`$ld*v5oxZ0@u3s&cHnn=^vt?uruvRei(cTovOtnvfXp950ZAY5UuOZJ9qZQ(YRjcwR4W@5!mJQ1f| zDOiOTl+ISANSJn)#Gnet!*DjWe$Bxr<8EgCjOeEyg8)^V`O!lB6KN5@(A7Hn6&4i3 z~Nb**~kxiSq${KBlrEO#P^x!~LDb1fQE(R#dlXX-}_FmbnMOCBAsS zr0yLCt=q;q3s8_#Zw$*uU0PyGg~pmy&g0n{Ua=`PJcXq?Y{nSUoL--AplIRzQM?uy zDDU7$-ezpyU(gXRJ$6bD0WPcCeVEjo!-#wl$c%JHhs4T#M6sLV_dM2-(g0sD?)>s4 zsy%&iVJKYm8o3ZxmAGRm^vxtOf6q_6=fJ47EmXAz-00@oQ`j|K#R-|}vS#QsRN+70 z`JOfP)v*c{G53LxLLZGd9}m~^#ykQ#1lS*o6s7$hY`HJ>@E-hbKv*A)@15;lyOwy| z|A55!xSbv9G$QXMY8h`R*X+1dk_5FVD1p~2o-2YX$Hv}|lsg1Tu`4g_XBG@vk?N|u zk@(Z6CBNO*#!IgT7bQY5D>9W{f2zl3p(jIbBc*+O8^mPJ7X#-Ul%P%kLb{Tm)1~M( zicdntq7XI;!&kR7h}K~?$9%3pRv;T<95-mbpoHxSzqK*aiQV%5hpaNXNpWaEVZ<9*BMp=U|^LZThsX=PyJ6)1aP^5bZQ{Ym<3L zh7wrALBcm3fZ9Hy#wOH>0xwJiQXuwoEf7Gwsw)g)0)KtAM|={>^cumP0obrSjZr=%e4kinmOgN{b6q<4#XC6!b3PJS+-QjGOPMv}?>i zn!p$l2H8E4cli zQ1?QfNqbXokWLz=(~fqYyf;!V0<@)xi1@Z(hh*SwBEg*4jqu-~GFMCVNk3cB-0zm*E7;X_ zvOYYMVy1u^WVX*g{R8}0xJWtxadcgN#5>fVE)yp&zV76P6`qg;ZL2KLgIxV+J`}?<4zbYQ zxhg|hsruN{nD`tW444cBud1wBJ9TeMGZ^iq`ep9xM{5>&hxszMf{NUwR4+|j34~K? z)b%Y_$%ZzvRaoK~2Yfw%w>{HRus_nTBfhLkkst77JkQqD829^QOT82jD*Sjx!Y-8t z=8S+kmhHy2j5qz&-X8fWd-?DP#Ce1pQs$eBXHdTkI7+xMJBdrS{Zp1}$7|D+amp#= zwHz`3s|OJ;VEb=8ei6>gcx8I)-_$GRuob6l{i!1Yn>yr(3)|hqQU~vi1X9GjVxI$6 z#*O>4SaHrukdBgUXQ_#gPeMVw#Pmi@lOW6EuI_kUzC9ghDD|{zBz8ZNHWBA=xs4~X zm4YSCL*PPuZ8$VMG9ghtiJWp?#4t09^6PkBLc2+{K^*pRhhodqhFE{GpB&_nt{Pq> zn%d0!A=t~he2Y5Gfhf7cp#4(q0n#{Q&Ay%QmiIri{8H~~TO<2OyoNXxd)%<1ddwy+ z)0{YhlE*6jFHpzE%^m^^23epMsDulNdryf3<%7K@&fiN)N7c)!+x)HPeO=5h)BOV-UAZD) zU8IP_#MZ1+$Qq^1tOyHNJB7`G7_YspB;wHnNAv7#9Rfmfa`PB_B6)CxUyD*wSCZ@t zYAociUNl@PI3BRbe4qc_?d*AbL^u3 zEu)6=@OlXc?92M1V!+VZJF#(M0g1vZry#k9jxBOF?1|i#f^TvBfA8{4 z?g(gb2;FdRNz%}-%(!vj$qK&HnU_Mezb;;qDKP>YZja~ zAbI1!58)*_kRux&KIh!YdXXaBjit;o#Gvy;SLUlT-;f=|nY&iqp9-QII7xKA z621POeQxBI=8(k*$+4NF);Bj+Sue5(B0i7{5o9Bga ztmN#%HA}iMx}}TZicx9(yKZU==FBiSQmbdP?@?6NBG7;vR-%Gs69*ZEnbUI~3QSyj zH(<*am-C}6^S8GHhSb6Ww67P4V0ZDBn64Jxf~(b)-fda>9j&auT!L{lMxuvy z>QZ)|=b9>-q`4XQ)}V{nnvlu`1JQ8VsD$7(ziR{;Z6)4M#%I)N;4j!r)8U_jZ_}A< zbK>bdj=pLVPBPjmEaqMfDNKKE{dN8=y6LIz4~9J`oBVLljOq`?%mAmotD9qbY>pPo zdlIK15J9Mhx?)fDR~vnv!>RkUK5@pl$?LAe>GQl{PJyqBrIE9Diqa6lT`CUylKGC& zLD@wbtts)k%%p(DK+h$Rf}@uQ*!K|kH|{Bp`_odBTK>%$3&y-oGBZD2Zc89Mg}Mz| zf$56s|JqeHBL#&dVsSyxgRX!p(133y<28ICbORqXc!o z)w)35Jor_2U!DbLKsca;VP7&d1pQDP<#&nc`odyL)x~gTQT`esxqen5YBLn@@71LJKSB3)6Z zO2;Amu{50w&%@yj{9=b)026g8wz^J#oY}lH4RGd%0-z1E*%tXVp%xG%uAU+7ss_}R z7;M|h?c-*PWm2me;iaR1^IKZqzcdj~ENF&ZI@*_4y=VI_^?ZkP+Cg$~`}yD+qdPf^ zbC}5vg+`*OUDhpeIm*sR#&k#t>dmO^>&f?C&8qH%=cNm8S%&W&2)|rZZi=0E=zrN^ zAB)GU5eD*$Uhx=&dnm@^6AE{qYgA+X^HTV{Gl5I$AD@cA7o5vg8cpbytH+-hq9HhH(tQwzdr#|+&O1#u0WfLkPV}(pKp8uRQ5CR zLU&*X7>$tS8F6Lb%*$sV?`Y$MJ?Q6Y*o>iF_Z1T-%+b~bCDMa7Fp2_$YIBHNp0T&D z+Be(E^?iC@ekLPbH*DTwry@3xErYC3c; z7f^2}%N)jt+Wv5d3+WKaFU(AQ$l<%t`A(Env>G?{EHSw;RVf;S}#TbM%g>Kpw%Iy4=e_7?eWQaWJSTC@#y z?q}|@wC~S@RQZ#JIzPx_(`p|_ za+fR(iMein8xm3e)?r?z{LW|Ue*2rN8SXo!_Kx5)wW++V+>nJ|%iJY5%0AR3NTWU< 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/channels.dark.png b/content/docs/smallrye-reactive-messaging/main/images/channels.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..df084e51db28a374c041e36f00e0c22597e28474 GIT binary patch literal 36975 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

        %^EaT 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 Uy)=SSpOFxcfsUzmEf^a8e~S?LUH||9 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/channels.png b/content/docs/smallrye-reactive-messaging/main/images/channels.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2052ce4d34206f9a51fce2a687cc17bbfe7f5e GIT binary patch literal 47651 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 F{{yrPbAA8- literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/connectors.png b/content/docs/smallrye-reactive-messaging/main/images/connectors.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd50c3024293457316a1d0b9b78f6990725647e GIT binary patch literal 115514 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 z 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± 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

        cyV$A7d@&_lP$w3`_D7{PB$| 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 NNl`hGY9WJw{{zJ5$kPA- literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/favicon.png b/content/docs/smallrye-reactive-messaging/main/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..93f705b9cf8f220b2613664026ffe3cc88a87728 GIT binary patch literal 335720 zcmeFZXH-*L)GiDWOH|YYB1I8U0i{ckUIYasG$|q-M8ME{3&kM9QL0Mshy(%Yy(37G zE)hZxNGCK2p_jYjecwC2bIAYi&v6V$%np06J^S;_x%L}%RRzkk3}?y6$S5BvKF}Z| zJ5^0acKY?1Q{WSxbssPALhh`gAWN3leQg2!$HV;TBMTK3G7j+m3>gJE1KCO9SHO=H z`PKjTUY`6m*@-`&L&(U2;A9m4^Bq<2N_?wC{Pq7{Po$Fn&$q#6sgVEu_NnUB6aV}E z^lReZ#os;Q2wtELin`8ZWc&@pAM)GJ^+w3ZWXK*pxUc0wzBC4nFeLc!ZjaMu>0i~0 zxWq4h3Q2z2=3aVqfXx;0WRX|K=5cW`HCvrE@pm=5FHy@qyEQ4)9dS7?>rP_U7RqRx z%bfqwZ1Y{m&KswHi41;IwRvu1cJ=B_mVnI+cX-{As_+%&`|df_t9>b&ge}pnQRkkW zBk8$ztugzf!_2g=vM4j78M6eZ{ujPX023Bb>ujz+kXb0b{?&(Dd)uyHo56z8!UMslQt@yc=IUn}9U%fGRi5GqOUTH~*VB~=r_g*{VW^3eB(FQ82 zJ%0{em$JEBb2Mf!)tYr>#CP&F?F!;(4{Pt$)bNxP8xt#vhOL$@TJpqsWEJZIQ1Hp~b2& z8CP@2XHIIFTv&6zr>Bn#S1$*ykj%Qs=gwT4r-GD}-m*4FZL-Rq)o=>0LB-nl5xeSK zWyA}TdTj_fbEeuNVCW&Zb3R*0D70#pJ)nv!SK^@X?7%M`_VEiQZQ`H4JgLJftn zu2WX}iJ|eN<;=e8st7KOH^%`-&rT7^Fm0lDQV&H~QdK418k)`F=wPdSWvFW&PC=8E7sJL#*eo ze3{$a*bw|gKoMqijgHnM3Z|02Ns)Bl#DJIWc^?|^kHJwb*$IJ^ozBs^x;h$YjFJ$> z{!>!iVs=?y%#VhwPpSf9Dz=q&vU!0UW{=DAA5A<#X?t6j9dYF<+is`#NuMK0^r7@p z;n`~Q-b4uv$N2;|=N#%;-V6>D_ zNoi@x?PX!5APV|tM3eOXlz*pDvr+SiM|1wP|7p22wKyd$3b zefAb@9SQOA^0J@!T}^3tG8&hfwLE+{5B8tQ7VyrBK9g2j(~e5Ym6bNUK_VuYT!WzQ zUOW9>j;H`QlHx%I)z!&NVgf55}~MA&#F^8$BnZmzSEkdDwPLo=?{ zjr{#`)P}q705=YkFI{8N6@LQw6a97Zfq2rVrUCAxE1Ggs=4HeAv(ugib2CoDZ1Yw3 zaIaou5IVa+~1KHB}Qzg^gRa15e09v&VFMft7kzj~-We0FX! z?X4Sn!@VV3G)qfp$<0>v{LD{ zj$E?9lNQZn(K7xhBTMf^&6Hj5vXrdmy9)xOjIW=iSBr71_Z-piMUrJ8AMw;KhB1VP z(6@R@FSI&fExi$M^E~N$%;|O1Ao(!q-*42ovS#ish?6>56b)afsri9n5|BFkr86FuyJn_%VDfW51V^B+BNUs^!SC9pg(ASBHiD6~y z!9ZE}v1%Q*^LjBrU*Mni!NCDR z;|HPWSzMokU<2Z=czyCR@ACt7j+$i6Ndo@|N>brsTt>zmbCt|90SG~W+hKccvKd-6 z9*r~lATuASCDm`(tF7Eop)}DyI$9&xv*KmxmK2A9Z7q*%u@4CORJWrWu5~|YsWRsPPj4CMeZ~e z+`0C=kl!<`raEQ_1VZ25epSENlUb9&LcYmIx{I8*#yf(fP|wsT0jcK5)DTN3RtkPw zWBp`(SH0wZSJ%9wcR*MDKv%^dKjJ9HtEoK>oX7Vx;L!a#+Vm!NkpVkWYO*KMM1pnvSg4@XnfN;N-A&$>oe)birO#QDuzG=`M$V5&pHbWvu;%sZnlMDd|x zJn1l-e~B*c295?%LliiYp0;hn$JzM@P`*+HS}36@kAHJ=a+1m;YOml%nz5P@HnBY~ zc%^!^ZnFqYTIYAkqYTZc27qUN{?d?WP{(O|ACg}-q}MOxcCMu*r6DKaC5C-TFOINY zi`epI!PPT~casiy9RHIZO_5q$tZ2BETAOxu^sHrjov!%n$-?qyTx(WvIQ;J}T{vd? zpu9DQ!uSd)nVktaBk26+?%L08Y;2UU4~lY|b|;`el!IjmCS=}~*tCmm$WeyJX6$cS zIS#jraMvF0;w~DxkGWQt*$nYN9WOa#Ufem(khxNlG*o^w=wMAd$m*7At5Dld9ot<}h_j58>=8=Ht1vfj*W%&C_(bk-$x z{~TPYMLCVa4Ktt)y@XspYPN+3_ldy@%tQ-ik|+D4EE5eS`S=RB6uLTakj+wRzeaIV zeZ8N>GMbVXy9a>>sh@y^E||d@6R4b$G*CEdx1{YnngoqWA-$PWiTr#eediv@twaDf zw#t*YKa7)13r3(KCwN(g29qJM2B{g|FQHYQixYPklLhfeE%o=mXKWTcXL@J$cfcr%jm6h2nUcKvrG4Q%qHraJnN1U<&?kWFzGj3SM}s8WFtudOym&8(%Q z_e_+|is%0C);)_7IUacux|exKp~vB*P0LDj!I+azzC68~*kEDjCYZJ86=#0qYN)NP zE#pqZ!xJY?Eb9upxwtHK?Ovr8ePaeR`tLA#>9Y#CsgCWqa4nlmY8{0hm76O{V?idn zYW8_`nijWi3%mLkB_RXHj-ngO!!}Ig01EBcj}8Ej-jgvp!7WD0gO!YRON){V7Ab&dyGD0E0Qz_YEh#IzaDkGtHd1|7F*`z!-Ia>T z>$ME@{K)Vy1GRVV+vWJ)>+u4X-Oi#fdN?m^_>-vKknyx&jr-h!WMGX3sg4c~4#u*1 zF&bn2(Gxi=UzI~IX04C$qUkrcw!&SXYu~$f8H-q{oI3|?sB_#Jb6-_rc5_)GBZ+=Kwl_5d~a?= z@zxT0$!s|CY<_U@fxYvrUkpdpRSF|bvn4JPfr#S{Fvd@H)&NqOXfcy3TQQ>Z` z<3m+z-PA=HO~l@ztTwCT@3x%fV3d@UJl(fxKU6f+_S3kZo|NCksv@HoBr2VWP_Lna zVpzlUXM$3Ct*97%$er`88TY=wdNvmEq*Ld@`SV;|@b{jKl7m=mJ^M&Co2MQVsOgVc zO{y$}qnd+awFn4-j=ExJHbEc%B@aMmqu~)fJv}j{lkd&FD3tmQ{F~oJb4D(B&#{>- zg&{h23Al>}E!_j zQN1{gA)&kV->)0W=4-hNwfJf`wwR0d3_-uD8WuilK1y1)WJeegVaT!5npm9Fa_jn1 zp7R&8%!CkRM)dL3dp0jrd!2k5V{-Z!wA^X~;d<`3Ol%%)gV@Mm=9jAFk*ixgn`-Hy z!dd-+1WJyjLh}23_*1%Ya79=uFsjhbMlKL23)fzcttln-CM^M3_S-$5k3tP#w<+Hz8yPiQ%Qc1KQARVBR-_^>MK0rY7++Jaa9wSrM{T=YF@a?A*S^Q5jWU^?a}zP`dLV!Sv8eAK0h~?H3b&czSGuq&4o7PF{J4qVgL5eE_GJ$QDz3)ytN%$I zRFSpO$?DlY5ZxNi8@88p~m= z+(;}mX|4>`c;fTfly_cjZf?$i5}alww1Y{(gn7?MiEJ};G?Vuh8A76Geb>}KzX(gJ z%9VKy5;j1be-bw4Z0DnhzV~D^rK^LQkC7UaQ4TrWXu3SbOFPLfC?O=q!P*+PVzc`B z#hgLnF~z)W;G$jY%+ozQ$>$BB$W|~}9xlbO$y9RL8a2|OJD>FA(l0z(>1f+{uN#v+ z-~DASdO0~c`2;+u+-B%T#+M=libSKq4Pz zy#3r>Ex}nGgV5xtX?L!fHQ!rePE0@yBx9uYi!HkHD2x;=SwrrVaL3Q7FX87o|6U~; z1s%2G)4q4hbtRH;1*KGeK|#UIGFKWXD5XnAi_4TnJyomRTnD7Pa86ChkElJge;oAD z9Lo;KU0U@a?W3*1GaxsRBd^-m6z;XXyV-&6r%E=6o%qC>Z=E_34mo1#8S#3L&4X+hT+Vw3pgRgN2x$t*Dx)l_m){Ru^L+x53uv9OJJq6x1P)WDPRRu!vNfO14u{k1(hCnX#k@k#i^qLRst`Rp`teMtU#Na<+( zN_2E|ISNN!JDEfC-+19m~hD|Ak! z70jR{?5QYkt)I1#F%}RL&CBIjsq!-U^l}pZV+8}@NPi1v542>4)H>azrrwuQfOE)x z9Tt6-7q)x`B=5Aew09Tg#&f${@@JEMKUY`p>8w`a^3Yb6x4e{&D=4*$BEYcJwSFU- z3@LU+kyYIi@$`qYBLX||&a-;Z4g_-X`*l-&O z7_X(8TIm$yW=@m>9W{~S2RL3p2`1ts@BjYwOsxj@^DJ(pQ%`$jVER^`P_1!%Sy5?e zsqp}entiELR>uIKIdAW}lxJf8~k>*9#c-{g%IAjst@bO`=p8M*!kH~$UtflrP zcNJc>H^PX^i`Jij{&QKi4Kp_hgj)8IF=)dukc9Kj<{!CYn@X z*nbnKJ{gh54mgcxNM&pHTayZA9982CfdtQ4%@IHla$U(vNsDQ)E@{sZPZ#5~b=`Ee zsKx&Z<{c+|qgGQC!p*r|g&vcI%t?xNfoFdzGj&g7`be4W$OlVF*H4@ojXCR*eXs7& z+(zmoHxI-UL@Vnt)6+UVDbn=;q@lU0EZ|2TP3+tTS3zk^Eav3fC4oXZ6e^e3=9zHP zNHa@+$2n>*j?ej1J7=wK^j-}|ly@*D&v3+p2&%k@po#+vlO$2Zt0N%Xr5JNbkYHqd z&bqj}^R~4qH7|Ed|L^-Y z83yr0MZEAFfLtct5J1@)N8jXqbj3+;_@mZA$>$Y@6hm%Cp(m3PGu%*N`!41q6^`BULNCJNj;pZA2@=#cUnrz85B|;73Y<^*K`O9uX_mH4 z3Z?_-{rKYKwpK=cGYIRN7~4jC!iw>GjAZ3%y~Eyec?^bRA=1KP!qDW%EE)hLg658h zNdFB|H;*QUyK^&M0=)ow73dDrHWy>;4kx?%3Vz;6$v;mUZdqPl?w+e(Zns)Fmt1}H zojt{S=VjrE+~aqD=F)cMOL&p5ooO(*0u8ld!(;!vgR8=J5|PVcg7fD*?u+?Y0K!F@LA{x@~uqf#3HQl9=rdbFM z?oO16>vnkY;>EN-RBU8@cl}F;R&>ri`|b|AE3T4+n*s zwwh*+pEuh$HEXx}a}Wp(v67Iii97ugJ?s;Mn*KZ;OVqb%e1LgUrf>O~59pMYmDO=l z+3)?#loImWd_#Bl-zEyu28Q;9??HJjjA*|CtPyjrrL2P@+!)T~M9`@{IWr8cYj5Wd zrf6C5th;DS@3tdlkhnYpZPXjcH?E(1r*M5pI9TL7DY$?Gw6mAtb$gIaP2^9;1L8if zf|FZU$Jy|dA=K95a_JM^Cy@MSQFka|`tKbLl6-J|PuS^}KleK>2$NW6))hc@^?&SE z0Be3kWaX}XR|vl~QNf3E<>uy20@d6H34Ma^mjDkHmBWE&67HWVi~uvF*zucnLNC!L zGbX#f)EaYP+@Xmw=(^W@8uE8y$6XT9by2$^KlFcTCThh}RcN)5(x7&9UP=7bCY-B> zi-Zr^9R9!WBGvb#-lF>p zc|hnO<7ws;@*LrFt*2*e zs_(?<3leMJ)qK};Je@7gy=I98_CKyf^ci;G@9jg?{NTOO%?Ozns*n&lD4*MN$)~a( zy`Hu^R~2noC}X>KCqr=3&ky`=6?m2fc$z1A=3g_T50WWt7Z{5#_SL*l&xW%$^ZZ)7 zH9jI57A{T&bAPaueoS=eNt_^Z#GsA|Ff1^24|%Sb z>GVtsWAvTO#3JDlUgZg`3q*|YuX|T71`#^G)>TaPrA*Stxoecw z@zgHdkND7s3u=B0I-5}2qBOkUV&3^gzlNsF?tQ+kb z95vl))rB=-IGw4(rqHXx*Lmzo#ju|_GCmULQAVp_j(;)p;V7t-&ztuKb(HwBw$V|( zu^LYcxk;`JHB%z|;EdK{ll<`8?z;z5x1hH)SHCTRe?{lKOT1BtkJ_&hx>k)L!nnbr zU)ZEQN@;CzZ>2ilC!S}ygoK#0iE|`0<@ecvv8_2HDXwIE%E{1LiaeVcKr8K6e5zcD zPBS{h+U^OSx^W|HiS8gpd=*R=?C;>2?5wT#jEiu7DhPfvsmM!TSWLSLgNA)iAlD7w zn29cau`#B`Sqqp?4?!OvY#mZA)f@)`>eZmn`(+G~IrpaohP>LE%ZdV10C zsq$3yFYOhtj~inF&wUiJ<;$-p`82HXm@5ICa1I%NL|)3X;(s3;ouET%$wXP|+xFy* zK{?`;)U|N17QriejBSH@)D(ifVyry;53bFX39f zWPXsfI+D!3(*|;u~A1WylUbCd#Z-jZnh)+I>xngg{{}c1;fxHqynq<+1Qo> z4*OtLK*Ob`-TeCP5I~Ay-=~=QP%cwg^gu|KMEDn0^6`qMC?fA)sl2@1oH!NUx1#m} zKlY^qUqfM(UN>df{G|{yv~IF2KHTX<{Mudt!vI85z15>U2Zyt=8AOwuUi=LT|Wzdj`)=ttvJ|Yi>myTApnT1fye~^yr4KuTJl^B2qr|M1HbS zfW#RNUGLs3D%o+=efOkW7kzKaHTLZkAo(Ca3pKgJ=1MDtn}+Itx%+Lo*S}N$T`5xU z-7ttGHX8q(!?JaO$q8W@eQwH_JUMHFt*aGa=}x2giU2NRo(`h7Jb}X zhZ`qguQ3jg;?-%1BOPU_l*IyjwhB=Lf5DFJlPxvB2LI~8uYbpOZr1l~`b8~kPf35c zNur3=3IcuE#fpnw_dzvab~2u7dP#|_P+VNU$d2wh&qDFsa9=xT6dXj=P+%6YJ@)*3^uR)!bHCyx7>)e~Z99~Wa}mq|@NNp)5T_0htz zr9wDYqB>_bC}HjSEpMe*{@CBjt&tvkuQqxd_c{!$naR6oJZmMonB0^nMx1RXqV`<$ zjIi$sJ8)X|wcVV=MSa~Zm5E4FbrYCt^(9MuVniHlZTNI@muk?aBlEPxKz!-@(VsC9Zbr@mFr*5#VOYpa)M}MA`5}iFfjRS{NRrn{S|Od5^AN| zQy16=a_ZMdaW{CUw(qz6J^&-JN#PRfidil3eKT*^lj-UfvvV%ACq^uM~xrW_X}r3tl=#`r3???_V(B)Yl&!l4B?_v zmpj`Fgfk?cYVfDGgNUIWyO{lG{JLafNQ1IZvHFJ!f$s4A;E=H2E{rCJ8cF zB>80l&Vyr@tizZ z_4CV;CpCl->qvf)FV4}4me|JHrl8_;nQg1hdMRcg_3ovqH`ABCbop2B*Re^ga8_>y zdW?&Ed1)y@p|Zsob)d^tpWOcGM4{x3`S@6GXpPcq)4HIUi{|5rgnUaM_v8gv99m7< zXBp6j9e8@jN!{|yM%+(t zd#0|W^d8yMG4e!YYQ3< zC69j3p4W`iCxVcG{0?Ve4YcIGot)~#prCVeTx=q;NIsAg0pMQcUJXk6A zMO=lrR=~2%N)PpA#4#rHx%^yDKzE=sI5I5g%OLNCTsUoVN4NxL5XW3i+zBtx8h z{FhQFd}n=T&*>n)l^~sY(T@sepULRYsHT~1DsuiEY!YC`VU|2_-g zosFLe4kvy1JDfLRL8|ilzpy6oizO=1U>b6*4+Tv7Fx71uwPpBss=)RtR7?QV%^pTh z99J;)TNg>fPt8|RbU%r6a(R2`zV*Z`rcXt2d3H0^c;rM5g-G=8bCHV` zPrF0MPTuA6Q+M`oa41l=tT5ZRbi8%!;$+A-P!Q>6XI=o|bbgZ2;kg&tV2&8h4tQW& zdadpndP|fZlLc4F@V8~VAMTzjA-=@!+46JBGoRBZaRiI?Q!Rr%9Q%Ete3b$+b7=9l z{oOsUwuQSjcSc~KkLqIKU%<*k-$t(SrOsADS<48i)b)*b2Z5*BKXnoDRq z9J4eS5ZARm;q;j@(6a(6(}^YhJ8k(H2Wpkr`dET4+&_<*!~{M{HPv%bbw-(JvV2jH zRqr`*aRHjq#zg#5Nk8;Le8*3((wfLipFpLpOkE-VweN@+_*1l+Jg$4MeVtTb@^RTB zLNQKqovhFL@5{b`d}S_}niFU@pvBZO>eK_QGp<{hUHw|v??dpH%R^PJIlVckmCxOP ztNSPQkgWsqHDUa!B&ds{&po%Qm5bY4uH-v^>(-0h(_vI@p{Lx;IjX~y;h1->{hhS2 zmu8zO1pMNp4uVRgyCMUn+a>Af&e;|9@T(%9Jy~&uSFW;_j79hynL)mZ^H$A&-11v8 zV?t;e>2%dH%@tfbKI)|Y8o;vbHPk$@oBmcNJNXnQS05AIMVWQ4>hn?#p*^oKi%uZS zQXp|PW4Tjg%iNF#mbIqj=SJArkoa(+Ha5b-Zosm|&yE8pj}qi!2{Ye^uugDo)oQU> zR4bc;rm2XnPL2Ei81}&MXuD@tk%UL)12V04;M;X@NGntZ<&6X537Y=MbLec8@rPwa zsHDan?c_0ntbe$zXiqpb&vN3@4hrYIfNlt+yt>*gh2{d2T1hD~?j~LFLbXu3(^E!!#_Nx^x6d4NjE3*f*p{{FeQ#n*8qE>G zXJY4%Jg98jETO7V#t~3^)9I$I>Me!LBb-jP*$1n=U>s4q^GML=z(o(t+^nK^oz>(y zqO1;#o^uJ*T`mqNkNaM*+-XzK%ec+d=PRjgY;RQZ;<2G}zv$Fw9xy`xuN6%2{`C2? z`JfB3>d`75&3f5GQx6)bs-oU2!a%3(Ty9)$PY-*vBv$OjGqr;w+TkkBH`U)hS}DCb zn0B?jxJIdWkbX~lp}WzKUbg9JhQ>+6Q*?~oTgy1Mq5y*?ki-tM)`l7JU*oSwbszW3 z&We`{u@;G=Cy5+|FH-sUK+*zM^-+bBsec-kSHE|I2BezH7AjW8HnE-4dL6MevHj5E zunja7?%fI)N?1&{t)v}6x8qStikjIg*=78;vl%UZ&D)_q;reD3{P{g<2u)PwQW)V7 z-z{!`^g&I^^ZCA|%kdD^U~^^d=9o?0UJIb(w9ieq9%+!5ireZ#km=Aj*;VyZ%Lbly zn0fw)g(WatzTEKx@M|kQC4ty>$(;`_n@3#-+ZJVeVq#(p?InSphRbH3+Yh5wW%n7- zPg)#Q#5~OgVsf7rew09WkQgN}F@O+$cPvx{E;0jy{2ASVQb}Oo&(OyXms-c%BJ*(P z2v&t@|9JXP*_LuPcHH6`CE&&tigEfwhlij_EEk?ylAevo9y2I<{(Yh^0|qlb?W`7m z`t)hq+2oQrLI>2S->vSfcyvR7sfR~Jnsu$d~0(KF`r``d}n*Hu{YwGEHLLVSE;&X=Y zpc%@_%a5FQkD^NKKS>(P);QT)9UKz9BXae@Z%*XOe9;XYXWu|8e)+eN#Acw-zdQm2 zOQg;@;FSG0jDWeOwo~v&jbytlZ0yh1-{|K(2aDwgj-ji@{xfO4^$Ke#f@7I8uEpVn zY)YR0D_R}{k;FTjWf`13vvo_VPtlQk8Y^lFl?u^s&V{@-`fdF^6Gm4hw%7d~=egs~ zw^p}RYma$#QEJ=i#=YO1+s7wPWh6nzCA+oS3S^F-p)wp`;!9tD%fhNW#X?<zT#XRo){?hTUcC;j*YM6T?wv&T5;Mt7MFkPlkj$2QCS; zv2vX2udsi5d|&d-h&EVLt~X|CFj~{#T1Od$35=RYDjI`*gt$9WdK7L-B_(y-SJsrs zr5kJenusHYT2V6DL1Df-9mZ0zcSd=XTgQ_kUfAUZ8A5sGvy=J5UeTj<@Vg4M1`b~* zLGN*0QF~G?RUj^~Pr^l>N_1;PpEd}W`ha%GaI}V!oBh3u*+gh1*V$^#} zXC}_b{>^etjd1K{aV*nyQZwo%n`go9v(;K*C(xHsGy#JIF>?xsrBLN6Ye~WHBJ!v$ z*i3g`$jn~Wz|cT{f9cJy54&_0BsO~GPJnGe)w|T~f|iNrijCgo>t<~hDQlQ4?HSbx z53RJphl>oUzBNISThopTC1ZF@x1XaH{4@{)AfxCRPuf}Gm2!@wC zs-&Oy-|sc{UCJN28%~g%5{5oUp2f6;YkJ1eEYk-VKc5 zf-+OACJS`WWqhDSzm}BVWNHuJlkVF60z%r(WPNnZkHem>Sk<1`;l+g^*s9;rUXZiB z(QRAM2dmX}HxI!(VY|U5lZZLbPzs|VosRN?XFfeHfhvWGDGN99>2g!AhM7ZY>a`11 zEBTJOugpW@F33!JNNN(wT14Q5Wbwc@d}5@|UQ^(5LOImt)Zyp|8SAP4- zX~Zb}>)y#Br5r#N{oJTU)oq4m;gE zy-2Va_nb?r<}c$VHW7NBAG|6tek9^-E?bcIOkFmCYT_vykNQ5KV)l8|8eAQXj3bLB zB782I8-C&bx8TVk#Sc=o&i$!9Q{SFkKmYk_fb7V+neU^Avs#Witz)HBT9MHiyrvIv z#BN-i>$23}OO*1-e6u^()(IsF=)=1#m^!_bx9gOF63g~65qx@cC zsf$&V`_8AT7&ze+m7QeN+dS#+H;2s2(yX6%RQ==9__=3ZthsAoVndm(pR19V%h$y3 z28#II#^#D^s%+V%VQluF(EWRkm+vajck%DMtKdNCZS`dQ&y+A}odH(nECQ&IUv!B8 zJDX))%fjvKQ+Y6cF9{SE7|5SK^kJFei83;eZwdsvnE6?ahf0)XQv+T@se-3!zF^;D zR=c;X<-YJ%0A^gNKjt{_PYpW>HW-B2=cWC{tS$}N`Kw+?dOXHtdT0M-efB_8UP#(# zBLC?z{}A(sdSj}lPfzV;&p52iNQVa^ctLYx7^ExVx!Bk6(v)X)Rs{mTi@a09ay>$p z-ylj{AB4$)MCzP07$TRUKf&9L|g$!0!DpO>u{e- zdVKZ!BR$xlkRH9zg7cI0SLvoYnvgdcLq@T`3ED-{0-nnO+;WxU=Q7OWYcrkI{318U zpMC*$iEDFfdYbUvx4)zG*I+qpf}HYuc1=GwoxZOF(@Vu~KIf>}WYkX+EY(S1wB*F*Qe6Q^*LVioJ_N1HYp)X$cVDTQKipg8)wCqh z)Lc|-I3c?@Z^3XDw0bxT00c?{-QVc_7k-)+f;A3Hrw{b5J9@Tg=<-MVDXkHnwur3n zXX{-@KiE5b&Fekc2Ii=YK>9i|TCs(*ZgBR*>P4ou_@%R-_3HdRgH?pGv?0RIUinYmaeU= z@E-T2bHn#sn2&v#O$?k;dgr^^it@x(6a~LulH-xwFpL$)flTehP1ivkxx<#>mb1#j znFkohIv!2=Jc&wyJ;7t9AX9qg=f2j{en=J*hz+rJ$o&`CIO`>q34-@P2fnIO8S^Bk z<3+!Uv47CIcLth2EVooF`p)8(x^i8dGbO4v@(v}UNQ&3?aXd#pv$DmVBYC9`_b=Wx zTAoQva|zT8Jy_62NQY9VbZ;gHgq`>xTHo`}&`(^E7O@4egGfCMmOvLH<6F?Px)D0! zyat13h8}uI=k+|9y3e}QP8V2glvpN+76|JU)d}@UdLzYZbLYFcXCUUBJBWzoBO@bz zbScJRU8O_G#*hS!A36iX3d$F&lrj2VB(H~_CwNAC=!kacP-)oaqCR`r;xRG^$?+Fp z#iK^gi~;=Ha1}bOusa^WB&{MInVt8JKT3F4S*YGvHi3e2W=AWhXe?8@Dvl z3P==MGyLayn5QDSCcxI-YFWvWaye z3uvZ;c?Drsmx$T@{p#`9UTe5)L-5pk_mZ#9z+ChKSF3D73X_#JKjb%8)N2HO$g;04 zdh>EN7 zdATgnO0_P?S;Kbly`OauPyPP-VZJXRM~>YQ%5;3nB9@%o6my=rnpj$+l!#;1b8`l? zncPa8(w%DkS(f_}8LJtrHA6AM(g_4SpkI2x_6~E07IDpH+K|>CK}^1&DzMD2Kip+v ziyVqtNq%1@VQPx-Jk-)vaxjZalqrNo>1fu4XFlKS(yeFZjbVR&ZMeX+X&kVW-|*9H z3b*!ICQzu3PSt0UrEId%fH#aWTdBjp$8S~utV=GK=`n;Jvf*^jMU z>2V0uTTX3(U}|QMCm0d?*-Yt!1)tLwukY_En{H=R9LRCGM~6q>p=?D7U7O3g=H`uT z5pj!_5v{9Flsnv`s~0|+bDL##1*+-Qtp6i5EfOzXCuk&>$(911s5`n;9|vOKNd zjE=AQDsA1`>*2%%$5Zz5P`&GZ`@fr@GJaKH-gI@Qy7y{RrEUrsgBqafi_93PzbT-& z8xIQ|nh_sPUPe1NEPm0k9P?Ss%DiCUwUB|R+bqrRcl)&;|9Aud?SE#M&ywU94f1Od zs8&$dK11r;Rc45?$otw$?|L`py&hWOxaMhC%mFqF6O`$HW(S;w@f%K|g~Vgex=OH2 z=4tKv+>ADKTmtE}UNHI`n$hp4)BCMY`y=g`VwSoLJ-bI=^4oF9rPUN^Ki{m+dp{l- zHMSm;4uz^lL%0b$bbgBHHIIi6!8#F=yPaUE^0k8vY^E!wOG<4vH~%56tB_vfUxD!+cH z4D2}`T$Gh3jFXL|3wuQV?BM3Oy%yKwZLyLj7vw7}U2vod=6U3jd$hieC+=s!UZ`6P zcZk$QtxcGLXdCY0;u3i_gKGGxsw{J0@cQqozjhD5VBe`bK5mQ)q!2LETu=Hog z`VQZ(?f5>9diK(UjB%(Y{upsI{Lze3*BnH9=CG+ zKtX*X&Q~i6^ZoJh8gU{3;yWY85-JSJ74=fc%xQule1zKQ+8xu!+`Q>5_a9YX$;?&u zP#-yw-I(w@OU=isr^vh``R`@yCxm%+ZOWA`3KL4!wQRzwdTB%q*wvDMt2T^@a10lyhl38KS4~a}-~?*Vou5(Im|MTOn@n*fxAeMJWG}1P3nlde zz7f1L{?y{ZsVC38!Skt@y79er39H>lA8<#jg@?hwbW>0qS-kn$j7iffcd%0$GunD} z9WyqZ#jDG3NwDueX4H3Y*;#F!O6t$kdj1jf9U#bP>ZNkxb1f*cbxiDiWsV$uwV0I5 zRbhZGdR?hS8)eB9wJ=eXTV%~phX8};T>Z{_ePGy>>Dx}0%~6hbOkR)se2B#9JeHmf z2B>wBJ%g9}Q6`sNMpOeQ>`~1))yNDy#?9Sbnrf?cUAZb#YW-dKQkEa(P0*A6XE^Ol zd}-;{l~~I8f7|x!=TVbje9m?DxiHFq+TYCAAmu$?=hv+aDij3;eTP8hA=gwDGi#s=%^BEK9-mi z$cxG3%9%2agHAa4S;!+EZ=X>QpVVV2c3J3qOyP2RZ507FhXl2sZE564eF-^x`yanN zFF7zYNu+uyp1iEijD@&-!t}w%o5dhmCzGyH167EgGj)LgcN&m{pWH>8)dmY5%sqijGYdknbM*d#?Wr?eAT` zYm#0rLL>QWThrq;mTFV%H0m&v7vZ3R&7qFL`a3;O z-{I-e#OCyWTEidXm|?x7DPQ^Lz%50Snf53eHP8_^QBY`AE;)+Vszp1n$ z!p(*J$wID+eO+1pWccX>sOy6NQs6mxxuM4X*S9y-pn+5N8eOOMcFwc3;JTblAJg~g zRGwc(lB^Hag;Bva7REjZ#NHdgJso}yx|Y~3M`AJNEI=<@*+a4%sWJ>F=P#$g=C(C{ z$)VGyBo<&4)lYYITLnU%O%LA_+pm6>2{S!O+z3W|f>ihGbF{u~w?BRU0G&4BD9mH? z|37T~WmFX0_dX88FbG(r5>hgxNQW?z3PVbYgfKLSph$NNDoA%q$&iAyNQZPwNGl-S z-St1??|IhuRzGiCiZBRUnrEw~1aH-tIT-cZRo-idM3ph@e%WSZ0x# zYRoca-YQ)g`T6S<0~EFO_HJjhGad+{pR$!vmM^Y4%o3W}stAvI54Z8HFwfMyYfLur zB1APSl^I8&1OHY^@T>La_$Ho+3rep8<=>CO#3~`+Mvw5m+a<8~qu#0n z^M|{|WF@nz$uB#$@Kee|&1GrCYm|@k-LJTxj8BTCOljgR9FgQi6YHa4^;GK5n9nLZ zzx<%2^$I(X!8&>2elJ|G_-uK)(NElY@q^#7bJD3{qB;Jr@&BQqy`-;9h8GBqoPbEC zLUA!QhZg*7itnETdp2%E2;);95}54;6_csYf=<$=oj{}IGDJi}J|9Wfu;M7o@MaS3nHURM_({? z>^VMtI?j`<9d+uH^ja>*J<65h7p0nC#ZZ}wjJ2wGYui(Sm90U|7df+hOGouPXa;Vh z{A6;6aQtU}Ug8H$ec6GbKWBaa$2&>9ZQ$gBV007(v3DdKSo$H;dZ+=dju{}Pg}orr zittJ{?I2PA9v{#23kb z8xjqzp`MO@?Hb^%sd$a@0H>3p|807wvnbvS517WZR<}Q9>6YxVKN`3FP5R&KVRb`& zEG8$ym{!?rtlpAf#L%zR`ASB9tYwYw%lgaf#`tRBC{CzX%T5xJV*xvGYjy)g*UaP{p_Hf_vo$*_^n? z!u?4X){a@VN(cr8OmKB|9c!DW3wsF@;=7MTMxfxWo;n! zBc=~6LstVb9N4e36Ja6+?j19^f3Kr0)_Z_rUSVhkWA$BbPF3i22c^e9YCW)r*P1s! z_O-yj%k7g9Vg5im%tUlx{zVTT+D}{tm6h!JJd91?gy2>4vx2_Cac4Eyu!#m$eyiPV z`)KP{kOf0UcdkrHEzx+V9C>k_ufdGX@|21qUwjFvEB&9I4Ra=XNeG%GO0(o6#sj|! zs0WF`owyDwuB!dWkH-9up#BlHQo@V%;*<>$bw}^(;=AmsuA5|8DZ2LcCtmy*9GKDd zdP-0)*7`2r5yCU9<~NWgX8b0$vw|Q9dfhnK5?agr%k@SeVd-m^@^ls<^Suz(Hy18Cgp8N1WylMpbD-+Fj&2Y-cKt06tQVR;K-}S6H3##24X#FgO=iG06c{Ejz zFQYb0^-j0=#Zm8xxL$o-R6@P7*YUv1?cGaD-GEYift%kdZs;bwvO>`HI5cQe{@6js z>R|I$QP4>;6QaL+;e2Vvfu>=z+|Nj-v1hfd$~p9Z*!VDcY#GOlVjYesV8y~EV5Y%r z=VGa7H~R6Vq>*1Tc%JFY%gcRHrZ>mqk*7^Jv#a^UCcb^!6olT&ZVk?xG>aNm8MM~T zlB;{7kny~c?-qSNqmW4Cu$RQo_1mAC4)semwgKXjoB4R#QtW?Rg*!e7xBNb~Vs7Fx zi%MtC^=~;f@AukEp+xwOZw&)rJSO6$AzEnxAOn-kAxWXwAo$kv1lgH0Tp`e zOqTbG^wS7<>4kZJEFzdnqut&Y7w+b%)F>OZSXi*Qu`$`Rue?}((JE{=zp7tkBt374 zJQB{8>Hbm=TK6KEGk>hof7|m*ToGJ$HiMcQJyug}ZQXmnaW`sw3w>Ki*7eqSw^l2D z)xD=WI{WTtEBc`Z=&3nJX)Wa63aWN@imysdx8mj_Y}}3qsgc)L_0m7!+e>fKUsHgJ zYo+md-f5`H$vbGh9y^O^p*|QI9UNiC_9bUnWdL}Y#ZN{o^tDvbP9O~#T zVZ)El^VRas&~R8|=jZ`+Z&PS|T%Nsk9`Ub<0vxLQu|3_rzg1THh8CD*<_`vPnEBv# zF16K0IsB4olalcW+W&Bu2luCH+2pa)#rkB;)5p)0J$oR!xsAC`KEcZz*T%k#jg28Q zlMlieQiWqIo!lLlJM6?l@eY&fWuFoqkdAM4<-3-F=+k#|qvCiuH`MxPweV=8#3!r2 zuLIaCc7wuB1xbt#DaUHaC$Kl;$|7~+T=}>-q0~Sk8Rkr@ea`|1Me&Q$AjWd_NY8$oEZ+E?pUTyj2coj^MqRkS!WM>a2 zME{eJTqcvQx40VkbzKfbAgBofZYEtENgreARk3uK+vS{uwTYzEdYOP~bzk}9r9mNX zZtmpbJ#wKd$@y3iFiv>9b(?JO7OIOp=b%|p+XYucJa~=5e>UPF3jZ$ecMDO!#KxV? zmf{e4W2O_g5l`lsSwOs z-;gj%yvhxn`gXnehjJLbVa3JlD#FiQ(13g(_feKE-(unc9#u+L^kEI)naGs;>Zj9( zssr-g;aE@YPkj4|*(X?&m-GCYhMPPbt`uB|njc!OSJWAJwCkUJ*Z)4ZA4Cf@;BRZu zR_EQj+EG_zj>*@ynTfDdyWihSF%U)7*Q>z`&C?AT6@yj-Y`_uqjiB^AGx`xu@~aD7 zRWL$Y2!Y}~Un&jBnG6Xt;#W)~hmY~8=kavwT*I!Wg3ox7H!IlZbe&pUzRLGC*YBW~ zbV>Zw@1pRnM3-a!hWM|&V5`s&3r=HTLmeoG13E{qyqSDw3a!;Ll5bSdmZ2F`CFkj$ z9&+w3BUHut`fu1NuUxM$6N^lWgMq_L1wj|RLsa$nma>yuTyJ8hQJh5_(o5{SJRtry zg0Mk?OjNY3{S&B{5lEHt}H^O%7w+NY}ou zQnmM*!sz!0VKxQ;-D@q!qcPPkq}r1D=S^N!Li!|^(=fslW`$CK? z(EdgFD2lCvoMwY`K#jB0<`@DBD#}$Z2khw=ipOHZjg!Rhv=!h|0c?lAsD#gOj(d7< z;45c_EAO;XAgxjlGDUUG+a=8YY%0eqSa{CNo*^OhSAZ(lp_V$=Wj)iF$wA_{D(1FyE9_DDT)J@EPygtP zG%0{~()!$tz=P1=gM^Cik8FYxzbjxbxC+qpb`n7OllxVZ-ba!xvD#P5$hh8^8+(Lz z!l(GbF;7-|tCWep5crgUy_MkuTW#toxVUVLYsJut?6uWEuK}SZcE7zQ4|3STM|@Vn zB6z65u)ym56k;U0obJBYR-pdsWU*;rLq2ta8|y#zMCd+lSXdLc#<`zTe!AVMd{?W`;6A#>mDhS({2zHq zl?aDYk7_VFE9Zg>oK^Ggnb(1*7R<(x_Y;W5tT`ujs*}xWLCe!3YXa(g{ zNRn=U$HF0u(mz|)WQo12ZJVfyI5Wu)8SHZ4y^WxW)-@wd{t%w3DY$uKK&GXnnsa8) zeZAKo*hLM{1GB7MW~D8T=Av1O-aHmO`TIoQkqfAn=E} z+yV~-%`?t(R^-II!UU`OrLEX#pIz7UE@BOk_hgn7>13ag{1bNyN+y_nW(%0B))Uvo3d${g<=%<9s&M0|Ad5IU_8r$K4QX!^Z< z0$%06E+DlWa(-M_&`is73r@{hsic;+Kub#dvh? zuXaaiMwS0Tr@SHN%pi2_>FRXChzk?@tC`??{gb-4Xu4zjMknhlO?F(FDPgjzaxTAw z6??ZUg2hT!6n8szYII?uB9m*}8RC-knf{jMkb}lI_>Lexpa(wEmh+ZDC?e}Ef0D-n zPyfs3pnA0jsvt_BMJYYSRZfOX?8}?~5h&QwPqpP!)4Sq>he;)a;@b;EhAP2RCXIi@ z#u#WqSy>0#4!&z4HiE2TAyqD{s@R$PtG_BorHC6o3^TomThMdl;I|uE9#WJi-bI1+3y;tss*PwAn<^V(VXZS%9qx6^lfP9Y$psFhU$uby) zF2U+;Tv|91a!52IfN64uDxLB}tBRB6KR8A3)<}*Dsy|uy(7Cf0Rn|zlx%}(g+0XXH z?H3C=%QIsEQ=3}(IbDNsHlHeHmFUOlt=Q%E(%XY};h`SaN)>RdHuS*|y`qVvZrDG9 zDB`hg#}UdwC^UJ#VB(}(Ui)75($7J$-<@J z558G?L5;K!k(oRhhU(Ql>+G_~jyXo+S1g4BB+j9ISsX&4<`;1wd0Gbaw>_RapMkjU za}V0)fCTq14=Le)*~GJ5H_e6b>2D1;XI0VHr%P&Q!M{p_<`YIdNSY>=-&uohG8hX) znI8h)LqMMp=jFuD^`#aAAzN1qu2E0bMR>OFyJn7zE2x;!b721}X=xw8Ym82H;26kF zRzAj2+If_a?Z$KQ#Y!JD30i8Z@88IYOo$z&xG}Bm(NFmMmZH)mMB|UWOa1I^pj8n+ zUFb~PF0EZ+Q+No{&OuD$-+^ZBc65VU9@fs|W5}qbIl1tUX4wYvihSe()d>vwg}1}f zOxGHQ4v+A>h*Ep;#&o1*2dW*qP+_5OK=(fSEI2sWV|MSeT1SD)zqWN2zyk70dhzN& zn5XQamncMwUSFSmSX}{!#|#uoO`(_&KNL;fT53H`7~&Sv>V>Zmt-=pMzr(4oDgs?m zyG$|dz<1C+`>sB5r$Mw{oV5NPsZ`g`-mNc1=__)Pa+-O%6}C95TSmu z$&RyiJxSi;OB{I+zZF5E1q3hr(R;zQDXKtXKy2VUQOYw+sIhYH~f6~cZnzrf&E&~B2S|;-5X-cF0t^+8k8=i z;LFxbBMzR>$`Pef8T$b9PNLprctdvBwIHm~h{Xr-M-e1bt{=5(Tpci7EaLPA)m*ox z0#s%A2wDa=T}|$EM|3##^N}9x$#N&3R3{7v=dG}6o}QG}efqS<`a(z1dhvH83;z56 z@j>pH0MPVg4)wwyHzaIC4=X-8)Aq>FwEN$c794;zz>ThdSLC^upi0jYp-a1i9D{&C zQh3gs6Rtkotpv7fU@%g72z4*R=dh3R_Yc}T^(H2HJ{dwk%W+gArPw%)+z7^dxtnMC ztm>59%0k&#B1IJiT)rEJ{GFJ}27&CO>2Wlr1~`Y3vbWMP)z8u9%18%A3oT(1Zg>qW z>Sq<}1L>fAL(25K*D!mN7wIkzTU%X{Rt+sPWc2ohkB^7zeqQ-%4I_Rw+IB41Z<}A$ z927&{>&X00gqML0Sv8BGU$+aAu_;i#T_}n>Ly*qwcny@;Xy)$zs1T0)U6T1TG$;i{ zMER$|I<&wixM9NsmSX9CVmFDvL!YMM#1H#B`tzE+zVgsY`MH%<;{GB!w6?^kIpBj7 zc~@6#DHbf`=ZxoAlfZDjD1S_!^ze42e^f=@#LE?PJlO_%aXcN6T#2!l~ogJb}D!d3mNGZ}T zN%f4%1-wdChu4J`dxYg&bpj+leUCbP?X4(N#`>K!U%&?K!!IOyGuly8n$k4iZkFG8 zNzIhfhO9JOveN@8V_R%FDI}m|Mr7_hz%1v@XZmQsQ55n z0UL&Ae|ZCKSMF<|iQ7vJU%`p)z+>xdTP(GST7$r=SLB(j=V3n}(6AHM>2=x3i}Qm6 z+cg@q`#v3k&n+!wnm@OT$+*rP^5PFu%t;&MLKXr5!CyF$fvUv$rKUCL%o1OzVI=?8 zA*Oych$Tm1oFM~hbr9+IBwv@Zm*%4|6M+2G5W+@=QLR$&`Yhs2c=#eD{z&RFk@IMC zNqX}9ao`f){n6SWOFQ`ZR-#BO^_3=%-ofzrH^N+g<|QvbT#M^`>^nU0Q?!$9a>@mH zQg_sCyBmSgrsMKT&jvtQ=i9FmxMe}i<_SquC-+6FLEn2lJv@b%*pX5 zrd1Ur$Gyz?3QX9iok{P#_zn<~TvBGm5!tD^CrB=so&tTIFfSQ8yx+E0+C~0Zj!F7+ znw|j)xqHF%BkreMu(N>rVb|@WagvT)?SJho8zPWArg0Z37pDt6Z+}`s4Tf#5y)<#d!;WjfZ)+)a zvnZdG|D|3mgZcd`hw=iD^?dS+bpDi~7e=sKX5E41@B*d~F3e!OB&tNiVsqrV$RE=z$j2!hIVz6pv6|NiU`Jf0SEz$q4 z2kejnkY8td8V3M|qoO73Azl)Go9nE5Y?5hGFe$uyG-EuamLhZSJ6DdS$lJPDbm&jq ztK)_?N5JNRinR{*f(fNUcArA8rac!*^>tHEm8RNo`WI=PPXpq6L(+569Od4``U6^_ zEwwRNCijj!O2~GslK<9K6?$mjX-Qa~naWt_bKEie?}D>Y zX%|^p*0-Fb_yO*vIo^wQa_7~eR^R;E<7IqDfmbgOn;Efg>m>PoMXK;2u~zoh@6>CO zP!fRd8%wRsrRzX~)$tK84cx9+YyRxHA0Y+K0uroKP z&P&8kO0a$OhWl<;NA(dpz-Yeub37KDiOPrwS=G7ZT%$Zno0X?z9Jed~NbVd{T5Q}a zk7V0LX2@9ja#D^Ti-ME0H_ zaWCJNpl8bOBZL*5T^e4t9y!Mu`eJ+5V;rRkwdCu4A7DAgbO0%JiMO~$@Dh_u>U!IW z^jc!CD;Ijkkf}ea{4-|4Jdix}qng_Fzz>+H;Z*<@TK1C55iL!%pVly$;-4YZgGQt#3AZr)1l)_^4_JPae`WtfKGwL_%ZHJrd(zfX`kL0PW5 z5$#jLCU3ALrPismtYOZZWTtB(evL<}xZ9lHhK6nqP^~k*m_fRSIMsbivs~jI&r`g zE%9A(5gy(#+ULm5$;k<{6md%;XVsi@NO*>a7Htwqo)HMf8e!P~Y<%7YYPiFm8*Y%SNTa=Hj(?m4 z{5}OS_lN+)H0A+iGSt|p7kE-8owp>IH^|h(w?C?bpI&Iqd ztrrAc!zE{~>%Ggwe@FQ$^qLScd{NB^T8wJ3N}@n+y=5Q9#iB<|GiRaAFe2^ZyZFYl zsJ7M<^v+oh1FE=hznWO5YV!X>oH4z)%BdNIsM`pV@3u+zY?AIpWywy<(?~Xjzj3o_ zjukmga<0@_03IV;*f|?7#+Ekg`Gyb^C zv~4l)G6cf&X~fY7+YR4&P5<+A4KL0$kr+rb5hepu1`ME+#1oDFoB3Nf>G-QHvMrbL z&mK=SHW!K}*(FnLeyw@i+hyc|YvK9uVI$etpemS}v!Y*YA}5Z$zkBL4W&g@O6j;i&B!yLE?zrAuSupYogjj$r zV`G~=_cwICj^<*WR5NMSMAScqTkIvEgG3ZMEUw`&gepL9#xs8wR?`Qwq@iEUzWr33 zj;hPg&2@`+5V7w5+a&@BU7|i*k4c5V3{$Udi^YOTwR|(YkDAeMf+JWN#YP+gGz5}* zc{)t5&|JKyFrD5t%9<*VcSiyCc8L)vnu_X9;#D}!R3KX^`zX|J4cV=QGMFYWM4v{) zm=SCS6Q{!@n+rph7+a?%A0!R-*S4@$Bgd2b^Th4`s?w<-Axdx6k$W#JZm6UNK^chb zLG)b4FDS^FIWn35>60EA&6n{0Lhi3jh%ff)F(-99NgJm^*G!AAUUpBYM~8~()Vvrk z3p_kAT3?$>U%~fIBJV8-bb~|q!hs7Q5+{2{cBLU-EN{|u$7TQ1v>%j94R3>+!J2;O z(#7A=tv3Xhe3QHZm*wCM#wi*?7vIo$ZZ_bB7Ol?)?b)|we&iE*nrzsid4#4rd!}gk zSTqpQOsoa=x_tZ99QcJV<0m5j%t3d*faH}hRfWIXZIY9K$O>Me6~Dut$sf#=0f_6Z#8B9B`+uluAIq=|&qgTtFVV^8rP^LFH3zt~{_ zkR)e|NTz_U^wX*s^;$%L>SxZsPr<5!g`LH77ppi6%EBo+?n7bfN4R5a7}EjRh@ z3*UFLpC8E4l}TunY;|&UL=e?Wql$?E=6_DSzNA@>$53A!kh(DhdWn;reKqe|R17N= zJ=i)o$Cic!@6FnY+CGhe~O z^UH#HDF$#kih|B%gC#+|L`0m$x9Bv%wl*TcN1F(@N5b3k0=mT78+hy;+I&XaP|%*f z<>25Dzc60379oS8kZvvYjXq6Hjo}Y*+&5Bk60^7}S#WL)hLF0>$D3Df$Kn1HUkjICe?v)qy>?4n$UwMH|wa!Ypuw!vm&U^QHLiQI2!%K+m zgZdnTp;L`3Dh?pQIn9L_Ex;L4PAx{GXLtidL-}KRhL0EDJ?ebWYD+ig zfBo!>vtwUbX;h~z>nlzOC>y-2n2X``X*ipJ5!+LC?>~kh>jFvaUg01Y7*3B;g1z0L zq!Kt zCZ8`7ym9B~6Ehvp4p-+dvEi_|x>SvO<)#%wP0Kz~jjrKX@pVhtzg)J&4*&|}gYK+h zEG-G{;_Od_EK8AAzlKX1IrxsjLGp%!QaA&AE$;*tOcj1LTO{u=hh0miUVx5|{Ol3k zW*)DS>#Xp4nU|YuNlnn!^uPd{ z%kSA2iWi!X^qR5Z$(I?zX0;{?n@$;g`sg`u0 z6kzi8S@=zhAHXzD&u>3}dIq_%zD%`AZ@((|(R|80h?lCOKx__wT}%_j9Wup$eN3fx z*o)?<3feO{fAUDwJ|FBe<93*{tM0im-iz@v|1p12ZzVLeqxu1@-y34e$qmR1aJWj9 z;X4VHpqp*>&sdU}AbROq%v)U_0%Zl{xFU}iXZ)k zDN$quL1}gZnH^(|$F>Nv#Ic5iMI*IjiVQ)X_hQQeO7U2Jpt2M6;)iW%o*u z4=SS_jd%{eQzOVVit_1M=ViGJwm(aKW4}3JOw}%&mswn!eD;OJeWKKMu7li}W^WgJ zk8FVU-;BM!6>t#tc!=~dx50K}5sl-(LX+9bs?RZ=!^%A8pHqLQSiPXxDM9>~taP`| zy9ZY`-Lpj%jSnFUdJ3)~g1>6;ZKa^`KrGt5h-=-v1524Ef}C2opBo>~*jdW!qZl#&YMt&GsMGxb7< z>qE7O49pbftshwKI zU96{_8bJ4x%uzQ_*zqZ0UP7Og?Z+&Tmc{u^3DvPC_%!TLLvx)nDUWbizwP1nk zrsKZDE$lhmAfaPcB0k=|pG!2OPDwcurItJifTCeezIkjkw3e<3_LUBc16FgdI!oPL zygpv>o?~X#=GlLw^mnkIE)Noqj~@rVV*X0ulxTIpp~(VCpP0{sNNr6Szvun2tT;3q zTi@Q>SoNCLh%K4&UR)-7iWwBOIsvNY?yLYp3G zPbZTof#>Kzg>aGf<4&sM`7wOA%)FQqtqv@~6g3pAQ6=6{U`@8RzjC{yXPD6_akp z>zQiK-NZOQ4ey1m(r=QYsBL{&nI(}j_NBXzaAl(28X!65MkT>kY%p>l#QwMF8eQ2u ztupN25n+t3M?c&hiu=laZGZyty%|5!O50PKWpk46tKrO-y0f)2Q?*Yw)loiI z+%HZh>jK=?pD0l;>8w{2r7L2I`YggE<9*EYM3gCZsA-$sxz;9E(z~nAukCFrt(re? zqzGTojimpZZJ(}LZ|<1!>A|*jB6Lz;`1!g}d)OXy-YqcY6;oIdM4L#{+s)HCl3bP@zFk&35WzP=0 zCA7kPUKRs)4%rrO)Lwa+Cw;0u6G^sfh z)9*PDiccwOR@~x$TJ8XLT1e3vD0#XNX?=eF9pk316YY+5;1|3|WXQZnP5(_z=9YS| z=u#ce&eXY_U(`vtzAf zIU78-{F!}$9+(;!i}cCY+AcD*#WQpH3bC&TQ5F`k5uwoiS9e@$ec_9sH4-n`bkbUO zgZp@e$l;z!#~hFK-=-xo2NO5l*umHw30vI7g**`@m1lTKsiM%@h^G}N)?^8}$^goY!toQF$(BtAleNq#55Q-!En z^PJ`W6Ic3^Z^oAS7d*Ivi5(K->pP;^?=Nni)`8H4%aFe%C+UN^V=9T;y`-hSigAU} zWcsPSi@wpS0IW$rrkF=1XbEk6cYrv)Z$2AQGK`Ic20%0xWx&( zj+D^6m~~ry$964+iS>wK64%;m=GNr9oEHOIoqi%ZuFw7(@`E(K|Hi9?to~28>@aoI zS!wT{ZYsF&Nk7@*GVmZMuwJ;TKW|Ml*e&8op%Pie=gRo!uLI@| z7vMx(wqB>i6sgiK6Onz)MB8!2$F;i}nJ~j2M%J2is5$9SP&n4X^hm(T8a0E|quw7^qL5Al=}1WYe7-y6(PH{W~?PfA=M zC8E0JWq9IbEqmy-BvFvA{spydWpom+k^6*lQ{Fi#;cWJb6)^0n0JR8B?Vy*8qL3VH z@_;8`1&UYRd9bI3cVncrzsd1bXbL{omFp}T=xDbK=8=oq|8N-Ild8FK+bvn`kHiez zObH3FJ0(Ut4>5|xi+l5~mdYc)9Z9&Lle&+gk6sRey>#$5?e{qp@K@~dyf5y;Zk#4} zzB{DD4PdW-mnJ$pHC!qx&h$h1*loW?%FRA%Z5qG6oD6}r9-8S9ELf7CpC7TOyZW1js2;Y?UxxE@2plQUKp%*bKIIN9R;j9KqN7=AacXGdL;}%d(j>$6$whs`Sh( zEIagBOcJ6h*BW^uR=AgF%JdCu{C6+0c~bYaJGIK#(Ql9aBDYl<*#_REyV_sc8enuoE>?@u^JQF$hCbZ+s|^;K^Q_R%k!Wt za3ff0Y{0(D<*As4C8o9G|6UBBIh)!9rt05sJ_a8i)=1d1?kqn84A8^LjYsECg06me zEtov&a65zYzSsHb`fO|m32PW93Jk)vdPlMry8Fr6VGt*(B>eEEk+G-$H=U|+X zz`FUmDYA0*DSe{xW4*i_zso+z?@;=MS3jj09ZeCQ(t?gHUjHOYtO9_U9IX=^M+an? zz89h>tu zHL%?oNBi(g=_h^Di7>DxTJh^(7%Rsq>V?U?`g%c@T+neSgN z`@_4uLPTEwc`uk?+@Nq};KeCM_dqutoCyyMO~adsJt8X%zCOFmk6V@2znCbBkXaQI zgw-g=D>r$9T#wZQdwqBvOm03H;J@}wsku($R(Vz{Pa13HclI+#I=5eGR=l~(G#x5` zDUZu^@^esiRT!OO(8}UscKJ-m{bOsk)hfM20Nk4CYM&?2M5wYPp-MpW-jCS zM9Izl*MA5N;00p{KPAySb{G@rgB$1i(O-XdQkHnW&t^gj&+H@ZgtUv%t|Tr^;RKzn zR}N89r`hyF)gcQov&@892a!h0!Qgv8N4jMTD5mFji<+|;d;b)tC``n|`^h;Fq;7K@ z^<;*|OZ>GIZ*%fkh{*!Xi_$M;l$8m>jonxW3YK1Zzyxqh=r2cokbpkIcivOoohj86 z&GW0MyCt_bF@qk_^u5!}Wm~@UgIHYwQMdwG{v|)8N&2SR`|Qz|3ENKp_tv#XLVFAR z#mxnrc9k!mi>Q z4f!}$*6DdwvS;??nJfvhz5$?Ik%+=Nu;#LG0<4(#rJ7v*FW07Kexy@q50b5vALw1? zs&|r;4k||f_%!2YLM2S0tT$NrqnD8IdI7Qqp4sj2H{FB203x zk;$L8#gf8X+YLPu;Qr{lqxC=NO>Zf)tOBZ6l2sNgK{FvXszNQ59)g)ff$l!$SmE@! z`(t8*1>gO9u{9^(El>A=8lTymL}ecjGx>*OBkGiyJ898%k7nHFe_@(*mGx?DR!52m z!A^3wocrUy)IU%BMg4E{_l8y3eqH<>8k!LN<|7Y1wf;0)p+^IKZM2*dj-^_Bd7Gdj z*g(_1J|bju0S8*^*k4h(L;7asgGY_cR^}_WJqPa|qBxLuTcjdPmdbtv7gUqrL?-z!Zyuz&iE=pO!Ny7 zz<<>P5ZV`vwlJDw%#Z0V{I4Xls^~y+mPhV#=-6T0dQ`Op2TkaSoEzGh7yfpjSV}vN zlRbb>(L6UP+agD+^8@Hz*ahQ>hb=m3VWMRIsU4B&H0k(0M~T_WUpmM24?X=iV(vh~ zA1N9OWq~Z?=Kh&m|3!n`MP6Oq#YfBhicBVJ%FX)!s1io0Okq0e z!+{&S^$Pvx@Ok2A?NasVq(Ce$#@Md}O-@~H2Uqt`vQzE}om?tQxm_cbbac1itA?NX zp9Oq1mawCg^TFs2$Zz_Ed$Ppo$TTZW5KqmdKLu{{{(=Xys+T#x40BzSCH&URlGbOK zfU3YVvl~Jzs7B}$!}Z~lrNMo>snX9b3+Wo(gsoGRveU`|7WT%^ z8x=-t>8sd!4d$xq@2&av4J3X9hM2YR{^2@025i$YW@WU{MXGesKm z{ly;+!w2yVQ(8h-Iyh#SCMx0ZvxhxzrfGW!ZK`bJ0P8^4;*^rY=v_aMZXC8y?giiemC1{8U1}G&9NHkq78oln_dlA091S-`3i9tbW=_#n8 zXXuH~W4a~Ua!?q&v4tTU$%R=z%rpc()YW+r zP^Pp^8Z~LcEO0EiFeRBk@OqRo=5kny%Q56s*}C6lagW7s9~Ko85i&E zjU)}6J}#4t%wlPfLo2ZAzBXh=)x-9E!dE=npbG*K4hXrX;j0?542 zF;_wjm}oB{UfV2QyqH<2VP!_-Yg2gCpCTnXv*Uh-tvNeJsTSD5#8#Bm>4@#~W@N6A z9`${NT(=jk;$#XouUd|I`f}-m=!WnL>7nFb*ENWteCtK)V5V+N?LrStPvtysPd-{O z6oJh-`bc(LTy|8=r^pym9{r`Qce2Rs5y|V6lpM05CV?uwB65B>^RSOOPp@j<19A1t zcdFxQ=`BCmt&N$R5DxSavBVgqe5HF|hzv~_)w4!G%6n)MxAwBOE=0x4gGmpI4@2Mm zzo>#0(7c?V1pdwiB`B|eR)=k`4~K*#s|ox1zpm=sSk#;o*YP4u`YH%AYWMSUh z7Fi+Bj&#zZs|7V5*U{Jz7iYGxzcSGJcmfc%cU8N8!KgYM+mnWF;Gv$R-?Y}y_w>Q2 z@Q~#@@H}J2`YY)y6u4o@E>!C33OA)t{X~bYUZ<^+2p5{P?h&~VPld4t$9pe~OJRHI z6!X!^mmuaM5^fx3lmOp32KtbY=Z< zIjIus(8TvlPBFBYF)gx*^^Jt$x=y=`ec148P6HM~(flE6P0=$0yoxN(M82>mSJ|b3 z7DfJ*hbj9=P`8k9x$^B?dWL-9R}GzicxpkvuNC^yD*fk@4TiDsF1u>yGEK8|&4e+9 z4$Wc(p_Bytm(43VCWm)?!ilFo!aYw9r-nfj;3x5u(Oy@DGI}$`KlP5@8lZz6w?5%v zVjy{aZ&kfu`!OYSq|+rDKk~k!aSECM3+-aSKIu5%of~s$rE#)9?z|`+%%4-CuY*J~ zKcb4`HI*-=6NNs$q^(IRV*P<5Cy;LkPU_um%_(x+iu>z+z;WAZ=JkY;xSm=C*&R@R z$l9rSQU?|lka`{Zc?lghkt$#1(b#Auoc`Nhl7X;C-Y`Q4g9lC76sWfbC#>)f~U<4UqpQhTsy#bUt3yR`_cW__lzmY1|z9Vw=qM(4KoEq zfGIo{q;w4yG-1b%c1Au9^8Ex8=x;GWxJFC)cHSi&6%^z9d>gjTta7UGY-6F&%l-6) zfkA3u<$W!)yEif9xc{@BtWQBz!u09hO-$^XolU>VSN>}HD=8pHf+#W1c&zU6Hz{+L zq(0Rciuk_veWm^t)%nL{-yVRpL=yUpPbq@o)wU;Ck%K)JPVr<=wu(2HUO|NG4qpd5 zZ{!QR%Mo14+xIuP=_r?)9Yy#0n^q_?L_UJCnX#_-5oZ}Qf!*?&e;9JI!^hYuqkB30 z=NL8=DM`WQ7;0N*%CtB!?XV|3bj#vI-=xN2 ztkePzbYvAAzQ+5j^osgVJBrHGRa`J|_l5f#rLQR(x^c@3mU{5EF^6T zG9UU?cz|PpUMAx9C)R6~Er>wQ?5RWhtWBztQac#NdR)>oDVCZoUnA?uZ2kAeR%f(> z^KJX)qbl(jS(S5+{LJ1iy1$7*K#)d;?vf6rLnWm_C8R^T8%afS zXrwzukuJ$mIt1ws2}wb^;XA{9-}_$g|6A)>ES&|j&e_lI{o8w2jSd<<--N|h{n)BZOrYGLQc&FN$6tvVJ$^vIVcqAC=D&pK+NQ8t52E-Uf2^5QdR7-q=tzDCKVJ>LX`x63|z+HF-B0`1vjnR+kb2TBZ%SC^f{{UUY?7??=ort3n z+$;0gH8z&K|IGzSU%8(B^BH|wBz=~f#H7{QsZO=Ar<|pbuk>%&g9#5Nm zPQ!tMFX#sb3D;}yfLWzJpTHbA+o{ync&?23`yjEAYZ9NRunTz~+;%eFnzFOXM zq1xmJ+K8rk*tiXm8G|~KJS?@e88Cf1*9JBltK~hE*|;OTcg%0(gRu1f3!GJr5e`7{ zqrOP+v8n~K@KMnEa(HCR^!iByi!f>>a?T@j#?{sE{uLW-GC>b&%6@C@n$-&_Dnz|f z(*MY1Vc_~=02ee*H9vM(xighjJ2@-gK-Q|bX&FWL-FO5m(3pKUU6PJUd$#TPi%U&u zj$N~)K4+F)M`dXkwf_Oan`nTZ?x+3pP~dpxTnml&%1i?s)FiP7O#P9$SP9%l+DF z2rR<+m}5&uYRNyO{La)!J)x+KN}k8eUXiDJv&dUOS4C|}7XQ#j^J1A(Vtx|GO$st&m}oCOJXS3bIAy#>&gdN?9Tq6a_D%r0^ogdw+fN3K zMauAX4bTv7kbCEh!*LPx-F;Q!IQc|^h5E>|(4E$# zDQ@43!N+=T#H`^N&;KwUh&mj=cioD$M~L1KyCk#z3V;G{vMxb}?nB;yIOl_*rXooP zLGIWQ;lWfl*THc+4nj&0a1aHrt3|FWV--zJO;`>kQ^=51D*rpn=bI)^nlS3?h-Ce} zPS!-YUf}MgPxM{A&rQP2wFldVgCE#TeAi5)@Ou6)VFU9G$yx^p_jUk#NqS;X_ zERIfq_ows&X#Uo3wzoRmxQO%MqZtPx7fL8I&(TcZhk2i^k!(x%J?~ehq)cMxQPP5G zr7G?vo+2v1l0VQa%;|qq4gatWZQFbX+o+Fmt4%+0=Q-yL#W%3glzKtYo&Ou-D{<>|NIvS3jr5W}>>sXf|`Grp8O9VvdRN^^<=;DWrdYtmEiUE^O8{u&j5)ZH@C zX^n|bs1cN}CY~n;BeKBK%-8rH$yxNSBa)ahTcE1G1KSI668 zaF*=C?#qU%XIyw&I&EFq)*e3MtW(B?4v-HC)C%^y}3iKW6t+ zWJM{X>4@q}IXwh!Y}MKqZTx>Qq-X@7Gm6IIriU)R0*>g5*$2_`(O^LB8|8-ZbqC7C zg7wOrI9}iM0k4ojf;hi}TMMLqMpyUS=s}H2Gl#uoJh+0Sh zXq*NBXjK4!SAP8>wR_^;RIxcJM^$20Pq#%UNSq;)B!0yT^n;LrEJ)I}z&UCd)KwtL z>vM7o*XqtE*j7rfI9t*0XUmB4ReG<~p>APzt# z^c0zA>4ewGOZZ+)Az+IJQ_SUb-zrhen1JK5Nc);~w#q=( zvQt(2=mATe__?^wS%K7=qyg&c6X*D}JZ%{}N>cQ!q4$v<{klz!6sRW9VVjBHw#E*nTA zUmx9!G$!jYBLynL8)8vtA~lW%X=;XtjHX%+l>9t=Tg*q_G&H2o{8^?b95_RhI|CSY zzv!E~H@{u{Lff!oLoV|fF*AtmwVeAW3xP2&VEC+N(P+pi!cK%Sz@4RKhA{KjB2XQ;VJVb?zEvKe-$s4q}@;h#)CmeqybeQ%!rq2i@%QM+?J)6hfF0DL@Vjc1ZrAd759?{GZpeylN} z7qi{C-(ScDHq4w>O@@2;@FBmm)*8r<_!!|9H6FQ#l9z<#s?m)rr_>bo2GP=^#KRcS2bz%pA&u+F-AYD1h3^EJ|n|(kn0QmB+Q3E5HIWd zuU`hOu~14E>cYI9jN;PeRK}Q5SPD~yM{eA{18lO~TR7MYB7lTH;#c~Hhg{8q_=c2Okc44SMi@C5&w`ay7gXv|3EM032bcR>C0SH33k zwe9Wg6-~`d7P-}eO4wXth?!)!{{iYDpySkz&&<7YZn<;o7MlMD@ ztSWrVowW?rOOwXUa*4ycLzlmZ#Fnp6b|J#)f zC6XI0JtEXbeTiTz7FuLs$)&_=bUA9Nnw-a+99RJjF?$E)>7+m3B~*aM2%xu~B2R7q z0Idd1t+>z!6-`0#vHc4l66AM^B3)Nu8dGf=5*u#F5W4SB35HOjX*Ci>fk{a{y^i(i ziCWmN&G)6GXkC#vy&(UKgw$!HGxYnOJ`H}0uqt6}aIP+{tT(^z3Qt`Tr`y{O(vqd; zT58D%yC;9x73w+0qYU4i6kp(1vwW}D3y74-AbI}0_o_S(%VM~cuC5~b!IhJKX5#D) zJFaB>cY?=7=kn;M8B<@*o~c9b%^Nu=EWMGKCfleMC2QbfrSql zQJT8U=ki&1EpVJwI;R?59F1f8P49mT<(fWMUt@TVxmy1;;{(I!?@N&&7x8&*0aXK% zxPpD38Mt#}5P(cYsb#L85I<38>+$|4oL5pF(d#PzJUkgu773%{?ql(P!h;(*xg6>`3DEqGuT~zsl))M-sTvRS^PM;lm4*cP{KdCn4OT%ooAn2o&}G*Y3L927ZV zLu#DTA#Wq_U4BB3Z1LwK#4o17O`^meNNp^`N-quyC1$^kc!*dMO61wvAYcJZJuojy z%(}dFS=_f8{jz<9KO}p?o$ub{XqiTi%X9b-eJP9M<@k;V@%c zAcFokb#`KkEIdL-NqUGY1R!Q# z=jwUCnGuzLaXqgs(eK=}m>kr^^G=`L@)W0wh$-MY)Q}#zBuc$T{AERR8{?bs)^R(Po4Gn_Z?yM`A?;#5>-~CACgKC zGnQ)dihurh761{8bpRMWkq){*55IsxQ|sIkE^FBluxk|yTBT1PKlWB-ZuLS3gA%Hr zm19xQn~kUu&kwrhg^u*LdutlBU15$WQO-MG7DuTTilx_}Zo_$B}(ex=AFJG$9VN4N5eOal+>3&-a zNytu}jb2;g5wd>Ew@nhc0lvk}+L6%=Fz?bG?Dk%C$2B>>l%4%oU6wYwBy+1U=Lvft zIGd_&KvECL;ED;~x2I!1ob0b$e0dMuJSq~d#i9bUio~}mRZQWxYy}(bz~UbQZUpiP zsNEBBs7{01uOA>oMK#r*L{OT*AM|UNr`o9MBfafrr}#!M3YL^un}va(B5oAEN0a91Q)O`1rS<$-E6tqG$+*Hd5J)(u|!ImfsSXA!nt0IY!(K#>}veC+4#-2A< z^zHZ^Y%ej=jOlK_+VP`n7G2GFHSe=}(cd)x?bzp7q;nYBVZl8^M97Uy7=jvbhy1}) zd3ZT?NnTYn7aA& zXX*>l>L03+fdjTEOosn>xOE}?@8aSxll&16114CS1#4#+W65@^!hV??J3?}nzg?v^ zR;8@r;1=;M{^~O|;?KE95X}#R;c?4+`hgQ+RG0YkwS-MxutbLbC!JRJ#OMHMB_Z1` zYQWDC#cNESpGna+>G4xdw9{FNOOEAf*q{Kka#G5JSpNdM%W(!W4ic=`3vj?hoSBtw~GYv0%DDzei`udAIE5e@?_$cOg zb`akZph)xk4fRFVHAorQZT?X; zpN=j}PS`N$dN?wlNxC`tk?RT61lI`Zf|{rnQUB}|JQQ7hPO~I|Ae_S?1dL|V*3#E+ zM$$XOt3SlwYw)x*rt{R2xSdYE_feu!f+q>WPZh(h9CooGQ*~=vWZ6DuXXW#?rGbF~ z{WX?p#|zFknBQ0bVv4`17IGh1#RR(f!*NLw4pB5b!R&%R)6$vN^G3G`px7GxgNe)M789vHoBv1f7^5jmq*V*zu{B z2m-dsBcYnn%9K*T-lYs#6l1^RjW$zFk@I63&K$$uh-)xL{1Uy)LOY2;v25vsM$kio z?%;hHvKllN?1f}Lt`~2gCmQLk7$l}313RwvEk9A{e-)FTwr|;Z&trRjVrHf>oW$U$ z>{9yKvuEc^Q4$%XKW4{of6L_io2PF6A%}(H=9b^i{W%74VD3f;cOda@gsmJ$M>ihw zJIq^84g;=WL*&1tXo$*#Lb1J-|GL*3Nu#WMtxD08}+-&QW|94|F! zNphk*>|Ec$JoBw6E-rQib8}~ths=*#5#JeamvI5XH_#dXNamBO zLZvSrt?Wi7gtAB-5s-1{>FMbt)4!mt)dnRVs(6%^V19iPbzK+b)Z0}(GH>%I;~SzR zGDSPD&(2xjd>$PE0l8jo^x*FTJZ_f?6pyglXnxT2U{LT@#F`rYdRWhW;2Kk_YM_!y z{LL-x*Anz9a%hJz-dek}*by|5{EAQi>-HtD;UJZO1xBmbJsRhfYPr{AE$+mpe$OXu z!{Kw-@Y(ll#w<%1@sCd=55*bg+Xa6;6wjWi0>hK-HhvXBg8r+t{!(2@lA;(Blf+Su z4s3{Tr+EO;Dtv6DOXzUmjhZ{=?%8|ZZ_!gU!S57JPWL9A;M9_r^u!Ba2tGAoN24MP zpAf&Dx+K_c_1@k;aoz*u`iW-7w=ul7k z&a`Dducb@qO6~~d@EJeUNo9M!rNtE#vW!ZkHvU6jnlb>oyXXcxaIyrk(0gW=k8>n; zB%_oWxr|UVA}z(bc(B%|@(lG-pFf?^OO2nev8ygR5u96+B-xJ`?l06x;~qnNA;b=)qOD}~Hv+guY; zMaqkDmK)f&_7;tXT10Ru1$ex!$3yNo!td$qK783YhCH0Qf1}Ex2O-~I2{l5pNZ9Uq z^v}roGP@qf%ttE9_QdG6u`)q&%qfc#hmtu|Sx|nMS-Z21y*8EQj{Ig$dLWq_h3R;` zF7OT8h^0g+5mey?eKky;F6hAtB5gY>8vOhtk0kdXRTe)MmMiY2ocbTi|d0?0);k_O_i6%T7VD z<(+xs%&~(Z=icr=tO6i-P&~j12N9L3*ddO+E^i3-M}J0af(cODbzlF|b8&G&N5Q#1 znGCHaTblPDOS3N?^$kr6R~zEt-Hu&GvNmam5tZ_H+)|UWAF}4)R(hiq%>M&|MV+;E zYoSY=7(z)eM&^V_)3Mh7@uRFn6o42rR>w=@yiI? zFVZGe?A1{@Xs`%MceJXVzOmhZ*-6CDXd%cgomt*OgYD28y$5$CfE%fQWzFdDKP1wS zi`d@WZ0P4ZTQZQAl=;eHL;(wTeOX0&&Q?25%}n~JXSUI_HIwG5++k5eSGbe?T1^9Wl=tr4vjW|Z&v4Jt#eegX!p>jb@GUs>Uk~>(I2Z^0ln`spfkR4$zA_`;y+9a(-R$(bh<(sQ zewjTk25R{;RV9|%{MyJ#+RrC|A_kRRK%h3mamRT2hRDX!NV9pTdg0$41#%kh(j8}a z{?sTe!dW?>R?;h;+UkJa=6cCM5u@a_4L7B(K%ML$>dq|DZ>pdDzv_$|7`*#XA|D)t zHtUi^f!;kFyRbLPJG+nl)O|13?dlX?hIHZ=Y=dCwE_Or_4!5i7Eu#oVrxYi?&N~kN z@Z_v%?690Agm`W(p;69KDU(Og<9;OT0a+NC5@FXbD2F#Xa76eSPU-8 zsj!hspS0>{IHfOYmF<_PA4NLMIPTSh5f44`FBN#X5rhd!lmxrMUbwm*qI+9Y3m0WH z2Ca^Y?iI;}9;9kqVEpbItSrP!?(k4rBF$xK(iT;yQLoKyZocx-`L*u4B;aBf^M^A5 zOq%RJ{MieLM}rs2t@p1^e@ehH4%xciYZO+&5;Y3&4b$RqxFafS7@s)BTh8#vxiP_j zZHTHc7^d<4LYs1X7pg&%(WW-m=Q`Y3b7Rx6v5;LN$KulhEOc7WyLM!jC6hyzvkEDG zphXKZ1~FPGGr!eI)2EKxDez^(Z>OdZa>}y~yG}&<#sp8ZRGo3E$S9G9sm4Ie9`n+U-z`!7T)@WAcIz`;VwnQy5b0 zqph^2pv0WTQH+Q1Ol|s`t-CJUrNSNX!8mFqVhz%MS#+^3cX7#*qC4RSmqXfKLGpg` zX)+o98O#KX9kLoER`oMn@2A_Lzm`cWqV|4(JTyN7q3Y(18UHUY63&R}LDs6UxT}1_ zuU07LigK(#E|WB8tu9 zoG7C8YP`?HdKzyv7#kaDFPDk9P`uo@Ie)yx>BNGZ{!m+p-xwQu$bzN@74O`<2 z=RZA@8>o=`F1G47GEFZjxkM1!5j0Y24moWQRjG+-Y29CRb2KgRG zaw$FgztojSxpGXD`tkZkQ%K%Jo=c$$4{)H8$u}st5`m`MH6@|aAM$ag!bb_B)3ue$ zo(>9`9*i6oSmJey6j@1H30^_ZBk96WM8Y0ERWmwlZ*Ttw@JxETwJEm-jmRVsya1I$ zy5x>bdAk-F+`aSoCyhq+t?Yw{gUB{keXwC^7^Z;!Nm%)mzNdk8hvB;J!-tJ!5R-3{ zP%qv$wTt*egTXM6MH*xv4J{)GURYF-?B`S`?#MG}$2c+d^}UKqQ8U zv;V%rG(kx_UK>*=n(}$3%uw7<_Oh^F;9?eKdfS-!`#^7J}O4W=e7{zP7P(wg}LN zRz}lvPiPQQ`ak<1`GBCTl8sz;*5?7jIb~y@2_})r+o9ny#!l-yP|-Y*r+$g@MnN)2 zS>6hg1SIR?DFoWj(KI_R<-;Lkt<;k2;$OZ4$rLNPl#>Mkggcl#ATfT@em8qK)Rr6V zbsVNCSpcI#0!+Kk!3dwrUh$E8pNv7DtO0vYW-XmYG(nq26DqAT>(F(|oaz8_!Grk7 zD_Hq-Z}X?F7hqUAb>nUa`IRiAGU{s0{|*f<0OtnhwuTy=e?<5PG?bWS`a{&;w-X)Q z-mz8yhja0fWXC`k5}DAKs!t5)Nn^;5`7htmHEw_%9A|iF9lNsC-?nuq%p$;%ZFT2o zDaM0Q71az^MH;q{P{VEx&79$pQ&(KP#d+{0cP;EZMr3_yWM*atZ=F%>kzRqT2;o`o zL$$!tF-OrhXj3P2TWW4+YfDreB&V*3x%f;U&CjC$OZdX^$|^VMRCUd6d>w8pBAFbN zxvY#ZXG2EOD-I2^pDbP-;N;3QPTs7Yze#hDMqUcR8FV{&V`~g4KFP)o)AS&B)Qkld ztq3Z`Oa!^$qm7;KgBjl=2^=rf3m++7Quib{ND3uO))Sn}9XD%s*ZVnt-XZ>Rh~#C6 zKhR<&jW2Irmfkm99hE$`EmzB?0>ho0vGi(fLPJBNc6WCl-@S%idv;f0!7q9K zRvQS;2*;DVKcZ_|dqZzHq#_0>i1yRCD~U|=IX8t*u)qvS_d=n-OgiFSD02#-CmXQ_{Hd@;x+rPkb|Zb^921x5N=t+O`tUX$gnl&4j~WOrMOIYs^n|okS8OXIKF3Bqd|M%}m$kqEoHR z`9}Ak&9n^nXHG@?Fx}-tfoVuA4LzykH~ZDu#p!Y&GU8XvYEAk=$!G0f1|~WHvbEI% zf9RTs;P?d{OuTH~g3q6YT54*J@cVatOlf&vuYD7NwvdnsM8@2jw(;#-e1V`Xma(&lpB%N(ccp;&l0 zSMz(8(ifjwNN8~Bum*7}L++mOy6|NazE|nJGBeK2Z=t6wxw5p$3on|MZAP6fUcYn9 zXSNap#x%$ai2R{rK#~Oy=tEu$?pb1lNYv@0Kl>>POmY?x@4 zilib-<>;uOs;vhZ(Drk|g5>jp44?b)QE_Z2iv6WzqZ;EQ!^6X0%>ikKRhIrtMpm^W0Xfpk-Jmmo<7CXh6`M7-SpdRZpW-?qXT{hiM1({ws z)Dg2@M}wSK+)F+??uatJHQdL3Wo6~p$+mmTIjPyJdrSNdcH#d}l)wjJM!ptoQ1-v7 zLwsyX5CDexT#3UTwFDrq8JXe_3rbs)nyCxSk`UI}fkAAj6o!K}%Ir(``q@dfs=M^C z=wvlHg2o7!onBiCOMOCq-su>IXWd#p6Jhc>G33n^fbt9%qr26E9?If0Lv$R9XjDZR zZSt1^3#KUa4-HTER!%_#Zm>k<8@S^aa-nYu9|>~u-Mn%SqeO0cn#F2K9C0pWazM4B zw|wq_oL!KWl|@PU>Ym#tw>Joe`NvZdhDgi4?M1&y_WvY+e~**hx#9@Q@>3Fzvxw(C zeBL1f9ESildOT@gN9wm-C@W8R{h28Y&EH#_HNuS*6qbtT?t~{!C;*|D3 zTqN3TC3V~Qp8eR|uI2KG58P6TJ4e}t^Tk-eiYZF#L;uxf!RA$_Z6#@UF}M#!!GmRS zcA2j}C9m`riEvTKNJ3pIof!4mqfItxma0-#Tim`Yhf1H@s9a{8g zx=1~KT>c2x!QWAlvh%^>fmQoy{(4>2ODzK;G?~-BP(tQ@@uLY7a{@KPBURM)Zb(p= ze@-KlN`~m$b9D{!xp4M{=5!_fcK5s3qsM2BT-cV2fS5CsmCUuF#--^sx58s?t zi;vUb8TLUFDleCHtkq(w(YuJ(s}p%d+BEq;={3~6=)CiF{FLZl@lUHHyuZZAf2;H+ zvJ@or*#5j~*H*S)%DvX5TATECI(%g-hhp_*gDq3EBcu*JPQ$kQG~YIKTRN1&aOPv! z2FN^pLGHLB>j{H=`~g)8pYXTvLqB#D7&H(AGfclAKY#w*O-F+kM93LMB_-mv=+O8y z#RXvu2i%C4O@-=dI>VnOR-Hby&jcSk7|bbpqMWXcygCtX?xChM1q`)5DL2k^@R81X z{_((7TIqDRg5Kk5d3RB z9?O-p=ABS`2$Bh5!Gouq!HEZq-(F>Uqu1}*>LYn27G)eh3ivl$^n;{94^FXl2srgg%@8E`MnE{{49)lfxy%CF)5|NFd92vId1=p-{ow zSK2t-(%zP2QbJ$(iF0Z;Ckt5#rYE)^c?se^G&GP2sIIBW;N;>;96!gt<-Jlfg!-i$ z!YS*2&KUJ-{dwezzRMH5}hZa z^a&gROIvGfr>f)!EB;f6`kSwK=nc&^`);*;L%1FRKj{1)ZgXM_d7XQ+s!>I4yt?m` zjc|Xx2tv~IdvYth2uR0xM($aCq>Mo=j(pXU;8QJFuM$1ZxRJtA>s&mBwfRMIUctw} z$jHbKtirOyZYl)HHI>SQh%`$#f8@??h&twPn^6>R=^4#uGYYki)EuU-@Q=eO3^k%3 z^_WH;+{QCLkX<5JS6P8&UU6;Ygi`ZG+E@Cq9q#aoZIJ+E=SHO3@a#?5`>%NF<|jxC zt@Pe#+luI$>X@#M&RHq<+y!q(>RZ8v4`w4V2p8NGC*bMQr=A#xonTfxN2{VrCx6x+ zg&1t+Ns@wxZSOx;(80-AYjdcDc^2FWk;y=^fLiH|$CF{2v5^rEN^THrOWq4u=}lZ+ zqRHrNIz&1=c9NKtKfSeGL`T_KlUt+_(4IxHF5kfdyW^!kSnA~Qi*`P2%Nt-CB=U-` z3R!P0tuX!JQApH)0ey><*>`dr6Evs{8lY{J<`l*F%$eU19lP1 zqd85mjwIAbh{LV4ly8YgKH(mFR(2Qa`UP1=k3JIA7IG;H9xgjKot~avrtK5q8x3CK}8G_6I`caH#QRVq<)7EllY2|4FyKt z>h?f~e3vC+I%+FtTWpVB4t1#Y`nj7g^4C8dJee@~M9i77U+Im-hW{p%D;~a|Z0`$Q z`bKwGpL%|Jdb74C*pKBRf{EK0!u>tyeaXnJEZo>l|8ArKH=c7w4YR;;FW=>`HLI5f zNw;F^%W$Bp!(@ga4<1v0H*%9^=j-mMGZ@Hv*q<&^+X8HBOLq1TqO+ePk8#CZtk#F} z0Y~+*ieN0P4IN$ySua-a&s@HKwT8N#Ds3~6?MtQ}cH&Nox0pas&x5||D~{9CZKEO+ z#bJ8Uto)+3^78I^Rl)efn$*QH-`bn1(ckvE0x?pf!m?^s6Np4HGyFxTfKiesg#McZ z?e$%mS`?VA_CPxl_;pSO|42Du_|xY^TJh=>hUzr7a#c7)>f_PbrL`0=3&E9I6v`L+Ij8?w}(i6 zpfcUcE5)JT$t8C$vnR(Xbssbt3jVk3(j%+^zW;V9$XIX(#L$)5&DIxj##5Gu*d=47?Xn-gsxLFKG)#udY%CR4!8Cu z@$Pp;Jzxx+C|Ba37c1D-S;am;pl=ty0ABTV)9mc5k6cTd;TBem;Tm6Q1S)o66;t&7 z*=Ff#b!~0b=FU#0yo#Od_KJRzY{{?N4Ai?j_i5TVG!c>wmm`<}vn!KO(Qy>>@3_;U(p%LXNe=foK3{o*b`#SKXvJn2`gx3?HF;{q|bYf_8sO+-M3Ck=+e#>u%Y z;k4XU)YH@BD*~rki64W2=|W66alz|>1pp2N{0SttK)Ek*6&*VS}@ZKyEu4MUw!Gp!esp7)PFlu`uJ z>m#;StuOtW6-6<|(D`TIx&ateP$phE-wiQV@n5Yjc#zh9=)-*chC(0LDSiG+yobr? z$(pztr(+li^146-mM7O|mkE+(>ar%nQ>58LX#fX7bg-4C@9&a{)OP%XWoY<-x_?Ky zw5ESUaZLhvmJ_;2BK@(6MeKI9c4n;zn>mC^EY_<=+`jBX7k$|cgW5i+OURD|>DhPicx1^Xe za13JmLkW z;>;GC^E$;cTE>Vw{2BQy^d{m|M~T_h`kcd*W9y@jQx-_5s77Q9jZf{)Mc6K8SuNB< z;EBpUfxP}~A}mHS{MVmhokR~eP#`p=|_ zHE?*ws~z_X5ifw|2$JD*G-=RAa{=v$H~1RzDj3@+qnZ1t_2(^6>(^xr=-MS-iE-4% zLBdoeC zTt;|=Szur~!T7#SNiUl2$8d`PeT(F9tX6x`kRM?`nv}-k;(w22zb3kK;mryJJePgUui^66;$Ko8``ejI~ z>Z}rj%ub$s+)Zkw7R+oK-g4#*Fro$8o?v{r_Vd=xJ+KSKVv@l@(14=qR0cq!>Cqw!%gcdNc5p&>tqpw zo8mC00S#YBYnZ665L9ER<;`}$jUAv5=;~q*mVEl0bCw09?)RSIe0m^-f7j{t{b*}4 zsdsNsVN27F9~N2YpU)lLaL!rdVUsh|oDSWE$Dyq%EZrHBnkGW+w0^#LS`{y1A`52&&N%lhA^ zjy=E`KBVvV6o^9`rCtr%s`$e%C;<*tsa(o z&(@P?yB^fk((h#PMc%opJ%|1A5~7n4%BRoKwG{AGMLZl)IBOH!vxTwX#z{y8e$j$4 zYfHar9zLuTirG!6n714Fzy?phAFxSJL+`>6LlxQ&Ud5w4t!kVk3PTPGY6^pR;_Sh; z)u;0v<-$xDoq=h>N}13!Ln%8K5hqkK<#8pX!Y)Wj`71oJYig#9{o_khxdQv2lNCbUtql! zvg#GUy(Sd^o^QvH<`fmiSed2DiW-JpIT=4 zCbsR`)+ub9SD!l8KKF|9s#GYXL@3nmyZC^T*i+OW`+tFm5XQ?NGmisg>4x0aW*iU~ z6_hnx>WFv?bQfRfqSx!G`3@T1=eIcWS#ZfouViKDusa5yO6nXmk=)H+CS3PoytU#j z)Uu2*Ty9LCs~#`Ag59~i4dNVZ0_61=xy<+MYO%`lg7D?CSdeJf`!v$~gE-B=#`>&v z0qOCv)S!WrSG8KE%j@h);iQ6+SJzjUvmi_s`nC!p{#b}Z5Rn61N!R+zx^&55<4Z?9 zFc@w58a+`o)E!3zxr1p9Z#`bFl$*HvDtS71%kcX7p5B1?`PP+@eOk-+|0=E<^)=)V zJUmNoIlG)2$qqx3`6LRX+ZTMv6I48J)RT&aNxzvdo)B|xN)cO$)mm0?ed@eSzoFck zk7BZS2O3tOmZ2>E&POBq$q~sq-&rxX(iZi?MFlGM6NE#osVM0sMX(+}g8L+s=6!Ny zO041_sV$}@Ep9(o+6$xGQjuy0nj&YqF@}SVwp;eA00~_D7%N~GTU9DK4)~k?){iyF ztvE`9Kfk16XbInxv3?aqB9?Pa{Jv$OvIOdhGDJ^C?j+O`HB2Y%`HPOsg>6sG*Vngl z=Q@U(x%O`r4gNtR4#X>LK&$S?!i4|J`8d z`VNuATa~Dd43EW7V~PN2XjtbL3zYMZG3#5g`wE{a44=g_M<;IRQjo*OY|vW`zpAFg zZfP{#SYF*of7sZn!U5?zu@I$PlN@s=+Ungic^pomFGTCa6u{%f;iha|opLa&+S3+- z#|N+D3pHakjmvJwuRsukI%Ysa{Ov2|x)|%1RO5qmd#8qKBbubA(7j~^D(y(NgxT>E zxp=5VQ)4cxnuNKt$niDj-sRfsTq)lNB6}JjA@q-1S0sa%J1Kg$-2kEt89c-El3;F^ z;xEvOXq<@FHK7Mag5N@}^yHba`!|^8SanME?dI9cC3#v0~P@zvmXa$xy(~}8r z*hmpEle;QOnn8RuQ&NG9jgf&v^p6>P=Ba8vrweD8MgoDy)#+;CURp!k=HpGz*~h-* z>S#D(Se1K>$u4z7&|Ey$9v`YJ^g%48i%j>xv)L*?^5ZkNy{4I^6yDK4W8R7ca9eGW zgKdzHmaHe#`s`$8Wm@=JZRTF&$6ddZfmFOZP?;fEsCy9qQ$I*Yg zeH&vk7P`-yk?8E{X~Hw!^;nk=%X3Vrm6a^xnU^+G{aD3Y`II9KwN2M9^R9-j2iwQT z0BmNZ@3}&}j{0Z$x=R?Lac83&T7jq~KSFvlY6E+EJe0`@{ot#FL*4W%H9}rSn2rR% zbT5*wt|6yvC*I;A>`o8tX0-hA%c=?sWpTJa9p{6dL2vVAh=x>BTGSG0xNZdc5(W=8*KfSToX;7KD+>7|#(#gl|4(E2SPsP2w1Jx%h=e^{6(8=w zb62)U9Y)a-`NahP)<<&F_#yJi$pq8ig9on#81eZbn zE&QD^&AXoM4rtGBoNV1;mnYu*W zcUC8@Zj2I^GR{aP*Vn8YY=W&5rCvfU{Fm7j2Ed7v(Y)`R@iIqu8q;l*KcsMCHQorK z?|Zs31e^~c*eP9o4Kz7;241b2vl;Fs(qt_7lZ-r6zc^+sqf`6Sx#r-n>B-uNYfN{i z`LT|&Q@dD%R{s0J#smf_2=Yw4)<#6?NgEqmmk3 zi(u>1O88rNmBfT8LN7-&RESB4i6aUrHMk!=8!o{^mU(5ap1`MQou_Czb9)6TF8kh- zm?gFzA@Qk|8H9=8l$R9dd8UpV>2e#9#wuaO&Xp@uc2OE44YG@+FOI0co0shTpkh{P zuFca_71#Q0wmIc}6qt)jZz9(~X>oB{`^j9mXjfA2x~l@H@oOC_aSg4VWzR*Hdf?Vv zkqpJ>rwpAw-d>`NKgNr>@3jIv0bWHyNWpY+0h9M9nCfIa_hR7o*M~vrth|5v(v$yzBno)8?=`9>01)Hz0x3(DVRtKI5+-?#f;eYO^#hpLEfE%IcDjUe{m zq9JFAI&pe679+4Mn0V4zmj9<0E${;*Ox0 zzNTv@oo3R|PPOb-#XI7vPGBh(zIi zE0k0ImxK$Vtor_XsXIPHi*P}@L{Xr5%M6|&8J8$~16a3jKk+aT*cbLf6H}LZ`t`Ij zqSX(Q*aBiE^JmJb469~JN=iaOOQF!aE5LABGdZDNCPz9xk?D}{s_Q~#V$Os`5Qy_h z3ijXVQBDO(8AryI7%A#lefc$LlRPbY5*4r5h^upP&X;8*tVr&j6dbipZ_7(ACBF$d z{V0A5a!Se^xQ83->poT`42CoVf!)SI9erHx5`f};p7)5$xQtRremGBda#-;)3f@Gb zpQP4L^e*h@8FaF>&X#!|B;sH#-Wp+d{&j02gkI~Bt4FjTX+Jas)2E^gi%)E&>~#me z{NNJ~+v>TE#F`$zA6!IXW;zQAZwYFbwH_-jQW0XX4gaWF%4r^v7V09|uO!s;GIkzb zlV;@Puk^5^)vyXXYRkm==@3%#1_VpwKX`P1e;0WMVO_HWl@rsim<0|oEVtREUY8s6 za|>10b63g!Kd!DiD$4C^Q_|8PDAJ8eNQ;1UHxd#e^TlcNZwaBs$u8DaMwXg6iS2$qcq6gx zqzcPq4!p)L!o~%wx0gXQ5!aoWm7tJirr;R%`4i>%^aFqEwX1KJ$7II2+)Zy(u6%Z% z$hy+ydoHd2f$#s3cF?v12uha+o(wnXi7FClDki(Y!%k)DBxoiLZg+i6v8hSB2qBsD z4C2{GFwB37Mw6r1&eYq!FRyoD)$1Xg3J~jhrQ=<9R&@V7X7GnS=RJt znP5+ucRAQG|1;==4h+%z5lSmWt9lX<;))d%;oA}e;!zOJPpo%KQtO|CAoTXP@4Kg{ zjv7ygeWqVit7?x>y)2=~A6SiD*yzb^wYOFnp+&r8 zgOSqTALUCPsJP^}nrasU*i4-8uS&&5MT$b8{-Hm@8vbsD=iepkr52zo?jN!0CUC@DGe4swD&;l0=Ucz~R;a)_*ztphKq zb5xTGnFa=-l>+dVVo?_6J9z@I0uXPJF>N9c!ez|2n3_uOflA2U%05Oa&2}L6^5w?1 z*yur&1K6CQ z14)bB$vP*PHFwD=va2Nq2;)+JiTPAw9v244^s{v+8#_glc)^;jp!3hKq{hy{x`pE3 zO7@Ro8-@of=1&~0;lWBZ-dL@jv7x*BIq%9gZC6cV{Z{;|vkXf^yu-&|l=rDSl3Mbv z^1GDS{a!A&nc^qLdUQwA8!ru{8w`z(=C8D{-=b+)yhz6QxViuYJwvywkSe>Td0bJ_ zQvy})`%PyL1{`>eUwf>SsfKvHgv0{TME)2XnpO~Mb_r8O7sih-Z_qj=K=-1Fp)(-` z(zEWen~i@7z+%KQOI*Duwk{f+B>OIklV8UKrM-B=qhCK&%DPtIT5=2L`;zRl)$)9S zbp8at4wRJJueH%!lZu9}HNUuRO!ECJMf5GF0@WQ&AG<2JM*{^k)IhRNru2JEsKMi; zaUmwk(HzVZ(OEIyY_K`r+YLANAGOMB=UW7IaxMcuN8U*kWbb1xP?Y3h0MNn@1GTs( z2qW!lmwF1NJzqt;$Za5C@xe8EmIYnhZQ(*!K!SM=PvzTlyzq51gJCccm(^Mi4@t21 zLk^0v6~oJQ4m55rx;Z{a9%AX^85A=OiqS97f}^r3{9mf9BA}r4i=E`au)b zg#FCa%tg=!GzM1x;Qa(9Jxfv;(@)a@; zt(oc#nu`=E*w$zjYAbTSal zm$qAxKqp&OOEu)|V!bP&2x8PtDqJhW1xd! zFC=g~Z$HxCwk2jWDJYH7E!^Yu4a%*27ko%#n*)E(_oFG>kAJxU>Oad#N-;HuHukwR zt7&PuL|%8U)oPM&(o6rR0ai%^I@cuu?O`{aYc>psI8)Zac^3gTZq4jQQLG``?i=?X zkmwG)kR`nuTu{nUPL_8MiGx6s?j*VYkU4t^+v>5k4rNKSRnxA4 z2tQ*8lCirFq5Om_`JO5DVtEH>V*oLuK`L~ksY=OW&Ea~xA6jpcWK2v<@&nnpB}6>%tRiR$mKf0E=mx4H1blw{Pq@V8it$s@-vr5zxG2eSVs1B z*TdJY$=1sEJ_&ggV63D?ze zf#{4&AY>;`yHSJ=Sy4#(=QCduL`T?B%ioGs;G%hlh00M{Lo+{b5YvK6+Z477mtgk&?t)HoBO8B_J%xalDo$-m*yzl5geUB$jzH?BVZ(1dmB zw;2E?9bR7w3MU$K>RSi=FE=rH?2GkKdR)HUlNZ!veeoH5?4&atL}!?%Fh8Uv6L5D6a~yic$FRSCK4Pn2mwVX4MQpTy zFhZnh3M9dPi$z874k8H;fp?Z?p%aTk^L}w77;umLf}-jq0qmVP4Q_uqI)10J=kxvw zyjzmfU-R^9Up-qJ|8Zu}iWngDq~oK^I_dXcupt46-jHjGw+sS9cG6K7JodE3+3$?UEFSbvH8(VU)f-rgtx2b6@lQNi52p>$SOUuj7W& z-F4p=|HdRnD!?nac|&gu00;{-*37-FTVL%w#72)Wf}GqUK^aH@z+%FV_6kX|fY_Fd z>uX%WX?L(rIQ%7TsQkubNo55y?kEdS%+U+S4%cM+GlARSu)yVA-r@JzkE-OXmk1v4 zr*R@OeJ@nQCLrnRsQWtgD~OQCZ2BEQ+DsGymj570egq(c zQ6F;1;}vTnM4qU1W5L5O-?|awLtm{8AO;&dUPkI&%#a`5=9|6;|2A7@PyAIPm0`QW z&a7K-aAaO!;B5Om`~SaLL}$U3X>* zX@UIB=tHs?D#HVVO6uArZz7nLK-R3I{c*(H1Y^hhb?sK%y4z@| z_JaM&R)%7fzPp{reG_Pe*+|vX581zL;L7~>vlD@CfDFHR_BIrDq!oo_e$qw~2>Hp= zynR<`Nlt7O+Q|=d*KXL}*<7jk0m4nh*UnuL9BCKMq}^Hoz3c0PovX_@&r#MrMEnDh z7C0s&lj1DFU}V-v0&xI5LCkY9lw7}SEd0eJYpwYDzQFd_LZB`@?bSzGUWe`<`W@v9 zAk(Na4;z@$$A zRICk*ES^>$gR$q-?MZf0j@q(gs#I2`s3Lm+j^yP+Man9Pyu)d#Dc z@{cXLwDvE<+NA}f8bj7!-VLY*YuH0j0E{LCyBN{{-Bd>#^I>8?veU8+@=w{sB3Q1? z=qLUy+DK7iB4_k&KUQ5<37_sqdG#a{DB@JGA5x#*A-DIN=cfN96K-zOKs%Bad?3Zf zI4SSFP1kZq+ix;JXn>fFBidyCTEbSk__K>S5LLa-1+?+$ueAVyKv*`D%hkIp!r z;4&ewJn3S<_Uv*O%ng^;Or*-sCZj_{?x&`wmlu9uuvJiamPc*KB3{NX;m6Eb68(W3 z((MErqfls~c@%TasFLpwi`Dz|aHHW>6D$1dXN^#DP^mELVMQ(!jd5 z3v{0QwoxLI$^^L@z?T1%_B;phX7}OoV5-Zrg%~B0xY*cNAwSE9THFg>h@8Ic(OE7= zkJ5h=!i?C#vf8DQv^(!+KWo5W)uylx}I9)ndbdL5-*BDR$SCa>>%;@VWV&pDi(P@JY4qo2N)-z-1p z{(w?j-DAu0wL8~okLZ$q{xv5Ov}Ta8LQj#^RQLN&4#WHGYoL0dD=B!1ODsNN5XZMw z{HAXDrqD(exppBigBZ{py)Po0duvKn%Ioa~-zk209PI{QmbuS8H+T05Fi1c49ZZ=< z^fyomB+o1BJ#+q|Dg)+|9cl(U&?3=R2cCA7Ha1cLB(ZDWbd>&E{Pvu6*)|8BPvPTO z0%YX_V`E>P>ccKJ;alt{K_fN`_McvXJY*2vqsr;!U~?NIJa`4LbW%iYe%`%#1Jo1) zMgv*85iM+_J5RXg*R|e@tvepV=30!XPSN(#jZ(n+AOH&XhZUDM>p<;lk;L{)nk(+U z)8!t`%o8nXJLUHGKsubqD@A?|d-Ld2E1XPBTg70=4RSWa65IW*Rf+#R&OcTsd@bds zo~wy3LP?*BR`4G0X|{2$9KaLBO%!0R`+!_Pi$+r%-bR?!p7;qcL>kYZ|9GLR>+$;H zWY-LboX=K~f7cg2iHXIN5x!=qG~5mE)(y5etW1cKPD-8P{Ctkjuk!6$I-tq-s;!vX zHo#8JPm|EtC3erN!-{tzY$rZW$v z6_^}C2(&;{T-oKzteVy&HXHqE0NirOy846;r6sx37t1@*%Q0Uu@(QbIhOTu0h7O=g z;dt&0n@2zioK`aMc5|fddO`|@1PnruVvsiy?Zacf{bI79(ki-zCeC;rIQwF4wY;E! zPhl!4IXU@bNx9=2Ko*g`)Sv23;>kyY75qs1gGukhnn}*gf`V5ho4V58pVCHke+s95 zps}se&sLMiSV@i*$9WOwWM#j(s)HS+|7}xJD5v>lPT9xAUk)GtDPe#g%A!FPLldJn z@aDxq@Mb$3v&7RDIxnxqg)nGE5GCJ3a_&O+^V|7Nb|QC?-vzdf>#Sbmc8|6#K?FX{ zSoJC*>888d``AsrE)tXQ)QD1|PwzP_aRT+mdl9k923^&8QQ7L|-U*VhNPR zcnVbG@=F}_ndgxU5%RYcJb64Bj?t{7QhmHPg-aD0<=Xf_t?a7DH%q9fJPOCOMGcC+ zqNA>!w)a^cmGRZISBDMb=){ZI8B?f}!hg9wVB7$}zMfohDt2SItx!(z%XuSNPcqB> zN7H{vUAIT6F!Ypf_O2cmc9919u914qJj1=BF#c)49v4PiKWxMIvHlCZL9)M^pALvW zpcbx}?4m@Zi?4frrUAyPTxtB{78)3UE*|)jaD$;XY9#39&UF&@Ta{lY%Fw-n>AIV% z2mx0?=eEQW5uGBoQo52G^K$JT-}C+eLVF*T_{UlC1K%8Uv93RUigBKYteLJEHWhHf zF!Idt0X=RJdIfb-c=&Z@4)5YlvV<2eP3I_*xLW@bHBpO)A*`M=Bj}v6l%6rahz3{K zw0C;$?u6K>SlP#z1uN+3t@S>Y?SHEYeDKq@Kg51$stjJr13(LTB(~<0UoJmx4d3fF z=w#YYef#!pu%+4Ji!Sj_luwOQ=Mfbr1EfFR7=1f|u)Ch?GO(+n)W(~tJQ5@N!fck1 zC-Ute5R_mi?0r@fjdBp8DtYXE!sfd`7U3U`shOh zUK2u9nCCW_HSpN&VJ-jk@pr%IAFGi7AA&W-KSj8?2|=WFKn&Sib7K^;v|A zha>Lmtfx%x09|_k)I7NdwOtEs;-2B2SqY(Pi_w>m=|tX{zQ?}nG&_4=*%IsrG;RBo ze*FZ~4)$$@(%^}LcdMc9H{nx!3Tl)+CnnUM=r##xOf$x8vE?!;ZNW=JpqujyVamam zP(DyDp$joUS#Uy90{{aX<2Ua*CS|oOAQX=Zt^HiAh5QtgczrwrhtE5?Po0*;vW zb+xslXdAIN%GcDRA$cQ?zdg#INYYmh%qp%&yEKl#Plg%+TQ6@(i+HwF!#7V!!%Ovr z^TBGTCr_^5Gcl5nFwKGj1qEf*{W1W%8GwWJ|F3MUZycy%Vg-(BLD3rDD zTlaYG>hi)#bV^Qh+S$vr%hK3}L5rz{r+RvNp7McXN`CIb=Zg3F?HAOotTqclM=52= zK{JJ5r0Y3eFwZ;OzQqQTC^@e0hWs=1m!v<7d7gZEk6`?TJvGi)ZsavZehGIIpjmmM z`y|jVndg__CIz;Xd816N(?1ddei#)6{Y;C@r2%-S52isdc;MeyDu8wBeDUhqiY)9? zqFXgRSqi(gc~SBkD2Z_1wXnn$mSiaHct_hMx33)jY#P(75LpDZ3(|3q$yO>0Mu0GX zJ9wu#f@!*HR3y|PNLV9Os_7}1QO55Gp_4f52=JOP7)@V|={hA|ED}3LK})=9$t)=- zBUu9wz{9s+Wx_S}BlOiAweC%%UKkAekI0Wu9T7x*m#d>R)A9xYP^~-Io-PvC>~_;B zfHFtMz$?sQMyWZdeuBy3Y%IDUEH>3hT4bJfh?`hXQxNU@@ZAnOw)5#<_2YeuyL0;k z!sXnH8%@wTzIvJe-2{6y@UVAf&aSM%`zoRGiINOh4m?%4!aKEDSY94z&xncZe?-Q{ zRfV@6>xmK}?Atj3AURJ~RX}jl_-x${Q7_fcxL>< z<;NjN#kA$wLh`;{l|N^E9W$5fhg@4RK#8I5+|AAHOeuwLsKtDQfxqoh@?c!{slogk zA#Y){S8nb83pKlYBDNicPYKpammkU6F0eX1mB1`Sk32TS|*>A+oUu3?=_5FvF>St zc`OfGz#Ef4b~I53Pt!GJMEV{1VJ_!-7M?&!_`eWsaZ9{4*JJ+`CXA1vqQ9Vh*phhmzAU(MP!>U3Y-{C039sg>l{t{4T3c6D~9AsezvA<-+F z#0yGNhO$?$vn-7ko0DOO1hdU|`}lhnw3dZp+ATOwiPQ&(ww}c?s^)v#CWT1vv`MGe-Ka0`m3ZY{;4U3uDTT3FHt3a>_hW zfZiPVHh(aD7xHjpeYRFH<-S`mLkU{P@*+BxB8Q_P?xG5-X4!+1f`Y`>%Ht1pi5HLd z?nTK8@y1($t}uPZy2Pj~oi187*LV8)BWf$J(94NBhUw+x6DY^1)BL|3Y-BFVqffdf z%;?S&H}>;Af^co;Zo4kP$cjB@K6|@*j(Tn}{L3S`UU_5?l6WGOc!6O2?b>Ic!F2`Mwj6fd>QeiewhHI#!4-9%a=1`PwP1(XqZ(;e0NA)Vfp6qUR#y&4UNu#PJh=|pw-!2vKWW22v!7ZEI^1o$Gv zE#6kGI*4B_D5oi&;)svjo$kA;9{h>r#(cRenNsXX`l<=%zU;jrH9 zc`gLspliN)!w&Vg^w1@Qlw1#n!QsIt__39WP05%cI|!q4_j)T8SQ%M zwk9z5>~lz&vxLCw_XKWHkgv4>cip!euP`UYGqXgPCEuFS`8PTiFVZVgjg@=V8-0~v zafSH|vac^)ByfK&bceTk1zYTqTE#hd{+OMG(*uq0J%kr3-1_V*_KxfBfW)u?;f6 zT_IZy03k!#9g_FiqLAgY5(*bkLbG6x5{saoGRt?C2lIYo-Qs<&5~5eGLkq|~(LIT; z21N4@D#}xJRY29UdzTpKgnk_jY=N6uthvK(zuSyvemvbc6(u;4F@V|i{)&!r^hcsX z;~7Ps8jkRW$V3u?-yX_}GtqQ@}2QFt8db?aQ%O0_CJ! z)WSsDxQR#<^;_P`sdn28=RFel+`FuM&_|x%!SG*I3pPdVXP>EHmI<1Hyz6FXbt8PAtKY{gGsq zEDWWSe}cMFI7w>p^CPnxUnPSy%vd;NFidUlp`D;h@Z#qNw1fAqvDNX>(Hed6G4nRn zOh99MqIcVV5u=sBQo#Sz3B*D8aO44c4DLurZN3ljF<>8QEf zGPbNH(@&~bS$8zo$+&;u$$IMDF?e|;4GnDpAvaYs${?1+N~pa)dO=2<4w}51nwz>B z4a0rNHz}M7nj;AdUx^WFhHO|C@2Q%5@2<>pLeHP(-nfL1nY0T|JT4D;`6W2T=fJ=GrSTB1 zOM0C{1mSoyh~sxRja~Bv_D?A9p0QJX%@COZvs%arO<+8!iL|1N5+NlDkzSNsXaEV+}9a>UCtMT=wi8BWYl=U7*T|cjPb4zQ%Rm$o8#_l#GE) zYym)05C7)rN(9Otb4XsV~^~`*d1N6_+{SK2v?!wt?Zlm=nfN{2< zJBUA4>xq|tyw*9y>Y~H03}KhPt2F=pXQsJ=iC~BAU>h%aht`fJD5QDsf#k9Vr;qon z1gO)vJc4n~OGYN@=;{>Sy+s5yqQpF*Z;nAM5!nxzpHY6r0PQ7-I+`w;Zn41KC|?}* zBgXrNZ+wD(6SbP)Ag+2uPg}1%>y)}~X_mXRu0DP&*E&>IR>q+JdOfq>=9x+VU;`su zZ*M+i@*w-crqFfngZp+2x~$th=Vxcl-4U}@;*L`#g;LZi_D8T33}w+1&z*m?JyOd|;M< zoe5B=Ot97b=Ixw|nV_7=OxTU#3gs!FfOrQt4!ePooMH|3FTBT?iw~Bs)B|2NIBjekA@U2M^)^lyYBOY$v&Z4Raxc#}K^cbHY+v z&z6|#WrX8DGI!60+G)k>IbBfgiJF_Qdh6BM=jMBK=V7&aa{F@8`h>HXJZ)8Ve8a!) z3k-$^coI^oq!`P2VRq$2-&BK5<2Se?P*cwcMNO^>;lW(UAp z<4A~!pSDK)ni1oYh@VDLxXW9MKGZVSfi?Je)K)qIOzBlb0)|K%Y?P*AUs zcnRTFkR6miZYGE79F`TAGM+?U`%^YVbVCZwl|MY}Mi9A{s%&hF6aekBR(9ybhxF=xKyyZUU zf9G|fbFHYG-Vf_icsT>_@6@dy$kV2yKU$FEmw_(Wx4`*9Ur^RFv$Fm3{ zXHoxwpU{dxHqbrtTW+Z5hT{>UJn1 zt*FY+Hyf2>Yx>p*Kz_wfQzLF9>=R7|AjfE$n~9Gkd@b0~H?-15lZO9grGqnvT#t<0 zP>`*oFueWk$536IidmHT$BP@RamtKnS{&)DA{{B)2*&AISQ`k0=r>P6%7C=8y7M+6 zFHeGPnL4K6{pYXN&Le*QD;5e?wW(*$UBY>aI2`}If2!H8zeD8G!bqGZ!)r(jyixh5 zhVG9EqM;Gvu`cf1@)KRSm&gb1cTTy%s_SIRwK4@n|clXiY$La zbd-T*!pHmM5K@^cVM|7P{+3VRmjwwy+m5sr9MVpPR0EYH<3FfWK!#e+=kx}->BJWO z)aMLzNwv;)-vK%!^QSNVb4WwDkgy{kkAl=NhY>M_U+o0{oEsW^{q~~9?qq>ePsZ)d zlE90;Z(%wm4fjdBF+#nmW>C}drfgI5k2>MT6vX)%Y=^)6^4K4=cIOt9*{5hx--QBl zV}|8Bhq)`Gc+~MAw2>o#hg5k??*L5Tkb0Nw35~=B84W52;4YBz*%NtA?P5~;WFt!ZdaThw$MMkQelvk8TCU~Vog~c0w zUfCftyNwBA_6RRQ&!Gbw#JNp@8|7 z%`bZY_k;5eeD8aNS2i{-$N&i7Kb^S%UpP51;)j+txDsMO{7PogHZT`nTvRkgQC7Jj z3zOoEG?-~lyPZ*Z4H_%Q`Bqb$KG71yeQ&JkMM8PQ%+Fw(ivmc|;-3JN^jok*%SebY z3&vj1Gp@lfr=7Eke<;WzAtgt2$Q|xEA4f|qE1zy^fS4ZlEWXbn*tiL2jGz3`P2SH< zIC$Md;P~Okr>AclzaG6q!bbFn+`3;_zEG?ac2*TEWN`DOMH20@ z|Hx;Btv^A7&8grflY?^<9JG9(+kN7@QIdBWKeA34+2RS%H$sd9Wt8}%$luccx1Ykd zm=4fLmlGu7!X<T3uZoI`EI!F+Kzv0WK=R0_`E(u?@s$N{8)w7O|~!_j#^y zTxY_|O6pN2wZT)9;%U`87A{3?$_HgxN@a!;mubM;+`mWVw!p|Q?C0Imrj;* zQeVDJ@z0RAG<`+_(cPi!hVE;Usq>hQj*fw8m-*WY&i`R{V-JGYfW;Gq0Of?p65b$D zK+TNTxy?{^XO#AZNUD!`czW;Zim6-Mi^6P|^%lzPrN9Gk#=vVE_<&>DSC8I?-w$pi zjew>_(Z@pdnpNC4b0*XdLYzG>w*bb%hcWUB*s7~u=8{9=0Qp!qa~>1>{rBa}*0i8( z)QXsQhfejrVbO1La!Wd&X6%o&OsetdY?n%xkJqlS1XR_0-KQoj8<{4}{`yK^YIvI` z^4DQE`10W>SWg@)*4M9J&Gw8Bm=|gyIXEYoC0qrL)?ZJ^x3qIT7ytNObsG9?pHV*I z(7`K(S9i0{qwz+4LK8wX5-FuCBF~dM9wQMa>Gf8x znupB(CFL7*v)m0I944nMfV`GdWz`b+8eYs%LgMCvnK48d$I*!MlP*c>uUpaoJ zb#Y(!NOe3~fqW8BuK>MpM0(F-wU!?d9bQl_h}D^OEk;DjCP>6W0QHox_u2JedT9XQ z<+`$$eAS(5@%t7?I3F;+`7^QG^S6eWtZ3xe#+n?2i4Ty){l>AXVc-oBXF-N?2~YKQ z*)KPq9m{NAS>+v#U;eLoB=qqiDSb36Mf>a2hW;p~O?{u2bkuMrneAxXRCeb*h)i zyCNic^|p%W`WWo`N$Cy3sVDp=yJ5gX2GyP~5WGngaLXrnu*CeDhogJ%91-iFcE$%h zFL~&jJj;1Eqnzh<2%)jwHK0mIX+ns6{QV|;oZUkKjhuplF00qCd(6(-J<{&oBDKe| zGrGk{IuHqJSp)bAfm;1u{4h9V&X^%GU(z>jEy=wZ(Cwqj`xaQ;D6h08(wXqRr-g^M zhb@N&G}k_lO65kcYN!5nN=BsRCBk5};z<(t4UxV?y6Ac^$6CzM@l?FoC#Y=CGNoC0 ztde_8>cm{jayjs1W+(f?=kEdvd8#;s0YwR>0|vUEablj2?wz#k?Ioc`k@@apxug;8 z=rXs>(W7bMPtZ&AJK1~rqqFNjO7a6UNJBp%xqL15hq^$LgNY^7bM!auof49-4 z%QIV+vIa;-CY|xYAU0%jQXE|2b$S!;?dbLTy$crBV*A4T8cg4ih<+d;BB5wnExqnD?#qo1WxsWG zi?E`S_1K#>Jrjhv8+cm%@A4b#x1_i_r6Y6HS!3xWXmF zN&)%SH}9rCu;;ONi=fAl^fODDCNmjqfx5N2b$6VB-NWCNTCW8e;R>#rSV&Ok*4i(8 z)hP2=vfJ(JZkyi3GtHU@0`X#R>U|C zde{i54y;_ihG88Ew|sehTIf)@od41 z$QZMfsPR5UFp0hyEdyCYzw#A5_H^r*^O}J3@ykC?Y}<}fd)4Eh#Ywu==yiE^0@l4N zw+TXW{e;yE%KaK)wU2VgBvm_{ic%I??EMA4O&aW7y%r%+W@KY0`|>&xlQ~xG3+LDI zia<^;nK8}pH}06-0)^`c@0Z5RXcy^00%<+YV+xA&D#D#R@L=grMMfNBY>aq_@<$)A zVzoSo6fB3Rrvwyy#PvHAL`HFYOVPiIBV!GiP?5Egv!Mt0do@g?$HIVZ5xEu9`_JEi zJ-~O_tQzg0^GIDn!Xg;8P#DWyj*nJn(FifB6KH8AbWc_g$Yt*Ln)kc$R~xUn_T1Ro_1jX?pb2({JxZS0`zG z0A}#JiQfxCA{$WH-*lf5^&^v{FpU^SyCL|=VqiJ;m_9a<>Wg|2-HN_z6N+x{J z$6Y3m${ueqrr+_%)sx%4)P~Nc>j9b}-nb+)x^K`g{ze|fZhq8;-y_$3goAvv18N-w z7(JXjH%;5W*E~swc(1{lAj26RuNfdQm0B-uT(d4HQg9whx?J%rVWrhke0XfA{&RMh zC#3Z_&FjqkUVSr_()RD&5bR*By7kvRx`YMTL;n3z4s7GyqM{-`hq>4tQ8|p!BZ4v; z42;oQu7EPG0Cs;~^~814>xrteo43!H))HkDFRj)#4>@~Yc-8px8I}YG2Ds* z-c!yuGNe+dQ753|Z4fs4+NPt{d#ZCc;D2feK}sj6C2v?8F}>ljrP@Pr35w117LqLw z6V$y@iskMM6r}?@TNnMK(b00dE8XXIIC~mf*4Ni3I@_xo8~>&XR0Jr%a}e8DSYSaR z0QP2gS0h@Q?(Hdz-HYB7rTs+1x3c&y?enMWcWm`67p60U8-sQAAw}heFZ>lA(BKk( z*G49taHC+Sx`76~7kMRahV7P6YG5kwmfD5cNounp>SpCJ4RVmbWq+XrpQjB%cS7L+ z&MbMKz^^1fozY|q-BqktA8v`>HsI^HmqRP4evOY(J~}#j9ff8cs4_(Php3K<6TVt1 z!(t+K{T^F05id7)H*!hs$B!{D-npc#X9~6=v9Y`QROEqq8i3edFl52w*UZSTeCSGTNT5r^+U)zq@w7ubWp9 z2=zU)rKjK#_7V|#9`?=bawqRtnS>FkF@4&rmEiSS6O=}?$r;(QKAH}@NJiV3>hV3CZ<5J+^^SCS_vv@F8fpfd^_=IqrJGbke`n z$F@TFC${q?quOyrW#1w*DsMW{*#&zbi+?RGy=2Z7GuDD2v}dz+^O#B#ufOglzFQaU z9_rs4%sj98_;3&N{XqTeYPR@0q+g$56}&e>Vg2MDjqp}jJ_7-xVB1Xfp)0YcH(!bE zKSu)|Cwy3PD;QB)R$2>6FI6i)Yha`rTqnezCGK6g>MS8oY1nRZ9v> zUq6;?#_!p-^J_7ieni&vL1~irjk?X>U4=vRuqw6DPS$p+j@t4du)&_8Ll?r)M%_V# zgU?L;KpPJ;%EF3l^rviDm8uErWTqgDL?3XOQ6FM4vtnm0A-)gX4Ru!jA*o&I`Zjds|m2Rx#5>sU_?AL@E6G4PEg%4getq(-AFeuDe#Z)dn$Bl(P&#KAZ@58jFDxd*Pk5;(96f zCrt->+%XpqR`)|<7FP61?pL*n7scl9qrQ&1;9Ye*Tj07s9rzD3*a-;B{MM42f_VN5j@R(PmU#;n*zb^0%( zR&>fg^QeiBdV?$UoutN_PAD#q?jLNyUG5)0mH)?@$y0d)PaW6Nk~#qT0kd~+tm*Ym zJFZ1^_riTa^=T#P3}Ui(O3(bShF)X~%16w7=SB!TW^TaN3G>4^ZZa?a!3I2z~^#*Ln9+Jf`0Rtty z!#Gs-wLDT7r|g?Ib|6|vWJU60|Ngk!@N6@)P5|u>m*=F61i2a_jw#q%38W~aZw<`{JPle#HmmPEZJbcN2fb>Gdm4X`2 zc#a(MGkp^YIk9od^kNv^fr9lCW(XIxbk|Oaog!Q+1^iAs{*hNYxV$1AY{9=#&Zj2* zy~?adL|~UYzg*ut726PUvJ*}lo9%%1nTiWVNyGRC;go^izm8@$86HoFHSp5rcU_mH zQh1%rnb1TPe8zbmXeT$VkLh0PcgKt5v6(s6u^6~Y@lR>Mg{Zi+WVi?PdLkFYlgqsK z2$vj!Ir@T62KHKA_m{eZ{)5uAjR6LrUdCs73Wzc<#)_3$Ecfva!YLbH`y$huXn!uH z1d1HfNwxRgY_MPViL_fJ3!ON5y*bivQtg}A)DiFGbilieJ&2(1RyCVL?-CXX`eJatr$WXzAqR64O(XJ=8tUwU0kfdYk*RT)S z-`fG##VZ4R)_atdDIi()5eNZgr+!;6y4&Y3Q}kFR(}vl_m9|nhds9^Sl?*6eZc&#zM!KH8i;P<+hYs)?y~; ztd9i6tt&Bl1rg7Z8W}rJ^Q;$$zIx$XEmfZ1`$tVM{ea}%+7oL?Vo;VwVLvFzZNjBF zW)GBDU0m*Nqs|C?)z{4-C45vbHZ?Y}>m16dw#H2u_)p9y z2#@*FG9$p>jTA$n@V?j;P+WdS#N#bfw&Q<`|5%*CWS;sbn6guEai44RFC#xo@?Zg1 z`uj5??X&J_31%Vo`Et^>C6hj~b~K6HHpJ4jqolGqzC~J3P$Jh=;UC=;w@0u>JX{e} z@3n`qM$|E=uLtL;US$vw#=;$!nxp$F<-#_w@8qw3GrjQpbT9>iipq5cL^o%+%>k8_ z1b)K456w8Y`gxgV`jJgU_4N{*csX-{+tUV;i!#gE)C8G{!?m*gpDU;>(`BZ^KW0a){dF8>bGDT{ziYDCLSN9;2?PKfn#;fbc>Eh* z%mm&vYe-AcgbC6uNeJjm?}EK~lVKm08wB~v7}%Kn!+**(wDU?#XnP@_DgfT?B&2iJ z+PXh-7|DyWvr+(K&s!eS3pxq@R}t7E{*jzE))rS`ia#%KHocF)D8f|%-p?(b zKldmigy(X)m=FW<3ana1##+S)rcSlu;60X}nn6^uk3?zg{T~Dy;%SpDrk{JzpP$g1Be`_-3sleT<<(~(l)Vics0bRHV%Fy?!spE8~u77AL1 zD2@Mhp}=*d0kh42O?Zj|{79K30{yTok*Ig;*^?+1SI0_^syHAF69q;1c^`zgQL>?qg%PZed!M|JpcB!R|MB4W;H~38Jv@{&9E2BMbk1m+% zrhmnEwal%3G^(cm7O^x&NCwj(?edxhUcTJ^nPs!RC8#f!GE z2+88Oe=m(%Kn2#_e%^UU8~E2r1YdaUr1$(e59O_)(eX_SRhrd4vnE76CK+E#1sdGn;?FcE08e88y;*jU4SxRZ;aibeY?tGO3>jb6r1K&!-vFFP~_JA|(HhaK@ zS%(kpkY(kIe=+bnC;>sJyT0v#3Iu^y8ZzDJn*8aqxXV*ennhjN7KJ$ilYaG~%Fije z_lrY^7UG83f10eo#Faf0q0s4ywj=tb|Doqkiz^tAn6BUpG(Y6U{ zzSR)EKDTW3#{g$UqT7}(sFJ{zh4@Z`{((s&%ggryvBNbg&BS0;gTE-g zqHWlBj~8JjHZW3>k*8=Ac4HW&Sc27j;r9Nt*p0n6Kzkwv#E!Qab9e7Zb2>J?YwVBA zWDodH#Pe7h+$EXcx)=b7^rHLbk{?o2kW$i=M~epUK|NH;?yKVtxY_3Qy^|-jPg|_f zem;3UQun4zi1M$PS|Ls1etxqthTk3;SH)vB{vj8-NS`7X)-NUbz|};>a?!0m-U2{U zh+|EO)oMk_s*{OBl#lOlT1TzBaQNfC)WbjT9Mc!Ay0MqK3>mx6rqhzWBis+IUwcPf zFs@z0_=e5@dt^Cqr+dFoG7R(~ax6{EzUMd%8&@k|+;+Xgj)sf$*V%+ituxH%KeLOofS%70xM z-d=o8G*q7+8OIX*N~kQ)gj2hR$M>b<1>PTtH-4Yz&Ol}|ek9S1{X%F{1ThCWODb4BG(*rxo9Xs}}5_|&U2Z93oV9fYA^Ccw({8h+j5vFy@$4=4)bhQV?Y)Ab*v z7PIwC?eT5on)aTS)c?oUcgIuRzyC*MZ*uI-u}2h=y~!+lkC46MWF?!Ed5n-PB74h< zY@!lEB*!M3?BDCuz54vVkH`Db!+rnJeZRe5uj_hV&+B>g_&S+%YUC~@>D60i{X42 z%L{Y9Z%6(kvgSP<@Z*XEw)er3$Y| z0H#^1XHw*;kPH7^{f)~x>y>T@%s7dW(sYQj(I$KyDsH9<-rFIru>GKkcQ%H>^t@EIBNK|r??9Iu+Ym}|hho0kbYi$uUd&NQh_Tk)V1M?vt_{C{NV9ZsP8 z;aDGadiv{qt`Nml0UMR_=UDyIUsfgQ1&nJwnK)nVTa-nW!;0IKkME{mvb!eGlm7cE z9O$?Tkr8^dS5pyP3PN59)Q3O5zS##h31xCHlK~O>H}|S!$?BQci$AIH6=KJb;gpBf zZRoyex*0x?ef4T8zEQJ_>f}uUr-b#=UnJ|--xmGWT4?292-x)RshSyE z=T3}+9UnB>^n;ab{AJ{%%guV-kGQqi=LWnhk{wN>Z8;Ow49gWtv>5H~)C;LDb9z2p zecWI5a;)n2o+NdqoGNB@>KllAl+^VIyBUEq|Su&Z4R#d zSw~wpN)v%G+OHP={`Q2|=*$O7bg8y){Nws>fQuAI5dGmMw|EnA*D1k)WnL)tO@H-nGYf47`|66Y{xqD-24~iL@43NC%1%K7ggy zAMbIAKw<;Ne)+WhUELyy(fl4Qj>gUFqSCdx#q#?X2O%LLLT+~=Un^4S2}?+r2$-4X z5~d4jpKsNW(Z+xiNPiCFAaoM0YjCieq0V%-BLZ;CB6_Rn%~+P_uD@7&vkSAD-S)$?&uugU(h=X+H$JX+CZI4`gxm9y<&)Z{>z|x?2K(5yuuWgrRV+=auAB@XNcd`p zZPw&s7sl)9yuZLaU{)J-L-pTGD1-a06&gc&NT1O(n~y{C3zjhoC|6}|;!}eI(#}U1 zu_iCDVOYn|)787xE-7)KZ4q^ObRi`+b1`tcuF^j)rIJlaTkl;bh z3=&5~1|VeP+cC7t3w^Jgn>)O1m(|;5G#U)ClYw^G`)q%U^$T?Z)da>*|D~KP&`Fpq zto7vsm2Y)n?7nzHFFEnrkZfUi=Qd0d8%^D5Dc|Ti9Onmc*-GzBjl_L$sBQs^mqqhZ)#bOJ!LIry`s5&%w3@X2kffYG6 z@%-QEjZVo=&5VTqZoGl8!*~J+#OMpxjqB;sX2iZg0m}t5-n&k(*WQhD$qxy*?%4S_ zW$*i$>mh4bL|`4|F%A8sIT98$LZ&H^D~5r4wR2c@|KfK@)A_-r4x?foDNO)6y(mzr zD?pRh}A22IU-?s-HT>gPZqOMA}ewQE0ao@xECyY#zJIv3jkOd^~LMmn4#r zHK$6pGmQ)>^pJCm(YxBk{S6IK9`!apWBv(_{84KBAO_V*+*(`X>KSE=L(S>@T>=UOqqBY!dxN{JK-S5^pFzO z%s`zD=J8p2I(68w&Lp3yv1@Li*kH1WUmttHJ-wfuxG<-x%sy!TRZYC|VSsj>U$WL` zRB!y+{$SyR12;$;g;*A%*n@<$F80u~X1F#|kev z@wiW~SgVXz7FPe5P7v%#)E1%|wSAI`X3FnECu1{-+v%ZuYe;g_sXFfDD$igf+qz$7 zbKs%WB@n`UYo*?W2fW>>rXXjhX=a~zW?F~W+wZPI z6wjh3w;_A++-Z8ap4tsrB{Br@`7uD*0*RaCU6R51({}KdVn>$gt)4++R3XNKMh<(d z=E+G^dlVmp88#zv2VzH`R+JVoUb!xIImf#0h`?Q&-YC@RGTyqN&Ku6w5hyE9c;DduO+%g05nn);(Z!LkQI;?d27=o|IU3LvaB zy?s=5j;z+=ocU&Wc)Q~e>;40pRT@%S&-mk7ar4KkY|b~t0v?k-H==Xgy~g)@Y~rtD z3dWfM$NX3Yb{qVMo-=CQ*U{ParVnNKp6hG-Q|k_yIl{3QDI=-HJnAy6?H0Rt%3*N! z0~lL~W;-sg?fveqrAea0kE?p={a%*<#bLtE6txn`%scP-o8xsig@wnG1}l>l)9>{* z@PDT^R5TQHwQW`1eX3kl&Q>5)&L#tuZIxhZGP1fXE%Rsv_a+p_rYAZlEU6cbs-9I9 z_tmh0&^rk8h!z3gV#$M3>y01`F$Kdt=V!VV?#fvvSd)QLN0qJ0nbvNNKiOhGg^^t9 zs@r#hD5^j6`4I}$vZF(Pq-+bE@e&@1(B~|x$Z&+2GO2&>C957CRQ`$7oU+iUtr=! z#J$VWn%a7Vf~?ZyzkqISQ&Uqq%-#x8b4^ey`9@oV&}@Y)XA9z{zDHS-RTHj5u0I~^ z#=&bs^5Kv7inin9b(+%-*qU#u3LvU}?=j*d1CtVPBPOC}WN?-*#Gyhi4jH+*OrOmW zmfSVY(I(+uR277by$O=_i^K~oPNk7oBN9R=`Ak+gS{@}@spbmLM6Yqu6-4H24vc)9 zY3MgMuX*rnHp}~W5z|M8{@9%*S@nLNvW5p8O;^7qeq025&yjcNuF+dxb4~hCmI4(a z`?7E84e=&fCi#8X(}2SBaCrVHw_1EpNIolm+W}Qx3!{ZccDNO0Rx+m&gRHn(RRca2eTcxY zA4|8VteG)lv5Lai*&YApum6SMK@12-HNY(bdQe@A(6k>c6d&(JQFaTLXIh_Wi*~vX z7%{OlOVl4GI%bu9v*j8${hoD-ejxOiZhqENKC2iwq(4yRqMB=gdD@SDOoeHogSGU3 zMHST9x*!29jmy9r*;P15kzh(QUm4f8K`*d2w?4#Q7g03R2#YUhiFYRod#5mUNw~|t zDXH`KWn;|7{`NuZX@j1~vdL?=P-QVQ6B$w2o*i5G-0pkTJpXbVCv$Z}PiK)NHI+NX z=Y2^!>NV#Gx6s`dw_m?o5{t~f_xXi8a-EH&p>+>T)qC8(a(He*t;Y-pOe1Hiks>9j zg|P`+w%H4jow%_#kZ>l`ew*DsU>NY;WwMf~@dH@3kec-3#S1dH>s!YCwbF`#V%x6k z#Qy`;Tax+ba!JdGhFVJ_%~8BkN-t}IXgQiLmE{5{QP=>y?M`0ntjK@L%Ik=#5nqR zvfHq#=cZ9#HNNpPWieZrp0XirI13_A99v15{{3(tO0*O#%h8dRAma3jhvoVL))xc# zX{QxcZ*uXvoQBR^e)7HkMmClcZ5yIfdfCUt)~SuMd5^T`E`alSCKFL2{vo89T~;oY ziv#9rI@_21Z)FUwAh94gq6!;W-k$1=`Z%w_=C;Hp_3>S|3*zNQBPN6WN4JSqnjQ~) zdSs?!56!KBDD01KzJYSg27(E;=@5#)nEx~p^j(1mJR0r9Mn;iR;&!yj!jkYo@$TK!i ze1-(WZyfgRspeh{@v|83*YZwpA=~18CMfjUr{g{%2O{J9(}ztoK)fhWis3u$#cTevA|4B7e;GcT$dAy{ zfU=>pVQm6d0W1j3Y9cjb`O8=$O$I$Z=>gbOdf&tqDJ1v=k!#Zyw&P2&$VkfsL#Oki z7+7Q*tB`&*qyB>Y!)`&2_;p`r+cjBNeBNJPEz&p1bK%Bt%D0eQ%1r6};|kIeeXC5d zk;Xh&Egz#$y<=-jqedl9*EkbZjV}|AFH`d7!P7A@eEk5VWnyY-8^?)jOc?K@|7xj# z-+&6hFB3Qe832aN2&0AZpYai`l=@2Z%iy?u!Wv4wy0ZBdZmAhwZl1HRg;J1#uPpEk zgPc#_>>aJnQG*UMB*5;J0prPlJ$r%IqoM)pdbs2TAEL zet6a0ARrz%1*H&roNhf1>FGOxN46<^`tI=l!9U>%@Q(yt<;C`=pn(b}wctZwFy&p} z69{53_u^n?v(BN_qF-dS#ZZkNEnO#f4xn4?;m1kxzB#b@Xd3l_EpB2%Y3ILvvk*^K zC0IWNOOe*7eDoO`^5k6#xOf+D3?3l#1?cBw4d+qs)T4kSra@jvT}l^A40e125&=T= z^t3)cIK{RAS3&z4l`eVW32EN)%EzI4AtyR%o5@6_V)*9yMo?mvEyF2;yttu;7XO0Y z$atCY;#UgD;w!vQcCQVbtcl9wV}F&6|HS>qYr!KkTISY%6~7jiud{b#6th8mT;|_i zmO|+-?cfsT15n)ZQ^;{kE`p`j*mcEB-f-vUB10FF=y--b``5to5GKl%q;S783{OV1 zGdMW-Ef_Esw%*_(?=Kb0W56HR2=JBep+lONNKRJK9x}+Ls4_4v$^cl^Ead6!@O|gV;gn|8 z>#_OYJ&WKBrYA~nXCXwA#hun_(N?Cy(bLn@lsVFRqMa0A0Dg~3cTrnAyf3G4yO99N zxu(QvE}MwUq*lJJ@x1&FX#`7XViFEHG1@aU%Z~xYiECcj*Jn$2bW-qjcgLw^YeRY{ z7ndg=@moho)IK&C_Z997v@4cUJ|6P%9(tXKPwx*R5ai_{OaOnEo;CyX24;;XSm&fm z8m|hTo6E>-6CmOVguGPV5+ATC#E|olPH``c`yu97rKk?--vpqdgBve;dhgD+w;{$md=ZuFB*5_)m3VqE@6(OF_^cmx}e z37AR;(oBRe_W75S?M`y#x5V%0W|n1#Xjb8(b$^uY)^tDUX z0V}>e-AY zLTPh*!r;AnsjrQkj4~5k4!?%bT4X#zlAgjnGF{B%#rr2cLN_&}&i6l&-F~zITYbH)+}cm zOU}0^>?G0Q=o%O5=~f)D5#&sb>DPS@tA82Ff?%EosUI+HkgEXt)}`z)5hsh>6o|z* zil>Sz+k+EaMTnT$pNXmkruj1*r0bVvf9>h_dnFY{YoSqA4oqP+#>U4}9zA;0V@UrX zw#;4P#{osa$^V|nNJ4Pc^7f3I+1Le&Ftlh9IV(K;yu9b6(cymDT0CGr=xL{=#)$LH zw#=JYn`4>8wMW+Yf$c4B^PO3sf^K#HT?4_?P)m#4$$LHznUb*#O^9Y07lMgVJhx&k z5FdqK$GU5p8QLN!bsExJ5*C5J3|E~rlw}B7G1$3&)tdcRKPwN2qEvEM+O%YuGe#x+ z6=tNukF>kSyan1Y=C6KHEYAwqc$4aG&427}6De-kT{leCldy2x=Z8~~$-DF7&YbI@ zVIiq0A~2-0ebbxn$jylUbntrJa{TC{=y9Yao&&i6iwdsc;wv#5-BLs zj&JGh<&w_vJr!ybPjJg3S#4=Qu%!)tHMLyVIh5Xo9 zt`)XBRg&8R7j)tL_=LRX^)b$3vY;5PC3;tofPTIQ3eMY;SzxDGO(wc$yxS(8!MfJN z>)h4IZ0&pdNbL@?*&)&0F@BSVl`K;Jm*g2?UkE>OjxT3zI9VV#tLFN+Qr2;t;3(A9sy0D z>aP!X*`4E*-%9i}vu07?`*jQ17s^$X$?hP-f3Xvad zR#NTPvq{{}wi%ee7~BGCD#k5r0s4M!wLSZ1V-pi`k9>S?83917g`ITY5$;WCC^`6Ztp9{jdz{vIN^t5{tYyew z)+YZ{(?i&xk2j31$1sM08**hJ3PTlc?6BF|_tp0rYg!PKR;2ukE4a_4`$N9JjH~~l zI19LtU(z6paRBqM=CO~h!WX}jz?^eKQ!E_`stdqCFfE%GacsPEimq9Y=*{eE3BH2Y zS){S?0i?9$Zg@clunX|Goys(eJY2k zmg~e>CX|pMVS9U1hJ{|09*(cvwn=c~FPOMIaV$xtCMbaW-zS)c9gtN7EPI3iSuml^ zu9e9}?OYioV!|tgB$LY~%3|BblE2-A1_ml*%(>Xxi~dc*Ev0lI-9j__v8~8__Nz~7ICtU3f@?~K^c<-ZdhQQsJw-d4&Q;Dg*};I_%B5jf$`4z} z?aow$&19Zxm#oS1rx8(i_~wWfe@KeUwhh|tyI;-L4l6HA8UCk1pk5_bL3(;f{?$y24v z9+0~Jqh0uQmzLllJa~rBnmeH%|H?o+An)nrb^H_>h(Gns@M*(0T~XX^(4K%T=|EHj z<^3oUmqiC%KmCYf0P5-Bb&1ehD1}XMDXH&HH{~ZeIXPR%C+mJ25BLt-+q4>>6f01e z$NnPr_NVdP0Pe*?#5!>prf#HQ1WOB-X$30ujowj(!YP9-V+1YJs_`|19uGo3$I!ks z+jBB4;BnO)?((J=lWuxuo%!;$U}5MYlWd-uKUh~-H&>TPU_8N$JV0UA|2#Jo0aZgK zw|+H4+6!mKy_XIcIL^c}BPGe1_X-UXs$v#bZi;^rB3DrG)h^CG)xOdigT6}SYdSef zacn+IARN5Pk>eK15ct!QK(P#BM%o2px-Bp~7={;?Qt9jGSY-7!3{>8a<&k%>ec@5v zVa=^&v9QQ?HPuYiO|*0M^0~h}S(+#M{_!{3m7_17+S#f0FGBsuo}pc(>e5RmsH?)i zw>v2=Kil7|9qS(Df#nf-az0jfBOHHF4j~Tn@|Fass;vU;w=>qi=TABiMX|L9@@JRf zATiL$nHl?Zta#9FTnA^;CIlW2U zS!h(&(r|+d_Pm${?#Cun(E{xj$4>vsW`2ipM!@#+T~dIE?h@JY{>ANe?Y`L&jXBxi zYHS5n8OR%Z#~j~}5~c-r`qpdD&p#DuYCexN<^C1xuEdQ9L6xJi)kO6S4WD<47FLEh z?o2*xa+`m;G_MmW0CO#~kTBF}3irr78*mFPgch*{Qi^ZU{}t|nl~Eu!QL2>27X6dv62Ptq6>^pUeK`rLpHiWbSty z+fP?E?+hBA6DoY%%J$z?2}48G0Z=zkc~#cciC`;XM>7@Rvw7hygtgSC6n$ESwXkZb znqqq6$`$YEHuYg%_Zrxp@(`6JaTf}XB<ZHRhZoE`5(N8^Su^Dr}H+DtZQHPzQ<{10dc1%(K}wYw+F zd;J+58zevbH3M~mZ*}Ul?MNcH*Rfmg4|vGC}ggjv19`XG-%uq~@qHd5^*^T$Hy#8$%%8wggne59J7>~# zC~!^@`B{XhaF9|=-RuX8H6`vV_o;I<+>)Ri5{5-vIscE~(A-i7Qtf^~E{UDDizcgb z23nx=M=!$h8muRcWKG$;ad}_5S0$e;B0ux!^3cEJaV;b75oo22Cs4BQx*nRT&d7`b zVW{TC*^0Zzk)Pu6*_|P`CB`3Lr6#14FpD|0cbusw3J>?b@{5)`BMA(wXRDIn^YHWY zcUN}Lf6v#H*a?+|aP_;nEa*MyMC~~J;{oFa;lKXXgxnR(Av&m)&4v+o_p@2$*vC4z z3v&i)56BlAw1iv3=0})<^DY+N1YoLt!;<Qtp4*&g5;WIyBAepUvHB>YxwV%3n-zrBbWG+01ZDj+ zM}HjIFTRPBx@cq%LKWzdSI~OutCle{1MPuaC+733NDaLRE24mW&}!g_$FA~ ze#TAN7YBrMZyxPR%4eB;MfM7WZ)&oVnigqhXW6^B@O67~hvx=7IXEE=d&*=PvRdry^o6l!W|N{<&F>_Xa*E#fLE zb1A$kiw_lwbVT{jF^=Gj_7>GXxuEA+Hs{Mv-%*u6 z!b8eBWc)x|Qeg*saRD;XYwo|(ExdQuo#pqVNoG83{07xXOuf^WyrDlSb=2E^!y`>Q zxp#y~^!+RN$2=93{LCBb&=%~E$M*gj+!W7d1D8VjgVVvH-fEdMPIOsA|D`6fi-KE^ zcDmA1ZhzsH;&FucG;a9c9TF94p29uf2k$d%p=lJ+by4o>dv1mI9>9&eZZ!N0#;+HX2j)L`5(sTXNx7!rMc~1fu*Y;-i`ij|HU*jA`)qG`K z{DgFN@(Zn!W5VtgIx%bSx>HsC{I z!KvnfVqd;|p^|$g5z2bFHD|6l=WIJ;^tS&q2v};X5^<7z{N;6s)I{$7(mce85LLbK zHT&23mv&(XsH+B3Wo#+uE^4<^7_`hzjbIN5RPN!n!Di97fZCl}3;Qux_XpPN+sjgw zDMEeR;=D4?i3CT+q1LfkuUPXT&FEd%y$76;fA;KtA={yAs9NKiZBPUbk_nB|MQiEI zC-Z~_sY95WzY*197c#q&l9zEvU+^`E`O*hkeW6Q#5h`g*7RiHlV!HuSVIWWeoFtMD z40-FC-M?R#Df#B9_cNpeb+#<5HPT;%xq^52j;K7}){qBc4Ck4H69c4fYzvjbceAgY zORU#X96Ejmh5SP%&j$oa-o=qCF#F7^oS4l=H~2QJH%29lg&y`hmg0>Z=7$R0Q7C>J zxE3SCq|E^ddfFKNpNX=6LPwf0pwEVRgM!}RAX(86w@K~3Ffy6B&4cC)_smFCx@tv&`<$= z5~oiu@4lTe`oCVS?+%I?oOS(vLnv5`EeGZT#Ls>l9Pa$lIhXX9J9l&lx!-9bbc;8Z zHl2q*xWntEBF4E1# zeI{CTxma@M_|Nd)6U4_~!AejObhwE@|DG-Zy>e}1R9VS4jMa1%RYMcJ1B z^6do_je3n5|GhV4BJ~Gwq7huy3uax3^G24gWHc}hLN&EGtkd8opXXa{=T4+}M4cQY zN1a!^-UVcVbS#P19Dzc>P3ua%E!bV{f6h(*a@LZzHI zEVXasMjLJ5MpbWf*OJxD$C`M28yPFZ#SM>_Q@_`L{Zk`?AEfDtf4;sBCDNEGvImVe zPYkX7nPPM&#x`RIow982?W6Lhi(2zIF0ev)@xpRS5Q z!7fSS99K<2r&pIHHM$H*Ovd57cdHbVmnIYYrj5)p(>2#2O-o;<)Q-_@oqeL*^T@=` zSMuWqJh_#3P0ZT^&l`IZE8qXN8~o#iyg*Nm;>FxYUculD=J@AiMTsF!(j>KXY}zb6 z+0tlX-&bD7zF5B@XoT}#2)zBHw$!{U-s(Eb^Oc{Z1%*9>h93L_G7MMtYA++=-C(cmu z59--^MTGdqLN=wEo_A7?l9xW>c3~6M%!!RV#Fhm-_h#X7WE?dy>7_Ck=GTvhQdR&T zi0hBx;RnB@jlau{zyHir>#)SnKb>y2Wp|UqxXy1j1IJ2TT5D!-;K5L+o`M#pOHB0f zSD$G@j%U9ScyLalGC4@yh{35$32ZcWHsM_CjQB-m5!DS*@B7dO{mL(!k@zN@2QrDW z6b~~zPQD?U>eE6v949}9TMlec@`PcRfR@SQ*>4S1)z#Z%24WQl6EPl1FI=qPEC&nEs zT2ttt+Z`peR8)rh8#N<0b6Yf|_J(e-!8!3(^cxZ!%gfjzWs_8%n?4&#wTxM`Xi12O z=%HKGXMgmjdH^M;7gLm;xOZR|by9Wm#$(O8xkBrX^*iEY_mdL^`FZul<1aBQQ*Sa% zV;NgF$ckJ-&!=BWp$5&JX$rUrj7w_W*M(?;ev9ejDnvAgK)$~1gt+?Dpgju$MN?RQ*)*9T+I+}4U#*X`m-PTD2vA5Sg`*utFX=EY}XlqN*Ox3mwN`b0ev z{YW<{S?eu7z4CPWQc3aA{mKh3>2beF(q0tG<`d$gsb_d#z)$SO|iQLGrY^m1Nz=0$-Fnez?Df%iv5jqMh&gg3m`^!$3$+_u)6^^!o zJtY=qk}0e2$u^z*;3sBvkJ@b*4f1&qXgP3B$N5IJ=^ zziMvNf3U;9KLpdD>?a7&_mb#hH_nCk6zeS@=lsv-0;TI+5bs>6bBRF7 zrgo)!%m`s3ousNG9d`HI9!*lRiSh%%uZ(m1?5RPWs9o^skJLOBQNDT^Hu zbgJsN(;4r$crH@@@0a+8Ob&KHIoJqG?=z`0GT`K7mMpYvDfD|wslHaN%Oys9hW;!p z)^994(*AKCy=#dYRm)Sh0A|L8yu7?IS`YR2f>Nu2jI1u+F{{mc>~mfvpMuR~i9-5w zNABDzX?nT>oD=07#)+roi>gix%9Y=U0I8YDLQGxPDOs9oxYDpY!1YpNHbdMlj8US0 zSLMWC%DZI4(nM6={Z>GbRL^Us!)Lm;6w?;6KwqYJxi0_z<5NJ4LsA1u#bc9l=Qync zpX}#6QBZN<9Nc4_ZKQ6naIzqP!$yi`pgL+Y65C-E0Bi~+l$N9DXJ9OMJ{&J{Xu3cd?3Q$D*r z6Io2EWnQR>m3P5qEh3hBAlPKT8>^&JseT%#!vF-45(CXLDbt({+OxfB?%|78hq|Jj zF0yA+l@y<)o=yK}V)^&UA^|r;A0z1At$r|uoP!=Vo~rfWPN;`dQ+=`(&j9B=jE@gm za|2@+=ki8R?ZFz!b8VM~>Fdtu{OxBR)kQ^0p7!@uWbR7E?#-Dg2i^)e(=(dutF}sF zGpqon84G!`Qd-v=AN6^vsSJ43$0!6yU{kLXk@Z=l=UT={(uK1WOviH5S~?gg?b#G3 zM(APj!{CW=l|S&kPpPg+=FVm7(hYVG0F%xUS1?eW_LtTDKZoeo4}EGV9KATQlyozg zU*ig!K3Vh+*ZlnxaoqA_9jBzAovTZ4vve+0lyxpzBhIdO&vF765$QJK4o5Z1YmQnv zy*oWzZN58sDT`&^Sk(|rUyAdl(96fkDbF1pgAw0_9(?FcMwd%DdAj!H=JwP8q;0Yr zRf11ohlZDJw~U#uzG2z7`%)g_7P`L*7EdsORv4OxVGTtr@Q-m>BedFXewU^dojM_4 zElateV(zQH{Quu+c4ACa>Yvy5qEY`Qj*~OPC8P4_R&*uSq%9jv;MR!ukF16a6~jno zt>yOYGkxfVz z^yTZ01uObXZP)_`z8A2}b7yFUYrYHBph}9!+_?X4VIMl&xC$<#MrRnk*-^vjG*L^+L+hX+Q z)p`M~K^2u;xZAhp?WF88q=%Ev%|E6m|B70{vZz6(+_R4^cDZDcxmvo7HGbNOUqhbq ztbbq&^SzgZh=dYwkhewM{Gk*Wqn*oJvg!S1Hw3jWL~VU-?csK#a$aVvWoGmqrSp9I zV@l?@!N*3-`TAloJQ#O|{cPE{%S>%2EGFy&1`f>Jq0z)rl!74M8e^p<+io&Z&@oh! z!HzaE$uZ-`7~R7D$Y^%N%AAmqX+faW`m_N@{zP%l)p3I4)Ks4-HL>16r|j52zXbRg z9hsAHjI8mw=DBy5$~tw4KOu3Ompt^%@{;;l zS(y5_FiNvxK=Ptr+ii=-N?95(?!R=WTMT>6y)4BwQg)0SjPHJ(lp4YFq1pm-;^BF= zVG*nWec}4)FJ(EnA)|M}tyt@Ao?Q#T^PsA?dBNAezi75bSXtIda;VE6_ugfk&hCxo z{3&Q;_Z*qwT^EED-tcWw*#{+!ts~xo8)1O17u#wW35d^G#TCF46_f`XO{C#-CFY z+)v8kld1u)Zz}|1tlA`t?-P4-e0e~W2Q*QMH)x9oHTR_s#&k_z$Ca;(5d5FVX_eK@ zF#qNYrTr?@EB)rjfLKb6fROOw7IY*_E~@_CETc|eRpyOlF)|KW{O(VGs=_O`_s@vB?&=T`x5(RKyUP6254v)vfGVbWmXF@XKL~dq2xlVYkDjwUyMO%o1w4oNm zp!EE}q1~-)-|ta)pNW6F)CzT4;gq=dO9a9L;4E2oco0kP?$`neeTaco`-$r?fzj#;7M)W!X^h>9J#CH1UNbN^`Y6A@&^QhXVNC)bAPHvA%+BV$js7RnLFi3;+8nKt7?*1VjXW ztiQ+9!M08c2<%5*u(<{+X&v+sT`m>juYDKF67te^c66@S_^`sd@@FGhO(I(2{OC+Q|yPUZu@f zh?e3!%geNP{PsCaqdKmBpmf~_dh-(Q@zM3G(s4w)>NK*hyCiXQx`7C_BfT4x(*$5n zYY@y*=1imFVMc=vG_5i@EG`efCB3G2I7QtW*cF zAD8A5+aum~g_jp!Za+V~bGF^ppUka)-5CH@Utk924mVai)~p4q32I`#6rhK=Mh8|s zx$G%ByCpoQM<(koYZk=0Km7`>-FQ!tH>$Os5p4PtlYeqS(=wK`V`h7xTkh($S!Fq( zvi2P*RPF&oULhak^7QnmAS4<1|O^6G~O;wcm3Af5roC z)Y(G>nKqO$;^cI^NeT}lb5N)%Iu2zXkr~iLWZ`NbFe%2E=bp{b94k_~T{Zv9%ta7C zeL=_zs3ywR*4B*b!E8IG-{D5WgdV|V@FHVk#DeTDIjI*$3itN+$RzF-Lu#BB8C*zF zh6}owiuAP=EunB;!{P{`3E=~W!cSxUmEMUbfhkG`KWy7s`pnjd?(69t`aF8{u zG)h6IFA8MD|5qd<7C`~zO-gS+-1I90mxWh;a^bd3_YG>FD5OW=Uw@d7$kuuEaneW2 z?cxyJz!wQFzGxz`m$fbY(KeFElZOdrCR&MhYzvR=CsixW0-7T({Ng_Y@+C#2 z$c*8bb8UL^QlMwuY;%Oxe+T@Af`PTjwZVG_#k2o^Qw?=lno)z|KU~*SD2RjMMQV3c z+x_ehO?}JnDOY8~u1Z$3+E>6SguU^Zk73Goicw#D-jKR$~;$5A!kDRurbr z1a}_^Js&f^)PTu8xr7Eyr@g+z3L(%g+jOy&g zPy3631F4g3cw+Kj(RQtY=Nl~-H@DiS<=*Z08&mbp#{1U$OOvjvpZ>4dY=XKUe3#;q zx5&VH&XzB2*lg|irsgv42Ap9*W67sUaHcr&q+A`e9y?&>h}Ya67mt>4Olzah59&=% zPrruRAka~-YH83psCMy}d(@v5F<7bzh>0_OfnaRnZv?R64+q56v}{(d@X@q2)29`} z38zj;a6e8s>;)G$h|NtO0eSv}1c*=1&dh}RxHfVmNK-$Q^Y5LOF-}ysy!ohnC+qQ| zPNv<`77pCxY{F1PWQQTmXr2w^5-JX9a{{3sc!S#PX))z+=vN zTA@&Q<;?rTUF4LpnOR_4d%ILrF!%cynyZ>p=U!63dZB-ur{56^(D=ZOmC0mw62l|r zR~?m+kwNL9XRa`A0Z~@oVX$3nCx2al)4HP>NFKK8I_JCa>?mPyXT5fulLPx~zevjT zN$$h{N8MY7MY(qG!-AlIG$Mk8DBaRX3Ift4-I6*q0y4yajIb3El|evSr5RGXK?LdU z6o(pM=#KxzetyrR?v3yF*AE=y9EaZA*R|qYYn^K?sgox1b(|VQ3fAJ_$yJrVUYf1{ zP}bI0DZ{ey%21aObYf34(;dEyI`J%i17wPr9I*Hipxt@xI=x;DQ!aP;+!v(*472nz z!Y)|IH}Q;74Q~d&eZkSNuEEnOh%;AfD?ST+yO7gLd-$KJKfjw>mQ`HfKDKb{yhSLY zA=q#j=XBV9BO7_m%dy65Ywsu7G-W%s%G!VI*j+~6^lj2Yq@CPN&ypVQ5{meedoo0z z)I6Yj$h)Va{wX*l#CT6*0_;!rFL~r<>drytsNV?_=4%6}{w~qUsxTQ!A?-3x|u)aJWG7N*G9_(-5 z1upkwwmmjvSUm&dHmmVF;q$+O6-|E%he;F}8gXWy%HR@wt=RkSe7!XVfso~I!N+~{ zM%I?>2Koj;-;RO5yNk=JHDWX_%dsJkS>qM%J%VnA+!rTFgvKQs2iewTFAF4!7I)*{ z<>zRhXdM^6y}pukoV%~4+gW_;%UA9Iv6xy1a!m%pgJicYxqX)L$G!&Bc+~DQh>K!r zR@u_3dxT~0wtDIeizi!I934j04QFJP3=IuWK*z!o5|l9cUSax)bc_5mzPOMNx7LHPspa_>*ieHHPkh?YeRO)a6UD%^RW3WT_(#=u81Y%B zY64Cs#{a6f%zk6i7q4WnTWkhpc%QaDRx1EpoH*Mm&2UDwA#8=o*|OwtnwLa`giO)qcDGPIyPZWJrgEOaUQ8xmFl_PUy!@7L#*poqSN?H$ z_9et3;(RVQd;e*CXB!@{Z!tt-^F^ECuEHDFyJiMPyu8Sd&3E>9aQD&7Zr(QWGE&K0 z9|r^W1^r+*;?+rpAeU~O<+MQ-T>i8Jd|%9$pT))TKjVnX%gga`QG-KJZiV2|SqWK2 z@8$T7$Cub2rr67iW#t(*Jw!9`HQ&QR3lia2#9XDJ;mFO%pk@u9=GG6L&ZO+{dMmQQ zkTrFZng_qMSB^TQ58aH-Qy<8}XYbuQ(fLcsKkY%}me1b~oCi4Yt%f`eTf#12nGPhM z-MpVD8Aki<$N3-c1u?+nrD6PKVNq{XjttD=f?krW&;PT1=l?_~Fz(bjsGmqkiBaql z23`%$v0-Bdn*2;#fTuyWPX|nEQ;sEJtWlJD0gbgQ@Z+uCeLzD}_9a6nEf`<|Wv#zT zK51v@_8|iuxe1(}-OQe@DSGNF1}ofeJ8>`|a4E(|EWkMs>k@np!=*wIHPL{WlE|Fo zpPsMv;W%a?^zodQ>1Ab`%^O?SFB-t!LL;~81J-X|tsMcL`p6*Jg5n3o)k-xD&%{!zG%JpMvq-w%RqrfCA}-@4jB~PB=KAUWcc7L}s<@c@2tbXSfEaGS_4H*eEdP6|l zFFoPNdJj#Lk4m!q#YFE}Y9B|e|IE|+3CI7Fb+~?V3d&Dvl8rTGa5N2slYdl(vv9&K zt1c(7aotptQ8r=sRG(GpyA}~t} z$yR)AYUiZTYwnI)!gIgLxuvpmgifRvu^!xc%2azWf_m%IToBSHw&MGpp!NcS$N5O+e&l@tu%nVve&ut9fe4Yqm#Uo{U62SD=0ezcf z(6^nP2T;)fB_1q7+j5_3=l-C%s`3Lr>2YU~y~A1W31KOb_@y0O2j@>Fb=$TrF7&N^ zEq>l^IANkxk|q4AsS(%&stM-?E!V1|Za957exSAG7O$K3fq^$i`@`djD zy@dFRj20KdppIdhZrnQ*kLg%-!?D?2T-!t(;_Q)NXdU>xE$xb-t`6O#54HcQ={t96)cuhJ(LYA8l1|%UWyxsup+f_bV*6C;#}ZY!VXJnqIg)ue)79_ z@3dhs$4NbAqS}u-PyyNpdkkH#4|ekBIh~_ldDL?&cZ=WLPz`-J*0CBC%2qb0C&kIh zE;3add|U4FY{T0Lkzg~KjY z5*NlzvU?LC1Wc!Yz#gwF6B{Oc!VKe4als$4;xKUyVxY6Fr><><#tjFq>#06eC@QP%H zKQmqu7w)VEui!$B;}##;fNYx+4?~Mo@u3YTMWK$f{_utTEv!~khn6k>7yFLyN(v{9 z@r!qFhFqW@)gZ~Cm^_>nap&a$xA^NT{QX9OT3DE2l;WL00;;6^!i4Ed&focJ)D6|n z+l%33uHLNq+;EMkg5PA?GhsoxXX;=(MbZi-eS7+f&0#5`(7AH$E2nembTFsr2{BFi z=&l5p?XmD8TJ+n5zm`0Z|!YZamH)O1cqK|_IURe z!l#oXk~2(}Q)f9KlA_PtIy`r?*spo<VR%4oSGai#0UG{t;o=x z_Y9oGKePkG|Vuu-VN%Q5;Bks(pH4>(Tw;ch0ENF z%M!K>9-a1p5baev9d=E`7E}z*xPwcid`so$xV&^N_;Gt$Lk2muda}^!H20&@?i87@ zY#6X?6t&z@dwOkl@<$O&HN6mWu)Qo9;Y}N{W&~JR1|4PGpIj@SxjRlzh~t+J@WI4$ zYhK^Rz*dU-za9E+BRdbwiA&rjg$GXTLf-quUDmXCfZI~1ms19BHLo*912!3xB(gcDT?>(20Z*Rsih=cf!7rcvpi-*UdPhO5becBAo={5thi6> zuP#SEd)S+oa9gtUtHvJTCsFpK+AsJnbXTTbt6^?_sF9ByLZh#JE~e%=z4pN5VX$Q9 z2o*)Y9Pc?nLmYFpFw@ZG8)M3{@A8gUdo`rv%}lK*B*mI$fe!t{B!Rz18(=l$Jm1VLciox^(|En@R<~^Ap}wEA{5JjCpV(W;k*`PRD|l^tXan)T+`OZjlaDY7 zLI~iO88|hUce7U&PgwQh=coyXZx$>|4peo_c=5qrpewI7z4l35%Y zs>G_#0xSpbrysm0IK)038E#D+mPK8?N>8IJUg$$(1MyQPAqZX)Z!bG}*)`u8-Ff89 z;WScUqp|^}w9dI$AZgvL9zh*V8*fd1JLGr;g-^I}EvNBPShIjuXT{=*Wg z{X>mKKCfLM0jEmy@8jmUTbq|9JAp?c7l@Z_T$1C8YKdG%B9SFMyHN4zZ@x4Jp=MG= zwD3=NZuicYrCRPa39{MQ=eY-CaeBUg3bP;T(1Z&pnwL+5UjGfTS+qfQH8to&+IdMH~@_VrL;cPd_MGFcWI*Y z`s^+pjkb5Gik&fyyfE^)q`-tI1g6zw;1ri?2^HO`oHj9kFrFpImspz48W(U;67W<6 zT%9Go*MG>^+1Wj}GXAzs^U9G(Bhk#5`W2sKMb3xp>tpZV1bb{#KPY3|5X-HEwarzV zpr#3im%y(>!T1`IEx}}&BbHN0wn#Q$!%>_cSL;hMIP0qX_2!bDaeYoaVvtSIuwx&` zIE^i2sYr+n^QtrX3`xoXlJo<5@QA=SRR-*)xj|!w`9!uuOk+N$^XT?GfdWmoV%lax zGtl31urZuO*lEnb3^oj*DY0`UL4K7BA>JZ$YG-;}@k(J`2n5-j)Cn#ZFiKEI6un6n z`@*;W_dCH4U-!g$Z+~;sp&5Uu(^+{6^pa$9^4E9da|Ck4GX)x5;D((ZvB|hQg)8Tn zcZMEBy@}{^)-2xGEis(zl)_Ky%|f3WJl?BPY^r|EvfAaxah5-5<+2#^hzazA;_}=L zxG+41S!nGW+$imNjHlKUAPG%ycJF}Im(?hgIhYQEH8CT*8;K{C@ei%nzBe8zzM_rk zeEnR6>=7~nthIRXDmn7P+86|a+m!zf1%DORmNuwIGaB1#1^GN^O7<9aYfNI zov!ex<%&7?%HoPMTrz>lCvYY5^?Q7{EJoLN(BH+JldbU@8Xx{pn{h&F2;NPbh6V^P z=!*?Xr}#VH=!{9Y#vFXp;Zu`d_xK~wzo25<5$8>j>rM$4aA}sTLqk{1+I{PhF?~w8 zJ@ckF`fh|n?gja{PlR8FzRvrmgoVo@dwtRaRqvs9Jkh$=+>V9@P}WEWiYgT zORTxr43MWDNsQ>kjSxadQUYMCvOyTf*6;(@Ofkg-RM$E;9J8*7fLDuSYVF-_lWM#!4PM6`uxo)7_vB4{E&ed5hm91h9EG5D%Epsw1tk-?A{wj)=EZmtpj7EnVN@bb!S}HvQ;DnuXqPm6c3h1f%O){80-LPmv=>DuL^U z#+?6#eFQJ@uX=`QiGHl@!!vPhq%3^+qbgGWJ>oullrv-lC^KXH$h~Uu#w{=SG@g4n7&VA zzk;J$Fe^4c9D4ZJzf^bBJbI>c%=;{D*SO5Lw14-CJ_nySw%{>K`W|_1^npkFJu4Ta z#)4YpbA@FRu^s7;mAkt$;X84#3Ah0f$^!Cu)Q#SUS+aDtV60_kmec_GVBAq+&~2bS z>C<#Y41cUk){|to5q?RJ6%R%DH3*znZ#Nt`4}?rk%KFw9Ap;YA!wwgCSx2wVTL^}9 z62i)cpAkI73mUf{)NGF3ZuVt3I2{ZPwesH_bMFizvT4~S+-TvMQw=trb16OJ9@s2~ zP{pU*c@c%U@S&MRO+(R1!S{1a0tr*bT+YeI)I{^`aVNC1&JPZ_vulF)$eDW`TF74- zn2tGTm0~o6t;>M&%(S+Ghq_o|qtF??+%{r?ZqNs_70+Eb>-t@lyD37K$CnPUn5V%A zBdeuEh>mUW&Rg_0x^h`6MMqY+}7}A%_#w#Qr7mi ziHV78_}<6ZM2)bLq9Tul`8@x`we-bF#8>wY5h4_8G%WnWX4EZvn{kh9$fr-O%{OS; zs8Rx}XwRi4ONOg``*Lh0srG{M_+tPz6%*gF5r;HiogUOFgMpt)>TFTx}WA1MW* znZW_HNl;@|aWp2GHmR}(pn;<$ohXY?j;i981`69Epzvq7Gtj&5<7p~vlxPsBK{XF* ztIex^UfmYHR6gxW=@IAB2GY9SRnvtc3gRxT6DotsXMknxs1QB0lMqAW5B^Kt2cKWq4S`yu=6#f|6Ugegwvfr4DF)4QFuQW5XAI=BJiLj4}g(;Py516A~3t_I%h8R(KN zsTP4R`f?i4eNf-48}RizdDu6Sp5{a8uI5Udkaq@%YpH3WDp0qSX~{d2kHvQu*6Do` zB5uA$+aC%cAe_vSB?SpSjzsQE081|D2VY%E_Py&JcEleyk3V~H=mgJ(WO^V6L%2ytdE)PDbxwCTnGv$b8LFHfpm~?iQXF`t8nQxUu4V-PV<= z%842OK>SL6)P#u~d=&(1S0G12f~oFyuy<)cr%YG>x9&-WpbbeJGksBC z^R4PA`ZDYY#@7~Ev`#4;9r<8ZqsA;*EhdXxe24C|H-y3sAvu*e-`MlrTiG~%Xq}X@?5*qYT(az>3p)^?N zXWC}R@l{wt99?skwIJxL29I5?X-crf{d=DAhJ8|XyaGB_G_JTic!@xipX3feta8@} zePxlCt1rE92`!gqq^k1*vk@eulPcTy!`UR;c2-N}+AyD%Z1-fqdX46n)B;A)7@r?+ z6bm$1Fl8PCbuh{^fNN?7@Cbr_Gm^{S$Sm;kgO87oy*F!1WArN{%eliw%XVIYgYHX} zd5Ux^jl4Z5VM*D)O09eoO{36|T@nq8+OtAn&4%l2Ynm}1?!U%ds+QVEYblF#_4+0v zYDCK+Ivs`o%7~sy+thcE&*kZ8S7cxH#vK8?Lg%EleNI8!+_oUv>eY>&vPA5D#@a1E z^;{%;*aQ<~f>zu7k(nmdAf+f83pZXU>Q`B?GoGFNtOLYqR}kTh6;8F+wuj|q9cDF&mz{>tC_S;VHb?$OB?rtQ&Us-vp;?s z)O(5yYTFS=^l_y72$4l1#vC{U_5F%(rCc1OZwbNCPa8@&u&4W2 z*{~h;Wb6PT_0HY7+CS%nV)9^O=LIU;{mci-1U{z%xv(cXiCTf>lZWk-4o6_6u6}oy z-^D7icfm|MYpx&#)IxSINtZ_~6K(|8x5Goy6i88QJf8zjIw00bv>oSZ@!TG7+!|~5rKr=xyt%1J ze7qVW-S&q>F)*wDm6*ZoS}vMK=j3Dw%fTMO)Lsj-LRR#1cFhcIlm%x~6nfP`NLxcA z`^M%X27|E~mx9{SrL5SU&~LX^6`Q3l{U{&TFkN{YV`hBO!1E7>3FfXXW#)-|X~@72 zw25n^qIja^#WGLhXrKE$VuR^&`rW{dAmqAG)E0h;8yzt*acarHF~}i16(?FsF@hW{ zRSYc3ul#BqU&H0?I4QsVX7^4>uLAPUeycw`&>bLvjx86ZK$R;=$%jS>OjYH2TFMWt zy}+$Kr<}UY3AJPH@ zuHByd7i#=F3715G<1m)>ROFjnwl5YGF6e?#VJp)g3<3@X_S|#pgO?JDp-M4b28EAk zK$fHQENLx*-uZYJ=i3d}w$;Y&e(C3azda&*1t(?fS zEb3*=q(`_*!@5Pz@fXdMu<7XN908|fu=g)BLi6b0y~3Mmx;)Q3FxacaBGM)rco+LJ} ztj8tyWFAt+AWb+ohZfaxxs?S5$zstv+MXbcP-83h4|cx>k?_!WEA& z$Y747o#@0yP!2)b>gw5-Zh;N#Aj`S#G|hnEUEU-Y?y$9m{{DMp@>sZ}Q}5YikvPUN z{FSVXdLlLfjaQU`1CKrO)W)RpKpkC)=%#Nu=T9CG-g)xE(W5T~uvf#kMgYHTl#e;~ z%+xM`1vHo9HmKHmhw60nr#|5JRQw3O=Je#P!v4vd3;XJe-^&OqdEWP3)XSHVMY=Jj zE9W8!<%d+1uuZ=2H~W=%YI@#Eq&KN*^ID4z$E!C3WAfWU;10$SJv1n=R$3{F)NDH| zDms<#-TSBHe2%bdmv?=!!Ql4}(qIVSQ;GMMCMIyI6R2Jc#HnDXe#<8WVjD*y7fC{a z$>wq#lP0!YogN=Fn}_rk*|v8{O%3dTyJXDG9^}#5O+*&hV4S^yUgP#7lu)vWRQ5)qV;aIjdl{2PPf*?cx|rr;uqH_9ubd* zYwsIKDIMwQ==5HLTVe{3;TcE}H@*(oeN6wQ&!c$V{7ioXa7xc zaDw`LY<{uMAt>kJ{+;wUz3S<@#KmsPdlEYQpRQ-2uTgkv5$lj!_ zBz~P`BP6}k#Zi#lY0Cjjvac%V--<^b>YuGQm!qGY)@DSusMDTSs`O{OrfLv9 z)Z)xH?soCA$!NcwSXTmdFJe*U~g-2fgvp(rA;vq5m5* zGx1?BY38c3;Ph~?%4quf*(FtA1p_lL=h^A&Ry)!^X2wG(r@R5U;MrJ1I-<5tDX^7U zleh#_am`rKI|UV6*P4fEh2qf z=u&7uT8AJ=@TxrXj%?}&kJ?Cp{x#8ln$Rc}ItDzD8kvN#KS@dYsg!WQ&PyJ$Q%1{Q z&1buF7dj})?s5w|@v>7S&;V1oaoLF;aL(^h3frAW#hzMbR{pFgoIt(cn-aq#Bm2iC zHAl-J^N=9LK2&h+fnk%;*=qMl7Pu>x2?dP@95{GXSIDH=ZrB5K`$8m1*}Ra}iMhE2 zfpRMq8i8bm-)!K1nUpKaf)ZP#CIk6fQL%E0d?6rvbSoVv2s~0J+o|HBF2H&tw zulo)!1wtv1X3)$Rgr6GBcF}N$;9%tgZJY2riYLpGzPqc&(udO|2Zs7l77#F+=4Q4? z7r|d=$JPX@#^6*R9t`+=kK&LS+VXnx>LUKNoMflg4QfyMx(u#byO}tbEZ`WTJ@8BT zg;u?lay-Me~0QF>o1nD6n~NE00RRaP(n zc7`ubcWQ$Gu+F6ILI33Y#^WFyvW5ku+>tlKioX!Y>&`pM!OU%bV_=u|MZ9b%8?(9? z%w&};F+wB*{k-|qP=BbcI)aDvB}8jZjLC&Keyn-8U*FP_D9o43>I6)eG6rg^hRm;4eI&J z=eNBh69O1IqHo<~)C=a#_5p=>x5S(=A5Ps{iPUG&L;e=*z)K*GDCgtd(Muw=hz9Q7 z6n-TLPTh_=cQ;{#tl8&%f^i0gI`h~ELf7DITRBtHryU|g$HJBaWQ%6+dLd}XZP?!C zLhk{7$s(X;EiNqdpJdhSXW=*e0sfqZWd_z<+Fv00m>9D^lUOKcl|Kpa3@ zb*@`<=CI4`FhdlQuJ-US>erK{wNTzm*X6;{MeT6zjAVBH1^91=RU=}{uE03gDJ2% z8;7-zVwXUwzmZ^7?=q;0CGLDWtOiMfVgT6VEXNrqYK|&lsi>Fa8Rxpm>?LKHqf{;(9ZZse(1*`I2xNzQ~k}QNS6nP*>v%=LH5LSqi;W^gq zNid_DXVHJ6WCkGPksZ#ObGeT7uPLKBu&^WdLm2#@C;*y~ zzF4p#zQ&4DvupsrZpi)KTw~&r2XX9mddjj2&;4?g5_IzK? zO6Y2>);8LJ=C71@W!B`v&Vd^va=?OEC*|sf2PZtq{b(GE(Ts5I9SRq^xmy?>gFK7L z{VnuGcY{iEA{^5>9OI7|8)5OY!3{uh_me>mk+S+By&DRTH1#n>=BJC@{fI~$Rw6ie zqQ2I}4yS$IFHg@&~k>qyR#%M?bnJ!6y?(9MGHVFmNjS@V^#hAn&H`8;XI47Ms zr}duRQLep!mq(LMQOjU63gJo{9I%|FaI&$lA7847cR^oG5%gLa+Xrk*q7mb)@(EbD z-k%iJ9^A0n=k!jIWgNT`b+;ZLeCr8Ie_iZcxG0x~c<6?PXrP`lc8)4Oc0TnB5}os- z7BphbzEGzs4O2p;=6w=_iNgIA9-E^Y7mQ% z0%pnc$%_xU^qgDuXuwH{+aSm@Vnh zAvgW8w6?j*L#F18y$Mr5Xy`=7@k*AwT@UN3K+d-`x-qme|K?tD%Qay zg$(-i$$`izh7sS#e@h?MuX%~|Pd4eaWDBU7d&n`Jz|PB0z^1AiWsTGtxx9^5xR^@e z#=MJP;$G>a5d-29?YS|$Tym#=3O&lY2{7!nKC{Z<N0w*_6MD!7R4+tB; zGWB>sX|0J_ZT+JVoia>8rGrXs?mVTae!%K1Yg0Ib^UX2Cd+7p+wOPzNnVGY-oXL91 zsfA^Fresc_iIs9rzSQG|8UwJwv>#W};y@vMV4uCJVuJBdJg|;01ydV%zR7>Lf#GZ# z=l_Woiz-+MMWL`j!LF&Vh{;JI9N#&21qNu1$(nL2#=6`(Vq?mAk#A8ro*-XE{UPs_ zyI9M)sF^0BAIwdg6lVZz$s`9}gD`7c6m-tl+tZ)R3UV zogepr`)C{y&q=A0ZtCNO3!m=nli zD>)0Z1V@On4(=O1PMtl`tB>;L%OWR?0Vj3~IDz*)GC+vb7WEa+=MZX%Hdi21R$%h41+UySCFZM7FDF!t zzMb0$A$Frpdx9KOMeBDeRG@eXz2+?nKH*%lb%urm1Lqwgb5 zE0k4q^r}dF(yK+}EaOTBn{=D}2aA!4b(=)wBzv2Q|Juj6o^794=wQ*H*})2!M%N($I=&p21guM+J^iC$lu^U`Q7w5&g~P|jF~v{c zCY9QvkfmcpjA*cVTtW}WW;$8|H#=Xp+=BrBDah~Y@oy0!tN0KlONHJf- ze6-WD!QRYP?ve-%cyw#Jk6_UTM_0wb3)hBm1HT5OoA_YSP=;18)_sOfSer;Q?V|ol zO;H*WxeVU^yvGrUW6HliGj{kxP2yCMlRN=Xe6&-w)t0Gh@qeZBxCYBk)JT>TyH1un4s zO&+S*r8;@g@Ha?Zf$Qp1SR<{s36u3^nwy)6KBAb=>RRu#6xbApC)$fGTVmm63_`-f z+kmdK?0-sCA*?3-#dAboIgNk5J8m=m@(Y~St2wm(Q!xrh;%;_5x}N=r<#YM7nZp}f zs!y{wyNtdb8ZCM%Q>8>+cMwMRG(ZCQRh7`m(Mqe#qpZ~mIn4}4D!l6PuV@d+<~2V*kKc%-s#MEb*VRp7?@6zbeeuL0SnQ0%LC z2F5m#c=j6GC3a3wI;SvWZlhuB<9NzVA8|eFmEZ8Q&o2Tvb!2nbB^V9XN^z`)qkMen ztWR*vr9U2_X$$4}2PV|vl}Qrx0U|||rXEl8 z-F{ZP`mUkMe4m0OusYm#`rEm@NL9BAb6(|TG6zyJ>XPZ%(2X|LXLG?4*s%=gn>JF7 z4J127YS;BzPQJ}d-n@74*Gy|($glBs-^)|xMP+2dU%#J0t@Wk93G+Zk%bfM-7<&ja zg%F(cjk+3BpQA0%tz44|>{@^YkLwU?OkCU(%88|$y4n1`nLYPSf*BZYR#r2J(ejra z?m!>Dv{K9E{nfXDjGvEZ|CiBurC$yK0AB*t)LPJT{9bx@D(D$pX-j0%*ZnJ{iIR&4 zpb$Npjg3x}bI!yu&mzB_A19NYkd(zJnX7=QYs`F3Qucxsl~`&0RL~4YELrLQd@x?# zu>RJMCnuGaiNEHG`*}b@;Subjr2juutCd?*qqP4sV9?f8c7ZOAs;8Q0h5Ap=;EG|0 zEQ2GP0aKOulTP($!L<7vMFoyrL&~dPq^KkW89P0cD5mvpN!(~!XUwfhWIedGgELz1 zUFoW%u@v-+PNkCqr6%ycDM9#;C$~_Xf-7+WT1Lr_G>YLX3fLcg@L%cWjnx*HwV5mC z35hq57EDsVyVeuSSvN3DY^vj9Myt`?5NbvJz(0DXEid@w8VY7B+CZV>^SHYFmurmT z0lB{@r+I;Y9CKg5xjKyuu=HpzIfQ=EfBG4f5y;MY2s98)e935MWqQQOWF#NpL9(Hr z=XBlj%0?l6`HMo0yhbF_ysLxKfq064D@eR zmAp8=A9wPj)SZF109fc(TuK zbnfouN9yuL%yg9Tq5Q3D#>U5w2sTc(trBkT2_LgLNtY;Nyg9bPCse3V{cBh zR25$7@ySRjD~stcXt*@r{+Jg%pl!rn$d<(p88Ykirw&;qyrZuZ%%X}xZhmh;g)+*a zcueLZ4&C~2rv2M=vSbUdv0x&An`|b#h0-=ZlXCam`_DT0pztDC=k@&RD6&j*l zsrv6}rHA5+u#kNR*##||{|J}I|zZX7^%w0<9LNtqcu{ws=lg*(OWZ2vJD>f}4 z;eF7TJLOk=$;8|4*OU^6!Rg`dwy$;lcDR8HY^z5YSWQq~<`x(u?+4(GquqSnD88)| z>t8WVc|j>~qqfOARj>J*4@o_)-7&buWeIhOOj~QX{BF=Nk+K$vhvf=sbii#@87g?q zAL};1WOkhOQ)FdOmjv~W8KLmsjyC|ih~sa#6EE&{MY8l%ok~5IN6`4?PK=+*%TrQN z3Q+6urm_>Y`fOe;yC?OrY$d0h5i$zj zEW5E(CoiS6f6=CIlrC2rzHM#y|9;{R*;h|l>k_~d9*KFcToj6xL0zfOq(ofNYfq_; z=vpM6Rl(tD=o1)96JTtc&x1SUI6p9UmF6i9S2LV@yoQZWL_yyZ;dCW%khk!VRU+1M zurXr)-v3@VQ0YpZ-5^uYf!l9qUi+B*`Vfa}b?dw&!g9TX)PS2sb&q2M60OnIuWnHE z)&e5GQr37>)}sP}qu|E!cvjKRdYDu}N1X>)A>*B5-V|4|B7VR!ZR3akzh{B`hapI~ zM5)eG{KFC54G8#jyf>GaSaX8I*k|MmQq4CI=m!kh>cH!Pffu$QD^MJntR|Au{Bct>KBEHx&gesO7}+o zZ!Z~u{p?&-z%01~(%SOE9i^LF9N1a8TIOdIo7` zJUuRwmi^-hPQ1@OK@jRuXDfgCr(CI*}ob7EV(9wbPC@ErYW8pzifsB0|=f9k&ap zFMafHa&vy_Xzd(`8TWnFS5kg{2R^BaW69=}ZGL^fx7n*fLI!WUUfFU~?8ci`hS;1k zQqS|adC)c`rLjhBT_z?8CwB`Fo}7f;wCoq+DsjaVz>{|RsNN+M@^;0D zdvoBu3Q5k5A?4D>YI(~^cc@E#u8s%(<2Cx@YZE81d%IgRYmx_Xp_4M>G0Ye36;%VksD)fzAcB>^V$W- zE4h=HZjH=DC!xqUA86dpW=YHmH`J%<-jI;yk=-2iPYviR2xz!EuwH>K`@Oa>hwpnZ zI+;-BFkBFLk-;}Fk@RK*>4bVx{)=&=n8en@r&5!E4cEfwdf}uG zX7`P$2D4PYM~Q(vEW_Su*FBtIo#xS5$!8T;ip|b7pN^r%Y-D!H}of+)csO|pefSskx`I4rfU%)81 z;|_vK;5WFz>|2Och8+kT!@%aP>Sueg_{_6p>OT^Uv(hoPk8s*=%JLO zDBzL1dWDf{bf{e^un>FCgb9b4L=C$JgeCA18DOBi^J@7OcgqAmyjiOW zCqf9IC{7#Jt6kQAd_&=oJ8ph|#5iC6Ja5sgxHColkx;B7=X_lxy%|22kwH$UWOOud zeU5~_r(}iCySU4{2G%C$)kU*MGck zt@>oC+k60Y9cKlf_ZFTKdP*v zKGn{V-OJ5E0Itp^fkcbd;i@ma=+4icvvfQ#a6^~OIq2eVEzG@I*X1bq;|)Q6Y>LEx zHK>?S?Vd~#$228<;k;u+G69CgcisZDgvB_-o)&Na?(Fm7)Pc@|c>*rU*uK>*a#v@Q zYdY-~8NiO=wH-su#YNd$<3Dpr7Rn%oNrjJ7{TeTUoR18tyr+w>L^I#BxD#DCfjeHw z;)0ey?6UcXF@aUaxGYyXg*-cvaFdv!lJp}*Fr1-z^%)^dtj!MH39PjN6@&8ZN~zxn{Hh{YP)8xH9+lLUvbluV;mOIGU{Xt| zlsBsux3;1(D8Pi-rXC&0Ez5>V9O93Xr7sv!>$}|t&Nc&paCPIgPt_WAo1L?CVmqv* zE4rrR=)0%+JE{$(U(~Wx6=YkY@CVX%jmN`V<6VvonAb~K{uQg=6k!? z9uzh_Hbgf4_8RX4v+X#7S=x?Do;Z+6OvGNSpE9KITR-ko6sVd#C)C zak%mNWcrtc+u!!M^c)s;AZR-D0GfIPQY_adN?m7^SCAf@4dgu5e!YNx==K!OdkaQ~ zBD9I-Pn@1s?vp3s$XW|12^nCP%?C@1||RfkXazotpcpzEqkbyANAa+IItAwf~t0fbc+r09qT@ukyEt zW!H*SuZ0z-s6=^^-Y44H-WDb|0qyKwr-`Fk9FrdgCFfn3ZKC(E209(Uc0i~-s0-tm zVznHV481dC#ZA3`{f>V9V0W^B`45X@Zw-x32Dk9C2pyqPg@O`zOUU&6$YRtN4`ID-EnyDM8YJAQceWq$Tr~cOE;x>}Bmh|G zqYN(o%ivrki*QZPyh8;rQ#HzFXhko#OJXDqIx>Z-lfk0dg6njk~s0!_6)_4z*dJ_ zVHfaG@(^4O<$z8{)8HYdTI5`z&(k2EpjuCnDhj&lyblxXBtJRkQ?j@(@@M`ZTW=jy z<@&u33vQK-APv$W-6$y?(hW+dfOJTA#}TBvySuwnknZm8t_}P5V4TnS&il^nah&}J zv!DA}_lj#>>sk!w{D=Q{di|sKlcq|Xz7Et)hd3>%s!%=?pLa0?DmzWKFZ7@L(x$#n zx73G)@gtL@wDe<4B_`%~vcUe5w*D~+h^J#rW$bo5b1!aaq2wtCOHPoJo~7JAw9{0K zSlC}#!qHMoi*F21h0$2HW-(1qUXs^UTg-3V=l>V-k-dOLkYW!>Rt-u@N_t8mlicWK zxkrz4J!ScstdACl${MK{H_jsKTn-2PRCT%pt{T;xjHp+y_Y>o_OceaOb)tY>0+WOP zX#+^Jh*g2^U_bjoQR ze%lH_&mmlZTJbBe)6Ei&7BD>a_?rHm9{-P}@Uei`OAY`EA8)L#8!#)jSy@v<(W~12 z`KdnfhB*$EMLK;MkNY>?kVQ3X!@|Ohv~oBYV5}4e5ftDEl}q&lo!0U8^+08EYvdk6 zlY@JVw;@~@&*&A2%yf0RD{JXT$7+(6{H1sIZltbXj-TBGu@AT)o!S1ZQ5e{8iWf1; z(4z!43nk6`fV|qgl6`foo|E?%rPoFU!Vo#kOw9kWwSE#l!O!2G|Df6NoeO0nJ%{5ozV`k8r*Rk~mU>Ot2(Zz3 zivDvi0q8^rmKl|`5=g~;~^b z08{LLqmIRPc2^pGf0RbLtSa@R1DM?Tc`$96dULN0P1o}W^=&L+3KSJ`NWcFu)1$kT z<5q&_0x*-05?D+o%QVSL1oi&VxnhYtE9`TUQYp@i{x3GrPaNtentWyKhnM(uxz#fa zaIeK*ZfGJ4C@aY(?e&_0NBn|A#KcUz7tq~9dp31x%EPHYBj&k7Bx~-H^Yxy6s^e&k z4~h${%{*j*vWHf}87w6|cvto{#K#J}`J$kisQR)o%01*{MlO@_+sr+a4 zN1>z}kk$@a;=B6fPeLWDnAHZk9a)81U62W`A+;>|odJNF+%j-9N-#-*{&#o{(Bfjh zd&vzWv##*3pZw)9(TMpPH2SR||uLHHQIZni2*Ya43pU*v! zfJD1|yN#)pK1@#@vJew&FS2s5eOTi$se?2q6rbG*ios7xyyu@8I^{GSYHHHlv^Vd0 z#Qps*9%McL$RM?5!2$TH{JBfve@#g}{7Fzy7c@c^DTtLzQ^Xr$%M2P!hbjM{yKLLo z+CR3Q?%=J(Hvs}oR zf&9N{1^lm-6r9LZ-g(u0)g;9Hu6Vr)%jJGgOG{jLO-uiQ2j^*vWS!@!EzT1tydWCA zLCXy7kY36Rvn*>QE~)kWK9k*2BrPWuU2Y5L(k3(FU}Bssfoj0pdp;iF}qE-gTeLP zYFqZyWG(t}RzcA(0|Te+I4@3sb)5=GfQpOzsZ&t+AIF46&bY$6jCFZ>SoFWZ4uG8G zt;mv68#=LvEzpNe{r>2pY+?&=(DA@Hb~n|PP+g#3v)!ikP^9Be27p9>-%+R!mxpqx zKQTj~wy$9FAvpv#Mu=!ilDs&MAYX}UE_SK=qLvM4xyByC0u{ab!}My)TD=2upnhaD zsB;6^nA*i^!HTP{WC~{YfEG%80Tr?Mxqx@{BafY2>o@G-Y5X|Uz|w3&Q1KtLk0J@3 zyZ~A@X<#fgrWbpJ7CX28+iHt# zhCRpp5$bJVw?94N+)r0SOWIf;w81bOIxV>%rn^uyUQ_nd^d31Y!tW~be32Rldu%$^ zh#H#T%>D!ju6@sHn|H;t? zVP*P<>EIT12DWW%E1_;+iWFVcFcJAZ;#DM@WBpS02*kct5x@Bu)y&nw4DM&_Tiv%) z-3%vpk)?Y9>NHW8BADQME4s6W_x?-cCBn&TTxSOs?#^>(L%d4>vBk&WchTFr@yKR( zspk2w4Sb?voJA{mjYN0$I5z<=o#_g!kGp4Xr^_xoHlL)}H%?D(JH4RFph(b(5eK+) zT~L#ChApPDCZ3?ceJ$EMp!k#g{v<~6OBoR1&FR?LSS^VMss*yaW46_j-rb{C}0ZtoAGz z5Wi=#e!XZ!inz6~un-8YG2bd#Qi2`f_kAz80JKPwHOY3$qFN&D4cq1L zX`YcQEyGQ15}t%Zz4nenwkK@$th5%D6jDz?wXalfTvdOvoY3Gcuw6G9Q$kUMH}DU7 zL?V~uyox1DWZnGf)ZWL`@Gf?||5FjMYXL^N6^ok_A zUd~9j=O!4oXwN(+Bvi z6VxglrHMvog51aZ-1-p+Y9`duSH`1lLaAttEd4>77-QHN<&&x*K9) zylE`ULGI2|*a0uK8Z1mDy&B zjc5Q+wqL3YYBgy|<>koHvCYI!jE>5u(_bwc1DjlGLwc`;1uh5Z0UKg`25ST&L`=T2 zqI*z#wUYAMMyd^WMMAN>74_Ajc^|$y$=TT*%L7|sI1*P+v`Heb!D0d+ zVzM{xrvdY)tY78=TKi{w>i_9Sr^Y`s+&5pUG*Vy)(j)oFFjHr}B?bCqji&ghAhJ9^ zdK}|yPBw0=*McB59rnBxAYXP@?I#G^IJuSe&-~CXpw%hj(}%MhAUER~WJyR?hkoO8 zcGt&?6G?mg+N^Lxv{~AfC95jls~B$6o~@+|q)Fx$a`uAiWe7g!B>zIn!QXpgSq$LJ z$$Kl||8eG@fNcKtf&GQh6<}dA%zj0wa)oB+pyJPSO+O9(X-Cjv_qW2I8;hXfS8Oi^ z3aZJ}=nJlF+AUMSF3KPVksWim4K+f*9v$VnSfO6qZbbMG4%ydkNQR@P${$jqb*obPX^8m7V zFQZNa>@(49FE&oH8nAxVlsJ}R*#uSCgtBZo=Bp0%to?2bE?YgS-WiX&qjq8SR zSLaq$T~J4>0gACF^ED(_v-SSn#pla?%rV`E6Oauj1Dp=Zu3;a@C+8ET{WWN~D+Ds* ze_H~~J0$QGTW61{Uopr*iTg`%Y(C93Y@cX;@ze(iYHi}wc~8Z~m}JjFOG$c$j+~x$ zL=Ubsa&W}4*DUt$Z;$(bk%JsdKCZ&^Jis&Ni0FM=#IkijhlSI6Auj8Wrb&>!%5l+CcJn1 z*^n1~Lxis9BWo%vfVtY*4gs3B;$H4bVVSCp+y|UdU zcgcS`53O~;Ic_=C{)g(>>I08#iorIMM&C`Cp*i@{C9S5W=DZu%Vi;4&oe5D%D|5vd zW^XL?6M__g(`L=<23`o7TBKw3xC0>WIRN$XdCp>r4o8hHrM%Lxg?>8?0r$J#J@SN# z516j@9|ztc#jGgLht}*bq}_o13U1F^l60?fAudDmGtL`V$<`(-Ehy&NZqKd``nWm% z1r-tjw2U3W;J;T!6vj#8=i1FC%11;%X1~t2~AgQuTKRpt6t>B{n z<$$OF2NaKLr}gpQ4q)me=(_*Z&JWu(ZG>)tK|B)I(54}5l)vMnlTne*0)8aIr`Yv; zUndvC(5OVa^3N)k7(w$r9N3MLl~hkhwU0pbS0EPVXni~nf?NGieL z!~{Ttv+2##`CajYWNB_BPUpFrgM_Qkm+J%H`QPj_rCbyMS*#;vJJZfglwZNTw|_Fu zGku(`zOyd)N0~k&n$RPE0PICuLaSq&>US|~tOok;9i|0M(U4V10Ll+Ut@RXf_1$~Z z(j`@O%^82>J#x0I>qgMj7=70B&Y9h!qd4%k_nPR}!KtECKG0@j%KZFW_CFq=_8Smf zs-ekO!U1t#1~jMh2P|8_X)g@8GB_1&;P{`B7{ zT|8DQ3fM*OwiIMn^WwQIoK0`7LI5QT?07~6 zoT5kb_S7O}ESBTc!ojXS)c?w*-61bCpJ8(K6GUe`IE}i-2e?Jy)}c_AkxjHMw;r~J+=5+^mKzK1xQMF z+7uBo)c3abZhm*(EQtYkgO$F~{6DYFLd=&s!AE6ZmG8crms6bn){#Ew3rS%LKglST zN^@MqfU+-uA2F}k`lv`jHm(`xh8UL;HPtfsmHe>sWlC9QWi`;GlYM}?pqbB)K`(!+ zAuI4GV!@@Vab$7P&Ga;+Q|V)>)wApSrtrPB{_z`E)aXY1|0Tz>}=@BG5#B&)x021sp6Ui_!Q zbo=}^k04sLthB=HP2frJ|E_AUvLj z`WzMUru0r7*P-V=gDDQ|QfJUw<){mC;vY2PfY5KX@C$bozmj%jfx3=<6FRUrD)2=r z+WLi7Gg1MsJfeL+@PEjix;YGvOSd2S{2z&LrAN?^tQN=V^asV(h^P%i(1$5&JhDwD z=9N#(=tbhCLNX z9Y!vzCp4w$%Ah~8zsca_P=eM?{3kR&zhs&3^IfqjvbJe6YZ^Ds@Lg9p7MZFBjzqz+x zP^c$*hhctwRCT$qvTuF(zQy&DXUk>j;WFE`a}wx^H2~rf1>a2IJHTP#fj0FTgB!^u z^fsjTKG|Q-dlUMzw(o!MQF#~c5v75xQq)ZOzb#37n z$NOg2J9C}8k3QOtnIg+2WJOdVPSZ8srIDv!+YPDPQ`f_XX;BluX=8$iZ0hWQy+<7% zo}@KJ9=xR$ml-|UUuCwl0l0<;V>{OtQbc6n$4);+e0@kn13qs?X(?k)MFo>d@`Mw` zN)uW4odnMq<<^)*qWF)1Q!!xk9{*hQ_+1al2__ zoXY@ts250Ygv>v^z=~P zG>RgsfQWB*4(#K|)nCRg?o|K$yk&Jz;XVfz_Ey4w4ibUN)AuD-w^EU+Eo@p)q#7BV zXU;qB5lYZ|VEGHf)VNSh>U=zZbM_nB&Gqax+|1t3Dbnq4XluQGV2<5w&!7E3npC4k zt6O)7+!}s71V8U5uJN}etPjplUFU}2rc_2)@K{!$lD4ofkO;>4qU#d35G%0}oqmYx z$1Lg`$2XUv@J08J}fn*{}9C~@NE3PTvm_&FzI)^g1_nk~ z<-?ciS6}4Zk&x;iVrds&g6B#S%R_$uRBhNeem>Y|od3J)kC%WF)~RJbrjaBwpIpPw zqQ{CRICS&*s=~<)Ts||#3JaWZ<~+5Y8kP@p5j1?kUlS&^4z{bbqX2my3iRRe>d z@^2pKq*kb>)btEw3}*a_;iT63H`~=Hlv#&JuE{{PMKm9_U zU@j?*Y%NGO+)!)GH(fIx>t7EVUPDy^PCqO`%?39euT3{y_jD^RS9pa|Jpb4O!b=!6 zJH(fE(7e9};sMqpfC*|2?pb@5m6de>s2AvWb#+ysNK5gDCipW5GiLa1WbKD{YPR3J zg>%`904Z@(R(qB5$lHifCL(XkHV%o!S{T5_N%LJbCmz~U36D!>uBUU`gfB=nA~39M z^0<_GkmgbGiOptlz(ih^o4O)FudboyLQ45lu|pQ@aE0o1<+VU9YJ6KYxBW6Fk8qsR zQ{(k{Do^GU@`$)el_AfL&Ch?fFwaQ0_7$79JaxJMV>yq;gAKx@SAR{&X0EOSOb^Wg zJK}Yfv|KMtK?e~kyfl78B0DVp9hwwmSemnWZ{Z5E(|-oM#YiLl)YN%KRx4gU-BW((?$-FSe|lX(&TG9lr(}l>icd(WBA+PQcS389w)@=wiEnr-a8vB|`&%Ex zM*F6GgukZKYX=y;KCn1vkL};(dY&(lTR%%2eXsK=C-|Wwo|Xrv+AUV*8#vTW>|s@9 zJM>ozp#GZ!O0wY*NMK_Ft-9=G`8>oS{4a6px)ngy(1CK>KPG2_Cdg@`Th}L~+SL~B)*YYRiS5=Gz+2x6PaKMk1=LhGG z=_alTFBb5(e!~{fbTH`3fRt6RrGT2+8Dy_V{SX|~Q)|&YQ7XfyV!aA^R@X$8+ z^O6+pZV3MCa<(Zvkg2L|c1B+Z6fv4!#~CE&b)cFQ!qci%OSVs&ps)_`4{Hj<1`_3a zx-xgkKAW5U#^r$p5 ze$-^XNzS|z#O*pajd{e)jla%TSuz@}#6az>S#IPpPJ06-Q=qG^xl*39h@6rRhj)Ma?vFlWeF;g~}?&gr{IwtxHlg%LW6YcFMN zr}jo2zN_wI90fj40QY}t_SYvoS|c(X*TeN13!J9N8(H3O7m5U4)>2XqbOJWuY5j5* zFvH7Y`F2G+>Mv?6r_tJJLNoB7Yn`@K!vQ+{Y1nIzDP9#xK5<$q&h+ZmTk1Biz&vo( zrZ}3W!tBPVdFJ#jnURX6kwybaWu6oqvwaz+=KGD3Rb`<_BfU8(pPJDJ;hpKoGNRX% zdAlD)C~5P`0hNHY5K;G~fZ~rubSYDosHs7Q!vhYpy%&i+i05B@*L@WN+E=(*KHeO4 zHpDy^OI)3i?{l=x?5n%s`s0PQYvCL&R#)B}L0SH1pgN?-fYfMA@awnf@gt)-%Jv1g z#QQd@QzXn(5vky|A0MTUoP4CBGRZ<2+NQ8DFoZDGxZzgxXD~q5sH-&e209;Gms4oT zLg!zh$MDI&(npudV3XVvdnfIJb#O4%d4ojkvX>;dcxVGVV(ll==TI%#YQfXw zqwvRThPndQ+teeaARaPrQlFh|x#il6Zv7QZ}8 z+U9uv8=hxvCPwWXAKIq{z+cdez(;3PShV%*nwH|ggR-K9mWxRXD0i{+X&%5nD;J(5 zOk3zw))n3iK0>?4n7c&jYm|sq-;1VIDHq&Zd&{kJ0?=berRyGqg*fToaN}%hESssQ#Wz|I6r>K6=XT9>*%LU#-X*tba{ydiHA3sGNDh46|)_|;9 zxUAvoBs~Y=>muh%3&rMN&`G1D_#v-<0ll$RKND-mX`fNX{>~RhravuK9V0Hv@Dk-R z?6ZWTb`E$niUA0IGvXe0DD>PT!d_9qtCb{ifU+xw$PcovDb_x7QrAS6s*)=s|CV&u z15yo9RrnC{+5BvBQX0xy<|-Xa)4<2|Jn|o=z7~qAZsXP+TNQ7mB%D z%;eGdwK8l4uLZX2CBE$}1LZbB@9D)U~ft}*z0 z?s~1W;W$43SZcC!&VIc&jNOa@7##`uQD3l>Br=j!PIBGy7BclAn8c)*bNb{OYpp92crIYQH2p(&6sJn(EZ}_ zgNYL%zVyg5!%`s@H#~1@9s%{-az+hHm#*FnI}7VZX1!a?CQKDF03xhdVazvu@VyE}A^493B;ouF>+w)u;R! zWnM7QEsh`z$9hl2MsK`W^r=9xOD@>RY2>SNfK=8(fBc?8W=U{iot|&rS-Auutb8On zExpZX`Sl&K7sTD5w0-2f4n8FhjDQbwTj%s}pxF5Q^!w;tz>*66Pp!#j_9iyg)1UeL zBNuJHS61LZkJ_vLm|vMM-1hy6XRV-7kJgGI9yRab#vEW{ZdG2M5v_ncRkg94yqFj9 z$`GPyidU)H9_&U~GIB^ye`cpZ@5lh_`r6HpXhQz7C}a;H*;P>{2(yem02wmf2hb^> zk8XaJm(-@CTG@3wRUMy1Ze~Sm4t{bXby`_G2_BsTmhv>q?X9Q9PD1={DC;xl#qF>% z;sVmHbNNO-^}DlLzEYJqQowVk*TLthlcFG;J3*&ty+<7ky%XE3XcAv#fP;G8noFN3 zTf?)n#_McZfeFK5xWsvn~o_EUb&iq&SNBv%cJu|Bbf( z6p`nJ&cC5da#<1_rkV2%x*e@Gp~6#*v`sw6o>)oDU{ z&YzstC_q&m8T~HMhKHx~ZXMqh8jHt!hL_0dX-bmH`XR- z*54#FQxqA|m5Hu#B>Ny$U6qOuIHs7j%+X!F{Eq~Vb9OpS*~L7}ofwfyP*zCfjPY8{ zv6lVm($wbxGKm50sJvnNd$?TpZrfG175Db0vpxV`(-DfvosMf&fioONy5Cd3ZQYwu z&*R}72_BT6RY8H_CehA%F>mNF5gL6__P6TQV}YS*D6hYDJ^AAav|+u4o_N}!^c<4! zyFG%zG&D2@Va39w3qqQ7U%|D2Rr6DJO){?{`iR%8NFclPzLv- z-Zd!`e0P~OR|VU@}(Za?0ZpJ2M?=~;pWVJ4t@xFm%VOT6%9vz-%4?9 z*~leL=})|Gux7A5i38C2uCEqr^SfpP7$ee0jB+96oeNS6hooH6OC9fuBl3;*s)_&JA1jmHqH*~+JVP(Snk6A z?~{@<+JG==m1U1l`x*REs^FOQtKNcPK4kf9!c`TJb+*X}Zs$F#?1L*I=l)iE8Ky5< zH@QWOfQb)J)|#5=%j2bE0Eo%C4WA}*n6e@4$g>Ib&SyU~C`u1Q*c+Ov>^LP)d zK!2)Q5Dxo8l@1Gz9HT-()STEVN8+f z5{=s?ZsOPOYg(QrEzhh160>DGe!)WkIP%?tuE7tX3flYU3rQk0IHC{iW*0JK1Ipwt?>cX}R3rKaL6Xb+ zpiJdZ4;krpo-8?9nmj5v7P>SacX_L#j-!l1_@lIWn#vl)PUmR`KkbX*a59PToY=8( zzo)y~xP7td1%5mG-Dl7W_9z*&MNfmpU9gci#l$X9G)?A= zZify)EuAegGp`RW*acdzWK9pof&n43ezgX>gH+>4r4mgI%j@G6_}lNQx1M5&{pt_5 z=I!qj?NPQUeQSIh@ECD3xn%v7|5lTZJaE8+|XgSCb4(c-krV{wDCj}A+ z$}c1p3zg+&Cnpuj`kxJ&us)0>P9>d#(M$(y4>@F}=*Ej~FTS*Ep}B=PL3bK}RWl>n zG#|&JVut2Guem-7YCV9=HbM-U;t$`SZ*?MWp@K_4CPsC}MCoV;C)H}LSNm1zCbDIB%SPgSidBe+h(hPyQ=^LJX$Rw@?*0WQoTD3` z@{?n@Oxm3y@c54k|C6EtmB?)VmG7TQgzplW?|7kQ5cA{>EsZd-_70aDc;}%^YCN8stoNkYfs@(V_0+}4Wv?$O4VdV?4e*3sjB$ceX*R`lNN%=ZWDd4q% zIh!iN_f>>lSzNMrY1{-9TwZ+4Y;T3;8#=YJ3@e{cX;znHND;pI-gG`H;R`S}J!ZE{ zYk>|wCLxE7;Rk1DXYMJ+z=&F0sL|~!DY}iSI=?K%=SMPiSa(t7l=U_x4`^3M_Q_7W zc~dWrv|RPjL@i(e5hd!JB+0C%`N624!yhXFs-T-ey_fNXb;N_{)3S3n4nKpDk;jEd zYw)jjH2&hbmWr&eq5Al?bQj3HxDyXZ| z?$OeH*OaCV3=M-r__BQVPyahozfcZ(et{(`+V{ltU6^+jbwgw{b?Lv*+7wcvXP$Tm zG?dkuAo;sA*Ce8bgj!*UeVHqo8_7mUgnc+`ZQMZ#%94!pV8rKmR#(2B@QlRD{*LtR zRj$*(fBm~VD6-)f=gYM}gBFCeVV($+jrAzW>^H3gUHFhj1{7-Ex-&f`hMhsm1 zj?LSDj9ieRzY(++c!(h;;p5(GA(dT}b}b<(Vp-b+L~hOo1Vr<9X5+ z)qxb&n^c2>MTr$Ew4Ia8z1J=}xmd7U2fsZVwgdogelJqhiv5d6V0tn=o6i&>kqp)X z*g#2=xQhG`RS>1E%Xz<-320@&fR5_vde-{r$4~M&B-32&BdSyi9#smsCpF(%1mAZx82TS6Y!)Hn zvQ{!Kd{Vy~on-mkv=l~g=~wqRLi$9KimuKZ7hJer-Ed+L3gPlel6@u!Yd(k*YKhm;*} z38b31!6o)HW65zb?lwn%+dMlWsTKrb=bRQPWq(c~mhU;*vToARWr(leqlQAR16MK9 z^%s|CbHzf#?4GsR+y$u+mQI84B`HcB-KPPCZ&A~iFGjT5ANX_McyexdrOMCE#0)(8 zoEQl{0rx5rM=F?g7S)u?3I0W@S+%!mk%RKaO){!u=yu4|_vAMN`wFc*bZ~-qIpm~T zOVm_Te2>Ktn*i9cMLL26!H%Y1LutOPI{FKK? zx!zaOC-Mh4^^~9hviB^eGlG9(p10_u9#@ebT@kfUw+3Z)=0$whl2pgm8}uI}bY0P> zZz%SPzJk-f`2_8&h89$!t67CHYWC3qaI3gC);KGXHtb2h&tbmm9Ewv27rx0u-^BwI`~r}vgHuDWhb~MO;utKY zYQ8S$b0|^O%@1YD7a{J~Z70WM464CBP}trp`M3`?6?$Smp0ok+BmNd?Z)0N^(6pp; zmLXZ86#RLUmMqEkJ!m-}OG^dqC@18$#eu*zr>v~Z2tWyv2al~hoPMfv7)L zf9rDk=LACCK*;cyB{gSNC9Xw{nVFdZ1>5U_8YJ#HB%qc68)5-ns>1AW`=>gITq<7U zr^LJ}gqM+H9O{nyN<{GBz#@mwb4IWRefj@9-UoeD*@p1cl*?R_^YqdHvO=}Unvh0C z7lMFd*3p*ieW!N%%RQn8O>65j;n{j18BgcF97akc-;vaG4tYnl#lFEHfclvY?f(Iq|IyQ(0w&f^~HaQ9(ID=md2hZ~5 zkk9D{&b~|uyh{@?Ms9xPz|UV-f#&clEBV6&zosuPeC%45oW^K&{*KE*Iu+Fk^yXt2;Y(C{`VcXRk&SrHYalMnRrHGG}+{r#>w$rojJMosp(5reZv55 zei**F7*rzmzS5nws;hK}4Hye3v|1zcg(&NUtz1>njtK_uU#g#dD&LgXikv6R>bJe& zVo36s^+4B{ACosVr?^*Wch_C+c7tRQ4m-#4MI$fcTQVQHlmnCU62)WsV|L~1yZ(po zCfHV(6}$?!Z#UIG1^-*sVn0^3h3&3&e{KXLG6=P=5U)Me5g1yQ>i{G@#Z%mFch=zC zX;6%N1xyfNgXno$vzFrp>pf)y4UJ~oo};UfFr!8tB*~i^v9@;_F1didt>6n`qJ2Yh zcq!uX#Q^rH7$2<5jn8tKQlC*)nPM2Jym$fTtQPT3M&*JQsyoAopZ-GCvlehc(cxp3 z6cZh7x8x4JcMV)G;}0%3GWsIcLe8&4+>8)NU-aU2VV&rb7;n~tRA0+KxHEQfl6)6Q zxo76Ht(@w6T9$+^S0_D$G3`^2wHFu2fg-VOlk*t9>e3kMyx?eemMuXmaES|yW+HXJC_L|4_l>EKx9AMy1v zW^F&sgZm+aBF^W+GDnWqhx!5V7uES_0klOG80c!KrTx@iHpiGAe0_tU=igf64kQ(+ z%M&9<{i-R_nwnpVpE!%Q@ZaG3aQpZhHCT)^Pw5PxXSm>XO^%2VIDXi(&`%T`i5j}- zD%;HW974Fw8?p|&vbwJ@9fU*jP;SGPF7hkl+s;YPy#}|#7%0Ra= zDl(?|@Xzsy1D9rB>o?l0x7RU6TXoNaZ0+pwEmY+{emrL=44i|9R^r*byY7S_{eJs# z;(%|EEK<>m`4c78xnP=*&fO76Qgd?)3ih<&OAZZ^9lzkUFMdP)o)J4buCH*cL~R|}ae;gjJ5&~=F65r5x(I4hJuhhas`C&D?|`S3lRP0C2Hn@qqB#D~w0mP>Eo z0{6OMyF>V&99k)z@DV(huPLOd)q+j-!#tWgd-jGhylOS(3x~iWT;pBo$0${SoGOzf zJXaSc)glAE(WlZK_n$?41#=QLwv6u3e|z4eoMMif=zb>m*EQIJ9dJ6vi*Qro{u}`U zI}9N3azCm%iIdkRFDQSa>+*UkbvRzCaTQR3r0b8S!ws~wcttosJ?1<7nRKqwT#D?b zd^j9KsYp1yPav?7z{jI*U1V<>U0gKREX*VJouU;C(4BuC=rNn<(jH#!ZY(fcn)#jc z_~4rTz>4kQM5&VuAtLI_OE)G=8bajFVHtFkM81)UB`r!`w4_N~JsidQaxZFjqkK9Q z>je=lJH)<{)^Lbqqm9;>Biy!1_Eti&8dt}q0w4q(=`J=m<|G?jA_mP zRIn-%LXadhR~O{Pl=;uM#iv6J8El%Yo*#I#JWcek^AJ9coGk#?=ND(DJQx56RFpQF zwSPwo(>JX>45#(YRFcT5N+&03!N?70ZDs_M@D;E1IWgO6eU`~OODK54YK2R&&;~y* zskR&9M9QH;$P00uC~2@jZMVJIro}$kKVXB_*?YFccvGoQDNu}kT@ir>mivR zL-$1uXNyo0j)QgO%9sy`z=~LAC?9=;jjjgX3$sLyih2YEUpoNj@!*}GBvwX7vB4xA z9bG;tueK!O^7Mh|Yt@*B>D0N24hPBXiP-D`!7W_XS)r}EJAFX0OXNcoW8$j_hSq(y zlc||_8WW4aG5SR3Rdh2$tgBA<9^)JT%94W|49j-FH5P&l*~VrpvCKp!HM-<&P?D<( znO^vLT&FLOHaNWC1g-4F%*Kd-8mhy;{A7oe)pYYOvUZuF=GZN;Cr zh))vBn-cGl#Gz&GgVX9qF;zkE0Li9}B=wSVB`OhpK)irEd`i$d>)Z2}^hFUhPnU$; zcpS?)9HXx7`U(~Za*(DwZL;FM=nMd<r+j6nWX4~;9~x4B1Y#* zrFIey*Rfilw;FeicB;SWjZ}GI{o<2-ahqz2%GxnWpA3Y`FfX$kfCnK`=S{TiEAm(*Tj!9HmdV$4kJ1`X!IR=&T-f7al zL4A0xX1(*O3=JkZjKA$WOXYKaQ=Q}9Ie?|)OyIOl{4&TjFt*hZu5@vaomERBp-wEI zI5&5Rm;}|Euw9d3|K?mHsPXQIoZxu_!UOLe;a`l21rA86a4wcBewQ1)=CI|haI>V5 zO6AkxQ|P+kRx&0=M%WV5EY6pvRQ1dk%Qm1FIA4oHRHQI6c3wn9M@<^~RFlc8ugH`) z@p*CbxXnb8^oO{0DU!N~nvPvAr$ZhV_*f1{2)`5)f01wYV9Q_W5i*tGdBs3Ms(5(D?FYmnMs{OoX#Q_b|GOcC2($|ih z2-eBX${la@;Tj84W2B~Nb2G{48Av3nsHiAWriR)az4Z}#cKF85J`9G4XpQ~f^~C1nC4ykr1(RA64IzV z&xfjFMV2&Lc45>M@2N}HjR>|t*)aqH3O&|vuXjO_QQFaF{AEIJ&|Z~3Dx(#FRNw$a z@nMZ?j8jlEX{6O&VMd?7Fst0?FeTZZaB@^TE(wn=y+^X@CawrjqK~zm*_zTSZux& z$%SF~aWD<2>~=uW^cuH9Rs=nJ3$`G|@VY}S83ShYyw22`h(_MVPAJ_4XNRopmHVGl zKm`~dS@LGr>c5X+G{A$F`nWCKs}z~+qm-kgBgGiukNnT=z{Xl~B3jNL)s295nIr`d zB5`~n3v*IxHesSHO za^sIbkP$_8E^-Ragz6(RT|8a@h7`*zu@IZ95BghNql!JSewuCgHS6pxP2^ICTNmD1 zC(vim8^B;Oy+FfvXb2=3F1UEbW;TmnSU0_4ug%3)zM1}ti*b3C{fiJ)m4ah@-eh&8 z{sy^Ew==L9Bw+VSNE6%hwW}G1f_Zu!V-jVK5JoDu1>N5~ zi2R8jfX!C#B6zxYZE)ln@3f+lNkX_M`gk6XhKklytx=(u^B45Z1SqB$+r(Dp(~F# zybeXG9d%B1o`XE+;U}Dz#j!qa*BY7j@*nqhe|+BK9&OQX>BzJ`@h_d9y&V=rdZr&; z7`8c-Vi7^os$P6|JJrI2+CN*z7#+UH^Bn2B+>)_LaX(pn-JKYFVReDCxATV93B#Iu zZ-wTN^<#c%jhq^^j){d8va)bt3~^7#2b%Hj-JaI_oBRBvMEzfPSJ{uSmsaDh*pz)* z`p;yUgs1=Y7RaUgN{SyV7)F2HmSq7@xNpBpBbHqA>h;MQ9l%Fk00yBGgd2lPz0JbS zwfv7&`{?Ol@q4tqwF{$Vy>{8%sJ{kfkN0FTt89dYMnR}SCLn&mW7MI4;b&}pOX+rL zTa|8>=J7}?@JsRlty{@|$#a!x&14tI)~(#}uAFJ)(JfA_5o_VUrR-uEy(NLnDVyPk zqvF5JfB+T9Ix~MHh6ZxIWX&Tu(BY3HBRp~;oiBtz#qVx#Fh}^0;N< z-rF8yR?bd#czQ&EOMgH~|F=7_Bh?zMv7_P6 zutJcZBTTmE_v-3G5-Ce%0yN4?X~ddpE&>Ze16FvI@SH6Gf=d9B#ef(CDMQ2b5`Gb> z{JeJr53@D1rBcJH2)Vb~P2IgSiKgq$bnJlTat^p6?tD+xWK}tf8XIA2aAEVyOBgZmu#{~8y0YVm<{0lxf~wNiLne{-j3M32fYFWx_qCk@)_e4y%x;K3s+_Q+ho03m2R z9TUSCo)Q?zdh_#Gz+5Rw(93+=m*+pouKN+lUE%yA@^2~h5fIQ4>{mx_x=}#P6=h}2 zqG7+H#-!P~Qx45OLGhEzDl1kir4l|>AXZv_vl`5j(-!?HrX7(jzZhVYMy>@4 zMeBCK@{)g5$YrL%ydnADZCXbux+s!n%v5Jn?+aPj!;G<04W(x)Xi6{S@{ANLU!9WZ ztjcgub73$DJ1!LAm$G=4{M6$PaOj<2dl7YITu^j4HB=_o-P+WN4R|I(XnsX zZ9{$E*rt5fC>cq>T`xb|u`yndJaAsT{%9GESlivecK+3BP|+vdW@!C1yuuXyn$FIb zyg{l7QnGP^{+L#Z>N6wK`U3M)H-ni0b9lyY2ENF)`Bx>?5&TSfcY{7`4eR+V{4iWS z8CLk}#T4dVU|j4aIi5!PJqtNvG+5io>(05IU#FQED^Vywc}9gexvI97%dPh zjn*=i399lp-=qp8)5G>q&z*s5Zv8&Ci=+4o!u4|={~StDfs*Xb_EeX1%ZGEH!YI;M z{P^Xp(65NBCn6pM!>9MPf&4J+UG7Liwg=?<3~4`ozl^v4dY`7x5Gv=BUSIB%{>6IV z(`1X`--EQ6v?`cqxxoB7-psgB?_}l!o-{|sR_}U!nMs%%?Dk66W4(k$ z(adPJcU}4Q)!)uIcp~d&d-%Gg7u@dNuayVs`U0am7#T|Af2u_#4ZjIo-v@@8%U2qe zFf*|<5UvFpN7^8SihD;%vku2jz65Tx$wa?}mbQgPamC+M(#zS;d;{7jFP~qKf^e3< zD%QdEhb!qG_}xQymCptRWR^a{SQvVZfmX8UsythJzVjXIcS=OX14hgXG=x2=Jc2r& zIj_A#SNCTYir>cP^i(;hHRAsG_ITsMP%m-Y5-qa7m;RD~2MQZMznU9hL$mZP=y-zr zN)Yj)ozu;5NzyY_l9EA`8LO>%rg$1C4RTVZh0(0K6xl7}m4)F`E{qWLPT#;~NoYg3Lb?=UzGsz{~ zKzoKT8xSXJ{cDi1H0F&iu{7d$DdAx`8EcI6SEp)iL0@!znNW*xK(;p|(jDNG{y$%Y z>+)g+{)n*nG}N6v))bSGelW!5;&OSTazTc6dm+@7{JzQQ{9D;$RWh@oJ@;6L$_ZN% z8s%9M&mGRXElti-9OgieL_*u5G8pgkP`^0FqkS+OCi6_m!lpuGBVBl8LI38fbtcRG zmBiQd(lIJ-wBpL~*1)5*n3$N}^i9mc+fq8fp6_y6&?GAfEuYL^8suG<;B)Wp;;BAfh`cx5Y!bRz|s;^K$-wmr@t*Nvgrqv1#c?`ka3q_1_-D&H1)8 z=p6?{TSGsr5bwYX@VDLL;*X16Q0igDQ{}vNL(fCL8Jt;ro7xIif6lWmy<)yz|BwvP zk$bzw-6d{qJH#kIg}q0mU~Rc6UtJJu#!!woH&DCAn1{&|eD>HSo0ky17o9%J^YLe; zy1>L)vmo9j=y{69cymyja!nkh8!CS!akoe>{n8<-3GYH7kWS2X9R2D4=C=JeZ=%k@?kt)7y&yyLF8xoF?7L6lMoPtb(BnX zzt1XPzRkoyO@pL;%qDhT0H7_=c_(_0>@8t&i>_)HRBEnRs6?6SQKr4mS*;jR?kWqS zd%xTe_^_z~E0s7<4=|P=hW*|^k#5%f!>2y(_>rIS$nFc8ApGt;Y5Lq-5cCkHenWyj zA}$2_^n?35e&UiZTQn3Fci6UlK=nBha#5k2bw7?x-%II$Gq$~GAyRvx|A#+Z0tN2y z5H76LioaR}fj~ZyLvok@2fn_^e5Bff`#VH|h5kh0r_u;csdv~MHkJZ!#TRi`8b?KC ziGCR=?l3`pS^wn%uW5r7+|d?T<$u8?9FboZft?j0>V{*l^TBesawy+A9HfjIF+i>| zy3YGSTgYBV-6G#RJ$3~>nie9Oa8Dh@suDJy@|%x$^WwBXkS|zO(3JWtw@Cu{+uv!k zg~f#TP$(l=V7RiDruM2b@EjitIv*-Cy}=QhUvl6xM(@!N;tXqP0JeOOU~Ln;i?Vxr zc3PD3P!)@>*CmfKun?n_Hw|NS=E?FjMvr~1=U5=oU$Dcs*ZwZEIr$qLJtX|lAPtE_YjGDzlJ?At1F#{8S z%oE9@QBUjx1h-69Kh>OQI&N_e8>nND^=grykSfoU1$CrmT9beZa8YS?4mSedTU*Xl zx4#C<>1ygx4Nbwg@vnF9v>4o_(ME90XuOiMn_r2UM7e#r%2@w)U71}q8CtP+KsX7( zun%VZ2MZ4&O=}I79>*mjN_eA2u(U)iv93wV&NW9EHd z?&4Rnd8E1lu8f)p_u0X-Lse5;9Y);&2{0J!miHbmYT)aCIla~b<}wQKP@XD1v&5uB zxMWasny4%mxzQRm<6adRH~;z7nwRMtJVWy@DxoJBx;^FcnR=SP?f&?|(wRcXp=MgO zNo`O5sh^MNHInzzD08zH7=XGTA*y6t0HPYPeFE+PP=ga}UdQONM?3f(;^pfQ=5mK? z^7uE5gv$}4P3ROq-0*Z#aa3kCqOVV3e(`iZ_=cNi{TgLlAJXfXYpueRDU|bWxy*8g zhveiVs$QOr(AaJL#1Xy9{yFIz!hnLmXOet>TZF5gIr;an13Lc;w)^{F*lWH^?hA?> zU^s&Ka-okEq2X4RuBoxW1Ag0Va-5_V?rJNb#Xw0*O+{BZ+s-+FIztUYuvePj2Fk;p z9;H>DF{c)KK9jV7pVRlU&Otemkfu?FCSvPw+9Y8DZF_fqo-DfCY@e=TffsB>V`qAY z|MVqU&ix%(0hhCTN#^pIONqSbn92o*krSI)=Cp`ZRpuoi!aoCVK1;l`QfSB7e0y72;Xt04cH3S@&v?#q&x(3$K#2G4y z<|UJLYWmi0^Ie~HgwzFb(_Fvazzw>r&TmWDOl}y8U0W|CL2!6$=2WH@ZIRriqU3mR z4ia-KHnB*XJd+z?`uw-$02LSYM!A3gQ}RAy60KkJWkh5)Z&799r3UWi+0TmLriPVe za-S!a4DVfQ4;9Z`sI-~-Hy@p*MRo^E)@z+ua^oo|#(F7_QanrGB3lU^VdAwiV-$Lh zW-`b{-^>njBX7`rSnemRV}<^FnZ2n6IuE=e{wLoHVmqQ6&Y2~T)$G^q$8OJ$kIH*x zMVGz8k2`H0$>1s5dmejgwJ!e$V@TnmPEJO3h=bGr<^)&>K~-MM-h$=Xc-pf2y-_Q+ z5mmyxzh-BX$MEzLt0NdiwdcMMgfu9AgePuTc2tCW*>PdbaRuDu7h%Ux3l5)-Xb`Z` zF|je!?w!^QPrk>?<2583NRpCEHnflam8hb^O4J`(!GsDmOTh;S%=V0I6uIeZcjjTY z1CL*fHPjFGr5LR08-OE15+W??ox!ZieMm0$359re0!|`(H^%zMJGc&_qvj=x-9Rj+ zpl!}n9V<|bRHlGYd~ErPxO43C9ziaw^x{P=w^rfopK(LND~(qxc~=y7mAkeN=!_MxXBT1zc0#xvfc~(%dAykx$lvb;Z50rZjZ)7{Vz<2S?8h zgh8~DV7#lo)Eh#r&?0AOyIs?|~h)i%M2Dq2MD<5seUo zZ@Ah`b|1U|K}y!P@C~?0`Di^wxA0c(O3lgFOb`jYl8rrn8@~j-@agl*`ti%$SL)8z z9l9uB;k)-VO*8~MyM5<&ljjaB_ zG1ZC#jOHNAZ2lWic?rHE(?sMN^F=Sr?R`fOCnKXZvv>ZWtTt8Ap@VlQx+?tfdhN=_ z3WE`o>U#sK@x4S-X9*aRw?@t|yVW(hB|r&Kj6TP{>7-=o*Q8jC$t_zROa+DRx}GyJ zGNL~=UKp+pYamaq{Ac6S2R7ltSJU-^D817yHC@%5{{G}~JDo~r4|T!UL`Su@Y(N8Z zK$K*00HE(sVCl6u?LwPpm%Em`IpK^3jUCDdlc9b~i^ZJf(JfzFT43`QQVAE$h=AJV zUuvq)?=L*GTX4KB1RNO!qj6Mn)RF!xOSfyNDe`OtK9d|!VK1IX+j`|m1gP`Gnl3P# zmKfk<#(a|xFMz_(?|2PQlu!L#utX4YLh;@oqJl3Ac!DvXpcxlrPx?fozH5dG=oo5V-;Ux!_$~8e9IAA{lFZ%Zx z;5iUog>9muEKT1}=7@a1p4Y%yLp`@JPp>$BzDxcQk2n*gV3duvbAJRrvEI#kNV#Q8 z6?e{t4-9bnM^TA-PBc#V=2j-xl*V5LpnJDo3(&NG)eV$=rBc#-lvVNdtH;D}#l=^V ztn$Ar*tH3CdiKwn+}VKK=s8y03hrEGv#ioNLP34G(rj$o(G=Fv~u*($cOBZ#D~%T>=P7CTqfkwwk65J?(RbtJlRx~G0r zK`+&u#Hmv3-!}uJGbWKje-;jH53HCKj7u3}!*zzhnUuffS`r-5)R|7>>H1UjJKxCL z4raX^E9lwkIsUf@0h*(li^=;R_JoAis#FHbvh7cuH>S zDGxXIWdh+A=_HxqfI%hJ+x#NoTD) zMdyS2w7(>LD?9i@Pq?i0H-WSk)k3JD+GM~dWCyfzEP>4-ca;v&|7F5x3=pZrMX!?Z zF2jWtz2}II8li+Nx)(=&cm9~hh&rNwJI??FN#zbeNh96~{%H8xpUk_H%$I1SyeY>P zpX&eCUE1^!ZSNpzZ#7%Ozm0f2{J<|e7N{~ha7l@sRQ~4$@R&!Fzgla*G}%-?D>+~D zP?E%3l*=X56IbkoO1LSA7Xuk9qts^Odri%6SZ*=mU*4&$5WPMxIGOR7c|UH!{&;jwxx7ex{Rh@nIJ6%HiHUbVo)-+7$VN__Q@eloIW2D#F z6Ol_%A=tmktAy2b>YGz`hWALLVE1>Tjr(;4kSMHC+|kN+*13$xmEeTti^9X7$;*AT zsTy4qeUjcR%8oE<&Q>0ue;*g-8`>vlv@u8AraS>u{BKXn?hP8odYAhg`N3Dl7k5H) zKBI5_0i*N_;YR4aZ=dH%mIxq0O#L_m)N3o0XeVV^J*_<$7c=MXK+I}?d+{T{H6F#T z8bXnMCF;I+hPqnmUU@qL^u4^;+->$Dd^%ZS|6Ry0$bpFV466_`=?xN$CDHAJ$hO6K zm#KaBMvDQ}Tat_>Hg{92K8My>--NaMiw%OOA1-fLq!-ZiZ4jkt~ysaQ5-;Q5iZ z7s9R(gm`EGPTxatmVcNc>K;7_wX1!}CYglyp6=(83_UJwbPQ=Uv_?LH4&ylSjeMap zj*sU0fMYt98$+(CO+mfBlVZVj^>ucY@h!b@svK|S%e5k2x(sXW{fM{`#xUVxSkdz+ z;i~*L<1BJ&b^Tjeqe8)$Ua(ya>I8(X$cwKa&u#Do$k+knkXHzoj(aFGb0r{%ot&l4 zSlp};f^)(ilskH#cGyymn4#vS>Jk2A>QSV{kv(kY%5CX@mhIa@n4||;H9)IkO?`5u zEPSC9;Z7osP9{Pw23#&u_qY_5GbI`7bO#38%i~e;FP2v zCgo$EfA}?Az389m(-?=bR3o01W$U4%3(G(QIly?FhX_7>=yO1LFkA`E$Rl z#JRCi-A<6ssHx(sc_EmIjN>>D(y!oX_K8t;jY)Nx)=uYsn`QY(7 z_+U|F=EVz$b82?-`ExnO3W`tax-ljp|6QR!kfyhXOJX;4a0;p3cgp#G^+$5QXbsMv z0e4EnOZ-vQoJgr32u{oU&QA|X%%?7Pry9M1G1QWRdXa8NR(6u$0eJ)fwtA1K?HIi+ zd}s6LR_LfPtw|)(IZJBnTwW-1B(19-OGTvEC*H?a#QT>>^%xkpL)N$OO8XJhiUbmS zq2z~Kkx3U}X}D0dYdHGk!$S+IONlAj#-H6qHN0Oxz5`* zkjqE%r}yPjmp)yh*cdnr@2>6B%}>MoTu^B3B$2rMc2lh@Zt$*td%e7nJZcYb0XtX1 zbbKW(+Ru?ucYdqi=N4M@-=lV>dLEfy*b+g^9-SQGA5jvIx02BH%DGl#L(U-mjV0FP z2&4;=*|$FC=G&UEevwVm6Y1}aRD40wafQagH|hTZt+lhbim)vQL$qK> zi}^B>{AvJW!JpPF4r0m@h=)D2ZC& zHEg1H%{Iv&!kj_LM6bx8-R+{Id};R?KRs$_83 z761w&;0|gc?iFq3KB&ebUUpwx)s!7ha8h#^eGstJVIPEPjpaLEV}!r?4ROyx-kO^- z-!}eTwrd)D%B;yJfcwf0vF6!|@IB7M74P+rUjszEc6W(iSz56)`!1s3p)Zt??M9e`4wi|CN)GayKjbWtH=yKXYSPrY9A>hNPj%_p<9%~ zmK&lBj%LoH#)~fioIZZW=N3V|dxVG>v`s@Qc?bA@z+^zJ3oL5G@8m!adc(C}@MISX z;i@`km-Zwvm4Y_vDShrinA@E2$hFnZ`p(&8IaHEfp9vmP3B$z%xIDbbd!z2~JACp+ zYGC}dzVc7JJpXbW$VQ#M=$^8ujXr}Uwn5;Z%3cNoaW60N)=~&%!%eDKT|{;nlo>4e z+%&i?vco`qNsjmrtB=rFJZpocUms6qWSZMEms92`yiS`(AgAohp@NYLTDHo{?DzJJ zTL&^IquTGjLrw^_PVnWy;!9_HSlN4A#$WFw^7T|^vy?8WP0*=YfNYOYLtb7XZ zYVC(wNUwTcQo6cU;{h!+g+V-*v$6-i<4E6Tpb`KVo-o`_|Cc6LTu^ z=d4n&nDt<}Sd>*K_Hk%E02!CdQG>ym z779(MM-5st{&cE2NV48^jxrb746)w0!LoKbbJ?3eIT!-ND54%&lfX{`fcx;=FGtRZ z?y!W+QMori`JcJdl5Twev*IYbzgic(y&(`(L!!B)beAR=$p1Kh+|96#B7YLEp}RWT zI5U-YZPo4s)oyvl(ROJ-#0%M%^D3ikInR|%@^)EEyhntVy$h*nyJw}kPoSgF?%vP! zVM%M&$|Tj2%GmQxBxgQmk1u^G4n1h{ z02lnt1w|WxPBxRCwa-a~K**E)ufRZcf9ThgyB`WY^KGWTyNb`N)jrCG2l*+T`=N-1 zO~%V>9?-Mtoc7x18h_~IoSKl@lwQnbcVC=e8;4Wk&%)CNscqo}Qg9Uf$KV+c)klesKdT@*-_~HT>kzvSSIXKQ8Uy zgj3Nju;WAxy-PcYo357V?oB#4e5wJbyr&nD-%S7RyRW6C1LIj^1;-u8B2wP&(^=pR z3Vr5av|`p0tshl+mR0AwbiHdK3|_;+-2cI6O~wFxX22m1BB!hZ;PU{W7?Bg^C3dTB z0h&zijj8gy84L)$M5;rxT0;?KJFgxau8;ebJOfo`hw(!|+cT#@y0VZ~Y}O5Hfe4mz zC{1KJ*|24_Bty;8H&EP*fD7R>@BqjN?l5V9`bi{$_kW%Jn|hYip?1IXwmSKKbUjwY$B7+2 zH^AesKrQMkoUz{$>5`A|wV;mSYW=n5ga?}~ouuy#)R&7VW9#Md(~)EFH_3Q2f!RrHMQ{^ivfA!?CbEOZY(Lom&Xw~*4Mf}L$U zQ->vR0v89}?g8w=7>pU;Ti-|b1dF&m8Im~%ChzOZw!}W%r_OIy&%7|qv1A56IJjey zirBBcE4OaCilS8d&puT28<0manS6C{V>1N?johH_6Jf9Xj_g{0>u%W*&j9TqqSh@P z7LQvk2f14xR7eM|tG|7a5EH3;|cZpl}6X$j7dy1}mzEn?L^onIlNRKtwl@o%!WurJ1 zMFwNh{`nvxU`vYq>yI5Kk9{-fq&=tP`T6L9eC?B9wh1KG$S2+ng?SmG#4RxmPS1}y zPj^I*#;9;oaK9>@(v=)D!p4U5=b2I*odJKyM=r)+_YbC4;h{c0s91Jk;g*NXEtO%u zPa@$~_#i?rmr}UuJE;A;ZO^Zt6{}iVOL6f#(Cm5B zhNo#;Go~c2xLL^Ev{ZONFp0ywk-M=F`s7dCWKfpMr+C-YT=`9a=Bj}TnB*PMj&6?p z8qrO&X8gdn+wsj9uugohKAVnmW%P0iKcpMwqEmO|g!{~=+U;~LL$vA}xAhSccqa)* zyT!?p;h0ZrDn?k6IF%L|VA3DFN%Z?jo}GD_$)D`TvT8YHY`&#&`}JRds7V39g?atk zr*?-tluKJ; zzq3vi_>`%}c29kXZxd%q>tD`dS4hhQeWzDO`Ca>Hxf#S)s#VF_1bBDR@a++H=~mOc zaoH91^VCq+^CpAS9NFtQMpH0vEX{e75n);8x&+FSH&+sUhs%bVL`qV}Z3{?D*?L3U zY(LPna*&QLZ(ATTNM&cbI1z8>7obS(FB&Yda-!|H{}3$`gru$NjB13;BfmMf^49nl zUTDV~HG}v7^(VIIE4A(z$D5ybj1RS^Zfz=gJ%VozYV17d{=Je zlGT2SxZWpYyOF+4KKHPzXUT1`9}(xp{9L#qnc8th0(}bmA}YRDx?&JyW6lKcwKq_o zSN_xjh=7k!)(@nbhhBy>Cb(RMH=wbwH%ujR*XhWFZdj6(Vj-+1kxbtHcWS%vu~$+q zfIijQy0A2X9u662eRiGBz)c>neT_%G%GJjn)-!IKRRV~PZ8qvYz+RV6W}cTzF~ma% z28Nfk4-GS)30{ri&!oC4AtU}8nE7>lWyc!Ntwm~+8|K7n(*u}9yq8t$l4q!Vje{k6 zylxw-f=N{zFws{FYh|$qkp&F!l;OS9)XDl_M zbTp@uVO#*mhVhnkM_wwDI$1ZWwpM38 zmifEZcDcjDFrDkoCrUO&8n;g7qIZYa)PEz&IU2QyBbTv;p*ZoGCw9;`YW9yyn=q*1l?2dg=HCm00JUC z;;*?m`(yYso0apRsb*dVt&8aKMmJLI2D54IqJ{oqc!IcLMQLd%@)A5^SzPG-YQ2jt zw=h%Z;?9@^JoAf^=B$1thsuZT5w^}x&vlIei=%$5xLoV0LPd-Vy17ziv1&uC%Y9Wh zjsg3W3o23XP)o)VbDaSz@{xBRH{9v&EBeg;XJkhxP0l2e%K9=|J|nj4;r_Pr!>!f{ zc!lbHo+8zho8VI)UHD~wd(-I33Z7T7hpK&!_7$#b4Z-`R7Bs#zOhhpfX0YGF$ zkRid*?N*v?auNih-;Yv+L?uZi%O(l^Ujt5`5dn>p%D+%NdJWp!k^`P70BTRJno)i+ z?I@L|M9MT-5H*YBEN~nuRgWY9e32)n)^efF^48FOGpUEezLM+7uFRR7ax3kZ!cU`2YpYz zbB=vqO@C0{GZ9u-O!_L4pBb{w6?!SsOm|5#F8$4CElm}6D2lcd8}p$YAMW0QlO3D# zqj@7GqS*+@@Qz=Kem;hp>Khl4UB-%LpM<2^3M$%u;jq5BisrI<% z95Wsmh=B<}(5l$ak2@qq)-QHHyDQ;|x?ztYpAO2phs^d~N`R3TX!!?(!6a>Va3KmF zc3&TeXFz;%Ty1d7{zl0CQHP@kWi`+x?>^ZWN=(}x%L1XjyDg&0PX}0~-2UcS-Y&F( zkR#-t?GvIpt^^kv`9VaT*ChtSz;{Qm*IX`o!0PuFfM38@;Vs3*J4LaAXEMY+0}L1b zVB=esY02E^%pMb}Hg6u(hKWwA_n`A*# zyL80c`{V3obA{Yk`nwEQoa8t3Wii`|0!!8tna@+t|E0{6k7j?Cdd?EQYi%z!&nMi8 z+2pf&$Bdj*Dx`vM%-nbOd*FX>%@PGs&`kV^et@pdC(CyL_#nvH@{?@N<(aa~&(_E` z!Jw8J*7@Ov=xf$LQxL1;TJNXgsh^Ru-rQPI`brxZ{4N2scgB+$FqHw^9}_68A`6l| zqeuyW)QizVJ}Wo+w=^$Qv1W^r4w5@Et1nyjjPt9oN(Ad=pp#|V?(ys-W`#R2DuRdh z{uu9!F23R$?%`qD9CwLmq4edaaZZT{;R>+z7jNhTT>5c9>8e7f3pfky1+_o&a{@dr z9-f$j&gS^_(Hv6zokbyH{GF#m+y=2pRa=QEc2BRmczeosJy?Wo|Hg5ECIJG@$f)$d zA`ETEBu(`^4?E_Us22|?2f2+`Z(>Gy5c}`tK!zyzyr=(65H$xW(E%2hoUJBqfTk|v zs-{VG{v1o+1?wnVTOg;fTj<@L&7Epn(9tae{Mmrjht}Cu{tzs;=eO1^NeO@>gt~cI z`DO{KKVZ7FO;rWd-=!AHS-r~=dXrq!d0~X>&u28z?pa-h{hn4~Y<0`YQq1b_q4@TE z=nUkZQzr8~s9v7{t7t`E_`9kez1%BQ+N@QiFSkx!C(e7Wbe!<;GLZ7Y-`o%1U?O^L z9EmkS6ws;_mbZsAI0>{WjD8c|q*OJN=Z=ejm~bM+4G-pW-|zv(~G3iW3$KevMVpz6F)d{j3Svl3A32xDSY|Dz6_sV z##OzLL^8RM*emM-+Y8MdXQ!g~xQ}pE&pl=^Rcsfh4e6*A`_J$s(_eWf)X<|Oayur0 zFNi{f`tDJiCx!^VU6>oTZ=4!ED!>>{wMOi~VJjWZ&KTv997fK;5ceNUm4Di|L)Caf zxSV&aFApwys9K&F_(2ZG9J)3s>)flSAVx{reH}=(BlO+7HSQm&bmWnlt!qb5{#MO1A+SNOUzpKBh4Z?J1vBJBGwyK@A}_Wg8=Hj0!d zpjERr`eo6j-(F5JTm5{fZxcs&|K1z4aSuodTNl<5lBPLSN;Gt z3f9e}Lh<<+=tqTPf_?XoZPGs_en!q+1TA9!*{bfGo#oHJwEUR~7(u1B<#RVclBguL z!T_T+g_Q)fDxNv6Ae}4nUod8YF=~ieM$HU5dsE|E)fq8<9NL$C+5cEk|TBTEZ3;%yh;}4J4WE*PtzY5(9y}LK z)<^CWSzEtRESP6g`WbZM(*AM3M?5F}ei3Vj$J#d?^1<5?6k@703hbshw{l&Wp&{$<=M49Q=`aX3V_rN6?*$VY7H=DPXJtyHIAwGY{C9Iy z)r?#LDcR1ZN&A-olM`KY$=e;9oAu^$h{?ayBTfzJ;sY_-+x#Xq-JZ|EIN$d22)lC? zP|surs`$rme1nd2^zROyvDF6y*lZTSCzA<85?(EC#J;F?oVR?c2e}Y|L&5iJCbIDIY+ZaY6NB)dgI` z%(4PpH1ETMK%bTs^)>Y*(EzA8{^m*6$f=TDn=5wQfhia;Hn0AMi7iUDwyu4Q8LTXH z`5vyTJ5d+3LDzZ^|C1J6zfQ~k4vEa?dUdj@RjaB+bnBcP1uChuy;7@20ZUu5tD;p_OK)@~O`YP_(*ta0%)x~{ZrU!9dy$K@b?$NG|#J;C*MC`iX#GM$wB zu=F4D`*(XFqn&V6T((G^s^#yNdfd1*=I#ef>;J{Cp2hkF5jw!^3Y1?8b67P(#n3o5 zY0B*M=n2gG+JctUtPcC+Et4X1_n-E-GBAy>GBgT{{)Dm0vDG+4@-6wm;N*7H%(^wE zvV>*r-3AFX*!zBr^|6a4Pc7=1 zI>_2M74tbC4$2YkAM=+F`jXR+J4VRRR2O58Ec|8a`c*XqS;N#ObJ24%89IQ z?BhNFL=PV)znN);H7QShdq(C=CzjO>iUO=XYou9{1B*xu~GP zyOw=Ab92{z{59P3DiU2bkiC(*(;g1C{5Gm3tlk(7Vm5Uy>&C6LJASYLge|u1fY6no z=c84@ZOgNyC-?DXEl2q*0JkT@P6a-OqRfW4=lD7*evDJzy5_2LyJ$}1`hP|XD|bLX z$}f`jX^Bx%^VQ2JEN5!A5$=4ZOEE?Yrlp9APaOhYk5+Gi;(i@G^mSN%&py=S0UY43 zG&`GA+zNaFCu{V(z;O6d=ZJf*dn4SAIPXP3@kw8b$RfuYJXe^To7?++4E#OpW{D2q zDU#oG-vj)pU5-0TP@8#SUd8fJO< zW9^5N=kF7^*4Zq%;N328m!7Zorz0OvB+|R0_z(dx%niveS}UfFq-BuAioEYiv(oM2>Ae%HOse598?kh9(l$t<~9f<{_A} zXFT(k1q4wP_oaAxaG5NaE1>1IZM$BJBuw|P?G8Xje$@5KcRqAhFGF8>spR??-upE0 z8N5{*qb|p|sbrt2{r<=(!9hFm8s`)ZROja2BY`DRwzKV}0KJ+aU}eVVGRZ5WJWZd~ zWE}P_Cj2kI08*{TVJ1$M-4wjO!lJ+s>6@;~3F!_z!~d$AZ92bk3cT^qg0(#nnqTU= z5iB=-PXb)f3Dl*mleuu0!(&w&g6sq~=W1nVb?oopV@saWIvShq%kM`e@g=`fn$wHE z{~lpe3kqFIr7zeFU%`VLav;i_Qs?3?bf*k*DPR8)@}Oz{Pw~9V(0S9MU_vLJs`8z zI9^Pg0RlWyISD zsQin|x^6jwE-(tn_@}gG2m1IGA7hmfVh)XwiIzoe$2yucs#VU_9s*JR09K|DjrhRC zjRJ5da?z5T1*GGltM+FQ#V^DviM)CpKGUFl?5)V*mY}k4MY?|Gd;nT&5s%UgoreeA zdk3Y)oRB}Lzt9a;K_{?N8Ue1TMoS2R+|&V38br<4nm3kPJCtx6hfM)nhCCScdzOgE zF)(CaOO5t>HuJbeh3Y3vqt>W56t8~ZvpA~J>o8mu?-gT_{^+j@7FdN7J9+63_ zde~uzCR+NRw`3k`OmbPYY(dn_sE`kf^ei@0+JcIC91;;K!_pbJPUz#l2iASFJ{3QD zcanyx4-bxMzYpvSM*m#sa>=adog1(9=G;HUtL@PI132ATfqibwNRR7*j!^oa5Ee+l zYTCIRIe>UmBVB((0lZgtq=v)N7|iQ!JRn}L*ojOjyi6S+7O;TQ^@g3QNpP#D0?NTEvv1>2Pr)Zuc4wZ zox~GUqn6)n-&_?5FPp zWc2qY>tNvBkif#Z8JNDUiWX~q4pVu}&v02mgy`|+@S07z&*k-`1|rnLm}+}52~>7g zS*8=+pMSPrEiIniANzu*2LG>&(8a2%W@4$~=m^iQ2FE72(z#mZoU+lB2k%@{x*h;$ zje|BjBx9JB?{&pSe&4h`1NWv1Yt}~riCdzA{u`@nOPJ^(XiZ;{O?$9mZxo}iHqbEu zJ`e797iiXu2w~%OWr5GEpY#1ewjaTo)dgHmw83Cs^nUYO!-H)lib)0<#?!}V$wxpK z4rUyV*=JxY#8%3^dnNTVwyJTMM*Qk$tfO#ms|^>S6sz+`?Vf7T`Z7H$>r(En@lerA zk^Y|G=e4tyU=fI0M+6-GGGtaSa+ZTMhR#6g{r$*oxe|qy)~ABrf$kJe^N*GuOHQ(R zQy&n+$wm1f^2F^VDHk3`uE>j$dyoPT@ug9uQE5@<^aXC-dJSsui=x0E1b=J}_(ANT zN2Vh%K125Ln3*=v9OcYBDX3ls(L@$nS!Vm|LYi7{l^(CAad$+k!J(3Bw*J&MB9{d% zW$)%e`trmBbJYsj8<)7=0kn}*qJnxdHmdi0bF;V=v`f#{=s&c^*kRn#U9-iWU$OIB zKhJA$Q2m7ufkHt|+nJsLyC?-wMvBls>IMv-fmn`!YeAK5DYw73SE!;{;`+c1VKSjN zF}?oUwO!BFyTE!T^&M?6yO>}661k>w_y*h!FA5r=Q~07HVm(`?L~LqhWp!3e9D=p2 zP1Xchz!jbdO!ZQ3F~}^TuD+_$kjW_7^@eue<^e;`XK9YrZ-*4f-O*GuHH>yzqUfe| z4SL@z52_j>=lCiBRvPaIR`XFv!a>^F+QkzM|A+1IAbmQJODl^~7N4F1%B8IDQg*DH zFN1NiS>6qV)|&t`iFRHgFpT7G#t~gD#B%*wz)PZkqI3$ToszsXju6XO7CmrJhsNd} zK3PoFWG5~#L7TJfvhB9Mhmd$-K!Mro3%a^mrYze>5*$SiCmWBKb;+l`xFoQyZfZ{E z0}0f+2ZY{0DUv?5G(PjdX8S187G)a_^MBP+k@vkhzUJc_A71TeD#FdZQxB1+9Y|H(-@qa$>y>es@Kl<*jGw$W64Ow}_L z3)9sq?@CWiP9#pe3!3r;t%&1?Ia+zKRoW*%bIp-`KIebv=pIa&R0s9 z(3KYP7Y5**jvL&HPSp%H(-T!8d>-kHuQ616rf2edM|0X&-$N>@+L4rOzoV)&Y@7)h z$Qsz=uFA|1dKq&>E@Kyn_=hP;Tcc;0N}(%yVt<#3e_(J$e+*n*NIjw}-}RM0$dpX| zWI+T<%xO?=oO?hBjQWy9-Q=HxUW>dah7%tHJl_eT{+f!e-zdK=K7m;tgEL8pB=OXs z08_I9ckb1i3Dnk2N=@0s+vkuXPMl%n|K#aGE%BPoHO_uQTR3$>ntIQV+ z`|Ozc7l`i*enO@DOr>L}i$-FOdbk`rC@E+YqDAy!LG$IeO#~84cFHgOxkGiau`!-5SabQL*@hq79sor zYGumeNKv9(3uC>_N4NNEc_Ndlw|rTi4YwSe_ko zt&w@$HuARR9pGRj-SCL#syYpfY_(LBM(FF$U@v^_a|3=AZuJo=V=#5@4u=$18_gm{Y04+3-GEZ zD8nh)7+k7M5h}t6O+cn4%#jAKtMbpim0Zhx6O_2EVZcVNG$1&#)OT$$km&iu+wY^v zD@ERLKDXTAj7sK{5%=B|dEsDgx}enaxU#9Bz#R8X+%NU{1=^a_)O?r;r+ICupjtb; zcis+*&c0Xw_sCtsL4)otv-wgbZ=GOG<~|J6D+H?WNxj-qV@{UZ%GL2i)F1jHm~6@I z;t_eb=Y;K(vVU+84NPS%_8-u4i9`ok?BRi^<8j5#M5!^kA1}Yw)_@YGN5%;>lE2z=CW0%L z0`-Pl^Cqd+-6NYdM-fW1FKcHswfoe0a}$hO00*gzo2UDej8KAFN0j{g>W1s!vf6-U zASW{W!C|$ZrmH9^vH6|L^PiRHr4mZHeN455+R|oL)HR{%!+bDaYfRh!fZy2tV@&%h z=ZO5MJK(sf@nD6#fkv_{BmLQY=$}KEsal?d4EKXhu{!y$9kLm zWVw0Y?-bz7q)mZ%plX@(uJT?yI^hUkub}mglUN2Z8L{~CxOgT4C&yQaQ&1vfmJ`qn( z44CmVl&0m@)WcAj*m-PB0sF}|M8Vm%?*RJ12L|YY%2vynvKD{V6P|&(-+|c(A*bzL zG-~|Gbi&;EJW^M9AciTe4BLearK4uqr5cRe>we&M*!wr{Usv#~{|Vh3Z0IBTKBG4> zI;tiXEl<$sIvU@U{Lz()UUkDoSy_4ZCmk)YT_GakS^8Td{M zrG3w(9i$@jQJRy_PiQ;s4x`)E6!UN@S5%+!?0LRF&Z(6D{v%3UfW|8X!8!Dit&ebO z*e`3?PENpQGc9P{uf?E@+fnJhqFB!mbtP(5zClaDa@qHY%$$fh){A@c>1Fbd&7-Y- z>0n@>K@qaTUwz{2Mai2aAtP1Rhx;(%dYEs_XRft`xgWhAv>qy>?dOA;+Q|P!DH^$U z@+L(AWUNG}!1s~ekT*dcCe-NFy@4KJ3beKpV;Ectp$$$*h7CKjwuRuAp}0!Pdsg{_ zCKXt!^A)>m2lD6NZ=ApfgOJ|0bEclKJ68sJ*}tYMR{EcTgI1(!e`FW6vv$B7G4;j< zZ3hSQ*o3FRD>d<~<;1HT0+1`MHXnpG#K?;(y+j5ax=kTEvqJ@Zk?dXlN^t%I*%N04cU-F6VLq$hCS`lw_u=`u+>$IW29v?~ zN%E~C5lCy?eaEAtgdFMnaPy^&HApL9AbFae<6|zE`IoHbi|FVJ+&m)RO(plMWNwGN zJVtsUH&QZlsb9Wj)Fh~0w)OA5V4%{Z3*;d3N_-=2#X}`sd z8DSf|H8Eompw7Q#Vi->;`S!+a>RS=?1hQS!Pe45NK9dL2?emrXs}A*Ln&F`rB>n%N52@Ct)b#kjy%#&UFxN>p^~Ca5 zs3fSxOn4bn@rY$U)@2{v-Q;@?|MW!V zA^otHoj*nXyPrbT)>wH=vi>;?uGMeFSB*c9#?gq!gz=^y5Q$TPBu1&CRvoVy6LCKgSAu=*@ORs5?E=)d09$dBQQKQpAuR^Odx#4gLrekvGp3FN9 zYQ$4nnx*|eTroVw==Ut8gd&Jj-~RcA0S&-MX9^kB56=Mr4wm8%kzPQ34!4R@pw2p*Ta?NHr8?o*TGedTyG7YHD5NzOdP8 z`7#|~BcVcnYaVPIi&P}|)B4KD8H1Ijq_9^CtL~l_11aCPEGzySi?ttsBCN2s)|u_V z*u-vSnR+uBa2LdoVVgZTZaNw9xZO%zpv&8L2lNmN^a#bLER>H&M!_ zLbyAxaUM_@1WK2G0b7#G;9N&xw|#X2P)?{OoTTb{4{I#&*x`8b7fR>O*%kjvbH>v4LIiK$Jqz zIwSmcgS<}jvt#^)0CV`cFfsbP-28HPEaXQSjd{B*J+4nGWYbuBg1YRZOH@|zQ9b9s zWIsYFq@mdxN*uY~h$Q&!Ts^y?T6IDQTfD=ZabUBSCvd~rj+E3St(hl6p1+KYggyCy zbMo6kffPs2S2`!HMHI$G-jF*lt{a8r*9VSgC|Lt8xtw3D0y{vP@foW=AhG1M!xyo! zV=UCxp!t66o~N7|=|SR}h)S&^MhepbDRlf&oRV!3`ThGD?2Q1l7@~;I{QqQALW-CG z&O`Hy!i^+sOlJXqsV0f4nMhDs@*y+^+>Cxi#Re#>&C6qclHsT3>dx^HFU{ODh$df~ zRIIm6P&>g4;yxGJ#q?C7Jcdk!(%~07F6-8&%pLc+^_gc5xH_di3Ou;@K9&Y1gP2on z>F%3mr+qZVEMZrs1~xcch&$QeinSx>nNi+yhfN@;ssXY zG?Srq^~pbP8#?{|G4!brjroA(734IDO!Ub?-P(GU zoGlaH5H>N25B<-5773cLNs%HyZj;-l?eTgD*h+cCH$p|d^!lfKe|+W#=*1B@cYj}O zhOryD1^fAETK#GUrmm8ApS(^pP}F%wyqWJLcf=x;sqkx(axZ2R+soZ}ISeIx^Y|g} zYLO94hQ^asOxV%bMOSe~EXmTL1CyWRCQtzOJiYadU32OwSJpJT#fL*V*Ff9XS=jbH z!^6WNzy{)5c!I{c$jC@HrdEg{Rv&DBFH>-tkX_&PZG?v1K?|`L{9l^;8&w!^6RWAr z=i{;JAcEnyX|)w$JU!VBn3skHPYL;q3Fj^hx2HU}XN2dbL{2XJN;tJc>HNIAewgKA zKeHunfl;A>4>_XlsUtZWRm z?7(X-;|QoD6hlIYbw8e?HwMp!yYuT=5eMDMvN1$dm^!Z~knAPPKfc0v-pl4W=vr5= zuQq=VoE{)nNeKDU%z;kvl&CjqK2E?5ILl~prQYSDkWjzRji`PJq6x85QDfR-zXNX0 z+SVb85i(7?^!9=H2vG`Z@E5E-2NK5sHtYZJ;2F6+Q4qe?7`=)78_U390DU~|+hMN4 zw$^DAJSu_XbisKAi=DenCNEsIH={Ke5p2ncG5W#F=*vRja3No=r;X+7V1~zU;^oFT zcsuRxTsL%p?ZtSg`Cr`d1;KQCK`=dWC_h4@3qUflubdD-2N)5w7;$%opYcdVKHmHXoZYmW18T>7^cI)T8qP&Hc?n#)oGEIRO(ab%TilK#;T{W9}nsJ8GXo*+PHE#Eh z?2GzqgnP_M6Yv+xFZiYGOM1|KlN0Ken(>*Taqmre1ya0*J=)@rbX;YYGOOg_7s?!)qTPplB`{29RaU+)swM#S!*3uU-H z^y9vII_;@T0$G#9O4Pf4WCE%7^}6+6^n(>9qME_N!XkDZ*namVvh2(izY$)+tWW@P zpD75KQ<2`1(!!DomTbt{bUrYg=LR>n>0bH#+*jtAF~3`rOgF%8jXqC*gir_|8mYR+ zlbrW!4Ku5M(rs=9%!xRTHq$?N+6%@Ze&B?j$4wsB4!$Hj3s7$TydeGiakJ8`QCvf^ zDxfxrR<$(9JWa*w^huV!NXuelyYv1-Rn&CYOV$7Ph=Zy0JIJM*imo zAgnx58NYr{M!FORO)BSK4`=^kdIu6^UwMxjp|7`aJ_e5?89{0=KLeb59XeqRS@O&r zNa$0(QS!VPh~^0yMHM4U^M*^7uK^<_x zm${LRX8W?0ULQ^0*1#Ki^!jhlSC|RssRUj%sDL7s#R}^w=DI=l<`049++tg3Jz9xg zn|EJ^ zfn1`8l~Z6_Rt;rUD+4`!YCoH2z>Oh1s|@#ob(Nxj#U;dA+#|+xGuMl6h^aqBEhakQ z1`==!Elt{k$o$2T-DJSA8H7>HKQS#Ub(Z6_d#1Ae-82$yss!%~AzFSjB2R)NHB81N z4Gb+{8}0c+!c72NLrr+nbRtmm{eN_8Qj-^Sqe^4O0X?cyuf>c*MvF{NA>t&YW3{LN zBYP*E{_&U|T3Hgi;d)``xY!``V$(@CC+m$i?xS2J1^&^xvGQOfIfwYTpkerqmBCN_4Ic)7xh15^@WAXeX5F(d6nE4ZH-@2{ZR$uKFo+p z7rDVQxlM-;STRFK=^dFo-(SgeO7Y;6WE)=V#IUCNU{LFUCCR+<*46;?YlLTq3HKc z$ PUc^9Apl;6jS-j`d|}- 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

        ID!LMUR;!Avg(Y-cTWfC`_2x{V#8#(3J+X%{F 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 N5|bCL5jOn&{{S|)6p#P_ literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/logo.png b/content/docs/smallrye-reactive-messaging/main/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2d957bd5273da2c077a34f832ff2b90ee2fd136b GIT binary patch literal 352162 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 rIK>@DR%@kxUF#gRE-nIL=ZHG$4Qu|D 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 z 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%0AtGvm?Qy4pGN%$3yXmdqdIzUc_WT7a=ij; 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 JQnAz1@% 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%0A5V}M-g)#}54DvjpyK%e>v?&|ROFQ<@vNin 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
          y&QVOZ#9TM$pP|3Ws>?A4oAO>R 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 A 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/messages.png b/content/docs/smallrye-reactive-messaging/main/images/messages.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b37e6a29f6fcaf70574aab2efb9949e7509fcc GIT binary patch literal 31071 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/outgoing.png b/content/docs/smallrye-reactive-messaging/main/images/outgoing.png new file mode 100644 index 0000000000000000000000000000000000000000..f5aaef29d96eb96dee426eb2724414fe6367f7bb GIT binary patch literal 37982 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/overview.dark.png b/content/docs/smallrye-reactive-messaging/main/images/overview.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..22b5ab45af0ea1c2ec75c15a95dbe6ec776b376e GIT binary patch literal 227317 zcmb5VXIN8P*ELL$ZYUz4^rk2XqI8hnrAk#gq7X`eNGFC+q=*y&DbjmyB7|N=QKW

          J?}Uk6T-PTOEYUc1>SFqAJ!^vPecGK{=H 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/overview.png b/content/docs/smallrye-reactive-messaging/main/images/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..42e00e441280da27fa7af6830dfdca4fe34a2cb6 GIT binary patch literal 332218 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 z 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 z zp`Tddb675sC-q%jIR*t6=rKQsUa&l)7#7%z`qj9Z>YA1Ej4N>xEnye$b^)%=16j)~G#0W{rmiHh2}8un9Y=4y82p-D zPD>wf#}r$*>*pE9nPYRpFL1>W9x+n~p7&te|t82G7q5Rz*= zW9;Jqq#EkRXk}h?Z_H7LJ>t=;rdyUCM>^ta)*1Cg7(j)c%Jmi6$>Zl&)_U6YifxNd zZp}awdGF15AnxtQ&o{Y7LuQt^vh|$ZqAN&0)|=7a*{yp+a)ECRGc-~*B2SNO#KjOs009cJydNa$uwRIV&;Mcnp6VVCnj*01j5wEnwQX{g?ynq}5@FEfuwa8u zD8OO6HPC|fh^`{7kM*-6g27pt`h2S5&K;@QW=6Sx-v*oE5+6o2SW;IXe#^wDU@4}|p z+HXqg-(TaBuubA&u^IbY_gVpg>T>Q{Hkn0*p3LG9mz^#Z)NmbcELDLy^3ODZC~f#5ckbIE$b1-2-ccvS%X}Qi(6cd7 z3vAcb8?RpyX-;>{kz6%gME6DEK<(W7LH`?RzP18KwnL*SnJOa@I@&&ClZaT+_KU#9 zgtFtJJFdUvo`0K2y=3=(g+o~&jm?iBV={(szDyzf-uF~LINe5ZubB)J76l*}1X7Z{ zveR&atEmj$ODGP-#*?d~Vprz5eywvN04itRn^s8-W^ZaXf2}O;gr=?bdjC4DA!5uX zO6waDF5@f+#IC&}ATm5yW^tHAgyb(BV!=#LuNHV-EM?Y_E(&$JAc16ZI);xFP@n#; zxmcepu&;9(6Hyj>Jvo%z9SC1zCavAUO0;14h@%~UPWZj{?T6K`vM!MU zv0UXevz?9510O0AOghcUgs7JNpvRPeQhUh*p)-xT_f28&Jv#W?A8Sy`-e)0!E^NXCmIzGHDX@Y-u2Yy?R@LT^XS?sAU{7|E)#Pl!Snee+Dbl6?t-kebOd&ssjaFq#Z|umKZFLL(Be%pJQ{5}&ABS8~Yuo(G3*aV=v%6rL`3!fQ__o!7aRoxqtz%{BG$NAn_t6L% zrN$Ewi7N1d(Qfjc41E!{@4XNoPw!Ii%mtyX8l|1+ga*bqcs|uAVBzc#zszC;1d{Py zng`8VySQ8l3=Nlzd6PLZZB=;9HOV{XTv>xl!ge5&*reH(y{_mV+4PD9BcDx85M`j9 z;~#qKEEcc*y6+tjV#13=RiiOfcaw@1W`84!b1~81%Xg!V8PnDYE~@QRpNZ@ zaP0V|q{RKnd|7K}@b7J^2h-TbX%!CGLr}D|TS8}V7h0A<%L{gRc*D8`9!gka<1zzH zY23WVqqjChd{hcbw?d$d1a+lu__xe^-GUaa`pd(p{=6igVNvD74s(MRRh&RdGSH)RZ^eNXhDH=+CgZ< z*A~I?#}tDUWm2`i2d1Y;%v27Gg&O3X_yA`URq}MMsD-37_^9-?p z7KQuaGg44GV=cz8|FkFVw2t$`o7@Y9>X3jlmHlwSF0QX@WaJh4mL_~pc!~ZT02`6l zS?wI)Fk^o;>3ARE#@_Q;f`&wGxw zB))E2d%pOcf9SbU^EoZs*}iSMmOXro6*FH{WXW%3=Z9x1`7ReHiflosJtjzf!sXlX zVA@g}K{ZVJnD1z=^UVsQ!#gA9(VGY#HMEApv%VY+D5G3LNly3aH?5L0^4P=TLCgWt zk_rt)YnjxiJ&aaX2>!lC?`fCF18)_jN|k7MZ4Rrf2#BAscyU+zA!EY(#k)6IiNZU57s*Q^#o1AG+* zzyp)TQ<$0%og|_CTGd@#-u=4~5LPOMEQF1I`;k?l01=ZKR#i1Q;@ixMYWY(u^j$Yp zA20MYnvo6U5r^E7mK7G7ODvj@64=?>s>i`0wX~pX zeXafn7hM^7{)@3*{){e{q_bU1iT#$43s%YR8Pm0INrzCU7b?jWIW}ga=Th|@JKvNIPdHC>&fXSEP zv1KQ{=qVVXsgjA*`CjhOwjkEMsn}UPqwbaZ^3vCt zUHD~`%-<*7H4r$Az|C}HdFHaCN>4yQ$;vmP{y)hzpeXbgLN2!NN8j&q0C=^Mz1Sv> zmWz1m8daIb8VcPKjaHrU%=JTmaT1KG#>Pg3sYn?PfgR2G5B1g>F6>7#5^SjK{(L2G zch&i$IqPB!aAB5IPLHaY#mr`4&L)uD#6J5~Yle81B0FSpBe>?hZ-0xlk85UX%1*wz zUjr?vFLZTHgjOc-$Q}0*bT7@WpA%_XTbg~#`ff}tEa7Jv2Wn;$`NcXOH3m8VR^!Fh zyC%*CV#h*>5Y{Qj+rOxF$3xkX&nf$`tXxB^pss$z%*go0aIb&IlKMA~6%ekH7sktK zKH_7U&IEAz2aOd2#-@Y@F5Eu_4CS$MX2kwgE&PaCLGsH;fJ~YsKi>llJXjAw!?(t6 zOSzO%_Q!GMxp5ao8BHcZKX_|0&4$44nQvX)ixE!k-qXrTM?_WUwg5{^wI0WKeyXYY z6CEUdSc;$v7^QwdtV9IYd1-Kbc(}l}Q*=Q8z*-)~_otm+Jktw<6WTMCw2Rotzu6v< zLIr(8OFdEkkQUymDR>{YMlt35(OwX%D^_qzmaFI}bESj+BCY3Y-L5+n^KfH08a)en zZKR&Bjo+@Q(0IClO!tZA8lHTzt8>sXnk#?WMLSWOJQA#?9oE1``-L7NtG_6+5%LfX2H zp6Ta;q-wIM#&8Dw4 z2$c^^etI6V29Vv2*#&=DSSH25+rzW6M`mVoMWp>@AC6Ou$sk(i;q-UdZ9VULIQ==x zuhW2S-GtudCdQRGk3;^rng@*sc>+r{3}?v7kV-++KNn-3gw}rch-)WCq55Mlk-djv z#(?$ZxpXq^FT%0ivWPz>(v7`1l4TtIk13Cciel#9q8y;XLWEU)@exrcg zOxo3l8b%sFBx=^01gcza@oxm~E3az4BJr(3U9h9)sGa>dO9-3FK&Yww`fRgKeR$?0uiyH8q`wB#lKecb#Ur=a`|%1mvNaenrONE5w6#)^J?K_9tLkkxj8psK z@X@veVSc5Kxsjd4=Ec!cdfM^x<=#Y&RbgqVdfZ?Dkj4`q^>Dbdxw8l|1k5?+Ks>gh ziM_#5o7EMi+)`(v8@^`m(I=Ayb)?u)M&)70+mKSz1gMR=TT$L1-3Uf>$6EDC4VyEg zf9N#KK;6>k(Ye5NNB1&iW+3;J2rd{x5b*p8t05DKDck#)+V5oeSA?0wRJJuMdej~5 zs!K?`iYXGZmv(lKzuxxajWIh&PPh+%9sBU6Q)!JHztnVo>QZ&^DdR5Hlg<2hd(6MR zyq`q0+j|Fg42@v7UO40D!}~Zo10BTExK;rqMvRt6AF5ir?lmF;^=CAvSn6>UPG6YI zaJHY?y=6kR=+bf%QbToH0L0!{2L@na-`(9cMo=bbXB6aBCFvRunVP|8?|nTre31L` z%b1rPNa&hW+p8$B_##TYB;%&5y6ABLlV1RGgzE#-q-`8 zfNHNH=VvR+^7e{E^ZH4;m)^uQg~#dUWSMe2i*8{M5B^4xBPSIbAnDlq$o)x$@6a{z z=UX2CGimeF9!W0#yPWL{k+B-C?8-nTjHIzA=TZ-0XHk3scglK+{zsUWcYvUdzf#N^ zg4(~SC))2>xVtwsbW=tD7+lvdMaldT;*tb8k9LF}1o!$b5q0H1l3S?X|A+<=dwO+) zslc{*ptv9^0sxSioW|K9XF+YRvYc>=3}#db8-= zxKL=iIXEGBFzO6vB;>e#C8kFh?VH8!3WTRinlT;*%nf!VgcKL<6 zX2p?KE@gQE8n92KXAraG;WI6qxgX!y^}AfIKXj8TpU>Irq4QtH$=gwb;9;If>8J!^ z#xyq)J!sXMm4W)4WGhJ~L@nYL;)@6Jj|_5i+`M&scqk`=E^1AXAV}&L1OE=%ohiuDFd@o6@_aa zv(i+^S@H_B6ypgZ_!Xn1l1rm#@^Cpg4v;2XoF`uv3iEuDPQr_4G;vDZb!OUm4oE9t z9SpIw=t_BGVIm^b+^)fL^>uV@M09$Xo@KT2D^HEW#)Bw*U+GuolirNV;3&YAvZn-i zihW9Na(*llmUr`w@qd{Nn=a3)Z~lSMcn8!5ZG5waMTNuoB3+ z@~-TW0b?$x&ATQ1gVxG>^2rg zCi|fHIZxSus?5OkIDVanbbG$sOM@&KZk7r}811g5BA`IcVQ+d}px{$%mQK!LQAvrf zQf_Lxw69q$jiTP0S;3#YZBR0AQ&rVa0ki@Dnwg$9U#`#*A}&iY*HBcP+Fgsit0In} z9<8A;PIk_7VMmr_TGml)mW-Ggik>Vfo(*If)m)w8N1{k7WCRga0by+g+>qw=eYc>>Be~exS zj%x$4q+)pKzvsz;Kecd>$Jfx5(g4J$L3Nnx(tw6|_Vtz~yu^BwvAgJN75?cdvaqwNp804_fEGzP&&< z-sGjlT&%rTBmXFEEqyel%Kr7Fxq7*bUg*5J?5hjAaX_W{i7w1!%uNUDS@sNC_=CET z(S^7Ea6;?5HJ*tKNE`tp4~odFc3c^_=}>dgIxOHH;jzXUQ!gI0pM z4-FDOb(Yx@F#|pXc_)D~_^j7DphW;P=|gKtTPcCrO#ces~jS3b!G$(!0_?T?tEcgB3bP#?hKO zzdWSqgao5*b?Ht5o|<{2Ie@R_+?S>BW0Wioz#P(4*8Tmxu*`rkctSbGai_-Z?2Z@0 z(1VzY2uC53$6Xc3Y3@JPb7hYgQTernj>le41PvowfY zA&-)km#j~n)pQ$Wr%@W+fa?qOt{b%B4w1DHT0k~weWBAIqQ4J{+T@hZTuvQLO1`xX zoctc-VU&U6R-Q zX{EnpD78#=TxxG#A)CP~=8`l$d*O%~CCIO#u2ta(bx?pN)=(80$M_V?F2wZYm66`G zo7(xFO}~jLEAu%2Y+=Xy|Cj+$pKmb536a=FFWH4n8x$xdmywT&TTa#{@MP&W-XwhO zAV^%OvY0?P+gJ9cr*{$HdSUdTZ~iA)J(bI95N?6R(AAf-ZnkZgxbfw+EIclw%IEy4*D0QAYu)V)u_r{bJJ?%jCH2i=Xcl56N3DMhhtqbuL*o~j zpDAB|{y@ix?0tY9DcA5U=~>O)Tdp=# ztH1t#PG=*8T&xam7S5b{0@z~x>-ug-V$GzUfmm{};{^gjgVt4MN5N9Ocqs(m+t;1) zq^1zjm`y*9FBjF>%BlVOHOmp+NT0BuTW|o9E%9-2$58#bOv04Z$Vq)fl3F^!yRomU?bOND; zLrDN~1YrWtTiwGR`#S9l-$D&HVkr3`%9>L-N}tfJ`OD{$6*ci+FX0i|Ff6~SE|ydT zo?pwFp{{cfn=|VbYUkM-`GJKmT2(#0&MK;75l4ELd5CT41#jpe>PJG8Bz_x6OV5=O zobCLkGAjo3q;G)S*CEHW{^uSaRtz)%fm>o|K{38ujjJ(b4I27rEfVago}$RD@g73VQkI_$kSNKrI0d4kh=+MV5I6c*HH!6Z+yRz@FpRj+N}$J5P6zNsTlt@ zIpt+>TKD9>@P_#H2-70MZ)(YZ?JfWH(H_}bUstDq+UF@LVA!=wtbS>IaO80%llG^9|QgbO69i6MdM9A&5 zT}t)11BoUrE_~+}xwG;D>%}i56N@@D?O_}9M}r^NesIAq%5cuIR^l$1VJy_^S*(_-RA;VD3GQpHPjGT)Pl%FYk?e zHo35+hWGi|U|$WQFAcG)@t29d@EPKs>OH*DeFubMFW*8J#l=Kpxh1yz(SQ^`nnDc; zvk;R|MTZ6`{J%`8cd?t{AtvCFA7HM%0*~v`YZsuF-{=yO+e&xh`6+*+4LZT;(jeub zW{J!S)JrnKJTl{DCO)C;L+yS*z)rFCG{YT*(^XoP0So+ci}^qx$lfDIPeJGKE4qn< z$9bG)%gPDfY&gcBCVYN=m|g4s@Z}w~(Kxomkd+FdpzFnQH{Ye>^3ufR8(HXtlXlRvk#7~(ti*nmJA5#-6X}ftm{`7S8qA3y z2r4f{_J=*{p(%BG7avca#K)ger{e*!S8aCQT2|#*WuN2?EAYsZ-!PI5CB1{Gy^(5> z`aFH?P6xGVp%m`sBYo85#Y4d!iRo(;f$P!ED0eli$XjD`{`ypL8T~L3Q(l;4W@WL< zcq0Yen7=lk1R%4dcmzl8q7he#HE%APC*^c$mRXu;(p6OfPp_xjbssFPA@NQ5NmNPg zOXI91y9~cE%s2$raFm_|=M;{3^R5-R;c@M}K1eAXgU_?yhFNm@Izs(nhq;^iIkI9> zwWvkHWU0QcB#*fr>r5W}cxCtc|AayR{03d}FEm7EP#M6zLrE}r3f1M@($mo;>n^Up zxgrs6pDRXnp%3^{%8m1;+{t)JZM_9e%`rRo7Y=WgC>#u`pk~N!j!^EUW}rrpkgatM z(^<&(q-wEnf-Cf%=Dwaf1fa?_zz9e{7MY?S$O^ON2Ctx=Uq3YWx%J?^8K z3qf38nz1EGfMnJ&^Ip^JqIs7eqIZ0Jep035+lx~b^;ZI|u|~c-yStH}GlZt3LhasC z3L4L^2P!EjQ4zTyesR;^NF^S&4V2~L;Q`&GCEwugY6ARQ_>b5~w&_*}1shjIqGp&$ zT|}-*;H!odF{)j!4_>=S+K_Deu8$AcB5Z4284Wt+Mst*E#zyW|@2J6l6q5<#Gar+t zr*0<{Q0m@1Gx*ERZY}29+AmU4K6!}Um>sbVKWu;XsRC1mUOUiWb%E0BqsY@VemG|3 zu@)cZDcDa@_f`(oALG7Qzgi20V%{HLPu-dC7??9Na0op-+2 zCdq&(oz%Ovl$HIF-!j)!hmY4apfwz_$H+S9oQ`_YV=4$Lb7h4%U z?#AdDQOona>~R;Fxu7}Wlkq7<`Y%}&xd_N=PC%Ht=Tl^UUs@9JV#c2|%2273$?vT| zqG)&uQN@A~KRdQ6OL6lpzZe8vRXeaE%_i-1kU+Q;|Fm=@qTGrZDn3z(Y^;|>^mg>P zeI}a21M$;Q`0&M>9CL1-xc}Buj831to^cQ%;8-XY>q2j~K~v0XY6a2;S142QEvsYk3{r-B%vo@U;_Y&1!Z9 z+WMbrKERlggo4=FUO&gD5#QonbXS+>7-a&47KH)bb{}?VCTxnz5O!4q>JE{RFG$(@ zT4C;(Hx#huJ&V6sT-~mH2=gfOLEvhytlUTAaXk8rFh54+_p8=!Db^gV634pSGxB^T z9F>rLB%rYM{S0TbWevc0&J36%ku(k-i4C`SQ{f9#=;aB1MCDGdW*p;LKzOt;WR4Q{EtYiA*KzQ>KZKOUEdYu=1^Pzf&5tf%aqy^s-RRI6AHSfiC?Ou zSXLQKsZ3UI6oJ;BVY)97wYsMXD2O)=-LZj%5BG>pCDEi3!lLC*muOGAFf4z-8axdJ1k4inApS-BaIE8)<_Zd zVVWhfIuy?xzHYEstmCVA97fI8r7IPO`*zYakt2o{StOmp$XxEy+|sf^h@jz0)R&G( z=%iy2xp_}5+#eUUEfK8+H|5o9h9Nw8_(MR0_D1g1&)r$ePrMo3nL{(sBUhbtp|r4} zI4^HIvJx3MHui+H(AN*58hplgpaq69^mr#33y@sLpjZI9F4^NCk57}J5 zuLy+A+xk1tj^faENMRF&FVTt2T767Z1$5)a6`NUmx#6 zsd8*L;Hv(ds^$}ap}YE&2X(Mkb>@iw!axu$9n}?RE~W!VI5ZWS@wFW`vUTxCf+D&< z$btR7#$bTth>-pxR?oQ3{!YDJ<|AnewAo@D z=ZbBAV7_$I8NkBTVPmdMR&;J!i2BV?26_06w;~cSNDFG4lo8ePOojv#HE~BO%>zv{8cUR>>n#*S!}IahvwT7txsOBMHw(J`icm9nAYk*O7)*_9N5APewsr{<34cfhdF*4IdP=YORKs z>v?`VY5t)?x&~+Jb#>wXg7}I+eO79@q4L0Yt`mLAmdp^~_df2t zrMvEF6ur;zbB`Odqq{kYv@5Okc~_>BQd;thf$lV z<_eR(X#Wj}4a#l)3EXY*zTk`;uGm$we#*tR>z=5Mz?ZWo=1)w8YJywXv`PvKd0*+t zrq3X}yale^_sTmSxdWE2dbMxl?Vt9rH!}nwP>pJiMdaau9=k>HJQlPWNZBDy1YRET zszR6ZYgOk+iT&o{+o5DaH(igs(134!?$4;jr~2*J%oj;~{r+1&ud;Rmg5@j=S0^#e z)`-K6K;{E4(li7?@JF%kPSnDP1Z8E9D73V z+FKv&VN`?XVa@#n>OO1R(?=hC`pLHRvu^5Fc=h9W{Z>u;K!Nq|J|xKt{kfT@J@D#YyqYNpiadr`^?N@f#JI z+xYUc&havss*nWrZS?2u5qSc5M}8bw<5z$&;<-lWD-RdsuPoMj7uz1rv(hD7Ji+1y z+*P1r4=J_aNMAMTveBJq%B zi@{XiTP9R?#%{GcU7X%mw&@O3rVLbFi$n;GSg0--xQTaC(xhl;| zKCifmBDn&o^4XLukuUBaKlDe_!n|aBVJNJO8n8huriRIe|7ot{_?_aNskPqy-sqmB#C+oHO(j^!Ss!5fl z#M(@f@bM|-cgMP+9tDldfIzo@MP%=5vCOZ!`UZKA2BHC#IFoYi_v0p=h&Sv)$jEl* zisel6$~+l&IIy+Y4PT0!mitUQP20mzfX1;NZH{-zl-(61N<-=1iCxKa3*-O}CNjg&MJ3eug@-3`(;fFj+}4BZUfNY~I^(%toquW|2P-&*`Jti`Zq ze$R9E*{AkteSW&nZ7A^fS|BAjl4VoPTxjdWK7;~LmcLb3l+N_k8?Fvmx8%{O0q=7t zf@WaL&pS#31jJ-lugrn+4XogG=fz2jPDi&ITaK_(Ar@U*YcSbhEFlL1+_=32=GFNAls#q>lQ(LAB8VN=(+Ic|zF*4LlY_!=E zo?t5c@9gWOUtD7=EUa!{&@XDFEyVT*J1-7~g=>_bhW`W`jJq>SfZBRlNp<>8+~d(e z#L;C)KFOc!wz*UiSpqNKljRdf*-ke~N0niDkPQ`KfyTk!VvHJu@d{X_4Gdd8j`#&w7bEaedXzO zy$s+cjLz&OEcq1U+A8JM2=824?wF2tojqu+O;n)!6P#F{m1O{Z^gT0dh6N%qbBy+| zlCO~JDh-AuZ!rFpe{5V+ub(FHVZ_f|X?$BEXr`Y=8T08ZdolH~&b`BU;47R?%_$na z1y^xgImyr?E(;LOVJ`#E{xn~ak!0`o>genTLLlpk+UsxMLVvqxX2}=FCh2}Vu^{{M zbLuA&yY}dgTi>ncrREahyVgdK^AV8Jwj$R7k7k|3zXUu`r!PdUuo2P7nLx6%XjA?B zoNi?W&PhZVXp(XpZK#_YXCgQfuHhsvpwdRi!W7O`!t#Ez z?d;M9|MC|B;xa+cD2AI_s}UYD=Q{@0g?reMIg)J+E|u7#{qFS1#(mvx{}Eaml|ycVvtb$;+2<-E-{UjqQw?j{%#!`fpwi^IJOYAXDS<#LA3 zw;~s(Ss}eSld(IZ^8P#;^k=XJZ#`@rPVYQ}`yne;qD0&MxTWR|bj{Ih1l~&`#Wj79 z3c2RW<)xF@J42UB6c5vxHV|h{p}UV1oqM-6Fh8ff1fMh_#z^+6^KoFC^k{z`zns=L z{_q?{!jDd>Zc5hhzaSA^(qR2S{1u}3-aw|9JWK*X{;eWIkjxT_@%t_7Z*jF!2pg6+ zmN#wwGfv^7rz?VMfNVGskLmT%?@d3%|Cw0}B^e09=`qfciBFhPQF?$cGg{xk5B^A~ z7z!LzB%Nr+RP&ft^AxtphFcqnd=M6Vu-q5)0d{Etow{7sPqPlYszG%}ND+QurSeo_(jMMTDx3Lp+&_SUSe7}9&vK_t6$197m>O=mhx z_h8*^Z_w^ius~?pKM3DV@?U7g?I27QHBN(Ip}%dMpu4y?-&N$B;sYgidJFp{w7(j4 z&xAuy_)%hp`0X~*i@R1ep_dBTinYXE&AaSJg?o)uM@Tv@40D5FjWa&2KApPaB%yd7P@iCNHH+6(wDHhV z@_lHEbMYDzbu=NX79fs4YZ$9Ph+7>^@OpcF@};saOU98``=I|7&(zBaO;iAAeR_+< zJ?SVyQ1>KFd*M7k5+3bU+SnFWkVz)o6A4Mtkt<*niqsygIQVs@w8VZZqh6%`mY@cXM!jj17UX+|-9 zrYG(0uD3t-!Lcpd+X_l`S^}GRTZYFqz0e7KB4#~^7OwzndkYLNIWIM^ir|3bXvMg^ z=AvVkt=x+3XFT7`Puh~@e8m!w(qxucMj=1D3qcemB918tzMDZZFSJ+DDlAE2;ffj@ zJN`)SoB{XtthCU&7Bw<5QUp52se&Ze^;-#Pyk#D(V^&{;qX?eVmL1^_eT_keswY=x zpE2~zmms_E`;$go^Pi_Jo!=cAZx;FY>z2b>A1)S&h&^wq$IPy*ru0SEw2)m2!PhpJ zx=kkvHQn6FQny}tRyD2VEWPM!zpq#EoBfkx(1m7G`WZOaTMO9Th0`}JAAJL=3k_?c z{z8Za&le*K>k~IC^_)uQZRu zB7JU{H;Xh{ev6Ln)xn^2T>CRAvH{>p)nT@LCk^ zyp)a%({|{9=}H=f?=>cUP3$miQwjtwLi)^$gZufa$@|B9dAvstD#*&G3~j94iT>Lk z^sB%oN(m1+vMHOlqF$K1T4vl+EE93Sk)I2^^(!gdscMqj!G%}CFvE#h=v>r6^($`+ zwc)cBK_y|0hPQ#KtBMzNU9ps6hrL5MoXR5hSws3I!Tqo7UbE+ReR*8WzK;~X2+DFB zjq#m&EVOH#t77~l4H-KcYSsJ@>n4x}91?F7jwWU;E^7D8_!=2eXKh|cyl|xtpW(2y zknK!^L;jm)vUkoO}Jt+)I8`p*Z*#>pI0`U)R~CzY4* z*&zc#*l61>LAO6~D9K(KaK{L7pvy$?Eh`%v{fD|^VEENzEkG&5^Oj39CF2%ceXghX z=)+zY8to!K)#P!Qi^l9O?Rh@y?QIa~mD?MOx|0?GU6uSM5$nG@;!^_r;cS)9D~OC( zhZM|}*!3eL-7C-{qTQbkU{Bdd(dN^2XL8|ZH0UV~A|l6gj5#m9spexq=@2%kY$_hq z)R)^du+**Hjpt-D(%JU7)W9bAXvazW)!jTkl`hoTFe-dE%ym(3pK*N?R^jWR7S76*fu-BA*o(wwSo42t|(D-E$BQSA$Jg7A443_`B6rNSJ60-QW28f$kUeWH zqiCDKcW<%;>OSy(9{z069*c-3_6e0FC8FY;%)FzOtfKXQld)P6{)c>;oz4kHIQjO= z$V$hND#P<4^iO7p1-Rg{MYD(Mp9+-^gc}E-EI8 zA|dQ`U8t+?&~hLIV!M$s+a!j{vUYpT5PCn`6A~?ZL&#PmH8nM17d!I5N_7n(v@8at zdYMimR+&;JbnQL?MJS<2x*$U5R9A&HkXoZuv)Y#(NU0xgMy#pZXJ=@5TW*dt*k3nO z%6N-PF)yJ}#_V4JTHf#IldZzlY@*mCsMFv$n2 z)a7tKn(^*p*Gcf`yIoJ@r$n*b&ZIro(*00SEF8FW0e$A(OP5Ee9Z8X&)B5Dfv8`~n za>r3|2&13(Ue(NHXA6u`U&xk9KI=y)N#99mE~EMu{NO;|Cl*h>8*ar}i087Fe#K+~ z_W&RlNU0m(<MXT4+}XM~8_c>qA+4syFS$Mf&%cn~{i*d@h-iU%@aq*t)ID zCy4Pe^>mBTj~pwulmiwJ94cQ&7#2CFDK|VWA|TBw!$-V<4rs4KPNK&_3TTA4-IWnt zmyiVF(=!e31^X&T$@hKj5&qNWAYhdy_pg2?HS##wTH9l zwH#H5g^?NlzJ)MD#L;@82?3u5oQi;8Z`g$Xc{2~4DpRy&*_>HHq;EA}{o0V_?m0Cl z$7P?em{mXlHwGZL&E5nqJg;^=)Oze)F-7+hX@8Q6Dpxmmul367gSagZzS(p@e1H9v zrCB$|9sw%**-qtN_>j)<*?3Nlg1$uWKAXg+u-x?_cbA}M7rvPGDo1T+;$3GTv|^s= z?U}0R!zd3CkdWcXyz+@(41eN;4-w3Rx_A-M?#2wp<@v2k_aXE}T6rRVM%1LuM;~2U zc1et_x*M)ZWBt$9@nC`FC>Hx9JtF(nR>0p}PA)$b@O+lkZr5^@pWLdC>)1~FkR)U4 z(vxE=Npvon-E!^y@zN+sScolO66#t7xH1*@{1vFOroZfkgfuf9M1Dc34X7H7R?qXU z9iYRBY22L`KO+_T!|-2kO*i=%U1dpjlfmwd5Rejgb^EL{M517?hST%<$U{tNJmgsl z94?T6^Lq0ci#Km_V;V~6P%upAJTf9eKMY7Ifc(~xWbXi(x1xHyUW9C;m*n$pZvY_z2zI@ASJmyFWi(U#qGmtb_>+-MEAuCT#ieH36L8T+M@d z8kXKDswD{7n7H2UxS_f9@A^4t%F10}so12Ap(-csuYNw}TKG_2BOx+N^B-#!)rIcz z6+-rtE)iDC=YJ>gMD5~~OVhj8asgNAYYzq7U8xl47xpEzqTm+;8SMP^`xXi>q*Sd8 zP>Oc&rE^b0_%{DdQ0F_?>kh8XfY_469E5FlXW#lX!+1*J zcw7f}4YWK>H8v4Fy|VU#W=NM3beX)1M|%C5ER@Nr6!bWZy$#qCisZ=gJm>u6-}2)u zA9R@%ydnpFK$0omo;6H0K_@O|eiR`R64J`V{u`<7OLuQS1eoFx37yRTo1YbBFCE-E z9FN7r?DoG;QpP}F$~WtM=0kZ_f$ryRupUzP8^04iti+A1|xc5iHXu&~=gDh$-^GO_rudRt8t6~3*i+oYY+6IszaCae| zVrei6!&)`V*>C9BMGK(t9*L6)SVHae_D7YdmCgqV*h&zi(R`5B5A*W$Jk;?fXeQSO z)!hhfj%UW(;8A8sPFan;E0E-3SQEH1X#n^%W}m9=tS}Dtht+j213+11$GPq}#ZBpZ z?5#6-a*3h#Pn4-Rcso!bYl|?E16rq*sO?52eH%ZWlCQL%cXQ4LLsbKCUP>l=Y7m^Y zZpB=Bn~aU}cz^pbGPuO=b1DiV0BHGHdp@=hoB9^rC;SkuVE*kd?hxEjK!J`b!G`X_ zYMr)9^@Z;2bXf*qR-3_gkSxhZt@$4Te_^c#2bxF6lSR_(vY?e2YuTsCNTI0={ZwE> zlN$+|G$9;gPQ#3iNo9QwOLn4&@|C617#E|GnjeE;fT(HvMo|#DMy1ca>tkA;$mM(I zshJY0oloFm=Qu${ve?A;!hZrSv+%=5sF3z$?(=gXJJ+vw( zacoO+RHK>N3Tqvh!QOg`^Ulk?4aipOrWa`NlmwUu&ID&staLvSI_$bcDEDO&+3xU$ z@kV*Wncbiwdt2(Ftbg46N{&|0>@58R(FS-HlfmnQjCvxpe2Dq%v+8S{`$Q^OOl_NY zxYNYL>aNmMOL%~?SuGd+>-~1oOG58me((-q%{5kYK8^%(nnf6&BIE)C>s(%g$?g}~ zx?|#v^;Y?=BI&JC|1?5&Q=`X{yw5)~Gn&})126+b1Nzo+Ec20XQUQ<=l?B^3H(oZ| z>%KNtoZLN@e=b^99(;V)7v(nVmoLR^e?>2%FV1~y7i+|ZkCRa!jY$8c@s;0`?Xq;O zl3WlrEKKcl(r^$oFuOcKAvO8raNM6BJ+ZRe)lo9Ej*y?3zdg%`tb12Gcg60-@nx(Y z@h_&lXfROKkXtQbwX52A2{r1%=X2jvqMm8o%mmw|f!>|)4X{h2p zib!NFogltnX&7N8c5kG^0-Ta5g2$@wH=iJRc$JWbA!qAwRmw`eJckse#`|!Uy3xAd zAC-V+b#}ycfz49|_TZU-*Q-S%?>UTtq6O#)OyQu)dK;_lt$^zF{(^|93^i z7sVInVzu2eMD;0+pxiEl;J<pt|Sz{DjUG>|v0mEJU8Cn|_d@U>l;F5Y{IsU2941QoTrXCfgS z;K!nw(*|KZ;wGJ+55*$wJys=EV<#pF%@HG{_3KY8p|A%+)vMGRD+c=Kmw}L#v2xXR znZh-r=rSGmb0O3Ck2jUsX)|zotzO2}yhDHLEtoX1nyPw6FjH%A-+UStU4w32cF2t} zS<()o>dv}Uby?SvtWI#Pf-0@93kGaIU;d?5J}^y?%o75O${TRvh&v<$Stl#{3c5By zrBe`tnQ~#fXuI&wO(0_l_ypm^<$5hIp*LI_1`01wBE9i|R;xE&@&4q-KoOm)6!FN~erWR2ZjqM2uCB?c6Bbq#z!;ft#D5;D*VCDlWW z%;jRD-|<|1LiQEvn@uz#4nshKCmy{9mZGD`9Ztl4*wVEs4IVAYbA6L3(3ZzBF}w;+Jo%KI$?d+JrLW3z~o-2h(QEcvlD3O?Mq1DOtOL?~l7!nmNLJpr(*`^Q}Nk$0U zK$er!c%yId)b+nHFF$R!0^oSm_1oOZu9blzu5@Yz4=RYpB4J=V67RWQ$>C{|{olTD z)(hI5-)iSZ8|{sC%!vq9?%qPBTu0_rYh4Q?K3f_Tz{WcwRXDTHEG?o<{dpObqVcz< z^a|i_obo6{f+iW(($%L-HD-w*QH~!TU}7n^tM-P>HSMn^l0i8FS1MkSSI|J&3e9?1 zt$>|$Sa{6!?pIzmN3IfeJDuo_`&xHwJMj$ppIT-;gEJGmV`qX07af&0l(C|%xh4Uz zvxHdreY7+b#oy3V*HUW0pEMGZU=tf@drP{QgRjb%8Rj1XA?j#XaC%i+gyQ`m`=upg z0go1r2kZjF91r}mDPbtP&>nrEsmBJB7+H`Rx4dy(?D{JUd=cCqa~285$zKj!HGXTa zi#o#3*0~SwoXdL}-kp&KeR+Ocs;=1Jb5b-=Bvh#-zrd@Ma>e3KIZH;oW5h&q>uyAy z{9h3eVklq4U$A~WibEp54gk%LJu=Y z?YX=lZ&nE5tEG)&5uY0969{*L_>N9H`Ob+`Xdn|GwL^fMt88v*!tmEvQQ&)P#Rq6-g=h{Pd8WfeUn3qcTAtj0wP@5bE?qDKNkn4wczL z{?^&Lnx%hm$D^m2|GOWs1{rEl`-yc64>u~)M;@@kWy_vRo<~i}Z?m0sRP-~>b(}%o zp(&f`ftdqoY`eFhT&sx*+ol@jKPCW$X^*gqU-9BA+G{c$vc<2WZ^&2sEP2MoYnd1Y zcW~2tjsN@^1cv0YG<#&COAF1r7SIdJCZScDOSOIqbk_-?btxY|BO-bVq3-j0OO(5t zT1`wZaIak;8_I`=eGCxII#SSfiiVHI4mgj18T|@(>$`ofX?J~;?)ORu^{rDTm%wZEXk)&U_w*Cin?CyE>(Z2TcBA2eb0u``=ba} z(jUZ2@t?%Sa(AeyQ8HrzXe;?hd51cVV?Ek>w(nY)e$R4`HN%j!tyinwc%20F6*b!~ zU-Z}^Echa^J|9e0rrvhnB)`OJBsEutBkpp-YL;TE`R3G&xkt8;;Ko}dhV!QpCZL5Z zEB7D>t*5`mppSxTECr$4ezG|9>q1IjckAzSfTSu8hyy<1Qo7WGOBq`Uq2u-B*lbzF zKPL!|b8UHrkQ-tbEw%K{0G*dA>Oj~>;?LOiaX2Hf{V8#HRne(+@tRTz@$vEefFSIW z+1ar33rhJyBbyH%BC)+K2^YJe3(Lb0Oj`fOSbuE2HW^#9jn?2k`OZ%iz+u3(H+;~r zNb5!9F(#RsPYB?{q|~GSR@oNYYo#wZbv{u3w0!E{%hi0)3e3oaETCg0S@S`nDdHFX z*&`4a+J1MI7RbWvQN!-S&iXs-8br5`cVg73(PMYL$_`aeIO4}GUkCEWpMHE_e}GH- z#DJTDkYYyYx3HRRA9>BW;QAEk6=9r*S;BMl!yD+KWnB8lqCSW~JqUGrrF;f|xTG{f zM5vL4uI!c(r;muUIkR^9@Ykuc1vEe_clBT?s%mO}n`);)^#ucqonPnl0yzgzo}0SK(8e%;!=i7x7P(V(2b9V$p0 zeN^=dL1}K-Z2ajc`1`uZyoYu&^S%*yDr=2jGZ9Wusxwv3%T~0HpU;Jrod%t>IN6C* zxm9_gmJAA(s|%OJv-cTmP>yF1v-NC6eqwpI+ag)j*K_yV&1*3SI0`mQa#T%c2txq; z3Lt7~YD&yoI$u4tJl(7O=MjoRmnMrAcgvg(^J=>$=W}B~gLlH=b;HG`UEXe{sjAdG zS;kwSh~?raZbZc4McSl%`az3411bNaby^JoOFVP8CAz(o}51;_M970 z1w9f1LZ~-a^1joUc?y)_>(6c&PFA^=&Q@ATwA(8N25(Nf!;>e{bq z-Az*pMYekL)w}m}HJaAdi-)6w88NN$DEy=~)Dza3*J+8f%P!+>1kT0=-iTP*SkLPJ z!Wi>om?+{`;5OH)G`(Oa$>lG04A(FrUEjOjHRn3ff#bZ*9uCM~e(5oP0KWBU))i=u z#x-HE{%-mG%euF8xK(Cy>!#m;W#HwXjG-tc!a+wMTTj1~n6WFS`5}yvrW9gVmZ^!A zNacaZpOV-CY(PAucw%P-212H4+Xdu{NK+VO!~&;q;;;+%)%U@rZJ5*I2bRQycj;kx z_$Thg$}CcrpFPvxFR0Oq2|g4S?a0m)?AsGL2%G;5b6{M0^g3J-qO zqA#%RPPh3?GMl%9^HEd%Ez8Pge>-;tW_qxkE5?MYc?U)x?1}RN7K_GO85-(id^P4* z@TiRG3N7(-IGk?H+GkSznp2z>DO2t3zRF(=QB<4y07e6Vhg@f+5?dD{@#8!`;iEdqnY$rsao7`vdKajLJ zTm3rS*yOeaj@^B+lbN`6H!U^kkqpcmQvtYk0@v-esRhK&19d%z!GwMPEpxOoA<3!>d zN#(xTv4;f>p`RH%JYKHr?V4B&?q?>QX1f}XM*rbWT3PyX-R!txjL!uY>myBs4LCxaU4JBk|`Zbsi?2xNp_K3@hrQ1ugoA{Aru86MQ zv1ET9jdi&j((k2Tm*Mn#q^kAMy0JO|IFh-dq+t7Bgu`cru&X zaU<*J(=AkZZs1gUb;~P_E1ufV{=$thTlh3iuYRQj%yWCz$sY78g>NHOZAkk`sLP@~ zqw!q60bW63%!>2M!j|(Re$l$%i7Zo7E^_M48&D|Grs`GE4~P=5qb<%BA7L(6zM#Vv z9BY%q;vaV?Du>ZOI(Uz=tkTk$0~y~sS@(o zF7nn28Cw0rGG>LWo^BbTlh2=Znj7teUXJf&xl<(K)UjFAqp~nPzi`Wp$#OSB%(pGX zugedMg9JOCcpHsuBT4FsiRvU(rh_;d?`j^v1@D(%Dy5m?(IHkyeVnIwqq4CP*)SuQ&Xy902v=UG4DReCv7{}A{2G= zNb?aou-0H%AsXKj&uJn|!?8-5HhNT)`==iFR8%}0jV7S*3O~IWahq)PM$2gfDXk%SL$W*=M@L5iccv0>GtPE|t9aBw>;#~K{U77Pp*5&A zL4#BqE<9FR8w>aVm#-yQfT=3#`co8Cb?Gu*c($6ybSx~kmv%}BJ@$gcyU zqM~q|CJB}*Ypr;F!y7ogu17=&ZC(AMWyiW)GJZPc_XW2aGr!+KgpWg$nCbdQ@u0}J z75oZdh(=OR>c5j4Zi8ymnm+mA)D3` z9=h^(hko7}Upefhm6SdpJAKuZ<8&_cTd0Og064XVQ@BWS9tuw5ycD&*?uY8GV`mF{rKQSlDT6A|_;%$d);!kbLkpjTyAp#p*Z1%~~^fqBjUN;?Pf?y^AkTOZH@qx&C!#5K@h;8|8jN(+SC4xfBOm;WJv?7L0DAfg7m@aITku`wf-79LscpV(``o5lC{rJY{mf!ULUyW6ZGr(gq(L4NUKgPepT~l#J z_cq_=^$l|$8%iH-iAlI2K5?EhV|4BQJJM(EL*4;;iMs9T(fv9}Q7ejH{>`~=RvlA@0SZs5*KvAYs3^LEE8BO;lkY;iZ2u=l zpoXjz_ChG5?=iSc@;5cP16kN0zD)Q(o#6j9-<$Koh*?QZC|H5`*NEs48emp4k`v-s zkdOZQY+|e|yyUyD<%x#?D}4IAclX?sA7cQ_|G(%5#Gl(wYLFaMD>u&WZ&5Zvcti~r z^cP#Lg@NR4w!i<*5c)MG;r1j^(Om~)nJHDqD4i4!oDcZ_Uy&TE42@11m=GuS?!BHK z$xMVCy$_ERG_#z4LLBp8X6aw}Z$kg|@i?K_m3wQWf*5BsY?+i-wCiO4M~g@a=9kGJ zNDd~@F$w;L%fe9q4L)*q%w2SvMq3l1G&}`pn=k&#F5swczFTFnRKYo-*MFY>)cf{g zk#PFqw+5@Ch6xD__I9(JC`&c}=QEFKKx?@V?bqzEO~Mng#B+DDZ9)Nx@$8>~eW26e#g2y8kc)DUhE^i3?Xe$F% zdFHg%p9~2pDzcKB2L9xWwa}mlb*JUx+=;v3i@uZ=93Rj_*a#N^Bd(69sjFGz@TV(=Z0bf~vCoT7H2tG?qaho_F= z4Pxr*9zPGM@_X+7CdbP)R+Axm_c~MkG@1Vi@Y3@ZdWofLZ&v-Cbo%k^$TYxE-%Qr2 zY-V5A^GR3w(f8;Z>EeW_kNoeY?&ctv8q?g^nkZ|KSrR2>fCfx1Fbq2ycebWPEh4UR zl@0KRyUvpZq^PeftgcQt$mo@mLRaWt&~vc<>0h+T5bftshA+dP+kVdtCj-q5 zbCD9qEzM2d$3`awUNs2&d$5854LKUAw6W_@o-F{^ae_opd<5iDj-sUgv7dk|vG)Fp zB_nlJg~zgu)vqYPV+~CVyywoL_pV%hH%0slpJ3puhf zx`a9*yF6kiBG#mmhDAdmS@x=L8OE;vbss@I_C#`fqZ_g?^uAbY9`v%Z#g7%0{ z`8y|XuTjpp)Z2Kik535cP4f1Zb{G~C+JYlniA?d{)4w@y-M0LC`TN4=5(k`xkwADQ zJRb5FQEeK3(=a0~Da1aAeqG=2e*yDmd9-p(*57|6eccO zBm~XkfALC=zKjqb4)?1S#>oN5ZU$Ifd_dHVvl@7vTwJHF8orcdOn)6zXWj7pXnT9M z?bTSU7ULev2IalN$kwMy+m@3G7Ldmq=Ysy;CoiOrccw*)&bJ?pd-R-bQCs<&%!*e1 za)CVKe3zODbx~X!T2kwuqK!<568@J9BnohP_EgEXpTZe5jw-{vnoMxM8%=FxG8M~O zseAqzXOvBU0Cn>ERJKR)UYZ!>Zp-&PLV2D3W~1v{G$D%9Z+=n30c|)a)3Bd!YQp%& zgLz7K4lDlA}>>!Bxa_>Ro0@c^I^d49Y3~qo%P7xLjCF- zw-xvi$%9Pel?d~c3(r2LKXT&&%FH}t4>zS1)Y{vR2z27a5qadO3Hg`D+2Vbqb?&Fl zGS{mLr5Rhli9w1C1o^R`c- z`L(km404Y?70?bh8DH*ATah)tOOK?sR;;t}BMpm9KMeqsdJ#OJNl%0(9o-OxyPJQ> zL3E(KKGHpDvU$_S%);_Sl6=TTsO@#2cq19q-yxoxi-(U8v_=CFk#v3CP+<_}CF(kQ zba!iH`<2o3j|zq?CB$OnwB&$vGGsNMaw7(b!O%5Po801m>07J{v@)I#8T3)%$<0F@ zWt*SN-Is}6o>)=S23*e%h@*29tIc~Fmhm?IX2D#SCQ!V;A*4>e-Juh#l*E{iHnjVHmk9Hq>ARmJ~kDC7RephfN^pg~+&x#pGIs^e5cQ5!M0?R@iE7weGy{fN*nCtRZn?I2lM zCvcKLfNL9%(p+Q)Ns7M7XXrX6`N^*NzvhP2!vQxKT7 zeQ&M{nxvBGYjB^SQ_mOb6N1X)ljJUb%_OSc-{w9MFRBq01V2td6F&LcIQ1w&Nn_Rv zXvoKz#eCKC5dJF0#<`PL@W5|cY?%j+pPo92g8XLRUO;Qm= zLWI-wtdM;&|E;&sr{}MVXWV&;zhVjVmj4LfVsie37}e7VSM#`nRhM_tyT7MbfeS+v zcPO*-QaTy`{8QO%11>jLW4|0{iQI{b`~{NJw> zpfXK)2)N$JK;O#OAIgT;lLIb`u}WN?-@R`v{LxX=vf_#3xz| zE0Wcj<|@yxf77-^=pWz6A12~<-MgNz zuyRsOTqkX_F0-FxeK)4_Hus^2omMvWVtXK4W$0e9Imm8nb2DhklIQ&fko(IEiT-51 zR;Ythv8*AE+}oM{3ovQIon**r2s@;fp)!F7AH(X?aUrbnth;_izU(Xg?U8NUPXv5> zawVD1N_n2^ZmK1IS24*ta;$95f-%uRLRqp;{2_uee#Se8J1W=*5<|(b1W+xlQrCa9 zY2=x7#&mou1?hqH#4W*#8VFDR!Dmw$DP$uSjEiVc7H*q4Ax?VbR7WYYnRoe zZWOlXJ^rxsF&y|=jD$FiO*_)4@G{PY&TxeZytDK3`;9Fd4T~bho9;qYq{wXZp+qtw zK`^Vs#zaJm#lB3Q35#;UnvWf`qoWl*G<%QC5;pL3uFPd^(VSDN=-sQ1Xw9b$5 z?}}|Ie$rZxI66*BMI>thGO9$Vyk6};v2DeQKX$G01#Gb{wG~u}MRl?+JN0WZM5$cy zEAFJkrtO{zMXmhoa>2eK)(amE{(-S$l=kdUB6-J-ZX4qq(+Dwbb5a;g%-(sph^Z({ z7U_1u)_RP^*l`XH?t-Awzf}Sd8QT+TTzI{!2zNYDDbY?q0#S|ryuL^LtUBWNZe*3K z9-TEc)4BUvlgwF2vKK-oM60pjwWW+Om0kD2%x;jz^8J(+Rh}^dc$uL9=T3r{`?U-* za1cV2#k3TBB&mVry>4Hno2*59dbYre#EA~PRbje<8S>~x)a2I1EZr+B6ta0E(#Lm) zWyixWWBR`L^k3RIEbj8qbYXtfktOA5AvN^TG9cQ0q`!*E)Al1=AgwMbKx^ISZX*nkyduo34XgV4wVS3&ps-a)x|1(t*2)#9mjk+ z^(;S?&24%$5u3~tCdS)VNb}F#XCc@eu!#vNjyQVsmJU0d?1%)QM3#PxlK01|{+BPI zl4=JEGVr3G_-(*DghfkIVlhq&HomK~Te604MB7GshfI&wNkE|tGlX;a@jNQN_BTV5 zK!=Zv6ByaQoUr)>ljcftk(_@^sWCbQ%v2+Ur`g|PnpELEoUgqnCm*7XhyXvA78c&* zL?Av704UcGKeS^?9{_ckyyFonIrBf@k93GuW3+of5VLw*0l1!-#!*|MvhJO(jTFbG z4(ekrk~a$@v>o~Km^s9ZmoH;H(zRsf2t`buwSyjsmIu9najq!Rw&D;SHt~_e% zk}LNy>-)Bm?ivaMFnxJhuOVh~7$_>%sc|nFm!d=Ks^exmByijuTy#LmV*Lmua|hAiQ86w2816? zDoJ1HB$laZlkU2Y)CTS5(YzpU&|}BE_Ol-xENw(EF$t5qB#3Jw4*PO$;NJ}2q5mo- zSY9TI$OXKKWh&}(dnb2YKE1WKAeF&yYA=dUxcoFDBzd_dOZ7Bcolk6%;`)@aWJ=27 zaXD}!C*Qy7S#3Lg3Z&QytNi+^jof6wCr|0^nsdO+!M%gu*C7JWl3{xKUo z=mkgK#WCNXW2ea(54Ny&qix5akhAGTp1T@ZpLlAx_TI~LnU3<-hw;;-7y`b(tTz`4s_<0Ag$)JR+(GA~@fDNT3Z;8F^) z_Hb43W33nR?Q`s^XQZt})Z+;!>j4Gw#!9D|uj2v!q-S40g;W~%?U<5rfv<^1FJ`$k zQ1Yf%z97N~+ zJ{)DB`i?n_)|z&V>KAZ8NIJ^$P;FIZO~jGW1oItA3*MtzXWec-_bWW9e_ibd)KKMH zD}d0hMWF;wRhf<4$xqvGD}d#}y%aTMP73!A_2kl?dGvC*)Npq;qt^;0@p-=)_(bvx zm~5?txGxEDyWUO8^YxF{D=UOGGZExeIg}b|V}h-aq2sp2#l-^+VsR}R;XY&Cfk6B8 zU6+#_9?e(kWd#>|(D=+Qfc9lFN7!aSsN z>}GztNBOWxOo`{5|1{nt1o(=&e@jP+d8kd@Nn-!%DJI%Io6mBTs@s6%q31MtLE=Ih z{_GpoplnujTjr`8JP_w_h(}pJH$Zm&A8FUaSW6fnc4qu$qh`bDPuB`npZ3 zS28p-)7y{)WE01cYfcR_riusT02 zGS=(x07uoeb0$O^?iWs$X1?g@f1N3AgO6V>d-yFVA?}opJ^gQoSr$7C12U+aYv|eQ zSI^doe{;Tg-||<2kHX0ww9D?!0OLXwHoyTj@-u;S5yra&pOhgUjo<26qMjIGIFyDY zr2KPfdg-Qi%I{Y1kK52hWu|Pg*Q$s=&erl0pL)r+t{7>8Yte~W_m@D|7?5=vOK_+} zKZD!DxC_%a3~%`q=$VPS3q>PzG}aa0X3*YW>~gnOR8%0H1=9{#@%DZHMD`(A;Id#O zWF??NQZrpbiYnMYzW1B0B*5|W=a2S>!r5w#r}>8FgPWebAEz3o6G8;|IX3#)6EC>) zZUxpIDK=a*WH)G-KTGyWlg8k2nkMaD`b0sLjd@X=zH6VlZBPrcHY|Vioyf~PrR5c} zw4>A9V8Fi2Dw`$rmFvt&w>3VmUuca;p8SB@bgHpUVU54bIaEN#w;Z-p^qm4$C>?jQ zaqEUjs-=4TIy}IC^7wM+XwGfzvsZ@0{)E>svdck9SK;@Bio%VYdgJ$?noNrUH>FP! z3Mum;JbKbzZ!1YH)U7(IXj*7;b(gg?ljX+1qp_?vlt^XRP38UA&H<4>*2RGrsgD6j+_r9;yeQQcni;LbF#H4}{!CyIAP2^I1{5B;GsrgeU zcDTPu&KC$&QU=Rgj6dS-U#-(?GFXThr0j(t9T81YV0AnJo*sjZfnw60Z=l`-K3Lv2 zm#A6GSyK&3{^wA~2!8eb=OviJGv%x+eyHzts2cT>Y)6He^80{UhRrUd=N70f;({~u zJ%6L;FqKTF)m+oa!eVzMhQ06XRsQ)7A3y-Z!$?cfsB`(H!;5P{$JfHw3w6)zVP9x3 z_GhXgi}t35nPFj!w4{xcAxJR{Y5d*{GUt)!4LEKGoS|rUS>3FqUPUi(Ep8p{gcu*2 z#@GwO2=W4%vGdk^a42wrFD~n68ddp?sP>i%W3oM6*f=-jMjp)C{}#(A0N`lsxXmUC_joVp@U7Y`|GYQ~3hpOCg65mL5JZfmn#{lGM!CS$6P> zN^$=%V~f#B+(v#z(8@vLc6z)bL#U@&e=qvUU1pO2LhL zCCR$&;CxF{6$d4qjP-ntto}yYX!vLNBT##bwn~kjXqu4;S3DI-7xfOdt;@UOK3vue zxc!Z>kn+(P`1Il!^ktFPg!g`F1!*bC^0%d_C05xkSe=2F>@cM(Ogi?*r2@!qIp?Ra zC}kfJpeow{k+mqKP8I>N+kSCi?xeD*ZGTKNCN2A8INPWCot0~1u-*f5-@IkjWTi3f zalyu-b4w!0t=|!Q(BS29^PPRT7g1xMTU`j;;*{D=$x*nxTbI<#(FO);+v2LsjwbKn z@XnDopZCp4Ya|YHm2`#xwZ74C?}wCm{MoZhkZo(o)sGK->$prwuxg2yPgmxZypvWf zpQG-ZE)DfOdI^!X7q>`QJuYQ!=KddDZy6O=w>1j~3GM{f1_Fctjk^SQ3-0a?K^k}0 z5Zv9}J-9o;-Q8Wke&oFG`R=%vAM7#U2khQ!&s9~kR!vv#tMNJPN}IM;_I!^In;R~2 z;e}>SE8UOx7E(7G4KMl6_oNr3!~EE#9!?DbE)V&hSk}=|9 z!67nUS0$*navJ2JN_lPkiBYd@OgoZ1@v=9n$wC-k`g#7LvgH{*4N*v8v1pWf#o(kh z=sFrx=kqn*p8ae6bf)A@4%z(m^K~2C&%+I^1Ui-T#B5e-yKSH<9f?|GgAKMa_($C` zRB%d;KPH2D#Q>%uVpv$0>rQAaF@H&mmYABdtS}appR#=>pQp|O*t)_CHr*{L3X$eu z*Xnk9ef0hId4*-zH{=`vodw6~Cdl)kL)xZb*mfIt>-gK`Fo>8LF86bf)a*yz?{`#ytw%v*Lm_Zx#A_v6$-lfrhv3Z#=O zyTO{b=Udu5`L#iMH}M%`f+`$+c^2K7{L6foYyKX+76TPHDZ_BKx_=Cqx80(SET#-w zW!1KCZbT19^p)UEb6lOJQ#1q#N8aGe6>|4IYgMacIqHBaEK)Y9Xi&eO3npKf?EHXQ z=OnBG?I_grLg$+MW%iaDh;c2v`%=={)$z^KHYgh12MzBj@?toSZ0j8-Dmo;B=+{8g zWmJr9>*j%HqSqd42sbTZUEE;iYA ze6+M23lbF%a9cW{S6sbEOw+N0(R&O2YZ8o7OS$GL-igrp zu2NY?-=#s%p6R%s#h#g5&9mq4UL(fxR}b;B-vNk;iQ1q9iyw78#oYOLQEJrK^RL}< zI{E`8-mUOG-yhx)nNH${C1N}^q3RC?+Z~f6`hgU%hSP8IBR@YD92WnonWtIC&iv-} zaQ7GRoT=13k5pGr$1Yc^COgq#AQD9>?H@{bS&455r8%7m4$gf}~a)xmq zDqGkS`7ZPRboss-EMR*CL7sYf!OlAOaWU3KM2LLmv>zVr_+(&sv5Trzrn^AA2u08A z4He!-Zs!4AvDs}W^}Tzn_{HhqO645zhU{SxLGf$QrJhfyWEVUeA;~w9kVJqOYTcjJ z*j=)ajBxFyy~FY`xWNFy3(Q2)BY@KkjcCIwO&87XIL!m~_ch^s{f%eE7E&D=Ll2@T zbL-OWUC&`>-s$DG&g zv|Ka;9P66^`*$PaWx={GcGhd`{=E&~1qkX)#`~CZL@A^46gK0`kaARpt+H^=X>#ImcYhIolJ%DEEF87Rg0*_(oLU=u+Vdy5(J zkeRe<6?yX{I?8ZeU87}ts=NCIigBqf1;>wd(>vT7fS8)2<^1%?ODy>sPa&@0 zt@3@*;|E8Eg)0h`E#}Cl@$-&lsZm~KuG_or^Q{B1?v*TW5q!bDMrBfmN}=ZB(R{#I zk)r^Y3a7QM=8I7|x*MCGoM+rm+}bBD^?gQ;WL*2>U5Q%|j#*4; zz&ybH0MwnB+`Gf!_1Gfi@xSJB63C?VGGn6n^z<<&^82$JaWynz9d+|nC|`Rv%D0K$ z^(#T8cr0aYJ3$U=X1zIr)VtYPSQ}yeOR9mzh8NxQHIN32cxiJsc5O6PHMe!c&x=f0b&E}YD>$Z+j-nvWDy;Oa1XLY z^Qo54L6RVWRu#eQ)^5UJ5e@8`Ot`oq$n#<7Q7Wgn$HD&<_Z^X<+= za97LP1#r1xI@tz-4db6|z)VZfK!=0r)4}xo6TD#dv1%yly7$}Kn1cEdH&4IJZ$~w0 z2*pgXA7|3+B%ju~*F5aU**CYLp_ZIVOO#CY^Q8Pl@;D|hhNHzI)9<7R2VV7Ms*?5C ztQAr=$0jG@#pY+l}?)y`5J=9n{T$+abg^6+8x6L zgRjTm(0kX&%k}P5NR*{x?%{L)n$s*ADlOB+ta~|NbmZctlM1a07_Ix0^B-Al2?^qh zB|JvbU;%D34pk!#o7%c|^u!mvCRD8rP|3%trux7u{b9bk0BKw4bAG>ieApa4t}#^3 zQWb0J?)G8JB%$IEataH?6kx0^#2K9p9q_)h*+k}&3M_R#vzC38>y=WQCnbto{_ef? z2Wv>~`l5gGE7^4~V$X$~<{RgX-7w4cUF)BQFcin%ucqQL2m=gNjnJa$j3A%nVL zo6dR$9*dJ%{@>qS7@xAs$8Sl)10142+mG(+cGvdcla`Zg@DyYb^<%M(lSOv9@oj+?N2j4 zP*%F=*D$qpJ(Zb0`1lILtDynBLnT&b7$k_&%4F;Ge(=#rcb7Q$%v)+Lf?eF}*5C*L z@~aJ&{63Q|rz31N9%n)JW2+=h_2?T-UgGMan(0N~H`~{f+6iYd6Rl3KR~5o{OiT8T zkZP3g!|xouu_N}Y$bHontXB>Zv?;UTDE&({?GVX&J4{0s32S<~uTTdXK(eOvUh^#6 z!)~)Jui#u2Lwym?F_(xk1mM?~GLN3QeQaQcDlr}jLMhP$zS*&E?B=D@Kn2Gq-Rn*~ z^GGvEx&xv@MSz`7^+PABP3aIG!e)L?+zLn0WmR2SJBWGra}#k%pXBX$>UBM<$tbce zfxY5RqteIT<0(!B)yVq1@8_b0u+jN`sf$OItxCGR4p3YMD?18b%A+m z^c94RCPxHS#NKFvrY^JIHO+GOjhjsOzg)0aIsq!p!ds$|$xL`FZxAg7U#Ujh)Vxk5INWqOS0@4^++m3pO zw98;0lHDc)3LCIr*nEmsDSRU;pA)d8Qh8@Z6P2^yumopA<%`}|V}mUN8pa({*g zq5gFZ$dT4%=(?u4@`3#xNumb6Ywhk)eoamg3j!g%x>uAoMX;E#4E|kB)aew~xR^|A!Qhu-hl%XgXoCM1-)!?33@kpMoxj{Ti}nvE3{g zLV3tPsQ}w9SJFV)e)aFcA3$zS#8`H-QuT`dlnay#c_t}e;Pp3AqmWb%tt^e1GW)D<T>D_A)3!&8i>FEC%m; zew@H1_hHn25Gum&gW*jb^N!X=?4RTV(#-<+{p|<#@*&U>pu4#%g}-!(q5H}X4fC)2 z`y93qt0EER4J>8R+5n~pf{NMohDwBpJha7-xWO`t$>G0!vGBd9o?46;wr>hxO#r0t z_%C~#T!R};zuc7c&a(Klc2v*ha!GrxYeL9*U-G$ANp^#(O6!I2p7u50xa|kn{@DIw zZ7i5=seYl^o44d*MO|z~&y5+|fUFu*3(tuedE2ZLEQcgg}MTZd8o*^xm^Edph1WTZ{(J_K*>!I$#{W^izTKQTW4l;Zp2%WGJ1?h-oQkAixG7Bh z(Zv-o(AtL<$a|Kc-aS72QhE3abXg8riRQ4p%6@=2 zs@%Q+kByx|yswCoo~P#m1Q6wIUj)*68+u7dhj)W_5UmI|FD!LzLlELXecNDHNhMW9 zxnR27JkEj!v1U_TN#=Midl}B7IbbBzv63rS1%$(BcG zHlZjx$4wUiEq<%L8~;uoJlcWKT*(uzr3wAivypZ9+v{Ne?>XMWoL5w*^o_>K#qwvT z$a0c|DE?r;m~>;BGt~2wqvN=G-2r;r4*C-ISSRYSOUr!LNm#$1r8`-@8iGBf)<<2; zx}_h8c7N?!dw(yLFa6PfEfsGBQc;yZPf)2_HZ}ioZIJppf7?hd<$wEhPiYtrXwXZK zcA-yVz3C`P-{pU3Oe6vjz89;h?(v4i7aF`K1III+W-a&Ey=Il@q)}RI<;%(;GL_@;`-^@_956W$mK<1KJJH_Xlw4AYi02Zfb>@TjvdwXielw zNgss^RDai`u8@>`u6kPP=jaSjYo5QRtoo(3d21pIi31ll4z*DSXRX|CA;;`5wNU@? z4g(im=*qJet|#$C1t@#=?BJcp3j#qNHQ_$m>0&KIqFv(o`rv~PIAxBiS=Zfi9CC0U z6BvR`QqtjVPgl$xUXY7KJaJ^unX9dLCvG)wE8?*h;i)Lql}jySk-k9XXq=qXn;1&rgo-7dxzV1i~c|Mo0+gZS$8kdASoE$cBn`K%ds6w1WfI5qq0g0kq3ae3TiD7`VL!}|MCX@;0?zhCk@y`Y z_3L*F2$W4pcJgNZZ6Iao#vQj(b?!0u89kyd*bhk%_t)J&Tfl|afITEEICJH0o>M~# ztlSrqj_?74T=XuvSC`;Okt}2k@o%`6{<&}7cjHjwVMizL%#I@}!`aGFfKp#5vKv`0ORhhhE){D%^NVX!vP2yJd_<*%rYb4nIxA zi^t_Jm+oNNNiMs;|KKMG{U6TVNqw=u(=shY`==HxKRiZy69}&NFzp6V!s*Zbdj0L; z?aSewUtDbO$U$iHsXHo{gPq;gcUu@Jn)NO*Jn(Uz&MCQ>XW+RZ&Bf;6AUFD~-P8S) z)M%MZ(OjLyrcq1QNP_y)5-@oVeDW^9Bh3Xo@$j|1xVR$G9L7sZ(R9XST1<7LTgUxw zMn+~TnSg!HN>a=u70o*OS7Kskr1N3p5P#_Pr|BspOB?s5^~^XLa>>dw(g=H6OZSK& zNfIpGqj=4H|B2g`U*^;APo6|LN{5!f%T)rqwB zE8c59Kf>bVb@(PsqX$A`lzvusc)3tVj)rq>%6O4)=*-k{TiqO#I`Bf;j|M7^lo4Lv zS7p#Mimt0DP6-Vv+u9$qr?bQrM;&tiInFfa#;d2zr$t(Xx$^8r=61Gi*3wpw~z z(ITb_*$?;)#2wjgo5tUyIV>=9aYNSJgTta$9kaw)ukvZHmxKY>N=T_SN<|Ey{7 z($0cHbKN}7fxkFUopke98AkNNvR^cPEPnu%y4c~kVcQCmk1q$|wG%@)F!Faq?~3ih zdErKHM4B*Y;GR)cT?xfmS5{9NdWd&ekmG}xj~c-&Z~pz#1onq|snS31&Os2|MVUC$ zpFzjGJOY&5+Lj0p%{u$hX{BUHzXLdfARNK$1FRV1R^}h_cJHejT~L|fqU9v9?^jCI z&`yHChlsL!Vz>fBK5aJMtQB{Kk2K#G&W|Jl*L$6llho=-M7OV`k0i;+ z0Wu6-7Ej=lsY$*eR^}iuR+K6-rF4>p-cEoPw7Y1dc*FK(;lpu}Q^ToEN5PjD>x zZ0jX_UwtEEa5iAX_o9UM8m-pf2D=9=`BW!^*Cgw68_ae-b0yT+XNa``Hj$P^jhOJ5 z5Lm_J(mW_mqeGPS-uU8q;vPy0iC6gUY7P<2t_drO$-M2~+zo-LDj%zFC4NS4USJQo zM{f3C`*r<>%S2aPh!7<&6_<1Pfi^Qxjc&A*IXxmBg##ZAMia-x;^JNtNn#Gn=vTjt z3KLp~OSKvjC5gMEn?ah7ur__wD(0*9Ho*^?U98>+i((E)D(Q|#nZ1jwCWo5!AGTEaSclP}xe%%9ylI+Dw8R$RGeywtB7IuDS-JHg*!I|nkh z@0UME>>_q#*>mn@uoGU>ZKI4RTaEw_e z?;PMX?3X(pIv1P^PlE5KDBULo9IgXLTMp#X*WOaU+|vDg@cQ!<)YXI$_8(`guLBdCds% zLFk597Q8I*u9Yw6G-bXse-JM+BK1mya&L?n|MpNo!SzmpkKk`V|+s_uSt zSlfb_%$(6jv+BXPc4%+6I1ABwd3sqt$Mx(|Zivl1r+l_D^)%?{Ww;M%{C;03Ev@@L zm7tqQsQ&V9c8ysF8*93xd%`1gW0|>*_#7gD>@!~Qx)yvBMC0{s z;{KQiMZ#ReyRzK4hxbbFVYK4Jele0|^B$&31apC(D{8ggNJm?c{k9*7S%qc(<+K)< z`W7@{f0m8Z+q@Xerz5@;*sp}6Y+GafI;9onLpJG&CeL*BVKjba>Avq0 z>bH%V{Mevpm-ICaB>1;kaMX}t-|o;&h^@|%in zr~2w}8m6yiKbnaLS)@3#DXlh?FuLji{+d;w>%GW4V+_HhzP`S|gWqW|u{bycRI@W^p}464GEMR&j2dSTw3&1# zuTE5EpJE{aT3dYm%!z|BwOWZ3QM=>GlSPqN-tVGjfH_XWoU7R3;j7f+F;^tfmZxn-JwrEa6&x*eks)W0pS~zjf%GJwqmhBhN2pWSNeVE)GiSGdVLvZM1!C z5%bJBdu6_w4hu#{HeFvSfy%qPU02LljA$y(XlA-FE>N9`isfR^-0V9+V^x9f>cdn5 z$yv4R0O7`!MAUUUFS@_M+mF$JQox>Hv>iWpPifp&PjV80H!G)}qjmb!cfV)pBDc3L zjoA>{ zJI*%@z6RPj@&2baGrN8Vqc{HdQ1|n1xzW$nm&l0`mg6u{Qq9Jz&3b3pA!D2pl9UC8 z^f(?5&poAb>ze7!dkG64<;Gt+YX{^&BqN}E-0Qou)1Ii8A6;?xo@q&xn}KpG+^C8b-gF2WicQJ70*?xGptPb5TdVTdqR+BI;6-M~ z0Qk)-ukDV8%UPqVudVF^+!_U(e(6kPVm-OEL(<*r>&#k|@{&>cPyPDu8YvIm!UCE9 z`kXn^5Av2ep@2N-0#9z&O~)9?kdW{e}Hm6N-c57*Y&>~_0^6C!8)0kf7k=3+A2SS&!W zKm4YYsa~Kzc<<+B?a|RulCz>kkaNa;|LuXog>4u~LNUS>9UX7n_4W0|1q?G+BoXLPU_)4hc7J?wKX^*81F9>FVoLuh z0i+oQ%FXUxv>LM#Cd9}2b^dZV*rkmWF>M2&NSD)sN53aRR+eKevr<3$3uQ{w_Tl^?^}?L}yE}JF z{bptIUUj`j6zBc0-`YoB8V`km3e@@X^<}=o@;|wke-$rYaPg{ny*8@B+395H;-Z-u zF?lX^lA_-yZ_Qn_&7wn{ezlSe|N1|r?B9y^&xI)Z+xy$A+~u=J4ZqTgi1oA4X!sjB zakeiDbQIsyK@NB{Vg_pAEuHiU5%TARx> zGodAu%{pU?p8-lfHtNraYk zC9zr-U@G0)Sx!Ewcz&e+qIhnWSM9z^XK#A zMkKmcOUqN)dK>EuE#Nqg(|ji575)p1{0}nzi}d}2IB?N6?kkdPr5tc=2$Mc#Q-#7k z00u;@mQ~zY_k@4|{VF)JyPXHU7RaY#1S2dv9$Xk<&*+zmlfwF%*>-}l_L7toryPkz ztTaRQ4u~HVks-gv8KbnL4C$z-_vDxJh$wcKHq7STdhN;dtV5kC_UvXZWq&jJbI$Fk zBvn}KZTPOXp59AvQiO^N7(L&eI)R#-YlvsWHNPn_mk*7IPN0xNekOlP0}AIY=b7^q z3-3Tc>;6SteT7hb+dDXj970Zdd}Np%`0wgxyrfTsu*!{`m{LT|KG%x=KURS@F+@m4 z-TFio|7Y!v?ev+hmFekeL$jx^W=Ar9vn30NsEaF7s)llPm%?k?{v6kcpoDK(`H?|J zqY)|Oi>Q}dvE*VVOVLc_(qdv&DnT=%FtsrS5!UI}^Wh2FY@y;V;^5?_$3d3Yxa?5| z^y9i24dpc3Ww__fRuOM=~Riei!CZ;1b$Q4J^6!h%G|xG*Y{f{?CK__j&$($x0>v zodGg`-c62jtg;l%c{#M8G?~4!G?s+&he77TQSU(o^it+-s!4XB#I2JCUkG(*hw-;p z*gW5xl~%=j5fzz@G>rM)1mFGKrDGJ4bBv!*om9vxMg}~>I3$xy-eGRkaA_yn+A?sQ zd^Pv@6v;KOZ*fO8l0YY=dGB7jsV6P=#lgM6o^c{s8rF2U#6IkI2bo?C$qrsQ*3Z{Z zL^Dl;GA?N{i2F9_>l!+d|1Qi0Z|GU+V=n_Ub>DMgvQ7OLaSjlF=}#b5pV7eB$y8QK z>@#9P!vA#@AAE;90UuT{74Y)x1!Ec;j9YE!^Z~eWbTNBVTG^b=qj089v<*{v-UJ zOZcbB){2TV**&Q`RMaLRa+bu)^WQtPOr=W9#gwl$!Ctuah~Jg;CS;>QQ1{bm_`Cl1qbWea0O^M11YQzQ%9lf(ckn1 z=hP)18V5r&bm}dXbMuPgoQ@a@_p+2|o8Xj~nXo?bP9Q)UQc1s3xz< zQ;XxDo^H~+^TSOz*bQcqtZ^Mt)D?$|7Y>^LMsq~IVE*wON&`$FaJ7H^p|8J|_^5G7 zORT%w_T%grC;X~A>u;YOKHkLoz}^NO*Xm zEZTMd_x%E)BL;d*6;h1H;Ggx8-)JrY}=m|0jLsHmVUVZ-58(rT)-w}G@!3Y0AuYOk|{ zf(jl%pf3L9hHG`W{uzl02#hMDTP`-&6ztU{L2aqz;KWz2?R>1SbHl{3u%8;EQle?+ zG*gS|zkMGYl>TkD;zh2fu~(RffwZK}@4WS6-LE+nKw%iLZI0vJ3=6;RLSP?3$xQfm z>cw7!1;*Kb?Mf%;5FjDtL~Us38P7h}L#e?NXEDqFA#VTwiroSO`56kfLX6uYYo1^s z&AVc~stXI(-F|f_xNO+ayC>X=8$rQ1{lmM`aMHANNZ1}B1-X#prfwm=vdQqkES@n}f9EqCzkHbtk)ZK1ymu@>NeUypf=jnCWse zo!jNT0sNKWaJAXA?}s-2rYC=Qc9SmIE>z@*=;Y~Ba7+m|hSdVhgH<-^%*)%6sPK_u z&Ks{(?|e%`y2Q_iJHdejD-v$mn@JOPz|bLcqJ5EpA6`ATtz)Li{98J%2`s-0N%++- zdXc1=OaJ|d55%Dj*tess1djh7U=#cVK0r%KNiyi06K?uK{HZem)0g-)kjqstGJ&%a z_3Q;R^wRbLJM_+49bTLm)s}r7d2WoxvG|v5vpFm2@kCcjCa0+PZza4KNGXndZ?4wJ zhh)o_sDvCbR&^Uiyzb*IN9eLbE_F!0KkcL{!d|1g@gNM_f;$v zz-mTztG7f-Zvq4nVlgQPM-2y9VI*9JEK;-!UWjIQ9U45m?N4csYVl7jGE|-mV-L?C z{X5_z4n?nS$$3><5;cN*^SOP|S{7J@cD!+Fw%n1Ck;4I>0bzzn4i?D@xuPGjfjYES z#W&=|z+%wt3Ii$mIqYt!V)ch}n^ytBBiEZYO8|q-%gy`#1L0govi-Ww8BV2WqZdO% zNeRv6wtodH+-c=?ExJ zGzv1AqB%Y$_U0bv&!1x(iuR#naS@S9vJsjz{78IVfK3t3I&ml7@$N%oHt1i@OycZ#2}o{U62kf6-U~IyE@@9iqh35CdRlW_8kTttlFp8oJmb zjT<>gc*oj?QFDY1z2whTV>q^x3OBrO80Iv$R8R0G$w8pu`nbCbB`56YK>18c>?==v zo$vlb@Z}Z0HV;)vRkgEaAniF>O1r)K(KSm=3m?PyfVco%GC`H|^}%~ZB%cJbgEuTkH?iQeRU zV{8mE+4rN$;02F#PqYEU3aq%Ijvm0HmSQb@Bo&M!sVF}pz|BEKFPPqrs>QX-Ny83Uh{ z+)yGHsh|l>ORXl8k4U>0Clu4kCNJT7rK?puXD{i@5&soXlF=5H6K#`+&C>pUAO8L6 ze_wu(L))~TvOVH*ro(eg8rr3`%u+JqagnlCAZBWww5p9~_+OlCic=Q(X zojp$h^!jLci7SxHU&^1rmAf0$Kz zfRBZ!GseYI+5i2HC(+?pFrx=V$YQr&z1|n=?4bt~8rR$`KQR@+e<%I@C>Bt9$!=e^ zQIxaNdC5I103HP_I!!VaaYBy*Iqib7_w6}9PFL_-3x38#)%-?kjEQDf65ttyS*A7O zFT8;q(mx=Rdj+6JQsVE* z(g_-wJYbJa%02tOZnm6iX=ypHP(U8I#`OjK93}AheKaC6wxSK^&yd4!79+#e<^sw%g zq3am?9CVv%881ruHB@jnxi#Bd-X~N7^i<$+V7KB)H~@WbT$x0%(C-FJK|kMAp<8Gn z(Smc)ue|+HGP>IH&eymkb)*AZBEFG*tx|x)$%!s_(K_*1i8j>dC3rg=g_32 zIX20fd_1!x&%1&lL%~H~TxnC#*4Bp7e-fMPGJtD=e_*eo7Y=9h$NV`?tw#gQ>l6VG z@2U+#Cb(0=hLd3aRO6lv`a&|1SC0sP0#*3==Z7d23XGOCr_2O7vV-|nv`$qO)k>@@ zrdtrD<+E4+vl_#}Gg(T}yuujT9)oe)*$vAXxCOOq3VGzk!RNPR@yOhR8*xhT#oe*w ze=)4D|0my3TL{=gJtwvQE`on4%`nhgJESS7&1Q&uWIi&Ku(?y%4)TNi)3FvU0i?I^ zn>eWC>9^gW5C+Y`?gXChXS^K9Ny_=K80F#q&kH&tWJ5OoLcbBC&F9GWR;BOg&U}aA z?0ayR)p}bDrC?CnTC%Gzf1Wn6DHW@Of!xLia=RX6_B21XB~KRapO);^PR+eIXqR%M zbsZyOs08rAO^w$6NDD9m%swyqXdDJKN_EuyUClARZ2MQ}g5Yx@pWEP=t`MRcLq}5l z;mf6Rqi9Q)lgvMMc5KuVc>H8A&+r@Dpt*NVj@dz?YbF|vSu(>Clui*8rQ~Q_aPGkR zA{)Y!B>*?$hVRj6I+5`wN#A-4{RV0rQR5hz1A54jlF(({u4yv_498aMT`#xnEFYKA zNG_kt4To@kw#-~FvnKr6IpY<7LfgyXaiY&dx)fzO8ZEGW-(`spiBMhUSxW{tMv2Da zE)g(D$u$dP%TB)kS?ccornlVS%7|PC1tI>lG>xI~O~%EUbds4@#jph*a+^MNcmTKu z#qg?#!^3%;Uoppj8vRc>`Zh26ZD_E9mw$=-zuz7dENEf2^qErCN-a16Mv@fEz@BFG zOdzapP7=--WA2m|8+V)|;6bY!O<$ZoXSvP9K_2?IApRZ((7w7(ttB<+_w?=R72PFg z+IceJO!&)iK0(bbKJRh9pDK9vTABcu)Cr>dE;yQt5H-n#pn<@)ts1HO3V&Efj5l%HJN$v*f~4o2%6ipfKiy?bhU06L z+e{tZ)ZiIgN^Gq7D?PEqxm_s^-8A$*MraQd#PxgM+gr+>aWFCiULM9_| z@4CnStZEk+;lw2FNbZY$wlgF+Xpi)Az~1biKYtuv+S=M!MwuT(TjsvT=7qbYd@wir znldo??#rWlB_$O}GB=AWXwfj>8_L{W&YI6+ec{Tk!piovvX8UlhC0GDKf||U4H;v@ z$+dfpTvS5CvDY+VzcQLBfX#D4y{}%8A3kI-5!bc4M%{~{P zAjzO_4e?nf<&{2ti=zx_koNJ+@PoU8ggf?AVZpES?C>#OhL~mb+Y);DxH$0D2OCiX zRpo;<+WbJTP7F~heYL-2XVXOED zDNdH7iT^zRQJP_C`oAWPZ|H-3kX>6_TWNZVin4IsC|&wdK#U>uQ=X|&OUffixRn>U zZY^DLu6x2O6u)ucPWl6y6Ql0<(D_fNF}~^gJjX#Eeo(;ZHM!Ka(1*uWj&2*m!(RA9 zs@)ej2a3+rpqmN0?OjZMAuTOCYMQ_;KVRH?ob^^%^Wv}gK^NB^mGUe10Rsj4c}%m~6DP6aK{DNw%hcV(5jtHyu&LO;(0<8AOe@n;_p~+M z&4O8WrZ31$GQyf>1+7%uv^0E>-W(KTKg^>_ z32#H;^b}wJe0s?^{**>|EwV*rk53i!nT`!eN$HecdD(phx(oD(z1R~8A4V7%86#@z zWQ{3|VdaasB%FB68Z~sV{F)spMLNwtGyBVhHKnpMZ^dKDw)duJ8D}WJLIw^F52R)x zyOtgwA^kBQF~ji>j@$W5)b1H56`5(8(0!3*jdN@}SM#W{ti(+|gB47&Jq5naPj+PG zgRp#Mg~2VzU5aN9|fU5H5jk znuntzZ+8@ngv&NhX1B!t7${GceGRz|&BNyPnSg5dkMT!{xtOH9rC|VmSVaQab;Ba^ zKpl2t)tZ)Lapcs23H1EWx!x&j!lmkC9*h*(%mF~*lnwKT(;_lEG%~yEG4|-4H^u=aFV&YeJeic#nXAlULvQFyW(!JyZjX zqr*(Jv!kwq6jsYMdLYpI*TB6Tvr7Vd^d4$3#Rq30L*YaMpaK|hh?{=Jk9Pq(%Ds#w z4OBUtI&ShyN!s4up5Oa80%F=y6p*tg@Sa6k)XOR#UiY%VT4^CU`abB+q-;E95jDyH z)J01}6Q(!E20gUDpGq&?gWq>G_OkvNIgb{`$4_$`r8o~**mHLcT|_|etvSln}_2U@Nyx*0QM zOVAQhyonMt7ZJF%!tIGr2lXFJ`Wq1JGsGt;^6}$GD72Rl^@cY%QW#R(Bh=!93?b_N z@lc@ya$!TQIJxdKIXw#T%PInkw?qKn7jH+mHmh!s0V_Tq3z{BsSTj4LWfPV}9vnOG zPexh#?%&PNv_G93!Dhr7!vPfZm%>nSRLWj7820`#>J$@TK)V>=#`9bcKQ~GQ{lEt9 z8`5w`MpH$0_GU!uc}FW9^dKK9R`;cjbS<%HS1{u{7lO=hpaZJb!0T1w3E*)W z3|YQFZaX(Kq{K3=zT|DynA)M=&wH{lrz(y3a)%0%w&R8d4EPLjR4wLO1>W%9MW~|h zO|?xlc;*<-n$UIgs-)}+&jlnMcy@xL^ZtNiOU|#6=b~}Bp+Tj{`aE5n(Kp*3eET6i zsFiK+o$uPO**o-fbYr#_7Bn=pqeM{+yI;(>h&5Fk4dp?gMU^W=bC5%Un|bv4)M$$F zNYnsNDYX_p%0xj5xG6y5r_>hi2q0!|*?W4R9@}xRo#RfgwiC=_PaIuro^|3faaxBD z#8+i3D4eSBFadkq1f5NoOiu`STsKI|wpEi%T;aAe@FO*#{0z`Cqthlcv}N!42PYcc z_IKmO0A}kuLO%QK)=Lz*G6$kE9T1#Y z$1}OF%U_H4KO~CybL`Rf=$r@M515_>4|x4i2shVp?|;;NTC@bd2(0y>;ZuWTW!K7Pn8wzl<`Z zrtr)A2VoVJdae8E4)2SNF6qK`^#&_-Op^4AbhW|tg(Mt3Taot?@aRe->T|2;=FV(% z>fTMOxjs7&@Dea`(cPD%9dU6oG<>+Yy87u31+l)lX?MeO=MWIX?55b^bEQ^n#>Ov4 zrx#mHAKK&AQQOO~N5Pky0`^rRiMJ~z1tU_Ywgz8)ceivpSM+cscr??GUmfL;U%J;Ngi>Tkht${2Fx3i(EdQZKjN^Ux9-x1(4l6Rh<>zjbGsLyT1N1 z;=E!)&f$rDI%4}PKAu-x^BQ;AWG?tbd9gj++SZ{FN`@%V*a?vd1XpiheOanT_p+L4{Tio8LrmXig3CtI#^o?jE#07) zh!8dR_kN^Tu3tGX$jA!0lgg6L!I4Hc7eeMQTq+`2rGVeGimh@U^} za-2y?=g|2i|39L>Dy*%rS+}K7pcJRYB?K+*?(P&?+}+)^I1~u(?k!rJ;O_2Du>eI< z2(Bmn_x|^}%UaKqT&&ERZ)RQ@g~L{Ct9qoZILSi8V6%I+;$*9l4}W{-h}iJSQF(o~ z?L!Y-T&5N@4Lb_8AEp(KQAF_3g~4FVov)|KR-A&HO?^mKR2T9GcJ?--hQugZ$58^d z)A<(*@sWWmVAlhL@z^DGni)H*-ApbnNAYBR(A``FVV~0=Q|VuhYeJ@O11yic(%7UT zLH!>*D(vzBHHwv1kc+4k@!O6G@NnJEQ_$_2kk{Yej#5PhWa$w?s9tD4G3#nhtKny= z>)hfq=YcI*+#TUxQ&KG!v36newF2Sv@{X7rhzgrB8*KHFpCs?a3t5PyJMqdC0&|ea z^nR~XWb*DdkP`cWC*3or%eXJxp^9yAm}dYv2kW<|R5Jw-kR)HS_IC&zUyeyQNHq+m zauGECk`b~?qx@p178;2+RMppl)HRlrusf&(;pcv6>3|s0nJ{1VKJ2mtcz8S=+SmJB;pEW2b2q0YPGn&vH z?nN1Ugn}0I0$rx#@z{_f;OzADL=;vK*}it3jgs@ z4&NiX$bd-htcjk9Z>DT1kfGKrge@#N5hT92u2n3?iI@DG9F}l;QhhuABNoot!#r%X zbAEqcYE;iK*heeI?c7A)#Kve$`vxUS8X)A49E{mJB23(eX=q9%1NbFl<#nSxwac+xn_BZH~ZT>Y~KMVP6zX z;v8JhbPX=PgvmB9x}4JI)+tqHi8?zwZ>BQodeA_ml3W+!0TP`bW2H-R0vVBsqLm#? zau<8YQIBVqW0ZHs+N0Z%$cDrzzDKS23CD>?&%DlS;=5mtzDN_3%|*^@A+3B+FN^Uf z&ql6&BV+lixx|~@ReeMU94&vgf7k?-b@NkyY?efzjPb&>r3IMMBHvxPnzf^qYO`C2 z&(yL^aXjP3ttl9t^jkMO{nXFOj@3SU%e*?q%Wiz;(RF{>VOzg&+9kpxamJKX_th}1 zVu&+N?l4J^XWpDJC?o*goR9^MXdN;lCdZsG?ltQFcQBM6O`)oz=NG(v6Bu@;hha_C z%dtd_6KjxtAAx~@GABs{hHsw2=yk6|p82xAeculttpG~Ed$}cnOqe~c_zXFQBih4L z<3G1a_d^N~r&zpRfZX&5NgAmhaDIjkVFUTKY62 zkhG>D>!-%p2w;m;5j7FESrZ~77UYF`w!v9#R5(El8kPQz%fCi-iHL!QW_Ec+o1knN zz}28c_zV6EI)=Aqlz`#^^XXjKR234E_tG>J*waRpn~wKQ&Bf4dLlzKmM>m>ny%wty z+6Up^G*pDR{Md5TlOv@~Si~O>SErR0XWvfw0*+?5il$*B%9PVroLnB{SS|i^v)f&h zmX`Jce_>v%OlO$WVx7(AW6Z=`+bxPu9)|eiukS62{L672Q`&nXXhWW*vhzQ4p$H-bd1*2mj_Td7 z|K*Y4V2R>h*abXxWn-1}I7Ge@|CHbsC8{3U<}weYiHhj(VjqA}yk9k6^&l;O<$iJw z27Xu3BZVl3X;n&0(@7S-BYd^3>SiTIosbYeS%u<;Ddpxi{=NIP%&YBYX9G^6j_;UA z4tr!mSEARide23yWI89pgH5e`>B)13H~laR==pL39t(5)6D+^r-2K+lkV(`!J%Mz7 zkWhDGpe9Rx!q2G59bcLP=M`#OrhL=KkUvN$r70_I^)Y9%NlHSb7rY?Ie#+vDIGmk=LMvwD( z>^X*kiQ!<^d~9*S8!3Iv6Qv7IUhOKV6JZz#|J%wH1%5PR2N^`UbyeNXDwGb%>clK7{g1eYv_a?jiY7J& zkZb5qXI}vk*T+k2KOPO8F5jiD=kwl|fu+;UQFD3nf1FJZJE2k3ENI7LT88yfvSv6a z?r-m-cs!;$JO5GE2m5!LLa^?-7(yIM6+Uw{gZu`Sy9!s!5#+aoq`t1XmeSdn5D@`i zrNQ?T38u_BK5G57i$%5C9c6wQv;U!RJ`15K_n%x}mzSOSrU`0yh;W>id7oy2&RJO6 zy8@aXI%#zW~XR~s8&ewJq@oxhn^AA*bbo2y71mHADW+eV2J!6Y2pf8=|#1mFDE z3t;R$*(R35{m}8$qp+NBVBmqy7y|+_+P~;zL%JXkMx`a;NJm` zabhg!8rFWD-sdC?J1Az#XV1fP-!KuvN!JG^rRBNUD*;y96k92H2l=Z8<%_D3K)(h- zAmQHc0My)@M(2?!*uiT>$vQ{d=4>95Fa!1A?Cywg~lZk z*Kl~~&5>fmhd67S@5&a};V`n=EvWazyC6%-qMNI;jXvSCmR+){^78M{wH6bp38Kh0 z8P=m#gjRFP&^<0+P0CA7Jl)6{p)}`-O^5`_Eat8xD5hVI)8;K;d`8~x=hB&=reCe0^Jo&!==z5i>*>vgAe$D>SD}xHA`+3&Y zvO6!i$Qj5=5Lc?z9mzwTWL&-_(I+JVEfa;ZNn;W1n7!l#NwIUq31>FNQ2 zL+&xz6p2)EHo&)Mov=&Mii0WLP|Xkbu1jK*CFy2n{(TWkM>$VdLN1R>%&DaT`;%7O zy!^Q5^)0=L#vP^}$q<^lqQ0l*@*)T4la*JuQ5 z+OR=JWkvL<)srnLTUt&>xY;_qbbDf7liCuEKVD^Zc>~5?oN+u5VcYfL(=3BeNSXfC z_rYP|{~f!-DXy;@wo)m1|Ac&lF$Q$!^kFJupT+FS-v4P9KnO9C6Lmjb|13@k`;eBzsM1Vj)($t2x)2gRbz5w9W>t)OxsN6mLAMMDQ zzws7SffkT=?GoPhtvPl*3B(tglrBuwLT`{7U>q@~qT#%;HpmF+pH63%354*)eqnh$ zC`r<|1(_Qa3Yk4DRcbe--`?QN##q2kSPG>cls|ul`dlYuPx@F_`P;?u>u#T?y4r;s zq0Vjrv5YjQ!~G&tTHKvYI6`wa_oQ@ZygpHjDHqLqk{ppaCMFK_f2lfmq`Z-qq)D+| zMBFgYwH-H!n=YG~Y{xhqO*&E_v`?9}(A~3*S)nfDQMvOv&S%AM~Wft zE$15d^5u$QzW|9oc&Kw6<;+i22h_pK@hUjg&Lkcv-9PZKhCbfFpRTX0|0Slc;mu+i z!O-b>Efu149NFm&lD}*EjXck)GxvGhj&OkO@DRz44O|8!aK!&ziuQ%v|9qkEvFA5= z6zRYtEsaYC;Swe@fs0Aa=cFM<13_J3os}YZ-k$GCH+UBE=NI5An&$e{2t1Ex#8{PU-Smtv2 z>?EsbOys}~@yyqKBcTCUZHXU#2agKb2Naz?0+&C#u0+{d{nN7g`@;gpe8Bw9O#}i{ zZ(#h@(J##Do{p9s&D0)pecwgX#PXR~6!c5$SF!(FN&W{Bm>i1rxn|L{a%#Kd9QYSW6AmKG6m*7=4Sex?%mdwMGM3PClu_9CVeYsXQ-_jo1G zr9pQJfQS*AVEZXirVfT-JPh0o@vq7{c&?V5sYyQA5O3(1H-G)Q0asxectJ8;-I-A# zAy0yfn?#a@nlZf`m94;958rcV5xd=F4+6^2;0*jTo*9I*CJghXZoL;}U*g9A@>EDq3vFCV8Qp^>lUPp@kmk z@+Jxk8!fndb5!YlDzik$+EPdYkOn6Ipg-A%-3a~BOeQ83@DvXx&9TzyJnnFV=%Ta> zwbs)r3dM3i%a@9?0BwyK%(wE-)LSz5Lu%)IF>B8_KN4@jF3c{ZiY5@cz2CBHFDh_>}V+SK{G z*Eg>JpvV2t(RKXY@X2|H7=2_W#>#od=tbf-&rkq~6A9}#)>ECo~jy(vhBR&LiQ^ZR{>Y>`G`^hnOZ@e<4u!q?ZWB`$nHi|ak zv8yw6cPlIAP)0r+u}g=@5sI*|Y3y0Eyb;;r&1j2lnC=!^q|*rx4NX z2Ki4WJw1>BhiW7JD6R;ERINZrlP1S!y37b~whM+1rQrsI;Xd3s^&K`0@(5A|Qt?D8 zz6_7+TEDm_4i>|Di;&8kdF6NBf91{1_g9)o?=YT-WS*(is=?x8(5(~+En(5>}FoMIn+*H+9hJ+Il3VZ zp|AVi=dRItlC^rG2veGhIbM$LV*l32ABX4p+>*}YBIO8hDBeqLy8rkQM132RP0K$v z!Z#*hnZp9>9SP_ide8itSm6V@pzMZ-uc`CVV_U+wpen4gFb#+5_-}DkOO^zt z%vsz~xf78?0)u&;3(%IqHDB0?LfMAnT}+ssmCz5U!+4)?)`*~8`(y4KyAL)2{K8w| z=R3Le&AFKq0hXrve8z1f@jO8m5!Q>x8BXAr?QBh=J|%o=Xjb|Y_@t7H3RuZVAeiMo zFD|({Igzl62~CW{X}KdcJ!?O#bW-4RtUdx zvI2fHVwF=J1KTi>t}2MjYC*n{!pUd z+wpv`mm3v-Rg|hW0=SUf5VB&3a#I)&BOF!{ryAt4)R~oJgsyMR?^Py>D)_lr!Ixg4 zVQY7Y+2O1ZjO`nV_Ep>4jVl4^B?|OI2!N|m7&5IA#IDHlNp*{qM?W9P>fwBzzi?lJ zCJi_jH=+q*sCuthf#3dPxxYN(T=5fj#wulIZljVCHe_f;E@R$o@HC{W?x%&ex{k?B z6c#)C0_sYt@b7uO9CwHNNf1x$_4?$7`%>-TV*jopgV<)2ju6JU_kQkYl`jaH zWhKkFE*HP%efIQ*+uDuJT=j@0I^1NRj|~G%2A70-WrunHJP%xdO-Q^`8Lzy!h;rnw z9y!oT-hJ%go8WxY^RnBQh{I<&F}eA78}c2=6)F_&&n99uX?m-8K*y4OD3Iz}>Iu@= z5$SL$j7v4?mH7l2G9V)I^8B_d=W@0@c=J(^4Hv!L7k@SiY(O@=(%13p01co3-f}(L zBtL}J!wxndwBsU^{m}9jk_nPZb(*mlk>?*12%B3U6=F7o#&}&zf=h;VZ zj5W`2AE{cJPa|EDb5Ko6>Z=<8?${Ct9s zMS^${9s`sqfovHk@3M9XIsb{NNkQGka!D5yPn!h*wkU8%AMv`xoA?CsM8Ra=K8ta% zW+62=r88>e`nu(QUVNSbVkI@Fv=Kn@3ba4I;LZG!qK0X0MJ;Xk_bz*6VSx*?+OX?c zqT!xhu$%ZPD#3u@+|Cf7J9|fc z8LC*(dw>@8t#iRsi<88hX_=oo9)fpmSXo&{^I)G3WB^HnX^?h^Bn{;*NL@82qq) zR6?!a2wfl3M|OU?f4r*)3~}(!Ilg^{JLbfdTm+>b`8C;WzHh)$&o*t5%++&jlK}Zq zB|?^mpaPO)_$p4>ZHBo#yScaC;`u55wAx8*mRZ-wIO4bt{F=Y~==um^%kal@*xW}F z`CK{*ovaxXy_}2fqr=o*vMjyWnv6UDgyH%NGaN#5T%AYivHZ$%6x+7kcS#S}WQX&7 zyjxl{eU1AXn)~}Eg4RVRSw?{U%`Fq?O|TR#*1JF|l7Q7{V~icso1N7^4~j2$Ox`*6 zlTDcVCptT;A4g5P>YJ*UE9%4OJl@YBKypt{j3iPR@R>4`uCe8s4%oxjgA64sRp5g< zb6(E@%Sks2xJLja~?~{TiJjbh}$#s7Z3+0Wko#VsJ{B&?yyw=0WKsKEN_bw zd#HiOnLbVs6?!c!Mr8>e>BdfmGI!nhb^$x;OhpP4$**helUp({pTe6tpkYMBZuS!Sfn;H8bd<)GfZ$nQN&`6&pF(76f{<42L|&vlD5Fj89Dn0bTWi)Bxf# zfZ~*f`e$jq9%1CzdFUSGZCSx*A3tyJ7gK^}6xfEXY=a_T_wDQpT1FS~Pa4!DE#wV0 zCI_ou_?AU|IT{i6j>GfZ1m*;;rP;`W7{7C7&Nb{gN;jH-{8_?9Jw&cnm;s*iQb{m> zi@(e>}s4kFD8z3*xRWOq;H}S+f7Y<#qP&@a41nMd$urf3Y7(Ww&rdEy}sR z-LbSR^FIWX>dAGkjH&3eOyvpeB5!&V`-Pk4Qr?CBUDwfkq4C8ZjiC1&+R6T!&i8?- z_ICAvC=T~4R_rmgVWBNI)JIaVdSp^oTFvxl+7NrrK#`1L%5i-Ra?~y{pXt@)eXBK` z<`z@M7;wfbN3NbN6tJp&nE{Rj(@E|Tt4yx%<9PHKA&jN08rySZ0XT5^^8ttv%Pt>*s&A%FM(kZgF!wLj!d5~RA_I9t8I zaiV-%z_(XY+@;?=N54!A^L`|PJ4xXo%vd!buWA%pUpQ6|wWwZ;Hs&p3JVMHZS|(4xlc($~yX0lzgBhJ4$o#GCOeM~lem@xQJV{Y$*<$NPq! zf%{gOs+mb545Du`^@sOEYdkq!@>&fM-RpcaEs@3#7~1F?+JmmLcp%LV;ApC zIu(<0cgD;xTCK~-%TzimIFwXnH&c@_HjP!{zGzRcwjK^Q8}`fJwPzQAhLI7En5}e@ zV>80d?ZcO;JzBGbglq@XozoPb5$*d?R2ulU;9bxLTr2l10KrnyKvtf*6EDnAZ^jwo z-PG-wak}l8|DI#?ThS5y*L7NhybL^$$mcDL^Q-&?^SFyW+taGr+NMMq zDDRUkBD*4R9W%)8N?`4HwC*&(Zv&eg_1I0q&9*}ivkF`}QNlS*XnS}PrOy1@ zz^R%?RO2Q2i)(`cQCHR`0D8bn{$~IVK+++!m(ipA|I%^#6q`31`{Zb#YYkHs`QIs= z6D*n-j}PeURz3>jE=M8hMG=*J%Q}`0UzMfVYw5;~hb2pyg+7akQZ#Jz$jRYle`1<> z4N5l6_FvO7sBa8@g-Eta0C5RDN)dOW=7-e8`vV-W9$;_x4$>;eC(!-Ym#u1y^2Fmv zFfd4UI9c&N@nV05rqTHd!g92bj6Fu#b95pH_m3C9T4u}8f4f^khnqJBnm%kZm`KW+ z2svoU4)$3e5Et{z@^IR3Abspl`{a~ME|Bz6iG6L*U?_a@t8dG&@lz3kGSbTTpUowz zt|*EW_$PldGcz#&FbY&2xXw~YrmN;H&lH}Snh2uGz4LqFh!0Y!QxPKJ1KWw!s^oHa z9k{=@ix3a|2VVfr)(>hvcda2)TI@E`7eNwfRKOWt5@N$>P(7JzvDNz_z2bsx{LaV6 z8g^Uny6`9=fmBLJSPm-O;0xTqSF!CGY}(E$xzdWHGNlYWq7oXq+yX6)O(^)L<2)g3 z$B<(fAzb(xY%%unr}%Zbk8!;a!(DjZfN_{pK;TKXK=9uT-(CNU!kfbfrn|oj?x0ga z0gv9~u^&*uC?mcXtL^rTnjtmQmmz&laIlo{558*1f+f^2BYl$uBr?^_1ElvIrBAvb zSo@r~9&@#9PuGGDCnN>OxPP&$oCKvE*!vDCkn=dWurOCC zw7XjTQS8IlT7{3EU)Qd7%SHzOa!2#EVvA^k?cb?PR$h#rM(0^(9Prej0@VB3i2ksH zTvgmH>bF+(G-oaUez%owJpjSR%FB_7IbvzETr*T(Uh7NDGA}LL8$663^`YfvUui-G z7d#b@O|<1mhDu70z?4pO!08LrzJi!wkp6#lk%xmQ6dwhn&X8Nru^Nv5&6|+0MZe)F zoqQB2Rlu3zs{B_y#=Q#N;vSB8eaqsclpE(^5-`-fYJ=7*IqDBUvHnGf-jHx^s4=4k8#WLgR1)a$0#>8P?yVxFnd z1Cd-Hm&9$(sC{Lm(o^BIc^Nv0-rUFpODyiA?ybGiwqzFLXehd-=`ZyDEf)UwwGc$- zTsC$uVK{vt2u&A--zvAYQ{YTX{!d_YuF~JnQ`d(xyY^}vIO;!3TL19DvMrj_@8$i{ zIOpE^XNyvDXIa_5ZT@qI%##j^T^W=-kR)B}q@1WMH}97dVxGE-qHg~Sr#WaKT3;hU z1#MO}n=It#H;UMMk}K>7ufJT5eus`tJ+K!iJP0JXH+#%Y=6KSSHZ$4fZ120i_XQXt zuJ7gwOlHkgkv~r>!2AS$N85tfCcAvkqlBA7>)Tzg!zN^B_ftQT_EAGW&BPy+TQ}4r3oK4mhkEu}PMD5_r}jQgM3)VG zTAR>647kW{`8|^Hf*)r&k=s)+PE>Wv| zyOgIxtKEJ?KJD$W87Oqt*45Vbz~4Kx8-1TIuK9o&m`CcL9MEN<-TBi>vf8>MczC8R zM-SpAeavgii$m_1QQySju~7ci5sr4Re+LgkKO;SO5+PMh4Qvue#jdS{ecZ3i6?%BI z7)hjVyEZ5vI~e{!II?pXoSBehHj%pzupz!iGgyWlOyzi^L3CWFt8mdr&{-3fn6r6~ zy;(X2JX8jre{mlR4Yk{)L_a{T!2bg}Ip z)WG9Iu6+id4uPq^6c)D6H2^D4R_)0(zfP=d9mmkb)-u_zPBn(Ek&S9})pu5#p;(MP zmt{}r!bg(2y2RSt2WqQ_FyQp_orCfAJg-E0B7p5#M&rqD+f3!hwIH^N$ zFYOz`e{8_u87T+*H=5U7oj@c*PtDn+=}ad)zC`gQL^<>03kP$ozf)-Ez{im!qKFi) zJjKL8@J{y$2p#%zY`+B8Q{L~ztss$+uw79uB%j3ELG;G|0=PrZfM{n z7jL5V5~ToN%Bhi|M8wC3czb(q+pqEWt5vL#wdC8czH})LkX}AqqnL&n)jm5P2pUOy?uz`YVnCiFAjv%IK%InuQ2KYb>0cct@qLBbseyv>jZ*vygj zaMriiznzb1R)f_h?@*B}sYuVVG%D`gW#IdpqqrxxIhUR@``@QlDxWPhYfj|E${m{V z{3#r{Csb~A3wEFztyeESIWwQAL|(vwj! z&UIJzacEY-AM<7KHUo}XCS7QuK3wxbd=ozc)haZwlYtcuzJ4{E$N9djBQI z)cc%McdqM1`nptwj`P~*GgxoNW98(3>attr+1~$7^F%$RDDd8aEj$^Au-VoAMGhT;w#2K~s)?+zu*Y=N?nQL6 zc70ANY#qn%Ggt=LQz|UV!m{sRLgStRZJoky#F?pM!zl@o$+PYF4-}O6!AN!0U)Vp` zbi0W+Y`v+P9K2ktBij9<>8LYPBy+eXo-bWASrk(;vTJC<)F|u#apu?!z!)L zblgz%h!JU7>z|()6;#4As0lrFqyXp2&2TsnKFJIH4~`stw-#ky@Y`Tp@M!gR{!Y{A zdhuj;-!yO}&}+NtKFH|zcxZc>>xX@pX9Kfi84;DpIAmYQ?UbqcfgIw}s_oaQN#&*d zrt$g?gz>vM1Kyc`lj)n^nbr<#KPi+VYgz}L<}`6(-rI1`IKGdH7-_Dnfk1S_q4c?L*I|rIfY6Es5-v2z2E#E+(b&D7JOi>9 zdMpu_wi&a;#%mLZ=XO&4rgPuOi(=pwc9$hmz+g0-?gW%O-d8uo=1s)3VEjek1AdebCBq0Zo(`r;?Hu@6>1t80cScuw>z!HS?Q+x zlKvWsNU!s`63+$|;{0p(^q40~^mi+b!NPh`sSt_N(^ur5&1phf^DVyk4z)zMq^5r* z<#)5HdHv=sUi=iT@KF5s??FJg!3T{_+3=jMXEOPqvq1kEN2zsSNVe}I9h3BPqk*A- zT0Ax1o0XwcT5s>5EM$xmeL2#e#Xmi6)~4?6SAMbs0=JX^@hh z0y=cR%VQ_NA9UU>i@c1yxQxm+x*WS<(ATdJ?`rwsSwA6if~(V`I=wX|G-SNzID=Sy zsNcUp(?+i>FKd#J$zPUdW;L-XE#98&bl-@&a|b@~GMw3#0AHA9_JLq<`SlzLhw-X= zdPq)&mU1uFlC`8Mj4TXmjqPB0QqG`->m^ymkd&6i)O*}Qe7b`keNRW~l$D=4$y)=y z+W0j`HCu!ORF5V5WN6&iMM#p!BO*^hIXY(_DfnQv&{rj)VlmeJ1lsjH4z*?9=kZ@O zHxSekgoFv@ecIW>UNVTN;kf1y+^{7MG#2-Y69b&#aF`Wstr%$5K4%`_%|`E*uh$CU<;=NM1K@x% z7NQA$qDcWf(fn@`+Q12lCFbEyPEC&dnJx6LpmqOu!`#2(`zK0d%Sh4-m0PjM_CD$X z{5Zr5!jOJtUsLubsJjM05ivcl0_Ls>M`=g19|1PsXWvp9s|&>n$7hTDMwjZ3fTQY>z8H6InUAvvP{fch{IoRuNu#aN zt|~q4xy-lm8|_njw#iR7`C=gy+=W=A5II5HKj(l0ySb*=A5)eK(nSgTa3M|vR>r~} z+~jH@$R4j3hUf?#dymA}S??_%;TIvrq)oY+E3~uYhM?->815 zGU0x~z2LObey*~jr~x`KX$6h+924yNK!hxw>%G(0@u&BW)sziFl&^fuWLB+hlHMtf ziP^Gvz|k+ifeMb9xc``8Qxszy&l7O_Tz&eI~1WlL%tKw-5J@>^LEMQMpI>Wkko|P`LVgz2mrb-9{KQ{HE-d5)dPqJGibTFS3$Zo z)j0$e>Dc3$FME|zwe@>1g+ha*yW*bNAazF>VsfQPV*+-JGv+?i^T{pshn@Whrw-n5 z4OitMZ_}Rj3~Q>&w7e${+Cc|vW&fwMY4Q%QsR&X3xyuprLH+3q{|}CJzKIwAJZpOr zw+9Y*OI;J@LNBE&d1^NN%Hxd^WyVAQIylt@OsV;sG6zte?4a*$}r}l^kz&-%t;|` z@rD{=D+2aI| z%4bj9yJv~#2kRI6vAVd3%l7YTGNQ`zu6HOJu#p4#BWra=2ToNBpf$Pcdx|s3M=b&_AiAiUM}=q#eWb8hAU zcY5}VafMPe?NwTC`bnZ|Grjdq)E%OCPO&YMpwM#m1@)`>khLKLZvWRS)BGIKj{|qm z*bY0L4|^N5BZ2QDJm>ss*w($s$T?#Ej$HrX9e()gK(U`k7`172>u(BRgYhYkL9y3a zJ$4%I=E2zl!=iN(7;sZ-mO}$P5DY=G_@Mxm%AEeFul*C)h&x@NaO-AL{V7*MGJ4jn z5o6@xM+_}j+&{1Eg<-406n0kO6M>Z&e4`JSYFA%r`4$ zM*J@?DE|SdIu++h4QzW6{DXoQR2?SzmZJ(ZwbW(nuI5{WLPCT>aoa}RdqCd2?lRUF zbE|`atq2t5eg+Nhl|kYCZAz#>znDir*moJ1@j~*go|h$3&-GeEaqcg#!@kM6%4TLE zWn0T_Fq_Q(n0<^Tt{O`y55z|JOZ65D?=y#vlZo04Y22@%pPH@h6iKC^+9zsr8bRk9H&9kl9{MyAG>T&bXZr}@Q7cxJ{o$~9#JaY2X*v9@?yI?RcyV(6&9+Oh?TE~ktpSz?|i+S4p)KkndWgR_| zOM;fS*}q|u%>(K_OfN+MxEa}?T-sYZUCM9txf40lPN__*>RjZw5afF)Quf};{63A1 z{brva7oCM@4Pnd2{HSBig3LGkXm|?q!#;bJdx7kFUP++gMNcK}WKKxcJ~aBlJy&hk6htV%fSy2}vnFfwSDs28mmj>rfh{(;Y{tXp_t>zI5C~g}0t_t#n z=tCtx6B}?rin6y7biL)^V0SlROS<@r1oz$3%-M5$HDj~7QT@3ko;4#`6bG5=KpsTApFrc3oY)ufb zhVZ_qn_K7!r-PV>-;z==S8lEgg@*<0&EGm%%S6z|;N_PKTo)}2arg!x<5T^233|Xo z!Ns=_x^^HfEtGa)!F}5sd4TeBa7}sn85d$V@vo+ipJ4BUCncq-F50aR#rit>`W-0v z1uqoO!pEMqRDvlUg2BAjfs?Ca@1Lm2pWKX|2wNH}EBDra=+j5>=P(mchcGZse0A{r zC2^=Em(-9*g?JlZ2Qb#`U;Sh}l}|O?9$C758~erK_RY;r33dy)!DPvi#1F5Q3KuhF z$+?S(-v&PP{N$RBK$G7rMsKWAaL20?2j&I&BD~R8bEN(=)>IZ}d8?7;`X%CvS z2wy);?X}!?&sjGX1NPQ$cDA5DqPAGp7&HWTiu9M{v#+9K$sP45&Wn5gq))BaF>60J zw|z?5*L~hgjQuL`X`hfSPq=w?Z|zl4)`XGKeccdLum2eZEvsFh#{TDfJ;gQXY2o|P zrp=!F3!m}EID_lMK{+h~1ALD$Vtuc`hBlEJhOx_z5p|8qGyl{+{8r(@HDXfoNLN0s zrFfK`?76-cY4IhemOQ(z2s&TMikefuv$^XyWJcSJRx5Pe*+!g5>Ta0fzmWUiFq=e7 z=eST`&C~31(AVa_kyxunOzxhhRQ;lL`#NOxL9+Q>nnahql~oG`ztS%JJH_Fzf~jC| zWq0IqgX_U$9}ET)nt$XS)6`!5Wg_sj8z&O*m>@$YcN?G2!-N-<)cQPl@%AcU@Lmwo zDsZ}LTjT$OXJ3k3T`=G=jnu(&+{kz6+0#3ZkAmNkXfQSkmsW#y>Y!1JBNs&g8yA_= z$$>7QOod24SR+u#tMpNNGKb`@cVoTWSVv>bI8rzZPU|P^o_T;>L_Wlf$;c zbPT=^57%b1mM{w8d&KC`huHetkB%oz-uaD9LR7ZA?t4x*=*D;-i|fnyn5Kjy<83FZ zs-SDAUn6pO%Z87g(wKc8L5Kx2)gWM8mb!ztKC%h;029%Vp>|eJqLW#&d8N8fg~+$K z@hHiha&k3=P&oZrRX;U*d&}4TELuRS#t4yxjX2Nk+rlIdk zhREqJdfG&{Wj0ID4aBGHdXHqJJ)%fHcH`VdV8V^pzuL&@G*xGa7TR8KmPW2G`RPpB zY!THGYRs!|2ti8_U+;D3Rjf<6^)ZaTIv-Qn0GAL;^_v|ik*Si z`OBe|T9Ragf(dHj?}fV*?jq{5ht^ZNREF215&K(1&XMn1Ckhy_fj4z>DrLp(iHV6E z{T=kxD$W7|(=`?a#yM|8n?`68W0?hq8Btp9b(ACS7C(iG52E?y9|CEcK;IjE? zid6=l!R~^aDa|w;H`~Dil;hQ-icMQz^#sqIDuFM(jr^N5Nhr)LV7*+ZhK2@>&i)EX zzT6v`e6QZnT~cPvm=e;Z#kFH1qE1$)Mw^j;&m<@a&`pxq%ttDH7&0N+oxPrta@O4- zs_+%zNKAC2p>)W5R^!vZJfHjxM^?GJPUm)XR$WVrm)VYlQk5QQ=n7#pT{F$U@^x1wGBzEN_UF#6_fZTY!={rZIb1|T^~s13I?Ui-TZ#0PJH z!p1vpIo%yG_;gS1-Pj;zkHg1T>j`;z4@!)TB1`Vq!lzPO*D)t87P#+v%W*ZN)y?;p zl~4t^0Q-o+h;Ed`e!ssqxEjB{m!B5PV4_V{Lw@TMcQtf`(r})Ig#3K52R5M7V=KHSeJ$rW; z`%mBa=wN;5W)J??Ibu04Xk}MJt8QRF4@2p>a5sG5QSg<2gH$a^1Nx468tK9~p!uDG z^p5g+F42IOJW1@Y!@ZW7lc`3b7GQ$B(|6-L`dz6-Ogub1!Jh0mC4JI4@&~v(27vM+ zk5)1LFFE2di;MjuBHDCO;#Fh4@-ge`xSq~p#Qy$%GY5-#8$;XV`zIU;#LcXx79$hg zT=R^t7()V4UG`02E@uib1mhvcYr@0S*U-c6R2^yQH#03b z1XKtpk+vW{NV){3@a^x47EP8CLd!bAQ5VcHY(@^P&Y=rn{{T>1!0CWUG`n)Y^WzvR zc1k-5!;Kp@LTR)+UA%@|F%C8?6%Zk>h>EPsPOO)dGjSo(TA0=R*9Jiy!L=}|H zZa#{VS92;!mNPP_(`5Yh_C4ihl2bsEYi(_HwZ~kp?-^fvNr^dT=qL+ix{|R_lHd4B zmKFW#xt2lSxx)LtyRy~Q)q6b8#l2Rm;>j}S=7&z>mTIY6;V9u#dD+yP`KZ(n*}~Sd z#ZlvHUY;V&YnGWkgsinpAN>=r2_5UzCzXQtyH3S2d5sXAR@S=L=V@+44^ZL7*X!LX zBzSmE3m_Em$-yp|S(}g@bXwg;xYyM5&XW3$G^QUld8=*VQHO&{K#9$U2<}uI z`fDlq3oKWdUjRM%P}Q}d!$+g)ig}k{gRfm zUY}5h1qOXSo}b{n%jT>dO~nKTpVHrJ{wsc2TM*m(TmlE{k6dh%bs_aasnpLr{UgK^ zgrr^kP-fqq8wKR%0i8A+g4KT^ym}y`TlU|4Ab=>Ins9ri##SfL!1q}3^`=;p0S1r;zXFnDR+?Zp z=S8xCNQ*~g6m7MHDOE^6+P_Hj`$gSajQ)B+395V|+d+njf0z#E#0Q3W6J#_|gT996 zmO3>Pr7zVgq%~{tJ6JGJzqINtu0?{jFyw66ZuvqAW%>1NO%stV`*v>fts#m-VHKKb zcBLJbvzv(yoYZ-){;t~EBg1eL`>mDvd8)$b-H)GSUg(0})8w0&z0K1*&HSI7V1^zPPhicL z!}c<6sRV5-f=BXul-JMDrp5rtLjswwPtq7D?o40cA^S>v#{%?`r>c&Zx#My+!Jx+T z9fG-Vs_m|vPmcGh1;C6+>Kl9s3Z%(Nv0_ijT{NIXcYYPl6L$oEG_`_p_KsXF(|j5D?gOcXyW{Y`VK7q&p-fq+7bXq`T{TyytlD`~777Vn1um8gtAs z*P}`C)0NmOBR?*>>0leX;=^(<71-Tx#*?2rQ5HjEVa(mFjd$a17h@B>O! zv>(K|blg{5Blr0?E6#`s5s-IzjfSILHt4qAmDK(^(jWx?$l=XeJw9FmACrrfrCg;2 z1~>~Mm`n-;eQwQH0n-A7VcE&5kkiDNDeRu9G;n_QUuY-79O+#Ug*ZUn4}~HpYMf*=iSB6 zE79K@-b&gKnz>tsv3&4GID5f+2&h{6V$}yh)hVdF=2zvSj(O!J?P6#7;a^ME^Vy7! zi4nM8-g3BnR?=dNJdKKW;31Os=*_S9QK9H^s>d^1PdO&|WBP%WaK*R_SVSv-&6$)4 z4m7KXXV?`44v*V+Xs?fwBUOO=3P*_v1$^HG=i<>LZb+EQkGEE~wt{FiTX1qK5vKYu z6TMzdNf556j%m&{;ny$>=o-dhcZANoe#`cZ18tvMREkYJm=`Y1WfJDA4aJ>hWzT73 z^h4)46RjyzG`_zY^CHm?WmQx#Dwvw~CWUO2Z{ViUpyCwG?xBynr5p}bBHgU%Yir-e zJ-3T0aXPX;n#m5Hsf8$?5i?o)%ju)!scn#Hx55kw#E1Tb=6273>6A;R&e6#I$^dibq7 zjLPpgcB0qqN@cXI*<>4avss+|%oh~Q3B zXcq2!Ryr}gA?^%d+LXfiofR%Qbn2=;ztc+h_~T0Tq*d5}m2Y_u zQD}L7{wCWaTfkpg4V8EhUMfV2-4&)S~=D` zbvM3N<)aaw_TYMc25FG<5Rc!$6Vj9WEAA1|B^Ru;>d;;aN+_87{=k;?wP<#&*3EWM8btd7r+kqCr+niV!_Oz)fld^4 zuR{k;>%+av=r**mIAk znR|{A66I7b$&nJllM;u6nu2%q8Dhu-7)0K9#@t~YJqEj0LH3^v2l^MZJ$v+J)fo3j za|5`RQ~&u|d>|nLG0Mm}$HXdT{ZF9FCdxk{4zUC*+ev`lnX-$d?tDg;5ZPXI(^{WGIQ z{ojn@D>PeZKzLl5GgAZ2Kb9K%4H^LvF~$);1Sv0EsYw+dAHRn&6NZW<5w58k4IMEw zNHf|rpdq-c-?Hb{C=1h`QH&2;W_C%jXlrw5sAVpnZ&S>N+4RjN?$8}|P%{Z%)@}kL z^&{diwbfO* z795@f()vr?hv((>w*I@|xQ&y+rr~N}fmhI7T1)T_A_&Gw69ihrH{S7zjeM$XIQO0x zdx-D>#>VfH-v(96mEVgw2ZbUI2Q;v{9(>vjvU$e#{So|fs?bprPdJd{;OJ`2>4Yex zqpi(MvT&B2Ye%W{ZEKkb1q`k`1hlu zkpsAvTF<~vtzp`(ZUnm(xw zB!-on3m5bmTh?e4!?u&0vhW4Sf%KJ4MtS{P=!Op1QM=u6{q|{47gui)vCDt&DdNIq zbnI!mVz?5CEa24X43HZQ%q`p!9+o2t=og;*)R+=+j6$Zlvx?_7Q7fbe6Bt~|>tN!B z;?tuK41rO(ku*@Uhtoo*y?~`0$(#UnWdS89@Y8P?f|`tb(xR=Q8@d9}iMaKrr+(Sz z6_JxJ7(Eg*H4Sc`=`~Yp&mR;4rUjs9Vtk==#24b#y)gv)L#;mv;D4&z0YXSVbCcan z`QxyE%L?W|Fg^PRCX+EB>oxcY{~?VHxL^EHGZ9w;sE9f|n`c66b5vNo6_6D1>8n8?9!ckXqW z;Ip2~iDI&sPG91ANs< zrDiD~jKNy8;<7St|H%SJ93Dd64mg;otvd(H+mkkWhgXAUn+>#{fUKR}d`h8u)aJ$& zEU{IBOt>5rEDCo?I>|>*;#p@Qe(Sn&aVdAboVQ)y6bN zL`b5yJE7iexu!hmx)`v*74o@*1q4w$Xig8C8kYvNU_8C&!1D-o*2A@0-Q&qk(R*0@ zg!g!CMcO)ZF6;zwIzH#UrdO&jIC|k|&5?W4mLz_6hSwt3x;pK8e)l^?8!$J<9c%uC z*NhU-&wSSUfGlNI2@WfDE9CR36$3fFjs>{{_2W841`|wKsnr&rzM#3b`T9ORD4_njXN03Zq9fIG&qsQ#(DFmX3zg zvyV!gkuATeoi;y3M#AJd{`1&ALgGn?=uL9`eS9Aw_Z3Ku@WLEOla25bMM~juM_$#A zZuf+@o$!ReU8p3-wsN*Y^xpM_8N3gQl>Lc&bKEbIue0>Mc@dVTTPt4~EV=t3nI4Un zx##V2oN-?yUiQ&ErK=SiG(!>lzKAFNN33`Z84bv$7@?r=`hA!CTG_%8Ae0A7p>`!kc$RZ~V_^a#HC|J( z3eaa})mX^q@F~NIyzJe=ztN!q1(O5wHpI-8+1*DK7K>2?m{H>&tIMbC*Sj+X%(1o? zSwm$%VF^>G0m<(SDHTb-0*5FhItVkRou$IDfD{}o3Vuh6{}g0^J&H)7|30wpi99HF zlls?0MG7$tMC@r2P`6vXm@iQL}3F&^N4o|-RP$U-O z{>`Q7kG?mX{YV^sp~p2yynTBOj{%A>WrNX2xZHMwg`wL}Y2Jq-c2N{L|$r*q#9a>jRM^Jf*58DLN`9iE$Qic6r(%xI# zKuw<`_WV*Uz7!QoL1wZ1)MbG?FfUH)q!V3eF z8x;UGiyL&cSdZ1xVgQ;a%CJ4yKcn7SbpqXSE<9uQ?X)ZFc&j(aKgX1H7QzHXMvg`H{A?Tsl`9Tp1 z&3s5GUB#hn0VfmUypoU;42QwYIN8tWNYS#j@(D?uvDCk2XTOsmXAWJkkz8hev2f%( zXX=f5IYLwKjXD2-FU2oacVm$I{?K&V(Z+w4eR_B^*XFVE=N5m7_h{}ajjjF~oCAr? z7Ps$@mE(caHlGhJzCd;A*joDSYp1pq?%0Y4&VcNQ_1pV9OM3NGddyqPAp^8^Uc$q| znOZ3nDgJuJzurjBU>&{*wjH5D^uO^C*8mcft_cy0%N^16$qw@m7f{_C@J(`X4$o2I zND{vzNXEIVKXS~mgYW2!)=#V99%2LUj<2t;jTX=%tuuAHtJqPeyGQsnyI3VBb_@rr zgZT7V750Ejv`Ryj3$EQ=s55`vN&=Gq!9!O?RA|Cb=Mm)**alQj3U#SOdNo@_=+AK+ zvcGORRbr%Q?JM#Qr3L7?%TC#vpy~3V}G#x!ml0IyyMW z8|C(tv15^~j9McUDD}i?ij4OZZnJmP-7Wr^b7`GhO*@y^@WO4z`9NDE@}<0-TMdG%)rpi1?FEb0Awglhu1xft*1Mu<{17Xi+9 zZiYuhE+I2Wmtw+>V7t}&AR>|&*dYlLUhP6bC)s*Ckoq*TKhNg4*(2Pf!`qD8Zy;*< zP8B9dxpLfL@FCC;+P=8NGB$8XhBrpw0^Gx0+eRvHX}Q0JB(kdTM4F7kIO+r)6#dPE zsDfHS{1%?FF_Hrbi=uU0*%^fl5{yU1pkxr`j6@>+WEh)%V}773#qSqVHcx^foMgUJ z5j34FT7q3+3Hr?**R+_%tk^riL%mSDuxQ1(yUV91<{=OzwB(D}eV3$s;Kb{X4R<%b z^SrKhp>_^233u}C$I>FhDqbc9=wd;!vrmwkX?g9&%X#NzibVp>X1S@Rq_`UG_F3xp zE3PFr_7rAX;(SUg)%kmH(S;s7RA;mL>&aqf>Cw2EI_EJ*Wtl zepHf_>@8+BCPaEl`;HwN`Szq!{6Ly;%Qy@UtZYgt0W`|of&Fv(p&lNzmDADn40ErB zYMz`sPi-wN8(X?bLEn1tFH#wlDdKX;P6<=!(VCSo=w^eVAwemWSQJEsB}OKYtO_!) zkldC8=9BI9`Dw?l8aj@>JzW;#U#It-kn74) zVBOt!k-zhQnwrcE0IMu#j87m73DqW)F7Xf8W1eVKD8t?NZ^~{6=(L7=c#?{llHDq+ zki~D64m?h&m8q8uaQ0MUjk!mH3dTdfUK zej!Je=ey%?ljHG6Skv`g;Hwquw`ykFgS=W`FvJ4j{#o__Z+N@`#5auzm?!FwW{Pn1nPoS#F?3!8-i82=!y@?mFTQJ@IbimTOii? za|O5|m487)6EpxuWdChqrSZ>GAuWTKfH}p@d_Q7^v3T!C#R5!ie?DGn^b740aLk~C z+JT0mm!A45Nbh)Pjg;4V4D)uOW9-L9>`CO;T=kK-av{7G@wRh5;EINYuX5u#>0yNi50P!v&sdoAzc zxp{on2#+`Om@as-q=1p2Uh3QTO%pNI$vs7@jG_i)j6l*;6x7S;8dPWg>e}Dy1*3z3 z%1+9iwLMzuK^QXpkVqa?+lwz4Ct9ZM&0R<&lhFwl<1mYC$$Jxg_z4Omm{gb)6eJqR zyMq%gurUE6B)WP+7jwyK>w7PE5V!ERU%I@dw}}e0qqgSNhuL0xTL*G3E`01~XKcef zxqqvZrN5_wzUwRzda%VPa|E7^m>&IK>yOp?Q=nOSTHF4G{9uCLymm@2zh}G41CYFr zV`E}jisLEh7d=S^F{=coXe?+fbdHUSv2spG2kfEW0Ahl?bYP4Cz$@mYO%z=O6$a2wubWblp*`5D_e z-jJ2EI5*u~4Su`;87^+hGAxG2dBartYt>-Sz&44f2`v6G6?AD?qisn^Nrp9USN@sJ z*&7n!iVeSop~-WyPaK6e^*6p4+=M=f^-M$7XKi~f6yo|$haQtAFCc?q)AvSProxG!EEM=v$z9Vfj!W-FuerFfdZzcHQT!yJ8 z{q1K+jg#b@wI?mR9O{!(n4+m`p(%w9nHP6!D=XE5tiT(K-)|u>hX;N$uktin;VmFW zdx8IjI|6eRfry&x7gF#0_oK8(lNxpP2%jx%?^bxbaA?@WHPO@236a3v74=8OY$*)a zKtP;Q?FJF{8?@-y=cC{Cs8r&itCaidnHii-wX`fMd8<0=M|UljFris=BRI{8_I$!d zeST~MF7|rQ3Oh@>7Ly37Eg6my{+0b}YH`M_q9VRLCL|nwH#+^cmtUOefdN;BC%FQ) z9qaI@AoXqf2tl(g%TnTI%Wy`Pz^EW!0 zkOl?^enC3QcLRFF|A8<>xX{4hxMF&86spuOrcltw#;@oGdXhDy4+tj{XoUR3rqw>M z`>&`q=k8r!^9OdE_9FO|V)|=(Pu-6wPj0=Q+dqE}%fLlD5@3<60oHN1X{f8yk<(K9 zl3fny&VJDEiFT2+x^03rT_HywK2x@+tkLO5WX_m`>Zh|grye4ZkV)7R*q9+Rn;k}&56tQ z18;kTaY=uT-sSD<3Db+2jQ=0M7XRb>$Y@krbN?xB78Ks7RuZA#N`-8^Cl>Ot@qH9g za0{APy-g2TvOON`d`5qV=4$z+?;$ziYVYA;G3h9QicbO=W{AgdlGL;X6bUTcEWus# z9Rn1SQ%`Hs>j6qWGC@3X^C8hl>uwXWytGa;-ZvARxpJb@w!G4im0>sRU^o%&a?JvP zkvxF2f*%&f5=$x-ziWzq`(tDrh|UGDfq&Mz1KYn-rxzE!2o9xdJ}gJ}8P)enQMM69Qac|F>d zq#R~n{SlWWSz=^#+rtXLlLlcDsVitki;IhCU0SnJT2}h5!Lc#Mx}Jy_>p1U8xU2h4z=7jIzBuO-0p^*P$PYqjDaf#T`iT!`?0@vHwbQvINj~w zPY-3YJwwb(@z@g$`KE(?shFI{y zyy( zp08DZIxBA#PWpf*ywYU$Oy;_)+6cDSmx_Fnr(0ryKB&c_;3cub9ip z*ZBf_j`nXU!dj!7(r7M*f#!%b;W%M5>!#VZMM>e0%CU!^{Jhb{te@E&&JS9?<>lom z=?@cxTysgX-J05H7YnD{(>2x*V^?a=kwMDpUXUM^W~l#=nT+dH!T*7CqG`_hdVCr- z?E6|lU)6T;sxpHIfTsAav*$jKgw|>F7d5>RIK#`$3z$gV>XAJXy1fHO%?R~Ha-?Db zdxkx17~FWiUUL!eO40v5PB{Z$*D$M-Ocsi5^ei^1&)TYIAcVAFX`Mvy*K(;Q6 zU14$ayh#ZK#upKt()oDkP%*tf;g(v`mfSuPe_>T)%Nj(};8K)nGuR!9tT6b1!0tMg zjuc&pstF0A3eVVW_2gn48Xr$t8?!E`X(D=A*-6p&OYMPW8_5>rM;#vdvYDK;x58aq zmbkMUSne#7Y^(X5#Lu9z)Mz_az;Kb4ilrLbqX-O=y0CFk%H)~2!DFqi_%->rUICc3 zlwXauMJ8uz{~i^Di?HBQNR^tJly;h%3A(zvp7Lf@(x4reVtQMA=>BqeD<>ysqBvOj zlcmwSX8|q}E@h%62PBM-ogA%DXvv5QLuAe(J%2l&-5=edvRB98O8%)2_QDelt$nyH zX0QMB@Pv!WI0L!cC*cB#>Hr&{H6MVgo4Q+!Tq>j6x?6Mi;rWevTZZ$RXtlUfX% z;Gl}#fYzBvj=M@i<(lSW>mF}*Q~D=N)y4o_fd%)mhW>w|RBRwL+FPR@nNP_-k&X)8 z-hY9%va%v}X(e)3HjVs7s$aQfH{-}~2&K7%LM_iuqm(UxrBOwL!6>N{iBNzaE!XWZ zW^H|$HAI*gL+;nEr>6D@a&=viWJ-CIkQf5yOlS26Qw)+q>1SALf%b;1ihqo_on7Vo z&*tSKi+V^w>vlb0V=o;G7?L*$!OmzWOf)LJ11w0oMOY9$!j8arI0?_wL+vorBjkCV zN1@;dUySvO{ZWSpDW62MaKY1M$t^}Xg}-9fWOM{fUL~2H+2mTZ0n0qVlL+lVd7{kfvLZ?U zQbeu~p%lO?IGa(h#@2ztTb6W;dO#wfeadpZmnQMO63m9^*nyxJPs%_;!Ku4ivVU(n zn!DVpd6FNUQ_E!Hi?M&*Q%4s`z&(~#-u=V`WMzOU(F3f!YP%J_H0hMN=$myU7+c+^ z(A)phUXu}q6eRAH?O?Ks_-h0vLJ<0GrUiyb%x*jv>>YcH-4NvKz%D@{CR~nQBN|bM zck-VK!a;lNfqgR3UHJMB#0;iz^w-Qft@)2a#4hF>g9wW*WgR0NN3_9vnWH);yD%ri90nf z6CW=~P3;z8b3FkrwCgufk1jZC&4h?qr4P_YH_;maT!TlGy-{>gM{z>mZxPbeX{-MB zo=8Oin=f&eGQ08|4hZ_YBIXqc%qMkgVQ1X zaLyq3@S64n$XeR3iYH#eVwbX-IQT-6|3*LZj`mQ8X@{%9qS(k+2O4~m7DY)S{1AFW zr9T-whyl;?f1w&U2qKHYSj>_Y;0yhkF*pKf@0OphyV|-R~_t-D{B?H#z{_g^&n8ya;nKC;%z3$&>IE#$n==G#1- zogJ0S$qM$Ju9tK)_C-at7o;JZ%ou;5IV$e5(I22aVT7Bov?J7W782d3!OjySW4<>VVsMkE&_Ug=N%;RR-n5)2f*ZGvQ=-|u$hBpO%ycSZ2lFunjj}>+Dt2_3Lz2ujOh0kG z^=+?Xizke>1zCiDo!4cZnv|9M|uno0;nQSD?nT0p1Y@q_i8s(fc``p{I2VqB6#4{QJ5vBVneiGIj7#T zr>G{o69b-*;(jMhE$sIVo2OpSPZelc0C`zAe~f|}e}_eJO{WaGpdeB{DjvwZ2%vmO z;&XqiKDJ;W!s0oRHxT?iAtlWdm5A*5VpLvIK&}EPvZ65;GlE+1xOVBt%DP~tT%OPx zi>u;lhIvV{6rG7G^-#qa-chj?5X#LUO|n~%{JsDU;t)CPg%*A6;4YALJF;;1vbZNg zsnf1RDN=OZuK$khhaS=IY|-6F+vi4_=~A;>4iAmwYENirOPRwCL{t>HmLW<=fXP)M zps_oeE$DrIwLjG%sv{K4gRgwflTAW{sXs_g!eC==Nv`1MEo}M<3zDBDHEExloxM>6 zDr4*(h3xnEoAB$Kvwnm>S>pY+G4w3@E9><;wN zEBt^H?V|5rd)k)?@Lx0);V?oDLwOfgWb8j#JQ|t)Y5POA%?Fb=UiytoVQ@CKD>eDo zSl^$U-r54F)6k`dfZiDTs&j@rG-UVU!Qr7dBt*0GCIds1yN%WtUIO2J zVfi*2fNp9U^q(>VJ6U=^iy?(farYS5$chExN7>WlLbS*UcEDaF=cx0B*h4JTn1A zuzXD?dLys^$be7b@(U?B~Ye(B>+0W$4@8P}CCb#BExZ){Y zw6z2(cCt4aMo93$SX*++`z4d?My6gFhK#nQM*C-CQ$jgBcrlZH*tlP9=TrGf zB3hX1y5$J3XSqUW8UV}ou&yNPFS9E459?HdI{m+hydXTdtSQ=m{TmeA+k-;afN>L` z7o{8+@TdVg$@<(72^S|ud~<9~bAbm%U-0E6u~z8aaChvb3Jre^ils4%6bX|8I-MZ@ z#pQ~fM4RFLy-PpuzIHsi?iZ&`o1!At`RqGV|6}_Zm>+(b39Y*dfI$5ajPG&Ck3L>jL@pr} z=C0m)h0CwF`jW=Yh%gwR_2@J|CR(4dDpYC5gVr~IiC=8GsN|E7zH5lI`~rQ9VL27# zVRr1&968fvux{Vm+w0$HRa+>`C&yc1YD&c>(iZ(7hxZNzi~fP@Gm%(vgYm(12``{w zZgnW-D`YYgBGP$JcP!MFUwmeG#p?n8dHWGA-aZubc=k#OT0*BhJYb2}O(DZ!!HNTk zM92pdN+XN^2*EI3Zt;~_V!ivQ9&tlKlX-S-E(}e!89xtxpwmFvkW8$>@X;Tt^1T{B z{wX~7qayuD@%Cg~Clc1+y&uoHAgFLOgPVDPbD_^!)CbOAOeZ_&P_w7^!YTUjVnK`; zIY^##!C9M;0`|7e;#kh$7yOw+@%D@}!?-&Z1?;np1=L?S_=*`~N%YH0g_!*Rm{}^K zZ+7Tb6%L^fBs*0CP2b#k%gf23NPyc!%Hi_A)UHm?c>0+5sQ1Wg_Wa~jF_9L6=G$_n z)M(Nf({a=5o+P-CTO;&Vq6!fav7h1{vBIlTl%jnM!N{=LpyP_wFdzePN+jqt zy*I#Y>I#XBwM!^Fxeu3fN;YsH;sKUDA{h$=Nk>O1*sh6zLvvuLe)&U71Z-18=6ih1 z6e;Pii>2E%imFtX>@Jx@dk z-Yz?PSXx>R_Jm=ED(hv+B(;T1PM+_8p0WaeeYY=)O%?EeJ*|-_AXH3XrekK#p3&cF zUEw`d#Yg1R1m@4X&?cit_@_c+N+T-m;B@!OQk$|{U(WeQ~`Ga z6A6g`wGrho+$Meq8bp2r=S$lct^Q_JRwuYD8ryITTqMZ0$SUL+YuxPft^Q$YhyU}1 zfaHt)EP>2-((b?ELk{w;CNhn^7D|llu&*3CzHJId-N6_=$M4tVqz}SEy0f$3Yahnx zdzeo8n&_ppr;nle01}0k5-2QY!5`=|WEwpSq$JVShco+q4B|9zMaaZ3OY(RF!r^i~dBs(t zyZVo?!;M>rdD#LI+BMNnw0`;;OZWGj5n5V97r$V~X!J)~X~?@|g2(eWnu@wNN;yW? zPv8)-3Mc~lN-amJQ{K+Np!6a$>dH zLpyHUo|o&oL$S~TJl$9CwQD(4!@-sHrqoe&ps-L^gUmbSJ(?9MlP zwOiC=J{4M5{ZP-=p3`yYdfP$3?{<{cV{e$&VL4UUJ?|H_cW<=Zss6EFshIx)3Qa9o zN>w6YFNElo*w-LFuh5DUc)kUx0UMWUd~L^T5$EM-tSbLU<%0~G9EufhlH@q#?}tC4 zGDufI`S6klB_yF1X#*P{6nlp?jG))K>qzb;8CtB+SCWNg*SN(1U6$a0=fw}XyG5zK z(cTcXB{`7!v)yFzgLDlH)V`VE&X7)GQwkf;>=|#??7N}yd_O!>c+Zjus|XIdPfQOW z+QoJyE~6!S@9x01t@q9hP$zH&(a0NDdX>FD4AZ784WdkvBplJZ6c=^62xG9of!5wC zFAvxJvnk0a`oX{6S8CoCF)&aWi+k%EPvtf8R7M^5a&k7jnjFWh&IR!p)pCYCv2r7j z@0+veECe~#($O=0ZLN*`#9g83%6X+^jt*7B)Tp@LE)S5wfjI)`u9@$BY_ zlKnxm!{i4pSuKQy|5_j9CGtV6m$vMyrvBl?)}ut{i8K(|gve%sl0?kVir4B(YKyC5 zPrt$y@=~*Vef#kb?D8kw4;C2_i6s9EN&>dj*S2; zMtl4af0X^kT3L1CqziKeU+3&6iMh=n;xJ0in(e9NYpiM7;u8kF;xA)%+(bkCs5HD=KH;bnK zmQ*^BKy$KrPu;ulpRSyyQ~<;*G%H3#p-p3?OL9tz0lX#YohIAaO1C?SF~@A=nn>^? zAJig5FntZm2Yen_uub%BrsCWRK$gnbWE<)n3RSjT1w?1qdedkCGGge2RQcNq^=`QD z-y1vy>>Aauk+i0&=a(Xk6^->Br)%P9kK^yUnwy)ONL^-RHQvP>y(B&_80XXOfk z0q4on>im1q-#J&N@&Lz+^3O3@Zx_FEp^?e$+6u(%fRZCThzZ?* zZBkTNZI6>6+~q)Pbx$s#fXBHY1O$Ya7;`fs)QpTY@e9q}Se>Pmi|hGS^!a9Ia|e$= zfg66P@%Y%gUuk))zy;JMi#)c)NeYyyMUE^+i0}i`seh*5(qz7dLOG>@MIH{{){`guE(V<L`+O#4U=XLjd)Bs%PhDOvcFwT3%ug@oML{2k~@{JU?|8l1Aue^NbUINQBzDD)dM% zC`hP{90ESuI(Oa98Tv@I7R33^k6!3nsyvGc?yYLEhi= zT6@ub0&mjF59HMs6qvko{xW7XHvGfVMmnaKZOY2bd;j-DzHp$dbW7zX{2Ac_KE+0# z8Nf}c5m0HT`bm*=GXCuJ=8~LP(FZlz66_#)qM;+94d`pq^jL$2VG*rC$h@u__Md8Dk;dFR465f=3FIO+1!%8ttD9Pjto zcN3pV#?4<+R>;s9n6#C+#Y@v-IzN4_V)gK&e!IPh^?Ch3N<@Hgqn2=^vV}rvfJj(O zhjsRgz7vlgo;j|aFq1_EFyuB@z5E3BaXWT_f!w8^elJ!sS1B|pX6k-~Y3BX;L~F4r z{*Hjbu(ygre$xtYTM7)Lz)P@0f{|_u{TA6IYbympCIU3g*81EU8C$EH2-jw3`*?3F zdNa!LkXopngl>#}5tPy9$NHTH!NrkGkc%sD2$7yr0IS^Rv64k-B9z@Ri3$J$b_)cc4oJvrPpywLTy=t(s~JnZ#a4MoVtyir|r;8M=;c5y?We zZ{j&F4kgi7r2@#TzQvrJtsK%I_@0;k z^e&>AO5ke$L6%$~k>u=SPAP&aG~Y{MV`HCuA^4T?Ya|{a4#|OqyP)~qk3+ihM+f19 zrcV;|xVt|YiFcU3n^v#20BdY^t}B9dO-?54YB+j`tk_{I@^l~PNj}&kIrGfMNt6F< z53ZgI$NIGzxiwGfgTZBn95Zc+~rM7oG7O# zh(l&Vvc?S8BL%)yON|p;Gg@_Ki0U!5S3*ZM(w4IF^7MHjP(s-i;9omesy!MtW-GFf zAnnz=DY><5J75e}E;~E>Y?Ye}ImQHXqQHo89e`uM?7dUArJkz*d6V?9`yW-7QZuXC zIhs4LOYhiH`r;1eP#m)k`2brW%Q5}L^P=~wEKdFaqEd#hxya@eD68oRtg-DsqQCvF z1BK}Kgz|UnQM^rq@__icZCWqcJMhBSy222OstnmHdGV}dzCMim?~IHICxl=1tlJx4 z-n+aVqyF+A%Zasw&g-xmuWz^X|7$q_jy^Y*1rIfd^c}@q@28f;e0I)hO|PeQE^RVf~d+DA)i0Dbxh^>ld5Na8T(G~NUglegY8oq zA^{KMUasnPVv`;vX{hL;i-A)nsZ;rqB#^OrOSObO0VOWKy3lj1kd$I!Cc9fj@UT9&&3tuD$6{Q~PLqyo6%?rOnc`E zTg@JPtrOJp;0ob70r4k~*(&9immXLKK#1zg@Ut6b#8qz!0$IG57=#@nICBYD@kx7# zsYz^*CfZt9Jqs{W!;<6vu#>IE17{1NLl_{4(a2aaxX%H}k%hVf$5Hn{fdcLJ7HOlT0H+@2$Ck_6eQ$+dvysSrou4BRWV8!OY12CWs`T(~Cz z@qtTaO-)M*Tg&`o_)SA;^!#7yDCDT*Hmw6hZ6K%l@1vDMZYTN6YyX#1&!wH<$2#h+70=*N>&#vnWgx=^oJ~7whvK^V%`k)S3 zT@6N^rZc`xD0B(ZXFkm3Y*GKpf-z^XCE(wTMb0qxL0=TstzaS^{ zvwA=FFgrWDl{2jr@u9NpeIsG?l=2S)Zip|J`mVSYr-WWeYtmRYgRWeaU3uG~#l=LZ z-^o8(YP9=BMp5o#)NLQP(!^Rfx+fNzazE%*FRUNB=CXr2P|(`qQC4U|OCVCnuxv8b zT43l70?dg#01(C=5Px9?{Fo_S-4AWwdLYY-{<6S9^mafaq)A_5y%%GdImFbF5IsIcYKV(J z8jU};MW24}{=W%G*OH*JwVrMlVd z!sMNN<~Bt95_S9CQq{t=-k%tXd);L$@1%F(=) z*UzuppFEX5quRZ|#y2(4q*-`7AYbel+bIUIp!5sK->>+Q?D(4I1kH#;)lxm|Wh zf7&t|exy9^gG)qS=~&;p+xlBDGDkNGB7r*!bgyHa2;}UdEGt0f-t)Y)rn*1J2{HYq zKY(O}y0Djjff%reqT!0v0J1{gv~oNvYvk5Y<=tz9tPZW zHt8M3`uch_r%Lv4-QxNX!>Z@PEN<#Bdn~8*2_(4X=y1a zd!YR_W0IJ!wEJQ!gZSME%3i903=cum<*Z%PD^470DUMrPWRe6Vu(%RYRZBN;$ zORQ40N+kCoK2h1tTl}5vRDs}vnqixQiK6(~A+?`z+8s{ zoDbZ$t(Na!6M9$)Hi&4Yhx4i;$)!B68mRRGZzZvCaQ63in%YmU9|SS$(Th`eP9~eJ z?YW$JVMb)6M`7LTV$F`(p$09Fj=3vL#Ji0g%RAwKgmiF%$iq4bK?e@WlHeW*st zRA=pmFjo0n9|9gxThCgK8zk9oOrZkLQ1oh}Snj~i3{jI%F`7z_c^bKUZvPaA%Cm|+ zQ!AamRd7MU*Z{p;Y24Llp|iYm1AH=c3bHI)AJKr7L{?76 z@0m-^h2fzpdhnh*pp4JJd47xtp{dygv4(+@pi%g{50ZW%W1>V&~^7ppv<3`a!!*piy_3SEaEntB8t z{DWChgdWH)G-pb@TWUAhX%0hKQ59d&zMCoa@efVSa;}{|p0KIi?xT$w7_GaXZOXqV z`JA5a(V4~Tk~A7>qa`;!b#VM;W;TpqFPc})GtTmf^zrE_Cw0dB%;LHl;fvY|%ftRZ5Isw>zvP5%~( zDI$CrxYhmz(|A!0`hUqYE$AEcTfL$NB`zi{wLgam6k&zU@Tg4V%5Ed`Ec|5bF;k4(i#d>GB9Z9PIxwbk(psT!UHTp`zF7v z_ODdvhztx2uH52$hgq@)whi1+w_qcq^_N~tK;2hf_@7bo8$R*f=30_oUJp3SO9C$Z zON8msQ(02-;f`6=$`~Idfn~TuyfW1pCz{BD0&tT|AC>x0tp|27NnPj+8bA@5QILU& zs&%wXhF32g1r74s-Yc){o(4tS0!gO&WpM`Nqf@Y7Rs(2%?s`poXp3L>qkB|tjoDCA zyPra0UFr>|i2goM$l&Pu;Z<77Y5f`KMiPLy@{LNc`ZK@9cuscs0riyNx!bg7ME*%Y)!$3W$nw0fr~TgG$r3alM>>I^zLg;|KK+-L8Dmn12U% zKokxLx)ft~ik3rxD`Q zH%TziUQe!1lx0o2*~1g#q1r4&gT`oD6>3t_c?zZomoP9<-PSezCR41Dvwaln?+grF z`3lSyM?bNz{+8SA!mlYUD%#<=TI~^tZzXr$;NqI$KogZkd2jMFo1^R`+_p)(n^XgS zYx|(4W{Vw^cizH&n}4C7MtUWRZkq1-R4_jizgwOkygaG$h`Z05q!DwY{cf0%oZU&O zuT(vSA2g%*&B^~I+SI!n&}YA-$_e@Jm3bB zQwu-`Kxj);Ay*=s#-RTX`DF|Kt=Qp2T#xhDk;I??Na(#XX2jp!M|J?62udL(@4}c& z9%*&(AjdcZ13sxDm4E%(r~%RxdH4SPlbD-ZPZVg2&7A4WJ*}8I7Fcg+h28I2fWZ0< zJs3Zn+D>}bJjAF{p49ITh$ABd5uv8fPh=!z{07wedjQPu>_R)_NyMR?N4^zr%^!c2 zO9~ktqh{2CID2#sVlvr4w_cJNQiU|uf!+7o=6=lu1typ#7QAG8#$Uel%_qM)EcvkS zKk{7Vj5TAil77dn0-qvSq-5Z@AqgxpDLQm7(Thpp#cC!VEA-yv#j+$XMvmws+FcVB z>@ZK{#X7fm5w80FR-ML+MO}N=D58&rNp(iw7jz+xy1LsnPW9w-8dEH; z5~K(qnF1lk>WwiZ8$G56pHE9o`pQr$kHC;l&4lO*!+F>_y{pU1_oNs|_NTkvg@Awd z(=q7nz+j|*lY@z%9?{=4nmuMo zt(4_?Q58Q!2(nN!$UqQD;@E|kK&kFl^&fh9R6zD|Wd%fD_J29mvcEM|ow@;Rs;|H2 zHTYKCEz~^7eak8;o)R8l=+Pv5iEKs(-XS@s0S$cPZsN5~W`||q-{V-@*{^xcUu-^r zFX+jhqdlNQm=w6lDaCmcVnH)wH|f7n_6)&x>Quy# zL8DnNCPOBt zw?T9zb=Ijcb%$gg*w4%3?@i#dc2abtrm#P$Uq*p?X)mE%p?ex;FBC3xOv<+UZ$-c< zXl+o~{h~d63QCDDvZCTa!TH7Nhqh95BiX{k`)>tfy{HP0CGxWJfxCh?*ZdK#zw4|1 z@b~M3kHtl>rzWuGcKI>P?kNv8kE!D|E;!-HGxlD^gISFRdQ(x}=MKP>HFlL$>*gW& zy88MTnt@~AL>qfHVT9am>HS|@1qJwH;|Ou(JKqf=q0O^ z?GPzoJNcgMyiE5syVNu_jb}YPJmhma;q1>2)pFFKI9zAJ+0~BkrU?+ow`uX13kPc{ zMTZyKj`)#%U#?j{JXs;BXFS~mE}o}tFQ%mfysY8-yha>{&8AtOC=?ACwr-t7cJ5XD z;*#6Zxm#+PHHf{+l!p(M60TYi(jY}v#4+(dj@LKI?g(vW)7)%IHr^(44}uFlPD)uW z8DYgeMKmU^1s%^&>6vgOa@TD*1$!__%WK6RpSFXFwY}l*b=D$n#5WE4AG7{J0zj&Y z-XLn+ZB91v-;pw-K{O*r;9_Te6Rkey4*rTivdP8JCGm@JOjpvq8r}(Ohtih#C4Y_A z=Vq?P-F*VoR=pl7(v58B#)&*-4h$7Gu9K|3i1p;r#e0{P9;Vo}w=sScsN@!EP}BI= zUIf}h2@9q>mHDYsPAPbUL|5Xq1om-9OrKW-5OW}h{Rp{vM@}GhvfiWri@;SC>29pi z#N|*N(K1QOtJ~g$wjsP@{~R@au;?&Ima~qWqlE1Ew~5feP#qUTUY`8&y55rnnUsP6 zD1E?5B3=k4ig4S;i}4QWqvPzKnu>0`yo0U zHP;w~#o!F&47!mDqnK9=cbi|5V@9=HUhC^=AMDQ;piF)V>(xn% zVyleMwrh&FmjuI@?|jSsaU2j|*tEv4d!|G^RI^JqR1+1e7-Of$LRmK<7ES>gX6ef? zK-alX4%rg{ij>L*EHoJrI0iw60K|X*1^n5C4TJ?LrVnX$vJFS8XJc>P-h2;dt{(52 z`RlobW8F)}eOep&pW3|~2!r5zYsIZpGa?vI+`hs@GOg@OP@u_wk<<4Wqm7A#M*9F! zr)5Lft?eItpTJ}0JQeK3=%qoHEmCygN&3N4wjSLaQ|bjjQPovqfj2CKlP=ncuQxNf zgHplGR3xQ}bd|THDZ%CgeDn zX+(9Di?b^?Pou1Sj(d1^w~2!nLNa0*HJ}JzoNy|bRjHL!))gNg=OZ!m&$4e{RwIu1 zNMbtceui3Eex%7!9d}~1-okd(76@3DPYR6@Y=ZUJUaO$In&6dtAAGMtJYF=}t8yPN_M?_#->*{_87TqHX8iOtJB`p*Y7z(0> z=r_d1*`F6hOudapa`OZDQ%vN-?t;OEpYj9a8KlCn#n86O0I;Mf@YhxJ3?uDInz0Ou zwFY7Yi=^)z@eQa1V#O%PlDUq89N*h_JrKqik^e>yi&?sJ-0(vG}$=voigg(FbUgxg1Dy0c+EKc@km50PFi#@ud*5F zY`N+>t?2Kw6-ga|sZdW4d+8G_)q&_zC!z4J(7#n}72cjX08A!=XgEi3UnJNbNuge; z$JZS~t$1r7Z5D={6iMJE8ckVfLq{fU<9dj+Qbcc(LUgvLk4Ute-m{1seyPx(F%^1^ z=`^wsBL5+XlgBAgVqXy}riAN2AftVpd=`8@lNo^Y>`*oWUw0!|M-=6N%pdq81pgPg z{YSIcv5;)+dqaOwusfQUXPB)qeB8G2Y|{$^#Ad_b4ngRSpL2$mQekX_#18m6wj$TA zEwV$8V2l(2&UHQ=9Y#ajX8$z_K8VWmw{{^FVv_&Z4H)?Z2>^_}_Vc?WX}*dh>Ysya zCo)x5IGC771La5Lq}~i6wvbQ0i_(Dsd@wE0Dsd_+31$*_g{FKdw^A#pkzWhV4#rjI z{GLwlq-2MrPIhJXbSO`?a1t~c3eYEPq1J*K<>Mq=Dez=@MQzhgaRoo##2?= zD^3exm{W;7IkCvdu|>l`^KD8K_e34ACaw%GYb+K^x=vWnQ1?oSiArCh z)WTZg>_2?a39-2Y4(d&XJ^9J&45Q!@Bo-XAwu`g0A2x-*X4dpK=V!oe;JtF9lUQ9s zM8{qkce`+Ole2>3MmBo0!o?+eipKW3jr6z`dV%wUT=IY(4howfgw6n6lozMi$aGBj zad^Uu@V`FnFB&j3`0D({E9;-1ULe5Pyk^p(iX6N?P0NE%7?smPiXA5cvzWl=T_Kw0 zM1jPDz#5vW^`Tj7nr3~39AJV zxx}31tp!Xcog5%UEM#VnZyR)6 zs%h~$T|{{$PqC`ij;q#g;Sk+%z{yVy4gg_(nPqj_tfGG+8@-V@&6f& zD&$EjGt|e^aW%$&-iB4Iiy^wz&}xG_@C8UQgn34Fb7%r646koxu~fi8KN{Xvoc=tEe_ltcV3CN< z5=DIJe?Ot(U_s5L-cmvDk7CV=5Pmj`i%6^*E$l5gFhp0yHfvhikrfFU92&Y5t42l^(d^bMZGL<0sl~_FXq>m<=H^J5by(gz35SeM z7aX6Rnek0Y-2C$59nlsyC2AwCpY4x~UO?F}v~Gfa=id{KY8cIz-n{BwZ`u2{o6?X(4K}wJ z4BV)lotb-{HI`tJFo&6zoLrRb*N`9<{4^+c{bKBs8_e*;6y!qgq-2geUhQV(faw>k z84Qcc)Xj@cpYi1O1yv~bobzP)jsk8lv2@?~xr%w<`brd#eBR|hm)f$dduu8Dw76-- zO#)(FM0~%<1u;YPIo`SdKm<38rlPb~mvXDy*UK#5TMSE#w#kX!*I+6}t(3;Z55iI8 zI=d8=8ShTqgFOLVM4mTVX&1#c@-x-`I}Htntp3v)HFH;ET z%`|kE;G>mNAcG6=Q3sZExCo>;8MIfScOWaqOY&7TS-%oi*J2=K2lcndVJ{#v*|b9@5`zZ z+RyzCdr~YKsST6eaonuC7s6WC!ib!ons~e&DI@MDRP?7nS-CKbcbIK=&?E0}LwQQr zA=Ku!xNFfn^0C0S*`NE3HQ)|NTQzrPjw zA~b|JM-1Yce$e7L+Fg`z}kHrt9ABoz-c>()5PXJLILuXBWh$|!37gd*C?-hn`a zBL}C^D^usoGdf}r>36cw{-e#TH{uy<;>>59MPLL(l#p1eNEmR&trbW4gw;$Q-s0{$dH*j!4lBv3@7-#&${q3r z#%4+P8!Ub@b&uIGH;-~uPezqUU!CEO?aek9p>Xrvnzx~%oT;9*gLr3EWo0E*e4K-v z$Ud@_MbeiL*A*KHB|hR`A2+QWvJO}RyS9|NKv}E5(gSm;U_avJ^)JmSK7Sfz3b##mfni( zmfg8&}Gcb|n9yHHQaa#6i|&dkgVCQT6HW1p_XY^TyJO{}c=_`;TNRK$o#11^#+s1Op)QNjo6#Xh&;#|FdT z-M<`7JaSxk_q0F+=dk1Z!O~gtZ{zZm@Yr6hBozm)YS;-x&=9$m@u=D<6w}1Ol^}6Q z2OHP#X6*^!zvF~Hnca?nL&o?%=Ze7Z27@ikdkFV+g3s+JCOwWiN!`C%pc_Afp~OF< z!Ybt~#7W85UU6WU3k>}LmWY=5G?s{gBr$GZB2Q@{UfOr2IEqaJc2jP*lqjl17QGMl zDr85RD5bHZIUDx^+o%?A!5=xRJ;-q0Ec0tMEQ9jN4GJBra;@? z_>-*{f}~&iK?jP|83(S;U%YHz zl7_+_D*Rn7NYS6^Gfv1*J;MwyMifMPVe=(mD@1Ii%w>iZOecwY+miuqK`Sacd|g*f zEe!!#qNJlxI^La|oBI{)9!r`eu7aHK#qZLq1ZFVw5fj4bf&MTZ`_S>N$ZUMDy}g7C zPKN9SC8%twBww%zugM_v0wdA0gbWEiW%M$wXCDN{IfPj}H~|s-vmzQ)J%|KOXYZYK zbe4pj1hBkEax&7>rJs0TaZlSqY+g8@83*s?tLorm2MbmAb5+A5_bbA#ZHCtU-(KWf z)R@!%*m52b+=N8p-fkr#y$FC_4omQ;hbXyk)6+5HuVI7gTq=k<^eCdght~;rLkb0a zh_EQGKH2klCl3fo*GYS(y)_pAo!k^b zgDve7>Mbe5I*3`29yth-|3V!aywF2&zIo>fNYn>m)K`HmMFeT>V*_Fj^HOmP0yt%6 zWDJKW+VP^~)Zms&wREH4x*>ffv9WvnK!g@~e)cBnG$IYY}b*9_vP7Js(?@bxGTiPo`j@|F7ndSU@DYG0J| zv5{W&w4h26cN@Mm{iMD6#XX#Ed-Q*{_Xj)p4}_pE6~IZ}ibSgQ-`{Rnpo%Jbh`Gec zyrE--tnhE2f8HBaVJ-#50r|!RB=7TiAE=;4nL$lDrr_$fe2{`VhnU?xlv=0?;_x^L zxWSohof~?{9$sP-6Axv7qLqR&cb3z|8b_Ul0q3)~(rqOS0BW+t|A8>)r5`3tcV z3v#v&tVt?d=dX!50jPNoz8ru3DV3PHr>C>lbC;N3wlf`=uj`E7vTMO@uszS~krN5e zcuRtiJXwKt9wG+qK^Gkt6>lFv9NE`FKGk%bT@>*g7u9vj1Mg!p#E=e=C8WA$vKqp0 zy#IhI{|m3bA(o_g5kgYKD}sIO|NRc6g_D?$(WrJnN=!7Q{?ga0Dd)YtBPP$XsyZ62 z#tijy;kADa1>J6Mu5y`BF}tOuR6I_trAL*?k(oRHr#pHggg~_&LjEGa&y=5JB0A_+ zpMtT+D#XytpO8JsROM`W0`nsde&q7fdzP94-%!m2WO8J2LF$PPuEk0JFEgieYaf!k z(O$5@SNc>r$uFNKs!`K$_V$y?MWekN#?Q;(7!J8TkZ;-B06R-2S%&b)9lFLXza}-- zJb_nC&}-icekvYJ_W_|$<)xl*w~N)41%E~KpzxnC39vgz6Qp;&!TS+EUtWZF8^ZbX zKHlgPVr95+iYnQQces3Ouh zBP*k(s*3grDGNN`T`yLKOlgyw{G85Kz5!{^WM9U5&1m^bEupxP)Q+)V6Vl=At0@iS znl`VZ=B|e$((;pwq51M>lmhnUQ!XX(j(*<9cw^{D6|7EeA5cx4mZM}4{woV|ND}Px znIt87nWoD^b&-v9P)tE=gOze$?7iaDdF-vm2{tTxtU`KP55G5EfpA@kN&4NpUk^Ut z@~dh^MB;ioiTj%s@sq61^E8k#pBRYa+^;9k;Ocm>U)eL{^wTSD*L|*kTEv_yF-Uxh z;TjYGiQ-)m5qflE$Tq|BtjE-OJ1Q+D8us9j3t+uE@{uX{esNfK8@%Rv{t?j%R%{sG z^KwN`MHYzkyVCt9%>Vb(f(A}S-iqd9pZWJM83a(CM@c?8w^3A=-YJKO=ptp6nfIex z;^qUb&fM2>LqtdrmZc^a)&A|_B%T}K-S^*s5dM*u_F#L6 zn?spDNdUyyh;I`8t$J0`6MJeiUNFx*2_ecPTB(~F^7qFnvpXT{DWm@)m;16THI`^m0y$4p+l@0Z)+-EsL6(e zKjr2^)&@V;v%K*ki(PZTO$9&b#$$%Je0RtcTN0V?nfA+ocLDM-K?U+r%1vAK9F7AC zzXeh)H6kE}zszy`dNc8nP^mc{fD1TTtdd-0PXe+Q5hjpXJwE3|c`^xvSawQ#tow2& zI&pVmfOBKL3QuGR;AQ%)ZwSz$KoKVf{Ga+|NY7@N@KI#1aY%vQYZpXV8;20(LxB1+ zf9j4ZITP;J@djmdgK{QIQny2(N|iq@^CA6r=#?M?_KEH@65H5p0gaaj=reJ@E{rQ< zny@mW*mRFhgK;*G)fmx=rE0S1cBpdB`up7u$R`!QCt4IoVgEl*!i^rN=s#(m5A*K- zdnc~gf&Es{q}pefW)yHWJ~u>rX3OZV98_D{qItfinYUL~rV1)qnQ0dB-x*km@MF&! zLbAngmSmQ#mbY*KVI5201!GK%mCsOS`&8-jZ(!Xwt&{t0Rxicwll@*3aXv&)`?-a? zhqi=A?u87aT~Y(QD&GbJ(vCi<;jhnf?ACX8cQ=EC1s`yxlFAa77D=6&F@Y+eI2Hc# zh<|~2A;o2R{Beqtyi8GG;P;UO=Y;xlB3xMK9zYX9u%_cZ>b14C>!O}y*l<1&NzV9i z-FIZ)M74TY#y{fb$aYBbb8mZ69@$vg+ZXo%R*#539^~t|8c9k}8$`glB>avtA)UR~ zId2VB?=9tby>uircWg(?%L3pVL1DTSAHQkc$STO8((1#j;gyykJ_Ev5<> z{$;_xqxuVGU__azuw-EP&%Z}|!w6N7l!&{PkRzl3*X%qwz$G!T=9la!Z{O=@!g^P= z{JGJ^60`yl-|l@?`1b-5??hGaM5Q1=sv-I9>tvzy+jmF_vud)hph1lCvLR`xZHO4& zxnF8VOS7SuYY{@`(1_Gq5xxu^B7#qPDPc}(F4mn-wluy>Ak8QTmlj5(bF9 zMAD@c#Knx(q{?Y~ma1bph2-O(6T5bG^A4AFM zJ%MJWKWMMGxrL3%fD%RBXf=11+zy2G^TK45c!Xu%PqO9PTztkK$xaXyJtMdTaGH}< zba^lE^jT~q6occ&?YEhrTy)wX37%YRX%>ELh8&O})~VpE8~&M;(n9C=flb5}{V=yi z?KMeAEK)2o+3bnDCwhh1w|~Yq#0PCt=i4dtC2HNtL-XQTD(FL_I+}O%V|;iz@9>vR zr`ziW#pH=&0FTwu)}%VK_DzGdn}2@kFjhuz3<8Rnj&r@qh-7z-{pEY-7Q0Amzh(cR z#Tg#}F>y(T-?j6o#U9<1`<|6b&Zuh0jmi6I`38+S1kE4LM;n3X3OsLRK}Oj=|Ls8h zIo<RuaYOfrDUD7X`Z#2DHiz;IliQv& z2ap$^<3fcRqsPIB?+*t53S)HZ%F?qToCOUoUIqHN+AmF1SHJktNgE5#Zu1Od2%r)d z_CZev4RmS;XXz5aLBE=Tvszw$8|&F2zFmFV1l~uis7_*UW%V&=)XcptwUiPD6Dt;M zl9Z%VA>`J`WaX0f} z>jrM1^q*go-%qpbzi}_!<2-BJe-i~|ILdv}6LayKINkn1uY^&iYAgC4tDNwrJ}9Y{ zkavg^b8jNV#F0NRaz$4HXJ{Pn>4gA(AJ={FD)Sw^iH_)C4AQ%Aj)`ct1e82VQTI(j?%E#MDZ0+d?-uJ5;4XYz3Mb=kOF zKPqznhhs+m(!2@m$)Vatvk7hb0y-O<;uso2g^ zQc{}3uZpw6bw;3(=e<~VK#Hy`80j4(uDPi#r8}(ZGypl;>Gy#Y;ar@Yud14n7IZ+ZmIjXw4^4@frU4mF>jTpUp zQ@0u+wA1FG>^CQBdU8%wTfxz`M)6Y+E@9|xTEUN@i@Nk3L7ua29%U%i2lgxyc;%uU z{?09|qBq3iypBwEOC^FSFgGvNGnO4*97(3G@3RbC!~TJFctB3_JIkV@MOIKJn?%ZJ zI5e6Wtvstx=90UE^3AMtOGw5Hv|Ez%*=Ke{>)ZLsgmI=@!9=f1#(+Zi)iGYR(B=0{ zw%2HA?ZpJgl^W+EN@dpud#3+eY)rHQB4qE~Tye>z<3?E(-*f?TirwM1SzFmuvs*Jm zvcAyZa1ub7@4_~=H$=%Ir}6C&sPVzSljlHpQZTlweIWUHe3BQ=;2^P0IacOJEs^63 z;x2Q}leL?%nXz7x`cdxt1A>C3Q5r7rYz}wvPTwosM;3LCsn9~Gq;!suXMXI4Qtc$4)hirkDn*C?FNN_X3=Bz3 z1gx!ou^#>bAiH%M^z`h zc_DE2N^a?XYIY>Cq+7Np+>TEUEdC(ajBal0;SO$WD1@&0+opr45Ch9WTcIFUKANl> zpsNx67YVGtU9`K!KK+@5Y=#|C{15u7fsAo+k{YKFbF^K5#+Rj-Z9uQ0*b+DoHOb)t zcrCG4!`40N)em?dp_tKLW6%?MKmr%jwy~IHyZPXq-0=XF-#pOb_RuQz^>C|RzUnAp zao@L)vQHF;Av3nQXHn6QwXZT-S446x!ZL9^Wsla7;nTyo?|c{U|4p4fvO}N+HH;ze zE||uL8mXK3myD(EtHp>=Kxk9&(z3<%`~w7>O68I2D8XgR62MTXkGp6GD(`3!V{=Ys zk$r%j^tZaRA`p=fBWJ#}?+gHc07MbNi@yK-fQIIfv2QE>W}v`6Zj|9bp(EuE1ZUTn3>gn0^eYb;;r0^&*MA4Q7SL<< z+;Ucp@5ge>iys%iQl-_;$pRq)Cbn+s zN2_vyc{=Z!3mRWS0v>*VuY!XQHjj&z8mkuRA-p*xgn)t$D$M2HNm<1HCSH@)xQI?T z2srgk7rAbnb!F=ov{06e@xr;FLe`X)|Mk004Z7W<0i+ltl-#tw04&UuMRM1{QH0_L zrX$#%bx-3yr!1R6eWZcF81pX&eU)!S}J+M)#9ptDRm9aCjUNX+(3Kjyh@6E4E-P@7WwJHEF6BR zykj^KE3s4sLRJ%rO^`C%U>o*72u&agFks(`z49nxlMT=zD5c{eIqhQxC%`Bcxk~{T zO4q{@5p(kRDyga?`chYd9}zA?mc+*IdDiu6E8B(Q&Hc!2_lW-FRsO5VHRs}&J_=eC z${_LqoOL6W8L9xjCWjUzw^4x4Obr{1v7d+jh&Qj!I{*RKr;lbqm@CZw(IN9%4)yqv_F6F_dM$jku&^ZygzY`^PH>l%g}D^gul9a&@KJq>vSmToBLoWv%u?6 z^fWhRF=bWgU*zf!sFhbjngC!!@8*{|m9fQEzrf=<3-GD)^#Uyf$x|i;NH@uDD@?n6 zS}TDW4K@Y^ZJ|K0HFwWbN%OBCNAH0$@w6h{wT%Oxx`M1F)5~>|yK4LN7NDl{scxw& z0>YH1BABOBgsdzZK8Q*hs2GL+U`Q>c0<9o+=V-HCWOM0_*u=1kqoDkmxCAIDVtkLF z?9y12lvqmQ&25PyYUo^e6Py%WMLch6$rppaPjoeAYifVnI| zG?pQQkRdfr_T}!m75cQ%CWggeeO~wLf-=Ln*P#ovN3RU0wvGAI9!+_Mgz`3MyY+;V z+h)K2Yo%wRKvGce8wNDds~aZO-Sa`gQ&!}|7UX*GT|0>}2wRkntj;6v4jN6JoQ#B> zjC5Aw3n8HhN#+{fprJux{+^Cb1Py++k@uMG<63kT=$`elR5)dAONDPE%QUajC{vxu^|`BUa3V^Rg~?Mw$1__) zx7y%_Ji`H^ARiii6^(0BohR*2k~RaZ-lL@y{|HNxx3EOJVDCgnEN40|Xc=$NDzX?v zJ)_d5%7v)=g3z5TClJy2fc4bF{3CT_OpyD*OjQ8tV(i-bMkjLXVhcopBi;?r=UNM{ z(=z?arRE9S^(qHlY`&XrZf;(Os>7Crvcj?-@o@AVtSrzME7@WT`%ar^X;4DAAeI@~ z%yyV?tt*)Y4=>m>h6|p$nJ6>)`z>mWYFyzH7=$bJR89eJzG+wX6gf8EL{8MfyxT-t z8wQp9I0UN~pqqNL(U<4UQb$DuzhB~PK3SUZrC1ijlJP2K>#h;v?zO|I9np=VkAh?A zKc%HeBN@vBY&@#Q7oF7N=5Jv$yRtMP!qq-QeZm?kcthtnqxHkr`|Bl#kAkno{Uk>@ zby_}Y&QZGcT9&zw&*L6Hye7|fJc4xpiyHq42{N1z@TBC%#r0Ct0%q?R_?N(Bsx6nV zpcSY63yxb)mvnxHec~i|%3NScrKqjpS{O;^rbBB!(jyVet7ds)*4FU1KoX^v z*8_VE&FY#&B)i@|Q@AWBmH5x4gi?c38P_f)<}bbH)Lg8h9{nV(aZ}PBJ(G zIEB)2di@`rAC2rDZx>f3!mwfaG8!4Y3kwmJgLBem{Al*&++qpQF6+q zGzts_`KZnkImB@g1h=vnpLvaiU6s)N#*PdRp2t+0}`rFFEl6 zg=I_EtwVw!1SQZfu(KR`k-B`!S1@gy5HTO_Rwx+XBRoxF0Xu?V$-hEIv#x~dWT@F{ zSIlK;N8TgJ`ezCs&GM6p8`1e8aS0y0AFJ|oO4|WKAXIj3sdcz{S)HMo8kG4$;Q}2U zehw;IHGDfVUZgu`uMKg$CGJ>9pmHfa(>sA;>k?6r;>nMR4K-`xR9D4H5RdHl-rg>X zl@Zq4aSG?Oma_DeGGTfA#qyM`@3v{y*&Uwk#!V&i%a8o-142U@JLrlZEb~beq>67$ z98Lep7yo>UU;;DHzoBrUf>(&q7i~8mc}8Zb9jH8OKheE_Rd(>pe5yz`a@|DvbChxNDD`B*=r4jJfy43xdg(^Hw)vQUCr3hJAW zP!|PXBM700g9Me1`D)?`|A8m1L`CQxGCJDnreLx^WDeJ^21d`#TnI=&Sl%=4=9U-x z3~>DL@6mhAI6FXW9Qum_|7pr4_&}i-;4MxmPQ8mbG}1$w;{pXCW4M#xm>og#o{24y zc(DMP#%shYs^E%DGR|K-3Cd4}!P|38b(QsqGZsE81WjG@!Jk(U&`n$ImOdlpGZJ`v zJ(LK30O}to7*NJ~HXrWTsa3XF(T(<66!_wC>f%+~|C6Sp1JTi=w6wDPRr_l!a3`|( z*L?mXM%E%UdnM$uswI=3yf7A7tyOPCg`s$IVjWbWebqu-i-}nxWhX3t!lZ$6-B_pW z0(PNedck+Co32u$j#5Q_#u4X?)^De3lp|(+N}~v>HvX#Zlzr~R9#*k@>jbQc z$%I1$?cpi-&<*GB$im{9MfYTiKssRU)YqakRXnHW@Qr!C9LeKW=(3y;FVDRyBRnu1 zq@;>z`XO&mqT-$nhxh9hoy3KUn=RcRALmnQyiLrH(~sXjd&R?-tum|(gZ0n|kIiQ_ zA~p6f&kLk~7CxJbIwrM+Z#E^fkyF5>NK~FJ?AQvmlU_|`VP*7aOWWEqp>fUxUfdm4 zV-*M7=3S8k%zHp2?|snpzhCvZ8qwgyimhMiF(6X%(^wrKB{>hT%q?%&-JB94{8k0# z0oLVi#`Ci-6n^5>P*@lY*;~@7hQPPHFCWZd9?|Q0T~+LZhI9<9u(5L5Nh0@Uc(D!Y z@M!#~Apt{XW&~zDL4Q(&oX~*crKhjmzk({?C%4vG-kW@cJ>565hduo`I(#ZQ!fw6< z)ys;vn2i&*{Et8ViHtyaIEi!(_X5(B>luI~)uaxFg4cJW0<73qH#WC&6WisqZRgfi zrjt<6WW0~7tEf>bycio5u8afy?*C)!8<;EYwsoV9ZQJPBw%M_bj-7OD+et?q+qP}n zww>J7-`?lky>Hzgu&P$oJLj0s7~?^BS_TTH-#$_G>B_p1iq3jy+k-hnI50|_{iTli z>WV&boQ`!zPeDD6phN+TC@-SYd&<(}n8$)$%G5FCNm9GwU{y<%LG{m`>9l5vrBu~E zFdf!t1?7(;hT7MUnv~=&41%!d62CJI?}5`6P6B8h_rZIFwbQ#1f>xegW}<^kPRTB1!0)m#kvwk0`(UQ6t4 zPL?dUT{va1L;uhAP!0@POw90^R3!40kTeh-7it!FVI=3=Kicr!P1M>3pDxE@+pTL0 z0S-zlClZrE-`7!YM<16J2xKfyY}VZaH_)WwCE&;j_V<<2&!5WbRDOIYyM*1&x3evk zXOoMOm>lSgl0etl^a-Y+o$(~4xP%z*%`OpDJ)WiIWTHKmsGDPYsxkMz} z3x1$bLwA%oHAzhm_}<+}~QNMstRBmsGb;~2x9)~vTy#uKjlK23KZ4SgFzrGTMe1Q`+5 z-)KMYvtDpRZ{K~sR<&BcJZ&p2@T9fAgOQ%078H2(#IIPbGjna2pLINE;nYsuWspsp z{-aDTa7G1TDqvlrIVEgqllo_s|N6y&U!A$g;`O=gr)u!hmZOjtQh;;U*!q@gy>ydp zB_?M%dC4~pmxC-GjeW0cC`-)*LXa-gAIfaLcle$iH&fiX+I%Mh)_ahzJi z_XBQSi9?k^=FKanW5%_`nYwmstEYij$)Vj{|0#i;ghjoGwAtn>aHeGFh-QD)nQR!i zPEb}^S}NLcFO#w4aOdK@xk4>LXwBye!!BZXxB4fP)%tatixBg@u4^b}`Ebr5s8oum z&>3=Gu10{Pq-Vk~o1&U>(b*%z*laWiIOAdHora0vh1N?>90D~J;Sd)1NA|OW=gB`_ zWq&8t|4U#2FwPjk3?b9GSVz6eqt%YkP$SL#tE1{Sh6Bvw4X5zG^&2IifaiW&93=!9 zy(v5ikYwA%M-#O0cxm){q!$WrQTuM8k!sT?cpOF&mu?ZhbQYV@!{p>NNjK&+X|L?r zN#0^6-$_dgoBwT;>%;CgC)+7-JuMoN(;4g(u24~%aD!^;#3v96S{SiR0Gf2f3NN#1 zn|h&?TFMrra{6ILMG${I8~Oql*Go>L-_Pkjzys|X`x2Cxw8pyK@T?pA&7=f7+KvTP zIoh!v_(-I8pENU}Z@_*x;KU;)5&aUxIcR7A9*GE#JLw0YmJwH*ZcY=dq`#&Ll?4TT zfP2eP>>eqEti3LXZDqB=cXDO5h%l{`c*1{?zn3S$Kpa^X+82-~W(3lGuP^W_GhzD} zXK1IF+W5FR{np|t+g!ezyB}S=*YKnQo6r8CmQH7bm(2eR$&++t*EWhE9~^x8JVvdj z{j^>^6TX{OCiw-X#aP+>Ll&d-@xG|8<15k!!TJ4HP;z&K<5dJb3-FN}=RGA;e5;yL z?E|a%ewy3TdW7pJX?vIE78BBjEgX0lccin=ei!nYc{&6fc6|lFIb!aOT2)n*?eHM# z8PzhjbQ*D-A%wfWB(0FCrMkM>d@PwRqxT0l8ZwDkBxbbhg{bvbn!!WGW}Vs8WOXX( zw|o}xzVKfL$7?+GROyMpA=ZT!9}qW;taid<*X~=wKxHdZ!sG!Jp#2?4!g-CXFxmfR zK{+vl)Kicg29({@cx5LpzHO}Fb^WpFStlltX6w3#v~DlN;seA$j)sf7?)F*#XQi7? zL6pG6f?845WXO^=M)@ecbYnQ7i#VA zUT6XI==LPt?!b z*KQ*Wlu`wi z>0a1@R#NwcZ2kwN@2CC+>FZ)|c`x>s7^{n`->5_3*Sa$s@P${QYc^cg>e;b`wAdbR zZ{>e1PXw|rU<`Hq)ZJvA4&;$$#EDUDs23(m?CN7Vut=yZf3GeBicZsjur6zLT;xl6 z^I=$e(NDn|*eVFNZFZ%;#;UbyN#-F0~ z4mwew{D^lZizuul0ef`x^jjc8x4@}%bUldQL7~(llWxTrcpu|}X~cG4^ITqDT=lp;}!#G0MOtxnnba(#EiR_Y- zq-SVF;8YqHjp5Jf%!&Kl2j(%Z1=$dOF-=T%_jdkD50Z~2josfTMAV%Hu|Yi#e*u&I z@7pLME+8#ErTosPGt=OMmCnTVs}gl!GTo#Mg9kxNo-LW!(t80pEfvRkbyPI`*Tlqs z^BrxSd*8sn#cdn?K|G!@CPlK>qs9Goy86xCaguJFu1@6u1#;)mH?$oH zNG3?WPc9#eL#Rz052*G;!Mr<@F25PQ(B4P(WodHi#c;!)2RZ8rdnsk8!$I!SEmj1B zKtYLfWO03~=OLq}qw!=|1Tiib!)-k>Jj8(N72I5%*P=PeY5mw$fvY*@Y>79;RmFT$ zIs3^OR#_CDhmiS+fvAGsTE!b7aBK}iI}Vqa$?XEZz5W#@wbPqUc%l_c>v^&-;>l?Y zJqE{OH(5W66xWDJl91XX-_#fe964~`)QaVuWxOOIc)uv$P1IWt-hHQElEI_(YTTZB zt+t>MTd4X-fMaoBxX>WGfM#}fHX4T!q;ZpbM=a($7o@3)tsm=#WzWmOP$|g%PpB+d zKnm^}crVWjyr~T%J}bShbTca7eG9EFzT6oB2OGwh#$i(SSz?_W~9@q-7 zmiKem{e`SMS8C=MqfdZmsY$3BZ}DSOL@>|AtPOJU)ICi%5-ugO|= z@XF*Clr-(_Rq<~aymB-lmCau7_!zHGtHoh3wuRhMz-H;}2o4KgvrKvJ!jX3173a|w zm+7-MyZ{fRI3X=)*0Za0l!kWWi3^?7bBg3N>(AcNlyRU1nse9V+TCVMFTD*Dc)(Jfn{k4&RKc~g=%?YV zpV<`tnof0O_GA1Qdad9xlkme!6O^o61Kr)&d!szQaVZ;1?mm6&6U?`L(s~_-*e#l%2OerSEyW9hXU`Ub z@-$|<+8-teuShhl>^SRf)(g#EO$~4L;0wG5b1PEZG9oUQ{vQ^W0~ZWX zYvm>gZQo+1vIAmq!##|`a^1~bD+eo+PR}rxOH(8D&QL8ht0===GIi=8x<=-kZnL%?DJd*i1T zxfk1|nJxl^Li7p(yg?ZHthxfv94T+%!s9U%_e1X!$h^BAkR?`T1+;I!EYt134?4-L z5rM4^^1@Io=Gs~&Y~k4C4v`RwWO$%FiG>Wm;PZ=J68WiT)()D&)wS zxd6~&%`0eaZ*~wKXhbR#Px`!Pu9Kjq9-t4bP zEoR%}7%N#XnHm*>;XL;IKUt8skm*sQWl^2Hu6Ul#!tUpji)w@yj?e5nW)<2T9D2-A zG`UaiDEGSG1IgDbl2`7T`>s1Fou7uvF!ncDcWT2!43|<`6F*sOQYSJyTU&RJ_8<;A z%p(fVm>>MQ8qn?@0_cAvlfm3*)S=#$n$Dp!U2e)xj1E`7FUwCON-s?iIE(`` zyS8VSH|8y@EiuL>>-v6}i-npliKUuvxNploB+b}KsQxB9&{m;ju68}=N0t3;p0P`2 zzN{1Qcu3JIJ2Ov;7DJ)hFyao}|Fh!khKWX+#@4*rF>tzCf{c1CBDvtZcAcp# z?Oo}`<;d;9*awL?{M+)CD{s`&!38BI8gu&{(={JAmiWfm1MGKd?9SGjnewsm@p>E_ zoDiH~P5pFqbe3W`H#FTmi_;yyCsGv*XIwdgnL>gwRrI8!q(Wt8phGipBOXxA%>(Oe z=>D?o7te`|HBtwWE@7azsbqs7jpb$}LnbCzB=~>s?KCKoI@?$x1`j``W*AobEDM6; z96PyowOh|A8O9gMLPrB^OLpaO)N!Bjjx0AMj0?ZwbeHl|z}ml8*8kpCNbrF`k&x6N zpx1X8LN8MK4O1}Hh#f^kXh2%pJIU4O{%B^UON9_8Zp;}6NKG`F!N9Ocv=g0`t@mhkwBj!WRmLr$&>Cla3Ri zq_Ffn^`IC)(pN(y-sjO~?n!tELHS7FULXa%&q8b$YopxG_u=aD_U=nQule5Q$AQpO z;q~W5Il}ODK>2I%KQ7k-qA-v7t}#&er$PunnNF2iLZ0z+v07XNFFSlMq_h-$qP+hB z)IzH<8M3knvh9_PT$)>Z1G1e?6c)(iufMzpe@qbXVX1@;6=Xfa2(LKS%jf&}dXW+Q z3sE12pAD23KY6vEq9iYF4Mtg>r!nYXk0e*LlLekhsk~-mW`i)rKIR3kZ25$i1G7^# za%wF!+|drS%VWIC+cR#-FMqQZ7xlseP4yaWLc1x=H1O_f(cqbbmq1Q8(Xk#lLjgbh zoMcN1v6kg4hAnOuoZfXBcs2V=oKY&18bQLPzx2iPk-2*n3qQ zQ^FS<#n>syMDV(sc$7Nle=)1){B|{vpzz~5lR%YfQ^m$mBvD@eHf!cAckeqvPg?<*T3a$N#y;Zxi7(4G~ z)Ls+NZap!lox>4e4xe8`!vDKZzZU^xnb19G%qa3YeWFc2{kdsMX*ju0z{6*9kZmhB zijG#p;EQ^)ri8Y}kg*m{CsSD+_@G(djyv^VZw&xV0NO4puzp`D+DnN=KQ*qt+VTlR zP2YM{rM`0vY!DY=;Q&W?jbO)l=Z(se68lL(4sp6Uf7rcG~5NQcnkcC`+5Fu9a za1g(6M?Sl4fg_2VeX6W<$b2oiWthEmrC*tM)3=EsJc)|GjTmq#uWX{u^i$T1Dc+SA zjc%*pGA_~XRey3KCtM@m|rp5h9}LNui`KA5LM2WR@wk5@<~PXba>HW3AY_zI_! z8gJT{UlygF)gzPTzF|v$5q_M)yyYU=fnPseS4-K2Q=z91&QrLVLxcg7Yshr{RcU7- zzr+CVq3_s_q9pTI?8`ZwO;?xewlJ^A86z#%}@xr+I)NO(bc2i|6B*^ zgDHgz@c8`*;SwS>vf|885b!rRE2_}qQnp|>-fXZ`W3OMe&4{E)8~8w_+LNMEpgG!) z4xw6zK%gx7UEgYc3_IO?q_)V0@4i043Z+BGWg|AwSB3#w1}b=yUrHn1$1;J3d5nT+ zs@HYd((Vi~PMMuB>i0Bc-^RPhaZcnGK2R z{V>+EGPon836opsiT-+HPW?K|&wyxzT4$5M(%w+g&7z4@XxdelG3r*1xYB9=m_u96 z@l3mM0k9McBPYpYz3TU)Jzg}k9FG>2M+7h!g9wMC!HJf|j1U|V664Eg%UwC@l z4>sXN^;?~#yD~nyczW-@%jP$@TRdC|3aaE*k$u^mhso-4dWnw+O_XWPNN4}Wb?924 zPVb#lx%$Jpq@(?G-~_LcC-FYo0rWp-feau}f`rM`Mjr63~77=;#%j1}l< zVSOJkz{9ad8}xJnPE~2DDMSRd^@Wy881S5MBKxv7K6CXVC~-YBd^@!l^3qzLa_WY0 zKH>-3lndpErMKvh37+S7W_4oVcLlr41Vh#dTWqhci{`LX*73eEt`D&Xoa2iCdv1LSADnCI>f#JB`hEl-uA)s6%*km*t zFoS3G*SK!4$WR$)Z4!y$kRB9%FydRI{#edC5l-vp>mA)^fOh8H(csr3)Y>A3LCnM( zi|jjoFp76%aBx7N)86uGE@f1n{GZXrs6>8(y!)WMUqB#)wPVC>ep`?UadA0zssC(l z@IwVgYBgk&ttWzlvh*%E>@7PghBfA8mqUL2+BO;9p*1qbEk%jLj<(9i26%~E(*c%n` zpzi{!MkDVDhJ$(KuRsg)N!j1V^!z>!NDPYXIfwo7D0CHH;!2nEOed6-gs2~!VI}6U zR}1w@g?O<|2WS!;kk%AWqJM2^PVjt$Ee@Mh&a!vX==Vgsb29%Li0oH_*-+ffs-T+ z5m-203UsIe$mFjav=WFdpasYM&42)-!Wdjm2kLsPD}RgkCxtW5-+DoNanG_cgZBDX zW#}Gn(@cvxgtSXI!HQk%K~t~HAOQHMqTY?--6aKBv-xyVxt;&*xXTb@y+5F2atHC+ zJD&%Wq`$j^tYOhA2T8Cie^dla>e!hwK`@KrM2f0Qk&u@g|M5mV#P-o_xi3u`u}V1m z&&3;nG@=WJEQuJe{5{!NE~uL!&f1y&=lU-pL|>Dw=JdE}=(9!-@cEbfg$A@PNB91{ zM)Ov_9|X@@qD^7|Sic+CA4ll##Pm_<(4a7I;j(dw_RMOc?)?JNXqZ`R^BHSId`CgD zt~Vr0u#sH#B20PqYfw*5FAmn~NrmFF0$hta+dtODU~2l~S`l6=efQ2HXyxsy%!+vS zjSD=RCzDrb^|WZ&>gi2LtuN>(45&KOnPYXKak#(F7UKSFP-7Vg)AWZV30*GyYM`VR zN8EJuWge4`n%Q=fot)EHtsw+tV?lL$wL8HADfLP}e*9N&XOCH4uLj{E-_T6RXG8O1 zg1*Q&Ns{1;>~yd;U7!n5=;XlgI%1sw1^n|XX=7g&f&rGdPPN?H4_L!>Q`V`63%fp3SfPa32+gv6U3NqR4F1FDxx#f2RAgPEFB|{$o{EW!XuEWo@7N z-(`;%!p|)o1@E+=Qd&XUL(~B&NJWN;oANol*e}2f9(bL;S{2hv-HF1l`?AqPjCz*Y zpnE%kPRm^yaw)0wo}bbCF#0L)iOs&|@4V4&!oU6hgHdOsX4kH&_P`lgCJ!Eaf7d73 zG35xmhQwZ_C3B&_HOyDJOWLnIJW^}5lIKJ>;FT7kqyfH_jf$y7Yb_S}KnC3pQx}jw zfoOi=g(c8XKT=i|5aYB8vfL{8a9lVVFcH*azu9B>lUn8IlovNQFB@qb#<>v)I3^BP zcSLU@5iTabeJpN`j*enK6_S3)0K#l+#b^)^uvw0ubgQ03RM3XD)A9ZA(E|2JhznIB zP#g)sW;BYs4F~w`hJL6*zw&nZGo1x8@U67F-?2kdtOK&4S2xzz-N;^DF*l2J%CiUc zef-Eo=9el}7Y91+Zn6S_vJ46oZs=eip$y1L0`#xr{;7w$zTLMqI0PBB-d%Yc>7Ey{ zJ4Vs3{bt%6qL%A&#ze_td|VH`L4E1(&hq6Nzr2Ldt^O+D${2WGJ51JKa{OM5Ja3Ll zXZb$Iy0kY3?_KGAW7>xQB3%J$B!v)~aPg7xdp0aF>_!aQ|O*7>L zDVL+#Egh?06$Towym}K;SPfs}qq04oVSJBE_9)S*{R@7?9D+*?=^}fpxv%e!QVY|C zI~J`2Dk*UX7=KWq<5O+Pw;tSKoz#N29#0rfUTjr<<|V|KpQGn1&}pT%R?G0$$1$@? zgEFS6hs3~wvb)?%kxWpFO)a1pLhQC#;2vTq*7M-`U$G*_;k1?H)dKcJY`nZ5aAURn zY_QJMukIYL-1soo*GQCMgw|k4kab2(IQFqED>OHo9vDyC0IBjiob~X}{gow;>bbtP z4v!~+m?6w4Z|9L6lH_`hGKRt?Y3VU_np$b|$By3Sj?rE|pzi9U{r&vDK$?uZ3y+ix z@qWNZ@j~*`s5`$f`>-*sWIyXFwEpt=t?M`&PNw!@zUvOd&(89|9j2oZ?9JNbGf|-?~7RC8)rKsyopz7yz<^S#$u+8$9_?PexlO+~fzF~W=5>Azn zWJSgjN121T5>a)oRh)VDqGnLA<^VNYFKx%cZaP} z{b1W_&+gp02~p1rKnaT>FQfl(UZ>|R%wJ(>Dwev@`7zou(%Z!Q0DYnd@lm2!`bSkm z$~3NklG}MFWs4T4>L zc61IjSuus$&Cji9^twDxT3Z=UP4}=~Y=;$Q#X=t4_!%xY`yc3Eo(IiQK8gZ{jjqZG zg>+m}3rS}+5@+uMSgdQwjRkCJLq0dR<1zo%-T{m06F@fWcaXz*tb5>A2zG6O-qKCL zA_is=-h|{q6fVzR59|^BK|o+8{s!7l5a*{f+k$Z-XgE!Tgme_h_yrdmK!~6i&G*}o zyJEpy&N54V>!e2Xv_f<*bK3O;{vIwuV#k`>PUJUAvIB(7gMLTbGkW833sUB1$@m1X zZb>l*`bkMWOW@%@tY;rFLICYjwRylZ3q&8yRC}-B>Bw?Adk9~=_ykg5uWLRb@VCiX z5JQ5--s8ecL0qT7xTsWbL-ON-vvld*^&SsKq2^Y7fs6lEGQCCXE959yROETp9)3b{ zMxN#;eL?9~c|^w{+LLosd>p`9?3ag};-r46&^sV-8DW|sp&$RdwOJLEO*_B-cI~~6 zf-JWf%hHFSEY9`$(j9X!UHWAgm)5 zD)FiVD#P0o0 z7Kds?ASA36ay}-4|M4gJ1rK6O{?HAhmud>>!FZ?vQ>a^gOgwkg_5lb<;=RkcL&pQ+ zMstOf{vA?PpjPO~`ZF)J^I2u5Zqv3pa^Xz3#SUhIK}+26oYreLXD5$EZ8c6vZE~my zZhZAhM?3hNyX|7e?P!&5*2q=3>hyCU((wXh?0Iy#5hg%&hMzKa(6g$}j^tTt(jo|s z%y}GGvpXM!Kuin{if<5WoPQ%uE}F^X6s;0xgZMLXNYb$vIDR@{5QNkK#xFD^MwpP; zwt0Q!z(F92`WarM21^%G^s$G&5t{lbZpxzl?&~KY77{Ux5QFiPnkPf6uek96_eKS; zTIzNQ;3r3Gk2Q$B?RJ}L$=*WxPnU-$OnA!NVx$7*u(uO(q&^;>kA=m} zYRV{gd;u9rz`xmGGz8yw;nJr6XA&kGIBH0SssR>~=PAN*O8 zostnU>msl7I&Fc)gl8^{)o)^2X;xOzxr+TNr85LfOc(c{k^_AA?uQ5Y@-+VKJ=3)} z6wwkuN8TWz>Zwn!Fazr@Q^Qi>aIzTfbhRSs!A3f7AiTMp9;c3!Ha!@xoHli2$p(87 z<{INUhV79J5{mYkTV97yH>v~}qMdZ-Jkp9-?1g*`(E99*A5R$jZ3 zKk!KK?6cdU9o4}>Q%!LAH#ERT9Cu>t5gHQ-AW8y5>OSXRm!Uzf#`GVS_#Z7^2dtk8 zz1$Enwfo`z2~1U=|1yMg%v)Uv2Hk6nHML`+>78jVW}W`p9*7nayS{^6#_p`mUGMI@ zAO?@ERE;@Cy|rgG#~!j0EFe6-H7DNqGj*z>7uTr4dW2o=eJ6gP0~Y)8J4q}h*s*Ia z0v^}=_1i})ga>u^pTNsrbe!a|0xb^zei-hbN~cPFvrcP^CpZXq9y$daubX)vKtYiG zqWOZ5XZ=Q%Vp~C6c*1*jm%XmOeylzA*VZ z3>7MkztiH7qLV6VD#8-|A%xEQa>>@Ez=I(nPe222!81|dB@qVa7!)u| zDgn)eCB`t42spK~gP+2{`9Z{OR>m*Mm)3lL9L1Jm0?k1AQe@1ZnK>=*-w^N13pz!O z&m0h^R7n=Y<<<=)->Od>hJ>k?8!VS>s$BaWu1&rMiI)=ow9{YX(L`9Uu^ZhV&&1d+ zR}<}U1UnTiWvT)~vjHJS?FMVNs5~m*;y6IFowF=8%l`TbijP(ew6-Lw3v5KT#o%V= z7|!)loRxY+Kz@=X=){zNdW03k9EJY(5F-N7wq9sP53uv=9QSOeV-i_Zp~nM)SMEW?r|zY zK@ggZ(pr@z)fsMSJ6I2T?skV{6yGu|P8b$=B_~0i?he!x*Di~MDbEX_VVNf+3Q)ue z^mn9AO?I5UN0(-oBl^ufuPu!xhdbG~`+JMPJ4zY*XkNRzhs{25X=Kp>7VI(E8Y<)f zDmix;9fK)fUwI242riP8Lm@;16+gm#lAY!$75=`9U%cAs#a$5Ot>?@y*4Pm|tgGGS zbiGxSBP`w4^+`$8J$c2q@*CQ=Zxe8aLmK?nX#~+ z)%TVxJaV!i*L)?{-PmJSreM6=6(YvJ1Em_`2ply>LK^uO4m%-+={9MFu;ryii)vER z)SN=K@e1^TT+yaW>pco7Gqg~E*gIIa!QI{8h>ta*TBO~w~G(#Mgq7SYjI9^AjQ z>4zQUIaNPj!!WBsFkM)ywld2K%t{*c_oW{^@6e1}Y&xSmkgX!Ze|BozC1Yv^Riif0 zxZy@R%L+&nLF;1GQihV{$J30zLtYdp4}XOLZ+w=jnBwlUq17wRKYAyhu${_am41Qu zRH~24>$N`FYGi4Fo|?9m)M^`UtmqP%SQ?Pv$p&S!_%k0+KOe;|^@bPLn-xibfsX#Y zuW8LV(J@fF=hiJ|=S?!Qk(Mzx*8roy8m{n$(bsp&wkyix!ZNUSr|;0+enOle!}GuTGkVeOvVxT4KW9&rbNC*1 z;cVwlwD8=R1YZ;eBO_^z6`7zBOnQby6c;UxICo*Zu_WCz>ifo3wK67U7HQdPT2W)t z6c@#p!=LdTsNXMLpb>`w%`DiD>%MJAyQ!IVeh82}1CFVl4o=h^E6*cX5jVt1h#gOX za+`*qhX#MvshyyCheTRf`3RSPlARRGnJMAX@nK@vi+uG`?ACA%-cX4HJ;6ZLS>71b zqeP*^VTv&zw}jFH|CwoY6-a1+ep8z-Y|n$TL42~)kx1I=;Y^4l^1Y@4ywaoyf0f

          *XdU8l_Vyxjp^CT>)u^P z^t{!xQZ?&@pd;|Vq?c8Of`F&^#M*01}5A2Ca)qUpf{6W$@TpN z=5n#mnol|;s>2I@e7u57tjLot*>`I+D#97y%T3LvOtsZ>PE@F*Arxi8UsIbY-I9tr zXIok-8@xEMYYZ^3u%S4izKBtb&3@Q-_o6JtzRiT8{r&yVwG{HTpR$IL^zQPaCP-)) z+VSRw=q#9f--$>6gfet9z<@H3Gg!K+ZG5?wwgqRUon}>dnErZQ-}+rr>S4QaP1xtHJpFE8r-zv(}W}VcCte2|SOY-t7K98Eo$=jQWVdS3qzlA{9vxVQRVt3 z9bnUqoqPaQ%1(_H7W1A@OcD`6GbSE0`Nozk_yXfyWXHbxiWl5W0h*NSOzcwxlRg^H52$O`(KipKJbx1L_ioN0dx7Z3~+fs&4%M<(#R|x&7B$e2b^WpeIz$?l;D%m`CCEqz3wWb z6DQOh6kjiH&{TKDEeMZy(63_Y;>2{yp0~oA{EKS(GT>buc7D#izh>y(IuJO ztj*7^mm`_?pDUXpyVep@RokcVIJIWKDrhnbeX`&L?5Sc3n3y@ouWvw#l$*{*0rsctBS zz^51Bo9o&rdt@Y*!wjikt{v`4Ck2bkjJ1Nb&4KW*@&a(0--m?7<6^SP|StpRGSP+VT!BB6tZh2^sTCa-Rf-jcn~V0V{C==_>u%@DY!6Cdx({|X=p#Fs^pFA zHtnAo55U2yIW8`L1Y9;$b7MuKU7Kr(cya(T5UHEjC`R4`1(7#ueZt&Z`Te^@Kwyi= zg-rIO*7x+rieAGbhU|E|JDm9-n^a;VQlZkvwHA1#1fPJY+liv@m1$jG&VwX&j7`RC z>2Xc+t)JVrzj-=pSXnQ)F#Y)<63#cIN`s<;UBqnXrJeJk!Beg5QcBLWnkptUw65s8 zcsCOG(E_g0?0$Vz#i+ry9`_fB^GkspY7va;M8;H7jiSa#=)6%&*gq^}9X{o3|%&W*QnA zdV6)fD#1hzVCSiwfwQU8=CY8-h4}{|lHu3Axx>>Z=P~f4>lspY{*zUL$;*k?ka0ea z1nv?eh!mc$LrG9%-~u4=0xxgye+@|dj75F5%O?Hbs&Q^UyKpnF8=d-zu>01M-8Ln; zz^*$)rPlMFwR4;eEN^BM0vL7aIxQ?~3RuxC<8p(e4Z_u7&X%x`D}L^L)?;rOFH|d+ zmzLNs7Ra|=B0Pid1uR*mQTlG~vg-h)G_*l@4z&dQ-Fh8C_Qyq@d(kxViO1kfTYw3@ zPCl*(?`1sR?4;VPb&Ju}1b`jb-l}&-I`I~NLQ^}LLad-{guXo_4LfKnRM zz93eSx)5ff&%5WC@GK|Z%?P)vumJH=^pBStXU&@Ay-}SFsKYJx&G1Eek+jV*2>Au> zL#XKJGW`&D_C5N9>gpV?Dmu2GaN2#U3f>a4!6$P=W+^G`dXNL%c*l1lPtgh(2Xj$T zeixS~xMPq`kw95R1@|P5Ai>`+ytC!7ZT~MVkgx>_lh4x)c)j$Kq{V~LPSZ9aSc%Oa zH(xR-diqJ1chIaNS`fRDtMN|4Vra*s7<>z^A+=m1;u$*~Hr!gt2O;+Z_YWZuo^=^i zvw9URfks+nq(6o@fYdGUju?uA6;^h)rqyg1OVJx2M60d+R*;BZvgR;>@+1M*d7SjJ^6N)?>P}pjn`_W;YE9zm z#v5?;G?3--we+&nJl zp&?I~y!)|fxwIn>dS%7tudS7qch{Y~ew!2*88Jc47tX5vW2xVyD`PnrKsJPco@V@p zYlw#>0ams_q}hL$A^)0*`+&g{@M*_oXMeH7exDMv9D#udVF1BILF$O$0r#Hoq1D&AR3T=f`A`RD|IScWdq;F;v9u;nQZ97|;Jx zp^73^C&}Znz5fJ}k#nB!AhBZ!p`Q1S5vek17p>E%a}_F0q!Y&U&YILa%x^t7TkFwO zHL{Umy1z*(GQg`tMWXA@-^@=V{$ycN{Rf+j)snuNe+pW89lPq5WK43wTilRP_C;D& z)7IKce}DD$Fucmt?M{Bci*Mr^?)51d;vu4twqyk*jX&#czZZo+N^%sLh5_eB>zTpb z>{d1;JHiYvlZpmVNj_C)+8vXc!4X=P9_}Mk&eEfGQLokXexFQyz?H{z1rxoHloCBf zUzGLNhDA`bIe~LG@emQu-tnN`5w_E2EARfY(2S7N^`zXf^xF-~!nyzsXZeLrVX_Qx z3@c}xC3VZUj^BP#F?u+TgTuo7`?xIqmmf411EHYqnuNP&kJv6|%o zf9Y3aotR5aNT@?TOVS4cM0~7y(Pn{`=I8gvq-#y6Usy>)!-(%}kX8BX?vl2RS<8{` zLizyDC6>YE?bDG$tQqeJi>aTEcl?hRK+YWGc8H1;yRx+Y*f2V!TgcxH>tBloOkYT_ zvC+{^U+!^G-gN!Fd?-F@oce0p$3Y+Ak(l^Ht))|Vinb8M7((TtV$-z!=Mi*@rapU}T=d4&d zHp$h|*bGk~h%qE%2K|tZpCI+oZD`mlp6T|V-ozY10hLc*fDn-#p!TAch#LZi47_JV zl1k(F<1ZNV1N$O2eiq52S_G7$-vG!&i;OLgu3kQ%@Yi{Qi6L)v4gDE|a=@2sglG4h zH{RnJt@NTGl+>siwl-^mu`!Dv5mz~urG?^(J&e*%ybYf)U`8dG~59}u^uFR(YM>|WF46WR6)BkTYVxtY=ThGbJ-vLrU(-wXVWm7{t^ z?DHSZG|7=}ru%Q6D|&NuH?oO4FucR{KawDIS?%o)=5#u~Z;bPA(~{uf3P{*s0ze}& zVidw&2U~d7k{q_R@Q~{FSuvq&9g`tNDUOUfI07-NW4s6l@w7tw=qZeM=6DxTQVNG9 zN^0tKL`W8&L54tfOl9DEdzj6sH$f@Yyxrp{KsK_`c&eh~bkxDI$M*+bshpY~8g+_0 zjDdkinG4Dlj&!7BOkm1$c#%&?`>k3NoXi9hm>SDiB-ulU#eHu)T%j}M-`@7#>8*oM;c`PJ_8^U(o^xx}UJEnYichkj-!mW3|>8Won}6v4@D<>o;J911tO*yscX6G&K62Cg{_rNy57~ zDPuJKA;jWI1yATw0x6u5px<xOwwzL4UZXMQ8CO7)-kbFx zM^t6IJS7Lb5m?|y>V=;6Yp3l&YfNL=9k-*G8Z@HHCRg6~cAM_W1)sipCuOY)3HDJ_ zy$LowBkZ`|Mb?{}TykWvg`3KqaA$#&H{p>-ELEN+Yw7I}XX%#SuR{KUCPXn zSKS)-D%8wIn~f@I^u0lMdP$}oR57MO|(~xr+F0II~1^Qjr9%uoYx?!WQ z42b5folT1ba7{E^SQeO)CxxuYSD+B^?b-?o)e=hwMxj$-G7-y7VZ)(&au=)cT0zdy zChlUpfxNM*1V1yW^I_5$@_0}z)pX6$Kg$@g%y~|y`r35*mVr=$=3Ue|Z3aKjyt`hO zZf_lK#kSe@G~uzBNIj-=A~`Xo-$9JP5aTYZ)FU+*^0ch_MIy2RK8QcuaRI3)L_i1n zCFm!IVRR%OffU)}|9WN-zxg?);27@VVW#wKL53I$_?CZ@v{gxmjXGds0x1a;&|*R! zdMTOrxugNKQTKQt_9P^^_rwEfmfgZ|S>y|vI!)equs`wl7vMmtb!4Lc+#$wP_(>|H zf)>nl`X4_sIvjH}9V|Eahe{j^X>0j0UAU=#BDq5n&(v1y62Tb*G%FklyNoT=iE{4U zjGBcdJth|B*^N%+XXM%$CxU&D{-1dj(amCIEh`Kqpusyer>CcgMOyeVL!*W#-qgpjW%fC`XeLazY@i4w{n7qKr92VMdL|+WW^TbjkleP+Y zD97+)tbW*D6=8$#dp~WUv1SKoZDzxmY@}ae)w|g!E+)90^0z-o47gLkO>r(M3<_z7 z(B!jpn)4?z-3~meR8ubvld)E2A_mCjuIy)L+H}EIXqF4Uv{TK8bhd_jkoU4$Rq0Ao z<;4T|OYusCC&CsMCp6Xg@AU0sK7Nyt;cM$SsKHOXiwTL$)zX$; z4lMtNueXea13vHny`Sz^ z28_XP@3q&OtLB8!4-~7CY=?&5R2L-#Z$BAvULe!a(|`Hi*myIWkwH+K;u6^O^(%nV z+=1kRsn3}Tfk(DdYlJV*>)pl9^AlAS5A0bA`u;m8yoW{=)-9gllz0Kiq{;u(iO`_> zw`o1MO9@iaO1yVG@o=;KZ^y)K)(Zd1=_8i&9MmLTqf2r<#Jizc=dGR%wKyJP&d)4F zL;qI`M1qliK)&r`;5mcMn0M;tdqaejXplOe31Tnufe#qw7h*MQIR=3$v2p;vrq2c= z^V`a}sVvNBczkYGO?jqIpRT+ITiw<>p<}PyJ`1(KXVaJ@(IoAbd+ ziPG8W`eV3`U3LwA&aKubre6Q-;kWxp>%@1ErDNvl7@dr4U1eR;BP4wy|K=C@lH$tD zFD7@Y(-Visf7SXS7_}`lGdw$#?v1JFHO*}x7cRPDTIO}+@mGS%s5QN(GN7b#RF~r&%XKZrv1$T*cmM3Oqi$O2gRsTkEkm^vd0zoRU z=z$;Ygr{lo_F!~I;728}c|%(W``o_iB|t2#yoyZwCe zo3Ud17=i_W$K~b4MgzswVQrhXddj;{)`RcW@Hb}LYj5iq;N~X;B#+(CW<+M!FDScI z2BD6!N$=FBm!nx`!g|%l*1a#5EDHCwl9-{^zyg)UU`~-=tmNQ(j?)Hg@ZEpWo7Iop zzuujxt(_&0@l1WiYXQMP!}6UiWmd2XD9(WMbU4-cPlFJxzg&ZbjEp9RKxQ}F9=~__ zFT7yom#D%+VadwlsI?Q##3qu)+GlWWieaIK+8w)M-o88R$NQdLFtufE#ff3Ta=p)| zXB(M}sveLTN_d>3Igs1^6&%aDbd)W9=F)Yq93@6Y9Jyw;%(13DCRp_IDR2i=N{gBN+|wVv24AW5kXJYV0|?ILG@2HBgO5q$(im# zbgCuG%z9Aj$rG~v_VK}d%CXYerm=I2-Me**R1DLdHp^v~rq`WzBpVa0y%Ywmt(`O$ z6NS+8E%%-v-H4jdD%U=%G_k~@v+@DbVO|=YpJCi3$BWY8)*_LQ4lIUW@NLwd+g#Hf z`B=f*xXrlgX0j`5LDSY`o$y;jJW}WSOF>_P&^btklsojMc%)w>fQD<(8dYHq3J>Wf z(;s#`B=ax<{vi4xpOiz>YjAUEBjbDWKvCkL&i}vp^usO5qJ$2*CwF>+Y0-yRyl$%Tdhh_qB7O2&EGNH|9l@ zuVgv6Xwd<^#Z6AFtx+(k4UbgWeUsu)U4E7{^yV=;5jQzE=j%QBnEY!RhSu^javBT< zD3=sQmg|rWFoH7PyugZNNy&lo0S6wGDq&uA*d(BwExd!{izS>aU; z!0>P`Wgae^^v}ty#WN`FjBNjlJ_!{eaWs?a_ux?6+cO z#xutVKRupc`Cla`pb;RK({>?Owdt*78L2zd1XGcV+$VjPU|-h6fc{sQ%~V2l>dbqS ztYDE>`}h~!9zx%TZufcoG)qqSzDCtNwfXR(ehmIYBt4KgJ}%HV41t}|!|zG{vEX8OgbvhLIc|{u@h~B@dm4X{ zgaHqn=Hv|vVjn}I=kMmY=-mlzuQoE2hvsg^uSKUVdJ=vuhsA@-Dk*wdQMKoORA@hp zRM-D@!$&}Z_3{kunaHp27*)OVN$Cg``atu2@(nLeypO@YaTVhLz|2Zj*e46rz-3hY zi*u^9<`H1^z@Xak&LE0OK}+S_d|CJDE{$b>Qlr#oSy=L90MS=&8LQeEIqiw)7eTe% zvnj9OW^f>Sbo9j-a7_@=2Ww8JKNx~+b55=AuZfU64Ox^rxzTs9Dg1^D3g7@jS!{Dh zN|0%hYNLAacjg{1*1gX`Wbv+AzvBqnZOXioQ->;OlGAx`cAP=@_L+Y94hes|2HlTQ!=je#G!}hE-Qc6!~cwVwGErr zs}KJ|eg^mRZ=rlFBSX|Usm)7p3u^4>ML3nH)w(|^NCfX;C8nYN# zhC`fZR(1Tcv{3h3yP4V#GISs2ij7}dCc#t86wFRL!;|=}&)Sr5cwJx#TawAswc#z# z+}B_MNfNLsM|`S&K$MJJ-B0I zZC{+sRNvq?`;_&*q1}Q-_L2zE=8K(9c9VmS`CXlcK0Ya8VJyi6AF7N?1v;(%uaFF+ zx|}+Q?!ZLv_;AX7m4@{i`^>Y}ID^HTxWD<#PP@{oLh=W5A(}%wa%jXP6->>tRv+Z+ z>b+z&tNUjNM2wHrMeT-0o#B&=Y&oB#416jJDy{FFGSMPF>2=AOAl?5qi}*!z>t3k> zJ@@I?M0W9x@0G8IwFlm^vJ9-L+s$yta-$tI?IJH)3qbUY*u&*7{~%K%U)3DX8GRBI z=GiZ_S@z}ZbhzhBPKlF~slY4j z$f6Ug5-<*3$FYwn5Q~CEQ4$Vr|2%jAmWbi#uh>WN`JWhabB`R<-u7W!PwN5UkKYaO zx*pG_Vbi4N8mgV2T;UxCFRYw3o=E9^PG&jobmadCH9iKU&oHksvpeox-NoYA@fyuD z7~eTH-aBqIREQ#yR!)$;8V=AEt-E>khpGw*SSpd#)gJnUmSXBXpdVbcT@1TQE6YlY z1oW#__1;%2jtqZn3UAFWuV~TaI#~rwz zSDI1^@><{P$!@RYB_t$BVzop?GSHTRw7s-5o`;0H@7?N=fEvQme+>LtekYp@f|g(> z#~$d%RQ0s26LYS7doyASk$+0zq+SV9{8pEPo&Q;;8m9J%SU3340d^&FlR&}`x!}G- z`X%Y2r}!ws61BzoIJj3DZVL20js83hyaT>v`zwOl!4PJN!XL~Y$*K+=PwF}T@CKY; zE2?D7c0Eg(ELzSnXJhFitGwX7FH~mzyDfM{{dtormdtskf`Ii@MV;#1Wtjtagev;a zwHci|s#c$^R95)66AMb*Lz<(j!~u{XsXCUtXdXAS3a~phG$i+r2s$2?uAmb)-AM^p zG&#Y3O%!oqwj^)BT>*V$v&HSAb{j(G;hqZLLxGAHt`0i_(o#k!r4wIh%yVDDU*~FS9-KO_lhbDdr;&)xImHZ9X$zJ*TPb$U3pE ztt0<8*seYcRd$mXqafx#p5DtOokW-orr`ao^^>D+XOdxMFM-RQp|ja zPeyZv*T^*;^btrdqSA`k-jyyUwu$zApEF_f$p6|ve{5gXbl^BPx}>42yRwrsq9X~6 z2Vm{&PW17PFxancWIfVpvR!nF&yAS<$3#Pk3x&BSz&uh~EKq&-ca^QwmegB77e?QX zlce+FNod85a!nxJ_gA5Ta_c<<_5DO}R1}+lN*lb%2f2j=1E0^Uz3^Ll2COMzry*f1 z`|Q=heSxO7LQUylkJ%avF$cbVN&OD0Skv(65sJ6=M*&k#RUZH-<7U>aTuHU)S}TX>eOLBtWi_4C05&c zgOaQ&)Mq{124*f5khee%&lnu+6s)7aE5`cu)dUd2Fo*) z|N78maV5ns7(rQPs)G2J606LeWKhU#BI4BjHbW)vt6JRe+ofVuGa4I3>2d|Nf9r?g zU%=6B{L!UFU;-Uxmr~FGifQs9?9F4~7eAE= zsQ0;XX|vxajj;l*$e#CRr*j<%{t$p4Dj|USixZB0KPPWvI`&q9O2K!bUig2GRZ}{vlT7+r%pr;A$A{zad0HzKh! zV@2>~KJ%PiBHlypCs1o-vDH(@T1C6fVC@Zzxv7qqv(Tr9)l58RJ&pg+|c z;$hI#6psKTl@S#w`I$|=1`#I&Q#2*izS-z{KBei?SWFCehM|O&;L_HeJ$&;DNd!eW zZ+y6fo_nYiYk0jwrPA8X%dx4@@W6U+CJcJK8+f!7SFh=|&*>D*02PKzoZ*^a_3hB; zli!E%VQYu-uC=z??!)1}xj0Vi$0{y#rPfZNi`~Jx(2?P_b_iYEx0`t)3Q(=o=j%hz zt^zD7*$j`L!Vvt%?Z98Nnk}vJu$wI@KBhh!Eab}^6?~ege>|^~Dvw|9r>r^^Gie}N zizb;wxL416MBG-EN=Tg!kGJzpxDCjBWfoW!?*1W9*QtGuJoZLF6wpr&uJI>SK)dKL z%y;&r>50UXFhMmome=02a8tvgTTcIJy(VswFVY`lkgXad_A9p>^a>FA@)FQKBml;b zwf&zQZdnyMcIG}--Lzt}uZLORb5=;Ph-y`9*X)dl1_6{|$Y<ejhd7wX@EOC3&z)wJrA&$=Y+RbDP-Q{R!L#AhA*Dz50u;7L?dYJ8Vg8uo1U{f_D0 zmGki+*mpleN1Wz9XuAR|k@b3uZj5po}H$#_#Od||>yBjizd-nuyxM;0yN z6Q*N|eXyU+V}R03kW~{FwGU4=X02rq{qk0=6-J=QON!_Gw5w}s_2;u@vqc2!fPl{2 zdYl96S+Pu4t7(2-VQ zt^vJ02?d%W3{-}BZ@$iQcS^h+`lbmO?1l5aHa;2R;=!D)Rh5U0balv2%7x`h9+X z4du5z#}fVGa={2|dpWw?0){slVvaD_Lg_Y)j{Z6g1QM>Tudj!!)b>L?Mah+NAx(&9 z=aO13Q#*sqWjbC*m*3Ho1g4`cgbgm4Qo=dNNm9=yZ#TY;aK#D3l<4~ypi>`^%pln{ z9%v{Uk}sTR&M_TvkTV;?`dM2J%7&igh8tZxj2ie9*dw)Vvt5!BzD%^jwqY(@`|7cG zA`*<`i;zI^6JgyR4mxeW+Dj#%xy5SW(w~81JCYUmRiD!S)q-GZOeLLX3BGB9cX7fZ z1)ENsb^RoTX}S633mjHv{t&RcJ0DWd3(ehoY!DY)cfqeE?~ov4!5AJ}h=a3DR)eUq8>p`MIA}!q% z{3=x)+pJ0k8+lvs%0E>Sj6nZ!UdEKRb%TfMhl5*raKUw3M(97bCD*8 z;U`g4)82pW);6)TBg_vqqH=mGpcG@vtYq8LaYhnIeY2`pLobiKvV z&=DO@{ac0})7NZ@)u2AmI)$~Nl-W6ScvubPrWsQby4~LN!#eEBZIXC*)nR}eu}0*` zuv?zPtK#r0f&ot+<5u;7Nd`rtM}|ENdWsk)BR@(O*a*y?QFCyvc)aC0tzi%?R?%+M zZC0*QC6$$xD&gH#=Sz3^x{YgvN$om-LxqiNHqC=|SiY*#Vl{Y2H{#$yzH78vR)IkF z3S{~pXpZ>g%;>Qj&j?YJoK~bZ2&X+9ZKYu8OrrO$SNip`yM7?yE^%R6r&(+Gl_y*L z1OJ|XWik~aNcl1%%cz`Lw)RxmA4}d3P%#&+_ZA#_*=Dfg@+ygJLLN>%I(RP8xOZ+wndjLYi6vqVZtbJvsO<^9+BvWWL;r$Ar5$X0FTVf<-~XuFEE{(Cz6nG z6_0xq`aTn&-)=*~Ub~Q9`S(?FxS}>*CU^(}I2ADSX&{>3{lgB!TR4O!hNQs)%Z9d^ z)nuyQ5(*!$`<@8TSL20Da>iq|=d-vZpGeujcZJ*Yfh}ob*cYI_iexb6))K z`pt68tb833q#*q;FNokTYSDsslyqZ}ijU4wD;SbVO)Ve}((`5LH4_e+l2cAzrpl6< zz@C5{BE`4r@~j8qGxNR3HaDHtL*Ma#Tmj*PQ0b7HFLm$tJ4~1Fbu2GFRfWy$rE>24 z@VnAmec#axFcU{2m#G+-FSO#mh#?J1Ykk2 z{bXyn>6$zh%rKBr-7mlW_$)NiRj~A};2jqUz%#|iH$%5D!;_PAdoHmQblFGyzV3lF zqwXk~h1gN}i~6HuK2j?YLPw5;VA5Rn@Nk6{T5$R*jh(i)U<(B@D3X3@IIOUuD z_0UNN2sGe!Fci|#ZOl!Nltuvwvywp+Qx9J&K}0aYqmu9!H8!T?@}SVPzx7;z66n=Q zS(g5=SSe<0u*Yn=Z8K1_>mRk2}KW8-ehdJvz7Ki zv146Kl{`Y)8oy>ZFPB9?@QePW zMNcbcf0AA&&s)O{O^f0@x{Pc+%9}y86s6l==DfB#CSy%lt-m>t*oRNf4dwj8A;Y%; zEBOd>(Li%RlwAZ+Q&WRMxX{}p+o7~dZC-rsGEjmA+%?= z0r&?C1xAE5C~&k^US_bN;QezhT`@|&7gt-O@ zWQ36Ruoug`tj;DH=Rv`h6Up(?pLA6!)=92zHR3c|mx`skxCb0QhMdf}m+9bb;*2=H z<@5cB0o)1krud8bnKhbB%^uegV;@Oic!3lg)D($(+D@|Ia!TF{aO3$%?T^xn6?s!I z_#5D8pdPY(tx^U|i=g5Dn{rZyDfx5I!b&5^8N!b}`rg87Q&6O^)9F?OExwPV>_bm? zRz;FTUExE$ybqLkvr1fij2UGW{$eU_!FFq`RLV!R&qG>mS=-uKEagFU;nj}}rXKKj z+&nF4)n`Z!I?LJMu+v|vT(I}X!(YocrI}~E&XwyM1-5dWr6m6t`WhpXP zmT{i_oDpa8L^bv60AVWEJ6dEjs}yRE@pKjenT$qP!w>o-9;!7X(qFiz2plWC5B#_w zM8jSJfbX&DsT;MvwSp7s+zvosIL`A{sT(l`G zYbUd_)oXGE7toB%O+fhF+`~Bfqogs!C>T633P+Mks;2Q(H|yMTm;Jkbe{{<*2*D34 z=G-cR)D+A41L)wtMzes?9+u{hvit#l(ErHAX+grkulywm2Wg>?8dN(6KFA>@MNsb! z8pNlnT+++awMS!OYf{>`OFm7GjF5>Yh`osT)4RRkI`L2kQ(MUb#M~nJ3Nq^KS%pcH9OWFcyQ86@xFIUIxVo(csIH<2Y&Z0?7#SMU zDjmsx~CR^{6urYbYZPzeG_pz+JF*hC>_BNS8&G+6vbeSl6tmhjTfLM0kk)z zL^jaieyHi3?_f7gA~x}=kg_TaArmbyVYP4? zQ#;C&-SpqpKtn(l(zdC1fEibwj1EeBF}$VBi`Rc@tn%7#KJlnno3)xp2X@VMj3(`I zlnpZY{L1lF`ix0mcytOUJMXzV?CT&xo*}$O748AT37>j^53ZnUBlx<)N47@uevWJn zl)#C8ZmPVv$c%%Z>;H&;afhN%;JBU2JKQ(oC=May*Cp#HC)w)XtNdy?Lg1R3PSnF88zJ4$By81M`7nsSPLt)+fK@Al?issrOjwGP_mb&xO< z84x-^K;cv5h%`LHzYU1ET7a#NpILV84kcLzlD;xEz2yA^Xpbb?0C+`i$ zMx`bYk^Jx!Z-{cC;6}TD3yRLe@!PF0y;U#Edw$=s=p(v*7O*O zGZDfdoX)`D%R(y2euL1bXf$#KlMj*cCotp`TB!SZ@%!JC?BOK9P@ce@F&ACh5oYTq zZoSctaJ=nTyrze-en$$?MB#73}VONV25u0hgz>@6zU^8U7DkxLH%^~&mwC2E#ODUo9S+`%`tOye0pALJorbl*>Bs;O=!pO2)Lf?}a(2q$v70QV3ppu!P zH3{P+-wJ=VZxXId^Mm#zP=Ps+$@3*$PsZf_e2dM-5{X z@~V$*U<8c}YeE!j5`ZiVwN4kL4TVAO6!33&6EA>~44i)H1xB&`8%+LMR#q13DG{wl zUWJb@WY|La_G<}vkY8?IejL`=KRc`jTAP(gvFknVUBTLXK0RhU2yLIBpsM(>W8Yqm z(<@Jh&Rs@g%ZhQx?;biV<67ZW{!&z$JvT5~De>$l+KIN!ug!TVD9t|Bq+R60^u^b) z-EosP>OHU~&E7_I zH$sK^N2HUOOcLU&K}0)qfEZaV7~_QaW`i`4+@ekp-^A;~lJH-_YR)Og0^@1eP>NUE ztONwlNAGZe)2k0}=@m$LhFs};MzwxchVxc0{7^*R4V`R2Lj6v5seZ$s`n5klcUtHs z>ywD6LO2NQc;3nOw%@KL&Y$dmzkje1P-Sca3p^$tW3M$lvgSsA|M>30 z4~@&|?jc+V7lUCXI@k_9!ltH6aI5+Fxd-4mpqtE`jc<8uxsdFD(Zg*$TmlCE& zcm6Vx`>*@dEz|aeB1cJTwwdj5|H})4h1*Al(-=1lD|$>#QyC}yCyy$bh34$2DPoO! zyx$y#3qrtG8%b@jZ_O5sV*{f?VMVm=jmor%Ava6K(M@OY*T2fn!@)s$lNhLw$=!*j z96T+0AL5?$7Hx+WQzMDp@;k2dK1kk3G9g#(F_x8Gm&`EsAX*y(zdo08{gDsk6-|j( zX^q$TIQ0m*C{B(Y=3Zw(k|kxs`%EZ0moU+qXv%WOAYEUL{jSR{QTm>jx3pfq-Fd$c zC0mT-tTONs-wBFRojLw5o++oPUlNE7P0`F5Ea-b;Be}I{>vH=n>k`%S1^iFqK>)a! zN}63@F;`Ifux%=8hgUKIB{9-8^Q=zJ&TMR~YAIGF`9yxLDmgARdPagI{hj`nS6i!E zDk>NGHjqS%lW1|otMDwJOMK_>?f;cNpP(SyaSte}e3<3I;jplm<<+TuhM~8Konj7F zwbpEp+P(O%K$L(PV4m-LfPV3v_Hw>bz@z@W+%t$(VW5^_w(duTU!U6nvr)afKG3vhDPzI*xlxUkW?hl1$vwY2s0;v+pAa=|~#b4T}==~JgMAyQ=feV{|J(8jQ_^xr|> z6GG|aHs7p*r!#y2I0@w!bpuG{JPtLiAmpjdtPHcewRGR#CeB;}4I8=V_P1Ab>e*yS zcivw~?1Ne@-<1q-{gppX@t9An_`R8J*Jd@qmkEa9xlw=9Y2?Xf&fMdihV|kk;$nK~ zO@R^EU&oPISmUU+Q^{WNsZd)ij%gmz@%P=`f#lmd3tco@3yV|~IOLRIh==xZrE%oD zB|mCt%YZY{TRwU&3}LGO2nCmrJT2RoMMocKqZMW}g2x9U;IL+-R{I?M2!q;_X=vy9 zZuFV{Mlslks^vV7br_)*I~n#O5a<;$NmmO?*lr2BPMnHM0# zkIPdqhhdDlv1^I>L*T&hf^Vb(XdGO}dvkO^aUhxl1w|}GCdzv#7T>q0euV|e?|;K> zw)6Y<`M5Pa(tja!3&74b ztf&Zt?(xjI@O%bSTsJVzi23Dt0OgYYpMaA?frg7Mw$}+hVLV6CRqHWS+o}A>mp5mTW#XlA>_S)BbW{L zgm?i(!VpZ;ZtBt=u&M7Qwp-%ChZ}bVFw9yIm4pitQ8%Z2!v6h_Q5uaD2E3DBtDw51 zyB{5iFyx_MY0t`GXR!?{II^pY+k{XJ80+Kewhv zie|~-T|iB`=z{SbfUNG$R;I5)|FlG zS?NQ6x+b9?@BzF2h<6Uti|emJ+>!K?rlYOB=lafYYmj-BxJ-0uM2;3-YhFY}6}yfZ zz?J$6K{%mycxml>PBq|>#Ac%C`DF5~($l@4;pwV%U% z$*vsF=fhT;PC?h6j8gXEb@+~9Q!$SmA-m^3Cib%3Q+vP15<9(vv!CUsbQt7^ydIcW{=_D>1<3v)1#K4jn;zai-0q?$MfN)lN4;kZKIvB&~ z{U5O~qKCy*%7srnM_Mno)oW@{eZx$h=9lpMP(P%G4|4&hMPV`a36lW}jREu&AI}L@ zEf#Jl1y2Z|rsu#}cgo0crN~IjtEWT+^e2PFJHmQ&KJ^w`yHR>#Pm|=XR}IvI`t!~y z4ntS8amCQmigNoENY5{$L-f!WoZCx~k+x!N#LO6$*8zTuSrf z9BMGEftko8!$7L9mERb^RO{BArzbqiAkjM`GfASF-vw`>0uKPN^>x}znH={!LXg!w z6v*&Oo=dQ`74!;2<6)Z-?}P0v^h4#%mz^=Yr<&arY8Ao!vncuNZ`D<{^T7D z_eYj*>lhTrEJYnicVxl7(DnB2^}?+`i{o$$&B8Gh;jq?Ga&gD{mSu5((W|PgGp|#}sY*L$G>1q@f+Wx;#1BTSEd8Y+e~K0+LNrYcKp6X8@xN$c%1Iyy zG2RPrnw$oP*EdbD5C?;h?4b;tvx52r~XS5Cv*KYsM^-5xJX>^PtX zzB{v}DNIJ6ZnMstp{Rjjo2MXmAvhUCOD=Ae+RZhObY0(Vv`_%{F2yho>%>es7K3hmbc(gB-9 zDudDTaq;uGu-5}0Iaq5EAH>-!1Lz~1CQi{`1f(rK_Q%HG+NRbzp{JrQ{!W-v#?nej zU`#u)xKM1uoI%>0A_+)Y_sgX0jr}(?4kly<58-G_kFRv%G5m7T8_39~2oyQ5F$xc& z=_3JzNb}Y1utnY;)46>r2~2}|$9s$?T50=mgT?1AzGMaf*+b~Lo}Q4~e%>Pk3)QRwcVd zRcdK?y4d9~W*&ms%w5@N)>BL5zkwiral;00kEE&iuqx3;s!<7-32SE%I}Eo9(TsB? zo3;P#Nkm*H+Snf`_hvAKsmKq1+??_R>l!Z|()eQPNV!Y!GLj=lTzNxZ;OvM2&_lA{ z4M~iM^UloBSlJbx*VXD3JrgV=l3itz1;sXzO^R9r1>UU>jU)ndqiBL%8eU*M>B%eE z+QhM1VP^<&MUCU*`{EV6wjJZn1E_g@S1WE9c9Kh9#gFJ=!6YO;PwF1<{=MW2I z1AkJo)-D^ZG{;lOtFEC<$9y&8>DOCEvYRLlh!BvDNa;Gh>pyKgD?i5ECcs>zu3rwe zm0E#Y_|$2cG1nz4gHqpo7OpxVCpq{|nlbe4t-wQ8K-!v{ne&F-;7ndVeJB6>nug&8 zz>q^w4U!O?Z7qtiE%Ur#y>9R;Qbq?Ji_bSAye*WlWf))V@n@<&u&!$Q=1OSwc| zx@faQCHAjZTugLHt(%R?I*D2jbn6t?y!CaJZ);b9jIHhoCoPlpYL+3BpJ|`JJ6B@7 zUK^P?#lx|kLjERdyd@=W*zAXzCx9pn4|@7Y zLtVtF#HFTLT67(14${ z%A-(%_L2Ji*56zO-DL(q+iJ{pK_VQibWGiPww+jznx-4#u@y1V49ag+C}aSNu^;LZ zl3CTaZo#<`^swrkO?1<9n+)t~dWLX2w7r?ulzM7&NlUssmN{0Ix>)uh%4#TV_P#Lv z#>PC5ZBlBe32FcK&)BEtUfmjOvrbWo0rI}piVycdgtMyo}l6s;s+eaA|$h2z#NabraEq<$JB z_SB{vN-F9#)3}Kt4)RBv5EsP}&05B8(?c*_aiZQCV9e&2Vx#*75mn&UA&#UY*(er5 z@#?ot{?v?n0PoN-8nAuR-rgQ5pUK&vgGRDPNtuVtG9q2ybPX#n zP1mgS&#&P?{rdIm`RZ}*-fx!u7P&&-=`;9a^MojX^3JhSR;;bzS-;kDGso@z(|Osq z0N84GCD9KtD|dYIsQ9Jq$II>BLdLlk@G*e+fahMdFji|>geP&nN_*~wP^`$<9ZE|$ z261eUPYXip6H32Qq(Xf1SHgD>X8no%bZF@#`5aIuDe*@o4IDCGUh_9c3E+t-B|QY4 z@Y=L&dd1_4Xc!wkz3dT;)uI!lG#fe1USL+M9Dw*x0i&k`b1~F1`7pr5Jglas ziz1l!MBKudbzU4qZNrSe0&U%>>h)@!u--y3sG9{Q<7}<|Y|SYr|A(edi^iJHP)7G_ z{U~k}0JFgo{KedenU^!!aijCUnLi{Y7-9aL1TNoiMiEx6QebhqpYJ^O4oC~3miY)y#A3r9W#Si}y|H_|`RTu5pwC#WQ^BsC(6tGB{B zBngnn*@3q}b>aB`sQU`VPzbMx91KP8mi#B#(hmzse@A}M7o+PtI|TEC`?ot(K+o%x zlou?doc}^^P&kqT0?KLWt0S(o?08T6-!XRi-SBGa^&C=E z5B3ZUMpGQ(Llr(^cuKc3qsR%XOVT@~H0wKWMg4~g%=MvV99E2DU?1d6OT1vL*bpGD zH<$XU?VN`=clC}a7D(qaiTv}7h4*Gre_yxAw*~i`Y~%-B28w*yDQ73ATIQT8*+_i{ zijbL~SaQDU^sd`X7CAibe+WNUoL2tkEF1w)5z)F-4mEaZL$*jhWc#AN-N1BwigG;oJk_hyxv)k{UeAWurY#>^2 z$|F_u$`47Y6fFvxC}yj86ImiI!Ig$sVM<<4=*W^->QZ7NZHf&UNfjLa{#qT2--XX0 zf3+Fv^E#rXN3k+y>WN)i5p(5BwKhPuLpVL$`^zLW*K5et8^CW{IQdT z5xjUARs8?B0H%<%rm@%`^^3n{elPr`Z|6|STmdCFBLsb-z1I!Az|u=>5m$kezx$dW z6+eoR8cqCd4Ug?M0QR)1>%gbnA$A!4?Ko*FUfVC?ML2coXkJ?e^xte4|2#Wka}jWyhe?FXhg7% zRV<05xFT;#Amo~RQ9ZkDDMgA$Igk?#c1#w(n`KTV$rtI&l5|;#sF9gM!%Wle>_%T;`RTP7Ou-LLrwoEaL8lAw4(D4sk%tU*Hron`s&wyBjBAO$QbB~uMR%n<{%>S) zO*9V=J3Bi4SJC*!D@6L2^dm#5?tXvHU<9>=nBQ$CTu)Xzw+kbbqxfp(&Rz|Y+IhKH zX@MrtJjG$gqT+tPANTQ4OOaxTmw5;+DZ8sqXkV=jT))K2aUD&(xkysyHYe`zm)R>v>O^5ob#FfvDFqTf$e)0>h2#O<|SB_I9o9$hGw}2yT2}**?7iKgV zX(0Eh6M$|Zb;4tv>g$^7v5Wht%qs%}6CWc!(fQ63wU$tHVTvOhN!4)!JTIK{wO_{+ zlD2XE&n@Yqdm{)WUg&_BNb-aYtzKBDk!Yr1|JIw$R7rDb#>*K@Ok08YUUW3 z9LCA+(7OG{`yrwS%}yZ2>n`bCC%bFj&X5_Z5-?m_Yw^kV`SUqi!+QwuI*Xyb{fQrV zWI_CC!+|0EwPykzyTOECI8F+7HnSwYZH2!(=~;qB(zT1GB2=)sWc|FM>Fk>*v)_-Q3#Jgt7=&$94q zV=TLyfn2tJB!?n?k9!y%jU4|rEt-*}IOXrLfVj0fI43j}sBk4H zm57WWOz?TXg3cu}|Ei`?{$l%pz|D^`{WnD8m`h-mnl7lx)%gvTr^LQ6)LGDp{wI%m z8yYEQD6kq3fqUE(H>VTf#W8wU zi&wZt7y45=oZ5_!)d4QW%aZ1vgSHd!6-uznr?pO3z5ljmuIc49yYa``drr|QFKOxf zPbm;yJmhVgm@u>XHd!3<;e0%qlk)D??+_nk%EHl}Po(I8zwm^iq0`^=gDwQT-4y4vwjb zlibdy4|%73aKO8kNl7p_QP<=Gx-Ho~_c;3QY>OA_17i1%@@t)8;Ud-f2F=GSh@?Xt z<-nVatI%}0G_>Oj%pyfb%AQX);U&FA8SO3dnNg&L{ymMTHxv;1AT{(C`pQ2*={E;0+kes>cR}Nkz&MYUZo~YipBvQ`|M}ZAV1@=Nx-yN$GpZ>&xauLlr<$h8L z5it8?wol|xhjtLl8oHdy*Phd7>2}{+%a>s0ENmYnI*tFS+Y}}}e*YXjfSsh!p@wXgM`_e+{H>>F!V=K@{^60(!D`YlR}n?* z(KnSn<_|1Pi6U-}&x2DQ=CzsFdmb3f*ihj<4k+GMT{Tn_0ufURINF3234cp0AQ`Og zw-4m_J`R0R`%|!PjP-TM(S0$lP%^b9@OtY}zPPR(^nyXJp*bK)EU%*CXpcfF<_o@f zUo4AocC^KH&EB^p5+V>h4W*kydxf{FgXG;Exj~usPQKO({JHu2CXsqYQU-aTP{ujv zbLdQLxO60_E}~Z5 zQ}izU@67qlyW%ha8!t+{X+3f=-wJkG^i6DTT;VIRliy`x3B#r4$=s7aFW!l{{ zsl9AC$FKh_=Jcu6HehStT}^+u-RSVVjX)%Q92$zHU!0XSd5(OY$T{C-O*+AP+G7=y%riFo3a4H!vyiv`3c2YV(K%0qmy1J#doHg z40(bpc*-Uz#r1DW9lj(DDy@G#CL%}s`t92{y6%N_hK>AgFfAhUyYN{gN46hp#RV*v z?EXF~)ZLj)x8%0-Dqkw{P_IEfY>x}2?$Hf=>d*R$iPmz6VL;Q=PQ;g|y@z2@FYwM; zI-MNNYe9%5jtm>j&?NG(+ovr&Wt+@!oXB0039tl9SgaW`r-|$oB#HbVy52cDvTbW0 zPSUZB4m-AOqtijhwr$%^$L!eX*iI_8?T%To^X1%g@AWh-+Aqu8DjJcNs?bc^P z9?30&6_n*L@CCrXeKK|^oF5g!xQFY(A6XT+XV-4@1Dv<2f$m&}V5jaCgQ zvYMj01qDIwIlKws2QSQ;U)$_`5Z$ZE;Y^%a+kH`9^@eD2KHt}@gn z_McPfo3!eF@2U%J!YaAwuhB&55TUT8y2W5MCR*X(;8QfA6E{n?oQsRkG^yx9&a}ND zpqAsa8eNA#v(+FQAxe}5()x4Rlnd;C#A{}%87~^D2#MGKt6LPRXCl%TXB<;0FN+*ddrUy za0w)bNYicZRYsCG3sDyqY*P9t5V65gg~WR^bqBO?AwN~N!NEx|gxqR#xmCVSS)cYz zR=^XCA@+(bf6Ri>)zr}V%3?JJ8t6p9BdiihM%I#=dG0^4goh4&80ftI89dg;&eI~m zXpSjkI1fjr&mVV4Y<0w`*&H%dgdr#;I0=+LHF1*l8m7N-@TZlH zaNYJsPMYeU)%SYfJANQ0{K+|~P<_H=Uy&2@XPi1DaRxZsp&~A)nGgv{cYmmWQvo~+ z=m!1F{!Eelqemo_bCL0D{cdLFzjWfi5V0osjFV+g+gsU%9EW&?Vo_`VZk-R|W#mDV zl}0O*KHX|FubIy6p+c@EZcJFwZixDkx&jh!5v}2CeT(Jfa{JqgDyoX>Nx<;u333uL zUgHMYoqR-OBG;leqQREmB+Pb{LA0Jv#9p708h?P;TY&ImS?@#)(NxImR{`C=G;#?4 z3TlTxD*q7@F(^@*Ny{_5lOUoAzV!(HTb1Xdg&W$^N9m3V45zF#S|t99(AQsspYd_O zN6UyCc(BFA;X_f8iyIx+EB`LVq94QK;=E?*$#FN@B_wzOF`hCCEZKe;P06xWR_+v*>cZ9$5OsFHY^xRK#oaKY)6MsKR!^jpL<*=NX zVHnC;>D+#V>ZTGyI?#2wJ`yTSYOq$lVbLhg^nHvrWIN*PWSV+eu=Lds!`#O62m?6} ze+Yp=3qi24nOK4)h|+2Q1!@jmS&o>XFDf`ABg1e)y+Taze1$ww3h*IoOdZdQ5fsu0 z4F;G`&4JuI-bz|pSXsdvnV3LEMn;iMxW8RxLUfFux;D3n2>FVZ1S|Hil7SqehOn6CwPaf5{bav*7n7*BaVz ziJhA&c3Qhjp=a`JRdt~hN?E}r9(Vi?Dk}Ic-u=-J1eZ>xPToS}3*_*P4&f*JyCdub zgFp5A6eMWj*CcZtZ58!Liwt!BkD`}9k^B=r*zAFTM>dXV+XU-|7Q;@O$&M+aGHz8O{-MuCA|KMBbTWjss+=)KqlN3)eSFJpJbE zv7YSPq;(}39&sdf-GXPoU$p%w{jmW{n3q>ai9niYz|08m=QJ?Iip-1#@L&gzz z_qNNQzFIuAi5iL;IzA$8ZZTmbV2-!ys=vKpt>4wC(H9;~)mkA=ybPi66ABC5OYATI z82D^#PdPz1_I6dPyoGXV8SI$lc69W--?HbpGtub;9$$SgsubE0eBM{TPQO}x_r#;B|qmw=E!r>LpF-OFT3cFX-E43_RG%?M?B z`11*&thw7@`zHqyd`ohqes(x5sc`g#^%5*^PD~T+&eMZS%u71I>cc|QbI%*KuVxo( zqrV9APL7mIuEPX~iknfQ560EGA=bt$+Bb_nX5>9nP@cpz8jJB{dH0V;2F-Pb-oPY6 zy&xtte}8Y=K6rc2%R_Pn=zxKDHsNcxXdRF1M3mvAFmlm z`k}TlU<3Zypa~jHKzNV{V%t)sTbn;5?<;6MJ`xgy zK}<B24Uc_oK0Ckzz6%^ex}x~N_!wI*i6{ckrih^XH2{5^(x zFLwdXiq&jY79;%GgUkt5=ZvN{f?7}Z=X79v?lVO%$-@6Aep^R0%hA|a#4ejP0-!uV z5-sNAafb@B*2X!76bt4Ry8gO3-x~p#FR$}7teVOUq!Ez;EZ6CCO)0VhXJH(hrc|vR zET!Kg`dTk+5DZ2?W`6GAa-3Z0JLcfySf-Q#G#TEv-)PttUA|Qq;;ui0J=kWXyO#bo<+0iZs9Zr5GWs8nq=%BgGA_z!=bsS=p>%AMfBF- zw-xuZnbEOyHH~gB?p!aMH&!Ko!N|Ux%`hbhl%=s5M>NG8EubLhR><`2^hajgt=bX- zP5NY-EPLD&QG7R_ok^*)PPoEIZ4?g{Tn!U*h!pk-&i6YAIZGoaB}9d}_-8_Ai5KEl z7oyiY$z(B6b}dNIt}*wtxdVn{WsJ(=4wNPamYla5@ZEua>wddiKnpKeQ9^^s(coKX6H+N$3i|G5A0_+trT(GNi9#8y}+$>8PoXp|)!YdFh|GD~T(RbDnnG z+A)efcS1X`-j2^;nDQw$rj8(l>WURZ9bPE!0acL+5^3!>eS%=5Q{mv3Y1$!^d$`!W zCz4$@=S#rNq}9gZO-FdrkDouTA1vTtCb4~eE1XRmOYYW90X72at>0yihkCkRADpWQ z9UlX2Kbzd6D&i1g^WAZh70kbaVh}{zuWg(gN+FY2trA2zDnwavJ={+#HI`j@c6zXm z5Zbt_TCXt6elwfRQgkJkE_6}hI2<`{PAqG*12x2sqgoXP@EWbQh< zLqfSAjMr&*^H5x#g5^b0?IW{I+h-I#0vAWi+YH;cJbdX&!%IgeLYD1*Zh=L58ROOn~NG$VPy6Y0HL3m5pf!_yLRPUFhJ?CJx6WFN=D+n-sr1?l24O1qf z&^!I;^Y?;XFi=OR!mf!H+YTKZ>AKjn9GS#8U#`$wW>lcT?sjUGm znQU6ASVbZBGJMHARTtr?ifg==-+)*OZndEZoY+_lz7j#EjOe-(C{m8q+-T7Ok3GVr z%FhiyPHIMK-ozQpE#uY!R%^F03)&7#!?g8Y8MOtMlXN!At(ujW!sK(_3KCFMB2d&J zbFjOGN==T4h8|j2BC9(9|E${G+9{%OE!3Od>3Qm@VF2sL!vA{c4GSf~qmtxIK18>X zxSmF|jW`kOi*8u^3z8Fx&mt*3;36AvnB@=N$_o0ZdB*2OzcFyIM+dOovTf#Qv|6q$ zl~&yTE%k9m{lKpR1l5Mw!T0y|eomuPv+{3nUX)eh^D)upJ2y4n7Jk9VDz?g3!d*ZM zDSQvJuW!Q+-@LQlpx}3tq@>9hdeeueBdG=-7j2K`!@I|G0h`Ina9t?PSGcLLFr%XUIKa7v(+9i`X_>ou#u_`A)$QK^`1mgRy(5Jl76h z&Yrc@={Sl|HRieW*wN>9&P-tOPDy=L5BAr5m0p zDWJPKXP0|g%xQ57U`y6V8066LZMN)yo-fJZ;XjC90`ZiI_S3h>Iwfd z2FMN<*Z8Jxw(Hq6zpxNOG$X501VnQ3SfbKx^@$am+*rq)Y-lgOU_Np|A(3HuuwAwB zAf$fJb<>+R*4v*E)g)pZAw=Z?SZR*d;>R>YGog68ju2#hO;!jVG9z}myIaG94Q7W5 z?6Ia%srW(Y!S%86f9M}S@RdM8L#4UXFaZ!CNBQ?Z8c7qs3}6U>&;c&Ak?oOfW1uSR zII$Zma*S7nR%^kE01qP2zVF~fiC=M-CAj^(kh^|Dgwdgebj5sg^VN_gFb|J&HE;|2 z+M*cC0Z*4nXv@p}%(Z2z24zRPAlZ}M8&Lv!upHZXoQI+l||=;>&CZ7Kco5-Z4f zIod?faRoJ~4V>~92hxG&-zDE+$fE+FU+`%RNJT8bYK2$%8G&nDU@qvi4T%bsyhWy;nF1^{=Y)%mU66y?$*zhdx_|o21x9kEhK2WQAf}qq z);=66A3=XwD_;o^i1LhK1ryq*+3I@HdA1uXfaxEHMNem}692Ca|NRB@@vMBa-QCff zV4{+*_;*+#r++X7h{>)W=#+II`B?8J#*~fqVPhjeMPENR!v&xQ-4TNw*`-Wt)op#G zH&yC-MeJt4LQ$}XL>MkMo#aSm9X=8HWJYjoL5fdhYePt-DqinhPx#$Xrrn#`d)Qvq zlT_5t`6)J{e}>3`pG!_u(B;aeg(Z0i_~46A+e~g483SXT*{(=#ZjNQW%ST_TE$S76 zABkvqq^8UN>b^4kuEe&jRa@+V|FjtvfZ*n6Mfc#XLkR2L_|Y^j=`fNZ0Tk@hpJzFR zcq)I`?8TH($*w0JNB07K+H7wvoCoUT+*+#SQg`DTLUH+Wmq2ZByKGelZtq{&cF|ejDz};Jh(rwaU6P-5*5)RRqcV^r%k)*0!jf4O8vbAlHnzGsucx>s8{z|*Uvg7;VhiVxW>@S99;)#}qf=&qntZ)IMwskAose<= z@lfXxQ^JF@Q{?+cSE#^uU9;iWGj`K8Sg^wUs-xI%De6N>Py6WJKa<@Rnrq7kdC-T zUU4=7A{fFq9*;C6p~JfRJubTeM>obsQ?2yAV4!mVOK!7eA<%!m}qk5b}mX zD4w**2u5ogS)=4}{8BdZ++JyvWo$?hdFc+nq7Ze{Yi``C4Uoj?GtI7inFNJ8b!Wzd zoapbz^T%~3^h!Gmt#8L56&UjVj_JKXECGP3k7hU|Zuyp%7x`sma3ItdDs@Lf*Y;Cw zC8HZ1_YQIL*M@w8C=0q|N$t=BcTFI&ou!aaj|%j_Rj6>0fb7~V6ZyX^{)f>g@?Svi z-lPmsOQ6&mc-rrJ+@7Z<`wyP`1N0q%TU8<=2|}=1d77Fcl3N`@_}g8|SH#vB0-7mc z6Q?g_Igz=+3_Y6o1|g6VnvFH$icO7-GD3HIUcuCGPLWfsUaM)gJvk4VQh5VUN{A-F z4UPib+;zDU6l>3hd z@F7LgJ%>5zgaRhJc+`0_HZY3Lx1(l}r&MBr$hdpg!4i*8zS}t~Xrm4?tHtm1MAv=o0A8st0*z?(xw1i1m{K$%$Gg2H(-@|?U8$EiA;^z2ry~va(Rnzu zuTB;fc$$^{Gm?Vnc!!;Fes7tIJL^js2LgPzaJD?QpR0Zk03^*Y-ftEPzozK0`Y?RV zR;%djxx*m&(vFA{{2eSgL_J7qUp)!!vkzDo8QI=A=;!mQ>LUO@Jul61r#1_Qmg^yXnd;%$2}DWt}kOc(E;F5XRN;Z85g$+0|Ucav(pQw zgB>K~KL-3yGyd0|8KoNxVzpsfDWU=Mvb~Tc&4<_Wx89(vr zMo1ExL2*wRthRF0DGW44uc+S(>M7&WFTT@0|Ey|(nNRxoRCD3GLPZCGI}lV@{Nz?d zbV6Bj5yPv2#2Q{;374aiiC4PrZ>u}YpjR#3FIpZG5{ z0SFTmVQMNMqofwkcq4gp-~;*@7|JNmCf|>tPixfhEwk^6i_fmtyHkR@5S0 zY9?utMG*AT@Y`9pbp*)nEw#E;J-;Q2$id0rd%PE1|2oBArg6wr*4nUbF8n0X2XPIb z=@E}ddjQyARNjcG{x&UmaRI(Is1nL?nz?ViD>J$g-CXrs3=xLCo#{X<{^)%kLWp+y zGYs}c{G*&|5h_n?k_s}^;-ZprXZS0gZNL5140NVsG|ah9YJ7^HSctf|!UR)xt9iIY zk{mA~!i4>((^3}Yvu>-qZPetbrkN+#2;xmL%Q`pM8MXKmg7Mx+()XHi`*7dcs%Yrs z;NV;x85xLy^?x8Z^eKB22fxY+VShU|@V< z6raJadI<|ZY(_f+_WdGa0Rjm_)(1-okN%`AiCB3_ur!}}9 zs3MqQ{Ds6zRnv7d{Y_YAz*9w@(2UYiI{{;xY5$SXKi;Yf2!MlD}Yk9Yro^R${jZ` zN#^jA{<%RDJa>Ou2*yi}YAnC_(bDh~x!rBQ$ZQMfTALup=f=)o9xld}o|ynM4o3Q_ zTl|KG`$Dhn+>1B=*=e0l4pC)ywj_=sMZ)(<92-pG@+v>~5vtu*ebG>99_Y4re#e{N zB1xsTiQk0{TYP=y=ML8RNeP$?v_O3p#l=lZn#QslhSeA5tpihhZ0u*Z9t6iv%_o~5 z0cteY#79sr-wg1t=_s}^4m5m}c$#jYldnunJ0wP_sK4&0?LcEc^a*LP)`#I6?7OR&xI%O&cv-Q;>~Cj_;9$>h!iRO zgaP3xhg~bV@3I#P%XgSngBh-Zxi;%h*yto3k}g!*9zZ}}wBI9hr{-RNXfqKpaX}^4 z)`c3r%JyS}GVUg06wYT)w1|N%FSZK|ytQ}3K1mG?C8`tjCYCV6Dq3}BlJh#Ndv=B^ zTBtV6E(&M6s}-n&x+xuSzI(fHS3TO;9f<>5wmKTItyrXuLPa*bx>Njn07uxQ5O~Mb znKsRHHn5@8u~wpphqj{Vh(;U};m8$TNl9W-IK$U4f3Gw(5<14x#m4r<#^Az}pm7i< z?ok+Pz6{gLa6-3MmGsvrOq}6O(a+V-T?uaO84Nfq=B!WlsUjljXUQx!eEt>aB$@&U z2hgv;LBi1tFezKOQv+Y#sDD$nzX_})5fY4=%6A4gCDxtjn?)rF+VJ#{?b;R1<7aK4 zp5Uq*7eOFQa0ab)X)9}Jy%YukVBli_hPkyWDoHE^VAK_@pu&p$nIYmn|CEh#a!agv z6|4>E4y1xbnEW6{7#@~pj7wOv2srFTtRq{hNghsCn$c)Jj&&&0KGX@r14d4K3Y!`w z0m$yqL)MET(SPoZ(5r;Gitk<2cc&8HX|s*IHwI@&^|QVQ?x$_Afn`{Cz>ji`xCXAp z*66L?u{oEsk7?DLg-qVJTg?~U{TLAI=>-jo=huD6<6>J#TVNQNnFepiL9(Ww^(`w+ z_sF0UuX;x(ZUZ^CRT+Zwif8n$LUK~b% zrwenNrIq0l9PIb*^p(paC^fi7fO1|f6J!DpOxisr$FHsK@>QnA+J$GeR` z@)BLpGM~9@yiPk((~-|hiMe^9kt2<4_ZxMa4=;zn63Euf&w!haJwqN%K&SCyh$SYR zti=-rWF3$L`ADT`f!6c`#XZb)e39g`KOQ58;G;>q0<7>u z3i-V$jG@5Nz|A&y)v)FCfNMury}d$(dkLnXxBUum=eFb7%8z33t z!S*a!D_(nmU4}2IS>6Z@9ugLomX;z9t~l`qbg(g|#rp8}xP~;`Kyg`|2!>W4Z0dfa zJWH&xw5QgDiJRDCc36f%(V~Ley6~*5^X_=eVx2{ z^uPRzE&a*=|NH(M);}cRl6+Rhv-Bs=!M4<%y9j;e{%O}d*Y2Q!O9*}=0-8ZV2fbbz z32h&0Zn?Gy=QInd>8fQ_2V}#ER9*2k5@TX>A%b^EBaCsRp0A%a2+wC1#8WIr_v%-I zZ@dwgKLjwjHNz79E25(Z1isvRNcR`@ylDfHOs)V?mTNFLC_%~HqISrj!gpS1RVCC* z)M~AlpQ*29!xCXco>7o=HbKsc3hzTNfV5WRb|WdjF5tLMt(w4(%xzW#RB+cF@E3$Q z&IU}Q(ipK9ZAyOI8!iO1&kc{F0EIX_K|`(R?%#d|`%z!xHP@OfBp&cR78GDmCSFKz z@J5P`^79mZ-XjR|ypZBJi73*yF(Yhpn*hjFn=W4QdAejwsn7Br9*_8cO)ICJ-Dum8A9YrX zE?ac=L6TT?3UkZppsNw#g|-QQNOV)9-+vDk+7)tKAwqiWk30{p_U&bcQ8kOl_>zE) z(@lAAwJpgKK8tWjaaJ2m$15knuIZn^2Z9Ti;Jt5^s#_wV54k;bQN2b97c5NGFR6H< z)4~*aN@yIL)dPdvzm}ryVzt_Gwq2jE!o81yw9PzBgJWAUkBL;50d6Qjyu6|U2_VzuQD%+MqPklw=L%;Bal;s`@bwW+2T`Pnq zIKAVzZwH+l?|u9gQPnnM&gJCsXnkP3(Gmg}I*IEi0wl8kRxy8&!hc;ud|=WhTCMn= ztTEl6#4(s}wTsNxc(2OLe-Zeuk zztfy3-7^}W__mnaR`hMBthXC$bY=xA2p9mG18SKtbm{4`Zw}&_&?cQ?<2aA`+>$km zl7Ju05iw}2@i5C-=G$zZ{y_cO+#WkE$PWb2@SI+bAC3g9W@j?2Z!5T-S_G)WCs>MS z>tTCy3=Xkz*bEcxO4`cmM|9UkGS-Pa?v<|RYtxr%TH4L}_%SJ)AUF9jKfJ%JKgCOv z|6HnKykrg^yVY1Xd%=G5DXs8VRP2RxY66uY_dd}F zm0&zq9Q}B0`nE27@X^wc2NR7hSXv%s01OC>=x#(G_o$+LSfD8S; zPt7;oq`gkQiBra#Ux`f*)j$e#6TxT4OMwTofC41$*r*9Ysm|0QD--h?(`gjV@CCEu zFj;-|hMD6h_U`A7?T^+jHT-MXpOL1|KT%=%%cPkUmPQp5A->_WgBtQcETB2)e42RN zeN;|z^?aTJW!dMewBG$P_Xz8|VQ80?3LWa0IP5OZ5Kv4bNv?6ucq9xw}DNNDfBI`OEbj(#YSlUC)Ir~AZxU62J`G#SpV7Op3~OqqzKpOTp`4s zFa`sr^9X~u=Nxpdi{W-=GMW5YUFtdLYM)uzZ%@BCDW;R0ePN%wCpU)ZoqH~nrG9we*j8U2st`LhtflMg_Y~Fshll4)ilSwjD)JSn1eo9kuclMK z+o zzj7W-Jt4wdiH=v4c8T%Z2uNCUym1gO9En@A%HDJFmzH?!C+coxJ$>>S{oIkn`3^P(*FVE6hY5Yw0UI#-~P*YG`bFkm+S92n+FGrwyj zmnDS+8WBf;{q0Y0`5zII|Gu0Mz@!N~Ku7yai#G&d2zd^V zOFdn{g9U{yV@Kv#dRN*(kXVsyVUN0;0Pgt*KSC$3a(FSfaJVRwkGNsBFRhnC&5K?f z=kU{t_%q4?G!Digpy8&ZS?|RN#FECSB#Q-SUwCMc0M(soCT7I#MmKuWj$RW=J&xn5 zQGk08K9bcf>Ih`al@>>AKxOR;muu&8JiR~`N7WZ24uViiyCmJ`$2w|LT$wv29@Sq7 z&#cxzI*E`sYTeD7n`~fXr(E2$mKLyZWpeY`=@8De71?e*uMfV(qV29BTAHpm^fsPd ze;G;|&vw3dXyO&I%AX`;U)s)X%$;OYCcN5TA*JV^daq`;2(9b6n<( zar86*S<>KoAE~0$QK?zOwfjD5Q<*`i^Qm z=jGSkPeqRsw2Jq>YWx>Inz&V+z@hnxc;_?c34l*1{O22pyM@m?$-6z*JIduM_!s+a zYFYu06M+~7srO!q*>DN3*mZooVW3YDIMe=Bg0wn{xcTl~W}L8_{uocn;-fyn52ohF zbv4HX@W+-^kmNd=4)0a6-?Kji>ZL1a@|`L?p*IqzPNh=kOx=gM2I89Z$0m4n=x<%) zBb78`N+ZG_BYiW4@+vw&T7Kz+t-AdAWIF+YDwQT{)tDok<)kY91KIy=X0=nh-wE3G z*+yB=v24K4`$+4xl;0hr3~pK*CF46338 zy{u1i=1_<8JaP?*PICPM=IHS^<^I=WDGY6z{gI1e#%|(_$o)D4r>~;-601N3&qqOC z)nyDNV8&7o56jB!;*jQ|g~*wKuAJ-m%5!oG)H8|Mw_}i|Te8 zMWK6{a)VOIcgvI_ zhwm}AhqQsmSo!&8epP;-V1!k+A^LK!itlFLyz;E7a>dZIT$E|%a5`T?Ri{jOsuLcq zhe;Xv`%|7$lDa}C?Cub01;Qlbf;Y?Dg`oGZu()Ew3W0Ad*@NHjmC~PHDrQzbw5&92 z$F*Z`rm`x9{8auS&%@bk+BvQpJZ&|zy8>ep`>*KaPIVSf4QGW&Gtj#vJk#`JCNG_> zZxt7awqEyGr7N|(!bF0|f9><%7gO^v?ZAh5+n;v*eS3}ilhEl;!Mjx+TfbUEtT}K8 zx_2X^ewyM6ok)C5!*Wtwr{}zj2rZKlnJk-ihHLXK5zuOPGf*V%`hq2U!r!bpnGogI zIVXR|R&sI9|D5Pebv7_yxmou4qoTwfKW#8!iIfQyN!gg8=bqaEPu=a;DpOIUzE76Z z705G1wR<(B8apHkjF{QS)IY`Gbqo@Y{9Tz+?#Vm{6lEHHK7}ZAgpoZDmkzyjTyKg> zXNFA&%y_{Vv~CM1HT?BQGXAFe_Pp96i!$1Bi?&&697TJ46_GG6junme!fnb-ypaJ} zYHvZtL7mQAn!0MBuyn0LGHxl?U$>Z6KrhVPN!B4U|AVSSJc@y-IW#+-0*P18ooY z664vSPJ&wMyvpe1l0#Z$?<9nP)x$0>KbVPx$e`nLW%#cz*oLb2QHi5OqYZB$&d_93uPgj)ki}GBm)uFZu#sl)qiL6V?5QP`9!pCpGu0CYjKm=@i8O zVEu^vPf3YJYcLPCofSony zAK!n!cOQc8su1yaw-xY7q6JN7)4$a5d{sy*a`OcQG@jX3Y1HjA)CBzc`6G1tpjglj zYs6OadkRATy&kfzG|LaV5+2yQG&x)#u@<~^Q&j+>o?sTN@MAZxg(r=Y4c6yJEllKm z=M@Kxa8Yuwmp^84Bm5n1{##25zM-fw8@8X8ySUCp#qAc|!YnWNmr+iwo7Fsx;L8+0X zHHL~hyoOTKnPucbGUrH{jRuS zwbt=(WOzuH@abWwnjmn8nC_^{7p?&c>_%)69<;D`%lw~m1Lyxld_SmgZJ^*1VxgUOD1;?pptGzADducZzbM6JyOp0QPPgDyZJCb6D!lka+N?^FUy=I*S+qHklYCB`Ms(tj zgg;S>osQlS?d;%GA2H%M7ER$J7*$Oj=pPtaWMbWFRNZET7P9qA3NX@sBug$C|KU2r z!AJThSWV==M&`%28xN2aIpJd>NouRJm>)8>1+?kS>ZJiv9?cvX4OJ- z#tHZnmKTf1H0$wkbWuiEDWzvdnPS4L>+~HEG*M$j^NaPGdX12#+Yugeo+Cz9YMZ}V zZs<76MuBsOeq@17Y){nv6AAkvSd4mk9mSdmdv`oPDwlISSJT)x964ParnuOYa}hc% zo@}DM9?-Zv_qz{15M_JWR%+p!!EX;diU1?}U@XQZM}3Eml#e0C!mJNmR`j$9gH}bI zwJjT}N((npWBZl^HF1Knf7qpjl<2_!msRpNh3mggqIb5Ic8U{D?|E|=H!0mPvgQMq zV65K%iC!D|qE}N-H~6tu*quG}o&{bu*$h8lwW7YS ze}fUCvDrP|={L0vh|0t&Y;y~l$syXV6|$6XoF!IP{Z}(ru#Y}pVGHvqwADYDfIje0 zN`h2*UrJ~=6=pCgS?;afXpGcdy+B)JIW>aj!_fL@HaDGwUo|^M#JPLfbFuw{c?Ct4 z6w}-Lh?%||Z(*m{)!PiE3s?s~L6pWaniO*%Vvu$YnPnT>X_aGYln()t zdA!~VJ|~C8af@^-3ysWvMNLR0@BdB%R6qvuwbk5;gCWvL9VXw2?VN#&< z7d=KC1k6|83`kSV$Db@C88{9KL5)jtP$(s@VnjRE>ZVBMVLm*b*m1XLE5V@Dh56DE z<^218HdyDvSakfN=6ldL$O1^`Om2d0o(7F>dR%iq42%%9X%UnDAwv0)UK$TVphR)@ z3Kg5~1&rc_tMCCuv+YU_@tl_D-3J6RFZMxx+lquwK%SIDv0f(vllW-kMLdDUq)@a7 z{fu9Meuqk{4V|a3f+)2}nR0Bm?cFaK2KjNQ@8HZmcvF-3ncSOKP)G{bn8Aw477s+i zBO>A+P-h2V&Uo{)Y~D3+9MT*vuYU-|WmB9{)Yy|HbnMWlH6aTT@BJdf8ikH^)?Wv*96#ll+R+USNWq2OAM@4&?pbmX zehw$Jt`EeG;+sC{5AU_upZ*gh`1sx&dJFW#rAjlCHTYh*Gb~QVyeLcUmKWB96mwtb zEg#6=3NQ4i^LeP{3~ruQuKpp|!&AihbXXx9uGImLY*lpwux6v#$H)3CssM}80q9|2 z4IhY&1*6fG!3pICdw2K1d(fYWb`aLyj<*G_c;al+s%5{FU4#W2@_x7+}ju&c&daLNoX657y9CdaV1t!dWz=7s% zIJ6Cl^2Bo$3j?}na)?q0S<)+11>atxy$BXv`u78li%e=o3pcCwMjxJJ7qpSX3-Shq zx4gPlA_>E=$xzW>E&59#%bf-Vxp%Hi`tFV%;;oDtC=&dUm7IPu|0up65wIY?1t|g+ zx2aautg&;9v3#%v1-V9jvuC6wxN2#=M`Zqf(k;AX_Au-tNFbv$R%71GZQi#$v`LtMR6q_zUvL*Gt z+en~$v$qr8Qi>BZ+N9?^_!T~R6e&wA2$>^VIXn zwcdpzF{=9YlSg|$iL|~obkCszc7D1BXt~=V>ff*^|4DjL{LZKUEkx!z``1`oVN#_} zA5stzUDi4@x0S8cH;poOg{J3sjn{zZZ5IDk`p=C^SMg9HG%)f}R%DF-7|{Rl*AV}p zrKQ5q++dLVK*b_hJ@moegzTuvR6~IWCwl$Wggse)dj>xW;l#ouDZ~+@Wxo-ea(KRr z!l4l#$t7Ei?@gfvraW(nt9^$fzhYeRLTfCAuy(8pKgBIo%ES)GLiI4c6-`9ZlwDfb z)}5?MfAdg@ZHk66T{%uYe5wmk85j*;*9_UiSQ6u`LtFjrp`*U9e~!0B_52~5-e-3m z1xh)~pJt~r%F2tI=2kcGi4Bo+u!mRw6Oa8LQ4o62t_~D9C`7y^$Msg{VPWHQhxkxn zY)@9e@Y|2gKzy)K^et~gUPLroDPTN&j|0`vr>9AM9eZN?7ZG{A-qt?m@VJ(9edQ>w zH$)d=TE!pU5WX-8ckUGXZsZIbzd}8)c4R37tW`p0>01$XGAsmK?OYOoX&E+=4<(Mj z&TC9B2q=Ptx5pbC&l5YaHNDSP^N`Zu?wU>)yf3>G8q8TM+-=t_rIW|Z5*-T1mf$eB zt=dVAH*(;kC)-YjihmnNH8cJZKI{m&7Z|9H%KyUaTW#E;Q||`6DQXs{8_VSKxYAF? zAgFa5yi?UpyRW9*Z6D1&?S*+h^5fRxD0ST$PxDz;u0*uV$^)8|C5*&3c;6%8DY95b zxD8!s$lGVf%4x1h4MQZ{u}92(&kZTM$C~J{G?$LOZd^^`|2nAh!dY>4U{PMwv42Jr zPhgr9h3^)xf6|v^?j_IScok+ z)p0Ex@UuFt8dvWfY85w`YApz|ws?y}PYr>&xHkemKgrl#ENtyl@-T^P(6|=7gTOoX zowJ%g9QmbB{n-m<{rD02j|vqESr8fp4f&EbLvMq}b|YoV+5m~>PraxGCpCB{9vodf zz%;BF0U|XuMhM}JW#p?0!EV-(0TrtNwfltQvXN4{qc*yyAJ^!ySx!O5WnKFEQ;KnP z$m;e}`k(j@eJ_7c!tCPNUoZb zP1ti6XHPTAIJKC)uUh%+uRkUU^tL3}i_*o$elsY5UR;N*Xfbn8F?a7@OD`+MY8kAj zRuQkmD$@5#JX)HmNuc)|J=VSCice9G3g`t}lTHvo4DB<-8q2ymm zn9S^}!tT+#JYQGbb(n?pt;^u^=f!bsn^a+q36{sr?c0kiT}{o^bB2{6T!#OXZ~Y&l z{+G4ZPVlS3E=^AtZ67`$lD2sxAV<2j4Ydw2hE13f6dl%r8)bo4OFl$LaUiPD3~6j3 z7mv8)guLTDZL3a(j*HD(r&Qa3i%TV8MN1+T|LQ*5?VlE8ZoUBQsZa0FXy}5TUlB@5 zlxqbInCAImIuR|YZ-Z2pojXSLkuabrA8|IWVzlsT`=iLU5%wd8Sz!(i&XQBC z`&6aE%u7p)(D(0?6&Hjg;e5=Sn7Au|2tstu|Lal-KtTn-&i*LCGSVV7Ps#8ulyeL zn;2ziH=JvYEa`&_aUf~HeiNmJ#ieCoRgFxkvMa}S>tXhm>BUc=i{`wMpMFiP5=qC;VX6`oIa+jejY2jjPaVmO@$rzsLOnW@egCS=x#1~G z{+Qi(DB?kfs|b`qfs2cZ5*w|ZdUA)hz4*!p-WC`rw2LSu5ug)<-DibJ-225fQ8N$s zro6v@*8`E;YHJo5nZbD!rD|4#A#5+n9yMs{+Q2-L0!@xikQ;khOY}xqXPNeS$#WKT^7w6>($S&iQ~r65q%6m;^+s(@ zx4>h5qwc^h=OWE8pZDsI;A7hrb8xsf7vCl!?DaiD*#)S-=NB-YS*`MH*ps6C?!!=p z5T<+Pq$jBO(oR#?HY7KG4~U(7(V&o}2XI;bVSFq#um7*QuMCQ_Th@gEl7S?+ySqzp z*Wm8%?oP1a?vUV4a0%`Xfgr)100Dx#+kM&l)VWprBfIY3%a18$3f}3p+Me#!-3zYN zNEDAK#WOeL)edm~5*;(c;iVGLba!4Jk01?ml!Z z!lEy!?8Keo;_j0;(8!&7ue*Xbu^t4DEA)U>wc)Au9!M50F_UepXtuNr!kg$rw5jLZ zW{g_B@tCO-C7AI2KKH$-TZ)aGRj5-_-E7gzh_-KT_6WR`_>}B=T@{@)2g~KrF^C^< z8x;t~2%Xv++vaaGsGIifv_A1mU`Bd>P^F{E>$I#-tECD0IgK=w4_~r4jeHk05kY|; zU0}4Go0S>ox%}0}OHpRJxy|@ylH4XMyge-+KGUE0W5HBr)yLgfeZea1?&X!Z_FixK zr}Bzw1Ik-2oLPOl^9OInIaDyF@bY`xvU2>9EUR)|_q(RoZjCO;Jy7TDh>t_d%;&&3 z<+h(A4dnPP3Vp|0oIOVF;u)2gurY&rc^R#P5c!%$d@1V-I<48eqhuUcco2FdE|{}F z^M)wc^n|G*gX{l5QDClLhIpASXA8f+hugqDNVI4}&$?nT;OWuNWBg%Rq+NU{MsNmq z)p!{WOpZQq5&Ewj#)CetnpkB~EUs9``r=Mxn)^$7uB;bMPIvd4($|x>6A7r*#a#(k zQsJ0X$@GJ5HRL)0v?VA<(jdgfDRJU>hL$Uj*i29AT3=HmHBp8mE-&3_$3mF4bAvIr{z~s z6QkGnNI!~szqH~Eg*WofCy=Sqmu10)D#HZsKa73&Tf!4a_x%P#PM)KY z*!0Yih?|b%_n@8}(p0G#RByubQp9iW8&ipFcQqC9XeHn203c?to&H=zs#z&AQe`}RdWFs8o<=A0NI zkSZHyN>X~|y*-81cVG<45S`rd@%71k%p*PpxrKIOmTNt?i}@S~$;ikV@_*<5fOmTZ z_P!RV6C{|ZRM8h?jBI@i@zeZa)Fx^ph4#x&N*CKXg@%Wb%w-cx^Du}w)><~y>Ak8i+ixZKG%ZW%Mm*}woVbz|A<;g*1?egO?tToB z)Kk?``9ceAwb5bDuGn9nrw}3Ts`$stk1VUn$Pi8Q$@a0V*f)BUH>@wBh&wYmlb9lG z&(jb!z~FrlVZ4~o^YDVYoGN8YR`Z9`=%hUcHyEXcMmDBo-XKh@0|lJQJ3Ol|GY6D0 z9FGG;93qwA`%(O+|+28VZ8TpI3G3MJLeYdJVc^&Ic+82=d>gqk4w>7!b zG%BJaC8Fi;2BNKs0#~o3xii9-|C)w`fHlT~)MG-HQ~4$v`bXdPRKU$V+-XR$zyZNU zsdhMdJp*&lRGkZmx4y>k_Q)|EUr>&rL0-~DUXaWkqdFlmonBSZ(}}?0OtN~XSOiJL zxvWAWW{<`*iGQlG?}>H|YWVuNMH%c!B8;f@sesvcyZ#aoShe(^c6z7bZbV{U-B8;vc{-P$2a~G?qmh-{imWM36raFtgXskFp-_s=}S#^ zMCv}swr}+s&40dKUFF~`B!gVv3OmFgxs1M-TW8Aam!%c`^4Xn#mt4#H^@r9m6aw0w z$gttY{?iAPH^5>RvF0}VkllK_2j^Cdag5N(!EqD#nF&GFg_;d5s&j`F_C$<-P0s?o z|MVbta?Nee&+g*Er)4O_ts8rO=TRKuB_`C{c@;TO{o|@du^}fo`mghMs=QLU8Z7CM z+cPC?18BoVKR&?jD_}a;ke}_=7+ma5@4ZIAM(w^5NLS64VVQnd{Zba* zMiG+#4N_=D5=^fr0Q-rml~Ug~r~6W>LSobAs8D9|tNr93qnu*lqb%o@q&5<%+URfL z!*}l*oPU{rWi!iu`Y?gM8g?u>rE=&1ta&m8%a5Zd-3ztIy|}RCRQC$^L$#t^-aaAK zK)Rk}8N)NyJZ@fG)QWbszkRFI?0%T>y}N)_xqofsV47mYqK5-GYU(OvwsjgFpY0$L zd0ZIr+5qAPj9i8j%9IC!O{XMOxWq6c6@`2u_Jyc^B zBg!HS)H#G(3)7wa3mIh5;zU-5Z~Hh^MV%D)2aerWsS6i;Y~wS!u!#-5`(zRDI0y5W z)2`>Uk!Zxuo+HoMZ$5*pzS(zr2Ok?svV6X_#isH*F%#$nUT?`T{b0^s>{ zFRc@-ZkAEEd7(EOdMf+{&30-8lOIuIIyjKttY~SFi6!fB81R2o;}lAFDyZcH>$+ss zUzQ|2_c|doL@aL*T4z|OcOiIQ{4q+5&Um|q&mqF-O#I1v?GURj!{qd_z9jCW!} zz4d*A@*P&HY!-<}3mP#7G`?c3?HWo3ZF7fsJir_|n0Vjbq(774u%6QJu64uE zdwr_f`(1%d4%|{WC9$nV8(c}DyZwS<3T9P0mF}<5W9D~f%2Q9vi-p(sR<8{VQyNA5 zZ=zx3WNtba3(0o;a>AEgHFwNNbrkt_aDJ&DCL4t|=oe41r=GPWGhcCBQ!Y6zZ<>dO zU0AJXJ*74j#gR}z$9445P1Zk{v1g#toY^JU!!)Lw(f7fwl96@P|7 zRv~4iuVs@6HDhjjo~H}d=#FzpPg;SZkGMjcCaeON5V>47onKdZkeW#mLp^Va$@&*6TGLXra)UWTIJA_C&dexy<*WL#(bb~S6kT%74=3~ra)v2He{N4uqmjg;;#L%(zw&J zuzhf$dy1mD53X7xkL^6moJn@)I60j{dhO6HX z`RpES<0p=7(L?Ld)-YW<-rMO9jB+h^+~r}K#TDhHw4NO&HgJXc^!2bH*UEYpLt3uN z2f0|2`Ne(YzkPhK{s7>tRaK_G!FuBFKL5-C{?8|b1K`i^T@Px?@)b71EY;2Q3ER=oYG~=6aEIy_*iyCPv(tWNxp)TvVtGj;;;I?b_^R!C zDU5-Gu;L4r8Nb{`2ffH+{D5lmaNy!o)q)dlcgwSFp=olwvL6pTCRBPe^2uRj)_H=9 z9Z@KT0J>6NMI>R;*Y*mma=)esio=loV~eUOmpjiVTQKwVMUU;GIzRY8-p>oT;^eRU zoK1raoN}#t&`hK8lGwpS3_>j!Q!dJ%D}AoqmU28Rqq$)hBQ@Nu2yU_eRieYo@g~{} z)d&$N@WKoVH|-)+Dg8*-V1tyl0kSppqic|b#c&x*PBEbB62>|Q^EtlRS0 zLi!i#1qsNEJcZvz(rZ~_5)>RuD*?>_hrxrGXW5BN`rnmrcm`lXrSvT6$D?GTWccky zDT-*n{gOkhfXl$PS=zbCji9BmB=(V@|e@tbCS0J zn2v{54qZp`8T~#bMj?4!l;0`@y-HGmX{23kv>Dvto>mKZrPb%DHwf-}_@oxSKrE4|yubQUwyum5 z??Z;;P@}Dh5zS$L({Cr7H})Qj^_Oi?483rQ2u zpF$tRNkchM^E*9IgS5&3TS5-9H-d{93eCueo2t zt5QZdGP!A6Ts(Bnn3)tyzrmhMG4Ksm>G}=Xo;4zL<2<)nC1pTN{@XK_^PYfqTCt2* zp5jituo*!AQZvsS?mmZfTeAjwlW=RHkiBf*K3W!Gd2?`0W^eiE@r z8cHDTwmEV7!IvJ3Ih}o%DVp8zoD?xS`hdx}(@;WX^bK+&dRFgfrSb(( zdB5J?U{WSuC+oDR|6%G;uqTz^gwjQd4ByN^V|uY_WUZ34=-o2v`+Wz75da5xum`#% z{Kh*HJ7+6vyj~z~sQCTqgI8XRnY7Zw2Oe%BOS*w;pS2lb)O*I{OVV-je!M$cpB_1D zo`c*yPyZVCJXn~G$Ax!*e;=a zOX!)lcH*FrNYQ_>N359b31&9Sofoj6!B2Hn_boQP%xIsLT&NZIgBblsPW%7*=y5dI zx40bk?u>{MK7_>=$w{SZR|mw>hh02M0JdHm#C(mi7EQztUJACz*NVUJoEql+Y0{nP zb?714S)+R@i^=|YSE^d>n7n(Q>?Wq!O9fnUJWCze34j_oV5VTdf+n8_yhv_D0RmY4 zjL3rbx$#KK_b?{=p}VsxdczMkSoWl5{jLQBrOTX|qC%dp!K;|@wI#@fd* z!CGzGe$QK>uXRaw|JM9`_ArV|c(3o{^H`E_4j$TC-)sIV` zKK(LCHc%Np$&sI|2F|UdPX*{(+`Hp|tPhrTixjsw$CMb`?Y&5UaBf?dFX@)YR!yV`z^2BE2S^JB!`n{tGO& zCPoB9V|x$e5hDb8@12$&TS{-2S`?CI(%#UDpd0uQLk~h(X`nNm9^;1bz<2a7>B_Nm zWaZfk0Oqn3j+MH|~YAZb^{yW4U5{T4_Ny5V+!8(eOh!=nNcks|v- z@Cg*y5rydCfXaq(>sG$eCpo{Zi?wWSBJ0ng>RcVO>-oa#vqog^6*KJJ`p<~PY^tVp z6#2-+1xL62p65Az!iwFD_SiAkn4j~g45r>hjpVRAr`~8TMuX>8(vr&)TCEELb}5QF zppsGSwIxpfFoZf}g!HmA_E&e~7Qpx^m@VFNf4+h-->QncL>#Yg9+1SR#Xp0KQzY-s zt3No(tAKq#4`ceQjT5s_Nq_vuQ;RW=MyUHr%F$sQA9WI1s5$mQzeyD&pj7#c$ytya+^%2q) zm70MsU`Sqr8_aqGMdC8+4@^xD3VckWI=bkUOSKkgd}revrtIpzDLR``jn*y&Clxfw(hlX_ma8ZK+kNTy`a@Jwh4NK9eU&PJ@rtgv+)z)>` z%w+>`ia__hc3|i5l4&;{azNm2f0JD{q|{~!Q?tXz7aZp+kj7ErGf=Chp`2k;c{tDT zS3emmP>+nssNWg;NuTjMjbwj|<8%o`u6=#9H~RqDFe4u%H>)T=v3z3BV^S`kT11P% zuXU_zna|p*&Vqq&PrwPARHB{3A&i&_u?6BLP2cUhcrt|t*3U(H&J#d1-yQz z2_-P3AIJZ8Eh5u=c4!~SQg=6!Pznfal%GFu$lDVv4eeH}>XJXOVOg1ZiDb+hs zHGt*1;k!N7?A5f&F_H8=Gl_fFR=e5!XXNK?i;_zd6O>!bw(`m9-`0pWd_jb?vyclm z!#x$33e1J;i!~udPUP@}4 z@vAT`g-KAzG2hel$LdcTt<6_30%F@8e z*}vu4R$ad%l#Ps}e~@5e#-Jx0m`j2kyvhi4nWq*R`b8-Q2lMxQ4AAB_5f%qrim?76 z#m<01+Wgv9x`ZJbjT`iyeqn4N)a1LG#;7wEEl$9Xn~)Z!DiH1+&galt{(u71YK7UK zf|u_TAD(*e9F$p?0oi}`#i`^$#I50IpIf(>0r|CxynHP0oftWM^mA**#*d!~2tDne z73}QVDAVGcGZ-eV+u?9={;H$SAb)2=Ql5fShX{(3^QD#kuOT@d1UAT!QgJsYi5W0qS72z;S>2HInNUkadVC-Nnd9QC1;Q zNl`FgMZkTvZt;P~@zEDHso zFjxvG4EAfZ%~~@ATWr9vXGAdpg`xeW-AsQy_YruF$mq5|E;g3gZZ@PeCIJj`U|E1} zK_(xrufJfK(90QXszR%>2CvgmeljjO=A>Tndl!fYKm1#RGPks<<=u?Nnq@l2WP8?^ zesbL!$0*}3Iwx?bIhy;t>U7eFar7v)iZm!XIX08|X2vN^P#izCN&PNr*Hh^T%P`Jk#Kyyt+k7s|rQm4?-NBa;(5f_IqWJ~}DYBVw zpXz8hs`mC>8N4y5t8&v{e>XQXe3?7E^v0BDIl^!eY8{}WbELNZ$(GT&bdM;p^m)z zyavRQ;aB-{kc=m|xUaY|lVu0+qHnEX?~1TO-9^F?sk(y0QhqTQJO%QCP;zD%-iqe9 zkHB_}g5S~c6uWb^!=)j3;a}31;rGW15L&0|sl%FF6ArSO0?mnoLLgu)uDch|`OlD; zb6MZhpH7QwxD-n%*1x77{MUVMhWGF9?$#Ha{bDO+MxBeBE{3PI=_HS6LVTR@2IXkz zu&Os!hFDf%{TI)Ta_-8W`5ETEshpObB9EA8*#RxnDaw&P@&xf$zBgX*mvGY1AA;XP z&y;C=vmMM9l(DalzgvV=Z)Qt7G;&jq1Zpjbp{;vV*?Wo}8s4o1f0>6DT{$)Q&(6yK zt>}eB2JDITqU?5A?1WX#o7_`bjpRGju00}kYKE52*&Do72@^ZeJsXVV{0yT|3O*jG zCqu2GRR?8+_|e7P8DFno?Nea}4Js$b53>ahPOlh-zTRo|ZIk%|9MJrM2C;oBT*A}r zaO!yCagj6gA!sn)0%kV_hDH5VZwa5k&`76ts(A171UZzbD|@ULLgbUFWYCO#rRNuG zP|5EYhiYoox_ZAcP9v9pW#$WX+3GpEa(K*OM$94v(ezXxj^DmHGB}Rh-y30(0S0+{ zLt9!MC8P+~@a21*QSH4RgZwWid;45KDg?Jm+SeB-H6z6Lds_@Uh@2cmRnm}8c@(*B zna&C=bwPWLIrV^Z$tkURfELH5^f}_ygqax((nxX-{25j!I5A8j9R=Z!cmJw|=mMi^ zf0MA43{%Zy#Va{!(2Z#46GPN}Dv6o!UyE@_e+ff;GLjq{yuI}dkK_BnBTBrWk=e@L zG?BLR`<$EO=?tr%5PQn!xhTr&r>$7<<3dX_JcUG^@*d<@oQV~v!GT92F<^?7;rtBW z4Ts!l7_>z822i}Y@4m%D@>iuYhVggy5;KIE9X(6ne{GMI3Dykv;;*u+oR}S(aXBsL6Vp`LXc?t} z5>#mGg7sdBK3)=~SVJbj&09U!qtY?e|82k&P>)I!JIaErl#lu4k&EDSt|#vhd;ZtG zGQ+Y?i+hO6-?ndm`QUQHCevN@d0`G;qMmWmi*iN)lQ=a8=qAH?t|Fy-B2<7?&`}65 z)ohl{#s5{sPs9BzQek{hK7onWRkY~#cHF|X84?NvOzea@2vVlDLC~^Cau=h`2J)vm^&lf0Hw&y4AjkedF>FvdsNr=`wHsR2&0U< zy=TWMK=Vlrt5tp2Byl9Y|4qA$dF_&@|4T&aND$36 zSnB`UcLK8-CWGH zz2AF-yN!MO+6=}saAUrYAw40G=UR$Kl|pPQRz2Ar+4_-k?r}xCUH#ZUJU9qiGC6WR zlvpPtwG<*k45d_-hE*8OCJjXm5)+M3FYt$BkW4~i!t7IwkoQYO`$Z|$MU7l4Bp4>d z7)Tt39;^L!h%ATjs=1-1;i{&=ZRudx`R?vYc5HOiW$bQWR?au8>=oh7 zy15{Pzw(>dNa>4%jddge2uNte|9JT$ksa^+6{}BmTp=Dt_sh6(>FW-qX;YeWA6bWh z^&(UT#kmb(x;P8(F(BYfK%l~x=gCzctI;Dct^T?BUZ*o7d;oP-Sv~&5BZ$m;FR5sk zRWrUW!OeIE%hNtBF|>9%PEDNU$M)If*O@vR@;tG6FrlA70*I6(Eie}c1iXRx&lf1l z*u+R#8N^DEAAXi!(q7}IH3 z8Nes!*A4VOrmW+@Ngd-W&$URG4zqB5R+^KXT!?p$vAlE8Cd*d&DV`WxMoQwn+F(oy z1MJ2h2|r_F@sH_|{~+U;&JvjQgt&^~p~2sa%{ns4tPwPqn5tTv?h4vQ0bE|v#pQ^t ziYKMvDB*&1J*l6uG>CuV!`>r{x>O$(l=IcO7j@r00GVmJJGvk;q8Q5kxSBDl3biS8 zFX>X=ilko8a_P2>q@=hc{LJmR$TIV)00__lTx_JZTJ+g}vgu!3lW6kW<~aE-fy{An zSVlHTj?ASVKa!hZSPIQwcugmIAlWI~e^BJ)tApVLeC?BmwnAE@@^q>p4S}8#ycI`f zm2rM~=2A{5O-jirbKf_IsHwg;je?9jjma2#RJw?PGVkAEFLs+j^itW)-?UkJ-X_Aa( zm1}(52O*}5&4F4~&5yHWSQ6CWSPv%viL<^-jrUcC6S zdG5$&b$JhAzVig9JaB)e;K8`z)zA=!;E0iConpMPv8pZKnMigBs4Q}yh+dfFpP~gO z93KODzWTEjNajOIvSGKBrsDnKqf*ZT)kW1n_`)505t^7?%*O{4(WTrt92L9oV}e@q z?1h{<1?n-U8+#{20q0n{#jHEO)h1uj(~!L0xn#zGelM+mQ8W~+10r})h#){Xq@6>9 zGrzQS$m;ca`17wnt-}KHU^QH%d~&%UiMQBRE#3{U$vm;L(I|za)?PgHB;P7)P)gB2 z!$tKiBR##(=|TI@-o;d#hD_^W)GRKFlf+K|%6~VD=3Vo|U%nHHoDrLwV3i+FOKwvw zm5}2rUzTdC?uldH5lwqpsFX;_!p-ZxPY1n;IEK5o1trU?bc=aPAt>Z0M&kHPf=Xyu74yB~dND8^?U3JVL#FIFVzQgx|#3fbcIBOpK-;40=C6y8zM7fg!) z;WDWDy994)oU!q}x3~KA74=F%XuJd20e_{t^htKN>Q#n3tJeO{^5o7|t}SRO(*<73 zt?DM2ixx?TrfyXg&C|20b-!GkKK#mC%^)%jHyU!(%Rlp#G}bF)RH;-KD;PJ+C6MHG zb_TGLGz`k>pH4l4qE3i|rsrMemz>~ehT*hiZi~W;&=O~$(WjT&xkb5UXh`(*wcr4o zGad%vbE%MD>=q$p?5Tlm$e z*W;bjRD46aRV_3pm@BMRHp|1cP~B(_6_oM2iXX)KRPlU-P8Q#B=_&(v#7KFO9;{O0 zt4$>%sc0){Y4FvHY~%#iH|~)g$QuKEw} z@;`6=_hHqA_CBqDV?G5X;H!PC9KCKaTF}jFeo|JSV4y>8=wm|qeQ*Yq`^e@ zbmNHar-y|1C8e!xuAMdp_mdl14Ar9ulJ{7}OnZ5KB#m63iekef=r(?SXt1h^nfZUz zAU1MeB*y7Q7c0>qkVvY@@+NDbw&FxRB!J3WY{H8x&-gdl?%7y40u69Ja)5g0eLR51 zzxwNU%k*RaEALc`l|oqp#g8fmF%PY(amtwzmf1cTFeR#Dy9spFtri)Telfxj{*Wky zSe*Loi90Xa(D6?K*362fIa`{T0Tmf<(#H|e9ZXuN^-8Y8yH~!?SyX#HT8Jk8F2g$_ zSGjkvF&U{QlRfxZ<0Ioek;AKcY0%e#!j-P#-6lRwo-XFX01aBLEQ_o?85kJwP_|;o z#zOIb3mY5xV|>K4^h zH0x&KS`peTm5-poKtwnop-#G);}#ve zv!tEKw+e0WAVGRH53_u4ZN97qvLDiLnkH85-cms8&GHH_5)Ny8N|Dwx%d}{M<&z-Y= zDNB}$I%ryzyIu5zE2wRtX8F{Y>t}!7xqs)>)KnZHc%K^!y;6Ar`{3KNMO;84#F~%B z-hPogu|EEDz_mm~TU%SSO`;ll{`pC9Q5EZ2yZSMz4_19UC8O^%%VX2aN=la>SXAby z#c5E&xqI5K`P)@(8TwfHOPXhCd}ONG3)>XXjv}l{YugW`G}*jaZwKQ6IPq^+uJ!E7 z4L3+%REY^XMkXetJ4#tHB3VmQ!Dh3Rq0%hNjgqTB>3YhfWM});y|V^1 z(ccwXLaaWopYuiG%-7CVrtYI43Gg%i-M_RbEaS6(HGQOp>bq*}yJz~nYhd^M39s%z z(!7E6_W;VmuFB#awVmqRhS3K80d|JfnFSdVPR2le2*}fbl!nCX&+s_dSOx%-Glv{! zFM2}(P?|UYdn~LfX2-mCf{=@@i+ER89X-XReD^tcO-i%rS^S;_b2O8sSl{9y*HxnC zuTDpbtuhX}NNV_Mn~K^{E;!WkAH=Acnp}h{0};d_{HLCg{R5rxe|#DzQ^Ee(|$g^PwOCD*)Gxqy#Fmf0)|4JrvSs?*ia?7QG5 z(Md5j&RW8thw`t5`#tHorp^BH>dr-gy_Qo?!=Azqvn(aFQ&I>0*$cm-$y9O9qcx9p zqoRd$R|tU2Qn=g3IkzaddA)nD+4nBop-(rcyfyzk$8Uwoi*Q?IhS_GXN9uPxq5z>N zC@G7as@aqt?WM&*LUUn^?-3cj`97$g>{487y!IN6K}|ca3N3C~QpECWl{)CS{nV!| zsyw%LI%1jj4EqQE?5!Lea@=y_!KwPUZ{J)iWf!U-X-HbihV8+|asc_4hny^8FWITi z6P~dcqwx)_4`TgYWp){4kTDm>B>cJ62(wsEA(nUA8Lp|ookjfV$5j*Lw)>mB4nPvEvq;jKm&H_11L z;V)z$Ucjr&vuM70k+y8#XIw5RfP1uBx;4~Hd3+F9-ClG%Mp~a(m@9vW+ERf{L(@R-+@-^jrvkUAS}y9beilC{q=~ zl45Kg|H;&e@^CjwA2Fu9xjc7mLBURF>hFU>Ir=e{@{MdsR-tlorue6|nd^k=}%qQFDcFtMOtlm}zJ^=#BB_f{H8y6*!NT!}!~n3xFZRznL@!Z-NRh1~H_UXgM*S5q z6oC2!JU_sIdE(^31}mLUNesfD9x(d*$fP|lZf7jB{~J}YWW=G>N_&X|mkF=ud#1 z#ev1U;bJ`p`2PT;{!_5fg4y>QmJZ%o#=ogwdx4F01^5Y7@h7pNNl93qY#<=~FM+SG zw*yYqUm`tUv(qJ=t&{|6j5~c7*5L#QB~&0E0)iN^inGvKS!zma-UbWQ1Fpw(&xZxz z=RYWbgjR*ocJsLCbojW+ukQVW4+J*W(l<5T$}Z1_$2AkLC;Q9`0y`56{Flh84(N&-ajs?QW`%CgA4NP#7EqP}{WGK@cOuF9Ki zN?@U#B?31JzC7-m(SX;1?<9mJJFXP@Ji;F^>m=Sh!xta79cJm&b|_@Xl0*p zVHkK8IrC=@a9gGW8I6DLVW&R$hu9=o+l_g_48R6p5s*(}ByAFX#4eD1fB=<)0jwYz z(f-eW1pfAItRH^Ibx+Aodg+4MbLbWd-JKLCNI&33LV^V3md4`&50%{b=f$wN^B4FJ zOxzRRh**r_65hWd8Zl&pGF(Dj^pRcE|J&E^H6xh2CnUtgSym2DjVxpFe*hl0sW$S(>K4Z{ja$ z&}L3Q^7Z*lYjr#NQi0*kkv9Ei*v4C z@h(r=mp<5Y^YCbM&Ul~01qqGT&)6=0L$S z&hYK3)=_Kfpm*GCoi@UmUC`lH+i02@s7E)*SlD-}T~$s?zVg&u-dive+c3|z=ePb= zUAn+vKKbEYxQ<+2?i>4$E;ZBr2GA8Pj{A51$>`(_TD})QcZKyR5}nuHaH)^qV+2(Z zu1!A>a%{I8T3qnvakSOevR00z%|6~&8x8CqRd~D3hW9U92kdBGd#$pmyb>bR0*%~5 zj3k5qg~I=#frLh&7F@F_D)cAS@9~Rl7dc{+YKrTTx44Q=!jjoP%(?UQSVt+tnDcu3 z(ii9)9Cha_Vfa(DM2b6*)~#nvvser}sNt{Mj0Ieq6>rvLRdTF!A)fjj-a6BLOTy zb~VIPm!-7`!i!dcnMj@%y@6)uLX3>SR#9xj^WbQ-xAzMv2+WGCK1ID7rbHdZH4zQy z;S`XkEJIrZ{Lepj7m#)#NZwngZ|Isj1#Y}LIpVImIYY~m%DOosn?vn;(Skt`AS^`i zr;fDrR8PHErbDQJ^?D6NDqem=u`g=9v7r8JGTlbk++0jk!GwutWM1E9>eWzty`=FW zHNP(F8{8jA{{ARnf;(*JEFLai?+|h|>_%8-B4|W)48W)Fb^i!?$&?eue(+y%MH^}T zJhmMnX^ndEsXuoGL1PMTICs~L(!WXNLaVMrCTy7Qi?ZPa_&lrApl$LzV)XPh^ZWcf z#of_qBQZ3hL;_%PSeNN4Uc`<5UFd^Wb(?)sBqUl+P3dG*3_~zopYf4eMDH#o=9tDD zR4;k$q=77rZuCxdwSgAr7mK^RP0X3(PY|FBm}ttAMm3#G=a0TeH=COjvgsTSUmvMz zpUvb50RF94!ZTmoFv3`R|E25e>#y4$d6LS(Im4@Eq47y;GYiTMAHqH(9U$CA8!aM{ znFn9InL?_If-adokr+9txXMNKBEF#w+bNA?ht4Gbi1+e zR(l$_cqsCoUFPQH<^6VoF@Og64nlw!+}|z3OD{$H%cp zcbex|?!v;tP39fhTpjY`3DyBsvKlgDW839=b87RlW3%xJ+%p86<=~6+!NsJF>4)R{ z^o`$B=!YQ>r3-bpT|BsH*pp$HI2^uNE^c)fT2#D>{~D`53G#v3ta-F8%3J zpK8*{*}4M4p}2f1aPLe_O)raW9rP*2dV!VL!R&`Hy$CG+r3(IK;4)IGJmUi7)E3l& zFxUoVY7cZtL@nZ3JSE3(tX!I$=&?X|aq_sc_!NF*q&kT8ZE5LpLo<;T0d~nD3c1KM z`~6$GjJo_%98@@0o#}@eTpI3{35G0$F(pH`@j6;cr?#(TF=tXzQs0VXGg2ophgKC| m-t?Ee&i`MZ{dw*G^jZO>HHh!*iA|6I literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/processor.png b/content/docs/smallrye-reactive-messaging/main/images/processor.png new file mode 100644 index 0000000000000000000000000000000000000000..faac01281b6e34a1366b894bdac15f9fc2e55b3b GIT binary patch literal 52042 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 XTD(%|*XJEs3_#%N>gTe~DWM4fC$7Kz literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-reactive-messaging/main/images/redhat_reversed.svg b/content/docs/smallrye-reactive-messaging/main/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-reactive-messaging/main/index.adoc b/content/docs/smallrye-reactive-messaging/main/index.adoc new file mode 100644 index 000000000..f98038e4e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/index.adoc @@ -0,0 +1,17 @@ += SmallRye Reactive Messaging +include::_attributes.adoc[] + +*SmallRye Reactive Messaging is a framework for building event-driven, data streaming, and event-sourcing applications.* + +It lets your application interact using various messaging technologies such as Apache Kafka, AMQP or MQTT. +The framework provides a flexible programming model bridging https://www.cdi-spec.org/[CDI] and event-driven. + +SmallRye Reactive Messaging is an implementation of the Eclipse MicroProfile Reactive Messaging specification {spec-version}. + +.Event-Driven Architectures +[.has-dark] +image::images/overview.png[Event-Driven Architectures] + +SmallRye Reactive Messaging is used in http://quarkus.io[Quarkus], and https://openliberty.io/[Open Liberty]. + +Start with the xref:getting-started.adoc[Getting Started] guide to know how it can be used and introduce various features. diff --git a/content/docs/smallrye-reactive-messaging/main/jms/advanced-jms.adoc b/content/docs/smallrye-reactive-messaging/main/jms/advanced-jms.adoc new file mode 100644 index 000000000..7a33879c2 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/jms/advanced-jms.adoc @@ -0,0 +1,37 @@ += Advanced configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Underlying thread pool + +Lots of JMS operations are blocking and so not cannot be done on the +_caller_ thread. For this reason, these blocking operations are executed +on a worker thread. + +You can configure the thread pool providing these worker threads using +the following MicroProfile Config properties: + +* `smallrye.jms.threads.max-pool-size` - the max number of threads +(Defaults to 10) +* `smallrye.jms.threads.ttl` - the ttl of the created threads +(Defaults to 60 seconds) + +== Selecting the ConnectionFactory + +The JMS Connector requires a `jakarta.jms.ConnectionFactory` to be exposed +as a CDI bean. The connector looks for a `jakarta.jms.ConnectionFactory` +and delegate the interaction with the JMS server to this factory. + +In case you have several connection factories, you can use the +`@Identifier` qualifier on your factory to specify the name. Then, in +the channel configuration, configure the name as follows: + +[source,properties] +---- +# Configure the connector globally +mp.messaging.connector.smallrye-jms.connection-factory-name=my-factory-name +# Configure a specific incoming channel +mp.messaging.incoming.my-channel.connection-factory-name=my-factory-name +# Configure a specific outgoing channel +mp.messaging.outgoing.my-channel.connection-factory-name=my-factory-name +---- diff --git a/content/docs/smallrye-reactive-messaging/main/jms/jms-transactions.adoc b/content/docs/smallrye-reactive-messaging/main/jms/jms-transactions.adoc new file mode 100644 index 000000000..bc62cc77c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/jms/jms-transactions.adoc @@ -0,0 +1,169 @@ += JMS Transactions +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS connector supports transactional message consumption using the `transaction-mode` channel configuration property. +Three modes are available: + +* `none` (default) — no transaction support, messages are acknowledged individually. +* `local` — JMS local (session) transactions. The session is committed on successful processing (ack) and rolled back on failure (nack). +* `xa` — XA distributed transactions. An XA transaction is started before each message receive, allowing other XA resources (e.g., databases) to participate in the same global transaction. + +== Local Transactions + +Local transactions use `SESSION++_++TRANSACTED` sessions. +Messages are processed sequentially — the next message is not received until the current one is committed or rolled back. +On ack, the session is committed. On nack, the session is rolled back and the message is redelivered by the broker. + +=== Configuration + +[source,properties] +---- +mp.messaging.incoming.orders.connector=smallrye-jms +mp.messaging.incoming.orders.transaction-mode=local +---- + +[NOTE] +==== + +The `session-mode` configuration is ignored when `transaction-mode=local`. The connector automatically uses `SESSION++_++TRANSACTED`. + +==== + +=== Example + +[source,java] +---- +@ApplicationScoped +public class OrderProcessor { + + @Incoming("orders") + public CompletionStage process(IncomingJmsMessage message) { + // Process the message... + // On ack, the JMS session is committed. + // On nack, the JMS session is rolled back and the message is redelivered. + return message.ack(); + } +} +---- + +=== Session Sharing with Outgoing Channels + +When `transaction-mode` is `local` or `xa`, messages carry a `JmsSessionContext` metadata. +If the outgoing sink detects this metadata, it sends using the incoming transactional session context, +ensuring both the receive and send participate in the same JMS transaction. + +== XA Distributed Transactions + +XA mode enables distributed transactions spanning JMS and other XA-capable resources such as databases. +An XA transaction is started before each message is received, and the JMS XA resource is enlisted in the transaction. + +=== Prerequisites + +XA transactions require: + +* A `TransactionManager` (e.g., `quarkus-narayana-jta`) +* A *pooled* `XAConnectionFactory` (e.g., `quarkus-pooled-jms` or a JCA resource adapter such as `quarkus-ironjacamar`) + +[WARNING] +==== + +Using a non-pooled `XAConnectionFactory` will cause severe performance degradation, as a new connection is created for every message poll. + +==== + +=== Configuration + +[source,properties] +---- +mp.messaging.incoming.orders.connector=smallrye-jms +mp.messaging.incoming.orders.transaction-mode=xa +---- + +=== Participating in the XA Transaction + +The XA transaction is *suspended* after receive so it can be resumed on the processing thread. +Container integrations such as Quarkus typically provide a custom invoker that handles resume/suspend automatically. + +Without a container invoker, the application can use `JmsXaTransactionMetadata.withTransaction()` +to associate the XA transaction with the current thread for the duration of a try-with-resources block: + +[source,java] +---- +@ApplicationScoped +public class OrderProcessor { + + @Inject + EntityManager entityManager; + + @Incoming("orders") + public void process(int payload, JmsXaTransactionMetadata xa) { + try (var scope = xa.withTransaction()) { + // Database and JMS participate in the same XA transaction + entityManager.persist(toEntity(payload)); + } + // On return, the framework acks and the XA transaction is committed + } +} +---- + +== Receive Timeout + +The `receive-timeout` property controls how long (in milliseconds) the JMS consumer `receive` call blocks before returning `null`. +The default is `1000` ms. +Setting it to `0` blocks indefinitely until a message arrives. + +[WARNING] +==== + +With `transaction-mode=xa` the receive happens inside the XA transaction, so `0` is rejected: +it would exceed the transaction timeout while the channel is idle. +Keep `receive-timeout` well below the transaction timeout. + +==== + +[source,properties] +---- +mp.messaging.incoming.orders.receive-timeout=2000 +---- + +== Custom Message Pollers + +The `message-poller` property allows overriding the built-in polling behavior with a custom `JmsMessagePoller.Factory` CDI bean +qualified with `@Identifier`. + +[source,java] +---- +@ApplicationScoped +@Identifier("my-poller") +public class MyPollerFactory implements JmsMessagePoller.Factory { + + @Override + public JmsMessagePoller create(JmsConnectorIncomingConfiguration config, + JmsResourceHolder resourceHolder) { + // resourceHolder is pre-configured for local and none modes, + // but null for XA mode where each poll creates its own context. + Objects.requireNonNull(resourceHolder, "This poller does not support XA mode"); + return () -> { + jakarta.jms.Message received = resourceHolder.getClient().receive(500); + return received != null ? Message.of(received) : null; + }; + } +} +---- + +[source,properties] +---- +mp.messaging.incoming.orders.message-poller=my-poller +---- + +The commit and failure handlers remain determined by the `transaction-mode` — the custom poller only controls how messages are received. + +== Failure Handling + +Transaction modes work with all failure strategies (`fail`, `ignore`, `dead-letter-queue`). + +* For `local` mode, nack triggers a session rollback before the failure strategy is applied. +* For `xa` mode, nack triggers an XA transaction rollback before the failure strategy is applied. + +In both cases the message may be redelivered by the broker, depending on the broker configuration and the failure strategy used. diff --git a/content/docs/smallrye-reactive-messaging/main/jms/jms.adoc b/content/docs/smallrye-reactive-messaging/main/jms/jms.adoc new file mode 100644 index 000000000..b94527d64 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/jms/jms.adoc @@ -0,0 +1,74 @@ += The JMS connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS connector adds support for https://en.wikipedia.org/wiki/Jakarta_Messaging[Jakarta +Messaging] to Reactive +Messaging. It is designed to integrate with _JakartaEE_ applications +that are sending or receiving Jakarta Messaging Messages. + +Jakarta Messaging is a Java Message Oriented Middleware API for sending +messages between two or more clients. It is a programming model to +handle the producer-consumer messaging problem. It is a messaging +standard that allows application components based on Jakarta EE to +create, send, receive, and read messages. It allows the communication +between different components of a distributed application to be loosely +coupled, reliable, and asynchronous. + +Using the JMS connector + +To you the JMS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-jms + {project-version} + +---- + +The connector name is: `smallrye-jms`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-jms + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-jms +---- + +The JMS Connector requires a `jakarta.jms.ConnectionFactory` to be exposed +(as CDI bean). The connector looks for a `jakarta.jms.ConnectionFactory` +and delegate the interaction with the JMS server to this factory. In +other words, it creates the JMS connection and context using this +factory. + +So, in order to use this connector you would need to expose a +`jakarta.jms.ConnectionFactory`: + +[source,java] +---- +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.jms.ConnectionFactory; + +import org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory; + +@ApplicationScoped +public class ConnectionFactoryBean { + + @Produces + ConnectionFactory factory() { + return new ActiveMQJMSConnectionFactory( + "tcp://localhost:61616", + null, null); + } + +} +---- + +The factory class may depend on your JMS connector/server. diff --git a/content/docs/smallrye-reactive-messaging/main/jms/receiving-jms-messages.adoc b/content/docs/smallrye-reactive-messaging/main/jms/receiving-jms-messages.adoc new file mode 100644 index 000000000..08f9af3f5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/jms/receiving-jms-messages.adoc @@ -0,0 +1,115 @@ += Receiving messages from JMS +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS Connector retrieves JMS Message and maps each of them into +Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a `jakarta.jms.ConnectionFactory` bean exposed and +connected to your JMS server. Don’t forget that it’s required to use the +JMS connector. + +Configure your application to receive JMS messages on the `prices` +channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-jms +---- + +[NOTE] +==== + +You don’t need to set the destination. By default, it uses the channel +name (`prices`). You can configure the `destination` attribute to +override it. + +==== + +[NOTE] +==== + +By default the connector uses a `queue`. You can configure it to use a +`topic` by setting `destination-type=topic`. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The content of the incoming JMS message is mapped to a Java object. + +By default it extracts the JMS Message _body_ as a `java.lang.Object`. +This can be changed by setting, in the incoming JMS Message: + +[arabic] +. The `++_++classname` property +. the `JMSType` + +The value must be a fully qualified class name. The connector then load +the associated class. + +[NOTE] +==== + +The connector loads the associated `Class` using the `TCCL` and if not +found, the classloader used to load the connector. + +==== + +If the target type is a primitive type ort `String`, the resulting +message contains the mapped payload. + +If the target type is a class, the object is built using included JSON +deserializer (JSON-B and Jackson provided OOB from the `JMSType`. +If not, the default behavior is used (Java deserialization). + +== Inbound Metadata + +Messages coming from JMS contains an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-jms/{javadoc-version}/io/smallrye/reactive/messaging/jms/IncomingJmsMessageMetadata.html[`io.smallrye.reactive.messaging.jms.IncomingJmsMessageMetadata`] in the metadata. + +[source,java] +---- +include::{examples-dir}/jms/inbound/JmsMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When the Reactive Messaging `Message` gets acknowledged, the associated +JMS Message is acknowledged. As JMS acknowledgement is blocking, this +acknowledgement is delegated to a worker thread. + +== Failure Handling + +If a message produced from a JMS message is _nacked_, a failure strategy is applied. The JMS connector supports 3 strategies: + +* `fail` - (default) fail the application, no more messages will be processed. The failing message is not acknowledged and may be redelivered by the JMS broker. The application is marked as unhealthy (impacting liveness checks). +* `ignore` - the failure is logged, but the processing continues. The failing message is acknowledged and will not be redelivered. +* `dead-letter-queue` - the failing message is acknowledged and sent to a JMS _dead letter queue_ destination. The processing continues with the next message. ++ +The dead letter queue destination can be configured using the `dead-letter-queue.destination` attribute. If not specified, it defaults to `dead-letter-queue-$channel`. +Messages sent to the dead letter queue preserve the original message body and properties. In addition, the following properties are added: +** `dead++_++letter++_++exception++_++class++_++name` - the fully qualified class name of the exception +** `dead++_++letter++_++reason` - the exception message +** `dead++_++letter++_++cause++_++class++_++name` - the fully qualified class name of the root cause (if available) +** `dead++_++letter++_++cause` - the root cause exception message (if available) + +== Configuration Reference + +include::{generated-dir}/smallrye-jms-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/main/jms/sending-jms-messages.adoc b/content/docs/smallrye-reactive-messaging/main/jms/sending-jms-messages.adoc new file mode 100644 index 000000000..0e107b798 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/jms/sending-jms-messages.adoc @@ -0,0 +1,106 @@ += Sending messages to JMS +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The JMS Connector can send Reactive Messaging `Messages` as JMS Message. + +== Example + +Let’s imagine you have a `jakarta.jms.ConnectionFactory` bean exposed and +connected to your JMS server. Don’t forget that it’s required to use the +JMS connector. + +Configure your application to write the messages from the `prices` +channel into a JMS Message as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-jms +---- + +[NOTE] +==== + +You don’t need to set the destination. By default, it uses the channel +name (`prices`). You can configure the `destination` attribute to +override it. + +==== + +[NOTE] +==== + +By default the connector uses a `queue`. You can configure it to use a +`topic` by setting `destination-type=topic`. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The connector serializes the incoming message payload into the body of +the outgoing JMS Message. + +If the payload is a `String` or a primitive type, the payload is encoded +as `String` and the `JMSType` is set to the target class. The +`++_++classname` property is also set. The JMS Message is a `TextMessage`. + +If the payload is a `byte++[]++`, it’s passed as `byte++[]++` in a JMS +`BytesMessage`. + +Otherwise, the payload is encoded using included JSON serializer (JSON-B and Jackson provided OOB. +The `JMSType` is set to the target class. +The `++_++classname` property is also set. +The JMS Message is a `TextMessage`. + +For example, the following code serialize the produced `Person` using +JSON-B. + +[source,java] +---- +@Incoming("...") +@Outgoing("my-channel") +public Person sendToJms(...) { + // ... + return new Person("bob", 42); +} +---- + +It requires that the `Person` class can be serialized to JSON. The +classname is passed in the `JMSType` property and `++_++classname` property. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-jms/{javadoc-version}/io/smallrye/reactive/messaging/jms/OutgoingJmsMessageMetadata.html[`OutgoingJmsMessageMetadata`] +to influence how the message is going to be written to JMS. + +[source,java] +---- +include::{examples-dir}/jms/outbound/JmsOutboundMetadataExample.java[tags=code,indent=0] +---- + +The metadata allow adding properties but also override the destination. + +== Acknowledgement + +Once the JMS message is sent to the JMS server, the message is +acknowledged. Sending a JMS message is a blocking operation. So, sending +is done on a worker thread. + +== Configuration Reference + +include::{generated-dir}/smallrye-jms-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/avro-configuration.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/avro-configuration.adoc new file mode 100644 index 000000000..a714f9cb9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/avro-configuration.adoc @@ -0,0 +1,152 @@ += Using Apache Avro serializer/deserializer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you are using https://avro.apache.org/[Apache Avro] +serializer/deserializer, please note the following configuration +properties. + +== For https://docs.confluent.io/current/schema-registry/serdes-develop/serdes-avro.html[Confluent] Schema Registry + +Confluent Avro library is `io.confluent:kafka-avro-serializer`. Note +that this library is not available in Maven Central, you need to use the +https://docs.confluent.io/clients-kafka-java/current/overview.html[Confluent Maven +repository]. + +=== Consumer + +[width="100%",cols="25%,75%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.confluent.kafka.serializers.KafkaAvroDeserializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|specific.avro.reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer +mp.messaging.incoming.[channel].schema.registry.url=http://{your_host}:{your_port}/ +mp.messaging.incoming.[channel].specific.avro.reader=true +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.confluent.kafka.serializers.KafkaAvroSerializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.confluent.kafka.serializers.KafkaAvroSerializer +mp.messaging.outgoing.[channel].schema.registry.url=http://{your_host}:{your_port}/ +.... + +== For https://www.apicur.io/registry/[Apicurio] Registry 1.x + +Apicurio Registry 1.x Avro library is +`io.apicurio:apicurio-registry-utils-serde`. + +The configuration properties listed here are meant to be used with the +Apicurio Registry 1.x client library and Apicurio Registry 1.x server. + +=== Consumer + +[width="100%",cols="38%,62%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.apicurio.registry.utils.serde.AvroKafkaDeserializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/api +|apicurio.registry.avro-datum-provider |io.apicurio.registry.utils.serde.avro.DefaultAvroDatumProvider +|apicurio.registry.use-specific-avro-reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.apicurio.registry.utils.serde.AvroKafkaDeserializer +mp.messaging.incoming.[channel].apicurio.registry.url=http://{your_host}:{your_port}/api +mp.messaging.incoming.[channel].apicurio.registry.avro-datum-provider=io.apicurio.registry.utils.serde.avro.DefaultAvroDatumProvider +mp.messaging.incoming.[channel].apicurio.registry.use-specific-avro-reader=true +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.apicurio.registry.utils.serde.AvroKafkaSerializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/api +|=== + +To automatically register schemas with the registry, add: + +[width="100%",cols="31%,69%",options="header",] +|=== +|Property |Value +|apicurio.registry.global-id |io.apicurio.registry.utils.serde.strategy.GetOrCreateIdStrategy +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.apicurio.registry.utils.serde.AvroKafkaSerializer +mp.messaging.outgoing.[channel].apicurio.registry.url=http://{your_host}:{your_port}/api +mp.messaging.outgoing.[channel].apicurio.registry.global-id=io.apicurio.registry.utils.serde.strategy.GetOrCreateIdStrategy +.... + +== For https://www.apicur.io/registry/[Apicurio] Registry 2.x + +Apicurio Registry 2.x Avro library is +`io.apicurio:apicurio-registry-serdes-avro-serde`. + +The configuration properties listed here are meant to be used with the +Apicurio Registry 2.x client library and Apicurio Registry 2.x server. + +=== Consumer + +[width="100%",cols="31%,69%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.apicurio.registry.serde.avro.AvroKafkaDeserializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/apis/registry/v2 +|apicurio.registry.use-specific-avro-reader |true +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.apicurio.registry.serde.avro.AvroKafkaDeserializer +mp.messaging.incoming.[channel].apicurio.registry.url=http://{your_host}:{your_port}/apis/registry/v2 +mp.messaging.incoming.[channel].apicurio.registry.use-specific-avro-reader=true +.... + +=== Producer + +[width="100%",cols="19%,81%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.apicurio.registry.serde.avro.AvroKafkaSerializer +|apicurio.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/apis/registry/v2 +|=== + +To automatically register schemas with the registry, add: + +[cols=",",options="header",] +|=== +|Property |Value +|apicurio.registry.auto-register |true +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.apicurio.registry.serde.avro.AvroKafkaSerializer +mp.messaging.outgoing.[channel].apicurio.registry.url=http://{your_host}:{your_port}/apis/registry/v2 +mp.messaging.outgoing.[channel].apicurio.registry.auto-register=true +.... diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/client-service.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/client-service.adoc new file mode 100644 index 000000000..7c6f63dc9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/client-service.adoc @@ -0,0 +1,60 @@ += KafkaClientService +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For advanced use cases, SmallRye Reactive Messaging provides a bean of +type `KafkaClientService` that you can inject: + +[source,java] +---- +@Inject +KafkaClientService kafka; +---- + +From there, you can obtain an +`io.smallrye.reactive.messaging.kafka.KafkaProducer` and an +`io.smallrye.reactive.messaging.kafka.KafkaConsumer`. + +`KafkaProducer` and `KafkaConsumer` expose a non-blocking API on top of +the Kafka client API. They also mediate access to the threads that +SmallRye Reactive Messaging uses to run all Kafka operations: the +_polling thread_, used for consuming records from Kafka topics, and the +_sending thread_, used for producing records to Kafka topics. (Just to +be clear: each _channel_ has its own polling thread and sending thread.) + +The reason why SmallRye Reactive Messaging uses a special thread to run +the poll loop should be obvious: the `Consumer` API is blocking. The +`Producer` API, on the other hand, is documented to be non-blocking. +However, in present versions, Kafka doesn’t guarantee that in all cases; +see https://issues.apache.org/jira/browse/KAFKA-3539[KAFKA-3539] for +more details. That is why SmallRye Reactive Messaging uses a dedicated +thread to run the send operations as well. + +Sometimes, SmallRye Reactive Messaging provides direct access to the +Kafka `Producer` or `Consumer`. For example, a +xref:kafka/consumer-rebalance-listener.adoc[`KafkaConsumerRebalanceListener`] +methods are always invoked on the polling thread, so they give you +direct access to `Consumer`. In such case, you should use the +`Producer`/`Consumer` API directly, instead of the +`KafkaProducer`/`KafkaConsumer` API. + +== Manual Partition Pause/Resume + +The `KafkaConsumer` API provides per-partition pause and resume methods +that work alongside the `pause-if-no-requests` backpressure mechanism +(enabled by default). + +When you manually pause partitions using `pausePartitions(Collection++<++TopicPartition++>++)`, +those partitions remain paused even when the backpressure system resumes +consumption. This is useful for scenarios like pausing a partition during +failure handling while keeping other partitions flowing: + +include::{examples-dir}/kafka/inbound/KafkaManualPartitionPauseResume.java[tags=code,indent=0] + +If a partition is revoked during a rebalance, it is automatically +removed from the manually paused set. + +Note that the no-arg `pause()` and `resume()` methods control the +global pause state and are independent: calling `resume()` will not +resume manually paused partitions. +To pause all currently assigned partitions, use `pauseAssignedPartitions()`. diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/consumer-rebalance-listener.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/consumer-rebalance-listener.adoc new file mode 100644 index 000000000..fbbdd605f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/consumer-rebalance-listener.adoc @@ -0,0 +1,67 @@ += Consumer Rebalance Listener +:version-root: ../ +include::{version-root}_attributes.adoc[] + +To handle offset commit and assigned partitions yourself, you can +provide a consumer rebalance listener. To achieve this, implement the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface, make the implementing class a bean, and add the `@Identifier` +qualifier. A usual use case is to store offset in a separate data store +to implement exactly-once semantic, or starting the processing at a +specific offset. + +The listener is invoked every time the consumer topic/partition +assignment changes. For example, when the application starts, it invokes +the `partitionsAssigned` callback with the initial set of +topics/partitions associated with the consumer. If, later, this set +changes, it calls the `partitionsRevoked` and `partitionsAssigned` +callbacks again, so you can implement custom logic. + +Note that the rebalance listener methods are called from the Kafka +_polling_ thread and must block the caller thread until completion. +That’s because the rebalance protocol has synchronization barriers, and +using asynchronous code in a rebalance listener may be executed after +the synchronization barrier. + +When topics/partitions are assigned or revoked from a consumer, it +pauses the message delivery and restarts once the rebalance completes. + +If the rebalance listener handles offset commit on behalf of the user +(using the `ignore` commit strategy), the rebalance listener *must* +commit the offset synchronously in the `partitionsRevoked` callback. We +also recommend applying the same logic when the application stops. + +Unlike the `ConsumerRebalanceListener` from Apache Kafka, the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +methods pass the Kafka `Consumer` and the set of topics/partitions. + +== Example + +In this example we set-up a consumer that always starts on messages from +at most 10 minutes ago (or offset 0). First we need to provide a bean +that implements the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface and is annotated with `@Identifier`. We then must configure +our inbound connector to use this named bean. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumer.java[indent=0] +---- + +To configure the inbound connector to use the provided listener we +either set the consumer rebalance listener’s name: + +* `mp.messaging.incoming.rebalanced-example.consumer-rebalance-listener.name=rebalanced-example.rebalancer` + +Or have the listener’s name be the same as the group id: + +* `mp.messaging.incoming.rebalanced-example.group.id=rebalanced-example.rebalancer` + +Setting the consumer rebalance listener’s name takes precedence over +using the group id. diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/default-configuration.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/default-configuration.adoc new file mode 100644 index 000000000..a8da3024e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/default-configuration.adoc @@ -0,0 +1,80 @@ += Retrieving Kafka default configuration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If your application/runtime exposes as a CDI _bean_ of type +`Map++<++String, Object` with the identifier `default-kafka-broker`, this +configuration is used to establish the connection with the Kafka broker. + +For example, you can imagine exposing this map as follows: + +[source,java] +---- +@Produces +@ApplicationScoped +@Identifier("default-kafka-broker") +public Map createKafkaRuntimeConfig() { + Map properties = new HashMap<>(); + + StreamSupport + .stream(config.getPropertyNames().spliterator(), false) + .map(String::toLowerCase) + .filter(name -> name.startsWith("kafka")) + .distinct() + .sorted() + .forEach(name -> { + final String key = name.substring("kafka".length() + 1).toLowerCase().replaceAll("[^a-z0-9.]", "."); + final String value = config.getOptionalValue(name, String.class).orElse(""); + properties.put(key, value); + }); + + return properties; +} +---- + +This previous example would extract all the configuration keys from +MicroProfile Config starting with `kafka`. + +[NOTE] +.Quarkus +==== + +Starting with Quarkus 1.5, a map corresponding to the previous example +is automatically provided. + +==== + +In addition to this default configuration, you can configure the name of +the `Map` producer using the `kafka-configuration` attribute: + +[source,properties] +---- +mp.messaging.incoming.my-channel.connector=smallrye-kafka +mp.messaging.incoming.my-channel.kafka-configuration=my-configuration +---- + +In this case, the connector looks for the `Map` associated with the +`my-configuration` name. If `kafka-configuration` is not set, an +optional lookup for a `Map` exposed with the channel name (`my-channel` +in the previous example) is done. + +[IMPORTANT] +==== + +If `kafka-configuration` is set and no `Map` can be found, the +deployment fails. + +==== + +Attribute values are resolved as follows: + +[arabic] +. if the attribute is set directly on the channel configuration +(`mp.messaging.incoming.my-channel.attribute=value`), this value is +used +. if the attribute is not set on the channel, the connector looks for +a `Map` with the channel name or the configured +`kafka-configuration` (if set) and the value is retrieved from that +`Map` +. If the resolved `Map` does not contain the value the default `Map` +is used (exposed with the `default-kafka-broker` name) diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/health.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/health.adoc new file mode 100644 index 000000000..2b233b117 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/health.adoc @@ -0,0 +1,107 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka connector reports the startup, readiness and liveness of each channel managed by the connector. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +== Startup & Readiness + +=== Metrics-based strategy + +By default, both inbound and outbound channels use underlying Kafka client metrics to check if at least one active connection exists with a broker. +This strategy is lightweight and does not require additional remote interactions with the broker. + +=== Client-based strategy + +You can also enable another strategy by setting the `health-topic-verification-enabled` attribute to `true`. +With this second strategy, the health checks use a Kafka Admin Client to access the broker and retrieve the list of existing topics. +Retrieving this list can be a lengthy and expensive operation. +You can configure a timeout using the `health-topic-verification-timeout` attribute. +The default timeout is set to 2 seconds. +Note that if the timeout is reached, the health check fails. + +[WARNING] +.Deprecated +==== + +`health-readiness-topic-verification` and `health-readiness-timeout` attributes are deprecated and replaced by `health-topic-verification-enabled` and `health-topic-verification-timeout`. + +==== + +For *startup* checks both _inbound_ and _outbound_ side verify that the Kafka topic is created and its partitions are available in the broker. +If multiple topics are consumed using the `topics` attribute, the readiness check verifies that all the consumed topics are available. +If you use a pattern (using the `pattern` attribute), the readiness check verifies that at least one existing topic matches the pattern. + +For *readiness* checks inbound channels verify that the underlying consumer is assigned at least a partition to consume. +On the outbound side (writing records to Kafka) verify that the broker is still accessible. + +[NOTE] +==== + +If `health-topic-verification-enabled` is enabled, both for startup and readiness checks use this strategy. They can be disabled explicitly using `health-topic-verification-startup-disabled` and `health-topic-verification-readiness-disabled` flags. + +==== + +==== Admin Client Pooling + +By default, the client-based strategy creates a dedicated Kafka Admin Client per channel, using client IDs that include the channel name (e.g. `kafka-admin-incoming-prices`, `kafka-admin-outgoing-orders`). +This makes it easy to identify each client in monitoring, logs, and ACLs. + +If your application has many channels sharing the same Kafka broker configuration, you can opt in to admin client pooling to reduce the number of connections: + +[source,properties] +---- +smallrye.messaging.kafka.admin-client.pooling.enabled=true +---- + +When pooling is enabled, channels with identical broker configurations share a single Admin Client instance, using counter-based client IDs (`smallrye-kafka-admin-1`, `smallrye-kafka-admin-2`, ...). + +To summarize for startup and readiness health checks: + +*Startup* + +[width="100%",cols="12%,50%,38%",options="header",] +|=== +| |Inbound |Outbound +|Metrics-based |`connection-count` metric ++>++ 0 or + + no subscribers to the stream |`connection-count` metric ++>++ 0 +|Client-based |Subscribed topic(s) exist in the broker and are available |Produced topic exist in the broker and is available +|=== + +*Readiness* + +[width="100%",cols="11%,56%,33%",options="header",] +|=== +| |Inbound |Outbound +|Metrics-based |`connection-count` metric ++>++ 0 or + + no subscribers to the stream |`connection-count` metric ++>++ 0 +|Client-based |Consumer has at least one partition assignment + + no subscribers to the stream |Cluster is acessible using the Kafka admin API +|=== + +== Liveness + +On the inbound side (receiving records from Kafka), the liveness check +verifies that: + +* no failures have been caught +* the client is connected to the broker + +On the outbound side (writing records to Kafka), the liveness check +verifies that: + +* no failures have been caught + +Note that a message processing failures _nacks_ the message which is +then handled by the failure-strategy. It the responsibility of the +failure-strategy to report the failure and influence the outcome of the +liveness checks. The `fail` failure strategy reports the failure and so +the liveness check will report the failure. diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/kafka.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/kafka.adoc new file mode 100644 index 000000000..dbe86b6d0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/kafka.adoc @@ -0,0 +1,47 @@ += Apache Kafka Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka connector adds support for Kafka to Reactive Messaging. With +it you can receive Kafka Records as well as write `message` into Kafka. + +https://kafka.apache.org/[Apache Kafka] is a popular distributed +streaming platform. It lets you: + +* Publish and subscribe to streams of records, similar to a message +queue or enterprise messaging system. +* Store streams of records in a fault-tolerant durable way. +* Process streams of records as they occur. + +The Kafka cluster stores streams of _records_ in categories called +_topics_. Each record consists of a _key_, a _value_, and a _timestamp_. + +For more details about Kafka, check the +https://kafka.apache.org/intro[documentation]. + +== Using the Kafka Connector + +To use the Kafka Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-kafka + {project-version} + +---- + +The connector name is: `smallrye-kafka`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-kafka + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-kafka +---- diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/kerberos.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/kerberos.adoc new file mode 100644 index 000000000..873617497 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/kerberos.adoc @@ -0,0 +1,22 @@ += Kerberos authentication +:version-root: ../ +include::{version-root}_attributes.adoc[] + +When using https://en.wikipedia.org/wiki/Kerberos_(protocol)[Kerberos] +authentication, you need to configure the connector with: + +* the security protocol set to `SASL++_++PLAINTEXT` +* the SASL mechanism set to `GSSAPI` +* the Jaas config configured with `Krb5LoginModule` +* the Kerberos service name + +The following snippet provides an example: + +[source,properties] +---- +kafka.bootstrap.servers=ip-192-168-0-207.us-east-2.compute.internal:9094 +kafka.sasl.mechanism=GSSAPI +kafka.security.protocol=SASL_PLAINTEXT +kafka.sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required doNotPrompt=true refreshKrb5Config=true useKeyTab=true storeKey=true keyTab="file:/opt/kafka/krb5/kafka-producer.keytab" principal="kafka-producer/ip-192-168-0-207.us-east-2.compute.internal@INTERNAL"; +kafka.sasl.kerberos.service.name=kafka +---- diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/protobuf-configuration.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/protobuf-configuration.adoc new file mode 100644 index 000000000..36e025d1e --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/protobuf-configuration.adoc @@ -0,0 +1,51 @@ += Using Google Protobuf serializer/deserializer +:version-root: ../ +include::{version-root}_attributes.adoc[] + +If you are using https://developers.google.com/protocol-buffers/[Protocol +Buffers] +serializer/deserializer, please note the following configuration +properties. + +== For https://docs.confluent.io/platform/current/schema-registry/serdes-develop/serdes-protobuf.html#serdes-and-formatter-protobuf[Confluent] Schema Registry + +Confluent protobuf library is `io.confluent:kafka-protobuf-serializer`. +Note that this library is not available in Maven Central, you need to +use the https://docs.confluent.io/clients-kafka-java/current/overview.html[Confluent Maven +repository]. + +=== Consumer + +[width="100%",cols="49%,51%",options="header",] +|=== +|Property |Recommended value +|value.deserializer |io.confluent.kafka.serializers.protobuf.KafkaProtobufDeserializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|mp.messaging.incoming.++[++channel++]++.specific.protobuf.value.type |your.package.DomainObjectKey$Key +|mp.messaging.incoming.++[++channel++]++.specific.protobuf.key.type |your.package.DomainObjectValue$Value +|=== + +Example: + +.... +mp.messaging.incoming.[channel].value.deserializer=io.confluent.kafka.serializers.protobuf.KafkaProtobufDeserializer +mp.messaging.incoming.[channel].schema.registry.url=http://{your_host}:{your_port}/ +mp.messaging.incoming.[channel].specific.protobuf.value.type=your.package.DomainObjectKey$Key +mp.messaging.incoming.[channel].specific.protobuf.key.type=your.package.DomainObjectValue$Value +.... + +=== Producer + +[width="100%",cols="24%,76%",options="header",] +|=== +|Property |Recommended value +|value.serializer |io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer +|schema.registry.url |http://%7Byour_host%7D:%7Byour_port%7D/ +|=== + +Example: + +.... +mp.messaging.outgoing.[channel].value.serializer=io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer +mp.messaging.outgoing.[channel].schema.registry.url=http://{your_host}:{your_port}/ +.... diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/receiving-kafka-records.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/receiving-kafka-records.adoc new file mode 100644 index 000000000..9fb15edc9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/receiving-kafka-records.adoc @@ -0,0 +1,1076 @@ += Receiving Kafka Records +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka Connector retrieves Kafka Records from Kafka Brokers and maps +each of them to Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a Kafka broker running, and accessible using the +`kafka:9092` address (by default it would use `localhost:9092`). +Configure your application to receive Kafka records from a Kafka _topic_ +on the `prices` channel as follows: + +[source,properties] +---- +kafka.bootstrap.servers=kafka:9092 # <1> + +mp.messaging.incoming.prices.connector=smallrye-kafka # <2> +mp.messaging.incoming.prices.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer # <3> +mp.messaging.incoming.prices.broadcast=true # <4> +---- + +[arabic] +. Configure the broker location. You can configure it globally or per +channel +. Configure the connector to manage the `prices` channel +. Sets the (Kafka) deserializer to read the record’s value +. Make sure that we can receive from more than one consumer (see +`KafkaPriceConsumer` and `KafkaPriceMessageConsumer` below) + +[NOTE] +==== + +You don’t need to set the Kafka topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. + +==== + +Then, your application receives `Message++<++Double++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaPriceMessageConsumer.java[indent=0] +---- + +== Deserialization + +The deserialization is handled by the underlying Kafka Client. You need +to configure the: + +* `mp.messaging.incoming.++[++channel-name++]++.value.deserializer` to +configure the value deserializer (mandatory) +* `mp.messaging.incoming.++[++channel-name++]++.key.deserializer` to configure +the key deserializer (optional, default to `String`) + +If you want to use a custom deserializer, add it to your `CLASSPATH` and +configure the associate attribute. + +In addition, the Kafka Connector also provides a set of _message +converters_. So you can receive _payloads_ representing records from +Kafka using: + +* link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/Record.html[`Record`] - a pair key/value +* https://kafka.apache.org/26/javadoc/index.html?org/apache/kafka/clients/consumer/ConsumerRecord.html[ConsumerRecord++<++K,V++>++] - +a structure representing the record with all its metadata + +[source,java] +---- +include::{examples-dir}/kafka/inbound/Converters.java[tags=code,indent=0] +---- + +== Inbound Metadata + +Messages coming from Kafka contains an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/IncomingKafkaRecordMetadata.html[`IncomingKafkaRecordMetadata`] +in the metadata. It provides the key, topic, partitions, +headers and so on: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a message produced from a Kafka record is acknowledged, the +connector invokes a _commit strategy_. These strategies decide when the +consumer offset for a specific topic/partition is committed. Committing +an offset indicates that all previous records have been processed. It is +also the position where the application would restart the processing +after a crash recovery or a restart. + +Committing every offset has performance penalties as Kafka offset +management can be slow. However, not committing the offset often enough +may lead to message duplication if the application crashes between two +commits. + +The Kafka connector supports three strategies: + +* `throttled` keeps track of received messages and commit to the next +offset after the latest _acked_ message in sequence. This strategy +guarantees _at-least-once delivery_ even if the channel performs +asynchronous processing. The connector tracks the received records +and periodically (period specified by `auto.commit.interval.ms` +(default: 5000)) commits the highest consecutive offset. The +connector will be marked as unhealthy if a message associated with a +record is not acknowledged in +`throttled.unprocessed-record-max-age.ms` (default: 60000). Indeed, +this strategy cannot commit the offset as soon as a single record +processing fails (see failure-strategy to configure what happens on +failing processing). If `throttled.unprocessed-record-max-age.ms` is +set to less than or equal to 0, it does not perform any health check +verification. Such a setting might lead to running out of memory if +there are poison pill messages. This strategy is the default if +`enable.auto.commit` is not explicitly set to `true`. ++ +The `throttled` strategy supports concurrent processing with ordering +guarantees using the `throttled.ordered` configuration. See +xref:#concurrent-processing-with-ordering-guarantees[Concurrent Processing with Ordering Guarantees] +for more details. +* `checkpoint` allows persisting consumer offsets on a "state store", +instead of committing them back to the Kafka broker. Using the +`CheckpointMetadata` API, consumer code can persist a processing +state with the offset to mark the progress of a consumer. +When the processing continues from a previously persisted offset, +it seeks the Kafka consumer to that offset and also restores the +persisted state, continuing the stateful processing from where it +left off. The `checkpoint` strategy holds locally the processing +state associated with the latest offset, and persists it +periodically to the state store (period specified by +`auto.commit.interval.ms` (default: 5000)). The connector will be +marked as unhealthy if no processing state is persisted to the state +store in `checkpoint.unsynced-state-max-age.ms` (default: 10000). +Using the `CheckpointMetadata` API the user code can force to persist +the state on message ack. If `checkpoint.unsynced-state-max-age.ms` +is set to less than or equal to 0, it does not perform any health +check verification. For more information, see +xref:#stateful-processing-with-checkpointing[Stateful processing with Checkpointing] +* `latest` commits the record offset received by the Kafka consumer as +soon as the associated message is acknowledged (if the offset is +higher than the previously committed offset). This strategy provides +_at-least-once_ delivery if the channel processes the message +without performing any asynchronous processing. This strategy should +not be used on high-load as offset commit is expensive. However, it +reduces the risk of duplicates. +* `ignore` performs no commit. This strategy is the default strategy +when the consumer is explicitly configured with `enable.auto.commit` +to `true`. It delegates the offset commit to the Kafka client. When +`enable.auto.commit` is `true` this strategy *DOES NOT* guarantee +at-least-once delivery. However, if the processing failed between +two commits, messages received after the commit and before the +failure will be re-processed. + +[IMPORTANT] +==== + +The Kafka connector disables the Kafka _auto commit_ if not explicitly +enabled. This behavior differs from the traditional Kafka consumer. + +==== + +If high-throughout is important for you, and not limited by the +downstream, we recommend to either: + +* Use the `throttled` policy +* or set `enable.auto.commit` to `true` and annotate the consuming +method with `@Acknowledgment(Acknowledgment.Strategy.NONE)` + +== Backpressure with Pause/Resume + +The Kafka connector automatically applies backpressure using the +`pause-if-no-requests` mechanism (default: `true`). +The connector buffers records fetched from Kafka and _pauses_ the +consumer when the buffer is full +(`max.poll.records ++*++ max-queue-size-factor`, default: 1000), +then _resumes_ when it drains to `max.poll.records` (default: 500). + +When paused, the connector does not stop polling the Kafka consumer. +Instead, it polls with a zero timeout so that no records are retrieved, +but the consumer continues to send heartbeats to the broker. +This prevents the consumer from being considered dead and kicked out +of the consumer group. + +For manual per-partition pause and resume, see the +xref:kafka/client-service.adoc#manual-partition-pauseresume[KafkaClientService] +section. + +== Concurrent Processing with Ordering Guarantees + +[WARNING] +.Experimental +==== + +Ordered concurrent processing is experimental, and APIs and features are subject to change. + +==== + +When processing Kafka messages concurrently (using `@Blocking(ordered = false)`), +you can configure ordering guarantees using the `ordered` attribute. + +=== Choosing a Commit Strategy + +* *`ordered=key`*: Messages from the same partition but with different keys can be acknowledged +out of order. Use `commit-strategy=throttled`, which tracks out-of-order acknowledgements and +commits offsets correctly. +* *`ordered=partition`*: Messages within a partition are processed sequentially, so +acknowledgements are always in order. This works with any commit strategy, including +`commit-strategy=ignore` for exactly-once transactional processing. + +=== Processing Order Modes + +* *`unordered`* (default): Messages are processed without any ordering guarantees, +allowing maximum concurrency across all partitions and keys. +* *`key`*: Messages with the same key from the same topic-partition are +processed sequentially, while messages with different keys or from different +partitions can be processed concurrently. This ensures per-key ordering within +each partition. +* *`partition`*: Messages from the same topic-partition are processed +sequentially, but messages from different partitions can be processed concurrently. +This ensures partition-level ordering while still allowing parallelism across +partitions. + +=== Examples + +Configure the `ordered` property and use the `@Blocking(ordered = false)` annotation +to enable concurrent processing with ordering guarantees: + +[source,properties] +---- +mp.messaging.incoming.orders.connector=smallrye-kafka +mp.messaging.incoming.orders.topic=orders +mp.messaging.incoming.orders.commit-strategy=throttled +mp.messaging.incoming.orders.ordered=key + +# Configure worker pool concurrency for thread pool size +smallrye.messaging.worker.order-pool.max-concurrency=10 + +# Configure merge concurrency (how many groups can process concurrently) +# Should typically match or be less than worker pool max-concurrency +mp.messaging.incoming.orders.ordered.max-concurrency=10 +---- + +[source,java] +---- +@Incoming("orders") +@Blocking(ordered = false, value = "order-pool") +public void processOrder(Order order) { + // Orders with the same key are processed sequentially + // Orders with different keys can be processed concurrently +} +---- + +For exactly-once transactional processing, use `ordered=partition` with `commit-strategy=ignore` +to avoid dual offset commits: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-kafka +mp.messaging.incoming.data.topic=data +mp.messaging.incoming.data.commit-strategy=ignore +mp.messaging.incoming.data.ordered=partition +---- + +In order to allow creating more groups (of keys or partitions) that can be processed concurrently, +each group buffers ordered messages to process. +The `max-queue-size-factor` (default: 2) attribute controls the buffer size per group, calculated as +`max.poll.records ++*++ max-queue-size-factor`. +The `ordered.max-concurrency` attribute controls how many groups can be processed concurrently. +If not set, it defaults to `max.poll.records`. +When buffers of all groups are full, backpressure is applied to pause consumption. + +[NOTE] +.Deprecation +==== + +The `throttled.ordered` and `throttled.ordered.max-concurrency` attributes are deprecated. +Use `ordered` and `ordered.max-concurrency` instead, which work with any commit strategy. + +==== + +== Failure Management + +If a message produced from a Kafka record is _nacked_, a failure +strategy is applied. The Kafka connector supports 3 strategies: + +* `fail` - fail the application, no more records will be processed. +(default) The offset of the record that has not been processed +correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. The +offset of the record that has not been processed correctly is +committed. +* `dead-letter-queue` - the offset of the record that has not been +processed correctly is committed, but the record is written to a +(Kafka) _dead letter queue_ topic. +* `delayed-retry-topic` - the offset of the record that has not been +processed correctly is still committed, but the record is written to +a series of Kafka topics for retrying the processing with some delay. +This allows retrying failed records by reconsuming them later without +blocking the processing of the latest records. + +The strategy is selected using the `failure-strategy` attribute. + +=== Dead Letter Queue + +In the case of `dead-letter-queue`, you can configure the following +attributes: + +* `dead-letter-queue.topic`: the topic to use to write the records not +processed correctly, default is `dead-letter-topic-$channel`, with +`$channel` being the name of the channel. +* `dead-letter-queue.producer-client-id`: the client id used by the kafka +producer when sending records to dead letter queue topic. If not specified +it will default to `kafka-dead-letter-topic-producer-$client-id`, with $client-id +being the value obtained from consumer client id. +* `dead-letter-queue.key.serializer`: the serializer used to write the +record key on the dead letter queue. By default, it deduces the +serializer from the key deserializer. +* `dead-letter-queue.value.serializer`: the serializer used to write +the record value on the dead letter queue. By default, it deduces +the serializer from the value deserializer. + +The record written on the dead letter topic contains the original +record’s headers, as well as a set of additional headers about the +original record: + +* `dead-letter-reason` - the reason of the failure (the `Throwable` +passed to `nack()`) +* `dead-letter-cause` - the cause of the failure (the `getCause()` of +the `Throwable` passed to `nack()`), if any +* `dead-letter-topic` - the original topic of the record +* `dead-letter-partition` - the original partition of the record +(integer mapped to String) +* `dead-letter-offset` - the original offset of the record (long +mapped to String) + +When using `dead-letter-queue`, it is also possible to change some +metadata of the record that is sent to the dead letter topic. To do +that, use the `Message.nack(Throwable, Metadata)` method: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaDeadLetterExample.java[tags=code,indent=0] +---- + +The `Metadata` may contain an instance of `OutgoingKafkaRecordMetadata`. +If the instance is present, the following properties will be used: + +* key; if not present, the original record’s key will be used +* topic; if not present, the configured dead letter topic will be used +* partition; if not present, partition will be assigned automatically +* headers; combined with the original record’s headers, as well as the +`dead-letter-++*++` headers described above + +=== Delayed Retry Topic + +[NOTE] +==== + +Delayed retry topic feature is experimental. + +==== + +The delayed retry topic strategy allows failed records to be automatically retried by forwarding them to a series of retry topics. +Each retry topic is associated with a specific delay time, which is expressed in milliseconds. +When a record processing fails, it is forwarded to the first retry topic. +The failure strategy then consumes these records and dispatches them to be retried again once the delay time of the topic has elapsed. + +If the processing of a record fails again, the message is forwarded to the next topic in the list, with possibly a longer delay time. +If the processing of a record keeps failing, it will eventually be abandoned. +Alternatively, if the `dead-letter-queue.topic` property is configured, the record will be sent to the dead letter queue. + +The Kafka producer client used when forwarding records to retry topics can be configured using the _dead-letter-queue_ properties +namely, `dead-letter-queue.producer-client-id`, `dead-letter-queue.key.serializer` and `dead-letter-queue.value.serializer`. + +Delayed retry topics and delays can be configured with following attributes: + +* `delayed-retry-topic.topics` : +The comma-separated list of retry topics, each one suffixed with `++_[++DELAY++_++IN++_++MILLISECONDS++]++` for indicating the delay time. +For example, `my++_++retry++_++topic++_++2000,my++_++retry++_++topic++_++4000,my++_++retry++_++topic++_++10000` will use three topics +_my++_++retry++_++topic++_++2000_, _my++_++retry++_++topic++_++4000_ and _my++_++retry++_++topic++_++10000_, with 2000ms 4000ms and 10000ms respectively. ++ +If not configured the source channel name is used, with 10, 20 and 50 seconds of delay, +ex. for a channel named `source`, retry topics will be `source++_++retry++_++10000`, `source++_++retry++_++20000`, `source++_++retry++_++50000`. +* `delayed-retry-topic.max-retries` : +The maximum number of retries before abandoning the retries. +If configured higher than the number of retry topics the last topic is used until maximum number of retries is reached. +This can be configured to use a single retry topic with a fixed delay and multiple retries. ++ +For example, `delayed-retry-topic.topics=source++_++retry++_++10000` and `delayed-retry-topic.max-retries=4` will forward failed records +to the topic _source++_++retry++_++10000_ with maximum of 4 retries. +* `delayed-retry-topic.timeout` : +The global timeout in milliseconds for a retried record. +The timeout is calculated from the first failure for a record. +If the next retry will reach the timeout, instead of forwarding to the retry topic the retry is abandoned and, +if configured, the record is forwarded to the dead letter queue. ++ +The default is 120 seconds. + +[IMPORTANT] +==== + +While you can use xref:#retrying-processing[Smallrye Fault Tolerance to retry processing], +it will block the processing of further messages until the retried record is processed successfully, or abandoned. + +Delayed retry topic failure strategy allows effectively implementing non-blocking retries. +But it will not preserve the order of messages inside a topic-partition. + +==== + +The record written on the delayed retry topics will preserve the key and partition of the original record. +It also contains the original record’s headers, as well as a set of additional headers about the original record: + +* `delayed-retry-count` the current number of retries +* `delayed-retry-original-timestamp` the original timestamp of the record +* `delayed-retry-first-processing-timestamp` the first processing timestamp of the record +* `delayed-retry-reason` the reason of the failure (the `Throwable` passed to `nack()`) +* `delayed-retry-cause` the cause of the failure (the `getCause()` of the `Throwable` passed to `nack()`), if any +* `delayed-retry-topic` the original topic of the record +* `delayed-retry-partition` the original partition of the record +* `delayed-retry-offset` the original offset of the record +* `delayed-retry-exception-class-name` the class name of the throwable passed to `nack()` +* `delayed-retry-cause-class-name` the class name of the the `getCause()` of the `Throwable` passed to `nack()`, if any + +As for the dead letter queue it is possible to change forwarded values by providing a `OutgoingKafkaRecordMetadata` +when the message is nacked using `Message.nack(Throwable, Metadata)`. + +[NOTE] +.Multiple partitions +==== + +The delayed retry topic strategy does not create retry topics automatically. +If the source topic has multiple partitions, delayed retry and dead letter queue topics would need to be setup with the same number of partitions. + +It is possible to scale consumer application instances according to the number of partitions. +But it is not guaranteed that the retry topics consumer will be assigned the same partition(s) as the main topic consumer. +Therefore, retry processing of a record can happen in an other instance. + +==== + +== Custom commit and failure strategies + +In addition to provided strategies, it is possible to implement custom +commit and failure strategies and configure Kafka channels with them. + +For example, for a custom commit strategy, implement the +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/commit/KafkaCommitHandler.html[`KafkaCommitHandler`] interface, +and provide a managed bean implementing the `KafkaCommitHandler.Factory` interface, +identified using `@Identifier` qualifier. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaCustomCommit.java[indent=0] +---- + +Finally, to use the custom commit strategy, +set the `commit-strategy` attribute to the identifier of the commit handler factory: +`mp.messaging.incoming.$channel.commit-strategy=custom`. +Similarly, custom failure strategies can be configured using `failure-strategy` attribute. + +[NOTE] +==== + +If the custom strategy implementation inherits +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/commit/ContextHolder.html[`ContextHolder`] class it can access the +Vert.x event-loop context created for the Kafka consumer + +==== + +== Retrying processing + +You can combine Reactive Messaging with https://github.com/smallrye/smallrye-fault-tolerance[SmallRye Fault +Tolerance], and +retry processing when it fails: + +[source,java] +---- +@Incoming("kafka") +@Outgoing("processed") +@Retry(delay = 10, maxRetries = 5) +public String process(String v) { + // ... retry if this method throws an exception +} +---- + +You can configure the delay, the number of retries, the jitter... + +If your method returns a `Uni`, you need to add the `@NonBlocking` +annotation: + +[source,java] +---- +@Incoming("kafka") +@Outgoing("processed") +@Retry(delay = 10, maxRetries = 5) +@NonBlocking +public Uni process(String v) { + // ... retry if this method throws an exception or the returned Uni produce a failure +} +---- + +The incoming messages are acknowledged only once the processing +completes successfully. So, it commits the offset after the successful +processing. If after the retries the processing still failed, the +message is _nacked_ and the failure strategy is applied. + +You can also use `@Retry` on methods only consuming incoming messages: + +[source,java] +---- +@Incoming("kafka") +@Retry(delay = 10, maxRetries = 5) +public void consume(String v) { + // ... retry if this method throws an exception +} +---- + +== Handling deserialization failures + +Because deserialization happens before creating a `Message`, the failure +strategy presented above cannot be applied. However, when a +deserialization failure occurs, you can intercept it and provide a +fallback value. To achieve this, create a CDI bean implementing the +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/DeserializationFailureHandler.html[`DeserializationFailureHandler`] +interface: + +[source,java] +---- +@ApplicationScoped +@Identifier("failure-retry") // Set the name of the failure handler +public class MyDeserializationFailureHandler + implements DeserializationFailureHandler { // Specify the expected type + + @Override + public JsonObject decorateDeserialization(Uni deserialization, + String topic, boolean isKey, String deserializer, byte[] data, + Headers headers) { + return deserialization + .onFailure().retry().atMost(3) + .await().atMost(Duration.ofMillis(200)); + } +} +---- + +The bean must be exposed with the `@Identifier` qualifier specifying the +name of the bean. Then, in the connector configuration, specify the +following attribute: + +* `mp.messaging.incoming.$channel.key-deserialization-failure-handler`: +name of the bean handling deserialization failures happening for the +record’s key +* `mp.messaging.incoming.$channel.value-deserialization-failure-handler`: +name of the bean handling deserialization failures happening for the +record’s value, + +The handler is called with the deserialization action as a `Uni++<++T++>++`, the +record’s topic, a boolean indicating whether the failure happened on a +key, the class name of the deserializer that throws the exception, the +corrupted data, the exception, and the records headers augmented with +headers describing the failure (which ease the write to a dead letter). +On the deserialization `Uni` failure strategies like retry, providing a +fallback value or applying timeout can be implemented. Note that the +method must await on the result and return the deserialized object. +Alternatively, the handler can only implement +`handleDeserializationFailure` method and provide a fallback value, +which may be `null`. + +If you don’t configure a deserialization failure handlers and a +deserialization failure happens, the application is marked unhealthy. +You can also ignore the failure, which will log the exception and +produce a `null` value. To enable this behavior, set the +`mp.messaging.incoming.$channel.fail-on-deserialization-failure` +attribute to `false`. + +If the `fail-on-deserialization-failure` attribute is set to `false` and +the `failure-strategy` attribute is `dead-letter-queue` the failed record +will be sent to the corresponding _dead letter queue_ topic. +The forwarded record will have the original key and value, +and the following headers set: + +* `deserialization-failure-reason`: The deserialization failure message +* `deserialization-failure-cause`: The deserialization failure cause if any +* `deserialization-failure-key`: Whether the deserialization failure happened on a key +* `deserialization-failure-topic`: The topic of the incoming message when a deserialization failure happen +* `deserialization-failure-deserializer`: The class name of the underlying deserializer +* `deserialization-failure-key-data`: If applicable the key data that was not able to be deserialized +* `deserialization-failure-value-data`: If applicable the value data that was not able to be deserialized + +== Receiving Cloud Events + +The Kafka connector supports https://cloudevents.io/[Cloud Events]. +When the connector detects a _structured_ or _binary_ Cloud Events, it +adds a link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/IncomingKafkaCloudEventMetadata.html[`IncomingKafkaCloudEventMetadata`] in the metadata of the +Message. `IncomingKafkaCloudEventMetadata` contains the various (mandatory and optional) Cloud Event attributes. + +If the connector cannot extract the Cloud Event metadata, it sends the +Message without the metadata. + +=== Binary Cloud Events + +For `binary` Cloud Events, *all* mandatory Cloud Event attributes must +be set in the record header, prefixed by `ce++_++` (as mandated by the +https://github.com/cloudevents/spec/blob/v1.0/kafka-protocol-binding.md[protocol +binding]). +The connector considers headers starting with the `ce++_++` prefix but not +listed in the specification as extensions. You can access them using the +`getExtension` method from `IncomingKafkaCloudEventMetadata`. You can +retrieve them as `String`. + +The `datacontenttype` attribute is mapped to the `content-type` header +of the record. The `partitionkey` attribute is mapped to the record’s +key, if any. + +Note that all headers are read as UTF-8. + +With binary Cloud Events, the record’s key and value can use any +deserializer. + +=== Structured Cloud Events + +For `structured` Cloud Events, the event is encoded in the record’s +value. Only JSON is supported, so your event must be encoded as JSON in +the record’s value. + +Structured Cloud Event must set the `content-type` header of the record +to `application/cloudevents` or prefix the value with +`application/cloudevents` such as: +`application/cloudevents{plus}json; charset=UTF-8`. + +To receive structured Cloud Events, your value deserializer must be: + +* `org.apache.kafka.common.serialization.StringDeserializer` +* `org.apache.kafka.common.serialization.ByteArrayDeserializer` +* `io.vertx.kafka.client.serialization.JsonObjectDeserializer` + +As mentioned previously, the value must be a valid JSON object +containing at least all the mandatory Cloud Events attributes. + +If the record is a structured Cloud Event, the created Message’s payload +is the Cloud Event `data`. + +The `partitionkey` attribute is mapped to the record’s key if any. + +== Consumer Rebalance Listener + +To handle offset commit and assigned partitions yourself, you can +provide a consumer rebalance listener. To achieve this, implement the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface, make the implementing class a bean, and add the `@Identifier` +qualifier. A usual use case is to store offset in a separate data store +to implement exactly-once semantic, or starting the processing at a +specific offset. + +The listener is invoked every time the consumer topic/partition +assignment changes. For example, when the application starts, it invokes +the `partitionsAssigned` callback with the initial set of +topics/partitions associated with the consumer. If, later, this set +changes, it calls the `partitionsRevoked` and `partitionsAssigned` +callbacks again, so you can implement custom logic. + +Note that the rebalance listener methods are called from the Kafka +_polling_ thread and must block the caller thread until completion. +That’s because the rebalance protocol has synchronization barriers, and +using asynchronous code in a rebalance listener may be executed after +the synchronization barrier. + +When topics/partitions are assigned or revoked from a consumer, it +pauses the message delivery and restarts once the rebalance completes. + +If the rebalance listener handles offset commit on behalf of the user +(using the `ignore` commit strategy), the rebalance listener *must* +commit the offset synchronously in the `partitionsRevoked` callback. We +also recommend applying the same logic when the application stops. + +Unlike the `ConsumerRebalanceListener` from Apache Kafka, the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +methods pass the Kafka `Consumer` and the set of topics/partitions. + +=== Example + +In this example we set-up a consumer that always starts on messages from +at most 10 minutes ago (or offset 0). First we need to provide a bean +that implements the +`io.smallrye.reactive.messaging.kafka.KafkaConsumerRebalanceListener` +interface and is annotated with `@Identifier`. We then must configure +our inbound connector to use this named bean. + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumerRebalanceListener.java[indent=0] +---- + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRebalancedConsumer.java[indent=0] +---- + +To configure the inbound connector to use the provided listener we +either set the consumer rebalance listener’s name: + +* `mp.messaging.incoming.rebalanced-example.consumer-rebalance-listener.name=rebalanced-example.rebalancer` + +Or have the listener’s name be the same as the group id: + +* `mp.messaging.incoming.rebalanced-example.group.id=rebalanced-example.rebalancer` + +Setting the consumer rebalance listener’s name takes precedence over +using the group id. + +== Receiving Kafka Records in Batches + +By default, incoming methods receive each Kafka record individually. +Under the hood, Kafka consumer clients poll the broker constantly and +receive records in batches, presented inside the `ConsumerRecords` +container. + +In *batch* mode, your application can receive all the records returned +by the consumer *poll* in one go. + +To achieve this you need to set +`mp.messaging.incoming.$channel.batch=true` *and* specify a compatible +container type to receive all the data: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchPayloadExample.java[tags=code,indent=0] +---- + +The incoming method can also receive `Message++<++List++<++Payload++>++` or `ConsumerRecords++<++Key, Payload++>++` types, They +give access to record details such as offset or timestamp : + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchExample.java[tags=code,indent=0] +---- + +Note that the successful processing of the incoming record batch will +commit the latest offsets for each partition received inside the batch. +The configured commit strategy will be applied for these records only. + +Conversely, if the processing throws an exception, all messages are +_nacked_, applying the failure strategy for all the records inside the +batch. + +=== Accessing metadata of batch records + +When receiving records in batch mode, the metadata of each record is accessible through the `IncomingKafkaRecordBatchMetadata` : + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaRecordBatchExample.java[tags=batch,indent=0] +---- + +Like in this example, this can be useful to propagate the tracing information of each record. + +== Manual topic-partition assignment + +The default behavior of Kafka incoming channels is to subscribe to one or more topics in order to receive records from the Kafka broker. +Channel attributes `topic` and `topics` allow specifying topics to subscribe to, +or `pattern` attribute allows to subscribe to all topics matching a regular expression. +Subscribing to topics allows partitioning consumption of topics by dynamically assigning (rebalancing) partitions between members of a consumer group. + +The `assign-seek` configuration attribute allows manually assigning topic-partitions to a Kafka incoming channel, +and optionally seek to a specified offset in the partition to start consuming records. +If `assign-seek` is used, the consumer will not be dynamically subscribed to topics, +but instead will statically assign the described partitions. +In manual topic-partition rebalancing doesn't happen and therefore rebalance listeners are never called. + +The attribute takes a list of triplets separated by commas: `++<++topic++>++:++<++partition++>++:++<++offset++>++`. + +For example, the following configuration + +[source,properties] +---- +mp.messaging.incoming.data.assign-seek=topic1:0:10, topic2:1:20 +---- + +assigns the consumer to: +- Partition 0 of topic 'topic1', setting the initial position at offset 10. +- Partition 1 of topic 'topic2', setting the initial position at offset 20. + +The topic, partition, and offset in each triplet can have the following variations: +- If the topic is omitted, the configured `topic` will be used. +- If the offset is omitted, partitions are assigned to the consumer but won't be seeked to offset. +- If offset is 0, it seeks to the beginning of the topic-partition. +- If offset is -1, it seeks to the end of the topic-partition. + +== Stateful processing with Checkpointing + +[CAUTION] +.Deprecated +==== + +Checkpointing is deprecated and will be removed in a future version. + +==== + +The `checkpoint` commit strategy allows for a Kafka incoming channel to +manage topic-partition offsets, not by committing on the Kafka broker, +but by persisting consumers' advancement on a +xref:#implementing-state-stores[_state store_]. + +In addition to that, if the consumer builds an internal state as +a result of consumed records, the topic-partition offset persisted +to the state store can be associated with a _processing state_, +saving the local state to the persistent store. When a consumer +restarts or consumer group instances scale, i.e. when new partitions +get assigned to the consumer, the checkpointing works by resuming the +processing from the latest offset and its saved state. + +The `@Incoming` channel consumer code can manipulate the processing +state through the `CheckpointMetadata` API: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaCheckpointExample.java[tags=code,indent=0] +---- + +The `transform` method allows applying a transformation function to +the current state, producing a changed state and registering it +locally for checkpointing. By default, the local state is synced +(persisted) to the state store periodically, period specified by +`auto.commit.interval.ms`, (default: 5000). If `persistOnAck` flag +is given, the latest state is persisted to the state store eagerly +on message acknowledgment. The `setNext` method works similarly +directly setting the latest state. + +The `checkpoint` commit strategy tracks when a processing state +is last persisted for each topic-partition. If an outstanding state +change can not be persisted for `checkpoint.unsynced-state-max-age.ms` +(default: 10000), the channel is marked unhealthy. + +Where and how processing states are persisted is decided by the +state store implementation. This can be configured on the incoming +channel using `checkpoint.state-store` configuration property, +using the state store factory identifier name. +The serialization of state objects depends on the state store +implementation. In order to instruct state stores for serialization +can require configuring the type name of state objects +using `checkpoint.state-type` property. + +In order to keep Smallrye Reactive Messaging free of persistence-related +dependencies, this library includes only a default state store named `file`. +It is based on Vert.x Filesystem API and stores the processing state +in Json formatted files, in a local directory configured by the +`checkpoint.file.state-dir` property. State files follow the naming +scheme `++[++consumer-group-id++]++:++[++topic++]++:++[++partition++]++`. + +=== Implementing State Stores + +State store implementations are required to implement `CheckpointStateStore` +interface, and provide a managed bean implementing +`CheckpointStateStore.Factory`, identified with `@Identifier` bean +qualifier indicating the name of the state-store. +The factory bean identifier indicates the name to configure on +`checkpoint.state-store` config property. +The factory is discovered as a CDI managed bean and state store is +created once per channel: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/MyCheckpointStateStore.java[indent=0] +---- + +The checkpoint commit strategy calls the state store in following events: + +* `fetchProcessingState` : on partitions assigned, to seek the consumer to the latest offset. +* `persistProcessingState` on partitions revoked, to persist the state of last processed record. +* `persistProcessingState` on message acknowledgement, if a new state is set during the processing and `persistOnAck` flag is set. +* `persistProcessingState` on `auto.commit.interval.ms` intervals, if a new state is set during processing. +* `persistProcessingState` on channel shutdown. +* `close` on channel shutdown. + +== Receiving Kafka Records Using Kafka Queues (Share Groups) + +[WARNING] +.Experimental +==== + +Kafka Queues (Share Groups) support is experimental. + +==== + +https://cwiki.apache.org/confluence/display/KAFKA/KIP-932[Kafka Share Groups] provide a new consumption model where records from a topic are cooperatively distributed across consumers without explicit partition assignment. +Unlike traditional consumer groups, share groups do not require managing offsets or partition rebalancing -- the broker handles record distribution and acquisition locks automatically. + +This is useful for *queue-like* workloads where you want records to be processed by exactly one consumer in a group, without worrying about partition count or consumer coordination. + +=== Enabling Share Groups + +To enable share group consumption on a channel, set the `share-group.enabled` attribute to `true`: + +[source,properties] +---- +mp.messaging.incoming.queue.connector=smallrye-kafka +mp.messaging.incoming.queue.topic=prices +mp.messaging.incoming.queue.value.deserializer=org.apache.kafka.common.serialization.DoubleDeserializer +mp.messaging.incoming.queue.share-group.enabled=true # <1> +---- + +[arabic] +. Enables share group consumption for this channel. + +Then consume records as usual: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupConsumer.java[indent=0] +---- + +By default, successfully processed records are acknowledged with `ACCEPT`. +If the processing method throws an exception, the record is released (`RELEASED`) and will be attempted for re-delivery. + +=== Controlling Acknowledgement + +Share groups support four acknowledgement types for each record: + +* *`ACCEPT`* Record processed successfully (default on ack). +* *`RELEASE`* Record could not be processed; release it for re-delivery to another consumer (default on nack). +* *`REJECT`* Record is permanently rejected and will not be re-delivered. +* *`RENEW`* Extend the acquisition lock for long-running processing (managed automatically when processing timeout is enabled). + +You can control the acknowledgement type using the `ShareGroupAcknowledgement` metadata, which is injected as a parameter in the consuming method: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupAckExample.java[tags=code,indent=0] +---- + +When the message is acked (or method completes normally), the connector uses the acknowledgement type set on `ShareGroupAcknowledgement`. +If no type is explicitly set, the default is `ACCEPT`. + +When calling `nack()` on the `Message`, you can pass the desired acknowledgement type via metadata: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupNackExample.java[tags=code,indent=0] +---- + +If no metadata is provided on nack, the default acknowledgement type is `RELEASE`. +This can be changed using the `share-group.failure-acknowledgement-type` attribute: + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.share-group.failure-acknowledgement-type=reject # <1> +---- + +[arabic] +. Nacked records are permanently rejected instead of released for re-delivery. + +=== Handling Deserialization Failures + +When `fail-on-deserialization-failure` is set to `false`, records that fail deserialization are not forwarded to the consumer method. +They are automatically nacked using the acknowledgement type configured by `share-group.failure-deserialization-acknowledgement-type` (default: `reject`). + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.fail-on-deserialization-failure=false # <1> +mp.messaging.incoming.queue.share-group.failure-deserialization-acknowledgement-type=reject # <2> +---- + +[arabic] +. Deserialization failures do not kill the application. +. Records that fail deserialization are permanently rejected (default). + +A custom `DeserializationFailureHandler` can override the acknowledgement type per record by setting the `deserialization-failure-share-ack-type` header +to the set `AcknowledgeType` value (e.g., `RELEASE`, `REJECT`, `ACCEPT`). + +=== Acquisition Lock Renewal and Processing Timeout + +Each record acquired by a share group consumer has a time-limited *acquisition lock* (default 30 seconds, configured on the broker via `group.share.record.lock.duration.ms`). +If the consumer does not acknowledge the record before the lock expires, the broker automatically releases it for re-delivery. + +The connector can periodically send `RENEW` acknowledgements to extend the lock for records still being processed. +This is controlled by the `share-group.unprocessed-record-max-age.ms` attribute: + +* When set to a value greater than `0` (default: `60000`), the connector enables *processing timeout monitoring*: +** Records still in progress are periodically renewed to prevent lock expiry. +** If a record exceeds the configured timeout, the connector reports a failure and marks the channel as unhealthy. +* When set to `0`, processing timeout monitoring is disabled. No `RENEW` acknowledgements are sent. If processing exceeds the broker's lock duration, the record will be automatically released and re-delivered. + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.share-group.unprocessed-record-max-age.ms=30000 # <1> +---- + +[arabic] +. Records not processed within 30 seconds trigger a failure report. + +=== Batch Mode + +Share groups support batch consumption. Set `batch=true` to receive all records from a single poll as a batch: + +[source,properties] +---- +mp.messaging.incoming.queue.share-group.enabled=true +mp.messaging.incoming.queue.batch=true +---- + +When a batch is acknowledged, all individual records in the batch are acknowledged. +When a batch is nacked, all records are nacked with the specified acknowledgement type. + +You can control the acknowledgement type per record within a batch using the `ShareGroupAcknowledgement` metadata accessible through `IncomingKafkaRecordBatchMetadata`: + +[source,java] +---- +include::{examples-dir}/kafka/inbound/KafkaShareGroupBatchAckExample.java[tags=code,indent=0] +---- + +Each record in the batch has its own `ShareGroupAcknowledgement` instance. +When the batch is acked, each record is individually acknowledged using its configured type. +This allows accepting some records while rejecting or releasing others within the same batch. + +=== Incompatible Configuration + +The following configuration attributes are not supported with share groups and will be ignored: + +* `pattern` Share groups subscribe to explicit topics only. +* `assign-seek` Share groups do not support manual partition assignment. +* `partitions` Share groups handle record distribution automatically; multiple consumer instances are not needed. +* `commit-strategy` Share groups use their own acknowledgement mechanism. +* `failure-strategy` Share groups use their own failure handling based on `AcknowledgeType`. +* `consumer-rebalance-listener.name` Share groups do not have traditional partition rebalancing. + +If any of these are configured alongside `share-group.enabled=true`, a warning is logged at startup. + +== Configuration Reference + +include::{generated-dir}/smallrye-kafka-incoming.adoc[indent=0] + +You can also pass any property supported by the underlying https://kafka.apache.org/documentation/#consumerconfigs[Kafka +consumer]. + +For example, to configure the `max.poll.records` property, use: + +[source,properties] +---- +mp.messaging.incoming.[channel].max.poll.records=1000 +---- + +Some consumer client properties are configured to sensible default +values: + +If not set, `reconnect.backoff.max.ms` is set to `10000` to avoid high +load on disconnection. + +If not set, `key.deserializer` is set to +`org.apache.kafka.common.serialization.StringDeserializer`. + +The consumer `client.id` is configured according to the number of +clients to create. + +[WARNING] +.Deprecated +==== + +The `partitions` property (`mp.messaging.incoming.++[++channel++]++.partitions`) and the associated `requests` property are *deprecated*. +Use the `concurrency` channel attribute instead, which creates distinct indexed channels with their own consumer. + +==== + +* If a `client.id` is provided, it is used as-is or suffixed with +client index if the deprecated `partitions` property is set. +* If a `client.id` is not provided, it is generated as +`kafka-consumer-++[++channel++][++-index++]++`. diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/request-reply.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/request-reply.adoc new file mode 100644 index 000000000..4aedd2cc9 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/request-reply.adoc @@ -0,0 +1,175 @@ += Kafka Request/Reply +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Tech Preview +==== + +Kafka Request Reply Emitter is a tech preview feature. + +==== + +The Kafka https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html[Request-Reply] pattern allows you to publish a message to a Kafka topic and then await for a reply message that responds to the initial request. + +The `KafkaRequestReply` emitter implements the requestor (or the client) of the request-reply pattern for Kafka outbound channels: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRequestReplyEmitter.java[indent=0] +---- + +The `request` method publishes the request record to the configured target topic of the outgoing channel, +and polls a reply topic (by default, the target topic with `-replies` suffix) for a reply record. +When the reply is received the returned `Uni` is completed with the record value. + +The request send operation generates a correlation id and sets a header (by default `REPLY++_++CORRELATION++_++ID`), +which it expects to be sent back in the reply record. Two additional headers are set on the request record: + +* The topic from which the reply is expected, by default `REPLY++_++TOPIC` header, +which can be configured using the `reply.topic` channel attribute. +* Optionally, the partition from which the reply is expected, by default `REPLY++_++PARTITION` header. +The reply partition header is added only when the Kafka request reply is configured specifically to receive records from a topic-partition +, using the `reply.partition` channel attribute. +The reply partition header integer value is encoded in 4 bytes, +and helper methods `KafkaRequestReply#replyPartitionFromBytes` and `KafkaRequestReply#replyPartitionToBytes` can be used for custom operations. + +The replier (or the server) can be implemented using a Reactive Messaging processor: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaReplier.java[indent=0] +---- + +Kafka outgoing channels detect default `REPLY++_++CORRELATION++_++ID`, `REPLY++_++TOPIC` and `REPLY++_++PARTITION` headers +and send the reply record to the expected topic-partition by propagating back the correlation id header. + +Default headers can be configured, using `reply.correlation-id.header`, `reply.topic.header` and `reply.partition.header` channel attributes. +If custom headers are used the reply server needs some more manual work. +Given the following request/reply outgoing configuration: + +[source,properties] +---- +mp.messaging.outgoing.reqrep.topic=requests +mp.messaging.outgoing.reqrep.reply.correlation-id.header=MY_CORRELATION +mp.messaging.outgoing.reqrep.reply.topic.header=MY_TOPIC +mp.messaging.outgoing.reqrep.reply.partition.header=MY_PARTITION +mp.messaging.incoming.request.topic=requests +---- + +The reply server can be implemented as the following: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCustomHeaderReplier.java[indent=0] +---- + +== Requesting with `Message` types + +Like the core Emitter's `send` methods, `request` method also can receive a `Message` type and return a message: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRequestReplyMessageEmitter.java[indent=0] +---- + +[NOTE] +==== + +The ingested reply type of the `KafkaRequestReply` is discovered at runtime, +in order to configure a `MessageConveter` to be applied on the incoming message before returning the `Uni` result. + +==== + +== Requesting multiple replies + +You can use the `requestMulti` method to expect any number of replies represented by the `Multi` return type. + +For example this can be used to aggregate multiple replies to a single request. + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRequestReplyMultiEmitter.java[indent=0] +---- + +Like the other `request` you can also request `Message` types. + +[NOTE] +==== + +The channel attribute `reply.timeout` will be applied between each message, if reached the returned `Multi` will +fail. + +==== + +== Scaling Request/Reply + +If multiple requestor instances are configured on the same outgoing topic, and the same reply topic, +each requestor consumer will generate a unique consumer group.id and +therefore all requestor instances will receive replies of all instances. If an observed correlation id doesn't match +the id of any pending replies, the reply is simply discarded. +With the additional network traffic this allows scaling requestors, (and repliers) dynamically. + +Alternatively, requestor instances can be configured to consume replies from dedicated topics using `reply.topic` attribute, +or distinct partitions of a single topic, using `reply.partition` attribute. +The later will configure the Kafka consumer to assign statically to the given partition. + +== Pending replies and reply timeout + +By default, the `Uni` returned from the `request` method is configured to fail with timeout exception if no replies is received after 5 seconds. +This timeout is configurable with the channel attribute `reply.timeout`. + +A snapshot of the list of pending replies is available through the `KafkaRequestReply#getPendingReplies` method. + +== Waiting for topic-partition assignment + +The requestor can be found in a position where a request is sent, and it's reply is already published to the reply topic, +before the requestor starts and polls the consumer. +In case the reply consumer is configured with `auto.offset.reset=latest`, which is the default value, this can lead to the requestor missing replies. + +If `auto.offset.reset` is `latest`, at wiring time, before any request can take place, the `KafkaRequestReply` +finds partitions that the consumer needs to subscribe and waits for their assignment to the consumer. +The timeout of the initial subscription can be adjusted with `reply.initial-assignment-timeout` which defaults to the `reply.timeout`. +If this timeout fails, `KafkaRequestReply` will enter an invalid state which will require it to be restarted. +If set to `-1`, the `KafkaRequestReply` will not wait for the initial assignment of the reply consumer to sent requests. + +On other occasions the `KafkaRequestReply#waitForAssignments` method can be used. + +== Correlation Ids + +The Kafka Request/Reply allows configuring the correlation id mechanism completely through a `CorrelationIdHandler` implementation. +The default handler is based on randomly generated UUID strings, written to byte array in Kafka record headers. +The correlation id handler implementation can be configured using the `reply.correlation-id.handler` attribute. +As mentioned the default configuration is `uuid`, +and an alternative `bytes` implementation can be used to generate 12 bytes random correlation ids. + +Custom handlers can be implemented by proposing a CDI-managed bean with `@Identifier` qualifier. + +== Reply Error Handling + +If the reply server produces an error and can or would like to propagate the error back to the requestor, failing the returned `Uni`. + +If configured using the `reply.failure.handler` channel attribute, +the `ReplyFailureHandler` implementations are discovered through CDI, matching the `@Identifier` qualifier. + +A sample reply error handler can lookup header values and return the error to be thrown by the reply: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/MyReplyFailureHandler.java[indent=0] +---- + +`null` return value indicates that no error has been found in the reply record, and it can be delivered to the application. + +== Advanced configuration for the Kafka consumer + +The underlying Kafka consumer can be configured with the `reply` property prefix. +For example the underlying Kafka consuemer can be configured to batch mode using: + +[source,properties] +---- +mp.messaging.outgoing.reqrep.topic=requests +mp.messaging.outgoing.reqrep.reply.topic=quote-results +mp.messaging.outgoing.reqrep.reply.batch=true +mp.messaging.outgoing.reqrep.reply.commit-strategy=latest +---- diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/test-companion.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/test-companion.adoc new file mode 100644 index 000000000..d25aa111f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/test-companion.adoc @@ -0,0 +1,158 @@ += Kafka Companion +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +Kafka Companion is experimental and APIs are subject to change in the future. + +==== + +The *Kafka Companion* is a separate Java library for helping to test Kafka applications. +It is not intended to mock Kafka, but to the contrary, connect to a Kafka broker and provide high-level features. + +It is not limited to the SmallRye Reactive Messaging testing, but intends to improve the testability of applications using Kafka. Some of its features: + +* Running In-container Kafka broker for tests via https://github.com/strimzi/test-container[strimzi-test-container]. +* Running the Kafka broker behind a https://github.com/Shopify/toxiproxy[toxiproxy] for simulating network issues. +* Running embedded Kafka Kraft broker for tests. +* Base classes for tests to bootstrap tests. +* Companion classes for easily creating tasks to produce and consume Kafka records. +* Writing assertions for produce and consume tasks, state of consumers, topics, offsets etc. + +== Getting started writing tests + +Easiest way of starting to write Kafka tests is to extend `KafkaCompanionTestBase`. +It starts a single-node Kafka broker for the test suite using testcontainers and creates the `KafkaCompanion` to connect to this broker: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaWithBaseTest.java[tags=code,indent=0] +---- + +`KafkaCompanion` can be used on its own to connect to a broker: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaTest.java[tags=companion,indent=0] +---- + +There are a couple of things to note on how Kafka companion handles *producers*, *consumers* and *tasks*: + +`ProducerBuilder` and `ConsumerBuilder` lazy descriptions of with which configuration to create a producer or a consumer. + +`ProducerTask` and `ConsumerTask` run asynchronously on dedicated threads and are started as soon as they are created. +A task terminates when it is explicitly stopped, when it's predefined duration or number of records has been produced/consumed, or when it encounters an error. +An exterior thread can await on records processed, or simply on termination of the task. +At a given time produced or consumed records are accessible through the task. + +The actual creation of the producer or consumer happens when a task is started. When the task terminates the producer or the consumer is automatically closed. + +For example, in the previous example: + +[arabic] +. We described a producer with a client id `my-producer` and `max.block.ms` of 5 seconds. +. Then we created a task to produce 100 records using the generator function, without waiting for its completion. +. We then described a consumer with group id `my-group` and which commits offset synchronously on every received record. +. Finally, we created a task to consume records for 10 seconds and await its completion. + +== Producing records + +=== Produce from records + +Produce given records: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=records,indent=0] +---- + +=== Produce from generator function + +Produce 10 records using the generator function: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=generator,indent=0] +---- + +=== Produce from CSV file + +Given a comma-separated file `records.csv` with the following content + +[source,csv] +---- +messages,0,a,asdf +messages,1,b,asdf +messages,3,c,asdf +---- + +Produce records from the file: + +[source,java] +---- +include::{examples-dir}/kafka/companion/ProducerTest.java[tags=csv,indent=0] +---- + +== Consuming records + +=== Consume from topics + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=topics,indent=0] +---- + +=== Consume from offsets + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=offsets,indent=0] +---- + +=== Consumer assignment and offsets + +During execution of the consumer task, information about the underlying consumer's topic partition assignment, position or committed offsets can be accessed. + +[source,java] +---- +include::{examples-dir}/kafka/companion/ConsumerTest.java[tags=committed,indent=0] +---- + +== Registering Custom Serdes + +KafkaCompanion handles Serializers and Deserializers for default types such as primitives, String, ByteBuffer, UUID. + +Serdes for custom types can be registered to the companion object, and will be used for producer and consumer tasks: + +[source,java] +---- +include::{examples-dir}/kafka/companion/KafkaTest.java[tags=serdes,indent=0] +---- + +== Topics + +Create, list, describe and delete topics: + +[source,java] +---- +include::{examples-dir}/kafka/companion/TopicsTest.java[tags=code,indent=0] +---- + +== Consumer Groups and Offsets + +List topic partition offsets: + +[source,java] +---- +include::{examples-dir}/kafka/companion/OffsetsTest.java[tags=offsets,indent=0] +---- + +List, describe, alter consumer groups and their offsets: + +[source,java] +---- +include::{examples-dir}/kafka/companion/OffsetsTest.java[tags=consumerGroups,indent=0] +---- diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/transactions.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/transactions.adoc new file mode 100644 index 000000000..927012f01 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/transactions.adoc @@ -0,0 +1,165 @@ += Kafka Transactions and Exactly-Once Processing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://cwiki.apache.org/confluence/display/KAFKA/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging[Kafka transactions] enable atomic writes to multiple Kafka topics and partitions. +Inside a transaction, a producer writes records to the Kafka topic partitions as it would normally do. +If the transaction completes successfully, all the records previously written to the broker inside that transaction will be _committed_, and will be readable for consumers. +If an error during the transaction causes it to be _aborted_, none will be readable for consumers. + +There are a couple of fundamental things to consider before using transactions: + +* Each transactional producer is configured with a unique identifier called the `transactional.id`. +This is used to identify the same producer instance across application restarts. +By default, it is not configured, and transactions cannot be used. +When it is configured, the producer is limited to idempotent delivery, therefore `enable.idempotence=true` is implied. +* For *only* reading transactional messages, a consumer needs to explicitly configure its `isolation.level` property to `read++_++committed`. +This will make sure that the consumer will deliver only records committed inside a transaction, and filter out messages from aborted transactions. +* It should also be noted that this does not mean all records atomically written inside a transaction will be read atomically by the consumer. +Transactional producers can write to multiple topics and partitions inside a transaction, but consumers do not know where the transaction starts or ends. +Not only multiple consumers inside a consumer group can share those partitions, +all records which were part of a single transaction can be consumed in different batch of records by a consumer. + +Kafka connector provides `KafkaTransactions` custom emitter for writing records inside a transaction. +Before using a transaction we need to make sure that `transactional.id` is configured on the channel properties. + +.... +mp.messaging.outgoing.tx-out-example.transactional.id=example-tx-producer +.... + +It can be used as a regular emitter `@Channel`: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaTransactionalProducer.java[indent=0] +---- + +[NOTE] +==== + +When `transactional.id` is provided `KafkaProducer#initTransactions` is called when the underlying Kafka producer is created. + +==== + +The function given to the `withTransaction` method receives a `TransactionalEmitter` for producing records, and returns a `Uni` that provides the result of the transaction. +If the processing completes successfully, the producer is flushed and the transaction is committed. +If the processing throws an exception, returns a failing `Uni`, or marks the `TransactionalEmitter` for abort, the transaction is aborted. + +If this method is called on a Vert.x context, the processing function is also called on that context. +Otherwise, it is called on the sending thread of the producer. + +A synchronous variant `withTransactionAndAwait` is also available for blocking contexts such as REST endpoints or `@Blocking` annotated methods. +It blocks the calling thread until the transaction completes and must not be called on a Vert.x event loop thread. +The transaction completion phase (flush, commit/abort) is bounded by the Kafka producer's `transaction.timeout.ms` setting (default 60 seconds). + +[IMPORTANT] +==== + +By default (non-pooled mode), a transaction is considered _in progress_ from the call to the `withTransaction` until the returned `Uni` results in success or failure. +While a transaction is in progress, subsequent calls to the `withTransaction`, including nested ones inside the given function, will throw `IllegalStateException`. +Note that in Reactive Messaging, the execution of processing methods is already serialized, unless `@Blocking(ordered = false)` is used. +If `withTransaction` can be called concurrently, for example from a REST endpoint, it is recommended to limit the concurrency of the execution. +This can be done using the `@Bulkhead` annotation from Microprofile Fault Tolerance, or by using the xref:#pooled-producer-for-concurrent-transactions[pooled producer mode] which allows concurrent transactions. +In pooled producer mode, multiple transactions can run concurrently, each using a different producer from the pool. + +==== + +== Exactly-Once Processing + +Kafka Transactions API also allows managing consumer offsets inside a transaction, together with produced messages. +This in turn enables coupling a consumer with a transactional producer in a consume-transform-produce pattern, +also known as exactly-once processing. +It means that an application consumes messages from a topic-partition, processes them, publishes the results to a topic-partition, +and commits offsets of the consumed messages in a transaction. + +The `KafkaTransactions` emitter also provides a way to apply exactly-once processing to an incoming Kafka message inside a transaction. + +The following example includes a batch of Kafka records inside a transaction. + +.... +mp.messaging.outgoing.tx-out-example.transactional.id=example-tx-producer +mp.messaging.incoming.in-channel.batch=true +mp.messaging.incoming.in-channel.commit-strategy=ignore +mp.messaging.incoming.in-channel.failure-strategy=ignore +.... + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaExactlyOnceProcessor.java[indent=0] +---- + +If the processing completes successfully, before committing the transaction, the topic partition offsets of the given batch message will be committed to the transaction. + +If the processing needs to abort, after aborting the transaction, the consumer's position is reset to the last committed offset, effectively resuming the consumption from that offset. +If no consumer offset has been committed, the consumer's position is reset to the beginning of the topic, even if the offset reset policy is `latest`. + +[IMPORTANT] +==== + +When using exactly-once processing, consumed message offset commits are handled by the transaction and therefore `commit-strategy` needs to be `ignore`. + +==== + +Any strategy can be employed for the `failure-strategy`. +Note that the `Uni` returned from the `#withTransaction` will yield a failure if the transaction fails and is aborted. + +The application can choose to handle the error case, but for the message consumption to continue, `Uni` returned from the `@Incoming` method must not result in failure. +`KafkaTransactions#withTransactionAndAck` method will ack and nack the message but will not stop the reactive stream. +Ignoring the failure simply resets the consumer to the last committed offsets and resumes the processing from there. + +Synchronous variants `withTransactionAndAwait` are also available for exactly-once processing, +accepting `IncomingKafkaRecordMetadata` or `IncomingKafkaRecordBatchMetadata` for offset management within the transaction. + +[NOTE] +==== + +It is recommended to use exactly-once processing along with the batch consumption mode. +While it is possible to use it with a single Kafka message, it'll have a significant performance impact. + +==== + +== Pooled Producer for Concurrent Transactions + +By default, `KafkaTransactions` uses a single transactional producer and a global lock, meaning only one transaction can be in progress at a time. +This limits throughput when consuming from multiple partitions concurrently. + +The *pooled producer* mode uses a pool of Kafka producers, each with its own `transactional.id`. +Each transaction reserves a producer from the pool for the duration of the transaction, enabling concurrent exactly-once processing. + +To enable pooled producer mode, set `pooled-producer.enabled` to `true` on the outgoing channel. +Combined with incoming channel `batch` and `concurrency`, multiple partitions can be processed in parallel, +each with its own independent transaction: + +[source,properties] +---- +mp.messaging.outgoing.tx-out-example.transactional.id=my-tx-producer +mp.messaging.outgoing.tx-out-example.pooled-producer.enabled=true + +mp.messaging.incoming.in-channel.ordered=partition +mp.messaging.incoming.in-channel.commit-strategy=ignore +mp.messaging.incoming.in-channel.failure-strategy=ignore +---- + +The `KafkaTransactions` API is the same as for regular exactly-once processing. +The outgoing record's partition defaults to the incoming record's partition: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPooledExactlyOnceProcessor.java[indent=0] +---- + +On commit or abort, the producer is returned to the pool and can be reused for another transaction. +Only the partitions involved in the transaction are reset on abort, so other concurrent transactions are unaffected. + +The pool grows lazily to match actual concurrency, up to `pooled-producer.max-pool-size` (default 10). +Each inner producer gets a unique `transactional.id` derived from the base value, e.g. `my-tx-producer-1`, `my-tx-producer-2`, etc. +Producers are reused across transactions. + +You can also pre-create producers at startup with `pooled-producer.initial-pool-size` (default 0). +Pre-created producers respect the `lazy-client` setting, so with `lazy-client=false` (default), they eagerly initialize the Kafka producer and call `initTransactions()` at startup. + +[source,properties] +---- +mp.messaging.outgoing.tx-out-example.pooled-producer.max-pool-size=20 +mp.messaging.outgoing.tx-out-example.pooled-producer.initial-pool-size=5 +---- diff --git a/content/docs/smallrye-reactive-messaging/main/kafka/writing-kafka-records.adoc b/content/docs/smallrye-reactive-messaging/main/kafka/writing-kafka-records.adoc new file mode 100644 index 000000000..6d27eee5b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/kafka/writing-kafka-records.adoc @@ -0,0 +1,354 @@ += Writing Kafka Records +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Kafka Connector can write Reactive Messaging `Messages` as Kafka +Records. + +== Example + +Let’s imagine you have a Kafka broker running, and accessible using the +`kafka:9092` address (by default it would use `localhost:9092`). +Configure your application to write the messages from the `prices` +channel into a Kafka _topic_ as follows: + +[source,properties] +---- +kafka.bootstrap.servers=kafka:9092 # <1> + +mp.messaging.outgoing.prices-out.connector=smallrye-kafka # <2> +mp.messaging.outgoing.prices-out.value.serializer=org.apache.kafka.common.serialization.DoubleSerializer # <3> +mp.messaging.outgoing.prices-out.topic=prices # <4> +---- + +[arabic] +. Configure the broker location. You can configure it globally or per +channel +. Configure the connector to manage the `prices` channel +. Sets the (Kafka) serializer to encode the message payload into the +record’s value +. Make sure the topic name is `prices` (and not the default +`prices-out`) + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The serialization is handled by the underlying Kafka Client. You need to +configure the: + +* `mp.messaging.outgoing.++[++channel-name++]++.value.serializer` to configure +the value serializer (mandatory) +* `mp.messaging.outgoing.++[++channel-name++]++.key.serializer` to configure +the key serializer (optional, default to `String`) + +If you want to use a custom serializer, add it to your `CLASSPATH` and +configure the associate attribute. + +By default, the written record contains: + +* the `Message` payload as _value_ +* no key, or the key configured using the `key` attribute or the key +passed in the metadata attached to the `Message` +* the timestamp computed for the system clock (`now`) or the timestamp +passed in the metadata attached to the `Message` + +== Sending key/value pairs + +In the Kafka world, it’s often necessary to send _records_, i.e. a +key/value pair. The connector provides the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/Record.html[`io.smallrye.reactive.messaging.kafka.Record`] +class that you can use to send a pair: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaRecordExample.java[tags=code,indent=0] +---- + +When the connector receives a message with a `Record` payload, it +extracts the key and value from it. The configured serializers for the +key and the value must be compatible with the record’s key and value. +Note that the `key` and the `value` can be `null`. It is also possible +to create a record with a `null` key AND a `null` value. + +If you need more control on the written records, use +`OutgoingKafkaRecordMetadata`. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/api/OutgoingKafkaRecordMetadata.html[`OutgoingKafkaRecordMetadata`] +to influence how the message is going to be written to Kafka. For example, +you can add Kafka headers, configure the record key… + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Propagating Record Key + +When processing messages, you can propagate incoming record key to the +outgoing record. + +Consider the following example method, which consumes messages from the +channel `in`, transforms the payload, and writes the result to the +channel `out`. + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaPriceProcessor.java[tags=code,indent=0] +---- + +Enabled with +`mp.messaging.outgoing.++[++channel-name++]++.propagate-record-key=true` +configuration, record key propagation produces the outgoing record with +the same _key_ as the incoming record. + +If the outgoing record already contains a _key_, it *won’t be +overridden* by the incoming record key. If the incoming record does +have a _null_ key, the `mp.messaging.outgoing.++[++channel-name++]++.key` +property is used. + +== Propagating Record headers + +You can also propagate incoming record headers to the outgoing record, by specifying the list of headers to be considered. + +`mp.messaging.outgoing.++[++channel-name++]++.propagate-headers=Authorization,Proxy-Authorization` + +If the ougoing record already defines a header with the same key, it won't be overriden by the incoming header. + +== Dynamic topic names + +Sometimes it is desirable to select the destination of a message +dynamically. In this case, you should not configure the topic inside +your application configuration file, but instead, use the outbound +metadata to set the name of the topic. + +For example, you can route to a dynamic topic based on the incoming +message: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaOutboundDynamicTopicExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +Kafka acknowledgement can take times depending on the configuration. +Also, it stores in-memory the records that cannot be written. + +By default, the connector does wait for Kafka to acknowledge the record +to continue the processing (acknowledging the received `Message`). You +can disable this by setting the `waitForWriteCompletion` attribute to +`false`. + +Note that the `acks` attribute has a huge impact on the record +acknowledgement. + +If a record cannot be written, the message is `nacked`. + +== Back-pressure and inflight records + +The Kafka outbound connector handles back-pressure monitoring the number +of in-flight messages waiting to be written to the Kafka broker. The +number of in-flight messages is configured using the +`max-inflight-messages` attribute and defaults to 1024. + +The connector only sends that amount of messages concurrently. No other +messages will be sent until at least one in-flight message gets +acknowledged by the broker. Then, the connector writes a new message to +Kafka when one of the broker’s in-flight messages get acknowledged. Be +sure to configure Kafka’s `batch.size` and `linger.ms` accordingly. + +You can also remove the limit of inflight messages by setting +`max-inflight-messages` to `0`. However, note that the Kafka Producer +may block if the number of requests reaches +`max.in.flight.requests.per.connection`. + +== Handling serialization failures + +For Kafka producer client serialization failures are not recoverable, +thus the message dispatch is not retried. However, using schema +registries, serialization may intermittently fail to contact the +registry. In these cases you may need to apply a failure strategy for +the serializer. To achieve this, create a CDI bean implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-kafka/{javadoc-version}/io/smallrye/reactive/messaging/kafka/SerializationFailureHandler.html[`SerializationFailureHandler`] +interface: + +[source,java] +---- +@ApplicationScoped +@Identifier("failure-fallback") // Set the name of the failure handler +public class MySerializationFailureHandler + implements SerializationFailureHandler { // Specify the expected type + + @Override + public byte[] decorateSerialization(Uni serialization, String topic, + boolean isKey, String serializer, + Object data, Headers headers) { + return serialization + .onFailure().retry().atMost(3) + .await().atMost(Duration.ofMillis(200)); + } +} +---- + +The bean must be exposed with the `@Identifier` qualifier specifying the +name of the bean. Then, in the connector configuration, specify the +following attribute: + +* `mp.messaging.incoming.$channel.key-serialization-failure-handler`: +name of the bean handling serialization failures happening for the +record’s key +* `mp.messaging.incoming.$channel.value-serialization-failure-handler`: +name of the bean handling serialization failures happening for the +record’s value, + +The handler is called with the serialization action as a `Uni`, the +record’s topic, a boolean indicating whether the failure happened on a +key, the class name of the deserializer that throws the exception, the +corrupted data, the exception, and the records headers. Failure +strategies like retry, providing a fallback value or applying timeout +can be implemented. Note that the method must await on the result and +return the serialized byte array. Alternatively, the handler can +implement `decorateSerialization` method which can return a fallback +value. + +== Sending Cloud Events + +The Kafka connector supports https://cloudevents.io/[Cloud Events]. +The connector sends the outbound record as Cloud Events if: + +* the message metadata contains an +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` +instance, +* the channel configuration defines the `cloud-events-type` and +`cloud-events-source` attributes. + +You can create +`io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata` instances +using: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCloudEventProcessor.java[indent=0] +---- + +If the metadata does not contain an id, the connector generates one +(random UUID). The `type` and `source` can be configured per message or +at the channel level using the `cloud-events-type` and +`cloud-events-source` attributes. Other attributes are also +configurable. + +The metadata can be contributed by multiple methods, however, you must +always retrieve the already existing metadata to avoid overriding the +values: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaCloudEventMultipleProcessors.java[indent=0] +---- + +By default, the connector sends the Cloud Events using the _binary_ +format. You can write _structured_ Cloud Events by setting the +`cloud-events-mode` to `structured`. Only JSON is supported, so the +created records had its `content-type` header set to +`application/cloudevents{plus}json; charset=UTF-8` When using the +_structured_ mode, the value serializer must be set to +`org.apache.kafka.common.serialization.StringSerializer`, otherwise the +connector reports the error. In addition, in _structured_, the connector +maps the message’s payload to JSON, except for `String` passed directly. + +The record’s key can be set in the channel configuration (`key` +attribute), in the `OutgoingKafkaRecordMetadata` or using the +`partitionkey` Cloud Event attribute. + +[NOTE] +==== + +you can disable the Cloud Event support by setting the `cloud-events` +attribute to `false` + +==== + +== Using `ProducerRecord` + +Kafka built-in type +https://kafka.apache.org/26/javadoc/index.html?org/apache/kafka/clients/producer/ProducerRecord.html[ProducerRecord++<++K,V++>++] +can also be used for producing messages: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/KafkaProducerRecordExample.java[tags=code,indent=0] +---- + +[WARNING] +==== + +This is an advanced feature. The `ProducerRecord` is sent to Kafka as +is. Any possible metadata attached through `Message++<++ProducerRecord++<++K, V++>>++` are ignored and lost. + +==== + +== Producer Interceptors + +Producer interceptors can be configured for Kafka producer clients using the standard `interceptor.classes` property. +Configured classes will be instantiated by the Kafka producer on client creation. + +Alternatively, producer clients can be configured with a CDI managed-bean implementing link:https://javadoc.io/doc/org.apache.kafka/kafka-clients/{javadoc-version}/org/apache/kafka/clients/producer/ProducerInterceptor.html[`org.apache.kafka.clients.producer.ProducerInterceptor`] interface: + +To achieve this, the bean must be exposed with the `@Identifier` qualifier specifying the name of the bean: + +[source,java] +---- +include::{examples-dir}/kafka/outbound/ProducerInterceptorBeanExample.java[indent=0] +---- + +Then, in the channel configuration, specify the following attribute: +`mp.messaging.incoming.$channel.interceptor-bean=my-producer-interceptor`. + +[WARNING] +==== + +The `onSend` method will be called on the producer _sending thread_ and `onAcknowledgement` will be called on the _Kafka producer I/O thread_. +In both cases if implementations are not fast, sending of messages could be delayed. + +==== + +== Configuration Reference + +include::{generated-dir}/smallrye-kafka-outgoing.adoc[indent=0] + +You can also pass any property supported by the underlying https://kafka.apache.org/documentation/#producerconfigs[Kafka +producer]. + +For example, to configure the `batch.size` property, use: + +[source,properties] +---- +mp.messaging.outgoing.[channel].batch.size=32768 +---- + +Some producer client properties are configured to sensible default +values: + +If not set, `reconnect.backoff.max.ms` is set to `10000` to avoid high +load on disconnection. + +If not set, `key.serializer` is set to +`org.apache.kafka.common.serialization.StringSerializer`. + +If not set, producer `client.id` is generated as +`kafka-producer-++[++channel++]++`. diff --git a/content/docs/smallrye-reactive-messaging/main/mqtt/client-customization.adoc b/content/docs/smallrye-reactive-messaging/main/mqtt/client-customization.adoc new file mode 100644 index 000000000..768513593 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/mqtt/client-customization.adoc @@ -0,0 +1,21 @@ += Customizing the underlying MQTT client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying MQTT Client configuration by +_producing_ an instance of +`io.smallrye.reactive.messaging.mqtt.session.MqttClientSessionOptions`: + +[source,java] +---- +include::{examples-dir}/mqtt/customization/ClientProducers.java[tags=named,indent=0] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.client-options-name=my-options +---- diff --git a/content/docs/smallrye-reactive-messaging/main/mqtt/mqtt.adoc b/content/docs/smallrye-reactive-messaging/main/mqtt/mqtt.adoc new file mode 100644 index 000000000..afa02d06f --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/mqtt/mqtt.adoc @@ -0,0 +1,44 @@ += MQTT Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT connector adds support for MQTT to Reactive Messaging. + +It lets you receive messages from an MQTT server or broker as well as +send MQTT messages. The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +Client]. + +== Introduction + +http://mqtt.org/[MQTT] is a machine-to-machine (M2M)/"Internet of +Things" connectivity protocol. It was designed as an extremely +lightweight publish/subscribe messaging transport. + +The MQTT Connector allows consuming messages from MQTT as well as +sending MQTT messages. + +== Using the MQTT connector + +To you the MQTT Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-mqtt + {project-version} + +---- + +The connector name is: `smallrye-mqtt`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-mqtt + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-mqtt +---- diff --git a/content/docs/smallrye-reactive-messaging/main/mqtt/receiving-mqtt-messages.adoc b/content/docs/smallrye-reactive-messaging/main/mqtt/receiving-mqtt-messages.adoc new file mode 100644 index 000000000..5a1e176bb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/mqtt/receiving-mqtt-messages.adoc @@ -0,0 +1,114 @@ += Receiving messages from MQTT +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT Connector connects to a MQTT broker or router, and forward the +messages to the Reactive Messaging application. It maps each of them +into Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a MQTT server/broker running, and accessible +using the `mqtt:1883` address (by default it would use +`localhost:1883`). Configure your application to receive MQTT messages +on the `prices` channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-mqtt # <1> +mp.messaging.incoming.prices.host=mqtt # <2> +mp.messaging.incoming.prices.port=1883 # <3> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the broker/server host name. +. Configure the broker/server port. 1883 is the default. + +[NOTE] +==== + +You don’t need to set the MQTT topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. + +==== + +[NOTE] +==== + +It is generally recommended to set the `client-id`. By default, the connector is generating a unique `client-id`. + +==== + +[IMPORTANT] +==== + +Message coming from MQTT have a `byte++[]++` payload. + +==== + +Then, your application receives `Message++<++byte++[]>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/mqtt/inbound/MqttPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++byte++[]>++`: + +[source,java] +---- +include::{examples-dir}/mqtt/inbound/MqttPriceMessageConsumer.java[indent=0] +---- + +The inbound topic can use the https://mosquitto.org/man/mqtt-7.html[MQTT +wildcards] (`{plus}` and `#`). + +== Deserialization + +The MQTT Connector does not handle the deserialization and creates a +`Message++<++byte++[]>++`. + +== Inbound Metadata + +The MQTT connector does not provide inbound metadata. + +== Failure Management + +If a message produced from a MQTT message is _nacked_, a failure +strategy is applied. The MQTT connector supports 3 strategies: + +* `fail` - fail the application, no more MQTT messages will be +processed. (default) The offset of the record that has not been +processed correctly is not committed. +* `ignore` - the failure is logged, but the processing continue. + +== Configuration Reference + +include::{generated-dir}/smallrye-mqtt-incoming.adoc[indent=0] + +The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +client]. So +you can pass any attribute supported by this client. + +[IMPORTANT] +==== + +A single instance of `MqttClient` and a single connection is used for +each `host` / `port` / `server-name` / `client-id`. This client is +reused for both the inbound and outbound connectors. + +==== + +[IMPORTANT] +==== + +Using `auto-clean-session=false` the MQTT Connector send Subscribe requests +to the broken only if a Persistent Session is not present (like on the first +connection). This means that if a Session is already present (maybe for a +previous run) and you add a new incoming channel, this will not be subscribed. +Beware to check always the subscription present on Broker when use +`auto-clean-session=false`. + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/mqtt/sending-messages-to-mqtt.adoc b/content/docs/smallrye-reactive-messaging/main/mqtt/sending-messages-to-mqtt.adoc new file mode 100644 index 000000000..bc8017414 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/mqtt/sending-messages-to-mqtt.adoc @@ -0,0 +1,94 @@ += Sending messages to MQTT +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The MQTT Connector can write Reactive Messaging `Messages` as MQTT +Message. + +== Example + +Let’s imagine you have a MQTT server/broker running, and accessible +using the `mqtt:1883` address (by default it would use +`localhost:1883`). Configure your application to write the messages from +the `prices` channel into a MQTT Messages as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.type=smallrye-mqtt +mp.messaging.outgoing.prices.host=mqtt +mp.messaging.outgoing.prices.port=1883 +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the broker/server host name. +. Configure the broker/server port. 1883 is the default. + +[NOTE] +==== + +You don’t need to set the MQTT topic. By default, it uses the channel +name (`prices`). You can configure the `topic` attribute to override it. +NOTE: It is generally recommended to set the `client-id`. By default, +the connector is generating a unique `client-id`. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/mqtt/outbound/MqttPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/mqtt/outbound/MqttPriceMessageProducer.java[indent=0] +---- + +== Serialization + +The `Message` sent to MQTT can have various payload types: + +* https://vertx.io/docs/apidocs/io/vertx/core/json/JsonObject.html[`JsonObject`]: +JSON string encoded as `byte++[]++` +* https://vertx.io/docs/apidocs/io/vertx/core/json/JsonArray.html[`JsonArray`]: +JSON string encoded as `byte++[]++` +* `java.lang.String` and Java primitive types: `toString` encoded as +`byte++[]++` +* `byte++[]++` +* complex objects: The objects are encoded to JSON and passed as +`byte++[]++` + +== Outbound Metadata + +The MQTT connector does not provide outbound metadata. + +== Acknowledgement + +MQTT acknowledgement depends on the QoS level. The message is +acknowledged when the broker indicated the successful reception of the +message (or immediately if the level of QoS does not support +acknowledgment). + +If a MQTT message cannot be sent to the broker, the message is `nacked`. + +== Configuration Reference + +include::{generated-dir}/smallrye-mqtt-outgoing.adoc[indent=0] + +The MQTT connector is based on the https://vertx.io/docs/vertx-mqtt/java/#_vert_x_mqtt_client[Vert.x MQTT +client]. So +you can pass any attribute supported by this client. + +[IMPORTANT] +==== + +A single instance of `MqttClient` and a single connection is used for +each `host` / `port` / `server-name` / `client-id`. This client is +reused for both the inbound and outbound connectors. + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/pulsar/client-configuration.adoc b/content/docs/smallrye-reactive-messaging/main/pulsar/client-configuration.adoc new file mode 100644 index 000000000..c0e021963 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/pulsar/client-configuration.adoc @@ -0,0 +1,98 @@ += Configuring Pulsar clients, consumers and producers +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Pulsar clients, consumers and producers are very customizable to configure how a Pulsar client application behaves. + +The Pulsar connector creates a Pulsar client and, a consumer or a producer per channel, each with sensible defaults to ease their configuration. +Although the creation is handled, all available configuration options remain configurable through Pulsar channels. + +While idiomatic way of creating `PulsarClient`, `PulsarConsumer` or `PulsarProducer` are through builder APIs, in its essence +those APIs build each time a configuration object, to pass onto the implementation. +Those are link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-original/{javadoc-version}/org/apache/pulsar/client/impl/conf/ClientConfigurationData.html[`ClientConfigurationData`], +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-original/{javadoc-version}/org/apache/pulsar/client/impl/conf/ConsumerConfigurationData.html[`ConsumerConfigurationData`], +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-original/{javadoc-version}/org/apache/pulsar/client/impl/conf/ProducerConfigurationData.html[`ProducerConfigurationData`]. + +Pulsar Connector allows receiving properties for those configuration objects directly. +For example, the broker authentication information for `PulsarClient` is received using `authPluginClassName` and `authParams` properties. +In order to configure the authentication for the incoming channel `data` : + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.serviceUrl=pulsar://localhost:6650 +mp.messaging.incoming.data.topic=topic +mp.messaging.incoming.data.subscriptionInitialPosition=Earliest +mp.messaging.incoming.data.schema=INT32 +mp.messaging.incoming.data.authPluginClassName=org.apache.pulsar.client.impl.auth.AuthenticationBasic +mp.messaging.incoming.data.authParams={"userId":"superuser","password":"admin"} +---- + +Note that the Pulsar consumer property `subscriptionInitialPosition` is also configured with the `Earliest` value which represents with enum value `SubscriptionInitialPosition.Earliest`. + +This approach covers most of the configuration cases. +However, non-serializable objects such as `CryptoKeyReader`, `ServiceUrlProvider` etc. cannot be configured this way. +The Pulsar Connector allows taking into account instances of Pulsar configuration data objects – +`ClientConfigurationData`, `ConsumerConfigurationData`, `ProducerConfigurationData`: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=consumer,indent=0] +---- + +This instance is retrieved and used to configure the client used by the connector. +You need to indicate the name of the client using the `client-configuration`, `consumer-configuration` or `producer-configuration` attributes: + +[source,properties] +---- +mp.messaging.incoming.prices.consumer-configuration=my-consumer-options +---- + +If no `++[++client++|++consumer++|++producer++]++-configuration` is configured, the connector will look for instances identified with the channel name: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=client,indent=0] +---- + +You also can provide a `Map++<++String, Object++>++` containing configuration values by key: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=producer,indent=0] +---- + +Different configuration sources are loaded in the following order of precedence, from the least important to the highest: + +[arabic] +. `Map++<++String, Object++>++` config map produced with default config identifier, `default-pulsar-client`, `default-pulsar-consumer`, `default-pulsar-producer`. +. `Map++<++String, Object++>++` config map produced with identifier in the configuration or channel name +. `++[++Client++|++Producer++|++Consuemr++]++ConfigurationData` object produced with identifier in the channel configuration or the channel name +. Channel configuration properties named with `++[++Client++|++Producer++|++Consuemr++]++ConfigurationData` field names. + +Following is the configuration reference for the `PulsarClient`. + +Corresponding sections list the xref:pulsar/receiving-pulsar-messages.adoc#configuration-reference[Consumer Configuration Reference] and +xref:pulsar/sending-messages-to-pulsar.adoc#configuration-reference[Producer Configuration Reference]. +Configuration properties not configurable in configuration files (non-serializable) is noted in the column `Config file`. + +== Shared Resources + +The Pulsar connector shares an event loop group and DNS resolver across all Pulsar clients using +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-api/{javadoc-version}/org/apache/pulsar/client/api/PulsarClientSharedResources.html[`PulsarClientSharedResources`]. +This reduces thread usage and avoids creating separate thread pools per client. + +By default, the connector creates and manages a `PulsarClientSharedResources` instance with shared `EventLoopGroup` and `DnsResolver`. +To customize the shared resources, produce a CDI bean of type `PulsarClientSharedResources`: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarClientConfigProducers.java[tags=shared-resources,indent=0] +---- + +When a `PulsarClientSharedResources` bean is provided, the connector uses it for all Pulsar clients and does not manage its lifecycle. +The application is responsible for closing the shared resources when they are no longer needed. + +== `PulsarClient` Configuration Reference + +include::{partialsdir}/pulsar/config/smallrye-pulsar-client.adoc[] diff --git a/content/docs/smallrye-reactive-messaging/main/pulsar/client-service.adoc b/content/docs/smallrye-reactive-messaging/main/pulsar/client-service.adoc new file mode 100644 index 000000000..a50e7db91 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/pulsar/client-service.adoc @@ -0,0 +1,24 @@ += PulsarClientService +:version-root: ../ +include::{version-root}_attributes.adoc[] + +For advanced use cases, SmallRye Reactive Messaging provides a bean of +type `PulsarClientService` that you can inject: + +[source,java] +---- +@Inject +PulsarClientService pulsarClients; +---- + +From there, you can obtain +`org.apache.pulsar.client.api.Consumer`, +`org.apache.pulsar.client.api.Producer` and `org.apache.pulsar.client.api.PulsarClient` by channel name. + +[IMPORTANT] +==== + +Note that the https://pulsar.apache.org/docs/3.0.x/admin-api-get-started/[`PulsarAdmin`] is a separate library and the Pulsar connector doesn't provide it out-of-the-box. +You'd need to explicitly add the dependency, i.e. `org.apache.pulsar:pulsar-client-admin-original` artifact. + +==== diff --git a/content/docs/smallrye-reactive-messaging/main/pulsar/health.adoc b/content/docs/smallrye-reactive-messaging/main/pulsar/health.adoc new file mode 100644 index 000000000..090f18c9c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/pulsar/health.adoc @@ -0,0 +1,24 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar connector reports the startup, readiness and liveness of each channel managed by the connector: + +* *Startup & Readiness* For both inbound and outbound, probes report _OK_ when the +connection with the broker is established. +* *Liveness* For both inbound and outbound, the liveness check verifies that the +connection is established *AND* that no failures have been caught. + +[NOTE] +==== + +To disable health reporting, set the `health-enabled` attribute for the +channel to `false`. + +==== + +Note that a message processing failures _nacks_ the message which is +then handled by the failure-strategy. It is the responsibility of the +failure-strategy to report the failure and influence the outcome of the +liveness checks. The `fail` failure strategy reports the failure and so +the liveness check will report the failure. diff --git a/content/docs/smallrye-reactive-messaging/main/pulsar/pulsar.adoc b/content/docs/smallrye-reactive-messaging/main/pulsar/pulsar.adoc new file mode 100644 index 000000000..29e31c8b8 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/pulsar/pulsar.adoc @@ -0,0 +1,64 @@ += Apache Pulsar Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar connector adds support for Apache Pulsar to Reactive Messaging. With +it you can consume Pulsar Messages as well as produce _message_ into Pulsar. + +https://pulsar.apache.org/[Apache Pulsar] an open-source, distributed messaging +and streaming platform built for the cloud. For more details about Pulsar, check the +https://pulsar.apache.org/docs/next/concepts-overview/[documentation]. + +Pulsar implements the publish-subscribe pattern. +Producers publish _messages_ to __topic__s. +Consumers create __subscription__s to those topics to receive and process incoming messages, +and send _acknowledgments_ to the broker when processing is finished. + +When a _subscription_ is created, Pulsar retains all messages, even if the consumer is disconnected. +The retained messages are discarded only when a consumer acknowledges that all these messages are processed successfully. + +A Pulsar _message_ consists of + +* *value*, payload data that message contains, while Pulsar messages contain payloads as unstructured byte array, +a *schema* is applied to write and read with an enforced data structure +* *key* of type string, used for partitioning +* *properties*, optional key/value map +* *topic*, the topic that the message is published to +* *producer name*, the name of the producer who produces the message +* *message ID*, the ID assigned by bookies to a message as soon as the message is persistently stored +* *sequence ID*, the ID assigned by producers, indicating its order in that sequence +* *publish time*, timestamp automatically added by the producer +* *event time*, optional timestamp added by the application + +A Pulsar cluster consists of +- One or more **broker**s, which are stateless components +- A *metadata store* for maintaining topic metadata, schema, coordination and cluster configuration. +By default, a Zookeeper cluster is used, except the standalone mode +- A ensemble of *bookies* used for persistent storage of messages + +== Using the Pulsar Connector + +To use the Pulsar Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-pulsar + {project-version} + +---- + +The connector name is: `smallrye-pulsar`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-pulsar + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-pulsar +---- diff --git a/content/docs/smallrye-reactive-messaging/main/pulsar/receiving-pulsar-messages.adoc b/content/docs/smallrye-reactive-messaging/main/pulsar/receiving-pulsar-messages.adoc new file mode 100644 index 000000000..bafa43e0b --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/pulsar/receiving-pulsar-messages.adoc @@ -0,0 +1,196 @@ += Receiving messages from Pulsar +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar Connector connects to a Pulsar broker using a Pulsar client and creates consumers to +receive messages from Pulsar brokers and it maps each of them into Reactive Messaging `Messages`. + +== Example + +Let’s imagine you have a Pulsar broker running, and accessible +using the `pulsar:6650` address (by default it would use +`localhost:6650`). Configure your application to receive Pulsar messages +on the `prices` channel as follows: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-pulsar # <1> +mp.messaging.incoming.prices.serviceUrl=pulsar://pulsar:6650 # <2> +mp.messaging.incoming.prices.schema=DOUBLE # <3> +mp.messaging.incoming.prices.subscriptionInitialPosition=Earliest # <4> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the Pulsar broker service url. +. Configure the schema to consume prices as Double. +. Make sure consumer subscription starts receiving messages from the `Earliest` position. + +[NOTE] +==== + +You don’t need to set the Pulsar topic, nor the consumer name. +By default, the connector uses the channel name (`prices`). +You can configure the `topic` and `consumerName` attributes to override them. + +==== + +[NOTE] +==== + +In Pulsar, consumers need to provide a `subscriptionName` for topic subscriptions. +If not provided the connector is generating a unique *subscription name*. + +==== + +Then, your application can receive the `double` payload directly: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarPriceConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarPriceMessageConsumer.java[indent=0] +---- + +== Consumer Configuration + +The Pulsar Connector allows flexibly configuring the underlying Pulsar consumer. +One of the ways is to set consumer properties directly on the channel configuration. +The list of available configuration properties are listed in xref:#configuration-reference[Configuration Reference]. + +See the xref:pulsar/client-configuration.adoc[Configuring Pulsar consumers, producers and clients] for more information. + +== Deserialization and Pulsar Schema + +The Pulsar Connector allows configuring Schema configuration for the underlying Pulsar consumer. +See the xref:pulsar/schema-configuration.adoc[Configuring the schema used for Pulsar channels] for more information. + +== Inbound Metadata + +The incoming Pulsar messages include an instance of `PulsarIncomingMessageMetadata` in the metadata. +It provides the key, topic, partitions, headers and so on: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +When a message produced from a Pulsar Message is _acknowledged_, the connector sends an https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#acknowledgment[acknowledgement request] to the Pulsar broker. +All Reactive Messaging messages need to be _acknowledged_, which is handled automatically in most cases. +Acknowledgement requests can be sent to the Pulsar broker using the following two strategies: + +* *Individual acknowledgement* is the default strategy, an acknowledgement request is to the broker for each message. +* *Cumulative acknowledgement*, configured using `ack-strategy=cumulative`, the consumer only acknowledges the last message it received. +All messages in the stream up to (and including) the provided message are not redelivered to that consumer. + +== Failure Management + +If a message produced from a Pulsar message is _nacked_, a failure strategy is applied. +The Pulsar connector supports 4 strategies: + +* `nack` _(default)_ sends https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#negative-acknowledgment[negative acknowledgment] to the broker, triggering the broker to redeliver this message to the consumer. +The negative acknowledgment can be further configured using `negativeAckRedeliveryDelayMicros` and `negativeAck.redeliveryBackoff` properties. +* `fail` fail the application, no more messages will be processed. +* `ignore` the failure is logged, but the acknowledgement strategy will be applied and the processing will continue. +* `continue` the failure is logged, but processing continues without applying acknowledgement or negative acknowledgement. This strategy can be used with xref:#acknowledgement-timeout[acknowledgement timeout] configuration. +* `reconsume-later` sends the message to the https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#retry-letter-topic[retry letter topic] using the `reconsumeLater` API to be reconsumed with a delay. +The delay can be configured using the `reconsumeLater.delay` property and defaults to 3 seconds. +Custom delay or properties per message can be configured by adding an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/pulsar/PulsarReconsumeLaterMetadata.html[`PulsarReconsumeLaterMetadata`] to the failure metadata. + +For example the following configuration for the incoming channel `data` uses `reconsumer-later` failure strategy with default delays of 60 seconds: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.serviceUrl=pulsar://localhost:6650 +mp.messaging.incoming.data.topic=data +mp.messaging.incoming.data.schema=INT32 +mp.messaging.incoming.data.failure-strategy=reconsume-later +mp.messaging.incoming.data.retryEnable=true +mp.messaging.incoming.data.reconsumeLater.delay=60 // in seconds +mp.messaging.incoming.data.deadLetterPolicy.retryLetterTopic=data-retry +mp.messaging.incoming.data.deadLetterPolicy.maxRedeliverCount=2 +---- + +=== Acknowledgement timeout + +Similar to the negative acknowledgement, with the https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#acknowledgment-timeout[acknowledgment timeout] mechanism, the Pulsar client tracks the unacknowledged messages, +for the given _ackTimeout_ period and sends _redeliver unacknowledged messages request_ to the broker, thus the broker resends the unacknowledged messages to the consumer. + +To configure the timeout and redelivery backoff mechanism you can set `ackTimeoutMillis` and `ackTimeout.redeliveryBackoff` properties. +The `ackTimeout.redeliveryBackoff` value accepts comma separated values of min delay in milliseconds, max delay in milliseconds and multiplier respectively: + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.failure-strategy=continue +mp.messaging.incoming.data.ackTimeoutMillis=10000 +mp.messaging.incoming.data.ackTimeout.redeliveryBackoff=1000,60000,2 +---- + +=== Dead-letter topic + +The https://pulsar.apache.org/docs/3.0.x/concepts-messaging/#dead-letter-topic[dead letter topic] pushes messages that are not consumed successfully to a dead letter topic an continue message consumption. +Note that dead letter topic can be used in different message redelivery methods, such as acknowledgment timeout, negative acknowledgment or retry letter topic. + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-pulsar +mp.messaging.incoming.data.failure-strategy=nack +mp.messaging.incoming.data.deadLetterPolicy.maxRedeliverCount=2 +mp.messaging.incoming.data.deadLetterPolicy.deadLetterTopic=my-dead-letter-topic +mp.messaging.incoming.data.deadLetterPolicy.initialSubscriptionName=my-dlq-subscription +mp.messaging.incoming.data.subscriptionType=Shared +---- + +[IMPORTANT] +==== + +_Negative acknowledgment_ or _acknowledgment timeout_ methods for redelivery will redeliver the whole batch of messages containing at least an unprocessed message. +See xref:pulsar/sending-messages-to-pulsar.adoc#producer-batching[producer batching] for more information. + +==== + +== Receiving Pulsar Messages in Batches + +By default, incoming methods receive each Pulsar message individually. +You can enable batch mode using `batchReceive=true` property, or setting a `batchReceivePolicy` in consumer configuration. + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMessageBatchExample.java[tags=code,indent=0] +---- + +Or you can directly receive the list of payloads to the consume method: + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMessageBatchPayloadExample.java[tags=code,indent=0] +---- + +=== Accessing metadata of batch records + +When receiving records in batch mode, the metadata of each record is accessible through the `PulsarIncomingBatchMessageMetadata` : + +[source,java] +---- +include::{examples-dir}/pulsar/inbound/PulsarMessageBatchExample.java[tags=batch,indent=0] +---- + +Like in this example, this can be useful to propagate the tracing information of each record. + +== Configuration Reference + +include::{generated-dir}/smallrye-pulsar-incoming.adoc[indent=0] + +In addition to the configuration properties provided by the connector, +following Pulsar consumer properties can also be set on the channel: + +include::{partialsdir}/pulsar/config/smallrye-pulsar-consumer.adoc[] diff --git a/content/docs/smallrye-reactive-messaging/main/pulsar/schema-configuration.adoc b/content/docs/smallrye-reactive-messaging/main/pulsar/schema-configuration.adoc new file mode 100644 index 000000000..67aaf89d5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/pulsar/schema-configuration.adoc @@ -0,0 +1,57 @@ += Configuring the schema used for Pulsar channels +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Pulsar messages are stored with payloads as unstructured byte array. +A Pulsar *schema* defines how to serialize structured data to the raw message bytes +The *schema* is applied in producers and consumers to write and read with an enforced data structure. +It serializes data into raw bytes before they are published to a topic and deserializes the raw bytes before they are delivered to consumers. + +Pulsar uses a schema registry as a central repository to store the registered schema information, +which enables producers/consumers to coordinate the schema of a topic's messages through brokers. +By default the Apache BookKeeper is used to store schemas. + +Pulsar API provides built-in schema information for a number of +https://pulsar.apache.org/docs/3.0.x/schema-understand#primitive-type[primitive types] +and https://pulsar.apache.org/docs/3.0.x/schema-understand#complex-type[complex types] such as Key/Value, Avro and Protobuf. + +The Pulsar Connector allows specifying the schema as a primitive type using the `schema` property: + +[source,properties] +---- +mp.messaging.incoming.prices.connector=smallrye-pulsar +mp.messaging.incoming.prices.schema=INT32 + +mp.messaging.outgoing.prices-out.connector=smallrye-pulsar +mp.messaging.outgoing.prices-out.schema=DOUBLE +---- + +If the value for the `schema` property matches a https://javadoc.io/doc/org.apache.pulsar/pulsar-client-api/latest/org/apache/pulsar/common/schema/SchemaType.html[Schema Type] +a simple schema will be created with that type and will be used for that channel. + +The Pulsar Connector allows configuring complex schema types by providing `Schema` beans through CDI, identified with the `@Identifier` qualifier. + +For example the following bean provides an Avro schema and a Key/Value schema: + +[source,java] +---- +include::{examples-dir}/pulsar/configuration/PulsarSchemaProvider.java[indent=0] +---- + +To configure the incoming channel `users` with defined schema, you need to set the `schema` property to the identifier of the schema `user-schema`: + +[source,properties] +---- +mp.messaging.incoming.users.connector=smallrye-pulsar +mp.messaging.incoming.users.schema=user-schema +---- + +If no `schema` property is found, the connector looks for `Schema` beans identified with the channel name. +For example, the outgoing channel `a-channel` will use the key/value schema. + +[source,properties] +---- +mp.messaging.outgoing.a-channel.connector=smallrye-pulsar +---- + +If no schema information is provided incoming channels will use `Schema.AUTO++_++CONSUME()`, whereas outgoing channels will use `Schema.AUTO++_++PRODUCE++_++BYTES()` schemas. diff --git a/content/docs/smallrye-reactive-messaging/main/pulsar/sending-messages-to-pulsar.adoc b/content/docs/smallrye-reactive-messaging/main/pulsar/sending-messages-to-pulsar.adoc new file mode 100644 index 000000000..f3561a08a --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/pulsar/sending-messages-to-pulsar.adoc @@ -0,0 +1,160 @@ += Sending messages to Pulsar +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The Pulsar Connector can write Reactive Messaging `Message`s as Pulsar Message. + +== Example + +Let’s imagine you have a Pulsar broker running, and accessible +using the `pulsar:6650` address (by default it would use +`localhost:1883`). Configure your application to write the messages from +the `prices` channel into a Pulsar Messages as follows: + +[source,properties] +---- +mp.messaging.outgoing.prices.connector=smallrye-pulsar # <1> +mp.messaging.outgoing.prices.serviceUrl=pulsar://pulsar:6650 # <2> +mp.messaging.outgoing.prices.schema=DOUBLE # <3> +---- + +[arabic] +. Sets the connector for the `prices` channel +. Configure the Pulsar broker service url. +. Configure the schema to consume prices as Double. + +[NOTE] +==== + +You don’t need to set the Pulsar topic, nor the producer name. +By default, the connector uses the channel name (`prices`). +You can configure the `topic` and `producerName` attributes to override them. + +==== + +Then, your application must send `Message++<++Double++>++` to the `prices` +channel. It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarPriceProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarPriceMessageProducer.java[indent=0] +---- + +== Producer Configuration + +The Pulsar Connector allows flexibly configuring the underlying Pulsar producer. +One of the ways is to set producer properties directly on the channel configuration. +The list of available configuration properties are listed in xref:#configuration-reference[Configuration Reference]. + +See the xref:pulsar/client-configuration.adoc[Configuring Pulsar consumers, producers and clients] for more information. + +== Serialization and Pulsar Schema + +The Pulsar Connector allows configuring Schema configuration for the underlying Pulsar producer. +See the xref:pulsar/schema-configuration.adoc[Configuring the schema used for Pulsar channels] for more information. + +== Sending key/value pairs + +In order to send Kev/Value pairs to Pulsar, you can configure the Pulsar producer Schema with a +link:https://javadoc.io/doc/org.apache.pulsar/pulsar-client-api/{javadoc-version}/org/apache/pulsar/common/schema/KeyValue.html[`org.apache.pulsar.common.schema.KeyValue`] type: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarKeyValueExample.java[tags=code,indent=0] +---- + +If you need more control on the written records, use +`PulsarOutgoingMessageMetadata`. + +== Outbound Metadata + +When sending `Message`s, you can add an instance of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-pulsar/{javadoc-version}/io/smallrye/reactive/messaging/pulsar/PulsarOutgoingMessageMetadata.html[`PulsarOutgoingMessageMetadata`] +to influence how the message is going to be written to Pulsar. +For example, configure the record key, and set message properties: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarOutboundMetadataExample.java[tags=code,indent=0] +---- + +== OutgoingMessage + +Using link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-pulsar/{javadoc-version}/io/smallrye/reactive/messaging/pulsar/OutgoingMessage.html[`OutgoingMessage`], +is an easy way of customizing the Pulsar message to be published when dealing with payloads and not `Message`s. + +You can create an `OutgoingMessage` with key and value, or from an incoming Pulsar Message: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarOutgoingMessageExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +Upon receiving a message from a Producer, a Pulsar broker assigns a `MessageId` to the message and sends it back to the producer, +confirming that the message is published. + +By default, the connector does wait for Pulsar to acknowledge the record +to continue the processing (acknowledging the received `Message`). +You can disable this by setting the `waitForWriteCompletion` attribute to `false`. + +If a record cannot be written, the message is `nacked`. + +[IMPORTANT] +==== + +The Pulsar client automatically retries sending messages in case of failure, until the _send timeout_ is reached. +The _send timeout_ is configurable with `sendTimeoutMs` attribute and by default is is 30 seconds. + +==== + +== Back-pressure and inflight records + +The Pulsar outbound connector handles back-pressure monitoring the number +of pending messages waiting to be written to the Pulsar broker. +The number of pending messages is configured using the +`max-inflight-messages` attribute and defaults to 1000. + +The connector only sends that amount of messages concurrently. No other +messages will be sent until at least one pending message gets +acknowledged by the broker. Then, the connector writes a new message to +Pulsar when one of the broker’s pending messages get acknowledged. + +The Pulsar producer also has a limit on the number of pending messages controlled by +`maxPendingMessages` and for partitioned topics `maxPendingMessagesAcrossPartitions` producer configuration properties. +The default value for the both is `0` which means the limit is enforced by the connector and not the underlying producer. +If a `maxPendingMessagesAcrossPartitions` is set and subscribed topic is partitioned, the connector will set the `max-inflight-messages` use the producer's limit. + +[WARNING] +.Deprecation +==== + +Previously a single connector attribute `maxPendingMessages` controlled both the connector back-pressure and the Pulsar producer configuration. +The `max-inflight-messages` attribute is not the same as the Pulsar producer `maxPendingMessages` configuration property. + +==== + +== Producer Batching + +By default, the Pulsar producer batches individual messages together to be published to the broker. +You can configure batching parameters using `batchingMaxPublishDelayMicros`, `batchingPartitionSwitchFrequencyByPublishDelay`, +`batchingMaxMessages`, `batchingMaxBytes` configuration properties, or disable it completely with `batchingEnabled=false`. + +When using `Key++_++Shared` consumer subscriptions, the `batcherBuilder` can be configured to `BatcherBuilder.KEY++_++BASED`. + +== Configuration Reference + +include::{generated-dir}/smallrye-pulsar-outgoing.adoc[indent=0] + +In addition to the configuration properties provided by the connector, +following Pulsar producer properties can also be set on the channel: + +include::{partialsdir}/pulsar/config/smallrye-pulsar-producer.adoc[] diff --git a/content/docs/smallrye-reactive-messaging/main/pulsar/transactions.adoc b/content/docs/smallrye-reactive-messaging/main/pulsar/transactions.adoc new file mode 100644 index 000000000..d46f4e6ba --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/pulsar/transactions.adoc @@ -0,0 +1,89 @@ += Pulsar Transactions and Exactly-Once Processing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://pulsar.apache.org/docs/3.0.x/txn-why/[Pulsar transactions] enable event streaming applications to consume, process, and produce messages in one atomic operation. + +Transactions allow one or multiple producers to send batch of messages to multiple topics where all messages in the batch are eventually visible to any consumer, or none is ever visible to consumers. + +In order to be used, transaction support needs to be activated on the broker configuration: + +[source,properties] +---- +# used to enable transaction coordinator +transactionCoordinatorEnabled=true + +# used to create systemTopic used for transaction buffer snapshot +systemTopicEnabled=true +---- + +On the client side, the transaction support also needs to be enabled on `PulsarClient` configuration: + +[source,properties] +---- +mp.messaging.outgoing.tx-producer.enableTransaction=true +---- + +Pulsar connector provides `PulsarTransactions` custom emitter for writing records inside a transaction. + +It can be used as a regular emitter `@Channel`: + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarTransactionalProducer.java[indent=0] +---- + +The function given to the `withTransaction` method receives a `TransactionalEmitter` for producing records, and returns a `Uni` that provides the result of the transaction. +If the processing completes successfully, the producer is flushed and the transaction is committed. +If the processing throws an exception, returns a failing `Uni`, or marks the `TransactionalEmitter` for abort, the transaction is aborted. + +[NOTE] +==== + +Multiple transactional producers can participate in a single transaction. +This ensures all messages are sent using the started transaction and before the transaction is committed, all participating producers are flushed. + +==== + +If this method is called on a Vert.x context, the processing function is also called on that context. +Otherwise, it is called on the sending thread of the producer. + +== Exactly-Once Processing + +Pulsar Transactions API also allows managing consumer offsets inside a transaction, together with produced messages. +This in turn enables coupling a consumer with a transactional producer in a consume-transform-produce pattern, +also known as exactly-once processing. +It means that an application consumes messages, processes them, publishes the results to a topic, and commits offsets of the consumed messages in a transaction. + +The `PulsarTransactions` emitter also provides a way to apply exactly-once processing to an incoming Pulsar message inside a transaction. + +The following example includes a batch of Pulsar messages inside a transaction. + +[source,properties] +---- + mp.messaging.outgoing.tx-out-example.enableTransaction=true + # ... + mp.messaging.incoming.in-channel.enableTransaction=true + mp.messaging.incoming.in-channel.batchReceive=true +---- + +[source,java] +---- +include::{examples-dir}/pulsar/outbound/PulsarExactlyOnceProcessor.java[indent=0] +---- + +If the processing completes successfully, the message is acknowledged inside the transaction and the transaction is committed. + +[IMPORTANT] +==== + +When using exactly-once processing, messages can only be acked individually rather than cumulatively. + +==== + +If the processing needs to abort, the message is nack'ed. One of the failure strategies can be employed in order to retry the processing or simply fail-stop. +Note that the `Uni` returned from the `#withTransaction` will yield a failure if the transaction fails and is aborted. + +The application can choose to handle the error case, but for the message consumption to continue, `Uni` returned from the `@Incoming` method must not result in failure. +`PulsarTransactions#withTransactionAndAck` method will ack and nack the message but will not stop the reactive stream. +Ignoring the failure simply resets the consumer to the last committed offsets and resumes the processing from there. diff --git a/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-client-customization.adoc b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-client-customization.adoc new file mode 100644 index 000000000..2eeebf8fb --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-client-customization.adoc @@ -0,0 +1,57 @@ += Customizing the underlying RabbitMQ client +:version-root: ../ +include::{version-root}_attributes.adoc[] + +You can customize the underlying RabbitMQ Client configuration by +_producing_ an instance of +https://rabbitmq.github.io/rabbitmq-java-client/api/current/com/rabbitmq/client/ConnectionFactory.html[`ConnectionFactory`]: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/customization/RabbitMQProducers.java[tags=named,indent=0,opts=optional] +---- + +This instance is retrieved and used to configure the client used by the +connector. You need to indicate the name of the client using the +`client-options-name` attribute: + +.... +mp.messaging.incoming.prices.client-options-name=my-named-options +.... + +== Credentials Provider + +The OG connector supports RabbitMQ's +https://rabbitmq.github.io/rabbitmq-java-client/api/current/com/rabbitmq/client/impl/CredentialsProvider.html[`CredentialsProvider`] +interface for dynamic credential management. This is useful when +credentials are rotated or fetched from an external secrets manager. + +To use a credentials provider, expose a CDI bean implementing +`com.rabbitmq.client.impl.CredentialsProvider` with an `@Identifier` +qualifier, and reference it via the `credentials-provider-name` attribute: + +[source,properties] +---- +mp.messaging.incoming.prices.credentials-provider-name=my-credentials-provider +---- + +== Cluster mode + +To connect to a RabbitMQ cluster, use the `addresses` attribute to +specify multiple broker addresses. When set, this overrides the `host` +and `port` attributes: + +[source,properties] +---- +rabbitmq-addresses=host1:5672,host2:5672,host3:5672 +---- + +== NIO Sockets + +The connector supports using NIO sockets for the RabbitMQ connection. +Enable NIO mode with: + +[source,properties] +---- +rabbitmq-use-nio=true +---- diff --git a/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-cloud.adoc b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-cloud.adoc new file mode 100644 index 000000000..b1df1aed5 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-cloud.adoc @@ -0,0 +1,52 @@ += Connecting to managed instances +:version-root: ../ +include::{version-root}_attributes.adoc[] + +This section describes the connector configuration to use managed +RabbitMQ instances (hosted on the Cloud). + +== Cloud AMQP + +To connect to an instance of RabbitMQ hosted on https://www.cloudamqp.com/[Cloud +AMQP], use the following configuration: + +[source,properties] +---- +rabbitmq-host=host-name +rabbitmq-port=5671 +rabbitmq-username=user-name +rabbitmq-password=password +rabbitmq-virtual-host=user-name +rabbitmq-ssl=true +---- + +You can extract the values from the `AMQPS` url displayed on the +administration portal: + +.... +amqps://user-name:password@host/user-name +.... + +== Amazon MQ + +https://aws.amazon.com/amazon-mq/[Amazon MQ] can host RabbitMQ brokers +(as well as AMQP 1.0 brokers). To connect to a RabbitMQ instance hosted +on Amazon MQ, use the following configuration: + +[source,properties] +---- +rabbitmq-host=host-name +rabbitmq-port=5671 +rabbitmq-username=user-name +rabbitmq-password=password +rabbitmq-ssl=true +---- + +You can extract the host value from the `AMQPS` url displayed on the +administration console: + +.... +amqps://foobarbaz.mq.us-east-2.amazonaws.com:5671 +.... + +The username and password are configured during the broker creation. diff --git a/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-health.adoc b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-health.adoc new file mode 100644 index 000000000..ff7bd4d47 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-health.adoc @@ -0,0 +1,27 @@ += Health reporting +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG connector reports the readiness and liveness of each +channel managed by the connector. + +On the inbound side (receiving messages from RabbitMQ), the check +verifies that the receiver is connected to the broker. + +On the outbound side (sending records to RabbitMQ), the check verifies +that the sender is not disconnected from the broker; the sender _may_ +still be in an initialized state (connection not yet attempted), but +this is regarded as live/ready. + +You can disable health reporting by setting the `health-enabled` attribute of the channel to `false`. +It disables both liveness and readiness. +You can disable readiness reporting by setting the `health-readiness-enabled` attribute of the channel to `false`. + +== @Channel and lazy subscription + +When you inject a channel using `@Channel` annotation, you are responsible for subscribing to the channel. +Until the subscription happens, the channel is not connected to the broker and thus cannot receive messages. +The default health check will fail in this case. + +To handle this use case, you need to configure the `health-lazy-subscription` attribute of the channel to `true`. +It configures the health check to not fail if there are no subscription yet. diff --git a/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-tracing.adoc b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-tracing.adoc new file mode 100644 index 000000000..46b1ecce4 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og-tracing.adoc @@ -0,0 +1,41 @@ += OpenTelemetry Tracing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG connector supports https://opentelemetry.io/[OpenTelemetry] +tracing for both incoming and outgoing channels. + +== Enabling tracing + +Tracing is enabled by default. You can disable it per channel with: + +[source,properties] +---- +mp.messaging.incoming.prices.tracing.enabled=false +mp.messaging.outgoing.prices.tracing.enabled=false +---- + +== How it works + +When tracing is enabled: + +* *Outgoing messages*: The connector creates a `PUBLISH` span and +injects the trace context into the message headers before sending. +* *Incoming messages*: The connector extracts the trace context from +the message headers and creates a `RECEIVE` span linked to the +producer's trace context. + +The span attributes include the exchange name and routing key. + +== Including headers as span attributes + +You can configure specific message headers to be recorded as span +attributes using the `tracing.attribute-headers` property: + +[source,properties] +---- +mp.messaging.incoming.prices.tracing.attribute-headers=my-header,another-header +---- + +This is a comma-separated list of header names whose values will be +added as attributes to the tracing span. diff --git a/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og.adoc b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og.adoc new file mode 100644 index 000000000..77a76a528 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/rabbitmq/rabbitmq-og.adoc @@ -0,0 +1,68 @@ += RabbitMQ OG Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG Connector adds support for RabbitMQ to Reactive Messaging, +based on the AMQP 0-9-1 Protocol Specification. + +Advanced Message Queuing Protocol 0-9-1 (https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf[AMQP +0-9-1]) is an +open standard for passing business messages between applications or +organizations. + +With this connector, your application can: + +* receive messages from a RabbitMQ queue +* send messages to a RabbitMQ exchange + +The RabbitMQ OG connector is based on the https://www.rabbitmq.com/client-libraries/java-client[RabbitMQ Java Client], +the official RabbitMQ client library. + +[NOTE] +==== + +This connector is an alternative to the existing RabbitMQ connector +(`smallrye-rabbitmq`), which is based on the Vert.x RabbitMQ client. +The OG connector uses the original RabbitMQ Java client directly, +providing improved reconnection handling and direct access to all +RabbitMQ client features. + +==== + +[IMPORTANT] +==== + +The *AMQP connector* supports the AMQP 1.0 protocol, which is very +different from AMQP 0-9-1. You _can_ use the AMQP connector with +RabbitMQ provided that the latter has the https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/v3.7.x/README.md[AMQP 1.0 +Plugin] +installed, albeit with reduced functionality. + +==== + +== Using the RabbitMQ OG connector + +To use the RabbitMQ OG Connector, add the following dependency to your +project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-rabbitmq-og + {project-version} + +---- + +The connector name is: `smallrye-rabbitmq-og`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-rabbitmq-og + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-rabbitmq-og +---- diff --git a/content/docs/smallrye-reactive-messaging/main/rabbitmq/receiving-messages-from-rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/main/rabbitmq/receiving-messages-from-rabbitmq.adoc new file mode 100644 index 000000000..43ee6049d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/rabbitmq/receiving-messages-from-rabbitmq.adoc @@ -0,0 +1,308 @@ += Receiving messages from RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG connector lets you retrieve messages from a https://www.rabbitmq.com/[RabbitMQ +broker]. The RabbitMQ connector retrieves +_RabbitMQ Messages_ and maps each of them into Reactive Messaging +`Messages`. + +[NOTE] +==== + +In this context, the reactive messaging concept of a _Channel_ is +realised as a https://www.rabbitmq.com/queues.html[RabbitMQ Queue]. + +==== + +== Example + +Let's imagine you have a RabbitMQ broker running, and accessible using +the `rabbitmq:5672` address (by default it would use `localhost:5672`). +Configure your application to receive RabbitMQ Messages on the `prices` +channel as follows: + +[source,properties] +---- +rabbitmq-host=rabbitmq # <1> +rabbitmq-port=5672 # <2> +rabbitmq-username=my-username # <3> +rabbitmq-password=my-password # <4> + +mp.messaging.incoming.prices.connector=smallrye-rabbitmq-og # <5> +mp.messaging.incoming.prices.queue.name=my-queue # <6> +mp.messaging.incoming.prices.routing-keys=urgent # <7> +---- + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `rabbitmq-host`. +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `rabbitmq-port`. The default +is 5672. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`rabbitmq-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`rabbitmq-password`. +. Instructs the `prices` channel to be managed by the RabbitMQ OG +connector. +. Configures the RabbitMQ queue to read messages from. +. Configures the binding between the RabbitMQ exchange and the +RabbitMQ queue using a routing key. The default is `#` (all messages +will be forwarded from the exchange to the queue) but in general +this can be a comma-separated list of one or more keys. + +Then, your application receives `Message++<++String++>++`. You can consume the +payload directly: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/inbound/RabbitMQPriceConsumer.java[indent=0,opts=optional] +---- + +Or, you can retrieve the `Message++<++String++>++`: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/inbound/RabbitMQPriceMessageConsumer.java[indent=0,opts=optional] +---- + +[NOTE] +==== + +Whether you need to explicitly acknowledge the message depends on the +`auto-acknowledgement` channel setting; if that is set to `true` then +your message will be automatically acknowledged on receipt. + +==== + +== Deserialization + +The connector converts incoming RabbitMQ Messages into Reactive +Messaging `Message++<++T++>++` instances. Incoming messages are received as +`byte++[]++` and can be automatically converted to `String` using the +built-in message converter. + +[cols=",",options="header",] +|=== +|content++_++type |Type +|`text/plain` |`String` +|_Anything else or unset_ |`byte++[]++` +|=== + +[NOTE] +==== + +Unlike the Vert.x-based RabbitMQ connector, the OG connector does not +provide automatic conversion to Vert.x `JsonObject` or `JsonArray` +types. For JSON payloads, receive the message as `String` or `byte++[]++` +and use your preferred JSON library (such as Jackson) for +deserialization. + +==== + +== Inbound Metadata + +Messages coming from RabbitMQ contain an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-rabbitmq-og/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/og/IncomingRabbitMQMetadata.html[`IncomingRabbitMQMetadata`] +in the metadata. + +RabbitMQ message headers can be accessed from the metadata either by +calling `getHeader(String header)` to retrieve a single +header value as a `String`, or `getHeader(String header, Class++<++T++>++ type)` to retrieve +a typed header value, or `getHeaders()` to get a map of all header values. + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/inbound/RabbitMQMetadataExample.java[tags=code,indent=0,opts=optional] +---- + +The type `++<++T++>++` of the header value depends on the RabbitMQ type used for +the header: + +[cols=",",options="header",] +|=== +|RabbitMQ Header Type |T +|String |`String` +|Boolean |`Boolean` +|Number |`Number` +|List |`java.util.List` +|=== + +[NOTE] +==== + +The `IncomingRabbitMQMetadata` in the OG connector returns direct types +(e.g. `String`, `Integer`, `Date`) for most property accessors rather +than `Optional` wrappers. Values will be `null` when not set by the +producer. The `getHeader` methods still return `Optional`. + +==== + +== Acknowledgement + +When a Reactive Messaging Message associated with a RabbitMQ Message is +acknowledged, it informs the broker that the message has been +_accepted_. + +Whether you need to explicitly acknowledge the message depends on the +`auto-acknowledgement` setting for the channel; if that is set to `true` +then your message will be automatically acknowledged on receipt. + +== Failure Management + +If a message produced from a RabbitMQ message is _nacked_, a failure +strategy is applied. The RabbitMQ OG connector supports four strategies, +controlled by the `failure-strategy` channel setting: + +* `fail` - fail the application; no more RabbitMQ messages will be +processed. The RabbitMQ message is marked as rejected. +* `accept` - this strategy marks the RabbitMQ message as accepted. The +processing continues ignoring the failure. +* `reject` - this strategy marks the RabbitMQ message as rejected +(default). The processing continues with the next message. +* `requeue` - this strategy marks the RabbitMQ message as rejected +with requeue flag to true. The processing continues with the next message, +but the requeued message will be redelivered to the consumer. + +The RabbitMQ reject `requeue` flag can be controlled on different failure strategies +using the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/og/RabbitMQRejectMetadata.html[`RabbitMQRejectMetadata`]. +To do that, use the `Message.nack(Throwable, Metadata)` method by including the +`RabbitMQRejectMetadata` metadata with `requeue` to `true`. + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/inbound/RabbitMQRejectMetadataExample.java[tags=code,indent=0,opts=optional] +---- + +[WARNING] +.Experimental +==== + +`RabbitMQFailureHandler` is experimental and APIs are subject to change in the future + +==== + +In addition, you can also provide your own failure strategy. +To provide a failure strategy implement a bean exposing the interface +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-api/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/og/fault/RabbitMQFailureHandler.html[`RabbitMQFailureHandler`], +qualified with a `@Identifier`. +Set the name of the bean as the `failure-strategy` channel setting. + +== Configuration Reference + +NOTE: This table is generated from the project's build and is not available for this version. + +To use an existing _queue_, you need to configure the `queue.name` +attribute. + +For example, if you have a RabbitMQ broker already configured with a +queue called `peopleQueue` that you wish to read messages from, you need +the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq-og +mp.messaging.incoming.people.queue.name=peopleQueue +---- + +If you want RabbitMQ to create the queue for you but bind it to an +existing topic exchange `people`, you need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq-og +mp.messaging.incoming.people.queue.name=peopleQueue +mp.messaging.incoming.people.queue.declare=true +---- + +[NOTE] +==== + +In the above the channel name `people` is implicitly assumed to be the +name of the exchange; if this is not the case you would need to name the +exchange explicitly using the `exchange.name` property. + +==== + +[NOTE] +==== + +The connector supports RabbitMQ's "Server-named Queues" feature to create +an exclusive, auto-deleting, non-durable and randomly named queue. To +enable this feature you set the queue name to exactly `(server.auto)`. +Using this name not only enables the server named queue feature but also +automatically makes ths queue exclusive, auto-deleting, and non-durable; +therefore ignoring any values provided for the `exclusive`, `auto-delete` +and `durable` options. + +==== + +If you want RabbitMQ to create the `people` exchange, queue and binding, +you need the following configuration: + +[source,properties] +---- +mp.messaging.incoming.people.connector=smallrye-rabbitmq-og +mp.messaging.incoming.people.exchange.declare=true +mp.messaging.incoming.people.queue.name=peopleQueue +mp.messaging.incoming.people.queue.declare=true +mp.messaging.incoming.people.queue.routing-keys=tall,short +---- + +In the above we have used an explicit list of routing keys rather than +the default (`#`). Each component of the list creates a separate binding +between the queue and the exchange, so in the case above we would have +two bindings; one based on a routing key of `tall`, the other based on +one of `short`. + +[NOTE] +==== + +The default value of `routing-keys` is `#` (indicating a match against +all possible routing keys) which is only appropriate for _topic_ +Exchanges. If you are using other types of exchange and/or need to +declare queue bindings, you'll need to supply a valid value for the +exchange in question. + +==== + +== Custom arguments for Queue declaration + +When queue declaration is made by the Reactive Messaging channel, using the `queue.declare=true` configuration, +custom queue arguments can be specified using the `queue.arguments` attribute. +`queue.arguments` accepts the identifier (using the `@Identifier` qualifier) of a `Map++<++String, Object++>++` exposed as a CDI bean. +If no arguments has been configured, the default *rabbitmq-queue-arguments* identifier is looked for. + +The following CDI bean produces such a configuration identified with *my-arguments*: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/customization/ArgumentProducers.java[indent=0,opts=optional] +---- + +Then the channel can be configured to use those arguments in queue declaration: + +[source,properties] +---- +mp.messaging.incoming.data.queue.arguments=my-arguments +---- + +Similarly, the `dead-letter-queue.arguments` allows configuring custom arguments for dead letter queue when one is declared (`auto-bind-dlq=true`). + +== Consumer configuration + +The OG connector provides additional consumer options: + +* `consumer-tag` - a custom consumer tag; if not provided, the broker +generates one automatically. +* `consumer-exclusive` - whether the consumer has exclusive access to +the queue. +* `consumer-arguments` - a comma-separated list of arguments +(`key1:value1,key2:value2,...`) for the consumer. +* `content-type-override` - overrides the `content++_++type` attribute of +the incoming message; should be a valid MIME type. +* `max-outstanding-messages` - the maximum number of unacknowledged +messages being processed concurrently. This controls backpressure +through RabbitMQ's QoS (prefetch count) mechanism. diff --git a/content/docs/smallrye-reactive-messaging/main/rabbitmq/request-reply.adoc b/content/docs/smallrye-reactive-messaging/main/rabbitmq/request-reply.adoc new file mode 100644 index 000000000..094e929e0 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/rabbitmq/request-reply.adoc @@ -0,0 +1,139 @@ += RabbitMQ Request/Reply +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Experimental +==== + +RabbitMQ Request Reply Emitter is an experimental feature. + +==== + +The RabbitMQ https://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html[Request-Reply] pattern allows you to publish a message to a RabbitMQ address and then await for a reply message that responds to the initial request, which can be used to implement https://www.rabbitmq.com/tutorials/tutorial-six-java[RPC over RabbitMQ]. + +Given the following request/reply outgoing configuration example: + +[source,properties] +---- +mp.messaging.outgoing.my-request.connector=smallrye-rabbitmq +mp.messaging.outgoing.my-request.exchange.name=rpc +mp.messaging.outgoing.my-request.exchange.type=direct +mp.messaging.outgoing.my-request.default-routing-key=rpc-request +---- + +The `RabbitMQRequestReply` emitter implements the requestor (or the client) of the request-reply pattern for RabbitMQ outbound channels: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQRequestReplyEmitter.java[indent=0] +---- + +[NOTE] +==== + +While in this example we use a direct exchange, it is also possible to use a topic or fanout exchange as well as https://www.rabbitmq.com/docs/local-random-exchange[Local Random Exchanges] for request/reply. + +==== + +The `request` method publishes the request message to the configured target address of the outgoing channel leveraging RabbitMQ https://www.rabbitmq.com/docs/direct-reply-to[Direct Reply-To], +and waits for a reply. +When the reply is received the returned `Uni` is completed with the message payload. + +The request send operation generates a correlation id and sets the `correlationId` property, +which it expects to be sent back in the reply message. + +The replier (or the server) can be implemented using a Reactive Messaging processor: + +[source,properties] +---- +mp.messaging.incoming.request.connector=smallrye-rabbitmq +mp.messaging.incoming.request.exchange.name=rpc +mp.messaging.incoming.request.exchange.type=direct +mp.messaging.incoming.request.routing-keys=rpc-request + +mp.messaging.outgoing.reply.connector=smallrye-rabbitmq +mp.messaging.outgoing.reply.exchange.name="" +---- + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQReplier.java[indent=0] +---- + +== Requesting with `Message` types + +Like the core Emitter's `send` methods, `request` method also can receive a `Message` type and return a message: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQRequestReplyMessageEmitter.java[indent=0] +---- + +[NOTE] +==== + +The ingested reply type of the `RabbitMQRequestReply` is discovered at runtime, +in order to configure a `MessageConverter` to be applied on the incoming message before returning the `Uni` result. + +==== + +== Requesting multiple replies + +You can use the `requestMulti` method to expect any number of replies represented by the `Multi` return type. + +For example this can be used to aggregate multiple replies to a single request. + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/RabbitMQRequestReplyMultiEmitter.java[indent=0] +---- + +Like the other `request` you can also request `Message` types. + +[NOTE] +==== + +The channel attribute `reply.timeout` will be applied between each message, if reached the returned `Multi` will +fail. + +==== + +== Scaling Request/Reply + +If multiple requestor instances are configured on the same outgoing address, and the same reply address, +each requestor instance will receive replies of all instances. If an observed correlation id doesn't match +the id of any pending replies, the reply is simply discarded. +With the additional network traffic this allows scaling requestors, (and repliers) dynamically. + +== Pending replies and reply timeout + +By default, the `Uni` returned from the `request` method is configured to fail with timeout exception if no replies is received after 5 seconds. +This timeout is configurable with the channel attribute `reply.timeout`. + +A snapshot of the list of pending replies is available through the `RabbitMQRequestReply#getPendingReplies` method. + +== Correlation Ids + +The RabbitMQ Request/Reply allows configuring the correlation id mechanism completely through a `CorrelationIdHandler` implementation. +The default handler is based on randomly generated UUID strings. +The correlation id handler implementation can be configured using the `reply.correlation-id.handler` attribute. +As mentioned the default configuration is `uuid`. + +Custom handlers can be implemented by proposing a CDI-managed bean with `@Identifier` qualifier. + +== Reply Error Handling + +If the reply server produces an error and can or would like to propagate the error back to the requestor, failing the returned `Uni`. + +If configured using the `reply.failure.handler` channel attribute, +the `ReplyFailureHandler` implementations are discovered through CDI, matching the `@Identifier` qualifier. + +A sample reply error handler can lookup header values and return the error to be thrown by the reply: + +[source,java] +---- +include::{examples-dir}/rabbitmq/outbound/MyRabbitMQReplyFailureHandler.java[indent=0] +---- + +`null` return value indicates that no error has been found in the reply, and it can be delivered to the application. diff --git a/content/docs/smallrye-reactive-messaging/main/rabbitmq/sending-messages-to-rabbitmq.adoc b/content/docs/smallrye-reactive-messaging/main/rabbitmq/sending-messages-to-rabbitmq.adoc new file mode 100644 index 000000000..0dbb3830c --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/rabbitmq/sending-messages-to-rabbitmq.adoc @@ -0,0 +1,241 @@ += Sending messages to RabbitMQ +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The RabbitMQ OG connector can write Reactive Messaging `Messages` as +RabbitMQ Messages. + +[NOTE] +==== + +In this context, the reactive messaging concept of a _Channel_ is +realised as a https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchanges[RabbitMQ +Exchange]. + +==== + +== Example + +Let's imagine you have a RabbitMQ broker running, and accessible using +the `rabbitmq:5672` address (by default it would use `localhost:5672`). +Configure your application to send the messages from the `prices` +channel as a RabbitMQ Message as follows: + +.... +rabbitmq-host=rabbitmq # <1> +rabbitmq-port=5672 # <2> +rabbitmq-username=my-username # <3> +rabbitmq-password=my-password # <4> + +mp.messaging.outgoing.prices.connector=smallrye-rabbitmq-og # <5> +mp.messaging.outgoing.prices.default-routing-key=normal # <6> +.... + +[arabic] +. Configures the broker/router host name. You can do it per channel +(using the `host` attribute) or globally using `rabbitmq-host` +. Configures the broker/router port. You can do it per channel (using +the `port` attribute) or globally using `rabbitmq-port`. The default +is `5672`. +. Configures the broker/router username if required. You can do it per +channel (using the `username` attribute) or globally using +`rabbitmq-username`. +. Configures the broker/router password if required. You can do it per +channel (using the `password` attribute) or globally using +`rabbitmq-password`. +. Instructs the `prices` channel to be managed by the RabbitMQ OG +connector +. Supplies the default routing key to be included in outbound +messages; this will be used if the "raw payload" form of message +sending is used (see below). + +[NOTE] +==== + +You don't need to set the RabbitMQ exchange name. By default, it uses +the channel name (`prices`) as the name of the exchange to send messages +to. You can configure the `exchange.name` attribute to override it. + +==== + +Then, your application can send `Message++<++Double++>++` to the prices channel. +It can use `double` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/outbound/RabbitMQPriceProducer.java[indent=0,opts=optional] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/outbound/RabbitMQPriceMessageProducer.java[indent=0,opts=optional] +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a +RabbitMQ Message. The payload is converted to the RabbitMQ Message body. + +[width="100%",cols="32%,68%",options="header",] +|=== +|T |RabbitMQ Message Body +|primitive types or `UUID`/`String` |String value with `content++_++type` set to `text/plain` +|`byte++[]++` |Binary content, with `content++_++type` set to `application/octet-stream` +|Any other class |The payload is converted via `toString()` with `content++_++type` set to `application/json` +|=== + +[NOTE] +==== + +Unlike the Vert.x-based RabbitMQ connector, the OG connector does not +handle Vert.x `JsonObject`, `JsonArray`, or `Buffer` types directly. +For JSON payloads, serialize to `String` or `byte++[]++` before sending. + +==== + +If the message payload cannot be serialized, the message is _nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-rabbitmq-og/{javadoc-version}/io/smallrye/reactive/messaging/rabbitmq/og/OutgoingRabbitMQMetadata.html[`OutgoingRabbitMQMetadata`] +to influence how the message is handled by RabbitMQ. For example, you +can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/outbound/RabbitMQOutboundMetadataExample.java[tags=code,indent=0,opts=optional] +---- + +[NOTE] +==== + +The `OutgoingRabbitMQMetadata` in the OG connector uses +`OutgoingRabbitMQMetadata.builder()` as the entry point for building +metadata (instead of `new OutgoingRabbitMQMetadata.Builder()`). It +also uses `java.util.Date` for timestamps instead of `ZonedDateTime`. + +==== + +== Publisher Confirms + +The OG connector supports https://www.rabbitmq.com/docs/confirms#publisher-confirms[publisher confirms] +for reliable message publishing. When enabled, the connector waits for +the broker to acknowledge each published message before considering the +send operation complete. + +[source,properties] +---- +mp.messaging.outgoing.prices.publish-confirms=true +---- + +When publisher confirms are enabled, message acknowledgement in +Reactive Messaging is tied to the broker's confirmation. If the broker +does not confirm the message, the Reactive Messaging message is _nacked_. + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +broker acknowledges the message. + +== Configuration Reference + +NOTE: This table is generated from the project's build and is not available for this version. + +== Using existing destinations + +To use an existing _exchange_, you may need to configure the +`exchange.name` attribute. + +For example, if you have a RabbitMQ broker already configured with an +exchange called `people` that you wish to send messages to, you need the +following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people.connector=smallrye-rabbitmq-og +---- + +You would need to configure the `exchange.name` attribute, if the +exchange name were not the channel name: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-rabbitmq-og +mp.messaging.outgoing.people-out.exchange.name=people +---- + +If you want RabbitMQ to create the `people` exchange, you need the +following configuration: + +[source,properties] +---- +mp.messaging.outgoing.people-out.connector=smallrye-rabbitmq-og +mp.messaging.outgoing.people-out.exchange.name=people +mp.messaging.outgoing.people-out.exchange.declare=true +---- + +[NOTE] +==== + +The above example will create a `topic` exchange and use an empty +default `routing-key` (unless overridden programatically using outgoing +metadata for the message). If you want to create a different type of +exchange or have a different default routing key, then the +`exchange.type` and `default-routing-key` properties need to be +explicitly specified. + +==== + +== Sending to specific queues via the default exchange + +To send a message to a specific queue (usually a reply queue), +you have to configure the default exchange as an outgoing channel and set the name of the queue as routing key in the message metadata. +The name of the exchange needs to be set to `""`. + +[source,properties] +---- +mp.messaging.outgoing.channel-name-for-default-exchange.connector=smallrye-rabbitmq-og +mp.messaging.outgoing.channel-name-for-default-exchange.exchange.name="" +---- + +== Custom arguments for Exchange declaration + +When exchange declaration is made by the Reactive Messaging channel, using the `exchange.declare=true` configuration, +custom exchange arguments can be specified using the `exchange.arguments` attribute. +`exchange.arguments` accepts the identifier (using the `@Identifier` qualifier) of a `Map++<++String, Object++>++` exposed as a CDI bean. +If no arguments has been configured, the default *rabbitmq-exchange-arguments* identifier is looked for. + +The following CDI bean produces such a configuration identified with *my-arguments*: + +[source,java] +---- +include::{examples-dir}/rabbitmq/og/customization/ArgumentProducers.java[indent=0,opts=optional] +---- + +Then the channel can be configured to use those arguments in exchange declaration: + +[source,properties] +---- +mp.messaging.outgoing.data.exchange.arguments=my-arguments +---- + +Similarly, the `dead-letter-exchange.arguments` allows configuring custom arguments for dead letter exchange when one is declared (`dlx.declare=true`). + +== Retry on failure + +The OG connector supports automatic retry when message publishing fails. +This is controlled by two configuration attributes: + +* `retry-on-fail-attempts` (default: 6) - the number of retry attempts +before giving up. +* `retry-on-fail-interval` (default: 5 seconds) - the interval between +retry attempts. + +[source,properties] +---- +mp.messaging.outgoing.prices.retry-on-fail-attempts=10 +mp.messaging.outgoing.prices.retry-on-fail-interval=3 +---- diff --git a/content/docs/smallrye-reactive-messaging/main/sns/sending-aws-sns-messages.adoc b/content/docs/smallrye-reactive-messaging/main/sns/sending-aws-sns-messages.adoc new file mode 100644 index 000000000..69282c824 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/sns/sending-aws-sns-messages.adoc @@ -0,0 +1,72 @@ += Sending AWS SNS Messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AWS SNS connector allows you to send messages to an AWS SNS topic. + +== Sending messages + +Before you start, you need to have an AWS account and an SNS topic created. +To send messages to an SNS topic, you need to create a method that produces messages to the topic. + +Then, your application can send `Message++<++String++>++` to the prices channel. +It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/sns/outbound/SnsProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/sns/outbound/SnsMessageProducer.java[indent=0] +---- + +== Sending messages in batch + +You can configure the outbound channel to send messages in batch of maximum 10 messages (AWS SNS limitation). + +You can customize the size of batches, `10` being the default batch size, and the delay to wait for new messages to be added to the batch, 3000ms being the default delay: + +[source,java] +---- +mp.messaging.outgoing.prices.connector=smallrye-sns +mp.messaging.outgoing.prices.topic=prices +mp.messaging.outgoing.prices.batch=true +mp.messaging.outgoing.prices.batch-size=5 +mp.messaging.outgoing.prices.batch-delay=3000 +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a AWS SNS Message. +How the message is converted depends on the payload type: + +* If the payload is of type `PublishRequest` it is sent as is. +* If the payload is of type `PublishRequest.Builder`, the topic url is set and sent. +* If the payload is of primitive types the payload is converted to String and the message attribute `++_++classname` is set to the class name of the payload. +* If the payload is of any other object type, the payload is serialized (using the `JsonMapping` implementation discovered) and the message attribute `++_++classname` is set to the class name of the payload. + +If the message payload cannot be serialized to JSON, the message is _nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sns/{javadoc-version}/io/smallrye/reactive/messaging/aws/sns/SnsOutboundMetadata.html[`SnsOutboundMetadata`] +to influence how the message is handled by AWS SNS. For example, you can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/sns/outbound/SnsOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +send message request is successful. If the message is not sent successfully, the message is _nacked_. + +== Configuration Reference + +include::{generated-dir}/smallrye-sns-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/main/sns/sns.adoc b/content/docs/smallrye-reactive-messaging/main/sns/sns.adoc new file mode 100644 index 000000000..b24bf08f7 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/sns/sns.adoc @@ -0,0 +1,59 @@ += AWS SNS Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Preview +==== + +The AWS SNS Connector is currently in *preview*. + +==== + +The AWS SNS Connector adds support for AWS SNS to Reactive Messaging. + +With this connector, your application can send messages to a AWS SNS topic. + +The AWS SNS connector is based on the https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html[AWS SDK for Java V2]. + +== Using the AWS SNS connector + +To use the AWS SNS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-aws-sns + {project-version} + +---- + +The connector name is: `smallrye-sns`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-sns + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-sns +---- + +== Configuration + +When available the AWS SNS connector discovers the SNS client as a CDI bean. +This allows using the connector with the https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sns.html[Quarkiverse AWS SNS extension]. +If the SNS client is not available as a CDI bean, the connector creates a new client using the provided configuration. + +* `topic` - The name of the SNS queue, defaults to channel name if not provided. +* `region` - The name of the SNS region. +* `endpoint-override` - The endpoint url override. +* `credentials-provider` - The fully qualified class name of the credential provider to be used in the client, if not provided the default provider chain is used. + +== Additional Resources + +* https://docs.aws.amazon.com/sns/index.html[AWS SNS Documentation] +* https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sns.html[Quarkiverse AWS SNS Extension] diff --git a/content/docs/smallrye-reactive-messaging/main/sqs/receiving-aws-sqs-messages.adoc b/content/docs/smallrye-reactive-messaging/main/sqs/receiving-aws-sqs-messages.adoc new file mode 100644 index 000000000..2b03c4832 --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/sqs/receiving-aws-sqs-messages.adoc @@ -0,0 +1,140 @@ += Receiving AWS SQS Messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AWS SQS connector allows you to receive messages from an AWS SQS queue. + +== Receiving messages + +Before you start, you need to have an AWS account and a SQS queue created. +To receive messages from an SQS queue, you need to create a method that consumes messages from the queue. + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-sqs +mp.messaging.incoming.data.queue=my-queue +---- + +Then, your application receives `Message++<++String++>++`. +You can consume the payload directly: + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsStringConsumer.java[indent=0] +---- + +Or, you can retrieve the `Message++<++String++>++`: + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsMessageStringConsumer.java[indent=0] +---- + +You also can directly consume the `software.amazon.awssdk.services.sqs.model.Message`: + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsSdkMessageConsumer.java[indent=0] +---- + +=== Receive message request customizer + +The receive message requests sent to AWS SQS can be customized by providing a CDI bean implementation of +link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsReceiveMessageRequestCustomizer.html[`SqsReceiveMessageRequestCustomizer`] +and configuring it's identifier using the `receive.request.customizer` connector attribute. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsReceiveMessageRequestCustomizerExample.java[indent=0] +---- + +[source,properties] +---- +mp.messaging.incoming.data.connector=smallrye-sqs +mp.messaging.incoming.data.queue=my-queue +mp.messaging.incoming.data.receive.request.customizer=my-customizer +---- + +Receive requests failed with retryable exceptions are retried automatically, by setting the failed request id. + +=== Receive message request pause and resume + +The AWS SQS connector fetches messages by continuously sending receive message requests. +If messages are not processed in a timely manner, the connector pauses fetching messages until queued messages are processed. + +The pause resume can be disabled using the `receive.request.pause.resume` connector attribute. + +[source,properties] +---- +mp.messaging.incoming.data.receive.request.pause.resume=false +---- + +== Deserialization + +The connector converts incoming SQS Messages into Reactive Messaging `Message++<++T++>++` instances. + +The payload type `T` is determined based on the value of the SQS message attribute `++_++classname`. + +If you send messages with the AWS SQS connector (outbound connector), +the `++_++classname` attribute is automatically added to the message. +The primitive types are transformed from the string representation to the corresponding Java type. +For objects, if one of the `JsonMapping` modules is present on the classpath, +the connector used that JSON module to deserialize the message body to objects. + +If the `++_++classname` attribute is not present, the payload is deserialized as a `String`. + +[source,java] +---- +include::{examples-dir}/sqs/json/SqsJsonMapping.java[tags=code,indent=0] +---- + +== Inbound Metadata + +Messages coming from SQS contain an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsIncomingMetadata.html[`SqsIncomingMetadata`] +in the metadata. + +SQS message attributes can be accessed from the metadata either by name or by the `MessageAttributeValue` object. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsMetadataExample.java[indent=0] +---- + +== Acknowledgement Strategies + +The default strategy for acknowledging AWS SQS Message is to _delete_ the message from the queue. +You can set the `ack-strategy` attribute to `ignore` if you want to ignore the message. + +++[++NOTE++]++ Deprecated +`ack.delete` attribute is deprecated and will be removed in a future release. + +You can implement a custom strategy by implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsAckHandler.html[`SqsAckHandler`], +interface with a `Factory` class and registering it as a CDI bean with an `@Identifier`. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsCustomAckStrategy.java[indent=0] +---- + +== Failure Strategies + +The default strategy for handling message processing failures is `ignore`. +It lets the visibility timeout of the message consumer to expire and reconsume the message. + +Other possible strategies are: + +* `fail`: the failure is logged and the channel fail-stops. +* `delete`: the message is removed from the queue. +* `visibility`: the message visibility timeout is reset to 0. + +You can implement a custom strategy by implementing the link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsFailureHandler.html[`SqsFailureHandler`], +interface with a `Factory` class and registering it as a CDI bean with an `@Identifier`. + +[source,java] +---- +include::{examples-dir}/sqs/inbound/SqsCustomNackStrategy.java[indent=0] +---- + +== Configuration Reference + +include::{generated-dir}/smallrye-sqs-incoming.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/main/sqs/sending-aws-sqs-messages.adoc b/content/docs/smallrye-reactive-messaging/main/sqs/sending-aws-sqs-messages.adoc new file mode 100644 index 000000000..94e92d1ce --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/sqs/sending-aws-sqs-messages.adoc @@ -0,0 +1,74 @@ += Sending AWS SQS Messages +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The AWS SQS connector allows you to send messages to an AWS SQS queue. + +== Sending messages + +Before you start, you need to have an AWS account and an SQS queue created. +To send messages to an SQS queue, you need to create a method that produces messages to the queue. + +Then, your application can send `Message++<++String++>++` to the prices channel. +It can use `String` payloads as in the following snippet: + +[source,java] +---- +include::{examples-dir}/sqs/outbound/SqsStringProducer.java[indent=0] +---- + +Or, you can send `Message++<++Double++>++`, which affords the opportunity to +explicitly specify metadata on the outgoing message: + +[source,java] +---- +include::{examples-dir}/sqs/outbound/SqsMessageStringProducer.java[indent=0] +---- + +== Sending messages in batch + +You can configure the outbound channel to send messages in batch of maximum 10 messages (AWS SQS limitation). + +You can customize the size of batches, `10` being the default batch size, and the delay to wait for new messages to be added to the batch, 3000ms being the default delay: + +[source,java] +---- +mp.messaging.outgoing.prices.connector=smallrye-sqs +mp.messaging.outgoing.prices.queue=prices +mp.messaging.outgoing.prices.batch=true +mp.messaging.outgoing.prices.batch-size=5 +mp.messaging.outgoing.prices.batch-delay=3000 +---- + +== Serialization + +When sending a `Message++<++T++>++`, the connector converts the message into a AWS SQS Message. +How the message is converted depends on the payload type: + +* If the payload is of type `SendMessageRequest` it is sent as is. +* If the payload is of type `SendMessageRequest.Builder`, the queue url is set and sent. +* If the payload is of type `software.amazon.awssdk.services.sqs.model.Message` it is usd to set the message body and attributes. +* If the payload is of primitive types the paylaod is converted to String and the message attribute `++_++classname` is set to the class name of the payload. +* If the payload is of any other object type, the payload is serialized (using the `JsonMapping` implementation discovered) and the message attribute `++_++classname` is set to the class name of the payload. + +If the message payload cannot be serialized to JSON, the message is _nacked_. + +== Outbound Metadata + +When sending `Messages`, you can add an instance of link:https://javadoc.io/doc/io.smallrye.reactive/smallrye-reactive-messaging-aws-sqs/{javadoc-version}/io/smallrye/reactive/messaging/aws/sqs/SqsOutboundMetadata.html[`SqsOutboundMetadata`] +to influence how the message is handled by AWS SQS. For example, you +can configure the routing key, timestamp and headers: + +[source,java] +---- +include::{examples-dir}/sqs/outbound/SqsOutboundMetadataExample.java[tags=code,indent=0] +---- + +== Acknowledgement + +By default, the Reactive Messaging `Message` is acknowledged when the +send message request is successful. If the message is not sent successfully, the message is _nacked_. + +== Configuration Reference + +include::{generated-dir}/smallrye-sqs-outgoing.adoc[indent=0] diff --git a/content/docs/smallrye-reactive-messaging/main/sqs/sqs.adoc b/content/docs/smallrye-reactive-messaging/main/sqs/sqs.adoc new file mode 100644 index 000000000..83b664f6d --- /dev/null +++ b/content/docs/smallrye-reactive-messaging/main/sqs/sqs.adoc @@ -0,0 +1,62 @@ += AWS SQS Connector +:version-root: ../ +include::{version-root}_attributes.adoc[] + +[WARNING] +.Preview +==== + +The AWS SQS Connector is currently in *preview*. + +==== + +The AWS SQS Connector adds support for AWS SQS to Reactive Messaging. + +With this connector, your application can: + +* receive messages from a RabbitMQ queue +* send messages to a RabbitMQ exchange + +The AWS SQS connector is based on the https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html[AWS SDK for Java V2]. + +== Using the AWS SQS connector + +To use the AWS SQS Connector, add the following dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.reactive + smallrye-reactive-messaging-aws-sqs + {project-version} + +---- + +The connector name is: `smallrye-sqs`. + +So, to indicate that a channel is managed by this connector you need: + +[source,properties] +---- +# Inbound +mp.messaging.incoming.[channel-name].connector=smallrye-sqs + +# Outbound +mp.messaging.outgoing.[channel-name].connector=smallrye-sqs +---- + +== Configuration + +When available the AWS SQS connector discovers the SQS client as a CDI bean. +This allows using the connector with the https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sqs.html[Quarkiverse AWS SQS extension]. +If the SQS client is not available as a CDI bean, the connector creates a new client using the provided configuration. + +* `queue` - The name of the SQS queue, defaults to channel name if not provided. +* `region` - The name of the SQS region. +* `endpoint-override` - The endpoint url override. +* `credentials-provider` - The fully qualified class name of the credential provider to be used in the client, if not provided the default provider chain is used. + +== Additional Resources + +* https://docs.aws.amazon.com/sqs/index.html[AWS SQS Documentation] +* https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sqs.html[Quarkiverse AWS SQS Extension] diff --git a/content/docs/smallrye-stork/1/_attributes.adoc b/content/docs/smallrye-stork/1/_attributes.adoc new file mode 100644 index 000000000..332c29b89 --- /dev/null +++ b/content/docs/smallrye-stork/1/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 1.4.2 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Stork +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 1.4.2 +:relfileprefix: /docs/smallrye-stork/1/ +:imagesdir: /docs/smallrye-stork/1 +:docs-project: smallrye-stork +:docs-version: 1 +:docs-ref: 1.4.2 diff --git a/content/docs/smallrye-stork/1/_examples/examples/AcmeDiscoveryApiUsage.java b/content/docs/smallrye-stork/1/_examples/examples/AcmeDiscoveryApiUsage.java new file mode 100644 index 000000000..5463ed212 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/AcmeDiscoveryApiUsage.java @@ -0,0 +1,18 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.StorkServiceRegistry; + +public class AcmeDiscoveryApiUsage { + + public void example(StorkServiceRegistry stork) { + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new AcmeConfiguration().withHost("my-host")) + ); + + Uni uni = stork.getService("my-service").selectInstance(); + } + +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/AcmeLoadBalancer.java b/content/docs/smallrye-stork/1/_examples/examples/AcmeLoadBalancer.java new file mode 100644 index 000000000..6fb0b1be1 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/AcmeLoadBalancer.java @@ -0,0 +1,32 @@ +package examples; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Random; + +import io.smallrye.stork.api.LoadBalancer; +import io.smallrye.stork.api.NoServiceInstanceFoundException; +import io.smallrye.stork.api.ServiceInstance; + +public class AcmeLoadBalancer implements LoadBalancer { + + private final Random random; + + public AcmeLoadBalancer(AcmeLoadBalancerConfiguration config) { + random = new Random(); + } + + @Override + public ServiceInstance selectServiceInstance(Collection serviceInstances) { + if (serviceInstances.isEmpty()) { + throw new NoServiceInstanceFoundException("No services found."); + } + int index = random.nextInt(serviceInstances.size()); + return new ArrayList<>(serviceInstances).get(index); + } + + @Override + public boolean requiresStrictRecording() { + return false; + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/AcmeLoadBalancerProvider.java b/content/docs/smallrye-stork/1/_examples/examples/AcmeLoadBalancerProvider.java new file mode 100644 index 000000000..d793517c9 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/AcmeLoadBalancerProvider.java @@ -0,0 +1,20 @@ +package examples; + +import io.smallrye.stork.api.LoadBalancer; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.LoadBalancerAttribute; +import io.smallrye.stork.api.config.LoadBalancerType; +import io.smallrye.stork.spi.LoadBalancerProvider; + +@LoadBalancerType("acme-load-balancer") +@LoadBalancerAttribute(name = "my-attribute", + description = "Attribute that alters the behavior of the LoadBalancer") +public class AcmeLoadBalancerProvider implements + LoadBalancerProvider { + + @Override + public LoadBalancer createLoadBalancer(AcmeLoadBalancerConfiguration config, + ServiceDiscovery serviceDiscovery) { + return new AcmeLoadBalancer(config); + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/AcmeSelectorApiUsage.java b/content/docs/smallrye-stork/1/_examples/examples/AcmeSelectorApiUsage.java new file mode 100644 index 000000000..aa996d68b --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/AcmeSelectorApiUsage.java @@ -0,0 +1,21 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.StorkServiceRegistry; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +public class AcmeSelectorApiUsage { + + public void example(StorkServiceRegistry stork) { + String list = "localhost:8080, localhost:8081"; + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new StaticConfiguration().withAddressList(list), + new AcmeLoadBalancerConfiguration().withMyAttribute("my-value")) + ); + + Uni uni = stork.getService("my-service").selectInstance(); + } + +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/AcmeServiceDiscovery.java b/content/docs/smallrye-stork/1/_examples/examples/AcmeServiceDiscovery.java new file mode 100644 index 000000000..b9368c4b4 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/AcmeServiceDiscovery.java @@ -0,0 +1,32 @@ +package examples; + +import java.util.Collections; +import java.util.List; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +public class AcmeServiceDiscovery implements ServiceDiscovery { + + private final String host; + private final int port; + + public AcmeServiceDiscovery(AcmeConfiguration configuration) { + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override + public Uni> getServiceInstances() { + // Proceed to the lookup... + // Here, we just return a DefaultServiceInstance with the configured host and port + // The last parameter specifies whether the communication with the instance should + // happen over a secure connection + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/AcmeServiceDiscoveryProvider.java b/content/docs/smallrye-stork/1/_examples/examples/AcmeServiceDiscoveryProvider.java new file mode 100644 index 000000000..8ef1d50f6 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/AcmeServiceDiscoveryProvider.java @@ -0,0 +1,26 @@ +package examples; + +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.ServiceConfig; +import io.smallrye.stork.api.config.ServiceDiscoveryAttribute; +import io.smallrye.stork.api.config.ServiceDiscoveryType; +import io.smallrye.stork.spi.StorkInfrastructure; +import io.smallrye.stork.spi.ServiceDiscoveryProvider; + +@ServiceDiscoveryType("acme") +@ServiceDiscoveryAttribute(name = "host", + description = "Host name of the service discovery server.", required = true) +@ServiceDiscoveryAttribute(name = "port", + description = "Hort of the service discovery server.", required = false) +public class AcmeServiceDiscoveryProvider + implements ServiceDiscoveryProvider { + + @Override + public ServiceDiscovery createServiceDiscovery( + AcmeConfiguration config, + String serviceName, + ServiceConfig serviceConfig, + StorkInfrastructure storkInfrastructure) { + return new AcmeServiceDiscovery(config); + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/CachedAcmeServiceDiscovery.java b/content/docs/smallrye-stork/1/_examples/examples/CachedAcmeServiceDiscovery.java new file mode 100644 index 000000000..204aa78c9 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/CachedAcmeServiceDiscovery.java @@ -0,0 +1,31 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +import java.util.Collections; +import java.util.List; + +public class CachedAcmeServiceDiscovery extends CachingServiceDiscovery { + + private final String host; + private final int port; + + public CachedAcmeServiceDiscovery(CachedAcmeConfiguration configuration) { + super(configuration.getRefreshPeriod()); // (1) + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override // (2) + public Uni> fetchNewServiceInstances(List previousInstances) { + // Retrieve services... + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/CachedAcmeServiceDiscoveryProvider.java b/content/docs/smallrye-stork/1/_examples/examples/CachedAcmeServiceDiscoveryProvider.java new file mode 100644 index 000000000..ac3e9e2f3 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/CachedAcmeServiceDiscoveryProvider.java @@ -0,0 +1,30 @@ +package examples; + +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.ServiceConfig; +import io.smallrye.stork.api.config.ServiceDiscoveryAttribute; +import io.smallrye.stork.api.config.ServiceDiscoveryType; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.spi.ServiceDiscoveryProvider; +import io.smallrye.stork.spi.StorkInfrastructure; + +@ServiceDiscoveryType("cached-acme") +@ServiceDiscoveryAttribute(name = "host", + description = "Host name of the service discovery server.", required = true) +@ServiceDiscoveryAttribute(name = "port", + description = "Hort of the service discovery server.", required = false) +@ServiceDiscoveryAttribute(name = "refresh-period", + description = "Service discovery cache refresh period.", + defaultValue = CachingServiceDiscovery.DEFAULT_REFRESH_INTERVAL) +public class CachedAcmeServiceDiscoveryProvider + implements ServiceDiscoveryProvider { + + @Override + public ServiceDiscovery createServiceDiscovery( + CachedAcmeConfiguration config, + String serviceName, + ServiceConfig serviceConfig, + StorkInfrastructure storkInfrastructure) { + return new CachedAcmeServiceDiscovery(config); + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/DefinitionExample.java b/content/docs/smallrye-stork/1/_examples/examples/DefinitionExample.java new file mode 100644 index 000000000..f3bb7b73c --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/DefinitionExample.java @@ -0,0 +1,23 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +public class DefinitionExample { + + public static void example(Stork stork) { + String example = "localhost:8080, localhost:8081"; + + // A service using a static list of locations as discovery + // As not set, it defaults to round-robin to select the instance. + stork.defineIfAbsent("my-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example))); + + // Another service using the random selection strategy, instead of round-robin + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration())); + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/HelloClient.java b/content/docs/smallrye-stork/1/_examples/examples/HelloClient.java new file mode 100644 index 000000000..3f3021a8d --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/HelloClient.java @@ -0,0 +1,19 @@ +package examples; + +import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; + +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; + +@Path("/") +@RegisterRestClient(baseUri = "stork://hello-service/hello") +public interface HelloClient { + @POST + @Produces(MediaType.TEXT_PLAIN) + @Consumes(MediaType.TEXT_PLAIN) + String echo(String name); +} + diff --git a/content/docs/smallrye-stork/1/_examples/examples/InitializationExample.java b/content/docs/smallrye-stork/1/_examples/examples/InitializationExample.java new file mode 100644 index 000000000..cb93ca0bd --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/InitializationExample.java @@ -0,0 +1,18 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +import java.time.Duration; + +public class InitializationExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + // ... + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/LookupExample.java b/content/docs/smallrye-stork/1/_examples/examples/LookupExample.java new file mode 100644 index 000000000..71e232d12 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/LookupExample.java @@ -0,0 +1,27 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +import java.util.List; +import java.util.Map; + +public class LookupExample { + + public static void example(Stork stork) { + Service service = stork.getService("my-service"); + + // Gets all the available instances: + Uni> instances = service.getInstances(); + // Select one instance using the load balancing strategy + Uni instance = service.selectInstance(); + + // Gets all the managed services: + Map services = stork.getServices(); + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/StorkApiExample.java b/content/docs/smallrye-stork/1/_examples/examples/StorkApiExample.java new file mode 100644 index 000000000..9936cd13e --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/StorkApiExample.java @@ -0,0 +1,33 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +import java.time.Duration; + +public class StorkApiExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + String example = "localhost:8080, localhost:8082"; + + // A service using a static list of locations as discovery + // As not set, it defaults to round-robin to select the instance. + stork.defineIfAbsent("my-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example))); + + // Another service using the random selection strategy, instead of round-robin + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration())); + + ServiceInstance instance = stork.getService("my-second-service").selectInstance() + .await().atMost(Duration.ofSeconds(1)); + System.out.println(instance.getHost() + ":" + instance.getPort()); + } +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/StorkEntryPointExample.java b/content/docs/smallrye-stork/1/_examples/examples/StorkEntryPointExample.java new file mode 100644 index 000000000..99343bd51 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/StorkEntryPointExample.java @@ -0,0 +1,14 @@ +package examples; + +import io.smallrye.stork.Stork; + +public class StorkEntryPointExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/StorkServiceExample.java b/content/docs/smallrye-stork/1/_examples/examples/StorkServiceExample.java new file mode 100644 index 000000000..c0b7dbb06 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/StorkServiceExample.java @@ -0,0 +1,18 @@ +package examples; + +import io.smallrye.stork.api.Service; +import io.smallrye.stork.Stork; + +public class StorkServiceExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/StorkServiceLookupExample.java b/content/docs/smallrye-stork/1/_examples/examples/StorkServiceLookupExample.java new file mode 100644 index 000000000..70c03cdc1 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/StorkServiceLookupExample.java @@ -0,0 +1,24 @@ +package examples; + +import java.time.Duration; +import java.util.List; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; + +public class StorkServiceLookupExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + List instances = service.getInstances() + .await().atMost(Duration.ofSeconds(5)); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/1/_examples/examples/StorkServiceSelectionExample.java b/content/docs/smallrye-stork/1/_examples/examples/StorkServiceSelectionExample.java new file mode 100644 index 000000000..a9e3dcc85 --- /dev/null +++ b/content/docs/smallrye-stork/1/_examples/examples/StorkServiceSelectionExample.java @@ -0,0 +1,25 @@ +package examples; + +import java.time.Duration; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; + +public class StorkServiceSelectionExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + ServiceInstance instance = service.selectInstance() + .await().atMost(Duration.ofSeconds(5)); + + System.out.println(instance.getHost() + ":" + instance.getPort()); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/1/_generated/composite-sd-attributes.adoc b/content/docs/smallrye-stork/1/_generated/composite-sd-attributes.adoc new file mode 100644 index 000000000..ae556fc30 --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/composite-sd-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`services` |Yes | |A comma-separated list of services that this services consists of. +|=== diff --git a/content/docs/smallrye-stork/1/_generated/consul-sd-attributes.adoc b/content/docs/smallrye-stork/1/_generated/consul-sd-attributes.adoc new file mode 100644 index 000000000..edf07b924 --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/consul-sd-attributes.adoc @@ -0,0 +1,10 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`consul-host` |No |`localhost` |The Consul host. +|`consul-port` |No |`8500` |The Consul port. +|`use-health-checks` |No |`true` |Whether to use health check. +|`application` |No | |The application name; if not defined Stork service name will be used. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |whether the connection with the service should be encrypted with TLS. +|=== diff --git a/content/docs/smallrye-stork/1/_generated/consul-sr-attributes.adoc b/content/docs/smallrye-stork/1/_generated/consul-sr-attributes.adoc new file mode 100644 index 000000000..d126f6a7a --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/consul-sr-attributes.adoc @@ -0,0 +1,6 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`consul-host` |No |`localhost` |The Consul host. +|`consul-port` |No |`8500` |The Consul port. +|=== diff --git a/content/docs/smallrye-stork/1/_generated/eureka-sd-attributes.adoc b/content/docs/smallrye-stork/1/_generated/eureka-sd-attributes.adoc new file mode 100644 index 000000000..2a2581bcb --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/eureka-sd-attributes.adoc @@ -0,0 +1,13 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`eureka-host` |Yes | |The Eureka server host. +|`eureka-port` |No |`8761` |The Eureka server port. +|`eureka-context-path` |No |`/` |The Eureka server root context path. +|`application` |No | |The Eureka application Id; if not defined Stork service name will be used +|`eureka-trust-all` |No |`false` |Enable/Disable the TLS certificate verification +|`eureka-tls` |No |`false` |Use TLS to connect to the Eureka server +|`instance` |No | |The Eureka application instance Id +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No |`false` |Whether is should select the secured endpoint of the retrieved services. +|=== diff --git a/content/docs/smallrye-stork/1/_generated/eureka-sr-attributes.adoc b/content/docs/smallrye-stork/1/_generated/eureka-sr-attributes.adoc new file mode 100644 index 000000000..c07f772aa --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/eureka-sr-attributes.adoc @@ -0,0 +1,9 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`eureka-host` |No |`localhost` |The Eureka host. +|`eureka-port` |No |`8761` |The Eureka port. +|`eureka-context-path` |No |`/` |The Eureka server root context path. +|`eureka-trust-all` |No |`false` |Enable/Disable the TLS certificate verification +|`eureka-tls` |No |`false` |Use TLS to connect to the Eureka server +|=== diff --git a/content/docs/smallrye-stork/1/_generated/kubernetes-sd-attributes.adoc b/content/docs/smallrye-stork/1/_generated/kubernetes-sd-attributes.adoc new file mode 100644 index 000000000..5f19e7922 --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/kubernetes-sd-attributes.adoc @@ -0,0 +1,9 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`k8s-host` |No | |The Kubernetes API host. +|`k8s-namespace` |No | |The namespace of the service. Use all to discover all namespaces. +|`application` |No | |The Kubernetes application Id; if not defined Stork service name will be used. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|=== diff --git a/content/docs/smallrye-stork/1/_generated/least-response-time-lb-attributes.adoc b/content/docs/smallrye-stork/1/_generated/least-response-time-lb-attributes.adoc new file mode 100644 index 000000000..dd977d2d0 --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/least-response-time-lb-attributes.adoc @@ -0,0 +1,7 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`declining-factor` |No |`0.9` |How much _score_ should decline in time, see Score calculation in the docs for details. +|`error-penalty` |No |`60s` |This load balancer treats an erroneous response as a response after this time. +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/1/_generated/power-of-two-choices-lb-attributes.adoc b/content/docs/smallrye-stork/1/_generated/power-of-two-choices-lb-attributes.adoc new file mode 100644 index 000000000..95a37a4df --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/power-of-two-choices-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/1/_generated/random-lb-attributes.adoc b/content/docs/smallrye-stork/1/_generated/random-lb-attributes.adoc new file mode 100644 index 000000000..95a37a4df --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/random-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/1/_generated/static-sd-attributes.adoc b/content/docs/smallrye-stork/1/_generated/static-sd-attributes.adoc new file mode 100644 index 000000000..469ca6230 --- /dev/null +++ b/content/docs/smallrye-stork/1/_generated/static-sd-attributes.adoc @@ -0,0 +1,7 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`address-list` |Yes | |A comma-separated list of addresses (host:port). The default port is 80. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. Default is false, except if the host:port uses the port is 443. +|`shuffle` |No |`false` |Whether the list of address must be shuffled to avoid using the first address on every startup. +|=== diff --git a/content/docs/smallrye-stork/1/_nav.yml b/content/docs/smallrye-stork/1/_nav.yml new file mode 100644 index 000000000..bc74a7346 --- /dev/null +++ b/content/docs/smallrye-stork/1/_nav.yml @@ -0,0 +1,46 @@ +title: SmallRye Stork +nav: +- title: Overview + page: index +- title: Concepts + page: concepts +- title: Programmatic API + page: programmatic-api +- title: Javadoc + url: https://javadoc.io/doc/io.smallrye.stork/smallrye-stork-api/latest/index.html +- title: Using Stork with Quarkus + page: quarkus +- title: Service Discovery + items: + - title: Consul + page: service-discovery/consul + - title: DNS + page: service-discovery/dns + - title: Kubernetes + page: service-discovery/kubernetes + - title: KNative + page: service-discovery/knative + - title: Eureka + page: service-discovery/eureka + - title: Composite + page: service-discovery/composite + - title: Static List + page: service-discovery/static-list + - title: Custom Service Discovery + page: service-discovery/custom-service-discovery +- title: Load-Balancing + items: + - title: Round Robin + page: load-balancer/round-robin + - title: Random + page: load-balancer/random + - title: Least Requests + page: load-balancer/least-requests + - title: Response Time + page: load-balancer/response-time + - title: Power Of Two Choices + page: load-balancer/power-of-two-choices + - title: Sticky + page: load-balancer/sticky + - title: Custom Load Balancer + page: load-balancer/custom-load-balancer diff --git a/content/docs/smallrye-stork/1/concepts.adoc b/content/docs/smallrye-stork/1/concepts.adoc new file mode 100644 index 000000000..8bcaf8ed5 --- /dev/null +++ b/content/docs/smallrye-stork/1/concepts.adoc @@ -0,0 +1,110 @@ += Concepts +include::_attributes.adoc[] + +This page presents the concepts used in Stork. +When using Stork in a _managed_ environment, such as Quarkus, all these concepts are hidden, as you only configure the lookup and selection. +However, when using the programmatic API, you will use these concepts directly. + +[.has-dark] +image::images/diagrams/plantuml-383c9b353dda.svg[stork] + +== Process overview + +When using the programmatic API of Stork, you can: + +[arabic] +. Retrieve the _singleton_ `Stork` instance. This instance is configured with the set of `Service` it manages. +. Retrieve the `Service` you want to use. Each `Service` is associated with a name. +. Retrieve the `ServiceInstance` which will provide the metadata to access the actual service. + +[.has-dark] +image::images/diagrams/plantuml-a0003ba546d7.svg[sequence] + +Behind the scenes, Stork will handle the service lookup and selection. + +[NOTE] +==== + +The service lookup and selection are asynchronous operations. +Thus, the API returns instances of `Uni`. + +==== + +== Stork + +`io.smallrye.stork.Stork` is the entry-point of the API. +The `Stork` instance is a _singleton_. +It needs to be initialized once (when the application starts) and shutdown when the application stops: + +[source,java] +---- +include::{examples-dir}/examples/StorkEntryPointExample.java[] +---- + +During the initialization, Stork looks for `io.smallrye.stork.config.ConfigProvider` SPI provider and retrieves the list of managed services: + +* A service is identified by a *name*. +* A service has a service discovery configuration indicating how Stork will look for service instances +* A service can have a load-balancer configuration indicating how Stork can select the most appropriate instance. + +== Service + +A `io.smallrye.stork.Service` is the structure representing a _service_ used by the application. +Services are pre-configured with their name, service discovery, and optionally, their load-balancer. +You retrieve a `Service` using the `Stork#getService(String name)` method. + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceExample.java[] +---- + +The `Service` lets you retrieve the list of `ServiceInstance`, or select a single one, when a load-balancer is configured. + +== Service Instance + +The `io.smallrye.stork.api.ServiceInstance` represents an actual instance of the service. +It provides the metadata to configure a _client_ to interact with that specific instance of service. + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceLookupExample.java[] +---- + +The service selection is a two-steps process: + +[arabic] +. Service lookup - using the service discovery +. Service selection - using the load balancer + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceSelectionExample.java[] +---- + +== Service Discovery + +The `io.smallrye.stork.api.ServiceDiscovery` represents a service discovery mechanism, such as DNS, Consul, or Eureka. + +You can implement a custom service discovery for Stork by implementing the `ServiceDiscoveryProvider` interface. +The corresponding `ServiceRegistrarProviderLoader` and `RegistrarConfiguration` classes will be automatically generated during compilation time. + +Please note that the `ServiceDiscovery` implementation must be non-blocking. + +== Load Balancer + +The `io.smallrye.stork.api.LoadBalancer` represents a load-balancer strategy, such as round-robin. + +To implement a custom load balancer for Stork, implement the `LoadBalancerProvider` interface. +The corresponding `LoadBalancerProviderLoader` and `Configuration` classes will be automatically generated during compilation time. + +Please note that the `LoadBalancer` implementation, similarly to `ServiceDiscovery` +must be non-blocking. + +== Service registration + +The `io.smallrye.stork.api.ServiceRegistrar` represents a service registration mechanism for Consul and Eureka. + +You can implement a custom service registrar for Stork by implementing the `ServiceRegistrarProvider` interface. +The corresponding `ServiceRegistrarProviderLoader` and `RegistrarConfiguration` classes will be automatically generated during compilation time. + +Please note that the `ServiceRegistrar` implementation must be non-blocking. diff --git a/content/docs/smallrye-stork/1/images/diagrams/plantuml-22429aea1395.dark.svg b/content/docs/smallrye-stork/1/images/diagrams/plantuml-22429aea1395.dark.svg new file mode 100644 index 000000000..bec6cc6c1 --- /dev/null +++ b/content/docs/smallrye-stork/1/images/diagrams/plantuml-22429aea1395.dark.svg @@ -0,0 +1 @@ +ApplicationStorkDNS ServerApplicationStorkDNS ServerApplicationStorkDNS Serverget service instancesget SRV records for hostnamelist of SRV recordsget A/AAAA records for each SRV record targetlist of A/AAAAlist of ServiceInstances \ No newline at end of file diff --git a/content/docs/smallrye-stork/1/images/diagrams/plantuml-22429aea1395.svg b/content/docs/smallrye-stork/1/images/diagrams/plantuml-22429aea1395.svg new file mode 100644 index 000000000..bd06e097e --- /dev/null +++ b/content/docs/smallrye-stork/1/images/diagrams/plantuml-22429aea1395.svg @@ -0,0 +1 @@ +ApplicationStorkDNS ServerApplicationStorkDNS ServerApplicationStorkDNS Serverget service instancesget SRV records for hostnamelist of SRV recordsget A/AAAA records for each SRV record targetlist of A/AAAAlist of ServiceInstances \ No newline at end of file diff --git a/content/docs/smallrye-stork/1/images/diagrams/plantuml-383c9b353dda.dark.svg b/content/docs/smallrye-stork/1/images/diagrams/plantuml-383c9b353dda.dark.svg new file mode 100644 index 000000000..2b9114071 --- /dev/null +++ b/content/docs/smallrye-stork/1/images/diagrams/plantuml-383c9b353dda.dark.svg @@ -0,0 +1 @@ +«entry-point»StorkServiceDiscoveryServiceInstanceLoadBalancer«named»ServiceKubernetesConsulCustom Service Discovery«default»RoundRobinLeastResponseTimeCustom Load Balancer*selectServiceInstance \ No newline at end of file diff --git a/content/docs/smallrye-stork/1/images/diagrams/plantuml-383c9b353dda.svg b/content/docs/smallrye-stork/1/images/diagrams/plantuml-383c9b353dda.svg new file mode 100644 index 000000000..0e4b865f3 --- /dev/null +++ b/content/docs/smallrye-stork/1/images/diagrams/plantuml-383c9b353dda.svg @@ -0,0 +1 @@ +«entry-point»StorkServiceDiscoveryServiceInstanceLoadBalancer«named»ServiceKubernetesConsulCustom Service Discovery«default»RoundRobinLeastResponseTimeCustom Load Balancer*selectServiceInstance \ No newline at end of file diff --git a/content/docs/smallrye-stork/1/images/diagrams/plantuml-a0003ba546d7.dark.svg b/content/docs/smallrye-stork/1/images/diagrams/plantuml-a0003ba546d7.dark.svg new file mode 100644 index 000000000..fb78d3e40 --- /dev/null +++ b/content/docs/smallrye-stork/1/images/diagrams/plantuml-a0003ba546d7.dark.svg @@ -0,0 +1 @@ +ApplicationApplicationApplicationStorkStorkStorkConfigProviderConfigProviderConfigProviderServiceServiceServiceService DiscoveryService DiscoveryService DiscoveryLoad BalancerLoad BalancerLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad Balancer(1)initialize()(2)getConfig()(3): List<ServiceConfig> (4)getService("name")(5)Service  (6)selectServiceInstance()(7)getServiceInstances()(8)Uni<List<ServiceInstance>>(9)selectServiceInstance()(10)Uni<ServiceInstance>(11)Uni<ServiceInstance> \ No newline at end of file diff --git a/content/docs/smallrye-stork/1/images/diagrams/plantuml-a0003ba546d7.svg b/content/docs/smallrye-stork/1/images/diagrams/plantuml-a0003ba546d7.svg new file mode 100644 index 000000000..9c1a99915 --- /dev/null +++ b/content/docs/smallrye-stork/1/images/diagrams/plantuml-a0003ba546d7.svg @@ -0,0 +1 @@ +ApplicationApplicationApplicationStorkStorkStorkConfigProviderConfigProviderConfigProviderServiceServiceServiceService DiscoveryService DiscoveryService DiscoveryLoad BalancerLoad BalancerLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad Balancer(1)initialize()(2)getConfig()(3): List<ServiceConfig> (4)getService("name")(5)Service  (6)selectServiceInstance()(7)getServiceInstances()(8)Uni<List<ServiceInstance>>(9)selectServiceInstance()(10)Uni<ServiceInstance>(11)Uni<ServiceInstance> \ No newline at end of file diff --git a/content/docs/smallrye-stork/1/images/problem-dark.png b/content/docs/smallrye-stork/1/images/problem-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4c601386a0e921af9b060fe5b7fdff4d320a0bc1 GIT binary patch literal 401154 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 qmehJu_sFX(PT?vIOOj!~2MJBZHL!$y# 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

          oRhE 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%0DrHX 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 @;h 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

          ~#?sZWo9<8p19*j8HyL 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

          j?xEd|q~KbA?xNJhkRAbz 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/1/images/redhat_reversed.svg b/content/docs/smallrye-stork/1/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-stork/1/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-stork/1/images/solution-dark.png b/content/docs/smallrye-stork/1/images/solution-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..800d0f9785bc20c78b2e675c17b90fb372bb9c14 GIT binary patch literal 381256 zcmeFZWmH?=`YwtU0u%|9;$EP*7Iy-aqAl)L+&vU4u7y%ugBCCD?iAPHUff*+m+t-F zXPkRBzi;=`9VcV0u~z0-E17HNozHybc@nCmAdP`Wga!u(havMG^a&2`g&!Ook^}(x zsb#8EwfX4)@AOGp9PZaJ$N#an;(xxF&5^9hk=L$) z_P10~`T3!Ha>(GfW%>DK$!qmfaWGU=%e+zneMGWIk&|2yb;#_)d~MZUBZK?4v5LZG z;@$5-q2;rsB!T*?;j}lpKYk858E}}nk6a44-S%=GHA&Oc;!wc<-|hd7!2cH`;M*c8 zdR4Mv|L%<_!ar?|-@isKFLQlXGMvvCvZ}4>VofP?$Nv?md;~&x<>y8vhbj5b_u~4> z9%<>YSsrCV%3}HF-+G}f$$tBU$mt=f#zSblJYQi8yP`)sQlLv|R6}d8m(!5=$ItTM z^1T+44Z_1(vI<_u~n|!8ZqqK zpBd|$AjEe09q#dXL>I?=>y>;;Ugajp6O#5Y|9t|j~5YQ~5u1e;5%zevyw5n~WT zOYe6~aOd1g(;TbcjMf4M<+*$a3J-;@7f1u+Li6mT{v2HLD<7kgp_Q)4FCL0@3QK$y zw}>H!|N4J!m!1f+7NEJn8gY+N9S z01ivY|M`7SJ-F0Chy++q8m7O^0d~DT7!E>tYa)y=AC>?9e0L6X##q;8sW7lv>rDs| zwy<(T&X9kkRnng3B8!@%0Uy|XDww|=NI-oT+Ow*qiM4Vb)oa!V>!H~|J1#=As9p=P6)Sl)|4+sp~-@lg%2>08RG_&1mgmfeXM2l_IyuP$0~k#ttj5)sl*^ozh$9sP zJn`_0^=l8qPX=hMht2wKA7nCWT2?>jW-H#hK^~~!)7$e@7050ET5U$&PEEe^lG5h) zT?~OsWkjGJMpIeg2COaHDdrv~3f1o)cnY*qMBCr8Ms$-<3PE)3rq-9E3D&}IP;hEVX3h-qvC|ULeG?6U@Qoa2>GAw~B$jxcPKNXGj zP99xHOZC-}&^|d2P4XprwUJ3Hje+wYM{8jUgXBS{?A4uyt=!$)pBC7@Kuqxg;R%m} znV$n$WaOPVU`hRnBmmPQ2=0)Ps;m;Dgr%)9pu#?;yy}(+&H0NS4>oSMSlh=DWq}#=N0hIhjw_jAk@?fe+vm`t@E@ zaY^u~yV?I6)0I8~m_?!Y(BCK@@r}uOq0qONMhK8#+10~tGvq9DspG?$98Yg8dx>>- z&VJdSDm_vMzfQb^jmgI%ZTJw5%jR(gFpnqMi77-WdEo*ipYI=y5+S2S`bRx}W2xdl zD!j+dlxVhn5sy}y51SDYi(MBDF673aAi=!%Mm^jh?4WHEx!+&?#IU;7!<(o+_8k}R z@*qXbC7y_0*=nXkOh%;R1y@TJ7SEh^!>N;>Rpei5P?PZ_SnYC z79Mk6p7d}-Bq2N}{Xjp^eTP9zPy`vvDqP}wIK>3rKxxTz_65d7Og=x9Et#n~S5pX@ zTbaKZjlMUiq=SDSL*MTY7-3)=t5m=7;ZKrsZ&QuG^1%m5AlgbE_0)& zgBKY7mEYa*s=dWCSXxGhOJGnGIs;K0jE3xni$^o1{p|M|B-NIxNrdEw2syhV2libz`2U44y%cehcW~~5rii+`({jf zd`rhYiFXjS$J@bl`=mAbt6$fmrjVs|i7NE7kXpYR9Rxlssb8p8&yStK7Vg&-0bq8& z;(7ClcK5(lToPXPL+Di#J+-;6iuUq3ckKEsyo7@%V+~bw_=z5=`MgQ@?u#K5Z6N1Z zkWsEREUNG~joly32&vR{Lqs&H1`cjlX6pbM$cK06M2f1>eHZ{yHnIT^@`oC?PVGB2 zCda&A@4QET7&>UJG+Q}{{a)%ertTs6JP$RssV&`= zU8;^BkDE!=sn~Y84?wowtS(M;JLv!m9&JR-W0>GOlkm3jbCyYKN+LaC-rL|anbjt9 zY-!gnT3+ZdJqH49wz3)ACyt2DozXL2)gj-@u-~a}P@B298CQq?M5-!%?9|YNmlKC; zyF2S9EFX6;TwhR|b_S^w?XjJVVSk4b#N86I41Zx8p-#w!L7z7zJ+;sBK6ALN z7t@=tn(n&p%%{F!jEa(?QluoSOic~Brh2fPuW8j$Wj|#ZSvy~7=s^YAc;UFN1FJ3# z5;5WYkwaoyiaLngz!rxuUAMZo)4G~*dzkm8Y`M{YM@x`uoQG=Cf;SS4&Rj!x*c@q;YI2!WV z`6@P+<<_B*6XA6`cp4oQTpc*|Td_Ml3{5T5hPCNlOWJB)tQ{MUhgHL28;4yu4353h)v~TPCNJ`;eGHV6X1v&vQ)vJJ-oSLaEGnLrkfoXd0kt|;c6w)Rl zMqGz!UGgSQdFp^&cBehHbn^0IK63#Q*3j_%ua`&$PF0yRNep{`L zCC!|r*KqO$ZGzdRp&%y&bMgq<{p5)d&$IzXXuBqEMCv?G32G1HyDG5oW&(SyWFZj} z0;nT%9~Dx#qv&j0ZdCDdSsQC$J3`l3vOaSHSI;lr;eeMBujL0hFB-PaTOs`uueH1m zy0afq+7Hcow(UeG&qG~Yxj2y1Jj)GGw8lyqZN!j<_3}4D+JUnA$ny$;1~y4n87QV( zZO-vyo4@$3m|-@;h81<&86!rj-M-xtDW4E6aabS47@b(=KqPUmeolp$hZUR)27I_y z^1Q8cv6%Sv7`CGKiV(~RItn+m;p=z@jTp<=*o_^}h?jaD7!g|0l2P-^Ld&d!8%g>k zq{ifE32!F9NQNsNrCA+xKwV}EHW7Hu5lEeCwx1?A_bc@Yy6i!DD~rT8l-5$60~$!i zGJ1E;JjJuW&7CZtRvYc_k6I0skITsoJ!mG9Mg}D9$q=23$QD>6qpbGXRbS0E5n$=9 z7iVSEev%pUcoKl9=gFOof)FygQ;tHdBnP-9Qmt@coPL?Yc@5qh2L`vSB=2f)=t1Wp zRDxLk6!};^oEm_Uo09K4>Wl+=_YqpR9gzVm#|n_wS5bWE(mt;@$u{>wZY|n5S;#dG9<)S#UbQ0C zk-BU-zne~5^{HnnTT>HLGxT~qw&%K!$xWTUe>VnH9J<#(S z@L47_dRKAo6c(#bl<65SN^m|e1`g1Qy(D^B^SK|JFIZxX37xAmR256@h2$ELh=oc! znl)Ea4N`{+|B*a$Dx{2tUj15bTEK@gISjy`10G#LYkKUOh~?2vF~5F$KEiL_=U5+q zj&f>kjusnHELJ%28)!wDswss8Z6X`SR_VR&{T)#>RZn2VaLd1ypy_0KJX-svgKz=; z;0~@9D}KG0bFv}(Q|vx#5AMLP9l7_Q`|T78c=0-XR;$z>;}HIPQ7@8yeCL;V$rIZi zJW$8bDpzCj?~}?&*sn9!FFbR(OZ(}OVv0#0^?knpA30wWcAZkT`K(Y)juH9p?O#vP zJw+{sPfq=2Po5&qm}`o%AX#ltto+T7+~Pg9-S$Mh5yYPk>0)N%CvRi1R1s~vIJMZR z)h^9jWGD{3(QIPag6=lNEFw!PrCm5$#(9Ar?d$0jGWc#5O2;+&Da>FSAi=FHcA7Q7689YrCkMSej`73@&W zr3#)>>M#Da`P7WqWDJzYcfWuYCsPZR`ud)2TbMqGiaTdPIdD$ygBz%Xp-Dz5ZL;2}vdVw*y zG@bM|aW~=Z$cH9qJ$DR3FTmzlJ;J7@gd?@@*ZBO4&i69S@|KObr7Y|w@k`^y@F2@5T?Dj=oZ>6FHG@AMigM<)$9drdle=DfJ2WoGou zW?N{j!y4%#A%BdfJ^En`DMA6>)mFCg&so1g0x%yoY3AZMjOLgrJIhOUQe9t z>}goCL=Z+2fH(mEm`?huTzHtRzre2mLoiyY+cBEq*2CxJgUuO={(xJF{+f0HcQk{N zk(w_Y_C`XZ%I78*U&ZoPb{LLT`O^z53tETu5gJ)V!KtgIL-FGtAJDIDb20R=kk*wN zzcpX5tg@6v79oyIUdllp2&m(2 zhg=Mm@nIKkFiZ|`Qje5{^d2&9En`$|DDI3Dr;_Sz4i{=z*m$oCHRcu}&Q`jOEIu1j zo%8#u7&;sE+rj3iI<+;5v;&Bfv1h0sZ|HcEPMINnmlu9?% zEHwd)lpw>P<%}|hgg_y(C`Csh_sYe!6Unuc+dykcaF6cUvUQ`)V8rS8+3_uKat_kI zKnE7v#+{d6?aZ+%!j;$eHSluk>6u?nLb0*R&{+z>?~qDdHX6*}C1$U=k#FIviu4p5 z+~cAU?N2-)xC^?lG4;_|b79#0!M@lWgmF|OWH(=MQs;cwl!Qm^!^?Ga63tyLEVqA^ zc&<>xp?2#8g8!v3vf0(M_z=3m$Fu8?h!*x{$teMqYLDA(B&O)g93^qAn2hS$p#B%uR@-9)LJ6pqyZr@--%+>=Q@@qR(yxDqaPt`PtNRLkObw@qA9=3Mt#|`KlAt|tij?tzs$VVG|)8nhTSSIq;<&^ zkOW8?EeGWdtr+p=E}hT0pBXrl}M0`y)E_c{)4vXZ*J!>34>{M7+<0^=6qDk(DjMdSxJVZQP4WTpov1fHk zsG83g|BfW@GYF-cL&0s>ZbfFyWx`L9RQZ$8C*E`w^l6m-+HhX!&X{vR)`zhM``U-A zZvQKXfM%KPWz~4o7G+Iy8pD9B8C6yH881}34A#kUCV|rJv*R?7`{RKrY-QID5yd&l zRo2L1YN{MHQ*V~zVF9#GAA)jk<=jiqlGrqCMxwVrvN}nQ+#|7K1Iryu=3lBp`&Js^ zgKZl;eT4-I!SWm%9mBUuQ1q%6{YlxDc-`S4CD?dHd-@lCj zlHFOmT6J0Wy%r=44unc)_Ya6MX{A@k-%l7P52fcv!Wgc<4XAzQl$x*c5^jol+*UJb zYJFUfznc^2T0w$Vl{Ng@0f)>0CJa`8NGN};wCHxKCA2({@-(ZMeT%LSnxX25Ul~YJ z?DOc;Lk6jyIOJpDjcz1`W=dA#V-?s9!|Y%kJnOqRpL*W%~+FD8pmD^w|6i~F(rZh}KTKOeU|r4<$$ zGFB-7w!y&>c3QPR$5?#2#V?!MAsKaf7LVELxT|E)x_yXMyHi`~ma1N~%+5I17UtfGZO{ns^+yl}i?~sUlSaZ!DUE_A6^4zQm2__mB}YOMl_6aWoJ2)5pA}6z_hR3*5~!81?_lQokWm~0o`(olq;~_Oo7WP%Kx4% zPc6O&v`YEZG2;BPyuJyip;?rd3R4TWad~3pXyHQWcA&Gi{lrJJ)#a4OariQ;P>pkPobC{8CVe&gFzW~;Y1EX;iwBk`y}@@eh37z~^~ z{#hmu$?p;S`fkl|nR36M&uYqaewU=AgbGlnK24jfE{YU1{flV3QXY%Jmj^^~$nY)L z7d&l-+ma}j{|Xjt{en{$r|$;2cz}%S`MR3#!5agscRP`w`299f_;K?1*<#k? zVuMnbBCtsCLL;vpjw~W1Z%(FyYQo=(9n)LPjtsDe_wiP0@-C4-tIUQ)A~876-^=y` z*8z%are5rmXZETp!I2-ck{?kT?=v$n)J~e$uQd3=X}9V^Gk~^lb-GZCPFKi%f6x6c z6aFp;-!amR>zoNz+XSl$qH{guw_&`>;;kRWLOFjoGoUKTob5mbDRQ|Q zjJ-yn*qJIe_LAjyeI`rc9#K@g4mn2gN0w1770r(f;_eCzpKj^CA0Zoi>9u3coc9+Q z8883d`HE&N%!c~u7ufkr4DN@lil#TE0G;LxR0p@A%q4|B+54Hi(nuE;gr{(V0Ck=k z!7I(Eu=yam>^AvE-nhIVW18oua*=7b<9hF*DmMuw?;2jPW-q1qNB)q*_AEfq@JZr{Nwgy;foIjQoa+VC}m`U3wBpG8FT(P_4+n+ z81a#5a7mlTd3%)pExyOz_uiJlH8x7z1kcq|W_68$%Zg70pH*xA{GNQH7H00zVrR1B zN{l}STQuGsK!6u?a@q{dvHzGb!lqP4wfUIQDn@edej(Ln>)pncm+#V^=g2^s`H^Sn zZxQP|cYVb^6YF^d#-*wF`lu8WslPl9YpGPw1&vil&ob_w*+wPB<9Bt7DIpyGTxe-Gz}4H9ofkxSsKY9`y4qB>2ZL+Igr9t&z5|e|CQtpnSZ5 z=Q!7mndL2$%4v6aNZaX#G8#l1k`dA19oK~A-a5z2Bl~PD+lWNbFV~+0T*H3QCxWQW z{g{X^us7P2%5tK7NR4CwN;(D1IycXK{f-Su;@ik!HZ;zB)XT?@l7vV*dh~lwSm`Ub zo(_cAp_QX+*@gg8%cl-#6*T}QBf;PF0o;YnCTBnSj|2_f!HeE_dtGE+RuQ6o_a-4i z-t46;UpE)Z$-8PK7pV=&#sGOId?6K68p%F3JHDCvTUY%-38(d9hh>ViE(4vEd#5Uz z*jgt1`X6TLCko7}H2gc=!RQsE20)?&&0CFre&VwiccL?@KGCjrKgzHZUm(;49bFi~{3xtjDmD2-pIs@p~!riNchM=G^hoUF4wU=?y9>k-)ucoHviG5DGy_$?x8tv;izKX z(H@40$s_mN5SQVi61)Ru=TZPn0%fHa$9BuhG%ay4$lnzjAO|P__dsoNu?HzE{5~|V z#06{{`OP+CKVqbR(SJ>a9bkZ%HdzYB+szNa0be}1aGnM$ZQD_lU&6pUci{a;@EE%4Y>C@LF4Fjn)H@DJ{1XhbUduT zb7=C~XyIdC=S9A*#AAX;Z*)F6v3X^zbdD(fCGEU-s}dCHH!bh9_><0VoIIwVik@(H ztc@m~$>lH4)CR(M9yg&Ey>4jju#?Gpvu8?UGk8eOU{8ZS>8QqmXmG|0hEJH~JK~dZ zqLTsJy8u~XU|)4_V^wLV;?T$r$Il{m;*}kAT^Z*^IX}?=NVvXsjJcK{U#V!!-Gqbm zpkG`Bd8z)72Q<^9oGbaD(uVF8Mhr9WQJEr%;nDpp5|JDVJcJD%^IdhA5OMd1`a zawh-SxkbR_djtNa4M0%^+O~(KrmzDvOalU7!7~A?&-uJ8ILZ%W2ne({Xk^O8aGOtR zz|20@`P`OKV15$X7MYkg)L$6(QMS|Lz=waA2HBcB_bz`+TxghCh|+2%y8Q|+O<(7& zz7hp;H`eGzUsjf%8sIulwMR;5nH{t|5(>~MMixbaVs|)=r-H~_g_dcoL9{>52hICJtm`DXpgvPgbd(Rb5>@Es0 z8oM_Ie53Edr{~jOA+Qnmk^GM7leM0xBD_6Z89Y+gMOV*926gVFmr(rxF2QD=>*F zvcn2H?S5U1!Y`lZtY7vsb*cGISjAzZF+%pFsYfNCsQ$O;K9rB$YznI4p3!P zu#taOs)(en4ePMl+boAqtpj#5^?Vn z+%>*{l~j9lhS~I2cH>Q`dtsUEj6EhVGkdFD7{VlSm_W-PfDV#vPIUICQjZJFD9e4CwtGblJ&s3uW~Z>a6B+b;@AJ}_fNGMj*O0~!{k0P(Wd zOsZe6n}{IQBtVVJsnLp?p;3YfM?PZVB3_9{Ck8|D^f6f$9fASY`>d##&)zn8lWYE$ zGWJ~>-8N!ALO1XVip|!2jwe$ohxu>GPPktTB^8XevFsCIcgZ3 z+;rl57O36Uu~cWdoA|TsOJ#TcSvJH8yX|T^aN88tYKBeXqyzy?1zeT8S|6qM&dHzVF z@<~b)2&zuSm3c#<+k<#WxA2ts;AL3(kS@T(!6(1h$$$?~%g)P@VUDbm-Wp0Pm<`mn|90pp>w%Ixq*Bh_<} z*0w5w)9YeEVWM)|uWgKE6)z&0VqV+n!1uM1MQ!D^wyWce2-ou-)Q*aj{)&j>y3=ZW z8)C1iyzGe&${R4)#S6O^n%L{=RSQikOet=yVytShJobIW8sWiUswEA5vIrb1=e*xawE0B(SNFI{7LAut)=OPJk zqCbm_`)#){dMzbvrwjBH*z9v=vs`ur%!X6FfC9k_!|ffcNa8#SCDVFqq#_)ZMw22E zn+N3#f{zo&sd$Ed= z;*bC@LaGtHBAXN^Gu7CVUF#EYB6kL??dwq4Zo_7HA;X75^hw5>Pizdxr}<>=X!;p1$nptMKmHQ-8*377x;m^QKjZ zsvnWSY>`-iCL;zvMiTT32^&{S*Gv=Upl^y_#qWatK!;j^>jq&OQ2KWMLF#hnN)dgm z8d=RQ{+TpX_ra};w?_E4EPy>~7mXQ_<12JuSIyFpwjWLFG?@>S5dlPrw!7Di2nW^W zpMX(LI4UEYPN3N;9*cC|<{iqa++lGAr1j#JB|xT>P*^C@O%8-WT-j->^s*<0h~ zC@L;yyYW416BYeq<_jTffhO$kk${AdJjvW!9OB zHA=b+eKsZ}@tIxKG+pr;?}-!~vJ662U=zP=#RzRl44+=ZjslTLGgd`k)myLEUA3u5 zABF8S00h*VMf`|IWSOIc2nvl-(0R? zImWW%KL~o)@KU`n@5QOL#@FmH;hi;pX=&4~X=)%A>B(brllKNQ_CaroO?IQ&;v-+| zcM7^@!Ef#(x^(Od#e7H?=H%Y}ZEMq|Kx2TPC_?H(bViE4diAL({OYK?kNkj;lUF3& zp|Sx(uMfv##&~Psr_kEa6rb68Wj}oz?o6>fZA_ls9xIBY)SN%VTcjhg;NKn`H6+7a_!HiumvqrItgb%j= zdDrf6q20|L6B}*y%cR?td!T*69EIcZOqLeiV4eM-kH7JylxC5ePbf_*T7%fChxSjm zVPv0ltIC*lM!JOdyJnAqTtoN(gENw1r!7VFE$mPXof6V={)mzZEb{Y)czNQeR9$vQ zNp;SVkhlk;k@CA)Ss$5KOTQPVCysYTT%oZQ_?<(yW;UYDM-c2ft7njj!Z%FkS#^z()OBoV`(`Z)L~ZGrU@ zp%DgWf`^PBWRqOWm>20uV}8Wk>2hluva@_T8G3zn^q1_lSupV1Z<;~wt;1*CNbEuv z*&@9w7>Th@VAtRUO~l1=lCqQwQCL=C*7+U4>}&XrGaml{(W3ie`2s(?eC)JYOn6zDM~Bw#af|BY^9(0#G#tq^KFZV6)@WlEXhW%%FV=_H z93_WUo{#5;C#XK84VJD$S?)N(;M4L7;f(z&2Lor zfVm(R*4&gfR+hQ??M6a6iXiwpKOsxw4OQ9VlB=PaR}KaObb^o=SOWrg2ZDDo>lav* zmv`p(H8iO~rP;v|>8|{K91;En73ts21=V}=b2cmRn7ktgf!QY@M6z%&v9P+#IQ-AVBWTgp$4X3 z_g-IT-%Y2Sz6s$>KU4;5h^Ktgf8AXqHv!H2bSA6cW5dj!sN<#;tZ zK8UJ6I$_+8t#i$;qX*@dQRew~t7OpMF#CPO`8C&nC`#NRfsmkw*+4{wrK#A zY!Xe5@;pEeW@S)i?&DrP)OOP>oJS_3jUEFd5G)(^4pw@Gw=Qm9264`o;@t zr&&uqiaAGq^SKN}MQr;)I?v8{HBlFu$jv`$=XDty&o@+Zgv52qGZ?ks-OA^A@bHUm z6Z5yd@_Az-C+1OjG5brf(4_AgCg0s1sD<>0GnGDKHg4kpxswaXz0|`k*))4qtdPN*;B}kqazbh{)ri@hJ z-6FT0yTuzKAtHtPV5%k_meNjqkq@m{Jh#&}QxD^jA;SVLnJ~|?RG*n!J}g_vb7lVw z2ryBg)nWPlq&OH!djH&t=6Y73$@(#pAlD3jKmp&>4S(`osL5SU4Q+Pgnq$==hhK&b z2BFZ6wX9}vHQoHEKo!7JY_aJFtn|0F(%q0W84O&ei$kv0SN^h>H_BuORJo#|p`Z@h?&u@v~d0J%k zwehF_K^Y(<1xJZ<$-s?h+WGs+5{y7yk3Vga2l|X~=310?&nvmYglqcrIj+VC=YXYe zSW&Xi1jO(-Gu#MCiM5d6(>t1Tk{>$<)6%K-*t;8QQ@7V=~HH7B>3g5h9;Dr3{ zHtX$Gp8*U}1c6Xd7q4}?)nfrdd=2^W4_Lir+1FOCZ#s0J zCIN^jKH$y?XfY?tVVHjjL&%NVZ#_`(6PJDjm?3Td zPx_em28xtQoUIncVfi~+dz_TAkWynVSdAv zC=)-L6;N?GqHq2nE_Ve_@ReSBO2eXm(9;MvOFfByN;5Y>&zc%6u}K-g&N zT|C+RJiF_Y1JGICgi;1wCzYAg{J3pF^O1Nmdf~clTo!cjjW|WE6>lyjE)6HY#EK{? zZv&_4lBZzOCN5^+wcDKUw>M>^NT)tcwZ?3&|4`_D_#i51H4uc+h}B{Df*^#g0iz*Y zVYa6wudwM{wz=ExKU$tm;vn@z{IY#`Vs^)m3ljF0-n>Z_356lev_HnFBk=fmvM%z* z^!!R{2xFR>Dm*8f$Ab&*kP2~!rdLz^h{q&&!h>9XodHTmBA~kZt@|`uY$cBVP{B_5TQWqBSM#NwXg2 zlzitY-g~zS#WfgT{;8-vE7|h{b?mgVy><#1^mHvAp;6Lawyzi;qk}OMk;o(cFA2~$ z8k`w#1hIsN1M*OzC*1w-N%ua(2WK?QnG&C!luO_g9TZ##T)GT!xIo_wcVAOBd^7wIGC9&?@nfXD97en4*0=LpUsk_sdqY`u7%ipK=HMbmz1VAyCIu9 zO_s2kL8F%gbsylng5oXRW2FC_jXq6$b)-!u4R^t=CSGog=IMk~j)y^aDcBxTDS%1s z_+_LS$N;FH*_`~%^}{lgjZoa?B(uo)r|6rt)R$%}8MFbp$qAnhY}Vf*Tuq_|L|9Eq zr3MQkF1^|KE5;cmo{A3Zw$O7iT;Ke;OCz9A-ysr7Qq1o#A&MfE>9)Erec zwgdW4#{)|23sTvAzP`OjH?AdDe^>wKTl(7TC&ZC@lF;NgU%P-6cmYY5s~1+&Pdt&` z#OW`V7$iIaUu%l&$xip*ILMHYp~l93`BYt#MtHdp5Yfhfv(4?hBJyeR@V&%8jK>I4 z;a&=zrj`&<2OLq^&D0ZBFkE8JRYuh%Ylks@Tm&LBWugnXDSm^W36xQ&^v zDY}1x(K{)s=-RPX3Ue#D-Logc*dYe=sPJ?FG?5rGE=GwH4H#_v(ClGuvY*4;XlWy0 zy!3C+e%CQ%4nUl8b@~u}x?TF4h=l8w!DrmQ?@3^c^wttH6MEZ{>M=t_LWkJFu#7to)>tFKXQ zHfQk(QrRymtJJn6tZzl<{HKYj)me5qfFW7S?TV*%$1aCCPYC23IDQ-Kjk`5o$^&Kf zY33q>#Gcn4G<cfv96fU^c`gh4MHczL>{w@iuk$Hm=rxtd%S0LpD`l z2-(M+YO;X40c42?M$mP53E*uxkw25S6tkD1SvT+!9FQJ((`)2%=L-Sv{_1ET(=FB7 z>NPfArJQpwl;OhcolOgGnZ@W}ye@pIJUO3Hq7+hN<47PKXS1P*yM7-2P}DrO_6uTn!W~*S>-nGusB+O- z(A-*2`vV1a=8NOrz_*C{*=Z?(?h;$1lOlv4OX9SZSi!5=S#LR5WHNg1v7yA)*JBIFK%`c#F1 zvQ31wwla&$n#;Q5KZlAUt6nFP+yx3+>-t)5=l%*@Po#fgE!`FxS0yzmV|u@fyQlt8 zW^$(OB!FIuo!F!P%Gdk-Y%Hs0|5MeMEFu(y-F3YN+?C@e3p~xVZ2MLn8WcuYULoy; zh=f*C5*5X}clPcTsrT0#{vg=vAd>GECuw-QB=Rqvyk5^8HNWjGTRti4{lecR11JHr zoYN^yGgA_*%UGK)6TCIH`ci$CeuEfwnxf=}5q3<{`|^X&?lIzp!(088YV_Y$=gq`> zO`y5d2~_q|wH+19#M%W-Z!?IZDGNsFxs^kMgISS+$uW9Ts;cD5ikGtjGox#W=;lPT zgmD??b3^$Q+M)hSA&w3tSc|jthN1aM*yjDDjK$tca2+b3{dh6cAItmXshWm~L0B|V zIKP`5Nx*M9cNT8~LkjAg=!v9A)b$VE6Yc?#i!+&`mVf85kR>OY%P-Mht=0{w`ISmh zF5)C6pS9yW^IGESLI}S@l$a(HuR$&Z!xINt05wQ#Ofz7$wH|S>-fqXhAT5c0;I>N- z3a>ajjN4(LA|cnDX&TyO-AwbY5IfXVj8G6;&jW`88+lSc z;Go@GxySeK9=!Pu%dj!?aixCVa}gGUGen4FRD!N+yz~x&EU&Xshlqonklr56QGU|g z3YRXg<)E`Gj@mfyE>Z8{ZgsPvygbm?tu@N&dMlNPFwHn+b2#OO$^++nwtEPUaxG^w zr0rN-MWlZ5ZxwQ5*$B5ftGQry+owmV?((GmUt9$MsCEW5l&8`^;B#3I_jSkmmQoM&FGKI3&L6$xMCCUhOaP_&Kk{e$9NK{>b@%(-SEp`5jdlLUT&lD zSMc1){Utvm(6!4dng#(vgBrLHTW9Rn7swO;N?|v5VoDA(&&H1T^}foy(Fw{qKZ_Zb z1?tP0hZ;8ld}VBV?$A^k%;+8b_9}l4?!Q8)$GTD=jQ4*&C=@*c=If1eVQLkFbul{z zwp8*!t3$$zPi{D~E?4dt;WD@C&6-^V>dl!C}-N{uKpmI-7mpZHW7qC;%JQB{A*B zO&}ehZ0=2kW-2M_rV;8eUy#6b`DW`NEZA1$<(2@sbZX$+2DGgQ?g&4ll0khW3>QhV zavdxgjP3IQ_<-{3x6s><5u^){kn%ILr-eVSkvHJ|HGvw*@i2Eh$EChb%F12p4Tki3 z{oThh{mt1Pji0Y2yb5k?#dBb@%E%j))4OC@rwkP*Cy|b_~=BWqD zt_@+_gx7ktyQF8puKX6%^aWW53X%Mi4`e(x6fJ-q3j56f{ID;*{46iaEyCxeVjVsEMmj>z zoG_=Ta&ooJxqh>&tsaYQczz%2$H*+m7CIoU!^E3g$MWB@hD(isDC7iEB~v%qMJ{@2GR#C7`-~!?5($ISzpafXr z)~k9pjM-LW*UzveT4#sS=s8rA%lXsvi5p#coXSg97gs*U+KzbX zX`?A3As`+?LFj^CcP}=43*z)4K0x1242oKHf68;-QC;FH^3Tg50mSMkeQx8t$bFYw^2op7qk-XEY*( zNh`wmUsWqh4x!V|CpJD6Y21<+5s>GE8_i%r!sKyG1$MqEn$gG<^xQREs%7oGxSkB)X%)nW&Lg6n~xL+NRA~dYOvx0WY zUVaATU~uUDW#Y%@9)gxma4sY0Hbgx7TbNkP1PJgn$Cjo;5ReYE08KdQZ3%@GsYYJZ z3KhMi#@16>e7Vj^1WXa#pXg|kB|$JYy%sO=F(El?KN%xY>DUJ{OpW3HhrPFKinHCe zg>f2h2%6yT?(XjH?h-7xd*covSnvdQcTIrc?h@SH$=i9JwNJfOoAnFM`ND@Ts_(up zn`4eS=C~H-;aNy_)l=i2Gn>$EA8Ni549k??R3VL+)fyRLjO%hkt_KchUDWiP{V?<; zXw}(|y+SaGVq|PY8W+y&pH35Cxgmu_?CAhxs=e7!cFYfjQ447p!DZV2RXV&@<`X5< z2yINw@W#u*QJJ$2uD(9pkQYK98Y9)nMS5VnQMJxl+(lF?8cQ>eN2*eQ;ssqM=k_k zVkl?pU?KYUATce9xYaJicR{N`;@4pxyc9p90&1B|2+mXH41XaTA@3)CG`chBpZP}H zj)sh>4Z0V8va%znvj_h{`phxF}5+yIWH${|>PiZJwd&3RV zk=Du|1EUvCOz%fu`QbUCYMC&sH+)7`Q_YS5|?K zrZU8s>a8ll0MO9wCI7*{*0PdkuBc^(esQGG{sle#9)-F`0kHKrQ~t9kKJR0bJh8EFckaI|Mm&%nxd~pAP8C2+k}r0x~h?u1GueoyMn5>`YDyR)U{US#I;o6Vy*pKHwO zA4??UQ=x7Bo!YLrmsZAmNrI@x7Ek2Pi00WlirCg0a2HGZRYk@PUxe^^&l*pG3+7uX z5tv{Rfx7TXLk=mtABbuGoQ+WVmDZwZ$kJ`ok4~sXsw6%?AVNA7Z$NfYsTEq*cOKl6 zGYP_fM$z}a`-c-|wghMWP8T*Bcm@;@z zBOdxZr5t*7D0l@Z?V%lXpLn-T`4P~j5`QOgSkKSH?qWkD5sn*uFQv9QtybK#-Q|iM z;67;XCy1@R*QhhKDB~@iYUvmb4|v}K4Ry1n@Z6@8EG3BZ?M$Xh5$`FEekF^WAx?m7}Yb`+w;qF%U7{|JqS3 zDvoS;2& zXClKw0g|JUCv>DX*1=r#y|=>>&Yg1m{q8S=;jqgD(Ov}~BY?-116((df6IN+zkXdA zuJGlPx^0aeE9v$IjYa@`bGrl$dQ-i&2tLRIEF46)iKW1b`WnwnA2sm|^Vp{Rwud!- zBAscDWT~z%vPEOUw;D8L7GvB7PJf2eA)VOcd-Wc_yqonDKQ=z3fqD=M6yP8mqIesJ z6ObF%3!;g^2*59cMI3{b;jc?43eX!3-W;FW1DP#IftUU{RYFU_Ygwl6!$7I;2uap) z+tmF2M{3>@ToPq+~3Od%m{S*j^-@o>QhbcMP{r zP8D}ztZ4=B=voyp+>eTa_3sF`iPgYvPt-#`ew&MS#5+8&{2lhBP3`p8mGeBCo$O-t z(R?KzoLm>8{=E5N2(rHGL)uRJ7ueVmOS;dC-(h$Oi?ey@;r~lsl0!nA{;8+##GD#L zAd1gVrQ)wG%JYfi$ONAD!s!LbkKQ5k%%{g`zjTk}Sj6O5-j}Byxv)R2W}mEkTDJ_1 zc+p?m;RL_bw=mr4>BTd0>J(u3gw=!F3>;PiJ{7L!iaQN8I088>@P{A*8b$B@2vgCP zzt7}~GhcfgwuhegfzYzpa2O5h#Fz|@eAxra9FDDkV_#t!I$Z~SrAX>U@eaq)D^fa{y6EHiTM{87p@;1qZdDe4Nw(%i_g>;MfnS}c+7lUOYXTS1 z_0k=YL0ScqX-`MCdKJU-RvzUz=*`+Ffq-%n$uArJc@kgv=tf2eQBECZ-wXVyhK}|0 zPs^_m+er4TmYm<-YPV2kb@s}6*>asMQa~EH8VXKztwm61R>-f^*Te2r;m-MO$VfWjUv|~p@su0q->FO|hHBs_wUF@(<1I$6h)4oehAdtew!m20jysSB&KXL53gfWx zL$TSvyqDW|ij=d&K^W+0t%jUEnG5Vy-cqxccA~7xaq%KlRS?vgmS#uGRpFn{(lo&R zNs_vy8(iJclYCMz*qaS`7FU@XCYj0iKR6;SxgX#{1z;NdB$-;O`O*V_J}=RJgWXfw z3T4JFRI1Aby>h|s@wM;-Gb{Q9+2+8wRD6ObhXeN%sqKYmNNVZ5m)bm~)Ck6b za@8SCF$!6*L5pdg%^w9Wo$NVzzzRD87Gg_ zeUd$Ln?RO1@^(H^C#Kx^x&?@sBMA|^(?vqAIifM_05qzA>;YuvSlH{ySkz^{R&e&?6o#Ki-R>W962mGpKupDrvmb$IYyQLi+L zkS`1bh|d2JH}g4x#mzRxEq{yA|Eil6!RqFH2}pEp(+%4O#_vhF zho)V<^XXqbJ|4@$D2@y5>y8Q`WgFC}uO$QJr99z7hg?YbgDDKF?pS~#x9C-?x4X`Z z8?{T~b)E;jf zSVXwY)f=>ON3?rWY-g}W2O45AbyeTK=+D_`BbXgIFQroPxg(uSmLF1|KH`gF%7=W` z4NZ-iO?#c35aqzhNk;;jZgL%Qb=-JVfqV`OqLC!A(4IhzqYwM82#>0b;O%r+n)s;+1tV}p`RIsdrm4wMHMk&}vq&j97#hVzdxdEh3 zI-p;JD6x**Ypo^@-;l;4`WBn;N3kUk%gN6D26?_U1ApB1@oh0b9oMkm{1}Z=`Ewn& zI=u%ivO-HJu%qis9N+UCO=9ghkoB}VlBuG-NArW|vtf~YN1DnGrT(0?e1qQB(-;+) zINf900lmGMrN4G`xakxcCxjB8BU%7cKU?BOb-*3ti$Z5PYH0U!7lG!)3(_jGpPTiKA|5t~u`v2aI-FCf zU9}b%i!1>V91;ZMzIE_rH9c2#>0L8Nk*bx5`ZYqW$#P%wpB{*aykFTy;fgwGEltIp z2S?QW(Kq%`!+yf9P%!&utlKaPybXXpW5WQq*wXO@ZpZV=m+FATgE`Hz6NIYOxZgeJ zGUX@lvSWg7zT}S5Go>n%WfzMQWMG;S`}nZGJTASGwr?sceAGoK?Im=d z6_#PdjhO>@W?P+GOWKl84z6ej*-o(OrQ2HvlAl~NhGg~gcIvjgDBGdh+Sp(E>mH5n zcqv{F(4p3#_Y)Dgso!Q$kL97}AK5&S`24AnYg5cG1k}@wyksY1u-~T>{u=3 zJ9n&$)4vj5zB;7%1A8jI)WAS5!^UItsZr)XHJ@>DCW4AVv$`JDqXJZ+KRL>lH^Y2~ zQpx;C_%;N5>BCbSyq@HqSMFY}J_h`>enLRbg~h~0Ag#1zJzSm8{t2mfL6#F56nqrB zg(=!6D*Y#|@P@g)g#x+XxIN2FSo zr9;SOKU_{9HC2&VQ1hqTA+bz~#{8+>y z)AAhhxLm@|nXMIw9hs?R$k{@*F!C9Cq#~{lLngHcjx=_(v%0G`?S>o*p!>PxXz*n` z>ixJ^Ozn4*q>ejM0hnRVq4c)chRmPGGL*XY#vlznbB%u68y{jfHbfuhQ(D}6mrG=p ztAj_^BF|WN)c#J-BL%E}A)xs2`sP;bQ2bizJJSaYIr|}h3`k$q4)sK6BKAC_B7s_; zLGc;-T{uT}CuJ%8xkKe=K*a1>DK9#e+OQzJ>CqEV&Z2Ai3vp7J=5_XL?enXel@g$zzbnES+58Qv^}+T zWRp@)OV=lgk41S`ooxb6zLVUS2Np6tEk~?a?^{xCijV4hcuK}H(CG-c3Vh8CMOJj! z{~WXb^#Oh_iz@zBL*_&#OzE(cKSBOVgL2vuOBF!Al6luaa)}R}F^jpGFI7HPTz_7w z9nN6qSD@R`M&6h09ni&+ZdzCJQO(k9pumbCn`SG19?GD}FEoo{#O*DEuw_)pg_Vq% ziils-Oc`|fdGp`e9{%=e+e|tPiS(C;@*N!++&~Y_Z(uzpn-2?`fGs%-OD~fovTtM- zPu8V~c+kqn5g>yB6T45@H;Xx(pl%P?UKY^&$#hkvCYR&3Ct5F|K^;Q-uf9c9Dm(;( zU?#>f$+IHJI!zs<_HZkEm0e>%Y5F*rd9>`NtY1jpV=FTq4QTvmLljbw$fUb=MQ;p! z`wSykHQ(^v9B(e#m2j2;E{EmwstDAo8`FA^%|iBn**@Xj4v`k{k~4u!8^O)-q^HN! z0L4CHU=;VWVE+#apg57^tandC&6G!z2W)fTDI>_)=okpcam`Z)B>bG*DU#x|F(r=3)aLuqR#Yfm$ec2tWzIs&@mEni@n5GU z|CYobxp23UOVU{~Rdordg8lBKR1W_~>}s|Df5fiKtkm{CTfQq4D=F4XR^XOnKcC_GX`4$Hev>MvY5INA?W~WUMno^fd@!@8iVJWMQY|F*bv4e7wn?H4m z%t>Qe5Zys{sovYM#=FMLDqMa4MBrx2H$Ts-!@J4G)>BJQOj1d3S#{3jLr@5a;H^QLL%0=ciG%eV!(c{>JZhgIC-`s!|lkuCKEZLdP=%uj@O6v5qlI z%}RA8`uUCRe{7{5fJLvl9bAyf1-#=g<2)L(BgaWVX;EBAUE$guTxQM-Qj8%vm+b!N zQ0D%~lm0OUQw$iG6X~EI);uv+QEnABXNJ6@#}aeo*2v84tz5ijpNP z)W^;(dYAF;bsD+deJd&PVV4^xJrMX-Qabi9rrM>ZG2W+Vm444Pgq(XwUKtR9eFqJ-(fcg{6_p7+AnQ#xu?wu$yFO5$cT&Q#8$ z`|`skxqGGg+qc9b`%rhN#Zu4bF=+zxZ>0V~m;I>WV|2DP4(t_!u8c8RY&kBf9J2SE zw7eg*acs6DI^8+(Bvd$SRm@#r9Vd2{)Jd8+>WU}6DeQ7Z2=~d@DPGx!y&WB-jpNWK z5I=s#^UVCXUis$dVemI}2K#nFsbNkGDAQdw`=h{fO2hqo9wrGRrG#hZ zOrKxKq=zZN$U1gkJvm5yY)8acuw?z)r#i6$|3itqO5=O4;rD3E`5|Eg#LmC#B^uTH zxk<0LM6Ua57T%xaIVwp|yN=~6Aj3T2!XJuM^>-EmY`@jN^8lIE#71lt;s<{pa9;T+ zgPZE@v>$uJNwp)5OSROU$f~R}KuATR$0O;(t?&trmb+i^yFyk=%8)}|0Im%S=y#Sm zGIhLzN|8ETPeT^dPG4i{s|l4^q?&IW_h3L@hAPg_uLgVO<$ip)BA+_x-V)~E`mn$>13HR#tS(VFFT*p+>sSx*qTm!U?#vfD`yQNmEOn;RQP z=agJ=U+^pX0UKWu5nQQ9`WSPg!o!o~YNeVgOF;S@C@3Cu(~A>)CpOy) zIYSntdKo|I-Om(7?uisCA|2yuY(Y!!_=*vg*RQRB2wNA7a95)Li8Z_48 z2%#E!WVdQ_GjTf&LUNHvl?@TR(284<>j!S4&tg|@itjIp=N^?Q{P4w&uog86`1T4= z?TZMHH%g*dg+dwF4Tzw_VuStZWGj<-l@%|D5Q}0}`D%}lF=Zzciu8T8^Om=8ql%8r z@bjmlq+?7cB{S0tI}VhJ3>5**H$MFj(T03QBnX+>*9;ycqSY{d!euO+&q2)eh%C3{ zN{Ht;yVV$Bdbisy2v{V1=WgNmN9scTr)CpzXj|T12z9P7^E1w)7tS*W9ANqXes6~s zk(V)X@=xYb@r;0uUn!K$h9RSGv!sw1xI{rstMkdncQ}pYpBA>T?B$G+DmVdC$`h*R zh6-MJa$9LtwoP^k31;CHk?x&#R*%9=Kqn)CfwR&}D;&mmm#rVoul zJij}%`LQYxZYHz21M`s%;9drTX%B}*=!Z3D(eLI}1!lr<^-t+4aqm>#%N=Mh#mBSE zO=%Yj)zb}Gs}E0V7a>PnY#5`{#j-lFs|$uTFLP57TJpzSCRh|+D7{bDq)cJ1jVx}} zIJ8v!w)4m^GahTPh|nN7<*8oQ46#iP5rO1Pp@Eu6wMcb8j9y9pa|mU_o*K^!(8FVn zY^wRhoUN0xYXUuP%mwli3iaYWB+U#nx<{8^hMYMFv+}4KLG8G2SWYAAXL$$6+K|Wp zZ%cZceB%>k!S(GdpyIqx)H;mnIt);u90iL+HGh@?a=qx6<87F^|~lreVLHR-xJ9$8j!{QDoBm|X4wU{9 z_<5&*J`faL4Iq6cRb~{${z`xl2J~4H#TDF~(^VM~$9dNxkD0r0QA__KEtwUmKwtRN z`I%{q>A`yV<4?oaI1D?fgTew<8U`oNT&T~M%H{dTe6xENrZSnj5minq`;5`THp84Kq(pLU(h zi%y&$Omtuh3VsU^CruKf~v1nf35s?ZDSGXDz{gzi(>}>ntI?303V8YMaZk*`He>~cY0cBQ#&eU^^VF1u{n z_Z(5-NG$H!@dRsl6pw@MRL}+*9p=2W+vW__SulzQP#1n07-7!I1Hn$d5hR~rRI!=N zA8XiGoma3TfRsBjp=u9`V~bLqFFt!WS*=t8uZd~^LLoZcH}O?W1O&fb)xF#f6`axa zazS_DF-s`3_SdKbvk8)~1*BN$xF&>+Qrl#UJf*tW?hBpxD^@;YAI6AcYNZTg8dqyL zgRPg;Ij*A61PSSzeGmA{1Lih$G8=W9GN=#5r3gT2%V84Jy9MJ9K({?H7(>9#Ek3d_ zdgy|LVS?wRj!KAzA=DT6XFo-7bsWdGv+#bS_CNfh) z)u}QkNlR~jCr0K%-3t(9@B~`$Pg6cH}F;n7dm#!{Veq%|Pgay7om?#C(@jOIM=#J~yp@%nZM9?C5 z2+Wtp-SSlhIQukwVyk4CW0`V%J(iObII5_g%SL0_hbsT!j?hVJ6kaqt7KF=>M(R`+ zVcory?6&k3=OO0w z_yaxvAB8|iw6Q~Jcm3-$1*T_i9em$IA|*DFW<0cMM3KLv^S|d#Q41;~;-%?(5rc|d zb@$`igR*@3`+{+i`elmqM1$bw%n9vd2$)&?`ZRi&2*@Ab{hUfp*b)Wv{boO4Bl#)& zMMRxHqU4pr={$eMZ&Sy8fISL7f9FfHN}A(s%WSdQyDcWB$7WYtpD@j|+E5@M-}DEk zr2QtrxhnMBm9gIr7E-%#O|{yPt5-|8)e78l#vKBX-UnEbc>>x5##$Z2X#aSPhyJ;k zP@prlWHIQNAHqvt}V)bUxH{Y|f!VzXt5aD6y)#F5p zFnTED4Q?h*Bs`~S;5*Exj^04?I(k}=d`OvksK(tP!!j2DbTb0-eNkIw5x0Md#GshF zHH31g%wdV{1*aAMGRu_mHzv&-eS-De#d0kkp@cX3wD~-ydc5Hr9(^CCbYl2hHL`5u z&z+)mXVL53OY zGskml9RlQ@fzITh$o9H{G{22y9wm^n?6$zV9>3GMyP6fDIDX6`Dl>`k+hItRdfHr107#>2jW@>ju=1(22IDRp6@utOIGI&`ddTC(g7JL zC9`2^#1>~~LyiyV&1toPx$?fn9Fndlqi#&4B8-~;v*`i`CaIo!;xJm+gi}Rs+zJ$I zHc$54Kc=1)r!u!i{mF(=HpYwr>RSS3{~?}JYomSaN<+(Bze9wk zm;JhZ_g~HW9u->rK&;@Q`o=P1LZegI?C2LpQ)&i}WcsShXHX*>EQLk}U+8PgV_w11W2K|LD|VtkW)QrMH=-+b!1Hw%s5`I% zk~Is=-YP0(9+6lwMR=U^OOHb4Lp_1u(1ovpLh3{se~@q4uXy@i9^5xiS09{@HJ42# zfRCzMgpGm3DZ{T(i=6@h@++X|y6?a)()z=o6yssvzGBOVOwsdWBQ<=;H)=+sxIqmW ztKYAE&-9sCt@y_28+E%dw)QO&*vBHI0|P!%y^;zR`~S4|k*14~SpRw}$r@#X^B>7cuaMdUyf#UDla>33!{+LxEx~>-<^Z&@{Dd7t21>( z296TzSbK-V`ZM$9SRaCZFzyh}_H!CvK^jSGziQS9sn9Got}i;OmdUd@=-%W5TB8d+ zmG*E#2loIrhga$&)nOD(+*XWg$8e96=Feu;AK)hJZhT^5q#rWR#vguODVz;SVZ?u% zc(E&dsd_#7g>?5Th(ysEfEi2`8a?>dO1H((&h%P1lV(!HNji~>(ZHcI)8u7Xs{x9o z8U}*ea@1}i#N*G14R_TN?9q7NVO57>K;4PLXfiq(ZXEpx&ryj`H@qRlU08k+-yP0V ziv-aJr%!#y8a|8$B7Mr3MGrNO7&sq=%5p`jKZO_qp+^zQqYMk@`8{tZLF*Rn=bmmsMR;+qt#q ziy2UmCie5#KR+6197`^xz+OITe96_r6Ti}9Y~ns4kYD~mHFy3)2VZMdMxDo|jm#;Y zn_7!u55lgNp&-%yJ#tM(4xf>NV-i#ngTry8M z;yR=^Smw_LP~+)@4>%xbXA`UO}|Lx zjAhzSyod9jyccQYChrMB&sfL`yE+SrXa?kN=z4(x0sovIZ{U~W%lgVzI))w<@S`cLpr;ewTAPKib zMia*$+On4jq5El6)OF#dexf;Mm%l8#T;v`50pG?WKV9;Hihgk6!{jO`goRe2{u_en z%_kIx{1R5ICl<<5b@uR{=0}G4s*lBtO_LcH$S79n9;Rncszc32=blM8ShZmd*D4x< zm75$tsS&T7<(f5cwgtv?k!d4~=*I-RU8^8w`Sa0mX_Eo@tMKDu||cV*yJGS zR;fCe-O^arB*yBrx-;AwW_Nu7DGopl7a*KJ;@x~MW;UO7O0L@=33c%ev1~ZvTGt>< zOK>cziA6JXJig8++)aWlAdt-mn{9p>C8LjEaqM-DU$d?*C+x#lgh2>*}^CB+}$jhD7{GEWn- zeqWHNKHMM2O-hNn6`KYr?rLr>h{8a6Dx~a?ji8Lqu z8i^d2StEX0H|TusTBUnqE&R$&n4+ zZxK91CyRcxC)zXNPok*{LOL%|Y8DZtOSVrjABPQgZm?ZicPHF3ASeTAP z|NJKSQ(!=Cs-WB+sn2wxd;$y{T^?yQsMvc{`-v;8ccQ?k&EbKD1TH=&``~Lo=bPZt zGON3F^j3WC4yU#8HeGDNFO_WzwwzI1e}i2-hRAdiY{$d$wBx$@ zq-EbmfsKrWLGu@LSfqfVMEFHK6H2J<=5)Gx{9#VwbLi@v>~Y(wjF-mmA{_>bOXC(~`Ap45I4_pGx#LENcSJ}-T??;c z8SD!kk&$*1zlHCs+?pM{-@e{z_xwuzjzGn{_lN0*OU#$4k22iit1eF<1r!5)_MxOy zzyR=1H>4ho*may|w6nCRyq*5ix0u=mxW;@b-9*Afb22lGOn?P8Pr}{TOF4Bk8#IoQ zM$%y(bH7_oq&|`0-n(zWHT6D|DQe@mCB# zE?)Y3-(MHxa|hCedE&_47Ln889lYao(XK5Ue%H0He5kq8!$@*cqzr;lLEfQB?dvpO z1ootf{f>mDxW#fW*Agb|pStWsLAvnQCz|p&XjXtt=yR}-z>p4`NS43~h0+NXAa&W$ zK5PaIi3H+blXzhS76kgvq+fEQg(W$V6-6iMr276yyu={ySF$hCUrNF*s@CLnJ+`B@|#LktK?Pe~hG2Yl%9(Sv$s| zFoSeVvUPS22MmL;zaew1Y+^z6Z**gs`DBsK7|B9@6o{^M=(dV^Y7~JdYB__wG4b8Nrvl^4ucz~NCq>yn+rp9;oV3m zrU@U2$i$gEPe@$6@q;PkO))DxHGhR*tilR(BK5lS74EoS*8+pj7k?N9asddIl)h?M z|5AjpxiB3(inKwG$aCvs!@Y~F|HEI|?kI}(XIYf-Y1`5Fcm6inxc^6j*e_Wv9Q<+N zZ!VgAn6>8vq9*U3UeWw}Mu;5yh}7&_(b`ZANUQ~qXr3DaP)vQKDcGKnWt`OfPDjx> z4Bn@U&=GN`;G0pQd1C*${%jX6sL8LHYO#xaG6|56x>JN*SZ@I3=0g!IUmnbK88+cF z9#ZJXsh_n>j1jHJRd_a;|A}oJu9g#Kvz~Sr?(XXa|Fd%)323&Cp3_ zqT)D)h$kLAqNe5HC8rXgSm(ICNI9PNkWCE6E=$VE%-CFI6PEad&0D;7^<{hCGuJV1X z>C9Ut^?4Ve?YFeBP2FnMkuv?pCls4_D@_Vv?rJHwop%j?TCEis2|a3s$rbv0i~l$K z0sf>oS=i2M1OwDzw+ZXZ!QZ7Ra^1b8bZGN~kgw+Jv>-w&O_`}lMv!dVmLiWdKA zoZ{Z+1#lJzfiMaPT04nY*%~4A5PPu7D(Q@CI2x1E-<~JIygWij-7{rMR3sZ@gQ`pWJtHgqo>bE6UFX{-L)@ zu!5Sb^yQq_dpA*@Zxzwz6Ip-NbTZnu4~F;&+-)R$Ch3|92tjc?sI483oFj~=*@ zTv`HbvJ^1$YJ-mD6071{t*MC!jVd+Z5`#1T&cg;f*?B6TI_JEKFT2Z{(S71;VdH7l zMewmsXmqy_Lc&_PU4jAdf4l&sh{!EGam9=Wxo|4g`0jLtF4rC!)9#Fz=Mz}j`}H%? z$4TCzc%4WIH_<+CEMrNnLev0d;rC*!z$2 zV7l;K&P8KWcYfPfFJ#&mr}Xz}`v{6}p6^%-9bx#Rz4x`0jpb}{sVh9AM2r6Qrq(_y zraKefKk1{)Cw&ahU0Z3qbP-?eK&9k(T?fNpXs4=a6(P(x{FFGz?Ou`+v13a0l=$#8 z{c2llA4@m%kIoq5N&lQhih59bTsi3qgo2OB?KpmvwYP%(vH|$5Cni=G_jXBEPWS=1 zET9f^@4V?6Lz<9Em66DAdqfrd{tS6Ic$j#_D3zo8R+7w+9*E zkjLViY7kzQ3k2>&p}s$Qym(-nF(SYXg-6X2$f3R^%JA3>TdX+Zs5g!3em6LV2p+-` z@}Pymh}R&oL|V?l-w}O!LD=vd$gE8LLD^<;)(k| z*?LxQUYYrkv@c=Yk3K*&wpF+?(I{bwp6nL%ge3$`D~F)*o}7$%N183O&WHbqp!w&@ zwX7BxICxhjZ9Acoa&G|BIFJ%*sRGnVV+Z)*17#r~Wu6R!b#vcna+HT^7AB6G(fOdw+HjmPcy#ztX(Ge64a0C;wNOTt3dzkl--T@~7LIqmH7LO_zN@V; zCIL*YOAHYZE0N9JLlgaS_e9VB1qyuZF`8

          K5Y}!CzT^#==0-b$t2yl|XVaRO3vJejYt%tFj3$IFb&;aYueA&LP5XisG z*8Td{ugHR_Z2oi6P1}TV;a}A=KV&fBjn?aYLJ=CdfactcR%s7HIyQ`5=eZ~Ms=8fS zBYw|)=tlX}_>rF}^QZNLWyZfZuYQf{&e`kK=w`br)806_^31qRO1JKLV%OpScuAzH zjTCR}fUyLFvwajZ;-A^GrP9c?_-AYH`H^B0nAw&9VW??_^s4IzZqM{2sD?AEAaUB^ir;kOJ+faq#6zz~PeeP((M)I!b{Yf9x0!=@CKgLO&N zFyn~s?r&XF{ElqmbW~>;i7_O4iPiH@@unU252+Dg0GeI}(!>YG9<9+mlPGv3ti|n_f#L0z?p$e+Yl&p~GwF z(5(i4K1~-k@7y?U|H2`lITrrrjk?Bh?{B`sMb9v#k-R)%pMXAofZjF|H5lC% zE-{DwfzrEmRYjqA*r;A{AF12ifG3L(qs;BS!Og$nrdyx5+N~^ZM)RhxY4uLDO=GQU zzdCS$=fW1HXCZH2(HHbBcwn!PP;i792k#`!`={SEActFK?hX0nU*dUh#TV3p(*w^9 zE3*YOg%Eq5MT)tHq2q&T$%Dw-;?7qR#Gz?pVpa)=reo$j&v1=Amj`cwFOuCI`za41 zm{_?I$$2cvvmf(dmOWz?%LVr|H+lRzm*(q56r1yOTqSbOrFGu2b{La~@^-NFKrHD5 z{(0AhnbW=C0Sycx!!K!=K3R&QK91{kb|7jGL-WiNG>41wgPwFo?6KPA=&J+!5`2aV z3O?Y)roAI5TZx~LSIPW2gy=p-yG^A&F_ju@b+MI4JTDlQr|_LNY=dUg%;GHwYY3%H z&X{^AZ<5GeH^bWi162*^t=PW-`2Io_*5=m3bEN4Nx$YCY544*7Dog$tbuw8K@liK1 zcWtu9?Vo+}0vHu)>*(6(9dfc1N~>cNF}01_5Uj<$qSG;;p49TXSrZVj+1s0-63uY8wd<8TfY4*H75S7H?0UJXG)GA6-;9j*p{ zfqof?@BDmpypDPRLse3KDGf%5Cov6m{x|(rT9W5 zPO>AKlhJF@bhc3`;v^Ow@bKCG^Uz3PbR+GJ#Yg&_X6?`K##dwzdoFPBJ(ag>V((Ag zGdL!7)ZQ4qFlay~5`CHBC%RUR5@giZy3- zp?=dt&>yLoxm-po`}aQ8DiPfq^9_!>q1_{>RP`s)4?#rrA`d5`<}%Of(f81L(W!gc zA@^l!)N*zwaXoqtO!e!X_O%=(jgBQ;=Q8)TpZ}i0;A>SUm$guSi#B~gTNS$`0n37; z!P0(UaBRG=kZ19>Ms~k@?u9ss=U`&pTi$=T(Sd4Y~0LB-{CY&#l9BAXU z06j};gGe#Xyev003hl6nJ@2dr-@h^M%oQ-$?)OVYP(-a&fDVHD1|NT@*Y1SS?2+Eg zWA5L8cQ&a`x+i_FANw&*)gn#5oqkSIWvSR382k%4Hq^Nh)=rV|8nsf0Kz)%g7i|-8?U{EqJP&I)G^^w*pdE&ipIVVFxfZ93fI|6O> zHIjNKWO#{w*zn{pry;B8CkOgnM8me?|H%*)C?H6*57M(@!_WES{$%Q3B?PK`=yj3n zwCD+L0Lu)1Hn6qmf(u?lu?_z_Taz~S2CR6M5XLNFEX^~_soC@=%hPW2JB05<;9tgV z2kbx9{QBVQP@W~T&wRwNf0Uh-xpbX{p!c`^J!m=@!m#Bhn+IA>FGjN8C1KAN20em_ z-zQRM%^@$Q+)3>o%wW0uhx9kH#9ic|w0`1ixcht2jR9;HlCMx=Jk%82kaS@KTgSlL zem?D$P(PxekmL{~I##i)U;n8}|03SlKtDF@cWq+w$5vux4~-%BPvX;go*tz`4gYQ# z^ReAQ89>NHv-C#N*DVih-bPJFdC5n0utt6kPL-4gh(pEQ7~ut?5=)a`*f_7*oN@Px zg>rM|TsjycNgbpzuP&e;npF{OsmMsu8B~<)uHh!qCI`!xI6!RqvS?_5;6Kap!!| zMdgSZAK>bq^w`gyg^)@9&lraUUiCt)4cv%9j49p3$YRuDL*gO@p@MZmw90dDIDrSL zrFJ(uII>qzIwEmH-rqISTIrEMeejG=Rg{U2sFoFbAD&tLOB7}-3KyTJ>a)SQ>8H{h zuAzUt!Cg}W>qLH+GjgBg-&-u3i-`#I#{C!r;zpSm;JPnVd-dIM8JWyKn{=Gi0 z(j?NKFo|KrXac#IVW822Yk1IKaiE~^gHo%qgEPNOZNb@3(`5Th9~DfB z&xTNm={SxX{`{UhW+;U;g0?%6f{Vg^MUe7`Ol!ofZ!97({{#zVwa2HxV$tqZN;Vv( zNjFZB$F+fj)O7*0$R;)0q%W_Br|C&12r# zTs= z`o_lOW&q&Z$UTbXDd2$#mKuaI2gF=5vft3;A+_hkNXP?11uk>bVq-i7^ri@HKjMRH z#eH=rHe~*$+1)F|=M%v=1?`t$qr?0GDm;q#jj0bUk?}y;>Os?7VDQC#F_7Omu>392 zR0(8I^@dbu?s>jxFLkJoGHu`tv1kuq08*B@-dIaK20*X>J5piEbxuhYAc(>Ul>-HS zU>2Fv(9$>KK2pPWtPA}(U{}ZPcm6SSIRP0(GPrg{u)!??{GT_1c{iR^w`ZqSxxzg! zqWHp1)-B2Hpa}upV~{X97H)tj2p#*2lPuo!7XNk$qORk5r(3AC@1V$UgufiHa21PPqa}I#^F~IH?|TJnmWhr6LkWh z(RU@C2F8kqCxkjCBVk|AI^!F64M=cO|3JJxQuLAM7x`yDIzxq+;BLyr0>|}X5GwsS zxDxYH4mT4&W=(cp$TB@rPW7tW)4(W&5gxtqSmFPVueS`UYipuKkqvCzEw}^-?z(Xg z9^5UsLvVL@4+H`P3GVLhgrLFQ-8Rl8=c`xs?m4_ywf?Lh6m!otyXWZc(W5cpZ>8z) zLKIPR!a*gaRc8nxhZS&>hVvs_de%~ObmYvf{^#k{a^IPWL{#wNiV{@@TB5oUcFiy!%ao0CQO(0@P05&$3I+VpRt$;N;&Ihkpo1ZVNxz?TQ#4v?lDj4J<&cr0 zS=ns!(jxM_UjzBW8V`upDuP|&5WgK-$UFmT8d4A;^5_b0<8nKzy~Dexw# zOqqv<^WM%hJNXIiA@mn_;sw9x#%_E^n8l9;>&)y||49U;sap$) z6A{@l*tv=G3XW;J;{4yA@d-S|;rg(-hrB|h1kQ)Qxx#-v{wzQMS*D-!=d%ILc#l_R zYZwg1o$Kd_)OR0^`WkWEU@0UjuX`1^fuGcDh%AQk{!ql-87WAHo~{Jrdm$EFM5pzO zCkv5iKq?OT6n@+~U9LVHnZ;&nux|Xkdla3*|9ax1#7PIq$;A-6FN6R%u6ovz{OJS5 zg1M!X5Cote>ec=**a27Oypw@V0*taZz|`6(B?J#HLgj2cwLfvCUM6=8k2#8JWS{W6 z5E1J-XGTb5GWdqtd9)JTKfg3uOvjo(o(;2MZV+-GD%hMfnJa_KANVjmNW7k(VLc{2 ziuiY@NxsS(rEr-OJ>F)G@x91+6YRX6{83JSin1J#HeJUDWH_c1w1ojBU>1hB+8c6! z{>op4py+ysSnci485llNW}}LVmO8!@#WUCvit0SDUw~1J+3edQMb)kt#Otczc_KMI z(QLFBDenMAt@z_VkoG4q#!6CET4G2>e;UTPmG`=&ZfWSSR{6m8`uk142{CIV*>O-( z0`z{%9eWeJi%<0;769WNHvPJCDv-3Fim(31vj6od(+K@v8&Ode-fSlPTh90W6)r2^!G4dk-J3-UzKU8v{S+k zoOH%Th>Q7E36~mBynOlGL#l+tb}(*1NSaYjWj~RU1%?}cL8akQPrdwEqXNwvd^6|l zs@~eDkfY>O#3tRDO+wBLAZ~C&re@lrnsaUX3hFk~0HmDXClat*y$N>MGlV7;xQ!zn z)}+kaU=#ek1a!2rik9$2KK8Q)CFL;VME1qA|7P@J$&Q^Sa^+4QV)rz+u80uYxkN4G z)k=NFZ>4K0=McArHp} z1%}%do1$^PHTKfK3YZ2ICPpKi|AVGP7ICJSB$SkksbT?B#Y-<>fe<-P!5-8LAA%1h zjYWL8s9MTNRKk=Z7vo32GdtH=rMt^A4WQ@8z!k?Y2E38?hZp6BCf(hGxzfa4E%Q4{pEkIKFEKkgiR$GOBBHEea%aPG1q&kmwyG({-$sfX*7Rpip-Q` z=WX1Nv+JtU2L$qpJ>)!SDRL?RfX+N57h{ueTO;g>Tpbvyva?`+FENlJ_>@nSdO!R^ zD@AW9MR9W^@sd3e4 z<%7Fvs>c^geA{Lw@7wmQ8Ud%N2&GHTu^yvKr*D2;6zWFRTx9sc*FxvfLYQCQxng1k z3`9r#9sKd{hq(TS*FJx6Aushp70V*KI(_}5l=B~kK? zv64oEZewRwWT_e5pQQw$a0tfq$=EIUo-UczTXABsZHb8l_y(RVgx3X%hI9UVb$>Ht z(13_|5wEq}kxjerIY7Q`0tF-S@0W%gjaXS25mo;3^!da~q0z!#>-cyZ_<#DAm-&H2 z%=A!mh%jVFImeAQ?gZ^Gd2{;JyHNn=h)njKOAI9EeY_s$;LKy9yi9R3Qva>oZTZtx zeUI_}i(?gbou84Xuv^K!NCh6K75GP4f5#yG+X+Cxs{l1n9eh1=R zF}^PS2tNwwm)pSkauUBNXz$=_Opub94#?`YNVNkGK^3)@W5R3b5w9P{4smj%d%U7_ zB#zlPFps|l=~`FS+&vXA7sy-jaWl`bqE=%me4G?g^rPSX9^tTxQDZA-Ca3 z+Xu{F8lWS)$>EWpyP_Zqzo^7e$Hw)PYr1C#6&|)7O8=s?hn&+o;@+ez7~fG#2mO<> z9>z}{{M2yc!ehLU@&4jX47%*q>bp(M?MfmD5~QT1YTN>sI~uC`M`IT8Zw-TdpYURiB!H=0xO-mC_PwgaNAW+B=8=q0L&%OM_8+T~ZE7 zLpmC1N)y%lM$GC9V_wheSV4C$@VDf*v%J5DN(t$;9%>rwG_I$0@Yx1fe4rZi8ZH*W zpvFTZ`jJ~Ix0PMeA#cx3=MuelzKFFTO!zf%-F*k|$Ol2Y8aT*KfQgFg@QNn} zRWL$gL;AW2Y{Ck91`$Ef^UT3mH=%39F;)xm;0Pq%#9a}}}u?)^XQCEJ(V4~uHj>_ul zn9>Ut&eEism#(pK5kAsO&Ys!NaHfuP=z}yh5`l1_ji~gbP5N1G9`~ zK8b4XV*kO-p(u4hJkxBMFCayfyoQ#No#37bQWJiNu)OctMY`vU0lz$*om(_t?vE+7 zFR_K6ZeIP)SH7wS+y1$edA-Lj2xbZ&_nD3xr@^hrZbavnZrtNN?>*7f_go_vo_a`1 z_3ub#>XVOawRRG;CmEXPn!zfdy9*&K`XOpN8X|mu5!B zmAFVx?Id=%PWLwT-7JN9w|xpEI}0J3zRz2B74`+E&IGm z91(Dfz{U{?G0!BTomU8P;#accyc9R|`58q}dr_b2va%wD$wvC1H1(8cDSJqVV0J-v zsw#x$0U;~~mo)cWQ)8I1P`38et;-YSv>DMJezTvxmRA&ri`?@eyszw8F!M6laRn?; zc`1Uu=jp$f+AE@`&>M3=eqwn&E3`jaaFS)WpX>QD##QQ7{~O_ACCut(;i78Luv>$1 zk5BMV+mnB6ss5!`p9^U5#$A`I$5xeJdr2sDZsf(ybwZ?Zs^gQSX{8{z88}V!MAzU%0C&4?)s&ZCZu)*FC58s$jMGCrP<)yVB8q$p;`jDkyQah(tIZ z5z(abmvEJ=1cv|5;+i=zq?@#dq7!tH(Jwf{+SXyo!5Qx`==VMgVYv1{%=6;UmID4h z?C?rHp97W{9ry%Ro9_D`IGtC2ArcM1Jp)RAE3)@_s@=qEsaQHkHoK0Li_*LZ6hD>B z_A%M&bnHm|Y~}Ig^8RUtOiuPl+<%UugJ_1_Kzl)vi}i&{<;!VGRz*V6@6Wm~xs8)T2Fozl3V5|A z4n=Q6R@>a4B3^VmQYV`-IKhvsA`PIh1f{tF^FwaQmBZFn;XjSlg;rSuGd$5>KME1g zISQ}6OPX^%|F$rV(r<1p!AD?BNdH!J%9aID3(0+>wW@(DM0vK(fg=ebf~7zR00Q5A zs`C0&@dZ$);h0R@>w8xy4e$epnp-9fFsa-|r2IyC#_isDZ4k#;J^dPH>bK+YtaB)}aP}gYhJ}kV*>0l#DXd#ifqiOo$6SpfY zwYl%|g*pw)HyuXu%Q)nWRhVJm_1?_flaLzJ<$7scm6>TX>W4MX`Mz{LkPL7{BaDBG z?Z|7)mFm{jr{LU_t8h;3K&+Qxi5SkDR+*s?Vey-Ti<))qq#=&P+XRuC9(LS+25++Z zQp5e z&ci0B|C43@w>$p@g6bEySDPlLWbtY$$0T0zp`#U+K2C0@f5c0URqT3aSqZef0^-oi z$)8a@$*}*SToxlI>HXk;H>Oi5^`gCVDR@A;E9X}8^I_kWl<`FQSKNxSYLnwn6%*vs z;q492ey{zhWj;o{ahpm^xA>sGqKseCN0Zv`!{+KrhOxS=u8Yg%&u_5z@#xP`^5g@u zAH z9jxTn7W^1aR(&gMtw0Y`{1cn_&^BLXzF$=K*U_vxuC--zc`*e?pVk64;-2@S|ALE$H(gY_rB@B?D5$NTN2Ewt1WQ8M_kD20q46tTi(=i}TgC(lcWe zc4twleG+rZ%lFD-nUmuMyc%y7ai&s)U<0tA()zQJM9n*MFRD5@@4f20WC%SGdz_}U zqDknZNf7<=#?sj=phzC-WKeKnyRFcuHY$pH+dNp~_O3C?nkX@o>ydXVK!o$8Dm}-W z*9a2U>#;q$k3HK9svZeCbl4Wd$6e1jTV54i(ys#uk%vQS9I(sr1~GW#EeCMCUKo>8A^u;oZX^Z9vdi^00;;BS{v2w z50VufpB0?Nm$U@cy>;qhEBicT$r_EXo49)Pg0`CBcORlfd~b)N3Dj)bx0|uKv`SJm z%~p>~Jx9*FaK}52@39vT)JhY15-)WMJx!xi{Xjnp6YL>-M2Y5T^)|;0x);UYZqfWh zRq6d;X;Us7Wl$7|M!dd{XvR`xmW!M8N!r!Va+?fOq!NqttJnttKuRreXzjH)l5(q^I3BL=b@mNv8zoDss>l5#Y7dTLlSMnR6Up#e-`x?Wol)+ z^tW!T@CszJ8>BVE4f*K7G{T4tK#8CG0VOINJWtWD=PEi=biIDTs7ulx?9ZmZ?KCDM}O6)tK=#8)J4|jOO zGp+05>`mfAG7VBy*|t<`{;dr!obhv{?WH?#k`W+pvQf2 z`iTggl*>4QWz`vEP6icv*VW*Kv_U(3-L}l<3z_|O6$a8puC0CRYnMW62tk2@iy$Ln z-wbwHJk#9QR@cV;6yy=f@Xln37lWP%vq~o7QD@BZ^Os&cabS7k)dg?51CG&dJL23! z2=6xc@jU-?8;Q0)MsJDDr{O0ruR;~GS7CM&K5*T_(eOEcMs_>WSbK@1P965?8tAcW z&P3o#zFUyOhp~Q;f<1}|D@h5Tow@^G>NVF7!P@e#?C{@L|3nN8#ALZ% z`de*Y?DarHXob~;LG6liKx&kDklUt;h$J}<>zFW<;t><}OqE_l(xN_-{zWF=p~4y` zw-z3Qd-aL9{T^zD%E$y+`B9w)%n4DEqkso`e6?P}V^(_?E=iHP#t>re4IQ@1;jqJ) z+H^^a?Mmea8^;|cZ*TB}^3~aiNAj=pVvjrU^C>khMdra%BgH{*P@L!bR71JGreJR% zo1N_!3BOMrD6l!vu99t4q!Xm%BfcHmuXzG4nry`z>(N&`lG@zC=Jim4BmzU|~R~ho;~QI7+{4d@IfL4fEtoo6!;mJ zB-}i|?RU4aYmuyk2n6#O4AjOk{J_*|37vt+G<`@@vmx5aiO;>WMEdFg&tOn2mZ{9S z^8`oMv!PcEO<%`wW^B9V#|?`WiIe+}VId*bQSQ!pteRM5r$6BYW{bR9@8lP=_kQQ| zRYyeCv=>&Y4Xq(E>nVzg93W;>yAbl(%y--o*@sQ{@qTJW? zO;jf~5Y|5|UeS#Vy%QZP8+ioo)ETq-+eMiRd?{@xZGUk5dAsZFOqa{`4<=TJWy{e_ z2dD*xM~W}6bKt7g0^`%_QGKsMWMXHL5Xgu7ZriWQw%Ob)BX3U)emrR?bG z4BIB3zF6Ay=z4RpAOj0umESo}XnLF~fL*2S%`uvyN}o(4=5AzrX&b)RP}v!gnY2|@ zE+W{NE2vBFC6%PPT0{9AiS2>U0X9S<5U!4JeY%ABPvi4f>o$+HvQ@EXb0*IybiD^x zubl$yyXNcuY@U)!(6iz1>Yo5wS2cQo@w$TVwDX_o6H5ZCtGJ@NO_n#DYTRojVDQ)z zBeFL2h6^;5#!}6I$&LEl=9$B$f3 z`zKj*M#L{d1x4fGLW$u5+8MqRJGvbRV~)mwyx5moN;L`kZP75=y`9S`>USfryK(1Q zj7V@|n0X8@+T&=~>IdJ$Az77>O z533HVx#uI8V_H?^B&nNZM6+A-fOpNX!6U&7xVkPnFMg z<(JS0rPV~#XHlC|Akn>5+LVWby_MV{QKUUS-_ttn9ZPwPVAFLo_De&SVOy)*vO;#` zW1sUdvjI4o_bzeVae+TZ=4s5_ASp3dsf#YIOi|wY5%{7ULo4@hASyf+1 zvj>1;2l;5oI1@5Ht50)s!o=^*(qG@YP~XZFIkLPu_|O>R-BbD}b2lW=s7o52v=m<8 zPbVBf{=k{^u_QrK_Np7DfvRGVM*~#@>ZGwL&1;E|?AOs-ZFTY=g|-+q$>qr*BHg%C zKoCTbhe%yc^TK(`(npLnK37JILT(x+Cw>cYJQl9(X~a+@?G@DNYWE}N-WE^9nJ5$w zeAnIdog)uNiKCC;tBJDrY$2Wq5&wmD`2W>7{39f0qeUuVm%jEhz0 zmK@;AZw~G?zR%_5BtH`HZQb)Jk^f__w(~roZSUI(+3=|>42jxf#&aY@RS=)EeBnHb zix)|}3G~HQCVBsdtC@QiHNUNzH3p>4qXQPH7i{%AIZl(AE(fG&kuz@6$)Gp*KBfUe zl;6Sz(u08gdZo}@XCO=>?i&&p#(>*YF}HOS4L;ijOX+7URf6dRl(d4x&gK)_Q>gs* zFaf=}A`;ng{biS@;nNwq(8425U=CA-x>_O^#A3FP+&%olLk=RMe#>>p%*4#R>{;cy zhy#jnQ3p>~e?NPu_O>elKIz_depn(s8S5EA^43EAtkHT4f%;W6ZP~E-sii(*io&oERQ#77alzw#Jd=;|L4)Dv}RtSVQ*)W-ymBfNA#)rGbF_*h_8wPAdiB2jNJx z;U=0Yo<9B|&Y^Xr-J(?+iNbHR$P95IkUx|Cy&cPk)AChQLX6zP)4i&U!&JH%*Q?v( zZrBt1>VQbw(xAeY$HaLD~jHV$-)} zQgVS%EKVaK*vP?K5p8OEdAFS#F+37p22aBu2~@QWFHThloL#w`?XoLWHk2FvS5X7q zwg+mJ?RwiEL#B?#FVC18*|Y&?YccAueY#nKk4r;YH*y5;gVzdjK8yZ4m+-fg;|?Vg zd%F-A6vPom*p8Dz`AK*aRtDo;cV z0H2fvcO!b~ z4J-<=zQW1}E5~>PI`xr!_~b_92a^5@Ug6YF>RrWOuD{X5Zx)0E#}x>A^yEvP9xo3HXjGXiCC6p&( zX7-o0UGz}Bd=UuJdp>sCSd5nts?^tTPb8Ds^T7eR31ZsE3mkN?0t(R?Gv4x?;b=6Z z!+~axK$3RR9@evqG75etGXAE&0NlAg6WsD^nT^KkCj%47CWSrVsq#eK&U2#AdGoj0!TZ|%(xW-s z9CPA|u@cv)`JMu&>*x;uYK4u^_rOqPuR7AJ?tt~oi*em$J~g9;JWfG@`Y~Oa^53D( zCrUbdsVXs6^%P7SpFmrieF4o?de+-tn-8+!T))Ag-)<~;5stJZ5;f@ip0DtlB$t*C z%U|Q13avk#~xx1dOb_(e!me;LKvD88f_^s)|<<=U8p`p3?q9WZMAzJQ*o;o`|+PlG439L z(y1to4wRfEpfeuB;AhJ8z|#Dp-JeRw!=eyN*4p!fh-l`-2I$j(GcUUx@3|ez;=a(0 zKTEcW1oo`HVNuD>V$xNZ>gUuO2&%qNCgnxEr7H{)!8wv8Y+vh8KOC*DKhg(W4`EUb z{M>_XSZzG$OC;#&=BB?@v*R_|mfL{ll3hy_AG^_l_G^K4&!GJ0*2*%!_JMC$@?<%- zlTh2|?c&Y{$-h_PR{wS9NvoNBY(3_b?`vBq@%@XkLJqQy0nnR#0w%gh$Z`(r>sKk& zS6W?;xb_=9Dop~aKOMOG5*l_D=cltPtcB6^-68gNk1!&2erN<3zi=;ih9LmV-_cIiQ~a?^#6XwCMuKh{c^ga>r0%zC&~E5TjIe6$k>Kq^aGe}HwOz< z0E|nJh?Ty8v%&HvW2|`Iyh`q&l;7&{oPAn*r5DUfWeOPbg!2;}NJ@M&33MU->TUa4 zQF~Sh-0=7#7&+SP@vX+Cv=S{h=@bGHyw?bL;!oq0iIh2$_`JiDg#=%R_-xp#EaDA*+*;X{##=X3 zrRL;gDIZqM?{cJ#g?m@@Ak-GTYVVQSqY|`nAYk&6?uaS3`VRmkD?JhIxi-E?@d$FN z4`g0!aUh5G17A&WRx;gWY}CV=IBbP9Y zG;L*8ztgm$k;Wwe6?-Ccc)6Qu8+(9g;8kZ;_6v%URfpC?(`J&LSbcSAY99G5@AayW z8!42-l#{$Gu82Yg&;|l-_dqv5;*yjkVV0EbBE_yiBb=fiVeZsoU5ToKfg|r{>4m}- z=cMN19~Y`U-0QGRa%yxwAGc7GL#e;>$Nd?EVgBO}`!I=<4&KE2poE=dV3Sjgy*7;=g@uifw9|TfeMYI0MPgm{zNO`t((BXHO=^L31$y1DjNp?@-l18Jncc zo8{B<%+KF@JS-KA6AMz=J>1yaC^)6wsLxU|b3zjE>`5Yw434~%^Z9~An6Zq-80_EC zjsDE7VVqXtKes%JnOOVX-t~+m?~BUbV`?86EcAF6`wOSM-MMF&NdcCjRq6%i`q_om z+3KKovn$scHK?g8^>0a1lw}`sH=Ihx6BzLUdxIS_5s16%Df&gUx%H z=b8kTtTH7Z3Ol{b-67oemb;fKFcpMjlJot`gPN-AM11;?G*Ft9EIo*l5P>G5Jgj`c zqx{4)!4H>QY#ICgI-09`#`Ug$TyF<%K=U4L98%U^ZV4kPc@bKi!8rbqFe!Y~jzDwC z!IR+X!M?PD!ZnBFL=cE+f4{h4RkO^*M%?DS!!@1YY35ds$1h-Fv&BZS(p_+5jG zD>betpuIs+dxU>Hc%f&L$>(*DhyJ7SDDi&@qJ&HUdT4(27G|;9HR^ePz5uV;(4Tt3 z0GuAfRSkj61drqLNSIx`i1%n6NBImxpEsfvFI;dls3~=|fJgou;KBwXo2Ipe?Z}sR z3FUi5vkVh@{vvj#BXNu!_RmOkY8sc%80DmTO&*$0o@=|{V4d^_`n+r$F!~>hGiyVQ zr$I(0&(+Jvf$Ggq4_c+J+0S{;BXd2myD@z;Q(1>Jj4`c{&M9RXj0U6d+by26FH0Yjr#N7HX8rUV841D z?qK_zmxW=l@dq#(47<>6I+jABhUR!fbaIrY+J@WyiJQf)b1I|lft*Vg+{ghR>k=du zMC>dWzK|TCkIH-U|7ZbpJ6@OQ+Jbc&18$Fw=_XS9Rzk2h&LfvqkuTM|r5?%I#pr_& zQ`0RcBs6MP!a&z0DPz8LI>L`tX(63*T^(j1XQ}Juw6a%1fSSN{@B|<1jlE@aK2^puG7Hkrc)$}*D=nVky zLVz2a5f^V%eJ#neey@)iBT0kR2e0!7$;)(Zf%5k*p&HDrNm6SeG7|z3^dzkoPca!3 zTE18Z_k5MUmgPpI@2Hu%eS`Xrb)`#eo~Q}N?Z%Q_xXpDKpZE(u;oPZ~J1|!B$fkrs zjCOL2myzqu4Jr@f5e>V|vq>-*)V+bJg`f_Otg?y)oOg!IjQbi8Nzc9^CmX_7(pP6n zMV|(@eq&?>OiTUfBG)oSjS3(MObvS|Zrz$V(c~a-Kk0R=*cCSOdS;-5 z=h{KYorO99g%W6ly9-Efu|)XI+2DejdCmvm)GZ6DjWjstP7jr#G8Csx&e%H%P{>wr zZLog04?K_b{K)tjh;NP#0+^4Ayy0Xi@$-!MjXo}wPvtCY;vQ2hh7NVq3G zjONw|-_byvOPX|V@>3hARvAt_KQyO0wut+hjs*pnNGyKdmr;D2uaftud z*@FiKY2^pZd?8y#iy*nC*P*waMz4W-19Q>D_}zRH(nOP46JT4-{Ahpg_n8^tM1c%o zwfL^`yQ)JSEA~GN5rPN&p0b12gr)Ao1m%||%!v@{D8jSU0vRE3694Nn<2ubT;;=WM z(C2S8Fp&z(E|?U6Vg`8VJ&8f6>KNrFvhJ$EAe+rsV%p!Ftq$PxO~`IGYv^MKjfpK% z$y+@vnCX7!I!dqx6sE$!kif837qbDB?$DqvV_J|z; zq>l-XADYQJ{>h+yVYa69zt!fT$7%AsU^eFt_x)h7a}-i#JayvJ0^o9hWdGZoA_SEu zvvwBrwEt>6)a;Og8ksd`(>j!t ztKb>`p_<_WSY;riqd{8KTPw~GGC)VNGAKea+S5*&hky}|8u8+Wci|s#p&rxF;Z!oL zb+7dLyJkE)0CU%{C!YA&MAJgnF#UVYf}cM>s8^%M7NUVRq%=w2I&0B>COu4*EHM>H z(HQmC9#S7}pc~qY(?|6S=JU_FX;auec8|*=c5|p0DM8MPjI6 z;$PUd;=^2(qpNAvBX~4`RCLagw-^*UfZQ_p(z^m1nogzL;L7A1WjoZ}VZYl>QD#C> zymPduncYP9-xp~Athnof zjU9<1^Ve8L+N8k@Bxi;s7sf*D$Ij=#t3p6YNnt}DxE*&tXk|HqDft^k`{Ob}8hgn$ zYD_tO4(N&`q)`48pU*8`V9ff436lCNQ9;OkM>rv)+HhV+Fu^u!foURp3f1XHW5ofNum%OZeQ$kt zgYu*{F5?0=D>@V9RV9J+-t`xLFG76j9HhGG(ISMwmDTr(OiTFZoEb3tcVAwtf%emk zmDz(n%P#W}b`~bao^b`Qp~DVu{44tS`)VKs_?qNcccEL>meiyfUqK?u6Y`x@FTh(N z2nP0lW}`%A0BQ{+TOo}2vYc3g&Z=s>(LZ`zqRzjnTkoDBVqcDK2zq1Jlj4P}KX!{* zZ!Rtb{Dwfso9%+pRf4s{Ekp{4&%)_4A!Jf}r6<}Op}z`~@@jlwR1A>(ewqt2GD2d4 zgcUFX%us!UAS=WOB{PHQ)2rOR{XhOg5F9hE&I5L>vkfPPf z&G#PsKVoKxw86N=$3MdOJ;}-}?xN4hzU`;THLCe0B(@_mCDA|Mpl|vCMBsZjaXp#g z@TGFD! z;$&`8^J#A>O-N+=o!1?TPG3W(LlS)OT+^{bDa3-&fPC1n#+dEFVbvgd$au&PLAN7A z{HGffGtCe9GtD5Be_*(jSOc&rtT*=IxQXfxom!5}tv9|}=#6uUM+*rT8HmII`yy|&YW zaH8HK0<(}Az?J*2ALByVlS1K|xxr?4GczVS?--yjd4E2wESu^7aao%5_aOH3KnBin z{OUEFsDfQt-nK!Jy)s?c2{geBeC2muVn&Vq_oCo-0N$2!KOpOf02XY|F6>uML?zD1 zekbl^}PSu^Q2M`}ePXiW;~N?ZMIc z+kw(#jb5di|H%FPUlk`INGK{4D-D(;USa5z(7*z#E{>qvAR1WF;bJ5$0Mh813ilZ; z=mC&FVEd0G8V#l&wQG8Is1+9B-oS-197)$fmXfWL#5q;~n}L1ef1JC)7x+PMyR=_c z?~>c@4lPA4w}vq5y^OW$fZe|nuE2ZsmXAp%!!6y40p|*(p4&6)0nvdx%NxufF+nvE$KjgoUncE^o2(*sLZdg?9Tkb$!#U zPrjCmG(&9ZH&q_blutDTH!isPhv&(xukk}GNNC~uL2OOL==GBumo?VjFKQD>+Y#%3 zGqd_@HwKxQK;qAqK{@qoZlB@M=VR8S3-$Nu1e;BUFbLGTRum)Y-;)HdeKKcx)oK10 z-@P*qKGRugOia*n;>0m_d;o)|Cd!dPQW7la-QuC8-cA2;v5-549~)yYy-_a9I%>I? z@Fjh0wR|}|Pighko_C?lTTU>o^=@b{KI^?r9VSNocE?q9N(vd5Wu^(%CG$D*WFaJO zJrCvx>md9f%m+NW?gwJde%HqBafZS_E}w^IMh>&_RvAnV|2jg_jLt#4GcB|LT`r~I zeLgkqMFiZ_ZTMGD)RSKKpQXdgtlcfj|Ku%h!Ew|27M-yo&YaH+C!ti6<6dw4t>&p7 z+ns15H;#Srd>O`gKDBeX>%&>}FXZ6MWC%0ity;1K0Xwg$=_wn%`X8?3D?d5-6+^+c zcP@Q6c^(UOUp0*P#V(>yU5*2Jzv3wM+0(W0pA2+5^3$DN5tKfJ=wTVUgp3ajU;gqH z9($(If8kFow5+bVkZi?VH*41@+>QY5S6} zg28L?>w};E?$rPNIHGYEHy3t~UMDw}3BnzImy@U-YJ?NOHnK+occMYcVYgEDd+8sC zoITKIGRcR=@WJnIE&rh%m_^rrB)L5xZ66P4Duo_ngPMb%=p^fQ(N}L*D@ohN@0j8m zXH!^K0;}(Kl!>}j*k$N-*i3fRlZ;Q+I^Z6ML0CsYi{mbo?~&eJK{CJ2H}KOo+!R$} z9!_kC1V^{{ELR&2AOJ~RbAl~maW^O~8JrWTe2Ajktd}^_kYBL~o&%H>0m)Al%Y}jS zphH?&8@3o#zkQTMq9DV31A-P8(J8gkp_`l;x*b7B`Z2dZ39gJ{9Yj8!ihz~v$}cU& zV*dX>hvPe~%wEJ9yVxiOg|g*G@jcm-9EL zvP+A{Jj;!nC%n566rKa8LcI)gzftZPL|n6({fM_!2}vO%5s+B$-m#`d3r?UJJ(s@L8*8ntgNR3l?YLA-@OQj-~RGJUGE|2`=*P{e*{ zFzvtELf^5VoYs3>59ch2T_{q34Ta&qB0cwd%1d@M;`lrh{nI`)OfQ7*eQc_eZyfHA zu6GbeIYHbIROd`&_P8dcFes!ovZ})CuUA@bvm~aEFcUEn`qU(+?n$3F5kk6zQ}v`~ zjyjgn!GCTzmzEM%)SYF^GF7BxXGbaY52m-c6q8Xl)SjdByC4$MIU&Plo2#( zs%5S9$*Q;wB7IPJmf+Ze6D(G(vH#E2?T;BOl-p7)*(8r8k0j68A2?HSN(~a+4_6Ls z*VeytBr_8MNT4~WTL;I&Q1+cqOI{2Llf;u#x?X?8u^Aw5ZYD3Fqd-Z?#$045TZ#E` z+IM{2LRR|B=Jla8#MUdYaP)W4jeh<0%~u$Om$|J!EgeeK&jKn(y~ zE`(N$FOTRu6hdmNRkwPx1oR0PI?KY{k>r}jNnQx0=Ugun(e{%e*GDm)`ueJU2^%B0 zx(I7W+G2f;#m3D|>W`~`CUB`=HB>Xk%feJ_x>c^rzlVPCZH?k!HQr#9T>p&Ixe8tbz*R$cVJTcoY5-oD-Cg6BP0u^vo zx1?{$)7?8=9{m0`iA6~99#^UJu9keMxZy{%WqU&M)r zkr{pjZE6-~m#)S_*^+3HQKTX2Mawlj)<)^1UpT2?%eD1l@QTLhs0vGC1xVu2ME(~* z;Yk@huqo5=C#QuknmIt)1zMCeHu2P82G-{TLEn;2TEex6I+XTr!>~X_1(4`i0dQ+;DE|c* zQkZ8R%_VZZ0wmyZT;Vfb0@wB_o4ri(g@}sPNd#!I_3w;%I@8qWiqz!xWRMljw6hu0 z*o`f?+D!DH3m3?A1afNI7M+je8&_?PSyr+emXuof_bunDZCnG&`MJT>x)dkl1{Acu ziJ|Ye7|uhEdia>7@;`UAhLL_Ia0?Z>l%>lw`EtZ_@k0t}lf1Q?4-92e63+7ux@)m; z5WjO0(cU}kECZ*H5=TAUSsukDipt+X8bZK(HHK$jK6Bzu%pg7QtaRik21qPXF0${&Lt~*v{c@CiYOjFLz^`HS1oP zBb*O|FbNwn&4vdMy~mtDvlk5)%w^rGL6BDmbm5In!zP!f(+5a zDC&zNc;Dq#ej56r8qIf==_xF+DW&-dh7YH{G_$kC-ISA24S6OrSVGI?bz|eQP~h*F_!&D~K~q8>#%$g_RYLP28M2BKE~>zdg=R2pnf_sA+tR187$- zi4nT`ViA@9n+ZgU_p4|ns&_$=r0}qWf}+!5jmjYXZBal@c0$|RU~j-+Z81=ltPJUl zCvq-bUQrT%n_meRx$Y_W#qWI_G|FApNtJbtozZb`X#Gm@jlpqt-X*DD>VmWeIARLv zyd;AamQlpa?}No~=ermfuNDlRm=vw!q8~4xHg^)0&hBo5uAv-u9`Zh&J7~}t(8K0i z%iBv>67!<8^iX9R00dsz%9L}5n^2d_k$GZ+L)@BqHttrm%Qf52s+d6=H|yQ~I}F?* zcg~e@QSRlO^!l2cH#zk~-W*1`{c1NH+Kx_V8{s$Px*q#G`j#4?SdZ7_?LnC48{=_G zb-*I<^YLG1x`ChNCq|O=25_^5@W#!v5GR|VNmw9y0-R>-DIn8lKk>KisAzP^DdT`7 z-pvHho5denZ>QmU7#!c<+8nfBs?n-rP2_qsR(yI$?BxN7#R*~2lV^mXGpmL$8Lwj8 zal`lgmQt#V_Q(w*@z(y8*u{}ER!~xwe_R-d`pu1{ft`~C&A}#G zAg7MP2;KT8UJAXc<-QabSM4j|I7b8TzY!(#Cje>bLC4Cv3+?Kk-^q%0Ulnt5DO7LF zQz>%oP0tKH=~B9l0_X(DDbRI4baOr;50KiblWB?ZH_eqtYAU-d;R&|t_C;a^#7ol$ zkR|Zaz#&rR#N>*7*0cf21(>84$6cTFOIJ=WPGXSJ=nf(MnwW{*q?-tJ)8k&c3M|k> zAMoW^;cUPh201)kz-S|GM{wE3^b@2|#>*d&%t0pnCV*QMgq7oL-(3|fC(t+A?BCQ_ zx%y_qp_W{SSAUDia7=RSg4yzNoKUki9Fl_v#SzK)#7->S#v-YO?ynvF@%iZ*Ir1W+ zQ`iSYKCBcY+vvz2>)?jNcBx~L*F{OCHvY#+d;d7moq)~~me(F%HsAvwRX}X?zY0H! zQ2uasDlW@ET@+N(%ZAk_HdfrTG-e_YLpB+ZH0)8LU3H}h8C4*qpzF(wH?$jR3#Q{; zE?L7q?zZnZi7a_OVt24F}1Ji`^Fo!WOMLfjeRY4cw+WvZEie{OnWy@SK8Ad(etI z`V6TW!50C4_%1_O?6`OS@%Pk8YK0BAG4)L-c7V^_)Jm9#Ug#tb_E>!I6K{?_f2_-M zRh`o*(?+W9lJdv*anGwkSB@NO#e1lZ#s7z`cMOlTVY;e+)~d7koW{st5bg$W4{&w>vix|S-m{hahJZ@Bu-$3Nw^vP`UHh=F z3KyP1U#wJS#GC|AOPPS;V5Eo;6;^D98Tv!3U*L#ASVLM_Tu$Xc0306-7SuPC^0De57H3U;La5xw4UBz$ZpYcFGN z4acLqmk0jHmGBnr+qn47+TZ3=PakAydc??$R8qIV^XuN7dw#o{mn@PmU7 zZAyP?JnB>m^a>EXNGV&5OZp<5f^V|Jfe#owEyC{%fEMOptnuQd2Z?o9tUC#QY?r9d zJ)kSkxnfISnQ3coc|v8v}Y}GY1QFg&1heW<2g}_!TVEzj7vHuI2q02x7heyW!)2XvMEUt#hc>ikeo#wV??Y~23T!JF|wfQ{-qJz zj?sLYMD#e!tjOGYMCgSz$({x}LkC!UdFs!9mS>wKkf9j8(-kO^D@`g9j(*v1@I5?9 zP7-wJ9&o1`4~5B!ALC8Lk0Q$z!#*dAc+=CMWzdx1eKGZ7{C*q0YCH;}d zIum;E0~Xm((ajl_?Prv_2!{aI;Aqg#s8vQ>u}0WjINDI#Yk^Vsri`$Fwls0HM#PG~ z2S^d+U+6_P?UpN=h)D;+B57fYCyI#;6>NqA_&|9tZ40r;=vk(MV;u9L(RLK#7DZ0k z*NHM~4TWicj305}GyOb$Wf{}iaQSRuM#A8v#OLN z)=cNav84jb?E80^NAGW=a2hHfl-P5X{O1Dje04ycbQN@T8SpYw9N;q7;*;^S0n^3_ zJL?7X6KH zc-kK7Gsum=H_l-4EE%o*Kl`giFxXsQCT%kI=`t zyXaHcJgoT<5E2SXtjyz8UGV+s>%5>6j3fp+8LvJ;$Jte}Fw9)pQsoXcWobiJj39?l zztV9mQqho=An&`6a*O#q2cdNb%+*wcal&Cxv=FX_HzEb`rB6(vC#0z9IVM9BgM+|E zJ(Nuy`Lk|F=f~^q`}{U@ zUDgdR)2_T3H$-qznof5~qfAkHewyc2qlOG!Hx)NM6Z|q({Tp9Vn=lh2m8_;=bC!7} zI_qV|iwHM*EK*uu75hIcRz#)de@*lMOQ}vP1hbv7!VjV0;O1#Uph@LhO08YjQ7&T9 z6B1}262w%54*)<$;kj>7EIz!YBeJn~|G9zcrKmcmJ2u^TtmLh$4d1P%_Cl&oYyDFi zJMfqRj$+x6H4vx>85z_;7VHBM;)^AV{Z`$nuh+`<>0W^Wx{I~*4OXne)rwrk@<|yZf5XBvY@1I ztl76Ft#D0|5Vh%3^jzYciL|-r4*pC1tg%g!!hJU>IX6hZUbr+?P(r{+3_koREkfK5_F9A;HhJ=J%;q@XajaQUtiT z&~6s+ZPIVvn8c3*Y7F{|Hi0lD>mQ)0EIrj08vulG{g&*bGxHY;JDKI*vTgEEcLe@b z_Z<~l^_vYx%$xUHEp_3h-pDz3LO+g$wAYiKv|3vsqNk6Ahh;DnM_rzYB^ye>$2?Jw zKXMS;FUC$i+PgnhgbXW{-3H1Z)*8+HUs0yhm!LZaH^eeO&&yl{G`cuRxWmw1H#1|F zRQ;+CJUUS?q*sAd^E?*W()Xol^ML)q_X3|8E2^W!M)L5aaFPl^1{uFx5UoqItipN=ldJ zSV(J+x;V=&PGXr3W<6B324SMTtsDq;ABYoqBJdm+T^lYx66fy=1)D8Y3qhsF57l(k z`GpNJ+z{DnX2ZVv9Q0b$&u z>T%~0=#_cegGjpb-VAr~M6_IEG})DglrrBg^yh$ZlpiYl@}Zv%sNp2prXc};>M&ld z1eqJn$PEBPulfZKhscP~{m0Acq@L#@(OH_9*7QDqvNuEq^X^7xp#LZB%vq5xuX686 zhxCORP{jQOP~GG8aF>)xga9#L(bVz;Ve-TfjOFd2{jeVVIqA?E>#2OnnGj*cK+@>; zVPO!_*#M`x7TEFQgOlv_aye{9FkG#m@cm!3L@>Cbg)$L0{Oyd_wWlw8o`H{ITB zE0|Gwpx694oDHrFHO_&}`)|lQ<2D$)>!*@vc1=FQG1i#JuO2YFYj=nbV&qdzNI~7(8v=27jdLtJ{`5~ueUrn?ZYA&Mmy=6{y{|WzbQf9`1fK4L^ zW3_%wsm21|GssxH_?#ju5m)6&$CBnb#(HMpN4@+(za3)Y^4v51u1wzEI0F#0@c`W z4CGy|Gi$&{9EoY?*-#QP6V?eH;at8EeMKNK4HlJVxNPk%Z82S%6f>ZDSbj*K39T?e z{3;O029Cp6`N3f2n9W2MceXyuPct`34o8M8qX)mx&ygjtWQ>9u{PlS~=Xq%4!VTE7 zDbB3bMk}8Fa1es8tY47$fi$Q2EBew?nIp<|sun)#ZzpCF&rvA#vWIhP- z%nQ`3d18)Ou3Agpqu7!~H1A5zha9&TDMy{4<_;5M+Ld}{G3CcPiQa|y*XRC8UnT$g z(7EN`n6m!MRuyJce@}H~hg`xV=MtcUl<*w~%CpN)^J8Io{pwIb%;3oL;sb@q;J859ttX*DQE1h0I z_1<>n?Mwwey=@*=g)Z@E>V3pCLn1sVXa^*5sp!hIk|$715;yXuX~O*LlNTiLmE9;z z{UPp7;og4ahZ5jbUO*n!=+27?9?pEynX4=;4+2jV;SC|xr|hclZdR++Wh2n{~VjE{eGVD;JReo78fBO}o%3w$L46I)H|@-!TWM zUZ$t^p&vNx%lM#|i-hYx-0d3pT+4Pmn4^_Wx}BvFn-8JE{tU)1`bx6f?owv?x}w~E zv35++44gFE3s=btEHru3b%jR)x%&tpz;U-a+t$1gf9avk?PGS>VR@N*xk|5}##M+t zTU3V&8C>id0s{Nbea5PAr5h=pMt%BmSCCH5C(7G%y>F@tvu&_g?gW@@#t2mWbYisl z5IVL9YN(6#5I(vvc7A(fOs5Cg#oRE{N_Z-3AFT8Az(<*+DJ!ChzoFRIe>Qu!b&34Z z(+dg=7dgp=_-9qKBwpRFK)WlRj5G~(RTcpinIsi_bXw0Uh}H*R3fcUeHT5gz zyI5h{6u}zozfE6GMQA~+$yDof#xmmLQJ)`NYj${4FOA)C%RU?EuB zC>o-vpo{B;v=@3Cst?-nS{ZyDU&E8&NLYz3JY$tbVcChl36nGU!Qe_}QN?i9`Pc13 zbSw!(kSF{?d%i1i_;I<+v*Mt!ZMyH{!=s=gMR1F}%yaP^#8O{CV((R<+2Qnc_NFVb zrN}<>@CKBJ@})Qkre%SR-3y`MSR4XRMlAQU-K?PmD)1aN6?gK z_fk?-xJ3~oq5)e6OIf0Xydun(9cy21qQn;HDuux z5K9Gl+H&rLWI;fem#IAWoXm54tjvuZ0G({NFEL>cX*xywsp8`Y^~ATrIS;liQ}WiP z8+YJ1IX-6*)I)VuN*0`fzOsHFg%h5O?{o$5$B~ze`^p@p8nu>!LG5^U6xph~@Tc%r z#@u%JmYYm?($YhZD@UgHKxv@YT}p+XDgm|oLjg_eR}2K%hRs`z1d5~2a}gNgSWacj zp7L!@cVW*IH@~>pgCpv&&%%RL=;brrw+M3$=c)slKZfpz-{`pv+C9#)ZfYt}Rjz@H zxJpfA9JzzA%W@US!HEbIKSmkZ&d#K~_F2C7?etJp6}F=Kg?IOg{{8R-LENAP#}{AW zRL{QCReQ)UtWq)?ED>13U5RR#nVa zu@B11P9Xt}{*^?bScfi%6j51US0>K^XjA7zbg&rnUmphb0J8idzx3@8zSa>{euJ0h zCWKFH?4PdhDmhdmPN@X9YU(+_NzKn52PgUs*K2hbEPPf~HaLxI@x!g=VwaPhPz!zA zFTu3&j<}S*?w$j7Fs81i*l;K|6{kV>l=7f}(~+Iuzi-*tZTjFRTkdp4DZq-`OjYD9 zI0_Gb0~tm)!jdn_6uOi+>jn7TQ^-#8^`e^!pf#Ilzlqh$O;`IJpd0$=`}PIqhiksq ziNglenE&8%Uk#CS@r^xhFv$K!<_>0gd=-wg&NmvyNZ3<`XM{oqD;t0$%gEfV-<9P& zM+ZizDA+iMe%?f+=N>qqSLfP5n1cUu2u=EaSDF`nU=ybi+d=X14s6iCYhVt}7m9X_ z#&v!F81$b5%hdxiaXIjGpNs#n#2^SwBcRX5#=?~-_F;(>3Q+V2X7m4A+hE`ZVbrTm zoXF5hpB%E72OiC+lJZN|G zg-wcY%|Ts=Oo22WMt}Rqlk2Ndl@$T%WOOuP&w!oac&o45ixNfcOJ`Pu7m_hsV#8|P z8|*BfK&~!&dBKXczMD7mu7;#y`q1*S&ab ziZfn@eBo0na=bn0XmI*AUg;1+w9_n*$ae&Z-Zenn-<3#vPJUqth7nZDeetRz>VL&@ zsIqA#k@A2MYv?LT35F0&;P7{jrxRK%%dV(;!uw{nSWkcp?HxwWq3s9Xx&9|W3<}K# zzP?~9s2<`Q!>Rx!5(^Rt)eLgDR)}R6WOu~lav(k$DP{w3cU@;y$o2E)#!`3?Kh&Ii zPl|dyA3Js=x_n2W()-}c03s|A_yOGK-GV>Fotc&8OzlPdUix|K$s7}d1OZDIB~z!9 zevub@Xnr1j= z_8Ne!qu(2UM8DK-Oy9idHS`53d{&&xHcbU$g!HybE;L*td3`YcU`Q#;lub5x#bC%c z_Uz}41Uxe%Bs+)LH9fcc>G}CLokFM6<$k=R&93f+7@7cM1<-M}nwNOEE%Z`juEcti z4x&^c_YF4k3N}}6-E5oD9~8c_>@$~E{`gjfXP7(sTTlJ&yuT1nF0Sw*npp?j2rI;R zJ=gNWQ-fA~HS%VBn1%5pzz#Mxu3xh8tYvx0(6XJq33Ygh9pqbbOh`_}W~)z8)#IITv|t8&kmMy4Tj*+@ zAN`x~#7@c#8F03Yc|W&tc#w&@D?&O4L=cnEjOuXh2(^rbcxpWnP<=Z3Uw7N5es<8} zlE%>+bakue+FRF~WPp^6qRlh(@j$ILxL8=(Lm(R&OeM9hJRuIr*AaUqDN*B;Fc zsaG8!<=SnHNCN)nv{SMmcMy%VBR8I1Lfbx%#;moL?+BY9lf-;!=WtyfZ%^P?;fc55 z>~ich1|e$*ZUmmMy_JS=NuY@qA#o=*=e8xvQSz#en)g40I9R5`RHK!X=rS2dnj^89 zpxH)%e;j$unvw0obk$vXu!HF+=O(7*p3mw))DTu3fBUtk-3imKt!$65#X!%egWZOA z;I(-2`bUsoyAZ^<^mw+8nUf5^a2MI1_4pIKs79iWPNBhrbCc;WjgoA;z{J@(zrY)V z*OqTL0LkdO(S1Z7O;r6^`0Q&P6y6>EJ|9>F3_b+xx9KFmgUQbnXM94KH}u&D;q-_O zlsv~VvDHX{KrJ4it=)RMH=2-mB@E5j48O;}TwY^n_q=4I#Z_QB`8~poeU~T*aNF_a zbtHCAutLg{GO5og!|3}hB07Pm|EN%Q;I>f6!HeO7p!u~Z^Atq9teT_>bB=WXTI4j8Zr~AK`Cgd`FPlaT|@oMhCY(U)Rz)0!K zEQ-Nai7J@GBLd(kschD`Rc_+_0+;UEz@SD|m$8&UQGQDJ9Ub}gJ*JNt1!JWl_5hDF zaZLd0VWU(_@8jgu-6Wf#cWf{!$!p>;{piv4^=pCiRq4dG$P9j+JtsaW7(s2)J8GhS-TwrjJ zc9ThJ$)rANk}66*bFWp?eH;rrTtn2ovkxU z^50uSVWfy59UMk=MPrR~{SP^HHN;MJfP{M)U9;s^RF4`{T)BdS@!639O*oiSnnEzMZ`kF3g{I%ZJ~_NCWky5^S_OH^FQtsd~Qr zUMK~tToR$x5VuscEag&bV3rFC3zRzsw2+yghv2WSjzLbQfF0+?xJql`OuZG3{FI^H z;%7J004wo2H0N@Np)Zicz%8F(9JRIW2Tv%fju83%?Vv8QXc{iQ^*|V$JXFrQ@h&%_ z8ryw0`noQ(2KOJ0bKd9W1qJ>uEuY(j4qD&(vo?`mF1F^Gem`|VEO;{2IAo}81|!Jh z5Q5QET-!b{!i*@(&u8P_$g5GG|2rp#+W;m?)_Q<%LbvwE@kTu%JvpEF;MGf3tfu<- zSmgkAqhVjzr*r@h$QPFZuRV*^$c3huhrD7`5$@AL{2r!*YLze3w0mBMd4=JpY_Lt; zU6I`KJUAPV7+=_VCd|^iFou{Wf93Tdo1i#yEJwJ733e16GO4>pER$+BHLL%U(ZryY zT~7;u1?yC_Owh)OPuTEVnC>Eeq}RdH!iDmafObRvCS}M~VVg~s*9jdvB2byel6r$? zYWeafZ6H#8)lW-Hh!IXD#g`%yO6og;mMC2fe^rRAKMwoWogR#aI_UeUCD`<*0w4RsST#`(~mOP9pd_ngTu6K zG~Ma7T)*)vM6s@m20x}I24)2bS3-$Oigszx&0$n+(~(QqQ%Up3^}*@+u<=M}yh}zqxb{=KD*BZ=-_?0I-s2 z#!+b9+R0Z;^oGybd! z@)1Phyfeg|lYON11l*>Ai1t;bt7fJ1u@FsG*zN#Awe9U!bbq zOhou`ad&I^p;oR^AqlW?QEW8gG#av>C^(7BX@yrJTthm&h?KKr210i$X5TZcAD)dB zK^uB0n0wdBZPS9aAZl@1Cj^fj*N!e6zq%2S8L+#ur!&5Ilnx*RR)X}>gPq|{8Nil( z#EK^zY;|-B2OA{^&pUL)UEw#qZsSK1PbJB??i=fS6(9c;q;mCQyT68|W-anp{0ORyqP*Hk=^7kh&{ zm|$kxnz*F$%wtem8Ewb(uvg7Zpfj$~mz8q8!kJ50fLo6KgzgTMsxJE4TmPE-Ep0 z@Hi8N`nhk{Xq;>&Qf#+&8u#5sKfvrt71y^(MI3_^cTXVt-umvXcU%w*zpeO1TCR4h z?F}Sr^1X9>A`aP~J?@N53 zZ;;$r+Ib?1&vtyN(y!`^wCy-Di8)<#;?nriuR?-Pn+5f}e;s?-fir)PyrX2~Btc$l zXCvV_rD!>CBLL~88$$w`&-hV~JJ2s)>+0Vx#@yO(P`O8eG;w};WqDtRP}91t&2pGa z$4~SBNJ&SqeMPb&2%&+5X%l-`E2pN&$R|IdhKjv{!6>Q~9TU9<7}Qjaq%Bd-rdL zW6FBxE<`Jo^&l^>gjaZ%w`diupC_lP#U59|TFyCmK&i&!&#Om=_GW26<%-ynGW3q) z`i{AqWqGK*z`8FHwrC%HmnGLA?Mi9KI8FMgK=7SSy>b++I2auVNt-I$(SoWYx)c)| z<)C0Voo+L~(ckB@c?QD6FF%Sk1^VCwtHX~+Vj`_XxTqgiwM)Pr7d=HCaFIvsfwh&f z8IA|rHqgm03k9oH6atY``UI?o4$!UvVtW=fr(Z`Q#1x*4;Ul9FMI&&9c!`3YGkzlV4(i^S^~AQUzw;+DDHK zbrq`_x|x#vG!=E@26b6L^n4n&ljS&b)D8E*VkKv7MW^gTFwsx%FUY+-St6~t%sUo{ zK9-k&@Xpj`j6S5*wER!3;U&#R9t4#Lt!0UkmTC{o&t4{5$gk1{Irp3APfV-4AKw5^ zL}~J`izj#9HM_%!9kakn(8SInpSkgj??^3T%t$nAM65)*DpMOu2=7FKU~0z`g$|&s zTm38yHf~a-z9X}+dD_dn2~H9RzD~~i@wvKBpvgF~e0!~o{D~wqW{euVbe_pRb05ZC z`IuXy{F+n!~VW90{(@ zeVgi9c$zSYFWa#AzO4n+U3zg|u1)&qi9y`ujJY)PrJL#1cy2LBkMO$}T`@|PulYJi z9&;~w^yHcC_^wZa=2N-RkkW>nWM_uH{HpZdA)7YDIUvD2iNOXACDM^7 zTO*YnbEq&7)5ZUvO8vjnUY|?vRj=u6noFte0&6Ks8z_7g5P`CgnkS26o!pn4k zs6Y5s5dG54;#V#$?DI2{9nU^WWn@WQX|VnCOqXF>cvljeStOW6-DJYathO~@Pa(Ex zT4NGf%-K-J0_x+*uqAOK+$$B7WA4-kmnSpjddbVUTj=g;-Wz#wFhy=X6$GpH7YzCJ zSd_~@1H`LzIL@te^YhV&0%!zC2rN(FNnyKPcT=D#Zv&SEZwa4amdE&BIEq}_yd46) z&ow_HolFkn+g@=Ob3rrwfx4HWxshW6DA^c_>*gS`mmLA~=1TfM^IP1W1aYRvf^>)1 z9PX+sW0_W*9Ung+CmHSZ@ak2B4FNb59b2BO(+L6U>R z;4gud+gJ~*HWKI9*hhx1L`)zwkkh0*Muv&?+4GQ_UAKqc{08i{WOo1o5g!MDVsIpL-F!z&6vlsTbGG%O_TW~Le z`ZFlUZw!%wL+IDipVkb%HSdS)8};IH9jD)o)%Bke*mD)lQSlF_z^G1r+wxr!WQKPq z9uGoE^SKBCgg*oyC8wgwFXuTXbyA=VZ}%B(Oag!Y2totLj8JL37$$+ZiNH$@D((*0 zk(eY#Y-9yveDO#iM%=?gnf67q0I9d2ihT6TRG8F&7{Yoay?R!uY$cKYQ&CXho7y%g z^N%xwQEz`a{V4M;v=G(Bb03npIZa6smkQ1L&Fs3!R19jAC(7|dnkfi3AL6{H?E=i4 zOK}a&51Z0~JU7JPBXp1^=d@p~yNp!_HkB?Y5A{!MfS@>> z2YnkQWYMGPbVf!1y&Opi8&0>}jgokS{kQeB6XFxn(TG#Owl+i3jGfql2sEtGil2?8 z8on_VaY={CHs`mVkRLePv07b}?TIvD15>B4E%+kFX#3>DFSLk_7)0_eB}Dw(U157k zXX2p%X&_5evX0xmWk!^C=CikpUh3mdPnznbeo-NnvC92XY+98u;&DUk9d$MzmeOAC z3h9Yg`dgt${_Hr=o%ni)63jwCZ{!SI{OZa*)8R$y&193;Al`5SV8|) zS2{IN%mW@sE6S3q2!;n};mA zZU}7c+_^dl;NGlTsCppKwdU%AomB_tU5!nR|8C}LH`Wi__flA4?*(oSv$$FiEk3?~ z_${E1%+vR8Gn8-Wu@h+scHIdA0HV491z%A-7rb7Zr7<`X@Ca%C1GP~kM}+EvBnN^> z+k0bn1hFuE-fSiY8(EElG+j&HYS=M5l` zG^tmtJaU;-^FEZ0`73k<=|%-z&C})keO#GhbOLW{83l#-ofSnsO&tAqbU0Z4tTYNR z8>{d;=2`t%G*KOiy^(keRQS6l{KqFs)G^}!;8t{yDlfyNHkUCg2w?dPwuAg4GHo#4 z*Tj#~lP>2Kq2Ld?HU18mV4{K8g>+!(24ENg3)0SN3cepZ%8R*(d&nl`kmGQ0DQnN; zwsLV3{8{G>X)O@iO^phg?Z)OHPHeJ2q1vu!{1Jl)m0C0=`0aEBcRJ}8nN!GxJ`z@5 zIjJY_rZ)P$MHkHk!{&>dXNGFOhnmnUTgEzuUFlnBMsF;2!Jjg->8bOi@>Be3pstIO zSoHbnS%7CN#vQ&Oim9Z>_hG((!Mt)9f&OK|L3V`a<=0jD!QHjN!b{g^L&pCttW8jzTd^5dL-Li6CIotu8tZ5R zRqSao2o+h=_MaHGNDSq_J;=|sF~Z3sk8{QOBk=?_uQ>ZCetmVriOQe66X~Z#gRqBb z4n#8ZBBQAYO!urRw#?PDU0Q6^-KAhmc-VyR_kH17oM|spwU4RK{cCjCCtLNX{Zg0X zCA|YDimR9HUow+kDm$n2YH!?10XMj($r%Ig2apkG1m(p=0Bu({>4w9;9ykUou00DNkoKZp!iI3-W_u1|7-_a4AQ?L%Rzr<(Asfenueqrtv zc=H0EUk|wIbc6K7{6LC3+L!2iMD)$GWb)jEY(6A3lgvU3&mgS8z!^bdY78I_D-VbM zuNr?j0`?)k>63|Mg#az_bH87{U~~a`q+z(3l8nwTnALprUzoowFk1&qiJar_d8rg7 zgIE{~s&2uvxuJ@{AiF!AM|2$@u)E62bV!l$6opIjt&D2>+CF`YvcnPLuwik(kPb#7 zG)q#ZJv6okv@?OQdpti*&o6vSFjbBSrLrz9{Tr4m&w*noT3R^#iw6%6)Vr90o8~j$ z3~SI52O+x-C}+oydh8I0Tu!&Qx@8|JXRJgYfJayt?JO0CixBAc0s{2H)1lY{!M+;M zfVlphPqG|B60zhDCkmNN0qbX0`p#;ke|`XrabS!+M(ud>yx|{^mzT%l-E7-c?Vi5E zwoe*0e_hVvKV#B%@ox6O& zk*J0+&C1!j7qXRxv-qlUFZL>?YaVwT7%%ep&bIw76rj#oICnV&vw(oTU7^NfXxt3x z+&#fie8F4FpjN)iAnt0Yr@bOM<|LkQuRZBcQeKhY6Xq^KbIj>Hd{6~b(TP}x@Yw!Q zdC>CEu}h+>J%_e;C~N0*>ic##q#PNY>Ui}|`+ZpqQW0qvwL0>=4+IEZ2OdR>^7IpPWcCzsV#g4t;F}&N~MXraMidk+Lf#2(BFA8mBN)QrG zN5FuHV=d5Q(pd#;qj8^5^k<{@WJ~NRR&v6*=z3dKd~~bA2l|}$j|7t6r$!;;sn!k% z%ZY0cCyONI1#wd$Q6ZW(R6=03RkcAcI#r(h5%1Q%O?0b5hhBNVl%s0VSlF>=JmSn8 zNfE)NPKuyjD>>9FbLEPo%r*zAaRH`y|2%KoZY0cdC{I{S?7+ZKZv}| zo|@eM|2CsDJk@9YKD`KqHa#uzc21{afwtH0Crni?XZskghLc>6Gu$@u_A;TyPh8}5 zs5Xl#_DD0)UVT*ZJt>J6kup<;sG3UseoA&>+q`N7yR7%Z)=6N+m72A{mWLXv*ZzuIgHT3^WRVx#F*D&@3X z0Z3~Ibk}7qSRqx>&8Ef%9%z@~y2)#!#U#X#>g_ng+Ft!8oCF*tBw*huhL9&hH+zL{>ZjhXG~?d*K60| zbAR*<#LActWX!1{3zzeUWQ+?hQ2Z0#%vFjA*7ypO)U)V`Ed9J%K>NXw-d5K_ueZcq z9%#U$36Nps4FAy>&Tlp;9|FDYv^=L~BU;V;-(EKY;wwxCwd=IjD{OiWQqhNrAXhEa zxKPN{U*B?4#%eIp*EiVSjmXbdhOGE>-5Jf|N>x>rRSgGl#M#&V$0j4BBT5wk$rYZI zTjM>yS6|~xxM5_FhuZ4kR=q;~%Wn!KWYJ%^a)%hemv7LoJKN}};Ne^sZzB6Las5^1u4Fp}UsW-v zN}eoC8v1{|C5?wFj!3FFHLBt1P4PB;FXHNFyV;U5Xs;O6k!WR^+zCZorrvCx>u(Pb z+(xT|%M^5s57|V)#o{JG0+J0Tq0TjMVzc`L5q;oVcZa(TKBx1$u(P&GAV4kA!cWXL z-sW{Je|jC*Sd{m+?V2JRnY%@TDcZX39o)vZ9W;H zC5{}L6-yxW>a1a5bEi#RwW!lTiu2GFr8+_g`P=&EXW*7^R*6!8eE{wmUzFlL$z6PrkNa@Hcjas!^>u)L`THm zVM)LO!GTJFxurZ}NHP`TB&p<~Iq4G4m{lHzZ%Y9lgLsubfqkXROEX9Kg^GB9JN2S< zLspYj6M%g0y{PJi4I@7!?MUXQhFIZj@O)xQhkYOnE~dk=c-Cpl`$h8>gRg$Q_RzQt z@3`1*p==U@3%V3X1&OjNFI{OHN(3K?GtoFjBQyGVlKOv`B#gKq?a^it*Po$HaSy1y zyEhyEt`Y`-GRp@g{a1PVl@s)Dbj#liY z<_A0ER`|=T7#vOoo9))b=a-_db-VcTj*FY7aKLBlms*J$WcA-l80#mWFd$snBnrFj zbwMj$B&vSl>e~gyQvrmDfU!!KHF)X0v&NJcoV2a;lEP!F6py7xJute~hrYgyj%&B0 zkNUHQIb1);)g+3zqHc&~w=Jy6@j_!Ae68mo+$%zyF5 zJ40nZ8+q_6mrQQ5>m&vNf=JoIC_KJdJ>9LtWxW-Cs_j(e?CSI=gkF6X3bOZO$;I;O z-fnU0Gmtm7K1J(0W|7R)pwYs(29^=r|Hai;M#Z@-T?aBqAh<(t_u%gC5Znpw?i$=7 zxI+TL3GVLh5Zv8e1{mO*6ZTCGPG{It^v_JAO4gUkyBwK6`3E-hL`qi$3hY>PjeoPqi4vF}j{XoYvJrx}I-T|kG|z2GVaIHce9P59!d zYA*9H%fTNSLXd_~7W|=4Fy5~O*ev-tGmEO!rq9?Bw*6|(DGH|yWnykd%q{RuE-cea zZx-D?!s;j@_g!H%R2%v}fl(*dtj-U#$X`4UVL%z2o@NRtgJsqbA$1Rt8}v};6;D69 z{&Ty;NBGN=(+m!t(NQbE`7p^9#Q2jE*AL4$0;h+xer8+Uag4WZ5?rnuXzpPSn{eN- z1Gk=>M_wlu_j)<>p1it}`ezu9;;(Xw3)@$y&++yHQ5d*U&Y6_1b+oc&C|yfW937|n zX2brh!L8gECCeTmC<*a1r!wK_o}y z4FN6s{oO4^;~zaf7W8J-+DeseyIXw;|7d_aUuubWsGv2>a4+ zLS?%C!l6-;h564RQDUIzZtZVd%X8@k95v2l6*Eb^5}<8t0HIhHPYA2e8rEpExw)n1 z1f^WyRUMSRR6XB%cDbO%ygF+4cIfN$OI6QHQswHCHCCyuwplyc;t6&@6A(?W;XCtW zAKt)27cuH+)Y(_a!lu*+;UMl&V+kT&S!FP0_U&ess!?Xu?6VLJS zJ=m!w8Tw2PC{+RkP6mrTzFZ2dj9@{bQL5v_w~I|A}veRxUZ&U+QwNrlkEv6;^LrY9{M{cKXk@Yp6or zq^&(+71T7S^!r zr?HS{`=FD803E{)9UbE_x{;;7Pp<|Npvd0Bbip@PMCGK*w7zPQjIZIhN50a&?t%m23Cy##>RVH9Cn;MDmlUptmODznCk;&(p< zu^hd`ElXLFLZFGW8TGE7<*!D|H==!PfVWYIeh4wtO?U zGWVSV?)hU4H^QMR1rkJqOB<|Qr=y~OouT-NNPHzzs}rFbs3Z^>vBc#-X1UUg4ZY}O zM$$W!Km9U)A~ElL+wPLIYbiAL++-nk4NilhQxF&fP95v8mTgS6t*T8>5b>Hih`Wc^36kk82Ar8xeV{i zrYix-@F-jmNHajVc9+|*lX9Vd@{8KnPXD(OpoV7!#Z4^>zn$BYT$&?~U~|>8*4r+4 zVgAjb9JsFQi-WR%-1tvU`m=Ep5D-XY!&z&Q`Sskr7}PIi(Pot6w0-$z>`LcF7bLdHp-aR@%ab zg?a6*zGSE2aCqOiRj)GKdbLS8JR4lTS~WNkJ$rMfF@6jGo)s~U0r*u9Tn2M?yGYu- z`c)wMUiL=6uc&12VqlLn-_mBo@3=$$!Wq$bO0=Pz3T7nfT6N6osW~U$%G}vHZ}doN zxG{NQ={>O_%0OICRAa;={ zPvzRicY2R`W?G1?d%bzPrs+jum7SA+WeV^|CyOLl9=5H&G>L(Qm*IOu-h$_q>Juk- z_poy1#iOd~2WY!yF9tj45z;ap zxs_O!xZ63vf3}1j<~7u7BPtlh{da6ogj9$U)CS4<7|l#EE@!3LwPv!f@HY!H&Y&&% zv$y)kC{g0)q2iM=RejIsJ+NXH+k|`d9)erT^Cl5m;qPrdp;jJZ$+zRs%>!TbA>E%T z9%kmhSy}A$2{Ju}AghLerAA4NnQ{{9U zT>AR`Jza7q`5i49V=~G%0j@H~KmO3^2&*WvoH{V;jU2Gc_B|h9X+dDgQM_l>Zz>~e zOpP-$r@3U?obqoMlHS+^fWjOG8f*@n>$z?MU;9p?Y|z}0&XVZRF2Rk&M+A1KRcwAt zlmODiil;vPc)$3q^UUQ?kF9fA)mnY0tg;Daz8Es^AP1e8Z8V@a`omQ19G8cSb=lpc zw)jcV+c(A>)CJJwl_Y@1IZ-Igd*n^(LE-R_(xio6x=p!UYekAmU3Fr2V)JIXKhf^+}rz^F^xgTVw~K~ zvg%hCFXG{}U==%4=Kd0=^F#5ILt$F@jL;)+&uj1bg9nz@kO0C3`m>Y0fpk1 zHc`2o^;3!Y-0oXWmdFfW$gfK#Gi1Lku6?-ZDd%SHU%E`coc86en$yPaI)aH~BRXh( zZCSfA-)vKmK$5<c}ZWp{0Z`tjbX!p zMg4$;E#V$LW1iyaPLf2g{>+$v3QFBq{dY|h>l<%4!#chTh~`L&{zU$4(qYVth2q^fTbXy@0JcU7;F&1xPJN7+?ws$jdyf(+#yqYo@-gt(ayvw}@a{HeaB)f$Y@_?x zI}L|V-}n7>?(9Y(e;0OWNVHl#OTuu$KpPhzDASt|6# zqQM{EJ}HB=kBHN^5tc6BVpT1z*xu>#l37D16WuO(fwK*F_ZRO!*#+J|5XOh~xFVeN zUai#horL@onaV1!O04_q+Z0WOZx}Zhj>X6zd-i6rzxR*I9}_%`p2cCEYsO_d1ty+u zO{>z?jiu)_Fj`O8WHs2GEvj)ja555T)qC0fp@r)*g>8EIT@K~sX`FWeaD>z8x^JEC zwqfWDQj@SyBdmj99_h|{=EuB8?91Ir{?JlsPeFKMa@sxhTG%DbmEkyk;5e24FB0Um zGI>3ct*e9XX*2x|(;<%Vge2y@9{iP1Cie4S)233;ky*R8`)g!HTnO}k;^8|;BbXSK zVNE}w6$gcU>pBXe?2Pzd{>n@(Olr2}R%Z4~w^V>>Nl3>?=WBoLf)EDBMtnTe$32)U2IRChvLbBlJ z%9c=xeqML02K(e}LWY2hG&wV7XcY}ln%Is)Er0+&%c{u#8YuXVcLp%-n>-#*deBt-N&ZNOfn7XFS@2eeaZO`Dr(e8jY4*(K*YGaJgCOBYsD4gH=@b z=Ml3J-zCK9i-WISsL5zr2(ir*AQemwkAntJa6$9S=qK0T1&u!&`01}OYD}1B&l%~@ zjY~I-hNso@qP~p6GcwL@^&}~Gr0l8(pbd;%@(bnzyk!wT$s2v9x5-33MP<&gTZ|Qk z{jETP5!$q!U%ecC*7QaT98Te<1DY-X!oK&9d-9^1u1(W7Xp83hF8iBKa@XToD4O7Q zTkUZYLta54KrKixetb(S!~eZpR?9Jp)bLmc;)!9|1|Eh^wlkBCPOJ^Z>Pp8JrN)2o zQyIWNBf7juV?`A0hZmP{C9B{LJrY6Lye_6323nr*g>)vN+`smY%0KuW(N^>MtGvEK zCRq07>N7QN+CcL*{DntM`n(FLA&aCw{mULKBR9HsKQUAp>>{s{ zBa_Cnk(*pF;|P1+O;`{`$(*5U`1R+d630iLIiGTmi*I2a%gZk<|`le!0I-w>+b z?eplWv;+my>;=bCoE(nP9Y!grZY_0Jsk@eH0V?Pek z7FBeU_`or%Peoqq;|nRYKTmf4;)A2H?ONtxR#WZmCz0OuXXyJ90EXXN=w~f605hS& z^~NqVl98pM%bjGgKP+<)UxS4|p37TAW#m96Hkm@grekiAygt?6A%d3=vV39F+9<3a z3TZG!uWh88}vzt59#v zx@`HFjJUB{cQwW$!obZW;w;uo zt(Zn2#elte_qiQN>+?ZLH79YmVo-&NfpQ1xt{$juqX@9GRf?A}_KN_;dS&3twDF;3 z+*m4nK1$AEtpPu?`*2G12JaPm>wIvqB=6Vzq)s&A4Os*T&T_}={K#K8y~a6SP*`0B zQMr@h%8BDeiit2h|G}~bP_RHMTC?!OhN_B5$M561TTW&c+LxajSC<-mjn-%3&`+!4 z6^VgW_7=wfvgz(!rf*9}gXuE^U{?JCuQ_LYnAVxgH7}*Tvo@5JD)0Gr$Q0@4;QAlzWTOumVKZ z!~NZw=~5k? zW|q3@1!0RZjV(Qu$J8`kwn8~Ka>oba`=hnxbYxtW`XW1~wpU(He*+Kl7X|!cHl(Oj zW4X>bVJd%0$!~d6sg})GE(9^7?w4`ZVMLf+fTpqL#(}3c1&$w0Eh%CrKb8K0w;M_T z`+T+opZXM-lfX^tyFAxMyB5|C_mwQxUYL2#_Lb6mG0k8MFo1+K9uxjo4tob_*3nv{ zW3{%D-3TOCt~hm@I}<_lOlz%AAH5^JP&;su%n&$eyOP@{)i;mqpxehqWue8M^xg+o zl#t21xZxZ(e%R=JvDNP3F8hbFx`M6EVbt42;WK!eW9wVDBjI%P@?t!86SmJkEGF&X zXy)NC6%sx{S|xY($7HdnALVVQMsE@X#G&@=P9W4x+7P+H!oA&cfH4%~IP<4n(awKM z8X6fYfyg>{(q-B8$Kd0jH-Y5Nc>C})O@!hy@yskoZDl;E@;-whWb$mtqaAp}v?}MIE zrU`yJqHM;r{wX;3n4fpcE)AvherAThD!l`IXpfUSDSfXQdHP6F>(v?};V5(ikm)cy zDq-1M5lqIoK!A03TtO9BU)))?f6+M?*Z`0h1;1;VT`A)O-`FTYCyf~Br9J3lEmU|> zj(Qi*q>G6Gl~R=GbyB-{YMiy22q=0`vsZtpH4V(i`DCGn0r6J&D<65MS-0%iBbGz8 zq0H<|5d4-gW{Rgg2SyhrHEzc^a6ZWVj)5V|g=aRreKx$oTs|BXB>Us7SOzofnfq#V z*yoSdT{d)BUK|9hMz?Na?*AnMV&ygx^f?!2Sd*Sx+iLk(os8`R^8pq~pHW7Ch#Q&7 z(gmi(k2>Bf5xX}5T>Spt%L@Q(>vc@{OWX3>9+#9hXJF#09o(WX9q2Cp7ds#a0>w{B z7oKj0G0qoi$qs0V0e#B>+j&*jE%eBIDzuKA74VobSt`_QS?!Egx*i$FLV1zz#y$oz zIYIARKLk9zrZB@LuUbega!Vng+K)(GCX^^r0^{9W=$1E!1e8on+dT^9MYphFOz z$S{Pn&Vn1vj!E3v>{CZD7y;@zO?yTEOQwGV5J~1*?b@tOYd@fTre#aOw@(|` zuUPl*?b#r!hrh&9lBDw^53=)c;LQ<(C5hHygj-fWlc`3&M6~%#Zeu}vl>VZA89439$Dfyo)Nars&)ItEg z&MT{eN#&}drB{EB;a09Mc$j>-@?OcD5ctB&F?QKi?qWc^qQENRRF#w@Mz8L>TuNX=4R zD%HBQpboy9O%Sg!Uv)Y1AK_i;8jD!@5(_IthUoY)Q1tQh-Rg;4E%9|WH<`)@_`$(g zNo@|=KTR%W$k{HD+7bTV9^mPx1cqNEsjeR;?(9Ftc?20a(KP!w-B=K*5(6z1=Xw8B z7yqq{vb`V&*3Z_ySe)AGA$XI^fc!^Iy)K_y;I-F@SNNT0W~hiu>UZXeAXjZ3XaOiD zIYHH=xpphK7jnk?L@(@d9(`?rOnH)W>Vr=aRfi_So(LG8Q8q?#bsUxA9~9&~pWd1} z4*Sk+&}>29M9jHwc%DE^6FRom zv{|;ePzBbqN-E=Q`w&*|qj6iB3dYNl8 z#_HAgWK<82K8Ep2`z~MpMAhQIzMe7ufG0}G_-IX1Kcn2@J2WfY{g@9%(DCn9GOgM5 z7EpENqXY)fQZ4n~4eBnp8xbb6F83ISLhaA&5pi4~(mlGp$KoCcDSchc7cmt*p9uXv zbNhS0{5=5te2)1&&S^+qR(g4+`O%n5Cf9~^zG~UWX4LJq>0=ht&7ZLE6~+XT;kqIP z>~NL;&a8ClUj)o^w<~N82B8xmT3v0$x)+&rZ{OdA0FR#|WjTn?ZiucDm3+XwixL6d z3pl_^3<*TiYiLWy-}JVLj%r6#^^~W0=n-?M_Uf-F?eP1xHH|LOHu^V4)Lj)d;N;pl z_GGxXhU*)If|203Y}=hCH2>7^;voXX{qs}MRNh5FZ`RdAEB`?TRT7&Y>`Fqz= zChd9~R*(vlCACAC|3pM?slzZOz3$C~p+PJ4wtaSC09O=VQ=AUx!!-m2lf2V$0a zA^7@^d02rSM$=0d-mc$havzpu$d+~JI=-l}fFHtI+?m~b{nWQUuvzYq)MQXz@##)0wt^Cs%HO!lr^5d0p#z~{AE8Nw@m z1@(?UK03kcZ;Ecy|MkA&${iF~I|;{cQUuONG{z_aKP@_!(`4>zSGC_xrbRlT0P%axxt0aJ;Du1pH`V!R@q4d0y0OXKo;KvtnI99wI_5qu zWN^i5_)IUIklCJ(H!bM(S(?CY7R4a7aIa>Ua151EyU3kCD^yH4(kXlkqV?%b&qmdF z1;|@xUnRMZu=+MM35?12h7mfE0L)@19g0PFD9CLW&4x@dT|G0-qFUQ-s;=h?BS?Kg zlVQ5Kxm7PsM<{=c!6dnO9Q1N19G~=*s)<5X6>C_P?YW0V-Jw< z2d6Z?^rjQ=yUJ#Ad$y(pnnr?&KNg)e^9S;c^6{9|r=J=ocSE|p>T2ge8`#(ajLI*l64NtZGh}}952#aaBUk3gS8iAYclx)4 zEM>vyBbyXb#56DC?!|6v{$3!rjrA+}ZEID%F*L7MEL@1$h4OpW`z+Qf0qWjni|Azm6sKSpBN=kcVTHr=oJDUl2bB(m!4vJr?Yv|ah?aE_&SaVC@ zU=Q{d!nZru&v)AW6bb-?syF=?>|q`8daw%8Ae$!;#<70rS(FT%veniu$2D5mG!}Ak zY|RxcL3r#I{FZYSwl2Ox?vUfP_~|d-1bl81?mDK54wFwo#t~fESQ@{NyE_day_^?^ z?O38M+SN%RB5bk-7yvkCvuazGZz*IUDK`I|(=5<9oevamZ|9LRso9_0|LxK^=R%CX}nN&iwv6i|K)@jK?Erq3J{#yMdBvl=Yo8_KUY z(-H|(FRX0aFu9G2gVkiPO)`A4$A;T86g?M9Xe#yVvC=~~pJud*pTWcib$oiv{|1Uq z7LkpU6gdyq`kM16v|ud5p!L~BANFf66dyN|Ol#4T)86XxZf_L15cLYaPi11DK4h#U z3V;?Uw~|-5)I!X+RSMb9fkXY9{nowuiF-!t0iX6QLMEq}#xg!_$IKX6S){1P>gR{zD~V)BJ6|kiEl{v4t|t@wp*3D9gPbUO-!cqX-$~{9twV zmxow|byoS+edlqC#_ht#Fa)$OOpOM+Sy8w0@nhuXAu!+g%&N(bo9+g+E_zx zSz}y1esV=3TOYBwWSIEPDV@By@~*Hw)uNOjgK8(f>{a{~BURpIf&!?2D9-rhg#F{bHN-!8c3P7On%n3G5evmb~ys`#nuHSjBK2JUvrV+FjZ96mUj5G zTmpO~*ilH|L^e4Dobc$1jbHASIJ}^na1GytHJkwgCW6JSZQskuD%h=B;^y!eg0wq$ zcir}eLb{H~;D2ie%19w$5I^DT5Z)?XFY`ybZR~9#oZUum!tR8RlhS0@KL~V-51AcO zWE-F6WlL341M-5!84VZhHPZDCn@^p+@$ebcDz2HP3>a2Jx~YL?_DKKq5nf~{I{*p`AEF6 z&T=`0hA-0J$7BBOysO9!$+f+OGvMc7YhYL@o_+UX54$Xvto>6bE9bKf$G1hyZc^4% zwK5n5VXad@__Vx?sA<(>G|CsTeJLDETw0TA=lL+#^fV*cSc6pWDA@g)THkANBhvyN z_FMIe^x0N&hy2b5l|43a9;|$M=Y7>6ArPLC{+jIdD#DAi1)<81Je3lbsJA)sJ&I3)7wejP2ApBMK}E;htGL@a&hul7{{xvqw2s z(K0`jFM&WFW=4lBFpayBM%?-AmkzPsE}o?1Tz-+xn{^dSs%20R61&N8lsPubjZlKG zFX@e*q_evXjwzsZIomc%@v_#9Z-0aw7j$TqIl!OrFrSX~2K2`#lndK2F{Ha9+{h7^ z`hO&`(w*D+P+r~L`>@uS>Rf>798@!nnLhya|HG>q0OITQ_wpY)%U3<4?FYT5fpx&= zKA1`eZ4VneWcUrlT67d2{4+n&?EoNcvo!;7ng`sNn8}BhIu_cp(-`XqSI(M}OcOGn z^hvLV3Q*)N?I(?p&`=c*!fqM&XOx9Dn}n(ewE8RNLQ`Yq76C7_W%kx_oPy0G zB|nlC>i?-NTqHKk{EoM>2m6_+RthVjefelqWS2A`?%Sq4f0U283l0FC@V5pgBKWcrtSt))|FHy$~Nto>~ff*mqa{_tF{$VRL|&<~Upq%=N% zucqtq{=5Y!1yvNkU#EeSGhqB<2blvLv&t$kf5ki_enBKKM(hnXq-^)|a4?AD7Lh61 zxKtJDf|QqW6z;Y?UYwZlxn2`K22k6x9ae+V(HnqjIdkr>e(;J+UJ=M0Dw}pN3F6-!3Px ztp}-tb|X6Cp&$18JEo__SNjIlA=lk)QnmNdNaSkV0}r9G-(IfQ$SRkd7@Zp-h$?ep4HD(FLH#|4 z&xd30t$N{rbjRbHSX*IkiyUSJ>1I5(@~p1%?0EVspkImVh_fa^mEiRSLn{*d3;d9! zR_}7J?!+fJ_9tYQz4hE*_sR?rdiF|FKgMVVNXKX`e$X=l);r(Pb6K?q2;BQw>0W2( zKZGvl`|7d?>57!4DSwAj`rj3D*MWSoQ3m?sEd=GZ)SV?{G2HT0)vQW;y+BPL?a#>d zw2yGji;;E&-gezHBHUnGapC}M`+D`My=3+gwkle^8Y%4dgsU|Er_XM5px!6YV1X zJM3ecD?u6YVtp0C=P?tcYz57kEKbsk|Wy&@}=9$IDG>WG5w5|PF1VVOo&(w`CIi?*Qi?;=hZ@b$|~#=7K| zD4h$(QX^0(=L&S_V2Mma8P1S|^vh^8<9&ul;x7pkk0d#iTTR9ubG;b32OYI>`84TW zogDh;=SBgx=UWFOejENIP&0pg#kbsQTwQYZmM3C`h#7$4|T&w%lWl_@x$}{I`Ebd zZT;AaxfZY7s@h(Q>UYugUohmqAKQ7~KFg+ZF%>h|!dJ|}$oypq5qD0Th)J-gJ(Sv) zE)b|Ky5GrH`To(A>2a`cU63wCeYYili`hn|0eo3Qzj_-K2AMc85jb3!#=r4h%(04ojzn!4gUshw~4$Xr$dQn6R|XLJ~g zb*#56bITchp10zLGOcBCN#0ec^Kw1tpI9P4@G9rYLa8|WlA zel>JxFECH3+N$L`@(o2ed{?QJs#;HTM!Q|BbVH2P?+AU|B~R8bxJqCm={*l*UF`j6 z&~=ki1HL6r<(m3~+ojj!a6dYB{b}$tdS6`pgap5yk@7zO^l8VO?kDfxlD|$T$&G`K zGXhqG29|sXyR7v{S(>>HZ4|=CNktT2IjHAvy`E*h^xYM(ozNU+8qc}Xl6V5%bql+2 zAK@htBUSMUz?AN>><+TkWWJoRhjAxIFS39%;{MytE05%QluiSHNaj2$hZ%w?LM=s6hhraeAB+!n72c zj?;Kj8#+0=6xuPIlywc)6q(f?n>%J6o(wXN(b^N$W$>%qTrkvLTqddYt1{9R5DUsvjFp94dojEU;HY=7RDB!N?pJ?SS9QnV*K?m)XSSOg1<7z$8V1!Y}4e zU4yzaPZxzc%$t{1KUWj-N*AeNYlkpJ?Xg4M79|SDqaB;>+l;cf*t=w@mXURMsmqe^ z>u_&2Da+!1kGD-^5BV;x;wf-Xm-H1C@dGEbdWiSfwok0&&9mL&d@MGPaZKZ(|FbJe z(@yhDKn6~jj=m4OYfUf}_1^xiQgNY+70+@U_Ff(SGYM@ZO`>Q#s=CM&0Aps^YduJg{)#Fh^3 z(4*Oy+uFFL$jy@~yYV%Cxg_vTg9FgqWQ7A9vo`R6CG5=lerANsS@ou%cGk%0SLBDe zVSv0YS#syCCQZdj=!fa~T(YOO82TQ{H6OH3R-7wtQ$IJWEvNo}g!%` zePqvJvxgrgG@ffn`DMp}Fo1EogigwXbgoMFLz+bC9=ZLNgJj}txM8xL86${VnW%s| z)c+ef62pVT#=;M8A~-XMDb53{hYFc5q%d+8*JGPJy~r4vpC|$EWC%po@P2$mPh^}m z5y-;f=ok6&E=Fs`bEUQzPhz2zn~<$z^} zqK1fdnW}Vs_ocQo|ExQ@@0TXlt1z#`pXd*e9h*gqiE4n8ry0wNw8ETKr^B_jbw0f1 zmKo6t2CU`t7y+zJ@T9#nUaA%HIRPSJ9^D~IL{DP^shFSC!UFUAt$E)d5=xUZX;Xl* z-W9!0^90A;b@Wn|Ie-kJxsc;HmSwo&AKiRiO*~U69fby;Nf^*cYy%XrJ+9;+H`{m5`j?YN zIGdwn(az4HtEju5_m#_~o9x1Hc*pHOah{{&v!!)8HaT%>aDMgnpWQ_fN^7YYHPH`| zNDDls@Z<;$oQ{2hp^R@oFR*T7h@dv|B@EuvYD@7*Tcona^k4S~K~x-G4K^XyA)7EVH{5mKld?=LG|8vE?_k&dhoRP#wX( zGK4Ui1x$>&cBM6PR)i>=H)O&iNwy*_6DuSnrG$lxeicAko|!33k6iMX>Adc%X#QXz zXpG*^$JIZ3k(!&j5G^CSfWxmTjVnaDneA!G>|Em|UZp&xcKAQJ#1a+Q=jT~p@i~%E zDCQ9iGC6XK8ueMR=qv&itAA80mJa32+I9&qnDKsKF*L;{NRG2lc;pcR$tud(q1{rr zY@%0u3R@(n@HjAhpBs)GghO)KTZ>_Wxr%Wst)hm`rj!w|Mh2M_R;@8ZB3>o0!kD=J zjh*<-cPa;D*k<}mnndaYVNk(^*A(st)>sKt!x5RIT;ZCSYJh*_d)%GqpH+P?=&EDD zAWjlzCFi)yoyi4NQFFqG-p^G6JdzI!DelBUH=3q3uydlAO)@I%xx{-B(*sJVIT*Qt zA#G%;h^jFOZHi_N4!s6GpZKL{KNOOIXKkOyoKTAi$t65%?|!A$mXsK`k;dGb;8MS9 zwfHm+t*r$^+A8N&GH8v@At=&E=Cj>rN|>53@&&Ou5mG3;Gxerw|U zVP4U}ifuaH$^N1bJz7l^i)5j_;%WQU{q^dI!sSL}Ca7O2DNx_Nbt%_f63JxmLZAG| z7#g%Bt;Bin*!o@egoxOfF_7OeT1j-RB>pZ5om~K9M~vN(XXrKszV{?Or^Q~@KSDI6 zHz-vnt8??)u7#Wx8_EKmMTo{GiE((Zc0R;g94SM`*S&lMck&AR=^detOjLfuucI1B zSJ2q^fa@;UFTI8yMQc?IAdUs` zY74DzTOT;r;v6L`L40HN!wXfb^t8NxI-~qLei$hc5zs~%FA)WcFLy}iRkbAus#8Wc zigMKZX5^4=yC6l9_1QDLA=FO3&D&}(nnTO(aj*EW;ddElFoq0F^K)#TSKFF5R0csE zRd+~@aYbP#b->66W1%OSBqp;iW+?aBf2ksipZb9NrjeH#;i$CCJj^j%kj*%53 zL9L>L?U#KhCZ?WMLHU-NWKI=Sol=~uC|@&AcWG%Y{2r4Dk11L|^sYi4=pks0M*Zm% z34U%oC5uP0KO~Kw20PW}Pb1h};)o*aK^GFDPn>c1JHO&Q(b{uSvX;KE5u0N?Y>+(>Ta|F)P6e3#4U=i zX*fzSg=uUte)xLA%UC-vBaXVjQ8>-*_c^}|t+6_$b|*KhgR9rVXKWW`+KQZJxjVRf z?%|lQ*4Edsl$Eg|Gm+5^6vTH1fYmM*kC@RR*7ry|l`Ume&v$|OlpU6!4 z%&bosDOA1kP*$_E?H)1;%hvz!sdZ9BVO{xGFz%6$lqhk&C=lBNHfJOdC?eTjQgSV` zf~Sk+`r0f)ABe{kDqZE8krO))TW>N@$Uc#6FCK#P*mHf_B(Ij>cB0FQ?Gl zlZ<$ZeE%c)=XX~x9W(37PYfHsdblQ$#r%t4_OV`AP1bO%sK8Pm6TobR7W_nA4 zN!@XL$Gg%y5$~DEn!e;F@i&DUhLqC3=F)w#bR{?B^m`z9XrA-d6Exg$*bPWL^_Dq` zZ%m}nhYLk+@BS`b0+QnDW_H>f)F8Yw(JYVk&L2fK76B%|2iDF9{et)2U8F<)-bOv~ ztfh-HPZAmshYlQCAFAygyI8BvMf5dD)&Nk)a3>eF)tsDE-c zVa&rsx#PaJ%=#!j{V%48MPef>kb=9j5N0HPWF8t0A1qD5h!`VaNuIMsdOv651mlAp zq+gR!J}S?R*>kgD0sw0>Tg=y4Izvr3F_eD{(BR)8|JWz7d38mi(0_7YC#G&+QkJST zX%mj6zoF}c#BOlAlCCtfClwGcJR%t}Q-qR70}Je{;e!isB5R5d`8rVb{E`j9_b$N4 ztc(_t@EMe&;<>Ha}26co{I?qZHWY1-W-wKh7E(a}Gh%As@zi3`6m?9rnqqT}`>LkofU_ z);Zzrn_^Nuz1`wC8 zasK>b#xb!c!Eh^I`ble>YES>IRcnzJ?_a!3p;%`uwi`ge=GW$!Lq{=YnN?x})miVU zk=qP9G_tmr2V-5Ve4pAH?3&Q47t0)Z)W(VD;hWtpMpC{RAl+0!f1kcD+4Mc~ch@E# z~Q$a2sY%Cm@%g2~v7SORC13HgLu z;|!dWu|EBy>N!sAJSH_8Sq)s}sbTd&csr~wI0eK`+TDYNB9+0N{i>3nz#5d!HSu}v zmTDg; z`JKRcjrUtHrw!O8@C9uf{e3^m9n^x}kW?-lu~21Z#{FP=vXQ?(UnF}dh_#|@f1za@ z3X42upu3INb%QB^`b$IQ&I<`v853UKKb}}uHI!S7m3f+v=Z`&~3 zUt8%iMvv%~$pf*)-RiSoyG`bj%q1qmJ3d7ay{wslhnAYaM{BhIKeoOqs?IIx76|Sx z!QD0z+=9EiyN2NI5Zv7*xFo^d*|-kOa56^Uz3A4f*Oj(Ql$me>uylBOX7GzdyoZmkG__3)q<}J5?QskJAJC6_kOw? z;!)3w{&%CG6BMQPOBbhY;oZc3koL=@DOiuy39fqIopRG&I(Bv3Ct;O-81;QWKYoKn zh9#Tg?Cy!QUhhgpZ-e}5YskCE_kW zbMK4nA3#tu99O@O2+otN5gfUse}8%KqsysNIrFQ4Ay=c%8wDgGOOdM_Kh3(_AN_pi z#Rwe_nP<3M{>E~7?9+m~lRb#j`lme&iWc?_ zx0bq=@>43MU8BCliA0q}h9m5w3ASTDGQpmdBt{vH*KUxl2hVjNtaV& zf`-ExDVqkrgE2oSstG{<`A-`sa0TuE0Bq;b{_O}S4qdAF3a_zc$Z*EQqk%7ePX`Ur z!>4Vy{PV{}CXnnJ;w=h*hd%!rM+h${0#Ow`b;&sQCEQC3q!%Luu5@*On0h@2dR^Ss ze<`2O@yA7#i2r+t|E~gxaV@lX3(kdy8ZfeY^Eb<_#e`~6g1RrRN9)q<17Ib>3`SoF zU)<;sN=ZhDHVvd)MxCbkBtLb#Y#-9ab6eaV^F+r zwAffmE9@++sAFoX+Hh}?_{X6^HF4e%A73kj0Ey68_ehlZM&G#@k^ z>fOrLCi12HFs=3Si`1^|1#mHq_@cv??G5-ND*2ltMElDZ`2285`34s_kb_CSwk?P3 zM;fLwu2cE#vZpw2%-fnpnV2wqfrbU}m;`V=osoXbD z(7aMfD+(K3}K;?r? zL7FcW2u-$f>`~P&SIPgQU&{C^)+arPE7lmwT4cfxtLF=b-9^hD><+-_i5@gRU7-s& zVB66epU~W6)aK{Uo6Uw=|N8pBw2Bh?iJykgZKA*aMxpkk0w=n}a$rbBE2)L#AlcAt zN5uO++x#bY+e3CtGht5s8GE;5`7tUjia6 z9-2U$S z!Cx>%N_Q}P$HQ%ET+iW*vHGXueUVj0^=#5&(3)Jyc(Cx4!#lyvSf(1LLP;E>bFT@8 z$j}vy@+CN@dAC1;01>E@!BT7{4r9Asu__v-Rr-&w0K(XF%3A*mz@! zD5_Yqzgal`#w@1r13l0K(1<>$yw*e>NvL%!|N539U+}J=IX(9YmT>!VaYc~t^0^_5 z+c>&CaqX21-64*v!t#>@#z-bH8-8ay~9kQDFa_g9etM*T6}k;tfW3 zu9vEl0&t`H7H}O26Ycv0<6QS+X9PeNii_aJJX_p8`0I9 ze7(*n7;U3X44@$7hrusIg7<>JmkW)z-z(%@ z@D(>=&yASwx49y3j{@UI_M>p|`;sETn6Yps4*&2&HZ%&T^iO2b@1#SFXh9BmAP4M% zIoWjG3fGc#0Mxl^a6`|5Ai07-RU%Ef4aZnX?F3vp+J+LAQ_`N(sAnu)x-!mWSt1bM zVtKE@#DS}Db(Z0U`9}Vi{~x9;Py!SG;&gudj?!fwyUhnKn%ay}8~#rGJHfRI*ReqZ z3Yv(|w|WoN00+=)^u69LZBZ~$o2N~Y>5i%Auc0&4c^`CR=Z`cIY?aREJLtaSWAWnr z=t5{r7(9Tc#Sz^71C}P!X044zdcazvC3Dl{AC5Q%Bf}_f*mvwfiy;>vr?5~F-Tq;N z`HD7&TS&I@nPjS3(VV$mKjJqQF{hT#omTV0(naexj{W(zsin~T@S=YJhgK;Neiqh! z%Xh$tn==h8H@j8kmYE2Kl9q)`Z&<%E{9W417H@dm?(9!XY!Ep;pmev52q9xw|9aC2 zjltt)bbfO!+@NUKtZutIG`SvHzXxTW%*({LEDs3nv`MxARI5l0+@M*GxX)gv*wA2d+d-o-9+Z*tffy^X>D?GbZf1A{5gu*=~5RecB1TE`uVNH(J~ z>Jr1Ff>F~k<~9jC+*%0OI<;XvD4J5fugXccA+vr)dcw`e$kxZX<=Tc5^+&tE5AkzC zrOI~FrP3U@r`W%XxNByzKg>kyiX8aOGt9wcCGkdMu_+2h65_8UCDsvvx_pOSTBnmH zChpuu+dy^Tvrxx_=Vrfu%5%BXWK6b)9$MWF68sDdr{xP!;w|KV^Mw3Iq-M-ii7wvP zhF5Zzzm~jW76e_|1yi1a5Crd~Njq+~_wnuS)%xS2NJ^eZuP}|J%S2 zK$+@Wj31zXaeD36Cug|DVVsRc)vLHRuRT-h+!QwQrtCDUok@y!9fdm-N1OT8_Z*Co z*WGjGkOS-aimc8oqrVAX4f@v z3g@=P+`xM}^SUthc|K0o&383>yRma<#Bk@Y5VsqPcI#vq-XT9j>~wE?@npVS3#ruR zM<3q9V=`dfl(HFy+7b!s90Jo0jp7*M2MZe61naxRTl{Dp5)AG5bW;9kSN0KyUOT{D zX&u01P3hK|8CgDxK_5h060zr$NSa0gB!#(+m0{cuXSK|OcaloOh?8Ko94%*(?}L-k zSr`!ckhU!S6ts_-^kldv^VA|Ml06h)Hc2vjI3>+w|rj@NV%(SP2T@1e>T3p{LtcZl5?scx6r)U zxU-gb+t<8CdM8t5oqnxIa>99n*_3|PpTXU{HRyF=-t={=V;=ki&i2z#<|+sG>`Jfm zeR}mmc-=h*21d&y4yTA8t74~9@Q*G1{S%enUtQFh()BCdOENhfuJNK#*m*Ovo*!pD zHdEl#rov$y3GI9kKmNCuwfPD`?082Hy(Ma)R!cOcX?digRS>tQVg7*OPp})?vmt;B zoJ5^gk%Z>bhNgt@A-JA!omEf6@Q>=b*V3Jt@htUt<~ad_V?-(I=20EE>4FIn^j~N2 zm4@Y@x8Apo|76X}Co+w7%0wnOpCIaaH}Ho1R^c>F!~w6bV2@D#7N%wcp2&AdYNsgu zF-oU^#ign_;{kQtb1YM#y=Ll2GURZ_BR`0mLi+~ym}yHYW17QS_rQdyV2H# zrHr_-@9{A%?!V-DMrq1z+A&0N-ACh5?E9#(~{bK&^~mJQ2N1%WLv3h^yo6?7@r+g^8JfMAugW|%gjSr~i&!Q#5)}tM zw>TBl)g^*dFPF-?j-_JLXa~>Nq@8dRe19^KKE-8px6)d|XK5?@G-?EALmgUa8EPV4 zqZF_rxNpUmR|waAEMDf)LSzysfR)g2^|shnWt7R9owD9Ur0a@|oxBswNToUas95Yy zM6W6RVUtBkYN2rwrrd&9iy7-hY&VR&k~i<*oQKf%o&t-0KD7y%>AA_V3&+)mGq!GaGs4)yH)JYOwe zVr(Q29+OtJnx3F$;)=7oJk zpPpaTXXL9D0C}t*Xc0wHVa-?6a*nNC+X8sG9u9p7P>_!|;-$P!1Qp{+P zEBYpqPK)-@rc4cHkW;Fz;?MJfhLlniFusDlsEGR>d0X^*6(k92J+U4gO7Op?Gz+7G z(n$kG1^3I;)HxGJNeFiDaLJipZ&3O46XqpKc4)Pdj0x2+ZC|OPYtoRc>*D-8jRB)s z5eIb{yku-)U%uJbDa<+RyDkw@u?{3g+;CYgWL8MUnjx5cg&XnW%7MmD=(NSkL^sf1 z^OQyp)L-*HAE8JQTk}gmDZ{t1uV@H;M}RAnbQ^h=&q~n*hv^lR#0tLnB+Qmvj}a$G z6b~QaYu+iISWj&%uALIZYT*z?5t?+?-74&@B6-NOUy~Xl7TIU^ZbTPzmoPOgWVat( znyGkZg_*C!oQ!l?;MG^!gevljR8xd4!*qmP5*uFOu=5xC+C3Ff9-`^*)Qb=%ir1-} z+es;Yy;tD^s0Yzv$xqaR-{Is{O-ZVyC&%~X#=C_Z92GgKlU%SaKYeXR=Nuo~L!YF% zh@_X2*600NH*S&$bvXL6mg5{7z6$-6WH=eWw#(CpcR|IilcphHyyaada4Pb%gaZM2 zPgjl(h>z@OG^^Sl@ugUsi(cGQdKW7$)hp8Ky=~6kvHXR&q<(a)g&^@Bc-oFtahapl zfYrWN(GYm^NLf80`+)->FFcv`H`mZ#x*y0Xz18^!CG1OjXuaD`A9NC0r|vg0Z0EFx zAp8!QHJ|;-0&Uilq_mUC|I4GbZ!`?%&ZBfdP?+bZOqR|OsdomLqcB?uhO9kFu7^m* zB__7A%qVT9$Pl!YAF`cpTjk?1E*A4l6XIrJjQEX|2p8i!t!OrVxm%*OgBu#9|H|Oc z`w_@AJ6~E|N^%id8nHjaL&CSAWNk)L>sRZO zb#&>=ntmp>$Wlhqa8VbP+|{oKc+&XXy;XpSr-Ot1{B}Ek%}jir<8S%Epw(8WYt*AL zv&2bbX%IC|n9A=bRiAmw(Ka&zay6fk)IUCUYtoF?57Crg&eB;Y$Ds`33%_6!WX?*_ z@~6I-4_P$Jl!6@qOJI5>rrWKVBsGL1k=DhNnOcI}x!O54|G0s#7i22A4>LNhG+4WZ|fM!~r)ElhX6_+gS9T`NG~Y3~5RE zjkQiO#xI#i%|xaxuuq=g`x;Tyt7#P zMKdkmcW6d-WJbi=kU(ijil>Ye3Nk-Z-Iw5jAyY7JprkfurADiy*Vl~q4QJwk2Y3;am z!%x2dx*;Ncl9*35OLdkdLPq5=DI^_JiE^Fv!p@MFaFA?4Ib8e7FGrN!0*i&qfx&yk zjMC*}kdtJdRYI@pLgT?ThH8>=VjVO(sSa``#+4RTH+xa}MoD6LkG=VUf@Co|vD{+9 zvT^?jIo+m{FMq}S4ZH+ukfB3wjdm}5qM(OEsQlpd@#!0m&-<6(yR1Ud2lBr4zm@!q%`B_@ zIXNjQU9#30QqFWnpi1wWSc|Erb$Qv6xT#j8_}RGG9cbSodhY$LmuHW&K4vqiFzq`& zm+|)RfKAe-O+eUlJ1n7#m;6{;`f0o#G0@e>@I+gz*-5Ljva{i*Yc}s} zrjg#=;Ah1s6*kai48FuB!sUael0-)wfGBHTYDkAJ)M*?J6R@*`N-(Q(yo-moG~rrn z6cJ0zJTW768W1(?1VfNs(>mI4;LgXTb0=nLwh&PA+u?bmY zOp|Rw``<-7WvD5Pz+@v<>W#D$#pos>JJ4xQW-POdm}?1aZ6AIiepHd~RWl5)TqyzHk);7noqbb9$xneh{4^|8sw z_5?@u?uYYiUZrX@!-fQ^tXwF`il#sr& zm0yp^s_*y#x$Uh!EMW(zUr1{Hfu-f* zLcTW9Ke3*i$TBu9az1^Do`4nDFiG3JVEn~J{(wr^^u}sBy5&IlspaOUvlSW1^ye$f zoCqKVlw8JUjh;M`5om17DW(uh+*pQ8;#R?vKk1nuLhR`&YgPMo!*mwg;UKcQiDB>k zklq%IA+5l~>US$Ftrj-D?=b<#6LJv)|6R&>s{m_9Ll-|+|93_BZ4i;$6cj5aW-N$9+Id}X0x$0TC!RJ+x~e?sEhesACshq zA$4z7>_1NG&*C&1#oOR-@V8%l{{Xfs$o?S5^;ce1SERM%V+bu~kEA3JuoSC#aIPT#+uihb%$R))FJMm@|2MDp3)`@M4H51|^9FKLf3p(_Ip_=} z42Hl$IZkDiD{h_zxBG?0Ow4F3YZ^z=t@XV}`-NQDpw%Y6$tSn}&TsxGK{7(Ufe7WZ zC87VBWLQ9gBtmby3+GPf&sIzQ%=?>xa5dH{R8V~ha_|$0X?NpE46q}4@8tfTc)x{f z>stYmPzN=J-9W!PZyK;y=8ba{bQ}2n{xvl*$3}rbcU3;0#YpT|=iq06FTuxtOK$ox zrb{9V@q_7MTnBZ+kyumB7N@QBp;GGqlYadnp3xuT{Wr$3fFFp_zo~Scq3WQdRPt*l zP8U7Ek2J06jiW=13(20eX=fq*!?)U(0lb=<(>MD3i8uQEs;kNIj2D>0t=!(reO_Y3))Sz zb2Z{J#Y?&h5yj%N=GoXX9LvWrzXs!=K399Mc5)whTy|*@BJ%%4$yd_s^tjr0zTEXl zPY18ND4~jUYt}sBR5eLKq!a7$E4S-zB2kD}_&@pw>yL(HB-xh@OWO1wMeuY`QC}$X|Mg>y49eyJ zkDE@mobeyOKmRQT5j0QoqM){HCi&y5<{WDkdj$7pLGM73j;8IviU(~|i}ve^&xdhp zd+jF_AaG%hETF)aT6p3%V}q6FDE8-rwMC{}01|lB=(_Sirq`A2O~In2bAylt?G&7H zR9U8fI_*3WnAKU6N?bJ=00^>K_PyH92dXES1aA>$J6+|n{;#BTP#z3Wve28~r4(;8 zp|K$)gfWz%u>-ZR11XgqwP9G%c}V*CV3OtY$k`c ze4&eS(T2!#Nz7z$_9@8Py&7{e1Eb8>Gx_}7O}CY1|CbnlO9LsfRV8eE(y&wYE5Tj# z5BdHjre0{bmY{u7vE|HXmzp#w?N`u4k6ZmVG7u=}{PD=>0&H{JeYG*<&IoPyu2fV1 z2DT3O9Vp*$)0z8NpBl{Q)*s+Vw0+l1s{{zR>TRC3z}3MsPMrGL|3TMhQafN}7tCSp z`^3=|VCB1@z4RDgmX_eg>Fc7b1pJo-|B-M~DnBQ34gCC*)% zGT-9=D;d~xz(Q3Mf_&MWO<4Q%aVp5+VB2+S_NC!wz^lT4O4}jsak%4?ojcd%!11xF z+eOLAtQ_3@CHGdD(Lc5FO|b5A3`puAqgW|}$BKU`D;-q2#MUsCCXip!Cc29AQ?w_< zD^e^~6hjvsXdE|oDf@y5iU;u}U;;H_3qeqi%uK4bo;awZ5=-fmII>4%6_-clZuQ&d zox`dG;MX-*47b3k$li?fCD2`S23M$2>2RUbzNqc`;rM|SUn2i&>D%VNHb3nFL$m*p zjUbS7Hc5*edBx)|HT>grJsT;{m#4Bkhmdv}JLYYdyg4%P?wqGVxQ^8k3MBBC9a8^m9i#u4$z68*0|Y2%o;vHMK@Lx zfY=d5_yBg@!URBh#BL89#9H`oPE~pLJx4z&wp&U%5 zXyy*s?*`0;O*5-sXlTE_>1BbvHF$L-VQT`J=+Zi3Z%28KCGrRkS_~HNV5e7qxPn&5 zC_^jT*%rS$Avtnl~$9_d)j7t9_O_N|qi|JeEt0r-g3@G|$~3dylCYdgA0 zLYISja6y6YMlGevF6}v}oe<=PCg|@W)?q*N;7(+=trD>TyU@)!yzt|$DXK{WR=xs< zcA>qu`_dzI*TM0zX7ExA-fT@!`kB`}H`H7Zrob1O0Zez1yn%~nT8lXO9CNmR)s@9u zJa#3A_MD^p(j{OO+f?|UTmJKq*E-*>-}jD0?1vW4GQPY6; zF9yQBI=jFS#Wyq=yG`Ci$9E&k_kHH9!GYE91*IW(Cy|lOv4RS(e+u)bC3mF!;~*)2 zSsVPrC=L8+)=dWowT~+eT)5u%=be7CFG2tW(30tS=sKMBWZjVr8`MIPG%uhPRNUXk zZd(`FTwI|Ga^YUOSMHtNBmh<6@_;mB6PPD?61Q?ZNjx-qzE8O!3^Wrg{R=EvYg3Or zd3lxUc-eRIEWjfJnxY)o|NQ@dKNWj|Kb$w)CyjF^N#m2&u{piqKX1F47;3Go<)eb& zM!S(;gZlX}xsR|ZT<_h0EGeHk>IwhWM6r64cfjhGpBJ?5^KV-as7F3K;VvR#&2Kw~ zhdzaFt%uH^kR-I@QMluEc{Ho~WhkKll5>NNmbV_b&$}uRw7AHGjZnah=Cv)+5tM{Y zs%39c$%H&st>_EMfeW$+HjDFh1fJEEKz40n-UOTPizcX~t-6VX*T2h}HuZ^VdePy3 zKF5<6{g*<3VO*)>4%8(Z->!Rmf|~%#wB?NoVBm0BBzJ zHv(ba6v}=a)=A+`7sK!PHY&_Qtw?C&%E8FFpc(O_1a6$oPNOtqOD3aCQ-8p~Dq@G> zD#@f#a*lb7kX_1p+l6YJ+=_LWfF6taA(ykB#(w8EnRRxI*dlvwTE%b>bsK6^PgFi> z@LoO}iKZ$x#Jm2T*HReNB`3Aff&3i4UY_D-wh&0rpkr2QewZ_mkl`C!4tNFMcDml8 zAic@e_eOmd&HrHb<=j6QPNi2$$h$VC?*7J4XoHrly85BS#_xJYM=QJU<8fi3sK23x zr|*@jR__@Impk2M{yQU-)=lp9=`^vDgv*J^;%Mnw6PN@0H&;?>FId%IO`nxWRPLK zyU$WJTvYxrIS8HdB8S%Hd5xr?tIX2*|a;y*?dOG+f}m1RyS6_aN@EkS9Fma7}O6 z2oS)ytmNz<~Bi6pb6F(-zc zT8#EkGuT54Da%BO+}M=#I@RzI<_mzSDFXrqyXH)92TmqMIuDztL0V27YA@L1o_)Me zGcL7pK-PEG>;Q>@yb3$w7wgpEI)zOx7E6a&E;GZ3Z#oaP4E!D_jpstLV zNFklL4niFdKl_8SA>y!L!8mm4hG729=P)+cBv^0u0Bfxuw@1=`2!*0QYu6-1<^Tl2 z%E0svdo0%wO!uRibl;+~ zL||23mWnueNlI*aZ?^{MO?ciIa1*flL#k%D4lvnvISSggdiYoNmN6R`G;oL$$GsRQ z!un_lRMkRsRG>pXA)lZVoMU|*MfV;|onA#DP>n)#W|Ot(@OogTm4HR&wUe1DQ9(`I z=}&Xf3uzN=6Jx3)mW+^2uvE~OHnCQ2a^4Gd#!g{_!dn!C%9(LZO=XKY0F>&` zw--`kyr-*1Y0X(a&_?QSA#c>Es^*(da+GPm+|p@CaF(tG2vRF6ljMBTQS=IAA)=wE zn<7WJM`$SUNutRgO(Rq3sbP`Ym2KP7Cn>AzTJsg>MQA0%E8O#MVGPN!c}=out-wi1 zWx4H%xjPoY>IN`=k%_leTtWCQ1QC5Pl;%UE4+N@WLQ9 zs&kdFFM+?#jF(s6mC*XhAaG;bepJN4OcCcGF2}@6ikTP86y7|{-lUOk-jr;aX#iiQ zH^i^C2hS9Z@gro91}zD3v%vQEW#P$ZiM9khjcgp9^3>+={Yx+y3%o%|Bjoza_)B|* zXXx38jP${slpgt4tNI^=L`wP`+2Rs@ytnIAP0UeGrf}(S%yla1#Hd1TBV2M7jLzMA zs*IQRUh>P_GNz-?DQZcyK`J1FNin2zy0*2S$yCkEle*XIuD`nE*cWpq+9uu7W*V*r z42+I5g5kiC?HA|$STx?omR1%uD-us0tvj(r$E-s>5#?4nS0?;SCtK2WjRIq} zu|LZVubg#d;WsTB())Nj_GOdH&FvBdWU$6Ip@BeA2)Xx~K-X0d9we3ozofAny0ZSO zoWP-$swveMQ4>%r&+U~08kmqfZBzNl`EU+)l(aOY8P2W_n0UdhvkrWS`6kNjLbg_iB6Zk>v*- zc|u-MB7po=`xbVf8#0!15h9x|h{?NXB3T^hz@y$zI?;%Lt?P)$R^ zip0d35RWO&#}bvZ4nl5ENG-{_TnhWNg!B<19_m*^x{t(Hc*~Wpy0=a%VM)4CE@>=J z(ZB>P%jghgz!oKcAqF)}i+_iQMnyz&U8ikRiK57(a^%9OrG(-qJ+9}L;*e2`U52jU zCpWiGm`pJAb17yNLzM5jn3KpusZoL^b>$~MN^WW5{`&mRg)ExamWYwZ4pBv`0g#=5 z_0|wb+u?)2J49@l5iD+sfkR}(dzynpwYzp^JvG9c>_RHsHO6E6Yun|Q3EHb{Lqc*C z!218mE<8zllRV#F~nhfwiln+G^9vAP)--To{;pZFCHf-fq4jv*vpX?jaK}J z?RJ#U(s1h$opb<_SFbeEU{LGWFHc3dy-4_vG?U3PguM9I9b&->h|RXRaCyzliu7C2 z>ccw}C3s^JOx4hsontPkEjxa2K>}wSmk<4|g)_F%K-R7&2SK*ED>u|K1A<%_PVh?X2DQaDM`)XlPH{vFShQLr{!P&IvF3bi$K|b^d6@<2Tut&(h!WHdpfWyntl2dZyZp z237XIA$3bEx;DQ=TkKq$pSsr_kZ1OM{u9sbvh*o2mLl+NO+lsh;)yXu3(me1ycx%a z!QH!KG*;`dUpPRx1ojH?$q*cNLz<01s}vb-c6*v*^4LuNE5%H!QKw&ivLLGCTliG; z^el_aIy$ds8QaJ-^|M73`Xuz;&z;VBF{vGfiPRqTuLyDv9By za#RYK9F}>{1WKqeGbfc=|6a-C-5lNQL4V~a7Hf=J%w#rODy1ZEFN=``5= zTYeVgRqDxRGS%I5Rj!4z5<_dsM#y}Q&drLNFIrrUutoma1-&a@%X!LtinpUSvN_wx zD+7GFsEpofbFK8bdp(Krrq^T%{l93DeZYx1B*@*=C8Dd(QGODd@fy|AJh>F2qGvqL zPjWMcN$A*h^ehLF$8rsu!rz*g7k{9NoJNi3<~R<99+-$K^$mw59e)3(e?PPF2^h1iVu5dKuBLLPC?&O zl&PzNT?llOVa62+(UCu)%n`MmNxw8o$Qy7LRN^pv#69vwEd!f2(K4ykvP{*sGq? z(=wJA{?XzFPTxEn(@#}RLz5i7=G(nPs>GA{y-$!$YgBmbo#_GIkWAq|Jk`KHTx`>c zFqEA9ydY~!J)^brwxgV{$%Ok{K0Vphsh+UBBDb8}$_@r|;dDl^wVm9l{#GlhLY#}y z&CI&fNBUDi{MgFAv|hU&*8+>DnL>3dLM7sg`1Qa^H7+o2Da))`BXta;a2tDa?o{I~V!D!Ftf-&_meSXk>#vI_bg@uMZ)^AN7SrI@6A)2H?pOFm45z>Owd8S*}YEd*^{E5Ota$q zy>)N%(B>a_57*WB6}8f{F^cUu()yQC<us953>oDRl&?ag!ZM^&_s4nFw# zBWzC7j^tKtO}Cz~0Ct!P`4_poR#=zyNZ3IPqW}B2-XIWcsLsP>;*u*)MxU)n+QI?$ zGa@sEf|G@zJJSbO(gne~-h0i8l)-HesZ8w4AN0l5A5bjg+$^&I`<53+(H|4u>f8ht z)z%DYS2Crs{kuk@(nyJhqSEs$|Eh6pS(5*JT<(f9I;$JCV5l;$6z8Jr-qaOp#^9RO8sgk|QKeJ*p+l3+@d10pE2FP-@IaX@Wx$Fi6Brs$Sqvig9249X{v zbv2<`^QlUtDHu29TWESFhjAEBf8q-fp=+sT>7496>IA{Fl6cqCkI?-&=OjTdre% z#~sNknE(PdAFFfa+Q+Is6N;f!#7o-cIt=CCk?e<|ckh!&tixsGY>34=(QQDcNAMdt zanZ3$md010%?I3Y9Y@nA{=?a}&_FvLbR&MN6nhCRVnGMdT~@z_Al zbTI+OA#Kkw!O598F_7CQ4g_gOYzd!KW!zW&_(>Ze7mh&iR+ad z?{KBoHIBXwg_1*a#$zKwqG0O;V5w8%T7pNl1WSJv!=Z#bj5!%x?C1^gX)yslDLpuVeT$VVtJAu9kZ#+}rf^ z%YZ#c*bS|bO&kG^e^+4jDWUGyt#DeYXKU&$f6Bwuc|ac-fssX^cTjtaJuT3Yw)>mz zRd9RpKzMS-;Rm78f+hw6PSE3Lt}GP^z>HT}2BhXp)R&-kiTMV*2@k*2G%P`t+((Y1 zEZK5{xr1!~d-+*3Vw;tM13waALOY1ss6mN4>HDGk<8le<#>--5XA6nu*rwo2o5sJP zvVS3F?I?lsne)Ue^&YR$>?nF3{Dt;S$@7yQdS|BtNz%Sg8{s!oo#U9zrW^dGMO1Do zqAcW|Iz$GBTGXoc^PoG_j}JeZ{xT}vCt(mr(=dx@8Vd%54F?n7_ziSlS6l)ia8YAziEsnHZm`)SBd%{_P(~5xL!~Edu0SVUCx@JdUX>?I|T(yaV0KQ;ChskPB zyV`!O81rw-o_IW@frZ%!xD(C?V+J%CtXKARODo zMWs%AX3Y%)*Vxr+k7Aj_)5q z9RYJVmZa)dFH=U;to^z;a&&P znNi$Jyt{S{T)*;GFI@j@PB)?Ob~tiRJ?&=@CKMjJDUSY~HUvL;z-lQ4(!e$*MS*-j z$f+(tf9j`)2J=1;L&<%BgvacAb5phGY1;0YD%lq)GS4B=tb}gS>o8yTUiXYkl;dcd zQpSazh72=uz(&5Ou|C@<>=Z`C-t4Z(1>35Qv*Pp?QVc@wee6lop5ZYEp)Lq30%~vV zOdLAQB`2IAApyAE=sj=ti`G9`Si|QyMMCq?xG+R@#cWzz5Mm8FJ<); zcFg!uVAL<$d&-pDx3}#n=4-sAAZII<4JiNA&P`vP;C~FZGISLzWTwY@)3zPZxr58L z-flzV%*yoEkM2Q?8o^eQ>CAQXI<_H~Tm{JZ`Nn6JL|H@ruQS|=6BqubOYT&zeY>E4 z_~^j@T;Mx+D+U#fjcTj2J_DB?5F-gawyUK*WnoHN4CNivJ(qvHHHg!A zq$(Ka?>p=jAqN<&0~tF!MNyQzoJlE?oJ>ivNja)|lb-rvQhR zzez0hkDx*C?$4e!Sz@tu+TIBTqM3ZXlC)V9q_K?e1`DE7&x=GK!R2|>KJEFbR7B3b zp7BASZ4oPm+wf416)q|lSoOO##v=xmELnc4;%LQOu25&O6U#(tFUMh7Uiq9T*WZ65 z^GgkAW`ie`GDMw@K%QRh|NU*C&SHJiQnX6jxL#H(b0OJJ1?vcF;j9v)GpQC+CmH-X z;x?Yn&j71)B{yAzOMR`z#~_GX%`$dPVYO4Y#9`LCv%G%J{-kj^dW@jWIW1`+oU&LZ z(=Z6V7IV~q@~WD0!%%@4OUO0fLic=^9y}nd59BZ>2S@{g9z<~clAGNVbcJ6K6#%NC z-8gI>Bk{21n=@x;=+WKt7l(RgdV!)OUyuhu=?g2xV^B^6sPt``5j)skwe+^o2!N^3 zM@5>4&i02&9HaiK1Kp?#m?LE4x)_~$mdV09x$Y+cR=@I^m!lIZuc~j%`aDnUcgWZ9;$I4o9i z5gWbxz5R>{)`xU6G()a@mJ)FxzvLH0#+k7+6zYdiYD@-O)$(H%A+uDM!yEO_RmzNv zottz424Tn71X-yu{?Iz)*Idu$%eTqJovAf5B?&WUSTGOot5c3?rT56l)TwFssYS%G zO=+=H@GAGHf3by7U{Z_BgyiXr0HSR#J5}3Bmy5^escwFROORIUcL9h|Zy($reej6; zCd_Y+TzCpK~#H52T!`xi+QUy zE~37%<^Zu}Jq7p^!?cwS>6Oo-q|x&!jfIP)hUCmanr^yUJPoxvV&x^@T6JY7XX`wH zssV($302OGh_#Fgw}h$c;9;2eO+h}x$kcsMmi^{()ENu&KT1dnRH_;qrA#II{29O^ zrJu-9$P%D`z~a=_+O7W3iTLflv2a3>N5H?Y2ueQuhQo&MfzCCcs*M{UcQHo@PQ$@N z7rhDNk9S4jMy9AcH{s>g7la4vl{K{Z;@@3?HTjR4Vc1&i;Gjfue56gO5Ha*IdvAmv z_O;Q*r1S+-HlpMf(HNiGbTA%_Ht@&9s5d1NSs*WGUH6c@RD1`Po_M9Vv80~4Sp@D} z&aeXd{(tQiEtME_Ry@@;QE-ls)9&*=Na;c`JwJ~!=etsQGXT)dvDSwWxZNG8BjQPo z1|0xGe=X>IwAW6tn%@4K*^*?;vpuLmhj+NV3l*d|qr9cyGKX5b*pK zv8f@s8FIGXO=cxgDa-P~a_R;$r$=OSVfP+froPmA`>Uc+DJzk?KeOo8X#pd31PBB& z1g)l)VLV(Z@UtFl(qxLV-$|||mDQ4DH4A~HS@54Dv8~&7@x=4TpF3?OK8$%^QG+QC zFAG{+gAZ{1R7>S)V_lWHY{6s=i{vUrWh@rk_MSh2EFB=Pi z=$tkfc&Zvf*Xp`S%ponlk%bgV*KGU=0;cRzJ|!8>w8d~w50_Lxjw-A$nUIUaMrxIp zY1Re|DjCSzvASpHnS|Z2EQ^v{A_)2;Rq-J8vpY40nzL^V@6Q885Fh)!&IpZV4_HeC z$uP}fFbZhq0k}bX;lC+jU$e1x6K=(f=&Ws$#oUFI+<(a|b$(Me`l+xws)M(Yv?Y8U z459ZMPw~RAuAf@x(mSul#%0EH9ja^cfq96+gL+w-e5{c`(SrB;!#s>HZ_ZwqJ`y%o z&$Z5PN0^aPt**ta-SkT;c73r1Mmw)28mkXKbIj7#LF%(vO*;yD5f8xtru%#uWWnM@R9awoT_( z6Lv_}UU>8l1|`lurs90B{rhaP3eoKpRTXry=d(>cY50>=J6PLDS)>{E5tKVbMLNi; zilLM5o21hezEG$$NY2s;d+Va`@F9;nlLg3koHL0y4354&Ly0uR;Q?e>Zox0U0=uO< zKlGx0STe7icBy4MO4(=#5tcRWsb=%SZ^18OEX}zea%ZKE!fK&tpFE6feiZcmhzleM z01l{r=ymVVKF7*fQxqQ?kdBEC=dp6)J_~`i4CHnqP`UPdM!cONrn5{Wb{}P4uXC6T zhRD_LaAvEAg_O!4>B-nD7K~-yJg>UXuDaW-=>mfeGZ!)`lOOq-5(6?yy@Q2+@%~R#?&P#2KFS5`}iEPMWXf7 za)$7ruT(0LLHC%zZrF&kS>&SqcnUpM#hY2CCPUs32ld(y=ccR*RGPZEfiVFaq%6@V-R4Mc3xuZrI?T0D{1@C?!Y zn`9-H7z1*fh_T65cs(0GSjB-vQmO-z9MM`kan{Tx2si22jx2ow4M+_|FHM3jKOhpTb4VzoK2aB@=Zn}e8#m&-O4**Zk z;{#lJq!FHW1iG&DbSh)d@C9 zmt_e{N^@hf+EuJcCVamkoee39AoH`wSz>E_KAtsvVGBfh#zRky(Euz&22nIM;ShL8q~)ZhIW#+P zrBJ~!&{R)dPBO~R0v-VmB(!!STr2h?V#`pJX|cMvo1f%5p}?vVn8F6rI1EB3-@W_% zK~H8Hr_glu3sUnFfD*)AYbgCp>4I`l-pODSFmr0DG(ZWd?fkf=O%+9cql7T4&Op+~ zlYhrUU=$gK(au4+&qFdl36JoRqm4?brc3yCd=xucKy7MY&|-u4{w)J3w~kPpLJVQ~ z^aphDJ{l;Dt6?+quz7Azq!rFp=x}jO;rV!Yxis~2^1W%=ML8he3CUEntPAR$h1hep z1V2W;BCC_)WTt;OX7;ECtRgwZ7DsrSZj?FUa4orP)F(OlFd|eC=gc(5w)>{WZMp$U zZN?6CcJUapw8f38a%sa6&^4jJw5rk?SD3Cs435%GS$bxlhL0jpxsRdN!WJDCKbmu( z&*@VGf>6jz6ZRuX2lm498y-ZA+~H4t1G|`jQ}v3edg`E3M@v7fCAnfA+aDoPuHO(V z9&QQ|;#E-tlu9}IQ_p}u+=ls~n$tq^y&w%oUcu3LHTTAW91aN|VRZwVwX0%YgH?9& zco#_;#rKAM<4@xS_T+0L0$q6FnFW?*X!<~a?M5jbwTdZYi7S0nliX9+l72^S62{s0 z#x(q)HSSzP!{b(7NwVA4LgXNPtd^st0E^U%;eW14Uwd?s8fxdiz#-txhrp<#Wf1E4 zhH?SD?c~mKN?VnYG3*3W)TT4dcaS$}4FiYt2 z-0pGmVwk5VR%0k^ zg!Pu@3}*)>DpC$Ruu~ujmYj8D@tsp<1vU6c_}^M+@_l}{xt`@>ktiHo?1?r{>1_T(MA?XgpG@c0FMpMyhz;7Yq30hCmSbEl5Vli{Y&_mV%hVYINFkEg3nkydEf0yGUQ zb#=Cz0$S{82HZ*$oVUS_u#fHZ`uGT7F{VK{rbY9GEvkJU z?PBi)H&EM^K*EV0==8ctCMck6)o#U&ir1E}unX=TldXn~oa5XuV|OS=np8^iEfDl` zM_zW_Wy|{+h)bBql)S!NoYrU!`qfC`8QV9_a zcOZXEcph6EVBn>D&&FNXeUq2wHUxL3dFpk43@4Rc@m@=g_NseS5n}T4ShsDL!>!=( zwyQV5c>e>n+8%6j$u~sR8JXhtLTCCaxDxNWBAMJGj#>W)nH3rG{8zlfOwWMWn(f)4 z#t>MNPbFUqF-8&(N$R#P{M!lYOV7AS$m@oE@W*a26_)@%0r)jn*mt+PPNfj9;<-w` zgBQ8?8H?I*T$iB?v7fRKzO)veV;Ry7F2-cIOEz(k(bat>Sr8;^{cS_r9Z{GsR!iVs z@Y6d*0%~zL2DX>ER5<3kHOe!~u#a^$SX}InO&S-b{E1fwPm}usN$y%MXCPE5YlD5N z0r7brpBYIvnFH;~?)7W=?u}oL*v(lqFs2wSZ%9M$72cPLH`_Qvo&&@0BEYuKs<5^l zBkuW7yuT8f44spWV>LfcK{&^2dwUP=jPq(g zdgnW#J{F#n9*6H|qv_QGLSF{Lu~7+Er56ng`GA zc#-j!zmjyZqs`~tZ23Ppr?wtQ4P63n`})^wZyx64BJtMbOK#A(7l1^qSG?)UV?iXM z(Ezr*gB#4^xaGr20ezkZ6xoo3Tt}aBK~-uGR|qquJLlGbmv~I=UIyVVR$SLD zLL(zWyS+*_KMdM!btGEL0yFG@+ zhboZ`5hheGG)SeO=S&nNNpW|I5Am4n6N152zNNWoEXjH)51P88fE@CVb)O=1sQgLe z;IhUJ>@)L>c$W=10snP_4uoCpCfeBn#<{%Rn0`JE&o#!#A|=__%tzVpT@d&QZ2N9F z=Q3cBvFrU7vp&n(srY}?NMT*|_*DZ3Co2?MqNb}-iI@G%JFh8%ALt}@(R9L?amt+B zpjVdFkXYYCi4m2w8G>QtMW!hyIRxhPj(4;4e>`I?=nT5_J_$=qNaL~=GnAjq+cbgcs(wy5 z%v@l}sKpLhf`jM5x8C;zpIoK!S~%!eosk+ubw9wY?_c(Za5ecAS;V8eQ=TV!h9cVd zoJ;TRc=G25Vr2cf@cQdE(l zZ0n(52@p;l$^|l|8kj<8cR~=wAUtA?>QLWyBYl$0=(=-Gf5ZQ&ucGQN$y7lMV?|^` zil5jD!_@cdJy8Yn6|3=n2ylThNN4>mj@#i*^X#qJF@g6j#+&86(fdI>uPryb^BoKM zpSL=$zT?YC4O!{#Mti+c4mSi=XYl;e?!`=tW`J;GMb2^VtMC4CDG$E*y|LgI+z=1d5hTu8Oc=OZW#t4ZSVvJUg)6kZtLZYe*coUC2DCytaDD#Qn}SKPFC9sgKqrMmB^8 zFAVW<0s6*H7$n*Zy=|&-m80DY=7de2KexW#PEP38v@7#YdAiv-6+?Ljlz4={>z9!^ z#4-;~RCO&kr_^qyD&ck{^(x(db>g<>{kptg=8Uyl4NdNNl_(Ne(bm{%sW_+48$LER zpSLfc*VZGt*L4uzR&hU02wi38p6;;+MtkUZ`%sgAu@r`cn}p7vS3OwL4wP*##P0vp zPpVh1IGvR;cB!giVq~m+OB^&XZCjK%^Pdej4p6I5VVlRjGo9EzYn_YR_NA4! zm|~KTo3RPD@?DqT7)HLO{6<-{$_S0{4CIvMUbeQ$t|VGcLGQCv4E7Nb)^3NNHS_e+ z*dKuzhuSplb=ZG(wJuOVKi-kOJw6|<%e|2XhcA?BnSd)4N~k_ez0B?GZV-8r`OTU% z5w}=r`Zp`0^YrK^zbhHluaE7I2T3L-dCp*T4_g8puLf4PRnHsVTEAZCd%(R9-CQ-m zUljLoKbqoq{X?0>k_E_juE#dzGQLu=uN60XNk~9 zsDlsap^`uYq{Nl5qVM55YlB`23danGd!ST2OHQCG4LZWRrQvSSbG$SY4z$hD7OVds zy*Vpp;Kl$*tCxOT<-W~ct|LK}<+H$dYy|T(KV@Qk&Ewe-nB#?e+O{c*H`>wZ>eNP+ zeTTGLy;J)+clW-P9mvE^?b`K=+4F^+Vh21euC}KwOVe|QQ$D%jzw%fE8+dnjw=)9h z_~PJ(f_%x0dAw_Dt3A5ow!PC}Y;SK~Y(}mU26$P(%F-x(bcbakrA3w}jmDtYF|MEV z5%n>Zus^4LAc+PSIQnJek1Mh|s`+ZW^b?vIW07IkShL(+Ej-|fs-DCL3IcHTQrb{ro92`n7R4Zwglc{dM~JKNMFs9@ zENCo6o{6d+(e(0OFEm|raMYu`fp=>7=O;arnb`jm5L)qUW<$1`+^j(;(^y4m-uWT7 zSQ(C8LtLf%M{{kE3~=rk!0~-;!C@dYsd5LEtA2d|gY#%Jx<0OsCiJ7hd#fm)dttx_ zvlM(`s52e#FrOvvN$u8rKYs|##k1fpa;q0k%^4wrMjC2sQ*L2f8KeU)-MF*FwYW#> zBoG$C-A1abYJy83rn}hNMkR zvgs!``wA83?DsU3|Lp}JDWLP|g-R?Dbg6v47{_b8YBZDO?!0^EC)Ucy)t9-y zeeJ46%n?^BL&bJ}U=MF{u7l1va4H;;fM@4^rAcd3!y+&_z*Zy6<-<>BEs?UO{wcS( zEPwetKf7s`vS6_~c&@4ab+KY|P_NjN5<+@$6}7zRAMBtr88E95D6UJ7=y~4ZsjHfV zL;0q$UU*=*D_e0SOwYHpvi6|^K&LH*5{Iv?QCJXdhr}BKrhQQJta389Cysa5&i5V8 zjOFvePZOlikbf7l6;MD{weJ0suPa;WyMf_1A2gt<>G|raTo>L2W0MusMc1n!KyX<| zVdn7t`P3hM$;1Qnz1(s~?N_H%YMhJ}R(eagV|sP>A*PCd{4r}( z7c64;Q=K>k>@7lEexpEB2R%a#U3xK!%HA(B&)xN=*rYf-8azMRtuoldbZL59PLbA4 zqn3NHB^@zi!n$V3ZcP zYZm#!`?hENal`9<<$39&KbsA?_5pe40htwykg1xQnmSx#701}t`(ia3L1W}ndIU2e z?ZlYd4F6@If>yw$Vg$tI4KkS!h(NQ~vTas_Fjn|PqrPNoJ?;rMsUX43 zYUzThE+U8Z!Ov%P^svpM_0P%ubzbdM&X=;-t|VWX+P@?~O$@+mYN}kNxJ$hpY?+x^ zA2ykX(0UkD{5WsJn0O%mAX!gK-cRtQ`>*#7rI2d_kdXLm$;rtl4(HD4<5@kLeM#5( zZ_HAUMeMa%yY}hT1A%3$JU zhQLtIp7@46_0>UAD0^x~aDYo@zZQ@2?F1?B?X7!R6F1_KIz-<3GyGfD zWIE&VmB6;@h-9V>TX=Pa=}jL_WqYL*i#v^~sfVoU?V-?YWWWHQHOW_aS4}YkQW*Cj8reePbc>mx%|C z?};7@FYlTgeRQmo!5EeCds*$5N8vUJe1`s+4`zg`2A+NI;{E9u$h{1PGK%BTHg||7 zLtrHl6IW_o;-e(bG!KKTjD|+&^EGUP)4Q9QMi`Zneh!Ad^8Lr9>hScQ3sKl@t zZr!>_hfy*jVA;5Wq(Ws(6yn{{)=nhCA&kJ?uy_K(H@E%*6WkhCQt2hp!Y5_O1ZdpFM-Dso#qiynL7RD}$amF>% zc7idme)5WCPOKul;Oe&;pyHgDy1CE`oJ3_whyJl&REWuUP1Iyp7f`mk5h}615PLKf z(_Zr{?|-Os|65IH1?g)};SaO1Wdytut*{Y<^1sK1j)A1yk-wE`ge; zO59wc&V?P>9IJyzT)h*`Ih=NGbzVNHr0DqX+J!ZQFLT$<_{AN0J?Yh=NT(BXC}c1nfJh0x|f@y zR-JQYx8vD}m%Uozvt#YF28L^lX&+>v`IF?=DSTLg)dr~_E%_D)V-*E5Wf~s?=IlYd#+Cth z(D7JSYtP$6(Z_KVt#*+?dEwv8PXeUJ$>isW`$>Ha?|4fFe(?_0qaolor~TdYtM^M0 zuY=SK&&PE%>0{@EyLYQxsb^Jl8&;Vgal2Z1ic;-!f&O9P#_du!ZblpvY*<%Dh!0gF zr~AWG16%k-BO+)yedXcpx&|~ny&6WZUs5pM7i+BP7kD{x^g`h-&Rq=&2!ACopQLMf z=it=7U+|vYpJvS~bLn_l)J~rEJyYB%?*ES(_e)66iCEPnTrZ*#j7?|sIg9M1JDBac z8M#Ei=sqm5+`BO9Mu zhO^cHsT-ydk2>Y(Tkfb=95HlZ|5+|ub|Tave=Vn2jd*LaOhW`wk*9}RC1PwC;?V63 zQBjSkTN^dEALzs9X689rAu>#Jq;AOfjlPpIxD(XNZ8MLIkD<<-RUx#H@O>rT1le4B5gM^UdtPPwauP1{qxNbVW7A*ZE(@l+B=jzspNLX6tgHN= zTZbu>kRHp+CU(rnB=Nb6@JJWO7 zD8FC!JNfW0Wt!?JYKg>A&j~M!*^P$mOy>M;u*sMK7no%sO9NMlOM)5dV|>hLt=P*U zeRQ%q^gu&M2;qg*Ms`ZgP#{<#()7f(J7J-{1jBr)-S(^C^ZgQ-bl>GR$n%H&z+P&7 z2?NZPoF>Q1fZyDbt?CiQ`Yg*>1)ol1ZB`Ks;uCx7PAh+QC0g8jNPZVbiuk)7{ZN+8 zt%6aLBcM%hvtN|66kpWeeN*Vhun+0qxGE&T)FqFl(wvwhIrxHqK1Gd zmk=t#uJI29CFhYM3!Mg`jqX_iU&b1*VX=G=Jj!aqH0TgBy>Z2$RU1#T3mo=0R`W$v zLr2Jv_F+#XMB{)Iju2dJ*v%%kS?)-5{Ju%=I_-K{nGsZ6D2S*=*F~Z=Wv}H^Pc<%E z$1XC;^9UVCFPWv3GG%0`1!iGYPCNc_FuAsQa_U-ST^RqW76VqWD1OcZAZwDCA$E_NO97p+A9HhrT&;76@o$={E>9OrE%k<_tKw@i(I&9AOyF206`FiKw zwDvRa!{w*Hc4m6I0)xu8S(`)r--fQl^rM(3#g}g!<>Rw<)}a3;gx1ikHJ~45pksW?^5EFG@cyTQ43LH1Bp)l}nv9W@>0K zF>DnNa{~#&OKoweQ3YP+cJgNfQc8u3X?MyryE^%CUzk`FF%_$51HJqf`*oNOtKGrk z7Am4G(?x!($@pMAPr1{CA&m&o_iO+VBXkV%LM%lTn>1DoB8a(EVEV;UgGHi>#Zx_q z#t$q~MrCjg6ja2Tq%CBq???l;9reKtLigwokPnb4kXBL{h7gUA65}7pCy(Gb80Zq` z0_z=OMJ5AkQMFKB;w{AD5c6RONAdHigw{B14E1O;C~h_Y7|2kK ztb9$V8GVW4g?D9?;=l7J?;|8#Q?{QKJjNMNa%(_2R4Mb@DPh8cEs63;3;k3*263M` zXQ*yWAW`l~Rr4fPx)}*U=*k%>k;9^p{b}$hK~IKswKdNXyKkaXhu>!{gN3PwA6XDF zPF4+r1TEB0f|d_)YFLi0u86uAF z`8i|!aYosxP`>yfTr|olZ1+jxz=@rvP}2Ey^w@rgp-=L;Zgg&vN?@}}NXI-+-+Qlm zK)FOhget-Z5>XY*HeS6^kL_AZ4dY(?Zx&CrxKI3Vqt+O zI=1O@Q2Z1lxX+JFh}QP$2C^a)HMY%VG3{rXW_;%R5oU{24&)Y?@ElI!vB{oeJ#Ey9h*w$r3S(wKV3KGV^e~bOqvIG=9Ouh0Of>1nD zCSJ=RfI4(2*rp%?B?#7l(jtE@&Mq0Jmhc#%l_>E(ANGkR2YuLx(s6|A1>XP_cnH}^ zmQ7ENgch5 z2?G!hYp~=DJhtxYZ|&AJ-25&Us7;XmgHCeI9H z2=}iq_ssl3J|CPj-`>uoJ03H#G}J|RziKC+uAE`d8XfgV?9aE=XFj=7jx;OXmTpXO zrx^1*LcpyAZAAvig(J^gJU=-y@R{mW?*h)&3WgpBgU|cV_x8`d<&n70Umj`n-H-#s z&cJ3RdH?CWYp?<@QAvHd!65>!W5L?`(8{P*iLoN7=1>7gE!NQ~I5!1z!YN;hRy!<4j+M3udW_ge z>IiWLW>_G*%rM)-gS%yt`^&o>feg-lB(+^#!0$s#EmcZr{_aZ1?x zUptD@=89D%Pb;!M@POB-y}kJ5*V(82oR+n?NGz<&GP=tbL|O>i+WXLIfb5m6;E^8S z24X~Mt+!SaoC8fm;KmQ0sLbtqtgJ_gOazD;t&M65XY0{9dZg=q7W6>oO)C(Gmi~x? z;H-141=lkFvGC_V%VJFmvh7j71Ibwm{-({9PO3DLY82c?XKKh}t&3D3gSh4g`uPF| z=Un74zKtX-cwl)cz1$z@=D=mMktTd%T0;Zi?o&z_mL+(D$~IfjY3OD1sXb`S&-iX_|z!B+Y)l|3py7m*Nx+UufUt<8qNqq zy~nmwKPQpP8CjB5Svjvy^w$vY#|keXPh(P4UIe`)q132J={KVL-e8?&1#D|10Nf94 zTrWnpFS1H&_R;l~wDvTgbU6ndtN5-1*Dzf<0lkX$QEs#cB%eX&2b*uZ(Pv&#LK{)r zB~*Tq%YwL*EJrU+9JbNo6sT0KKjV;_KAYLsp)K0Dh=C=4m;m2nnGU+ZZlka=+(UcV z>nM@`mGl~vz&xY1w5+iM-x1f29VF6~K8iMIE-n5Pwf+^`FE6iKT=&;%CxcVy2zevh4Cc`- z>mYb*iEHXnQhjnl{~^0S+Fsh0gF-$qLgM;qZ6o>S`8Ll=T7&5o2ev_mGR`$vKAPn} zss9Jp-3SegQ2dI^i#0#sB)szr-<-BzSSiwzI@EI^wDg#7&634Dc?)juO#Y zVG3o?RaiJ`CAJ>}MnJqCzA@_%n=V2_Vq?e|9$_@l4Fuh=Wnb}CFLzcI1A%X+>b4CL z&J1WgLuG_mThahYgqVSI0Tp?BpQCF#L%~~>d{}n}ZJj*HaU+3E8Xkhw%|>&_0hVS~ zTdsMEM&>Izi*EI{2z^8Xy!CbeRDw+Mc>&Gh=Izt>XQYj?#`mR49Ly5qdE^X{R(0G? zXDDc0*V?NF$ghpM(RDlP*Y3j!TcVcCF$!_wuL-AXLj%KI$_xV15LsZo7;i%-(;QS0BT?Rgi7tpxWvf8fuW6hWwc;4v z5!QmAzn(gG)B2Am|I^KSJzvT02bT z<_f?d+_fAiKueVWw49afU~_!9LnFI8UoANO3PW_?wNIN;*K9^SDw^vz1%~a$669_Q zHps`PZpPWM!U=)u$tt$|GxNV0Fqag>KMJM1L59|A$8{L)--Q)}_Vu6WeIAI<+y2x{WNB7QDVd!_byBa^_e^L|q=(nfT~DE&|3 zYmwF;u_D`tsvqQpVG&#{o3WkvvIz9?SvKARdtOd3y5nPk8iA2E^}e+Gi<|i zwdiU6iG)9XxK0<_6sjpF`?WNx?64nl$U=2e2v^A}^tjafa@ku`?( zFF)$#)uA`JV^VUCdp{ivq8yrKv}0_*2$ohMcpo%Uo!P75o@99(E{vy$Km+kAF#-NRb5osM-CKP_K^-xQ&Y&wd? zt3fVaNwMrvwnflVaE(N2tZ7n&IWf_-7#MYUKX)MquLQ$|xo(a_LBL^!6b{C@t6H98 z^Eg*h64b7u_A7-%$zGlz1X($1(G8|9>h*^o)?JYxF0`w>BRRVk5r+@t!Zera`(EzmUTId6=R8aM5m`bbc|yZsTku#XFhKzR!N? zDm_Bs7tx(BfMcw%pL)we;Ubeg)7qz zyv5?AW(*EtV?~4kW1PjUaA0O)gPwAF=+^fIGTd2;^Dzqkku+hdLj}NgV}WGLM+8cS z$SK1@>W=ZxEw%~W5^R&X7(?8Gv;pP#;agL~penoX+hWDbLPD+`T$nM{`Dc+T|DCh- zZqrl0Ki9TM`t#Pz z{Arj0Zk@%Z(6EuNi0i+p1A~rNHg-e*;V5W=a90_&<0D`F z;&yTy!@pvc`TIi{WB2iV0yX+y<2>R3J!&nO+wmYL3dq5iz2DM*M32D}xyltp&ADCO z=eT+6RPw_6b+4|prXaWK_#9pop9UG^Ue|3?;ujm8t262cNxYZ)Yc|Cor)(AOL%%yP z6nUl(B_t3?C4u~BLZR6O{IBnegv;G7-m7`7#@j`r`cqf%b9s5Pr7VIRpW7{x(jO2U zV$-X3y5qC^q9b%``95ry$&GAhj-&OH$g4cvl0yv1F50lKq_?9**?nTfI1l z2pYgI_5;o#SgN;aOCcV~uP)9ts06~WU4r!e;?X$h53`;>IlELjRBGD1qe z`X8`SNr<{nZn?F>dL$B1dZ?9XB1%KRDs99?zxwDyulrJ;&7?lAOVy88f|FA`lpmWZ zE=Wv5k&lrbJ3SbNd9E=zcQ&?AT@7{F5jCxLfDnVE$d!EV69iUBHA71hB+ z=n@WgAAWw%lQiz{>EX0&`lXs@mu(N-^~fYRmv-)Ln}qK@20wRlIy$6=ZeK36TFgA> z@5D&C|4v3^;F`SXi4*6bovq#}tp~2s!kp(Fwlcm!;H@KSjrrY}RrfT&0wi=yH~p z-(%+S`d)1HQ>QUz@>bsb6l9Y2b^9YmHVXO&YCNtiAa97{K}nDRiYj=%aj^Aq?f__aY4WTbmI<}_g6^^Z6E0yDUejJqXYuZ^!NfEH& zt>L%jT+9$@-U+a0z{er5{?PAFjn5}xrY5sgZ_Abx(w9o($^Icw76p~_Uh2JkzcXVw z%mF{^i6Db@flI*ZFVEhSB>IR~MU&bk)nrhO7hkaU1p76Azmb88Hj_w4Ye>aF<77Yp zr@64Ou+|)!6}1va0tABjbPpXcL$~{%?$0-kg;E)AzZO`MzS^cX%aoWEh`rrfY(TpX z$VHYh_zX*Q5nM^5_eb{Pn@>0Hv(lb}c3a+T!0RZ!Q$XEU-u6)c`%D>kid0jZ|Kf(k29Daf22wljlOW3@m|;Xg))Ow2KW zin#Oi2cytRZwzG@-fYv|EL-W z7#EK1UZ{Zr8)mt*kI{<(mWZnA^s5j7vCB7~UnA40S;N~|xHNS6{ z6$G;P0Z8WkeCc9dG&tWQIRxhGH3 za=S2A%723w&Bi34lWm$^o3~aIiWb8UArwCHVY^dDXQ@Vq0|H01I5+eAMU4mn290j5 zs$etvOQ4rZ&0!Ee58uOv2@d()WlTS|BoNM`XsGEw!Jp*+hP{#u@#q@WLOUZ(hOX+D zr#QHyP>1B;;Fi5XB zl45fSr#=TL<3^5CVn&LfyJY!L@*MQpUf2lsYP41SP~EpTKimkB$ZQb}3CC@`Tz`nb z->U{R{niw+p~u}IerpK&j{U-gqkTc=(fS7iANuNT{t8A>=kx$iQQe+UiD=j)X0#To ztBoc4K^qqZjYrz!Z-u#kfgsieqz?>9jt&z~41EpWJHm;7Fib+U_Vi^(SY+j!JG?Uo;YM@8PW3AORgoww zDtpGr<#ldlf9rq{1}zRn+>V{ROKgDYQTb()^YlX227~<*a4TDCt>Ar%PQTu+7(-yA zWtnBU(N;E9g-8$Jhm~tG9s;vI4TQdskt+D0zOH__$JNcH^yb@IjbkUx$-292h{Fd7 zctehij7@7hFFNlN+lhWfAFVj4^KqcDr|iSpDPy=BT4HHQBAWQ`?&+UGGT0M4xj_BU zqa#XEB-21k)H$W=n%}ZNBSX12L+uE_r_J_pwCzM-9MVk0c8#1Yv=l}N~}W`G?|V5n_^og zH@e`0``v5jho(@Y_ORQ)FV>f#N@X?{O{U=aXp8HIXEc7 zy+9>>h8zY(K-isrIie_#j|_j_B1hmLH_SpP0CD<83XAz6#mx~zXbIKz+TPfxYJX;O z^6=bjm98i354`RHDsj`f#fP;&d%yKb2Dit`Acgq`YMzE=a>bbJUStIbi_@s~hERnk z_Vv8~1@3sj#ew)|Q3vE;2d;p1ZV@CH}oNvwyT;LrRq>w)VsT&=(&Sl$CV@!}Q9gN8FK-5wEB!>coMgZJFD%M?TP# z0593f7soLlp(^4V!Z6t~(;zx0Gd|qlUE^d@_U&3DFH=p8+Wx@KCgpH`CHfeL9^M55 zn1aRbN_klpObF+_e?vzXYd}{(TBnoSn;I|4fSXuuD{u1DF8>vdWf;xC88U@VzFP#Gpbaj>b<5rc@i8SobS2^ip zCFa_R(J?JfzXKlK%I8AwT=KDAqf_fHl=+2=(%V+t!HW!5ygjZT`o7x)anXGaNh52x z9CKl)q!Zr4$NXM-=0z5A!CBb>ag)Psqybb%(>J;a6y+vRpSGv@+!e#>l$lTd_pF9l zEn3EEc4K=ouz4j+hQj`;+`?Z?)!!cO=PKujKf%0y$9vS*YNi_c5kmAz(wp zPN=2d-J9H>cZ=FC&*fQrt{$Irk?21wp1S7b=(q3Ri1e_kfn?v)c6NgZr?3%K+=F#A zu9U}hkYIPKN`-ake_rlv{qXJE%S%30MP6tUvQhuVC%%gkC0iL}i({gNqC5(B6R%Z-A7hrg^o|vJlVY4G#7mapMny#Ec|26v<B3Z^67-L96^=n*;A1+acoMWp}7)H^U{qGemVv2Ev#ZL4D2 zwr$(C%}T{~Dz;UzZ95g*?C#y?yT4&+jxnA&S2U=x#El`(N4N9#vNmaHioiYgDKH<* zx*ntv&?W;;1zo^21s*vKwL!3{0qXVk+(2QncXG*W*p6x8+Lnzrr@MGEzLmqUZ>seO-bp7v5>oPpX81vcCb33} zQG?BBMusrErUA7Q7@-UuY@vCy!Cw|p#|4$BxTQfM!l-pg=w|*(-mo+hBz4fjPk7&{ zpBg}M@=?__W#En)O8qBTqK_Om9|IU60`Am==>vqS<#%{?X>17TAGmfAVC2I1Ri+8C z${9vMgBaw)wlCW*U||o2t-$mNy^g{1?T9VH4DHWj^5UCLLnru>-hP*!P>hSK0Yiy^ z5>{HizK$AWTB=9yCL7D1O6gzMB`BGFHw-S47ss~;vgNh4q24|w*a+cZ34M(t(gP3% zz(-c^4Wz*gSw7>a3^iK*B8G~$gy&Y)v;h{KGH4|J`6JIeEDSZ39VTn1(q05kyd&YT zAWWfhp~Bb0q@dC#0DsY}s-!=>XFTv5dkZy7a2E4nB@bPOIwICZA{-n%wmdq3(Xjj%pM{O!1xfJStc;*)jBUL&fQwcW zki>oJ7rh&1az|F2jk?h67RP88GB!ILKZkG}7~)Lq#4FN;@F5d8ISXDvW$Sra7)5^T z-+5UVp zAK4R!J#GQbXUxQ!h1g=qg+K3I7cK63V#-rD1ELe4Y!0FLZB50b0GZq z)4hVpl-PY+K>6e~()FP^*wJ~(WF9^#3Fdz{W|Wxg2=UM=tx;`6&nl!*SgcwRQs2jU z`lpm85dtWuq)#TNE;0=Emz}XU*=1&gdU~8(z3l2ipjLb@A8bpUy2&Yc$c1re9BOBH zRK%8hMaOR55=&2ZowcMc=LpOKD}qL!5bJm~ZZ^L^)!zdsQmNAwEbB+trdZHcVlY}Z zoV1iyw!B^nS@raivgQ3Z?Yn;28Ij(yYM$PlX{&?o45@&=jvWWi#iF1s@%=gCpkH!) zKc5PFg)s@aZVy^>>6hmc9ds;$*B&HD;d1+~uJc{anihkQUMPkVElXv&PvvQre|tAg zoVU};yoDLc(83Hmlr_#=e~mOw=xzJlf}7h+!Hwi|foy^UTkmQOGeyZn6y6p~#pFxC z5=NrGKhRgRwTp4Gma+N{P(mlSllvN56Yu$P{hwgAgz|yx1YMj}7gbcnjVg|g1P1_u12L+hDQt-&oONjkmEhQu09TtV zD0|8ds(^iD$q$H8!@9vGN)jr`7!72qYW@XuV;pHo$}JLjv53k*Nam$tS8@N*tp@4U z9SBE_xdhxU$rlTs!UHA(<+JH1PUt0hk47o3JCaveyG_!4JSxE-QKUiq8tLh?KW=8}1>1Wl7+Bh=Bj z@;Ke&&(rf|^)EBP+E5%5SENA{L4aWIkOK%_m0YBTE(ng=Do@AG1HAHI0e~=nSfDc7 zX_GCqNnLq1i&=_fbf?Cu_ek%Aab{zkQ5b1tJSg;AT^5T<`S+Y`V@E#9q7?>H@kQjf zkiyQ^le7tO6*f%84O!liVZ@(~25P5e@wOYZG~wm4EmRMBD_bX@-qMH{bOHdUC6h2td>Nxg2N-<}5i=#g1LRc^8az2wdbC_imcHFY z;-P`IK0<%yjO&(;!@~bDq5o?>aDy1vZWja%(z4@?&n4030zD#77(;P@v4B!g4nJz3 z=$b~o>5&UdEFyUYo88O_5+{}TR6`dc4jSmHPLhekLLe-R_)yn1uYxIiIq`k^U9Lrn z85B9(BpV7ncFTj;*W?2b%HLJc#Nsi|-0e|?A^R2)N{tApL>%aQ1vWyzea90_LQoMa zqI^i?N{d|5HvqFl5l%fs1Y&k`QXrFiwM`lQLM;?dTp`SmLw6o+HuVz&c9IbmO56@I zASI>;5H5*^n}Yoi7{!cm04ixFWP$z8V0l#F{EigiqBsZ!dVmv&Bb*2c5c)!Z(OCoq00F8G7Kk1M+i(=Iprs}Pte~Gktn&cD z5I`=RkQ+kVJAr};$KW9y$=eTlCO|??>KuqS%TpX;($~8OX@z@7zTXuTP7LkUB$|*T zjz&)!ABvh(7LHqkW$LZK$gii1eC9%wY=TLpRj#GckabF#Nv@jTZS0zS$b&1PVRlj@gY6#gbG~_Dalq1-5Jx%oi`lD8OfhRRlzq zzy;8jicNo@S=a75^TK+oG=CPNTW|R;pStA`zz6U5dxy~*D5^Fu5PDyb&8Vu&T1upy zRz&~0@ZHP2i}rq|_nAI)i-(2Smjk$G5-d~-fE?Q_)VA$K1C7IPlN>IURGx#KB#KVHb?|U)4fuaJ;yNdeCiS4hP#gOol zvtbD?l*m>vA+Ro}Hgh}u{{k9YF#|7y;PnT@Gg!7B62Zw_D`s|>4Pb;zGw)e0Kj@*S z>^Xl!^UR8%f;oYskixVAHD+v5QzHC}*(ci9*Tg;(2n-7Q?nU)Pa1hz!k_3V)6;vdU z`L$k6CEcD#qwDxq$wXpsuqNU01=BIpQIwJ!(r`@%(O%F_R%C7}p(KK+DDDiSaN@{0 ztPCbB=#hP`Jsf%^^y47<8OAc>-;%uS7(mQptZ$K_l37UPVa7m(k02Mx*wH1g!MUcr z1Y!o)gU&{!a;OkcP(laTyaZsR@VWhh#t?}C1#tCzi3lqVdqTdT(OAtJiI|Gu$Fx?| zm#mmfz{v2jsA!<3fjdo9d)R|jF!V^p)X1$nxPAEJOp2jP@XC;LGJlAORV8U4_X^CD ztc}C$5~tPDZXt!DvEKR==lcYc=t63D!z;Yzksf2Ofoia@lLV;WgW_9VJdhIYkSL*p zeNEGBtcv0B68MEB1A@dA&LS%3!c%RCc?PI;n%FO=DSY6&$- zx9-K2*sBt%XnjFZrDh#4ggbn6ZuG#>ni?l5xjx-ta}d^Uik^);awFm)GE|g}xOB;f zhVgPWGqwwv8>WyqFx4=eR+2u;`HqaJLX-U35*1kSs#i7rqU^kjXwDHJ(q-Sk(OS^k zS#0J%vKuqe`tw5Jx^8LzaVz9HAdKmc0&K+*XK9&#J}{**YAU?Cp3~EE>xR?JAQh&Z zAN*UOJS)5|BV1QSVc`+e%g<}7U$0wDEbKr2?sZf~dp&v$vks_nA8=v8!RXc656`RO zezN+`w{0K91n@Y3bpwN`%msc(8{+iOW3Ba$^Tq0BRiD#Mn;FG~2vYiboD>1%7j~xk zvg{oPH%R`^yITwIeF%4JpE9Uout+nO6~zBGoTv)KVdh*f`+tAx*74ZS8XzR~3?;x# zf<}W*A?~r0pseeu_}4KzwrTxk?h|f>3JgGE3r}qO@&)DYT%F*4QH47Cj3gj~-~UNc*M8fl%-n1D`^K z$VYW2D}4SAFSMpQ&AX?D5dm9Qo6nei7j$e*Merxw+@FHl);N~X(ll_k#_j&`_+-7_ z^OnT2&9?#!*$+S5X(a?g5hV;8Qv0}5bX!G%v~ssws>=CNtyO4x7}BSfy`@o`o#!Lh zv*mqV4X>|elfN>nz`=tPyHRgH6WG|z|8X&O>gTkn&wKe`etv%DS1iD)1fy+(Rrgi;I$G@k7Vm$gkG5;$5TBTcv%OEM<4cAQE$ z!y}Rda}URyx&N;(i(m{^(5=XRHWgU9#|h0GWnMhP13i&iqH|AUgZ7T4yF%}xPe1uu zN2U#B1pB4d7f}^nwzZUCa&bs{W2oclG50NS-~$DEb#SmSb-bm&DqQV;fsO*5MqOBTnp{Vv;~HvIlJyG|@uG29gwxbsxMTYuS}Lu_jv6DLK1Y`4&x?A zvzH6$d0&b)*_zso7ol@__q{|&D3wORwKIsnfB3boEhVsSA$s9St4 zrkci%m%17BVLcv&f$00l&ypbbzM5ELYJ)_w_Q=|QBREI4*XKz&#f%($@NcNYLLWnO z2^*mY)DI;ZUP9b0gH5o@5n%$Xl~I&DaZ4nwsz}Iw=6hY*M%MP0W2>4^uir^YSQvt2 z_&kCHL^8h;7)V^TGrSsHV$4rb@P^)!`k%q%3c1;~1UyJkll~0)$j!%!vb;1}*?#|< z1@J<7Q8FdT8Kok~+wkps52r~yL)6d`4WCY>f$*B|V&KV$ahEs1Q>%HlRCi5XOh|17 z!+v;$WNNpZVwqJ?2>kL=h#36zzDE>OC!pTv9|5}h%$6#+X$FlUl@X&2Xd5#^4(SNB zZDhcGQiUw(Ek1#OQc+#rzIJG<34cQ`I|{mDDD%1TxQmL%;rb*pxsHmP++$nTLG?Q+ zY|zJJvpN{dI>HkDPU8}`45oHR8R$=X?&?SK@VysRF^_d*&PLyF+BiYDkb8S2zG%9k zB#FDep$}eIVRt_iTW(eGc_wETv*$c2W!BuA{7#o#mg`cC@fiv=yQooHEB#H zRzlc4iwmLOONFlzlqQIfYNaXnBxunpAY2>8x+6y+4oWyXFJ)A0F&ctnG z0j{9@MKk-pc&}Je&Revo%aAePhPxPLK^e)1TY?y6r6m~s)3bP9vAM$XEwGae?r*%H zn0q{35fIu-6cy$5p0KS`r_Jgk z%Q9K+O{`&x{lgBZq#u*H0YY`z`;A_V1PJaw@^e zsEel#Uf>cj((tWA5C)rxVxSik5zG-sR2cF|MFgjCF@CYYnH;JK<6fa5)*G|JbRs4E z=l?GRO($l2Duh1^sOT5UJsmNK9xp%16e~y{2$bqqKdJo@tXHC2G-w5Q3sx@HfV%JZ zWg_YDUVf@pUBAj-V*;Vn)iTP%`p*L_AzYxs+S^SK0{=m6HfdT@@cXazNlSGwMrg1X zDJw|vqY;!GmxOJI=^7Jygm^$&N}QbW68-8{T{c*f+xdaFTdn`=QnxKiR6|*@$w8(% zcM=#XPD=O-9<^u@z)eKoY^Q}ElpG}h!W;_h^q{Xrd`Q?09mE+!?HxqbG)vdZBU9ue zc+q@$DvPUXLBfFM((D1W7$SZBu$E%|l{dJC1f@+9oAEo4U%^Y7CI9O^PE9_k+jNO8 zI{%{|(}%`yq;D+|N_ZJnQ0;y0dhGAXRYUa%#f7%dZEV|vh(~Et61)gC?NXK6PXZkK zLGKA_u^DX*$ITp3^!V>mti|i9D2mK^oZ4)P&Kp#ly6totDnz*N?=2l$$z22_9|o!p z{qp7vgEq?#(``Wx^;Ef6Vw5Td(ORTs@jwsD$fQvN$+Q_PMwgQ>R|O?roH&7Oe9(;S@#XQ-Gi$9k+Dd&YXxpp9iE`TtCgfQokQ7jYk4@HWIK^xS+T3_s0r;s3w(<7G|DfbxXMr3nELUl1qzs z8J>uG-5h(i;jf?@vQ{I`AQmx>qvFVNN0#L&)1*n1`)QUfhM?MKv{}RZW7l$G{j!L$ zBn?P%Gn5dyTNV>j0Hhcs5%3qiQCb?q)hx{{C3Tkubw&s$^Dz_y(`|~HZq=>q;aX3F z35{?_0c-{G5$Srse*wm`49ckua{R{}ZxB0%BO;L0>k6%E_}Kds1lN;Zfs2gJB$N1x zu*Me@*WhlativyNz#&(cc%Z=t^pD+hW+cnExTNbC=#N5lpV$2ScZbQ^TFx}JHZ3#K zP{vl4Fj6tS&PtnmC{cwtaW+8GtH{BziOxOMh?-c{`+yo!DNEsUro-PFU6YL(Z@|sw zJw=sf`%{-`!Yo~EAP~7R-Dadx;ktU0%WnT7Dt*_(#tb)e>q2SH+i-O4Z`W{&8Gm_N z992p_W)XqE@8Ih6zK54HrTH8`3^ecf@dE9EfVs?!$g56D7{HrqQyO$?sqg+G`w>{vzJBip5VTjh2W4_5Un7!8)$fv zPNMCGm0V=F(rr5|IqJtBx1A26JD#Si^w?tHtf+Uphu}OL(opvV6QENuIi=%YK$xVd z^tjpj)q+MyT_fX;XW`@6+M+u{ap@dKS{5)xxt0zaUl03>R<0p3%doGb-^C#R2hF6(aVNle6f_QTv1Sins}u$%hT?0 z{wSDQ?87%nWM!SYYyI#X{Lh`SlP$EvA6VSq7vx8{oOK4u6g<^8W`1oz?SOO-EQ5%1 zJasunIN-@eK7ER;Doz-Imro@%Uxtl%@z}yXEdx?+=~46~As#FV>CblEY}xz77wAiV ziY*311!mK5Q2Lj6hmh?gy^NIf)RJQ+wNA)qVk$k2ca@DSVR|ePA#v`IYlGI>zngG< zb76AU1M|mSZPT=R?OjFJQer#ieym|5ZM}L1o1ix^b zi-}CJk`gD5l)z< zxa;XUY3s^P1tW+XHy81WkRbORI&QZ={N!k3^%M`D-nT{uL7uY?s}GgrFqOu^3dXYL zh(T{7(P}cmdzl8v0EP?5IcxH}L|6Co{$Hs?048E7aIKd_8XvwjkvvO=Zg7C;`yzz? z)OFFf=lqHZ)0H7Kj^8? zir&H_qBC^_vcAI9&XK6@z*~Y-q`4g~QJy*tKo=0aM<`CMb1i@N&VP4dgaGalFXA%U zSVbud&RAE?6r$q`r>@ZTLN-fTUroj@w-wOsWS!vC+lMq+E|h`9x6ax$a%3 zg09UZwe*66=BQ7nmXxj;0fsw`Yrm2V!rmTDb(q0ZA0KelP{_6lK z4r9tvj9*3{9~KhUq5$MNT$aZ!6x2!;!HQ5~$sD7oLVja}JtULG4R3+<&gB_x>Jh&1&Nf6dcH&60%?Vl0y}wo)N$&V9xNke;qJ5eOdBoQ>E; zi0Q7EMyw-^5<7$6x)7tX1TA!L;P-Uf{CR@=`=>a)Tx3OvnPWmhqw1h(a#qm%b55N% zeDUT>6lz?2AJTc0@&p$nEOzvHhPOoBW0dA5@qrn+KGTvkKY97#qzEhLW1VqIx~|%v z8gJHX1!rXDy0Sp{Kq<_HVt*I!{bEn{)%p;gjpTtOSU7d%+I)t#o#%7(%gr3j&1SV8 z^ZFc6B4pDT33>=NwaeWipJ=|=Z>|pC`uIm|Vt)SK%I$K^6+Ot`P7-249j5r4=|noo z=hYWh?Z?OaIliAoZYtE*0CJtE0NU>c!wyna^`QuQ7Rsf5!&6RT;w>XLiAqaRA!DZR z!AI`-J`HWcMlEzGt^Wt_03p3hf2^}El*gorfO`do79zPh8ss`Nh}gFn)3(7bbYn^E z`amtB?W`JN*$~#~FJ(8g;o4(CqGZ6j-A4Vh74S--XzAI`RIfWBSdNT`J3w?~(5F!& zrNJq%mRg8|Vt+K%6mc2*NuY%57OS=!bb<*0kvf6;02#pwoT`VIhCiNg~%N8gjGNdI?WI$s8Mx z_@6|ycE$-7hem7dvboIMnM*yRTYO{OIhV-ePChtNMUp;GDkRAN$c&z<*|ys!>ErMQ zL3}cx^;Hdw_uX^mTvxV;j1Rc*fwXRUsSZTl!RuFM{puAkH#3ib3$scs{ z#(pl$Y+4@I(z*Rp=I+%uq?13MFMsJu5FVpK%RoSm392UjX)RFiQw_@(Nz~aKx~dV!62XPEoq+uDkX@>eiwCQF8LO$|GH~C=;rd?) za2_&YUZwvY-C!h*=Y{v+(X09UuMX6yGFGhM*L}t;hGEdy%XOWkgFff1iC@D)Y-9?X zEJj{^kA&A=CvoGk91-Cgk#n@jHd)+YPLc|VC;AR5E~g;IeSx-=YFSd9W54J}Zw)g- zXup`m%WvOS=2uz7X=iq~sFr5+o#bjF5)0YdH)y@hko#QfbTP`K5FZjm7|We+FkikI z6GyW+molk^)=vTz!r4B{1Obe2vsY2+fTIHYG~ckHE>rYkz2L}8lj`R7X zbQZqeDf@dxWxZ#!x1m$S>%ZWhxEEC0bkW$8YyGV_n_*0sEegYz}pul9WOiArundwvpt zBo3-7mkE14Qu{rX|2#~l&-Zgnr;})If!kd5*VJrRA6tlXIWrBd)Yd9}GQ zNFDI^%0rN3@k8|SJP1N+5R4fG2j=e9XGt!HEuS7gB_;!&h{?g$lBf~?YgTmoLJfi) z+D3|gO^ZBIUzBB#k7tPN?!-UgD2auaLmNiK8dnQRI{O(}U#q{hX&8zF&s-b?GOz4r_i#0- zW2bn|jg>8Mo@p*)Y&!fhj1}|TS=QU`w`moy{2x6A5YE56Z8(MzgdHkBP}$ zSTlY0i%PMX_ZkY~f)S%iCgjmkZWc6ELH9WeLg?^s>Ky{}nM&_+2HJ})B2br71C*PCzXQ+)9ZVJxxBCfD+joy{SlLN0q}!Y3;c59g zzqPmn`A0;Bvw(c}OPJ57QN0sGRXUCSwhNrK)kul7x7Am+JWJ>@lo8YR;hlElk%WTr zr0e5Kes6#VWpE6F;j+;uwlZC#s1v@Hyv&2ewx|I#W;BuZFJ8`XKxK(d<$DdVI0|yx%s?47$!gpaM4yX5q z7lCW?Jy}lYsw1Y7&q?Y%kDytqGLh3%Sb8EqiU-PWu zB-k-xxe=Pe%aDhd2MmBo=!pm)!Bn-N_7fIH{%FNu-BlF%`RKQ5dmqFp6zZR)Qq z()v71n=`G?dC;CwS7@p~k-8MFGi;88-PQ`TW8@fQX*0;^ZNY)zS+X`>e!vQ*O_dd0 z#pIMhnVP-;tz)}u-wzJ_#~%4cW?L}=>sM|^MNHeMCQuo7p7*iRd{@pIPE#-RuX_NU!!I2`ZKs;s_VQZ5}UTp7J zyHO$_hGf$2uCpT^WtJO90jx3*@h0G$b!bs0?V)$3Q2Hj(MDe3&>%g%t`LjOSI>OQh z*WLI7db!bYEyqTIeg&>0n3{)zZ3YJqTli(0_WsWL8gIBXflWlu4~|qjYhIHO7#iYN;Qkz=^ST|@7;L+VuWlR0@>S;&#LkP zYO$f5ulslc#QxP`_U$~6@YxQ9(uZrcL1C9e-l65Z_ZJxaq($PytrkKU2s!1_0n2fE zP@?B($oI7z)3!j~8s8Nc!cIGK*k9Tv20K{ku2q2EPCoQdCFc{};?0+Krpy;5?$Z|* z!sL@MW@}bqAC>wF68f4jm0rf5OH|O|b?ql{iD=TVSR#-{;ZExArd%s>z zfCK_vD=D3@c4>C(RWF3&J6?qQ^?Y^KYp9T4FvIV{o?iWl$FPz_;lX!?F&6R#Q!9b| z3k$p4eKW5;b(uCQQ)K?bcmoAyA+Xqs!D8VIvZDn_TM91(@CH>y)e>C(^Gs%+SSO(I zrz6Ps*&MejL{S{bmVljE~|W*`YG!r5EM{YvXG^ z(eGfG)v#^RvZ3vaGDZp^5<|CVRxJ&Vf4HH2d!;tGAz2W_sHE0meFA{-qCzvt!59Gk z17%(^3-JQw%&8cH48Rp~H6|Q@<=PjvI2D4B z?mzMbQvr&ffe$dw!($=fttn}&mBQ#Ey^Cr!m&C}Swcw@se1GS65m&h=F0VY{;DZ4= zLHb94ScjLlmigUlijSiXV!~g?E-ay#&h3tW?GZs(%qAIKH$9*)1uGOvs0Ezc{GU!c z3ExR@;6K)&sdR}ElfyRf5k`=^d1s32tl=^qX5-G^d%g~9ENGcWE(^~#HCl@mj00$o zxcEHdG+XE$YY`vO^CSk$t&r-}$5MDY<1<7q$#K#oVw`GJ7tX*YHX zMu2U4mSty?;vzW&3twDl{YdmZLlk1+Aq(Y| zu8<%$6ukze3I^YDm1{`_b6n7{lGrXZ8k2S`^)>^`jvq<&$k=A?2U((I9(PeWM8i|gc+9{}wM;^!AZ_+Zhuk}zEN6Y=amLgNGVE@|TZbWT=u z^xA!Ai*?Flwa27?E0JRc?{!;eH~A@Pfekbktlm_19~fcBCr|c`XD}6^vT@*dhuM8{ zIB8O{e8XuB?u8GXDJ_t+dyfwU&f`ZBStW)E- zZlg0UicQ^S|7}E5Y<&=J6lNDPW-PCe_}Ay4bO<*SNel)(8yPV@%#av05N2e5LECS>RR5Hi0`Kp_hBm zzt5X$?bhOwQ(M)>TeSXu7Y8iyJa)JH{X4f5i=*o6Kteo2L zQ*6%0^GrC-Nrj%NqTjtT%H;<#_2~{tgC;p|0~ukP_$4=q2>g=MmP*JjFl(lC(GV zX{P9Qa+%BVcV1bTy|1CFSN0t%&CQb{vKw3zn3?wT{U98?u3xR5R@f=zYv}1O20TzC z*f4w8*U;Z!7+|*w|33mb<>~u?uBwtYQFnoz-mQw~w+zvP%yG2|dxpe0^!wl-vELAl0w;*G9TCC~j+4-6xS)Stq+(a`8XHLJsh!mHP z7MD@%k`(cSXBt0q(brD@h~Xgr9*euv&b3qnM1&@d5(b>N)hkD9E!z|I{+9S(LTd_Tku*>E zvF!1%2g*niUxXX1fYrgAXdC(-DQ+?^^5CADvGLmy=V)00%fdnt!;6fOoD6T)H1iPp zzwr=3cmQQgCA`gwhC`QG#P{Sec3+X-P$JlDnNH1BCQw2mjBAz@IA?_krT8h!Gl^r$ zY>_m-jB^75N>GG?LZT_lM-gqmB9b*lo?VIxMF0;$gr5P=XHIVQs1r*I#Sq9ke`K(q z*!Gu2gZ zugu^*lS>#xja>a5%Uo9Jzr~eGZ%Yr4akx2HXTbH8V1~)xgbS%J26n(m|MU=hZ;5wL zx8)1k1<&&BhTl)@v&=g;x3miJ<32ys)Q6C z#rA%*X3Y>((>~2~{rhvz7QS!iuIka6uuNNoUyXZ-8pd=uWP!xC%h+Q9r{V}J$ z$F{7t6K2;KO@4m1&)2T@SX^4|x3A{>)w&zoA!Ye7F+v6c&d*KsBxpVaEb->z*HK5yQX|Usme3+GK+$^TK7V$UDMuO25 z5g4|Hqf%{v0X~L7HtNk2lXf_U)}C{<_!bvFHz}Y{CC)6AtuGv>Sy4C zVC_VftMJ|Ld8O$JODLy1RXX0vGB8a^LtQ7 zDgHvv_|p3Up@)iWdBg$r8B6yuwOIUQPLW|-%y|22wIvOH6!u92p_P28h&JBJDDf%4 z315kB@So1c!MuBLXe8wq+;Gku20CoN^;o2gAD-{RePJCl_z33I>LM*(cXwv=+Kso{ zbt$EC+^1K%JUyJg+gp5J_U5XG(3rAZA7d%Ua&3iik40nqnAaQ4&a@@E{Hko?$tn_F zTo}=c;hG?1Ezfvd4F`=s8M+?N{XZLNTM@3wnI0~}M<&!_Zr(QJjWLcx^R`tCBPd6n zb#bfgGaUO$lCQJbFJpqKMliNy@}0&P*cKOAOf&_>3BGmYm6}Canz;U_?05XRK9UO(x;mx)>VO0mAG2hth}D zA}QX-|3%va&A#o`85%rJhcc{9?DCr+0j$c>PrNSd2fIwYN^|p-aoUK^9ksEH26;xK z=7wT9dvdL-|M~0KP#IQ=y5Djcr>Ks=_#-0ZRaqMze}jIkqRi{vW%f9r%t8o{kwnt(pK%&m_u;$XB>HA0d-}oT3$7zHS z35a#Db10pj(d_w0guaJfGR0qU)M-Sy6w^7Kbw*Bc9@BxoB*}?KRK!uWKl#|(ALFk4 zVJb2=3l&+H^-!U5a@jJl)!nObL5X-aJ7o9dyd`EZQ(Ed;Zv#L1Eokt$D_vHaw57sr zW$xE6s%H*Mg)c9DK;Xouvf*;>N?5Tbe9_!UhzO<4$y$56r}>tGOXT)tx{aBaW@{%u zyQwQx7h29MwFz!JMiB|J4B(s%VXZnZ+#?ydHoGooD*QDlN0m6}DeTr8y+6`zyjy(E zqtSjHuFJ%f{k(p-m-`$*$IS5^9SVvI+NqeQ(zo&YI*0aRW!6_*gu?eqvpW%v5EBZb ztrQjQ`ulEq6M?+0@AcRvo?hc+e$=39kJxiuKaxe=C5yNre2vNbHDA#E@m3oUg-{F3 z%xejSE2{RSx_r@N@|JQtLvgw8^v|3XJ*e>D=RMxW;T^0^0om}7fqgqH-ZJ~4Z%NMA zaPYHr#&b8+)$P*3xGm2kJP>Z|vPd^tpQi+Fkhb`8ShFKy#br3-6v=gA)xOErdy7c& zPU3$RO`Xt=1UKoGgu8v!E}{VD5}~gq(=?@Pf(oNXz{kn>Ujq_-{f*@Unl*|{C;TJ! z=B{9&$EbY7eU!d%RomUr!|$EA7Tx<~F?1XJ!4qz_6-0i-bmV88Cp%GMUzqA`lXzyu73Z-nQfG$=-fWlEC1Y#IBU~I-m zZgkuD?SdSrs0Qv=Mrbs%xR75>xFNLa^E4nJ_n03;bh^x^|GofKvlhsj?z1Py@bKE! z(Q-Pg${hG|us$7Sa2iZp*GekwpS!Az{u4EK*bd6x@q!jul3A|{q_3t7y34lvxK2;^ zT2<~EN1+&?XXdS3d!oPIDe&v$-RYP9tOFK)@pDcdWEqCBKVphgmr;A&`PEap3{Mwt z>ACx_N>IQlGB=i-GCt-}=lytkmEKpdeGwkVCTsIkY%_z7zP>sKK4iM>omUt3sz5F5 zBa~}1TUm-yUIllJ6PK>M7jO67ejKmeV*}gy*Hb@@z25st@k~+I=_*9hyq2Qkws_s; zNf{KWOSK<{XwfsorpjNdGen=`r283-MdY7VHJkj1$pbUx1SPmy0D*ox*@c?>1J861 z7~eyN8o$4YrZYWWG95j69`U*a<#9l)j8b;rgM8SN`(j5G7vi@d;TRKpkvNu2%?7;| z!5)dg%SpY7O?YSi_kQsqA%Wwq`IId0hK3b)pV+(^D5wBY0|=A-;c_(4$+=UJR)8gG zAH7N->yx=Cqqf4nz~W$(?U(tY`kntf*vAV3BtIo;ZW(cMI|e^An{mEYw#?na z`N$HpG;*Lvu-pr52=D4*|00`)nFm^UqBgx8>1Ghvu?Py8`mLT7zpuT>y2saP4^%DZ z518}96jA_v8Hck4E)la^FV#_`I&B;wUJA>xKh^rqvds3-?A%`x4{rRP!Cs<5nk915 zjB(mi%_*XM@YWA-0>TUxwv~kG4rFh#DdS{qAC*R?PW^>J=1&3c$YW!u z2M%)4)){Ji=icG?>ct#U?NX^CAG#l(iBLVe_k8`2&)X^}mS>td^ADMMz4=KGPO#7_ zJHDV=;GN9E-(&yt@%<5S$vrLWGGqOjhnk z=*0lN8Go*K!%abDEDiOpk?q2tNy}6?QIon6a)9T7%zfTyW8_OA)W+( zprL#Qs^@tay;6ySzD>Jw>hgaB=5jL>hrI!IWN&>5+WrzvPtR@l!^TQ3#nR5<>D5|2 zYUaax9eh0cb{1u8%9@^C$WXKHD_jt^Q69&+?oq|!@hxlZdR<;@me(zIQ>fvHBX4Lj zdU|;;Yu2??2qOYqSPv}u_B^O>&zMcrwVnrwL4HrG=I6g;e&5sr+JAus_mN|V$sNCa zLletB*Y7M1Ypdi0+P4m?qRH-bH2%+tytU6Wg<%jrZ?T#b8>lPZ0MQ@pGuix0hkyJ# zjV`@$jpk1HD=VJ)&(Y5iQ_|A37>d!y{DSogz1LE(U4(bSZFWF`O{IU5Q*-9kipVdg z$qWZ44MQ&o;2?7mhla|Boa_ax1T$Jmk9lJKN5y@^Up8Q7la$F%ulHRQXw;0EEczHG zYsfz(Dx_zN1v$LxeX+py6s#{`(7-b@ZE%xUekdu5P8i`)7;0t_&yb>A*Et>V#opub#0+G;{;nh~J?has)QSxrvr1y~{UO7}I7Hhe6{I%6@W zwx@h6jAAHZ5%(&&QGfL5Dz}8r1^>;Ux%~~me#;BZCxFM)3Y=k-2_m(PE_ptp-2fT0 zbfYCpG`xvyG^j=c_1_jEiBgcUvskEENU-Lf$-CKle zVq8Lx;CvJ<4m#xsKCuz${1L52aoWp>6xS%`1sS9DHXbIrFpb*@#N=uzEFZoOJb#|& zdHWdZ=l>boP?S?lUBM8Rsw@nto?}?{o(Sc^et=?9$1-!wub*^yuZw`0@h9m~JjUaC zfQ+H%BeFt5|5T>Ts;qj`o?0o^@1}Bg{-^XnG$z9jG)W2wkbC@M@n>h;tchZ7(|l^K zJ0e5nG6|#F!%Ft2AFoxg(Q`Ez2KA%(hFDky{KG)sA;DppB4?_sf*=QslB>oYq4S+5 z{ckjQ2Iy^9{vx7G4a%V+v4_gkL)_=i&8^Hn14>mXuXLOTisdDhZO^&aUv$!3F0)f_ z>aA0`4o^4v6NF3juL^UE>8r&S$?PVK|5cRu?$a>x3NV>+*U6|L$;HC>*4CAU)* zIrY)4m6t|gVT(?nKY>4B9||FJ^+1tYEM2v8xZdU!UQcKYXX!~Lm_%ZrIigRbSl{3G zn0#>UqU#R`{&j8vm>~Ia$Oph)dE^%K`6gK!P$PW~SfsOkq6&z>1OgF;lVQ~&OVdJU z8x^w*m$8;&A9-7UFL_>cA|1W|J#!X80cZn7S!Y0yLlA~8FEdsOA$xMj2SG< z7h4H;*`z5?3CU1y8G=ZxoLjnRf^x9b2-iZ{`8kagwU$h-FLbg2C+=mQF5&+lQPYN+qSJHjqS!Z8>eAo+j(>Ad4Is}hn=0-Gw00CP)v|;qXH(f z!%#xrlaAoff@LMA`y;OeDYJqLH-l4w6{+7@MCB)?zm|G+t86&_7m zxJ$>?%>H8JHTO36Jg_fI(l<(D8>mXJ(hN6-#YFz|n*P~nXim>bZ7%5q1^0u%@_}KS z;R#OBq$PTycxR7C$3)^A``foSe3p&O+k@kBzfV|?jYg(-=D;^d&akF39e74xfz!|J6UIAy==9J>kjwe>mC z$rO>i>3ltlRvAxY@Y_iCN)b-E{8e9~otJj-AW&1~5{~;NV5gW@qJoB4Tl^OUmUvzJ z6_->ho|!-meQrv)RB9l88U;8j3K3EFkNwp=0xhpQxE7(r)k-KTb&BzH{(^u4ixjH# zNQ-*I;JYB)(jc`jND(leUaZAuf|~I9--%!@ZQttbWts|QdcxNFAi*Ll zWBpSw&FIFNayA;;OUoPDlN(3XZ|oDrk+k#opSSdp{HopSM>B%uNKP@(K0V)8v_U$9{E;-l(4qG% zXJKy)Ze@6vd}`&HX^)?eUz4i!h#t6Lt9jXKcbn4PBlQj6!}8izUJqWy3gM6JU@<7f z{`CH4v+~lE?_;Qg28wQc88#%9Sbv_4_hUSpg0L$j8q6_trg6t?79|^vLDYaFerni7 zEbv4Phs4VB;edjV)}He7bMt1ymf*AKRg9?_xQAUm4^Dh;M!%hL=jFSYJy$X4H#uR( z?aT;_?bih&67d_5j24&3Y%H0%AoqfOm2x>WS@4%+Vn3Vlh(xKaL0`8|nbTmCgIy<} zr(s+b&aESApCdcgBC=3ml@+`X1Aq@rTwUc6p45GtnZ>>*7q&+iE*nSuLuq_`JS}l7 za9_wJ_GF>eGcpe8rOMCa$0>qQD14Wy5-uNri5GRRqWpwug&HH$#HG|?g-|iwSHdV$ z0V?uO5A*HOHjLPT40zqXYL(Y*@sIN(8`*68xZxnLtvL8fu@=ylfv~DC9xcfMC{ji0;Z^NMB3EE9=XGaePjc#^d zn>}c&KNoeYE#amk5EYM|S8xK(NLV=hVN=CvaoCR-y6f`ky1^tDe~cKW2c%J<;7$Ce zPkyFQF+CcIHDhGsyv|GlnhO|l{K*bF%BpHXD;$#qwHGKAi32dgvrZSihbDRCSOsWq z(k#LJ9n8HX|ETFu*b>p|`^)noPkY~2ZHWTKW zA*{d?1*{%t# z6f#pB#J7A^T?>m`!;U_SKa*hAY-qK$U1=`5EZ~k!XBR+ZF#K8ulITxZxdQQH;(!=^ z%qdY|Op?GB$7Vr48%?frRF4>(S7#l7mwAJ(s^8JgSSxY(2xefP?|W0NX1(sH$!hIk z*=cu+rsuzg2}@b8Ro1H0?qm9`sx{#;bA?%I|3EsN%b5~DqgvIi>eO}~@Ou-m8c7f^ zz@VT!nb32)W3EMrM{YV>fNl}SrF>2ch_gh&T5G{`tAFp)SMh}X6LIKPP|oNSl3WRyeQFv&%si5 zra9nLaS-5?z4E_&ZRKh+HGk)uKwJ~K~+4|(0n#z8{}N!ItfYl1n(z}X?Bo6 zd>Z0_Cte1`u76Lh#p7mFVSR2ygrIl#VnpOJRe;k0`Tze4<^+Hp%z~C=GgYbTZ~_(v zCoJjXAlp#a$by5qcI?*xP2z-*9#H-sX@CD%cX@P@U%$Z=e8sh2E)NR+e#89`@5qpsp z{ijUR0t80W%`WQ1+=Z@0j1|rcVovBP+ECXw4#L7JvHKM^tg7yaSvWlm8(c4Q2680C z71#%nh}6K)1IPY!GHVJE>Gunt>-pZ1qXZ2DCal1l( zhRXSI>y6#%Z-gM>mrbP4ID7{3V1mbtKSfW5S`~Ebu-B@qZ5xq;yOVt!!E?`49mO3c zypDXGHjD;bb9DkQ<4)`A`SV?nGZqDV3db)*J1!rzE$~-$y(y5b9(i9`Uvd%f5FTcc z!E<%4_9tcSe&c?AI1%b?1!)!;DuE!6P{E?s;YSt9REez+_va!FEjaf-3rsG7)tTnt zM}6MLyb*{3{V9Pi0sGeEo^VTjgz-Up$k4P$s7N=rOb9^B!=j@mrej`~|M1qAJUPZE zK6Jk6gpu_ki1_(2BZRX63I^|96ga1*6cQ2H@4-~8E;oMjq|HH!@F+}ov_C*vHh(R0 z0ez&|{m2FOW6@8L!vMMEt3lQwr$93DO6F}sd;2=R;)_C^*Tq!S=fxCheEXpU*Mu>y z+qLC_c)}+txR?&+!|hB@6Z@v;%OXX?-M5YS9a=W+Kr-3MGnZjg;)&dQRIic;>j$F1|rGDjCtDG71#uh-dknh6{*=8|)3;?OvvT z(e|oZ(as7n*kyK<7-F&$ZA7$T$9uJ~azyTpr6dhxP1;Y12gX)}_NpES=G>^#B6+$}#4f5E9cYC!Y#VQ-_EQ})Bm$||QxMez= z5^)lV=rIHkB`^(Ah_cJp!+YYkdq5 zNS)s{f*_Hp|H6T5qfYqYY3B$Ge^9w8u4LVasXi78oMmv~uNbZNFT)7mxWPhr4iI(c zbIKqB@GY7fRim}>TX&YTE!pP4u3qkmE>9y}N)KLM9}ep%;T?!T4?C&v*00mI0;92MhqRgKG}F z&YW^K5Hl%^&v~~+q5q30ZV#gYBJ2WVxHj={kwON>Q~mdBO^kM9s>mF5!? z4;>vu)rtFrj-q^utTzuHHwOm@C+vphmF4qjzZ`JK76=k6sgD~0O;9s0Qq+c{^33sz z3Oj6PqmD5jb=(xMB*`xAnCikJivp=9@oy}Kvy`pQ4Zm5`c~(~umD_|9@bjVCihWN;g}MYWr-H@;{Iokc@G2_98tDTG94#i|$LLX@da5caGVi@)2WsSJTrXd=c_BQc zI2WR*=stg^wKp*T*o}IGWG9eP2T=`7_)l*K4dw4&x0^&XxW&8T0;Q zZxpo*MvO=!o_GIjbMWzU?q#<>Nz?BP$pQ6y-D{fX?A`X;=2OmvH^ItEds&Q$FLr0` z0@%+#l1w~ebZBW2gBlyeQ%ng?AS%kJ;exA-ZmJKX4~4Hk>5#ZesS$l~)f{lAJV@;n zGW&$ubzw+H5tssML0&?pB@8(0HsgTts#c8o?|flglDXVPI}wPaICX^BeDz;5mZays zdC}PQyxx=0Dr`HB%O!Pp*8j|$YfoXW+>+H;XkD!p^|7YuN*a@|EOb3^Z9c_beNURg z*TR55|I-RjZoStDCqn>tcC_8o@@2sqJck2PHWA?>FW^D@u9Z8!^H81XVvk&44mk^> zpHv>@_q>gKo-H5&y2I;QbUoX~lzPMZs${<^Z^)p%km_b9ieWVho$ff5DoiZb^DJCn z-Vb!3E01@e9iGoQ+Q!z#CYR^rWS&>FGYGxX*t!$#vIV8rSQ9+SQBoe}JW3Q1=`@7E zcNd3c+aBi)-}Csp5Nk;eFlMs`w12l?)H=Szz7Ef%o(nf>FrTba+}@WR&7#zFVnWny zAow8H{r-*u`RK7el)1!aY?0C4uVHFuiwItt=M>zdxw94<%nhewU_12*=vK-)@TAD^ zT0@!~*Kx!+NFgoc48@lqN=S%^2n2$+i{|qdN;*i*8LI^Dr=tq^p(LWh^%F;(N|VpR zG!^Le7t?06?B)sSK4HS!8A&6ocAl-Z+a_?({Jr{K8QdKQ{GEJFI%b5JA1wU$4EYFD z2*ciOp2z(0Wzmux^(by#eBDaZJ%VM~p9b1II%ujoPgYX(@F| za-Rfx$Z!xY3!38h+W{6;Y8(nF-9YVCX)8yemhfL~aKk0OE*DS~f>swbBQGXDQF&%V zr%+1l@A^N|9nSJL7_F{{Q&zJyeJ-G$lcRVCJ?gKrx@C?3*iClY_l-$Dec6qOqU4@B z6AFm`fPd-q{a%!Yzj&RawUpa>0rbT)jkM+0n1Q6j`O)bY0=iG2>(#r*YN8ZA0xF=t z=j&Qk{uD<~Iz2K0axNyNRe8tdNZv%6vbxIFnwbRVSQeyvXw$NhYS6OL439QH4HFX+ z!{QaSi5c?CELnbxp`-fykESMMcR8viGNLB~pEzE?5ethC-l(mOOe^murWM*x+f85? z4dGX>H(67ygg386DzPf{`q#4;tCM4TvU-+;XbP>CrYVktiCsMgX?DyPv+kFc{qOUp zw%`I?d`*KeGr6j0x>{xLHF=4wv$K!ad3|MdbO8~^RyXyG+p!@&JevGHuGYN@1lRbJfj zHF}~*g)McG)AgQy%v`EB*;mfirrAi~Ln1(2|8k5l(**j)f)Rlzke~nG`}iCQaz}o% zirPk9yq5SSD_&icR>D`~SGv_I$0*a)v{o5I;G{&oPa_^mwiaRK40XM&jPyfO1abG@ zJ1i?9_Ouc~z9mf8kvD$X#i2x*#Vlnv^QsjFT-(}rIZsc!W2Rcz81DODx$TM zN5vrDz3LtIgKZvDkbr==JFvAi4;B9?MeOb~5 zlezm4F~P*#WuWW%bNXGaxaD234iuNP?$i6Z^1Pb!jRx0EW~EBM)9ll5CNz+F15Qb& zL%Uv8IDCv15*@>48uu8s{`j)w)Stg>vy&&?Yo!GMojCTh=$X*=DT{X#($x#eQctvJ zO@;!K9)a93YVKbPFR$mxP@;O&T9}-C1?qLre!KnxpTmEv$-3}03$T8a>mS~+Z?q%j z)doLCUyn;+YsqW#T_n}4r|%;q*)rWzSU-rp`;D+56O6?|ai;Ecg2h})@N!MaZq`x* zAIu3C>B++wDf)s@IA4PQJV}w~VM29qUEC}@p3`8O`>gS?I5RnCzGHVh0nX$1~BuAlA8p*qlgW3S*?Ar>RLE#_Vyu% zc#QUep_;Zi?Xf6`&N5}A>sx}8Q6_#I4*Nu;{T0J+aUfXjQA z>b4McC7S0$O68B`nTKhDQJlcmDhxMQQ=Y#6D;;cum{H@K=Bn)5aN!C*mJ)iH6@B{U zejwE1E65E__o2AI0cV=;io^ODkF0BA!t*ryMvG@-^+?z@&o@L=VIH7@V>yIj273Ua z4uZk)8)<{;AK;Cx8b9hkQ6&{$QuC{SgJ(UICrc~%&-qsuCCd)h zReRymxPY|gG{5SOJ;ZB%QE+b)bObD znei0zsigZ*kOub%6OQ2@g-Y!S_{j9b_#%U?a{XR2mQq_vj2NaqcMjvR5Nm5p1Xx8# z_xi6$6jmcn_~pY8zD&sXUZBC9N(iRMh1D4>Zw#Tv3bpqrvzO&W{qs(N0{{VC#E2rG zHQ(nWt;~(@dkHfVqH$bqwd_$T>R>(dV2LF}(oH#7f3X$Ma=3%>A$_j+>vH7#A;!~j z!Kcm3uWzGV;Y}g;cG9lyI<)PDIrOd8YVHa#<+SEG3NzxU;Uwmp2TgPHzUhy6YPi)j z%+8?{1|HejdYIIVBV)PQf$y`Oc7v;lciVPAdt4RPX#DH5|ebhh)BS5{V8gu4&B&;$NisHbG z7zhrD1}YIymfr^=sT2rrW1#HzQ1i1s06b$jjZUkX6or{sUC1Sn0kIW!^;{1oq|cE$ zB{bFkK#mNl&to15bKtx}{JN`4-?(`iV}!fuwF)gl`M7I&Q3gTJadbtieJ%FhnUrj! z+;~eGsyX}nnY#0K*rh6*)-<9q;gkS#E6*9c8zq&@hCcC&V63jlvc{y?JLq0|V`-~<*GKuzGc zGeZAlZj#M^1O&O~2YNaE;pvws{tbrIT5Zrr(`xTU@>w%wI1COlkYk-(w~=QnVSuAv&Ty#F;`g39%9wY!uNylrTea=- zkCpPmsW~_!g0<%DCtM*d3}lE=wl@Bk+s|PiF)UfI-F}vgxEa{6kal|QuT?DuKc5)b zm_Jx{2aMSFZcfduICyF3$dU-tcYjd99YKH@YX%4yGs;-GEo_=-Ea*$-%Ea+R=;}Yu zqQ&Q?KAd!dCemABP(b{1DfJNq2|4X@Z%aM^TtT^t2IT>#l3x+oN-3E+5*Ham7L2?hB&FzplYw|Ky3Nw07+i zZlW$b%dqIvvWYR>3;r0 znAkPbM3cR6ie2D7GbOS}z=ku&^vWH!KDD^ddkpFFQ&j6l^1Wy9)A(Ah*tO$6Zk{Cm zuryex!Pq1ZKa|aDjFmYzRdVKhHMqh>KtlCS!Ys|w{+K|)4LgSv!G{?T1fl9(a7x+f zBH`e?s0@#w&I{rZ|qYJUnaQ73kL+e@2!sRPkD<~7QyH^l95UmR=|=_seUJ5_fc9ce>6M8HCAu%!SLGu<{dIQwXkzNBImk}l-?4j7 zMVk>EDL<8BH1Ex|AWWx5AtKkm537gX-~W%4os+vcStcjz<~nTZBo6OKQ%sB$zJ)nQ z3=6j~A`q4m0E0mf>p#A}IV3FXzyV z{vwO(^Rw7etYq#;EL;8AY1qMC)55{%DjvmtS9Z>9RptcQ)#}6&NNKe4{t^d@W@W+Z zb#`WF729&md!L!Xq=_o?R#NbSaP_!w51D)(zh7%%`cscXn{~Fjnqs(cDY>K)7i>&b zaikh7BZzR2YRCDAA?Ak{cK!S|Y4|KcxPf^rNA09G=9hD-bmGo`0hqHOA$H2{nviAm z_jQAJ&9D5Z!hUGNZbB#-ZN=IG(_k;X@|Y!4(uvkk%sH{5(76}N*&KhR5q}w{i%8#b za!#8DbUfD7^>qu5*i(;ERnHLu(vPme7|j$K30H)bCTmHG32Tv5zl%v_79Msf?h(G);&-*XPT^z+I>6-xzdlXw;a8Swm|?Yv z)|cFIf)ElFK1aMPk@5YY+)h2?ydFayQ`$ z)?`r^GDH4x_q2z7^VJhNX{JBl+HEN_b8}v0OSj4!;)Bm2y%}i)@aKo!NIs?ZMwF5! zaRj~4a?~GdKP7n;?}bYQL0RS?b6`95SB)D;s_i5JWN_$6|HjGMVIup-A4g-M`6ZAk z!AlN>PSAzZpjgs5s?9Ce@1C8QfAwoufrA_-#Y#$K#OAi-oD;b^QCMmo-lnBj{~H54 zV}Sm$s57R+>^Dnk4D5VrIp3$tqyLDYR{)xll@JwD8t~u*b#pqoW?BH1<#-U_N@hY8 zkW#Ao!T*IqheQAwoVEAU<$E@fqx6R$IOP(Hu{dlDK0i~0D3no%Pq5QNLF3imC7|LU z$_#e4CXL-((fh{{UhWTf;1qA*l?gCW&VPcnv5Bn#b}m4h%maeFfmE~P3r;Aq1-*(? z;#XK>ht5js{`enkS!q;Q$v9S4cfLHt0ZhoEShR>h{Z=bJ&Gr3rJd6m{l`H3#dUPO{ zd>`?eZf@0fWd=}K|54^ed$N^>vPnxNO8CEngCb(&Rw8?e@fR%eU8<{140)=}4dEU) zlM!;~Iz(TinUe%ym$zPU1_K|Hhr4{r$uIs)Ca>$%jCx$997 zNHR?PkHYQ=WK`Wji)p_X+^i7XCVZLuHbYKMoZdo$7q0WKT@iuK zC;{*^m8_ALJ2m|IABgIW<_VQJLlMG_=#ZTBu{7M9OFnk+crGKPVw9I5@Jec# zC0?Wq8PWMh8VcI+-46YiHuA<#InvZldc=#4gUwYq6n-|x22Smpp&q{nM=x7Q+Nhx! za#@7PiQDx=EhNMBg#l)5j)*-V6HY}Zi81>B;XZ!C87Oe?SaK+R>^|jTi{`?^!wy1H z&k9>dAGK5YP;o)#32=e3w=8 zz68@!*r{RaN5S?}`&TM*u}Ue$LEbk>FaWx63thPSw-@17foSVt6Ick3#% zlgG$Puv&NhwzdCZ&>218@)}AkgLck#xsBmER2DaxvrS96B}IH40MiKAUA#&Lks{1! z7|4eOx|yHF=v#o*qxgN>_Sf$)VV2thB!ntq2c8qO#s$UyMM^q=S+3`TSR9?tpN{SF zW2geSN|bF;P+Pu3vCU@^OX8*n-FrJbF@~QkSDO*ZPctG1(psBq&%#|}Kw9nA+H%v! z;J3GcE%mImm(lv>n(7K8f%90=VIBaFKI`Ee$cW{1~ zV&We=+rI5m`@J`Mw_*&fwdU@Q*Rt+v0Uq6hh^(y6m6R+NeY0{aF_G-OgHiU7$B3;o}qBGs$y47ae_g8e0 zUp^cJfyE$nqi@-D6T??FGAEla-fR1Mx_%nCBCwe7Rh20r z>Uco`UogK8?Pz?h6TkCV?d2(J4x*ld8!W@D`9b?4b0G5XbN}fhn~2M(au$|7jHJ-# zo5nhBZGVEi3wm#b1bXxRB;MnTSx6&LU0)OXooU%rUz6>B|BRKbAWU0E`xh_dlEjy< z5v=lNN#_k1kf=8^ErRN;jZf2xB47f_)fEr>TRMUt=pqh1oL>0E7#Ny9aEK*Q|6bdH z1Ynls*{=&r>vEJJMSa5a42?GlU>}Dd-VpavT)G7#CaJKE8D2xD^?A=>$6fP;0N=y0 z7}w1hC1tDhII+_znmvqP;GNVPmtO_Yyp8O3H^-gT3$cjs$TBw;=`%bK_8-6mPJp*T zE2f?9A`>AXR26^AYI2ZzF@8YTroZz40~pfB?6fE^j1FP$sVgtRqma68c`YF1dMKn> z+I{bgQT*-mc(lYTZ(@;Sw4!CWrrE6RJbPsGC-UT?)r&xzbF}p7oi2kEo(*RN-i|!w zaU;Ym?^cqx+Wv(@I+^mlMA$e{JQZoMD14#c7fl zc^PHJ92;-fw9@(-y!E_=kpgVnGD7;EO&Rj)iTZ~L(0RrTUEp6@4IJRZ&tIm1#ykkO zL8R1O61$>o{)l`uV?eUJi}VA2N?M(|Ptk-buz?pyTMqWN&8y7tzfgz-7+>Lj;JA~V z-?GkG!ki+EIMI!Ss>TJsG7*)m&yMNqlKYD5U-S z>8iCNX1rN2!goJBQe%UP*~)u;?@1?3-S#^ERK18C(|rk13-ZgnC6<~PzSYWXA&g9} zM_5;7aXL++Ow0OxOR(;0F&G-nJI|zq^{%k%dOF|Q>nGREKY53gQ9=j}YVb_omgnDL z(mco;HO7=H?O2MZAJP<#-Ou@slpq&yPH~J4)&ONBzu_zskXl|i@I8M488(ES!S_B! zr8&i8zu}C4=l*P^A**94Jh!yGy5fW35nC<4>coUx#?+jtCEfIyAw|+j`Aoit1(qCF zG7-_Bx^L>@@;D)Fckhl2+SOGU5{~db4OY;7yi6OYvlUb@lVhhz@kCCb;cx=ido^5? zI7$dkN<3}VF;Px!icIle{zX_T1YXQi5)TJY(%U><_l~&}9H}8zGdy;`df00&h>V9Z z@C9e_sLmIblraeqNn7SwQe?MgU_u=5FI+#x1f|sa^>&Lq{N=^wFfjhX>KSofJ|CkO z$E8ODHw=`Jwu1Hx8ItpFY3q~`4Q++h0G?BChr=*^{Wwp8rPPV$$)L5=fKEk)_J8Qp zGNAX{o>8jZa^u^GGj-d-!A+8?g@o70Q2A$u$RaZ*nL;~X*@S0B+$d|Ntn%yCTYW>9 zhCuWAc$*CC;WB*9uAArfv7zSerB{#hab8^I>>~fl>kA_;v=c-mbl?VLiAK!kRF1A+ zpJ)-=9BGM{m`malLi`I6a}riiI|BRbdz8T3yF*`V5TD2O%F>0k_v>JP(X0t3cp|#| zN3d9)?;S1&1$Y0~2)s$iM_jWK8+x|gti{hp2`!n`_;Q;4CSan4*E{oOjc%Z@dkjjh)t0qUMxQ{*Jt`D1O^nWH5&3TKl#w1oels2C9; z4VH-OS57s&luGOZsGv8!h{hpt8XBDNU=Wl5hqj3C`fRbVuK;_)VpEQFv|1b|=)wO4 zm1i(eTMhetFgb_XwfUFp!?l>641f}^F@B+OE#EDq;tIJJwoH1^K)TrfULiYhdYklS zXp`LgzGO~$A4*laY*o=rnu zJFHkT{5f7*u{JNEZgJk;w{**l6Tc%fM$Ck;F<6|N`Vl_!51}X=zujExFNeT0UfjYS zNEZ{D7&^z$zh;eodG~s<=vrcCn6*_cbexvx|JLqD4%9pZd?r<_Y0qH$--q+eyRRM_ zXs`)%u3IRkxX&I{TIEt;R(fT;&97*bg5I}2_+hX!h44VB_f55&cJ4zzn+j)<;+1yt zq~m3)9;#O#HkQ6s9u2ip>1DH})*Xrs9=IJdIsB%^Wt1#d4uNZQ6R6sq+6TG{-(xC! z!jdkh^;|Qe1_^Mug`52@TcV=I`1iHY!3U)TrK}!g{gIs!d1|Vb6W{c9PcvRUC(`{# z(3R1G9-SB*cTmDNODISk&Xv?=n#48qE8u{Yje5A2;T$HQ5Z{fRl#82gWvbnZKDXY1 zvPG*=hOm}`Xoj16SNR)Kd=KN6?7aQ&!TE#c;UeG|Gz7BU;Bd77xDmLBn&i2|PrP=( zf7mkr11a6%cou<;_w9Bbbl9)9?1fTA)CjgCnHR#^1^KR-{A`I`zOI?5iPxGrJcPex52~s;AKcej(EgUH)Sj>q5uuA9p z%bKBPhG}g(PMxz^!^yIiK8ah!S?k*Dk=>F?)wi=%iOLfPRJ9>{nK_%KvLVeprp)p< zFcNO~^PdmH_aJ!$xho??IOhl(MU~7wiofGm1rLx3D=Y{~NZ`XDFSa9*+g*>YTQ;T1 zk-Iw{s`dDOn$H&EPm1#0FVLig5wmvpIVq*&$>*Dum6vC-+H5YmPaO^aTnG?9=%hiX z55_WiBFwa=gk9jJ?uUtoH}G=C*yl5*V6#(3^AF9{5t^UrkGPqgsF zy-quY>n$*st|2uyK?zLg&-B#J9{GC+@ROkBGktcoa3kAr)gF0s3b{R#*qZBueaV~ij$jdcjX4V;sxiy|FW~bBzd#r zAk&>`Jtv4~^__2j&gBXrK-4D=4nbe_<$KQHj49#g$%Z?|>JZ>G#4PX1UuQ!4JR}!H@0faXEmmk4~ z@(@Yb!aoAI z^E&Ah-Msbo`-bVz4jgvgb5sOm>;i)w4wa&cu%(YuhOG|ReH=$TkNe2*M_U^!osZ|u z-`PnqR38r&cTmy`EIybSjrm(hJ%nBcQ+6Lhprq~~M)P2`9TQQ@D}IG5kRy9z zlVnM{duaiv0ZjSiy%oZ@$L+n~xo&Qs#f`m*rO>j9NRT`0t~zDOD;MqJ4yykHBsqxk zTlnxOQ<)Pk$KPusLuU8L?z9$O+%0CI6gGv<;rPYe$5WjLj*=Mz&a0IIcJxOG`S-hs zm4>{*2HxCee*|&MLLh%>{zHa5RkC&eu4g=U+E5sCkb`2wQM)r%MdXxFNCXJjKn3+f zp}kt@V*zIgY`90d>^(E-afiO(4m(#Z!yBomt-vq-RmuVkvgiw=Y5g;RnKkmGcL})O>*ghSw z2reU3A9otgjWE+;FfC>N`TJWT;=e4$@-AX+TZC?^D%J{%&Y4SxdMNB%ernqM4?I*Iq`3u1i zMLHW**`^{;t)|!d&s5pT_VCBONjKjs_;WSk$~xJZ3PXH3EKr{#j2Y!>aZO3$<%6Z` zED4L*)L9}Ben4d}e2JAZ%U2H3!7_9R!UrCw0OzU!F7HEeIV?BaC66{GRPgKSZ+v?m zXPqZ2umUcuW`6P)<#0IUp_s2oNtih8^tbx6W+V&=+aUquu(g-TO@o@KB)wJM?h221E`BTJH6WrC-sFx0^Nk; zaX!G>2vRFR!feNXJGbDi_s}As?I5DQK!pWX3Ffd$ST~H9pOo4%}PhMcF6OZO`s06vfWj%D{a>e__TNG8s&HhAJ$`FwwJ< zy2aF}shm$~upn4Q)+-eja~@%p__RbMN{@r-2SoKP6hLYAPE?;)kVtWfnJB@E`;4nm zu#AV}Yiv6zLO2K{?&#TC^AxY!keYbEcbEWsBQ*R9)KrWh4=CkEbFYMr_K9$4(?RKd z&voDLXq$yvsdDKJ#VvvX&Tz7uP(oc$xAak$6eaBWW9vGxEf-GEkPJG_V%5A zLtiWu`2AI@5zX~;#vMlcuZciK3k;1>CGc-wNY{Gg2gB+_8}%@u=>d|s|It_oi1xEw zRBWagb@3wGUw}}~bj3*7CqbR>6lKDp3O#RDI3VrA2nx97yey0s20 zY-vg=gE*YnId|rJH$P}GccfB^wVcyUfw6V-X&d~Ly$rIFDZ4!2iSGqPw>U% zdM;|IH+N%vBP!x&GclOH%O1}4yjxa}862P(E={usmcay~ z0iS1AmZjR&_Ilv-(z|chbsDgq`_NRw9d(`Ob6Iyl@fg&FRlXl&WB!EMe_5sxvvvA* zE{pSHd~xds{4~Ubl(A}K^H4P;wD#;bZG#L(ra~j=h2@`BhMZ6bUa6CbTFLulI7%u| zoIUCRkoCi>hMhC5i!pKw-u4HKCi5GS9eCG@V)hMl^$cBq#l-7U?a*#I&HT98QS2QR?No zF{H6%7VCxHO!P8-De8qH75irSy1?C>({SuQ47y|LgkDOkm96gsKe)1nZ?It9Nr#pC z$amI?>c>t0m$`gOqeK8k3xr>~Xbq{%}eP)guZ1=xj6|xd=g&WxU237WX-+^0^iLa zagJ-?^B%VO6uL4jleS8gd*#_R-`ghLL!v}XU{c3`t*n>F`{zGCjOObR;eP47qKfB` zcYb>UM^`b|AiSCS;uxuq$e_qx(p&^ctr4xHvSn^|gH4|)jp5L3d>(MyAc@S-y<-SlymQ<(Nj-!i+j zOx%D?ZQvhWav~3I;t26kZSF7a0^(t<@D#4dM68wXl#^GYZMc(|eKxJsB&xqh570V) z*%BUMe<1PGsgAA|$4SI->j+x}_F# z0v~3QO0d<*iHEEQ>3GyVX~VJg8?;&#m9H2{J)-8+AwBb^Yo;^#sbS?(J3#>mkt-n8 zgoczU%skKVt@}_W=qgVnk|(Mk*sp?3;!ogFq=?X#Wp)_=>=skVYt#T9e~ ziI9}0Xt%IWYBtHz%4%VMbGRwJ`0cr3lID^HGNmUW^P^f-gseE^6e1ZGbf8fwtA&c5 zL!RrZYzHAWV3#8<`u+thvEnIiR#_t~Lr|v41kV)(kj@u|U480UuRT#5-M7GDoI%!Nh)&8~W_G>1b_ph-L*c)4fty`*llwcn(m4{BN} zY;>J(=4L>3pkJTz@6^f33u3}?&D$y~AS0drqdT++`TK3A--32Bk_S)8;Aao^gi@hO z@S~r-G|5jre+TIcjWJE;W0o8QVDFv14mI)h=sZzvP`5Lom6zg39GG{2ql_Y~RyXWD zYb5bbe^0Zu)%IeE4x0j3VL=-_jj3Pk$6Ri~fP)bG*(Q2EmGy*BnGGK0dqSxd+M+z{V$=ev+lz)aAgPz4NYVZ%P5GBdv2o1a;(_bq{I zzm?l`j_;|WHpbiXhTDgW`&l?rKb}N&prSnD)K)U=4^0ur=B}sFvA9B~ePc7ACup$o zNIzj=50r=MZz2zfX;o1+MJ;O?DXRJ>_}k>zNer3gtkuIHrY;M>FHTr6T=OPM&g4w% zWCOu-2`=qX{!qazcjT!x{lTa_1t}aIk3An$k_b}8eD>xnkPj1iO8}@juv%y#_WBHTm9Fr3^_)g^hnVxj zJM#o~31T^;SRl>jG}~;vzO5)Nrb-OgSfyWn**T*4tW3PT@%mlW`{Igmo)GDkfd<~t zoO9HryWM_wQ6$lgzh@e890~%ki;lgTFJ}6tFP%ExsLMUp}7_e~akS*piR!TK2RHJN5OjSz- zhA&mG9$^b^K`)C!uFD`#SbfM-;!+Z( zr+x-THegs#cYY{OLx5y%S`<|ElQ-Eu3=2K8D6k*SUup3>8;iIBR^^a%y=7{sV0{EL z`p>V3AkYQ(qEc|^ zJK}|DNWES?&z};YN=jNB2AO|N_8u!B5KbGhshrm!7zGly9@IW?LM8MJUo*Tz6ZchW z6SZoH1aJelcmw%Y0fNGc z65bySvv;=IV`C7_a0I^hwwbXNZrM>GMc>|4{&pGBjt?Lb^AeMfxAJ#$_{B0bdk32(3sSOu-$`?I)z|*B!urkjP;Yd`j>wue4gj@ApY&s< zPbPCzW+}Uc60US_uBiSeBzB*1Wn^O_<`Y8gpYqvwWmSIZNbyXVm%d8;_m$(G#n84B zNJ7C7M)O}pFFn0*O51<5hvU&5V~m5Q$>xU{gNTxRelixHgABl%lM3C2&N1wm3mSow zBF!2`zT5i4DrD)QsQ{CJ(N-5ry5qOMvUKShK8tM z?A1_bJX(E?dQs05*YMV6zZ8xtl94CyRP0 z!8Q8qa~P!*aQ@4KKXtwu#9H(71gdI5Tk#0)Ti*dJXK>ttu$#&SAwV#f@~ua1YOR&l zkb%+XRBW#Lh)z)cEp^}JoE|PYKw1T8A@nDG?mM|23f;|+#yBk6ss`cyN+Fcd02-yP}}J}CMzLc%Z=%g zPWN*+zLL5rw+efs%8}TW$~hy>pB&Y1x%0#KHe5M&noe&vR1-V89~zRM{PEm@DzZ_U z4i0HyL5^H!m*+B;7M#Cf|g~MRcz$j14ZP*&y4Y|J3<93Ivi~DuQmN{e!(=ONR;Pu_DenD7@1$! zp-hYj@YU*DVB-Ar%@mkq6WHqWID7}Z%KJy`ig@R!?<=8%aO>@}1Gq(qkygY*I}Oa` z3+zKyI8(+mj*JuqVd}|QoP&&!^d=-au}G{lCdzvDASMKj-Tlct;G)J^Y4;Zc5=!*o z#CJfLEzt4To9Ha+cP*()G+5$?vBeF^ETB@N(d~tLO_1YEB^+EyBrh8Bml4<%QUBpR z!2unxfMTR*`iOmWrm)B(Sy=#kwut-KsAg#Op zSeJm9Q^NK!>Zvnu@Jro4Ij<>IcyLQWM}~)Wr;qB=rOy=bI4Bp^Pgp-t_V&0ve6(Ft8Nw@)UN}G ztxxA}fsvJbv8BGWnWA73Nv4WwqKerZ1HedM4=p25rB}NtPLq1yyVI^sQkj`Mvz1 zy$aUNOhD1>C8Rf=s9a8Mxxen=iPTkye8Ks|cSrVa%oDs(i#75aO{_r9EDw^kA|xgi zd;1Bo(rdD|>NN36)v&mLMIf#vY)n!rZi_k;4S-7Yo=1l2&!k9Kp8y>Oh#o*{91{h+ zLAL58^ltdai#|dekRy%gS;fu1U(2_~A7dh#o1Ypd(?3D!RBHP}i$q2VAO!RlvqNds zX3<*0nS@L9VC)+w4PqyX3bRUQ`tFJp2*6ATAPpePGN-ZxDbB)8*AikL`=-Zz$^j$1 z(O$Lai4tQfo_!|ogUtZ4VJl%4|4=DAi0#~RcpTfz&TP!mvj#_%%fC9`8y?@#gpT5~ z+(y|%{1?ZljUXhfIEm7#jPGN@evmPG10E=x&I(>JmTw7SSuOdBd(tZ$4J7x43h?Xo zA70WO`fNjXic1aLn58n>XZKkhBV~B|A`6Kf&_#9z2V>WbbU96xk)9e)ah-XgThRgR zEy)}Y_GJh8K2wo1HEvq&cu}5Y$aEJ+@Zl;6f)l6KHT&)b*Zu-qGPK&?oscDeDJ2R( zgGlhgFZ`2l5t^Ck<%jBbF3*k|(qX`V-;SkyVNt27{niDcKT+~Sa9eEI6^ zHO8#$RT{qNAJZCC)_rEKBLB<^?t%Q}r$=q}pJHMaxVKkF z)5(k1OlZ(o^(ZxfNLGFOvw#-8_YR_$0uF+#^;l69ro`1m2kFIlslxEg9t3GHO$g*b zy;01e6DUj-68sY!FFd3l3W?&QZ#-SQ_iG`^F=JrnV~YWkGPAzxii<@R0?4@mR6N-H zF^MqR2K5jZ0r-Gp=*f0lh>S{pO|<}(S^>Vbcu#68$UiS*=2t6HFHOv8KKa#+jghh2 z@3*Wl|_@f&JY$fngC{G>ci#ZX2sYxOwZ8$U-khZ z=Bd75m2c0*Av^F1sMX{?}Q*( zUr?h9_Br5}v&a6bKW9Tf_;E{1x6h2SL6apgQ%A4O`8$p`ej3w}TBl|SI?J;nR3Klv zM_-@^%)h~_pW5}rGOe}NI8oHrzi*FZ{9NEciTnOED1Cj6=7#775Idh>E*FuO#&FoK zZhoSSufUqR>&mP(Y~%f81t9e%z^3-b36}pT<)}TNBoh8|ZE&c&o#H8=pye(cq%G%ezVR zLA^Xrl#JQp)C*HI8pLOtz=i4`^26z98cvqR{m86Q5xw)acB~{j44S!)A{L;G3 z!q8_I|1R_B$4V9NXCa4MGv(Uz7dCJqM1q1G_QW`ho`QkRvbX_*9VOt)@c07zhatQ= zgcK@TvStUw{%PhtT2|Y^gnjl((CB5i^T&U7XUOKjm&FBH6n$iY5GWDdKHsYpEXQ?T zxev3TFfm-X*6LqoJ9}*+Onwb z&~Wrm1%N~zKcg=i{n?-v`MSNES(fi>i6Y0#3%}76V{qU4a?l)tG@B3YBZX|HhsSw} z>zn<(yn=pwJ?5mnHOniR?`tyL4OsUEa`CGlsLJ%0?C^E`lrI^4inYr+V2RuvivD^FhOBJ1eg!v4J1 zj8OfKu=#2$BXI^nQwhI`<;D8=&-LDUNX*;EYm7h^2OiDp`HmHCg zMbE+?i=Es6^Do-UEN+0x1d6Qm{Q+r{JWd?z^FXme?!$|dIInu0Zy_Dh!{c5tAx#yvE<*{CF^vm;KVXck)FPK8*qgxPQ#C*>xQ z1hWY!^?WI5TifJEET`!jNUC%d5qB~{|LjTtDIsBcm5Z& zQGlYX)r|okNT1f`dxO(WzLDCGow|ZbxZ~b(Q1J z7D<`$ArjvO?t$bf-!=8|?3q4Rj45&%Ok%3>?%Cs)-L6!Ex`kEC`!FiH?+Q)vcAF{x z{H?r&vzar1XS$!Rc9G*U$wA!V*nj~ZPRj)e?0(w8=zk)*4`8~P{B|93lGKfZ3U)`h z*wH5|6w~~tskq4CNL`eJm^+q+C#G)&7UR@m^|I7OAQi7%hCGWG7%>`i>l{d`?J2IX zDCX_!QN@ zFBNimyRNsR>%Jy!&pned4zn149auLE0lS+Ilx_6=6P_RHpq^;>fIu%QW4D2dwPe`g`kDE1KH@bCs0h7JOy|?hImByr zl04YoD0nXbK&SFai2zIk02`=EA3Cs33(`6|7ouFnTzC9XI>$q!cb0t`d2m#oa0Ttc zWT+Aa8W{OiSeQ29iIJl@00QGI#LIA%J6SI@^`0dV&K)=pnzo3sRMr3%C3WcbkKPX- zptT%)Zl=)IhzFu0nM8_X-I6lK#WhhM)Jh~%^(yMcH~S81py9vggmZgQu(sNvFV+I%jT?ApX(NPrb` zLZHmI=UbmTEpf=X*Eg6tG8oodnb7tiTwzcDif8Qd|7C`ZEum0VZP~i(T?em`wEYyO zY<9w!%gUL?If>;2;LFI?6t>9nsA+Md%F&ZUT4f1|5UCXNgT(& z-BWtx=`@h3)nCu#LsnG2KKs}Khdyx06EwPX%7J*(cN+y{L^XC|M;qJpjir%63lAb7 z%i$SEwuF|kkVOrrxHMh-D}GmrQ879MhpT=Ta&~O4P5p@(lPxdfbo}bFtV#9Q3rs2+ zy82=)+~V~nT~kh;E|m4>HNF@IN33iE%erF*b$a}#1BX`sscB>I9@#rZ|JMt7{@A>RWp7S$(i9S|EvF(mW@CLj zW@RaSn{ULiHS&DrPF^>?PHY0UK@kPt`oUuPJxSp~dM4cR}N&-v*s+~_tV{011i3UtMSz2>)a-(jT zk;;~STE#EPN1rK12xDJ)(k5Ime4=dAXTH_iz~oj|LnZBjgMy{s{V8O!Xbdf zThmmNpJSft$;dw$E~Ah#@a{e+Up*8Rv!@2|6FXwDkP8ORLgU|b3>Go`+6mFhGKxQA zaKwPRSe8x)$2_EW@1O zM*hJ^j5h5jKnXGtj2Vc{c;J4lLp|83z){;IJ}*&Y8y@a!W-Cdq5x)ot;vRH-rGj3a zpJ;I5D3LpJ?dfjfyaOx=qMjSNzOnFGJRX5-w_xGVCwJndxTsvo6iTBZ9o_HX<_ENjZZqhWnJPd=lp)}$C?T{ z9`ybu&XpX`3&JDorh!9+IRL6ww8QPjKMp-vJOP7@D7UcKqU^H3MBpoE-G-38(whvf z-Rs;QrPXCl;M-g!#e?wDOjyyhGfh#UtC(6Q?TJ*blMDCn52@If?NxELu3$F!+h4^A z)j!WWyNXBe&>VP357)@cY7t>M%D?oaA z40`E4b{o=c#_S|VYOLprkVP*U6JW)W4Q8-k6UB;5CB;C@5?llZ0S0YGSwdta2%QQ> zSBYQ}56XxbssKv(*f!~p(}jkxp(NrDZ_uI~SI9bQ%;?$`5r8Bs__|haHCCt0p4$+A zL|w!=b=Amxt$xFxpJ5U{rjk0LvL4RSK5d2BY?rdr6vIXS#KGiWEu%#Sb>8vlRE#9m(_LM*jj0|x@MfG{=EAu?k3iREJ_uC_34*Eq2hLG3yy z&@iCgVr6k-(0{T+XDeJZsra$^u&OUnu{Na$Y&AbF@flsgHUBq`cqx(>uW|iUJA4E; z;PVML*rT#<`%CbjF4V^IjB9N#fDvkJCb&SniQwARM;nGzXHH`fi6Z?Q>tK)@QqWH* z4gU5832mJrA%Pcjf24}p;Wkj!<~J23czE=kk2@95VaEklVnfYN$rqH^3R>~j+!q73 zs#4yUE-_wQZ7C~8y|HX>7nJZZZrr5ULb4Pd{vrOI$f&Zi`HH&BK;;+#M)vje7dot} zS%O7*SVJqwiXa17Q1n}u&~=Op1Pq+R&E!X6Kl4IdJC4VvTTX}kR(1+lBo7xpX(>hi ze#2%6P+4{`EDG4i1*(Fa%Fo>+5%68)2B$zWoUq`*+mPFQb#auOtHFE6HTH zs@(shQaup$GJ#$P(LOVoFp$0XAI&Vl)37_q((^@LT^S-QKmk@ zh@u(U6IGh+ClBGDPn2|Xd3T+W5*4Eei2>p1`3beC?rq+|Ll5<+v*eLaVar^0yzYvb z#QbqFx||2whg+-fMsSiB)8UeM@2s~Y&(NuVEnjP(+-5Ma?@#djf_sNXhi;CNU2xoI z&Ec!nCB`qXsqQjkg4|PEKC7aWZlLe98*Y9=H8ABz>J?lNy3F*_EB7TwY|Zb~)lw%< zcpc1#gk5iSj4t$2mnUAzJ7Z+OKt;~1ft3X|RX24YbrYYXOpsyMuSjr@QTH%b8=s#q zPk^c59SZ&puIjfQmOS<{fV1Sa)yksapmj1Q=<*V_Bf{S##fLKt8~ z_AcS5?wK<_hcmW+*T;_p(|n#Z7}OOFA>;;$!yE}XBhJ;K>4Iq0GK_4FHZ^tERsMiA zG0YDyVh==Ofc=z{HcFXAV${m~h#E^|4+|1|7$RYwRZ8wegZ40lE7MREX zmqy?v%wLBF4{A-YIVLoLA?kNG;C06H*N?XqKh9SM-XrzBkRE1GSRma~qwZ1{3~*H0 zi6R}}ozH0a=|Akm5*03?UDHFs#OF(3-QWU+0yMAJhVDafs^d?4b8N|wdSl_!?C8Be z;eFGMQSdP#f3;VdHi#sfJoXibm3Y8A4A$@ev*Z49QLXq3yHQknR~9t#>Q&jw`}-}V zC0W=%?_F-jyp)P>^`@N8leLdH=vM9f7j}n-P{IqO(y%{Y6?PD}7<%zUQq+icJJe-I zbBA@ICuhV5ENh^Lxvy1I{n3CkvuUC)l#QBU8=_<~e#vft3DA1WVkFnGw$EDO_;Y8j zBXN$C&La}NYdS_2UIIoTWe4o-WNIXH#(4IYzybf(F`iO~SavjiYj_Vi-f@{r!s;JH z=NeGsCs8tR&@CYt=xveoRNRwwcX&&Q;nyh3 z# z<5&c%+8YKwfF`pfx>%K92Ilb6Vh(k7_up~42_YhWC@k``0ihh;DicHJP32V2_b175 zG(MjRJxf3VOd>fQ>KF81TQsXnLGr*QTJ4@rof@9YvE%L5%M`wD=dZiN2}tRtgXd=+ zCifb7k8k0HCiR!Ew}deE^~Kw9NIeANw8)xJTT9Moe+QWlBRyo)BH1iXW$-XppbH*X zz1c3Hm5i_wg>PC>)8&;CueU{5+nNxp7^>zhFQZsixZx+DLa!orFFsrcq`pPl*_ItY zc7y4RkVhv)gL#};Ocl%2#diGhuJRt^DxM|r+A|B)c+ha8*E~(!SyGDJ+s3>JEKGeV z{|jkmJgqXKA^jPmFl+x;S6mX-55P7vKU&4j9P9w*%j|q>Gzj@%88rJ%w1cLF60fTP z3UOzvKk9>8%W)rq)X-cioaF$whifgQ!~vkK;Qk+Q0fmGA_2VRwfIRqG9D^or7N|ZP zot_!8P)DjMp=v)B-XCIZ5Hz}GNnA2=##t!?aC?yEP}CDbJsrVderQEBCRuxM6Y5ql z2Xt27Ip%m0_39(Fa?plZm=@e44SNcG6>wuN6NHAQG>lNzk< z6Ru&`iasp?q~jcr|LBoCLcK{^@H>VC(&hg)uBg1x9f{WZJE3BGQ9|fE9W}Ehh#w%0 zT*U){MSx5`cJ4mrRH}nQUm4e;yZ;hr`r#p->J@UKRZb_#X?U#FUD|59>=n9nOg8N& z%+o#BbYL3vPl>~rb|6tuqsH&&2EAvLQ#F+M951gi+jLk6Qv7YyQjWzz5OUidSo7ws z5Pu#L2YhgzZSi5~a$Sr@q8in0u&>@-xlU_67!jVn$S7QWoCf zo0E|&D4Q9#S(dc={8~SZ`qEEBWV$d&JXyQ7W>AlpSrWQiV*irx&E@CZNy2op@ENRj~W5{8Gg7LUdI&`y`+pMGp!WwhIjc^azq4pS%{=31!Dz z#XO-k^>YbtoM@c(JP!cBVYvr52LZnQoL2ISzQdYP_=}>Zy$EY@@9~E(2{7p6S`Ynx zv+eJ{bj6=fPM6M2MnUoL`({4uK{$T(9^LKdX#{Jxiy4Cs4?3Z9LQ2Xqqsk^uwNeNR zzE;1CJwbs;Q1ijAi%AW3osjr)QF%-!Uv>8I-u|=9D?jtd1=rFvqwd#qu-TiSmoV&) zE6?y|zg|hvO$gUUXS^^imd0T}4wy)`Z=$9<@Xb7n1|t&U+X5t?xMceS)!r~zp_fwa>*c7A3(Q3P$gRk76B9UJE{Sm z(p4VkH-^;cCG-hnPQQj})vFhi=oD}C@1IO0HCz7J2 z3qEJDdDalJzFQaho3PRu&6iCp5&}+9pJpbNh^}M?YdDOyO9~b3Psx##^zLR#iO?hn zQ^@Pf5(%0uC2oGw16ySfsTK!k)onzKjJx9ZKo*ZVeHIJZScM~oHR~9+Z{~>`F;%OS zG^q$cEvB$mE2+)Xx1uKWmxog7Z!5zw(b!X1kNccuN@j{qn#NR6Ht8_e$jddtsXnNb z8Ef_qv8d_nS_@lbrsxW56GrlZg8z4q%`fXAJ*gY?zdrFF!IulkV^tVQPxz$8}-g(TOFg2C8pVgFJx86}v4;wHMbQ2#`k(sPe zAN7Xywa#cSF-$+=0h>Mj<4bl-BvSrS17ygF$}EtY_7|?FPz+iqYP59Mr5|_2G^ig& z%t#u%gxEgLzJ8nTlZZ6vFHS$jDCl=Z2 z0WRN-Dz==y{e^R5tlId?Whch7Mo09cE)?Jle8LUeV_u{CJ8DiMw*AWnat;@+%r$-W zK+tseoD`2EV_3|ru0(u@+8o9?-Xj?pUWN8iA*1mb-^i8crc;!MMiaaiiMiP# zrI;{-8T)SFb>R%2Y-4yI-|)DT+@2~MqQ5(HH0bzV7AxLg(NBdn-JW&NgO_~ba97b2 zdW{g(0vhTgjd`2(7micB6jK9EC|+E&qyTF7;OuBdK{F8KQhYF+-3rC{Lv5Stk$oeT z{qasBd`2HHw+~(T;>4}B;}@YE7^q#hqTcH@e8G5Cu|@2xX$rp5IwSIJu)3CjXdseE z;iK|Q&$c)!sMvmCC?T%YP+bDo`P{`xe?tGyUFm>I=#dS#UTgbYstarYMP56VE1rN( z>YedsADUNOsX)l0;w7Q0#7#)(_CGl_qdjji&d8$hJ7Z<=Ui*agc(5Upk31JHF|>h1 z&=$e~|Bb`JhlDA8IAOauz;8cpXi{k+_(|wLhsmYanepwZ2V%Cb4PA$~aTv$_KaQ9qeyCYZ0 z%9B}=g4QfFI?h@ttEm51a`3J zEWk#oDwSS1!cyGm9*OB>BtShs_wyh5fsgWhgf6Re8UC0Dbr?vJY-bEeR;o@+5P7u1u|wXsZc}?q0v|NY(3i+K4$b_xCxX_XpZ!iiK5A|D{f6$&H@S}9EH{rQH-MwiKK zDoPQ85Og}^{Y?S{8U&e;>^g#hBWh{=-XMF1n@T_l{}Yp-A#=oa;ywTApdSL{gXnqP zfH|erl6Zufi7Cyhh2sp5tL`%UIt$0Cjh-%%-ubdO`r}{1|Dg}@pdzo51RMH|r6CULEWcf2!q*kQWf_GJWVUDW*6uYi3(@i_s3y=c zKVP6*n!SE9z}75+Xgl1r3D7SV|1hbMm@#35gyuR^0!*V?s*XF>*fGty*T%oqMXeVm zcE89e8WRmisRo=BC8p2A;0NO#0|S z#Jp?mM3g1fzWBk8K6^TzJL5Rvg3%!emE=!_^F4)^k}Jyfau_Aw&UU}z&FnHMnMb}wRWPitq0pn>AuMcVQgO|2WLL?aLoj z5*G=*r0dB4)3)QVyUAx@ac|G{qgey`xa|ttmVw^Vg+m4H@*sTW-{_1A_sR(BKb;5U zUZPl@^xx05aMB!abtT_l1$OLrUK_#MDuEYJd2} z_u3;)DFbdB9WUE7fF1Nu)yxk3YpxJz*oFn<+P zsd}Rsvvdh8w>jT48)Q856gZLj?4Zorz18yY%sqSZ#Lhjrk3&i7MSUa6zm6)?a_GFi zE)nxYxVIgsA^p*x>zq?%-$CNPswiJ`@i>Jo{g*_~&Gn?oe-SzgU}3_j<_b#;Exo5a z?uZ(4gmSp1>SF-^LtoqaiHhI1v!xX(WNgtwKf5JrDWfB`mJU)+P_MF*g5M`#i;3ei zt2X?Jrl7(Lj%1y5-f}-7S|M`y4M%^D{owFh+y#5d|KIJ-hI^r1H0~9&fE1wu)*4^q z0>^H4Ua|i!8M$CPAwtI@N5Z$R6(OhJ#4rqM2;C0(vDpF zCrvXFjz}7FoN`?G)RxUJ=^kA?(dC@uaXR{d&~2aQrp7N*{q3CJ)m0-r+?e)5E5g@H zXXmEU<*nHB`XJFngGL_Z5`1y)-!gDUUk6qFKI#40* zd0k3)JRGq#g66&ipW&c8QP9)i=LVOSmo>u*27!`NH)T5|NZMXj$<*93#wmjHHg z$^N6>KPy_?#)d_WuP=UPV%-;cwORIeDPQM#Bf46+P$9Oy@YPu9<)=d?*y0)_ASvFd zbITuoy?e9kJeljV2i4C=?p-KR(kBDZkAfq?zsf-2#Y5Dw5{%~ywN4(1wwrGdn9>%tb3AMJj%Pu(RZ>MS5D`G`kJd{5!5JdkYMHh0zBCVr9ad+Cy5;QL4ks`SNfFkJNfk~QoX}6tgW@9N^G`uUZ}>1c%5*krIz>#!gG- zry7OI$26fh08`bg!K{uVR3ImW9HBdEw1BYOukY5Dkkk~r(*9fv52C|~P8DK}{trUy z0R-|=f44I$w^5Ys$2(d3nL*|sQJsB}S-!@|0Y%}Nz_>55v!8GD&yElo2L;OW?zL2IPDDWatxB_g&OtzzowruC^{C3<{m@fByjz#U z`NXY{k8Br9!g{{2gn^rL&-<{@K_M`Xe=eK$wlCX3s61)d2af?}`)kIq2en~KBB^TV z+5QXe7!rR=3SF#Cygu855vDYmue7Q{76WFBN#a7Q*AhImu5`LiJ}McY8=b%(c4EfR z6;j zYGz8}q37E>KaypG*y5nBSeh3EKo}-Qb{LPL;!W3M?r*u)5uUuZHySJA;wA|3H=^aQ%;*)->!y1O&U-Y^J?E;72|6Opo!(*-X(BHcaWh`~?QCu)qphwICw2(zh4SDrALhiGwQ@(! z+Wt~NFxhzTr^7Pp6_N4iPOb6j^64A2P zk*tqmSwA|Q7cLr+jj+0I-{Ysx(=;f5b-C6@i}ae#JY`<`k141Q z=JtU~5~a55+i-YWjm*yL*S{oCt!IxDNq z!PMEgA%hk`k=9j`bM0B;b^H@*FB6G+!2343qdwrX{dr;Cle=9jCTepavig>ON|Q=3 zeUnX++f@*UMlF^c9_U~bty-maF9Y_%>$ej&h>}ks+JmH>KEv<&E$iZQji@n`(KAuq zaoo?T@)VQ#wLQ|~ahw(L+=LzDXrQcHQ&z>bEVCvlX7%*Iq?iiu4wAoMj=&Prfr3Ym z%z)Kp)rl^788Uz(2cW_|JU5d;LUw=s&>!B;jhC4TPD7lMa2L!TC@7mM4&hJF@ClMA z!`@>9MMnMId^%NG`z3YOi!_*V;H^EU@0SE-tDFHp%DkQ;PY#T6;bh4*F_Js z4yo#Luf`wH)EhrGrj7kFnNI0WZ50}`ck8xJjkG}&C;=(nX#zqW+~RroKN!=$M4OprMJoD<0&eUcy*^y^ zcMe;scoHq3>Brg$G0-Y3QfRf=@5A&o%+R0a^G;^jdl|-|AW}m7Chq-T!!lTt0@Cj( zZH?7lpgx_wxnhudTNE7+NHBHuwXKZQ2q8_JP3+yqNc1F`{Ppn`x(=SQ9a-9INHJW8 zmrC*EOm_5dqSJdwuvY}d65CF|O^80Q!;BjIevgzw&s|dNKGZZ$TFpRHStO0@LOmd9 zV@`aHw>dOpxFf#O>eksHD+sUHFS4kopR8}NbqjK7qZ@I;7h!sA2>S{wl?Qt3wcn^o z#Tye{hohe#3&VdxMrQ6~InT@biwX5GY zGAYgHllRGTADNYHL)1=+s{0%qq6ra0v@)YZDrFT%O9Kcs`E2V=kks93){j0l z6KlZ4@7t{NIVybP)wcZJ6GvMLIp`A7S*c#N1B`Rc{6l-e?B&j!G#Yg^R9msM!yS>+ zlH+^M^yzxSp!;UQCin81(!q$0LE;k%hUB0;#a=(f=wIzBw;qrefAh&|=3qpna-m1g zN{0++5yG)JdcNnnQtk2CMOzg4=yB!dB?#6*pVXBB zR(~@>he`$X@F!L(F4HpB*Dw+%Tj{((LcHOho}Zb2o?wmeCPt~%T`<83PnDau>*p0r z8G^yC%pBD<`T1qXN9r9lmB_&oMfQXOKm+K9>%i z8~@Omku40V`01Y$aZgP#`pKpP-X{5E3QYS~N-bd!Y&HrYb2e9GukU&hfP-FFN<*nc zaWg{;3@85so}&fFkDrMtAC>`{QV3)%eiS+m9b>&GB9Eh6S-t(|e3Gz&{$eZo>LHh+ zfg&F#tKHJc5z}j{io%hcwq+tJ{obPAEy(|Vp`X?lG&l85FvrGPRiW~9n zj*==i_1K>)#^@Z)zfY4(M6bqOgnW9kf3POj%jq&)bW?+bQa-?L0N2(WlFOQ=rS&BdLCv+c_)d5lA&;OA^DYORtzVF zkF++VUl^N+v7;GiWMY4Spyw9mtUw$06fodSqgTf>4u}mNSJ~jf#4@GRWU-uzburJt zsoJg*j+_caA8LILO|fTY44gZ_!aLk;f7&{<#?elk^qHCQaNE$0%TN2uZjVUr$vbBn zd&`22;ge0ZvbmzRcfIF#&qc4peeTA$Ww#Rs6wq6$bG`VmU;CDNBani(V|jQo()M>K z*rhkm3le%=UV?D4CBOBV8POYEaTDMj+{1847a@|0%xN-jrmKTozD?#=D7BN zZ%n*!VNQ&SiaT9KeTkqmcc0tP{2{`l{auHnYcmA6^$#sOJo8VvEw`P>#`;>aNf*xD z?UpcS>K7^8vM3f_xl+?f1=T@7HS3{TKQC^w`m8POdjE{#1Jm4C4|{cqAPQSF5BFq&6vr`z>U!a-hmR(hz1c|zLkjio1F zDtii5rz5Ynj}35+AsNr}5gEQG`rOWQM3>J`wE>ptP?e#b0bEYRuA1LwY9c|P7;W;O zNJa=1#uCZoZ>;TpOR^uN*`?UEmyZ46n3{4Tot$$!KC<%?+mCw*(ZM$rsbT)W1CbZg z%_yR^ri9MsmL>a-Mye9Zc-3j1Ne&q+t@G_MjV%u`KmG>Khp_8(k1eMG@wAtqs9Uxy z;jCovsX{0^6NA%qEEPMw$`sZ5c7)+O5-{ZJ<2dDTlK8?a&ay(o;uZ=-34(TE``Iv3 z5AOVCi(#)x=7kJM_ZIW1EGMThI`ftCWd(E0j%x5~+W8S8jB-3W1)=FCG(}km_}KJt z0V#Fq#HGagEtBwIfl62hHH3^#l5%lz46rR7$ahFth4YS3S#oRSP@eu6_EdBSdqyu#D>R78h zM)Y!cYsy|kHA&y;v8baxr>m|kLBhM^e09Uuv;*CRGYiAr{itai)CFC!j~^Tq9Zt#$ zu2RP<#HRbXYce4;D^DviXn1dp-DG7__-v*oeWE$kP3fVogENI3DmH8>+zs_+u-XK? z9S%bHBr-Y6Z^2fNfUU9MEBL3N#yDnX`UK{~c#C$mViv1=+$n=@)Ay76wH9MZmN@=K zywC@10)-$>@6)9}n9+g(OQrb5TGVHAO!v!mt)&`vT(SgZMk5$~v*Ps@+js|)e75D= zX1%3!5SP#3>HPA&`LP6YW~fHbD%2PAYoXybgx0LgjsT`S?k1q7-TD(bQetiY7^kL_ z?Lv5G{=;{!%~_i(24P#W99f?q;YU;!W(+WrGI=kNx)Om$v>`MW@=OLN%BO*dOH1$S zMi4bY?+X&I_p&_ASMOm!!9R;anEMrMavt~{a(OPHA^d&xyQSvaZ|mH%DN}5o90blk zx}eboPf)~Y0o&vX{{G=pqsFJQy}NF&1Q4$=D2oI#@IZ!7$BCN774vo*{GP9~%d}pQ zbW2=P7(Z1TEXr=TD((mMm$>blP-|d18nsGY|ioBzh94 z&3IHW()L0*F?=X#3zlB1QT?IIZj7G~uj4?`Q5379`DUV!!3XW=I>t`+>C=}GR&lvz zmZ_n9{0(~B6b&NiopQLdc?@? zZi($>JU%(uFWw24zeOwQp4k2=&b9v}p<7-Toe$)g`gUV&xQ@NW&U(VbZ)@)sPrid9 zA?wE8p=A0m;lywVnBIMm63wJ24l%-K3k010Murcl`e~IqIR*E`CA5D>n%N9eH;+%j3B7e ze%hZaZAY|_$0+$7@@H~%&IY|u0_ho+%tnD=b<+io^oUDk&mU+BY8Qoj?kp}=2kDLH zaCT}-0v(Md3GN+?U8hkcwvOv*MXU+lTv(37a0Tb5?Ny(2bfdqOr2gl#RssM70JFTd z;W`y8JflmRCW4?zoPHcEpw#z8>!wWL;et>_6?mHEq=@?dN(~^vJE6DbGqcfuOL17l zJv)40-NQBUh4)4A1X=Q<%X-Ca_05-hjHylHU{t-+QXf)~_S^ZeWc-x_uf(b1C;Gb5 zXL;{%M@N#AZ?7c9Pt_UP!Xosh?|Z)yxMB6G{x0;No6nH<)_V>GCxp2(E^oR^qKTXU zueRy(yz?)A3!>g`uT#Ov9fYVT(SbE4U3|kttrN8CuFv5N#otz29QR8qdk%wxI{qbh zqX(DdvrW=`Wl3bD3iimv1K)P&dOoup<8RGyM}^DME#gOS0y@ zvzpamyk14e5VEk9JBAq8kp7995wUnQWJl)ueIXp#S#Ltzy9;cX84FIm19Cj7opzmc zZDD5B8r>`>rN;UpijRxJ?W>{*?O+AP zDGE#bFi_oN_TA-Xq1Swo>4zXEcf7zj@U+y3=b_L~UcsTNbtaBUAHN%S=eNvl`4=4Q z;zu;cg6LCYKRW!uPt51@O`zGLYJnpAw#UsS|Ua_dqCL9Z`F_rzdY<=v&42KeT*YJR5vySt~tI*Snq0N3J^qjCj;5lTeeP|yLY>&{RJAEU@ciWvSANfDeSD_{!$j>Z0 zHKS}T8wcwl`4ioWPeTB|@A8_rlssQMP3|DDT2H^o8BK9XA?~mOS($XNgMy=$d$NgQLai}Ae@(Zkc zS5)e#%&PONhD}G4nQlW9)#m$X0UZf#RtQ2#B5jezm01l5vYyDeFrLLi5<9wF4|Ho> zY{O3OAa)FFTrAkU9g0xoCQvKWYK$|2T7T3msY>F+#t(7RFM*I2>(GE(cND225D$fj zPl*-+Wp_xZt&FM^mf)16^u(l6XEW(FkZO4NQFqSFdGtxDHM#NZVNzmpsC&6gK}`tm z&t2-3PxQ$&aQuK`K>jf^vYs3|w_i^qc)S{Lg53fQsE&FG;8>!C@_bLTGt66dNBt~f z@l?byO68w;4jy!M*afc|_4Ove2~+>XMPV}5(b6XH?*$BJ%dXOD_{yf}9r(w1P!G@y zSvVv^btmO}7K(jiof+&{j;93&nEAk)xA!67$QbTVSAY{nR?fE{A3KA!a6Hy_FUKIv z6Y$PdqY6On6To+$tN8&wLz0aB%; zMqCv7?>;2BKB^+mRy2!IQMfX>tD!0_=UoVV^2i?M9ka|6(Hz;zr!k^ zYxP3;(aOA1YN)T0VzmYeME;@rMluue$Cfs+31=t%J-J7Z2-%(vaDRV&QW&tozdbiX zzW_K{W@JlQ`#gac~MeH z*G#jZcOPzO4^x?6C$oz_(H`lukiaB^1Bx@Y&OK;1Gn`2}`qEtZS`(P#zXktTfqv() zt^HG84iV7V^NVOn=}e9U>nULE=*$v>cO%;q2M`J(h7Leq&&{gLOr7_Ix6);&m1dE3 zf6S07^4Ns5Yv0Z*jmmAW=2ooTs!g4g>F;bzV`OD$FLujQ$uO}Xp^wu%Yt#{NjD$7G5rf~!oZe^Q-s20pZ>e#BL` zu080Ivk!PW5SHhxYpQR-qdw2mbNJ=^-`prkI1#sS@B0t*-2o)f_;<%F8bI#1Cfz}nVWW#PnA=-l#|#{W7Y`&R}sl+^cGl=$ey!i z&7Va2&E@1VmT}P6U|5DoO(~`!lBKK#(EPISi`1!S{L1?7u&+e+;(-$Qj3`R(8zjx%K)W1jI;OGtKYZJId`-fh<=&1`O%Y#EV6RJZL|G8KvI z5f|+T={Q0IaX0PMqf~*1==6Fd%uq4mSlFxJm^Q*7Wdo&8qee}(tBZ<>Dwq!_nN)8S zR3T4o(jn0G4W~GRFR7$r5Cf6OMf=R*Y@ZR}#>gmy^2h)B+4{7vd<87kmWnX;)>Q=~ zm!;v*%Z3h~uFLD>@K;27SaWUC38S5PUeroxgD}+x9M?eg36BaJS}zMsS6XvBBbL?) ztG{!y+tjhl@69~BZ`z%GJCL8Is;)YF}H-9@vD?$7q0=DrtngzfDlzq|QK zT?-75eF)DW9)twye&G%6mjww%=&|eDd4vF0qK^^-!VKgkYYy{{Mz=@|E6vrnt`q6Y|KukFess``jv?!I_4moOg;J)0 zKxvxLnJhG6amH6cKC<_s#>+TS{1HE?f0)_jFx025BhdO6Hp$9DbZ;2Yz8}npVhbdc zjVlv$QFCS6>fO)>csng1LnPQYGWc}w=N{D$SX4hpBe58G1|hGf9Xol(9gAD&?4`{$ zE7qY##JrPo*l-t=BZ)J8)BP)j-p+$dkD8|OEy`OEmNR#Y^R5BGz<_z;(RX3-%k;|| zAK>ma;C+Y*Z`U&$H17I92Bwr|2TqYnWrF!Y<{CsWF)~xenCC zs0MV z!zAW0Cgi_G#RQCE1HHsfKa$w}jEydCVRu!VjxdS0Q^2;A;dZ3#bhjCe4j5)ERiECR z-j>wT&o^lf?Ik^=03CP;$OZmhB`SX_7^q<2?Sz4cUa!*kYGO|C6sIwTvA1A?C^Ry2 zFmX7jJW}U$Y8G+RmSG&v4IE9oPrI*GsUIp#TJhPX7=VG<0ul2607B;du-5(cvX)r| z`&`#Wm&_@JA-ZD6%B5brC-Zn39ZO85z=Xg~#RR<)zPe1@ast zr&sbAWwt}vAg1zlG7x6x&NOTR-RD}*o8MWgP$r0}G>$Y;kvS$WwQLUP1nvubf5UOt z-wn-fchG#tYwc%44tz2%HV*P9zP?}W0cUY`-1=xRT-*}^2E#ZZ3^wtjx87SUO!>Qt z5v-2GgYiIX!2+2Z$I@aVDLpj=`!YymAAe2vv$tHDVWQt5lBL|Hn$70#RT!fW6KB}L zBzlRU&X5@8T2CPpSd~LjPp38ebIV$0KS(@fu5H`E$Y+b4-#4VUbS_&s`yoG`e7iOK z$p+072FyG7mD865@?4w=9M4kU``N@k$lJpYmc#fZO}^QIwon2aVyf2;k6WQ297S_trdZMpx+rV85{pg`2#cgD^1;XLn zC5vVjEdGQwP*xECg4->{bF73^F!1KXfK^+wU&M-54JHN^@TO&HsX=?~`CmN0r<~gS zxk-_F7Ia=u!TKNaP9=3 zYac#erfx_t{))(!Vg|!!rizYhGRY2~e&@u^!S*pPd*}(4>Rt<4o^>`hU!rFE- zZM2(~xy3*SF>ls&^*fEdF+=N`-RpL*zR~R-NZWnFBu*zglU1*4_UgIhd8S&kJy0rt zD;TI?;O&ipxm5qvG)Gvx62~r(Nt0PMqx(DuGcuJbBZr*mP$!PeO)N`R)s!h`#@pMg zZQ0{w_Bnp+%6AuIKyItDZrm(O2~DO}Bp)PMCRtPa5?bP7-!J#eq4vWptx5dUjjPfXqihoXr4mj zxXy12eG7f$(Y^ZWJ^z{E`cBTI?+m_ovn$)V5Za1QC*rASe*qQ&C=Yq#4Ic&mZP+qgZ5B`! zOe}$PKJ3piSuf?a&fgOrMDRUKhO_WLhF?KFp%LDTe<&lEoOV47o>~Ks(FdTphU4y) zx$a!Ms1cyDhvOH-p=`BZUb1jTQRy^Z4?TmlAIZ%x$4-#*%_R$G{djFDB4h=k$u^+6L5ODVqFR%Ss43nsbI5lGE zq9<4$ixVSp3i^T<;`R~p4;KBuK{oyc4#54xJu0ZumH4wGZ6Vom^8FPiJ5kRNW&~FW z$8j!Rx@gu7*z@Wy36idRc{GF(4B-J0x7cNVX_7BF^O zf4QL^WQP$y0N_48O#YSN3I^U(7>Gp8Ly+KAN(cmS%d{Xlv?t1~L~HALga3Ej6YFB} zn!U1&U>rnH1YIQ%0&A=(ye+FstFyz%)K~dzbyHU1{j%p6eAdE zV6}%3ku35`i?HYfHWzy83sSj{(*f=qE-EITera0VY8r^~08u>Q+UOhBBGr~rz8(dKvf&O8`Y$okgFvw3weod<*TF4Cve=cIKrwzW;1L{V#S`Qx zx;KL*ANQp53}4@x@fqU}Tf6WAWIYzXi>xY9)x1=exWedVPo}uyDVWE!w*uaWR1%1^ zo`{7bVXP;J(@$PVUg>=Vipq%;{jLj+jyzV^6E~wgOy_RV&BiV6p6P7|_BowT-)Qwd z^}}@EKq@*ot!{hr#g{aDK}C{pjN87FT?GSg4h$sTV9Mk~jR{CJ(If3^$cu4IJb}r} zbBaF?iOSUF$RU=cr?pAFT0`UZnr$7eeQ%CBzg?ib=C*b3Gfe%rtS!9wRJacmKd!4> z_@#yOUJk>_rHf`h2NU#%H2UYm!nyVINzSAnHmq$gEonJg4uOX?>c*xs^#YzI{3!ir z68-LnFj0RHOc;s855-R{fWa`%ME@N0+hI3MZ%WImfym7dAcS8sGuKbq83d$xwY#tP zQw3oGkL7LaWdAOV=Ae-?>$OW-X1^K?5VxU6NgqGv&Pu?;K=xih$W00F5xhYFCf^%ak zdth-W2p<~{S!UQiLCZ2#2*JDyO~f#+qIhYAJj9I>qzvP(Ahpynn7=f=NQ@RW-fNQj z9z`Q~0g|_DA}@db4gDLXt`Z=mau>3}?+MF~`<;7*`A-BGWN`s~M*?49w8(So&htwa zhEK9mpL#dC0L({1>c+`Q_$!_g_g}7mjK@^Lu~f--$(aY&TWd5yL$q_nHsHXcI7zJ@hyED6j=zPs;Vde*GY#yWHW06+jqL_t(l z5jyi|= zT~3{Y22MfgxgeOJ;;vv|qGP}`BS*23$OF^1lVvl4C1Ki5KVw-|c7A02f}yPM#{rto zFF*6VlE&U)MqxoZT9nr%V`yrR!kA;sL&M0lptzD{lqs`^{1oIu`>;dz))>i&Gfl@- z@4Iu0r>HWzGK$$%Q8=c9ce`0w26=3Qm93gJW3CoSqFy4APQ^6KipKPG1bt@JXjiDW z9c>ab=p-bf8&NY+i|BVP#9o|7EI$!KI3dM1w-9>1qoz8>pdVNhX(?INIVM}EO4?{R-~|kj6XzCwW*;u zzz}z3y-GDnIcvddhpwY4B+#iM)-h~ST=9cL8VBb1Yq)U!iOP3uus?z8&BSR$D-lY8v2=MR8(9GGA=HeM6S&#+>i= zzPqTM^MRi)ym-t)T|-I3wGQ_;>qF!C zp04)6kp84Xc`52HKU(Em!N6Mq14t^oJDo~ptCB!PM9NP5BkNIyC8Ze0L(8YoN`?`6 z$K1L3ui}=G)ec2Dv*iw>|2;=C4_Ps03odcEJQ^m@2pbQdj1fq)4&SrbSJ6R=hTuR` zQG&uQgxjnegK$Hwc)hF5TjOeX6wBbvxa#F&5Ghwn(Iz2M z2IR(iA+4nPjWkY<@f%Kk%Wkxs3`$s4QA6b^B40JPTE7G!pq6mTRRAh~?|z=#;8sCM zdPyYyQFZAbD!P2dDvuRnLG6UA?@M?;#B@K^A24<7y4K6L8>wuhhpkRdFt+zbc%aT~ z+WL<=r~R298=K>1>h-QvZ|4Xer=!G*sbHXjfj1onkUEpug?WJKB)HWWstxl6lT2Fn z9vn8wBcSFC$J949I(;uNQH}8|IaKc3!M6OiwTJ4ac^CUV9W`}72f;sH)-rR=Na}v| zigkyXx_K>Wj^P)!Z}hW!kcY+wVHy3x|4mS|L2q&Qg?V0a)7rX7t?_y2nJ*LW2`>%d zTFM{PjpRMSw7aUEgK$*bMKCZHb1RKZ2gvll{Ap$4F@m#rU|EtiDeKS6+h>eq(gfT4<>iv&VBzn`aSmB00t}jd!Vo|Ko0DD{@X2?&+Nq$h zu#J(b>FMt)m@p-=FdmUS`**M$w$Rcq+zY;V{sBGt1&!PljUeG#L_ZK^Uk?*l7W@LE zPL*~2vjha|CH-~ll3^I4k|BNJJ@O4RuqNcH%-EYzw1ogsH+TA{fLFAgq)-jYTDY`q775_-(PplNnCN4$DMlJfq}KBo_cgqCiu7lRLT4; zi-GU`{O6OX+`c^ars|mC#%+tHtrtg9>4cqlCIvHDhN$dUSf?}?%=>lhzrU={9KP-} zV>-4IVcbO7zwihe*Jd-kIqD{3SjII*rihGHxl8=WT9izd$W6;!V=g3{+U}vuQ2K(P}>1oE#kwpm)p?laX;xRvTpNsxRM~I3*kXiDVD3u z{zQ*mQe2>4nyF-$*#-YjLyjjny~lTaZNG zLjT)Jk=tYSdgseiI{FqYs5}le)HW4c1p{wF49uLtH1oPFRUVZK6Ie|_GKqv4qRG6( zUpbuQAc})H<`pv%3A@P_mP5s_2nNu~A%Zt@s44UI7eMG2;1T=YX3Vvl1>AEl+RhP*6d6xQXR;)iA z;g+I%L3uZY)5tHK}BUT$osfwXLWr*c8ZHSipycl!`Q?b6+s-Sh$z8%-9I7 zw@^`NhP;x)>Mo?_Umwv|eWT2>C6AMe#7)_K&izHgSjY8#8FC?J@|Cx&nR)5rxf>)* z-H3Iy7HF1F;e>gt_Wlx-YlO4@z0iKNi`qFCxQc!JF#!EXA8_^FZ7=2ZstL#lh5^hp zz~l$KTv(HfeY?P1)3)J*U}}D7(M)DQ^#{V``od&>@_5HfK)njy^&^gx`pYGY<_hC! z7~tLG^5>jvX{2-i0z*$WkR^;R!IZNN#cEC4y<@$K85-Iq<`jF504avm*q<)d!So`R=63$TtS>HZrA z?foHnj>wBeN#OcKNFo^-Yo6ciem*2jdDYKdd>*9Qyzp@M-f;f{-=pyf>kFM-Yi}u= zDY^Xi_5Thb@O~DwdwQOI$A+~j zQDq1IL`V`%q=@N5LVV?qL9ah&RN4as|g-2Kcax5^Ec(2bLyb}YYL zhtGxyY({zQD*|zleJGBa$)-UnShf*dND}^tBu)y<3^G2G%ITydxGnS+6|B)^7x3ne z=z8iUUKA$3yfO&W(laYpYSwP6>l#qXF$v8XQ&=dcple|gi@6*+OhTBt2^=;dlT;6d zQv*p{1%_jEnka50hm8n44w?TPx{`^ETogM$q`T3FDP2?;#L|?shq7ea35PV7XY!b} z8NYHqxp|d}FZl=KDtI!9R9EAV`mf+*P8Wu^NJk58?Inj)5us>8ln1MrBE4m=C`@70 zLuf`nf&Hv~(6`*GakXtk-#XB(ZJFBLv>BBW?Wk_sVsckkcg$_+LA`t4zqJd)zG5mE zs9@ktfPv}TU(}7}xXcnV69}6?O&di)_a`@*C0MbE9pR)h;zrctLz0gQDVn|#P!t2q zwKa<7R#UeZ4TK)UO8;KYFw@I#-}nfWf$Y87+3d<0;1t|*na2;uAqSm4?xh{VjD&AY zrtRaua_$`F@^Xy(BH$F{M>jwNmj3H&Z{PS6;Qj-wnoS&|8tC}njR#>5BkUvOevn!$ zixMT@4b+gqwd5%#j6QsfH^(pYf`fl| zeme&tsJO=$16i8YflC=MR=~Z>oeDxmn~FnSoWv2xB5(v0VGGw(5+` z)d&H3R6vq&0V%^6m>hg*q0*>%$k6p8^4vKNfE+%3PW&U?gFi`qLnmK}<{GK{a-t7e zcQFj|z!nqXp}-!T_@wRDef8`EMT#iYM0N9&&;Xf4OXvrtC{g<$Z5|v@Y_9CD6v=Z$ z-Y_sPLh3kdd_sJs&%f@X*`cSoo>F@KnqvJ5J%KBS14LeICC;pnctQp~H2eXDmr|I( z)PYk|?w#rG(G7E^rwRF5NWQ%CGrG2L-6>}=!9h5L00};bKiu?J}x#|3T`ERFEn>te4 zgt=F?xv=G=uDkAg@_7W3-kF4Z$5;^pxvq9v^}b}X(-^_YzWPX{0S2vsURv+ILbDp1}BmZ-m;56M!qVs&SO4KL^sme1Dmq*e2Yh1pd?g#WP`g6d~LY%IxX7V z+#IVJNK|PNt2X604OSWz5~z_dHG>D}To}VnBg!Hgq4yftbk(!C#`$t9*R>!(Ync`~ zoD+#!9Y4PsJd%bbBi}@2s_^bnSQEiz6D>fPI-|? z<_k5I4MiwsBQj%N_FSmscTF?FxlzUJCc}Z$$?_0VJ zT-1UllP7=i<8xmRDJRqmKEz!xqL%~%y)tD*(JrLVTsR~?!f~tkdVGywvY`7f-FoWE zpl8g8hThDScxEE~TrmDvxmo7^Lht`rsr;ng?CUazNnk9V)u>TUwpUvvTmamRoVamdN!_LXdzg$#^r&@Qxug1YnIQM!6`_4rs}p-cpTcX^I}9Kr91jdvAX zKZIrp9k{w-mt^E#-nM#g;FwyhVB0QR@>9F^mi7AsM>zA42_42auYwlp7@i0)G(_F^ zGAD*@ibapr%3}BtfA;Ib2$uFM=yBYj{FB598rp3tkx#%sn1XMHfuNZsD! zcg813R{$HEvRjufoc;H(Jmt|cXtLXZ%s(9riIy&j6G;#=Vse5RW~j3pT6QqW~LvmxcW zO|)J;%@tKr!@7h1VP_IjuZ^exM+c@NqBEeV2ZZ9|l-_G{5Yi>oqT6wI*tp4m!93-YWBB_WnIq2!sfSM$Vr>KMs zhk=A+-x@cpR?sSZnJ|17(&$C_2RUVB_9pIcyY%GZ){oB{(T$BIi)P-9)bBrlW-fUK z%MXLmE4mn59)no+=08m*`ajqDiFXyu|L8cLmji#E)s4BK0#JF8M(JQJdoUF1Ir*{X z-Nb(EjvTLHt2mXq1V7)pbBZ(@b?0aEpM(#K1RDfy-Nyifn&VPpZit zW8;s3LY)|g!~q@d>*X-2;b+VVNw2)X&9G`AyhrZz+oU5?k1T%SWJo_NFr#e?Ifx*$ z!wNF=+T!~cFP`;$NLZ*B+?y|v42Xx|%|v8WxHsQ$;h}J?@=fbcS2eOgABS(SKgitm zyK=8zS+4$>f>OPrpiSfvyd5`p-M{K+D)J*5<3K8zk^U%vyJSILI(-?DDvaQgm>U1U zyY7GDlgM5yr{6G7M76sgcyb+TWG_4AxI=Cq|I&A?gsX18xrUc(4?qGqn~`alwq_4L z)7q-^>1O@Qv7p}cY2q#NS5dr zgE%4R*4MOZ5xYi<)YdmyJJ?SA+eex*l>$(H9i zJywRqx`KFee3u93!?!e@{g%R_ZN;HC@zZK<@j zmF~MmPc^o${;}Q;8)+-}+6J;Z(`LH6%joNm+uC5|kvb2tmA@4Xj3)+6b`^|S8`Vsx zzhVB$nUac@%jjnoV8~}DhoVs{0p(%f%V*7bk*ogy0Y<+~3YnS(xjSNn3bFa~A3e|B za#guEIRgdCzVTe<@V^2P58#e$&ydY4!vH4zCJr1fg7Ns9Y*>NCZ7x!Emj!!7jO>D} zOL+X%SoPG=+I;etn?MCd^cg>&9_;^oLCA0(x>6xp5R3eJ{;sVWRC%>o&rO=yZ08;Wy@GNi4?)UA!$0g*KWGEAh%I?u;~Qw=Vogmi%fs7p2EM-jJ7ReTI|%q+&mxT8@^X8Ea-pDZ5v^ds)yPNuue;(FVgvO zFpaqDtE#1Zxv~>9l22REGt4cjO~CbH!h(HDMYkR8=CE|-`YAOK4c6tv|189uw1YGX zbHvC^Cf)2i@4Pd1+G(ea+sXXMA$xnJ_`^Lf2Ds|x;j}(10zq%*XtDGE{j1-`f)WX z`%D?xqOkaV*8^0b_3EIysBcwEi}-Mv7^!u>ani}Anh?}&AP!7a)Jvf11ijaM2fJ6tM*|e8TLd-0-~Pb|M}-AM=t{WoD#`1$z< zqXyl6zYs~nEp(}?HGRtumJFjVk4irkvO!S-ZmkRF4H0_5(ss}-x4e&P+weFY`@Qt< zAPDf#oG)DRiFbLAT8yA9kRVsLb|Z;5w7j%0t0E zltU1{+%{PS&2c3RV3Az*+n{Lve!$LdXTRLaw+sx3IImBHl@YyY6!Kth(e@2QD9Q*< za8E9Vn4C~_vK3(m5=i>ibnZ7zJDEX--q|9?)_z$eq-^iyZL6DU)iaAF0N=kZ7B=MX zA`z^lr-Bm#Bfq#Lte<}Q?d#5EVz~}?*y)!VyPbauOQZaBRp(%^uw;H;jCmZ4ynMxmli2{BP9Jz- zZD-f_LJk%LHW_d^^@6pbYoS+CmfybNn~d*^3e)73%=)IS%=0PcDAE6WEqhb3WUW74 z8Rw-Q`mX!#KpZ-%`@`0j@M}qs=d1gS13y@YU*gyoa>vV9!q3Tylx-ef{-q4HsV6A`HEqYNR2M*p}(G5Y`5jm?c0MUP$$DbC(H+bpx?u9_UGnI;5s@v#Z400Ssg$QxRY9mp=BowCH_5 z(_)hb8meM?qMEn+>TFAINIO~+1a&hLcN6Q~BvTiLu`3(rNw|gPtAlA$Mfx~vIWpu( z5F_4A8`EW2-^rH_LlTd_LOPl{!yp!$a(G|$S9({*N!oEWe*W2FuqcpxxF|gXwdX?x zRb1))SlP$0mC(>{?Z)ts?7SSrrYrr!HeM<032r*{^X(M9 zKx?aJTy~inoo|``lk7&bO_Ll+A#ue3qhicO8LGNOE#*X#*eaqVGb2?JyF`lN@mq=E zVPNUPS(jYBV*SIsq3~VWVo$Id#`p`OOK|Vcc&ng5F1xs8)*phAM(bX3*6hD<19Dbf zb=?x!Lg&*(_9!E-t#pmMfxc~RSJ#~(``pkh9?_oo)lu5~Rjd>9iQv_Xzx1nEqM%#WFni z%*ju1v0sinFEiy>2=52K$ zI4=|E))GdB02keaa4Qk(treuh2o5*uL~6;|GgpTPkHFWBokyD@d0b!w&s{K)?kWh$ z@!*PwNO&KHm)iX21j)3?fm&*1o?njRnibE^LMPsLnaEFJVwDreV!caF0KU5Ptl9VE zB+ptW0u0fZc^m+R!cV9DYZlm03;KbJEU{D!!wYBuUemwa~8`RHT{2lW8EKcb=p}3H^Vv>%X zm)`RY`Ri&mMRV#HkXfO?2yUV^a$>9`rgOt3{$N^9U6bpXZy$MEWYQm4*oM+=ow6kh z_uEbTK6xFO507#Q+%}TMmxY97y!2BF!<6LSy~UW`!T9J#zL3c|jLiUDl|fHp_`m@86!|oQPH~pjvYrJDolJh*%NcFiAfD z$xohE^x&>kMPd=7lYZXLuC$K+sfLqjnvD%pnx~O&ycxmnlqqvv?h~S^-eMqQWQQz& zh2JFriF9y=FDAj>P*h{ma~AoViNV<8c@ne?kSEewJQl}8Wd?ePD{SB*h#O~bXeMbI z=D;qQ2bK7+=pL?pL$m5@v}inC7ptnWs#Al>I?ISOa+hZk2_{2s$Ss-4uumqV2B8_& zFVe$W9gO2zx(JWaF;}DKg-(Mst&+@>ZUnQK2{^4(P2i>{@ehmqyg&Xo(_u27%(PG7 zI2lz=piIGxz~%k%fdowD$#;lBEU`RJlI$|jKP-tdoF#9(z#wMyi2h-DED;8=)(^#t zbd}r1ZN=@3uWb+(?PitPZYCPH&Ph7k28E%+%UxwWHJ+s?SM6xqH z){gnMo;Saf9R7pfWy^2fFxN5NgAn4GMcEC^@ALz`pANAF#qlpWTKbtwS`K(&G$o3Z z>>+KBEr@81pM~jsAo*^F__=x6!WoZ`CclxSL5lWwJaYbNv>q)dot$p;!BqbSkB(nG zl6-RGKEGMJoPFl845|}y{9j4+I=AGwhqYz|&Hjss|0R4JS2uS9FWqjB^V}EDKR^zt z$HeTcb{-R8-|Cs1Nd;dQ@<=K=+`K$IG9(+7RUm3fMzD#RFQL(VsxvHuKz?rlr+yrj zkVTCJG0(7@b3`go|~@aMvGd4rrMR5ZR4%4nP9;lS^9W6)*!t zZ)-HFeFb9s0^+E4r(J_}l&qwgnX}vn zMPdD=?yp?Bcd%bJ<% z&b4oP!+gwyQ_sUBb&U+&mAnwt&g`{QEIGInN4=W-yA>qRr9<-D8IKN0d z#=Cpjk|KJBrOtFRVd4jj%O1Zx)hySnScf#bdyw?jfD!t-zuQQKN`MFA<~dteuC$IZ z8oxuHpJ6xcFrftSla2288PVhTYsYc^w~qsme>(AqZ4yKBIZAI_z#MS~#NE;4Hyv2l zBvbakW^)+E^2ht0TwoeXMaJZ6gy8PJ|H)r>I354ovS5Mm%_?RT7?215==Z`14mD|4 z`%P%T1o2$Ca;2Fxt#^AIAAn+JlE>Zp2KpZwEr^knHlW891AKqULw2SS7Q1+rnyc22 zHs6t?8;I7pQBmH*{dLBSycUO^R8i?5Q}5^ub36G_8^e?b<77@yf&pj>Hf_VwBh@vd z&U}nrAbgH>4Q2n&AvQ`%|qmX~x>$^@+_eiQfE%WhHIt zW(pdRy(tTeH+>YZm^Y}IrdZ^dh}d*GPAV?Uf{GbK3|x27OxefWD8JV0AFFO?sy)(m z%mdi*Or|GtOUT{E0r6(uk$qGoM#r$|;j(fw0&%N{i#XbFQHMa`y<{? z`h{-A_j+lo@xpZ%%_?g@S*%QH$1~g7PCn8(crmow`&jDwoV5P!9bw*P-ufAD+IHOA zxfsqW{zDir6j=!~c#KRKLqIVE!}2$ys5lc^Q>0nEe?!q&De!yC8T6a-DzbI}6$`_a zPywUftoq2RJK*foC}W=t-Rpa2zdT5CbJkJBV(5{>iv`hCuP$%fIAcl6jOSpoHM8?r z0QtNK0{KIviSUz_lNKyA8Rj$#%r!89<@!NUGZA0_xMTQ*G3}vH(oYowK2{Yuk+85f z7Dc>&Dwa-5+l_E)LxUZY>x_j)=Zeoq;M`ovM&=y^3#@s#XRH7F++;ikKPe0_;<%IQ zHtBMZP&fCSGs)z;{Cq}aUY@!6W$eO_xHrT<+{@Ko$%k?%nq`^aK>GKb$LgN$Kgyne zfM)5RqVUfUqYyD(f7)y(`iq{Xj=C)rNa$iL1eE@*&mMxf&?b-5HO!rU1@V>;8a5up z?~#YKRaX_J_IymkdS9_HxHjeCS~t%wmIna*Pq|XXejaz-bytmUG`7*#P7^=crASv& zDH5=)zQdDA-#z){gJ1LW@V~7K7I4c*y=WUM9q-30_7zEB#20U)9$bl5Mz;MQZ8V!? zoP45Kx{7~k3^Yuec?2;UgR#J~Fda9&|M-I+35HE1cYAv*(!4uY{(No}3?9}dEtMF& zXS8sx>E1LjCq82fhfyjEVFXKOv!dE8JnkHAzU8KyH}6dMVPg|gyHPX*p#Rhr9jGn} zgL9ZnfF$*lK{*oINjPEh_#KH5jA8Fh-Pruee>mR-=e^~ET#2_cFhJWa;8qDm@#`4i zE1O$Qq=)Bm=4%gX5i42GJZZ-V(`Kz{8uiSXjcHqJhO06OjVVpEHxk71)tX7th`XLn zBnxn)Wb zK5Swa9x%pd5!2T_50%!lvzJ!&L`90M|0=pbFVe;GFp@0{V!~h$8*<>-O>P}rI@qQ= zM!TEPw^R>0?Fp@+eeIt5)@OdKZ|60?uAaekZ+dD&|0ZoyGQ-sOvabAnTVr6~eHv>A z(&?i(k($YyZA@f|tj1vZ0FFaJ}X4zMix3?H4INmPV zW^@6s9jp3^lrvI2H+bW*T4p~uTy{{&hZTzh zG5kToK6q{0Mp>9u`$9kGmX}}dP)4$QPQeKM%+iH3e=_79Zrjx`cuaf!oj~VrYw`f4 z+diA;k>dazCk4@;4c7HPXYB!tW19UQt05486CjS_^RR@V*nLm7B_Bm8_XRjT^#u}; z4=eHo?z--^ul>pk%KS~Iw`yi+DSCa)^!v5B=j=@b@<>gV6w6KS1j@*U(E*0-SAOKQ z<2=Y~M7}fd)jt%iwK|X14tD5Ws(%q7w|@=AN8+0P^zWqMWasFVX$JGMyr#G~4i z&v>Pk{tKYO2o7sA4kVmgOQ+5cRZQTjsdq9i1+Gv-y+o2qi2YkqPU1_aEjV&hXv8t_ zG^(a8U_P0a+c1(X?S1y0cRsQ7w9^i5AA@4vc3IGP?=S4K%10ywSAY;1ixbzxQ@a7+ z91(C8!&pRqvfJMF+G~FsEzlRAdFJ3<_dWHpyq_j_$r%G$n!EI{g7+P5o+C-us(np6 zzWZFKs?Hd2EWHCAr|r}Zrky5_h|%Sd%2zMy0Gp!c%55Uz$?QN5U`m+4!V8wau1I2a z4mOsX(MYOOi95a+&~v1RIWXu}QialO??ZZcdb4J37xfZ$T`ZQgtF)+Diw^C2dO#C# znqU-9ViKPOwMgI6C*j{r|B#N*KvT>4O9@b8mzp!AE9cb%wxSIZVh_P@PRE zS0+|AL@dM`ikcTPrViO!_$J31&LAeDza?TEc*)d9=~<3aU#Yh`AkI`&MvzUu=pS|m z5u_eq`1GJ@L#{b@Fr3h1sc)%^8C&eG-mP=YruL_AvbPa`yJf_?Ovmk;{jRNp`k_ky zuvcE?@7o3gPLdhhKu@*K5rVGoO~ntSZ_vezJ=3P6Fe7$~7<_0rVAQZeE`3%)v_K{tfy8a6u2Qnk@(%w-i*!9WEA6%14` zFqRld%f((6A^#DHvCP}g%V*^H?!2#B4P+CdxWIWqJI5ga?93(A)C(l7aw}@P$yajS zBeiqgU@8kO8+k>U=O>4=1VJnesxk}@mT~QrTuLq2xow-Fm_xGm7>dF~coK5?<4eod zfxK&BsIj>sV-;uGukYzm(l;SBmd&_a&!EZ$?ZBHn>3hP`h+l8trso@K_R2EYv+=+o zOy4V)w{7?&?JIp~Pc|fCWD_E#;eqJ-=N4(EbI2@8wY8r$sVgYeMlIe-UvvL(&ttDf%^D}|ph}dEp0;hxFpd2|hKz9;Q{!adM$NrL zPrZ;xi;!;2j&9)KoWh+LC+O4U6rJKZ&=<}(=R0bS&YO0M!$oBI&q~jGCd*Ro zo$yZPyRLZZO31{-fNH;7(D0yXm5;3Z@?*X7)JwFsYR2iiYvv>#7f3i-q`$8=&f|2| zM$|@v81)ji)ePm>Odpv7gL4X5O(DN2^cYl5pof_ENa;dVvL}*S~ z$MNw1z^;sfC+JI3{_ivcY+2)56_goJ1xDYRsgsI7lukvE@uwKX#Lm2ZAg3wFF(N@s z9!Vst2N_)bjI3@(XeVl!w}I1kEuCyn8~TM?PSu) zcG9+m!u%p;;LD2-QV)X^2_M$mh*y7 z?d&lx>t4I*h9Fb2SmqM}22>OjVKk|(Gg$0}QtvS~ZQp{rc}&13mz_O(Ye87XqxHN6 zgUfHr6Yv_szhaECweoc2<`PjuafUJ_qCNoqbn3;64tQe7+p{4(y9EZONV0x} zUv6IF3d>KJmm)6q8@^S*fV6WU9UhutL!g#tP(R@;zy0hh>1RJIFGW}^{qKoX-^U0k zI*NCsEu=&?zbnCr;3?10K7uE~-9Lkmf5z<_!PSt<_mw=o17jdivNRgowr$(CZBA_4 zb~3ST+xEn^Z993{yKleWa8O;<)z$P@@?9VWh-NguL!NV+d3j&=ElXYp?3AZ*+BMZR zPBq|1q;O0GE8&Od*=<~XozN<0RAY0 zkcw)IcCawBCHdI^^160QS!zpmD1!;3XH4W23Wzpt<|BXkXqA>0aH=h3Mw){)joa_- z;km*RutNJeQC%RE=Wf|BfduiYgu8=J@j?mDJ1Ejz-wMK3XAfY~Aq?lcL-}%q6ZSDL z=zb_fjtnMSsrr0QzvyQ@_j1ClDa%S{GLs!B_|Id9nng_O?nGDd{&W=*16IHaV80~g zWu7Q;aoq2LC2r>|Ry|jb2Rs)(g;rPk71)s4h9$Xn=GS}LP$x?K4sgOk(r%$H;1qS~ zRww_9TWA_x`FLGw63$3#oKay311ADi|2Nbxu#ukemV^8f?qYkEyDyftg=3C3Ho>vr zVdJ6__e{RY*>t}BZxEa@b4Qfg&iJi7qWE8om9NUrAx`&)=(R5#tuu0|rAPc_Xw=K@ z(cih!m?JUVCCHl;Oh3XK3_PSMNv77KoE;xq_rR`ss@VVc#v(!i34?`X8}O#?f(AgA zllk0TiPPQVg;u@Q&G&KdNQ|X!SNkGOHWL1crLdJ3v%zn<&PYR(yi0rV6*{z?Ho>Nf zfaYK8OEVIF?LTK%OpVfse3-}3ybf>#OU(5qEpqj~6^lwSdab?5f?yD=m7=XdFQ}{^ z8znQ+JiN{_l<^ETf8$`KT$Ed_?D8<3H7p5t?gP+K^YuzJDqfL91XozSxrq02m zGmN!eV@`Zdk)V!%Ya?vwHWZmIyUoJV!pLA|2y$GaZ`UoOQ`7&$4|!Wj$~`6GBc$mH z&s}NNd2!qF+`n8N27f|}DD84KiNi2CJj4nlZs7~PNX zs&{f6qi-%KuWH_PcY8=>YMA5>T5R(*d`EF#ol}Ze&6&=H_Gra(DtCQ_-2L79eZK86 zXMP!fNbpIciYTXt1l*D&_30pPC{I2=lMq&b0U|iS-%K&O@dE&rn z)#eXW&2>Spk|a8IO&1Ds`PMkdy!&2Vq8$a;DQJFo(3ntgC+)Tm=keneQ(gxtGNB57 zuVCY|zu4tzWt{j0(vsYIMKf!6fZQs?U|87cCK*$j4Enx-WM(MOuF5+q{BrrqPUTrP zsYQU8Z;>H@*+(j$t{%OKe zbbves9g4g9%WvhGFAz{>lcfA{-`ZuvW8D#(~Pwu zI3J!nkl*m7GYpQama*>1ZlCj%<4HYu4xlc3Ou9Fnj{qEOlZFVpF=BO3=Z**a19#X( zjq_3MiGP0jG%yk(3ZU6`9?5mI)4{xWppJ83uY>YP3FN z)qiGQ{`0mlIKhG~`c0@0C(|$t=Rsr@#p*U?oQPcpev+LB?Drp*OJsXIp93-teY-&h zUJ4olf2s_#y{RrRia{9(4WmO^$fu%p=59lIBG19enpu?aHaR)}3~b81FTz{%zI{n+ zA9p7p>$UubJxQQP$$zN$`7*9*yb+T>BL&w z_v77e(CSSrLTCcQF*m63KEc#%MoU-BgsS{SDWcMs_!4xXolTlavQphrN}|K2!n0WUSjakF1N8NgI0@bunEm??#C-r*ebMh_WD z?G6hJm>4ipIp+%7 z66+jHW+D3ay**bwsbti3@UH8I@mYV%#%AfY-Sxu7Y3o4yMp`@R0_hJ{xsU~^A@TU; zII1%xc1j(CKk@zrXp~(VAqp6iH-%We5rvZ`pc+HDeW!%4W%=`ST`+2ID<7B%90V&2 zHDnMYaj&h1fjM`!#2J1LmpU^TH;Yx`5{4|t__@h?Rh)*FGFNg=RVG>7e7@EIW65u3 z)tgMHbDGh{`(YDYkcRM2UCk&l4>l6AY{9%oasbnxCqzcAux(0Vd5mG?VG0Gu-Mebx zTVVzdm+{Xh1d7J0U0EtA02(Ireo2f&36%rVOT+O@X0tUGb5^eU|z zU#uC8rZLA&gT6YAV#gSwL9!@|J;i$%5*rfl_i(|s|NKMOVY4A6W-b=Wo026wzBZ2` zLbr)4P_||91>u{y%Ayt+k<^Ozo?KeFDleaSw;r^*+x-fNXlxpWFj9gl3_2R!3QKS_ zF!8D+V%3ex|qLIW0rlOpF-H zoSMaYVTU6HvGC(*z(>f=_v#lBO@E{Ha4&za0?}s6A51+gnDGV{i{s;|G9OrdGIb*Y zJNEIMd8`N2_%vyvd1Z$EsucWTg+k+JdRD+`DvcK>s@(_jL*~wv)+Hh;^4bOgP?;5N zwJv7Au$(>5$C}uJso{0eak}ZGM~1(K@!E!lQ>CR;5^J*#9}f+~+~Y;uBo7r`j)su$M7EU7k?nn^#(Al;k*^vKc`N#phon4jZzRmRlD>0 zp)|+demrQR^TyZOj`j~;n&Z`qYY0@tMeUC+Yn)zo3WCM1%nEvYp$O64ScY)Y_88##(0dPls@NYC>CcGBf%=pK7i5NBo|^$C`|= zy8s*Nze$y@Ye?i&wh@!5`gi$xLaXV6n#h$5!EZCBcs*bwl1*Z^AL_peqr;2>;0cCg zBhy1h_Rdg28Y7!l)Y`08`f1u5`&u+?rQo-6LLn}!&3n1m(bY^BUK!k|0t-)!~>jR6@`m> zZaDPy)@QqYwG1e1rnFpMsn)C|$Y5`I{=2?%z<#feUF=&tQzM#R$j;zXZ=A7Sm>xFt%`xk4}r(3RB$&NKTr$6ScpHoA@`57f+sY zU26_wsN%!g1~CehM|O8IU;lQZcU-b{)n_a$ITD9Ig@O1hjmbqe$x~^5J=nO_GYuik zH(I_Qp;qG$M*Q?>^Q@G#U-H%Hcv^J%0M?*l%SX@GX8LQ5hSS&L_M;~RS`v6L^@JL^ zjY-$S`aEXGC4nl1FRMok;XTK{gJZpEt?s@etQ<`z^eEUnVR*~xUv6_1?FYbaJvO(jzEWu3`4E_PFGhKep8C?D`SVJSq7L`+V(rpf=?GGJFh>N*^vIa zqRB58baofr3uo3Knlc(lDndX+1d@#;gu#NMS_q4RW+G-dJ&20pX8GxF&N>JgKgS$9D=itQ7b4t121Z`psyqPqsZ9mkgcgK4KyszpV z?>o@ua{9^b7_^a3l!CKLKlu>J0H z6kfYs=Lk9syxdH>+l+%xYQAB^zr^C&9z_oLyK=9x+03(%KTqtb2H?fC`>LQH;6eVE z%=GJO9~cCvR_kSS(1T|5gs+BY!X(ddGZWt-Z#q*;>yop&`rFqfwH`jkXC-}dt!Si- znnsAq7iEU^xjwAhW!)k{!$ggY zb|i8QAx31OyL>xYR`VxV@KFyxTgK8!(?b&nv6?~EL>*cfWZAP1{g5hXa{E~;b9*F&Mqp}J+6iM zJV3oL;-gQ;%NTWK#%sOcRuZmq;hcy(4{j8R`vXf4US$XV% z{E^EDdHr@C+=ZcPY%ya_E`!f#1g0*ihi)VP8$=r3Uv_ohhFOMOf&24#{M0C{m!KNv z+WlRXg}=l!b$Hi>%6v+J&V8g3+MK0F8VJ~6Nqm}qukG#y81fN@keN}88RvTo*P)bU=qMCi0 z6>x(X4!h|mljoYP_5SB)OGDUxvv!8j0{ z2#y4YeQ8bxZS?~bRDbV+!rucGkRV!=c6&`Vns*Ch2DNB9kAEv~$V} zg*hu%dAXu{XEek3#(dslq|+c+Kwv-qk*>#GO?GYMf`DWLPCS~=pM9;MrY1j!yq`(` zu>V14DElJT#(437QZ~M0L0*!=IG=)R( zH4G&0iZscQOiI{lX;@|!3I9Y~-cU!QU%82|U!3QPRhm+%)CyE+s<+-=P* zE$f#MC-BZlg!DN_V*Tz_zu0QzkDdx2uJ}{fxO$cr+YBUnCw$%tm*29?XjR{doXC6L zm-a)zCy+GE>(J2?QFP3h(t*K1YIWL~{;11*;5>+`3(O=~YE^4F{fwx;aj2#DxE-`Z zpD=SWbl5vdOMfyHzIQ{|vzgrEbGI6P6Bkk&2A9)bbSY8tF3_H%2~~y5H(L72^+dfr zonf%NSk#AqS?zBtR{X1vwgZfIy?W&j(oX?D+8+=kRUX%!>FV;)MQE)RPod*A*L*(u zIx=W56N^RPlRLHY`}w-#Z0u%R6lk_ePx03WXx}H-7+J{xVQejMI+EOpTF3|D92SCp zFiIDki!l9+;r0r1dF5VQ&SwhyH9%gXf=83_Y6fU{3po~MLnUI@a6$a#~h=Cu^eIQ93-vQhN>LFa4@p2>^wq&=|^(WWiiV z@q>`8C+m3`T4LI-j|I3C*cU43pKT2{g@XT^t_(mkBZ{>tdpO%*opxbG1FfP>Yk6wS zb7}9!#$6HOl@w27so8TY>hh>C7$IXXq%awuiXB&r3yF}IoaiQtr&1d)X2DC9*$Ydd zyBns8gjNo2Tr8%#@YL~I4sB+=&AZ`}FiqXp@2<@&Ydf9%>S1yiFP{ZQoMTMJGczFI zxUoScF=z4Dj|xYVgR+yZG&nia6##A;l>6$V86M*eQu#&UaH{y4H5_ zTJxTaSS+!UA6D1FAxx3Q{gPApal|(gx7FD(4T}6zb zH2-{PM-TSu1Nyd4{?^X>rzd`E^HZU~((=;?#;b0ZO)kHRxC~eqjmD1!&Mf|`Riowe z>D&dor_Oy(atFi0$H>MjP4fX@6K?y8M9W9?rQre`Bw^d>HP@D_2mXt6*+5lq=X%N#hfwgXZpq`Dg&U#)a1U_A5cd2} zqSxC@sI-tkb#yyr5RWrhK)CaQ_e`XQUX!I|JXI$7C$^&jK4)K)#$)yXZ9t#lXA2a^ zW@Qa<+2+uQbMu4@e(B{qWfD>L8O(>7=mCKA(Rv_x~EYZzt^*e zE|EmBzCnWUszjBNaWa>6^mnsuV@Snu*^<(DVxxPmi;tg zHPh|{5A7*z`L8~oK_`1=#3&amTsiq#{RB_-QLFo|E}XU<@q*c$q^R}b;IU-?65%I` zO}!6(4h6^RgLGSN7%PLXZ&bb$qtApCaEa2|;di%UJt~Sa76hD~h&q0mcOnR{J_Dbj22=Z;lDx6{4jdum7*$koP0m&J z?n;#LoC_YU^KFe0c@V6T0^VGktS^S6F?tyAG~k0rnomDVow~4+@tY}hn3RK*Ss3Sw zouG?wuW4TORzHD_VW~&m8&CCt7i!}Tqw*YTEU{xaQvt$3y;o@PxsvLfrSoKJ{PIW= zYc`|$H5=_IW0`&=8Dl!pbKXkM^E(tSJH((;>TBCI_h%2-hh-%G^STPtFUKz6PygtJ zw-6?NsZnqar1X-d6Ub%mw0{ zCA1ekZ->s(Kh#fGl{Hw?=T&tQs8J*QHymG1q#9Qh+t=4y)wSK<#exwpghnUWHZy7~ zON}pCnCPt`&YA$apXmWV+ddSYkD9|~R0k&U+IYY|^g7)3M7UfI+Jhw-YreQIM4Quk zW10K}40NgLV%`Z-4qV)C>Fp*?0za#8qwuJ!0HGo12ZI4wobUbvM>eSZig^A7m0YgH zHL4X>!#Fra%hbll$`k9z%4#l-iC4o}WyujFI^4?F8e*uqq__2&qpg~8ajI3}ODJm4 zi)O27(~S1K`9pyks?0ZvXv07DB9|zfmcxCrfJ#SM{ShsA%Xd2RfAb_Mh2qe*iC`Yb z1uTa%eew8Uq)D<>&VwB7W{eXBUk;D+U^GosM=QwOh@cwua4dS z27<9|<@Oz}^mSTsa>obb;k`99Qys}2nkM34Lfq8ubtTT1(i2jY^A3WexDPg;lsJW3 z_;0beyL;dteq0Y(mGy|sT`xKTO&YK}U39Qwgcxm$a6x%iXuh^nN(F|Jq`u#iGp`5M z`k5RWr%w7IbqF{?kLL8~_jUw~DI{|q_nee@XtFsd^2<1|G1U+p4UC)s&NL>6O;N2?6+Z@U2tnffLQ_wX$Ar56$EbrnWJM>jk2&gXrRi&xt*D!egZiA0=DG7e2?2>zQT8Myd4vR)qof94coCXAADA#Ls@GiDrfl$Byd9|QcrZ?k?DzcEppd&SR2)Ux96AV=fh`r;{vpKJAVCW zq%;$}pz8ze9*umW*x@z=%!!6LX|9q_Yy}Q)NVe@)TXE8pBv+=V8eH#JzI0j8 z3o~BJxq9ApWjJ0nU2c$|aaC(T4{Fgd5N2OmXg*2F=JvX>`)X_7W+lQbt!94U_v>PA zv>1jeC*Rl^D`7vG$*m=aT&~rpe@wYV(eW@fM#mm$UPt_}pFt+jD4A2evgx(a#JjsJ zGW1dntY+9})!nIx7O85GA=^55v#rg2b~VvCcxpMk(5~(HypP2x_i_V(Y-9jM9zuJC zVn}mo?b5tu{)jz`>3l3quv&BJao)xI2XIH!**CUcv1&@qHR>nXt-_`6PJY}Q}-*gIaL<8!~J+bZWbm~K^T%FhD1LTOA(e}m$StIABfa2+9{N>)Nu;BbV6I@U+! zt#5T<2!`{j{$!@`&v3kHv>mdks^ZO;s+`#tSPOED?3y&tE{yAK`%UffjsP^AwGixk zyd}!@8C)m1C8O3-Qrfs&w6uBZc>KH4U!i z>YuxuSIAY9+f3QH5S?qMuG)NTsq+4V%R1Sh50P>|i!mkqr>{GecD^1ZMc(mG`sZ1DRdd6H|!IGJl5ryjUdYxdF zqK<1`i9)bT9TVU)Ap8#7c}TI-VxEjCXzYk)6(p41aUFN#5B*Eo&?Ex=VTpK1!;AM2 z*B0`>Ba17zLIe-XHOzd_5bma<555N9%yJ*^71|HCD_pSYjRkJ~5Lc4k7v7m9XwgIx zU*5uDkpwOUJkU1Ba1}WV9d+$reBy8~w3lx%XlD|MLaBS}xYqYKO5X8O7RXI}T z>@EHkDuxKOu$b2~75s!18Eugfx|6L{cJ*fP(O5Cue?IfR@PBJ4vcsqJMiT}9{ulOF zZatq}t#rL@OBZYnnB|Eb&;p}YJ9tZ7!d~=f*WIyUIs!#VdHFOTBWmZV6G=;qF z21RAk(RI*&^BxS!r9M9=+7}NQ?~~t*>OZHZv7@5E@aQ1qsghyNmq%3^Qe}&b@cl+9 z$#ozlev3QigPtWPJB~LS%%3EE1JX7bJqGV%O@-fuAQJ@+VoPAtFv&>#8M>R&!pTY5 zEYHRy=zhgr`rj(-#O@L)WN^=q7R=X8^+L-ab7*HH5E(>*>~V!*5jIrGN>8?1*IvuE z=EQSqFb?_;UH{Zjs!TJNA?rYcb-o_cZD#y_&PPUkO|(;4ZsRV&KzW_BDI}w-DP&+g zKy}Eepy4Ur)Eb<}cKp$F6HDZsc8Xt;^NUyjLTG&$HLg4qH>71UI0+^Npav@Afx$z8 zyE^Xm&fOZz%j3X2?nq2Sit>s2d$QY^BC>~B-b!41pnhKA$y4KW0SrRKm8x}iD zID?|Y5@N?i{it?SvJbFWPbtzD%kyB~j?;Hpi~xq#p_DV(?gcG?Bnb2q0G!qXHAtXW z`gv{fe|2c5>bKY6gPdcY<&THylFg3pkBHC9>kpl-@e%d+(Y~e&>=;bdxXA zpVfBN(T3z+it6g6j({Rjp-6Kftm7B)_};y3AI4xgkdoAFjYuZOtiobDqT?yY60?2a z;DB5WEBERL(j{mAE1r;B~Ruo7&O>+b!< zxFv$typ5;PqyY@weDB??O$+nL0s+GwVQQJnZ6SXM8CBO`Tb5u+roIznT zO0@c-zm|MG!%(+>OLf>6eBkd55h61F;=tI*GjtGm%^I+sXqBnrcI3RIS5DR1iFja2 ze6VMQF{%Cu%S=h6T^jymkIJm5`d4FcNRjoWf?=T6S;xc=%{)nRl*2`AxH&i+?T_N& z#+-h#w>VSTIC$8RClRQu9H6XFuWc|+Tl|k8&b?q1LN+P(WS#ux#H*s#v`D%fC8-3G z1y|3+9e*?^W1l^|LlqO#v%MR8;ve)ExAc6`svN_w0?oy%ITANxnTO{Pn`78R??RvI9n*8FiLb z+u)SoJF7qt$k9~aU0Y0FxaBsio%-MDKSTO0muJ@IKvnz*hS+GpE{Of$M9vy@P$>yM z+nGvB9 zFWU%=sjru`gI&yfM4?Y_C{=k|i}Oi!(U8-)de!bzl<#ybtIr%jJl&H@%k3~G4&=FD zVqLHNC8Q=7D_{(d5c0VSw5&0A8+<=(_VxjIk)-v~UWA5grzwIsuoC)_7X0Z@WOgtyS zlSBu%{#;7qsHTu4MioUu9gS4E$LQ?>6}3}om9Oi6n`q!(qasi$@4&@^P~~NpD2PF# zOYQ(GC=Vy#5ADg8;eg{(MREy!U*{Ya1Ng`l}yUy$~kM>F4c(&kOUbmLUnth zH4RXXkErdM_!b~H+Dv;eXi&aRtv#LWoFYu_%+J zu{{lx>@r8F;g1tQO|E41{Vf`9OOOW zBfxwSobw^gxY2c#Mhi~HaiV4W3!yLOLq$#$BC6BV0lZg7FdjX!EA0;c?K~bf+gb`} zzOX;4Zuk2_nhn-Zk`vf93Q7cYhN>;Qz!RbDL0S3$OU^AWH(aVvJ(5nLLA;nT3aEHb zeLf+lC=xthaA0bChSkx1wHuem&q^XAOzECXp&bNbLAP$E;h^RD<821}9gPlX&f;X} zxaZS8y+k|l(LoA*qMI6nmDW(u@&0PgQZnBr1_6XtuQ7Mz2Ja6+A+y+v(_WwolmcN( z;GiRa8;>1~UhG)(c%ZC7Ix!(<{{2+(7IUN9&|_{WSX2k%o_mc=zz}3(h;_q*ZZu4L zL-2gEUO_d+cq`#+j`peUnr*DM4N724NIw}#`+Qc;6I$KzdmOv6V*y#Vh}4q4SNmc{ zaV*FRj7XHZSgiBijDs%rM_7`Np0?>n>5!Xd^d0NDYv z*3&Ajo_wxNqQwr(IH!=15=F@_4TL266F&@Dq6WD@Zxf>J`z>i14u1}LB#_dKPaW*Q zmQ%2!uLQO^UtD6p1Xh^4Uk)zXUX@ohKJO}$4Dd|Us*#?Ts1Y9tPgsw)9fba-dz#8N zv{+MS)#QO_r(P@7oY_;q@lwG}RjB7SGVwU#O^umtR7y;L?SR*#$VuH>+|_r(a4ooa z+&EWs+6)<6@>+Fae zIcc4_RWj)2K+$HL$#`kO=TQ=KrV(sUd;FSM!JoSlysPT(nh3vYz(9}i)weqh;Z|!kuHgWIJ~(PrTZQ`YF{k-<4k|~t zHyG?*vU~jkWepb{u_pYh6k3cPaMB%#?%PeinF{ArrXu~KO#Dej_LeI5)Q`-Sjl7!)ba+G4Co_*DZrqfQN)@WbsnQ~_HN04}g z{ERwD_l+;Znc$}PlX5D^lRws4{n~~YDLoAVSs*@BoGHDR`=R0{0CsF?gIu%Arczq< zP_8<9nOV{hx}}Fl>n+3;U0rZ1gcT$RFu5!xM1KQQqU;XvLRTfL`ZT_6BjXG-%X6T8 z$k(je|BfI&>Og0p7hu+6zltCKW108YtkFu9MgE56v@f$a=uZX`>ml?v*#Xg2PGX|Z zEF!XfJ1oN=bgE7oVH6}e-v3~+#L}B^F@|Vz+=))v0L!bhP+`a@7lB(+kYnA^VBJZ| zYNU;<=m*hHxlzBv1PV3^ur3n;F(s!XGYR7Q+B%2FZVx0$G5vWj< zb~6-M7UOU!=Y4!rlvJlI`lYM7ly{~W=BukJ#a}GV3L^v1CF6?d^<8uVorM$rZzn|vE}9jb2gNq8BTD8tWPS54f*1;dWnmsSjnK|GQYNG@$2napTW69nDEKQn(UMXGE_J0KiP%gY@;8P zD1J2j;`Y<`2j%@9dkM+I4^Rh@y1)cAXA?#AK0BN@m)N_en~PyYYM;LI_`~uKVZ9bJ zE_|8#p#Vz^54dj*j&e8$c0U{fyYvo}3RFK)AfLZmBc?x6v%7a^M6aJk@Az;^RzyyW zn(TB|-c-#tpjULg?}j}kytiB?+Mczt1x{IOhyxL_xlXoRl&Oru$c^e>IHGfOXFUGh z(hQEsK@eyf*YBU~#Pc5W5Ch?012Y(mx1c8kkaIXiPlKX)i2==GM)7nhOxU^v7HV}- z%7g{20ToTe+O)vl(oA+x0}3Pef%=y-30{%cCtvNst|m#6X|DnMpiib~)5>qVEJ2sS zYNo^eX?_DU8Fu=2rMgv~^LIh}S3s&SOAjB4rYy0;wGq8MAWk?du{?_r)-G^6GO1qm+ynMJSf^SYX+myu#vPo%<;uj;LtP_Dms_oR_(a!^d z38+^BhWW!-Gn!~KdAy;iO=O4htD?;A0SMHs6tQnvUg*yYJoo_YKP@D)Hfyhq|Mq28 zi^WuFu%tiaHt)AY$c$40kc~O5Q}#$%_kfUy=Uys>Ui6$NkX|-+Ev}i05H0=3$G(;+%L6RCt$WA~Yg(wS(%>}wF5>zOXNjUwl z{dp2o&Xi1WGF^yN-T=#_J6-me_Co5OlG-Fvd&J4lKnb=(NI(gmH!h0}sDfTU~H`Lpn^hu|{oPpIl|QAfcU z?__AtJTz%Hw0Hf1$Bh;>=2!YdzuX-nSaf?iFt&?jb$GMsFbdrIS5>_WpY@4z1b)Ay zfPq2fmaolyPO=qkdv)akO8E=j6sK5xM-3?Aw(B9T^}|-g385!*>P>;9Ag4 zG4>%0lMYg|^~Tp2`lEq0lIjL}5=+hpcK6#x%zHu~*@NwU=??b=TY6gS)?A-RPJkL< zFKT7r0g7e7AB2YivnDEkS+=&*>-#RU5!*!bDIU;iXM7*Ikw5P_c|%j66@C{fn4tde zm*@41g#7~n-#1_GbJWuCvgFU2g3D$Ec~5Oc#rX%o24Xw?@_@B1J1M`-9_LO_nvCR& zESgcf%;16fByw(MbnchNk1(>@v;LW*^Pe-7iI;ic?ec;5 z!Ham{Fs|R8J!b1EKH88w^;pR9AJeIg8ta{kI0~9@ui@cf%otA#{#acHn*H~=XbVx( z+y15~Q!LC~IqKtgHmcETus0AGwhMnha`FW|UMIyT@7$!5VPUL)KHTXUh`Ba~)ptGt*_7-4`L5i`S(xrInqnovCYAi&eTB z1ZKH53Rh`3U*S0bX@uC&WW&eaJVCzbCgl9IAEgX$_61fLW_(XOs9P?2OOwnso9oOu zOE1aYA=3laXUt>Y zAo6)<`@sO)Qa#6ot+s%zB(}#-8)X@LV=y|KeYj%U(-PdutTOpuV?Xvu@ZI>7S$@v*fGhjJtz*bgjW2 zJ_e0Y>2_zgs5L%l>2~&-h3r)27+Ln{Q^p}PKAg|{!V@qcM_17uSy(3R?olECCd3jp z?R8ek?K{w7(J8z0|4+RU>koL-rcQUo6Aj%+eU2XY~or?{4+%K?c&3spmD-FIl`tjxa ztf9U365jDYB4%N>A@1*$WQC*QIQS&Ca6&}T&}Oy8kHv4@`6z44Ph%EnG+}1Uy2nTG z>-zQaXMD)g(z5LyvCpCo`RIme*e$#>joDtryR_T%4$r%wSu7Y1K*iAW7_Q>bzWXSqYb}u{Fe%6q_wwP2?or8 zKER54@TM-g9lO3AnXkD6u@klMV!1}b=7Kq@yM-LRQrG-`>n?obPRp)9y}5ABxiR|Vz!H8KFNeuzl>ojx$#{1Z`9_sWM}wn2Yy4~r?KB+5HU)E zEhkE68#oQyCf-K|xpPErkI6F_1Wk*#SMMAzqWP*_3@kMir+v6R0Ce$8vLzK-IPfMa zinKarOpX>!4o6aey>x_EP=TM@jj^~m@pJ1DSk!K>l64YS`wLy;J26fy<)RP;dA;S@ z@zb+!nZ?=dcNnNbN!9}9E6M^x`ZR90ytGe<;ZsLUV|XQH^vcr#G-LX7m)%<;={~wc zZICXXG2s>US%wh^=)ud(>!>O%HlFUh{d|0-Se+$xo!@<(pOf@6teC<}CS?R-eYIAO z4O&RCDOoJ;Rx~q-0^Dn1J{yn+#8<8Vje8V+-HttxYTd%Rut9^4WH%SXUdAs%BybLPS($Du+N`I+p$#0!FkZBuw-usZ<`2BX256$^uC$ko5>?q)>&2>p^a{Xr=Ss+uF1V&{Wjd*>k+lbxRf*2*@+T2 zw|^F!Y~K?$qzE-oK05#4E-l%znAi2zdHN{^IkJDX!b{X@;3`K4g=mf(Yps%`^aDLc z9iHsqtUvL^Mwt03tT}EjPos|v!ioueMWV)BC%W|>*WIdbJ2*W0w?^i#=XQffy~ep7 zT$!*c)_*H2h`Pi4&;8SV=ufkZ;3qAyoe%N=AvF_NNz@6AoQiX4Lw1zV5ErHQl@Gpp zs&{`wOc?@#qGuKb{xOWb?YlS{ViLUa-dD2@ASCexO{Kw z$v&FV7{V<92O3F=Vg|Um2e5C}%|!bxg+yYvGn1Sf3))R5_y?^g-jNSt*e#^3GK_!f zAdSo%5Su~Fw3THSiViwntLqh0#iZqF->ZMG2Ao%$8-t7vkH+hVDJmUqxuCI)N4~p( zAVMv%H+W!7(L%}jUiW!D@5+cKCG$g1rlaSl$ab`EJU!2Ucre2^&aTtc^eT!9Y3?mi z`llj2L|w|C);T;E+zLZvwBZwqM%&B=r7-!}qWN(Vl{M46bkw;rI1!jGI`T3O3KkPVT47(IIA)Qg0;Aar@GanF-C>8!1zDap~FcWLr1=eLV?Tb@AA)D zKglc}sRuq(EU2M;9UPP-^7GG_rGY9!G#KqN>sZz-6JUkwN1=FRk-{!vD46pk3C-Q% zGja=$FBChL#;H?ku4|h;Z!^ssIqv~K9d_v($SIwJXZNmN%3RzhY!#31WXS@+)6t?Z z+5pdAxQFQxJJBMGY3oT!Ck2F53WL0s^Hr%HsrNc*(Y&UolwWj%erS2&g$CO_M(~xj z=QJ}<7Y83etC`u_E9hR{KAZzd{}cLFvEjzN%l>s<6^AEVb8c0dvJG@QYMarKNy|$T zaPZ+S?BS_N=F1ji#1Ks;ia~mSUR>0F3nwY=E=In$5Z(b$9M{__Y3Th|)F49wzwUat zW7=Txtw5F838#(|+Og}&GZg&cTIN!kDd4V=B>_A<+r&gat}lKk%Q=ELxr*axD2JP`#}y27;C2A&ZM zSZlXyC?WurTP&+lxQAs#ARiU6UT^ni=emc(G6U||G!VkQs|O0Cdxf}u!A z2=kxEDMJBwi+X~x3edo^I6@_lIUaryu^5S3adPUqlvAcE=GNIzIr&y4iz@3%zTab) zx`&sS71teU*Nt}BIL!coqfgHtL0fQFF zf6x&oP$I{>9c}1>`0PFru8lPXy(5+g71a3&SCsaIv9-37CmOVpN(p~@>cA>_v1MRSg_PcqMk}HU`rokl ztuK_IXh9@EkSV>gnfhsvIllvc71@8vN#S7NJE{wCmM4vB0Snql`FQNKqr$yR$@X%aP2;lgX5X+`;O#27Tx>`h@dYxRRP0c@8JU# zE^&Avkrp&57_{RA$I6*ti%H3ujZ^MPHyl zG0Nf|?~qy!N;-;@J#pdO(}S~x4`c4$Ue{W8`4e8^;PH)kZyQZHAPrJMt$>bHYSf94 z4Ao!8!H1K&O7J_bd$|mr9{3+{m3Ooh9D;?G&HKR|t?xk0h`z*<*G^P&bS|oOCy_&i z!nM8@%mmK21&b4nIn}@uVcAZ3khkuNVe84MUGJyHE8l&aO#V^d_=9?#et?k4){d&G zOQ>tW@zUBs{pitrR8hEQcPUKL40PR8k<(z=B1sl&fA|G< z1<83tb$VYjvd5R3qmwL>P%KN>I=kYqOO_`II=B`TrfW(nQAfaWbIZV|yr1cgV;LL7 zITB~ddoWRj)zoc5eS9Go*!=?|Dw*fW^*e7IBxw3>CvCc+YxJiLfA^lP_Z~g^a|7p# zpY&~Aek?Q?_K~?a==pdkH8ziXWaDqFH8*)UR_+7FjPrp*INQ+wV7qUx2o=|^5ibdg z7H#{_Lt43vAz%1ozI6GVg$T6kf9SYz?2#8eH2(3pEW=PB&^y#@-f3cWP!EVBv5k?Q zVSAe&8eae1%FrOyYCQMvrB)_nkjSMjqEE7&?;OdmFvV~s4;Mv!`HW#_?n9<}%1sYE zHEv!BP0)st(4Sr|jzj?K2tU-?`cva!?qEjBKCf#be5g~+Rs+k7^eKNb%VNwq(qewc zW-J*6Z#pd;ASca-$E64=Op`xe(}Oo-&{nA6$@tpWdCr>V4}N)!^`rXse+X=MUT3*p z={SD9DbC`-!=0QY^XU*ezxBh`8rgV|ed*c76!=TBU!_IHIZm+ctob-~9P$_X@79~_ zSD6Jn7mhF}qF8&0Jv=#Ge-50<4*`E2o6*i|DNl1qg7o$Z`m-H6_Fu9{!rxjM(|B;) zH9zx<>vn!FtgOwulESRpm>e=^xD(>=R-kaLdF4;07FOt zBV(Dyt(oifNgs3>;)^}qs390131I4?QvSi-}C z6%sy*5}hCGP<=lNP5i}&%UbLkT{ZR*ZWu77+%5|bGY)%2d zgsUtydRXR4_KTkE1WvO%UY7P0Q3^?hZX!&~T6JfsVjEhVu~6-+~@8 zVI$3;f*NUREF zbUlE{{okTPP(`TJ>(~>8yZB6ek}dJ|vm)*{rg~Yoac%Ky7zjB&KBgKPO_=oepQ8Zp z;b3yuT{?T`pkt#uIBAQQ6bjX;Z&Q2A1XT{4uJ$T~d9Y5g$Pe(WUpG}1{x+%D}nx3{Qt&keFpV-RV)#O)|lf2e=^D_v#l>Zkb~Kfeh( zL1K)>k;HHk2#Anhvf5c7XB(IGr#ADr5>o@|&}G$p zx^B97DrMd5wXVGjDKTz^<3F~(@8yd`3ObwCQ?`Pn7}6fl&D;@p4~MvMIf)wJ4MV6% z@WMW_-KD{)hMV2yR~9OcHL1pa1VBryM>P;4o_Ls{nv z0ma4sRU!mfk@fw7nq?Od&MUelJYY;_BBQI7$68I{F7MIJITkA7`#wCnS6C9Jd`64A zaUg_)pC(K_9zja{{Y5!HmrX`kDeA!fKvE@hfUSn z;`%ik^fvfgTML`*^-1bw#Uy-6HGI8FdtDDpHE! zhuE+d_@i0kTeaX0FuIw;6=fwRkp<%a>h@_#RB?;L%xlk!G1y07P!iA5j zqatVBldI3L&xY3~$;_t9u6VIVIuM}1rnV3zHYhooUR(kC&781AhP@huz-_auKHnVR zSoz^KtS_yUNJ!b4-nt?&4L%db@yq|%5A8ynD) zub19h4<652@@#&=sy^Th_i~QnJdfv3jQ?q^P-0bD zmEd_4Mq*#pYf{tahTK;CJFpQ7^(XnfT-@FT;;Yy;olvFX8+x-88?;uvsp6yimD41m zu(wieb%tO@>n8Ir_^K9T#aiOhaSLevW0MP2e~}KS91TFcUv(mo-z{R*`0oL)z`xAk z0qn!Od!g|~J$FKpoyOq5iK6)=e%kUG*HI}n_YAM~p=Q{4bWYY+LFT=z`dO_9{_%fX zTFK1i-)o2->B1Te9r>pewzKeB|Gc&hAT?gA6+6=;$eHvpLkZ3KvQ!r#*0jgFjDmbY zo7`+M_84w{URIbPa)4l~KaIxO5e`;htRR(ky|f~OHGg0Z(+uX_)*DI@rBy+SEf&OL zWkzNYt_a<>;grf~O~uO3oGQufG)%c!>YO9MBL3_596S_KmW`}huDX93y6hcKrZskX zjbfae`+zfQ=7K5*@A|UU$QEEzQsC3Oa>~g`-UMY&etA_*3r7P3=25h5y|F5MSI-k2 zHvJ%~^)urGN&tiaN$HoEY%`(b#2iQFlu|9G2iqjvp>Mrt*I{2WqijiCEiVcPYIVw&&DH85N*AxTnQt;M&!0hiZG*v4iKD+$yo=;3hue%Jy z$+xM`gNQIQi}4aGmE=e>ao`Q)hj8U-Rj-pM1>iQ*d5utFe*?{lFl#YR6M9V(xrLd= zys$b!rO3Z#r`x+^YwYt&b6sYAtIC)uSpVw2J_h{11>XR4pvB+id;A@0xsN%7*wiPI zCpjIv$#aXYXhlvW^PHvFkgCAA0(^=2S!ki&t7FHH^%bQ<88f9`vD~u)f z@O{n${Li+XcBkq0SFHyzkTk|krjhifJ~=Omuka8B-yqEU5fGx>?CASL2$T7Sj=;`a z=N7l`e^~%T*>92&JE~Ty69*&d*=ukalsVU*x@GNw4(=EkE>6mVh<`GL z=T=*TnU=VPbpvCtZKa4-r6@T|#iT(msrR*v*XorU1Q1|g6iuT9cNbn~8n3I?v6A1j zD%Q(+-1Sn?$OOq4Xv=?n;ZzVy?6na6$ z>im12i326)^1Gp?AO-x&9Q8W^9&i(`o$ZEJ8I19dgm%0)Gvz*_F-lT57S8GmSY&A*r_+ngr}c0$EN$uRLh`* zVJvf*FT5`<1>=w<9xD!G26|-qlWPCRS6Iq{M(8b-W2MDp9=j7$6jZFaz#Awh!Li|` zuCD9r)ERJd$7RFW`Ua19cCXdxjLGjVNfo4V_$@JrRY)!GIPi!2wK%$<=jVe$__bj; zEmiUsgrV8RMI&`QR^t?7UjDB|uIFUYcu2!cL;(bot?rA9?)KZpZQqyWl-2mhZEU(C zPec}39T0^X=MGr#6(P;poeQrbHt@hg{hd`ne{!x(7I|h>tY>eGSP1H3gYCHDcpmZ3 zsPqdSRm<)qNq1?YR-b8-9?x?Qfaufwl!-ojH=@qM zcZdJcu0qp$^Q2PZ>RsnRHvQPC>+ycy50(_30eC1^t?X2hc~u$oBO<$&QUgM>F^yTRPqY?)s4ejO^*|pYz+mV&43{EYeUCW4|S< zW?#}sW^X+@cuXB56xrW<}~I#4gronF8nNJ)fK=l~em)F_Yy zP1>XW&b|K}6^J22_JQifVbg>yTl;)ZDWO`!1he?PyA z=KM}2O)5|Ct`eqMA|V=D5`*8D){$2!XaWl5uOnhGu4eN$t$R62_5rFOM~WMVB!k#} z7y@o5{PP5Li@Yqy6hGXZ^?+m-SkUxa0qlG`9Epkr#eWFrH0w{w9X3a)NmZSJ zpklOZ@S?!Xm|}S)^Zgs8B!w036QnLDz-vNhfWt>tS5mu^ zfRoKu)4Y%+)#pvrvH3FgZGh)n3Y7xNx%qYhV!GBN#)03bR|eCI;cG>*D3%7BLS@@9MS20iM;|5xmQ{%}(`kRP;Fo3~zQ8xEw*>|Mv7(a)r5xez*5 zkaYbpBWV)*s8W;+5Mtes5jBPL#&!<|*H_i|jGcCxxz4i|t#C4HaJw5CX_R?wh+rvT znzDQSg&-h-DQ&r}y8+<*!JL7=1||XAkw*~BZ3P;KG>-_Z%#UO2=NzAD5ItgI*yHDy zrE!r|o;=Ua_~6`+nj58hpyN;INE!()*Kw=r;=jxFW=w5H3*jmCulyC z`FvIBb~4$g%jxt-8?G8+Qd}hR=bX$HSF(q68(*v(UO5J?75sI@h9Ya^OcwlEj@}1i z0}*SDMuWogE;?iSsMvOBG`c~Axxk)NuhlX$aAP#)+p5v`rV=gD$oy>$^(lG9{-@SA z?gK82O_2pRMUKY$HU9w>|LrLKZSDd`IM_D(O_YPIyz|pHZ&uj`~*p#`s2RJ~aKtCkY{RRS4GZMxN1c?zas6#fzw@T`UUmlWC1Az|1 zGZ$HDW*$TF)0hl2v8xC_j)nWtz-mJx(y&58?tDU>ngabRJ5(0`uvu0@(}MYDV52Zx zpyz4!-fz(iQru&PhN;G;(@^&3vhvZCw&*I-^@TrDxWU9mMZc9Pw29Dsp&<@QnepM% zXU+2y))eBt2B*^p3GfVEem{ax$tUHhaovc8dxom85#7+Uy^Q9~byC58Xgs9qiDWp6re1cErLzp&Jx9qWHbxIQ;#rJrxFDDEb% z7+6TKR%5zo(rnYbsx6(L5wJ#{;9nw=#|x|AHs;Fe#gLz@sz9_ zFYJQc(zj>hx3A(sFzE(fwFWW%hW?BEWuq~e0UD6Q=o`#EY}G70)P=9rSpKUk#`a7P z24N@AP7P4)6xmFk2i3Wh%E;FeXW=ZJWDuqU2UXW#!Ti;IB5$uSZYVxXeuP2-pSXy_ zX*%rFn#{gR#ogsBbw>*#Ob#yz5ms{9(+`MH>w|k(5Is8fm$@+pt>v51@svkbbrlue z*^NYYhzS#x^8EU<0A6)|uO)EV?Z+y>-FD>(C;z7#*&OOCS8kF<%_-8i8+fi5McJ!fDj7)wjr<;2F>DG8(8dhzZsgOgb@!Fq<_k{_`_9^&%^}+=m~cyT>a&&F&mi zXvPV^{wH4Rk1hPJckHQno>EmvxV=F)Mn(=q7|4OiZ-zta_Gh5{m|^w(=K(rYCnUOw$Pw8yKmZrUvjv*zi>erSEJQ?ju*h>?JjiiBF*BgKR4q`c%l;}qWlv%G zF*@u6q_2lGFVs^o%=Kt4+6(|WG%dR z9~j+iTeEfbXj5!)U5N+s-9qn`X5T^nLGBdOx??Canl)?~N}St04Em{pVnph5F$z&VdWvBRFLuv7)27S>=LAxK zsT)#E;NdV84amL)=_eBu$7&XWu9=&Cp$RvBjLe9t>Sm3EOGM2+PCFOS;Dw8gh2}=& zs2od-scOj63&Z?^?4B`kcHi6T58FR0Ea9F~hvE2n+M8mfSktUZ*zBk-Sum-te77I% z+pb;?Cu%m(Gm>~(C(F3@b#+f(99%;evJQyB>|l5(H!GZfiCz#QmB9)GEI{~Mi;!r^ zFkOy+RDC{GF!I}c2rs1Bldz%G#Zs#_T4vau=s|&{8vVfP+2NjD>?{KbcM?}P0aLP~ z;<@YbjrYJ}d7UBF-w}e98u_wwnnW2-WM0_4lL`aE^VN=Ob8L#$ff8zhr!X#sKxj{0 zfcq;(dMqjaB<;`R@_o#C#LEpA0f0tU@L>D;O~v@e{ow$rjpa#zS5I16+hR|$!tssh z$N5(!Vh6-k>of-t{JxC64JDHGWmQ`u{ovKz>99KOPxN6?GiBhv9~7)--h8iXwkVd< zJkwPA^+yZ@&YHA4hH-@Rnw7L@;8fb1QYpR_gBYZqYS@VrZF~qR;i~J+s zw)1U4pFjEKZ<#i>DR@A3NBg;Xo$bdV`c+=LuaPO)KOL02frIgbFy-YjB@b>RGEF`+ z1;T8E$xwb~XJ^;gxVbIK53r9lpg5(n(DXmqJk+r~=qJFXCBoGu4i-}V+$bHx74xO5 z;o@F-ly1uU+sB@GQ+(n;O+aql>B%hPN~c*!o-^}5<5OT9=%{$SK2SpkSQh%n+R6E{ ztEmVEI zN;~QFl<=X)(sFt#yDwdz@4z4{t3-4ckRUV&>uW$RDm5HeVPM+VUPzI}E-MYA2Wb=> zx1Ar?k0Z&{Kgxr_v!emmJ)}1;B#>R)}h6Mn`Hdq*%ZLg0KIBR(HQu{gE@@hQ>vEHFO(9ocLDYFdi*|uv!U= z_a14pC`DbnC+V8lX1~38Mt;X_{9nubF<MGJSNCGQ0ZpEi2wc7Kqj^r7|oDJ)Ko%;<6{0-eu+EAsc#Q%i;_gXRN*l&(3F<0BP z#t--%oQ;$A{Llv7y}(hav3{}+Uk7K^ayWtmWkE!0UzN+seCvwqGRn!D(@c!CF6y_j z(7Cw15zgNS}@?9e8tQ_ethfJGcc9f5b(ZMj^J>v0Gw{ziA*QglP)v8o zK5Buh2Zv$0J>x2-BkZH`L!ydoY{)*Zhpg*$qP`)5LH}Jt4fB6#sV7><>P`n>p@epm zsde~Y>BV0xC)WKeAVOFd(y+=bai0PM&R<8HA+HBkQ|?#&;2;q>&MRGtc*YxNUJ@9R zAYt+%z^zv%We@-;H(wyJx&1Mp35 zaQnQaY2Fmj)(|`x#qZ{GY-u&2iQOGLDwBYXYVaxO*nibrtFGVL;_SdT2*tw)6ey2G<;JX}CN3!RI8I(xM3N|sfpKLS|59-G zdAOn=P6UOI0l`y1zKT^Y;Oun9=cbi1a$9haB>nfXHw_LzrRLsXj@Qs+)E{&hn3P#; zi6k@Uc;>zOJMI%XRx>|Y4fQp`Fjgt&pxD!A?3M_|KkWFtIxPgJ3u8T#?L!o#k7X=E z90o>QyD`i&EU%E+wv#HydN0fHA%GYTvA1Q-ewjvbO-(t`mV@2Y+;gP!uD17IQcBJm z;pK#Z=k)#8GT*18ppj3M|3s0~&WW%Cvp6~ZA3+RQ*tQWq= zF1Ob;vl;xEbOW zRn+t(RFQ-oKHh=*>~(^wVpIz#Um7faA*z^}jZv3D?N+???ZlO1$cY&qU1B*8k z!ydb-W03E^u@QEo4nPeQ{&taltt6_D(VEc$Lg^jV`XfoFXwvLddtfKuTfOP%V zf4<{PsLUT{1JVXsXCIzA?OMSy)@kfPO5llPkNj1Zw-0Ge4fRof5CkSXN35OIRJ1|J zRIl^T9{nvY2c(yfV@v_@W5s)1I@&mVF`w%OLZ6YCyntK2eP75^GT*};EU*FAC$f&8 znckw=^Ri@xJaPJnBQh)vqj_STVi%CQ)S#qnxG_|A54Kt{r)vV+7uS`VjJ-^NRCA>N za+`P_cwEn$;GPzb@OPkS)lUV>r$A~Ae_aA3mS6eAm-jhga1-o;ki4uiXu7 zO!N0$8&B!Gx+}cExZOuwk^t7DnJZL+)D4 z1yfubX0P;~8>weA(wvHKoZTZpgcF=QdoZ2`Zw4-819x;Qat)?<+Vk8O(S?i7MPty{ z|4N{DXODYpjm2H^-D&B{F@+ut;6$1MH{O4gELkZqRKleb$C;jSZo9$j!Geh@LdAfS zl@uHziKGi9Y7Z_I<&E)aV!Hq;qq#bbIzkFh-5pJTy8=dI7iRdnoAA_T&A|W5(KP?LSHXlSC?KOFW;m%{j+CSg$;csMm5WN?HC2zAg zH(Wm`xYF}x=3mxlIA$VNIj&Pr->N$%nRk9tgo7B%ly0HL~%IQ?P&1IO}X>b;Ylc1SzmtkR=CZl z@Fx6HDMhZzhQV9xq2x4`T|xM}-Qbq@Yo~jq`AhcY@=Q`dMepY;db=j;ovz3zgnhbG zdsRchWguzcc&w`YW8x`?S@rGhFE`6KMt+0#uKBw!Jyhk7rCEu|-V51HGz4Z$AkxTDW=x@?TE58F^m$J~OD{&?ikAN~7c z-~h_?1~9*x(mUf^$gel7njxpXo-3;L6rS$l;se~CRfhx8;o&chxm7G918_!4iGsUm z=;8F0mgVrm=Z}U8LA&+5=+^tl*4vWIk^_TJtD9j(64C(Io*z)-E$bl_o%e!Yb==vn zuZYEtCJD{pHUSo|(p2zZ4Y1+%!|6ux0Y7d%)0s?$VQ(2LsZC-Ttn|N3j{f-d))T@g zqOS9q6$9KB*$);j>qj@NVqJXvrZ-kH`T_s;{{O}u-{5KZOb6HkuDVAkmX;U2>na*{ zW~s90C76_HX)3y16(>R*KLPX2iXR{7C$aAe?E}huUJ*5$PRftGW;0(t`IYalZwL@~E6OCZe zL+W*E4&nDa(_3;n=&+U30V_9<&d#Mc?JmH=;KpK?(^@*^YiV_8(*pBL#3=9fd^t4iK8m`4gHhpoHdOpJW9=@+tHbH4$V<#W^Z z-N_QG=go6)3*ynQIs-|!NO8M8*Q&Mt5d0m6pu_cq(O9x12l%HdPAkw$q6|HwO{{$Xc8dQc zoDBLOnP&rLTz8(`_)wzt>8pwV$~`2*#aRJC=sQi)d5-D+TJfEc=A~^eak1{c3xIw5 zpnE71sHOZSBv@E6YBYw;?!KbVLt7r4CZITY%}~a%G{O;01k=wx#=#>MyFA$zc@o=o zD`?}T#iLag+3ex>iguMCB-N2U?5*1jG*rlW_r`abCi?QMxMf@wwb^%3`VCS^bEl5I z2$?jB#=Rt;z2zA9i?gMQeY9zKsReOB1{(jjsPYoFl8^K@-C%d;=a83ko7C9o*VMMX>7z7#2iHVER_uvdQ8ueJ`So_sbl>cT`U~K2(B`0}jW%Kz zmEaQvKohX-lH%r}mn22&Di7EIoIYka2!VaU$nbR{t`$GE?(Zqr$6KN4eP9qtXJ-Nz zAk-p5>INf{zvAu~@ZsOP?ayID7ZP6tz;hM5L1yDDkNt&nPAOxms@$XhGQxMN?vERs z4_SZD0iGi`@Q-;awHLj2EV*g#9AE>ucY54g)>vEPp;zDNw};dN2QasJFHYAxof zZa(IXd${d%rO3S&Ru0O&3)cJgG|GS7whgzvTif0K6OArASmpk}SmFmi>~7bg8TIr~ z+WX+w4(f&m>!KIzhK!OHd!yf7Z2xrJ@2TJO`0A>aVh`_q^=z-GCU!$}p7)x?o2u~| zW4chUdhrJM!{~Ffy4>ygeq@5m)``2`I2Y#E2YR{zi!(U6OiOt%1W+@9rTVVf%hC~r zrQ%#8ZXpy44*EfphFkSfXpI$2ZZ*oq;Y8D5)1dU+))Vt@`8zYOn!p}Jit*BZZPx!J zY~Lo3pWHVG*S?RAgs+1qt}6R7{zpH(aYv!MwzhP~S*jxHHP%i5X}+c;@vCkp{ILL& zj|ty5@r7h{f*)NUx3Ru_^$+=oj51>5JA~1axPMzFQ>JAR+01!aG-D=;-R3Oh3?Bi( zrsj+xjQIk~T-eu-ExMi5tQpO?EKwyD3 z(39EV7JGk7lg)DLG^m0Y{86sLl}~=>zx*=4=HET!8t?onzshNJSJzCzOQy5uFhGS1 zNkn8yYmk2S_-)+(I%$Z2z%>yMOBj32pTFSGeP!!5HkQH_V*-a~fc=gn?9i(g)7&qk z6&&5b%ZmTGQ(|uBYUW}V*jS;vraG_Ss$Q+H>Zf&pgA zVjkJ06@7;kr7!pMuGpje86B;GPmg#)Z*6svjP}IZDWQ?t*`F$LBrATU%rBk}BQHkO zyJ?pzqayB!3jCwFP*Ro_>5LSTTsN&ial6goJeD@zcL-U|MOQ{opvmF4F`EUzcHI4E zTFYD$_6CBH`N3CO*lvgVCkOELyN#VUp?#L5ymS}KAss;DEC;grQsjPue+#$g-kof- z1dv*n0me&iR3-8e_sc?LzN_xDCT?uE)|M>nh?iqk4cy;oz})}1N|h6VQ{Q(;1fd}D zdK;SKruS_rVMc^K$^0JcZXom0REZoJUKUI{#;(rm+AzSM3=w3{QQzNqv~M*aE@8@= zIz}M}XU6^@K8E4+Es7Zm3k(hf0yxl5co&SM)@q3+wny=6_ayeRyyn+i`z051tnmcQ zu&C1NL{LU1PJE^A_UvXSARt5CXTMMX^A=Y!2JdsegTeQ}g#rRqAWf^=tL?rI@pFQ% zgW_&qgYPp%gYI_Ng3Ti%lti4kmKHm`>qpM^G->Fz?^>qbW44TsM7?&Gld4@`j=SD+ zxhpCIuFdZW<6*EBB&Mi3ENw@k=ppXM{B4+_sHkcz^8iUMvP5Ld)&-dxVcei#9tQ9~ zcqUCTFWF69Ss-gCyq36TZ6l()u)e6VM^dI7SO314iHO0a_xN1%R`gf5dcnSCk7wb%2^>i(#_Fc5huvhw2tnMSLdjO zt0R0a(_Y}8`VmChhZE6B^unj#v<#m+b@#?NDb5wPtarAF> z%zY*?n8scA`g5hb_)gp3@^ls+ad*(f+#G@B%XQ#T-sc@xJ5M%1D8QlVfFm+pT1h9G z3?qS!)`v4$K|ostBkn2D;P}rhF70A8+q^$2UX0iVUqm%phu%@Q!GP&x{?xAd=B$Q^ zt^wiRvY9i1ok!cA+w4fh?AH0DqDHwK>I}1iVXpLEV;&{55b^+S=(+#5Q+14UYmSmZkIc3`^^u*)`t3EXgpqXO^v1 z8!K6Vd=No4l*twAKRylKa34o(*AiRUmfb7f zo3SoB05+po@p1zo%+EBsYme*er={dDRtCaJF+by*0JV~C&`B5-dJwwQFZ-2;Jjw@u zOSjI=+j+KplI>Oqbp@Blc9}6Jz}Wut;xm|FC|6Nw=B6bB71Jeh@X9}NG~Ph>yiK1N zUlRv*iReU;Ij>@7dp?298~GqSPpzLEpa8`&N!!kJ&R~M$n#LJaVv09XUZM=jFZo{y z0&w&aw=x~|vE-Dfs1gW!Br7%KPYx()^APD*m2Y!W)GN8(OPM#UH4%cq(PaHS!i=It zrUQMwd7(E7g=YFHX6kotD<7FNO-UcJXWm-dhEm*jPr+WJ#`aqE`+RnB*<3zv9ht{k z%^#pZNMrkbFEml{gMt#{oK~XBkKr)EFTl_BfrCO+zzB z&xx9;38^M`h9z}nx9>@Im1IoLIE9T%pDOO@A)ej$yqP5%F(2>%9TD$|R%I*4+UW^U z#MVp_-*6DMIaC@`**VhEZq zGh3GbCQLD7gw>IBD4T=I-W0)CqFlBeOL)fRwd1*cI~+)!GyE3UNpI08gxU*iAQa8nY3eVez!v zt>F8CnToPf4WriW?iX*DsPMo;ZVfqQ{`u5z zpX)lj=WY)zcz}hh{Vd3w`s@=(^JvGPw>?%e{jg>XjUovAgNgz&h@8WH5hxKMiopa* zt26sBS7K{Am%|+_uZ!f#&u?!^y(09%_gWpSOKM8kmEjvnXi1eku4Sc8lpGgg$~*fd z+I94$l*kBq=!=_xASF_6=ci+OpZ?yGGqifTLbeqYJMZKmY=TD&)*VIf)Bo3y{dUTP z%3fALqD;H>bNBr9S$h<;R3@=2-cJ2m;P@&NKD++i<_*nsaSdunXH?V4Z-OY76hBQt|*| z|5PE6uK+5OIoaB>px=L0_9S1r5x2V>K6+v#oMnP*&2icAZc<9;d%ddY!KMpS>P4 z&FQrrPzTR;hK+8q^L>QL0wSaNFxSEdhtm}Xxml5`+(9>OO6&XXxg+y_nx>~lBDCY| z&*O=WXf@V|S+y9Lu%RL4B6T}R#o!zOR_s^7CrmH`-XufY5w>5hTDmQ@iLVaYC=z9A z^cH?Yny)a2#wHrlN?akO&NJ_W$NgAKk?J72#eEQ!FmIJy$3`tb9N+|{ALgB`bjA$q zu~FB=CIr{~@HZA$k@A>!40t@0TngxxYTXJ&?mAMo^e~w|GV^D}%x4>IDPB9^zpYwX-l!8>9x=|l|ul|q#F2Jicw$-^V~ zHFQ3Ws6HHifQ=rBKpt@VH(cf63W1q~8>jB!xy-SUprSZCAK^;D{Qa{lt+)NXBhx2L zAbtkveNAP~Rb8j;CUgjTb~uiKK-WHEAbATBsizS?zSJw^9Ov%-7h|@^P4RQqhW2sK z{=pV)i&s)7nSBz5MtZ49g+O>!A)la`;u6Nha`LDiw68_9$3Am4`jp9%DKV?7K<(vk zl^1wESv^@Azu+`L&c|*89g(#W@UH%iqYN=!tB-rM$6a&(w-fP4!lr{ywyj`t*U4E` zTx@^Su6hos50WSS3i3{(NFJ&Oyj#nJqi%-3%w?G$KO_re1>dFb>G1N9>V}-96Xg@N zz{#Z0vRQ9dYFZ=KtWbe;dCXI9PShX9mLEts+vtYgW_4#j=~cJneiB zrWjs{1X;kuk_6fv9gk<13JvF5Nn$8gH0vtjb2-ULZ zn4N?q>zHu}sEY&dFH;T-d5ZWah_vCbC0%<3L5N5f@`|Jo&o6e#dKXu36-q(5Fq0-c zEYEMi{Lk}aA^4Z7(Mw59o7r&7cXuR`Bhf8byzWoLR%XHw)3fNSQN5sF41FRZq2ulX zJwfCwr8s|7o%qyx-rJe-VsHk5N#lFKyD&}8d=Ks8Oj%I$c0xZHXNq7-JPKwB*Mc;} z7>_)eL;i9r^m?5e)gPcxJ(9WGyT663SfIJz)~?Zb(y{MM4_i=?CeyqV>jfS1fqjOT zJ?_eVcZ8V{UtyvjMiE>%z1XRAd!8rua8uW55<{qdkIZKxZ^>Ey0#A2fEoFKs73oe1 zf+8%;Mhk0VJN-hiKi;V&y3t6j@ZrQ6JG-O0_At25l>Q{Rh&-5fpNLQDgzw{Q=ypA) zSEpa2L~t0@l4CytBz;C~9xAHq&S^O}a%nnKuK@;EI2A-kzrKQlY`Kq>)Y$yo{hwoS zYjgl{FDG^lHFP#s?MN0{MAtc5bM1DEAh5ZwPa(lk?q8v1j6%sRp5b~SIa2Wzq3-9g zOhDeS9N&{;OLt~t0eMgc)4c;Cxo zkaOdvta2mPl=|U7-{E&yGl=$1YhQXpWEd``BAVBt@h6c>uB4?zyDs?YwsPeeDPbJZ zo&R&$wew)f{p)oV!%y0jxskcrA<$hxRWg2az4=zkT)cXRSX7bMP)ZF2JM5fy)yI&kS{{M zr`Rf3Q#z)s_%5CmrRe~KIbt76!Tf1IWy7Vf%k7un((h8NA0YWK&3V;36A%U-}Qy$rA2HUq(V)rVuA_`iy` zoY_6|i+7LM<#e}zSabxDj(7j69b=u(mwb?g0Af8B2 zh#Jevs+r9$hmF9+fi6y+I)lkpLUjQNWVgQ)+z~>_ok=~GFJ%f~2NuuVA2!h|hVNI% z`rNvmHG6&JN53nSv_`BY>4PQ;48d?-O*Nxuw^pyrOhwQ#asSr_|3PACV!QmdUIo_B zNn=w76RC`fK8Gp3p0Xr*_bYNddWpMWoGScWe^C%ZNkvC@>hF@`hL3DmhQ+%v#vpTB zxethMSk|0;ITE*5x0b@$lAkl53PP84JeRaZr4#CR4?b7BYV^!!>Yd#-n@kH%`yIzJ zVQ+u2vR0b@%nY_R>1j;KR?X^jk153?RhlZg7)nxK+bCqQi;rl3KoX{>>&8 zW7Tlfia8}_@t^js-~qQTi;Qf}SLnuZYTx=;J1Rv2dh(xad6^5dQSTkyw=Ipcg`S17p`p~_8&w8rvtLm;|dU^{IY`pDeH!W^d3iKwm zz(ItQeS+P89Sx<&eqBXv+^wr3n`XukQ?8(l7o`$?+Ah0d?r3(Zj+)FLfJcF$uczmO zl5A3A{m?ot8=a3P;kOmVabKzu8(fi23(Ys^14<1GjiOU*W`?liTCXSIo6qPrJ0Bn0*=+{m~iVc z@3{6%l4!0-*1mg&FVLz?FHV}7+#0}|T{N5^FVtUN#lNOA>wETva**7_ZHCmzF5!Wx zH2EuI8|o07*wLtn$&`XB5=^-g6Gb_)PO_5m$y{|5IHLbYg$xYQG}_(kTitI1*tVbE z{&dvX58z$PdBK^J>-qHcK%uQ_{>r=1nUkC6LDtGLPLL@iu};`Kax03zcx7@X9Tv4f zL4F;}!ozi~_)|kae~-$l2BXV-t+Oy{?J~R3aCb(oUFq@1B#5d(CElnq(?c)oXvGh) z)&sND4e>ns0F(x0><5STU9$HfK)5D9;SVnR&xQi1Ayrmk2^Oxxdku11a_zeppp^$L zvdKA;LKDvKEUG2($${UtxWgld1ls=>r&ZejNSMwR%J>gd{8i2@a2J^6WP~A22)DUfhq(+`I6l(s#q5_r=ajVpD$qe5flX!GbqtlC@I# zkR2vm=s($9sJsl>ePuhQP%PP@O7>GLA9qo$npxvKpvrS}y!>OWM1mVh&T-=Hku*G5 zXa%fkNxP(py@IM(Z<56LUS$$uf~tQr(wFPTEbaRW%f|P3?FwD{F(lANB!jVKz8V?Y z6Vp$qHI!m`>@#ow*QS(KlBE|tboccrNe5#Sn+V7X-=C;$xx(pJ&QPr%Vt4xtV27+F zqotd(aHBsgF6LR?Zqtv2ppI;My>x!o?7g~)@x)BuM~Z-b1?4_?tIh;eSQFE)A#oBI z;QS+k<&aPsc1pj|Z0i;9K(!vqjAbsCCqsEIVb{@9$$%}g;#gf+^E|~Yi1YpZK^Mi+ z<5(pMIf2@UUR=qiC#E~eAo?5x^;>bsHeS-Jq^qDqV@D?fNZZy!S2T@=A zr?+8L!L|xcDO@-H)35=y)EjBw?|)NBW8p1w@7WbOpf|u<@a=LXr2{hdiu6YamTiegm3cxmrx}$;EsDOyicCDj=9b=?d`g>u&T`3>LkX?Seg?UhX7#V?y#^1SQ2M+-9m*49DZM&v` zj@llSysG2x$84=xYkHW__W+!<5MztAWQPol5M-l&fGIBO1w?58%B4(4tt@h!RuR%R z?hc+4>SGr<7~$^0lp~dbCiB5QykresAjAsB-a1kPuO%2D+1C?GdZzn<(m#B8)$7pOAvK@cmc564N(;r1Q<`F;E&kHVr#FI0rWGL-b92ws+He3B3dmo1)fe`eFS62y*=Q=gq-$35P(!_Fco2}{< zHej;|-zr_BMWx7$_R8aKEns!hMuSc#FKUB3yJrh}ui&dk?kifNO`^5*rbsrb?Pr@g z>zS4{*N^*JSiGa$zCJ_~N5;7>hE%ARYdO0qZ21OJ`XYole>s{+*~o$kX3w^@PGTHh zflOurn&T2D&7P`oIMw0NCSz~b;7>|dlxrsPW%{Z8e>mJ&WUFShM?mMv&T+E%H?{T~ z{hs<_<7rKMf-9tRc0zYTR2Kqn8Iu9*pqt=VoZb{YQ|1Hsgmk$QVhcbxUc)nD`4lwT z4@^NwT|^;XuP_LA{?ahz-e)c=zSYTZU$s}FxH$fsq~StFz=7%WvOh3Q{<X6JeXdQbjd|j+ZdB5n|ZZK9_qaM@% z3q?4{u~&hhq$ymYGm##G9Ki_|t+FaLiGnXxQ@!GHb9PzpRD{jK!?G8`dK4@-&^J^) zAKU;N@2f}$h&LrO1NtA|08Cg623r+i%0GXIM9*)q9MRq+!a0z83v0y3s6m0NS~%ks zA1^6>OhQ8;&c^aG?2ktI-%DB4K*L&7&vsVJ$p7=ZwhBU z^|hgV>R*%kQN?~V@ezu3>a7`8pAawO45K5Hz~*`bK95v>#L9+zF)5cKxMP;4+Yd23 z+I0RfR@m8Ayb;Rv{*@tq#bW8swfbY}LYWju#?FIbDc+O}wu4PCW+WetacV>o!G-!uA~{|9o&L6zB1`)PJ7XF%QD z;WD+|xAAT8mlk(N!;4x)F{_EBDS;O&zz=4;DA?d~LJAxvtw>;k`hQ)?+fHDjNa76pk1&5OE= zIv_>zea&GhLPMhUxmCG@8dSjh?5nYBT2tfsd6^aX_jQzo2=*{>I95oItOf7G!KAF7 zoQ6Yn@DbpeObFn8{5B~9Izd+7P6n;8W8`b( zodZlr!^@L}yJ3!A^Xnssnw4_q&%xbW`{%ZYzRuh|tgHoR50QEuYF4KE;zryO?~& zSCj|TVOhY6J(VZ2vs2;Sn{;={ODM%LFMyqyzLA;lndjMdyW@pN)9Ep!(k4xuTYL1H z9AviE7!C2>@ukly96M998Ptzv@)~Y%z)!M(Scm0_wTS{vH-|uRVRMU-t95{j=(%&I zG3NL6Rol9nuc^exT2)PhxfZL&L1oPf(X|vc^Hn1UUro#>; zX>i4V9t;7NM(qQ-m|=Bf$ye!_vyfuJsH}*gUu;{fvh^^XGE=WcXQ!3HL(Z+0S^FdP~)&SL+4oIB|jSid*Fm0cwKh z&P2R+VuG0ZWi<3fPAIY=o~w7!k=kBWUh$#aFLx|83X+(g!YJuldz5YEywB!W1#+X$ zc#c$vVKj|YmCZ%oQ}!2Uv-F&d1EXHT3rH)-Ya#0csoIIBBvrI6$zv_y)M<@il65q^ z&8vjs_ZPN0m1xGMb8uxOXwsC!_rf(MR!s)F_TwOtQoV_iht%Ur4cF5WHI-huujD4C ze2kFR&CzUxreJ%KAmsRr*z!^L3LD)A{x_x_A`g8ibPeB+OXXp&@m=McVTV%Pu4Q9N zK#P>@+e1t>8b}sf3=PN?nnAxo#kDZkKrSO!mhSnv!50bh3z4P|EU_$mDem<}LQNHB zNe*l~6cU9C&ulTJnrJ%y`6-s+67IhM1|m2$F&Kr;gb04YxeWDm@{xsbj|&yXyQXB8 z5SJ}#8sg69P+|tb2rnc*sboxlVfOE)cymLR2&KqBw)wAu0{4&?uhu8(7KlWXt$$oJ z$gb{|Yc+g@ZW;Vy2Rr*&@GqRV1r;b{WF_5X#UoFJL}?}-669H<_?rN|(;n1UY3WUM zAa(m3w9MTaD}QtT@Z3_FIlO1OPZJjvVR4j_wy|oDEtbJq_QOkc(-zN0X6}{pOtLwFVEPKvvwp2%rq=RX z5P36l;}xI(Ms{4MBCSp{ky7sa$Uyd@5_MfE7`qPEHzGN+uaD9Y9YM`L)mS}EO2oCP zydNeMjL(iO7N7=tS89PC5xWdFT`&H~xFC>|n^`kacGQD%s!fyq_I+T}_sh$3K7RU~ zv`pKuk#YcfD!S;=-uLEWW2#!F;$YuBbGwBH$l{6g=XpD62+oITkO5m}qqB;Ro*mWI zeKU^{CqC}RY@u(hnojdUDb|ZDUTM`>juzwnINdN#*Bc6UGh2KU;(HhGor$N)D^(tQ zP-zPi$+e0-lHh5ZWycXfdpM^|RjZiJeqwzhlJO#QocQSLFpvQD+=uMX1;%<0Or9D? z46F&0Zf_HTxoU%4AQfu5ySu>edYIw8J4>0blK*B2A7%eOa@)t5)td}{3qmYqJKo?g z7OMgQP}j=C!wk>|Y<6F7{m#t%DX2YM*k#NORQ&cOGZZlK;2|AU2t|tg2-5}uIB#kU zC|W*=vZ5cmM~jhGRu^6A@TAOSx=4@vj7&eqCjCcDQseu`6rQ#!+EBAq1wAmV8a*bB zxajnmh!Lu25Gp>CPF5g*mevt@{(?t$f&gzv zZHku^`dL#c{C<8zu-W{83M|1NaiqJ9kHeT$x+Bsj{QA0|es2TBvwE{|W!g|<9vc@K zw$PhVOe-o1_%y-!XO~z81s!9(OMhq;2S$->Tzi)S=mYXa52}H&f45DZ-`b^^&yT|) z)l=WLLhm_&xd$45cV~$mbPoFbKK7MVB3$H1MFs#15ALfUJxJnoJSG(#HO?)6s_#1J zqB0C(kM}hg*}_5@MmX z<;y~SnN^in^ME<&S{dClLHVEkj2KW!_=IVw$;cA&MpBM`*X;Ssm8~WK$v(HM*6W{qWT%Aj4-35;f4lQjU!eQ4b zFhqIbUdM#@V=Dq{^8{PDfWO8Vvivh|oimC#^J?al&mTg!3H^3pd|6mf+V6mSwYdt=XDkz152w6jT42*M&WcIykmOi=F9>HbplJIJE*?4-8E zxx^XEai@I;&YC?FgF?IiJ8M_3OO`)H1Ub+%e?9=!cDB| zx^0suND5N@mVo}jCu*v*4YWd8Q^X5zAZBUPFbYW-lp+6^V%pYe+y zNwJ*yv+*ocI1-FT6Yjo;7?>-)#4WTaFl(Kb6Ix8%&EDH^uQrsyxS=1q*RUCA5L}+& zx{hpqX6U%e&tq#}%P_;n^nIsmlm}W^h#0B7V?H~KtdC?sOx~&|E(b(@B*FF4T8V)@ zF<5NSm#?|-3nFDP`d(Zc3JxRs$`Z`NG1rA4n8UAs%D;b=a>hmM>;*JFRQaJSD$jLi z7OhEex;XN2pic`@d<=Gv)|OGQAtw;oq-UtDzz*4B#lu$LpMB_*49|Bjb*LWl09bim zA?oLjGOiIk9Dx|_+dF29YX`-2gd-+g3^hvi;;Q5EV(Fc}Lt}*9 z0C4vcXb5%I@Nu9ie?}=(Eh{|@PF<-7N~o1<#cLyZXBhnqHTw%OQla~pg7OuFS1?Ux zy$8w#oUqvDs=uE!2|o+71V6!WQ%mH#@%gr7N+@pEu7s47d$#cgmr;ZAkq^U`)}z@U z%gZn{Q+6YH*Ov<{Qsjfoa`JpE&&4wEG(^?=Y{d=GvVXh`mIssQb^_z8J}D0>*fx)jc94vLCj^>GPyg*q`zAxAC&MI3>r-0p!#kJ% z1RKj7A~!otJs4s?nN1@I6jkf9 zHt$hh(iOp=YucTDr8^h^Bl8$Dw12jBhyAv5p5{A-jv&5P+-q=${@i?7bz1LaL>_WJ z>djevr|b{!{pSbt7pzi|S<=XNhYyV>X6P{^+q+Y$H%{=y;)ggcKg?T%_C~$!q(b8n z2if$5q%JmKAMJcN<+K-2kZ*3ABv444XIsy7 zX<~?*!KM(z&AuQB&pHh4k6QkADRKB=>8s6T`HR^V* zHxJw@RZrBfm@6sqk!ym`Y*Q$S@eh!oWrbz2VW_6@$QlKDElDRXkLDKMFw<+GRKt@! z>E=zo1H=a)P&RHd98i$$xS_+kerpi=(3r%D^Cam-^m*~Qtv?n==TI6@gGmS5Y(S*A zn>ZofuXWy<$2^f;4t#Tl?NG4iRF#TV^%E005gFb!FstUj?2N-oA~E3XT6Z=Ek5x+)((tK5bV$LkcoTtB)%Hr@apQGTkf}s7L5=C51R?oyD=C~n9}E8J)-~dP z{H>}U@ix`?!6{dy$nGx|#sVM{>aw41%mnN0PaAEl_&aMU)`wlIPTrNdHGc->dT>&{ z5N$3yMp*HZI z`Q}HLC-iQ|t#}Vpukh&>n&js)kNJ7}<=v+l^!k5uO9m=p0Z8tXC0E*fV_A1kIy~D3 zNBIJDS0T;1MQ#3lc5r>}9k|xc8mvM@UGf?@(QM^>SGOM3+O42waWz8ax{}B4rbI&E zOS_J18N9Ha3t1J=50i;M3TDQ?HpdBRdiNxo0@uTDGE9Elt@&i+S{=uZ`hQCJ8jpDP z57+du6Y2_apM5OhXk`myV7saY@s^W~1&f`F=%>IH&a6&*Rb_I!CRV=c%JeU~YQ1ki zPdc5oI7Za8-t!A~Oad?gvt8Q-J~S1H9cD=t5;Ve8JHdR~EQ9qxHOdvvGHlpF|8EDY>{EQ3Yo?V|B}#}nrG!+E58iy zP_d_5{`-z}ok_Nl_NxhUSIH*#S4Ro65{Z?ayp$?1Nsdtqm$GIuzG?p$+MnssHnT$8 z5)zO&lm}vtBbRN?CfcoQZyU+Ra(dQulKbp4AyO~9HvaD*TQx908+}{&VoEX}$z@0$ zYfTTyY1Hmrl-7{xe?>VyaP5_XWu$1*=-*-lMY?dO?#K|Y&ZHfQ>!wq8+G<$Y$6WbgXBnWyWL z+~Cjv8o`<;c0PMTKe;}zgv8)W^ry4iHqw4}-wMKT;)h6<+Sl}}8*FOqycycY`!$rC z`gDly#Ib0!!OU!0R6m=blTUn&GCS88k7z9lK~=F|Iq&wnN*&sBiOLG2LgLW&DJdqIIf>0R?jFV{kf2V%KH#w+NydjQ#FY~y2t zkv6uU7qG3|Qn_N7kvrLfIGU5B+_8+{6{{68$pb}|Y=hD4I?v9^-d0c(rLezV(Ci&6 zsN(x3<_jz~-RQcYjYXUGe36N~l*SXN`64)ETziyBM+tCFyLNP?QO6U1O7T#$er0rF zrh?+Gl9tS?d7um&fyQc%RJBh&X)(4;1TT~_eKPB4|Gqu0&b&?+;Zm{YOkBS-GJ4<0 zCrlg!!YMQ)$9jFlDj&sVPQWV<(5Q%0>iy_XY`zJk$5FMi`FOr1u0Kt?=-mY!MpZ^M z--+Jp5cP=WE_l^AC6H3RGvh{VDklaFZ#rm{C}ub)y(Qm4KSb+y5h(yDFq zW{#Pi&1g%q^au(c!5#?>3#x^9_|Q$d{{k7s@KI7R*EyV;*y zwFiRelD)wlt!sa*9jAY=h4^1|(NzEtB?G;1uH7KEE@PEeETwC3n2fKg8XhEPM8ovtlZ%+Y>_zw7 zT;>j~hu9=~o^xhwjM!rScC8Z^GoI^bVXl-VyJKM&I$#iqmz$sLf7-CXbCZ zp{!3~u&W_LIGw`k5e5fsNry0L0r;ZeqsVZ1XufGIX3~#QDOj$efF|%S3}|b(OU${E z;-GF+a?#aU5lecFU;C?cc}xNT$+`R3MIDOPQu-9$j#ek``V029fxS4e?R^E+bj~%Q zu4`?=*IyPJu`0wML~HpD3qaT;d1@K58XF55?VJ+3By5hNM^{`SHL~#21=VBY##M!w zDx65lJjP7h2qH&IAgUebOl^pbjTn>Mk9E?ygq}H!kM~zxR}$Y@#{Aa+LYKtww2w55^dRHtZ1vTJdYAGw z`(OK;FzasE8F~Xb!(uuF*LZXnzWLju_R`=4GkSM3k-F`U>dCWtd{PCV-tNZ7hofK6 z-GVKjLG!n_gd}Ju1s)+;`z&;L4N>LzdO#`xHH@7FxSwG^u#z9JMSSeVshhNAd=nqk zu20T*?uQ$fNxb%9=$2V&znG$b`Aeq%m*ltwblFoN9I1La%Jycs_Wh=wL1Q*woen;Q znZ@g5j`t~)JY&&Wo!D|9c$(jl)Jp4tJwwFH%k_>nI{I={=SW1J$3taqSWm#3vgzjY zj=94zdFRwjest}j=VK24U#2NX3Xa;&o2?D(6aCWD_oOnZ-aZDHj>ae4NqwoyZx?hN za3}T#wW=&GOcpO;$U+2lrg!ONEae%;#|XfU<8rUS_n16<<1+|(DZEf)@Yl*Xm!&03 zdb<}6Rfrbqdn?|a5`(;JlVV8o&+d{(#%b7s<|9O>mKpj~t!azi*TH+CupI~i-zg+q zW1usxGMe!~?GCJaO8h8JxXRbVj-1+9>)z~r)XQGEd*j0FN;B-;y4D;tmJUfEtssAdf5@Ox&q=xt!W7p4 z`Xz4dhG==$D>e)=R5W&j^0=w7GnMyfQZ&QY zq7pFsZBmE@q+mtM?=dx*K0i3UHK|s&Nh6|7Q!dd9Cyv|0`x=kCR`b?7%AF*5P%6|4 zNAtS>A(}~_Ajyg&UOOfPCOj`AVa55!IG;KhMmwcjKeR`g9-d1Y^+(p3hXWMN*Vg7H zIeE0)cld-Kdr;+J=yCodjBe(qBpL?kJ^P9+#_9Q0JiXYjJJmep=vAS?>+`@-2vD-> z__}g3nySdqBbb4MUcgPj;LrDV;7;QF&g5$5fKayKMrk01u)Iu`a|`gIg+L3(v#n&4 z4*3AlOHgjT2UGQuZI0)UdIF@iKV-+xq9CPI zdk6iy&#LIJT=7{9_=?K%)JzR45d+85Sc>O&_d^Y1bq#5En#r0Q#{!*Z`lHzsXR6J9 z>LZ3Mk$>GG|F}BD#j`vnc+w>us3fACaLrgq=dY8#X7m<8{xd;0UWpMV9tXrZxpG_tC1&cJo7ctOEa(;FCVq z$BLS8j@6nxKTW=Lm27*gYwB+{{{&jRU0fT5-tHmA9flrd;o&K9gtJFZR#WwkZzI%& zp0FV!NoQbhzk8Y+T(I5l2b_dyCVH@KKN( z8<;%KJ__W`OV#B;u9n0T%+|t6@S3k_g>5dIuKhcM;unHjp1tu19d?rt+8RQQ0%Dr< zL|oLTQdLi;JgfJL0HO0X@9R-$GMeV?wg4ePMMKpamSrbe&EbOxZKJQV1Vy>*Ze>$- zp=@cbj0UY4FPm*Up#ep3c+-;4p3J*bn^$U~pPT2#m&Oe|R{TO2BZXMrZBL?QWMFx# z6a;xQ?1Ip{d}pCWjo(27^w=*3d`6iuc9%VuD=l;7?>Z9V#L#2aUvPazAfNF@xrh2p z=`DQao08`^8arDNVivF%DXv_|WN3&OTKwuOz6V_8uXT*xlbzRkJ?FgsuAh|?C6>Ye z*JFLAomD%dI04Z=B^B}*tEsY0tVI)i)dYxqJplj=hFh8HGWV2($_8=n)k>5AJVnOJS+wTa7heTW&|=b)l_X zh+*HrWI7XT;VAWBh#Xu3Jik>eD5H5t&h5Wom4}^isi8MTb;+tTK6z>7>!-L$j7XlqZNi^5({Hjkq%_?^;?8NHcR$z29@bzv}p?9`2%ixBpsX9xPJbp7_>X)>mZ?)tvL*BR5YXt*{qs(Pq7f{(xQ z@IC{*xzK#6{U?Kv;zH;PRwzqgsb>tTGTJ=q%01ud^ChD?W&PI~sQy_g#;?MhI?=KI-@GK7F6%DZ89cNfVjb(oL)PDPZZgxv3f0st#M;Bo z*Kdsnj;!?C-Muok=AT|R_SrMKQkwq$qPs{hz{R$%7F5-qQ}y>9iBt*wk2y5t>XLsl z2ld)P#*H3>Zb`Pp0tr-chf5-duXY?mTY(x&NCeVeR?cHt^Ugjk-z`}-#lj;`Q`CHQSg;h=af_R6+!p;NF=8!kVEoS zSxy!@5SSFf-6sqm6y{7TRMtx7fFzgG@^UA;ok>V&AvhbDG+Y)Tv^QnnUn&)L%@nGL z>l}a`4!axj5twRg%GxL=mO4D%FpXxup^_(o42Y;+dXAS7n1k&knn?qbpby1y16Eq$T?zLf#S`Wa~$~c z6T2#N_w8~bR~Lok{LT%4uef^|n^>CIwuby7277sX=W(_Ysq1uCakaCy)M85xQ~C-{ zBNlY|3oM90O-GT)Z@6MqSX{l1X(Lre;3f2l^7@TfY>m@UzfA*hK4D6C4`^8NJ}+1Z zuz=qlaM!h)-;s#b_cB!Ul6{3gI?`I1SX1n?3vPH6tecBZ<>B>y`Y=WW$)vjP7q~Dz z&VHB|_=iSs5(C!2)&MJop3SBP>as0FcXhT55UB#6a7Bdn2i;Zo9B8U&;6n6!ZvPNMPNBJHi*iT7h zf`LNZw8je8x;Gb4FiGL3d3%#tpI_9|_4cE`(C?FQ2mX*n{a5`{PZE{_!lHQvtG-ae zJhy{?bo%IXp11sW()k_Dk_dW?&+91Dt07)m8Jd=rMxrY{8H2N^)xzFY;$#}RDGEd; zs0|1)u1NTGz+8{khPR^gH@*0_-(YyXn*Y=;KCCw2XiX0huk~`Df2GZk7!Hm&!g9OH zA4br*d{d(sP}{15^?F6maKH%5=J(fKbur$rRHv>l`km(JusCA%E=uxZBZjvu^7GA^ z0X+fz?mry1Owoglyx4(8in^`c2vops`7wB|i4TFWm2?>x-nZ{!TZU-v1}Qcnd7BHS|X;_Y%BaMGvcn?(XqaFSAux~-hegb?qv_)35SwUY5$ zIKColbrU#RFHI$kE42BVUM}s$%LU{1F7~-id?2fBg$K$N#*5x{L49NPuWqZMMU~Fb zw^K3M-`?GB1a=d=tE=_Rr^6}vg>5wG8t=XLKiuDFUn|FvA~igPA_bT=QHf;mT!j!=`h)+k6u(0Rnn*9E(4^=z!`<0z-G7? z92_;$#>z=<>z-v+95TIb;%1Rc)U5LSB5`anHvY$HCOILw@*fyO=q>zQMQZ;%FeV(! zi0m8i9HA0$XOj+K)8`f8#%TErYCzqLZ|8J0M3`&9sS1zWTdb)-~+cwR*O^9M^!($!77!TQI?hiqzcffHh$s1^eNn zT=vfZVUoF7Jflp0kT-xY)N5;J>!Ign4YqyS`Zg1N?Nc84FS!gVV|#PdBo#=3%iG_x z=+#5KVi&$PXuGFdRadW!8CWlG#$+w@zPRY!I6&B2UXpDB{&&~lttj-{d1A?B@8{*{ z_ZRdhFBlaI!bEdefDh&MLDO;P1;XT6v0ZziRk_&+9pE_BY==jCl>snQoYe`LX=G4M zpTpK>B8Me5ff6(TM@@LI%NaMaO*8FK)}={OeOvi%_Yu8Pc4o&C!K&z<8DIMwrD8dy_D zh`-qPt1kLd9-8feCIvIIA?`i+{OQ<8?QZKVWkQPQJY%scr3df7j<&8j;VyY7R@FcK z3Z=N&=VT6S5+vU zHO`)y}pFX<;p_&FtoI{k#a{(tbYd zw|q0;)R-~Po$baN{Vy*bixZje7^qzuiZ%uj%=J;-MgSv2r{uQ~bmdP1$o_^sKEtnMe7 ziGOn8fM1_74l(d`Q*cw=$6KM zJscQ=RP)0L2TK4$1hR6JHhIIrjg4z*b!h{%+CgJ0Kt8)#-B&}jY}4~Xd&1GgINWQ8 zU1@*u_0XV&NjuN4Tw|;GT5*vR0XCr~_PU=gXEF`#+sm2kJJ2B2tPq7#srYOOFHE^K zd?k1!3;&;HY!+BP8&rc_6{W-L{jy!#wSt`^&JhO=gf5L3NKj< zsjEf#PHW0)NJoGpyrnwQ+c02FR)`(cB(9`E@HS(|xnTFVZGvb7AQM*JeP#1U?lYNc zY6NfiSD2SGguI*nW8!WmR&P%@hy6QbOpF~p*7Yq4reRRR;FLmq#(4d|oC^^=r_+ZU zrtT0|aOUv@6Z`x@hdj2&64J>T#7)E*vL)PC8pGpoNwj*${nfC%rX1f?>=~T7HEJx) zP%I|`lgbuk&=W%K=io-hKc^)0=}*j@8m16wv7h@@-4gPg$;efsMn~;H80T9@XSvlg zWhMeL-whgLp$q=M8oau$;e80f%JylV+Zq}qz09>#Od7lHgWGqvF4=5{?OR2{T(ZZRGt1XpvkX@7axesuDFhQ+M z#DCNP%4h+(L1oc~|NY6P<-rnK3CJIJcu9iS&O)iVSjw>Q6M>sL2FGQ5QTZpV8LXjI zff&#Q8n^E?fe|4*lm9E+C$efOZ>C0$k2q!DO2_z>94Q~hqx^Qx3 zshUyn$gM<@+ZaZ|guQw8FeA&TCnbTydPqt=?BJUw(uEnnD{Hw`tj)I0S6>S}?oSmn z7O_>QA*v%pB-AMrP2^CD|ztFE=~oZYO0mZkJPBDX=SD9P1*m9(bG; z=E)A?ggR{y!Ev#=>3YC0zc3IkvO{DHP-v(KeP(U(r7``C1}RbHjXbYR;K{sHK)%2f ze|0C|b}VggUKoR+j*e0LzpHG(S7`Fhiot2221J?myB9M&!^D79h3foZED>Tm2sY_A zCBZ=D-%qQE{dx^5GE79m9W)C5blatdZ3RbWtYb*!56e^(LYmKyv)Srh2`Z*x<6!Lg z17E%_>4FguWs=c9_iausO(<3w?_(+g%Ql#^PW^lt!!bzmvMue!DXP(H=?s>^!idV2 z#D$=symQZC{W)Dj*TyAv2UbbL>F`UyP(sJGtA%9F|GwytOTZ^YLa3msv9f{rM=&>Q zrvPzn8qa?1_zg&Q&YV@lrr&DJUY>p%MI zA9O9DHN84}eH)!0*JNf}uTG~*2n2XL5rzIDPlF2Tid~oA)bDl8*VH}$LoUVd9lc_I&Gnd!3@O0(5Zqx3dTRQ<4-Sy;)q3}OpA5N5XhZPJPs=Eg~ zvY*B1&yotT{tx?iwa9SFs!NN%OOE7#D3!+2&C*T~JN*$L$tfJuK*L25Zrf~2TP&)+ zPlgMv&9uJ_7_UN*z8Dl)!zFk4jUE%A5)$u(fJG> zy9IaSc3TyJgkmg$R)i|*@6RxfG;11-A*N0bKB0+gYW*q> ziaZe|+?%UUQjLRNM3Hb;e3^yUv=Z3kKE_-J0ZV5pE8L;j-Q*ePBn3uRjWZj-N~#%b zX-<+W{IZCrIokEglJ$(4%#FFl=|B04)QRas7}rA;|GdEuO)F&6l%6{!r@XN89Cshf z0iujO;dBQ}x<0dz?qg?9H9wUMtIVlI^GVtMp=-3v!0+)jq5e*Q!Utt`-0a{uHF=9^ zE}`?+pJoO~hYv^QvOUV{yBzZ1GD!Qaw&~QEu&QwLTu>*LXXbTx&&|?`?H_9aBDgY% zk7yWyv7)DchPW%Vdz~WwB@Mdy5E!}qiP=YA3fXs#k)m+Uzr_+RHrSkSFj+=aWL&1A zcgc12e(%sXYJ8$@hK+b?7x3V%ZVG)nO5*e~)) z)0!|=eT?|ce~&t!VF))H*(ti24PL zS%t}V*61j@1$Pg-%+_V3Wd=(x8*z6!K7MzIquw0%zw>iu1+D(VXsOn*G`j}o(vbmk z(dneR?e8GAt5A%?lr|pJ)G)xkxm$nW%FU2Zuvl)8A*xG?eCidv(#xk3Uh@M=t*acQ zFB+0s*)2L#^nE8?i{ctJ!rRAd@s{*-JLi5b!>{?+W~@i(@+I@3d$GrYOU z-uZB9vTGGr9B|r(N`)gp;-IyI0M3;3`M&PZ@$Bc6{@e0sql;%~r{e<BvhBY_LyTnTtO646&pFaot~JptrW{0f&!YKhz8D?y(^dUn)0ZqZw_59~`MDu=tq z7Y`7V)zqLqX9Cz)?*mV9x837n9_%^zOPJLN=0YS03C~nHOM~nL4|)c^7AX~1Txi-+ zs4?Hkt)P&7k^P#7BIqQ;rj*t&zXcQI-cGszf@XVkJ(Hvgp47xIaynLdT{|-vcmj3T zn9%)7q7dNWGa4WQtC|-EZ(XN5D#3O-Ol$IZ9Pv6UK^pPuKuai{y zT8%M;(lGPIrjWq8wr+D{)4Q$~gp&HKUT#jrR)v2L{}~PcpAi}cX{b?lODBhLkA zSs!x`1PtdW?3hXtqFxzN*o5`@pSlJL|GtI7;lQTzSqeT;W(4dQ!blX21l6vLAY!Cr zn8ge$F#4wDtcN&Wpz$6%L!)`1X!0edwL|V$0Yoh_?D^~-@mVP!N~;nv=^A3p>a;(x ztx7u~#gSorJKNLGSdA;4dhFTGDP7Lx+5T~&=g9uGwa9u+sc$Osml8f)9>WneU$8OC z7ks8~9t<5VW1n>m$9m{`ijK-Eb>-d>lGSixmIFv{$$d_t@U3z4Wp7S8>=kzVu)yQ- z7%6Hf{k6L>9WvP>15~lTP~?PB?6Olwp!;fYF$Z==YAAPixBvi}a{t-PNDz${e5Lk)g&ZTw>RxMr2(n;}vOo&e#)C z$p5fMi2Db|p$y9Cb(xspa}F6~PpM7_Hphoc>j?|;A+v5t+vhL%j4<2sHXFtyUA!4_ zC|vk}M_oO@qlL7mbx6Yn;{UW&(J9VG@{uVfl4lTsU6#k7bpnT07<(+#>u#P)r`Epu z5!McIq*Tu>Xh}i}XfBK~z7>p%p(ZLGuT1NS<#UU(bqA z5>lPW3OZtDHVL0wTu?x0o0mThlPr5-1^7lZ-*=<{T6*U1ul@??g*HBjE#sP);4p~& zi262o2tgW13z2zP8V6qo1qQq*8zg&HfC(uM3UX4KR~Cfmx4){{_8bn({mDU;O5d6d z`fxInSjxG`BI&y6V$@p>VzJ67NvXtBG8i6UftrFpWH7_L7@G;toL=6xi7ksgqLTa|Z>I3HxtWWFNEZ8+x?dqLbRP)>o^ zlxuuGTP{?R_sMLz_|-We4U@Qj=#jA@=OoS-be>e0+Y#0}+D_uoE(1RuYq?N5eB*%> z;=gF~*p;>4#F-I+SU0mRj~j znvuV@%WkYro($=AD4EFf2x~kAt>#NB&<$^PaE}PAv<@gHYfkG?|HuJMUca9FWMBxJ zcn@Z%x@r)5aVPS00SRdckhUFW=uZY2A)jwcABs-wGZy_}#2nuGXd?d866?PHHS>uu zX#MPt(9C-?+VbAs$(<^h@5>9MB=P?_0=tHNyAYkG7MFQAtCBwXE9WWh6LyCC;@tp{ z%5DLpjl3`eqPgKcuI&F!VSE(Hy4IAa61V-$;=TsDW7Htn%eeZmIe1E&$L_cDK8*d)| zf=Esg9;J74?29v}J`whrEX43c6lyz9;e{U8Z36EbpJVJdw;!nvWEg8*Y4C3F+8Op*I4`p-tPZ=rA~6rzJ2ocK=e zmevKoEhXTmIaUqFR{jH3;$}%TmPfgx_ZS!@+avMb)TmKXWO8b@HaOh>7YDHd$cB)o=7tp)>mgl(pOU;j}|-lT7; zao8>7j*-$+a0 zXUT#p6nrpSaSuquY7+&wx4)BsHt8qnov2g$6 z=i$g;f!}d9+r5Z+C#((moQPU4M4y7PvB}Hn0@p3VYi80Bw}B%?FRY@m3#%jR&cMaC zhPEvA_^5%EzoF}gre;g719G0Wpa_M$^4F%YbIBtqmTq@WgD%4opja;=tUQ;!ZM2^R zynSg3}%U zh^H%`(ZW^jMg*w$931Xb{t*eL?8s{%!EH}Lz`!Zy>o6^&cMV<$NaYYJ2K8Q~HR2mc z^arr`6+GyzLF?{i?^Q4T48I3~hWiN;T0R%pN9I>xWegBz2@{&Ap_^oH^@*RL>eeX@dE|Zy?AGx``#dY8WOpA*znc)_bbe zl6V%Eh$lM?CFWn;qMaZ-u!juEa$FIm@CB81==94a4DG=mBI*iO!45o+S;MrEzD?fC z5A9q;o)@7y)M(-AJ$|ln4+i2nE1@a^vt{EZFM=4FqJW<6aL2PCA#~{-wG5rWIB{`( zXEjna8GM%T6E}mzz(3Fpv10#^thWq^b7{H&10lhJySqDsLvRUh!QCOaySuv#g9L}* z?hxD|xVyW%EjP)%@3*`EpPBBis;)Y9s;ip=Pu`K@y+E4MIH7cfgU+wn^3jm|mAm=p z&u0Tvs=Hn|*(pcHcw>V<`Aj^&Y!X@(c&5vc?5CYLWk{AcpLlF=*%~iS9<_&1;fa*X zv7v;9lQyCZG;n2Cdum&Lb({wdnRGL&c$a-{UW4LRjC*5dQ^$wm5f=A@KEz_pHyDVx zTi}Jx6_wz?rI~EbThs)lP5&ra<;P>M;3lI73EnY8hEVg%X>V+vwc$O2oj0eCVYg0>E4K0GM}RbH!;jvAdGT%>2tMG4g;9 zSzp=piYdt1#=i zW1+a#eftO-vxEHH(Qm}$IASeN@X0f7IWRYPORYbuqXlCbUOj0kGAoB3I@z0Jbgjp= z6t%Sy0F~wdg?q|vJAvi`W8|{t&u)WaZ1r8jj-8p$cNb2j^%t>katkDVBLfwCmIZs< zoJc&-BR6{`K*OuYn;z^$NPI`rurU$^*&5S*PsEs0ukcA+DPwu&?JW=(~yqWCXdx)}&LFuRC9G~hc0PQ}Lid9O_BdjOL+^pa((eOXyOsh{ok zWq&d>P8GjOxdPZ7Zi`JzHz9ttV~gNtXua<^{;4gbB&5%6r8D^BaFvN7&g%e2Y?*}n z>qB;K%n`-Z-UosgGnSc(?{#d)>_$02(V;LFBCeH?jLQH@yfAgIBs^i=f=Su}e0`Vq z_XPS38kQSnMyyOusr&P8ysQ+PAw4l|bb3@ZiP=_Ba#_u$L}TktK90dcdsLhyRoczg z^N%@LyEZDTfG@A~<%||wS*j`Bf61sfTK@!UszIKC>|nmv)KHg`dwA9D)5cGCFx3?3zXq?w3IVA*CXc(D zSVB7TOD`iK}74$HzhPk%lku}pE&cws*> z^OpOT;NS%J15wHJHcjbe>R63&TjBT*`%UEnjLIX`db~^AVg~-Kph;`@*at-6M^nUZ zoL`Si)@I2$LjcOPx}%yAW%2}f6TEg=&iSSgy!9)&1ZUhte^o3LVfo_`=m;)fO_#KD zuxdFzzd38XiIz!K;S6YF=_rDJU~u72_}ZWxDcm@fqGjJa1d<&OpH!}&8!k8|J{$QStp#NMtvboF(BK^$q%k!r637gaUVw-D{@wSY^5}JNdk$b{q)*9%lI5! zjp*jm`@m=XPf7_X{&oMB$(1p#ezolD;=$TBoqN^wyy$A>;&M%9tl|_gbYG6_wMobH zjC$J0?)5%?U!B4y?1yUkWi`Hn^F8a6V!kWGhiftX^ykL302>$8m5;4n&lBH0=RdXX z+GH+6+2hJi&3lTu9l1=^ZnBnbHp}-_8`MEI9;!o&-G<}qKopsC;3fKh1ULoRD;$SJ zHk9wG%a4|Ya&cKfLd#RZLF4x86=CCz*oA=lY83nA+Q7#TN8YWHpMZd=qYz7zG2^_E zg@k0Tb!p~CK#%@GVX9qHotn2h{XK2s=e5uh_@Wh$LXiPk5KwxcfzgmmC$VyTC1?%7MHiO@F(o6aFnureJhE!JtTb-rZ z3EMDv@L9e-bcCC)t}L5OTZM{{n3F8HLU?*hA~rq%8jkH_aJhP-Y$95vjP5ssU;7^; zP)vJVnQs3p8(^Y=UoAE+^Ds9KI&NfF)qP*+kLq0yDpjvvK65 z^+BME|DtCjui&B?+m$+)du12{MNehIy#FdlW^^lY>U!F4?fu+{VI6%}S%8-}TaD)c zD+WpDG+E@j2bC6;Df)tJC#X&7NS3bd(vaq$k#o3qX8Lc<>g}QwB;SfL_^zNIB%K)= zUM?_WAM=EgsW22ed?AC2lrZdn;BOf`+6*w`U4m228A!E|&SfOI3T(#8pzUA!eF?{N zunADNY>Jw^#D2mrkSC~W_J42)UqzET_l9(c{X>em(cRj`` zj<5R)De>p=7Sssa*ebt0O35`Y+3x*T07lK6tm}|I3{FV?{K4tbV<)&=Pt+40W#9FS z7OOcV6^U*p6n+{?p27Pun|W(pt%hI17}oq@pza=TeRbj>9sRo;goyC3TJ~;VmwU~Uo zY;!)zX{OH9xo*9DXY2z6tKf!x!fu#co>rQk&Rnc7K3Hsjm?mgiZA+dQFXlGtgs^7* z_~l!tlhyGGKH3hT-6C$~O3Ey^7Rbb!H#Z_&?e7^G3Y?!&)l6#~ys}NE$+u+;RbPb7 zAFTknsRW(Nrb>UGS*ZanN9xnLnzLOd8i%X(DQf78&f;_9S>Cpe@3=6pXonzrP;A-} zRX4bwZHx|lO^GSRz0Zwc56fo7T9*f-CX-NuwzfH+9Ktyp7zRP7@&Y2>HTB{wn}zYj z=34PYO%#cKEpgMaX4%=ukKUPh(A1eR$F}O9S}Me{?HgvoFlKt)clRwcOY}jO1DD{3 z=4pW#tS$l_0<8&44g`16po7-e4ET!Hu=SOoS>yhEQxeMG+YdYRZqVJkUp@LmWoAzi2LSjMu&_DVK_R!`#-U_G8uv|E!%ml!- zXsnwn38r`M;~`fNKsE0{?FWd8_FG@YHQLZLQfFUbT;G|mdzbJD%w&$%i}y=G0Zz51lXn1_23M;0w=;k-AaQ*K?nozt_VX)>dc%aGw7 z46s7kJZ~9mc_T98WV8`K+Y9OmYsAc}#u_C+tU8=Sz0by?L$`5X%GA^kk;w#BoU({c z_)j1141^XrOkyUrWfA7)!BXXqwd{Pv5oA1$hv4gQk&f~}Io!j(c7;p0E~M0 z$p51(O5aBrpY_<_S8LJ2C z+y0g8(SYYW`F^~Ssu^BT-uo*ypx%=1JZW`ExMj`Nne{&5ZZ3MJVErF+(CtD|y`t5r zajn;fjIGC`DmSg1%)^gq?~ioBWmGT^VqHWQ5uIgZS8E#q;|w|r&(zt(!A;%#5=lIq zZ63C|0L{Y_8GFWMpP|M7>QTL3HB`{%qWdGAp!n7V>&rnIBe1cdIoRA$o^DxBY{F}? z!e4FVsBna}{WDXtChgT7PCh%3v8SYsst&7_SB1LI{`tdXVL=^-Mul{l(Zct6ct)Vc zL?=-|we9EY#Qpi)a;D=tWd@9BO>fT=NYVVKoknA_qA}7_Hf_%nHLUIGd?PrWHI^GJ%ndGs6y91wAF-AGe03s2c$&2Gd1cu^ z*SAZPrQu_X=RH4cN4@sw?Xru-(KOzyv5E2Uy+q}m9l-pmH+DHHeVmBvT2{~diUV(; zkEofCDq-l3oD}xq93lXEw>t*5y%RY`V!$^)n68+Tr9rL28#B2in($t+Vc!4{#fm=LHyv$jl#4X(xK$?=r3(Q;KKVr2I zt4;x*Eg9K4lj93M;|^xgbQb>_?YSg@qoy7LJMyhaO;&Visc8K@+(olD+7nk>L_CEI z2Y_dZ%j?eO?FtnSt33p`>Qb!;x5u!Xohum--jZczN!!ZuF1;mwh?tWTsOY^o(Q=UD zs&qA@_pDdgVw~l2b^Qelp=%Vqo#LVNt~$|szQpM? z<0WgeU5C}_@X_u0kUwAiZKMD3H!Kj?&st@)|L$L zAB)Zj`HM0L|D%etHk1%KYu6d(47)Z!a~pH0Z@eRiQ~NX1s~mJkSJx+&9wXt$N#E;b zgLaOKWk2)utmgJ;_y?~U_X%T598JiOslF!JnXi7Ir;O21m}WT)9PLjO#C8anAYd1d zS>2C4=YNU(Gfss(6zwFv4!P-do@IC;4H=XxgEM&NLWiWCszSkt7~z2+{`&pky-g*e z_OHNXN9K|q`9wW83C$lYJ2V~hw3RkA=1}pLo%0k$UtNzaHDSbgrX-mSBi*xN^td%A z+$TvjzpinPb{ZN=Z3QVYFenrZ7;;^E_4Y~~?QHyTE=}!Fp}R1tRW2Pd$}4PpJk+ty z;BgfkeH2jT5v<^I4UT)kAvg2fC$qP|9LWI56J_`?p{LzQuR}uPj!C`FAk&oGJthEUunswK`ZX_1D>0-aDy9se1A09^#^V znD$Q)tF&jQa-^Sg|MA7YRkQ>Np4bq5uMBeefz0HR2%E|@QW22agveA`9N8^)cCJJ| zWBO-DRj7k+FeA`_eu*_DpTu63G8)?PR9m~x@O>3LlhBoYZq35!Vn~Ud3?9i$%Pk!IO2yR}P4w=Fg+A{+$Wi1DT@(W9PH?4a1Q}wz!WL)D zM)URe)?Lv7AL0QeL8q#isZi6_inR^%U2}m+&Jvw2{V+7kz%|Xp=t#;-UyrM*>Dn0! zOz5v><8do$vde77_ik>JN#OD$)u$uyn2eLg+l6y{V6yvE|0!ehqq(*}!@MdvJ}Bp7 z`lf((HPB$B?>_Zh91fuMbi1HlJzo;%JUwG_sP?)OgjJdk;Jz_wmBr+{+$pZR4K-=G z7cvNfuP@))61UcF-j(q~Jd zbL6x@F_qZXUq3C_EAr*Gp+Cf>5?gr9OLyuX#w64oP-o?HT0_C)^d0ef*~PMefZ-_{ z^kP`NU`jmK{$ftft;JT_MIi;7CV3JQ4D&-f;*ZuSeQ$w36MMHURLqJS+SR9#)qR<7 z`h-6mJjd0R^&hUfXZD#YnaqCq9Y(~$`AL~=e);Xsm)!`oej;|;C8jDM{86rEuvFt*9!zr-8v^sT~^AeYd2 zGL_jl+;*W{)5y#gxQUj-$aHYc0_|zN_3vwU`5tdhGfYHZJoNaU#%8NfUII-dD9X~3 zS97O|heyMiDk=lFp=ovs)c2S&e$@_+d2jqI`Rz0kb}JUo$l! zPI&-by|iTM+Z0ae%fZadfF9N9v9&noZWye(P1~n(%MLDDGoH3%=wj6^8~-m1n^Uo;Sd?peb4oTcq5mtH-2(@ zMf~m6hC~a^A>)b0%XaM_>GV;v(S%U%nU*RM(4<;1|HU7t0N?!sm%3`6fZhHUR@d2$ z0CYW5Wb~A$+LVS6*$2}-DCfW&q~DI>Hu>E%rM#cPe$r&7b{}zQE;j=S{XPQd4hhXq zh2Qz$60(98pt6`rRtf+7Y@gQ(Ij8{>I&b9JGSqX9=+|e=RXv;%HR57B%gjc&4Sb&wGV_U9h|AyTaub<6_@1LC`KByEm`z2!voevm z1hq}U7N7C&Oywe z8rWTw_c1NGxo9e%j&wW3@AvtIvA|0jG)l6LzMW`X7At51NO9wrE=b-Af~#Jmn2E zJc!^zOj1Xf(V(X=veB3F7WIDpgMgHfV`O+d_fyagujz?U9Y)Hm`a{t1A2nHAC0|z|dBd8CHk|eUU&9zHo^W zAMllOnj&q19^Ocb_S|6Zv_acSxd!eJLpjqiOJH8hx^)_8*wCBb1vpBfeasE3*)Kfr%dkW{{1H<)dNZb{3`RDR8 zln2V&c`w(HGa(7pff#vLacV~#0*3fL$MfwCzPT|(@37ULPwlZ-R(Ib}V+$g!FAg@U z%=42qVw<&#ZlpEu1|2ND*-wc5Kw)q&!r^&;VbR)q;kD^ELO7FkHt+h&WU{&|no+V# z2MgU@X>P`t1&`ZK0>okVpO0^2-)X&g=*w`)-p0}4IgN`b(7boBR&)5$N5_wTnt=_E zZkFvnOb4%H_E`R8ZQ^b@!TpQ&PWviB;=q75M-%#VSR_7ApG>L4s|*LM6yrWulB?f? ziR_ymSHG&PYc7s4@nAbcn}b`whrym;(9tjJ&f%ktU_q|Aiy)t}>OE0?gNP%tSGjoM zUD(C1$F%oeF`H1vvM(XL-RgCn63kFo=uLPV>`OdV z!{%jT%HK_fG83#oljzECEpBYjkxoxki$mF=okJst&L3|E(B{S-T~yH;wlr9{niA4u zg+=r+XKD{p&NEOKJKGBjihf2$Il`>DyQxs9f}g50`7tv z=0anXRpY8T0O-arQpi=*c0rLAbGB_q@avy2b9J3$nwosi>R+2Mk|6>Y>~-?2^)g;R6#aDb6JtWG7bcoY*Yay_e3$=4qF2ih-erQ3w+)W`_c4@Q-$eU z3p^`ru_0d+$pOi3Eu zcqX`mOFlT9NYa+AR%2y1gi4YNyQrV)b`@WCxwkK6;LMV z^BNY?NT{8zf)3)6xS^6vJkAc<=%YFb@zuG+$pwKmA?B$6_uGh!O>$w+?bML zk^Hn3a&3G3?4^%-Z4<;(j&fe_t&a8$i;_cTk8S`mbA?M zxML7`QK%QQF^oN^v+~@ECn*Id--mzB9J`D;$*yDVE3gz0>bRzg%@lubYI)S>0v7i{U0O{@3`P67Njl;6d*JHW21 z%lL=^&N1^;Vo7bq!y|!f0}3wX{nGiO%S2fDGrqRW04d-?wd`!)xINqvLysq95v_og z8){K<#Lnko--C&|b^KstqVbKLY z%Nx>Pw%SKpZiWP}S6vHa(3?M6SUos<>Zq7r5gCeQkmB92w;y2UIm%J2RUBWz>pSXh zsH~Qh)GVUQUcZN=S#!7%F@>WUF3R63TQUVzyt@CXc&|O`!+=*nQ9@lr~Mr4o`_mDhw_Z3QrT7}H$pG2A&QJGmWxEzqiIarc)_9J z&qP10PHRneF2AKJ8tT(d7 zHtG&)#;D={O9Pxk_lIj9sQ*}1axk*fK*vg?KKVowQEbr0ar1wOOQwwww>n%A=-yQQ znTD|4tBbrZNC}6k_I1;>fnOwRn*(i@7uFzxuqK3%mW$xDM-e>Ecj#y^w4lR+>HiF5 z!|j{%+CQcJYEpelE}oYvGQf&WfPv_i+39s_))et**8hp<<82ka9<*jQhWb{XA$#ip zxpj*MRPV)x;tH1&61g?Zt*+J+5w;M4J>9K(4w`p$ef{o8J@t;U0hh$88`EeQs0rjQ zqp6(;Td*iuLiA_cH|9_PT+a{s+x~~mq-K7^J<(YG&?}BHZFJUa)|K?c|--Xsb7-(=~_9y_Gfq9?p$;`#f z23taJPXH`NQ5)n>T`V#;$ew`oF{|!XVgg$XqRbm8OidBY#cp-gr}Z@%VyI5;Gpx}V zcws$_JHXOqnusnwkj6N&_ekpI7~`=3MqF>JsGXafKJ~8x{&C_b{60gzAjm zp{*@z{F(#eB{7BgzhlksG;|1&-}GlU1`~%13u>jFD-s83q7Y?ION@~d zilVWbDQXy{e#qG8AE-m9QvSbx5X}JwT%u8Zzq(=TG@`mEbzV580GvBa5(!+>@YyT- zOQwL4*;qsHe#YHF9?^a>ia$1!s&j&~Fb4*ia1HNRj2q{S3MZF_XLM8F5vKpb`_lTH zR%t=ZP)*EOTEGC%WfeNx=8GaTZ95}?C0&h%Q$QHOE(tsCOM$&5FCVi0mFyV|G^f8C z{$%w28rDSnsL3ry6?AvCYeX%p^?Q>4$kvw(f|i#A$Oek#+PD-L_C2kTdr$HnCE1tv zqB99ALK9uqv7J80)e1DU1CO;&^vARsXux`Peidc4+s~#rhxzEiX;J5&NaW(wI>-~b zP$4WU{uj|tAi=N+#+aaSQJO_`SlNf$j`LHc9hUpC*(4>L;xcxP0@muajPdJZ`TD6u z5aH1~YdrRB^Z~TiRRdz!%$Io69;3gku-O`t8Ql@%OhTP~o?AvJ0Ixa!v>L zb(q+tSFes@Q5NJ|33Q5fvi^W$1W2$$i}<&upcV(|%0n~(_7+>Mmjhv;vup^JxdVOB zUD>Z?>Osnkg>(h_%*>!adF4+S2-;p|q}K0?(~D@xOH>@aq#SUQ;dGICf@cc&O$C2J zIzRN17`PLrJxNKFOgi(tZfnr)YR0E_gj(90c)DOr-1~Y&R|F=g14ikL0;J&Ev;9zm zOv4L7p1WFP12U|{FlO2j;upleH9O)?t|El$eBMqcUEUTD2RFbv_)OXZUEnS*bB@Jn zoyM!_X4LSwzXGQ7_PltyqMQm^$O&7XN z8NJ99<rkgG4z8<-KtR}H|SD6@rj;Zo2^u4 zN@wp$2W&Y{#x<{C+(x&&NE&Z+$;yt*$pRYF|4#HRj-i3`cGX++gwFkHXE>n_V@AJpW#c8CUyOyu}Ul`H-(zz{-zvY6KvpR{l%3VSfj6%`xRI^^8$(M};7 zT?}%z>g_=)^GTwohG5vva{pgE@TVX|`8h!BBq~iCI4KKk+!@6aUtSbk29{u}v5)*J zL^2L_@8hs16haj3UXH>DkpL4=C6{kdLQJ9+A?*Eu`8=yjWD%A-Ka{qoVTy=XG0GQ; zHia|OYjRF)TPbHVtIfyfvT4q@=y-XX&%jREM|V+$D*qpnM8E($%~8X+w>35z3Dhl0 zupe4QWB97cbe>%&EX~3N23bDee%@RD*+Bbvv&pg)zkP*R>>SQ*j&ZN}ms`KP!o-I&K;_p7-U&l5hf$q5a z%3XGE-A$ZKW-KBN6ww9dh@ecc&^v|qYLW%Llkm=oXcrw6n=24`e~u~>;}PC$su_=A z5@hP79XdDD#E%f{v+b`ZM|}2LYWOwl8G}*c`o}ikxHSUkHTj}Jnn_R#m*rL&k+M7{ zwSsm&^J=l)p54^$gfVJzXM$+)mlFBE4oLuG?>oSkkew~9Go3n)DBa>_X z&@agc?pn8w=nOY23=;nTzYZVy30c%K*yji04QiuRqz{d&>t`(E#doXM0CVc>shrOK z%HwFXz#GDg6A3^&nln-!IB!4?G6zaBQVmdWGt?XrNfn(o+=wiv#BJ_S-#(<(Q#a9Yt`w>7j%9~*?A0SURBIN zvlJ;Z!K*2HBn7DdAkaX`8xR^yxMamG-j`Sx;~|KVuD6yo`-e$whh8fyh@c4``PBN;G;k#}q~lPXl?v~i?vVE~M?N9a z4d*xuw^^fT-nXzBy8UNhK>ZpqlyixHUK*?)BV6&4UbnNX~Wvn8EWmW!Yr->B4j zro=UecbVOf^rro|$yzwg{ddgo!_7gIdf4*rBBY8?b&0GJU-=Ia+>96!fn!7N7H7g-b~Hl;9%&ynVD&#TxdNpuCv(8>37g02g*j8 zC?Rir_erVp4pIPxxyg+q`{>KJyoas4${#SDr>mY>CV%JZP7y(? zsSTaSSx1b_C&o>PO#HR_-{y%E?*r9&!#T;t$)zsIJ|e}ff*Iaa_14vYzpOm-03Z*0 zROG5G{}t$ohqHEif&E0h(@oM4Tu2N939DV=3D;S{64?oRBhxJ5*Xb9C0{T3R91IHC zBXO|tj!DS0S9|JekbQbd8i+EE>_i!HuzEdgrsf`dIY`o85;4X3X0XDn{x=9W!1^|x z53#Nek{216r$p5nNYc3mi%`qrs9}hp9gVn=Y!307Cq;kCRK7)Y{+S>Ad-lad{N8!N zCKqxFN7=Xjs7w15CFGUev0@x}_*{H|tI(AyUK};5A}4)i;+*yW1&bgeLNB-IG{%uG zsLs_kM!;s(gDLVXeXsoCVhhXbT^pZpG1W0Iok`MvN|&g`8Falt}B#^H#YTZE&6D# zMgv0cqCs+uGfn1CZTW5bbBqu&aNb-a%r>wE##y&kq8 zB%*!r+=<>64Z5WA5~K!FfC$8ihwwn2wR!fO@EsccrVvLKni6qM_?J5*w&n`lUX03C z;Tp-AMf1G=IkC+_V05y%#ajKzES-J{Lg3T)_nQ05ISUGf|eP;4N~^Tlzn1mjgcq^Q|L1LJX)@ zaUQPmFw*cWQv#htZ4MRH?`99T3NY~w?h1V>T@Y(FMOX#Ans(SvB!Rqr;2d*3Llu`&Lu z_#|P*e*lP$#n%D8{4sIwm za|D{DD(depH%49Lx(}hk{ibG1a@|_CptW0Lf z)h&HwCcPz?aF`AnpK;y)fg*n)U2Vjh-Tm2A^2~$#O!m!Eh1upvw((#MbohhgK`5Pd0b_DiHh_Z{9Y(v5$jR?x6st=u?m2+``MS(H&~kV+wBp zH((${wtC-emG8MX+$vu+4X7k==WmZ-CjL7lL?eP_j*hU#pL9Z%5moHejxZJ0BXl#uVoV=+`B%Y-?yL|t z(3s)VvD_%5#<3!zXl11O0j~3Jq<~SS>G%Kic_u*0k5gzcMCxbLg)nQ?(vaNLLTcNQ%MCCOSpO(o`rEbGR%Zl#q6&V?!lHiOJpxps|d5NTSw$ zr$p+=fHDHd?El~x-%awtq&G#$li2b`_GLb~YTu2E`_YrnXy*d3r}M9nPx*WYj9-^@ zd%}C>D6ch9gld#fC5)>I&?DmJ8WJAlX#GZHc8`)|;WL}h;p|OkJ}q9SR+nx(VgHUX zXBCKNH*;r2agI&|52uQOWo;7XR;j%G4+L58NI-e)_>qIDo>hEa;vlA>e-M4R$ov0= zT?7uWal1&@44{p6N+G<{X0P6N_c+@MRj9>k2W`Fs&#TXSy|SApHaOrmBHh|plpqSt z1~;xo%FaeYT$EsX8%}$9po1#^yq8RZL0IoR&XT)QFg!*n7YiX-IwJ`foPg|(H z&Pgh6x)fpnLos2Ck8=GV%(mu9{L9>lWoW!slFoc3|DbrgOJ7+H)72llr{Vjs@TZk% zn!NX)TN6Qj#`JCOVQQKxz;MyuJO@t|MAYliw%s!Cb8CzCBX33r^M=hbtqcC9dPAa7 z=??1H){t$MYu|1KOvj;UDfIu=8!6+{_M_&FSkSFM7U|{bm{8 zP;_L{s$tj(qz%)pXGlk=^n1WY)K``~NE-3kj`t zLs#ziOm<0;+b%g7}D=%EMfgwMNXimc|7Jbt3fH#wwp&P|*1m5>k6?H$Z#DYilj zm`^4|^2fp*(r=!easZT|7whr~y|=(FUc-}mYK~T(54qm?aeERs@AH2X%XQ(CxB9^nHw@D0_4dL2Z~5Vb@+-^O$YXeR3cpZ}jrW^e%xU&@ zR%_xfl3Pyi+iUWFYU43DsK3%q+A043P)I!85EdGUUal_8boa}V85YLm#VO-e;iD$J zkMMAX(X$#aD3McqN>uaA1o0E}C<1pg;vOP|NsN_4*m# zTMV=lF)$QWf6S(gI^|N6cZaHugcXTrt&g`NI2A>hQ$9SX%zCcPN`BfKKyga{(HkV3 z7xf(LqUF!#XD)FA^-U$`FO5a)fB(T}ToJwt%M_cS+;>hc8&38>>wwI5xE;YWKzzXFbDX znRKE7kCB5@bHx;=jPm2|c6x5ezoqt(l+hw6hwr(O;R!)C?n$}{PAo^TXee*^aOQ2v zGsNKa_!>xxJp}7k66(>0U23uw4m8ZnUl^ZwW?XRqvl;x&Kf=_*~%SEv7Ks zBcq)WzYXQJ%|KgBD2t6>8_)&2lv$1U}vNO>% zhKZAJ8}7CdL92_si`921yg0xk@WokM5vJ6HWkY6GK(U_%3%(IOnvGak9t>^`AK690(geCS0l=>5W zhl^%4n&*wvm#K_Pnx4~uV)GDqXsv$<208F(T3?e)0G&Zu9b$k+AT%J^LfjazTR@Vj z9V+$2meI`n)&onik9peRZL?&HRhdRedqUjJlpNAQ3`26!i$}B3|4;>RVn5wuHxQ`J zypCTHGjTQZW(!;T05B1)I$1flel=(3O!`_dWzqcviIj?F~K`< zm8hdTj&%Qa3HfMITcTLC!qWjV;o-uFn)zH=+th+{_DuzGQGyl6*jbPNQ$KhU9xbuW ziDdqkL~APt^2*MHsrS+GTSkN{2*oQ^LjlZmwr(^uIENszA{0hMhh5u751mxwvPBHw z<_$Iv`I!UNgK4|YZ3<{g>l8VT)3Xo&(~0NT^fz&Y6j%%PK3R?ylRrOI z7{l9y+liM~&>iJii7nF)jU(0Ueay5(Z=a|)9}0PZ)&3wH`G(kk z3Q4ZrN%CeiT%5EiC_I3!KFIuHcS+kd?lIZ_4Ba8#*q3`fk1a~xo`H3HnkxU)SKy_8 zsMVue3*}{M&DzTNFNBcLZH2I#{R9}9WPqFA+@GN(K6a$dq}RW7z;=d@2B049X?780 zb+up|>Vi-&#kbYxkNs@Kp3npuNMN{)XJWH-L)x@f<~=PC@<76rSxV%@)8F27+^ zF-(n)0b%e>%=$*Yc7QU4b1KpdhxJ=LMlTezib`yx=TOQqA{Zk!Vvsv~ar`yuOj%J<&$3LwSzxmuZs@3-$o`(C&E~LA( zQQ2GA0TZ=_V=_cPXG0plq1-r`tm(XQK(hz3t3ol5Ksi^PhICZ56Cw|hI&2w_;1)BH zZaACewpx~WHYR;UBW+KRN7sPoDbs1CVugC0M6Vu1kK_L0I}`-8moCuPu1~Fqo$oI{fGDE zUbeRcC2Z_(VO&yTlj`rX-*z$!*tpr)(}bL}X4ws^VlyWd=^`e0GlEV?uo^+$<`b%q zlXK$5&b0c6bxlGm4ODk-G3$GB&mBpJZibjw5o5ofI+g7+RX3@Y^GF8y@g4IUkKJHVWho_%zM$3PPIW#kZx9HAqf~g;C)pj>UjDVaif`a%2^q2$=c^jK;dQDHxl`i2mL<%e830`@H)X-j1>AQm zm0&k_DU=*IN-rCH?H9cSBTt7k#x5?2gBR4Y#p8b)0$?y+Z@W&;Qum}w@8Ku4%In+-_eob7QG*x zwy0mS7)97Zuzq8MI*%|8hA!aZjwPT`qw$k4d$YEb3@TjJDEcQ?@T-y+r9&3OJ%g(~o; ziPw&sbEP2yQ{cFF^yF%LQDnCu?Blf1CFj-orejcn?A*?` zs!5LDQ5^x?_pP^OLeb%bfnxL-vFnj{H0O*^x#Kgl+=jLXxO177rr;TEV(8Aw4$>ne zW~Rq>{cE44&LQqw-;+t@f27B6d%BhQNdo14ILL3^s7cVjv4N;8%dNGO8Di-HA#iKf z!ukudMnmGmK4Cpwz$qz|r0+$W17#{yr|W9!Xzi`zO-k6Z4lzx)ZY8oP;>`;eKDJn- zbtHx*+y6t>SBAxvEnVX@!MbsG4H}%_?hXNhL$KiP-dJ#V4KBgm-GUR`o#5{9F*A4W zJ9EEZ{OE_LPw!oORqa)))={&>EDdaI`Cxba)%~GzNIsqU)>L+}t$XU~Kj@!>@YLDS z_`nx#eXrfM*nu^0u2kIki2-ILLCIi9V9zb^z$@Y7x15oe3`ITM%Z#8)y(q1ljOw)X zC4OeD*BvI_xFF6f{M2t)@_#0i_|Eer-EY$|#6(52rsj`nS`KR~nfZlvEMTfDszj^qB}^r?6D(BkLNnZLq+yG4I4vj^o_x73#2 z(~A3Zg%58=x$5vQnu{6@{?X0$4J!X*K=&~P-T0-1m19WW8rr<0BmO@u$M z5SLcOI>nwWx7b{kn5QwXQiF6!sJn{mOy}sfk^aC=N!47uekMd~Qrm@ek$cI;XVYfx zXVq4JdR`e_rXuQJLWWLqg>~UIYKfbZdFOH*>L?`{KB00yDuOO!hF`%m+B4D|GnzVi zNBLA?#aHgdy(shZHqNuN)W7>?XKh+H7++6_WFr;IcVMEPZu21CHrv$)f#BgqZ$7no zw~8jxI~?RGFh7ShS1PK8-*rW_v@Sz3 zsEU*bHRuae+DpQ0!abccm@>AYh>xMzBJa#K^W#r4CoxdRuU_d_0^8;lLw$EM{H zI}6b_Y$0NUv=O*uBs$@Wsff95`|EJOZ9S z?A4@PXge_;u#Y~k6y*D#K|fruYyE+(o$x80l~FHYela<*PFcCD4_Sx_tEg{c8!O?n zi#Y`y!L2_qnj6 ziq&1q6+U}tH2=Sj{afx0_2ERF_}dGhb555f;Y)2xM+L#P5jitBEqJBTkxMcSBs9+} zS9n(?Z1{kv0SGG%8OyV$%gCD!A^)oJ(cf0wa54O9CZG?~yXS~qSiH=^h(Lc$?|N28 z#?s+ueuTOETwO}8c{mxM6m=uP?5{XkpQJonU|Q+q6TNYU%i@Yq_5Xl;vavi#Y9Lxnygx31*#F)R*O&q|Hc zfR>j>qt;<-R9Kl2o---!Ti@>f)%|SohQdg+`CqrzLu$dTr+LJ}O~c#i{4&KuTJaS= z-T>P^ESu^vo35r4pg2~GtM|EVtpe_0R`GS>ZDx0!U*y&8>Z&k-%dFyq)wI!0uweLf975o5I9 z3?!XgbI%>{ET1pCEB?2^^45G?e?jBArBo@w6a{i<;T+eEKA0s%e1~RZL!IV)0UkaB zy7^dg(gEG(yXPmB_P8G-n*01KdkelZ6o0*{FWk3Z6UD&N>o!8VBqZ-SWOHXK#G)%J zXqtWBQY@!bBD(zMDp`T-nQf$UbXb!9SPiRkl*+vs%w^a0s^j4-haO2z@+bF``6yiwlBlt$*E!i^dl=Xq3d z*wrEB!)ij-QjBY#`5Q|W*&8YRP0DcIq`O`N;w1U)9kR64K}y-0JqDklET~<|LfK@x zVIOkk#xmoB!Ofy0Hwfj#sCg^`ZC_)p%`cV`b|E#R#dWDKRqEC6$9}&OaoaCvVF^qQr0m>; zR}GA&n9VqfiFiF8t2&dHp!81)eos7WqktulE0i^DTwJc%J+^C+N~dzzRzg@_h7ipyBp3?cTQj519d+kYUqT5 z_=Cz}`5m0)SOPG*kB#8(t4Vjy54AfX86QtPWfohHwtwlO{gCiZLiV<>M^Pw{QpFfz zleWSmPYzlm>=3k%MDyl^g~!soe9C4n_=#BX?b`0ch2}zEL0A@EVn=%vhaK#Bl8Y?p zOo#KIGBCRgQm}2itD0j@_rC$S4aDulL>4NNDOHOTSK;5tU|X@buCiRDxUAMT>AC&`M2CoV`8n9$#9qlXNWYLju{8G^)k25ckjNd`jU{^b7VT$~9hA?ZcZ zy-3}r&}yYbnscJuVrv+E2uhgdvR_42XGp4ZL#x|JhMh0al@d!gf$p@as@q1YN}o8$ z(|NffhttBEND*n_zfsiG#v)M=P&1s`G2{@$vuzwRnx|{C|Ek=kzIPyUhM;v%Oh?uG zZl+b#rwo_e8&XI1jJAe7)QkfXr^*|`mVjlXM)rs`GEJlLr;0Mp|1w3BtT0$Wzrhyo z!!Ll42ZJ%g(exx08E(hG`h`#I#E2q=qkUemar_&NH*L3WSY1d6tP(^38ckDebll|n zY!e$vEM{&|GTB86nISO{bT4YN7sf~ih24ZRxoVIY8hTHdqtkWfJ{P!XS_0;LUa+YyM3 zdbUo7y%DDs;DLDgY|H7?{xx<8nf{iv;pOS}r;U^~@E$joq-7ZpB1$-9*>(rNiO) z0$EZ~2*%4Lq00uZ_`0xaXS>$0&2Q^V#MG1=4xAkw(tuw9ZZx z`N|Vucnp;?aLND!(bLFK1xGa2>CBvtN2r7XwHHeX)b~*%Pj&m_0G(o5E{4H|1yv~j zm~+CN)3BdrW|1M$rQnEN) zSDuNPAX!Y_ND?!aIO@o*3WZ84_BhwLuF6ZwoE( z**kgrM01B>;5q5GyIE8*?|r6>9E`S?y2uC$v_V0LEj1EjMH*3@)S`X!-Mh%I-mJh# z6Hf)(33iKOC2T31S^GxU0BT4h2}Z`FobjO+s5ycuIhzdfzSs{i0A8zC$=@*fHK zDW)H>C{m>KIjfTDgVOJB9pMEv=*J;BGYtTmL;C1_cA=@5D>CDAR2hR^DSI*)_54-g z)D54au+KAEjfuc2cIK-Z@q+ z=f>rR`iprE$vKvJ<{T+Qd;<>Ciu%*gI44*Ri`9;ZK~juYGO^fYiUHzqwDFFb>cT>4HN#yKP_3;^o#JIK%d-{f=Uy^xyE5uTGr7<8(tS~jDdj#%( z+@VWTw{RgOcjUEJ9=};;zwdy$|8enzl^cv`m1RoGmd=^JK4yw=e*ya?(gg|7NT1;$ zIYyxu0o+ptHQIe9v0#Mj**b&D_<8x1GwvfgY?~yR?Mduu&{dLP69HjZnaHHnE4M(^ zp1lDepd^=Kdc6pFn@GNQ!Tli@J2gyBAv)SaLu?Q$?P%NtyYnJ8_+@mV+eJpaX+OmW z*K?>#l)J#w-bY6JKC{m<L|bOVxJNmr(7!>ZlZ)9xKm=aWTLl1H+i<@!mU>dPr#4>(`Wf$h_$Yt{4(k4bI2 z|0jk2qqRT;<#TZu;FXWdsX?DChg7j7?cvV3Qd4OD*#|s(y0zW(J$jz3ZHfe@;tg@p zK?iHnElHs}m7X6|*h+2An!JBUBZ9Z{H**+iL^7m%$_gMcE&SgFk|f z{B7~xGuIarIoO4(8rCP5+6(E6p~Z<&u-~VRv!_zPeV1xc(B@ou}xAyMxy)5IWKH3E_bL-i{lGQS=PlBSbuUx#6o#mj%p^v**`B z*vFvCOOC2qjR@Ra$qYz8kRPy7Ak9z1ei9a1%GR*^WdJW9z3*viFWB9a6Nr=#Sx1AT zd<=lxd~%lL@S&$b9oR|0lg+cf^ zGQ!^g&w zZ_DR-zB2ms+%KAHF@B}_0RJf|Z5#N_Q|8m63(<+v~G{eoveqy z^V1gF50`1Q)z9G|@ImIVYgbECxQ3^^IpCWG??IikOqN|%^3Xg2-qm+Ubn(i2ocso6 zVV~`HAjS>c6X~H|&Ja$`eP=aR{#7nEYgM2wlGk~$cLY=NQ>hat0%mKgfoR?(H6d*Pp#^av8|vnnIlvKUh*RrByM(6aaT!D?CzWDPFWo7b^F zO3V%;RFHsM%ELUl?>RIbs!Uro`bE&a2PQW%=`zVHjLV*(Kw=c%GQ(p|p8F z+IOo;ed8%_VB~GXA7L#hn2BpR5iwb7!@ldvX z4gVKk_8)2873jxM8`x7Op5*dCF#emOto7W7 z41kJS(FZoigq^1OFB$zN*KFTj`Sl#G@XA%vuP0Xb;1Ght^IaH0AZfFFqum_4blsNI z&8VpwI1BQ_Ce}^=C49Fzp%yQZTSh+g-a%KdHZV+6&t1;x6z1b?@7MM)`Q^GyCw8|A zc7+I^4um&_FaB10n$u#@GwqMjj@Z6);@gObtQI}=9tQQ@>s7UpoqU6TtpaLt=V8Z8 z2f{CBm#$Q={Wd_CcZmFvv%Ci&=Eg2O(K+c|;(gs5BOoj#?yWhAMTcopZ_rI-0?TRQ zKla4dWw~ULe#$^V-Hy3%WH{0{=aK80%YE{7!LO=+h?VM1E(f^=liKzNgy}KuM?;HNY`g15pFK z(mPZvAueO|5k0;9m5+Xy7c_Q1Vy1j&ECA1>)CQ1Tra?AgR z&v)HN;Jpk~f2VbOidU)gV!j;pLZa~6;fo#^Rkb3()M!mZdYAJmeFgO<^_tIy*@jIS zvEAJzaIl{j=)@dN+G@Q2JU6nI%Pm|%*OlD)hTucRhO?_@|IZndA1S+q!6JCEe`|D6dHlwoYf81IXn49^ z_o6}XQuyT5sIabAxl($G?DJX8V4%E8w<8$I3v``2&1Uy@Z*TgWbGrDeg!+CV_M zZoo(bF6DU^^YY#2mC-i$-(m1nYjmI9!*rsBc=-uEp3Gm=9RC?iQ1JJy-BYJgq*~{NdH#sKJJVwP z%={ZS|M#Zw9baEL_5aN@#&-sg3sNt6AJRcTOHJE|hp&7)=&Gl%Z?P4>VdM7_084dmvAxt| zBRUQ(3^HG0Hh?TJ!TE%Tz&J4ls&Oh@Hc?=KmOx7HU~n*USG7wV+_RtF1@4 zhXS2?2K!0fBQz9J7~<{t;C)--?5#FLDVH!n_tYqs5@%1iOP!AOvV3#|j$>d`6eVti z?sPAj;kUC7k-7$0+cmP>w;vNh6)EBy>F>G~|C*&Z8+_Bb-pLd&^V{dovHjdN>^iOF zUln_+_ld5YYdz#759)8~Y*f>c3>E9j2;N(s^ zrc~kl`L+f2*p+bQrMEZGlGr<=%FRJ*oP1+$jT;yIFq9T#Ncywaw)Eud9!oWZC1Q6- zS9tK7HlZLU2?Tyts~=Ar>@d-J`uv$O<8d%*rAYeS-&`|@)b`2M^Jw0d^6S;L3uQS2 z$NLjIM(*tlp7k;z91b!#n@G!qLa zTd-3`;j9*ph-Yc^oq+kzi1u?2f#(?H>61~Jm&!L|alU_SwIWml=x%X5RocefRz_Ra zWin(XNeg~S#IXo<%627yw&zpxd|Mz_k~5G0nH6q1kfd0Wm_L$;XBHKi!WggJJ5_48 zpWBw9`h|W;L%g?wU3=%LW?ZMwQuuGQrvM;5?xzq|^!I&bJ+QW>b58I$!<#&k(W$58 zI7dMr@FqfQKqp3{LrCb zg6`M)Z2V8hR*^xJoSY{|PEeO34Pa?q(jKiIC%w0c?BKA@ry9{r@(Utq-gz)J(7~A5 zRJ@dw-&?{>;=15`!6oGE{VdRQYeq+^MH=1QuEg$l#_MY^q&wzgw zrttFXF702WqpodMH?^!gYHny@w5TrZ;5EqM9*@}^gUxQ82S8Jdgj?%ycZn|-8SkW6 zb_+++Qpl*nqS&g7KVaY>8VHELsGku(!5LIcCVH2nDWnUWxv6xhWV*}#g}Ow#P+8B9 z9V+j6Z)OBdT7qm%7E-Cu`XRI(ey9rCzEs9pEAQMGYULPcJM`?9%9Tn$$ODvEa9`8LFUR} zgAX9_swy>Ad>A~QA;huwpWMk%2KGBKuQpj?q-R8A6{&wvTY^X%1s_B=fst_(X(ZG& zQD*d6+V^5O;xs1soLHNZ2%r@8lw5{^GR0V7r#VpZ?yr&-&j=aO<$SwS8snhL5Ds=9 z;jzZbHnzgYmVvs4KlhDr?)avYaI5UM{^LjW*5yZuO?mak%>#8OH#clz9Z%SdvpxfhMO_=X2CS?&Mi>T52CYO}S383G9-sTTU=OOXGtEWE zn2fv(UZO{hlS>*9LS`CgUG=>=qmn)9y1kEbOKz#AEVAdkEdo<_nkBzMW6M zIRu4j0slgvQ&c|(4FG4$!_60dZ!(S(njiT5;z@~`E64K94Q-CGVYQ)sf?V_#^*|JV z+e{9}fi{g-_m985Q^)1TDEYzTG0%r7Rcr6ZU62K4bWMyhso?o12 zU!Q91(5Uq?YfJc9c!wI<@?rVd*zCsl8q`k4Qi2Yn9hcBM&=wjuW76KYH2BlRwLeN0 z5XH-h#R&}zq45u$;$;z z9fvj~P#yhbc(LhT8QJdyw}aTtHXxh{MknAe`_uwPhuQchV8Ae!ik<2NK=5%mXc`Tj zk^%{dVANAWj-^x9)Qd(CVSRhkf*!n@p2|RM(fp__ZQh$;PdyK1>f~sk)M{^(MIj;Z zqvs|uscC{7>5ryF@VTo=8zt^N*jp^_P$&dYB91MWx^(3Vb#(SQrP8hvmLFUdm+=`zFX#Ja@lbsD>z$HM z(EZ>8eMIXSzBypfzlnizf?HeN@8DYbPiy00AXzIPmSrue(1!yD)Gt%hbcJDfRFChqAvl}v0^Aq7Ebv!$Q7ScHcnDg|K z4x0V``4d6J+wZdhz!Om|)B@!jYu@n_L^yw|SC0`K&tqpxZshZ-Utg>l$U6bdP~i}N z{ps8gTtDC`RE@;@`VX zwoUxZJ#b33Q}VIw@XHsfig&W}d>l_C=}4cH2BhH_`TIa=OpczKRKniaR(4+Ficn^TNVU;jvyRTGYXu-TK#tl*E|jDM3RO(ySH^KtvEs6!fs0^f7Oq8t%-gxXE2zoU%QOQ> z`u7&Ond4liNUDc<&e;8?VI(}7rGn+K2tbA>@Y6@DiQ&L{Z=>k3xS%5{01&QYYjhXsR!+CTw zD9q3Fto#%a-le|HQ3;*sV&TKzrzIa~rraM$eF{+RSBB(K+fYgH))RZbA>(hJr$de@L#23?k>=;H556Jzy+1^g4X_iCM$?%kDNk=TEMm4AhT)hI2FBLxc)`i%9m@f=m6%<)Vr z5a6asHdzD7HRPXbx;z(YqfJee{WmbT74EyZ3Y4kLxCQKkJA*z2T(Jnr`43bNmB9iy z5uY97(^;Qki4zB&xrS>}R6l-BwfUYJN)8_fZ)r=B|0U0F_!F0J>{#!2QDw{7^LTkI zHbvGiG!==3${?FX1h&N_2nKA0l03?;IpqZ^U?Djz3mr68j#8>$y$Z2sh|K0jk2ucL z5AY&~tMC`tI5P_r)Ocdt-z3edw+q~8pNj~$%P1U(&jK#M_b9&wG#qubOn{1S9n8ae z;9BYdbsxz63KqR8IfWnX6=_i&fj60i2)XMKS_(_pmqAi~Vy;=BIYSjaH8&%oJts`w zcaxRBR+2La2=5Zvu`WJsFFHh)xHw0hg>rZ#Pmy8u&VK>M?c|PDwm4qE2IEV}zT-y} zTQ{`cd_%MBEOUvCZ~;BEeJH+kJvKbA@mi2~EcI;aFcm#bI5xh%C81_Izpum$_mtTT zgus>ZfS{1NQ3}6WeBJoLdzP)(2Y(@>rQY*gT(m5hXgxgIR>dk=ZFxtjNjij1s7Dlx zeq*SS4{+j{5eN`_hzoJqchFKxmFV6E*Zv$Qa2d;lxA=Tr`plERu9Y`aA|>2|r^Ri& zdU{H3;4{Ez7Gi*)4)z+ODg`Fdq0D_6c-gQbps= zU8j%Nmz?k1Ervcq&mi*L>>FiseecSg^SKX6i_H(Qr~G8U{vo-njm_rQ z4ETzQ)Ed4%_Gvryovr);=YeRIZGU(!%dHjB95!|u&hJZ=$jp@luMJ#)3lU&2^+Rau zM;iI`-T16WPH$UNz13yci>OjchhNVva~~BsG<%%whEO^zaKD#&KKPAN%IK-u6pHBH ziXlzZP)9y}hffaeMSYjSz)6>@ts_qL30Dce7m{HsSlnB(_c%FZVXN2GW9CQW*Oo7t zZC@`5f4h=f=?HQ6O3pz#gc#d9za^so;sB1{7L1>j53p;DFD4XHD-%}c>jX+r6Cg(( z5+n<@MUKSOaGwmaSL~el^5gPaclDx(4d?2bxYpw8x5kn)3=>iU(6g&_a{|I#Wa{v) zJn-FsLr~0T9wXBMi)vbRi2}#_^x^+5FcD1l<2-mSar?9SP$1XLF9uaP3@jJl^j5-c ziu?1A354Xfo@DFcK7}^CV^Mw%=^ovYe!KSQxPPS1|2}af98@VW5cB)!nJBrz&rXSe z2^1{kyGR?nT2~=JDezM>rfVgI@H{6Qn3;c9<<44l7$&^asRwF>|H^~M`%nn2qH8W1 zf6OfWL@=Xup9>G#|M1Jdz>#Ygs84p6%wxQ)|F7>Qf?6U@{tOChkh{2#U^O_gLOCiP zg~8@QX23&~uE#2AOPKI1fxxw#f)DPUicMrXI!!p16iK#^ZQ`juhMP*^xZf92g`c{~ zEt<>mZ2e$7Qdf|}F{&~1;=T}AL-Mck1A?4c7&H;JKwf*gZ1vBF!0{6z%SJGO71qEr zEs5vD2OrA<>s6`@1~e>Zl@O=u(Ri&X>t%w2m>pd~*%9itG)t3_q*v_aRNz2KLx~t& z@K#88Zl2eC*N#(s1HxlpS>NnBLm@lSvZnI}{ovml^`AN@oEat=Kx9Cj-ZJu!PdXLJ zDha8`-BmErtE?_H=apI@DQx-PR80s@;LZ(U5e?DGF6}`IVVoe}Dz8glE5LO9dLC(b zdB#wpEtDTobe9fI1N2Lqm4AzkLU*+S3|&SB1c9~0jIM1TPdup>#SuKBp1#A1)8i_Uwhb5d|LlS76KSXD*}02+ zlf>V3;UDE80Xt0n^LK#wA)P`|VwZVh?IAMhVdtX!fXE(&*}Eu6I~f!5l5A4hcimo# zUC?A;C5Y#MfGUJ}6f6$F+p8`)WW{mpQDdEbk*urqB{VdP8IWaoZi(0h8x8-p(~#o& z$s}*z&&&;4M*8O`k<>7%am*a@Khn23p}&Z@CbIO(7XLJ_JZ6UMP|CIynLtA^RN>YD zj(r870-&t~a8xT5rGP_i-HI#B*ps3A9Py3tK@{~{b6@8TRVoCUoKCJY9^q8^5n2DW z%*;>&AShWFVhQTFmhOM}f6>~S6tYA(oDN>VmtR8iFX zG;Z`B8~p1e>cgOL{_zOb;3m(1t^f{X6<*qK2FX_ij6@~)ZWl(4r3GeWyLZWJ2one8 zkhn+amE;D|{!Dy1{%w@_-Oo+6MdWZEKzGiMW&n{xu1J<@1KXqj|_%_->#yM0K_1@0T9gO8hhD~WoKz5pBQ z&fw3;8Rz$yyR+?LCbEKpcqSIVU3;vpFfx8zh^a4sZQ`EwjP@at1^j@+FVow--Nf%)Dl zC<4jFy9k71XC%i*|5F`xCR{4@LRIEr7f`$lJ%f8E2Zcz`Ep8(e-OLZ{O$AbQhHlHD zw_!Ls1%jEw1+r<34bYn~TsL4qJtSENIKdyjabPrxy!U`UQf|#w9+G2CbUbxtNGAVx zg2C}K!hxjnkJ^YEkYghDo83L@Bk{E9hB|{Larcs!|155j_^rv-DTq zs{l(gl(uP%-8rEZ?RCj~1cFm~ZrU$~iv23XsjMD$M?2{-f52@gKnS9Mq&van&dQN< z|K^SEIwZUfGgOEGay6y}gCL14P#RGM=%Ji+etlP=-C`?(FU97LRTJfca0_%Y}Fx~yDTAbDZF&a|=a+N{=ei*G|oyfYJ$ zC&dVvG)Gf{iEAdUT~tD5WfUq8o`(qrs@fT{A2Wm+wQyTX(tvCpnkbTy_>Uj`X-*e0 z4mtPmSb!eg3caLM_ZrtPg2d94+=;(&$^DKxpb=T9j#J-Af*aVJ3JjX%k4@Jj{hj*s z%g2_ToK^Q?lZjv^;ylZK(+y`0NeUst2v;yAK@tbH%e<2E!*pcnXkyvQ)dlMI$dIe! zX^B^ES_ce`XiCpN)6W|&L;V4Yh^C=S8XQolOc=YGNr5)73r_G@t_jAbR~WtaN<$r& zvb*5#kq|L2-GDOaChqr3IQQNncO8ueZpS;wG9NQX`lATe3R>tC;{Ei=e+1kH(53`d z6z3l(663*`EeZ{=r(5dKzF6j$+5Bv-y0jsO&$#e-7rUR4pI08=R;>E5@B`EiS*H;L zaWS0@sEv7`&0>kT8P)N))bm%;J8OTkQ(nmoWO*03!9|4RwXeXNTTpklqxsiMGH@}R z^honjo@6+4dZ;5h8QjT>x5)f2u1tvX4NXN{{<-?zkGN$zKBJ=dQ^DRCUM(AOxpZ1s zkN<`n9KVey!5akEyM_dHpoPQst1r@>vt7zV+8XBzNYh-gZ>vDsX;jW8|3^(~)Iv89 zD!4AYyu7zTB!KGhiliO9W#=`!{{Cu%CI6A1UW&^&fegIz^?RvyTACmk5gD_``)bm3 zdyZt4m9tYZz6vsPawN=-=*pwnJi--Lo2n3Urg3QNYrV#}kzr;1)t#m?K>jJoz*=|CjhahkA; z>p6}%wGQxkQF{^n7-OXJE8de-`pV8L`$BLEy#ct28u=3>@8Jvc>6y>+H@xs~<+G10-M)A?>~AEQKWE7#{x|jfm80DO%plLJ z%DvQJ2)|$R#-7XZi#Gm%R`zn(WrgC@v#AkbdXfg;p@lDqP3qG4VLWb(Xk)`n5VX=O zF2^N)$2hCiERK*jRMcrf@H|_DuMVpWx#S(%D9Er-T(6kS&==OxT^h~UXqh1@hN7PJ z3Td)xI5EV~ex=oOLZn3bKm`>_Wk#!}iW^Ohm^%nVeqVwKn#5cu9&z2s`)L>8HmdRPkAT{F?4w9NeJ(2l#wn z;3qFIbG;wyha^8bA{Ggr z=~}HfdV5DWc?s5BHtS}@o&OCV;hkq9zM<5m z{JFL~ST<{?Rk5g}dQ)vJl_e1)BBpo+=ia?>+*ox`#U9CgqK{+~}i!@2Vv( z#jc9UKT$pPBKVw(V?(3%u2Cp2B2D$t+A|CFSe<@6j3Dt$y6pWo{xP!8r#~{YWnYQ? z1fiYEubdQ1E=Aq+dmp#$*Hdb^Q`?=}C#DG6MJdrvv)mk>MwRmk)XkN(HA(~$D~ah6 z#>~S77XW7(boeFV>ra%qTE+V}5dv5q%Ef0g{90X~T0dal-f<@b6b9yyw)CeUIlRRn zSeLQ^2C2_iNFfVKX=$DPj+GL!4FnHb5$*-T6yXI$K8PKzY|b>NiS1>-+m-zRknCyfW*3rp zpAZ`w+%_Hc94|NeiyCm?0Tu8%lXDQ!9%(PB|Nd7~y}qeYJ>bp;lkDX_r`X~y>CMIf z8%ulSK>YB~^Kk&}Nxg;|4_yuF?hyrZdC60~}X04ImIq)GhLjU*hLrnuQ6qlhVQ{8-}WWQ35ZTr2qeXPUrI?9B^|eaqAt?k$0IdFZQk7)>>|yc!OTlZAf>Ab z)L;0q9furop0UulH6pP~qTha@u&*XS!K{RnEe3XnX%DtC=&*dZB|}2DdKei(ewt~r z&blA7F=#?ZLzWyg*p|rZMIHCS5{oPVju;jB?YspC5%0*OcW21S5mxBf=gzY(7I{f6 z^na{uomZ9r*>AOpaVIo`R~zNKR(*clLn13aaTN0E{%HctJnYM7XhuK>6Om1N#C#%! zPHG=SJGzi~R?fqXp}qDXXsE?I=>+ll%@Dcj|EuEh{>a(v`%Rl&B$YQFYH=YjLCTTT z2;s2ATzLEH2B!K1ZwU$<1(a@EpMkE;|v925>29`ed%moz2@h*ifAhj!6`v zlj6EJA}8hp-j*tH%wxR1fyD{Ph^9&FZhZA$Gn3cLW>tmNA8UVA z$XdRKcK|7m!r{s?jrDJ;Te3jKh+a(nT*x{k2a}pjO~dhzR$6WZgaXU}VbZ`c0|IIp z<8)&!!ymQJ78XAz7S&JGmgE6{4WY^2)?0EkKg+wHw~b#c_5x=>Wcu) zavV$nB>|S%Ro^c5Z|pjsy-Kz`(VU_rjyO9f#UZ3-D%eGuw;-YE9sk z!Z9q!|LH)V<(gwWwa>0lA=_4~uQbrb($Zu2zY7xm2i*`YGz3d%4Wmk8&q-6d@H{hZ zLVNgIGa|$1SmLCTLWXi{bvp)+JI#_1%MtNiLQt@HX`)B#A9p2xf&sBgCoz~g--nK? zDRP<3U1#Lx3E_S#W2W@F#w{NQ75gWka#ljn6XE8QJTItQm8uDeTh_afsMWyDa^(A@ zp5o6CTV?IU0}pQ>b|M=#Ht~kN0f!I}4#gjEf}s7n@T2XMM)VZ;?5bX=B|zLh%pev2 zEEOqjcxWN{pdg@)Fd(Us1dM5Zh4Ky9Zz`G0_zl6Jck)RZKQ*$yri<;)w8yh|fmDmX z&S0mA+H_@N_8Ujuo=)EX*PB3L{o|~d_%_|;2xS|K-Qm$E@*l|mhv6xU3y~Y4o|?juJYSy3?#i#_2!+7}`uX{Ty&Z8EBw|eW zNHiTD)<7nW{CNKi)5#q=2Pd!AgD3GoNV(tWPl1%6Zj)efl~2Rxeh;mW5w2IS1R$QJ zzy#tzW~=VtdpHx$vxdPKFa2u`B{m6WsDMA>ghUWu6e}2L9aa)7w)gO3@WeM}kv_hO z=(K59n5PjEuXS1oE~-oW4NB*eIc=jpn89UB`RcyL_ss61b;FHLO|bQcaYIY++LXTQ zjYi&(qVWvMISLxRjdIU*%D?tp$&FNpn`9XKC;9RR|Ah3%?Gzpf*OY4t@MMqzFci9G zh%P&Up<|Z}{gfc7!}7TMqan)ik>$GF8Vyr}jnS4mYNEM5GPYN{fPnud%9ow?i4mQH zD1*{Hr?pyH>QFtfYCxpX$(Z3tc0^|RF}DI0x}-ev z6RP%r^qhEHQ|dfGle4ZP5rl&vadtGp;X>{=-KK7dWk?YoKt3r!WFY~yV@arN0cdCt zXjSZ$*8(nJ7IAz&x2z)KnBMCy!tk>CK$!G`)2rr3z+qteZBSps&2~6jvz{P{6iiEe zr|(G*jy*u7mt2QG)`#uZ><+5r!{%^|Xia_|Vea5Z0HPu8h^N=}rLR(6lc z<^EAC?-%4EY{=?Xc7`C4aG@X=EtJZrRAXlN>%n#A+G9B=jP}nxB5v93+giK$#moB~^_7o1* zApJkC-hsiAXxrATv?^U`+qP}nwr$(CZCBd1ZQHgw>)w9d@0`D|*N#|oegk3F1r-_% zSSn|Rk>M`*o^YQMdN6CX`paD94zjW+Vki)sV2s)f8Bo0uSK&~rG>ZFE2+f>4`T2Td z0kc)#*x-E_Y$lw5{Oy8XE&{UVwgWlvLLT4g9NtQi&j{nH3eDy%(g(BwW&dO0*Jg@d z#LGKFisKA%j8Ju%7%C1Y-rUZ8g&S+eK3*(ip}U0YD9L&9z&7caEiiuW>NOCXLLYan zYhxZ=mjh|Ke;wqUo#;IM2W2g2A+9W%nzo!)i91YBRL5Bt(L?Va%$ za+NpH5}J5s6q_Xs_=Xv-pU6IZAh=%JAgfRBUi`dWbn}5uyaWAQ6c|x~E+heSX#P+^ zH2BASE)nN6&EP%Nb4U(-q9%iZ-1|8Z)REwS{L(+n*7s-n;pFX6{TRW&dB|EZ6enHKr<~{$49xGNhm%Yt1PXfQT_{qF=y~e@kYI|i+hkPWVZSB zPb+sWeqqIW8rC$8$Y~5kS7e$>=qOPluRli9gsaBMhK2s4Cuse` zap!T@9;`B_O-55m@-JV{1{lf9-Zgq+!?g{EnB|b)Kx^7b+!k(|B^G?(@9PX0?N0|p zn7zN^(sAjS_ck(jG{H(S3Bwtqo~_NRKL;j;qH_$>>#w#(7JPL!BOhe^p#cCY8!zWZ zQIm{i8yLa94A-BIjj6&q6GvSLqYa1`dO9M0ktr}9;-+h#VWxZSL_IHdNT45yKnrLG z0g|KvyeV^%ethMcYL%_sJoao;7IpDh*fngk?ThZvVV?gSG3N9b-70ZNL=lw6+$SV@ zA8f=*+UO0&Xp1EtKk9RXgWV)YU~PN>?r}d;I*}8dlq_BVe&8*6{DcrIa6M%H2BNGc z@S{|Jq$tg>_KK&^0U1;=fw8vF&7=W>o;BltE#Ch&Cp{PO7QR;S1x1ydaH8~MR;6U~ z$s`{2uYc6j4?kV(eDs5PhF-?m(yMSkXu~zOa0rZKG4l|SIBo+)m&}zrx+G!Zg)HtW zIq9s~nSX=vyx3I3y36m4&obL0{m#L(|2>vP5&s*N@nfoOyg!B8%ljc6q&eIbVzqYJ1*Xg-VQy*~k8Aw%$;=LpjJAJrp)9uQm6LBgX=(O*cd1qA4Xm$=z3HM|~6 zV;O$ex_ArdrEnOZe0#KibE`oCdO2{$TN5RQt=*y7u$*MGS)ulZoC_g>|NZxQAI3WJk{veT(2?fMSf1Ye=PSiEj;Ts{y~^SNhBL zukPQ7^arKaAoC#bGxDCl_HTezaPN7}P(->hdz<5oK>k z6P+QW?|-km=QXn3C7Qixv)%`PwvUnJ82uNE0-ym7SI*P+|Jmp}U2K4DMhu zOVgWZqJQCnues+%rdm~WPj=9?8RHiDm74ZCi87}|Tv4#r_zdK}P&HI{`_b#|;X6#d zR{*djt(Y{5l)xrMS(zqe7g+8iwlIIeSY@fN04k>P!YLO3I{-rTc5#3a*m6 zTa#B?q-})UgcktIoY@9`B#uoZjpI#+ksNZIzOsN=xH|Y+HNT9UZ+}bqLvYlz4Bk!d z@7+RNE8PtG$pj*PdG#W2ml-Pt8D-{MI&?8EvbmD6fGv}DGXCDpj&>1kQPFqZCk|D? zo?6U6+dXUuCPw#iGQ8Js6O2o>rUiS@*XH&ORp~+I3DLMr7?bQ!b=jOA?@T{3z#KJ$l*2e2OD$AHrAbn)&xXOEaxb&>Gw(P_J`+m}8iWrDFt{04 z@~&xEszi8;(JXzHQ^cA{TTybj12aDZwjkDg7Ll2c6HBVX7jkFS?E;F~w_umR%2z}gI-g0H9p#br6+Jl(UFH1;qG66=eJr$No;#1Y#bru0C z?q#l03-19wzqsq~4iewcrhw84dR(b4MejFE(5KzS^cY?CEEgZL3~2abTs2m6g3Q7M z=3KX0IPdu8d!W$Bj@cGnwL-RTQF%0ew!LLH#(Gk8_0A~NSwm){3EgU;hJ$V18=s=m z9lbw%IxLi#^6y3u@Rz`3%(}-rS>mcD%o~5!*L0k*Ek5xEPD6kII%aOcqRwW$!)U+* z*>DP;EEfbEjs$DF7gGs8b**o!pkG27}Z+MBmj<&y!mI8*ki0skte~Qo_L8_w`xSLzi(LFC_!ff0jJcitK^J0auwvHVt{M;|4n_>B zqwuAixE^Yb%vGQE!y1#f59KMsR=EZ#uBWg}3kHI6Az9JmJw>w|6Ire{C~K*h+ARsUm=9Q2(%82aSyWeXU@N%l}Evwe7r5hM;FNM&y$^7Ib)8Gzz!cWWX zy2swI$jo6NIVp}rQsD#Az`~lj$o999y!Ze`9Xo;2*@}B}sUKOqj+j98ucnuQj7*hQ z>GE?ODd5)P-w~p7iaM-BAK={9-9VoM-@UA0DE%hdveMQ+$TN3=qEy8W@RBK&TveBDVHSotId|Z&&%INo>H=NY>jej>HnlKsBHgcGyADWx>bcW zM(BwAq(hpbu~TDbGf)SZ{o0?rgOkxg`-ocn$jS_6HmLr+9&LlcriGoxRqJ5u@zj9% zUF1@nxF-qX@^)Oqow{=H^$@7yGyl?k{nLj%qg%Rm^-=K&bI8rBXLpWy0R7X#!yx3- z-Q9Y8SMx(CKU z&9x?qI%P#<>UyCNRDCU!Jd);1Sy{y9yiSmXbpyygyOHv4J^w z4DU}^ER77o+#MCT>&I9z3=r?DvN;;&t4~R+ z1TrW{)dai@&t{8l5`TuO)wG%Hb`M4jT8O*C7;vg*2BQyd=TnKuyGfow8pnKPlOJ2m1@Erj!b z1h$fM6z8pXJI1g^o?V?@^Ip5p7~BvEVCBHOj4RX#(}G8E11Kz8C~upU7zWh`DBROL za@W8NE9Q51@ObeenY|xDuEp| zq)f5>g&#slOV`?Nf4pkU(f|lp zb>+5f?7{~?w@^FSK)it^$(fD0G*p&;lD=Hc+j9HHWCnIEQwCylZD@~hCZAk>9=GP4 zx^=c-ie%KYW)DTU4sywKF^Yx?>#FNt7#%v)>QKp-O&_N>_<}x{o%H)xIxdAcEV97- zt-I=ad=@@>fxhMVJw6&OSZ1fH-9B$%w%?i)*2~@498h&*yrbg}yyTX!6LNKadD+Q; zvhDP|_~p{Wm_B>u5`cT9G^gJ2qa;07U!D|Nwzc00p0a#LqU`}+BOBT#Y0xryM{!q) ze#S8i?_AU#Rz+|MIVSJ+MnY{3d^d64vX-XLq4}6#?gY_ zAE3=4n+zwp8{dzOFl;7o(E5mJG-R@?2LFeqqI>Yq;xxjxJnSfAvW2Qu?=3X>%H5yR zWKuo~q>cz3H$PCq=(R@JOJp6Szxv3UthdZI&O&ufd<3sDqfOM5mq{YKrBGJ*=*X5q z*oySAOSW5s*98o*QIZ73FUtkeqdkaV-&s}J9m}j>;qby!i{Cj}Wf>k2HSb_+OElz! zO*BYs4T>y?K0iYdQfd9eOqox+bpA2N2?g~*hDwrSkK-_t zn54e`$iXH)ZPtbBz`o!L{wYwK4;Uy2YsD#g$`&1}+k9X0xPm;9FApiW75 zux9Vd#DQb<|NeJw_<7CwTRfJZzy^A!uEtaXX=<^z=QE>}vjgI^LS9Yr;rm=)#dT^9 zCfghr6Zb`<1y9-MctYTcN6~M|164Z~lnid!rqNOvryZ^VTXfZw^bCx|7V&9?e z#D7q}NZ@~_L8s2U{H@Thv~M4rvhBf>fy6vKuXUKpiAxKM7zyLUp4Nig`R``W*G1Xy z#^C+Ax1p5)HZuy1bOM#U-g3u@e&A+e2r~{2SRx~xSEmQgG|DN zwHkb}GBH3z*|mX>IW$}d@1KnofkGfvTFMO6s)xdWB^7ayI)ttq6HwL6jaje3?8RM* z&7^P8iLorzP!gF=3Jq1X)-8dPa(Z(N!*1lxr{4K4PgqqkjvpSN%a~%3ja}!oBh;de_U zZwm)^Y(|#X?4O(JTroT{O9YsdRRN6%3*;qI&W^VG1l27G(2p(BwE3`rVW!M>); zAO@6SZynMC9drmMV?1W{=-f;CZ{<`HmI(tY6zC@$An*}Hy(OWtY!>I5lhtM!Ma##E zo`@#ess0N`ZF-~WK8FzqzK)?GFR?;ONlaFl1v%`o;B)!!8&3n%dqhYV!Mr}v3cm@$ z*nvk^d^Vd%9nSXGt`P^koK5?^d>DF>!TjLBd+&JKzr^6B{G;=x9E>>sVJXkX` z@C_$!Al)L&j4IyCCH_>nQRZ4<5G!jGN=FkzCk3KDjtUM3=5T%8H}Q=Ld*}7mXP%Q3 zUbVNlh0xt*A8-^re=pDFBHdTz%UmY4Gi|hcwN^AL&?ANuJ+Mtr(jbWeI?hTo8zhsm z$TT#!Y70AKftLp7f;spbwxhW>?H*rl6a||m+sZmc3FL+OQ*tR&WS*SpPI;_>af!qz zqZe`Pwz&O%Rb_+}NhGAH{Px-pEliM^)WN^IxbO$=+UTUF`rdGB4uyGkBtfQ8tqz9G zKxmBt2mwY$Slj#tyy#XguY`VHS|Io&oc>FBUZeebo8)_X4}v572F!w1g2f0ru!&W7 zVx?`^poh8uiUP)&=vvjC!nUK0P&!V;1I_+wO>af(VfK?+_0z*{Eo*%P*3|k=>!ojQ zWtR>kl&sbSKzO;`Xo%!76{PmvK70ddkgp{A`RKY@GeHa!iz2HvDnTv@puWNEkTsFJ zv*m~Kv~~e=$0F^aIs`u|P4iR?$wiuX4kpsTxnf5uqL^pKuX#2gXUCGFa8u&qc3kgT z$AV*{o5{YIib(CkY+tuh>|%$h2(s6UAta`0l0?g_?jHkj50X9Tf8cmO1N47J&eQqf zD4gGb|4al`lK}X^d_SgriL&awl|9tho@?^xBGkR817tW60ck*m(`89Wnj!va1&cpW zeJn~gd+|T;^f}fO?Ml(SzCMsLme@+0=6Hq2QHsbO93rgn@78iHVbhWlDG7ogt(k_$ zo{{Lj7uz1tgT5H$p@&9#|MMb?aLRAmdw4{a!t27knhCa=6||e^jlX$%VXZpa7v5Wb z$rsy{z;`-18pe4z%e*LmI(V4t>7LsA8v1H?@4Z@Rry$Ost|vAXt7WZ+igsySwP0cF zAgCOSbX2xiZVUQ4TJ=(~(^4>|-on)3GwStVbNYf!<1N`yI1+9BwrQ4{Du34uk?cMX zT%OqQPLMc7h0-_(x_TAgp^7bj*i$KeVoq?=N~5#1?07G5kM;reY;iaJ79e|is&il!a}fhfmc zJ!v|bHN<6Vd^5pIJA0=vG7e?iR=N7d$;Y9=G`EeBg-V+6-pY;*))KrY+1q16qvbx4 zr$a#UCY%77`lC>jhiTgYLcEo!MHKi7knJssz~u>B-Wgn1JOt2?{NFhO+e(5SSkK`%w1X#DRDe@N z9jEC+h(;|3>x&=R%ll1Q4kFmR2_+7cDYLt6c^5k(YTFt@DHt}Cx239)%^sz&)|SFq zn9vh3l;&+<{%~#Z_`0d3C{b#s4Y}9xn`U|L5{I8VXCIX%fMkp;J%)89zF`!WAfzKWM-sLp$XcaNR-NLT$_6?n?gscO*0P_jB9>nWKe?Xe zaA{vf@u+`JFdI*!QtPqkVoR+Hy~yM_3|6UdNdD@mj#bpZ?~~8yScE6 zAe*xV8X5D;5TX^3@=~kz@V(#)yO9i8g=`)ePZLiF1ir7jUjExEPi-a&ju=|6cH#m5 zMsdLdLh-F;ScQP)9pQ+iCJVt0O!6_3B!S~|xd-7t_4Z+Wz!%O`ECO14I8!ybcX&!q zPEp!9?gkukuqat6Qy5q1>2s3mpL0tTpvUc_22BI`E6AaKx9RWvmFI0YoHJ+l#+%Nr z3b&O=%ovdpERHABz{Voe?M+r~moh7;?s#8-RV`>+1U@;4Kj)B_DoMmS;{3cOKDZ{Y zB^C@L!LhmJ9mohzBvp1LtX2rmaiO`He`3D^`PFF#`UMd2D3d!_-+>MR`ckaT@urZ9 zIg}*vS|wlB0to7ruEyE-&o{N`P0kaNN}s{og$tw}vTodDZsA%SbnE-b*5lCoh0jge zkq)koT%?tC7x%^|>vV)C{>yCg(N4E-%eQs)!t7HCQ?edZ+s#{kt?X!`B_)%xdb$Nq zn8Y*C)h92Se21({{fVQDi@sZB5`V~iv=A`utSP@L6>@Fw_H5HD%&eL8?@RI3BjTBw z>D{)LT!!kKAb-}1VubbGH(ego_}a$8uuZ?Gv})z@SYxaZ#o${U690?i5O^6Ke5pVm zV&Y8)-SXqswsB#u?=_>al#WD?7weL*}_zM0%G(ooP z+1*oET7qa?{_g#?bwglgw#-4MH(sLb^3b~H?>|$U?5$4$CFQJWz${)UueZPGm&7E|KSboW9*cwB!}`f^Os7Vn zdt`I|Gi)$$uv_FTYiq+S4$L4-9nmCzWjhN!l3Je9Wj2pl$(T1e9&$=I(|&>!JJ`8VWC{%Qg7tAAp{zsdkfN+V7#lxi zp-ie*{Cm3Y1wDsIU3XC_tR*e?!cyjNkaDAC%lece0U66hT?6AQ-(`3e7E_Q}#M@(h{+qO~lrvn5bHm2Dt8ygm_-1;Q94@uBC-J@}0@$u7)B2 zi%GMiH7@HDtrElntxE#EA@nj~K@#%za+YdJZ(TP zm-DcEwQ7u7+eJf*7tD52dU-ETTVAZ4B%>579lo~+Nbq3HD3Xnenx(#XFRL3qY=70{5*;HMIk z4WODxmM$`2a5T3x+E3oisCM(*kj`-)i<0DsJ35KvI8zW{3>#2IfV@Y$0NWP9<5hmW zwTW8ZI$g#rIa|_44%8@!Z$+Wmp)~}4w=-CG15)Yvr4Zr<27&LWdIlwj{F!`d4WyOg zee0&p^^tVQX9YS{(G6(DxEY<4&zXLX8>z^1$O#IjeS)|lz#=-~0lB9g{4X;jYBhKZ z9A$rF*#@<+t}S>E=(S4RJ)&y0?yP)=AwIMo9EMJ%&VpU-272w8UvYVRzq)mahd49y zCq#=##zJ#_d~^)=WS~uWz38~qqSqQ59F^oja`AQxSO~ARm>Q2)JWW?T^znP>2|(n} zIfsG1&!M6GhSMj~kV7rKY|vu^!ha2q z|CF)!poc&(Xr^s|?2J8*i@f;`An9AS-uNrL1xLzUDqG?frujV7JOKHEX48Tyx~iS= zfqS4W(k!0n@A?V@l zoRPa6LnutaDU`h7W4~?%+Um|apwhkCFm%5jB<&!Bhe~@1jpr;;LfulHy$?4}y13Dz z;qCgOh9CN{(eEUA2#p~z}41wj?YIgQ7*q)Js1DyC`X1OF-OcT2s} zQzZaAueIRX0S`G7VhmDkM<#><2^ZnNc#__p8G?g7wr$}%szBkc^wx0ofMc8_xd#qo zzpFMoHr%V|XEuqssocZ(rFnGaoc}Lb%GMRWhl<^6ymKFBBgkgCk;-xqYz7L&{JU#1 zhTw}Ie*H23&wXa+T*>uTrOl1>ym9E%Y|TNS4AN}?$KTzApcAWp0pYc%%N3w+!VB`) zFh2KT?g4nI-75qou-L1wIE!43YtQ!5!VTD)vbReTYXQzCBE*~DtY47qcuP8on%2w(z@K>N$y-e1ySM!LcD zv?w_lej41vRie8t*4(JR4XCpSp%faY{xD!)C9ysCU z?I{_>$FHU%2ANKGKP#2S86qN~p=e9pS@- zX_xgpCk*#9#z_lWZ4j>18i%zVm+w%OTlRmWy>m&rRv z!;HN2X4wyq?r5z0+gm;=iWyqukCW`zI<8_op)qmMsbMi1ot@K&QRt4SPU`D{Z6znI z_`m5MY|^*bbqyBw5n~gBXAFWNVHiM zv+KugOKAF3%S4=@3~kbXe#pxI%lt<>tk|=mMQTCV6WM&62KiVp^1*vCI8ttzlR6GJ zk0JkWC(ek_e0e3czf-`^1VoXC}>FX}-o#^~{23Yhzv<{RN#Z`%h8#S`~5lc?qY4+i5Ju?ZzH=auwZ9?v=XD6gL^wSq^e|M%^RZ%UXGH@| z0i-E}#hdx~<~Cu12^uT$q!z3oD?3jtgc8Godt#h%bBgYDK_Y2SZ&plMlL8n=;$fc^ z)o}|v1D#sId*#p)g}tj@7(fpyla>COPpIh&gB<{w>eo2j)gXY@VYwnkKEWHCR^F-oMYgdli-gpIP1Q4X@M9fjp3{Fas5uIqjZ@ z;b|lbLa5tQNPZ}2c3Ve~P1A+DU8F|e@#GE+0X@sxAK5ED6-W$<1{Cl4P0LVbh8H{X z;2FSRlFHg+^J3RlN9R8+qtUrTNTwJa*;%Z&U$|CWDqSu|OF>eOsIu{hoN5elw(_e# zQj&L5*?Er9h^G8f$fZr!oWU5a47+fbh$*;aaT6=^kBx>CRl-PGLXV&=C^5RnUE;}amhPfMP^tU*g2X>-{hnOB9!Qkwow`EWEwr4-d0EL!_v?ICy$|EEmc5vAwk>C zfRGe+4a$5}(fwK*J>Wb%WQGmWo)p{&n%gJ3Fu=}=tY`3F=m9EE4`xQV9Dgy8<~YIS zFxPC$^<;8r(k>C$9DGhYj3%MgiKdePIKEgt6&%v=HFCeVl zNUI;a($U6D=9qYygSC!>`#MlbiI_g14mdy^vAI8FQ-iE?FPBAEe2Cj-Go^~&1ghur2UaQ_!w-Ih zQGD$SF$UlRm-pt)df5iNSAR?k#0w|@{ZXC{M0T|k&KfCPAwnrLzXxz|s6ImFHU(HVhq1*jxaT`j_JuCV`r;z4o4de8Wijl9AMbFu;;O5$zV zLLy4yYO~WP*`VC(IsWl@5L_9| zJ>^+&k4ZGMVQ>;6-x9YdtLMPEK~*C!;4gxe!&g>Giy%~`z{Bz@=TVNCAR0x@^#Bnh z+%slskIZr@a=MtWC*C5>nO>AE*#m21B<7ozE-!}E4FTlNNP zR8%aBMi_D--T#Yx&xt(Mfik4=SE-8#U_9&QfVx87NE85|-W>^@cv}zOFz$SGeJjf9 zHXyVY+%b1JvItdyz0NfD>lxB`(ZC1ZdL1tD5NL#& zV`CQ038Med#j=l8Q9a>pt@^hYBcuPGcGC-j;d#;BerB$9-inx`*uwSp*nq(%vU+p? z<{5Ddh2jaYDdZP1a9C49C*+EK#!aUvB$wY?X zJ1}24FGi^Iy|wBZgnipe9I-v=pI2hzjcME@V=2bY6};Ut?e@=#L9!sau>e5@E}Ms^ z=2rzhwJp63J3jWKEw#UYQ=cH#y|LaJfL>ZmzxF7}nEaS2$B8c9scu9eL|1pTlFoXG z&8v^sIAY*%@o%qGx&p4+dm4YKx_6OD9aR75(J*Pe*(iomD(PoZTuS9%AB-SXu5ETG zO#y4fYlGD*IQNJ50w+M$57w`EBt&RKZ6qvUja;&N9}L)p+(5rSq}BB{TiNKn+p^8( zd*@&$u-5Q^BS z!@t7KaG(k7&YuVY4bT!D?TgtZw$f(1N0oGxoTmpKn`m(^ffG4L^3nmiZx!&k@*?P) z#Iy)ptlHfzG_@?gqCX@o>04*URKN$;a-ryxfPDssDbbKYJevKix9aS{#zyI>r;sj7 z`i}1lZlY!8j7Q<>oI06-Y%s=p2kc3)(@R7I7Ry|?P19Y~T;=PUZIIGN|J#Xk0tNu5 z+M8;lsl;1cJ`t#O*o?T?w5=WM3BC%K zEsuK*#3LYK6s{+A78Jf}$5AY6K~YR^fX_0$*PJ$Hu2eZWSq6?R9Q%?*WYKpg z=)22~6lXxsqKErxNR8)1e371^OMzq`ZR`l+FIZw!1q=!RMjXe%>P@T=ZN_#{oDcdD z6b@~!p^JDP+={1QP+03KO%C*qa6TuglY)3AN>G!=mF%^R)qgrguX{(&`zrileiyTX zn$w7%0+ekODGqvPwl^K)N9?E2Xt=}OdB~1%n>t@B++JnHY&f6!E-wQCx~4)fz;pgg zj-gi3e{j2gLVIb6U*#Yzt~9Kz!YI zg2kSyQ<@uJ6_OXcG0Ng!tD^H_)^4*`Jio z;)i6MJhfQ))OJhN{V3Mbd}!3jyLEpQ_g3x2-t$3Q1aoV6Fy;3|8=^URiVllYzJOQxHIUAX&^tjZ^dw7Fh zsh=IaHn0A<@VK8JK31Hbg^TwhXU2h1MD~9o9$mmFw{z^6p?MLDc;$Z~O;IeUg^xd| zL6v;x8WO2H7(jk@}ULe?bFqqpc0{L0^s zpSHHbZnW0Wykfmf4#4{VR1nM(YGAiwrVQEQ8-ab@`76eMpHo%k?z%t|Tq!q%n%fWPX%l`0H z!O`YS;B>Vu<&gJING(z;u(_{j={4ef-6&9EQfK@ziQvkydAU4hTBTt+?$-U9(w?MT z-ElZB(D(e=i!BXSTngbvxT3sF;7OqN;R)pDQirEQ zarNo@+SHue>@7}RQ9n%=Kiw%bv0L_1f00aGu?gy!m4T1W2~74?lvZd@>y9ePge zI6;jii*Sbk4{a0C_ReJHFxSpp6kVRHs|4rpRo|O3lTH0|!O$cNwtxM-u8OW{FEZS- zl;EndSxgJfFW}t%U8;uCo?S~ zlVtRnCL{21RqZ1<#p9bUdRWQ>O4~7kq>;*8bkc_+&SY!ui>GXuD<)F;VCTi&itqLp z$IqJU*z{3mqRtM0%Nb2ieHRZTuA+CMDRfx`9|)#YfxEB?7@wpI2E^29YJ2 z&~v&{M(UNWP*NR3K4GWrbiU-rQJ1p7;=HqlMJ!$RJs9vOsvlvhQ|5%L32tala4c8D zm^1kC{x0Z8Vz9;>2LFTaOCh_xJ!%YGT#gObXXA5rPzL5f!LB1Vpg_}Sy2~c(qCS%# z>wxDWPvq1%Qq^}@>iAjrO!7=7eDZsg^ z8k3+rY9;$jdR~XhT`37oQ7MV60y3vlY0O%VNqs?aH1@atBu3BiC7&q_A9NUHr#=aF zr(3;0PFoEBYaWPLu$msd-vqYlB_3SsO#Yx{6fJhgZHIKs;LGt%TRKJ&t<;%mG(#Cj z0*BZPdIrKROO_yZ=$V2*&{HdCGE&{!RAR!F;6vE68@FopF-5je4L<8dLMbc(~M$Q zGsowUv&BPd)ZXK=nOD2l%d@R5)xbb+G(0LYIHw=QeZyX|;T4>8xWJdVC#V8x8jVV7 zxLQW>CGf*lb%oBxt*qT!kAZIAht5s!q)z7F_loXXPjgu75%JHu;b?6KIi4r$(F>r^ zV<%E0=0gg~Nr?FU;ZXElR8imV?`e`|t|Pi)ob>V$8u2sYxc2UCiT-KV;?;=R$Oc zf~0ov*sl*Q<0#Af`!%0t0S30MsVlbPed9@U&P5L713(8sS3s)GR?pKe&EHHS8;cfd zXL_E>&Ky%z;dj{Es}qCtsG@~I5nzUmpg|M-Y_6r$&bU-8$itAgyJUIyabVq%<5dL9 zIbt-NPgxP4FM(Ir=P8L>r8TtAyD-l~mmYvhL&rBQiW01kIyv(=6J{|a3U_V3GM#5h zV9STpHH_iMb;^)fKbekj_@2lDn~$~7pI%2hrYmpb#l)sF)8~p>vTo$jSSXm5(d|~V$XxG~G0==5(8R$j(BB#wdtNVI#Wz!)DV4)Q(ue4Y zzW+)q)v&QZgo%`0Ek>C|;B z(b>x^4V;@EPz2NOf%Jmo!Oc+ua<~+6NO#yrRT8g$v7l}MO$zdkxM5Q-NmaE|tCJS@ z4e}yaQlYmeaJ;)7%0lzoIuEe3QNf%e5AVWk?JCse8;-&d{{;@<;6fn4w@TgxZSI+@ z?FX7-fvVQT+w41}!TJJw>-n;A4gPd!)C7ZGvGA#XBser*wo7>&*&&=vRT^CbLU?NU z0BbhUK3Yj?d?!J-zm8c2c*D5Pi?5|HZ!EMfRuMk4Ld4H)?)K+-Ta~pPQ$`PZn5O35 z*vfMq#mWDHZda>CI+)bk9b}_Y4M_@UrGRVNlIlBIJ<2-E=4ZCNjo-<9XrVy(Yt>$; z2A;(ij$UII&1LmIOFX3?+e2z z>T`->^MkN65!?{1(oce6EsLw1DcF)2+do6N-Mu$f4Sc>frUzhJ7VQ}KM;1iJ$7V?C zX#F6t-qQ2`pjE1180MdEGxMN-F3;0IXZh1Wa?x;d8h2{`wfO;aef?qoIvHI7M=CuC zN0zV`37xr=*qGHB%Ach!AiK~!ifBaD?>Y*L&UnE^09PP0C57SeER!DH8(WOq-pb_N z-+F{#qv{#)Dh1&L2Y?IRiQXFjPZvNm|C^(#S>~mJzLb>6#i|qRLbVM_!FI<<8BAra(4OlXo;$Q~ zn0#;KeTDo4^dpoOdqonjTfghFB!jD6LCAE~*E`gW+U_9W68 zT_cj1UQs#DTs`(NKAQMAPBRgo8PsnGRp_KWof%-}gQW>A+1a6A;k!UiNB4964o77y7sus_zQmp9`bF7P+TwlV?HhuZm>A787+g;7^d0Hm2r;zv8 zBj-Dgim8|H5tyyaj&~kCpbP5ojP=la@z5kxdv_v>xKZ>Wn`5Ib_&Ou- zRT8T*P+s5yEB$t#WmQHRXHTJ|52tLQoMv1%F_Kk4#%q5X6^Yj>ZlGsd)3(Hy`|vST z#UxSDQP=^;MjlygV~gVcnBxcZ?=R&#FtxW$?K;$Z%dV|U&u8gJ+UZ~M9(R}TUDx6` zaH%<{G9Qm)A?YrUmp&g_r7`R+Oiv;+0MF0|#lGo3gabcDH~+3@3`{+zKyyD=Qri;3@t)k-UwyjZ|!YSOLaQEQu7MwsJxVvj`cXx;2!QI^@xI=*8?ruN%_CELS zv(Hntda71y%{ioxK6)?Ed`=?SZ~X$s(`Wz%;|J!kbQ1Xn1pTtLIM8@8vFE^xZbVR6 z_=A{(&egZ?jH|GgdO40J1(Omi3_u5-Job?V2GHlbPNMa)7m`j0lSaPyqAp;P2vrV< zoa2qRxqRlFm?VDiu-X_^3uAMru!B|NyZb91od69kweb6;pj!0Q^i+963Ai44W|(gG zW8y%%`$uo{fiSI|HGK9#ku-){(qS@2zv(gmsaoUn$Y7oK1le&<>fM}DECPG|@dV0= zL(w{W6~ul{(pODM7I_AxPGV7!sWHpZC~>qPG}wR)8K*Y2gAEgd0=9@JzTFS{GWrB% zWYU#TICk_6lkA#F6?EZu^JX!DPoZU2p?R3Tq91CNLi$jxD+a&PR`5)mHGFzjVw$8_8#i? zq?!emU#ez#t=9C}`>iOZ0l9U1sh;qe_xy%4D565wfEC)nR%)dn?4F<URGXDp6s zMh|ty=P(eIK+p|(Rp47q%0S;(eiu7wuILxc%XD>_%;O6;A5DpVA-`n5Rp91KOpyP> zpvNrAwzsOzry75(34XE^4#eSuFbnCYd|2fOziF=<8Jw9hP{5@t4I1>X=Yn46`l+q3 zzWHRJ4}e9A3#=xB0m+3y)66tPp#Cy}D5E_@P2sl7fhjYAu9TRnC7b}-;0(OWMo&PWVXojq(S6ADpd(P@dK;d!v z8^a_Gk|B_F8O|i~w8X(8$ufRqly&^UK!-6O!TRBDl|3|u-PQ?o78SSiI>y~lkcYGK@ zem)qN3f2@VI0%e<>bF14J&p-*5s5F~vsXM*oa`-=Z?U$4hbUGaGR7oT0EJJf6_Mxi zY>-5c5eb8YX3dXUHz09B;92C4I$2zfu8&S)vicy=5Y%}`H^91CYx#R3$v(`}z%a3a z+HpdCMQ2DcxS+^@5WU5Kkl5(JIt1?J#L>jW`LPM-cnD-n%5R(Hg?&YV682o0LeB-Z z!;mkw^4WxPb0JO1?`V0#dfJ2jc748Q>vWu)?~8hW@DREbIj_Fb;AryqSS$`%kl6GW;#58yvV;3rRa&T=wSHZeBHQkemeEVgJBOC6puZPCNS3wt> z?81s;lJ+`OSZCb;f;C_JW6~RKwi>rDenjOO!uZwoB0cnoM$AtfM=MfCoXjV=c?QlLWTq*z{G(rv|uAGP6CpI|*qCJ2_&aLPI#I<5i=bWOnol17OVxsl-;8>Fi zjl1hXT>+PX*msfK#y()$j`u$%{QCPy@_a-K=Gbt^JYNfQ8ehnDc`DxZ)T@r)s*=j9 zt&jUs^*ewMAIw@b(tL7C^?Zr8J>933Kfiguy>omgVkm_duZY?1C?9Mt#$7xYN&o)+ zJ#TO_X_z0ARacDjjd2cmFp3G=VEbmW8^9n)(Dm&$%VGcfdd$7d?EaZoJut@K?!B&4 z^!~Kg$MOWvY~UT*)3?76XsP#Y^44}x-_MEm$QS95z@`E-4N0AAr&=+Pw@aA^>4QQF zY4|12JNQB#Sy*uPeUZ3SgF0K_g#1qxy?y(i1*h7_#t?B?;x~zbC%bQfPHIjjD~$<) zCDzuFD8fhHs;nIHaUw$($3e+ILFDKIjo0d|`Hvw1Ne|nt9P&&t30ZT1Ob<=5^p$X0 zGLUJql83;`p{JY`R=~1G_#`qz?_>z_mQ*xqu>6)U4iPPN3lpx_)WJ6T1?2;no-mwc zEh+S~2c!tjMmu(5e3vtUyPkAO%@>>2_F26Wb4RX^7l&gA^@sQ5dw)A=*HT)MwI%2& z$=z&`jU_GvQp6egR8lNvCYXpM=q^X>*;aJbR!O9uT9?CsO1ER*L^G1`$PRRSEL}l( z@Zi`@kP*7Sifhet@k3eM2xt&sBqEkkCMG#_=XP6-?BMaduSMg}%+{rLOT5)A0(g!h5P6-MEb7KW|(m>u2;~GJsAg3|0={zl@N>=xCtevFG zr;ZAmbam3J>K+q9)x!WTh%n59(gC2n#5agACp_XKuOrXn%DC9Z4o%S8>5u$!E`p!E z(sjF2^Jz2Y>xs>C_V(0b>+|6~Mx&esH1BBJpAW_;MGF`vQYK0p>pP9PU?YHVS_EHm zgsfaa%4X^bIew~6pJNf<|E-jtsth=J?;SU2qi6f9QTkPRb;+6(doy!rpfg$aGD`!3 zc`t|nv*-u0w1}G+oW5tEkboi1qBsB@Va*+)6Rp!)9R{~WqsG)y zt&RcZu%n{UdJ#hTkq4Y;@<*-lL+GOTe2d}^+ z1b6)KB$QvpmD+2eQLF4bHH}io9Xmpfw#A8U4gLPUHAjyQw=UvOc7Sl6;8HT`P(6YW zA{AGuGfYZG1|IR55c}+K=7qiRDA*jj@Me83P+2t`#S%s(3LlFO%4>~|HdpS3B-Zk;WD&BCD&TAJC^G9i&A>f!4NHf3 zZcv47kxpJq?~DD!yb{ar`-x5J$kj=3M9LiB>F>UpGRbru=?VKw#2uFW&4#K}5Q)Fb z>K`zKIuK0NGH>ihkb@OY_lKjwkW_DiIXp0*qyF_rToMrx{aP+RJPA^XhbKk#%Ur9j`Qi?E951GyqM&!mkv-uS2j-2d9&O zk3&ky4M9#Q=LPjzpVQN#xQBVs`zibGZ8b`RX^xMpSf5n%V=Yn4n>Um5BLx1Zw6z{0 z@Zt1Fl5rBn+YKVHw=>-^F%v=Alx3J`hPWL{s}mb5s6e!r860#XyuFXPd-}u(1}I=G z%-|N`ibaK)4K(8|=H!}6x4%$yppo|d&gSd~F- zluK`Rx8c~NTX>o5BPvG(`lZ^pwYIoT&M))A-IX4y$#~ml%1{$1nCIYRNo3tO2i0tXhs364~Vgho-r(^4-Nd~Fl zwv;FWDWq5D{9?HgUo)Ac3|&g)_9&X@7wqVjQ&yUl4j7hd1?Eu>GZisI*&Nl#ss+4h z(JJcqG&|Gv=|5@7x|0o0&zrp?)LC-w8P`i53?=U8&bEPz^l;rESyfdL(i2IOIS)3Y zUA4s`x~x+Io?QalOYrNy*$pc`uNp|RXoUv5Y$UGI@C&w!b$!z^wCML>_~S<#QbVQi zN1~&mpm7Ev?UA}0NdrtP_==$imp&p_+kj}4bu2nj4>&I28fdWN1ig)C#BnbNJ+3*W ztp`EOf8wyk6hcwu22WqR<$$97ji<%BUSc<-h9`CMF^jygKlZ_`?nxaHf?*N6S!E`WuY@S{a%E1 z()%OxOv&((1#-ywP6s}S;g#p}aAN{~xRXlNm~;uaH3Z&!0jPuS@~KeHN2th9J06nDRY*a3<^=Y{ zOaAgOZG!>$q)IZIE)3-+Tbf8{dst)fZ8M!q-^&|r#H{?xF>a@KE+voGDe3~LIK#jX zVUd)#1S7i>B}po2MHUCvsFA(c97^p@@JSv$5Zp$L&62A84_`j5kRp30>?fU@*0X}@ zXM#R>P3+1Fmhbr-zrQkNl`};JX|+4G`P8uIxi-CSmRW|VO?E74`kW62OfL)?nkPAh z^AEY$)9TEehKeO>=S8MRUx}L6&R|~JV}eWQ#|j-F6-IfF_Ml+_9E1Z| zfV-dvI6v~>cq23E1;q@IF_ecLsa}vD)r*Xw=;o3{6D-gY^&C$fb&zBiNWs#-842#Lp?q%Ix4z&D6l`g(6Tbd)22^+TNg;f$?K=69(`GZ`{QZDxN-s;oxBS;6 z9wyhjd-XCd)B9_CNx6z35lrI#uZzcNjQ-Ll+iyhp!LZQw+?J z&V5r?JT8Hr_FBxXwf@#Bw3}f{lQBeS4PLGJ($DZDSsES`lxgbS8LT+Dv@hKaL@ zOo==Fyr+yXa1{E18$#hbNvtOrnrD@7sCm78dm?st5x&AgA!q+U>M{PrZcbHX_q=a6 ze+&_dmX1-Y@^q@PU`YNLQJV(MtBWaY#M-yU zenL3vz7eOD?QEX4-;~EO2b?nPDa50)lS0FAYSC81B#+$)qfvAOyj8+)j`{%(Q;-xQ zL4}?wzjvnr$F+q)I;jKej5>V|KW5HH`AGk?Qs?*;%k2KR0Boe8=;wf zE2UoUX;gR~M=iZ+cmO`~Bwy-L01fx52cm%ZgoJf?Ebb5R@85!J!@jCa^sWRr30_HX z>v#KZvwC5Nn1%1#1I`!O(xNwBb`oR{P}kt}J-Ynh;uwBG{jYtbzkxTi(5_H~E4)IUYf;1JRMKBmz~IMJWRTZcA^5S2@rQ8KHm}C*5#{00o7xc}~C4 z4P(&@HJdl|^Gb2U6`oaT#;QuiNCur)Iz^x(;3^5&9N9hiu%$TD_)|{$5FWM7GLn== zuLj4%?}yp9?{*i{Y%-+?^+`*d29zrr?%iWjDhL&*-@jG0FwS<;YF|qgLkWBuAF&ZS z7-%wDF7FFzk_8vvH9Cr!bGo8C4luP(L9JjqKdWy`lV3uRQ#p+*Uw2rM1BtB$p*v6} zSN+0n(!kZ??aeXA7Pm$n#MPQf^H{0-Jlyy61;cb%dMt^k5?+jN?rPJ5RUp)G1L73% z6MA%QgRNg!z)7|0$^)ui^2`s@@_0WbNI{qlj=;zU6d5EACyGi2w;)upWC0BhvFQDB zhLg=9sxEFpcl}|e0a0(K;+#z@em+>6gG^zd2v_{fAf`99wGqOZKuxez+!^E%-eWyP z8_5qlG9sX~&^CZoei9&k33HEOYx*+v8A&ITYp9%wG+Y=00`}Vo5^?ZmxM!@Nyrrr& zRIt`2tasSY`D#*8>{0Z`%dH}PNDmZxLG#<(2h`eGrbkWzC(mwMZ#)bH5t#Fg_L+M& z63GC&8>(Z8t$HZ)3%ngF*+cPe=Ye0>yFa@=NH-JYK+7I-UC7sr36 zw@3azRf=9dnUG2+`bHVOvq~#z)&d*B*tmb@F9+`nOP2zSRlDk zj)0adp!E0^qc5x*Zk>k|>^7AOlOfudedAt+!f7!Fr5d|5)a-*#5!akw0PUw?+Tyid zdjwOVvQhQAF;3EiV$hWu-+;wE7nxug4tP*_EZ;!&?6Lf;L6!(oRS`P*hjJ58AdW%! zx=R@HbsOsf^xq*2oJ%-pVbn3j6aRlk+qn`^zJS9 z=!X7@=mx?R;H;6627RxcAxdQUUQGrrvxcx{MhD3oTbOmfG6r=o?54P}ypOi!i@fM3 z*z8LSl_OW4D@BK$pEot^X9{oVsSZEnhcrXNtK1#u$KRXqT@O~WcA+zt@#`Kgz7siv z|5PK|mFyV?_JCRJmrftlJ3n3hgqU(rTV_rNX6C zCoWht8(}kLSY*@>!7nSYc%=|Q{cptT@me9^l9?SVdEG>|623S=+IZ*bzinN&KlIPU zi?d+_b=}}!rHx*mFgHT-2!Fkr*Lu2KhTn%0g2tDWK4+Geqgvrv@T`& zaDC{UW4Dbi3I)0>D54$5Fz6A7Vca*=5l+eg?HJ~EJtL85WX5*^21I~qQ})XK=e5Xm zhb^s$jA^c)6V+DG<^z4P56DJ0`7et{N)(9IM!4fv$KArRepNj|Q%sJnU;cVC5OVz_ z*3{}kc&0RaVs&|(mRs@65FMyX&Gs4d-m9&aK@|%k9`7zz@*(8a{#NyB@i(E}CQewbVUxx$AbTg2rz;eTt*iSI!2P5Avi=px-$qqg)xZRvw-zgc-BrYT-$H6Y&Hu~`diAF+44H_Lc*aEs zGrLRUmR=>#0Xo;^b__#V79X{p^haFPqb03=tBI&1P*7i$S%+yrwPeO>@hb>q`9=*+ z1k$`4rEL;o;_?q3)-w+R;jSr@@x6)*TAaR&gqTFFZrQ6VbFli0@0a}F2wh7SJKwXq zhA7hPywP%1q^R_iUsztpwX1jLHua-mFyn$`r z9V86#WW11w4ud{8eqnw>_T^^Cn!_Ga;2YsZwHOVArh;LHB{xjlLdBZOtSOsakx^UPG?$i85hE;0n_Z1XY;G@~EcC4bE` z!{A8<;YKpZw)hP&$B#iz$l#eWOT^6&)^Z?F8wRhUIGh=J71p5r9TEN~>ht%T1hgNa zz5ZmjAV1#B2a{y&A*jAur;(QMj_OXS7PcWxWfl#CVI~;9=b+SVq&VJ5LGTfVpvq5`v=#KyMaJxC z+uZAprGGjU=2BEQtu>4m%zYc|f=&_J!>WkSLJ(;7Cy8wxpfA_P++!KE`m>qHS8gXF z_3X5+fNP#Q10Ur(sTzVaFoq8Tn=;T5_3D;ZLhn^DGaVByWI^=zy-R(Qni)#Ta;?0q zBbEofrPr1-j&5Tv;ap#-(vr6bc{l5>+S2olg6syg5oKEXA0DQb5eB*4YUnIU|{teH+zOA6Sd4^a?3hC{M1NcA}%7s zg+>11tDBG>l7~a;GlKd7rUrS1iooy$7E<3vmB4g-BA$tzm$Jx#0exeXxnDPUE><4n zO>eXU9$F#xZ2VffvU*4crXB$Lqgu&4nN4`_SYP(6z8V3_G#TM2EDCEF;ZGZc z3c99x@>T%1JOtcIMeh;z3syrz z9{&%&;eP`i-6TL}`#g)>8vQ|syz(!=Gv>I_P&nNf+?fhR!W!i1bt4*XI)c%%NV^bW zzGT6)4i3M4BXFAr#6+LBFg?9q!t{X5x3`baBJ#Li?RCIMSfiM@mNVYZI*L z(io4fXe8K|KX~_|J96hfdT=M3$BjiZRa(p_IB)X9I0NHe+oEafOUd*2S@CE!@Mpk! zl@rcQa!l`E^jC68J;N8f5_^yGxw~D$#%dy8#f#(Wa6WAjAIw8!BAOo}N?Sz<3?xRx zr5L{!yKe0$T&Sb81;@lLq&lRd|J$`y4+uSz4c| z{?D{Yh)^5a08qK-KM#1Cg!2se119T)EKa zx(|hkpiY$g>!*IHIkf1%*!TYq_rZZ+!!+?6fy|^dJ3no)SH)`?Kh@=pD0G#3y^>;Z zuN}FYWF2Q@h%}bNi-y<%uB+p|;O2eMyWIVP0W5@RVIbLvTpoi@ZCRUXE5d=&L5^P{Jm>NTKCOr}TIR7Y zA(gwEWf*POpeg6bXO?Ze)ri+q_x>YK>qisPJ^AKoLJ0qw)g++l3KwC_a`2@KbJS~J zMqD&-3xC^yA6dr#(v;z?@d4K!z9t$MIF8oS_aXBM`G0!nNK}ZgA~DN$N78z>MT!_L&<>IXH-@hc4YnsKc6mmFrBix{a5*=in`RqTR0?}T5? z&kYGYlSibjB-=-p^nW$@`!4k4fX&-=RbMc~Pa7KRIfQv0?gLe4OZv!> zIj5LD^{?eFirZ;gCg6Ep>x9*ruj0qNe+X0S@7yTdBs8^y6a+h$!v4=o#qnbiBgsJ( zSm5axzFos@EKIhnunlqA=6U%dN$~ZIOJ)k(4tEjpQL*J)jR#t9JyQK_fl&6msM{lj zM#lke3wk^s>?8&H{<&B4s-FY*yQeYKAf{i_`|L%2Yh0)QknOCgv^ zk}+RIB1!>yCAnt8FbT1{`(E`81{wCub)qVwTW!g5JcCrG=z#xIjdc%`fhlw7=?epn z3-j|nTLDMVlag+2hTDzk8_V_xz#1(5+X6(`LGIq+lxc%s-_6%e@To=h{|yLF5rY5R z<;*5_PO2vMH@fgr#3ne17ui@@-yq51LCHn4d27o-g*(){6V5 z24HUg`iI;j=38QoXm|2}W3^iiUVkr|>TjGg1<Em^P#V1J6_j+4`zbSvlAd$qq@Z7j{&oMFU)Z1WkK zNLNWD*NTl50sHLSWq>Adm~u!MasSUY9T{^vVC|)!(e#VS9l!F@c`#m*Rt1Q?S_w?{E*pR)b>Bk(`K1C36c7}sz5WM zteNd#^X3nErAIWT`QSLP;mt~=UJ_YJNJOV$5lxZrzbAuad~VW0u!(Su=mYM4m4RT8 zaAE&DAmjL5ihx~HrgKb3%lXupS#U!n0Y{b#kp_ANAeykZ+`h9i*z_dH^b!Vn=LTBKM_Cbn$5c&cVTs+5zw=8J?PMI%3py@j3~ZLAF> zq(M)+lXZ+@s`A-Sk#m>9<{{2l2pI{ER@Z=E>V3*YfU1S&ORKX(_g7KA`_vq`IHYPTM5% znnylBPbef7Sigx(C9ot@<+ElrlsfTX^fj{XO) z^(7_=h0;6Tbg1cnhEm;uV%_~gWqtsoLn~moNB%g)Lw(H_F}W8SCn9U2`o=?|4lM*=1hZePfH`^gP@kYh(SOD1WqSz%&+47nswE zc&JOJ6gr$nPRiH*21{a$u(3POA%L6>)SYLGnLO8@lc7LoywCcMg#%wi4g@f6=kKXZ zc26GuQl0;KbaGBmp{Q7{aL${NfM**e`plYrTuFnT*;b_MdaX;XF9b<<2WY*1NAUje z1_G_fHy13PdaeO(t3M0w9VAkpX6~di)-{s9*1yz`1zw0%si{l8{eCh#J+9uq?7;c8 z9>fzO8dZRj)!mSKeF6bI5hCng$2p(hrtW+9&yVL{IoNh-KA1xh{Px?)IWg98Op>qv(00C{pCPbFQucGV8-eMX0wEyL01yoL;~L z{j(`lr94#8WY~u_=#Rs7X+2s5pq@jzp@C)9uXy`PT)#ZfrdVc-O2#miA5Bqi6b=hg z1Xa0&nc0*B^}jkIKYJnHn~PDTUS2F9&8f5RjRkjn+*u6Yp|#qKk1F+R)hUf*K||jI z2XbOSVs&UBiOgC922ZoxY&#R@J%U6+DAj!=SDv6EV_^FvK6B4AnQZtwDDX8q)aA^n z?=3!gH2JVCgI30cuY=m45pE|KiHz9^D)%Z64dHRo;1aw+lU)e58Zulzy%*V#hFxp{ zae+h*!lPXGHmK4$aYNIHRgd|90uv%KxZ?ugHvhbh3ivA^@M6>7^>L7dw2i+M;B}{b zGm8Lyx{V{=m+-6vmGUDy6`<$)R^;tibi3@mz8nWkH3I16U;H{rysc%oYYa^tl(Dyi zbYhaPC3Up_clBHZ29f3A_G-NvsIxW~C-0VT>>`#4q--VLZ#(HHJ+QWxcBISI(8S=N zMH`eu*5zA-O$v5j*89vT7mZkSQQrWAP$5Et?)Q5Wnk2xKSHQgBv^0GM#v#~ z1S(flBA@-u*VZSU3}HCK$wK>q3@Z60k!1}7^q8RtOW0MJggoGsnx6V9hA180xNRf5 zrAVuNES-qRlSsIghlOVIrn{(jdjArRrttk^|~4@9Q`NP4v~PX%n;lD zLR6sgFjPisH1lGLG`rCqT!vGA<(0_*g0>DaV;ev6U(P_u;QUzRJ0Y01scqCq99~C$ zMVn?4P^3yLGt4PzAn1h+U3b}7k;XFtiLh7m;n_HhYkFbY;nJume|K*7^P%{FznVm( zY*fn=+5pHtF0|g%z#9^6X}pKN80YpB?Z}GEo2ZDNEf>fHQ(E_BuAfIX!v!6_p*gQ{ z&y=XsX6{B&$4kl~`kyKc2M0n8!K7(!KHG~Zy$Fl6zhe{*ZsRjDy&XuG-3<(cxLar( zH#2;DOx(7la~+3k9n_Az82#bnPCC3*B>+{Rp~^Meb4m0mXuYWMG_P1j7X>aE-%rF) zt9Cb}iJxAxh=Y_&_vx~C3GEmDGeZ=+;Q3+};m0ovow(N*&|)+Y4fQ`0`a=4HD-(Fr z-o1---BIBZecZxSW&q9yv29|8l<_6~F8YQPl&)!#+>TdUvEGShS^d<)xI4PoGZrr; z6-+vHEEHHR8OR(iEXJq}YXJ}J75G4Y07qbbcDjJWi8QV$OB$nCTVElr}+~2-|oZZQ1VC_`EVE7J|;; z0uP52W?)wO&&mGViwp0%eCsu7jK939;`Y zRlqXJnoNX23NnA;M$O0C&&Ee6iV+pl`^J)NAiA;4;XP{mYP@lF@;8lq?^4wvqGdfm z*>z5tCV7(d{xh|(l<}GJ`tENL(Q-2A`f*yBvjKWwWv(ngsG zsHLjUd>b!Vyv7TKGqI>xCicT|TXxj4fM=4xksX*gNQxku8WIACJ&9ayk!BU+ep2fl z`V&fxU{M2`z#RT1-Bv-0-7xObg{Sqj@W$;Jj>5ZNXgbACA3kw!yt}{;0KDzUti7Q> z#zobww^Ff}@k=bPy1a%PO%nj@lR;b__!vt4GhO)TbNqCxj%?M}2kB&}?5j_q;D13l zeNx|=z|Pz#kCB1|iU;o$=>vFyAU)Zu_Qxa7kE8i@ngohJc1I76QhxoliNn7ZoH2|Hwc=;!BS$UHThvEGV{fjxF<&ZTnai;IJj`eR*S! zz^IBv?1K^CZ{J+459Qk(cVscvpbZO)n!McW-^#>7I3L!mSEi0!;Ua{LGmlGdS8XUh zhhWTTRKMZE+HPt#N{{RQ@07*}<%xn|+1m~g(b~<*i*(>XJdX6an?*3jAY{raV(u|A zUVk3-2Nb;|FAFd>c}0=Sl$||gzwF$WTWQHFd}Za=xv6aSMh5gf+vnz+b&+~+!*EhI zhXEqV$a~u;?EsIi5*A0RrgS)&b6VEQ{N&A7<#Vd_)Jy z_;>`H+c9zAF1Ev8lde=ar{7}zHqz+^zfgT0`woEK@z;?0m3Oux7uupI)$oJ zc~qU#W9bYqLEUZ!<&kSb2^*b}mtWOnbeF36$%Fuj$%ALz&~0Q-=2E>zg^)O`f1lhG zAQ#gW*n2!-zQXErna0Fqo=t4+K4073F~!)91zS=%=H`J^WU&~?3#UH=Ix+k$(ILc~ zUf{k4Cc8omvieF1k9Mv}@bU>ij!E)`Q)c7DrNI@_8N*9;B<7b;-#ECXN$?SH@5RC@PGAsgM&b8Bq{` z)Lu>iATz@MYiQ-~8$pQG=pYYIaZDl=)L>XGFUnjWKqd=?Kh7{tdNV&8f;!>rUoCdw zt7o8)0PaVuPnX5+KzLJy$rugfh3A#i*0Q3gdpa5bGju!pIA;{Z3Xzv#D^sr0a+C~c zU1zIV+8^}^7=Ekiy#jh;Jl?!J%a;1Zmkt*z<1PMYKQ294&_6~w@@kMVI!z!dJuhhJ#f(vH9J6H zA7*S=^rBJAbT)&V!**q?)$k zq{~#mSu_9%#kjV3eb>}+?}~o|3DeJhKqLG%sJJvW9`BLw2GSL=;Tu6TFclskrF$-d z?_Z!6JvfrY^Bl?0EGYOi+wZey_4v03P)C6fD+D$5)St9|mp4j&H}}#GpkF1^{?1$A zMFhEZr`GJVcsp?!X__ml5sE5iW%ibG3^eQi>NfWk2NphsIN1{jiqr_KFk(^dVidn| z?OP=7JI)cax^6Q+tTcDw-OI9*8MQQx7_OuWL^mbu4FbY*MaPK30@OrWB zlj8MZ@0rRXmiBb!m`XemmsCw%2$CQ&xZh>3+eSj+B3av#h=y5s_@V#wByt`XK_KvB znVsY-w4t|Jl!x{ndqE5RiO2#6e`az^m7eukjKNrS<-+5JsH2STLP7*P(? zie5VJ3A}urx!O3lJa*OIXszK^ki#v*V4=mAw#TS z1z^RJGndlB8$OCy5OAWX0j0^J{aT^D(LPRh11D8%E1(bB&LK?QMN7MNC`bM;n zF_Na%m$&gjkDyqv>ZpuWU0FYPUjQPh1|RBgYMA30LKgN+1DJpz9}5yh5c3&YjRe2( zeu|GA+I=R~c6q9Ncq&8T%*pgHvkSxZ8;KAS0{n2>1LEOk$s5+HYh5!%;2E}_CWT(Q z;Qz4kBiOU9q_PoFVBSz7Ey&f2xPe8lkrlK1=q&dAQZu{0X}}kOK;?R%B$`_*?60r&s6G zRStMd!%ugN1I2g3?rO%3R&|9@O$g@pD#7VrES9GNLt;?B+$3luNafm4m((C{z0SHG zVeIiSkOpc#0aC*s#5`v+ss2f_A6;j?A_Kf~j}9fb;}r2rJLzmw_JTc#8OzJm)AsQ_ zdSfngpO3WZgCq`!Bp4Bs1Y6w+pGvgp;Db6(GrYde=1_Tce_C70>ZY5)hn17f<u^rALJ&c`*?(hE{q{XCd=4H=ptlt&cttyfGv8OAYnDa4s`AAUlWU-PZ zqe#SDS-mACcaKaHmbBrNx;05lhKb)I!ZuH{vFKPLG7!{&N(kSX?Jrh`(R-&P{rLG< zeoV;75n$`Bi@iJjj~0O75&UGytD;t&R^ZLsmFlDAo7J+@pRvz0b)Ve~e)z^xJ2)q$ zrM$U&m=8{_?G>o(J~w^IbS-c{6{21v5nG=ljQGP)^q#klrK5zSSr$>RDjrJ|Ary`n zfx@>X%-D1b^!l|A|ja~%AmzYxbt3>g9Oq@hptg)auvDa zgi7+Art8g*w|Q4A{@~{xneHH>_mG9`7DOLjs2C@COC(#SNf)mf9b2PBB>yb!27Z+& zD4JEzZm_d_a>y9I>+(`fOp+Mgph#>%hwK!`IS!h#WY61JIyXPxu=UJ6yPBNU7*Y(B1yRMv@B46|DrX5tX?r`||DA42w%R_&5Rs(;mG(6;!xK%iR~ zQ}sKOj~5N@)Fa=?L$y>vzqygflDuHevKZ?_IyYnWSc3Ger=Mli>shb1*ZZTA$VGv= zf}3|H7R>19I(fNX-T#C|#S=}J=i2vbBDZTZaCIc3JKUnT7cL!-y|L82i51_$EN5|)0hG_jb>P|NS+ zLruUUzJjJiFA$igI+NdbbV#gY3;)7I?q3+>aUjftGX|t3?OvH%>TCN&^+BcIMRvL|$F z-$7DzdJUNpzvIBLj)q2}NCqGb!A0~bq)|!*z0Gj$(fuTnlJnHgm$9LK@$ffsF(?QP z>@|;UXJ~v}X4^}C$K?r;MCElFh!X=823+aU`ern7k3Rhr)f#)Z8Q9zFqDbk%>wic- z!63tT^memiY5T+La~460hk!lAxX{EI302BfdSpnIx*c@6H6)v>g-To^fOs>aeffF^ zOsohA?KUdi_*a|7k|X}wijF>sJa>6+CAj!f=tjKiTFR86gPB!Ps6Dr`;_()(a4$Fv z_tfdWs|!1RPF7;=nSjiX`84@d7bYkn7=S(%VuH-4)IOtpw0|I2Y-)T*P1GU*_Z`W` z24Ay00Ob>w*Yl?10O;c;=L$kG%N!M$25B@MTA{tJyB{2MsH)+4ag%*umO?8B_hJta{Rni$fHJ5^m!*Dp$3csEMTd?L*dfp&-s2q5@Yc$yQW z(y6oj64&l@T>d)tB&)&8Ve@N**q%$PT6HO#Z<*#|bd8&?DT>eX$BnU6(RuZ3acOFs zow~3xURmdllSJO_4wA|oL_^?BXU#@V1n3O#4YFoI)dfl*63l!GKdY!*Ip_wsh$lP? zxdO>sDBIOW5V}p1y7T>I8sm%bvRf;W;5yNp1C17)}}d8m;PmTtNbg4 z6Ji&rH9LBcVw;-@g~z$MPmU$cvH29DkYTyBCd73-Yz-gJ?*j(?3Ya*FBsMVFf;x>=?Lcc4+k4;m={T+O8tzDm=yD-jSTtiMkti-*Luy zm#@vFF=M|j<5vk;3ysy})H|u*`%1@n>}ST~Tj^Io_E$;nyYf~#;iRRqRJCtUsqB5{ zArojn>I*CC*$H@&AAJgSh@u)CRK~xu{5#mBeiHB`IQUtx;fid8?NR@r z(?Wh(cM~nPo0~Is;=ITkhF5PRrw)Jo_QLT0(ew^}k^kTOaJKCxY}jm1+}y^^wz1i^ zYr|&SwPCZ{Y}2}(S&T5)`SFY9=?PCnpK7oP5L zV0A(pywbeC5dViC4kpqC22up%Pyv?6BE{9j5J+ZI1l`>-Tj$sDglb$Y!RAPdL{|2q zAWhVh@fCs;JgS(K6bv#aF@lYX-z83`yvLh1d02*AFKZh)q?^V3V(^OD*OMcm7l_BJ zt~~ac>8F%&zP?_OS)@p3Y5cN%DgsJY39PbNoZ8HyT6hpsup@1>OdCWKI6O!*evs+2 z%RCh@T zR&_fD;feZI@~amiqSnh#?SCluuvhj&>lTG`cED;O*3 zd(6PpYym?f0ClYRcSz)pClG`CU*nWN{R#x)jtQY~6S9=|M$F6#Q%^pT#%gYSaM!Qm z#(w5v)`qdTZA%;;)~25ybR-|}JJNZ0*viO37;~bpDO45T>U3hE&mXD39m6KOq1E^` z`d^MbF5-ot7g=HY1<<208i+r*KGpAPb)Bg*tg+mNmJKXXtUmuKgW_!zfzmLtjqDf= zl|22n+8ljC?6hA=`Sa9j2WWzh>1U>$RN3z(I)6|84_*%Z7a36B5yPg=&{}oxC`aHk z7D^3803X;4cJ9;_;qx(q0W7o=&RMTcB1e|3J2up9T{d%WBfw=l3>1f5!rO?DRn?K6 znJjlb>L;Ym=z2u)Mr3_xr!Modxc%HyJ#+wrEzd1kxq-Tc4fo6g5-()PL?-Gj}2Oavff!^}aUtTPwz zJ+k|e*mEAdIh|6Pi?Shv@JfTadirFzTS&b||049=cN=o-u?Gac9t=-*p}OL%=`Lv0 z73Sjz5CNsgzFG{|A&aTwnbQ}!{PN=IKvieqXE(IGNk#}IdnYLVY6-VtLn|&~DX>FM z0dYY8gw7=k_56-@`>GGakTn4qy7ZT9bhyeHA(k|>26r)vHS}$BQtFVK z&-3!qWK=uSnY16gO~jlB+5jlA<#h;|9j$9{o}^u@YPTaPCK#n$O-C?7_$0_OX8u|y z=+5-gxiC%8zJ~jV+|YKr-CO&7#G)tPM5$MXMPOi3H+CLj(uw%oDMd_5!x^BU960+=pI&Ca=x-~Y2#%n3z4Fb`t|*$MiKO&h5w_8NTNU% zl3IS}A}mCSgUhoF77mUlC+B|&|5SP|lw-6i6eic|$LghuKKg;LQ}>0Nh#Ns2{km57`<2nmS-7;xVU4L_j9;_r#KWT^YbWSgtkz8jbtf3yPf zMuz(-zC#mXZapB!0G##9-$Fp*jr+0bEJF@P-P3w3k-ebr5riUBvugV^VDfq$MV*h! zXIlbWJdu(*JqP3`Z4%VckC9ezX%v6fo7Q@Ci)EeLFTGj`o|#;&$HYuX^gm7S4NB-L zTvfU(``ylUt^a)VCTD4%tUu68SFKX%8xQtH#B%K*Q6ee5y`;tE}b*uOC zm%JL>x$b{HnkbY1w7N;bOg}|11cXv3E$ZGuQqm?{h#)Mrlpl}vpO{*38$2#Y74 zKAI3wR0(25Qv)QB8I`e=D*tqYkuIzYB)FA=Ze2%UB4$p&NA0!8%aIv<)EwX!yF)p3u^sAeB*xwX_m8TclLR{;Lv6 z7A*(`Z;$i%7sJvkFrQkixk-O;LUZVn6ugfC}(x>t^tM)pAepE(v-P< zYZ-l7ju`|6g9!k-j7%)N=guBZ4=4)c3f!tVf!PN1*))Ci1_eo7$$*jX9j{PSJQaCg zvvsVy&hhu6?Dqw4UUl#8{{3-xPiSR-lCWKiD{Mhnuy@Hz5e8sg&My zX-*Mz1lR(oDg}4VZxp}Ic`OcJ@)5R`Mus^lv5&1x8z62pX(aT#fE_JRTtEAH104NF z)YC;rs?&9SaL7xy`mdNg{CKD-yUh<%uX-NGrTwk$54ab>k@7w^WNr4r!fJsS_$C6)idrnKP$r-lg*!=2fTSAhqZJ=xMi@05OjP_+$&&^MP7^ zwZpBtfluloxlg3>2vSX6fw-HKFVmg?Aca;@Xf4Hlqyw|&P9Ug20v@i=eI2HgzHg4> zeVTS|$Jp5^xRG?gJK@lLP5BD+K8w2ir-9%!TAJT;9OX7-edjHtb}t6WWHYRkM@r0^ zXb6{WSe@((Uql4$=XR7| zy_ttc^(M@W7?>PibEt`r$1Kn~q2Bjm{R`h28eD8%4BA)DZ$%fveZ{fnkb!c~=*5B- z?fSqA?9PtPuRW`wl`SRSq(@E&X@}PIC%l5-#ZQ8n?4-KQ z_RsYldSXeDEhaB4%^709Rm61PzjdrHjo%S8m_&va1z){zu>E3p7-)9VYmv$H16q6aFX7!N5cXj+ z_g_o*?7L=5HN$}g^~P|cU;LMvW4Tde_ofi@x&&AxlWRDqu0UzTDGmH=ph@0IO}bF} zvMAOY+FR|JfIMs9WoH0x^X9TUK}3xi`xNNtyM5tG3n=YTb20qmw$~nvZYF#KpO}&` zfFFhXgY)I1CaHT@q6S_Z{7qbjpwytb;E=i!HusSwUS?FR1_=a{H@uh^{+8PZWD9VB zbuNJ5JuqLHXeDne#?Vlh{KT+>u{OMEP+^+sT1@&^XC27qRNA@dxi1V5zwduPen}e| z%jP|Piz@@UrJ+qdrh9yl&jSB}yw-Q9$<(K&KkCi>dF-$OP;}9k`68HMjn=PY;Y*OK;#l!N99*6m#`dChIcUb{m&viu2k&MHMICIpn`pb#t5_|p9(XT)tFe#vzxM<-LU|viHhVW z<(9uc$RykS*gh+;QM@_-IT=TLo#5C z{nW)45mO*6YVZ~u_KVy-11&}anXoMnuFMn<8D_yf7Y!oVV(C)glo|i!`p8QVNv`{x z!~R!9pD%^&7DPCRJ|DQh{Nnq=enk%q2Tlr*gl|47vvYDgX-m){JqYt+-p7uh%wN(S ze}4N&D2dl6H@h75u0i=ly06Qd=Vu4or<-Ahz=mF!z}IucpOwe$e<**;^(-HWuUyP; zyVTO8S);-WjkX1ZrsPeiqM0{zjL-J(tyCxSws8zfye_tD$8%9|t7Fx~`|>gN|1c?x zxNo|Q6JOX$A>$WU@X=}AR1l5wcEjT~$&C8R12N(5ts^eC7ngNJityB`MX+zG_RF8O zhEhOV_xXo&LSrs-;!MLvEgwA^Cb+zslx-B>XHhh`!*jk47wPx}g=MdBdWGdLVxh>* zCCFFxyYbEnt@5c|oTPMUV3kkRL`%C5`a~86XTSaVL|q}=bUy~BZdq1dU+A+H`cx;GRJ+4f z3V?B_7>F~9u=by`WjBH@s7@Mr#=}iYmvcN_&q-d#n1w%;c;;X|;tb0tuJYQBdC*V@ zi6Q_)jdmF?(z8IWKtB>;mx1tBipCIOW+kyVoxuO()h=qs2Q|lhyWJn!);>%>Fxy!F zJk-QstYf|+34aL)2C1hJ-k&#Cis0K?C5Xb^t~NxvWdOWbi` z&46uZt*TTG<49xw7B1>_IWfp)RRai^`}XZSuS(eNs!>NJ-Kd;hEM%*xf5 zPF-Z=*El>kYF%|aEFB5>H+Qcb&Jjn^|Bfvf>830`cw$fKT@fe7`FWW7C-k4|zMZINAal7v+cMn5rl-WBfsiwL=9=rz- z&&M|OK0818h4#cUv_B0P$Snm{=U`8%Q+w=o@5};m@Dg#*V?hpItb%m zra92x{?q#eivt);XYN;T$Rq#GhmICv9IQht#}ZQzv=i-$%H_$mB5mEVpC?9m4Ta2< z@&$evQe&5?w%#JNMOzlv`drFweM69gcEw4$hY<(Wv_bmbXm3TH$2{%eqYEFB>FF=% zv+y9Q@Ch(t$0Kt!>Mci7k{DWyEm1XCk0PHykd;xq|I60-#yYNyxyFtujj5U=8W*-d zLo04}A$h6uYN%?Q=k(pfKQY2Av_Bth4X>HDkHSg>jyQ`M{T|`(Haruk2Mfg8x#`gw zgcC+?78-N5?8G}0|9^1&2w+>!8su6wz;WvyYqoHl`{(8~7p?e%mbaw^VLQoxnM5BCq@UQ>?og;o$| zitm{XX=MB+v9y>=NzH)H>sWZ&;_$2U*4;q?pEP=sNocIY8)>K>^IDwLrVM_GStJX# z-Yj^26kqPO?6f)vuGXWzJ|IDVLko5w#g9Z6Grn0PAQZb**o>YY3^f5{n;g>Hy*VIF z@w29X3+TH!Sc!A;9hdW*cc4WX%KkD4$)HIoXEvecSD#5f$^!*&SX&&#PAlt}tC-O%l?CH4s zT`yq2vWOC#6ATJLn~Zh)Eai4M_v`Nap2;=HzBNu6$v$BY$dM6VEu_}k~TD&#psRwVx$9( zB8Cy*6&E0#?UPXQ8x}JgsfTZ+(mZxRdME-f_go66R7DQ2Xx2#oPcj;a`EC2RmBl+x z^nn#|1;w@K?DSgj6q{=c^b-MS6tPd5{8@3y_m~3*6C&R-mQ?g z>kQ=#F>ns4ef%*BywT4&^iveIl8AJ_{s-8=KK8a}_Um?g;jI<$W$k*ax%>K1r36y9 zmhm!3n)=X_*3A!ur$w|KjADUV+#o`WUhCqg=0xgypQ|aC zn`It`Ht`)Tq^3|5RFkCDEy*&@5H~=Q#c6X7ylq)b{iSR84E}qT6*1Fwzff{h*al$?m0~#<_hf_x+J4<+kC%KYY9kJ^ zicskf5QCJ50H@rnVpa)+u+D@?uc-+4v_l?VBN?b@jzaaz)0Y~GIR#DKcfS4EIrz+a zh*;*nnH}m}S;VBOS$E2v)(JXw92fg89+rH}hBYBZygZpaYAwJXFZvj|W69>k8Yk7? z0XuH|K!qRugkm7m;~-)5rtvZZwmSOZRjcTQA?{2vhtcqZzCbpJOWnM_Mm`sP)dy$_YoE$`(%SGLC&)EX#UI7%eJt^FUeWMKy%>Lb+*kz3(w}FQdqV zvBHjVspO{dEPZ+3bva5G@z7uNi2`cH>#c{??%|^itbV&)Cf_(q6SnGQmBfXQD+73! z9bAGaeTx1f`0HNs^o1j^d*!R3%gnv;akKeAwA|y|$~a9&#c*2rODEDIAUQdFG0okY z6MVc1+O3$ezqmw0h9;P*YinokV)gagJG;#1F9rmi*uXB`4B^xhDLe^43rt?G6CGi= z>MpLcj9$-s(g9n3KDwT@L9n>q$Sk#C6WM?Z#iCs}^IA7))12bGK0C*28>m9-+{xOE z-z4mkH%a^79xDf9D@I^IaDLl@>wpbu2W?xW7}|^>lq|Kg;zKah3kmQaQz)0MkJlD~ zKMIfSYoH9V$|_QBNXBSZla9bZ6V-)7oi`e>Kzh6toQbh!srE11%`LHA=H6pZbhFP6 z8MG5?jzLX1hHp9J!^isHJc2| zKxw>sFwBTMSV|}CF;G>7;->!6IcM^UGtW)oZV8Kxi*iQc@hJTx2` zi23k;y9D_6aKNz6)OOqnQSGL|!D)7UQpb&KjKUK8B9WiJ7Ig`@FtkldgBgIvP9s@H z%ufvRmmdayk@f@%ey7WiGcGc?+w0P+H~mgLpdA;kR|OQloWgU5A%+IMCjMo z0LT>QKmlpT(r6Qe*W@M8A`Bk&R{70yA-4Np?ti)>>T#UyW3EQuyB1duRypjO-<{@= z>KlH1^UJXFzh@L76G94Q`!SQ|W)!lzymBeia}J^GbMuRVSie|-(pArMHE6K&)%NeV zRIv>mnLq#bzIDC0?>ME<{*8ZF6vN_0aQ?V&i=6`Dyp%g<3J-CZ@C?aVdh)$8-X?7x z2B_8T0tW~$^x?+WfBkhHU4QBR`zpR+ulZcMqY=od8!QreF;zo`v1;P|wvtLv;Xd@( z2MQnHzvTlT{`QFipLFX&xl`7-d@OGk%kXsLF)>Z+_%N@s3t7L5ifa-Z2DEY+7m%1E zi4q0j4kSRowmnJ+*wtIQ6tG20u1bgzP!>^tWhI+bly@1vU>cNzd(YGXQHT7ihm#j9EeTn>>gp94>M^r+ZIn=n2g|Ws zAcSGGZ(z%=lEG)xR~?zFGJX78;{3vV2ZKO2!~pJ>BIWq`kV+b<7ahGeU`$Vbh=?&NEY&i)fs;W>8jQXjlO*&2Y|24%IP5cnR|rq&p;PQ027!@d zngSt}&A%?_2c(q6efj>SI+hv?ue_w>&y2XMS#RC|(mTAs&~M%O_SS+A$PH44V*a%J zj;OtN`^=4o^*$rjkC%Dg#vhI~N1PC%hA>Zyv`V+gGZ^ z{;o7T|MT%`M~l#bClhiz(Dk7trui+Hig6^m{KfG#+>`6JY_caxfb2 z)!IKh-Zi@VJJ>|OVSz1YhTdM>OA=U&b=M;PEpeN^qK!-|)d4yVfrykBQ!(gy^9ACl*4l7=wXpN8TX&8}8~v4oA^?ZR7+7(O zGVo=sXLc5DvP?n`zJPtWP7&RXUnb!UK9=uRUw&A|FHgfj8B{opIBfoNSyw5!i>4_HV*sXc3?FJo%7!7eX47w_ z;dFIDuG0M+C2EvkA+5I19axHdG37#r6&Pk_<0jZ;`hd68Cf_wW`V8)9A|OoGAZ6&L z>cBukyfZd5P!A?cn5zIe@MMI~A@dH#TS+l4gBB)2f(ykNO+8AdQ$I=|8Y}m5he)7r zjKP<^6;+_!zj03Z!FDfdI<`*k5yf0@xV5{=z34Z_ih{ZKaHPpES7e&V(#h6}{Kdx` z{sNQSi-T~Nm@r?|nhdK@#@CXA6bncW!KaNnK;h7#-KOj5Z$(e7XB5-3=TMPoEEe+& z=%$CsFfBBUw?$g(qU<_|RVy->D2&bxati*ElPpo0R?%m$ng_`Ham~i|b2of=Xs{1WexGvVY0A28mIsVeJ*?Ff7Bn zwTCm>?RKjRMP{$)=>mrzyQax?0fw01?sd-&#rZM4Nr)|M=_UHjxOu_zCuuF~IH^8?W{!H~WEXtc16U`!u{6Hjr zvb0czq$jdhtFw@pYKu6!vz)mt|D?0pBe8n8n)v8EPqgxfU0#kh5Ri*^k58U+=5w1( z_RGJQ6brNV1VAi;Bu=bpG^Rf0x^2lt=n+EjNZe;Jnn8YnJzu|P&^6{wcjUfwx@scw z#*7ZT|9u*So{w5F4M9e{C~JF2Yc6+U&~5tg_~}l!H{@yogQgB+{N)=UFeT88ZyBL^ zc+VcKeRKe{5Jt|zO9(9IkYYMQG|%A*XQYOjtFiX^r?fn;Gy>W?I6f{W8*DJh`PcPJ zGc0X_ybX5!es1<;S^kI_lxEgKaAHbo#?E%rQQMXO@kFSx)S1jIS(=-*;+f-NUfg!s zG+4lSC?LpoDev<7I2s`MZ$p>63)$6`^<<)y#1q`m7FZXZbwRv0iV{BT`6>Mkf+rHIa z9m!x@c%*Ibg6u9X))%cjZ5H$^ItrZ6Q*eEle}4FseU$4eh+Rrxv5N>7uLz!>V+p z*=|a&`VV>jdXmiYb&_oT>WT0vaQ{B#n|J|`jhoGJUO4Vcp zsr6vXmacND7@6!w_*KmDx0QD@zD9ocUld`)mZta1@fq_f^al~@7T*Gbs*gm{Kz_}3n2}AMmN3JrL4IoRn1ZGf$K3Zz$s2bf z&%ZoePS?YvHr@q_0i3|-;f$j!`fT5ApV$lE5@DCVAq(*2sU!kZ;@@cnYGQcooToAV z4Bt6hGDQ9iL3}};UiQU(+vd-5i1@wRzleZf)C$1tn-(|)y9#1M^X`(+)9a%3{^NWD z#)Fo%#6Z5q<_me)EpM$P&IlB7NN53)MS{?t3VB-oMbTGmbl=_e)@d5BioY!q0AV@i zIR2Cgs^6vkaO0T}8xBrEM~w}$zycmZFF;IiM8_*K;&;7;sPG<3sKVWZ{-ob5kD`OB z2ag~SO8)F@ytzjRfsVXYqR>x&jVau>?OUU^?G-aFV`E5m^UF=GL|~81aRQJ@;>T7Jxr3jdyISsYcj97U2#FA}C zS;!2x=Vtchs+J+M{dR01(V8((m+m}0z=CX%+;zjrCey1xWiSNupdmKo_njEpEHNF| zrT_L8kvH%#&|8L8;XP9)1N;UJrI<+!^nElmj^hDeL4NbsF*?7UX_9a0YMWTS5`Eih zHbzE&AnXHl1De%7k4nCrrW)3~7V40}CgWn6*c9@f%3Xkd(;`gAaV{tT0`(B}B<`lQ zTVAa6GOgc|b!J05TGmHZ>9lHI-O2lKCF;CC`z%_g4vDVzYHWO4%zq^0pdv! z1gW7iu+aAuae912us2&7Mghx%P{g|omTR(@L2q=ql=r=T&qin6QOm#g zAYW=745|b~Tz-uvdsclO5rkPmk)-%%zK3DU=!G-RiwC0Hfs%Y2w)C^J*|Au!HNeLbksBDP?A#Z&a5CUWO&)aE>f3S}u zsnUhM>nwwdqNg_`pd0q9&zHsb+Ut&DcwP5lh$tB+u9%$-#eQf(njoP7zWIS=1Z(os zju1c7JzVG3!DIKjGugS)c`MkR;L@4Z|}y&%HZ7`4kQHt^Dp(Z;gSZ*%s)(&>4FpRxm%O?^~S!QdfC@8TnT80-j1- zH*RnHr~gQ{i&w^ICcjm-8=x1F)7#HF(*zV|* z!l~HI$ipmN5jrg6tfNPj3E0E&12LGPC~Q}jCxS3aH1vs_WV{jAO)(^HMMkc>5F25p zrC~7%BYt;9E)$%ggb*u!RqZTCJ(nPRtcD7s7~bP^EI9;qgC6^P!)DSJ7Wn!f9&D!D zR02@A|M53YE0F5+<)ilUZ99c>jLpnN@)~3G%;T|A!Wdh_%)$$?lMVT^j-oawu4Ts-~Uy7)#f)IMlg-->6%R^ii0G?JXxX&ha`z- z$ln>0@HV|t_KHmWjqqI}c!~*zW~#arAJjcNxtBgtElEyBkh}N=I)ra?(lipI`>pKK ze~Mh$ldlQ6jxA*_ADZDtaI;(E_oxrgqWR+N5ZpzQ zOzz^4mL_u5A`HWq!huDrrTHuOJ0{Z=Cx3B{z73Vz>m}Ss8U#5z zAx%`%XfC3%yVcK;d4?DjT<|P#3JCsZVq+ci9T5-BFT#=syKC}EB0;{bVP|1-dL{Rv zNZ34A=W37+XGjW;K~c0iioI;5L{sk_SAS=cT-}rAO^~}KAYP^WE=p&_d#qC4_uFRj z#|FM5s`N>HgjsA$?L=$7yMA5bi=4+~D@N}k0e7|Z9N8cS!cQt!)4}wxG>!*Sj9bE3 z1>)4Sq%gKamvSp*VRls8xYM0mzGhJ9$2KH%^#Ak<6s$LYc`0IQA-7cjIuLND5l8ZE zvueg|z#Ys|v4#qka8(Q$jteyK0^Xkxp?^tJgVT1Lv!84+q~s++$pw-{xgluiWZ77l z;57*Ql#t$a*-|*;y>*CrG2MuIed%ye&caqHcU}6YGr*4AM+e^UT`woFuS8h=kMDO7 z@*Wb!QHa<>K~}1if>@-^9`a)+6UgB7G?N4Pd=a}q4YqS2PBEWAyDk93&%;jn+sO!d zA)+Okf_Beka;S&-J~?f~9`dYr@4}q-BEkS=+XnM5xF(2&&z%uwbcAu8u1R4(kz=oG z;xvl(f2C?mKw=vq#~THM+%5t16=%G61W12pH6ucte)eXH`s2h)jkqBmw zV9=+LZLba6y(iI4KG&f1XY8NawRld{Ai#@D3asLv&z!( z$qEb%U2!k(Jf}bi(N$W^Me3>01b2n~fJz*(aSG*THPEh#vaT|jHmoL#{NUQC&JJ|P zU^!bm?a6olbN%m~c$KUKHZH8)4tm8Nu)WNSuV1Tbfe$GQ?$>*{7PBUtK${FdxrUUo$0iT@4A;j{v zjns7l-Oi9DJYHVnU7KagC+@;GU)W=(=O>tbcI=JNWT zHQz(Iqnys6XlbRIEJ7O>8ab3KuURr$7)-IX+w0NYW=(@*A@{1VP44NFspS898FR zHt-?lu_$6(!4>bs2D8&UALRi-`vNrKwLj>%u#W)S^n8k7LHy*GnAxDg@IQ45c*YI$+CByZByM+`9w}`Y2MFyr>Z_@l(~%=xzzod z3ZpEblZwdqhSGFKQSFPDrg6gLD1{)L8&R99>b_qi?^H`!71F=JS6nEY`mvWh%mag- zm>oQM0$u%ED=%8$=Ht;2{ssfH5qn=@Y38Xfi1%`qN8?xgo!o`ry2Mdaax5a`0m1o` zPSDhh00Q^2NmhW4xsn)QxZG=w!ciBmA{-Q)|SWlyuwS_5 zVJ+1DD5YJPhGCUK0^CS}DnCDdRCi?P)Yxmz-Pk+ww`FnkcMK0K1`kKm;h2`6D)yg$ z51@gMHisfUCu|rxZu7=CTL{Ld1mi5FB$kcbJAz>dJ1Ra;WP>qvU^|xBprTTVMiKrN z$-$7nvs|GIj$*5=e%&ZTD7ZySAwEexh~KQYI^ms7>ErqY9{;IGZizX$sp4YwKRi2k z01{RV##;gz8DVwE+g;QlQ9>S+*`TIL(9W9EGy6Z_`vyk~i}ogJXc5-mpBAlvJFir; zyz3m@RIFCPN!``92Rf~7+g|GRH<$2JR6tNz~|x-QLN#IWO^Xf6|5p+t2# z1ab1D$FNfs#)Hlk{kG&P(ZIsdE=>ka>j zZWLSVhicOJLBZk2Z2u3XZp4E&w12R>qLvv}0vXz)FA`YkKAZ;v^a__{8SAE{+ir}S zE6U0(w+Z9(zLv=Kd^7%gqq9~jFZM(GHAp{g9tiI`LVj2xlUorSg2|D0{KHL-q?D@K zXch{;N)`Bd?q^Hx1`Kv&nm510KLXb2A*aNhZq=E3U_Q0Bb3naQW?+>Sn&R?hz^M>M$a69!V!mu+Y=mdJJ2oJ~I!BWcC&xgA1I z7-#2eU6W@*iZ??0Ky@v0n0$zE;^DQpQV-LvP}JGFUN~t&J|i2?kTJk?WKuDA!Rmc_ z$5P&!=)5j50mhJ`ASUL!0A9t|QMOn9{)k4u&YJo`VFA zH~RzFQ#Jw8$uJ$Osh##2uLZNXkKPSFEaQ`($MJS-G zVndO<;wM^Qxblcg^vgZSVwuGWYWi-*QG%TVL*?~KD?K-u1+jr}3(tC2XENFmhQm(4 zvfkA%8DdUpkNdNWpbhs6*d2n&P~nR*dHCEwJ(|pIvD(!ab^;h8_YrRH`&++(h*QAAi(;eeI+ZKVUZ?N{UT9eMJSQIwoS?_$WksYU0=EN8NS5zwH)GKGoio!Y_$inDf4@TSmG&X*B-x7MJ1Ax4` z^Y{UQ;dF#?)c1khCx7#Rh>d(5>Y4(BiR6Mt&DOm zy(?^JjlLTu_w;ZMDl=@`$p|f(4>5OpP7b)Mh}Gpy0RkSgBKi!0XD4b!3+sC)V`MP_ z$WVC!Z2P;B7O`;5knA{GFFgc`DB3k6^(K_O!vT+j``0l`wpgv5K836r1PUz8=|Xwl zv*Q#qe6@DMX9r|=w9bC3Q#~m!v`H{VCoa+&6|&2~7n6w!B_?)1RGxo+Ue+4O`WM}{4vnyp7F`B=Qe2VnChXk^YtddwIlPGTB$25G2!yJ z#AdoLv{8H1y74j3{z>zxn&b4e)((CCU}w4VY*Qo?!|Kh-eH{BvM$lbO``v6R9JQtW zIf3!&eWnuNnR$c8CS)WSof9rQUx0GA(sb1SmzV=(4O1TUuaTcQ z>3fw^E1xxYR~Gg6wvoGK{hp5m6<56fw6>zr5Ry(A;p9pc^=5a;eFhW*U5Ao4iTNpu zLzG<_??67-yTQHPJ9{pexj8Id_(z6K&vP1dlz4qlS(HE0HI{HNJY?({#+{dnrMdxYPLL z+Wrm$G!Up~O6(WE|52uxb29KPsqn1;xPRKdWB3%jbH4D~BhtO`kxUPD5f{Ogb#2uh z)UWmJ)S1u^Uy^GWGQyKRBFz11GJ{*HdMGuI*o zNTT$_jm~Arr8I|B8KJx3Dx4FaA~;kJ%U3C z2;A0k>Bsma=m`s?Yx2+k=LN7Il}`%JyR&7Cw94)HP+D2tV|F;bTlHUNz&-y9^#)|0 z5cLs1rJk@BIO6~c5*cFmc@0m4-AGjAJ!rH;^imO|ZOIWxaH;y@E3X^H2bF$idmZX;eghdP zP9sM9?&NvmFe?%sSHJh%jnP20vGsi?c6s03Ci-&}ow5dUcfGUrp7Y*&0$w>A18fw-N&%&ClP2JoCk0Ixf;9rL1*|VAwNOX>!a9x$UDct z`U4*$d9GkzZDBG(!0GxGSJSG=T&?};1}>6Waj{84n6MqM>RA#3^L%GY^Lpp@@2d|z zP2De@Z|(f!{tdKxdaAd0IWBs8`uBU)U;|LZLHhdZWlsgJP5QQ1P44F6G*sh;K&uiS z8395A}V*N1ObepDIn3aHjr=p3P> zToPqU>Ec{#(NG$CSJE=;b84|?E9LoE(^OGzdyvQycR4uLVj}Hu=(T~=R;b1A6@&Aq}X*;Kha!Rbhyetx*Qju&|jTW+N?Vx zM6R#dWG`27$t|jB^%cpyaqtf}H`HIeG~sE2yb-oVu{*1~WMRIN5B8spU7D4gBz*hY zr?VKWSvABX1yamj>*y8o@j8hCzrp2NKb+VPy}Knq*^6A|>FN3wT6JC<5qkFi#uBl` zzb#n`*5gfjUk3)}&z&)fgI%WGgadQ5pOsZkaJYJrM{Ma3YnhY>O6!RyJ7`6Y7;hB{qzZ$ zfFCkft&409aB*&3F#z<qpZgXICBig#YpOtr~J`BP4KmY--FBubblI~!FPm}604Z5%MTt=Y^Fg}Z;B zbX=bRE$f$kBoJ1RM1ec{3j>sto?17#>st4Rh4>a?88n!J^FpJn!beXj56x+s@W@5A z*5Nym7>S@@9Zbb`=aS_kcoZ=z)Dm{aE%w?rmDF2@9SN0<=r8gd0ZY6fB0RkqAPFP&V37uQ%ic$-uYb$1+Zmwk5D#V8<>pK|+m`20wC$ zLwhp-xC0(Jg+}}d`rhW?nNa=zE!bb#^!M?2m>vsH&lnmEujQEj9K^LsdWTI;HQ?gp zetY>98q|c!{*%iHQ;CYoY*XNZvne}8Chmt%+W*JbR{+JiY+K_D?(P!Y z-Q67m1b26b;O_435`s%`*Wd)#;O_45PtHBB-o5Xh`m3gDYN`h2>+aoK*It{yE-*`7 zeY`jDW+L4|PCmIv?@p}CKlCxi5?j$!B$je$>fZZLiRh5=zz7~UpdNm}w=?YOV|) z&sV$kPtx^zZ5~?+$^r&TpEAO*%^sX@pISOy3igeDnW`z)4^d=Jk*-g1&GvA;GO@)l zx{tQEO&%=eUc67MtuN>O@dNlFnhXS@9u|pGFfEI;$WTZ7e2~CN1HpZ%5gRj=JD57c zA1)*#<(}r4ZypvOI%kGtZ(Bd!9XgI?ho7S@;K}c?KU*zY1th}ItVAC1TtR&cQBj&v zY6s;mFBSf!oQ0T&;6d58e+1d@R4O#{g?ZGpHC64R=bba~=O+5OSjJFxNW*Z=q^YkD zbCnn2s(137PhNioh@IsQ5?qB-5wmP?d5zo)$@3YG5SD(%Xc(qijOMH^{JFQ$$)$g( zV8E9=R-W1TnvNf1d^cT?#szCL?TDF!Wd>6@7li@`#FSw(C7$9qL#}WKazBq{Pkz%g zm*rYRP<&a0kU0O|0cw1%rU60_fWa%+^ia&qy;HeD|3n9PULoU8l2jczA2j`2~@erDoA95yKiSc)?p zavFQqqa~%f7nQCs?a+*M2=BW`772Mg(c`kzZ)-D^iy)n{xLliSk3ZY@7mGDhx;)Xe z7tt8)ybVeMbt3j>>`*f+qF#<`ZNRLpP4>}4%8AJBaF@!%Z@S@9wY{=!l3ToSZD`FW zDo`}q{g}`D?0oU^UF@_p)x+i?4?H{hWbbY_dByPIts@-_6sOG1y*H|Dk;D@ML72rjRtQ&b{$)^;zL-X?^T2lUKS0`d`$mxc7M=3>-1}PKOpbml)oH2gNOqi za{eK7rGep$+&j7k{=8*u0Y95ICFkJ6dpYOl!_5jeN6$95&1jCI2q0SR zbxB)e8ir33&EJ8@Vx0OLo1@H??rqxHjQHtiNSwHURy)_RLQP})3;2{}O^>Ix#A$z- zXHr{yUuoMAwi=;KB-2!t`vTwFpQ*xw;$7`RLi!7Yywo3VIChf1FqtQIu%-xy&BW@% zp7O&DQF@7xUQ1)^FmntbFqOd8KLyqiNs~d@Blqs}cLRYO2QVVYG) zpVgUzQ+kx@P9!in=ezZ@1>2k9(rC4s#n9w)co&2B)l%r(=FunF3TqODEF%8Q^<}a1Y?mJv(u*>gY9CLLQX;oC zw4Y4UH6OtmcVal<6=U)icRt}#X)l=Dg-`M%qy;NtZ> zUD6gJZ05`3khdeLLYGC2v7O%fPlV>Hhng8I@wa{+ z!q^|ZjTT>g8#k#WZC;!s_(?i(Pu%{8bL!ycrXIjXA`TZYd#aHXB;k!jU`GOfKMmh> zQBGL8h{JyX<3=&@2ZQtXz>a@=3j+fKB~vXeERoETfp#RHqJps^wer6g+Vgr9Sc?Kl zJQ|{k*7;$GXV%fS^QJ*i4bNT3wIFP9XLPqU8F(8C zBDmuRcjNkp6v`{0__S(qLpzH)U@0N~Cirw)ORHU=73OG4T);8OVbZ_xr6E~=f&Ih! zq4M|pyy}H2jLq*pwp9G|V={;)+EQ@4OrcY2$NDJO8j0g1kVFFPA8G?{* z>Xtq@h)lkaK9gewb=I!XS~6wWc6oed(?n{hO;^a%=HHP*>Y7wc$Dl0Q)g48i1V8lC z>@@G(R=kd+2Z}gue=a7#pUdthU%g94)Oj`JpxtcUNX zMXKHI;wWDJ=~-JNo|#su4F8H^RDlvWfrsze;c4-*-(J-XtD$6mwF`CHM|;|wQBI1i zPLw>n>hmr9(JcGfRXY&O;^xUyQxcBgI(lkta*e^GNIYQ6SVI;#D!oH1T6`82{yV+U zo@gf}JPLng)L!&lg66XWnHjF1Ty&UtLQQknMbGz6LSfzHR@9A%t2BYSGZ!kWcQA6M z#_P_L1nglRNsYAv#^Rst$hU61?g{)}Sg@eCHhjYD2o;#E41xT}dpx=df2{OhZKnVJ zmY+ukVkDZ1g@L3b!i%~9s{ppeHGu>koUqg@0y>Nr-sK)9{N*%`Hg0I_p>_J`d3!&M zcIdm+vqJ|Gx9OvSJsAK)f<=5&26_74!NFtkiz#u8C}6K&(URvIt(ztZ$ZEYw)=iD3 z_%ToIywIbw%(uqZ=Gq@w?2O=53#-M`d6CxjZaIdM;arY5b1A;YVdFaxT6;&0#^sEy z_kwY|QgU*S=2d8)YDtWtnRBs2G#Irye*P40f1(8lf(NWKs}_1*Wy26HNBk;vB90Y2 zLnR#D*xt$dPSIf-=E|FBRy}v8Pdeof4Rb0kmDB+vGmX?za`I_RlGkf*;yRZk{%j&4 z8}D48vUFQg-}{!Xd^fm?_91KV6LHjk?bKfb5d*{^erpNj7qV{)g0(q*zC89c>R}XR zKFrm^ZHfSWdE`!M#@HvR+uZX?W*GpfYqh6l53(2zy`4d-NMLe|JoD0}215pz z9EeywmTE+yz^n~#UCa(zTSlmZ_C}u_n`vguj#26)*C%MUv87fn`vQk@Uy#7FH{z9v z7L)zpCRoScmX3;dy*Z7yw6xve@yeYaz6`UWxj2&QcLe(YO_loYl7)%bC@;lTNU5vU z6u|xj4p={yt_QC&yGPr=jKH$g41yxA69_6>NiN>6;rFDN3RrVG8t6G!-Jq8JN`tb}qv$YO z4j=&hv_!ItKhHfZOBtUo{Rw>Z*sM>y)sK$T@ zC4Ovz-))d}-$A>n>@3kJckbGIFF5fytMRYXsGZ#}Lce&bFe0TaBnK#llpsc8;q{LA zBTk4J!F)5w31Jl;h9klW4k2QPMoB*P^zYfGrHC&*;aghh)cvv|o^LS;Qf%DwYue1x z#P12jcY=5`%h3jmdI^@W3}SRC$p1|vn+)GJcAqKC|6X(lUytL+D4i3~9omv>Hi++%KIh{JLek!k-4@T!BY8YT!^9itL9et zp*R%r&yPRoh-Og23d@a|a3MIfELNL9W8j`<5uks6SUpB&RJqkh?MHtlI=CGh-D}TjpuvYecZE3Z#r466Lc=CP zmw3YGr2r-+ss70p3HeF->nU*xR>r88W&^;ia1RrTr14tljU0ucP4AQ`qxO26E=Ug- zf2t1r%A_cLGI1gMJzzN7xQQr7$~Lg6B!)l-`dB}g6Rd<#PaCn|&rn#BQl0_uy5x}S zHN2n`YDZZ9I8Ju)k)VKAz#R6$j6V9<)WeCwrXGkj!zF(p54u}++vETk}*y%{S z`eNXz+Lyiy4LU6wtopO2OH;?f+tM0Edp-3x#`rnd%!hIhgQ&_PV*LZT#jYW{hzC-2 zQyIBi_uIGiDiK|?upe=b*Gu)3+0lO4a@DO{iPF4hwUfq559{;zs1gS%DUm>NN;ER3L%KalZUVuDJJKZY z9#feskZtjPF0`PBKJm}zu^e1ME2ma2GVw1AxQ)aC#tIe8?@pR`_fth)Ya!Jl zW@tM2mY-;6aPM8*Rcnf3wsoYff0id%wp?J*W%5&mKs2GfEu7YU^l@7%c9S4Tbk0|nU^hf>D7C# zx{$xHzwm5HxvOS{M|{70MUx`ykgP^NTPp%{HgShIb!^JIr5A6IaJ-eP+$^w{aP0mY zrpC?wmrD6htM|+f_Fd~R>o^8RNiGMX&4mvzyfvMTVY_5gCCD|?eJzYYYxcchnvqW} zW50_YDV08cXn8;31cWk7&+b(`)UIkU#h3&1}rPolCYi#2#sG`3@tCwLps?7S={?odLPeUX3_&!c(Dm)wXge-&? z6#Dl!6aD$<-T3^=6XX!CH|_S7xCeII!j=b~^ML%8VPTTu(v4$v%%29|wciYWg&14& zy*8j?6#{QNG4v!NC~mpecI~rJCsI>I2H+ef7C-I3 zus)dIYax`7z(Gznv3I{Rj0e)z%@bT~C?f`jPQEkRGjj+?7j5J!mqXUjdL!i^p6l9@ zF$kQC9@5gCAYS|2dB!Ghu^~n{*WxBR+#nXng;Q{J?J6r&wJr@(mMH0X-AGR}zT6ZM z>LJ45$9^V;RsN~3>dK}+b=dCedP=prxV5+5U^`l9&t(xkwRZU$5QyYNEKH3oP-DBU z|3J{@;Hr`h{gozGqkm>Mx4V5%^Likb%>O8DGfXrv%J}IwFHuwp%#2+gW@S#hu2Jlg zHef)~v7$c#0gJ$eWqoY!!={GNJcoztmP=aUzXweJNlXZm*4njRp0s7dRy)E1ekyyg z63F2;GS9G{N=^#-kTRj56xsF!Q}vraNm41Z)lRDw6YN%fDD^@upG0*78_VQLkB0L`mErR zYP+0C5T&#}#j{8CX|xbAzt&lOToBaV_Pe%Lrzwp;DH@|fhsDIfQ;1qwWARX+7@G4{ znw%3kZ!$`hSo3cnFiX2$a^VZ4?LnpN7|L}h$ikxqnbHbAdRT44#{D;Zy&$nT)V-ho z7+}631tba$QX$9B7KCu&)|B;ow_Wbcx*$nh6W0iKhRjy9%*6)pZ)b4v8o!MOkin@{ z@Owe^8xAt2DyFuAwyL z)1Qf3{~7!J^+`wzLJCiV#)nT8PBK8B{H#qzMLn{YPORJI8)jpkxU$e8wAP%9P3uCw zwDFg-BJeyyudA-mj>RWBrU<3G5DLNJ#!&!D(rZ``Lm+5 zz!^!4i1#p>FET;zt=}vxPIZB z#C@@D_P47C#)uL^0^@^7km^%yKYR~6-B~#*H)H0F6`p6t9gRJfXEkAUuy5_mc z-m_2PSQMNBu2i0seB>ZuNSR7W*9|BEacWo5FXH@ZzmUv$xCVeT#f#3_E;v23f5LJP=8t z4_!-oqtNo*N7|CuAo2G^2q-ca?-?Z0Gj$Zic55`OLcKTksgsK;1WdRm^y7m9@oJNC zrW#k)1`sGefQ2!%<7t2@jbR6Z*d9@xNv)^h{NopXqY^Z)6=;d(F?y8B0oucnJZDKeQGG{H1Ubl&vz5A$EAS9thNCn}4# zs;uZ|pvE#)j!{Wfl|5(KwvOE10w_H(hA}G|*Q=~wYtgw)0y6-U=Auq|{~$^D!2sl^ zmZ#n(fE?OfkP#giuu0nt&8RM@mPHdYqYJ!wt|1vWwk;2P`i|4;0;48cm)O&ah;1wp zA1SJv7uY!HCuEh;RzEJ)_6ZzSIN%#}fP6?<&4J;ChM(z0#CyGP)~{?D*uogAp=vDT zmi#s?BKm-O!3iQbq^Sa*(v~M~6L~;8Xype~@k3jr_`COxc+zjz z;F0SY=OV5Uh1)bbG+8`+{u|R85S04pS|Vi z3S-q^x&%8EMC9It%~i+j49a5kUvp}hhNIg<(J&W-*M`3{q8Tdmm$T0St*3pqrOg4 zdde}u!V%(z-iDiYmp91Jz?8`nf@jR+Ur3T_f&+Q^t#=>5{9XD>1F|}l3ZZpbfNSw3<=yMvcrEJ!0NS!4PN{ijI>i$vd*VJh? zQL9^aDfiD#QNv=jcrMm7f++zZdVbifGP-1;=U?-e)?A8ZGavM5wsWNmiFWp z;nS>X_^3z;wso8-)MDin=XrOgXoI6xJT{zgJd#6AnXPGtugZoQr519K=Rn*`dBmon z%mV>N2_t97)_CBYft>FaXi|nvL37@BS8{fW$`hWAi5!qc-2NMJ(Rbk8V*4}TfL!m0 zr_79msymA@v&m2MF1Ct`AWq*X7u%40nPw<6%$mrr+VRG?xxZT$dizCZ4MM?aH4^J{ zor^0e?_v2v8q0=E+7Z8X(-f%pM-0InES^@YMPMf#RKCX>j4bX??{T zBDRWe3U7F1M*q?IdNsrQj+#-%W`P(4@tHJyR=ITQF~5?!=}WM^_+4KtAnbe(m__%E zT$uuT4?CZb8ENqzI91EYta7A6i1f74X}Gs}3L&3YP8Ubj1aA;L8p0IxYwF^!YzOg>pHaH2+Y^M%!j`SIaX7at zXXiklMt^{toQb`xILe)GVJ0vflc6|9WZ9ZZ>Nx)C$|Vk< zwn7;pIqf|Wv3SqTu^dDVbEXhYY`*1N6!VTs03~t(>)!l*rC7`hnoQYA=NUuOzp<+4eI_0WkHvh4e@-97E_<^ zJ*XPIzc>muduIjL@yxg$>Ga575e~P04F{wr2W(j-aRZ36xE3mZ|K#ARFWHa>r`(Y@ zU@rhGg4);3PP&>p0GZ1AtCzkxu z$Ucf>CA`W+4KlNyPb8mIavMF&Tw;zC-Ksos!%1koXXny71;L;+Ia(uiLkW}8lJO7M zC3Pwywxq@nf${%Va??abtus_}^l}fLKSFhuufJU;26y|_I5Zfu<~o5caE5qYeE<%k z*Z;|7Nhv&_HUb8GkGg~l#hdr{+IR6xZ46uZ2T7`(t`(hK$?uR3#>(#TU_yD{j}$m5 zFr!3zMVJt4Y2@^A#!x?Jd=hBL#x`<01E6DJBtbD2h)?!GVPVA6`HTDpvw*pP3VPvm zS@n}HK};8+?Z2aXBnZ1SULhNL5hDe)_+V3a|Cpg@V=RT&ezHk)N4tb0ZK zp!zBTjhf?B&v-qR)g`bVm3yXv0es1p##4C7kRA93W^@K;X|*p8QH)4X+2Q3M`^ehJSUZl|9&fQecB zaVV30An+M*c#v?Q8J>{Hk%$j{)X9^9a&F*SX^^v5AC(zz>h-lJ;5+Rahp(unIWZT? zV8qv%r*725k)tC7tQar2fnx>oW4k2IT)g#4VzURjaSCS(#k?~Vft7FKc{i6011%G| zP?LGr0B87J0-pg#!Z;Bzz7-JBb@nK;7{3Af9FZRl+L{^*oG3~Z>Uz$nJfYF}Wn&|M z*NFe!a|c$8!69vHY)&ss9RGwYy$UO@ja*-BfOi>`M(Q@t zBvdVtvT=bXKqRmqn_h^J*;KrxAv1stMgUU2I%o4uWq_Ep8S?6(xlyw%faDP^po!Be za>1hF8-%=0aPyYu&j*g?2qUF}TI26p$QS)hRJQ>sbl`sT;mLv!nu}od?!+_J;N>r% zeI&Wq{%>Aj`2vDa^v$bGrZ7@lppWxG7^^V%;~=Z-5RgG`b#<%pMuOF}uJUlCXPr!8 zS9(QDFEwxs9xTC(07|J6y2=Qb7q(ULyV=?f zQ!m8viB-!b^H{(UEL~g5I-Ip@CX`@Fs?w%66*VH}FvYx!{+}tfzdju{1F~H!nDn$s9(Gc0!Q(M` zg@h!8;8PmKEx~D=ku{LKSr`PF5X9k6l|Z)oUrt_#-7*WAnL*}gLY^STe@Z?I)2hMy zhnhrDj1z29M*QN7{%Md-?*VPe>F-fK5Vw5_zA7TdaIcCQ)~ilhPSXV`QHoHiK`RV3 ztA1=xvSzodFJV%LlEmv1`cw_DGWj5e7~Gcd%X(4}`_iWW97fE_s-pj)tlMdU>n1i5 zZ!xZq5BIZ^m7$`-%dwn_P*n%Wg4MM^y~v)(QK!-DEktFIp4sJPe*xZC2ENKF~iN|M?7@|ZVU^ZyE@I<=kcWl5TOdr$dTx#+BiG~J`;E%DgGnOjPl zmS@lqrGP{{T{a;2D}dxXUt%yv`%{&81BKn~r8|ao-$BVll&4$g)jC3&+)As7{Fy6u z9-$bNn1uU0BV9I1?D$lrm1Ts_L#iyL)=s!J=xWH5-GK{mp57XXfqST3nFYc+n^~3< z9qRJ0vtSi67L@Er7}-@YDx+6|gd3~Vy`AQ8L(z3FLI(tJs%z$iMf zZkar{3rHMou)u4kcuM(ALierJLn^6al4Z@&5cf++c|d-zvG&Svfyt>nPlB(mO&C)jlefSmJ_q*4Q8-Y+5e) zt><+tk>^!(upYP#-`}4Hm_h^=lc6R|F@k*UK~#$rGP{U#I-(#^v0pJldgF3{BvWH% zbL)3Y`_4Y^n|UB}7BvpKKW)#USI+hcv`=u)HJCpjW&$sote39eQ!tWZEkrXcSb2Hh zs%Nb^WraY0<>iGAogvj8t&bg%Hd#y9i!sbPPEjW0)-uk}v+(NrM)-yrzRya!8LQw| zS^?B<>b-B?(Q6nWY7f>AQ%S}9twvdO#hN>?CU9S-6X#dol*+o(Fzbk2+T-XFvAJfk z07%Wab?tV!tXDa5GtK?G4LN6gPfHId`3YI43*14_DKu-u!R^iX6hW~S(0lpDE zhht(DDz118ri&7;pchp8&ag2e9ntdK?ub!)uZJRn9^(3NzQgC0g15o33(Tm{{fK0 zhR3U5mF}N(A|j6VyG}`sfI($TdNaalYP=KE7=YRIP>KR@^cMy}G!4{`QUshSl}nO# zeJ=44a)RIj1z$+7^gGO?6 z_Ki=ZBNQ@A(13aWS4hKsXA2Z9e#k{DP5{0LNue` zQclZDIVq$I-P)v+>I0f%%<@frE5(?|Ka@1E1Kz_yEXTW=L>?8=H-vviT3M{9y9(E< zbO^}S6G9-kdVA=O#0T^%1~uJTG9@tsEC@mQ6n}YxT6`A0LID2I3%C z*o@h32IS3a6)L{DT_s4bOh;Tj>V)%tvClhP+-2W1?1JEnz3qd@Y+4dh?tq`UyZW|J z`@E_~dHWseiD3Rj#8>Sr{^JLAez-)>t|SV|G;y>+Tkk7!YIQT`u`OO(z2Au%Q6i&{ z(dv=NBBMkYji}&D84hOQ%_dx`rx643@%fa3Ze$pT3$5lnHpL2uNqR9-8iy_Em_yHd2 zT+F{cPmF!mec*=fk0q?$Acy5n>VPc=(>_>6zp|Mx%yB7oTTJ6@1+|{`bTlM!Lfo{y zMCa2nj`|vi$fk865HU&9zcby89IrK=OapbMn!_<0)cd&}I36%s36DZHX-RW(E(H_8Dzo#e-m}N) zUsDT!4~79o!Qp;#qU~HS;h-)*8t{jNqYO~_A-#+&|BwUQ8T?Q>QRP=vcI4>&e=fkL zk}wE)ZMn7QIGaN}YF6l$vAdIHi-E@=xHQUaN@S*IQs>j}0x-PAe@!*(AOWf9LEUkF z+01UXVVw+**o-dN_6P3GG#Z57zre&F)DogAmTF}+OIGS3=NaCnZ}R-o4@wd3mTFJs z8d`jqck7FDGnX%ljQI#8f2e!@En$yO0}#u4Wx>AAkSSXaql*QV>H6JfK8;CX5gtoi zpMEMTR@{XcpB&Jdx@AFaPfS$15O*~EsF9EE@jJY)c~r>m%hPd)tT!N09Y zj|zmKkld&p!Q-rg@2tCeH?kJ>Z^{1PLHVYM(+G! z*`H~96fS&r)^REu;U1Y<(}yoT3QRaYQi|OEkWgsR*fQd^mO70ioQV;ezN@k=M!*Fr zDM2J#R&}`Ac62(Fn2@$OEICg`_mBkn*T{Jj-AvVuU^ER$swi`*L%qT!y*-Xf7|bfl zmVuL7$W!9@;ZcR$k7d398$)B`{(WJ!J7z-N?9ThQdKN7;t`5{gz1=;Ho~b@ zRl^D1h^VUnv;i@JK?(^qEF7Fh&oa&|7hL<8kaBH=JNp73Ahah+R-D=FTN-z`95n0- zGa{(|3gGeeU|4Zy;Ojvv{`bH={f3~cg#WO3`5$D&@_B=F@sW&{&w(3vyMeYyk@>;o z^qb*x?8v>Rf7?b+6i~0nGiA)guKVd|!jdh_j0gixRgEFw^KgsicksF3q6Y0-ktQ6; z>G_-{U%KLhj-L;IH7>|GJR27HKkGyQT_KrV36`QpAZI#)EUPLM2ixgqLHoGsb%H0# z*vnOu(gwRX`IlAxNeGJDY4}uzg^$+T2|`0T0{p=ofB}ZJ#zD#p&VK1s%S$af58)X{ z%ICTsW0G_lQ<(p_c0zvQLO9GuQ2At~mebdt@OmwE$|$?0$riYvz)>WYw~ReQbfi8b z-vi0$fVXOcY`Tdy{+>3*29)^aq86lB!W6GA>Jmuf3ySRZhbVLkIX<)%k*H|vb0axk zvlN>zf_!MV-Ph9hH2$%YkD*kVCXYph&WnFqb8RasMIbvBoCSriflF0Q*zA0gltCn< z{C4`(975e!=eEt$ztN3AZN>Ji6!dLjGNk34T--+5TXFh)K!GSMV)OQ~mJztVTjYR| zFYLA)DX*YVeaQ*PL91^-)$G@GEZv*;?dxW=TF(}TWiF~%Akuea@!IcbY_ts^<`J3lc4Mx0N+5F@@V znTGcml8KZV?*el)h`Lsv^fP^vEEMjH|64j{uO{kL1kyvMdm);WdXKE&UQjNfazIRt zmH-^`J3m}{m;c65=1T%LwGrT3A2-mTDKv%|?UWiQVM>NfNx3l4Qh{N*5Rs_Co8oBb zp}?8hxa-tVx>hK&Ydgz)T-l`kW2d%qzhS}K%k=1xKsOH|_yKZo#P&-oQV5EV;q`0k z!`k+)h211<4HpW<%;kyfx*eevJ@|f&Y8QpHab>;0ufeqQ8dC6*xdingqSc z(o<6-CpiL0DTM41=d!s{s8Y6ByQ$rYgWfm&k;Li5x_QaB3OXUV=NuKK&_R=`3 z0PF0gdT-kvOVuA;zV^!obLLh~IXh4O#CA*f2cdoxrKlA2hg+s-J|cpUOgWJl14)kf zl7^wtm3+09DbH0nD2sCKrM`Yf9X3;(bc}f*uL5DWW%+hRN++=R<%Y*sZgptH*ewE3 zZIpvlFVNFEdimg2x(t1tE#$1DhE2)3C6_X?+3J))5peGK0(df z>aGVp|E}OYh>_tDJ_{5CrUxe*B4YM<(Agg5f=CSw;N9|}*E}_xi z|D~JqUjUnLSb6%>?FE#d66CjGiJVN(1d3{bY$6b7(0^z`&xw_M0;VZ_IBqY9*~$#4 zD}J%fZ}JND_Lj%v^aeODuxszG!s{c=}%&_g!8>PZ~pS{AL(#JkP+>me6* zVLRSbW5Z6uwinroNRk4QFFAa83hK zfzI?(>1eM&URjabuvIX+GYUDS*d@_9MlVXhv}GoPLLX(WD5xhuFr85O!n*WnCW#kM zf51rS+#Dv?)dcCUYx|d-rh)+5gpgq(st6w0Af;0>SA{r4pe+n!{}h$~6M3!M+1a}^ zRoMpdkEjBVES?&yF{bQIZ>5x5Z$S!&_i360~&p1?yK%p?V_4X8#cX|bBuG)AHYE$?I z4;Jlv>aX#U$ENFJd1=Hth#xCXwgVFini(`ox_F;PLx<0py#Mw?fPxzE9?}C1ZhV}M zT{@R}Z5RmI21@kPl!?1{4aM0s6F#xP;MMehEO->))+D=xghzorejiU|G|>HLr3_G< zLuWtCFXTXWzm5LzQBZrJlQyFuhcM9}2ZI6CToVeQ3dh4zW`&7z(oFOR$e;>MS4`Z! zQ;DF8E7h-6P|31{zrey$!F~gUs85JEC9foDAa8K_lJoKQz0JI>qQW!dXv8J)ft+90 z_5LRN`1rWF>lx8G0R$#l8brWJJU$SRO~9w@Fof33M$f<9*Cc3K7Hqqk+C@w!K>yl@ zywvP}#~9r2gc&Oe38b7a6uCUk`lVny8|Rqw2Gea@-s~b=TZ5IG)YQdq56(cN5Hf$t zvUZXreg@Xtj)2{wffPks!e}I1l?%hBkO@_b^Hp71OK+Br13f5*hx=8y!JkE z_P35_J@$_ zp{#x0Pq6P_xO(FAR-SGeZ+UH8OYhbz!*#IboyFR8nw`N!4(edthw(~sww~O0d67pj zCIS0^G{07qvNHUod3+lLD9bn-=f!{BeZ2EAvYZuuOtlCQY4@T~Ja3<>@X)b~-OOFY zYJKFiQf8vJ(tn0R!4^oqgZ`wr)(tGg679G z2Lwjv)W`vgg=aUK?L<-1NjO4#4z{tFNV60j&?eU~}@ZqjY$u?|2dW37l zbgPjHAw?YMZ!eyicL-yK7yIn}aPwr@%3Q0SzNgzP0o(ibByNFGhlthsP@#HU-_Nl2 zEJopampF7K#lz8%_ZIu=V`S^*ZMI6d-iZEX3R28~(HxcXNSpYXew=V|r#5Q43&hqf2nr=qh9zmSv=@;%Ictw!$camBhdA@Djhg_31uLI>Yx31iEx4HYz zoQoG_JNHB+)aN)Ul=K{h^qrW3^uDpo?{Gn_*q>cRd~s^@8S$CR&aVClzE!&O5z6cJ zc>!HJBnRsw;S`n;>o6YI+FqL#xE-}OXsd*Y1UOEMZ0jV>@~|jH)im##l1|+H{-0)Z zUi<0>mO@S~0#eL%$#E+$4%&dM|Gm3h0b)j(H+6WNpBxb~W`+{1nPn@zqY&Y+u$Vsg zmoQe_8Hnnz39|m#ZJ-2(gD5mTaznM}zvd;B%u||Mg!f!SXI=j+``Xx;`01b!S%-zj zj2sk|D#sttYiN}6Sk7KsOOOA4_x4M2yVzZBOXsbeOWZDm_+hZTVfDR6kfXDtDzk%& zv5)w0v2Qln)5>yogzIaVfYAoyT!!Es#T}%iUgKV?0l%c)5+bAB@c?D_V&iI7%@0?3 z*>C3tgmX6_44YF3<{0AyYe<*uuxA<2${QOh(gy`9m}YPbRG8E1wr3Y8-S$iq8;Z@A zw=^D^E%;p)AMqp2R?CMCd%U!Q9vl9Gk{u7Osd?was{PsK&zMnzshisFjJ4xprky*r z0bT-oZ3prh>%Q&eJ$V;}D<})_14I!0*=e5bUSIHCN19?ZLn7@0Hx?5tyYS(-az*V( z%=cGsH`}(=UZaz^MWFj@m@e@yK#B#m8x76=Rt=!2O9=q%FJ(GaJ4}K8e4Dzgo3P~9 zEMwiN0Sp0Q4Sa&Vx#A87w0M0CPHyCgr?h{zU-eVKEmEs+p7E@?TlP(gorJUK_SG(ny&n%&ejn4~FFlTooi+Pd<&~oS zT4?oEkvN4jxpixp6&p}LxjbMbr8p_R=}C@i?m|`np3UXeTx$B0=(*Csa}B%7YvR~z z<)iG00mEAY(m8j1xH47upsTWTdg6~XFMXDk$ctU(r*BO9{iw>QuK6@K$9>j4vMa5v zy^*}k_~0|2NTJbPQ4@S~V*G61!u#YDXZf#zRLU#hC9eP4LIQ z{6Gue@~x#!?YU&3P$cPhDR^uaaB3OVNZsQ>T-dL=XRi1ABloq&sK^&RPLTwsmJ76u z)}doEf*6SCfwb_+^9eoG3Lu1I3W?$@qTqAowz>olVWlNx7mD9_q#DgbqKteg^pkIO zgz4<+(wyn4@YW#Y0P9%Ex`9kLmG47FE35p}BG-Tp8v|NPt}%Avx~KsSK% zw+8lyaN_{u8254v0TD!UilIRwN+aj&`6frm+sEVF^80Y*RYf|)jl&He=`U5l4$9}F zd>zrMq`ym9&No3~e(qSIKYTGe3JKerVmy)w{I5bFqz=JCdpV=;@42#SUclD()73}m z;<%v@TZ^Vf)9-88FV}OLwu_-=GLn6ZCx%OFg7pl;PtK}ev%9_c3Ao6?6-Fq-X@lH# z8cV)ytj2GDRmL9f4DWa-FDVj)5q>=HfIk9omUlTm9`NKv$Pih)ewLLykI+Yf^KNQ2 zD#kKbol$!xLk=JUSQjne`rvO{-^?-{Xz{!4{y(<9Iw+3y+ZGM(8r)q2!QB(w-8}?% zcMG228rfYbpd#$y_T(@br_-Sg&8w_MuB)%aUBnjO;OjTZWpPN0{dP4@cgEJclDx7Tuon{eHYxPL<0ZykgddcE=$t&~mG0FG6WEhn<# zn;N_!Q%NWC;1fALahvku+9svI%vteH=l(Mr)S9!$<#7uIkMAXGCa-^)DqA9q*XC-0 z4G_*V4mk=$av_nyE1xn~gFO((r-j%$)HmdE3Q$*o4ZTr;XPF2u1^>nzy+t_JL1Bgz z9Tq}vcw7q(*XP59cMomrO@<@DXHVC}kAYD)!2T!?if0`yNKHMM`TVe^&>S&e&v>kX%ZH`-?7u`>3iV<@lL@iC+$8V88<}zlr@ua&ByhwqyI- z0sa+*dQc^L3{NNP97dtExp!5_?3udMKT04drUcA{X`K6cwl=vB^zBs^Tg#4rK7_IM z-u{8oZ40O~_cEDchsAT=++TrA8R#TM_9r=kSQq&F+w;v9Io~k5T zO5P`;4|{{D`YFlC0UK(T>Fgh-LONaf$sNto{ph5@%lo#dIJt~k(C%W#bpQKWVn+F` z;O!BQ3ui-j%SXDXmL!}3uZCWY^Ta51OSRsG=IC_f8cSoM?Xy0V4-#8BQc3=QXR+!0 z{9jXDe!%xGd^%`9iyYLQKg65bGP?z3{e^UM(pv7!nl|dc=DV759u=D2kXR3kd(&2U|hj)G_bpohwPN=k{XjB#`@*&UEygb_kfYNX8>E zO0lxi->j^Gja-7uri93@g2<}w^u23AbyPAf;jh2vgn&Q(rer5)p;#rjkX(FW{ccG^ zbGq^AGlydn5-+Rg9{GxR*`srLG8gmRz~p6gLM%~G4Yh8ooQi7se#vKFw3f&-#?$3a(AE%zegQ9Z?<;QZv4>UnHrA>_lkjp1 zuUY=reWE2|3x!8LZ*G+2e&!)@@(og@`Cqc>3Vm^;FMkq%d?OqDix}mD`ok38Gvm^3 zn9K{<*RfEad~RJ$O=sDQ_Z~6NWp_UO6XANML_}PS^qPAr6B(x{JN*ZTU~9D!jao?_ z#HMAKF4*LZy=0M+&1&qV{3T#e4Zwf$nN+ZLn9Vh268uHJ!$DC%uzc+Y_r_9f4s*n*rz9kPqWLkDtj}O_JugnYr=6_G zCdZ)BmHP??A=(i%<}oz|A*g@VR5Y}^u0ir2A0%6qYH zp)_HkG-x1=s+UGCuP*q@)t7)8E^Bj9E8nz72(-u4`!lO`1fC^oa#BCXX^Z#OF~oYy zYYhD6%F&tSB$agqMBQ(aY#IP+6BiV;^k{f*JlSo$e;v0_vVOOpEV#`2_lz7+2H4QH zGG=n|p5VDtN;5QPIo?ItsI_#9iQ;kf_Tz6>#(Ke3VYv4%$fx2Ouenm95)YlLtIr|n zYQ$+T*SRqaTqUS4u)Br9e2_5`9S{469dW0`&G3*Aj#4hLnMWYRdi zTM?>m6xp*rVG;*^oXs|UFONT|Ey2wxyEES=yyA3>?`b>b{Se+zR>Yvo$OTNdV#_bB zlnku$cI_+YglN_kxo!^L8v9$~P~83-yq)?k)*#0swe$A*-1F&}@s09y-e&m_R_oiP z5&*GKv8le@G+a~jadLw67VngOC~3;x;)*+y$rIk)M$>&$eq4vuxbxm(-^+i13N9q$ zo>nr_5;{xO&2E!70_0Ly3wEN7VTF>>N|D z=$HUrq;9nG2?z=|ZN~NjY*KsDMl+t3Ey|bMTVM{Inuu7C+(p^sSq)}r`y{dPP=`cr zL9^Y-(Lc~Vf+gic?x4FM8@wn|`M>+SiY?494*LhOq6nyjI~nxAb}Q?<*$?LgnJZmI z(<#rYm&#y(3<1>uTHLr-0_H7L^FUtrdEZ{H`iFA!sorhjJf5E6EBO^)k_j%7i?s7; zSqr-lD!PE$ls@vNzRy!?j}Be8%dKTLWR11R|9Y2LNeH`ECMF8f{yW)co$7cYvWNRC zAHq{I2T?jkeB()TPZ4`y4GKZ0AW4ig!b~Z+MSIug&6sciox5Xes#rMU>6O6``tg^I z8ZlL_{Wz4j_&R4fZQu{g)J_j`J-crr6FyMk^*;Ak&UCld0hex$&`2v-+mQP5(CZeaJe>-zZi<5X(jZ z1rNA8rv6Ixt9;pe+@(cKX|dw6ZR>Yms=s_zZ_r4^GhoZQl*G=l>(Q?bq z-R)zW1}dI9)+3Bgc}FyUkP-G^ihI;9GBI*FT z-DD81nOEQ-Tuy5iP4icyrM|fYq#%wwqxHi)IxQ94XM8HRwU`$$|MA~^izP*TjY@K? zC|<<27xSxb*SiY2PrzF5~ay7ovzvsV}u=2{3SiwysM5A#evbF7XL4tijjJ| z9$I{Y$T8p6`hxllE_t8&(jL`{)Gyg4;4+Bt15eKNnjdo8WBf+iOLKR*y$%nAv^>ud zCWY^5^_qQrLuS-!9@#FsBknsn>X%KD>Jlvz-gb&R0x^loPcZ#(kUXeT|I73hAr21F zp1`{_wFXvX(}L{CH2@V-+cw+2PbQfFRxRLL!#s%sZ|k<{2xFgt3B@sB)cLcd*r^U}d50ZAQ#G|?wGoDt-5JSB zrI)ua%d}lfY@@Mjq`g;NrNg!$dOI?zdgor$1B_+GVtW-BVOo;C8}5dgKxz`RG$2IuICT6bZqEB5 zRy$Nb3jh+`+1ZvCRg|2{h;t_GnOv8E_on zM#?^areH&ig8|So4iGZJo%ZvEz$x;t^?FFROh$|Bd`j#%pMJVit-7O)#g_LjO8df6%z+8%5 z_umaP%u5OjpU>$FoBV6k2Cza5G>N2Xb({Q)%c>>iGH5R>i>kZBEzI7znq_|TAu#D| zdSUxvMCyvMyNn4(gW8$9@AlvvqBKe~Ru@_PwTK!>v-1q-|_YXaq~P;V~W zf7w3xQcI%|D!E(nV=ihSYxX@UAql<^+m75%-#Tin-?I7DdZCV{b~!V7L&t)@Fw+Nv z>sKl$`(8MckltGfp1kfLJRG;|c_^&N9DgpR>ehFSSxg9d9Y-M^unK3gjGM`Ht%_4#;+Xk z|0kL#{x&rYt|Em78syvRd5_5N=0PsOUHg1G_bpG!>- zDPor*mce`AI9>;zs@gaGHJj`n?W#5-iPs*Bb_{JNF;Z3cjegE`f%FDZLSla9Ge-h; z6+I=SjoCVZa>MB%2#bNsEhj8ad#sJ%VBdXDb1UX`q4?s+gHD)P_`|{NQr{4(-WL9$ z>ZR|?d-{b+U0XO9f!Tyeh7O5YJfHc=#b-qvo>zuX+JQ9NWVYnHQ80`Rsfi<|UwHo1 zaAk*P#7Cj4lV%GlF+WEQW4E7a@{uAGnO$g(XXaP81AE{F@4pvrj+{H+H$?!Oh~fNQ z1-g<3i;2Z7PExwgigyy>t92+ z>>DeRZKh2NC}%T7L^7Wo$?Q@#V53KWWADQBi`=B><08Tt+`)9M)Oq=@e}5L_(@}yM za?A{>oqYil8}R^@G(eU%5Ik2SrEi#$!gT&x1eDHC>8ERsQ~p!F#i2JE)}RuOITfc`X%!apAB)quK3|3_pbGbEUboa>lNt4YmTlY74Ll~}X9lmRaN>fcy^OV+WJ3bM*>9(gWgt}G7^$W9<@$Wz_ zG=q7|pH$`oZd-o&4woA)%PILMInucevPq|&m(PEsFk0B8i@?C{Z&oB$YD?MW5gSf+ zPu@_f;UNK?UhN%We-L>H8N zpQG6^LtNAMS8ANUR>O#lLQOall59bRfQ%71U|SjUsC*6Q)AJyKWt?*(H_lp^$b0r9 z4T~Z=DKULb;An3pN>d?idHxbL^X%u^;`)^tMMBTT3^C=FS^1t&mIxh8-tJ7q^tN)o znwSP-nbL1`J@WX9Fc>#=DAUbF7ou}jNu4OZG5W*R+@h)WHN2o{ta>hDSL@{;ehN&nY#1>=Y#QExkFQ)rvbE_mJ~K?VtT9{og`dfGC@t zc$6i)UdDD@39{2R4o>`O;Z7S09zomEOqt-qTzjKkb#OkCq&nBK2YcRSJLSe0s)vZ| zD<}Iws_jaG^4ikIVw=6dewU(#>9P8LEu*CZ)A1PNOkEqzi~w~cU-NrQ{s&A9G(aBd zwLHr8C;TPHK{~Tygaw|IrPqtL4>lp6wROE33OAbDR63{qpC(GH&pH2uTaXbjT*f(w z1?8#)8qEXR8hBri_ai0!0jywx+Q;Bs`*%~B{Lduby(O&y#ffWBjI*EagT_2h*-IS; zH64s}fH7Fi6S0OlO%-AnD5j;blW!xA3n{iVnRIjlj|3qrp|58U77{3;Irr-b(1drC z@R9cTBFvT0L#?R;qj12FPJ0<#VBgX+B$=N%RWI%!{Ody~J_FO+H1Br}@6m^|O~;w! zVNF&W%&SYmC)+O@D`)2RmaCI~-2Ps#d-wKc!@IVGH~fd~7gJHwk?{6#KyPBX^go5G znWsm@JZy|kwQ9u9=kA(OXqL6-lW01ffI4O^LrRbO3u3qjjK{@IIGsN6 z5zcJ)Eghwavgp-rpWxrBdwgF{ZXr+$Z_z!N!uMx!0}VAE4%^(Td}e3bDHjf+8B{Wx z&r3$3@96&{{yH^NYHzsdGg7}ys&+ZF7YjmPeS)Zpd60IO_#F;HsmFNrDX=|}?N-R- zuWZkhBD=~7dNFy8knQOrvm41y_1`bxel~HtjQN%^4(o2mqp`N%eVN9GU^T~=Rw*@b zypWf?*iAV6^s>%@s@)oFO8WDh)oKMoGxE4WEC~qX;vIf2h{kP3kwd_&<`*t^bLvB( z;AxI(mDucNkQRz)R*bF(f%*&lM!u36%{MrZmS@Y{SqfycxZhAfpC=OICc%fpICbi( z1Qhm1ZWn8}E-z&G)me|{AgSLT`4VnM`FNNIExq3=+`G{TKAtyH>U%&d22b#OSJ;NV z4k|PU@H~&VK=dM(`?`jjM@8I>i-f-UHm}{6S|d>7wI}2jkG~pB!ktb=d$1)gy>||$<-vJ}-LRLY+4dK$t@=nx@BkyKRLY%%hXuU_^4w1(4 zkU;$Dd@-qK>neeMa4R7U3%ue*xxWC5810B+;hP~upD@<*wK>HzU^{2Ub+S0NqvWjh zO~ww)rTyj4!2~K3%x*gLJ|Z%X$}4VHDR3D z$6MfZ>XzrO&=Piji;ncCFT@Z)C6!(QCN#fe{$Zs9NXPMuP6@%`kX&z4CtR% zuXonk8rK59gRyqEA(%fE=UI)5sp5aHN56kMWX(wvzG(rrS(5xkzxfk1|5x4zzPk}X zWgIuQXYhmvC>@r@I7MnuMc^B6DdB7GJGd9R)Jd238s6Yqb8>@s0xM3&9If?JcUXU+ zDk^+7q2SsQ+IhJ}i|qgquQuN6)a2cLrQ0(P09L8y+@ct4D!o9%~dQYt{K z;S}I{Xc_RnhVCPIKAH{jQC0!q5Ys|iQRDAvD|-@BoNgkLj#m|GWe62ljM1E?izoOq4Jl?4?b6Y1Xh4UMoNHXjS%w|d= z45(whKpc(8ekq3`$8Vn8wjjHRg0>};)_$&*OaZUcKEfiLXB~;^qsTQ-|dy+*?qhPiiJ;pYySquhsY9!k?B!B-nWI_-x4`MHAsBB zVnw@TPdPfPF1Rea%lr8iVze)NS`DbUkjA~^-DiX6u|dh}U^yub z<8ZUdv&^lbWfb0VC4MyNb#s_ls%Kx}rR#ZhUi*x&&KY}Ep=e&arUVxcqaANdQ(*D} z&ciL2bm_Lm7QnJcBXZ@H7W@x|0v15Gyh)cjX~Lo;^!hyUW>!qhB$~||$+ckm>*N*| zBzHg7S+$Dbk!wBE>rWvJIbKXe!moUJ*?QyC+s}zCFe2U*O1!dBZjA8EMki2_v`cJp zxO_Iz4}SPr^@_*j{|s-t0+4)r0Jb3svvx4t3;_p=-oZ;p=hTWPMm@SI`I*13aqR~y z_hDGPo~IL_K&N-ny%ezLcW^n`-V2es|1W%V^O0qMdjEARUq?7TByQPsP9 z01-8tk$ssm>f<|u`OkOPr-{+>uN7{~b%TT^+`q4&Df!6Uf7_+6b(}=>2!-Q0S_sJq zakFK@1;wLT!&Dzy@!A7>u3WYd(_p;A^<1Ll!2AwbpcRyY{dLl%+C`o*FcFD=37i-W z5?^x~ho5(@}IiP{^mgS)5d-3O>^s ztQI%n(8Dd3N(rV$p7<}>^x7{Tdp8j!U<6X5*h)SJk$+iy%n#ne$fDr*UNww|aOR2PFdeZOYT%vVvm z9v=EL{LQPJf0hQb$1SPCpw{gO{SyU!V7_avw0wx@rA?xR0eVp=qD&As7Votx)#^DC z?YrF{hRG8fnAvsZt^^Z8wBRavZ{wWOCMU5G9%QqZmTXI_zINq^J0fnR;V^1 zq4LCs_qp$kZ-*%3Oa7lI6xAgFf37)kzpK^f@dX3anb8ATW4;2?fR27WM;dgSv% zRL$1v8fatSDRm!girbm8NQPW;Z2Y>vIcD>YU>IG;&=+5 zM+FrX3s)ZvwZ5=-*ttZ5Y7d%iJqaaxcvUTJ<)b`bc^PY|?I?=${>f1ozZlj9)&?K%;uNiLAC zv*L+m&umH9RpUTs0yJF@G$RC88qzG_^geF+eV+6zvJdyKI%BSRVM7*}8qjp#B=&ew zvVwaD^uM1=mKM|ljPV+BbZ28?<)8!IF~BoOt;c658YoMDZ;{eHAsd3i-LOMh&Z5<^e**9pOo@C#`4SF_80H;-ut4tuUB9 zBp-zJ|7c}zC9=kUZKM53A?-(}!}?=@kRXF*5AWRBz%m9)Rfa3_R<=yaU9U=%x*8bINg9j&xy!x!aGp-p3$W(Gr zN&AQCHAx{)LcNC7-_O-`{hTKb5Lr=EOIud=1?E^I=G{#|Q^j^w0L6v*F5zUjup7ObJ7Fbai!5Z+T_IxLXO&eJzL^1q`^){JnihY)4@=11>I&yROG>S z#N#L>>up6G<7%8JN>J#(%vcjEWaW1~_#Sn$n9Z<@6s!Z^nOTTwfJw9t zJ3C$UWp-MQe$X{WH9Pvy`$@3g*xvNnlJeT( z+n{>L2s85F`5C^rP5ihw_{?8C8IdI^Y*3%_V8IvC5j zEiN#IUxA5DUAR95*ni`3GOPSds+mi>bqa_<%6$(@GRamquN}Lx0yUX<=FQF_HTbeK z_>x_zV(!@GA;tRP_rdoN4+79xt0BX`W!y}N6d5qxbiMAsMQH1@=GuC`ewu^p`t=Vs ziWi9wpi|+J`;dEzs}kV+L$ox}1l?+Rx~W3SJTE4JJ&Cc%9)OlWJ9BCJ=z&2Fl% zl$TCnnh5!}&@x4RW1(v{|y6`m2II^)i?MZ~b|Wh+YhLVIe| z^~rr`K-l6qU@e@Ki==Hjg^m9pchc^5uRc;j?AjZ0ZD&|>;Gow^BF%GRKCl>ivR~`{ z$rv8cJwf8#w(_Srl(~EuALpHtftQX+T&E|5?OS$e!Xz4d5u7NHlgJ|_bQce>AdC`u z5k*kdnur>~kE*p_)wACMwVTuL`ri+h#sF#y>$W@{rKLKH4?+) z$0EvQ736zomh#h7Y+rHz)0~1E-`LTwddf0men(v!O1>R@iT0`ELOKj+N}1oNlD zsxU|O1~eyo8Ipm^ceR3V{6Z8rY1J~m;Nr)igrxYMDtR*IK7&RZ)vd#St^aRY!V1C2 znA56f2qTKa&=ixoR0+MDb9rdT5c%3Mw!2zvkRe_}(by{MF`xixur9EfM*lvWi*1X6-|800VE!v$0BU_3^u>mai@8l*amY!=d zpHlP}1w={WrV%0sI6X`>-hcV+6^zD4d(Ql*-;UDEN=U)~m|%N$V(#^^?-Uvxk(87E zrn%KpA>LKnX_!bmC5NrE5Vnftn{I$4Q=vFC%*2vo!=#O_J1A?`el%ooLIGhidc+{# z4=0IB&pGW#5xDCs(Q)qso+DoeAUAqrUrBr3O*$Z@;Qo-z+Tz@=KIQ}n^=2VH(`S99 zc0A`yyZH%)ua7jNCt-xZD{YY6@p?XxQ%70^-R$TRLw_Q9eVZGSan!cof|ne|GsGMTX|D#seuSi z#6=-aqeB{WVhN?t7N`Qf$2Bdl997lN{ArFNE)cK+KUrB@M=D{71+Pdw2B2Spf0M#|xKwishi3_khq59E9y z(JGIF8(FN8QWCY)dT|)kcQUnM9-^sYxaNgoJ6H1cHMpsT)={!=8REn~^D^)b%QNBC zRkP~lLF^T07p?g94;=YN>HwQGgB(O$WqS>*n?!Vfdoe7Y4HO02x?5hriIryZ$f^S5 z@z!Wf1qz}GdXc(ianiGDt({Rq(@g@cmXOkfz@Lqz7Z;_P39~*EeUMR)DhH_b!l4)) z)1;}w7ZX#UcAP0)*mR4cX5Q<`GH&@t^G5(!Pi(AI=fHnOv!J#&=&9yj**?u~Qb9TT z)05Y;tM6dzgQF8|0_qRH1>&u{DmZsRwrX5NTitaV=8FSUyyjQNJLRZ0{TAB#$#PU*0 zg8Pad(#ccxevqhlOL0H@WJ`Qk1l!C0oNm(#8&!;Q5`_{ti)_Q%k19~vFcbW@?B>5e z;7}Mvs%6LvwV0_sJ+1eQJ@qUH5|Hl11AECiXWbr~SFo|#n%NTd3tK$!? zktrN{5@6ato=oCBIDzo4@bSiZBJc21pyLnplJoKgc&08V@_lC6W?U=PXFCnOMS-`D z_VgRct&27ljFq^ z52M!w;6EG!_N8U_iGCr|oc;ijlkSU}Ml6iH){oKmHo%kICe}dx(*X2eZ9sqD@x7pi zcnHMArEFx7JdIbQ0eD&hKe&w}va8Ia6cM~ZGQI5PvD0&0uPk5Of3U<7Rx4XlwnuXa znUG1HOp{4Tba%9E=~2!XS1Mku^t2q$^C-iU98D3ZMfnyGPly&--O3x$d3_m&Fuc_MJfvl zoMhy~^HacUY}iC>!rP;M#t;%WEz(JLjZ){n)~&%bSg)M8vyPgMFv*>{K#7s0vS3ot zLrE6(7e+A#Ma91?8LQWq_dO?AY3oCi7)}Bi1QL&q-Bjngy^nGQd)v(YjmK9@=|DN; z))WNYOpBA`)<-4VX|h_j7vYi5Xf6~FsSgM5p$7))NckW=uQ3#6#qMd9MLcCOt=*>;n~X4~Vw>GXEOEuRoX)$}k8JicjpF5^J; zW%conbb@HBQ%!{R@k;P2yziS9$SU)uRHR+NN$f3sfmFhE7Lg*^|1rf! zkA?G6o5rY7^QTKSZh6?&viPn=>eD(G0RW1IgH_%kysBk3w45ALW~-G;a~~lol(yM3 zy2b$&05%gB0! zLivz}z}IffK{jBVCCJpr)$BPtK6u>P@f2^lrZ&yLEqhOpcyxJvaK~7Tt7s_tK5h7C zmVpHUF-*!_UM$QfO5IR|^&19*m{W(;IHHOv+gNl{FeKjt3?X>g_h;|z5?+j}G#@`) z`h&J58q7H{G_+_S1;h)~CutIkPCnOeL+v-fcKSHsxyLhl1G7d&D{xQJMr*n zl1@bTCcB;v-w(g;h2@L(N%`~ei4d)SC-987C!6ybV`So65tHu?_+#R_B%wi9uX1>Dnh>nRZJXwr*sDa3c$-u0V* zTO__}k6bv{utrrzvJreCjmZqV4T{>aHou4y$c5y%cd-)FpbDugJPd3}9zm#D^jxee z;(Akd;aWB%!Yk|SJlX4bQQ7WGzO(E*eW6K2+&=t_pu8bKN^O98ptqXr>x7zEk(I~} zTiIJ*hr2!ylPcIlGs4*sy)JTycS1cqmkI;`o2H!B6VXpD%21n}$R$4reLZBK5_S^) zmJ{gaH*w z%gwCDq&7~1ns4ldiGi8_O_%uu02z6_vEq1Siy_3%-_-ERNmXey{}-sh?d2Y4?BrQa zf_QgS0}qo>B>$yNpkE_KmB%VSqgsrl!^EmpyUjNNvUFYxSZH8JGZZrI>u5B%~l|Q3w4~(!%u?tS}1b*_*d%9uw2AZ#p6-}oztT1fCP(R2-+{n`9P$DiK^ zc9}yV7;q1IJtszE{q~cl&G4sM2RgPaL=56$*#Gu7fgd@6+0eH!~E2T8|7!QMJ>KeyOe?=gq) zcj&t24_)}HjHo^iWu21U1)$Yk@OnC2*Fh~B)?k4nP)Mu7qGZ;VT>th*?hUXu0f?rJ zyB$2%g={|X?%?3_$9A&Q*-~NT2F>R+E*n4c#oH4H?u|!EI3w~a)p^`!h0TW(o`SBB z)qbWd4sFn;t741)7DMWIbM7zCo9bxYKi}@ca89NJ?q6*aH}dV{KV_}1vf2RFDr|}9 zJ%cD}3P$rH&?Yi?w=q~v5&U0T7XV_5&VOu7&%DD<$ET5XtbK8S@O73oq83AMB49`K1j03yO@R`Ij25%10Tk z7F<-M7RwU5t^)Hn9pJ=W_Jca-7Ag45$3pPVncbF%_9Vt2BPqU%uwl`=YgE zEJs^(z{#JX_4A#9U#!Wd0mrSvYXt(1!v88DgHU5`x1LpG%6^ABiqIlxf>q$_;e?On zPWaizmsal8Cg#Qa+2&KAVv~NRQJ1zVB`_X@`r12vPOO^tDed7+?n#%m(B;_d@i5GO zhnR7spWu)G-q6Gre=L^JTN;TVRJa;7!)-gZ6BNCrJ>IcyX(6?FayHK&aMjaO-5a5Ki*)OxK=#3md$wN>ins6yZ+3E0n>wfUcZ;$l{^Q8Xn)#ut|=5@hM zr%K8nJteST)pp<>SP^f!nOr0Gyn=Q4v7Fz{PZgq5b$R2%kF#T3@+;WhC%&BERxQ`S z=&>Tx(=}CxioLVrB$Z!)6TF>%=f#D|@D7rs#&qBnCj@G-3C~y3z(D6)7DCH>#1DwQ zI3c5De`P8E&t)_M|M(0Q@*yGEx4k~v4`+cU3vowfnzA~mE0Ya) z)kRZf&l1F)me5e6+ZzvLxq+7TH&L>0_7_Z6@=P0F+e06%3_QO`^ekW8Hut@ADQs55 zqU2D+3Ew@_@hUJjQwbUKjP$_+&aNsjT zN=)PNSMJhmYgf^{m)^6BR5Xj|tVAaS#A-P0f9OCHJ(pWcdys>LWe#RnWwrS90TAxZ zGSlpezc6#CdG0~}$BXHOoixJ5v33Wk=auMFKZcF{I-G;hL*YkNgAoaf%{9Pk9R`#) zCMa!i>JxY$?o15jgRjrbH44C)>AR8Rkhfn}g>nrR&EW1;M ztt;_?#+Rz(_)|H34EuiI+^jNkk-Swu+8*7^_|PYvwo~ zW`rUFdG7|vP4cl5*kRMW)pK>X%)2hmLSAS1=9xpxh^JZ;?~Tb{`8y;hm(~(!SbaD< z;)VS#QUmEbKjDGX>!U@Nu1s!T8g@uDirMy=pT8oA;k&SAf(dQSh4G^XvunQJam#88 ziwL}+Grsdo;sp#A2h7t(@n@qku5$<7p&q<}bF|s*f}c4e4{furL=x@;Wd{3SJ0ofh zJ{Z5A@wdS<0TYV3BpQiF;B>|;p_rm-kNQZK9f!Ve$dU6vhh6+Hp|++RJ-~{Bral`! zv)Uk3Rm4Ket#5%!jZU-u;}xU84Vj7Q80Hd!v8WIBd*`8vz0So)4K2b4Qsb*$9%N)O z2O0F*Ngmh@v4Fida%$N~%ueZo^+DUteSA-!u0*jkft#t+OCH4j>TfOh8KZdju}(HK zkB-VL=M%+Ohu9w}_mrRjaK(P?N#>8i{d2_I zb_O?A;hT6`{b50r*VA6MzDL~S;vCYOAk$MJ_?}6$^5MXcfb!lN*FSq7kAiQ4Mi|>x(gejUq#Hm zBAB2u;SP%9Amb_`;Sm`3o(icnXhS!*K8c!ruWe%@VB@@UCd92-R&nyw5~G>2dN^1< zXX+oDG5z7`(L)CwD>jMmZ@hDgaF+Hw=4o%}4e~dRjw+NxIP(@uhi^QyZ|rooyLm(@ zY`EKyrM;z6pC0~mM0d3)EY;A`#5Q*@mCCmE;QakQ!7j96+vQ$IF>C;&+|QFT3#mPT z`W1NK*bud^{zEJ6qbXwltDmN((mpAD|#d~&3?pUp;Ey`ny8n|*r?ZUOh7SX|tQ01&h0Cff4QibZP*hjiO5o4?OHPQ;|- zuwPw7fa^<{3$gH6zH7hZRepX!I_b=3fXPp4fx9dObDHa zdrcndM^Y-`YLu5bv{sB|co&55%;Rn6^m&y>0YBzEs9W)bU`c)aJfn%Px2Lbl3XNsbbrIPxJ1WD=6t~XR#rMPJ5`R9@=HwjqKL&5-phB=;Z23NCRC&4eC z72IsBs6z9`Yt>T^xw5pm$L{t>AC~9L=F?DxE*jwJIyCLDA=i^0hjNMj#}-vx@tBj-VCN<+l;h6Nh)aPSx6FviyBnt zE#S<>ovUj!F(fUI9(}k0rAN75-QAK02|-=WtTF zXi9%F$CZWA09SPW&ENok)uV<>Yj9l;QK`!?q48oC8@2<=Eul9nKfrx{O{-J9@M%O% zs_mL|#N1FL-F5KB?y&Z8*F{t>`8skwbD@+$K%@k4t#B>5vE4Z5bbO2YhPU$$7p;I) zB?|OVCHYw+R|4}i7aVBzhUOAL7KkkG)kA>kUpw-y8DX%JrIX)l3Z8Gu*Dlf?(-s$pNBLHyD8R$+C*t)kixS zrzbn=&w8Y;tPxR9crz~jl17PYypD(a@{XKy8H5w=CTuP~3}mMr?clL*`zcg_hWESXw-=dx=R!Oa3?C z^7kqG(Qyl=fIT&aiqMvJr;75221q55fg%Z&R*h*ngMSq~DI!DAZ)-l&MA(NJZC`%V zDew3oixpi(w_!~V%H{Fz8l!Py77uO zj7}naMT$-K?}38f$lN1|iI^19K|PLbf$9I?PGJDhVWJ68haGsU{~-xhI$Wmfjx*>Z{QUF?c;m@{>wBuX-%s8mJ^+!eY&8Cud_ zD6HZ<@U5^c@U5`_{?NaLw=*ncwDnyLM%AHC5~L`mFTuk0E0F88mDO%irAK+pBW+pf zGM8&zE-eEc=J9KX-yGRCtUwY-+F-lP3S`GEa829UbVL4LQR#=>9>3W)_s>^IWmN*u z;nc4wm7xcIiV{-ON;%`V_{AI6_B51~(OC3zP%{+s8~-IkzO>~=hrzfEw8h_(IO%a) zbdms{zEJ~?!+OzsW&go5<>44i-{W%QRa@A9_^F4+l^75^c$h=eDjuxGwypjqej$Kg zP%|&dE8g8rJ{jE!)@q)KPXwm@YL+oM_TGop;5n%sxc`VDL7*4DgLJn4RwqTU@tRIb z*BzA~!kRYHD$fxNU2z$k&)k2ZJg%}!()RTOV8GvDDaWB2c1s`JDefN>+(-aH)uP(@ zm9}&vf#G$ouZ>cEja9e%!DR9AyXF%H$z-TMN8cmKvV&33;-L30HsqN>cwtjB-hcy5 zAV75DQq|AC8Uh#HqEuO;x4~*&ZM?vyRlbVi&oh1ysHoHEN2qjIFdmx_7eV4LAjB6? zOYR3`OncNs^}p|0LB|hP*C!vC=_Hz|l$fDNFyQ#>m+av{3>l!9=@tKlz0QHQP1|m$ zz?Cp^qriV2@~xrwyb;xRrD-gpm#k0q&Qu(<@4=_LHw~zWNrw2jO6oawS*m>YfYLs~!~ooU!@6 zznNixWm+CBYW2beMy?(MwmL*giT_I!&IW0<#)95LDqY8h(T(HopI2=W9=-C-sGaPl zi_mK2fbsVxRQUbuVii8yYLV(9g950Y=@Y}dRUf;m0$w_+8Kjm6flUP$mpiIV#aIAy zt-UO`<=BktFVKbm;QK!`pvdFb7}rtCvEYe+p^RgnAxQzcRCfzs0q#N>$iIMG62Dav zMM2{@gnK3h0QQg8?g_p3ICZG5v$pDQI+v5wXtdIq2%1g)beAkY$N0tY0Ci8bBOKap z3v)aR$ZaqvxU0-Qv(}sa3H&!}|1aXfg_Z>c5R~me;X)8}+7a#r6f?~@PmoBBVxWcj z3SN%kV{QOCb?tHCEZ%Qu9B=__rve3?7o5i{^%jKubrCgLO8jaJ%^JxVf~!14NV!s> z>t2w1S@3Wr%MDZQRUJ#_cBr4juYZj|stWghl$kc@2I0+5R^)~!enS2?owmVEkM*N7 zJ=#+4OesZ9f!Ji-F z$@rY9mq+~?e38477>qGqGzbtZM>!w}B@;Nu-{lJf?)q3{r_ALtPUhN%sS)!MnJ7X= zA9+`A|5md{|-r z)3h*7k|Z1bWFu?cb#kB+rv*_v13Z;*+Gb)WuGp!r_CUq0nK~mCyS@7jGt9q1@gJCg z>*{$SG^pi8TJtnC*+PzzxvYStFu-GOfd{1)tHxc5)*zU))vzqvyXE{Li+9CefHO zqV(d5v0 ziWBa@<^@0rq8NC|@J5zt!yO0&rJ_ep!5{Wy@gW_?~UK5QwLvCwn)PZ#X9^~ zYsq(VZIcYcLk3;ET+G0`&9!Akz!Dq*e9`}}G;hqBv1^gR6j7czV5J%r0w=bJNTz3! zR;D{5&+vN+rv>c-{a?kBjeLH)f<*h`;4sZhGXw;Mqk zI={f7xX6&T_8wUnj%)FsD{NL7K3N9Uly!E9l9xkzAu8ba#yaKhMP)Rj%hUb)1mY`~ zG!}b=(_JtohzFU|t3;4nZ9G`xr(vnDm0`;!BC3d9dW{HV&(ufTt6#_n%Q|TO2={P7 z=yc}(JqC8*n(;`#s1mDO3v(2KPYMmexE*c=lVAil68YWC1WBYh*sYiTlxsl$wUYmF zY;t%iZhs|T*9ffI`p-UDy&&$H-U3#(A*@MdQ(3Ih_uH^6$sb)=zUd($uvfrOvD@M( z71OciuyXigx4+(H{?kuS8eD^pl2ID4pHb0YDS^q$iBrsesG8FY%I^%Nup9qT=_g`q zyD&nX@yD_(nN`e%$@m}wb+5I>3cP12;YtE9r zr|ETkn*)-P3S!V5ZO-RBdLUHsXwRhFJL75d`C1n;I)Xo(he+!e;>jlfq|Ir;)$$X@=Xms`dTuaMg0@~ zDuKnW=@|K5FQi@i`YkU^*#{LE_^UtqyC~RKm9?XCl54>Y-w)r(V2n4bWtAY(fg=pB zreK0nz9O%{57ELtyn^NOzZHZ`CDg+xl=qltoFYQ zLq!P49_M}S-UDceI-Mf?a@+_H4`@cK{iD{8Zc>u38xqvP)gydwBmRc3-(UUq$X8}6 zkarqvglKl&J@y$^z^kocxMDs}HsJn}_Vx!zTwFQN^t)q`ov5uRTy>QL0pvgTY=K=;$N3Re zjk%YF@Xq0?zZFm$gIt>_>lFL&TOr(VDh|CVt-0HJ;*?|b4!O&2<%P=2vsX{8pp z{(T^}<^`427K1ut*yX2HQ_Eq<4M}s}19-|a@6fA!M~?4}V2?K)V;cFjKp>-iX`h1QqcaCsJdqpz zU(WgqqBBo`gu&51po;=k0{Yxu!}}eiavs_oC=UZ>05oCo7pjDcoMzq+jSZ_->}mnh zKQVs(D_#Iaagx2CiA#gs&V|DXboLaQY$M`omP+d|$lBvhOJ2rR6sN#kd*2F>8Wed! ziB1Y-^&RmzOCjQQ&feTT%Cqy|bnPXL9SV3oXp&4DUeGyR;xY%6KpE zerHJGJU4o#B`E0tyzcVb}a;p_0Kd>vka^6jMDRD(ZK=70rY z9ytlydZ?^7(D;LM2OZ~h5b7;i`Q|L9i)N44lD)^$;DB;AEI8!}*=PR3i}ecOF21?P z{zBAY*K9=;U9J|l{i0^n&cy}WlS+qKmsoMJRAzL1q-l)#A?)W*@jYXfKg^N?u+=0i zsNp7{ntpuUE=2F|McfYhzMUdJpo+g{Wz)i;B1Hp0!P1!e&vmx{@$s-I^=!PW=H-ew zPXTB6Cls>?!l2LCU1Ye(6m+!EqXq;78b?UM?H={k$49YcTAb1p=o8S=SwHE1i;);o z+lzy4yJ`0ORh_vw;A0_lXm2cb@u?wrxPxQ5W|MQjwP1W@7p9^O{4caeWje8^b;4F?3ppHa?)duR|5}A zFiT4c{|AAAGa%`0x#7|B8dk%!ipUwAYa%wuDvWm<;Z1o?@@JZIzdobXR`a(^MID+P z6A^1@YHX4HVa;;9K_Etz{AfQ9Hd}S-0TBsiJvU4us)QBmT#0gmyR|P?ymo|$ZC_#1 zAFcW~j0YvZLiD|!12MnhwC45x)vEWQkF$$84;YVyP^m|7CS5yfi^5D~O-2H(<$=#B zpjm@ki1sgD?uLD9`_LWsxnSLsL4;|kfdo!4H`2Ra^b&EfRm>H^ zt)jb?<}8fqCC^ey4+LAX+}O!g0i-JVsi{AEZ{zw(-d)Y8o98V;k6VlXArCByhea;3 z${hDEwWF3^f#6Nao#|q`vDmx#e`eR@B`{#MydEEN4^Oj79 zqx9r-ih56s_g~^Z^(B1LsNQS)T09qtq*;q~LvI~EW~x|is?;XFlH-Sjd&K#pl?`Hy z$LT|sEdr)#Y>w}3cA$}zpJlHl#=O#A9kAA5yi!aHlST@ph7*(V|GnET%Cw30KH*mM52 zdS3i_D&gE_e#Xw`z}n53LLz}b1uqP2;J5AjwQ;%{SWlC=Kn57;!0~;O+lywP}*t zuC)0j&rVG^z{0^Op+%u3Cv-!BlXf+ET)*Ck%!ti5{#@Mr*i^9NNaX3bPjw`o4yyhl zgOua``!KGAXg5EJ3A{~ItDn#sj zsYqQZswdR`jtek$rXc+uiGQGY+K;@!*~dY(_6fm#An>=gj|ADmq2QBpVdgb|GbPV# z)IPDHkiYR$Dew@yxc_mW`00cKwMY{nwz5Ui7EmGiwD^VdTcsyp_nH&F!``cWP^nx@}H$);t@`TYxhs< zD#!Sl3%355Lb?mT0-+V_e`9z<$ZyURNJU=F965Af#m^aXCk&!@> zl~2JX!5$2pWW-aUQ;1$BU!LMytg-NHJ?aHZ#2iIfWII5 z+p@)iC4qeQ$7$h@0{ueHzC?9PeCLt-$imq%;p*_{?*G~4^n5#`8>6mB1vCAZ*9HRP z!@)?tHSZp3MxvSA&~MnUNKmX0Kd$|_DjyzR>Ig=$Q}8M@bt-eE2_Z#{&PprFFyYQ9 z2-_f*>Ao1%U#yvtfo;K#V-NZVEBV4|i$m^v@~|APW#(fZ6&5eepJ^SQ4@AT;Gt?j@ zhLFT1?X1ADt#Fb6a7aPO?Hz`tIi`Xvb~BI34w6hYhyjUsikE-j!U5;G63)2r@#bq{ zM}72Li~y}g)lh)38{ARGg1(zj@BMbv7x$w3!`7Sg$EKTe&97|;R(}V~A2@OH_(}Ra z=Q))fJ~PYQJs~V1wiZ~{Ojlen%D^xxo8ZD?Js>uSd`~h!T1^}c^63{r6AT(^=jqBE ziW(8{TFG2y_sFgK`ut~8F>L{@*Wr=#Jw3!maLd=w$3$C+XfF3T?E0-`<%yjicd=6v zJL?-#?kNlo{D9rhXI%x(KKs&#W!0@@{_4`QhvNSb!eV+z=&on1bs1jEK3sQDYwoQ? zo;zf(1k1@d=~-|`p;qf67_9Sc@P$Dk43Sk^C(i2k^yyXUchf%Ci6hai?v*avDy`R< zE?zaxv9X#g2I5(hKmeF|P-m`P8T`z8os?yDOz*@PeN3?((GLv9Gv)}ZF5C+ z^kn{3Aol3oljZ|1=G<>F4eRH1-=aMz@UWj+>|9fE+)-PL(z^B42j>XfEGc@qhlgi@ zN<+S&cGFR9dlq}N8@4^L6zM@m);l2H{plVfbLrNn3jFJ|vrRoOg$ zb)Sol8yCOFRw%}>*M!$M_dz*%-T2+U!rzRl4eh7wbAPBMO7)N)r+G}%?1QtPy*w<# z%sKai$e`t;K^*=yRzs?-BcE>ofeS4^#Xg@lB3?75H~&a zfLq(G>`R6oH~-ji6g|jA`k}Z}&Q9h@eJ-<&%9da5LfOrg*yIyhzPgQu?Y+D2$OY|E zQnrs#_^Ti$r$Eza+p$PN?uXzgtMJ@VL-N^0Ew9LP#B~L`mQ#MlA#swYjgixD*o&=% z!G7Dg_I?r?)wxcPAAP?LxGJOd*CiHh{t~h<^m$`x&1>HoyR|;rj!5XJxz*AI0YgIh zV+AGvWkAjDoO&>O(rNNw_D$y4bqMrR=HpYv^VNpQlCv{buto(9Tsy5qKJp8vEWd&~ zNcZ$Esmi-FHgFdlq+NMZwXl2~o)HZIW}|u@$)bIjX@Ub$-3*e(&9)fn{0PVdbRReNi(v$Q|aoIh_VT<~_c+pnF8>!^kP< z0heET?@N>dJl)#s%W-=jas?_jmKVe@czm7MZ_~0qaU~iX>;2l|qT~s!(VbPtOV>#0 z1-cW{dkqk{2^Kt_FnegPq<%6B+w~%ia|y1Lvt8&X53mAy>?$QFDtd;(Z&^t{A-Z9c zI9J7`=?Sl@YuhrCHxWeB$iLoJP>v=cFhL76xhGBkj!sry{65GVO$3G4se3Ff*UTxb zU)^a_wD_GDK`3Q~f+>p@-Dsp$71uiRHjih;6QvQiC|+MZ$<;_d&u~o4>&YSIT#8T@oiP zZqguG9O4qkMq zOW#CSWG$B0ngzUyKOs`L3N;Z_zZg%}SuLPFHd#Bkm<_FdI+z$te%d8>nZkEwUnj7I z35i}vy{dm4ezKac+D`t0BG=d7LREVEn0fAzY3H5lL76sd-zumX9d#?_byo4S=h zz_j?T$k{=g(Wp7&+j(Yu zDF}b`B784sbNk3*iU0`g`98V9%})-a55(!;3Y86J(ILlvH;r(sy>&8w%WKKGuzl{9 zq*0zpK4g~BD$1XDH*+{m6IdB5F%40};ao7@H!V3JAC%LJoAxZeJnu&QA(*u{0cv{< z*Yc`?jX`$L}t*7qoS_0Px?J)m-1mQ%;RNQd^)?G{!)4?^hb z0rRxPN-N(s=rT>6hb?Q;)<|~W=}iw}M!zapy{64CQ#)4%JxiwS*@B|1Qn+GjtsOxpa*$@mm4>f4S0uYVg9q8M{Tl)OiCb)J z!^njQO%?8H6NlNkxkB-9;eB5kM~xO!1mdgL%AxH&)q**hawp=NHEFk6z{a+sOv=b? zSV?byJa7Kzf_BWR{0yCvf(X$Ai+sPVO=TECgsmV2Sp7(qAk(x=Jz53cBgIa7;Uz6+UD2B;6hMjp^1|Il%h|T%n1=~bEzU|`o+{gT`nsQ)P zBG;xfrp=(8m6`6a$8h8#zxk5{10iyz1@u_h?wO-G*F#p}-Ev9IUTv`+rx9&gWNGb% zamOu)GuScfW>rMd`%Z;sZjN?yXCap^bKcnByY?2of+I89@r`AT#%jt6(EjVJOrLw2 zd;YC`P@ca<-!~155e+>kq~T*Rk1}E+d$w(69NpP9H&_$w^{oaz=u2mjnM(s1YD{gw zY;ssYu%G9my^|!e-6!WS!n9?_M5T7C59?+oc^^5e2Wf|G6}gT;Q7H#xBS5~`K&UM( zV4WnuFzv`to67J6*U%o{w8d{X>!RvGloRa;$THuWj9F2zm6^sQxO^JdCp%>3li zeNJa*@GK69=1E;3S|KgzZuO~;KfhS_nx1%O|0s~)1vd%;4P*`wcxV)yBbc^whhcnw zC->P`GOY3udt5u@+mJ|~5mJP-p-+fd{@PinR}1W|=n*L_#%d2)pj=UP(of}ybRkeO znQTMo?< zkh9D~V`2G#^W`UO9h7j0_Y5=F zFHT-(z)f3YJj!8g1}DG)R5somO6WF**5`U?&*dYkXuHXH&F}9omsyET>5I}pI zUSnR(y(OvWKtyigwndwFuoL59d|idY!8pEEX`9$8h0$cz&tOk7Iar0Fi7hH#DB2dxNxcb6vK!7`=%us_qlHPWw&D38 zGAgeazLEM=lAfEETDwxhFI#?2)Qq{U=*FEj)8-pmHKE^Iu9sXb7bV&@VQT46jdsf# zg=mzRm>vXM#t_MzK+}J_tX-?@YqnBuHhCl7{Lxj-=+YRCH(8h{k}bAsCutl^fF}FKn=lE#lLL*y4S=i-6btpm~%7MeQ&@gSvr? z*9#Ur*m|Y*yMA6`u_qY0nVbuIHj<8yQ3>b>K zalKW7bFiiXpsCC+a09%b7QJO&1x>@o#m)L7Py)vm#mHmVVr-!20weVdsDk8hMYzZ* zr^P;Wk#$j=FFF#>YbabzeQAC#rXkz^D5uT3NP}RlL0DrP_}(#ula*S@WQSd@S3^P! z@hW6u3pz*BFk_37Em>`VH~}{yKi_cH_SO&+&+Q9joHahV%~Tu58nxU&XKIP`)*V5X z8AlQ^bKlkc9fxQ&E`_8;$_Senv&EKBy4*ZKc%inM+lU%k@W+UO4)z(3B4KAn=l~_b zoHpxc*}kT3keivmCbD||#u-O$TtOA+zFyo-mX8QhV}Ym9Nc<)_lrm=~*KB4;6PJ=J zWd?zkjs!g*NpYzwI2fURNC>fqaQ_p&B%C-Z=|sa^<|77t6hxJYj@BEGh!j)HM$dA5 zMp^kTD@^@}+0)@e2V!~gaaK7S_H6e1i3lNe+T5^~p>cqv?I0xS0RaL)JH>=K5&6m& zO7x04;F<1bE(~$1j63)ZC&D+}YM}nywyK0It~e7%uXcXPt6)xarL{8;4|`E@QI#aCEVagNO3(8C6IFhk7$pF_mJ&9J*?fOMI*Y&SMNE z)_Cm8xy+T#uh%y*0_OrZW#Z}CoFm6>XX8eNPqvE$2Gft3x2`9xH6E59GZ%&*KOI`) zthG4v#ZkRr8IwR3i;#r3r&rXS(eAmBlRfeSB7(iD#30F_?-X+@wYPv$h*0tEU8M7} z6Mb`E;T&owtguJ$D1tdC3$oKr5~r(-1nt|tk$obUrt?JW3<#01u+;qezT6EJJs;7e zW*8oNOmRId^aES<@}L$-f2yk7IO>BDne9}mY?pXOWn@Ut0qtl3wx4B z4a+8NYM(b-UgWQ-Z*nmMkI;nBZtk1((RI|Kb{xsudXpNc1h~vHZyiz>oMNhappGNe zi7;66)whhdK&yR_mE3&P*3K%539Z46X~dZ9Sc&Ie-O$6t6Ubswd!HndwVwLRPZoz^ z$i=clo1O81_O=T_Q$MvLCn3lR@C-X0t!JunYw?Lh=TR;U-9_D(oNJ9>I{M`(wju`U z2N!mjX3B3JE1`_BZo@^+Q_4P_pIW%H83nLK+680FY4MVlW*l3RPaENLte6fcvll-k z6Aw+$XI9DSes%U{3rx^s&Apw6USXx{>&Ce?52}|6&{t(`W2$pK(N6i8_JcSfGAxw_ zDLj$MR(`oSm45Ey${9xR(x9$`mYe_l(0X^o^QyW)o!iyVmkFPsLrulP-yFxWNa**tM$!khj&Uw?wp!B@J+~j4L=~YXw2|4!oW#arG^sA zCVV@UF_N#whVEk@NS`f z94O>irn>%RIcsSeDlAMqty&$Z z@wN2K+4%++{Cri|wFHqIaZ!?`@wjN^4$Lqn=a}KI{kWk=a@TzVJ*L#P43F-k9|t~; z%V{+pBU(%64o@>yoN(z1GO|^^5b+9WV<#_nIlHYu(&AirvwuelNi7(ZbIQP$`|&lr zL3&d21+)OV$_8d9b1CiJA?&yOL#I1Cz?YXBWja9+1zIl<}Cd}a|smatQI2p?NhNehHDPP1Y1{#;+O8Dgbl;FkOLG57y5GpRQzM`zCd#uMC5zBQj z5u3m>duL!D4!*uShc-1jaD)CX#tI%g;fIFmwY&Yq3|IuvQnoEpl*dIa`T(U1qAGas ziuY(T_`Cw|w_;ffoQWUqOzO4*OVlmz@tk5%JtKuIaQ`0h|81Yk05aT+edccRee9hV zOEDNvFt$6HPbnEj26DgBgN-0OUHTFwr4WlJ2jBVs*`YE`+e|JajwvSz_& za+m9k)>^wewJ1sS{H>I>rIxcX*8&3q4dbZQ=hZ6|)%Rk;D*v>~K%sC=$IC=Zb8k>Q zQ2myNX(yJ1f6k}E6)g_sz-xv2k^`b5H_6VvqG@toPzorsIiZ2-VauI)))yPc}=AdlK0>AuITsQhf?992X=F$nd%DTKF*};OSY* z`^W;()~hHm%oJw^eTchnC$a(?fZt?!`0kdZ>bH-6Xnum^RCX>lX`po zanDBUzV@SI(KhnaZov_cBe}e)$VsH@#75N%%m5DmqImEAyqRK6FBLDomdG5_LKPzt z5^`m=fL(5<-K_meyuN5(LX`$zjn0N{9tYrbq<1aN%%} zusEVAYD%@d9tGos0H^^v$wx=YIg$7Y}(~wAQ|Is;H+?+ z{%TIqZ<%af`WgJb{fM@X`_Md?(N^d6Rf;5rt8H`R!4D|AdQwNdHP_4Ax0CI-YvH8^ zM;kYmNsG_l=Z$x78tTpHK=Uob$hG<8FUmMoxP#OO`}@HJ7n@HpR;2m!Xe!pCva`bq zWp&UA5kma+6t}hrm-wNGI>9q6K}6%iV}z0kX33PY0>PVKicq!Pt2blc-OXw3$hOef zt1w%jRUy7^UA}_Q=pl;?<*F@QryD=Hw@yJ%h@iIAtjxQe@rkwchL-Op5qzgBB2FYV zoWx~<-zS{gwFXT->TY-Hi9AqGs~bM2)3)TL+6Yg-nNh@W9fz&EyHtO+{zzX;AK_(&skR8j{a|PuT=TGm!g7w>H6??Vf<@9GB#CK`$!NE>$!5TpOIsSLCmm-8hfMKeb zhmCLNFbjUR$HUD}JEOVubx#+r=2lDE-R^aa9oBJ4i?D54F{V_g`gK|TmYu`$IFFyt zKW~ou+UpE&6nwGHM|F}%t9Rk)DdK3K4*Zojgj-|_gO)3|VTX@a7m2!%)6}IF8lpT_ zAhb}y*HHo21D+{IFNKYu-VW^q zZU?OcIu>?D-!id6jZgl52}g~NyCSU&DZ^_iHC)rf^|`te{pj%lPvL`u4#1pF@$lix zBTpY3=S*Tpftqq}qute+?YYV`{n_%N+XO~!2k-e}4VDW>?+E?AU!D5iE#3YT;a(l@+q{qKA1tX~HkocVNmZKKvD zbm}`_NeNy>+gR6mSeq9)UoYz(KZE#_+#khWp`0RJqmI3(v%x}9Qg1m?*=}tnJaw+3 zh9;=I;$wkbhih-nk7uJcv6>I1lKpP)4fFNIEIqfVIG8Lg@o2NaPc`XAjK*J$_ z%_@%_flu5)vc?tOJ7Wx(Aa7ttPppw^`Bt(UkQ?%DrVpxWPrOaraNZqH4%$T4vb9G_dukpCzX zMncdVw8f40b48@Dd(pov1H9*qi#ZgDx`PO;owdJne4E%xKJTVJf7%|STpkQ;8A`L% zW^sNvO!h?@e=v+Z&}%Y22~uY;@8N)))rqw-FHt4(P&6H$1zK)RmGc?}bo98SCb6$} zCJ#hCFSy3k!kCV`=1=r9Qqfw%1TzsvhdK`o)7W*o_PJ;Y)|q z%0_O}4BGOCeP`{AO%6+abgcc5X9E#!H>6mzyi61h2L>xlAa6;cSSVX6*Ib{Re78Sz z^HG|a<?cluWpd)tC{ zo_%;-?UOqK*;3tl%cgOm@ze%b$~y(98Xr1F&<=RDx|y`T6&-u1vM*jbjGNU8E)f?u zieo7-4IquT<5;CksA^ytmV#3g!3~p9EvBSub-x_!I$N#Zgj31NNI>z;R^F;(;4Y>Gj9Oc z+6O9d$HVGUM&#&!bY~TYAsxo#L3b2RsM76Z&7kqqu&Tm@rr}T;Vmn)42)AJSHoU>L z=OAc|)D@!C#ahf-lSaYwV27AyOo`nbsfk}oz#c`=;jZV)hX?}!jhGqF`$@#nPOGQ$ zN!dy?*;cp9KTuQSC_ta9OUwZy&x!!IJhIPjE@C}3^e|b>@E0O0Q8ctA6EB_$%9bG{ z88K}grE@i61YCF=3)a~d{O&_KcU`%<*g0~pTGZ-+owuc)XsU3Fk{R?vJ+5W60 zM``>v0X3^mO$GdcG-ix9(UVNlwNiwXrJ~kfA1fhBYWSspjx(n>(6D)kj!sLT(S$~B zwM&i%t#@Nudg9~lzln7lT*tznwcH@k9h|JTMP?_Ob%5XR^bxSGH66w|Ept+(6Q!9rpWce+T36PLd=$K`bD8SRaxmgF zyMhDyVH5eWdB{l&wd!Deb&Ui6y8>>W0ynaAJPzH^?*cvNxypKchx>af1A(#Ldz;fl zsh*~Do}7Q!IvRKPQ={deL6Gz{@Q0j2exKn>ssEs zitAxdw!&`z%AlmNC24U2ez5_uId(i-VvD|KD(}?0HDjmrN5Py4y!v(jRYPR^$S`)c z5N%JLcN&6JcSsf~YSSPdj@N^DkAX$SUPWFghVf~5krXB4z5RmfB|uyZW`3|g$2j_z z(bwGXrQsajO9Erovaq_q^QTafY_t>T7(ZD1~X`aok+?r5T6a-*} z{oXBSctW)%wMG}4Kac8fO|>2yDn@|)+H zTy0Td79d;ZT|vo#?ihlj`Bj4Xaw#Fn?{*M_`nTN3bCPS^^ulVyxlUsSQYm}5e6v?= ztf+l4Znu{83C%dKts4;c``DYILrcDJ$W^9Oa^DeYl616i_iP=Vc)sD`GjHb7_X>WL zGpr$4*045l&zIWfIyAO%=RXf<{ocT#em=ej+r90Z>}^@awwtzY$~2q06k(fsNJo@T z;IN)8ZR~e6poHS2)5saePPq@9E*u*zvpj>)Pr7RmF*32S;zrR*Vwz0y!QAr?#`$i1 zh>H=uJtv+N`S>(wDP_X_ahqp6TYV^~9xB#FquRD}pRd4r*nf0rV=Jx2nEpkhFBa`5 zq^-+fUztvX4Ui{hHpGy*ec&Ns!h$qce1 zlPi@%OPKQV3{&4IgGJ>ScEnPZ>K*RE9;6*{L(|zHNB`AVo)vlG*%cEPeo1eX+w(eJ z9joo9{kkg&!?cP@k6{~LhqV(oLnJLL-fsKJIur+-`Q@Vwt?4wa?b!FN?fCo^>@8aCI=7NJ)PzaJ;ZBU{Voj*%fDw;Wy3b=inrqe*9zEur&E)ui)Pv)&e5n aNpQY~%|C9!OZFA`@4dLZSeb~P|NjH5$<5pV literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/1/images/solution-light.png b/content/docs/smallrye-stork/1/images/solution-light.png new file mode 100644 index 0000000000000000000000000000000000000000..044bd3786d8287ea7f05636197fdc127572d8a10 GIT binary patch literal 343937 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

          ghd3>v;_v+q0hykx`EW5MbFZLOuP0+s;!YrvD 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%0AQG~af^O;o0#$hEsA#s}^ zq4SzDC#rwFjbFI{&u`E87o+kdD5Sdmg~t~o_67|WHCYaotma6qwwGzx4pwNGjcC05 zt6`nsXxp^4eu}J3F!Cxug-TAh%u*>%C6YN0EqOric6C=pJtNxg!-h*Us@-U ze-*tt)|PJc!Qq_xPS~U)NilO#M#dB@b3W}OcP%Ya6d+8=uZj&4IpB4Sj>+UC^u`F% z#}V&IE@vp3+RZ_+k?tg*+O#Y#z`#pIPy5TDn{Wu@qcQ#+0mkGgmnAeNAlS z2S1Ixig)>&Le9|W0txolVs|C?U&BRu7?ugk%i?|ruR^(%EuJ}-fliauw~W=+xZ4NY zI1QrNWsTNfo7=bTvV7aDWNC+I|KXBsolO^JrJNpYAMLScX4N4L=M^BQ!3y|#dc|(G4 z)+Az|Sv@I=@6$8GA z&SLD9CQ1v7I{p|xh5lZox!Aocb>|Z?cx~5?_5(nSRl+XN%0fsSk&-elP(JEDFxsqc z*P!n*F?xGqwvKMXl_%1uFBssmmW3W~AUy4bSFP@4Ts`!+6P+T?YNGaVecpMmrekIn z&4~JYq}zN;&GFCj?avZ}ne2bE-n@SuNh_vOx=+XGhZBj?ka0A?^8TEq!vcg_x4gs50xhluiz;b zuclxm3D*&3cGt>%Q98<~F2=}n&pi`2T8H)6pC~5yzv8VWXVizFz|5>DQ!&{yB*aHq MUR|ylWFGpz02jRhl>h($ literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/1/images/stork-white.png b/content/docs/smallrye-stork/1/images/stork-white.png new file mode 100644 index 0000000000000000000000000000000000000000..8ceae56591397a4eb4775c574f653c75ae7684d5 GIT binary patch literal 48466 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 + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a load balancer provider + +Load balancer implementation consists of three elements: + +* `LoadBalancer` which is responsible for selecting service instances for a single Stork service, +* `LoadBalancerProvider` which creates instances of `LoadBalancer` for a given load balancer _type_, +* `$typeConfiguration` which is a configuration for the load balancer. This class is automatically generated. + +A _type_, for example `acme-load-balancer`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +==== + +A `LoadBalancerProvider` implementation needs to be annotated with `@LoadBalancerType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@LoadBalancerAttribute` annotations placed on the provider. + +A load balancer provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeLoadBalancerProvider.java[] +---- + +Note, that the `LoadBalancerProvider` interface takes a configuration class as a parameter. +This configuration class is generated automatically by the _Configuration Generator_. +Its name is created by appending `Configuration` to the load balancer type, like `AcmeLoadBalancerConfiguration`. + +The next step is to implement the `LoadBalancer` interface. + +The essence of load balancers' work happens in the `selectServiceInstance` method. The method returns a single `ServiceInstance` from a collection. + +[source,java] +---- +include::{examples-dir}/examples/AcmeLoadBalancer.java[] +---- + +This implementation is simplistic and just picks a random instance from the received list. + +Some load balancers make the pick based on statistics such as calls in progress or response times, or amount of errors of a service instance. +To collect this information in your load balancer, you can wrap the selected service instance into `ServiceInstanceWithStatGathering`. + +Load balancers based on statistics often expect that an operation using a selected service instance is marked as started before the next selection. +By default, Stork assumes that a `LoadBalancer` requires this and guards the calls accordingly. +If this is not the case for your implementation, override the `requiresStrictRecording()` method to return `false`. + +== Using your load balancer + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.load-balancer.type=acme-load-balancer\ +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +==== + +Then, Stork will use your implementation to select the `my-service` service instance. + +== Using your load balancer using the programmatic API + +When building your load balancer project, the configuration generator creates a configuration class. +This class can be used to configure your load balancer using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeSelectorApiUsage.java[] +---- + +Remember that attributes, like `my-attribute`, are declared using the `@LoadBalancerAttribute` annotation on the `LoadBalancerProvider` implementation. diff --git a/content/docs/smallrye-stork/1/load-balancer/least-requests.adoc b/content/docs/smallrye-stork/1/load-balancer/least-requests.adoc new file mode 100644 index 000000000..409811e9b --- /dev/null +++ b/content/docs/smallrye-stork/1/load-balancer/least-requests.adoc @@ -0,0 +1,59 @@ += Least Requests Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `least-requests` load balancing strategy monitors the number of inflight calls and selects the less-used instance. + +This strategy keeps track of the inflight calls made by the application and picks the service instance with the smallest number of inflight requests: + +[arabic] +. when the selection happens, the service instance with the smallest number of inflight requests is selected, and this number is incremented +. when the operation completes, successfully or not, the number of inflight requests is decremented + +== Dependency + +First, you need to add the `least-requests` load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-least-requests + {project-version} + +---- + +== Configuration + +For each service expected to use a least-response-time selection, configure the `load-balancer` to be `least-requests`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.service-discovery...=... +stork.my-service.load-balancer.type=least-requests +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.service-discovery...=... +quarkus.stork.my-service.load-balancer.type=least-requests +---- + +-- + +==== diff --git a/content/docs/smallrye-stork/1/load-balancer/power-of-two-choices.adoc b/content/docs/smallrye-stork/1/load-balancer/power-of-two-choices.adoc new file mode 100644 index 000000000..8eaa129ff --- /dev/null +++ b/content/docs/smallrye-stork/1/load-balancer/power-of-two-choices.adoc @@ -0,0 +1,67 @@ += Power Of Two Choices Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `power-of-two-choices` load balancing selects two random service instances and then chooses the one with the least inflight requests. +It avoids the overhead of `least-requests` and the worst case for `random` where it selects a busy destination. + +This strategy acts as follows: + +[arabic] +. when the selection happens, it picks two random instances from the list, +. it returns the least loaded instance (based on the number of inflight requests), +. when the operation completes, successfully or not, the number of inflight requests for the instance is decremented. + +Check http://www.eecs.harvard.edu/~michaelm/NEWWORK/postscripts/twosurvey.pdf[The Power of Two Random Choices] paper to learn more about this pattern and the benefits. + +== Dependency + +First, you need to add the random load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-power-of-two-choices + {project-version} + +---- + +== Configuration + +For each service expected to use a random service selection, configure the `load-balancer` to be `power-of-two-choices`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.service-discovery...=... +stork.my-service.load-balancer.type=power-of-two-choices +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.service-discovery...=... +quarkus.stork.my-service.load-balancer.type=power-of-two-choices +---- + +-- + +==== + +Supported attributes are the following: + +include::{generated-dir}/power-of-two-choices-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/1/load-balancer/random.adoc b/content/docs/smallrye-stork/1/load-balancer/random.adoc new file mode 100644 index 000000000..515209c42 --- /dev/null +++ b/content/docs/smallrye-stork/1/load-balancer/random.adoc @@ -0,0 +1,57 @@ += Random Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `random` load balancing is a straightforward service instance selection solution that picks a random instance every time. + +== Dependency + +First, you need to add the random load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-random + {project-version} + +---- + +== Configuration + +For each service expected to use a random service selection, configure the `load-balancer` to be `random`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.service-discovery...=... +stork.my-service.load-balancer.type=random +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.service-discovery...=... +quarkus.stork.my-service.load-balancer.type=random +---- + +-- + +==== + +Supported attributes are the following: + +include::{generated-dir}/random-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/1/load-balancer/response-time.adoc b/content/docs/smallrye-stork/1/load-balancer/response-time.adoc new file mode 100644 index 000000000..2520b7f6f --- /dev/null +++ b/content/docs/smallrye-stork/1/load-balancer/response-time.adoc @@ -0,0 +1,94 @@ += Least Response Time Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `least-response-time` load balancing strategy collects response times of the calls made with service instances and picks an instance based on this information. + +Erroneous responses are treated as responses with a long response time, by default 60 seconds. This can be controlled with the `error-penalty` attribute. + +The algorithm for service instance selection is as follows: + +* if there is a service instance that wasn't used before - use it, otherwise: +* if there are any service instances with collected response times - select the one for which _score_ is the lowest, otherwise: +* select a random instance + +The _score_ for an instance decreases in time if an instance is not used. This way we ensure that instances that haven't been used in a long time, are retried. + +For the details on the _score_ calculation, see xref:#score-calculation[Score calculation] + +== Dependency + +To use this load balancer, start with adding the least-response-time load-balancer dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-least-response-time + {project-version} + +---- + +== Configuration + +For each service expected to use a least-response-time selection, configure the `load-balancer` to be `least-response-time`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.service-discovery...=... +stork.my-service.load-balancer.type=least-response-time +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.service-discovery...=... +quarkus.stork.my-service.load-balancer.type=least-response-time +---- + +-- + +==== + +The following attributes are supported: + +include::{generated-dir}/least-response-time-lb-attributes.adoc[] + +== Score calculation + +The _score_ of a service instance is calculated by dividing a weighted sum of response times by sum of the weighs. The result is additionally adjusted to account for instances that haven't been used for a long time. + +Let: + +* $n$ denote how many instance selections were made so far +* $t++_++i$ denote the response time for call $i$ +* $n++_++i$ denote the number of instance selections done until the moment of recording the response time for call $i$ +* $n++_{++max}$ denote the number of instance selections at the moment of last call recorded with this instance +* $$ denote a configurable `declining-factor` + +The idea for the weight is to decrease the importance of the data collected long time (many calls) ago. For call $i$, the weight is calculated as follows: +$$ +w++_++i = ^ ++{++(n - n++_++i)} +$$ + +The score of a service instance is calculated as: +$$ +score(n) = ^++{++n - n++_{++max}} ++*++ = +^++{++n - n++_{++max}} ++*++ +$$ + +The `declining-factor` should be in $(0, 1++]++$ , the default is $0.9$. Using a lower value makes the older response times less important. diff --git a/content/docs/smallrye-stork/1/load-balancer/round-robin.adoc b/content/docs/smallrye-stork/1/load-balancer/round-robin.adoc new file mode 100644 index 000000000..ba7529ea4 --- /dev/null +++ b/content/docs/smallrye-stork/1/load-balancer/round-robin.adoc @@ -0,0 +1,47 @@ += Round-Robin Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The round-robin is a straightforward load-balancing solution that just iterates over the set of service instances. +While being simple, this solution shares the load among the instances and may be sufficient in many cases. + +The round-robin strategy is the default load-balancing strategy. +It is provided by Stork itself, and so does not require an additional dependency. + +== Configuration + +There is no need to configure the load-balancing strategy to be `round-robin`. +Stork automatically uses this strategy when none are configured. + +However, you can also configure it explicitly as follows: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.service-discovery...=... +stork.my-service.load-balancer.type=round-robin +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.service-discovery...=... +quarkus.stork.my-service.load-balancer.type=round-robin +---- + +-- + +==== diff --git a/content/docs/smallrye-stork/1/load-balancer/sticky.adoc b/content/docs/smallrye-stork/1/load-balancer/sticky.adoc new file mode 100644 index 000000000..07432d717 --- /dev/null +++ b/content/docs/smallrye-stork/1/load-balancer/sticky.adoc @@ -0,0 +1,56 @@ += Sticky Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The sticky load balancer selects a single service instance and keeps using it until it fails. +Then, it selects another one. + +It is possible to configure a backoff time to specify for how long a failing service instance should not be retried. + +Precisely, the load balancer works as follows: + +* if no service instance has been selected so far, select the first instance from the collection; +* else if the previously selected service instance has not failed, and is still available, return it; +* else return the first available service instance that has no recorded failure, if one exists; +* else, find the available instance for which the time since the last failure is the longest, and +** if the backoff time since the failure passed, return it; +** or, throw an `NoAcceptableServiceInstanceFoundException` as no acceptable instances are available. + +== Configuration + +To use the `sticky` load service selection strategy, set the load balancer type to `sticky`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.service-discovery...=... +stork.my-service.load-balancer.type=sticky +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.service-discovery...=... +quarkus.stork.my-service.load-balancer.type=sticky +---- + +-- + +==== + +The following attributes are supported: + +NOTE: This table is generated from the project's build and is not available for this version. diff --git a/content/docs/smallrye-stork/1/programmatic-api.adoc b/content/docs/smallrye-stork/1/programmatic-api.adoc new file mode 100644 index 000000000..788f39819 --- /dev/null +++ b/content/docs/smallrye-stork/1/programmatic-api.adoc @@ -0,0 +1,54 @@ += Stork Programmatic API +include::_attributes.adoc[] + +Stork proposes a programmatic API that lets you register new service Definitions and do manual lookup and selection. +When using the programmatic API of Stork, you can: +Retrieve the singleton Stork instance. This instance is configured with the set of Services it manages. +Register new service definition. +Retrieve the Service you want to use. Each Service is associated with a name. +Retrieve the ServiceInstance, which will provide the metadata to access the actual instance. + +== Initializing Stork + +If your framework does not already provide a configured `Stork` instance, you need to do: + +[source,java] +---- +include::{examples-dir}/examples/InitializationExample.java[] +---- + +== Adding service dynamically + +To register a new `ServiceDefinition`, use the `defineIfAbsent` method: + +[source,java] +---- +include::{examples-dir}/examples/DefinitionExample.java[] +---- + +The `ServiceDefinition` instances can be created from: + +* A service discovery configuration - these classes are provided by the service discovery implementations, +* An optional load balancer configuration - these classes are provided by the load balancer implementations + +Attributes from the service discovery and load balancer can be configured from the `Configuration` classes. + +== Looking for service instances + +To list the service instances for a given service, or to select an instance according to the load balancer strategy, use the following code: + +[source,java] +---- +include::{examples-dir}/examples/LookupExample.java[] +---- + +The lookup and selection methods are returning Uni as these processes are asynchronous. + +== All in one example + +The following snippet provides an _all in one_ example of the Stork programmatic API: + +[source,java] +---- +include::{examples-dir}/examples/StorkApiExample.java[] +---- diff --git a/content/docs/smallrye-stork/1/quarkus.adoc b/content/docs/smallrye-stork/1/quarkus.adoc new file mode 100644 index 000000000..c17303c16 --- /dev/null +++ b/content/docs/smallrye-stork/1/quarkus.adoc @@ -0,0 +1,79 @@ += Using Stork with Quarkus +include::_attributes.adoc[] + +https://quarkus.io[Quarkus] is a Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM. + +Quarkus REST Client Reactive and gRPC extensions come with built-in integration with SmallRye Stork. + +This page describes how to use REST Client Reactive with Stork. Using gRPC with Stork is similar. + +We will use the Consul service discovery and the round-robin load balancer as examples. + +== The project + +You can create a Quarkus project with the REST Client Reactive extension using https://code.quarkus.io[code.quarkus.io]. + +The corresponding https://quarkus.io/guides/rest-client-reactive[Quarkus guide] describes the extension in more detail. + +== The client + +To use the REST client to communicate with a remote endpoint, you need to create an interface that describes how the communication should work. +The client requires `baseUri` (or `baseUrl`) pointing to the address of the remote endpoint. + +To use Stork to determine the actual address, set the scheme of the URI to `stork` and the hostname of the URI to the name of the Stork service. + +For example, the `HelloClient` below will use the Stork service called `hello-service` to determine the address of the destination, and `/hello` as the base path for queries: + +[source,java] +---- +include::{examples-dir}/examples/HelloClient.java[] +---- + +== The service + +In Stork, a `Service` consists of service discovery and a load balancer. +The Service discovery is responsible for determining the `ServiceInstance`s, that is, available addresses for a service. +The load balancer picks a single `ServiceInstance` for a call. + +=== Dependencies + +To use the service discovery and the load balancer of your choosing, you need to add the appropriate dependencies to your application. +For example, if you wish to use Consul and load-balance the calls with round-robin, add the following to your `pom.xml`: + +[source,xml] +---- + + io.smallrye.stork + stork-service-discovery-consul + +---- + +[NOTE] +==== + +No need to add a dependency for the round-robin load-balancer. This strategy is built-in. +Also, no need to specify the stork version, Quarkus imports the Stork _BOM_. + +==== + +When using Eureka, Kubernetes, or any other service discovery mechanism, or a different load balancer, replace the dependencies above with the ones you need. +Based on the defined dependencies, Stork automatically registers providers for service discovery mechanisms and load balancers. + +=== The config + +The last piece of the puzzle is the actual service configuration. +If your Consul instance is running on `localhost` on port `8500`, service discovery configuration should look as follows: + +[source,properties] +---- +quarkus.stork.hello-service.service-discovery.type=consul +quarkus.stork.hello-service.service-discovery.consul-host=localhost +quarkus.stork.hello-service.service-discovery.consul-port=8500 +---- + +[NOTE] +==== + +When no load-balancing is configured, Stork uses a round-robin. + +==== diff --git a/content/docs/smallrye-stork/1/service-discovery/composite.adoc b/content/docs/smallrye-stork/1/service-discovery/composite.adoc new file mode 100644 index 000000000..96b805f9d --- /dev/null +++ b/content/docs/smallrye-stork/1/service-discovery/composite.adoc @@ -0,0 +1,65 @@ += Composite Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Some organizations use hybrid infrastructure. In such an infrastructure, different service instances may be discoverable via different service discovery providers. E.g. when _serviceA_ is being migrated from a VM to Kubernetes, its older versions can be discovered via Consul and newer via Kubernetes. + +`composite` service discovery addresses this problem by letting you define a service that consists of multiple services. + +== Dependency + +To use the `composite` service discovery, first add the appropriate Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-composite + {project-version} + +---- + +== Configuration + +For each service that should consist of multiple services, configure the service discovery `type`, and set the `services` property to a comma separated list of services: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=composite +stork.my-service.service-discovery.services=serviceA,serviceB + +stork.serviceA.service-discovery.type=... +stork.serviceB.service-discovery.type=... +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=composite +quarkus.stork.my-service.service-discovery.services=serviceA,serviceB + +quarkus.stork.serviceA.service-discovery.type=... +quarkus.stork.serviceB.service-discovery.type=... +---- + +-- + +==== + +Remember to define the services that make up your composite service. + +These are all the parameters of the composite service discovery: + +include::{generated-dir}/composite-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/1/service-discovery/consul.adoc b/content/docs/smallrye-stork/1/service-discovery/consul.adoc new file mode 100644 index 000000000..2dca70310 --- /dev/null +++ b/content/docs/smallrye-stork/1/service-discovery/consul.adoc @@ -0,0 +1,102 @@ += Consul Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://www.consul.io/[Consul] is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. +It's often used as service discovery backend to register and locate the services composing your system. +Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. +External services can be registered as well. + +This page explains how Stork can use Consul to handle the service discovery and service registration. + +== Dependency + +First, you need to add the Stork Consul Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-consul + {project-version} + +---- + +=== Service discovery configuration + +For each service that should get the service instances from Consul, configure the service discovery `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=consul +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=consul +---- + +-- + +==== + +Consul service discovery is configured with the following parameters: + +include::{generated-dir}/consul-sd-attributes.adoc[] + +== Service registration + +Stork also provides the ability to register services using Consul as backend. + +=== Service registration configuration + +For each service that should register the service instances in Consul, configure the service discovery `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +---- + +Consul service registrar is configured with the following parameters: + +include::{generated-dir}/consul-sr-attributes.adoc[] diff --git a/content/docs/smallrye-stork/1/service-discovery/custom-service-discovery.adoc b/content/docs/smallrye-stork/1/service-discovery/custom-service-discovery.adoc new file mode 100644 index 000000000..3fa9511d0 --- /dev/null +++ b/content/docs/smallrye-stork/1/service-discovery/custom-service-discovery.adoc @@ -0,0 +1,194 @@ += Implement your own service discovery mechanism +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork is extensible, and you can implement your own service discovery mechanism. + +== Dependencies + +To implement your _Service Discovery Provider_, make sure your project depends on Core and Configuration Generator. +The former brings classes necessary to implement custom discovery, the latter contains an https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/annotation/processing/Processor.html[annotation processor] that generates classes needed by Stork. + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a service discovery provider + +Service discovery implementation consists of three elements: + +* `ServiceDiscovery` which is responsible for locating service instances for a single Stork service. +* `ServiceDiscoveryProvider` which creates instances of `ServiceDiscovery` for a given service discovery _type_. +* `$typeConfiguration` which is a configuration for the discovery. This class is automatically generated during the compilation (using an annotation processor). + +A _type_, for example, `acme`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=acme +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=acme +---- + +-- + +==== + +A `ServiceDiscoveryProvider` implementation needs to be annotated with `@ServiceDiscoveryType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@ServiceDiscoveryAttribute` annotations placed on the provider. + +A service discovery provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceDiscoveryProvider.java[] +---- + +Note, that the `ServiceDiscoveryProvider` interface takes a configuration class as a parameter. This configuration class +is generated automatically by the _Configuration Generator_. +Its name is created by appending `Configuration` to the service discovery type, such as `AcmeConfiguration`. + +The next step is to implement the `ServiceDiscovery` interface: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceDiscovery.java[] +---- + +This implementation is simplistic. +Typically, instead of creating a service instance with values from the configuration, you would connect to a service discovery backend, look for the service and build the list of service instance accordingly. +That's why the method returns a `Uni`. +Most of the time, the lookup is a remote operation. + +As you can see, the `AcmeConfiguration` class gives access to the configuration attribute. + +== Using your service discovery + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=acme +stork.my-service.service-discovery.host=localhost +stork.my-service.service-discovery.port=1234 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=acme +quarkus.stork.my-service.service-discovery.host=localhost +quarkus.stork.my-service.service-discovery.port=1234 +---- + +-- + +==== + +Then, Stork will use your implementation to locate the `my-service` service. + +== Using your service discovery using the programmatic API + +When building your service discovery project, the configuration generator creates a configuration class. +This class can be used to configure your service discovery using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeDiscoveryApiUsage.java[] +---- + +Remember that attributes, like `host`, are declared using the `@ServiceDiscoveryAttribute` annotation on the `ServiceDiscoveryProvider` implementation. + +== Caching the service instances + +Your `ServiceDiscovery` implementation can extend `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +In this case, the retrieved set of `ServiceInstance` is cached and only updated after some time. +This duration is an additional configuration attribute. +For homogeneity, we recommend the following attribute: + +[source,java] +---- +@ServiceDiscoveryAttribute(name = "refresh-period", description = "Service discovery cache refresh period.", + defaultValue = CachingServiceDiscovery.DEFAULT_REFRESH_INTERVAL) +---- + +The following snippet extends the _acme_ service discovery with the `refresh-period` attribute: + +[source,java] +---- +include::{examples-dir}/examples/CachedAcmeServiceDiscoveryProvider.java[] +---- + +Extending `io.smallrye.stork.impl.CachingServiceDiscovery` changes the structure of the service discovery implementation: + +[source,java] +---- +include::{examples-dir}/examples/CachedAcmeServiceDiscovery.java[] +---- + +[arabic] +. Call the `super` constructor with the `refresh-period` value +. Implement `fetchNewServiceInstances` instead of `getServiceInstances`. +The method is called periodically, and the retrieved instances are cached. +This implementation is simplistic. + +If the retrieval fails, the error is reported, and Stork keeps the previously retrieved list of instances. + +=== Customizing the caching strategy + +Sometimes it can be useful to change this behaviour and customize the cache expiration strategy. + +For example, imagine you are using a backend service discovery where service instances can change very frequently. + +Moreover, contacting the backend service discovery can be expensive in terms of computing, +thus finding a good value for the refreshing time can be mission impossible. + +For these situations, Stork allows to implement a better expiration strategy for the cache. + +If you want to customize the expiration strategy, you need: +1. Implement the `cache` method where the expiration strategy should be defined. +2. Invalidate the cache when expiration condition evaluates to true. + +Take a look to the xref:service-discovery/kubernetes.adoc#caching-the-service-instances[Kubernetes Service Discovery] for further details about this feature. diff --git a/content/docs/smallrye-stork/1/service-discovery/dns.adoc b/content/docs/smallrye-stork/1/service-discovery/dns.adoc new file mode 100644 index 000000000..339eefd88 --- /dev/null +++ b/content/docs/smallrye-stork/1/service-discovery/dns.adoc @@ -0,0 +1,78 @@ += DNS Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +DNS is a name resolution protocol used to determine IP addresses for hostnames. +That makes it a natural fit for service discovery. +Consul and AWS Cloud Map provide DNS resolutions for service discovery. + +This page explains how Stork can use DNS to handle the service discovery. + +== DNS records + +DNS supports a https://en.wikipedia.org/wiki/List_of_DNS_record_types[variety of record types]. Stork can resolve hostnames to addresses based on https://en.wikipedia.org/wiki/SRV_record[_SRV_], A and AAAA records. +All these types of records may return multiple addresses for a single hostname. + +While _A_ and _AAAA_ records are quite similar, they just carry an IP (_v4_ for _A_ and _v6_ for _AAAA_), the _SRV_ records are different. +They contain a _weight_, a _target_ and a _port_ for a service instance. +The _target_ returned in an _SRV_ record needs to be resolved further by an _A_ or an _AAAA_ record. + +In short, it works as follows: + +[.has-dark] +image::images/diagrams/plantuml-22429aea1395.svg[srv_sequence] + +== Dependency + +To use the DNS service discovery, you need to add the Stork DNS Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-dns + {project-version} + +---- + +== Configuration + +Next, set the service discovery `type` to `dns`. +Additionally, you would usually specify the DNS server, or servers, to use for the discovery. +All in all, your configuration could look as follows: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=dns +# optional dns servers: +stork.my-service.service-discovery.dns-servers=my-dns-server:8221,my-dns-server2 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=dns + +# optional dns servers: +quarkus.stork.my-service.service-discovery.dns-servers=my-dns-server:8221,my-dns-server2 +---- + +-- + +==== + +All the available parameters are as follows: + +NOTE: This table is generated from the project's build and is not available for this version. diff --git a/content/docs/smallrye-stork/1/service-discovery/eureka.adoc b/content/docs/smallrye-stork/1/service-discovery/eureka.adoc new file mode 100644 index 000000000..00ebd7457 --- /dev/null +++ b/content/docs/smallrye-stork/1/service-discovery/eureka.adoc @@ -0,0 +1,118 @@ += Eureka Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://github.com/Netflix/eureka[Eureka] is a RESTful service that is primarily used in the AWS cloud for the purpose of discovery, load balancing, and failover of middle-tier servers. + +This page explains how Stork can use Eureka to handle the service discovery and service registration. + +== Dependency + +First, you need to add the Stork Eureka Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-eureka + {project-version} + +---- + +=== Service discovery configuration + +For each application instance expected to be registered in Eureka, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=eureka +stork.my-service.service-discovery.eureka-host=localhost +stork.my-service.service-discovery.eureka-port=8761 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=eureka +quarkus.stork.my-service.service-discovery.eureka-host=localhost +quarkus.stork.my-service.service-discovery.eureka-port=8761 +---- + +-- + +==== + +Stork looks for the service with the given name (`my-service` in the previous example). + +Supported attributes are the following: + +include::{generated-dir}/eureka-sd-attributes.adoc[] + +The `application` attribute is optional. +It uses the Stork service name (`my-service` in the previous configuration) if not set. + +The `instance` attribute allows selecting a specific instance. +Using this attribute prevents load-balancing as you will always select a single instance. + +The `secure` attribute indicates if you want the _secure virtual address_ of the application instance. +If set to `true`, unsecured instances are filtered out from the available instances. + +== Service registration + +Stork also provides the ability to register services using Eureka as backend. + +=== Service registration configuration + +For each service that should register the service instances in Eureka, configure the service discovery `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=eureka +stork.my-service.service-registrar.eureka-host=localhost +stork.my-service.service-registrar.eureka-port=8761 +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=eureka +quarkus.stork.my-service.service-registrar.eureka-host=localhost +quarkus.stork.my-service.service-registrar.eureka-port=8761 +---- + +Consul service registrar is configured with the following parameters: + +include::{generated-dir}/eureka-sr-attributes.adoc[] diff --git a/content/docs/smallrye-stork/1/service-discovery/knative.adoc b/content/docs/smallrye-stork/1/service-discovery/knative.adoc new file mode 100644 index 000000000..71fd20806 --- /dev/null +++ b/content/docs/smallrye-stork/1/service-discovery/knative.adoc @@ -0,0 +1,131 @@ += Knative Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Knative is a Kubernetes-based platform for serverless workloads. Knative provides a set of objects as Kubernetes Custom Resource Definitions (CRDs). +These resources are used to define and control how your serverless workload behaves on the cluster. +The Stork Knative service discovery implementation is very similar to the Kubernetes one. +Stork will ask for https://knative.dev/docs/serving/reference/serving-api/#serving.knative.dev/v1.Service[Knative services] to the cluster instead of vanilla https://kubernetes.io/docs/concepts/services-networking/service/#service-resource[Kubernetes services] used by the Kubernetes implementation. +To do so, Stork uses https://github.com/fabric8io/kubernetes-client/blob/master/extensions/knative/client/src/main/java/io/fabric8/knative/client/KnativeClient.java[Fabric 8 Knative Client] which is just an extension of Fabric8 Kubernetes Client. + +== Dependency + +First, you need to add the Stork Knative Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-knative + {project-version} + +---- + +=== A few words about server authentication. + +Stork uses Fabric8 Knative Client which is a https://github.com/fabric8io/kubernetes-client#readme[Fabric8 Kubernetes Client] extension to access the Kubernetes resources, concretely the `DefaultKnativeClient` implementation. + +Since Knative Client is just an extension of Fabric8 Kubernetes Client, it’s also possible to get an instance of KnativeClient from KubernetesClient. + +`DefaultKubernetesClient` will try to read the `~/.kube/config` file from your local machine and load the token for authenticating with the Kubernetes API server. + +The level of access (Roles) depends on the configured `ServiceAccount`. + +You can override this configuration if you want fine-grain control. + +==== Role-based access control (RBAC) + +If you're using a Kubernetes cluster with Role-Based Access Control (RBAC) enabled, the default permissions for a ServiceAccount don't allow it to list or modify any resources. +A `ServiceAccount`, a `Role` and a `RoleBinding` are needed in order to allow Stork to list the available service instances from the cluster or the namespace. + +An example that allows listing all endpoints could look something like this: + +[source,yaml] +---- +------ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: + namespace: +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: + namespace: +rules: + - apiGroups: [""] # "" indicates the core API group + resources: ["endpoints", "pods"] # stork queries service endpoints and pods + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: + namespace: +subjects: + - kind: ServiceAccount + # Reference to upper's `metadata.name` + name: + # Reference to upper's `metadata.namespace` + namespace: +roleRef: + kind: Role + name: + apiGroup: rbac.authorization.k8s.io +---- + +== Configuration + +For each service expected to be exposed as _Kubernetes Service_, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-knservice.service-discovery.type=knative +stork.my-knservice.service-discovery.knative-namespace=my-namespace +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-knservice.service-discovery.type=knative +quarkus.stork.my-knservice.service-discovery.knative-namespace=my-namespace +---- + +-- + +==== + +Stork looks for the _Knative Service_ with the given name (`my-knservice` in the previous example) in the specified namespace. + +Stork inspects the _Knative Service_ and retrieves the url of the service. + +Supported attributes are the following: + +NOTE: This table is generated from the project's build and is not available for this version. + +== Caching the service instances + +Contacting the cluster too much frequently can result in performance problems. It's why Knative Service discovery extends `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +Moreover, the caching expiration has been also improved in order to only update the retrieved set of `ServiceInstance` if some of them changes and an event is emitted. +This is done by creating an https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/informers/SharedIndexInformer.html[Informer], similar to a https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/Watch.html[Watch], able to observe the events on the Knative Service instances resources. + +include::{examples-dir}/../src/main/java/io/smallrye/stork/servicediscovery/knative/KnativeServiceDiscovery.java[opts=optional] + +Note that: +- the cache is invalidated when an event is received. +- the cache is validated once the instances are retrieved from the cluster, in the `fetchNewServiceInstances` method. +- the `cache` method is overrided to customize the expiration strategy. In this case the collection of service instances will be kept until an event occurs. diff --git a/content/docs/smallrye-stork/1/service-discovery/kubernetes.adoc b/content/docs/smallrye-stork/1/service-discovery/kubernetes.adoc new file mode 100644 index 000000000..72317ddd0 --- /dev/null +++ b/content/docs/smallrye-stork/1/service-discovery/kubernetes.adoc @@ -0,0 +1,133 @@ += Kubernetes Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Kubernetes has a built-in support for service discovery and load-balancing. +However, you may need more flexibility to carefully select the service instance you want. + +This page explains how Stork can use the Kubernetes API to handle the service discovery. + +== Dependency + +First, you need to add the Stork Kubernetes Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-kubernetes + {project-version} + +---- + +=== A few words about server authentication. + +Stork uses https://github.com/fabric8io/kubernetes-client#readme[Fabric8 Kubernetes Client] to access the Kubernetes resources, concretely the `DefaultKubernetesClient` implementation. + +It will try to read the `~/.kube/config` file from your local machine and load the token for authenticating with the Kubernetes API server. + +If you are using the Stork Kubernetes discovery provider from inside a _Pod_, it loads `~/.kube/config` from the container file system. + +This file is automatically mounted inside the Pod. + +The level of access (Roles) depends on the configured `ServiceAccount`. + +You can override this configuration if you want fine-grain control. + +==== Role-based access control (RBAC) + +If you're using a Kubernetes cluster with Role-Based Access Control (RBAC) enabled, the default permissions for a ServiceAccount don't allow it to list or modify any resources. +A `ServiceAccount`, a `Role` and a `RoleBinding` are needed in order to allow Stork to list the available service instances from the cluster or the namespace. + +An example that allows listing all endpoints could look something like this: + +[source,yaml] +---- +------ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: + namespace: +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: + namespace: +rules: + - apiGroups: [""] # "" indicates the core API group + resources: ["endpoints", "pods"] # stork queries service endpoints and pods + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: + namespace: +subjects: + - kind: ServiceAccount + # Reference to upper's `metadata.name` + name: + # Reference to upper's `metadata.namespace` + namespace: +roleRef: + kind: Role + name: + apiGroup: rbac.authorization.k8s.io +---- + +== Configuration + +For each service expected to be exposed as _Kubernetes Service_, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.k8s-namespace=my-namespace +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.k8s-namespace=my-namespace +---- + +-- + +==== + +Stork looks for the _Kubernetes Service_ with the given name (`my-service` in the previous example) in the specified namespace. + +Instead of using the _Kubernetes Service_ IP directly, and let Kubernetes handle the selection and balancing, Stork inspects the service and retrieves the list of _pods_ providing the service. +Then, it can select the instance. + +Supported attributes are the following: + +include::{generated-dir}/kubernetes-sd-attributes.adoc[] + +== Caching the service instances + +Contacting the cluster too much frequently can result in performance problems. It's why Kubernetes Service discovery extends `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +Moreover, the caching expiration has been also improved in order to only update the retrieved set of `ServiceInstance` if some of them changes and an event is emitted. +This is done by creating an https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/informers/SharedIndexInformer.html[Informer], similar to a https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/Watch.html[Watch], able to observe the events on the service instances resources. + +include::{examples-dir}/../src/main/java/io/smallrye/stork/servicediscovery/kubernetes/KubernetesServiceDiscovery.java[opts=optional] + +Note that: +- the cache is invalidated when an event is received. +- the cache is validated once the instances are retrieved from the cluster, in the `fetchNewServiceInstances` method. +- the `cache` method is overrided to customize the expiration strategy. In this case the collection of service instances will be kept until an event occurs. diff --git a/content/docs/smallrye-stork/1/service-discovery/static-list.adoc b/content/docs/smallrye-stork/1/service-discovery/static-list.adoc new file mode 100644 index 000000000..6954f0756 --- /dev/null +++ b/content/docs/smallrye-stork/1/service-discovery/static-list.adoc @@ -0,0 +1,56 @@ += Static List Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +In some situations, such as demos, development, or testing, you may want to mock the service discovery by providing a predefined list of service instances. +For this purpose, Stork comes with a `static` service discovery type. + +== Dependency + +To use the `static` service discovery, first add the appropriate Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-static-list + {project-version} + +---- + +== Configuration + +For each service that should use the static list of service instances configure the service discovery `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=static +stork.my-service.service-discovery.address-list=localhost:8080,localhost:8081 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=static +quarkus.stork.my-service.service-discovery.address-list=localhost:8080,localhost:8081 +---- + +-- + +==== + +These are all the static service discovery parameters: + +include::{generated-dir}/static-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/_attributes.adoc b/content/docs/smallrye-stork/2/_attributes.adoc new file mode 100644 index 000000000..ab473c9c6 --- /dev/null +++ b/content/docs/smallrye-stork/2/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 2.7.11 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Stork +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 2.7.11 +:relfileprefix: /docs/smallrye-stork/2/ +:imagesdir: /docs/smallrye-stork/2 +:docs-project: smallrye-stork +:docs-version: 2 +:docs-ref: 2.7.11 diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeDiscoveryApiUsage.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeDiscoveryApiUsage.java new file mode 100644 index 000000000..1487b571a --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeDiscoveryApiUsage.java @@ -0,0 +1,20 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.StorkServiceRegistry; + +import java.util.List; + +public class AcmeDiscoveryApiUsage { + + public void example(StorkServiceRegistry stork) { + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new AcmeConfiguration().withHost("my-host")) + ); + + Uni> serviceInstances = stork.getService("my-service").getInstances(); + } + +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeLoadBalancer.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeLoadBalancer.java new file mode 100644 index 000000000..6fb0b1be1 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeLoadBalancer.java @@ -0,0 +1,32 @@ +package examples; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Random; + +import io.smallrye.stork.api.LoadBalancer; +import io.smallrye.stork.api.NoServiceInstanceFoundException; +import io.smallrye.stork.api.ServiceInstance; + +public class AcmeLoadBalancer implements LoadBalancer { + + private final Random random; + + public AcmeLoadBalancer(AcmeLoadBalancerConfiguration config) { + random = new Random(); + } + + @Override + public ServiceInstance selectServiceInstance(Collection serviceInstances) { + if (serviceInstances.isEmpty()) { + throw new NoServiceInstanceFoundException("No services found."); + } + int index = random.nextInt(serviceInstances.size()); + return new ArrayList<>(serviceInstances).get(index); + } + + @Override + public boolean requiresStrictRecording() { + return false; + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeLoadBalancerProvider.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeLoadBalancerProvider.java new file mode 100644 index 000000000..3640322ee --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeLoadBalancerProvider.java @@ -0,0 +1,22 @@ +package examples; + +import io.smallrye.stork.api.LoadBalancer; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.LoadBalancerAttribute; +import io.smallrye.stork.api.config.LoadBalancerType; +import io.smallrye.stork.spi.LoadBalancerProvider; +import jakarta.enterprise.context.ApplicationScoped; + +@LoadBalancerType("acme-load-balancer") +@LoadBalancerAttribute(name = "my-attribute", + description = "Attribute that alters the behavior of the LoadBalancer") +@ApplicationScoped +public class AcmeLoadBalancerProvider implements + LoadBalancerProvider { + + @Override + public LoadBalancer createLoadBalancer(AcmeLoadBalancerConfiguration config, + ServiceDiscovery serviceDiscovery) { + return new AcmeLoadBalancer(config); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeObservationCollector.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeObservationCollector.java new file mode 100644 index 000000000..ea3378927 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeObservationCollector.java @@ -0,0 +1,36 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.observability.ObservationCollector; +import io.smallrye.stork.api.observability.StorkEventHandler; +import io.smallrye.stork.api.observability.StorkObservation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class AcmeObservationCollector implements ObservationCollector { + + private static final Logger LOGGER = LoggerFactory.getLogger(AcmeObservationCollector.class); + + private static final StorkEventHandler ACME_HANDLER = event -> { + //This is the terminal event. Put here your custom logic to extend the metrics collection. + + //E.g. Expose metrics to Micrometer, additional logs.... + LOGGER.info( "Service discovery took " + event.getServiceDiscoveryDuration() + "."); + LOGGER.info( event.getDiscoveredInstancesCount() + " have been discovered for " + event.getServiceName() + "."); + LOGGER.info( "Service selection took " + event.getServiceSelectionDuration() + "."); + + // ... + + }; + + public static StorkObservation ACME_STORK_EVENT; + + @Override + public StorkObservation create(String serviceName, String serviceDiscoveryType, + String serviceSelectionType) { + ACME_STORK_EVENT = new StorkObservation( + serviceName, serviceDiscoveryType, serviceSelectionType, + ACME_HANDLER); + return ACME_STORK_EVENT; + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeRegistrarApiUsage.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeRegistrarApiUsage.java new file mode 100644 index 000000000..1d69dc207 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeRegistrarApiUsage.java @@ -0,0 +1,21 @@ +package examples; + +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.StorkServiceRegistry; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +public class AcmeRegistrarApiUsage { + + public void example(StorkServiceRegistry stork) { + String list = "localhost:8080, localhost:8081"; + + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new StaticConfiguration().withAddressList(list), + new AcmeLoadBalancerConfiguration().withMyAttribute("my-value"),new AcmeRegistrarConfiguration()) + ); + + stork.getService("my-service").registerInstance("my-service", "localhost", + 9000); + } + +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeSelectorApiUsage.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeSelectorApiUsage.java new file mode 100644 index 000000000..67440ddf9 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeSelectorApiUsage.java @@ -0,0 +1,22 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.StorkServiceRegistry; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; +import io.smallrye.stork.serviceregistration.staticlist.StaticRegistrarConfiguration; + +public class AcmeSelectorApiUsage { + + public void example(StorkServiceRegistry stork) { + String list = "localhost:8080, localhost:8081"; + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new StaticConfiguration().withAddressList(list), + new AcmeLoadBalancerConfiguration().withMyAttribute("my-value"),new StaticRegistrarConfiguration()) + ); + + Uni uni = stork.getService("my-service").selectInstance(); + } + +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceDiscovery.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceDiscovery.java new file mode 100644 index 000000000..b9368c4b4 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceDiscovery.java @@ -0,0 +1,32 @@ +package examples; + +import java.util.Collections; +import java.util.List; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +public class AcmeServiceDiscovery implements ServiceDiscovery { + + private final String host; + private final int port; + + public AcmeServiceDiscovery(AcmeConfiguration configuration) { + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override + public Uni> getServiceInstances() { + // Proceed to the lookup... + // Here, we just return a DefaultServiceInstance with the configured host and port + // The last parameter specifies whether the communication with the instance should + // happen over a secure connection + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceDiscoveryProvider.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceDiscoveryProvider.java new file mode 100644 index 000000000..ca39d5289 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceDiscoveryProvider.java @@ -0,0 +1,28 @@ +package examples; + +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.ServiceConfig; +import io.smallrye.stork.api.config.ServiceDiscoveryAttribute; +import io.smallrye.stork.api.config.ServiceDiscoveryType; +import io.smallrye.stork.spi.StorkInfrastructure; +import io.smallrye.stork.spi.ServiceDiscoveryProvider; +import jakarta.enterprise.context.ApplicationScoped; + +@ServiceDiscoveryType("acme") +@ServiceDiscoveryAttribute(name = "host", + description = "Host name of the service discovery server.", required = true) +@ServiceDiscoveryAttribute(name = "port", + description = "Hort of the service discovery server.", required = false) +@ApplicationScoped +public class AcmeServiceDiscoveryProvider + implements ServiceDiscoveryProvider { + + @Override + public ServiceDiscovery createServiceDiscovery( + AcmeConfiguration config, + String serviceName, + ServiceConfig serviceConfig, + StorkInfrastructure storkInfrastructure) { + return new AcmeServiceDiscovery(config); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceRegistrar.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceRegistrar.java new file mode 100644 index 000000000..41ce5db4c --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceRegistrar.java @@ -0,0 +1,30 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.Metadata; +import io.smallrye.stork.api.ServiceRegistrar; + +public class AcmeServiceRegistrar implements ServiceRegistrar { + + private final String backendHost; + private final int backendPort; + + public AcmeServiceRegistrar(AcmeRegistrarConfiguration configuration) { + this.backendHost = configuration.getHost(); + this.backendPort = Integer.parseInt(configuration.getPort()); + } + + + @Override + public Uni registerServiceInstance(String serviceName, String instanceName, Metadata metadata, String ipAddress, int defaultPort) { + //instanceName is an optional identifier for this specific instance; use it as the registration ID when provided + //do whatever is needed for registering service instance + return Uni.createFrom().voidItem(); + } + + @Override + public Uni deregisterServiceInstance(String serviceName) { + //do whatever is needed for deregistering service instance + return Uni.createFrom().voidItem(); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceRegistrarProvider.java b/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceRegistrarProvider.java new file mode 100644 index 000000000..52e028cfb --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/AcmeServiceRegistrarProvider.java @@ -0,0 +1,28 @@ +package examples; + +import io.smallrye.stork.api.Metadata; +import io.smallrye.stork.api.ServiceRegistrar; +import io.smallrye.stork.api.config.ServiceRegistrarAttribute; +import io.smallrye.stork.api.config.ServiceRegistrarType; +import io.smallrye.stork.spi.ServiceRegistrarProvider; +import io.smallrye.stork.spi.StorkInfrastructure; +import jakarta.enterprise.context.ApplicationScoped; + +@ServiceRegistrarType(value = "acme", metadataKey = Metadata.DefaultMetadataKey.class) +@ServiceRegistrarAttribute(name = "host", + description = "Host name of the service registration server.", required = true) +@ServiceRegistrarAttribute(name = "port", + description = "Port of the service registration server.", required = false) +@ApplicationScoped +public class AcmeServiceRegistrarProvider + implements ServiceRegistrarProvider { + + @Override + public ServiceRegistrar createServiceRegistrar( + AcmeRegistrarConfiguration config, + String serviceName, + StorkInfrastructure storkInfrastructure) { + return new AcmeServiceRegistrar(config); + } + +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/CachedAcmeServiceDiscovery.java b/content/docs/smallrye-stork/2/_examples/examples/CachedAcmeServiceDiscovery.java new file mode 100644 index 000000000..204aa78c9 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/CachedAcmeServiceDiscovery.java @@ -0,0 +1,31 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +import java.util.Collections; +import java.util.List; + +public class CachedAcmeServiceDiscovery extends CachingServiceDiscovery { + + private final String host; + private final int port; + + public CachedAcmeServiceDiscovery(CachedAcmeConfiguration configuration) { + super(configuration.getRefreshPeriod()); // (1) + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override // (2) + public Uni> fetchNewServiceInstances(List previousInstances) { + // Retrieve services... + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/CachedAcmeServiceDiscoveryProvider.java b/content/docs/smallrye-stork/2/_examples/examples/CachedAcmeServiceDiscoveryProvider.java new file mode 100644 index 000000000..56d627671 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/CachedAcmeServiceDiscoveryProvider.java @@ -0,0 +1,32 @@ +package examples; + +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.ServiceConfig; +import io.smallrye.stork.api.config.ServiceDiscoveryAttribute; +import io.smallrye.stork.api.config.ServiceDiscoveryType; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.spi.ServiceDiscoveryProvider; +import io.smallrye.stork.spi.StorkInfrastructure; +import jakarta.enterprise.context.ApplicationScoped; + +@ServiceDiscoveryType("cached-acme") +@ServiceDiscoveryAttribute(name = "host", + description = "Host name of the service discovery server.", required = true) +@ServiceDiscoveryAttribute(name = "port", + description = "Hort of the service discovery server.", required = false) +@ServiceDiscoveryAttribute(name = "refresh-period", + description = "Service discovery cache refresh period.", + defaultValue = CachingServiceDiscovery.DEFAULT_REFRESH_INTERVAL) +@ApplicationScoped +public class CachedAcmeServiceDiscoveryProvider + implements ServiceDiscoveryProvider { + + @Override + public ServiceDiscovery createServiceDiscovery( + CachedAcmeConfiguration config, + String serviceName, + ServiceConfig serviceConfig, + StorkInfrastructure storkInfrastructure) { + return new CachedAcmeServiceDiscovery(config); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java b/content/docs/smallrye-stork/2/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java new file mode 100644 index 000000000..b2e3823c9 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java @@ -0,0 +1,44 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +import java.util.Collections; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; + +public class CustomExpirationCachedAcmeServiceDiscovery extends CachingServiceDiscovery { + + private final String host; + private final int port; + + private AtomicBoolean invalidated = new AtomicBoolean(); + + public CustomExpirationCachedAcmeServiceDiscovery(CachedAcmeConfiguration configuration) { + super(configuration.getRefreshPeriod()); + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override + public Uni> fetchNewServiceInstances(List previousInstances) { + // Retrieve services... + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } + + @Override + public Uni> cache(Uni> uni) { + return uni.memoize().until(() -> invalidated.get()); + } + + @Override + public void invalidate() { + invalidated.set(true); + } + +} \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/_examples/examples/DefinitionExample.java b/content/docs/smallrye-stork/2/_examples/examples/DefinitionExample.java new file mode 100644 index 000000000..aab2dc3d6 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/DefinitionExample.java @@ -0,0 +1,30 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; +import io.smallrye.stork.serviceregistration.staticlist.StaticRegistrarConfiguration; + +public class DefinitionExample { + + public static void example(Stork stork) { + String example = "localhost:8080, localhost:8081"; + + // A service using a static list of locations as discovery + // As not set, it defaults to round-robin to select the instance. + stork.defineIfAbsent("my-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example))); + + // Another service using the random selection strategy, instead of round-robin + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration())); + + // Another service using the random selection strategy, instead of round-robin + // and a static service registrar + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration(), new StaticRegistrarConfiguration())); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/HelloClient.java b/content/docs/smallrye-stork/2/_examples/examples/HelloClient.java new file mode 100644 index 000000000..eec581608 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/HelloClient.java @@ -0,0 +1,20 @@ +package examples; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; + + + +@Path("/") +@RegisterRestClient(baseUri = "stork://hello-service/hello") +public interface HelloClient { + @POST + @Produces(MediaType.TEXT_PLAIN) + @Consumes(MediaType.TEXT_PLAIN) + String echo(String name); +} + diff --git a/content/docs/smallrye-stork/2/_examples/examples/InitializationExample.java b/content/docs/smallrye-stork/2/_examples/examples/InitializationExample.java new file mode 100644 index 000000000..cb93ca0bd --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/InitializationExample.java @@ -0,0 +1,18 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +import java.time.Duration; + +public class InitializationExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + // ... + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/LookupExample.java b/content/docs/smallrye-stork/2/_examples/examples/LookupExample.java new file mode 100644 index 000000000..71e232d12 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/LookupExample.java @@ -0,0 +1,27 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +import java.util.List; +import java.util.Map; + +public class LookupExample { + + public static void example(Stork stork) { + Service service = stork.getService("my-service"); + + // Gets all the available instances: + Uni> instances = service.getInstances(); + // Select one instance using the load balancing strategy + Uni instance = service.selectInstance(); + + // Gets all the managed services: + Map services = stork.getServices(); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/ObservableInitializationExample.java b/content/docs/smallrye-stork/2/_examples/examples/ObservableInitializationExample.java new file mode 100644 index 000000000..d18854291 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/ObservableInitializationExample.java @@ -0,0 +1,13 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.integration.ObservableStorkInfrastructure; + +public class ObservableInitializationExample { + + public static void main(String[] args) { + Stork.initialize(new ObservableStorkInfrastructure(new AcmeObservationCollector())); + Stork stork = Stork.getInstance(); + // ... + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/ObservationExample.java b/content/docs/smallrye-stork/2/_examples/examples/ObservationExample.java new file mode 100644 index 000000000..299fc5b4e --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/ObservationExample.java @@ -0,0 +1,35 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.observability.ObservationCollector; +import io.smallrye.stork.api.observability.StorkObservation; + +import java.time.Duration; +import java.util.List; +import java.util.Map; + +import static examples.AcmeObservationCollector.*; + +public class ObservationExample { + + public static void example(Stork stork) { + Service service = stork.getService("my-service"); + + ObservationCollector observations = service.getObservations(); + + // Gets the time spent in service discovery and service selection even if any error happens + Duration overallDuration = ACME_STORK_EVENT.getOverallDuration(); + + // Gets the total number of instances discovered + int discoveredInstancesCount = ACME_STORK_EVENT.getDiscoveredInstancesCount(); + + // Gets the error raised during the process + Throwable failure = ACME_STORK_EVENT.failure(); + + // ... + + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/SpringBootInitializationExample.java b/content/docs/smallrye-stork/2/_examples/examples/SpringBootInitializationExample.java new file mode 100644 index 000000000..d21242584 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/SpringBootInitializationExample.java @@ -0,0 +1,29 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.springboot.SpringBootApplicationContextProvider; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.DependsOn; + +@SpringBootApplication +public class SpringBootInitializationExample { + + public static void main(String[] args) { + SpringApplication.run(SpringBootInitializationExample.class, args); + } + + @Bean + @DependsOn("springBootApplicationContextProvider") + public Stork stork() { + Stork.initialize(); + Stork stork = Stork.getInstance(); + return stork; + } + + @Bean + public SpringBootApplicationContextProvider springBootApplicationContextProvider() { + return new SpringBootApplicationContextProvider(); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/StorkApiExample.java b/content/docs/smallrye-stork/2/_examples/examples/StorkApiExample.java new file mode 100644 index 000000000..d8713eb9f --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/StorkApiExample.java @@ -0,0 +1,40 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; +import io.smallrye.stork.serviceregistration.staticlist.StaticRegistrarConfiguration; + +import java.time.Duration; + +public class StorkApiExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + String example = "localhost:8080, localhost:8082"; + + // A service using a static list of locations as discovery + // As not set, it defaults to round-robin to select the instance. + stork.defineIfAbsent("my-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example))); + + // Another service using the random selection strategy, instead of round-robin + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration())); + + ServiceInstance instance = stork.getService("my-second-service").selectInstance() + .await().atMost(Duration.ofSeconds(1)); + System.out.println(instance.getHost() + ":" + instance.getPort()); + + // Another service using the random selection strategy, instead of round-robin + // and a static service registrar + stork.defineIfAbsent("my-third-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration(), new StaticRegistrarConfiguration())); + } +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/StorkEntryPointExample.java b/content/docs/smallrye-stork/2/_examples/examples/StorkEntryPointExample.java new file mode 100644 index 000000000..99343bd51 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/StorkEntryPointExample.java @@ -0,0 +1,14 @@ +package examples; + +import io.smallrye.stork.Stork; + +public class StorkEntryPointExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/StorkServiceExample.java b/content/docs/smallrye-stork/2/_examples/examples/StorkServiceExample.java new file mode 100644 index 000000000..c0b7dbb06 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/StorkServiceExample.java @@ -0,0 +1,18 @@ +package examples; + +import io.smallrye.stork.api.Service; +import io.smallrye.stork.Stork; + +public class StorkServiceExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/StorkServiceLookupExample.java b/content/docs/smallrye-stork/2/_examples/examples/StorkServiceLookupExample.java new file mode 100644 index 000000000..70c03cdc1 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/StorkServiceLookupExample.java @@ -0,0 +1,24 @@ +package examples; + +import java.time.Duration; +import java.util.List; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; + +public class StorkServiceLookupExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + List instances = service.getInstances() + .await().atMost(Duration.ofSeconds(5)); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/2/_examples/examples/StorkServiceSelectionExample.java b/content/docs/smallrye-stork/2/_examples/examples/StorkServiceSelectionExample.java new file mode 100644 index 000000000..a9e3dcc85 --- /dev/null +++ b/content/docs/smallrye-stork/2/_examples/examples/StorkServiceSelectionExample.java @@ -0,0 +1,25 @@ +package examples; + +import java.time.Duration; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; + +public class StorkServiceSelectionExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + ServiceInstance instance = service.selectInstance() + .await().atMost(Duration.ofSeconds(5)); + + System.out.println(instance.getHost() + ":" + instance.getPort()); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/2/_generated/composite-sd-attributes.adoc b/content/docs/smallrye-stork/2/_generated/composite-sd-attributes.adoc new file mode 100644 index 000000000..ae556fc30 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/composite-sd-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`services` |Yes | |A comma-separated list of services that this services consists of. +|=== diff --git a/content/docs/smallrye-stork/2/_generated/consul-sd-attributes.adoc b/content/docs/smallrye-stork/2/_generated/consul-sd-attributes.adoc new file mode 100644 index 000000000..007fb5d01 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/consul-sd-attributes.adoc @@ -0,0 +1,17 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`consul-host` |No |`localhost` |The Consul host. +|`consul-port` |No |`8500` |The Consul port. +|`use-health-checks` |No |`true` |Whether to use health check. +|`application` |No | |The application name; if not defined Stork service name will be used. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |whether the connection with the service should be encrypted with TLS. +|`ssl` |No |`false` |Whether to enable TLS/SSL when connecting to Consul (default: false) +|`trust-store-path` |No |++``++ |Path to the trust store file used to verify the Consul server certificate +|`trust-store-password` |No |++``++ |Password of the trust store +|`key-store-path` |No |++``++ |Path to the key store file containing the client certificate and private key +|`key-store-password` |No |++``++ |Password of the key store +|`verify-host` |No |`false` |Whether to enable hostname verification for the Consul TLS connection (default: false) +|`acl-token` |No |++``++ |Consul ACL token used for authentication when accessing the Consul API +|=== diff --git a/content/docs/smallrye-stork/2/_generated/consul-sr-attributes.adoc b/content/docs/smallrye-stork/2/_generated/consul-sr-attributes.adoc new file mode 100644 index 000000000..861f4a93b --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/consul-sr-attributes.adoc @@ -0,0 +1,16 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`consul-host` |No |`localhost` |The Consul host. +|`consul-port` |No |`8500` |The Consul port. +|`health-check-url` |No |++``++ |The liveness http address. +|`health-check-interval` |No |`30s` |How often Consul performs the health check +|`health-check-deregister-after` |No |`1m` |How long after the check is in critical status Consul will remove the service from the catalogue. +|`ssl` |No |`false` |Whether to enable TLS/SSL when connecting to Consul (default: false) +|`trust-store-path` |No |++``++ |Path to the trust store file used to verify the Consul server certificate +|`trust-store-password` |No |++``++ |Password of the trust store +|`key-store-path` |No |++``++ |Path to the key store file containing the client certificate and private key +|`key-store-password` |No |++``++ |Password of the key store +|`verify-host` |No |`false` |Whether to enable hostname verification for the Consul TLS connection (default: false) +|`acl-token` |No |++``++ |Consul ACL token used for authentication when accessing the Consul API +|=== diff --git a/content/docs/smallrye-stork/2/_generated/dns-sd-attributes.adoc b/content/docs/smallrye-stork/2/_generated/dns-sd-attributes.adoc new file mode 100644 index 000000000..d1e538a95 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/dns-sd-attributes.adoc @@ -0,0 +1,14 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`dns-servers` |No |`none` |Comma separated list of dns servers. Servers can either be in the `server:port` or just `server` form. Use `none` to use the system resolver. +|`hostname` |No | |The hostname to look up; if not defined Stork service name will be used. +|`record-type` |No |`SRV` |Type of the DNS record. A, AAAA and SRV records are supported +|`port` |No | |Port of the service instances. Required if the record type is other than SRV. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|`recursion-desired` |No |`true` |Whether DNS recursion is desired +|`resolve-srv` |No |`true` |Whether DNS resolution for SRV records is desired +|`dns-timeout` |No |`5s` |Timeout for DNS queries +|`fail-on-error` |No |`false` |Whether an error in retrieving service instances from one of the DNS servers should cause a failure of the discovery attempt. +|=== diff --git a/content/docs/smallrye-stork/2/_generated/eureka-sd-attributes.adoc b/content/docs/smallrye-stork/2/_generated/eureka-sd-attributes.adoc new file mode 100644 index 000000000..2a2581bcb --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/eureka-sd-attributes.adoc @@ -0,0 +1,13 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`eureka-host` |Yes | |The Eureka server host. +|`eureka-port` |No |`8761` |The Eureka server port. +|`eureka-context-path` |No |`/` |The Eureka server root context path. +|`application` |No | |The Eureka application Id; if not defined Stork service name will be used +|`eureka-trust-all` |No |`false` |Enable/Disable the TLS certificate verification +|`eureka-tls` |No |`false` |Use TLS to connect to the Eureka server +|`instance` |No | |The Eureka application instance Id +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No |`false` |Whether is should select the secured endpoint of the retrieved services. +|=== diff --git a/content/docs/smallrye-stork/2/_generated/eureka-sr-attributes.adoc b/content/docs/smallrye-stork/2/_generated/eureka-sr-attributes.adoc new file mode 100644 index 000000000..e18d0ba66 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/eureka-sr-attributes.adoc @@ -0,0 +1,11 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`eureka-host` |No |`localhost` |The Eureka host. +|`eureka-port` |No |`8761` |The Eureka port. +|`eureka-context-path` |No |`/` |The Eureka server root context path. +|`eureka-trust-all` |No |`false` |Enable/Disable the TLS certificate verification +|`eureka-tls` |No |`false` |Use TLS to connect to the Eureka server +|`health-check-url` |No |++``++ |The liveness http address. +|`host-name` |No |++``++ |The host name to register in Eureka. If not set, the ipAddress is used. +|=== diff --git a/content/docs/smallrye-stork/2/_generated/knative-sd-attributes.adoc b/content/docs/smallrye-stork/2/_generated/knative-sd-attributes.adoc new file mode 100644 index 000000000..3b3fe0eb3 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/knative-sd-attributes.adoc @@ -0,0 +1,9 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`knative-host` |No | |The Knative API host. +|`knative-namespace` |No | |The namespace of the service. Use all to discover all namespaces. +|`application` |No | |The Knative application Id; if not defined Stork service name will be used. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|=== diff --git a/content/docs/smallrye-stork/2/_generated/kubernetes-sd-attributes.adoc b/content/docs/smallrye-stork/2/_generated/kubernetes-sd-attributes.adoc new file mode 100644 index 000000000..d0bbb6980 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/kubernetes-sd-attributes.adoc @@ -0,0 +1,14 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`k8s-host` |No | |The Kubernetes API host. +|`k8s-namespace` |No | |The namespace of the service. Use all to discover all namespaces. +|`application` |No | |The Kubernetes application Id; if not defined Stork service name will be used. +|`port-name` |No | |The Kubernetes application port name. If not defined, when exposing multiple ports, Stork will use the first one. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|`request-retry-backoff-limit` |No | |Maximum number of retry attempts allowed after a request failure. +|`request-retry-backoff-interval` |No | |Amount of time to wait between retry attempts after a request fails. +|`use-endpoint-slices` |No | |Use the EndpointSlice API instead +|`use-cluster-ip` |No |`false` |Use the Kubernetes Service ClusterIP instead of pod IPs. Stork returns a single instance with the ClusterIP and resolved port. +|=== diff --git a/content/docs/smallrye-stork/2/_generated/least-requests-lb-attributes.adoc b/content/docs/smallrye-stork/2/_generated/least-requests-lb-attributes.adoc new file mode 100644 index 000000000..60c10c523 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/least-requests-lb-attributes.adoc @@ -0,0 +1,4 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|=== diff --git a/content/docs/smallrye-stork/2/_generated/least-response-time-lb-attributes.adoc b/content/docs/smallrye-stork/2/_generated/least-response-time-lb-attributes.adoc new file mode 100644 index 000000000..dd977d2d0 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/least-response-time-lb-attributes.adoc @@ -0,0 +1,7 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`declining-factor` |No |`0.9` |How much _score_ should decline in time, see Score calculation in the docs for details. +|`error-penalty` |No |`60s` |This load balancer treats an erroneous response as a response after this time. +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/2/_generated/power-of-two-choices-lb-attributes.adoc b/content/docs/smallrye-stork/2/_generated/power-of-two-choices-lb-attributes.adoc new file mode 100644 index 000000000..95a37a4df --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/power-of-two-choices-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/2/_generated/random-lb-attributes.adoc b/content/docs/smallrye-stork/2/_generated/random-lb-attributes.adoc new file mode 100644 index 000000000..95a37a4df --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/random-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/2/_generated/static-sd-attributes.adoc b/content/docs/smallrye-stork/2/_generated/static-sd-attributes.adoc new file mode 100644 index 000000000..469ca6230 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/static-sd-attributes.adoc @@ -0,0 +1,7 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`address-list` |Yes | |A comma-separated list of addresses (host:port). The default port is 80. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. Default is false, except if the host:port uses the port is 443. +|`shuffle` |No |`false` |Whether the list of address must be shuffled to avoid using the first address on every startup. +|=== diff --git a/content/docs/smallrye-stork/2/_generated/static-sr-attributes.adoc b/content/docs/smallrye-stork/2/_generated/static-sr-attributes.adoc new file mode 100644 index 000000000..8ec570617 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/static-sr-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`address-list` |Yes | |A comma-separated list of addresses (host:port). The default port is 80. +|=== diff --git a/content/docs/smallrye-stork/2/_generated/sticky-lb-attributes.adoc b/content/docs/smallrye-stork/2/_generated/sticky-lb-attributes.adoc new file mode 100644 index 000000000..e458f6468 --- /dev/null +++ b/content/docs/smallrye-stork/2/_generated/sticky-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`failure-backoff-time` |No |`0` |After how much time, a service instance that has failed can be reused. +|=== diff --git a/content/docs/smallrye-stork/2/_nav.yml b/content/docs/smallrye-stork/2/_nav.yml new file mode 100644 index 000000000..8975e7eed --- /dev/null +++ b/content/docs/smallrye-stork/2/_nav.yml @@ -0,0 +1,68 @@ +title: SmallRye Stork +nav: +- title: Overview + page: index +- title: Concepts + page: concepts +- title: Programmatic API + page: programmatic-api +- title: Microprofile Configuration + page: microprofile-config +- title: Spring Boot Configuration + page: springboot-config +- title: Observability + page: observability +- title: Javadoc + url: https://javadoc.io/doc/io.smallrye.stork/smallrye-stork-api/latest/index.html +- title: Using Stork with Quarkus + page: quarkus +- title: Service Discovery + items: + - title: Overview + page: service-discovery/overview + - title: Consul + page: service-discovery/consul + - title: DNS + page: service-discovery/dns + - title: Kubernetes + page: service-discovery/kubernetes + - title: KNative + page: service-discovery/knative + - title: Eureka + page: service-discovery/eureka + - title: Composite + page: service-discovery/composite + - title: Static List + page: service-discovery/static-list + - title: Custom Service Discovery + page: service-discovery/custom-service-discovery +- title: Load-Balancing + items: + - title: Overview + page: load-balancer/overview + - title: Round Robin + page: load-balancer/round-robin + - title: Random + page: load-balancer/random + - title: Least Requests + page: load-balancer/least-requests + - title: Least Response Time + page: load-balancer/least-response-time + - title: Power Of Two Choices + page: load-balancer/power-of-two-choices + - title: Sticky + page: load-balancer/sticky + - title: Custom Load Balancer + page: load-balancer/custom-load-balancer +- title: Service Registration + items: + - title: Overview + page: service-registration/overview + - title: Consul + page: service-registration/consul + - title: Eureka + page: service-registration/eureka + - title: Static List + page: service-registration/static-list + - title: Custom Service Registration + page: service-registration/custom-service-registration diff --git a/content/docs/smallrye-stork/2/concepts.adoc b/content/docs/smallrye-stork/2/concepts.adoc new file mode 100644 index 000000000..4df811935 --- /dev/null +++ b/content/docs/smallrye-stork/2/concepts.adoc @@ -0,0 +1,110 @@ += Concepts +include::_attributes.adoc[] + +This page presents the concepts used in Stork. +When using Stork in a _managed_ environment, such as Quarkus, all these concepts are hidden, as you only configure the lookup and selection. +However, when using the programmatic API, you will use these concepts directly. + +[.has-dark] +image::images/diagrams/plantuml-383c9b353dda.svg[stork] + +== Process overview + +When using the programmatic API of Stork, you can: + +[arabic] +. Retrieve the _singleton_ `Stork` instance. This instance is configured with the set of `Service` it manages. +. Retrieve the `Service` you want to use. Each `Service` is associated with a name. +. Retrieve the `ServiceInstance` which will provide the metadata to access the actual service. + +[.has-dark] +image::images/diagrams/plantuml-a0003ba546d7.svg[sequence] + +Behind the scenes, Stork will handle the service lookup and selection. + +[NOTE] +==== + +The service lookup and selection are asynchronous operations. +Thus, the API returns instances of `Uni`. + +==== + +== Stork + +`io.smallrye.stork.Stork` is the entry-point of the API. +The `Stork` instance is a _singleton_. +It needs to be initialized once (when the application starts) and shutdown when the application stops: + +[source,java] +---- +include::{examples-dir}/examples/StorkEntryPointExample.java[indent=0] +---- + +During the initialization, Stork looks for `io.smallrye.stork.config.ConfigProvider` SPI provider and CDI beans (from 2.x version) and retrieves the list of managed services: + +* A service is identified by a *name*. +* A service has a service discovery configuration indicating how Stork will look for service instances +* A service can have a load-balancer configuration indicating how Stork can select the most appropriate instance. + +== Service + +A `io.smallrye.stork.Service` is the structure representing a _service_ used by the application. +Services are pre-configured with their name, service discovery, and optionally, their load-balancer. +You retrieve a `Service` using the `Stork#getService(String name)` method. + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceExample.java[indent=0] +---- + +The `Service` lets you retrieve the list of `ServiceInstance`, or select a single one, when a load-balancer is configured. + +== Service Instance + +The `io.smallrye.stork.api.ServiceInstance` represents an actual instance of the service. +It provides the metadata to configure a _client_ to interact with that specific instance of service. + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceLookupExample.java[indent=0] +---- + +The service selection is a two-steps process: + +[arabic] +. Service lookup - using the service discovery +. Service selection - using the load balancer + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceSelectionExample.java[indent=0] +---- + +== Service Discovery + +The `io.smallrye.stork.api.ServiceDiscovery` represents a service discovery mechanism, such as DNS, Consul, or Eureka. + +You can implement a custom service discovery for Stork by implementing the `ServiceDiscoveryProvider` interface. +The corresponding `ServiceRegistrarProviderLoader` and `RegistrarConfiguration` classes will be automatically generated during compilation time. + +Please note that the `ServiceDiscovery` implementation must be non-blocking. + +== Load Balancer + +The `io.smallrye.stork.api.LoadBalancer` represents a load-balancer strategy, such as round-robin. + +To implement a custom load balancer for Stork, implement the `LoadBalancerProvider` interface. +The corresponding `LoadBalancerProviderLoader` and `Configuration` classes will be automatically generated during compilation time. + +Please note that the `LoadBalancer` implementation, similarly to `ServiceDiscovery` +must be non-blocking. + +== Service registration + +The `io.smallrye.stork.api.ServiceRegistrar` represents a service registration mechanism for Consul and Eureka. + +You can implement a custom service registrar for Stork by implementing the `ServiceRegistrarProvider` interface. +The corresponding `ServiceRegistrarProviderLoader` and `RegistrarConfiguration` classes will be automatically generated during compilation time. + +Please note that the `ServiceRegistrar` implementation must be non-blocking. diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-383c9b353dda.dark.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-383c9b353dda.dark.svg new file mode 100644 index 000000000..2b9114071 --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-383c9b353dda.dark.svg @@ -0,0 +1 @@ +«entry-point»StorkServiceDiscoveryServiceInstanceLoadBalancer«named»ServiceKubernetesConsulCustom Service Discovery«default»RoundRobinLeastResponseTimeCustom Load Balancer*selectServiceInstance \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-383c9b353dda.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-383c9b353dda.svg new file mode 100644 index 000000000..0e4b865f3 --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-383c9b353dda.svg @@ -0,0 +1 @@ +«entry-point»StorkServiceDiscoveryServiceInstanceLoadBalancer«named»ServiceKubernetesConsulCustom Service Discovery«default»RoundRobinLeastResponseTimeCustom Load Balancer*selectServiceInstance \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-3c6c7f0192c2.dark.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-3c6c7f0192c2.dark.svg new file mode 100644 index 000000000..ffa3b7a8e --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-3c6c7f0192c2.dark.svg @@ -0,0 +1 @@ +ApplicationApplicationObservableStorkInfrastructureObservableStorkInfrastructureObservationCollectorObservationCollectorStorkStorkServiceServiceApplicationObservableStorkInfrastructureObservationCollectorStorkServiceApplicationObservableStorkInfrastructureObservationCollectorStorkService(1)instantiates(2)instantiates(3)ObservationCollector(4)ObservableStorkInfrastructure (5)initialize(observableInfrastructure)(6)instantiates (..., ObservationCollector, ...) \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-3c6c7f0192c2.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-3c6c7f0192c2.svg new file mode 100644 index 000000000..59018984f --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-3c6c7f0192c2.svg @@ -0,0 +1 @@ +ApplicationApplicationObservableStorkInfrastructureObservableStorkInfrastructureObservationCollectorObservationCollectorStorkStorkServiceServiceApplicationObservableStorkInfrastructureObservationCollectorStorkServiceApplicationObservableStorkInfrastructureObservationCollectorStorkService(1)instantiates(2)instantiates(3)ObservationCollector(4)ObservableStorkInfrastructure (5)initialize(observableInfrastructure)(6)instantiates (..., ObservationCollector, ...) \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-a0003ba546d7.dark.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-a0003ba546d7.dark.svg new file mode 100644 index 000000000..fb78d3e40 --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-a0003ba546d7.dark.svg @@ -0,0 +1 @@ +ApplicationApplicationApplicationStorkStorkStorkConfigProviderConfigProviderConfigProviderServiceServiceServiceService DiscoveryService DiscoveryService DiscoveryLoad BalancerLoad BalancerLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad Balancer(1)initialize()(2)getConfig()(3): List<ServiceConfig> (4)getService("name")(5)Service  (6)selectServiceInstance()(7)getServiceInstances()(8)Uni<List<ServiceInstance>>(9)selectServiceInstance()(10)Uni<ServiceInstance>(11)Uni<ServiceInstance> \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-a0003ba546d7.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-a0003ba546d7.svg new file mode 100644 index 000000000..9c1a99915 --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-a0003ba546d7.svg @@ -0,0 +1 @@ +ApplicationApplicationApplicationStorkStorkStorkConfigProviderConfigProviderConfigProviderServiceServiceServiceService DiscoveryService DiscoveryService DiscoveryLoad BalancerLoad BalancerLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad Balancer(1)initialize()(2)getConfig()(3): List<ServiceConfig> (4)getService("name")(5)Service  (6)selectServiceInstance()(7)getServiceInstances()(8)Uni<List<ServiceInstance>>(9)selectServiceInstance()(10)Uni<ServiceInstance>(11)Uni<ServiceInstance> \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-bc915c97a9fa.dark.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-bc915c97a9fa.dark.svg new file mode 100644 index 000000000..73cb14123 --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-bc915c97a9fa.dark.svg @@ -0,0 +1 @@ +ApplicationStorkDNS ServerApplicationStorkDNS ServerApplicationStorkDNS Serverget service instancesget SRV records for hostnamelist of SRV recordslist of SRV record targets if no resolution desiredget A/AAAA records for each SRV record targetlist of A/AAAAlist of ServiceInstances \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-bc915c97a9fa.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-bc915c97a9fa.svg new file mode 100644 index 000000000..39d2fba6a --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-bc915c97a9fa.svg @@ -0,0 +1 @@ +ApplicationStorkDNS ServerApplicationStorkDNS ServerApplicationStorkDNS Serverget service instancesget SRV records for hostnamelist of SRV recordslist of SRV record targets if no resolution desiredget A/AAAA records for each SRV record targetlist of A/AAAAlist of ServiceInstances \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-c8137b2f4bb7.dark.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-c8137b2f4bb7.dark.svg new file mode 100644 index 000000000..245c1b7c0 --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-c8137b2f4bb7.dark.svg @@ -0,0 +1 @@ +ServiceServiceServiceServiceServiceObservationCollectorObservationCollectorObservationCollectorObservationCollectorObservationCollectorStorkObservationStorkObservationStorkObservationStorkObservationStorkObservationStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandler(1)create("serviceName", sd type, ss type)(2)instantiates(3)Registers start time(4)StorkObservation (5)onServiceDiscoverySuccess(List<ServiceInstance>)(6)Registers end servicediscovery time.Registers instances count  (7)onServiceDiscoveryFailure(Throwable)(8)Registers end servicediscovery time.Registers failure cause  (9)onServiceSelectionSuccess(instanceId)(10)Registers end serviceselection time.Registers instance idRegisters overall duration (11)complete(this) (12)onServiceSelectionFailure(Throwable))(13)Registers overall duration.Registers failure cause (14)complete(this) \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/diagrams/plantuml-c8137b2f4bb7.svg b/content/docs/smallrye-stork/2/images/diagrams/plantuml-c8137b2f4bb7.svg new file mode 100644 index 000000000..c2ebac7a1 --- /dev/null +++ b/content/docs/smallrye-stork/2/images/diagrams/plantuml-c8137b2f4bb7.svg @@ -0,0 +1 @@ +ServiceServiceServiceServiceServiceObservationCollectorObservationCollectorObservationCollectorObservationCollectorObservationCollectorStorkObservationStorkObservationStorkObservationStorkObservationStorkObservationStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandler(1)create("serviceName", sd type, ss type)(2)instantiates(3)Registers start time(4)StorkObservation (5)onServiceDiscoverySuccess(List<ServiceInstance>)(6)Registers end servicediscovery time.Registers instances count  (7)onServiceDiscoveryFailure(Throwable)(8)Registers end servicediscovery time.Registers failure cause  (9)onServiceSelectionSuccess(instanceId)(10)Registers end serviceselection time.Registers instance idRegisters overall duration (11)complete(this) (12)onServiceSelectionFailure(Throwable))(13)Registers overall duration.Registers failure cause (14)complete(this) \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/problem-dark.png b/content/docs/smallrye-stork/2/images/problem-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4c601386a0e921af9b060fe5b7fdff4d320a0bc1 GIT binary patch literal 401154 zcmeFZWmH^Ew=RmiySqzpcP9`mI0O$8oZ#->Sa7%C?rx1c!QI{6<&gKBz3(3P<@irJJ7{$Z; z3Do|plqg8~7{S5&8y91Z&n9wmAaw87Fdz`1cp#8}tGpkAp!olNEeT2k0{+i^Fc6U7 zA0QC_r;hyl`R^;?{rLMo|N9J{1^Rz#zu(IO`>)!NL0RDcbq(>}GZ2tJ(6K+>Pq4Pq zn)V}TvJzj!&}>EE=BSwguLSTa*8cCL`U)efIOS<`F+zsAUA9oPTB+6c^nG5&$yOwq)) zcjtN9X3xgvZ2c?Yw^hoSZz|8Qef@ayl2H5AvT2+l87Lab|1JM_1pYr60bgHnVdUSv zKg%eD!TwWON)(ne+zBy|iI|^OYAiBwy9her<1;;C0>cP;3TNo2{7*gc^_3DH*PH!W zZJcb+VC5}J%SNP)6SES;@}{IUW21K1ceL4SQFAkb!2RA5^m2?{*MI5)#Y6){d3#gd zewOD=9tu1?%VpOPjrxxmq=HlmdzFwq? zOB4LPvyW5=?Rr`$lJfL0Kq|L(mDI)2dN_Q2TN*)Egxr=Ir#%wksEzb3f=0Lx8pD}} z*k#i3OtR9Z7LLG!5B$Ln0S|84`3X~FII2eD?+1P5EGCI1?yVHPky4r_t|4pnl2qrV!vCJ^^nrbPZ9p)!|Q zl*b~LfX}X1?smZuC;Rz@W2H+Eu-kn1>E1ivNMWNv{#81Cs4JQOxCsU1D*)N%(NpRj z6=-j8if5=?M8=B3qF!L3!c^iK9Kmjv9ATz8YI{h7KXr-0G@We=R;?Gjwt4THcGS?j zXUu)FqN_2wJ}B{S2+X{#NQuf%Ue;I4GxnL8^2|EoRW@E@=6oo$O12Io>d; zo6ClWEUCk4smXlzQmJ$9q3_^+jcCV9+B(LAnB0&xEQ|IJC-HXMG&^i(>1)d=ZrwI* z>67;ZIrVha*Vh>qSAbIf-Q~?@Pmv{cG&!mm8;Thx23cq>uns zN!^4Sbq~(G<1e}~IGc&94HMNwdWvfrXgpN((3GGd2E_ess23=ro7yGnP8>Aw33UVp z^iNFlbIcxoXZW(--nl)s}GGOOR~T zq#yaf0jc$7mkX^><*>%i0+DA=7^guP?S>lV(Et~Y0#?D>SVS76%8m=T!Er*lROh{H|ESY%hu>Tb&V_fPV1{bt~ zQ*3Hii6&i)XW0f$4EvdknBwKDfefRi+5|8ZCj&%UUbMuYe8{crq(eF9{qsbc%LydLyI z@`cdHuli@$woFw4Z+qq9*`NOWWNlZ_gX#U6z&PZ*9eP8!`&(yc2LOc}x6YD=*+Hqx z!};JadcBF*GMRjPqg&ni=%ybj_3;X+E!N3t{_}Q5sVnkikn?V?t60A%KOf4_cC-PT zB1Nw%&QZIPLzR^!wITB{qA}ej&A397bh&{_11(vC*G=dRAbt>v^ z>|B1;|1k0jcj*&?U6P2mktto~%7+{GMd9k%-(D-(+|muJzM30--#N&P%z6v2z*Ok+ zXQ1Mdx12&Emc`a_vUP4NS1!;S1=po^kb?mu;xDR$Tif|AQ&zo|*u<$^o06$T$$-I6 zvB^7>WPPTwFaz~g-daEG8Co@k;G$MgC6ClmwI5IG`zRXM5%W_EZqzBh_%P0L)QuqYN65k<$O}fD6)#dzGm`~rZ$*gP&s#C_`x!yh^=HO96R5<{t_8t zQJ~H$-GbJW;nocVVsYc1=atI%Iu*qVo&?7e$Ik+66MI$pxj6?uIjtqD!9)ykXPQCCO`m@@`&h@8yPBAbTRnnVa ztpr`)o#OO?bp0aD&XMvoz5nTlE8k7!DzuFl< z*W6$4D_MsALNn6v3(jM>8QtgnbBnJ<0y&q;^Ka^QOv^UffkKiG-{)ODbGQe%e<4*{ zI#QR%D(6|hhG27wAIp;ZMFDR!)>;=d=e0qx4P@FOvLDqDqDa3ErV1&4(fOWk6cz^8 z)2%aGYxGN%nbq8o;a=Ef{*(Xx8;E=}dT^w>INhq?puU=QU0etys-9!p|{9+)_erKr_Rf-++xo$j%M17Vo$#J2+iAXXh_YY_T3-G z5q!{~0ftEgRcImHyLk&!;d)VKNA)rm*t)G=Wi-a0ekn#uRhKxjd>@TVtmHD2;r=Qk zzTFCIfJ}mNIAwq`tBwLHN*Mg88j~*9MOlbE5^P6uokH5E3*g*WZ3;(@pyd3t`8cHE zYl}$QVyUEi8VpIUR`W?B?>Z5qTUVL3%@n3bhZa%MBD6PE9VaMD2Wn%^cVu_Zr*XNc(n>e!UpM zgX;}3N=$GMp>2Pfm4vEE=t^h&+ji-L+cTA3>eeNWq1m0DCw$WfPHV!Ts#K9Fq58NHs-8e>0Qfrpn315Wp?E!)3e9*=Vv2R2` zvFOhI$$HZ)6BNu=rUjBk)&`l6*3QZ))XHgEjo1L`b4uyYiXm2(fUH$d;U)-yP{ zfq-2f@%+)?b1?34u{k#Em`l|P6h}f$PDHz(s13L-{c~%!aCoD5F4QU4SFYLGMSbZWtN`qIKiFn?|u!Hv4{3mZ&07uws zJs495wR7e)X;LO>%r-?>o`x3v2IM_kGI`YfTVp0FTJ;Va>Cf3`b855EC4JEzA_iI~LL?@8KD1T2sO{ zIbsCur+JcH3D;ebK7J|D!sL*}L9D25P(sCKZGLZVe}mo}0!q$s7ksUXfc}Z<3e5Z3 z@0SBksr(}Muyd-|2CgW;(eV9^8TWM57?N{C-U>lS3F+{cm>9>PTIQEe;?rDUeeI$v z)%md`#IhboX)pJU4|8M>@m3Mx#J7kwV%3p9OS&}1glAtxelg?w&krGo&AHk@r>L*- z%a;JLnV(EqJ)iHKrh*XP<@&g@8d?KR(3f; z8VD;AJh8afIxgLN-kwj~9&lb?BX9ti~a0(kSLDaG40G0 zq%vbo)BtTYbh?iibn2bM%8SpRcZbJkoD^>GO)t;$9nYi$`PGUwbv5!CpH2Z~-a@qQ zE-7m#bk0zVo~Bm1U(-*U1OoF101Fj~hb{-XE{%2)G7u41&kZJCJSC#b;^A&npMh=| zTC+w;?rYyRIB#r)aW--6iAo3fgY!BPyOL3$@z-XoWOQ_=`Ub!wch)aoezQ`OINfSK z5V=`SeE~0xr8)ZYp*yFj?1mwcKc#Jo4R_fVRAMu_OjxeZusDyk4{f3Mi`ILZzkcoW z7TP=$_%3}65%-dl$u7plI<6kS7geN{Y9@&21RZ8aLz+?kYEk$}_1k+;=ocy(FG|3UQpQugsR1#R7OD*nBanb-|aSvgHN$(@CmX!?HiPff4zptEzkHGY5jS z=}Py6Ny?no1CM`|qQ`xbN@pLymn#IJD(GP{5jC2+;oHhe#+?~PwBgv-sSvO+5a2T| zB3nms0E!NA#A_?l8umv{Sty{a|* zX;IvIB>t7Ql2MOg2w~|opD*X!dn_3>-rJUX*6!21NkNt>5l{6ApfD$&xIj*-Tyv9h<38BZ874%RGq&Vv`f41Y*=W6Ww6_UaY`$M?Wro92SU$M@vhU)wBgs`Fx|89Zn95%R= zqKd!=8zECy;ij_`1J8PaJ?6_cRW{i!tb!X}_q;gb1a{s*0&O9M8wx6Nge`DRWV>t< zC?T(#k~r02A3*{>5RWM!5M*ZDZmbv?m6F-0w+0WhW7I5)s1Db&Fe3C&T^5?BE_h_* zrT&9{Ve!tVi{eL0%x?&SJis`ZqV(BEf+{6(6&JMe&Tl-P%#k5gOwLYDY4)SF7mNdY z6d`$gS*#Qp-2#(J-s3Eiy#sbnqdnqM5Q~$dW#AjfBZrs2ggfE}O0EYr^lk|z5pJe< zh+2|Gq$1YNwpdm5Bg?^RrLL|M#zswb_)aQ?zwP~nL~%^En!ijnjU(C1OP&kz3i0v2fZP? z7Mb9r9M@=%iu185dVt$gsq8JE{yaODz2hPDgSfcHgAWo^EoS!$6N*7mXM(}lOxIc- znd4oaiEis;r1IzOKt8(;*sWuM;8y-d7Zdr1KSwd+pZ^A_iVqV&@nLLciJ_x;QwST+ zn~4#Z&}S{5B5a7~b$0`K^p6AWeLk@6J_P{;xUbX0^PF5AbGO^GBMwu)RC~__y+AyJ zI!mU{BIq`i?HwQH-GBB^_2-N+y=E7t-#PMa=1NjQ9C5(wlN(wWX2OI%R@iSg<;?D1 z5c8nlirBF-P8+5_Mx7kCF^wfBEGekjcK^b5_Ag|3>E;~^ijb=iqT_sZP&V9Yzd!Im zJQP1aMceO$IE_nGQ-_c+IN8 zL9VN%UU*Vd6YF41Fw#I&6>03*aZrr3%TTf&r!QAb@no6eX{Y(U)z}Jd>{@BSL8=GI z=#_vaq1ejoh2RkRuEALRsDbbLarpVB#X(op{=P$Ep1~TH8@=UB>ZGMSdxy=egQfvd zuun#=clcblq{OBP%~!4+CUwi!J~SHt6=|XJMd=i$3oor7HHqHi?DLwte*%M}6v;EP zjB~vu`A5J8iLW3f3L6ahA4(lJBQbrBsC%PhH^hf>$Iyh>YEC z24kP;1PVZKX91)!9v{wEQA9g1@`8|e&f=|Ops87uxv}#cWt=@K=rV*7TojBDubtq!!CxSn zygr!fIGqqA$7y~$!2yCU^>{P6o#abcO7_c1f7X1(+3_z+LVg)k!GaZQMJC!(_N-=p z8KJvPWOKa`^&rb3Vlvfc%togG_>7=qi5uTCS~YJuZ?vO1V@4+IWec{}JIa)$6W1dr z*5xrt>1f#cSN=HcuIHjs1N0sCl+2tRg(glP%yC+3*;~!)4&@p3dBCT}WWGV8aV}ID zY~e>i)3F8OCvbRSxWnCn^1Up&)$LrN1oGuPj<#6cNCzPCpkD=Y6xAsl?h%C?Zq4X; z+RLKGb+RcT-Ef>^IFdo`H1}+Y*?r3t&IECXeW(&~6g-YN(YdJ1La+~M6M}u3Ee`v& z^b+6llZYuPHRvThsYc3(ldg@^Rvs;C;p?mbw{qp!=f)ccQ1hLwyiU!m$tS@Vua`a! zW&T``ITa18yhzk4!S6NYyt>Oc#qbzAUK9EIULNkKLlE?wfzVyT?Wz8(f$h@%zd*U< zK3tW-VWd3_Lf8uQ4=V+I8={(!Z)$%pKIR)S3^zj>5ybSXL9|7rr<*{PlL;x?69|SU1QKHn|_tY2X9$>pf zqq6h{0t5L<)wud`rSFb&+oct&@Q*TS5+dw^QOWKi4f5(@Py!ocSvm4TE)7x5DY}wp zPrYPcDv8E2GuX z;w#pQ-C3-X9)`JCqxOx9oNKvyBWBHJNe+7moq=AU;=~3s<0)Rx!;2BO3}^++!kZ{Cc?keTe`oVE$=ko3G$@1? z$h_b=l1V-UvUcDej(+tHOq5dG94BSUF|Ds~;lt~1>aH1do=Io|gGaoUgD)EURj7!M z!q3#%UVUpAp1IO7TYp%79^S07QavLjMi}cU5n?9^(bl@j-jKb4JLZT=$vLuac zbpFJ!nB|=x&^;Zk-)P+3>=>Tgw>EP)NmLiu(R(TdB6jQ5E4br+`-)}UezsPVd&^5; zqq&Q4ciE;IlASQ;PIzdgBcx*y1N!yp-I;4lA2snf_kx2V-PGeLfnQX65A z6sRiY0Fr}K?21XTPyz%4WWQB}p6Stx;+tJD!0JYkL2K9uX4s|RuQJVAkAXsiCr@O~ zc$zSm!%@nI^U1j~-3GxuW0OtHh`f-H!y5@sj@gcq{J64c(RTK`$UcE{HjfMan>z_i zQ7f9GNLwM;DIeAJ?FI$dw7xdNBNPLsRC9F3t*TE3w!4SbLowh`BP4}JM#Y~wq1!4`cr zZBr2sgiK6b?cMEV>}tWhvd@)w?oFaSoZchU{7=*^MeRE%u_`C7#Nzi6&Onbx-4%D1 zq%df&q~wr;IX!G9-6Oqb#OOZ_Q7*pt`{hMfmwhs1t3%;9dxBfVLNDE3r-OxOP2SIi z{80WVgfg@ndL0DCqgdD!T05kZ$mcOnquL5j3ENmMe8{WYZ)8ZiaLYU&PXAl#tWnwt zGf~}w^WPl1XRC(0jM^_7N%dO^c?CJAI57UW?th%gV!;=rdRh-$LRG!GP;@p37Zc(` znuBCS2ix2X#Ewo;3M&Gn@0D0i%#qv&W#DJOe-Vp=J{ze1(GS!IRCM%^CG@`a>0!qc zv;JO}P2#3L27_4WJG`GK0IjzTxM3-!EWPQ(oqNdjeuf;@imaT>IhUS>4x9xT49U*Q z3m%;9?MNZ6oS|!oaeoVBz6ZCwBpTUYkqoCHIEKc$*J};Dx{Y-`I@Ff$U)Y25ld%#l zU0(~Ab#3QqZEtzxc#i5VZ`V7G`X~_4rzRm0 z#b||9==ur-{^o9SVz4xO;B4g@_gl6{uoNFb6~UpEYLrzkcnecM#HrSn?ci`+9a9 zF`EKS9b#frRDd|A;0DO%Ke`@o`yYRz6|3#2-Foq@1i`jS*b2a*(SqYmu#GcNfk{LSoB>B>{rrFuJ z4^%eo3z2gWY!)CyAkvEI>iQ(cGOuB+%@vjCED;~j{r-tZ_A+N1&Nwjb{x-WFH)2xY zIrSEB46VartM6}px6J&Z5jj!XE-=!=AuU+-bOn}sqKUVlD#eOr6$hS!k0O87Nu)Up zM^8E06fhDtDRbm|Y9 zxj0L;E~SfY_K_iGm6a&{>TF&XH7j_Dk&>ap-ZK({2(bXl`rHUhpydHPLMyZ~`GSiB9~pK80@XVkNFW{Z6qB46#!lwo6?O*#y99UzaPI%_} zP*}2zp4)f!hIyVEZZm5;az;$faA^|U*{ln_CoCgW$gDm~iFeW2>xLb1KHX4a-~@K5 zVW{tn=I|J#i7oF&&pbfFpol{h5In~C0UXKKN=q4&jV#($EfIn9sBtfb$u0w*#_z72N64A3 zE|&_Rrpzli0t4NgF~mt?!yAZbpKgDd#|bSus{Zc3@iQ)a%57t}NFECbdIKJZ4=;+| zENq@nzQ~J!hw@a>EsoaASsyo8@$2$92PCmbQt18P7UmQQHquThMvLACuJssNe zkp~(yKDHA>ifP`u&fldb#PfHWJ*lJ}1STD!czl<8rPxVaQZfB)d&YG<%#Y#xAb%1u z#gU-)mKz4wQS(mbLAK5iFVMQ%6c^HI#z%fJ zs{)q6%uJBj=u@B%h2L*#8S5kV=!kRT01_IpVN_vf-S^}z_!6&%aqm3wTUPcBL{CiF z02kD*Yn8I2Jgo{#=nOsvO?I!NnW>V>+D7p?&2?|ZbqiWTq%`(pV0lVwlYOOZ$8X9Y zPVxQL9CC`oU{ACp8+}BDO_f8mfyt-npU{G6YGlz2>4005x{-qoiR@gM>v2dZ7)-+- zXDiVzX1`FV$-CKIR<7LOw@iTg9oNUeIfJbNA}B}u2F12zo(f$)iO znZ6o*|8~C0(QPMtf-Kuajrv027@P-;z28%CUz3S=`0D67$m*@FLUdcw3A0(d zT)7ZX5tjk(`v?zGPoOt{$9zUpD<5!TS9v2^Ee*}Uk!s77JUWPUlWQqQQDV> zD9GeA8V^n^71O>lrK3MNXPGh{+pb)^qwES5&mcLrCO>P+?MAUl?^b+1i&KnJ!RUq< zA9}sTzol#$l{1n}lioX=fUXAbUrijlXe!soGJ$trv>VdFS0NncJXtob>S0C6gqWi3 zac3zlF`VfH9194vN$Dx`9@Uqv-Mh&%(w$E> zPuX7Zvk1iE^!>Pii&3{qPtneFQ=CZAUQ;!~Jra!rW;7LwvV-g_uNvcyY(&__`g0Va z>2l}45-4RBr*PCAOTZ+RD4mZ7YjZ{0vUk~w(6gJj)hqL4mWD;S)9SYo!YLNLMg9OD zU7sp*qlT-O^AK?M4!9%J+0ySGi>amdye`@qW$NKFwae1E$wbDs;%^1--3_ zcq*zvzWU+ZILrO6nYXs5r>V>nxp7!lDG12&_1yhx@CHN6KJtfb+x-W z4*PWsKO?xmX<<%9O+OsIfx7rg3Ze1>CaBlXbWlLM@)|SbGRTFz+U?QvPP!Wb2c1Yn z=@Tv4zVqbpEw!`n#tHGYEA0mh%Jw5<3(g)wpKVn`tv|g9hCIi6p8NhJ2~)Id3{%%t zmme|dS71jxzipX3|0h2qh?{G1O(>pg7ZbK7MmY*D0PpNZDS?jG1_Jt~tb>{Pb0*zV{$)J~dc?jb28tQ@~NeWGv&B@yIQYE%_Oz zeSGs~JdTt^;V9`tN|kh$9*l#-KKA)!%_zzt9EFHQ>m4J&)m)#4HfyCBTQ9usfT zs}@h$_Ksq(7p+<^b%@J@#oPK{rps?Qh5#GpYOjt$NV~6$6?Efgo*~TGd3@)3`kJr`2!PGXuWF2Az0P9Gz^E#_QaiZZ(VAQt*=CIY^waI@5jf6K8$RZ&t* zQ%7;uF&=JdoG} z@*vzv= zQA2sUW)-3V*7agZ+@h(1{sRIPdN$_(qZ?$#%CJk<%G=fHu-VkI7R+YD3`cEiVBQj*De%4yA?06?wHU!`y%5EjhgDL7Ns8FsJ z&=9X1$$E-Uk;_XO?QLx0dcmZ;!|&bs0%v>Iqf>?U#};yymgra@|DSlwk^{Nliw@8R z4Ti=G!NkSZF_ms|aqFi4XUmWc>dIPMpxRd4Qt)(IR*~|q?Ie3R1v`OSYSdhLu8j3*99N6CNwPcrPlH6y|YLcJv^Up(1aE^-KMu7 z$2;7d`H^%g_f%@k9->jZ1%EPZ$^#}7T+3Tf&{oY*@XD073Rd8hUN#-loxa8LJDa#3 zcxK4iyd&80E%g0@^K~b330hA>vuOr4eP_t2@8*Y0!z`grigVf2=somv*QXKbj{~Hk z{z^pQ4!sc}0t$SpHN>QfR(;D#X7 z(8h;82Z|H)LYUu0&kYB{CVDXN85n4j^ufRZwjIrP7B*;n z!?lO{aIFCq&2kzn20zj0sz4RolxE;5O%0)0-fd1NPSs>7clEIh9j17Pk9?)UJRZJL zV5xn`fJUGK90cp-7U_d7NDsW~lFH1@_IH3Q7>{MWTo-jy2qg7{Vj%zu*S zmGmfC%&qikWOpCRJSOPD-pwVFJ;4jiFC+qq3_{9+9CzHnXk>HjE}i}_4RW>w)=d1b zy8;gYF+xC&_TOavkiaO&4H^PW6obVQ(Rfc-f1k{;O;y`HEWX@qA&b!X{7(aE!qW;A zQ1=Oq9v?jyC|U>=NR@NLeu4_4A#8V`M(UcSy!EFtfHKBu5N7J%ap4AaLqI+U-@g2? z2lYWdULdpB0d65AmgJT_Y?22&Y{TJ+!Hb&ze8oDE@3U0rRJw`uqfhtsfS9e&x*AqO zzvcUkFF@Gd6{)oAXf>UwqrSppFLSZ=@L2U>Eb!lCPJJKr!Y1S1%9Iqmpm~Dzy@8z% zLcot`Bp-+x{(n}jQb?qF3nPNmq2zYQ*j6oyb)4b_5aoxy$|uR0|X7inS&G%@A8apitARI<> z_9T%BSsjvQ7TUeud5xT>02p)pl!AG!wSc;lM67_ADLB8%P+jX{xf2uZKtyJ4j7}FcU^DPqw=ZA2VRGb{VY~DzX$kafc3*7n6+E9ktiHFPklv*PIT=7I`jU zD;^G=rEi0bBZvtNd#!u%6#Cr=_gik&n0o#nv5_x?bk-WIBF?FEPuhP^|K?hqoed#aMI`?F9Aj|A^R@%a)%8w`S^h<86mLP*)wf^93@8kNr{JcH5r*h z18oboD1E`La!lZ>GPsw|C3EdMHo4juZ{ zxHdEu$4dbj)eVkcOFgusm}My=T2fJ#$tW>KXgSFO=Du> zQ6~i0;itbStE9n<6L76sr7_a(=q_6H&dOKgX1xV`oqb4lwHG(IFiU{ke3SZSY(f{y zUp2*H6cNi0g}633#2(kGukuWy(QJbqNE_9{M5wI^Bp%dY|!;`Fy-R33?pH- zSvW+-UaV5{`E==;7>;9uyQQo2&QGcdu`VU^wIW-8*{YFCUkLrUKhh+LAcogo_(0uS z8p}9;PEKmq=I= z^ZX_R_Qo^QoAGTLfNYv&co|eG7Cuh!88PAIvyspxG2PdKen|%dOjt{{_r-7t5J~v4 z2Ovr8^m|NzKi{m!s}=9v@0H!V#*^YnRPC2t&rX$xM`yevaV8SXP>T&gj$KF842%G||_g_byc@NixBwLPyi-=)`L0`Ec^!X8(yK17($z<9l zqm=FUMWlULf}l6D?T0^{H!ouAPqKQ8{ngheKaj_L=1k2+ThmXtj%E@POQiOogT1-4lHJIwl@2Q zRuQV;A~aIMD|n0B-)I_Qi_i_VwI54AJWK??bYtwgKQTXEneWM*zn6E6$h1MPRvbB& zTS70Bc}wTIf&}ra7^=o$ot&j$$N#sUeDeu4dHL1S0qff@;Wd==e)@w{R35mGKo}5M z1W~YeM*69Z=Aqs>`X?AGJ&5*#*^*mj61edFhHhn@oSp9hRWI5-qCMI-7w>YM6(nU zk~y&DMWw;>+bI+i&3Li4`^hW^=xa866}Iu+XQ!*N|2R3e-|EgDx!#N#*Uv)F4{;MN z>ag+Y&Q1@vv*S}h?6dGoBc&|;-E{n`z@RmxnDr(_~ z5Lx#}Y4E6ID=$hiBEA9%nMe}wRl?awAoJ4FR(biGs^IOBZc|11WwcQ(?R}8ata{b% zi~rVP{_m}C>=rVEv0abpxwVxBH~sPTLQys=5P4;u0J{dC1#i^3ZQ>KHm&?DAOS(~B z%NX7Bo8k#?%clH?(SbCHU*|KQ-ux0Bp5WAEG1w@yaKKN}Xs0&+L3;eUQoEJr@JraR zjcjc8TKT>tJ+HHOV9Z zJ_*ctSM!d97fX-jtEy`2J(vw~-Hn{-!eX=N4^O(oAkwi*$?doDZ#Cav4k?F8E@c5b zD#aFNuA&x*O58h|j6^e^pLwczbzA9-Cbx_Ya&G3B9|;6??vf|R9+8~yG}uww{_D2@ z+7ae_6{)B->a_w~WzJ)Q@eEdwW!0@xxtt^0PIK(eNIH~%KMZThS6K-VhYR4XC1SXT zEYhlRw@{3IZ9V6rAiM*lt4^=d3R`!R<#?@DB6e58e{4?2%Mgc$sdTl*Zy0V1X8R^T z{){le4PUmg25i|GN!mz`_O>m==Z!S=na!csPI^+X`@7GLQNR_<8e;+gi|9TC8gmoP z2zFFN%;l#&8E~NA3rj|sk1cS33K-dp2hERGjcP(ROBV0oVI~RSks`FeQ0aC-qhD#0 zr5JFu8TVg0jT$b3UVD7eO?6gynFC!KZv$OJ$D+Etm$vz6gYc??sXw2{e((Zu!n{KCR@f^TOC zoHySN!>=yJFJJPQPS{3>Sg`>e2)OvDoWgTYuf_;$IhAoi{gy}6jYR1`HuI2S-uFG= zAq0LOt#A5!l!}Qi9)(}sU%<$wR4$~a7hN_rox_8gURhgZy;c8iYfcgJM$J4k_O(R# zjQDtWx^PQZyC~n$bXBKX3J3$Fj5<89W(L+aLV8b3WEBqvV@;^D`Pf=#{D5rC(=nXyKz|-&aA8a|ci3VB}YKP}ws`u0ZODH1u1LeDxWA(L;PW98ueLdxU zPNK*NU(>&sYG2A#JoyDB94OYF0TsTNB#avj<0<&L2vR&wf_?|YaIV-R^U#zxKB}IT#zh`L<&+oJIFrVBwmDF8u z^};T8h&T?eLaX8CG zZxMZA?mgL*@7?l}|5e`iR?vhECo zt5r??#79vB7OuJ8kX6r6YW2%V`@1%jMI!91FIY#FYU4eLej*o!fVAX?uZ!jY_zK47R(@v z#8O_AyU`tHL<^hGmd8!rg?nd1kyb4QCRaMR%i*UlG;rZ*f5nN|v$oFpphu(maRR`+ zWyA|tD098BdYY?WhYsT>wCobz=?aTWOU>;T0t;zr&<^^J&cR2K6%54g$0L_jHSbzY zg>I8_$)y^z))u*jwYZb6FPSJl?!4&#Vg2BRKq0O#?A%`yTMb7Gln5{np120@snR)Z zR+}23?X~!R=NO9Rl6puVgBa>+@~hUpXg2|~Tk?z(ZZ(Tj*U$t>ye$CpJlx(e>>T(w z0XWAsmkorwe;#tBv;cB35EOAluaLXoC^_Z0uCg9_Ak#c+Vm9-p_u@RE#LKZgTJm^Jjn!74#f$-)` zypEKiR~+@K>h=7Q-yT(7kF)&2Tvg&iPvScfZ>>JZp;LE1dep|T)$9F`)>EGUol-hU z%+ZYnK|tO>=CL1;m$}!4Hhq>Y4(zmJTf(`2>nCwOnr^u>-L4M`!8)pc6-;*wtOACu zi8+(U^HbbKmD68|#o+Uoem<1L-}6c=dnsX?-o}TQx{p^L>nDt)OyAdtOf`eS#cjkO zGT&t#WOso=$;I~?7o}rv>QDH|Z|e}xdY#CEcvAn~1OC0^OZa7d-SZlmw3aZ!I3Q5& zLexs-^IeVVl#EA4+yNxM)C=0zRrQx)Y+uwaZ3&;@e5IBXCu+Dok?YutZhIFer_}@i zXv3S)9f?M(6rQ2QW zX{pvva-)BL+~k9jWdl3SDZD);;{_y^!84E@?Z%%idvX}vk+Ol~$Ped*tzw?z!7$e@ zFwJz!PGUuQA^XlVUYMv(eem3tnEzs}#!=@&Nfo1DGkN?@*qW>RU(~&2P@GY-H5v#m zVQ>gCcyI~s?(XjH?(QxL?(P!Y-7Q#fcXxL#$@xy*Tkqlgy;Wb;{9%f!*-!6&dUy9) zy*8TkRs|7XmF#SAit>!4EJ%z-?JPrf-?!tQfcK#9sn1V0M z$(hOWUe}N7g9}LgGr~I;XlT}pPhaQC!`Iv%CKs;aGB6SLE|3Tp?9y}<<%ctP>*fiu zE4;oeKo34JFo@KP;Sil{DAY6>qAYs(K4ux0RZc#(m)zrnoXs^0YzfQ0D6+XrG67Z|pd#uYTD>P6KL-oKsCKa@LSkU5=&P2SjCoh`&g7 zI?LbPDPU)QWV!c_Lv-g~?s;Y1E13~gxDjcpF>}$a{Z&|ZH6;Z}jv))H%t1A7NxgYw zcl2HMj-{iY6}ewd0J_g!5gqrh3^j6mI0z%V->JTM5cA+*s{dH~mQWcDnY>SeO_t|$ zN@nC*L3e7Jo+I(+%P#~LQT)9NMTvc)%e%mxs2>$w;V)t_u>jQUJlmk%A$Y7gkB!-p zZ;%4I9lDOKF7X|duGov*_*y~N^i(v&l<-Spt`7LEGx12a%iht0TB}a6LzsG7(u*jA z{t+_W{BZAs1tk)w=2&Xn!J`|mOo-cEwDQ>38J2!WlpSu}) zN8kA9EqzBDA*k!#{K%h2gJ#5E*K2?_s;&3Oqr~Y=eTl`tIO2>J1ZA*YgMXo z(r)r(6&yjAr-A$>JPXgFfATdy1cYkNwqS$zliop)-22GDF#TeKw*Ma1sWyK?aZb4e z@j4g_A4>hY1LynHfR^-OQFgWC(t!tHR+WZtd0#bY{##(-rsas*ZLg<|<&Ur5v1p81 z2W-=^{GTxN2|d;B^_d_% zsr66g1hPGv`KVC-908ZLa)~5ErWM%{E)UM4V(M>R;aQ}X9$-h$x0r%s0YC!%!^>l& zc|o4p<+JZb6)jvy0d1Y;&R7!(*G7kHv!nV-)q<Zfl)u=QJ#?A z{^sk0t6J^vuyj*>eXEqex(vSxoy)~JzK{sv3W43i)p0ca<@_(W&MoFk8m<%Hz7joI zmY0w=t!OVSJ>POxf%IRaZ@_OOs?+G?!d8qeN4OC9o__u}43l8BwboAZ zZogllb{rquPfF*tIw6+sKn1Gql}H!w6+-sD;dQvkLz7_UEhddABwgyMAo%$PGyCuf zAo2#5EwwrM7z>sBRu+~xdZ&C!{_qzJ^htR_cH!ZVfrH9I;=e=xOW=2RN8Lbn63==- z?S60EXy>9R|KeQfN|F>xJ?gqLVi5SU>DZ|O5s4@8=}A5Aq20S7Y7w@|hPc3jhvzmm z;0i;ya15YTV~$v?U$NB)3?!wrb#Flpytu69Q_*SXS%$ox{M~kehCo9kGrKDq7wgN0 z0_eiuq4H{Ft%m5^y0{2WqdxVgQsEK2H*~HPCw9rn#Izk38{O$}VS1$i+ZylY>IB)L zI$BdtWNr=W@Mh`Y93Mz+xeVW0Q|U0f7=rS=Fr2P4I_z0vAJ=dg>4{soBKYMu*G~Md zVb;DgH2J~N=mX~T3B<)A!_V|3Bd$7ZcD0vGb7I1Si!Fm3hfkFMiv~u?2wGh|!WddL zCXT;d1G)OL;CHBO-}6d$8i)f_hPxs zN=ST%|6d0AyR40epRN-g4Sjc{q#w~Sf+#+}e#X8^n^uRGX5=fR(nDYj6^A=xtE#$G zKSTv=o#><=>`grV$bj3XaYbl7KnWxo*H84bx|GL8inZl)e<_n z5v6sBHES>4#N|H$qx6Qo2N(Nc#qO&0GXewje2$yQSD03R8j+=K4gnFpHM?=To6qlk z<(E(K{2xNT7TlnTE7dul__kc2B2|CD?+~?;_5GQ=7K0_Lixi!zVy8w7Y{d_8Ug%a@TT=?k&%FvM>dItV`+Z^^MkQ zzLGPW7@XmYYyuui$J)yF-_pJ3RBJw>>l+0Ozl>8n)7jDO*uu(9aN?G($z7<5sk!>W z+fl_Dk6G$F>DoL*E*yV69kI$P>qZ0)+A zJ~#MeEp*`pcZkJ{Q|c6TbZMtAoEfLv>UYo=M?vR5f2rd4ZmtC?9Zx(c;`-OGn$esb zSJS`I57INDfUSEs>))}Cdfr&bNH1JsF38>!zshOLUspexn#JS)h-qm}Or&)3Ny9Gk zE}!*%&d>oSxQTb(86H@oFaB>3B!5;-mQIp(mH02X?YqxR*EAAwFq=YT%Z|WNo~<_yqEbJ*@jdDQ}ye2PuvZQ>|SKHTJH0S zNHiPB%Y;Tc?pIl)QKI7Enr+|xNYirDuZ*P0o}`t%{6xqwcyLU+pA+ zU(Od@Jb8ojZD0(1dw4;Z zBmOdYV>@qe(@|w1#wpA(audC~QX|XeBr+&{Z!QYBvzSvM(AdRpfo*E@E7S``q^d<3 zu0U;lu1vG|Sx0bw!M^}wP(Sx@zjwXY(Q%#c8KlBLUQ6jnb|~F@CyUEu0GwK1U79y? zd>&d0erPA0xCuOHp<_k*xXQI)292tDSOGOxap6Ktl=|Cbb2e(l0JUKgEt~z3E36Gc zeDPF71`{HKiB*)&T|!Nxnm{I`wfjv87!V|j7@1m;?xfO?V=R#ART^gc!V1^UjKbp| zgZck5lm#~bo1r}C9vfc7Qf)CT5K^|+&3_|DySRqY3;HE2GlxVh-Ot5K_9kvhxb;<5 zIi!2DF7f~rw8U@jj9KPem20-76LCPqdn=@@vHqH|h!X&Gv3`2g1KPO52S9a&?+Il! z=b58y3m`ID@qoeCS{s63;P!owl8juMnfuiuMz#9Q_;u}_Ebe>bm|SSzjmff(d4ya| zFN9-doJSkM*#XR;oaw6`=VysyrlN55nY=At_ryO$=z;__#}j?nVVX(4K}(oDvE_pO zs@4v7b}0RM3>K>RnVR$@iXRw0B;EN8X{!1_}fMF_-+yEIgKfA)%dCEB|o@Ew)6 z%O0y(0*x6Dd)?zhyk^dc~%B=X%1& zudm{>ZSBJ9OSyMrDQZptq}n5BPJR*bNI>2KaShb2=NcIjZtcAO#`SuLP3!;*dTfH_ z*Gg56A^vA!mT6k0Wy&fgcGGcdOVMg-iK&Pie3d1pT=Ogg5am#aiYKt>yS;%IF^`f`$_ z)Gc>x_ECzCErn8u8Pe~nxV{F;bFTLHn=*w^r?6ZyEgeUF`)6&(ys_vVVb>9C7*)__;&?g&RhSMzN!`o{w9`lds4so5Bv zM1;@g#0QeDrm6MJUc67nDs_3PLh0l=IEM8E7`>Do46u<4l8H9ojj#hVy+)r+#rMo$ zc6S>(dcB}D45v+tUB7v@lGdb+;tQlocBcWBXzA*u~6_zB@6@hyj6#-^t0KP)0aZfDCkCZeuHiYYq}wn^i7w zY12WfjFQF`PxIu-e6&lIUAxYbJ=LQRA?_azwC<8hD>BVxv6X`Pmoj{3gtQ!BcV@u% z&A@#gN*4)JsJn*ei8%&cNY?y(w6)a6zUwvW28%hOgGB4Hb#A@m-6|o%-%s0CE0j^T z80S|5<9GDAiAP_|-)AbJ1w1z%z0jgWKH`@0fWC;VrV?!Kg zyJ%`HX}uqLM+$4V-4i2NKLzn-V|J71O$x!-v|-hHmo4YXgH%~E3Y|srplg9)m_o45TohKuNBBZ9)vSH4zevXN~3RLCMfVsf?VydyY zFoEb^w`b~RogMkaQpSJu&W1lxei!+;yY|XcAdOvb`;6G|XQ8^ag>F6n1-;fA9O#;a zs0L{^b=Q_gml2b+MzRtmYNtIn%A$vJcv#C&}Iznt&&Bv{XC};}=#@ASe zwzCy4s@96aGAmilYfv!{lrg!tYhox0^%v7@AU3kscOID(dWoaxGSxcFY*iHnO+DxP zwNLk#TcJ`_!`VXrq@sO|bQk`8try_D-x4={h>r1lZ0v`g>FY`{Tg7UMsz$khz-_Qn zXL3@Z`_&X*ld`7pra@{jt&os{PM$tnPW(CE5%uQ3D2q9jB(1-zhk*>dGBi*$?Ik^@+na=CKIzq#Qf@9NP?w=NeeXhCMR6R^W;cktBhWLf)8FQ2jhuUMNSemd>|J zi%N47NCVj10)sJ}5%pec3mabgx7V9IqgxsM6~)C>LXnwH6x}8oY4tNv=0EqwC~4Y$ z6}G?LHuny%#Oni(7jH?#%RLR%1Kr<}ex5~NUFGTpQ1B|XTwXN3$%{9*M=%1I8~KN*H#p@m-@?g`D_?mC!Tt%K=;J+oaRBZ zznhA9b9(}R^6RbCsNcZF{`(CN4@2Fv)*Pop!tOr}$0`!me$SG>>Zw`|+0f9}Wbb8* zXIQNNhbiPcQ}yc1L)W_0W-vHqwxN8n1f$O%8tI*&`tf=4At&_z{x9D$+n7OOwo1;P z*W49n29}!0@m&mz;i}u6B%jj+U!Rutq7F-yJQ~)CvT@Cf zS@S$QJGkhMyYkmV~eBy)F0iBN!jlG_mNNwz9R=8 zX{jTkdReU_T<+3X@N#}*iEim5uv_FnuW~uDn?NZQoi}`|06e^XC1uu){)VM>c@2l8u4>U>9S;Y3rhu{qT_ zeWY3XCL#SxCi9;UB$_raB+&TPcm(-{4oSbUV5_G5_c7L00z?t~w$;XrnrB(O$)UU_%HOkhAnkRY^r?Ol>t!aD6u& z0t_YPA&5j@<%rP1gIbVjO+j8JED3WRh+}WkZDPE^3y7(L`MagZwiAeG4`b?K=`fUw zndY|-Jdn5NIr|NX4OB(P1|P~0kHI)mstDMrW}zLG1)9=HB|EuBFh%o$XZgfg@cHlw zLSR~ST{(RDJg&RnHn@b7TnRK~-5$x$X>Z>SJ+=)SM*X%y)Uxx(^(Upo$L$&rq$Db^ ztc8Q$scG-RH^FmL3kQtukp<4OQ+b*?KdHPZcW;fJIDt8)%wcYC|Gfd+fV&2@JZZkLGd$zgio_Lw5aYT*wAt|Ay)cu=Xs9on^~h4H^TH!3YQ?en zQxZI{`4!X=BY#k;nV$GfGv8#-4`*emw+TjQUoVL|iq7{E*c3w}2K9-8nMGD@!17g* z_Rq(%h;}kp6DE?bRs##e&7l{%h)djmv|(-DK~Fo+3r>QhrRz5qu-Qhj*M+fV5pyFq zpLd!^t*pfk8SE$I^mZ&7$$e{73ykfqZIl=`92pJ?k_OPAuyp zwLG)!Mzabn{+oG~0vzQNe){MlRCFC|uyr1SF{=lFEfVLTa+D3RD2LT2WB$-VUW`*= z0h%#0bSY!BV%BZnol4}5d(yE#wgzYZIv&`CC$z&3otG^=hEH10x4-vry68Sb!P${~ z`3MjB3$jBa*|5dRx;?oy>dj}bhi!;@Qfttmcn)<#-5$rAO?N^lXA8=@b-WAtHeaA<8%d zLk&t)-`Ck-Qf!`m#7yY(WxUyPfJSx-K0J)IEM6cfoUXFLM$RB?6;*vkpdUF?Rn;|F zfAxfdEFXbD1r>~lp`G-uDD(Sg+z$y0jBDsjUQcf>xQ*gQiXQ zF-h@h+##g$DS~Z)CIIW1q}IUB!nI8YsBiL#1f_(loik=7gi4Y8K*GW@O31?t4IvCq z-f6k^#@4Rgh+EO~dcehBjhc`Y7RXW%Oe*5x$XmpRM2#P@BD0*P^oRC$?M)2Gn(FNasxtz80b=|j6WG6}+)fy*z!{H{-b$;3Zs z=1005(nw;GEU6U}^ldGx>`#9VTDzXEczxBN;$pw15V37DcJGs|#ew(~KrD5WcgLA7 z+sqDIl`+2>^fb1U67SQH{44qfi<2_d?3s%d=-He~r<7om7Nt_*Eg#z}zEw7`ScJ1! z!3Hp{V@E}y=BC4&mI>~k=73HHC;b(l;zK413l6l!=&`uqmAp*AiAR}HJwRV$oy;1M z(lN28t-E@#f9WA6Ek#EcmSWAN>buI7UN*fdha?J_>b1nCz9V`4X&-^*#ip@}u;emF z$d%^Bu1viz{2ePW~iy3dCmX#Y*d{b!z`Qw^r$ z>OO=XpSkZjX&nU`Tm3C-j8Z1>8hRh;YHJbJCXW`uePF~Ahr8k{THSnw*Io)cAJ*7e zWc7enMEy!LonMHWyyMl+J8neEMwdR0vclOM*d~ZlN#yAjG=^zVm@z?dx+=e2c2__&&JN7ubX3%pIz*A&4bNW8LzahRkT@)UU{|>(ZZ& za2YURuvbLPG)J9_C1k(J*RVW3z71s#L#KScRb4I$gmbJ!cUJ z%TQ2Ja$3JUKK|sbZ^+#ed8;2qt!mOPC)ISl%RmKBY#+sVbRa^mtxsPDd1 z*5CpY(kEuBx<;kYR;+~zs>3hy+De>(Y(|3Z{w&<%1hIYWo34xL^4?&Q;RbE|LlG~V z1ebf_#gTi^@A=GuX8jxmf8y+R#mVh@oNL~4H23SVj_4OX?Z;?rXTW=~;UThQo8NU0 zObE!dm{wxm;6;FC;cE8;5! zT_R`KWz@`eM_R8U=-anv$>N+jY2AHq+)wwIuzp+?r;yk$=WQ|O#b$#99b!{xMS2p) z`!eoNy1d_&T6t@*!n`j$#ZPwxgo;4vv1<$xVZ4( zc)P%|>0uUlIOdy2(chJWRsTs<>h(l}@aj%5_i)XfX#{FZMe^r6@8A9YPyh4*+lBER zC47xH6Xc)9psZ|nuD@+V?LQ!{eCGVzUpIoc%V%H32~c^;ZZo(z@ST_fw_l=0KG0uO z#?i%J14nKA^{I3nKyDt>2Psx99{3}(p#lNel{^KnH&o~*KTCCZe6*CZKwBJ`y?T34 znA+oTrC#<&nHQ`XER%knUWFHccF?eYj4tJ$FZn(n>)RyCqan$H)#W#TGSFK|4jM`mO2DCW9T|gHn&S4vfiaVJ_j?ucq#1mNYlf6t!!wA_d`v0i3w* zlldZLz?u~lJYuin1)Q()uN7N#K~kM!`eQv|}5GhTobFJR{}yCzRY zox68|N6B1V1=&!O%YoWNWD&cbwHK14dMGVZ8qE#%rQkP-ySBr|^K8!923>Qa%a!ph zm1A*lsSfbo397r}bNITTR*V2TKceqBBK%h%96>z*mw_xzt+Om0Ohl(2008#(ORt|g zlMnB$H}`WMrMY6$FmVJuoK+!jw0lOc*Q~{klnE*1MDm{Q-qH{Idcx@@ zefY7Fo#v>;<7X0fU~*1InXzA9VhuERy4gjn?5c8cULp-jE2(7!^hS0ULKbt64GUD5 zoFyAbB9f{(%-5qXLDBJho68B)7IpN1Lly1$Y_#wQSjorf@F~{=1NHrDHx~#lAewJ@ zucW}Vw^}no`HN%MS5ciP0N{>R7DT!P07rs7YH7Z{WW-2PQ0L+nXErs08)$u*UbEts z)P0WKl*KCXLE40Y>?_f);WDssjeG?&lAh5~FtecC^@y$)q6P!2W?bvOKvsi{bR3QU z2{DA!?}j|&5$YG=hjm*@;)ec(b3Gc7{D{neS$SPLjY~q0!^I?jFp>4z zZ+P_L7QDyiSi3Zxu!v_@FVlx2#lg(0_Uqr4xGJCbEev^-k=}2gt6KZO)n$-DrL^s$ zFUR58f8w;^NM_6}=J@sg%&Xb!IXnHuW7`JyJ1tZi^l^|Y_c$8wCkO23mBen+MPTyu zBo8_$)?(b122403YZ+xCeN$1)cUg?)T4-d~t)|Kt((OwXH)?beiC2MnS(nzMCGhy6 zb;gs&pt+s_8~c)jlMJT0PSA4>6@+pBZS2m{N(Aj35C*(?CMrI87=nDZ)~>CkB!4Ysg;g_{20!`ft!3pt$XoK|=j3gXQUxTMy-l6z z=Olz4o%vl&UZC)-e!UEfmWY67D6OW+4a`K`22aLAFXIx?BkeqNUNkuI+Wrs3i3MV5UdiR7eA;s z{VkUlF00@wG4S1OL+s(gDH4H{6soo;!YCv02oO18$s?i5@2T48C(vrV^m}0ak5TJK zfL4x+Lg1;oEYqEL`%R`YZW@RtwlX>?Tr?~?{Ri3Zdmf^rzl+#G+(wx$%|yejRIb=x zW~)|aj2}hb_6gUWv+!6q1drRNL(&$_mf%c47+i)hXrT!(Z#3p z{E(kz2fK^$mz$JZ?ks4Pr#d53FBOHT!cKT%9K8W5%yLB?T!Nq%31c-_9?dtu7YGug zQ9Qt&nk|m1#1A}1h8`629?^@us+lp-VUM>KlKso6sGK#@@@tZqt3ZtJ0=57w~Ij?2w zcdFNqQ?7an<7!@gjQbZ?mW~M$Xl0CZ3kx*8=kge?)XoCL64OPNbU%_f&|D$`d>5f0 zkqR9x3)FfsFarym%?+=fCZbI_81sWJMnM>_WOE zgeFxKeUrgTnO9Bd{0Fva790mfC!rc=G9Neb)~>&p1aO-TDR18Wg`{x4E; zCat23fM10r=36+!2A7%J0;sW4KXoNe5{8wP~5ymlv4NDr$>q{e)gt}sX7 zk9nPaO6{VrZ9ilpdZRFC35&6#Jw?A_hCK*G#r6wt^8&+AbMp-1OF=n*NLCpvd!&JH z^`nL6TP}NVhx2oMS%?)fs3a}VAJ4zd&$Oko!xr~9X-s0K271S{zzLzG_SkADV4&VX zF!`%eOaaI^wjlCDyCi-hDWiJFZ|e7)*$HS^iGW~>=plM|WCVTNY8)*Qlf!0Q{0#w7 z)TrWYC_U-EU)-0G>wOXBp)V5>c{O0WA1yGf+8YjPtB_VW9W4icF~mzShDQ=~PbB_Q zB)k|p&Uy>^M36tiBgUwUOdl!D-I_FDV;hf7Ka3{L7dHD~qCk1An~pH@^mB%D(GT4F zS%(IJ7tPsGOmJ$eKH$w#O#~Zx7W0 zg<9n!HsOqPwT8~e|CwO^?XrUTN+zF#T8NJj>_?;X?0XV}H7N5lu|mqJf3+KvPIr6* zE#9qc)xu`21G^M^&k#+V0a`>}YEaVHV|Q9fOHQTaY7pTV4$Y8I9?45#hqJdQ>UE2? zWVp5iQI^D#hWbA`vEmO`Uku1jf4cN>iL!Xv2-8`;JhEtyXScZx(P;xsjxR6U;T39o ztwo*yF<0#gjE@%kEdu*Tw2^fewaOFt^$^{yQ4Q2UUXdt{!3i62M2s~d+&I>GG;@7T zu+PTj{H#H&^e9Y|zK+{HPzypa^8iBi$<SOYwV*~1tnQ76GT;MQH*t3EuWFN`q5GF!7pJRN!+RRd_ zC5oejpx$zZv`Vc?*oaOi^KCGs#Kf;66;b-GhKMH;nVI*hEM;lZ@MSym#({gFyl5Y1xK6R|Gx)f~)?DeSAW35Mf8U-VwZ;YN&yMKsc(ISFcx9x>O zth5-oZa?kuzqoQ90`3s6Do^}NYR4D%F?W(ZbHMp7#CZ06?{lB3PW+&ph>kg4yX#f) z93%pMOHdG2aMc$xr<@vMIquQirJ%xkth7;@rtq)j5sn+=QX`W@S{*a9>2e~6{ecPS zG|FCJEUCznX4b*lc@k@uCe$D`7JoYM-4Ft&11Oh(02dPD$^`NtuLgDLv<1`VC4=Sa z3BEia$!WucLIH+iGUQ(76G^eURqaDq=qh{LyQ6L{L;PLT78`WAR-;GwVQ6rfi$7g9 zMqc3y=JAt`$UtX{pv7BThKW$2YnD~W~U%^?^G8f0*wv-p^^)XV}2!_VvNlK07$#U_x2I|!;yd3Yb{ zNQ{7rI+BqDJcqYkMxqTdI`~TkK$pVl1ZpB8T%8+nfPw`(SSG9yd#o;PEgL^%oGOTV zk&WvI3_PxL5*UgW)DRagE0~tade8FxKE7I)KH$e(AEz`K%ZetyQ!wF)5g4X95i15;d&j7DX zzobi2320auEgj;rl&t&CV;Z;m^(JEkAg7m&yV2)u#(%O-Ntj?2&+8cmcb5YE1R-j1 ziE5uZkVdk-^g$#W&>mk|0mkD2EUg#_T`729!xxzI&VLX%QVD-f#salfLw$6=%{}q< zQM~VgA3=LFIoh4~X-|-xDXWm@3@TFPFZ-z5B9iqA#$;)B=l0u=UI)R2Y#FZg%UN)b z91ByU$Csr-e52M+Z%Mx=Bw<{HIl`S=wPAYBp(H*>8(uw7hjrg@8(X}~c&u-O;l3W5 zslHGZE^5xDX0UrOpkKG4G;ZTICf|d=HK^l((D=cIqq&%sE zsUY+iXmByYo0O>(YJo6gq)v!Uw|KwRm~6>NE*0w<)?!rPODMgIs{9XJnLf0$f3#hJ zKUO{Gc{<<4`Pr`Vr4HZ)t_Be3%#X4Pi;mPr4ikHRyYQJNFL=XS=d7VZ+tr37 z(%v9`a^<+Bv!Q1_kck8tXd}@)Z;`{P2#gzVuM*YVM>BD)NyVyU2_F+|R&zS3AI&ldA zTBXaK^t;MdRNfBoZZ|UIXUXJoW|R5bUNj;7EiUgzzk<8}lgmTKo2YszQg@m}uAsS# z5CdCdnyu(vzJq9#YsWsdpLGj$_{x={y8~M|!g$T8QTsJ0(>R~GQ}WU~BFE*XEtrJX zkBo*de1lAQ6yk$ZG^-tqx@iF1IL$>@7XOC_qmpwoQup~+D13MTw^o2!75e5N?0K6j z=qW+1Z3%nWC8VYI>-sB%yUSVdrgE*4fCRyRYXKZB>DCMV-5Pm`b;$;x8AIrK-S8DN zxw$s@#;wOZ98F(}Gg%dOzkSVD=-wjCu+m0``q|-4`%GBJSNpfe%S41?35f9xBdN|F z-j7Ai{)F<_@4bS{l3$cA+AEW8&8~Zz(!nhu0K1>6?lpwL+6esIf0IT;Z4*ApZ69q> zACBCd9nq2#3iZML-47c##QR%G@yADXm}tSVCoJx%%&A#V=tC-xPx@|gHwWj%l0Lm~ zum(_LmtsPtPN$Au+ifqyK}Tc7k}q|offYn%13wu*pr3SJBl#3P1#Q!)`70cH>>Zoq zJC`{x65+|UzN@!P53}c3%p2B@sOvw*Up^5c-x9;M7`cFVuATzE_l^3ZUxN zEcB@!5BKBtTGtDM3oUhu(mVs63#t;{jMdmtFX%nNRf!fV0gw*XKKrewi!It#zQ@?% ze#d?RGV)zG&B_viSWUEsGPmCC3R1EDUe&zAAWiwXOity-z! z8C4)5P6O*grHEiw26ofkt(=aG;P;SXgfRZPw$2y8e9A)1TLZV|h28!$kPqRNe6{SJ zgrpN4e_sur833>|=i@!}!?%Nd7SnKBM)A6F=6dr`mn5&?C3YZ|{Tx#Ekt{+%ypR23 zx$|iT@S)39h8_=wy)j1STWw7+9w@NCWpuzJ-@W|14SgA0S&*koXRQ|s&TpsFqj|R% zF~mU3f9o1Uyl>!Ex5M!FI&V1jIxuXdnKY~Qf^V(N#P_qJ@}sz>xW}x&Z$??ul+`-n zZyPX|y)!r}ioE7r(5mG4i0R!K0Il(`&=xvqt%U&Fz|4c91zy?!X5o#%A24s6?k?&| z4m4v1!c+2je4VuwPIG#y*4hiTOs3%L{UhhneXSbv9;O}eCYG?cOv_*VstWrb(BRtubHlyV~V?|~WsGbJdL}(`*CDcY^d8D$&{JD9Y`frE4vljXO zbzqF^^@N*!OFMn$4XZsUvy;D`&}E5lqdZ*nMlvFhj=408H{!<)tC*`fmik;~9a#-0 zU2&MXOj5TEJYF@-NB%?&s=V4(*az0d8beJT2=KrM)5U;n`Alnf6x6X1XKR!ndQ5JC zPEl$<+w89dx#Go?6MycI&QSj@LPo0(eeI$d9Vq09=5`uQr>&RKd(0+Us*71hDHI&j z%jfXR;hcGy-rH1+pnzTmBSY%ZBK3n7IEiTI+^d}ms5aOfV2>AI6&PR(s@M)D+lZB5 zMRjieKmlMJ>o1*T`+n-uwaBkEzf{9v5}_C-$~3b@Z}!8suY+KEGkEw?QR1EU{!WNSrMyMtwAvo`np`OKDUO$2-p33 zM4)7sN%A-rbW`0}KGs}a#*099wUj*3`oToZhh9j)RP zXvd|ZCMH3~`?6H2jhXvrSXv|H3K^@t>6l6{jDyOz`@B}iIQQ@N{>O)w74-KQr9wsv z6p00eE>2nyl^PxmYmeK#VW}hTV-MSXjmBoJ7sSO=+HEsz_K9dc!?lIX(Sf#$-Mwnc zztCsml20g83*y~VBJTd0=K;^Iu&F_`{dEHw*S@yH&bGpF@me(^=)czfAFUUi zdc=uEN_w>pnC>$>5qMUW+6NV%v4NK1aXu6&lap02@SGmC8}BNgsVkLpQVE6zgN_H^ z`gZHF`mXAZzfVI84_0qA^JB5Z>oI|frdDOA10HseYM@mOCD@RC)rUZ3R7z~44!#Bk zHlV@;O8yTCoV0q+)=vNPf12W-W&FW7#(xj!*_G-Lruj{ue@9D!#rsalgFP!&?Fpc{ z9Q5qQywS)z?#co!^2xV>DdA)0LX7&e*o@|Z zht#q)Xb+g}4Q`VGG6wP~OHYfwqnBwyP66+`P!AYXJrgKeMxf1nh0Byl4Q1E086)5N zrZ6#)(5>HU*wl|I`KRyQ3mkqJw|wy2v>>1=4%G2xlDd+@>x_%bXr zr#tO9Zt$-S(MUw4fnlLaUZoP~_RaAgF^BJkbDT0573_9Q@4fv0cn^3$x4u=H{!yyA zp1+c$;$3SUMA_w4G6}dzK^$ScZtP&cCT&# z{cksYVL++vP64~Kg*_Ve;+r=Dp74p3L9&9mj8=kNVY|w;@(r3WJ&ydpgFc7|I-6kc zcb~4KKJ#V8t!+|RgA1$$su+%u>SsZh2B>6pMFvnh)4T?AVmk_))1)=Xj@Jxj1|eG~ z6aNUruApYBREG*-Yrtf+#}sGiFeNzS(N2e8g;*QU}GFVWQ`T ziSV1#Q7O$YpQTu5cR_@J^W>up%$C*>X7@KR1Q7Ds1jAYgZwkb%B!oswt8-yv{Qb#k zf1a*GT*~JMI3o?p>rhtboNn4(%iz8}Kri?6!mI%7(d65PrG(5Zt`>ashbVDDh|j4^ z_;1X%6|L@@u0~3W%3WMwwBKXr=93Fs7C=UA^(VY!#jFCTd z|L2**c%-#%I>*oHleEPvh)77v`~NVt)6y}sqL%lfd2Jj4NoJoO?_#MwV7PQ*6R%IJ z(tNA66n*do>gcl0?Z)*BGlsNP)~PJ4vfcw`$@22+>c8pycIy1vQBycKQhc&>Afy+i z^?r}QyFRNWG{@~^Am>Z=5~TV@?qyDY0D5LPRnUc7Fv0+jSlz~?W^+9!j=CjE&_I7^ z(?_1R2xWkNzX;1uNxN5PQn-XCGI%r~Y682sNa|-EN=Z3C1qj31kj?pAHQt3$uI_qZ za}*?5iku#m0y2pKt;v{+53ycahw2(ys^4C5(jGCS1 z7h0{AA}dcr{(ph(8x#+Q(j&2PF4yS5g*P&m)3LD%uZa~@gk~e%RS0*L8;Md__jzw) z70O@N{EyFcAkS|7l7sbh+(f%oWdPO`NQwunfU%jr<&MLxLreOEx?+}dxy-%zRD!H5oE4Lkg3q=?gV<8qS9ZwFg-O_ zkNUsy*TwVNECYi+qhD{l?5}xGTLP7{9uDzMOJfxSi+RA60R3iD-uLK*oQDv(~{XrN> z!Ua7?OoM;%`(jxX51$3-2?pbU4#&oBL5PZubwOp_tDS>(M#7JSu(Vj0OBa84lW|r3 z()R}~qyyPfh@QF4vTw%vWBI%$5Ja&WD2UN7&kfbh^*r$HCvvfIj^X?N$6=3rPzCeg zK!s3*mQkyu!cj5=pu}mlno*unqkGDCYhl2SnO1%Gw<&W2tRReR^6?7mO5ej`m40#D z|Cahs6{v}?(^VJu$_AZiW7%K;TOE!f-C<1cqDc#;Cl-A8@;@B-@1Hi!fcg59$b!jj zN(CrXU0;IxP?G>sIOXnq$DLXgxKf5Zy(GjX%7D$XKo;!g${5X9e-uR|2k`3{bBsj(afEoJh%iBly)>-}l{Go>%?%g^|~Aaf@r;rddRk21q!+GOC*kvq}IPk(Ah50Z*^5OrSo zUh?-JBO|Fk@R`msk_nUoi5kgA98FEFE)0ZMe|dmg>^%<;DOu0_fbV-eQ!zfjP{{Kf zS0jbPgFoGOumC}1`FFs@GO1rb!WMmGDHZ5)5t48~M z{^y>_e4TAFAwOkvfZ|@e>97}R71vo--8j?j@=PaX#Ya6HFg?gzx*wWWUIH)vk|R}O z`{$5AQCnVMAMG|IR1Yl@8V>n>@_p5K5 z8XB5HlKtXNdL-?MlmdoOQ)3Z4ZERs2P!1!*936S!y;%JpZZiXgZ7%lc=_`qePO?Er z0OFk>+S-oIBZ^UpL9Gf)VXV+`;{aTi#4yy96J8uyGFACqw8(?;5BMlV^esP9j1zZb zEp_PXo^CLqqa5GsM-Q|6-p+`IFhd@AklKBI5BSdfpYiqmrAjLR>uv=;cy)(A2gtJd z3_y9rK|vCtKwUT%r+4#-WNeGNXI#YkHUf?QAHLo)s;;if62^kNySux)y99T42=49< zA!u-yU>Aqr?pz?aOK`oo(>&c>)m3l3-#5k?WB)#9?=#n2Ywk7I|GAG@K^LMlz8hi) zj1+?`(BA7K3P&!a_Rp>aoKH7vVxmDnj%1BA&Kp&u46zO&i&w!^Ga!H zwGd4|>!#(j{$t1B492okFS>i+<{d%vF=t4h=|3^37m<7>8dJD0^XG?qxg>4KQMwsTRSy8JT{oYT32TDQ z18_sbwX`HneQNM>V-4lPm0yGcAzfAR@~$z4{;BgG5QfkiMw9MIXJ+m^2Nd-?*XN`> z84{4x`Oj-s)l^CB@p(l!_x`&t3kR|4jT*8eE{=z?8wLw)^h!70zn>+AmuMmtpYgr^ zZ;mT?{L+u%7`E)A!T()X6@_S~MwOSj+hLg}xI9;mMY#1o}kO=BAx*f~n^F2d=SD2u6c z?|S^-w7cK{>Z@U4#2D+kY=tcSNT)y__Z4xp;-xpm;5cL#KlCSnqj6{dI{*iv!WwSs zU}fsip&pBMs*-Cg7Vc<@4-~RW?oe*pd>eFuN0&01H)m)Wu(P-Hya19y{PfGSvH7{w z2G3I5DuyG^V6Ng`=`3S)6PbrMujCo=X(bOIQq8;!X5>$LVg};-8ADTz7+1mgF@geC z#mQx<_F0!fWMcStvs%Z{V8xM|$=LC0BbYXIv8zn$842i-;wX0z36&^KdDp@IaOfcF z*E4#CWHii2(0C!+>GJ>S7MeW^Z53bZL8rN2Dum8WcrHB6&bbjrj+gJBJji=;&9u`dS}+o3okO462+(Gt9J9G9)nBayPHD|J!{_B@NAE*@8F zBT)TBR(}0p!E=0v;VgLA)yPYD{uLvNdN-BrUrN$Z74Q&6vr7FBg-~P)F;6I*tO3yk zTJgjjTsfmS1@L}Ge3Q|le{(RMv(RK|ACqUO!{Gpou9V||wja@0W{8>=L(2&O8;mQF zYD2Ipv(dpT-O7YJ_**u?T%7Q>*yZc(JbfYH*+@*smw=zfv-x&K&UAd(AEpsDE$er8 zh8fzaJIw$5r(~$N*g4+bBk}QvF6=NWtOYh_Xrp{8{$G>;>2O#C{^PubyNv%%+o5FD zgo23fzqYG~5lNShIR|jhphmu?N5zsd;Kcl>5US|=jy0%OO1S2)Ksh{s_(ya*5yrEp z%fo2x8|)LF|6D0EBA-|JkrrFspsir(crl~yh^h=kYtUWgkkKy?!c0^k4o&SDn|qO2($RZeh55tECynmKg(EzJH(U#) zG3L@3&pGvf9@#K_G&S(f7dcS@XFs;DptiXfr{%Um~&mSxd9w#2MxjZH1J z5tZ2kukChKj^#0q+y0;S^xBk2yglIrA^Fnerz9d>@6wN_5uUNSCr|mp1lfvE+X1BUY zC)=QdN)-`+-v%bn*oie8_|N>=x1yvSxzXSC#b$~JUw-bL;?n;AAQP+3H{~3J7w$p* z;V&-qWOewTVy@R^&cYfHI*?%_@c+<;K;7h`xj1Rn>z84A-ysK%9Sdj-?Qn1C&n}p>& zaOy;ba1y;kyk#>`S#^l}H+An}vEE0%a&hzA%PJkT#Ee=JEpUHXQ6^C}crwA?&2kFI#J^%Co(%lnqy=PB=q}}r^kM07x zDqj<7dcYy>kVl71!)j~HljtJo3JlPlbp4sd+*jBCJ84A`4ZI#Vl5;;kf(x(76nL^c z;>`6$Tu@%r`_`m^eizW7rs1wCC>4->y0E#>eTs-{;}pi+b3(~DD32Q`d!8P8@qD9S zi%$oeU&5GjBHR1tV8FHZ3Xl0BZXa;{X2Qgc8TkcTBBs~KA$vczlA9_i4xRX92<4tt zAF=0sSQF^Yp^i(;!gfIODM|m!6T**1D>?2{w(a_eoCDfn>gOT8HBKgjE{Wbn#97b z2pz>VZBHiNAG=JZH24K$dqN@Bs!!DoqJ|zMr{SyH94jS>sX4;$^_HMr_da3ggUfRR z>;GzaYP31`KA8kE+1ETWEM=wnWxTn1^qVDcd#-=-l+TZI18RGN#>ltU#)lzeI{eU3 zcR<+)wzBiR%-{QyF%Ys5{Eyv#M)N+YQow&>^-pl?<5v*?#rS9$9a}Ava+wH~LRk!y zfCN!PekxIYVRuHSU-(R$Ag zv`2LyMb;XVtqYQ=Bg7#iK&!k^*Jr^!N+%K3Y0#M!(G;Q_F$ug#-0(|eyK~uvzX{OZ z1-W)aN9ql)p9edlnZ7sws+q^A>wx4CBI%D^e8dqxmiN|3rJ)uv4sny{`8t zI9I|}N>*7DAy1T{Iy=N+B?punm~hiDtg|C?Z!;*}|G|C_XhVY9^{KSEnc4~I7pe>@ zmiW)>LQmo%>Tj=yQxl2cM>}T7Er-@J)m@r%8XBm4%{r4vPPr=kqfu$}DNi`|kHfqczl-?Hk;g>Tru`f7&r#V=rasD@Hs#;(HepK8Z?E zEeNx8=*ruMjpbi+sYz0ZmkUSxiM4HyLXc6|w>SL2OrynhlTKE5`hJ8NGL7xc_r9%P z^-RaxpO-q!RC{s%KoqupscX&C6vW=qsjBU+!0EpcR;jW^7#Hezn^4GSTP0>4KMhto zoh_>l{PqNce4E>VX2nbQIk*h9LJ@vq$_Mo_1-lMkTOa}eh9hU(mxKGeKC#QluKvxc z0xv{>WZ46a-cKS8UTj?o@auypx<5%n&U&5`t?ecx*FGM^GKim;D^2wFj+D(Zkyp(? z(sAFvC)@L3;WM0)-u{rR;bu3)zkJQIsO2S)9duk~za+ww$Dip1jj%5`efw7o%=Cn)HT3Cdh~xR2^W+E{@ljbbo3nuu)DWRs zdC~1nmV*`$4qz~=k0!p6rX&{+j6udBG(X*iCFhun{9$IFynmN5+WWw|Oq#u+m6 z64dyHlB0emoZKX`{_YjmotD6#hcKsrj?;DH?9}Xu=j949O&wrfgn2ev06Ybwsce%} zlVYn^m*D*C%cu&2LgtO7+r3@QjvFY?An)SU3DtBT7?jH1TO$&%r+JurUvy=7zIMn! z@EVlKHs?)xJ1SFW)aZsuy%)PVzj@I$-L-4p7QdC)UV$N;^57B;@PH`skY)TYuv+68;_e1sertT;;&*3ngs7Wpo~)t%kbqRpT&} z7Vc2BFX5iUlHnx->Obv&4R+WwF|0l;JgcfN*r*Bsb`~#1qVV{{U9@~@eXQ)s{n!Xq zBI@}22Gekqq5))uhR~7$*Vx2dSN;tf%A%;w@HYxwnn{m!I?@xNx`i&Mkdj>tNOQnO zO6-SS!z^vpz9QXuLL{}bSg*|~;PyVG?a4et|HvoZV;~I{wU14HNMhXc)XAcic$E0^ znV`IG>lsvL?4cXP%fZ&#%%@y+z0N3U*Z5$*P%uwUtPcf6_y?hvk4Yfa@Nn1ZlijQf zT;Vy*)ZDDT!@wKzRd4IU0XxuKu7CbO)raNDd2-Qt+zJK3Xj-e4YwfU2^RzTw2A!*iDb+}j5#NnMa!bea)2MHpX z%AICg3~mj0bVvPnswc7$f5`sxwR(iT68R7{`Hrw?J$gR?X8OlV6SopA$F7WB^$D*Z zMc_c7)O7}AIv|b!!PGJ*EQW1Ssbdb;qZCb{eN+Uq?Fd69z+>mZ;NZw8H>NQ?&Q$;( z9OsENEqs{(87l$?AsVjU##XCcI(i^s2Ip_9aE@v`<~Fo~i&H0*GsX7%_chb-+Dd<5 z$8(t1<;vX(O3gGlXQv(F;K?@30ASGhE-2dwb)JM&V(vhXkt zO?S}LpM!(XH1;Bz+;3xQsrpIH0H(X;^)1m7H9|y{KOG%HcT>F0Q{m;0ad+U&>Sg-e za8vtUUl+iJm<)a*jQLikr$~<~|9$SyRA5RFU4x`hK$i%x^Uw^faRf{F4aH9j3hoVf zBuGrUZK}jJXpZ+aIWq(MPa{-s z1xX_8LWU6I$hWr$FW&PvBqQ^P5AX-CWY458@>?+4Xbh(PmEt3i(p$xqI*^)}=L-$6eb&G1ZuD3TO$hRrt7~g1^q5h_5 zOwAz~H}4W?wHUT#Et>Ip%YMUkT`MpqUAH8Hw9^>^7B~;j1>h7p~b7|3}JVf)DHPu_l#azvT}tf(wii z7GS}C{j2?#R?Huc2BPNK?Ve_|1AavjH_|w<(f$vCIHJ7nr8nkkf~vO`Kar^rW%J8x z|3uQoZF(0Rd&$MbVIqS^CyOj&SAQ0(F6=qqbXK#D#<$!SPo(E-A&nObSf>0aWepoy zAMomoo9=RSa=n);K1Qtpbm-skVYIg-%*gKOa$c96P9O#{_DjbZnQqrQT zbDxP|3rNDio{wi6G>0WdyK%LR1s4lJ2mH}`J&`VPxPiY&_c8LWi60eT?vY4VI(Ja9 zYXmze4U=dQHZu~U1?2|MQO?@HECY+p4k{;+C@db_EeF$K@&kn=cl^+JST%P%;Z;X! zyaEG&Jl{I4?tt_++G{;k0f%)aXIo-=2*T#PZ~J=d;n;^cCpQKcM6GvJ!Kcc#MBWxZ zV1n-uFe6V#vi?<5hz}Ee)pH&1!Qmg=pW*T3x4-P(Ik_R>)y2Y~b8C1m6L1{Kz}`YM zyvlX{a0Z8>jILSmqkIp8eEl89TBUruN@3dbW<2g@tm-3xvgl9Kbf2`p6W!Z;aog`j z5+H52^4=~b;~>s69%yY}q|l?km?7|(Lx>V7@nYH2Wq5Ar*K{WnSR@vnbRan{GP`n` z$n|B`LzNWA((PgjHGx|u`9hh>-7QFXb>sW(;_W_k6ZWTt!Omv~AK{~~DH-R|jVbYsFSa) zK>-i;+e;lpmcagUf7_hu{2$ca{vuyaH}cbKykzY4vE9NBRy3H1a5l1Mi=t;}?41f| zuPO4gNg6dy%-d>rNc>3KU1iLGeKIZkY?@_B%MXfI^=QdhXp6^D^vG(BUQCIlflsLt zolb%@-#C=%5%+R(<4oiB8z&RY@q;SS+GR+X&XasN77l$TiA;yH(4uMV=cyTVVw(YO z-VJ&qpN{W|fPacm|5eNFU4|?9(}x36Kc1R_B=tSkw%-dNT6DBmx%a)49FOmkxts9W z&f7=IjXA=w0eub`$(uzHYi5LxyFQeVr|&)E?!A;j3x9F-^b`InGLST$o7dn+UKQA~ z^ET2Q$?_b<6#h<6jR~O;1MSoLr}F9OW95-7o~`W*K>B^?{^j6u{p!MeEvkt< z3dLjrNrhM^5w-|J1F{|>A!0|2QVI!|+p0|^XBl2W%SC{Vn#>VEe32X5JEdLsv2S?p zCyes;rlOMO1#xU$)hl>ic~8UKX?atcyGMt@gS@o+s}0BUFL+3JJ-osXpm^FFa5=V( z&(7vEuI)7X;+_~4`Q|0p@5hfaek9vKsDCQGYRa#gN zY9G79Ra!#qO=NEbyu(5q;`1JAN6@dNC`{^~*7OIga32&G9YfK0e8GhVe*+m0Lj;_C zLW`a1v@UI2?s$R4%~OxFaND}MIcp8w0=~oQCEMhKB9}V;$kZR@qk4ZV;0L&d#>W2< zVE*@WKpq18WKR)Jca{Jz-7i5|Opo@+!-n*O_~>8G?ziiPh+hl62t{U%2SErME07)R zm+fZZNgeH@iRRQHv#|cZ0$y}wUkuxG<$cWhAbT=|L-!QvzKvRuTSjWIN+7pvb=cUJ z#|k4N?C1}+I&rh~@WDVH{CF3)NGip!;)B{5cv20JV0bZnybf?3cu{7CMp^v2)^)Sx zCTavsG@jk`x%`o_Xy|oYcy6qRd1uvyA_lG-n?LF2Oy0AR$yq0rj}?CUW9A(5nIwvH zu7Pi@+F|DR+vbo+=)qgD|MxYQoo0%`qgBs9=%sWuyf<@ND^)^4S(IxaLVC);#8nZ! z9BwD)V8Z7cQ6(9$vPBw}SeRGvg_I|GZ34a-tdNvCPIBR=b(%9@U>sLm_xJ?B@s80Z)Rh95JX~oz?XIcUsYs>$$z+vlD#Kw>p#Pk z?x}w}`6u|IS>eiw)?&jgT-2J4%k`A%98)i73Fsi={Ms0ysWE4d`4rkDk}UsIXglBp zM=M09e@c1`yO^6(sfX}T1N$%Y?tkos@HP8Si%WxEsT8?L~I zd@V;$jjfTHnAhTk%$!+Ux6P-;LIbZMUoX*@>int5UUhDsR z=iyRU`O#ugPLQ$#2k(}dFf}^Hds^@n1IvcCDua6P0O~%#rU2WT2u+c#kfqn3(^&bi zMGLC?F+>3&dv$Hg_h-jr&o+sti#}LAi_wwdLDe{)!gNaYlFsXcapJBBR3vkBTuyB&x)&2=Ho12B8ka52CFlZwrkca&VA_Vj-&5iPjP9 zttD={bgal@XUCQZSmg6l_{=)H3)8u1^bVTOd+)rdk2K(oTw~s|Q>U$q^UMCE$w{1s zC*56#ev`nUPyDPCUt;yX_+hC@c)Ac@v_EAntkF}1^}atBBzsuGD_$6$ad^vG?DyrO zT!g+5zHN@TjR(9Yv{rrB?s=N^s!sgbKQ$YqQuelFKG(RhvUzE}=?01!f2CQgJMuiKp%((g=U+DP{w%sb>yoak4oo?tXhz1Zz2pM58Byt-F(LbPp| zug1|^GB~7fVKt{)E|0bM_8;tZ{2x}GbxDa8KhfMmd;iH$R&Ova!-SilFCT(-%Br-2 zPMZkY{?vs>hwj7>#Dt)VSv_6!&R*rlq~aNka1uK?8PAvacB1f<&NE$Y2^7&tso|Ct zz+-!hoisA91$;a|039+AsT~n zkA?DHbxn|=8*kbZZFU2UU-mPwoqm!$`=tkM_l9FT{1BdO0R+7GIx@$_Un34e;OuNA zJd*8h_i#zMdQ-y6&^ zBnB-3Wm@&)G8!lPOT}0mx32q}V4IhS zO-{l9nxZpEyOB4&$Ys=mxNl1nd9j0h2E{r=iXeBR)O`f0^bCvOhJZKv#Sl$*y?M4( zW-yI>aEpCCFo>9H=h)KQFWSS-FZJ~0E~)#bCD=!fwFl>72rG0#dP3^9rGt1q;1o%_=IOHh zj|U{$E#vEN;wuU@en{e761;N<#ga)Ij|G8E%hZ+GV&P2K`4Qh2nf5nRQN*pTp4+Cb z=T{N`3({xWd|eD~hr|GUk#J;@rkn1FjNYDun&i7cgpne*^r3=~tqRM}zVR_Z9n>BK z^6L(MrQ5)z+HOQOWvn-1VAhUGTk&)=E&`n@^e}4gfhf>SUiS;`c_K<>*Wy@~pcNpsh z$(;Z-+&AQBoDMHBVkEUkj^a;U6L1`%t_vut%P1iJne)pi6g`RWMV-gNh)HW+qF+fn z|089s=XqW)#lf2e>UOC(G%?g8=snq9t4DP@8sWt{TBO5Y(4tD|?(u8cqK9>XQdgkt z&t33gs{z{B+U_S5<_Tm4n1kgJ5WofzotgFCEAui*mR5?hwK;b z{R}yEb$x(c5|2lzg=nhCZa`_k<$~@$camjc8h+Chy%k!BN?^dD{OjYJzPqkPQxPue z2P)Uc`Skq;%VwL;R6wH*Z~4)$ZrGk!$y;3X>!;ZWQqOZP9a0~+0D$KURoj( zaU9{Xq%ylHyvTY%f!4sUALNcGzhx2yOX^gqUUt7e+qN7Z>6B!f{D@s!=Vg-as~>t) z6~*OnH;vZCen1HSQWDG0NGtA0hY0Mo-#xHje1&~?{2)!9VbM4xR^E~WX4jz`i?t6? zP^~VP4&8W1-d3ST82|Wfj<$NFvRl*!5#?%VVn>AjclW8Bj7<|+^+;2*2&RZMHgG4h zN;J?ZR^>%UfI0y169;{mHxxbC@etE}`t>fqBb?iDm5Yc(L z+1bDJH^CXNv}2|>`Eu40a4%8iHZU;?`lk>IS*Syj1W+Chu&z$ny!#9XKJ|JlpkbvE zA7UqxpFNRK7Q4fOi8Sxhma29BC#bLdO?}k=$rnEjZYXCqUUm<6SRRu=>VMZCmt=J- z2)I{^zQDbY4zT#W!X{T!4A!=diuwfjtX7h2Ep$KdI4%2cZkjHDoRKkPv$ne)#o+r2 z`eiIZzmubHlyNxq-vdY3<1MGIK%%_M+V@Mmf{vg3af!`vq^GUiBTaJ?$Atc`X*VwV z;5XO{On_*1$EH-DHqa;kB>%h!fT(IMsj-q5ReHvo2vsErDkd4 zZhKRt{}se-Aua&gBK{E+P0JXRPg+JmjC+wfI2)={OYS&ia}02Qm0p^D`LJlZWg8lJ z>z~<7lP^rd9f=M?p}hO7@X7ghzr&oxws2WE{74KGavxZz5@C252;vM>If ztjg>o^!!J#QPv|Q9NFEHhTlOdBAd~*3ZSY;ie?SImeQc&TPkxcQ$UiY9xBRuF z@u0&ZD}?*#+uaE?#QU536{S(87WG|CZ~tQLsvDtAh|H>Z^9eIx)l&sM!wKr$fo%c3Ie{@v$)z@?8>Uqg^QvR5eJY z+ZPQEUR`lH@q4`U{puxQ$y@uG&$u`??nIn`w+<>Qz_T;14o0Uw2QSSo51|Fajl20Z zCq7rIek>y!+G#oz>E<}1dbsl6usO+}u3EwU=w|BXvXlKD=?3L(2Glgkt%9Z1UbK9( z3>S}T*MUttl!H_)D2@_co-Ob$3EIDHGNr8?I!_(EF$S>GGi%tS9iNv-2J6Kk~AF8z6)*C5GhE~HUT9EQE#sIH%DT4r>wf3e^q0=Z(SIseQb2$&mYvlWW|4h(NCZe z#S{tKD8_U^)JM*YW=*x0XuEcMT^#{i;DMECHlg*jF4mPZXOttSG;g zq{8s6q2u$y3hPqc7=Jj53_S~TlZyOCX2h1e*gC2{34Qm(e^=MYR)<33rUykT+PBf_7ZEkoe zU!c(2T}nDVQ;l^E_9thASupu5PRyVJFWkci!idn$JcW-F16F{?Cqph>(ZK;<^aokF z(eK(X_KX;_8a$0By9@}efv~I)@n96a|17<|lEIt}tR&g7i|sLRGdQ2;bnYo`M_i z*+PZ@hDd(fRQZE$9w#d)hPg;8PYKcX!GlW4@1&crN|){0ffk0z297FS#Z4lMX1BG% z;=Y!IScKq!0+~Wvjcih`(NkEP-}(XFv?&lp&wDFu{Os#8={KtLonR6NZ3pT#Xum;W zCFCV8ABCy(lS?fY5@jn{=v2r%Xe@SGuQ{U>R!+r|j8d{Q2P#8W>=P6=_cKtZS@Qj=`48-l`_^r=s1x!jko<=ifaSyv zBxZ~^__v@Nk;bg>rdOP3@$AZpC9IjPZHhxaoXA>angi)cCZ%+x?TzZ_i~2y zYfq{KZQ&I}$fp>Vv3(iBDbG81-O?rQZ}d;Ac|o;XzhAIz zrfY4GDq9Ck?}!!U!&kYYV~9d$fr97A#~E9{bh)0}@@i#__m}R;GM#ykp6Ad?Sl!2> zMPyxPWndgMo(t&ldU?f8287Rac-U#muc9{wVgWWj+F$9BN0}ikVtYxxs}#ALDg1ENj6R!A)u z7!VE>1;3jL6UEVi=)>3db&dhkV$>9)a%mU^5A-Zkwsxmg9xo3cC~#%2q-i3#^vDQm zd4tYFzmVEzB&csNE?!U!8hn4#G)26$<*SSLqaCC57J((qT%3{z6ooG@KPE7;TJ1IW z&L7z)LnRyCwsGnC*3(XB{XY!F4GD<@>%PuS-$km`wILDCt=(7o5(aG*)4Frh$HbOE zn!)Q?f_{<>`x?nm1ni7knn%hIeiN^ZUk7M>7~$r~=C}Itvq!MWazL^?ZLZ2V-eH~$ z^p@J6D3mhyBt3v`SUbYrtTk7bJI{kgBi&WB>}O+F#izE?wYShWA4b>dO77OEaIz<@ z`3qGvBPBZ&6b<8tnk_TOmt%q6JZ0$9R&BRWEVr~M=}?o_g8elGwIyh{BTa# zqaeB~->++5ZJmtHPuw;9#Y!VDNjlV=O`AF##Q;|G)kEAERunP(e)*(F=}S z`M>_g!3f}$WoF&dCFK{?QgVkJWmF%48l(72(FB=#(|2fQjZ=E z%c!mD!F@*T5fc?YcL{f5TljHz*9v4|cn@J}a(Ek#yK)sExE#&&AESUxcN?;;IjpV= znnpb_^6!3D(Qjc%Qds=PkFVs7=P}xsG>XZqE8Mnilf}9zF1#iMXW>D&dgr3JnfL{R z3l?K$s@MPR^>{BYm{4goS9!N_M#cVX2YP@nTSH`kWPWBU!+gWI(n4lM9ouSF5EKW6 z(zIlkkFr1;36CCg?;&7IG&eEcs9KWCHq*iB*YHEDwwHKZwe~OgoH8==-_yBnSSQ&? zmGEZ{Sq@tq7rs?U{o0LEFU8rI)O-M+7q0w#MO(m)Xo348^J;2bpo&%vp-Y|Z$&GWK zeOyZuox^fDu#Z=r{$>G#K!yl(8;L}6k;Ogr=e;Ah+L#3Cw^}{HPbqkr7%>3MrY5x! zZoeunv>~z?uK9d@nN>H=sI9IM{Cp7c)CWrP8!?|pWsm0l zG4MTOu6bwW>z8lGj{ch0k(_@yD$n-ICi{rU0<7D@b^`})Db@Bsxk75!TX}M#&$}yr z*O2x+c`=8V8{g%~J&vLKJc1;AR>GC?d0X`?9Bkx0@GFrx9ze7lMmSPWMr)?}FGOGJ$qFvn6cS98zPvj@2O6kmcU)w891Dy@@kkT#FnsI3NUnq>k+-w`d`hUP0S?k{O z@eYy{38GeViZl~?oB6;@U+8xR?$PvazrljaNr6yBgmbre2N93h&t~5zwixq`UK@3u zm5HL~Z@yfM)Nww!%ml|;nUwJ z=Tibge;bDLw;$4tM`r?8J(T!8$(4-PIWC^NJNBc2r{WCGQGX)9g)bZA8buyQiALTn zpgf&6ZZ;^A@IYFUqcko(Ptglx*1_!k8$QsPC3HK2N{N9^-m=kMNz&#h^*y*^?#pAM zen-~;=-ehIQaVmT)nFM6{P=YoQF~rv`#Zio8e6yRQ6o{4<7Xu=inTRRaaF1>-9=GW zZBe~a)0Cvi+_GZmzU5wqIp~`(dLCFEhfppo&M(HaZaYZ(O%*C3wR4_c6fWdtBCscVqDvBYQQ^ z)Io^u&=$A(mipB9pE_40rv_J-Yk|rk@G#aW;06|L(k5~c#h%!?FA)rJQf_Mh!At)+ ztB8nD)7;9!Sk-ogGWLp%&HF0EJ9J@3H!|PL6ndN9Ipt)Z<xSl6duaJU7mtMXDT|fs;@e^8?)R zaO6r_fZ(uXOkz4Ny5K=YNA(Y}frjpjB0mPE7ILBpV2Zaw_31L)^E3gLdLSE3XLhhf zanS;K9!?lRij>+ATP!h?Mbzy{$3avA!&L>wH9cCt^#BdCHry1gQk+>LTR99dx#O>@ zIE1ZjD+s|lM!inJ-f$x>t4w_>H!eSSI9*J2T}^mY5oo#%G1({PcTGN_6YE7gmJtI0f{}LOGhzaqP|Qy?g$4R%UQ48rinH zdw}LZ;==*fq^E6AsJO{D5(*{+_kA}l#TY(6h4LFbix<13PwdjPI(Ln2+e%wQTL zeD#LhjWcJjzs0WaE;PGH4Q~oq02*a}{%-;0|1Q77g6GP} z+v6BZKjt*eJ~WIDdLeR92Y8 zs8A@WM8PJ%UYaiUPTb=V`b7hv;P5=#t@=|&4i0ASl05?@&X`Jsa zzXLUbE==&J%n1H$T(ET<}7$bX!GRBV%^2y2Gx^G?XYRa@FVNTuu3bn(EY5kNK?%2*@n3d*-n@MPkABA%w9I8cPfNQH_x@a?vmd6=C(+6o%1|d6g`Zuj zmKU2hOrM5gJJ_0X^zCO5dXPf^)_P`S z#BAQ4%LR3C?zOuz6it^?57@%cNUGJMLg^dflZx{^-Yl)s`0QfLNdAkqwz%XNU41XI6F5I0HZrf0^E~#p^y-$20bEb(H{`N>lLxc>g2dH`iX^{8vlcw2 z55Fy_S`!!=IdkE)5aKwis>?#Su18J@YUGCbBmc=d5T zFn5;Zw6+UdS@}bo^XO5U_5H7>vb=`UQI>?me<6ac(N3`=EpW7Af9i1M@VOj)ha`>3 zAKEKNZgrv%p?j3C6X~a~Bo| zGI=9-JhL$;d|-?}!g>LDv<3*DTv;}K0qUQwNH@Ecm4_b5$wyWOi4&KHvAzAt z4IFuTKRDrX5_lEzT-9man<|ns&vxGNWig^jEy)v7?RtiR6SEckO$~|%xwo0lWhIM} z>%yE(dzMl&s^AOSo?)Y2!ngzq{ynOq{(V^ef+ADi*bm|wcv}WM@L7ikY~s8*WK4~8 z%LGe*E3_?oiWaOpE!U<$B1ZKsMV(IlZ^tvXcg5`bn2wrd$|K>$_*lM!%TVb~(K?eL zcPDOfkr?iSZJL#Tq=X#(8+)E})LP&i@my)(7g&o21sY7Oc|Qbe#r1C!)WlRPmlW5m zHDQah`l{H%jh)qx5U=SGl51aqP+tea`I`rjFEaXb1~5iZ?&4E2JR!0SxQe<(*i)Z5 z6FCbP&PSKg&e3{YBZj(!OAXNo(Ps-j}$N+quP_YR%lq2z{RP?4B!D@owhs|#)#v{XUr}w zvd*?RVql*Gb_jAyScgK}9PY-h9Akc*ogzb&E}ePLX&i`WrhDU;Tt$IrrjyE0vaLLh z!Hveg=H#?j@$n!W}-o5kc8X%f!IS6C6P5Y1Kkbt_J)$l>5Gxw^rmn3tY-jaEE6Fuc_ZiDG89_PP2TQ9 zllMt(CmN^Ic$w%XeZwmru9$aXlA`>}Lv1*?JLdEM%G+QR&da1=Zb^S^?$2EZg~az->(yL390l7%0nd8zX%wwZAbjFj$Z@*&Xk-TLquS z@)%DzhZvZ#r6(aB`(2&Pr&>C4Ividkl^wojea9yl`MHKJPDng)Q2XOFX0^BcV>*U4 zO=5Le#11x2z%e^?CYAihQZGVt3P6fKZ7v7q;5=iSYBP6O4IvKd16Ic{L?s}x1`NhC`Zq8Z0lXym1 zhxRpFpbk}gIycUcp9v}mQ zQ4a1(J&FZq!rIcF3{djWEm>aqmc~lP>wQanpTd?M1Yl&j+zUH8ZnpYSuX@)b!~ld*lwC^N$GjA5<=601wM{ z#A16e%DL*DKF@4?%*xOIMb|rpSGINSqQQ)fifx+}+fIcQTNNi2+qP|^Qc=aWZQFMC zTF;wT@8?`vha4){ zIlYDM*>bQdICs6GF_<@v<2*qn>q7P5p~jd*avmRvN`FXEi#X7gOSq*B!XYbU66OmZ z&94}r+%d&@6I*f6I&nt=!U~yYa;^3)o=)S`Dhk@xqZ|G(&*t7_E`o=ZNtP}rU{SmV zhkiPMxg>%G89ltxLs82bSav6&SspqI!kQH*TH`amsNni~fHdIz7xoxh@4L@1g zcZvW`eNiNSS?NK6zPEIH>>#{OsHwowkr*xQ9?@9W5d#zQFKGz3 zJ^rEFh&s=aFq6CcJ1lE{jb1l{%;`x70;bSp~~b+X7jk^qnTOKXku7a%L&QFZ!ljUkmA=V z2@4}cLpZy8xT@-d}JF-g9`yVMzPck=2f1CA9Zht81Gv@fe0ISANnDqqMwY61(W_%tkbR`7Cy>C?)P{eJGrLY3NECWOjNBp5Y z=CvJcs=pdOcMLpdc%W5Pp>G?k5HDb!M5ma>pCPGPNt?qTVmnHVz*+4?U`#)d4WYclL}^daD+En_`bY`{<@Ap ztNh^>vYDKB_~677VYWq56m0w0m-Z#JJG8LMASB?svos}~F_*R9TE zHi3lk$q;4DOH(=59?fzV@xzu3RhIzsBq%{UKm|u}DLk;U3c_#=wD@}d($je+1jZiw zr(xe&1@iAzgA#w~jy^{L)~4LbCq{#5HGgXY;czwea*j1O#{9sHD7zygqQKFENlDxM zo+SQ@aZ`aoxcvkMV*Q<4^3wn!_fakYz8dZ_^Z#Y||3XroU_dRrUgXi>4>O1))$i#f zH9QQL3>HQgY}=q0hhqXnJN4&ik70`J{gdlA%KR07(au`Dro&N07r^t@dun{ zatWFbRAsDg&MS4O+7;8#0?z8j1DY~^Q4>*hzYnsh?R>G&8++xHY^#dO>A)7(#N1u% z3NHgtn;;q^?Fq{6m;~X7sq6_+c;y(@6UKj~kRv1#Z;cb+bj1cER2CN;YS5aTX%pa# zxLbpM>7q!H8R9}d54@dh6CPogqREru!}<8V~=^(Q!f#@kl<^6{UYrZEYFhoffieTzY^F zfX2V*j;`6r!eqTy`q4}zB-0F@$9f9B1ih!qVGakC@j>Vb$jT6{7>3MA~FVFFvk(Zd=mkhW| z$le1P%>K#tM|}RW#5O(qe=&1tD*TvV%N2&$%peLIK_}0Y z8tFC|vjJ|e9p{sKKY=VizggUh`-M$HXspA7Z4@SZ6)}a*$$PocM^dQ}@d-R2;cO3omo;qc~B85|dsNF58w3w5f7BEBm9c$ z80AZ@)I+g2O6x4W!pE+}=pTEoZqn+aYWq)Gf^D#jDmhWFXqnImOOkm`wN64=_A+fP zO?G%LS&^@lQZgFWA&?6KXg7{-x!iII&WsrY=@g{d>C#^m7Ldf#fhoPo5?PC_CNU5G z70~uR`vWRd)vVvQ1NG+p>#wbJwz1uQ%~L+{XWJFEeq9Z3|0O!&QTEHC-g)vTXat`{ zM^Gaf7v0m(2M>Q_4|hCJYw4!jD!oW8i{Nh>(zh4Bdbk8VjX(HxXalR#t;*G-E$LcJ z7xDRY?J!y43GYTTNi?t^xg+W9mPM?V9HC<{d=HVbwx$iPdyExG0&6IR#a@`CC#xf% z6QL+QeG4~>Hu&)$)dwyL1+hGd8mkX-6gnR;E z8;2w052uy5vbCA8v=%eImRm_&i#qMLsHG+6?1Kg)dTc(+9Zok8VTZnw6*IC1cbRHPcnAOI>Uj$%Jo<3oKL7AQ_iUPDq@hd*M~aNmgn5V&rnB#+ z)JB^3(1d5X#u(WNc_;@UXTHwXj~YW`f}R+~Uw1*CW?g|hB_64G+u265lEikDSGmTj zdk^8a*BX-qlfm416~AA*A)$X$sZ&_?Zg*cEha+zDEJrZ+k00{Iaknor9%?pB&LtOe_#|Nq(OhAYy zo)juSLX0W#V-gf)dj`!PAWnxFF!e@mP2Lu&`AVk1J)`@3NbYvD4#qq_mExO$G7$vT zF1T52wPX@>24oCz=m>4G_go(#8?k*%B}*uOR{`VxzI7u=o?aynD=RA z=_}sa_5PM2>a1pC48%NXRf04r9@?yy_w%3B0VQSkwo<*FIPs8!+!AaUa|rM5fE@m2 zlctkeZ>gX`u=;7r-4KlIupQuK9bIDn-bsulEI!joY|DSlGU@9k_w66B@r6!o2zP>`&xE*54=Lm3Fc#4a>M`CCMZ@RHU=}*d#AEfglP;D>fNsql_5D&zfL)5nr8qXAHPrZ@e zMwdk+n*~=+NnYn&!XHDk-18bb)s6)p#^Bu7w}*?C?ItX3XB_7I+=l)oPhTZl!~lx6 zT}fH=IXONnqa44P`1CPCqwGY=GAAeATUz3tX`C57#@2=8KUH=fo;8`Ib(~lLY&1?N zcE7y&*h{bUU%W{L&RKG5P*w{tZ8AfTxa0`dvf{_hYtQ};leP3!{6HsiElSYF00=y! zSEK@L#rh#D!6j$fT#CuD@f&@H8yiYQHsefx@gP)3*`YFjuRDn%ZpNVy+Hh0qq9}7; zk@>TvLqxAZC1<6@WwhhM!vN$MVCEsHShrgXJwO)sZ(VfO2CEB&g4?|(n@^=aUZBJf zHCjZ?!YNU~mloBbyNa(A%GKaw0!cf7*?3ndQxjj(i;rtDUqp}1B+kC6pFQI`U9U%c z)vT&!GsuIc6?-D`{ehqi-uMHhMp~l@kwn#rN|1G|)*uub+ScWtIj%hz#701Z)b0__ zx@T98>rV{cp^W#VOB)6S#rl53ZHf|c8)v3TRK~Oqb6$AkvbCMBFdS7%7;t*-vh8yG2 zZZYy}jpwuw}8|;QK!`a=^K_SUUkj7F2Kd$$H#Fj#2yS{`s_(sAaY8` z8R~1`0}-k>n9@P~J#N5~=%qSYauvUj5~d;{SG5XF_8HtKVOF7CmV82#$3R7Op8vL< zy{oJY*_#NXCgLeBK>F~^tNElZjwZh$M-YE8gn6Pht#)wrvH~gktHQT4cQLh}-dV9p zu(Q#QRQRvHhINq`lgcwa(W2OaGe;(e^$&ONEibD>PGxPeLqO`8=S;Fn&i%OJuc&+ zEc3;;pJY0I!tu}H<{9-asndeKu@`;b$HPRO$mAEpO&+gr zQYNB`XoO2(ioMN=c}fR(>N@lJROMc($l42<$yAV01egd7hEGWUktPW$5KT3*BIC#K zXw;52(4EewEr9$w!ecDaq)Uo0{MT%}g)Hg|y)A^Y3DY{m00@8-rd<{)ir}EDPy8Kf z5+U_7A$3}k1lK|$PXfpI6wJEbg(;chJdcc^6gtjE?GK)`QC#y+f#1>SAQFXz z=b6ra4lJ@%V_26`UE8bsaC!FWu{@r6;8m-iCT0iDWL3I>IkAegfGrbDobkMST?@qt zlqr93m~$dedY)gxbh9l)(%&S zP$%g~l(hoO(0EWS-K5$+O!J-ckyciT79m0vnp9d1(ks^T>^qe)J zju2;;4nf=0e{oe;RXaHhRjCmz`2g{g*je;GpJF#k|EvxAHBA`+8=dJ78!HtH2=U(V zkkLGz2<%ENp|zm0;JCo9d6AYgJbZP5QoF=G=jT6FfId@pLyCfJik_HEYHBcG{mMe? zXV5l93FhN%)qe#?Ik~L8hT z0E}-7^3c%l46-8vNLdObhQla}2`321wxQI!m3>b}7O^A=m|c8hdWswjRasg*abA@` zv3zrbgAqh?+v|BPx&%q~V_xQFZvA45aaSM3>MJ?+43!vKo)k8JV(XE%RSQvBFxL^1jys3J!y6t| zuFbTr&6;VAS|E=p$e%qRPrK6N6O+Ru50ZK4?_d4g*=BrR3^_G5*rPmH0Zh&`NNMW7RZhLr~z?zCoG#k(sOrrwWGXNT-CxC-ajiCa@5Au!u$5%x%oC99ju_LPfg(qzTsS zTpk=5V-kuJyV`dg=DCKOt>!W~|18p=^S6%MlQ>`6fz`kfdFzy3FU{iRvsprjb;oL**TIW~PR ze7r!WFcqF5cq%rp1RV{a!xu3KA8P%xtk6z*6q%-Kf$`|LZ~Gdk%rt&s@~ql z00>%d&tZ(=t4+0}&;nsL=x4IkiP)+%SLb2G8n!74&s9=9R&+PaIk=`1VIP7+*IfF+ zzP-#s);RIksL<=A@NkQBfHKAl!1*hRNmB}T72ds#QDwGNNOfTy>+!h907LICR%c8u zc}ERf^I$^XqvW8Fmv2{M%j%TSiiv{67+kK0|;rQ$a} zxNcwv%{23Ov2jU_J&_kJeIc-3j1JIP8q{Ev`#dA*EtA3jj8Rj+psnlcdqFbp5LcHS z^05`=)5~ivtxu{)S((?I&$!6{yGihNfMh-;KJkjIa?NBQET%}KR+Cc4qjPi2oOkSmm%Xn zZ^ygCGWc$SPO53Hp&#?evol(k>w#QuyqiDFQ;S}#HsXb?=Ss38;o&6KBZ+QMjtCc3 z>KsFO(V7j_Ef{(%nG9E3Q%!#YZ;;7EMC>nIN_@TZBA@r<8xqdxC@W!!5^*zd>T zi<$)cdAOp@-^%q0CB=v2MDVuEUClW^ifS3*>u$CJ)dc~0jA%nXu7tTO3{}<@c)!v9 z{E*YJ+YfB!Go#_A^&-jZM#vyPr!Rt4vYO{N)97(ipJ_0gvU-&DKsh(Nk3qzZkPm$X zZ{SyN8obf;5!2tP)X9*kUcPr#N&O;Mb$7;#x34u&gWQJ|KKa(?MRWil8ctCXERnxmwK;ja4!4k4n2);Ax7)!&g(!hn_k z2{S6}_8suw-TC_yGVO9jq{#@-Guuqt*(1ebh;`nfBx0GgE%kO7d#ktq3yywB%^Hz7 zkcXLM#P#`w%{-V|4C^28(Z~{ojUWdV4S4ok91KSM3Tmwnak6EK>{(2FA=X?1u8Fhg zAd9Z}DSb!z;+f7%&fIr19cIvj!kWd{7f|jwwJnQ+^VyvSJaf`_;clm%-i6Qz?vwmt{EXpjbvyWn5 zvEWUq(KbjL^d*qP8<>4*RDlzCvCNim+YV()qO37t5x zam&l${hE`^@mp?CCAUQ`><#bytH{Zw>S&c5)2|umNSGxem1kze2zvDK6W}98T%2c3yoZ7Hb*mS$q@R)mCh!HDr!)a+f z8xmAvRf=G>-*RtihM~WaS_FRG&pNE-d&6OlL^ShtTiek1^R;~$qRhi$<~Wy|&~S-u;LkXx zLus<)ptuq(keX_rI$ndsBs_QTY|?8t9gCZbGm`Q{lfYcQs6At-ljSv6XZz!9KVrxe z<}Bce+djasgPy-|raxP_I@S&e0ojdHX`Gr!_m}Kz8WE{1wpDrwr;WfGuhiV6^Q7S3 z7fhgt!TU*eK79KTEBG>`nbI*`O9=7M@^K*y<^IbT4{sf%xaQE=+22U;!Er_^CsQPF zz^GSEpkfLBFq>R>4hQMj12Yn$L2dYJZ?>d8(ck;FE()S&wncb;xW*@8`(r_2R&@ep z(1r6)B<-x`c}gU!snCB8v;Pdxh|Yim9rh2tQq8Q8#Rk3Ib8E_tC%P)yE1oLoSLAaK zC`LOUKk0=4#r8Htz0+*4sx5g z$z{oZD-g4bb`7%gUCPH`<5p;cz&p5F$W%nhy_XS7`EpbhYkjpA$yi+V1{RM>P2fl*8Kf~A zM{)bNm4ayB>Nmbuhfdmw43MvD9-kOKh5nWONSuiQn~zv5?KgU+T}>lp+bUdEA|%MY zIXm2V3&%N`zGiHebi!r((oBeJx@X<@i6+3tctJ9Bi@>&pNV@h=cT;cA`jsT;Jh6SA zGSSCqwi{|XCc{2FV4hR-;?wdYa)?gKwHG~q&Lf0hJd$9$W>e?(A$6Y$WUuMPXlS9H^rA-l3u_RXX?Bs6 za~t)zm$r+=3;WohxO@7RB4p)qyTdK$%Fmg;r#QIzzJP@M+qJ(t4I z$;W1tp^i<5{!cuGjyL+E%A>3@w=%9ph(W@&4cFzOQHYK@KLsfhbK7eLyWjL7$pKb) z(fejD%7^Uw4QT|WesAj@Iv*xjG!fx$H*%%iKJ0jlX<{q9XEw;bVZ54Ktw_QjTM6eF zCX6zfJ*>Z1A5j4yi<4~BVAljMG=&QmwLXP4K@tCEH$<`W9pm4pS$iZ%T(fZG_o$RM zMmKaZ;{$PWmz-?s>C?DDV!{SwJYcA%Ft{gI}7yH`sJPghegHW4(d^+diC8!iQ8SO(xA&ex>!*X<3GXe1K0Q z=eBMrmr)h_d36@%)V z>t;ttc|DuyuK~LO{C@v`)B1O|faI!;pI{A3-Uu^W#xd!r0kr}oBqz1x7_RvL z&@j2T&{W{XWNe;`LK!elqkhWCPcEvDhET2-Nd{swtw(m%iXsS)n^8O5K+EfhfPWhEzWGO&{=r?q|Kun!2O;&`!^< zkal@zQP6VrgVfhs)!XN%iAu%wDzC;nc?dJ+fzSRIc3N?-idBf8#<7l~lF!a2C&~fN z(6XC(s=)#m%pH8>{rX){O&|#=3rLCejK4iSr1_2hGxZ;lfyKozbr`A!i@EaNSX`YO zLn7K27GL8g@BOlp_Gb^q&+01q_deiBL-Q(XdbBB6)QVKB`?|;U#JE)0F}@`fUrCH8 zrqD_L%EL4U0^HyPen9aZi!{7ZKG$}7J5+xrDAKjBt^V~`49=zwbA5i%H@TkbA80*_ z1M|*tXv}-`zhe-*ymo%Se#|EjeJ7S4TbyI)jjdId!=3c=&lRx1pPTKb*PoPyAm@0S z6(mbZER^es`{&8BB(|E3t}PUeA}5RTmJMBba$=IeERH)<(sCINQk7UJf?55;g8oNK z^w-gKMEKXg;lptUUEPgobyy(YzXg?9llwy%tIfC6BEcqQ<7Wc&o?mgF%^KKu z6jGhd;3$IWy?2%^G&2iM3spiCLAzU5!v;ZudYh~ZvM8au*v_W%LyS3jVN_~ zSo$mn_eQW>h(GTx`>J-p zP9b;b|B(>JLIAGbukNXWb$P2MXI0QG{JEBp#J6y7N5dCOVz>3hw`v7*886dbk_se5 z4XF}N_?z1*W(7D%v*%zv*FVY?96tyMPC% zS&Ck&WX^OWtRwq(3HAyH*+31+2iw4bk&dM|P-fTIBpD044cJXZZv@#E2w?^Da+_qU z7-GWpAkD`)bL2;)0|4(3u*bgp)3{n?Y55Dj{d50)q|VJn!!^eJ?$uZWMfoYNwf517 zs1DCF%9=VSEu9IWeZRmajZAvX-|L_4wm>moZ353R)v$8b_$V@HI-OWyMUQYdW-=F@ z&#sK?1zKO*C;vT|GJ$D|ffROaD&?wZr|RMq1lFQ|ss&#U18wuwZ}PQ271U@4fOzdY zx?e||*-g?|lXIYb!H`-8g?mQ*x4uqD_eh z_i-ySU+3?zgi%g$1++4GOLIazWZzoZ1UR;eX^44~?dD z%GBuPf&B3n(o>77&b8zIoEWyP3z-UxivRDInOlO)MbwM5JAYed?mg3$=>xZcpCSQ& zTj|zqf0#6xdgZB*)c?!`1`hhyV+$*zFJTF%90@#d6G9Py_3OQsN=xp3?n7Fuf!HMO z+&a^Wdlpk_Rp@`i%Ax7S187zhv*7Lj!~jtPLxO&h!5P4rfwONYA%ps-NIRi{YCsGK zf4BC$aMxAhPh;_)&s|#eUUVGgC11swz@tqz{`a#gpp-%<2P^vN_ur`B_D2gesHv)o za;BZm`h=(O|4$Zxmi>05;HMby4aPQ)8VEDEa5x1X|G%}nk3Z;2LGl5?3zgg zC+TZj`%YcP#Uw0=odv{yuuh_z=C-02?`DUmMVx9?W0#E3z-8H2X~h0ZRnwA zk>_Hy(b!&BOSP!4Wju0Ig@~lRh4I0(!zAPMt(?xu0IDO1DRlirqev0UV{a5kACvi` z{?ilwzl>zvk+pxHk6Vhuz62_FGVX28co$a2#_>+Mqk=6E}8`d!yhuU7i65P8~m3eX(xt?5*;P({+{ zpj&RQbvvXAP!`_3xe}v&>c%U8ugl&fuTQGh|m*s3NNckp5 z+N$cJezKazCJHHn{X%Izhuv2pi}UqvyeP>zhZafxDVO!RmJV3%@Lr(lG_`%o=k_3; zmJCQB+ezTHsx;tM!}}XCPag=MR!JR80+HU;ihqC};~8P~`RL%zW5up2M?9FrqxJH^ zQko6?Ys&viB=r}Z9m+-A%PfPMx^Gbx!b%|;+R}6sST-q_x@>S`5`qMbZbyTl0sGgWE{A>)kJHJ+jL^tM=*n^0}p-a^lw= z2YqqS?yw#oPw4QMBwKTs`LtRwF>1>be#!=C)>1OSy{$E>cZ@u`p-s=@2spzNdTDh7 zJr7S$>b*o;Jo9R&Wxs+cBgWMcg2HMH;L#5jDu~7E5DTs>qefT=E5mr79J`wLq0H8MLbAG4 zE~lXhlcf92bWFMrlTVR=><8m>r~=zp{e>b+Sa6wCX+uNN@w zA_UZ}A>`SxbPln>b4#k!BRHN+KV`vwBye0>aTG!eg~0Mw3 zek(>tNWZeF($&1nE+c`Qv%Do0hVx-S{m2z&yUhLC*6d`xv0U;4&P-& zDfQ%K1s#-(ER^?dYf^-T7U;q@Pi+J>LzXW^cy-rpXcsIBI*nGVD)l;HQA~{>Vsf6b z7l{igr1OdLfl7U5jj4IUYjnKQs*w0sbvLUw(gYqJTn)$?^^F(8a z?`WPsDI)t4_RGjmIX`}SFF)a;k-e@MMd|k$J^J?cWY55lr>w^RHpmFuCOG1p_@^}f zTSX2^31;x?S>$;1cdC-P`vLbZ^XbJW$K^9*2izivv09@3U~ z0G$RN>BdqF2J;$9G>@^T7sQoq%xz#c`q#+&CAo^KwXa==Ei_ z#5+Rku}1Jh3k@0{{u>+rfrVmTJ$=XdkuLt&DMkJtE82fdh8oMIKR3E2__p~9f?VVk z8x$$p_cy3lv^CxB_Biz^ws|XBm2vHrXGhhb^krXXeo=6f$Ig9MM z!lV!g1KRf>&@~e2MIH%p*J6L2#H!LtoIvld;KM*Bn3od^l^cbCA{Z3RfL+6Uuqmi_ z^~ax+Jumy%r$7`gQIsxrd@5x>F|3@9C<;+^MKsLNcx{Y`LHW#0Ev=U8_nWOJsQ93I zLR9}@C}wn-#9BY0$+B#_pVk&tG=fH?Cgyxs?j)P4ZcNOXu-J(IKE?l8^V|sN(#Ch9 zU{INYlkS#=LBa^esDB*Nc(BNajSO;Vz z+yOwtQp=WR4!U1}>ehEQ5_ZBoQSI=;kZ)J<&Kah8NQB}Aw+`13hsbKP}9WqGYloL@ZXq*=}Bk%+7n#`d4R$Oz2?`@+;eg zRFKB9DqyXlhW#`1u*PSjAF@W-qMT0rxa3Hp|4rKdv)WsVLi*R~t=mhjr|?IL7pVdT zPf^x$8KDE|IjiJl!mnp`UkSKfJsihLgQmb1wBS_^{FZtB8$7RhKm%=2${<5XVFi#o zb6dI|5wDLGo%^{Tv`I}9>3TkoFs>o4{|@#hR!xP4*M*1k=kG`(jOkC0(l9V4-Jqp=<21+I}>r z*wiIJ!#9IVkp|3jwY;h9_fkOthojfqS+zlQ%@&2(g}fNj%ZkdckdezqrI711d**&y z13gme=Ya&*NcloalnV z(Q!8rJPxP*mF_(3%Z}=)k*DgBf=EsIQsFDSseFVg4b$-Dp|pr#rj)ITC0dLRp!qzb z@rY+}d`rn~H9kp#l}aqk!`5#n#HVe3p}}$4eg#Jwy!D0s9_`W_DEYl0{$*2ibLQ~z z49iah)(_ZLnCV;W>XovU&NWQx!-Lwh%vnX|y3CqCnS4D)lGl0-Q2y=FWsqB<&5w#h zN86Xh7i%!6$;7?mdOeh;44T}Tb@ZO3k^ zDOxR>mB_hudsbm%%Sc!yMK6mJdA{%PV)IaA!^=W++mAvNL}^HaWT+O^KM5tRMi_)QGoP|}W(DM$8^$Q26+yPbe1j3Nf4H(XgST;ob zPe}C0nh?mF-$d)hq{He#$A6^I{Fap$8L4nsp7xpu@HrYU^4bbEz?I%k90u?AzEMkP z93yxjrjN7@)`$3A;dSyByU&*%BgQq9)P&7iU~eJsUr6XIaUqoC=pWJ2lp{8$1ozHV z6tU_oMKREnWcQ62^kP#;;f}y8eta_$Y>O6ODm!AYcWi@GALVhHD_X{Z0j$(!Xv=kI z-u;-DZf7^#$yPF*mDt7E$l;LFSd1#~!|k2u zDRO6~8j9R*qH|6TgRThqpg(eBsYyBC2RF`BXN2NjQ-?i(U#w zXpnSuFfoUhc%_=RxU0br`Odh6@RH{`R!g^*Ne3CBTT!}7%kaIJlyzc~IDQ^o+vG)g zUtUYYh4^AM|9`&`4S=Wggg+!@^HxlWHxS{Mz+=-fH4ZTFU6J>A_za z1k8~K2G#Mz$Uo7apiL3Xhp~Z+H(a!Dy9F=1;}wsUY|Ch4iFFm*3FG=f9-xg|WCRSE z2GCa-L)lox_0`tv*A+hzVBKElH5g?Pb{4BKV|j6++HXY&X;V%6iUodM!{w1PNv+km zMj7k)!EJaO>$>5siXT`7RaGo?_W2mlp<}lGq(u4~4p18dt*?Wl7x2E@5o0-15+EBmn%xodq;@Tk`Kq7Dfj!r?W8DA*bthv00Q&#urk-(9l<)ohzRBTL3ZnhI8wl2|D*t}m~5nG0`6N^#v(SyFsZVP{qEz|Kf2rWXEx zHS@q(flI)xF&HMgY??CD>*S)Q66YM#515k=gF5bDx!n44dH_W1$0`hw-gc_M_?osR zLtg=GDg`g4=YdVEVG;>d=7b~z28OP9$f^67+!UcZhjO!?SLEm8B{{H=_=)+fe-aOq z+cs+mlQSlRR(kl?YorB%-Z0Kg*zX~SM_`dAs@k07mYR`*>vVtmRSWrYC~*f+WIokl zmuMMC;#1io4ba?}=In&fD|k!&LgMy1&Br;`6LWg*g>z6YSx8UD-|%h&(!Yp}Pf12g z=D7RZ0<*+ocrJS7*fS*fBZT?IIFg7za1;4pO-MAqLaCq{mIU|1)~CZ;oZ7YmT<~;0 z8w7IL>TI&`mlh?oj)VgECFq58*6zWsjrjep5Sflo)r_k==?XP=HF$`F?GYl-82`XD zRL+OO83I^Dw_5jWUW%aKV0U)g;x*vZQAH{&bX)Xap7cD1`+6jeo>Xgo!nYO%tqI^o zS=63Kk2DYdmS04|*eOD>OjcKY*W{l+p3730;_q_er!V=h#q_^$gJ1YaxsYP~-CSQ- z=u~jWk955~{%Gz6bTht03LnqQU3Lks-ZMu&%1@ruxGb}0sXs#^y+g_8TjsP=v4*E^ zt;O#r*7hr_e_0Dxg}%Brh{2;hhw3#^MqG@&{t+nT#1qATH-DZ^Pb3AQI1e^Osq@OC zUqjKIQ!v);d6~W=m=F{jegn5jg!0l^uNi&o;gvgpYyc6ChEnq2`1;_8+zx-86EyT~ z>Fk1{*0qV~!+kbZ&k`0>N2}f9XcpLRp$1lUa!AjwoH;Z*8Inl2+yb_MC z=wB){(%D4i1(C&Rl3?Vu0X;5d$EYTh)wz4+tkbZz=R&I8p{10+R1!XPU~K^5x~~As zw4r6u!G_Mq%N56SEKp(!MEn~N;9#t)u~b-VftBJS2)nyn_TaHEWbhP9BJl0|LXT^1 z5@dNk*~812zUM@#VLBBRQPegqOZ-K3?0e7bx+fRk|N10iQ9N`Fjo=y4%hRF1+C1(LU?Z{}_#25J|COs!6@wa)ztR~ga zowuoPAn;yRh~}!ju_OThdqoFPR33bb*PcGW!KeOF;nlNee8U+1{F62ta$;MNmqm?|}I=XiWH=G#Xx$_qA_xC@$Pntpwo*avJqH!YMEJp&+bRXg! zgX17~<9I&wmmXxY?BCBl?KYMa^5ttC&$rlnjQ8OQK>VAT2~4AtwvN8r6` zx60!`-R~fw+=yz8b>6>V`TP(@XD$ls#kg?h9kP&Z^ZWqXD1VYEK=(*y#M|_9$?E;M zD}#eaoL(ZE4pj!wA9DfreunPuMnnLS4aC`|1dvUNV5);&#Hm*{5rI097 z*l`zPkH@o}IMF2n+MaFKWLg&c^ZfCDnLZwZW8tbMgX~d<^QEA8 zz)1G;B1)1tYQ_7OO4;8*af_7`yEG(UJ!y>-r>JsD%B z;Aof?66_7OFZbw43;v-q2La3}_C;BYl+|7MtUMR8sYiQ3J(Sv== z*I;W=mirwA^|4;o_EKl(b2>_XYB^vvqvwZv6ww@GzN<`ZZlQ=2YLb+3Qa8le2@LXh zRO9-*7S&%qiK5g;{vKu!dIrU_NiVtKj;317T;cf=DBx}yix>JzouqR8%9kX{(R2Oa zdz}=_?(QXd4?EqGjBbX^S;qF%!T1-^ z=dVY>Y&Qa98wD=4CNj$@k-N-NXL;|mnIsf(-AO)w9N6GyxaKodQi1Y9*)eGxvujiU%LlcEMg>7j z>?PFQ@LzuI0*WGP%bFg8`R;czfJKUQ5g$MjZHQ#cu_HUfmHy^K$*H#@Q(NfG8=Ma$ ziO0~IP6h9dEWd7>>TZ0^mtXG9!W! zqg?Kb8$i#e?R2d5*P*Cqj!C9_ec}P2OLEtUpnBc3;Rn*u+k35q511MeWM22GRxiEJ zP$J;c)ho^C&NcVRjkX$vj<@ylM}t;a%(mP0UHwQ@3NWx`GI8#VZY=}|anUy4<%p8P z`jSS8{|Lbq^+GCS@}iF`!vzy+Es4MB|#?*)P9Jx@&!#REnR$8ot<4gd5Cs8%V%jPrq)&gR?f& zD<7?ZV*8!{&H9~WI-#cJ^ruy_L29K~XIz{XE+T?4a#y{h9m-jz6&s;dh!x}~B!nuo-lN9O zeABWbO|!sQ$xHIzSnX`Ma!R_;l44ha(&5Lt!EBCgfRef}HS*ieyT~h~8C$XN8WAI} zR7dDSh?vq|m?`pri#k!aYOJbj5=ZSBB)UidaPuEJ-t>Z7Kd($;&_xjuf&8oBiAFkekv9fS!7wn*8+qP}n z>Dabyb_CIcO@|r)uKRT|N59hhbg&x35mX4!nQz=CKryGT>lLJ2q>fRJi|$@ z{Wo50V3bv>;yBfnoQ+07n(STmeF=w!;!o$>LiE=kfPD;<3Ciei9B`fSH1$3u7C$i~ zpi-JP5G_EPB#?_6RAu^%VuIS4t1(zo6*i+NQ>WndlMqSzi5RK4`;hi}*4{L8eWQ|$ zxzP*cLRkRg0~H^gBh#aQd>}7Uw_!Clm~?)97{W@-7d>5{B$U-9{S^22`fsC?Nfc9I zn3gFss$uKce_Tw))_-Ux7hq{8R*FZ1?cZvGECWC<;iTjy+(Iz@e%Kp}PWTvlaFN=F z3{#|6dBSMivl9J_jZT?Y(%zS6f80Jw^@R)ocwe(ccrN49LVFDO58GQ_1L08+e}h9R zF$f-y&(knsq!P~hVz%z{K8hs0*9#ROzEll{T$B^s_>TZ_$@cd<=7!jf0+zk{+FMX}qA?zh7dxo^ks-9=NYpp&D zCkdzx#26@f&PBb4Q1YGp?JOd;D zz8Cj)L-l66Ock5n}vWOG@x)xuj%bHF8x_I%aoNIl3 zk_-RUo~F76Kg`k&X_!OhWl2Qk6_pz#0})iLmD3G()UsDBXw@U$6RZi>R8uopDI(kP zup+)RAmSH3_<@OKfD9{4FYIPLixeq*#%`+oj2^PEFdvIh>4%P0H(oo$$D)=2m6VeJ z%^se^C69P=x$?GT^K4?%)9fi)*@pi}!l*gb-9!=9Bzr0MAfEy=5M;{aLAE+1%zh|~ z0Oc;9Jmo1b{F3pPLIQd^m;3OMa!x)X?3NReVGr2-Qx+6u5@vIe{K?-LUHm@+=+^P{ zXuR#Fx^<~5n`h|f=n|zrrq#}+lFch!ntZeAYGA}oraP6f{_3Ug1 z|76qbDQ?P2XK{)ZdIepu5Yt3BvCJex3Es|nK0iXN<@%kOfo#hV^&oNc;xi zg@?{OEhK||)M}4jbEY+%Cr4+5m>$A=q+Oh|0lEd*0 zBKZQh9EwmMWrbInr?`G{*dCWBe4DTDfXqoed|{{>Y^O^ay|!?c4!0rpC!0JiP2Q%z zJaCGByMF)7bNz_nU-5q`qb%IF$iViPk7c5+iZ*1YkQRAK|2fEUM;j^fY?9yCLYjJs zqNDM(?vwV{YIQD-KH-6~@;Z*WAO+Q99~6kCL@TbCierm7X(vOm^~6MDvoV+ZhX>Lna={E$q?K%(LA`O`6b2!93ZcN- zARoWGkXDA@r@y@QopW7vedsbMi`h#a-UkmUDYs+Wmn)eExX=pk9+8dIeN_*XB- z;(^5On$VsEm{2=)9t6s#tQpr9R|!Q;$3Ul;Q@>!;e=ZWSFg&uvin}0u|AkG-R?^w@rlx4*E zg4sj34csR-Ri)qxx+-FgPJLSYTc0c$7{TGYH-?nU zt~F$$D@YW-uyzjVB@yz!KRMk0TLDCnfs^LE-&Z{l?!>(zJx=^m6;deZJ_pU37FN*4 zmA9%cDrjsupG^4)(`SWqB(J6pAD<3S>=S0 zYNIPHvJUd{wH977z#f;vJ(=e{=n5Cd9;+n@gB{2JJSP;!&PRSNW$UmQJ5m_hGg+hn zny6*=#gw@|w7pg>NYZ9+H`qCRL}HtJ{yCU?1$qgXcFm&1U09JC;Z=$yvhQW}8=$S( z84buxU3E5&vPlE~?85G@vp!>2h@}VG_I-uQ;(-3>t-RCWJn& z$+P7*FPccO*yhn1y{zWod6LAsd@xF=rELy`Kjquf%kOK?tJW+Z-$o2BIg>{ zbzWMIUPBvgXN`8fJqy@dOK8YiAcRiMc(dhLyN7nOyiZ@Vg`r`d>v#T&>sjxkute>{ zU@1fEhxBiT1AIEpi}U0Uy-DfHttxl&WPS0^PEd-5!E7;@)FVST%LeH^j)6%52ufE) z-@NV@JIt$%g5(isi|9Xg5sRUXZ{B>yv<`T@0n43N(G8pplKq-Ui2eLf7es=(Mwe2G zQm8S~t;Ub@;~6BrG{jSVAy8l_lM%E~ zt}mHsEm}M6*M;R*K*P;y1ipU!7Ge<52c(88aqy_9&Dh@TUmdxh=COkMT^2V1p;kxt z@@;|n_pl!8RTik+eG)XRlK!3{u`)AZTjGO~OzihiN!f86)ob_Jap??1Bs)ICx92u@ zpN>HMnQ$^!TKNk50S><{H_Ro^^unLK!&#+Jk>G4!nEP9M?5b|m*qV*5@D$0F54 zTm}5q(t}GM4Lg~HTb<|Oj^l*~8GOom{$HTt*vYbMopB-4xZjumBa4$au3k8i%!C-d7RFsR8Dp2ED(v#A zfGn^X!9obQ#;pbwQ&7y`&(#0wS-nKF?4TMu_kdL?+f_;?EDunV5K7^LzIe()u9yTyP6^QA1(V^yYGrx*Tx_5X8 zr!osR4_;DCE?lULpNTZ%9o7D3mD)oBeZ9%`6($jb!^Ztdf3K<)_^sNm=^suM4D^$k zK#?DM-l8FXNfHv|uD)}$RR4wx;GFRJ3jc60JIoQyM$wkT>qGpR{|sK*;t;RGBi19B6SQdp*rJFZMXW9ZxwmU90PG8K1Q+ z=BV1Ha@|4URomal1k+be)^E0Xdp@=NeUSA^C5sSL#Dbiy(RDt4#O&XH{~UcmSzqK! zs69WPQ?bZyNzyyrF-54_2+JrY#WRf2U*&Q&fXmRsN|;X2{uz?W__-FOtcj}8Q=4v ztx2CfFQbblIQnNwDyQglmJ6L_JVWBtZx^Ytg+ZR-X864wrcJ&6SNZ;D=z7Ekk(!E< z!T)3c>xo9fC>n@Rr_hsxATM+R4<`ph1M18|TN16E?+}?&>ht-WzjVmxx&vZ)5GGzK zU7#qzDPre(Y9ym3Z4GKr+FvQbxz=FScNGIBOb3!*k_sNM2aP!uYAiQbeC-q)?M%~b z)@H>nFPM#SCD(k#syH!np{gCiL*H0%!Tc8xzKXglFUudxDM{2~WjJ%{d=CD(I&3Dq9Sw z@8Vyo!dHe+iO17Fk}={RNk`9QSfVe_hQHx&u)h?ni}dF97lCsd9S=!(4w7?oI&Pm3 z4duT~P+v+#IN^o^0%5n^-cG%MfXmmLQY3q4y-x4euvS zggkG8sV(!jwr6-hm1vJUmH%pg_kA6or0x`RcMeayH$V*{_xb9K-9|dRpzPFPXao9K zI_9w%R00i8uQ=~jDb&qhX4W0jEBA=z&oPA zjIIC)zpjCgRCFRQg~n6^poHC2>@NPlMqf~WBTLcw3-6wcD8o(T>IGbjCB2|O%Qj(a zW=)H?9)BwnjI1b{XWi3NNDbT-rZG@@~-wG)k{yfqU-|$W{HBK+EY^FM}I~d)#*TiIN=8) zuxauu8G)C2kUmiMzsjfn!*KnicX9e`e;_Um5M|_+#yI*4|2Ix6r~qNQX5{|k7n7jI zcDubVo%N2ytje!}+ff%#$O-C_7XT4>Pmkr%T=c9}?c#*YhD z@U!@}P`u}b1@*-!B3Zq4@zzeA!@GsWtruwtwq4U+$smF)QlmKXJ4K$@Prt@i0l^-3 z>p9a>F$@ij7CL42gWIoSx*f2uy0fuxIa+B*>c_NvZxi=7+X5l5E5rbDJ2H4#4rWcg zU+q1-E>!oO$l{Jqyx1jOEIsbpEwTzV6$T&65zUPG&NG2~w3L|h*Twwc_(g&*^FNzZ zqUT9?t+yxa;5lQHlyavMZ`Sa3TnCwMc(55dYy=K3k84qEIp<$@aE_*u`w?#Xc8h;U zCZ~@5qi5SYvV7jI+CUBPn@H2qYV3!x3J278 zGR;T3re57zVq$y#2pZ#!wC%x_1MKj4jeB)hVloPRn+>ZIpDuT_m)k<_atnkssWS|n z96HunU+x=XcW_&GoV<+BSCd|~V@_{R`Rc|d{BqKAEUw0ur&blO9#8p_I`cYO{Xdl& zFaP0cY`J@69$vxCCN((ZdObGR08F=PDE>Tfuulw0ccW@|E$^}6q~49Ivv_Xm8_Mh% zl3#LPB~>rY`{SlWA!#Y|fi!uIDny|Ms2LhNbK+g(HO_4(>`74Oj_Z*=FK7FJQ8{)8Owqe7ty&6$SfqLzYdplijOzo9$i z1_3dhs`-=MMjK*kv6>B{Q+o3i`#U=*O|Zg%vs6xt6Loh05W4cb`*XmQr|iavkux87i{Fmfb&>S=P|6et7(i^xY}qQomQ!DalRO0;i@M%42sJSx(`M*&5(9;o3jsUlxX2aTF$%P)c739mY!FTLMqS zR5qf#(l4!PhgR1V>e(vK^jh6O;-FK^k9X4kBA*f5WwsM*>SP@O?>thDAg4R{OUPN( zj;`OVPz}qwAy76ePZD-43Z=tQnG_j=ZFucdQ#?~1;j#C1eV$>_({6dD)nnVT=+Ms= z2U~LSlIJRQ?%57Y?%y-nrV7v_2KwE%xBG8J9vY}K9kxG)tTvl&bjP93k5)!iJXnR6 zv>`8OVDW2V95echYNgfgVkVu8*LL0&Z?+pwFZ%a+-X%6Y^ge-koq4ueuXSEGPyuH& zJ6%69M`tLZC{Z)lMz~KxsR$X@HBfJo#J%prR>9y;W|Bg2yf8!CUAG%%;EoQaR^RLt zobT{T{9_zG4(w^3Ui%x&yHSz{XsQnm-7wD^-zEQk#d}s$s%6MdU$sB-(DL0fNVscn zOt|XRgg(+05{LPOr9s>McSFzD0cS#G!c4sPIQ#9DSzg#R#MEOFza}kaM&kJGV}kiN zB)g&~kNNgbzjpfdOcR@4lV?M5p~M$!2KDS$UOzG;(C|bxR+tlsrKY{AAS`fhudi`* zbop9pZ|FNqoD;|1BVo^(2?nJVyRs5P22Ipo(m3zPB%%wVK-pBRnQ}i&F(wakA`l< ziZ^BcE9(hGz9lN+gF!C7GY;Z`8Blgt^j1t8wjkn0YFCK;QQ`u-&NxMZ;_j;QjZJVP zuQOdqrtL6Cl*b8Y8ybngi5|UtRe8x< zLapaM=lAybfi~-D+E1Qt(Pkg+*`<5GqH$v9Z>_VZ-FSARO?}hZ1B;?>qL5UUXj^ON z6IbO~$n66RTC=*^?>?^S*@w+FeY;TJIpk}B|4}-BjguQ_e%+Jv0X@If=X2pD&^X~0 z$=|*r!>6Rd`>*XE04jBqtMXTRF*@VwG|UipJizRsje;DBo*>!Q!?hHWoINSxzd^9T zV7x$^ixvN5g|C}=F|*o%OZa}AGoqbd$Ilu#B!OY9%Lx!E)BMb`rzpEkMPzqjqDoyD zqfqa3A4!&s*P2Q{@y4>t3Tz9%6fO%J9nM+C9u6!IB2yWh1gS&6zDBCHLzU6FpzF+c zcFKX7Lh8$_AB1G5A?-RT^~wf=trw=Y=G%vugG8F6{CmIJ9hWg%&l0-zz)^%}SexJW z0c%zdU>b`xe1&2u#n4^>ViWd{24Oi9v0HH0SWqIaCy6t<-W2rp!8F+U7Bk{#A1PXt z5nUVA5WkdXmRP5O+`)|4-!hsv5=q@egZ3Rlp7@9Uzv?Zp&SdzeLSLy7pEI4p6i+2p z;q47It(Ie%CS#j}@o>!zFU!>F9B(Ky{db$;Q06vFeFY03?9|~MwmxmNDG>qea{s9L zw5u7(wv16)RcI`a94aKH-)DyP+K9LLG|Y6|TPg`4OT6}e~VZ)gbbfkkkH zGqiT^{L8iZ%|6PShZ<@cQxH8&c1m;oK+&yBtvivo)eh^2rzO_mm7q`R(0_La5B!J;;SJ&o^2JQL=KYDepBTeGqd zss0VhpQL4=gpyVb=%GEoeEu$byv(wga?x5r{a5N2?zX)M1FdjhySBqhdw z90oj7EP7l_SKmR2vqcL)Df_$p1kHv61Z%5GxmMrxA16kOXxo_yc`XCh*b!w9D`gq~ zRiUzI`Wx93nU*fp(P2BfCnoI6f@lVRwYdHU^w=J9OwB!Sg+x2AD8l#zQ;)9iuxZ~h ziY5+Y((8SJNZ|GfW8lJS{d*uU^BV-xIfY=+9fHeh1$-6_t7Y|QXnc>3J1)p-C>;5w zsKOpD9CE8lY-QA=JEK&rjNM&SNwJRXn_e zbre$%AvQw91~dcx&|91j=U>e>)mF_WBYp{9%vxvf(9#>_JuVN%3L-}TdGN)fb!VXb zy6X5W<*#nzn-peOqRQ2hXAMFS~c?C%o+i`is zd}c;oaq*Z3OjW^i#%v6#@CAnP4KN0VbA74>VwK9fZ@Kf5+#~mQ*IrQMv}QR!v-7c$ z2_>D5;eT7soV?Zq+)pmGy(H0H)p(wfVe~UGf1hCDqV!BXFz)u9N5i&}hbR-c^X;@? zMjU%hwCqN`ALUWaE#2FF5jkWa(T^cOYsHkP8L*fP-lEpx0}3t}Dy(jxly*ZZ{AAzJ zQ&EMst!ngqrzh#TyNNLi(d~4Uh>`2kcJAo8&_p7T9? zYBpIXt$hgy=Q^i77NIlrQUge@Sd-nxI&Abwp9=+Y zW6hkg!Rz2Ibe`I~PLAa?77tTIX>E3PH(kWXNa8R^93#@5{~x9f38Tlgz zO9be06GCN>XpG7X7nix-_qs4sm}wcCAr&_Kun`L(~xh zZt9pRXjq#>OD>o0g2xd>%a@PoT!_3CqsW-fZ>Gi6U8NiGhfg3du*aVUi^GSW0=7^| z_FRYK`3`l91(~S$e&u*3*PH*P$r2rvCHumx^C@ z{j+xhV|m#XNo{4h29{M`SjYKcJcrRk$geiPLO=}0>x!a41;3OC=A`$XY(@;zJ2|Jh z8g}A#J-Lxq>*NDG_<=UVu`Sx>?jng72%4hl!rCCD8qrK@AhenlgaurABCXK595j-X zs3qg_l9Ky3w;q*TFQA=TB-z`_pMrAVO(=A&0*_9JT{zE5NKC;Lg4@^C_s_iLohX6yFfluGQ%>l=Z~!t1U#P$4{(H&7>6+bUMptGH&OL6ayp#O1_}W zQcW^hukK=2CeZ6w4yTs3l*+>VM8`}Fd1mfC;O9fGZOf9~)`*6T6mNg1JdDhdot3tW zWXnzWgiV+Hl|YR8=?U?V9{J9JH)%j8BAEYv{hQy6(!t`8uEE|L#w+P3WEA%rW(_G> zP1CNJ{s{k<^wRD5g*3Wz+dw1%a6njDvwP0efukU(73Sa5ga}7s&3}jq9DrgZt_W1= zf+<)FLoHrrdu4|ccGjcFsmHQ32GN@-AmfkpM<6`Gakj#RApwsuCjKN){4P z(gNozWmz;bi>46Dy<~8O9q{u-JBOknS%VV%nIbsQ+yIp5hF~8WZ`J?$k%gkO_WVCt@%2grdvJ8C-wP)D=3Vy zUAr^Wd8~HQw*mt(EkeC8&Hj~2w2O+60|>|LxCr-`nnlhFjm30|1{@ym7j3{c4dVwC zx^0<2faVDVjW4;KN^O3m=7#d(&+=`SugT1yB)CvA zE>E8)$BrqUpz-v@{d4Kms2Ir2gvBE!`!qw@7V!6coKebO%95k^U{glHYUGI(kt|hZ zTYOMP?haz)`q?ZsUS;pLH?j+>tq(Kd1S|?og*(vd2EvJwa6S}^X4?Y`FUjHbc~E-=T1s8LRa#e^1y1{IAKxkh_I6qF2%qBL|8rr^Cg zO5jkw!Lhdb-6p7#wk_=^(IK0598YnJo3OQ9cGT1&j3{uR#eS~vN2F$nJy?1W_oA#c%J#vq_^WT2kFqQQA2BJ0^_VAoG;a{u;1j3D3u0>Rl2&H~Pk3 z-A+$-h>!XF7>R=UK&%Gte?p)v$aN1+A6gl5S4jhp3)GFA6sV$lK1oqu{EyQ}-s8py zG-?#M@42vbAcG4V_V7u~^N64wGs>$IWgnUp{})p&1PK~_ttl92^v;Q8dWZmrB~+m8 zvQ6Hk;w)tp$z@gfj);(gFEUSQTzuL0J5Re>Uo#-ldxHSr7xK@NTxUSZt~24NLSy#( zJm=!4THQJ$7_rJdJnWq?LL1j^U&Nk38=>n8gWe|tKn#rQ)Kq>y4P#NEi`wU4e5bm) z_~Fw)YGy%`r0*&;B8U`mju4ENd2Dv?w5x+)tZ+-vsBoXv%_7tx#QBMSCa#3*hMdIn zBgenU>dCGEXTWkXTiCln^!=gVbvn>@)Bh^*$-v0c69Gl>w=PmY7f~KaE6P=+@5{l4 zK31Ujl|w6P4CP9PD$QHMn@d@^^?@(}US1y~CBJ5|+8Z@|uHs-+Ze||NdcvY&cR;nG zmewJgF97Un^GBOT5OQ1vranZyZA8&^AlzYL()UD}6>(+2n|94@M?D7h{`!n<1 zjkP>pmJ3r^eOtKi1!*Pqrb9jg$)ZDDO@C63Ya265w9wU){u^z@eg_d8E^3H5b2yCc zs>*V>f=cI?u9+OwFNr(5ozdedJ2q(JtQBuE-P)iU;Fn@daWKF2KhBiY64V&Ff_dV{^Y!EaS_b7AYFJ5N9?+)1UA_1c z1eW4v1JELOlPHQV+;Y7|kvA&r6oy5BmM%~7U$Py%NvM3PTRWZ!WS$W214K5+YD1T7 zzCUP+I;+hmc37~2HVX#vQIlPKh%z)07JJ2 zblBr%SME~+s0`&1q!y9yt$`zp^KKYN^xU6&%p<|(4t8H?$KWe{>o{N!k?@}*c*C4< zcGoKou=BU5$)%h<`J3CLpV@C%8)t4ST`i)_6T38oB#@pSx_w3;vrlTdhLiOjcDyJf zMP?u23||WITSKv=kh!+4y35Mv#AF@aUjhfPO=zqTJ&HTipE@YiMb%wX0X!Qz>!xGV z#WJ~`W1DBVE+($JO12kdbkvXwDt7id1zh+EkoVvyccw5&Dw2u03R)hR3D-W*NjqVK z#S-56sb1!E6dIdlea}`9M{yjKR{`c%e&0E5dBLiwX@H70@-yTC_yp#%24YjCVzE3_ zf*&Ap^aKVRm6dL$jbzLOtbHn;Cvvjd%WR1}i91}|;7H!NZwM7?ndO#k65l9qVFZ{oJ%DVJ~I<#U*TLDu+~>s@_9$M6O%dy z-AuCsY!)Ch-+=&Vj_GZ;y+=q(vG`U5kP2E^t)_X8I^Ux}SEy@%~4q)3G%CBngviG5I(d%-0p0>Gk_V1oXoR zqyKTqu(Q+VD*5Eij6WTJA{QbqcWS3GwZ<~S!+4ULFoE{sIA<9nMwB#hY;}`II@|!` zI|d#9Vq3Hg7}T>mc9Z;VpKc&v zmWkDwgK}ECtCw4c&1)a701XZt@4Yv*e$D=;e3t_4S`XB(RO0iKQ;h zcxUMz8U^5gx_rk*%a=c=*0{3Yo;hR~YovA79kOu-m{wmM;XfDk^%oxb()d$?1BfB3 zEC?EM-xC}q9ylSM%|IKxbu}i#EO{v z3Bh1EnYJuP{(wa8pVCH6ug`9O;m+}_ofn@W6Id#-e&+$qY847fSCrcpn7= zlqc z;^I~khR6QaDrivK;5@NGHy{4m{;j5pW4D8X`s3c<59G4LYf1O( zFtKMlm@xo+k|FzYok~~}hnROZ68g8W8+MRnw}vof@uf9i2X&yuKY_H~P!waePQ2)2PR$JFU^eQ zA~R)`2vIBioEt%}PP$JRS|fi9Imv1(NEL3^uo;MXYtd)b*o;5N{xYQJ2rIC-578lMqG_`qx?Mhl3ZbxQa2a(HYE)nn-PjT^ zoYD8iSwXfB?yc{Bx1>gwYlJm49#!Ckq)-rr!xUttP%0Hq>(i4sQz?R%jfe$0^$Y6t zNDp}Xj4AFD$#c)$ScY99$ko$)JRq?1dC2wzeszdOfuyjm$fC-G%O+#-Doie8m+>| zJ0QLX^(utGt!NTVeYilJ2r2L#XfH@uKF{YI+Z5q#i#ANf?uZp*7Pm_a=c5O1hdbgh4kD7}X z*Ql*Runwl-SA5 zsS8ApQZ@h|H1xvy`r8Q~O@fXr1xF7yyN?HEAC`%dnb(9~_^y$P{xue~uGP_w(%XBf zdp%*;m#2KN-Rh>MaW@a9aS|O;z{kBlLvry{y^rw7KN6XXml!5GtRC`u;+eu-Qg-Y) z`V&4ZK}|nv0+th;KzpH-u4#Va2&tGbvAB`c3M}_v&>N4%Q`gLE$(z<&Q}<%*R&K#_ zCm*}AjLDEcn}Z9_xj5#Sb|x8aIaC#8zu#ukN*YQ$-4ep%=+FzfqYGvFgR%dalrnR= zL{lQw#N}V=(I&2^b6x{#c!_Ji+>#uW!W%8~|E^0%V-D zuMv#To*<*gX=ileiOxd`)S`S+zgnGE*^G0^%|(+75G0eU)hB0Eq)S&(iGQT%#TBcF z|2~7>(!^9m?#p&!)uvj=D2Js*S#qLNs)4pn<@Wa?F|jdT@`gP{1!ICo_?_4orJog> z`8(^6mEJ{g8Rph11-epV6c{Mp#dO zq9ex3{HKhPNDtCVtH0Czga1;_{r9w~$glUBwkuG^Q5#u@Q=1CP_7T4r#D1gDLndwy zl>#5g=$@8oFynM;p%&vsvGvVet^i0cM`gD1|3fauC55D^+oR0pFuVQ4#=}xFZ@h66 zW{6xjv6{83{^!awP|qsnCgp&`9rMxX)+p% zbZeqHF2AAq1mUeqIkw=E{6xUkac!sVccEhR9K}m!s!-i!R|Pj-`V(L_ws+IfkizTd z`IO@5A^CIPxm;YuPpA89_l@ZX%16I2D1nRL7V1D_+e`d{p{|mPkLj({T-;MokJTLjFr{+M(yBtf3=x%(ytso6G$2zaX4D(n0u_GX#rwZ+`}N0E-0!0zVgccXN~JmsphrDk zYh%m0Ew4~<;D2h&zEmo+)+ZsLt2iTKD<@p=WhnM{jy_hJuT)^nQdqh)PxY&NIH|Ex z1*pz9Tn3KyjWA9jUws#Bez18v<)+x)#0ZLnxp&`|WE^sx%a6{Rj?4S9o=9L~T8gZQ z%J~bDNvZp1qNV=u8q9v#l*-*7m#IbTk)=%fD|tIHp3>`E$O8ZXof-AEPAOY4vaxVHd!Y3L1ggCn9+%-rb(pi@ye zk!~5z6Ce7v_lI zJgWrix$sx9c(=oAi%xSBsFw&ivWozoT`$nz@M)9qBi(6ZPbQ7ubPxr6IL)&_XjeS_ zRBRMR(muv;O?tw*!0xyQU3>J+b1s6F_(nJ`VI+_2(pYras7N^>hy`@KI9&P zMlj4M#bzGN!EYtV2-a+z)7|R+z5@;L&|<;;BM~sw#pB|km=T#F=*Gr zkc{DK9+OET2KZn>Pnb(NB-lIViauzJqehAa$ep|{JSK@YssQTv;IDqc*JoCodk}xC zUou_R63^m5dOBq#Q?eC-L2l$^moDEhAm()LJCy7%Lb7QqsEKm0FxM9o5|R7XZTWB0 z?8;(iMf@1j7*z9b3u?)LsHL6CO+~$)+es_lp`AaPly5(y2@$5WUlJazUJY!y4W@rT z?ca8=RIKp!-@wN*(oJ zh>WlzKdKoc!Z2UX!Lw`*``!4AYy1Co9#5pTs2s#mh7XcmXd6m36cVP!Bq2)f8L1 zBWt4)(Jyd)pD?)p9hR9TSDthD>E!&>lMwMVJNNM1Ss7)3zy0r$?S{q<%R@@0NjROg zz>_V^nlK*cmI|`=V&3cqHikjRwjOOrJy;fYMX$#ftIZGhZPKTj{KlT;PDH~jAIc%k z5D;{Siref_Wk=^+)8;p2X*zmnf&qVrK}m13v+b94b6+h2^rWC_{B-kTcIL$r#3#+` zoJbH;y9yiQA-&v4L!I@QTTXo!*UIpNE?1AYuHEd8Coa3s2|;srJKy>KU~}Y7(`Bj&rUkhM%IsX~q zyYfwsivFvdb+{mAW5Sf5G<1Uny5XchQe%C7l44kM^$2gU8dL8tgPIfhQ0jDn6NO%M zogoH(@Rh2~`9+J!A(8>SDyRQz%k2{BZH^<)b=?HuYjrt1H7{v-eUsI^V8*u?B0|-N z$bZfZ`;nq$==>10~y~3dNB}oU{O_^nXOhrMR2ltBZwx*JiivKATu}gLfU>_t5 z8X!ms)~1M$T@Q$>SVa~ZH-xivfgCNwrZJ%*+$LZrFSf~z=6ZJxipKlmnk=2kDeJ?F zkqeng^mTlrHfQF8KQ_FbY?64OGSDgBlJ`BkaIxsrB~lK5Y3i}zQXMMPU}E5rj5?hY zisg^|aUx3;Cd-Z&boD2&<|%9wvArEP4_}|Va=&bpJKD$VuJhJ7Kvj!BgAa;gq0DBC z6x96wVX2(5{;a-j!Qe*5)7yo%QQHrJMUes}_xT3vrlZRsn?j|Wzj0#k@|4Vt*Kpd$ z`<$h9T6OvTLhQlcbc_XQD;wRXA?Ndf#2B(D}9f zTO;h^-XNFDsqkzg=V2d7Kf*9hnoZz+`*)c9y2ei$``D=Y?| zh0^O!ySCniek5!%EQ0lgu0|-2YWrYgI4!>n!xXag}ig36Mnev zNeQlS*3uN|d?oMpB##GI<9h>I(g#(KP%(TXp>bk zO+EL%Gp1vSW=@17;;_q|>_+XS{cStR`(_@tN26_w884dtaJZa(YXJmlRVD5qaWf84 zUF1QP8Gh*rwi#WaA%o^vTd1r>V@_t!6raZP5^PtU6(05g3RpiL?JJe*S{|0stFC^f zNezGDd7B8{C9~r!YCxomsI7~elSd6c3sho6^Ia~cXYk$!UWFGM;9%{?{+i zS&p1f3e`ppUK)3s(nqVnu~<)9M@xixJgax<9e=VWrZ(XXQ;HPHgYy<|wvk7A9hr!5 zW(G+%U$D8cTL0$2pRi$*p&jspE@b-7W=*8#@9ZPCR5diNDT==_PY<`d;}9(^@2Zk{ zLZdewKIIEz_Q}WJB0TTk|2$PTF7yy`#RqVulTHs$xFEz&S%%Y&J>MCK>?M#!4E%4Z zk1jW^U{gJ4C>TrCGy)=91&JEWz;Bh!vx)I^!zEDfWm_qO zSPmttSb80|o5P$q_Rl#MZv2f_!BPr&I0bM6jeRLT0~i~`WJPwQwGYDBiXp`5KSy`f z(x{VNR^h40otNfENFqs^!^rIoK^SywPw=7FFojP{0z~l}5r^x{Et7vfG5N(Mt{e^6 z`D_rG4akPcpM9m395?LkXPb~95&)I&UAXQ0wqi=>hmCHTfLQ9DhVc-kMY#Mh<(43u7Z{Xsqr{1bnwifKHYZtLxk}UOwt#sqW z^M1M{=9)mmvSW7Ppz1V@fYgi28!u~ehh6^FX9SVkE^+{^0@4W}!FwQaCYYm)ptdzh zXXNG;0a^jo~j4Tco__JjLW>?r>G z!G!ww*J`NWN&u09%tOMkkEa}{97$tZ^(JRfz%D`)_RBgK%m)%%GLqtNrlIMOt_7S{ z=&nri*D!qNlf7*DPufK`nNUdVW-KdL6TK5Q=qbA|?b zTZRmNaUY^r2(Ns@x$Zhp5SohTCK-b1-a zveizlvwp>~2#S{P7x4eABc-=N{Sdat*cF7#1KDa}j}$FRyKka=58c~|H^efM`gtK( zUa&v1>k>=pi4LzMD zue6|KymD2yL{d`O3j7Q<+F-~4hDD=AGVYB^3l~>W)20F%AxiRoI&aOh3hj{;u@-B5 zv;9R@hvX))3ywiMeiRZ8$2?^jmbx>h;wO#)!@?NVMxCMD>|q5pzJ4~SRE3Gs|NZ&q znHT`GcGLL`1bWv*G4#F}3dE^Cb2YY{Q;P_=_!rT5MdH#d{X$)M&7r^y}0N&+j+wKo{!7~Ml=z?kyn>vla(6w5- zaRj{W4>G8H3&eqLok!9qOH=mB9Mzu*nJBNeEZE#QecAPvTTF}^!Q1Ij_I*KI24)7! z9be5aOn=<{f<^H@%PTy|+4=E`CUce23w|qce9tRFfr*6XE6EYD)Am|ZijCHZpne1Q z8R~Uk9T8yy@PYy~DC+5!|bCD^PJMSw)U%v5gE%S8x z|2%SHdFX>`VD~$sXc6v;R?5iKw7jNA-Jjb%dA52Tt;%r)rJ`-FnYx{w^D}}7nT<#Z zqr>a#Y`Vy`6*kTp-h^HBN4|oslX)u)J$`G>W}6otj+5^HZ;$CiVE6lByfr@nJ%bbM zhjD!pF%uU$xU2-J2-Cps>IJIXi|g-(uL%C51N2?HAGa6Y$oNgABd@TZ^Pgexh3V&R z!4CAjcTy}Wcbom=G`W4+fz^B5aD^~>WsCym`zc?#+^J<>r^m7&QeS`s0g_nUbbCQR zrvwAheX#keww5mxcV`(x5T#70Sq-3`Tk}GHwd)K0YPp*hT7$br$`{90#c=6f2ZOmG z-hRqDJf5rR8P_>}Go-OczSD?qHwH$Sv5+~nc9O*inkAg<&zr1F*7Yh=pBzaE$ZWI1 zXU0F6get>cE#thsO>G}^O+*CK*N88eT6{I_zy{kz4<`N)i8vb;D;kt8RzbvuJn zVvQMh@H>m+w-3A@!Un+_;(C~;!;<$Y7H>BC^xJoJbmj$p=IXjgBzF;(qQbRdk?BKF zn@Dcevb!1OxsmHj*BAjD)O2C7^8ML%3}|PT6%>nz7Vg$`Orzj%C51L}(nG*O+iT>n zkRSIq%1+}PAofg;_7Y6GrHeR!sO`vo_}xC*q5d+c#-lDbKPd@9PtYq=X3*2%EhPGI zgc;Ddwn0A{@2-c#M4SPMyyq*;p?w#M$cuT_--?@xufl$MIr(M%6V>RL4HvvHuY~iA z+Cx*b?e7INxwZ1B^O*PhBTb34{HhZD-)Tl*<4<1polc*hj(`Nx6TIsLKSDc(N0EKEc}z* zkhKa=$Wq%S{glI(ms;#dO{gaaY+JR_R_}|>0q2u_`~@tKHIWI+Hy-*#g`*X(7#0M^ ztA$h7MMvMW`r^t?<1_s02s+BU%}esL|Ytb^4YKQ4yo z0isZd>I$YqL+p&=urGE4anPv7EyEPw+xyNKZe)zds!!r|VOt=PS9Zxkt_1$h9!lb< z4-Q#Gl6Cor7*_wvpa!XVj=UjwV8cO*22Qzq0HePUtU+^1Q&u*yWv3<;_NlE-4iD8F zw!NPq-!+J={i!LxSWeK-Txm2o7?54By_9b>;#narzHnYi=a?@qPLn73L&rKGQ!&wI zaMtN-dCh|C4lYEEsb~X``P0pzDfL;)ZI}&(UTpxcXej|{T`B#V1Qe7TR>55 z(-JOrLU;lubLXo_TN#Hv)}Cd(`>u1f{Jf1Pzd+5tB64WjoF070(u1**rh&G6jkqZ5 zx9o7?WI%?u4!`%T^s()Y6fhAL|9sj*C&%+~Y4GCglG;J}6EE!q{j^Ee;%7? zzW=w}_4gBQ@3)Mn20{t+H$FYLd`s`DYk^nxd)FMKXyA6brslP*-Rt%HTI-y8X`q!Yacjic)-kj5nPtsu8+|G6PW7{a^gq4gmq$G>d=wp*e|6(pDsoDK;d4atE85fM{Dc&amMxfdr4PY#ea zV#Og^#WJ}ysYf=75roB2{~Cvl#|0c0iWZ|Hw*TZjm`raZ!}_-41!kh$sS?N7E-LvL zd}>Ve))eD{@KuM!{WuYjT|~ov{~5OY!Lx_1gJthn&>ZF}^5jztWInP3;=UV3=kQ^Nqschui(*dW>~DSfS|`YspTF|uI7-`;0pqbcF|zHBrmH>;&S8WiHk z6k}p+4$q!An>T6V8u%46Rb!>L%W722VT=4UMz&&oEy0L~A;PHMj|?9>yIu-k;G}+v zDWC0pX8%R!Oy@(`$e8VUaPzPD7m4f(h zfgT15JTL24--`a{1E%77f&p<@<*vSzBJan5C6(YIl^|X*@ql)w)lei#PBrfrBlO6Q zkR9OWp>-P?! zl9-g~J+lgMBwavEeway(P3RwudMGR$n-{vZWNzXxvRO!AclmnuIzB7ThFiQZbj7th z?KhBn=&sHOrdxF;&zr8jQ?%b_>N&-jQd@`k%z1bAIL` zkP%0g=n?OF@N&EJZk&($e=O&i!nGa7+%2rc+z}SU6F?Y5VQS-Hx-o`DxJK(_SYg`c2wQ_(3#eke@_xZI z1LR6m6-Ek0J{FB#86Nt>Jl4Eq`k$N$Y|B0Kk;_ip$B5(=(JSUY;_N7m2DM)45#>*q zqDE{hp3~uH_u(R3l#7p+L|LKe;a5NFEmw4*9=%d)SG(jh7k;s&V}r<7ri>_T4;YmS z1u3-_Lp5o$=#MpeU8BPX!Mr23t}QnaKGJw@^0V%)yh7w8{57uy(1SM?AC3;9Acn3V zhzTTs_Kl_C5}5;^jyd`rF09A<+5YzeWs^8g^W2YS`Rm0OpeH3H9Q@~}^x(SUw?Hub zEHSuH>7ZxUf?Ukh%*nxuj!(hD)c2m6>JRr)(vO(L+MOb4q%2!nExt%Id%`@izgN)Y z%KhWuo^Q=Hwp4sffp_(i-evf^iTOnIN0y;hp#kOIiGt<7KO3IaOZGgS?CvPPNM2e? zX`Q#M#eZ|_^}(5^74~3$6uQ$u;W>6U+^M7rAXV8%rq^rT*Rj!I5So~Nf#*S8L}GMB zHf=fEUQ!_>Bhu65brbx3q;_Xb7)^D8I`W_-@<|pz@-B%MD_Xw3*Vwcwqu2OM9)6Vg z2VqLsOzk0DT2!%}xt$L56R^9rR_)drS zBRu;Xa|M1PwvgD22Pf@5MB^NEWi0U8`mKSQoUd0S_g&>&AH92?i2`@xdQ9Vb+*CY! z)kuxhZ>y8aVpQdA;I}AM&PgBPu%p(L%EVlzOkub!YgkG@R;p;sBZdAE%z}i_RZuM6 zFD>}4MmR?0 zQf%{yssu3Q8lVMx#IWFCI0;xDty$1jnVy}?DrK$qzY60gVbU09R{oOx zY4!AV(+6aeUdQffqjX25Hd&M~1N88@LT)gOH~jk7sOOdy91+n5fq#Z|t#8+eFsqpQ ztAobdf}}8igk9JcL60do?tckk41iQoLK5EWs)6jdWi?xk$e-kSpR*bZW1Z;TA4XSB zVXE2=f8C$HZZeCq=>`5~H&V{cVxP2Wq%Z+hwdK6h*E!DZpOl(K`QeJKE#W^doFns2 zJUb|J@0{Kca~FAmQWcPNBu64BefMrgc*Sq-;rXh%RmC+WXt^0dQ#;#rMRxC0cgM5! z5kCW%3aY*A#OyDdmB-$?93mW$wLH0Td zYkHedee=dLEtssi${XVKrxm!|>66G({E1k&Xm-ahr{fS?LpQ&5ZDM|l!}3;~*_RV? zUti2kdq|HS7Dc2q`ycBt&p_h`|_bsbr7&@(%?gD!Xd zmcv(1JsD$2WI^H{CQOpU#TJ($ik!|r%$(*&@fP~{D}_hhvgC_6nl!w;+2&_FKv0Pv z8-65~WxALA4Evr;6E(NJMRJCi=emU-}GXNsRt68kW)7s0Dihwh)@3Dv)C*wYpQn&5a z@_8xs2Ztpy6s9xk`@xkg1*yCQ`t>x2tnPjEas~sZFpb2yK~PDV%KhLJfB>C$#xdWv z;_Um62no9~D?#p*dK%*En10x9laKS1qUr?023JfHnHIq(%EXql#)I{4)w`TrKy>h? zCV3OMttdm63#!@#4Za{z+dUoF*#)fX_oCytYiLN~x_L>h#MZ9YC!arHJj`uwo==|K z+L|A}PI5`Z*=O&tpu)_8HUOjDRoye3T`%lVOo={EQo0brn&V6DPuZk{H&qtbjcM)7 z?A!WGZ(^%&d8^lv&I8#RZ`~aG5Ni22`F>N^?nLGo-y&t)@(M@f>e+8}Rz*Aeze@JH zmLJeJJ@$ArmQr)UaVwfKIsJ=Gu)8O!`=CmnVC|>duTO>{UEK%H0efObYaPXb9vY{L zR2QxvgEtK7g3N6f-g3MrS~5iN$*6;*v7U$uUj&nq3g|hZR=^1dNSQ!5`0%DLqU%M?ReVP|1s!nv6wuuG|S&K9hkPw#Ec>j?fuYB)bT_*^Mj#A64o5cY_eVi z-nk89q(tU|q@RQ35{JW&I6$S!ko(n@EwpKwx#lV!%rokB zl3(!UXQP7Vf;Tp8jg}W11Xvr9x`guPQq1daP%l!^zo(;9zhMh(TUjesLWh-NRm~RE z*H>+NBOh~wUEUY!#j53$|7V2shlw9yf37u`*BdSVQo)z)%GA3Xw#jovEyxh18DE1J{N^UY9D;w={^5dj36DKa37Gvfo9{=feGN~=< z%K5}^K7++NjVQMgL5=tg6)f1AAy&{TeA$r#+_A9xCB2ZLQa3he`SG+oE%Yzzh{_h$#H>AnjXMT!NnH96M)M+MRoLofrJx=k=|U>p|q_$pu552ZaZtc9uDkA_~K+ z{22AZc|991Rg84a8vZk*qUCkjrA$r(n7W}binPDH>0@;Fil?OgS=9rrE*Pb$WL^js z1CAfs)c-b3zX)%BkuY$4ePR?)I3uQ#Poen)pi17h0=xr$G`gt&QuJAqjH1|s!_fN z0^ZI+rZplPEq)0RF;*3H)-&OywH8)UXRVTA4gBd_x`-9tETli+;_8eo`bD74zspY_ zf)19$N4R7C$#JKu??4xxiV6l9uo7Q6MNGd(2(bl<(-hIve}CeLuUZRQgktZ&r(dhs zy;2LQuM*RFEj5*F0yxvS;j>@tHM$_d9N0UFspPjc88Pk{afH;}3+)atm!Tv&-F`%) zZneObB+c_5Pf93z$YX1d_|Z8@kuVVg4`cM%&)wD4?zl;^GFD?aUHL7XqraLa1}o*d z4xV&)!g)NtF=bv8QD&p1D|KP_Pm)PI3)pgv+;UAcrb7nVwWs}G^H=HHrm-k5J%2o5 zP`#YiKc27vClWJHQv?i?|B*3Qc zc%FtVyABEnl#aZM=K zA^1aWw!Du+%q!ZB=dqdN!5`98;}OYM}u9LU1BUe}i`))_mc@H;u*oVDh^u{{N|#r zRllA+MzBy4W37PLe-I@Ef3%AZgu74h%xUk2_Osru7>8MHGqJDTzT1kqe3VJn_@UkP zEo&OwF=cNtKCI4ZFKdZ{s&fGQ&*H1wHwY=cax8`{Y3eFNV=9-Q zD{oE#(bhBnE?6C6T-Wr|anmQ9=>4R=09}CLHSud`e9s%IC&w4!VBTJ@eKM1nf?3l& zxHd{+aR}^|?>GpL)VO_?W8%%@s~Zq2&(M%J6j?L4i?fdWp37KrWE_-|4d))RZfGs6 zyrvfl=0@^Hb5&;xxkLOFhHN?7-IVG{+;H%djb5efwhEpI4c7pzS-%F7bC!mx)8w5l zmrZQdFiE7IA{d#z<}h=Vg63tTUXhHfWG5!4JiOx5C{{&JMutkbe_KN|ROo!cZ}Y}5 zY|DRevEWbI?f*PMU_kc^H~Yg5f8+VQYcj3zQr|h}?Wan6_d->Miq*o@h+_3%oPywW&^iOGTu{vsdUWU0!Y^^oF|+ zMkXqj&96GS|5;|DX+wzzUBmxX?y!}el9(yikZz{|;kO27q@+8a%%95EzdLux&Rdx~2nrte^p> zAECX`hzuo}S8)f17-?Lp<9bA9B5pzgj#Mt}=Qj@2R!bZ@uoG7ZdgwS%g5Z-4^G>MY zSXEuf6$73Zk>=&_e%M`_In~7DRU9<0&!5vWuhpNqV}38kYlM(DY!Ub_n*T zNr&8vM2~$;BfTzzR^QV2^9wh|4gNH20|XcSnO($=waw-YAKp`Gvgvbw=ka1e-k6V#t6-xB&$=;{y16}y1F==iW*A59C{aZ)}i7V znEgAj`jeym7U@HXRWCMt_zJVttT|Qj7Jn(7X>yFK5xFFB`kHY9E74{Vssl-`r0`&} z^T+4Lyn#SbA*~qq_0!w@phe5wZSdA?&jh`EM?O z!Md)m+Dtw29~%;gen>cb6J6|lamyP?V4Y3YP;mcjpA3n*H7|mU zw4ydrYj3!2K_^UPjkcodx>U96WxjQdYkRIHrQXI|tNo-TLjaq=&}#N|={RZT^8JtG zwrTZ}`0%6*j`IE(@&wKP8K@L5sUjV0@h<2u3RI&VgE2+t@6>f0^MM~w7lyHNikJ#h zP6rn{Mu|-7g!2-WQ7BEDdOo!mKZpJ22p)hB{&_0xa<0*>RySIBIP(8){``f3n6O|E zc}xW%^R+#xXu6p9%EQV~pF<4yP})pX`{m^f$~ZV;>WYm>Jy;?+C`BMg_e0SytI2`Y zK#M7>MS37Kmnd{yC2N-RvVPOeh%XI7v>=l>_Tk6qTTkX$uswS=?{9rvz z6YBFkSuVem>q)DkrIXKjP6HOS#U^@=^9yQ^S6;%JUrJL96t06eel0+CN4U6Gw#8qnTm&je_ z`nO-0Lk^6s=4Li3i-K zE>HO-H!onmFtXRCZFPZnYHL~BLU5Z8<2^2ZvhwM*^$EN2UNfA6y`QOcwYrx;7_hQL z;Eo2V1JU=EWZN<+o;UAS33c76zVZ!|i>}8I#XhFHZSSKnhE%SlzQacwuHuR?`4%Nv zjvQWgQ0vvd18XOVf#GGi07OUFDVx&;SsvZkiFV}cci~rG?C7oaxzzA~r=kCW$^c?; z0_=9}CB}U8)%AirTDMOrTuQ~g^2hOj$pPL<@1zqkYrKVw-Z)!umn98Ve_F0QY(U*m zHGnSqNHKb z49t4z638#wY|d7uHCx+`ef;jYYsqA5-DI!zXSmmNbw~B}KP{9z9anWNJ9;8{^;Te^ zHJa5vLBMK2wY9R%zo^YFJ$tXX+AHX<2G`V_! z3WLZzUe&)nL4v&=V6O5yeC9SnOT=U@VMa7RVWP?Xn5|B74vRln6mo7?qs_-2ZNf$M zr>;@AD$oNkel{6zNLoJAU2>)bB458V1mZ^;lie$`r(x)E4fbF58jf=_gGYh=O$w=- z4TWfYGpChgH8+Cip=AOz=Grc%WK&Is79msE{v^bUYoKGm>d^}wHD*8|^3%{k4c>LL zIRGZUhE1L{VLqX!nT~6F3VzqN$DU%4@4zM>V}^FIt1vj1_@{p^bP{;_Qn1iL+zFhN zGw8S)-PinG8s>R-vpd^ctnrbxY`y6`tvD2G-4iddSII%<%KuR1uq(Pss~>3 zvqHt1qNRl|?c5i0t-=Ow#2b{!U%6yDsfDykExhnhnHfmwrXeMjeJ{1dv~vU$@*b=D zVDYj4`ouAE@YpTP*F6iziaSbRpAs5hKAwRzxS+LRShxvAhk-ipr3lLy~#OfoFj{t@)lmSyFxecq-$=t|QXx}`vbEj7Ww2Ol; z^rc-3p1NqnifWX^0=r*D>hZ3B%W~M?HxsFhsWs4V&ty8jTJ&6~^PcmiTG{Jrzlt3e zMb;4O)4HkAUNv-XlN+VFb+vd4tv2zY2+R3u=9*}U?N=i#pb;?Rf-7UGA+b+#F}Sh1 zcr9l*j>r6|Z)CuLve;0z#Am1%@@jat-=M_HtLv0zM2z$VJB2mCQCCgQoXWCJMW4;x zjw13o=YK?z{(L?A_#fi(j}HuA-20voE2Zuzo)Xu{;hO5n&>+zb56fNf&G}&$}j#2O@ue&oAsW4iTrGSVB_^DhOoJ1^u-AFT8Q-Vp@oHR1R$&Oh7W`5rIk?`Y zR!KhOY|H}_D?m1bJ0H1Dh>75*|Dmsm&iJFrFRPzS+TBwi$6t0QRNEF2RJmsO^6^S~ z16)qi@A{)(P|`3V3B*{v!yCm5p?R#z&C`&d=no}^gy2Ho1BcPjpMUhf+P(&G#9&Tp z5urhRR&a(}NCl&bqAi^>iY@Gw#`9l*>zgv>`ASBt64EE%e6*1#$^bRn8l?8JGA2y6 zGZGUCJ@HK)3~^2OMi~0RWZ~K571?2c_vNH4@;skf92>DJ)oYUa6a^8L7N}hZgp|vi zpfODRrY7?hig*n7NT8Api&S_5{a2Ndd1+1$k&sIAbOc`)$Pb;hj}GG(7pogr3#701 zh0c8Xy|hDqDL&JF4kmIeDTtP}Jt^#QSJWv>^BR~GoH~o8L8!b((-&WjbdU!A3Z<@) zQ{gBN)9c?fYQ)+vT?J26KqHMSCdP}%5c62sBo=s4|HlzhNWif;mQbdQpM#!`^gpi4 zsA+wjuazO&rNK`d9|>CdcGj$h(1Jp{eIi^d!m6Q>*~7M<5eFFPNJknT*p?z=Jw=@k;qGcq>3(Qej zKJ)L>5)JU@ArBc8YB*(-ooT^@PD7{W+8~23MkCB$ z0;=L0#k->1^SLy@qTlqQi4M5`=>XK=(b3WSuE-k~{#fz}>~O{+WXZp$vyJkI0#P6w zqk^#E;y?6&(7qw;7d2y;_Uvv&{pA`A$Ps247*))a#v1}V_^tXgp4BKODEv^~Z4Thm_*}5DDCHLDeZy?)LgIxmEJ?8Q z*`8}*#m|V;GDMkJ7~cA3F0EKkK`XzKbe>I6`8hl5q2ABq>-W=!F`z@k%WOMKJH4hl zCR>Q){7**&Id3d-MZq32T+GM>YH;57NAX7xY?18#*0pW)11LZg5{T{8`cpWrSF)Ix zv>@A%gq0Q#t&jCx2kifsNGz;AGOOuol^UBBs`fww0voOJ8*vA1gq2UONDg>zn6l`bI3#)9%9Wp0n>l39+zCVP1o~$*gV+9Ii=iL*ZU(d;Y;c+!G+LT) z>ma%7a5i^F!Co~t=GagC%0MdF=#q(?c>xysNm+;9wU{tMUgr}Uvt7YUpShskTM4gk zQx)Y%Kvya)IFs77Y~S)Wl}W0mdtaV}mU+L*P};O2b4oAsNR}OYyP*Kyzdrh1kXWQ! z>WnJbvw7=XR+1FW09_fn=7v89yO^~i3U_cuC^SyNc_h(iZ%%s$YUsZRT*O$J$ z&knX>DP%8Yg*k4SCTbZB9>JuV%HPe{7md5^86IoOB8r`FqL&?|>1GSwq&m>`AxR&M zg=+_wW#0jv&ORHEQjJ@#RoyW5SRUs3GpRXHAuO`R$2%9B4yJq<4%oLVWIj0|9MUBY zUqz-2Y+enH9udTOSbZ=z>?A=+bj6Nu)(`7M9%I0a=}1Gdcyu|#XXDLN!W>rW;3H^H zI)+#elwOBi1*eWmqlj^*HT>2a!i}*M&*ME#@xzFLYxG~ypj%n2TOMxmWnp80ZLv{k z1nf0GK2m%iACV&D0N-fhFH`;Jr}+-}ExJwyCbTpYIsI-KQrnQ(9_Ckx?G)5H>~X0) zjv71?Ez+4mRH%^KRxfIag(irKCpVay^+npwAmlM*yhxi}93zAQ0M+$(m}NDQ$Q z+9`Guk8*bOpz&FUrMZLq(q1_jHi$)QDXcgUm-?oBFZn2+xmXN{0&sG$P8)v{Rp+@7 zBe>JdxlZu&J)JGgS-hI}uhcyF0Y@hT38MNg+SvBA>NeO3Ai+XS^*Pc4DAsyW?l<@*R!ziR&L9)(T)(0{=C7mvntaZl)-FDC3Nzb;ood|LN9RXk&5Lc9zB!i!Ilbw0F+s`)uS z`=2A+#PL&lqM2JH1OUiRDkPD) zZ9Eq|{G>b=J2U@x*})0>lY(jZROz?TK9U><-m+EnD}u-;FN9K#vHr`k9K1o3e_%>G zX-EP;oo3p})Ra)7Kw%;FG$9*KExW--Gl0Fiv4e_X13EpmxD4Cnhnfg)w_8ztD63J_ z9Ooz_F=)x4YKSv~5mFc)8!9Hzp<{5DpjgrD17fkdsbjHK)>Jvr?VizE`bvgyCqGtr zDrIF))p*Sp6>0gW*a6*(*x|2`*Nk?)_4lz~Hto?V`|GHeGoV?hcYJWntI}kg@XU^g zfH((rq=kjY?$Y*WgRC&xbcr6Bioyu?Q$uksNPb3`K~bb2@M4-ECHqrx%#Hev2_JZ8 z5@X{__P?r*F`%NU>7IqN;iS(!K2#dkeFH#+M`zJ3BYZ2J-#g~Vey}!INwj?>e)RB= zSvAbrX28BY(o?diW|p{KftojX!4h+v=^!4t0%T{4g~)Ukz$=8K$q<-A8OYp?R_iD- zZ(I2zo2lchYt3_eG2fM_)--gA?K&**>W=91jvZi*l9+@p*IBk0(3V>g@}ly45Ar{MCIC1sN*qHlz4(Z%*9Up z$(2~`hmou2ZYUVATT=Jfu*?cdQrX6#V=y(E8=_(bffstSFBWV3M?(BT_&?S`kbJPB zP<5ymFpc`!HrJDAbfW@G6aLGwQXq#Y7h$Tvy8U7X0}6v3i)UI=QS^x;TT*^Q%$1dc zgzqHeGHEO&fy!H0B;iYcfrT+BaNQPEN_Evxj>aS&Ay(JM*r1`sMB=h~Rv-f8JFb9A z-1)z_;uPr7uGCCxH7YBvywKuvPO-SQW)|Q8^J^YD%G-cPq!J88Gm1D4CQHrKk_xUA zi*nQK#)S!*3uxRqWH1AJ4{yTc1o(!{7Z>tYg_24%L@nhAXt$F6ekYyV7wONYTk>ma zGeS82>=a|mR^*V!0#=))!O_iQ+}vj8NP!~hMv(`Ghu{nNj-coC$_jxcx6Z?~2dJGB zQTMQ!^1?zu=fPV<$Hzm!bgTY=@WXQZG+^ZQes9=ZlJRF8l_k5Di!AwN|CT5uWQPG7 zH?CL${xMdm7u0&V)A!lILXtk3)4!tbKDfVfRXr8Z5Wi?!ChwNQI*oF2dZ6F8*`l)z zCV>GvN{eX_rw;*|-Ms%F&x%eS(gLDILqm@QPZy>l^$u&-2Hk)80}pCOPe5gjsxn64 z5!5uKSA9BJSyjQEzyIFNih}^t?M@;pR5n;T^s#xUr{don780jJgh(xdjlCq?os(t}TNCaBa z_MiiLODm`cxj_ZFrC8W$rE3*>Yd|{T~kX|@VAplQBuB16e-|92AE@h^8 zmHxe>|HI9x3d(hJmaaP*e<>$~-L_pMOh4k1T(LN|EuRxCAEv{=qVetLd$<4-;-#oRiVQM7Jut9gHh3*Zb6 zUMt8tj|;}3CthGa@-2WqWV?-xw~2kxhKrE-%M=}hZ*t}9)3+rVl5QOxJA#-R zViR^qz(ZFj`=pt>0h+8W{MSxYY<&w(`lP_45AVe6QSy|(pou{jlzQmt-JWm^5%`SI z(SB}!`GK?l7e^NnYo%}~)!`SD)v<&^3VgzHtl^hu?1C~{DTTf_)qH2ba*$_K zSZOxi+8(3T*nIia4g&l0hKA2*ONz_ZEa_op^qc*Z%#-BI7?M!Z&WDctz4+r;OKQIr z=Up^0Kq3b-XvmjFbUS5G<5dn?NlGR~B9+qnh<~e#%i7oeMt=ARUWo_R=nG zopw)G;EtOJuUrx58x~FSpU?~ko?Ft-QVLz5Ccf`&wm&6fU48`XgtJDp7_aZ~NAu8l zf}7Ox~YkI787FZM*w8$D*JXJl6uK2h__jQBE z)RzQ*VLsBfo_GE&5!!=D-Us~-M2@g7u$dRmFt&l;jr*dmeyum%a}SKpQYmUz8H6RT zxO=@CBa0d3uDDC->)uS70%WzHwUE4MFhf=!TtdAnFfDe}z*f zYVgGkFpkx6_0!MQBHeM%xAhjB+lq2YY9fzr>nx3g(JfcM5>EOGJwlz@K%8y83% z+~DOlm5<>d)8xxQR}sUVX2tmXLv;sf+~{~(W-wy!e7M6D8fD7*<(}JU=jT|)yu?#; zI%)A9^P?g8>JynQe;@?{I!=J86Le#sIHO&ba7u-ux?KR$ovsVle zg( zi;o#XhLz47ux8#-R3g#T!Rokr?*>Z`o8Kw>~z8MXth~CNh_pS-T@~~aC zC@K*ti#ON}4E5KXV7dxmsk97YB;0lqeh4Whhu!znQwi*(3N$9VM6PXyr?$#~!&G!%tz3@YFUbE6rBa zyZn;rTe{nQ3E9({>gGSq713=i@B(7C1k47tIq{)Pe8DOTS+xQrTGEv#vBTL+MH$@?U@Ki!91_T^yAf1`9BZ3i0V5A61q+Of1lks#Q0J0#8 zfZ;!?F$_lVSV4x>nVmxPt0`Uf@1Q`Zy~Zgl3+Pd30KIzPeFd1X1|;|psYo&&o6^uv zD(V7_DsUJ+eG{hmZX!y0Y>+1^HeeQpJ1T=gI4UuqKERMhB)pn^2nti!_THsFwU9Ss z;>kO9motV`GaV2^u$gv|1;f(`hTGe9(Q;fUz>%9TcMy?yTm ztxI#~*8}S5vgs6RN`E3n20`x}FU`ae6-NTF^H7drCfmVsd+UJBG4R}EibmIMv0nUnv zv?Eks;ViHa9UNbU!iHTUC-Kc7HCAr7RfXi4KYkinV9`9CJ}4(>D`KR3Lr4|!;$HN^ z(IB3TZ|Jia3&jR+(wz6zVOIc5S8BHF`*?(CAD8g|k@b!7ajsjuv8~3oZQE>PI}I9J z6Hd&wvDw&ZJh9!_w#}Qp_c`a@bMB}4Houv7)~si(zaEh`llRr<2}|78zEIH=j(f2> zpH@`ofP(z_FHsl46t7_uG0lPVFT6!QUkkP=8S&WopBz>BYw-IDhF}DGQdo77D;mAq zf_H!CHuKPv8vVPQ;Q^XeExHq0CyA?S5{jDX4&3l^wk7a;9E0T#T(ohg-3(HoFN{A% zD$za0{~f6gNiRmjrD}fB89ly`)$mdGxub^(biLa_54Gat!<_^%MP7oK^88LacLPsw zA&FUOOjdp4LCF`gW5&b6P(1Ph%`o!OWpxn2hJtQ zi$gP;u30o=B;7pmsr%}3kK*EFvt`*V_5pGFf%x#C0ouvObp9dOM(ec;p79^KXi4mK>dlEJNmv6I-7S+fH79J-tY!5F|M%NiU zI2V7mEQ25OwgzaLJ*Wmv$so0K%@q*!VB%9DdN>-L& zOo@h@NMW_sh&@ZB=2q2Q{MoTY5p-%L3CDq+!1ke)lW-f6QHe)=rBoR)q5+$0@ zW2WomyP|Go*$GzeS#K}usVGmV_~dbf6qNjLX;@PBUi$pc?RPGJmW3Cb3%Oq7=%yBU zCAL#E2D5_yF0JZOv<1I&G0sg>CTf#!E=h%jVwPx8Y?gD;(A?$t*B-DANS?wC5%PuLq`1rNv5Cy zcnI6{DPek}Cihz~$G$BlYdR>#F9 zy&;0C^|@CZoL&1{_#6$K06e?4op=d<#!tW*;8j)E2<{_j2BQgb;y@%XNOpvh{LQX} z?^)g0+n^RNgC=-LRFc|?3-vicj)1)#jQl|`D3fDY|A%@L0ac5vi#FZre0EfE;&-7# zfjf9yUSl33xcbb_r>X{9TaiRXUew8JI^NkN`Poc!&;W7a(xPk0-MKrFb!R79Y#d@- zSB;GA+cfUu^rdruh$=oN%RA&m)y07{w9nDT*#|pq}0fI6W2U|m` z#r2#_(joiKuUb=r>x3Uu{TL|I#p1ut$mTvYYkqYNa_^qo=_x%oQU}Q8R!oXun67G! zWF@{>cvc=}YqDruat=_BIjfThTs4|GE3ZizAmbL<1`d^UnIR{X#gx<)h4Ru1=nhZD zFK*IeF@AH9GEWmqeBcNhcDANMIisWl56||E$-^TbF6+7AL6zF}EbPaf3bctN%HD5r zMMnJ|$Xhs-FK^U?o9DrVZ{fBc4|cg|)?NjB#P%6JHscoMVF6C!kpQw+y{32N=Rfef zAk6a4``Uot<&{Q=`)%+qFoN^)5e5ei<{x3{s-M9JzibFOh(3#-U*jnKWEe%%vK^PH8$3^pF>z z0JU5P9H=p8y&{pj8WYb@Q;PsAQrbaq52lM_QFb|8W%3vD;Gv8^XIeloIj$?c?8tLOah zGRT_#fz~+gH6e*GGjf~7e;AZqz+e2q>h!RES#|CiVxhV~TV7;y_L+nRKgV+SfxlX? z;%Z0oY;E7ep8k^*GLQA(KB~e8!Gx-(ocdo(^9GLO#$^w=S^|^aG4D8zOp&|19VKjD z1NaDvmKm!mc<2Usyd+zEsd>4{!#WC9;3st6I|(C~6QF0KIjgn_ev+!RFsBj+9~;!s z0fIwz@ID{Ec>bfhwK=R^;vFr`!FPbb22F35e5c@TMB_+mzx0x1ELP;=sv?v-q4hfs zaNs@k@-Ue6Dp!cVgHuwL+SFM_dJvY)#OXZq-r$T-gz|Zu3PLH|)(}Xv|8B)tgzr4r zO>%f(5MmUyzx!ra@cytrO&I#)p-jZHLkp`f>t}ztM0%}6;0ck)i)V*tU1%@N4{xqH z%9TB9t7<{!TJnw}RGt)EVpR6Kj{*be5d-k2a$&~ic!IFr+-?$nxq@xK<)>fUn1%?a zY^&uj$9*RdL2B?lJIG3J`UHvDGvn(^nDJjvFc2L#>Z3A4KOv6H)6d(X=Ps4%|CT_k zgVqJvqJ4;Wa?AxYf)k;I6pRvrs+A)9KizSZ0m77yTB;%jjZ-4K2BqD_ekhQpDvQ@@ z+J!nZ!}TbiL`>&HuAcX`0qPOdm9>T@iAu|CY=$;K$5+O2=}}$duczk%?#*}5o>`sT zsg&kX&6K77Qb!v!N;2-Re=7Zy>|njwyDYuV7bV=%jeqV!UN(Efr&{720`rh#0C!c7 zBTU~8J9w|w%=i7}@{B@%h2vJ6s!qz+m8Y^)zh~K~(4mb~;i%Ba;wW2x zjUxVRX|821ovdJ+_#UaFT-RUQixe`wT6y~dI!GNnm{3`Q+Bzt~o3LhV`(HkW75O;B z0L-I+C3lqptD>a0seG9kpSu%&?0bedGcIuf&UwvEY?)T!0l(oB7sHv7@3P=RWHPmi`PR-O%HLz&2nt|6;ATq!a=;H#w||*%{+g3JBBc}_ z9zurxg+0U{r)(hBj3(SF!_#p_Ks(gou-3;@pY(s%h)Q%)_J>E%uP@}Y=_c7O;j5zK zKzmY+Ig^5F2!l6M>y3V3Nv_b&208me)@IZKDgP+st++YsB61kf%%CFF6`&JEX$dp-;N*Hly_JE*s*oxeJ#sZsd}Ap1&#e^O zzKGiCkppFOaWtHw=YDLHo3LAcwQqnooZuSmN{gG@dtUO(V-3L=wtAv;b{Jm#Sm^N~ zvC(q^B1^ye&hu1P8)3y5b%sJbvWC3$Z?;@Wb)26AQ{0@n#DcKTvnpPE=Q2hlPo4s{ zC@S#Mf8$9bc;JkWPoeLA?(N&u>(TC4T2qD&S`KZ%rNu?G9)~tKzh^*5`mN zy!}=q|8HYT4I_Q{JtM!#T^9d)uds{(lhyY+A&JyXQ*6t%5dEelEy1y17p!^Vy>O@x zE|5)S3^3u)4*E*LjqC0CK%O|~+|x`->>1{htVl0nAx5Cr3Y`vWre^2OEL=h23>JeS zm|M2%(Uof%90OJGaWY? zcF*J2F=FcT0{_`un;0Rgo|f-orsX;?n0Cud9*?E0X|6H9&gQ58PD)9^T>Py0^_2os zL*?dPFgwfZs|#k*Q{ullmH+!3jgcTG{A!!WoibynRRtVBlo<!!@SbULPWl-hl+~h?VF{EK8{zFkQ zmZ~4`wTtLqd_LMs_Bj3_+x%!?W3ietlZ0((RfTyx&gBep2va|&tJ+_)?!Lvf^Xwi= z=NoGHavf5;HB6nQU!ajV3O3CdM{vy1=HTJdY&&5L7={Azi%8GmSNsjbpAJ=riW?BJ z-^T?sJt!(lsW_FFPW~ohyD+3gJKiWhX&$EB^N(h|;V*$cwbta(6YUv8K-ixk5xK&W zE1Bt*Q}iZLV+B0LcvQWdAtj~HSeLU27CSnd{&!zgzylPieE$L>y`Z)y=Rl{<$zOo8 zPrz5DEYz+g8sMYVLBba8%5e!0!c%N%aRCb|OiMs1lp>KbucitCy=+>-x%K8UDi<6C zL2O~CGz3P#x!@@fF6Tgdeu=2Yd^3o3Zec|@9HL*8Zq#` zS|ri%j$LqWr7uG@)N$j*e5Rai=mj!Zmsl0 z-{dFe(bJ`r3Xp#vvWH!I*I9Ad=A=QIqUF-w#X2iCysx>lauS5@&Vy?-m!A~QZO480 zic>!(={-ve)P}3C{c->7!I=epd zq==peCax>Tm+(d^b$2P3B^Ty+V$c#OB4CCG<#r1ug1DW0(JLfK*k#1btG7i}^<~Ui zZxllSFx9<#PFsYEI{IC1>2ocJ^L{y@PdO>m6p+OOJS|nJsp5g(Ev^k)$+3!S$^N zY06JdrGqkwAp3`ssl1J`YygOD^Bq$t`!}61b%`=rd)4Nlx4f6f5`394J|Z|)Y8P8Q zgemq?0wEp$0Aaqk7M0Ou0%FDbsnHCzsN_UUea1hMnkXFb$Fxr2PKM;Ks6~VR@E<@9 z5evG_<2Yb&ItCGQ$JlV~Ws>cRp(gn^K`L$I32N;9`wF#(xvL%s_%!=YWsvd#!K9%x>LC);t{M>`#5qbkXKn9S zCtvg}HPB*xX3!UEIBrqcPj@TE;>b-nnO2pw(snRZ+fe% z42SZY@4S8ataa29iW)?ie#a$SxVFQ)cxyyZCg^Wg5y_tA&v0Z2e;%;-Qvv z?r$=@-el-oc)J=S&03GWvnxLCi$qRCeNr4!%MT7iKE@y|JEYO0)UKR_sQA5){_a`g zYFk8my)yMmu!uC447Mx!(FUtOqb?0&B0HYK*UG=3y}SbIr#?{sz(RI{8}0#P6tF%*8GBv z{S)X+1XE^k*u@#Lh>-5EoKsVSy(1@N9nXIAXZzqKNuKqoZ~l#r?Kqybru54N5!sDaa3g02N_OE8+4s+o$sV;zyI~eH_Wr+^vv{rvy2Zy6xqh zuzrT4KcGH@ri&dhW81ST04P_&(k(dBof?6Juu@RQyb0&%fTPSq7_@G&R0!$l61@Tl)&f;V`V6~>k08XiMCo_C2KFt z^8Njl<$bMXghR#Y%xt_P*@XqOc<_J35{l5^MBBr%3doI<%n2YqFu1#!4$2Q_8V87h&2VF{klaC49tRVm?`- z_#dtk_|QbTbDXJ-O#I7h@E?(=Ha#2?$0y2aKJtt`l!TivwS*(Lnt22r#Pr|N#kzvf zxCtB$;tUGQCIw*e>=J-k9+i!n_bzc^&J$TJJ;&~*=Qw}nl3xob#uAd#4uq~YqtshhzMT{J27)X)+xi3`+e z^MR<+p^ODzjQef)N275itvhAqn~n&&%l`CRF=+vhlUzC96V9ky4vBW*L+#W>E@phb zMxnfCWvH1N3B4=d`_)vv6K!wyT%5t936nt=k{b7va`Zfe^Ie!{wH#>XK1kTdNBKr{ zbN=>5fI1uSEkTrB9_j1#zp4EHtgZ?$;E>M8i>3)kWs$>~U3&0!Xw{gE+_?;$=%HPE za;Df%x1_;J@C&n02S!WL5wtqtym8{N&6Bs;s2_ZUIV0Z5Glaqov^xp6Arc~aA`k3QTzp0FNoRfp+TuD;F+w(ty2(OuOQ5gpjEQQ9xywLRkH)s^v= zcWM+0Fz@?dULl{{26Z|=lH2F=$$x%si>H#%UI%@t(R$cFRv@@q!_MbhZuV>9TqZ=J4!VS>>SM4isXm~H5+hr-u`YgKdHNT>PCL32FN(rjT{fWHS-AGx7 zMF+6}@}ZX1AN-D(mC*;Gc(#C1jtjZq-y$^b7QuvvWI7m{pz=w^)K!jxBa*gc;>}{=GQ*I(Mv_1tX>ln88Fh)G*Lm#4EajOt= z+@Ajdz3_$WrXfme36O`E3h(<$?CingcKfRjT|_OTy83y1HXXUiJJfKiN{)Rru$hf& zPtnH&%N`n)NyesQW5p6IDD<|QU#{d_Wz;sjohnNgEIgMWxbe2;{pMjRSLmnhmqL9h zRzypQl)fBuQcXuR%wb(Wj!#!bddg8kyf0d>9~dBm8@4JQ>Nlx*cE9ov2>%==-{NBa zRoq;1iKs-U*ta}k(vTW>pMCQIBgV`n{Bu0kNrGXT`VjLU^+tO1W;W9WZGEfBH;>S) z{kV2jo^$CBX|TzsH9HyQrfn^UVgdzI6K-KAD821~-d zDGEVgB4_OSk~>LLqm}L`>oej0qQ*WF-i7&I=N`&QN5)TcjYcfY9EK-}@~j;JL@t#r zzQEYwgLkgLgAs_s(<0{Kdl%OSj#ti#9u?Y3DzoA#vevdnd?2yE{1cMT2rgn@q~#J; z#JH=19dFXb-IiVK+xrc!DO0*hg28-O*fu>(EKN74BSlzrM6OGRm-Pppx$3E^z}aGV z`_&)JWUmwOW_*k?;>o|yy<0nPLJFK8+YxvLI`*ADv?j^tcC z8<|L#IC$kk9C+|s6-b4Q88q(mcaNoBZ3fKe@n$m^Osv(X2P;FkiBjykg#Gv(Oyzi@ zs3#En&<-{~H@@#oZpZl40tH%XnK-pGNIw2RjC@e;B)-#nt9pqSNy_8|2PwyWX6(Q( z^yqV9Iyr02Uzy6ExpVvg5CBO%TKWqz0rXk>{L*JHm$?wha@mJe05uJg$S;@8scbx5 zpARpba`l|~nq;bTHx$CZ{3!odi={^9xCxX+xzU;x|3IK07GU&#PTr`dgGl2`f!+^V zf%ZUjGRVeHYmIt{YrFx{YZp}gfY>@G?l@nF(0XeZW_Ik&z#!@hd0pKs>Zo#YG&0u@ zc^`Ts-daU2#(q2Na^ZHVn4N3p@@g1pC>UKPrrwHf)lRH6ru-fu%VZ6-QITJ7X~rBRMJl+0_|$rb-PS9e`-02ou|OjHF#mCVW%nvA5*%I1Z20CU z+;W+d^6hj`21Pgo-3&iRGCc=X>Dx_?h@+Q;wmi(wjo2-flNGbO$N{L=q~(S(FYT~F zEARCfEZ_ZLXO+5mt~?!N&C}#|kkl7^Z~8C0C6OobWnqFeK!4D;6wj3JwasV9Iec0e(){hj z@j|@8yh{`}aQeKdX5r{O2zk4HSwq^bHQcM_GMK?@7~9r^h>~>FA^AmXvO}sFsL0e- z#oA$V0La2(XOKKUU@T3nAFXn zO(1J~gSOsE{B%=>#vwXMlpAfjR}BR(>MfA2KW=%l9`W&=@Qqqi&js^LG7+A-WxPGiAZygtKF6+D<$PTd|>#2yS& zvo7&T)~}wlp;O>7vee|xj>lo+?(s5riPtt5;EGEi$w)PS{QMWB5@etgH2ZYz5l%df z(qJ2QZ6=R$r3Ml89E(F^(vv%AvWdiP<2sX$6W;8%KbT-)1gJ-Ms8_)F^!Fkk6vVe*+3_=Z=;q7F zr7iDbo0Y%Xf<%K>`#zN;5*U+3lm&gQJ(Tg+&bB{&xB-mXz&g#sj1MpAh2e0}s<0Mq z1Onj-T`tUefA0kbNTXjeDh2N0P@*JM=46@UqF1}dT>OZa3NDwJY~}qWD2JFDUlLEO zK1+6BRV@Pm`=ms!p*@V#|SQJ9f^>r_| z3&Mw*%n9K_U&5pj2vQ-?aFZDzaB<-k!%~#mc|N%40k6!AKP`4zp}q3Ycn)=?BbmQS zQX{2LSLqcw+6SsnUQrVuOvpp$o`ZwWX85iKXICsIL%H#8n1fx-%?Ovh0c2s0kiZ<^-iO!rs3#G!Q<{P|u z*lZ*BR6=E*nON+juskeOTeeV@lqYV;-TcVYbHJ7MHuKivr-nLIKQ)EH?*Fz)FzP`m z=BpMT$^V*})(K~uw4{x*@7r*qc)GGxJ^1Q7%ofrGLspCH=XmC zB}q$hxN%qbriGf*3JninbbGO2}msZS-C(VGJJy_JZjQDe(QY{q>r zrpUs*1Oyc$u@f~Vykw^?K{<{=m;xTj4wkzeEO{hjwi-&$8Tg%~;0OG7p%6A0sKk)8 zJg82GDv4R5YMtJeAQOtap(_^WQ{lTtq>RiHGc`ii;c-IiDby7QrXI1!~5V3u=lO(EeB?e5wep_2?zdIfbk?ViwhS#uRcJDLt9KCbamzXn+Dn zVBku*=*+87Aru@~Zx0GSxy*58ytS(7>FWJ#Fy-+pQdbx_)FQ*znV(6>9{W#y!H>nV|yd`h!?}K^bDzO+8y@BX}VDXs~rM2`dbm-dn ztq@|uR|#gQTn)V`S~hPM3LB=jlNtP$cTwIK&VGXqe|=yMIbW4yGwljm1?9 zf(UK`E8ybCaXz_$)o#AM@WU2SxNdAG*@jZCi)B98{bIbo`9J|}{Ce^{;#2=W6weWE z(mMB1!{R%=tEO2>C*JBk5iWKYOvXy!nGaJxls4m6Sq5AMn8NUJp}G5Mdc&KS>-LYO ztR^@xb;Ldie}*7dntu@PZHgB)-x{fIBP>3EW_(k}E zM{T-?8e+yw4YgAvbG#OJzv{Uv zmp%gD>KB+}?{SxWNMIN%&}e}GhaZ|5?x*AlU<30<2y_CYi?vmRWSEURa+yG{h)(3l zm98hHT97Py^^A(B@d!BTNCKrxfPs`F zc@8Zuu0$l&v@s)W!Z6wkdo#2%ZUI+ouWloHYAaS`g{z!SGayTHw}U$6u#$f2~x96pL8ma zu*d}?G6zganv)WaOVw1evQKRiY8o=wvO&1CoRZ&R(~L~?@BqtN$8E2zZAJu5KKTrn zXKrKsRX1Qq9Ex?zSR9Iy4x_$+ zHH$&Wh+JOmM%{okfeALs_v&$xJ-8vJn)IbaQj&Z7mF+W&^+&dYq;t|>b9h_s;c0Uq zoYq4fblxC^J}4VOnpr$j`NZNz>K;!2Dhfg5=nfb^e^q_Bi&+R3!o5m#D3Y~4*o$+J zVaV6rf3+oTAUSexfpu#uH~%<4u%;%^ENVK+pPmqBHy7dbKW38XE=f4w<8vveQ`N;^ zAv8SVuT~7wuzG9(`z9Af$HzSOQ~<(%5dcO9^hk~*O;W#IiaY3fY#k#zy&rXT z<`YU1x1-gnK5yk$klDA}hH=r*5;qVmgp6ZgilMm&Rd{`u|K8yHPgujwRGtUMj$>*x zje|?_wR5#RDe%w4;9voSEV5u8&@I(OtVAs)4?{}F@+Wrl4I@SglfXXA_Z^?b!A)+(~t*>Yd{PRP#gD5aw((54|3La89y== zgc-|%iE#4flS&@#1(@bo*jP~2{W3>Q<`t$C1JPOeNOtd(ST38>wzt(`>`z4G5a0<1 z#Aweg%H}g~*eBIn_c}R5?f_<-QrCL=ll{S-4uDZ00o_VCMh9C|6HQ+8To+oeFdR(Gwp0r z2+U+6&lO>x+ZZbkt?~lt5NJjGN|uRkvs`~5MydoQ-ch296_gm&k=GXAiaoOy(Gf2q z7gGXfoo$3gaW#@nflV2Rrl$QXKJ*!gy;^6Z{fKDPSdvWtCX3<|!@+>qSJ$ET3KYC% zI}B@&vCHG3xEfl|x8G}$YH=4}*^))gpqO-QE|KL9yd~&hqaN?p=dYpc z3f%}DhR~Mvp`?EypRlLU^rrlDj|{hGMwo^Z*c99H!kI@G{nZiyztAeFfTiH) zykl;1ehq4ym^a8bE6_6iQ1aoLH>>y735stsY>V+u{5O8`FTmN1R-F$q)MA1PqKTZM zdvsT=WX_?iQp5==w=DLvEPJk@5Y%$3hSQDr!aWKN7Ua1W&iN=Bb50B$yY_)U_yA5@ z)MWD?8d0OnPbPOSl}-0OhNq)Mi*n4$pQ}CuVQ{;{N}h2|6b;K4dFP;nIinfp6Twd$ zD>#ZNWTkt6(J;-jW|HCtf98kjQ+tDfZ((!SA>zuH{R$#i!RD#04rL4(M$izQ!2KFx zHHN7jQ$9X?_K}yFnKXuJo7!=AlT>b&Ofo_olU8`4BOQ(PkJeP1Z=V9NxYK!^Ue^sw=2W>uEm9EY^nQ@P+B(!6 z^xswT1LZFvc~fOai}c6}e)IrO*V#6V^-^Up_n5A0lI;{Y6?xE)Vu?RN+Fu;w!c#7|TAG;2|&6pH4E`>!JkyM>jJQcM_b>sA6QcaQ3pyAtuVW-;p*26-hw- z1(*YYZ4l>9&@j8$z+iW&eozD!nKD}~Jep6rcGGvpgyDlaW3qLs z@SAO$d4(0P_1*Ey;ik_ocORH!awY95+R=&%Bm+CsrTRw0FnB)rbBZ;M9EXcAQNy4Y z&sO~g*O9f}Ld_VXfssn%f@(6cawU~*M5>ycvOgeYo?M04HTOI=)MVwQ7|VJkWn{ty zg?PtPP7!+Ra!Uz%LvAMPX7985KC4R*n5@YQ?!#ZP@P9pnE}s{tM*HU`l@uC8XN>=&lBowP8FbE_tZU*<1gsTkm2lXuM- zVKZfs*sp_vJg1aiXJbWUi^rG~UTc_oIB6+{?r&68SAa;!L(Po$jxH$NaX-Grnw@&u zSPmnc=z52Gh~JKXjz;rOUl*BOf1*fOyiYNJQGoGT-Gs{3-nbR@ zJ9zenW~_4QHVKg;I=EfZikcRP zMWi2MI5n(rD(9v2EXut3%w(febR*X+BP!O?=46pV^x)m`+-U0bW}}dKD|f=?r$2HO z%r)sg_ry*xXHUNyQo>saPH#s_yq=3!=I)9j(#i1e`B(gziobHuKP?9a2emnjq3*Qb*(qj(k5^|_|c*-%e_ z{@c^`g8|}zWW?&dvH<3}q+Bc{bTq}e=8lIS`< zes}dDo_&G1-xOZ-oeYJ%xpJr96I?-{>sGpG}j0Ur8Tw<~LUxb+`F~BU`mLxDW>=}dYH&-xI%ihwW$5O|9 z4inNif6qrve$82w zd1~cw%^%Ezpp#rdn=bIVn>~YqjFB+&c8WpXp*%@RGph#>y5sRv5Oy*-szX-5Tf=bR z3HH!{rX0RNrJ>9d2L4{V?-i^O3a`MANHIXD%qdi)WVNT2ktrcH5`T8Y_R#`0Hb3x? z1%EsB*7KNAr=75~@ZB{s)JIoHS)Po2$69h_XQ@F}DAa-s$0ijQOz-$ZJYHrz!7ULx z@ppsMb#W=x1t5Mc@$G2 z|HF6wP3kZbK&1(P(JVyf3=Um{+j7GMt|K21R!P%%LGve*27h6zzfYW;4Bg~H18K*^ zbO(PHomlb@lQUj^j~>*Emzyz8l1>20W^8RqNK;DyCa%6-WiPQ%zqwR3wWHqHt z)c?e43mQJ?jDz4{f26z@&N={-_??56;oXD;qv?OdIDoExZ> zKl)e6k`*ke43V5Y8Ss0*bTQ!^+OybVH9P+OJ)^_H#(-gPPfG=GfOq5Yhr$){V7O8zEF1WshKsp@}cDg4LJLH>`f`pddoEPHzO zj5K7}I|1k-=z^`lK!!Uw$|)oQZW^wUVDL9@v0=Ri>lRoL&=Ycbf{;2Gy=%IecWp36 z0fvHqr|V6vS9-y(0AeSRCRj?qAzR|9IR4&=E?7fs{5P)UbBmduskK%91qJuEG~cz~ z$Hz`#hPbKZ5os(^M}9Q=qTYce(5tj)^1ae+mRqsGuUTzt_F{n>iYBy?5-y0uEPLcz znEx4KUfx^pcpA0e-3iS7K%doXf~C1b@?C{vz&&V0>bp?h5<{Z(^B78wr$EjM4C}lJ zc0YnX&BdV5ibT2!CODKUF`mG-Ri^`VNpti^ZB@^rH&-UnLn?YdF6_F3`Hk19dOyJ9 zH-8JMd;~SUFU#L>{VZnS+#IQM)u;dOW0Qb<@=Dgt2KUHK{g7!P+@FCTq<5hMyY*cb z%#PS9@j)`ZKfw!*LeM(l_W^HDZ7(ZTpl@Df;cF2KxsOAN4_1!o1{N<2d4wzp6L~PS zA_Sr~1eY){g3|#hu;4&+6!D-dJBW}*^iwv3niCsvsFHO)z2#aMysS7uLOuEAvlN}= zHpNGuRD=Ytrzop;Ueii*MM1KhOkCNB37&Hxjd`O%YBQkvWA7=|luStkTPMO@Nfnh4 zu*thdV7H9iwh~IQh^k!Z24h1Kyv|l(!opkm_9ZRn<1Q7#r>}YwqGl9aOefT0qG$GY zS1o3{h2&WV=+~yV>fWpz=-v9jr9dTEp8Qn<*xBPimrw!)Nz_1MG%y(fBBA;hwqLM3 zB}hqdJxzZPh$*&Eli^aWQrsbO#UKYiG5l_85EM5J&ctT;e)z#R;V8ocCn6}V;koid zy(5BAr7*I||B>W5mXTfTfWAmkIXKuGcUP!BE&)I<+(@fDc`n*fW_YqDW!Pag?W?RP z3WwE7Nsb^$%zKD%G%s@AmfEa4+h16Lr$6^8G}0tV(da^w#UO%_ez^a%B6&215-IrQ1wJtiE?A!c!djtET`$r8Z{Qt8{bLBvT z{k-f5U@Pm(cbca)TWRqn_zZbfgJNkjyrCD;m;;w2S#8FglgwD^2REf?j8p|P>3Cyo zz8(|hFiM#j#aFa?zYB&R4=^7+U%C2mW>Ld8*)2Te>rgGyR%ZEairzr?2a<(b$>5Lr z<(!zckfCNbPyCxUYls@G0ZRODs1yAlN+KH!vuu?NOna3WAwoaBtp&rFw-y}J`uB#i z2vhQ2w?8NRakfJjcpn9_LJpVnrRH7j7^6YLRar#np|5L)l6m?8X)6!aa`aOy94q6W?(puP&jUxprf`$dY`5#O};FlV7SxB;-Pgr zBlBiBBNawX^0`mxG#+7ccF7bkp`7G935hRX-i@}#C&$KQiWpJ^S4gvZADOe@E_D>( z+3k?>Um1{wFmF6zHGUVMGxwC|-xK5v7SL#28Qq%mtH-NGtTm>g&10mtzN{Vl(RaRF zZSdvkTWLO9u??P_inYM?IDX$@5Y)hAc!+BU2NElh=PQTa{#! zv$Uo)f4(&699F@Cx5>f(35<1uY#Ab8o9$OOR)a?tWXBdWXH}GlzlD()_J0I_B8&%7 zjt^c6w=5RmA%!btiQSvVp(366-E<*}i^+>`4(0>Jn^Mj2q=pyCSfk7cDU2U4lPGs06pk;1rSC}oZ_kV--&#yLx*4@4c zmS(r1(p!Q#2BFWs`Rh2Oj$h`!AIz>5&0fv-ylqzxqrprKIQ6Xc(BwnLl+Wg$?^MOt z#za=Bnb637Tj7-UiH(+{YTuJKGPus}PgNrCKJTxQmUrHsR0H~EY?fe>i`WEh|8(_T zS9{#kAR70d)~D{^V=orhh3>4GSECPY#Vq!6Im0T5ac0rSE@0AEpw>83Q z&jj<0@7`Ohp1(%Ed`OHi%j{qFvna+`ykC9FUkuUG_A@_g0~3w=?z#H=&dt;VR6s z94X8-fQ&8}=dd5a9%2v+?lV@RnAwsm8oVOs&w1^PYzyy)F60A^Vpg}jyzCU!8-MvK z7a^F+Jpl2o1m}-)DaC>$P)+~}Tsqa2;2M(wU~c^zvt_g}iE&m~I{*?>1UiySKZn6KTQpK4*c21mM;zMJ^sl@>UknU_!3KV_JLP{V%14C4yv<4f3=`FLBeP>b?n&Bz}f7 z#u5D<_k&7%i`)iLuyc}Fh9LDDe8@E)NHU%u-AjCsm@iEBj)d<}PMmn30ISaTAzCn) zaZU9kaxWRfS?{&x4@1=)pWKY{ZhNN4RhxeBb^BT|)$1=thWX%GiwcMDaO?&`=YJ&T zbzw-|C{J&U483J)xxDlqwIXytCQ9V|7;bZns2%L)RFCqx3?1JW2yPn`TJ(Q}H1#am zR3`hKrZCK`jmEnxX$@P4yEd9p-LV@9Tv~v%gxchju5-#H>!BHCn0$2E2%iHUZR}_J z3M1mXN5436te_S(e=`nas(KZ=1#J@xRfq-iU_^ndZ0V# zpPHT*3LTVcKw*JPiK46i^U|z=W=u-l_LFBN;+EQxD{$yPPsUs#3RoWE>-U#3R;oaX=TDS%g_)^`S@2OLGjYw+Rj-K4| z@M5)s+G+#_jqAEDIiIhgvb!7)YDNoLq?iT1OI!Np)bQRHf@_@HQP}*UgNW=R0(K$3 zFVCHiC_eGdo>RnoE0`D?x-ea1 z)ldKHy}NYPs#;E4vk$FrV%YcQqLb<}x-gs@s%A5G9 z+FxI?J`xo5-*h0^>>FW(N&+!U}rVT`%#K3XE#Fk2R*fA5`W5$?1_wb`H-V7Jql0r*d(W>rtRzng$?Z#WxeDP zk(T)^RT-2y&_{o*$j+`6CkcQJNR?DN!wqa+r(SqpkpK^6Btn|NyJ z=ekLe#D^Y~y?R;~-@!i_d{1I0FY~>nm?SySTshE!NOW*Z(7SS8i<4IZnoJ}{x+hENzZx`H#4V9Y91tay3&Hu~v zH@U<`hBir->_C87|I{{xB(7&8aG_*BgN!24bEaea$LYN{QWg{=7mVi~Hyq|(@pg;* z>$mkWdADHhBet43$!Uo=w)Nr6`>W;vu2GNfuCF7pLrK|D%2z-Am0_JpXMp{0)F!q3 z6PbTT8QvVTrXDZNww3ym_k&BcGrVzOhul!ti|l3lOO@V#)|mx#jE~WSqNojti1V>~ zt8)0qWoy1OwI3c@KRUH8+}%@a z)=|SpB-2F636MnKwlRyL;3Q7gQvj41Yyt}~PeAiR2Mk0h^z}e|7SOu zy7mE8rdA*(nEn1xU`a}Bdlyo%eL}hd676~o1d`4A?5DU*g+_|Rd)0yWEk{E`ZIL&I zbh%aP+UOn2ASKLaac_6)PMmS8b}UQBq?GVW3l8fSfbVyRn7Z3XKj10ph9Y~kIHj9a zg!hh>VEPRGg*X?nh~@nb=FeqvAXz3*9-UVkDhf4P742@fgie(<7L!MOQe47(Hiqk2 z1Ns^Nc>-Rw5q=j35l_^~$U){>RqGO@EeBaI+lWceTZ~y26?SnUgIw$p-Um=+d!R^| z527vGn+dd!xtLcihcirvPC?zEq>TMT9ACQSGsQuxKTW>YOToGC9GMiwEDZVp3yO9w zFN@D2xPl)#i95X~R0+%@_Xf#Ig?oB|x)B{As5KAK8{>t}m@zg}`ND9^RF2h0@`m*k zi2LB+o)VKKLv-bAHG~%pga+7x7%T#j7dZ9ZSrlVwViXa{d^p4=QkP(K%-LotMR(E7 z&2yMJ3Jh2RjCy!B63qe}*GqRaKHbU3<0UbhM82TCAFA|R-U?Q53fT4N?RdMCK1j?9zf5+rz0N`V5Q9)fY&FfUANi(eL@hXtauZthuJ~4h`7vFY1(Wjbo zlu8@K>&#ZLy%w8Q&&CtBvWksigVJ~OlvIzID}|?la)*R+()Zp*Fh)7W_d-en9f%Qp z8hZWRhSNTY!P@}iA1C->< z$z3Pbx=w!QM-pej4?<|?v|kgG6?+&z1imQ54JE>ULqY0i1zWSym^R2eYicnSb5&D_ zw#Eb5wG%J5otHlNJCX7GJk;%JawgRDE(H}ThniDY7;a3;XwbQbHofuCl&VaoX&SYP z5ACR?R!mNL5v(2R7y>vf$?05fVVb`o1)-j$wQ)9hLAWB*;zQGLuk>-2)d&!=7DUaN zT#84sDN`Y2PmXbwr%{|z!k-#iYGRh006Kwz?VuLgnJsN)jcPQx!yo?RIbM4Q*rM>7 zzjyYm(3BK^XidP0qk%eyU&t&p;rXJxYjF|;lQ~XrKKBagR-mQ{Ki=pR`?@Z+5Z=c; zg^ic6!v?RT;@l_!1*$%@D4z->^{ijm*q~##sSHQ$`=k&7Lz^N zJ*!is&m0*K_8L+6Kt;qBn+JzQZKrS3)fc9o%b{d7x*xW5_QLd)yJiGD?XSI7AN3x* zm*L((S903LIq0F~LevU`hcJeBAgbqU$(n7Uv%SVq-F0~@AUyU(ch)WGZL@z6jikwl zn1jPay3P_I9BO}GDMBT`x2(Ky6dHhm?GMX5pkujsF$0aQRS!N0U(mpkwt{&|_n1L^ zS;k8A-Cv$1Gd=JY_MUzml*3o*n5ak3i~P6VdiS3I?cne2K0k*y?S?jKhc;QlM{jYT zqcpip3T)uWBLyi|`XetYV7u=MfPj+q``lXqn^6t=ftWamP7;m@R7auU6Yv}ubho)E^7V{uBa|FM(L?mW@ zfQDuWOg!xMv8k7@<=Y65dnQZjPgOwof9)3Lqesj?cH4NmndipVxudy38%5#tH~S-; z@pji1Y&r1WaVo>7!np^t%MO3Bif(1~!nXR=@zLGTj(;LAkt(CIZO0yW7##d3En{lR z^wYVU?X0avO@+Yt9-W=wjP_`Jpj%< zuWKTr<`L??Og`%z4xHE!oYi1576skurZ@As-bK_emxY+Kx_A8Yb?JDub1tAi*G?_9 z8V{dlyKj(G$fH zD8UlA7c3!96!%0a+-rM{hNj`SY+prG6ILkyRbl|%OAM=rd{V?tX2msi7W(Thm*gN4 zon0le`}7Lle2Tt4AlTWC!?eCDnRvO~VQ9yW zp|3Yq%M4VO8cdiC`QYSG#reg^?$C$0J1?OY+x$(&{=l_5maf{{UvI;phq&kF%@*W(b8AhVMnDc_GCs5c3q8;I`c*Td>%xF#)g}S zRuZe}x%RaM;#?lp?b$#8#6s#RgrgF*VjE&s`+fV-^ezY4Y>)+SYJE3nF`yzbPp%w> z1IUc#1>3)sD&xvfcPP(=Jf82#oy=v1os5jl@vk;z4%Opv##{d0f79f&M!5AA4afWs z=KB44YD9o+nlh;Z3|B~h9OW{o!uf!rt}-t@u^-_uVHO;3p7Feid>IL5)!(k}XMi=M zMjeVWx5@A#D8vF682JklY`!%Yt0K}l4H zlAGfaA|=Yg4Hny{qb3fja)>IFKUO+tgUL}VR#@|zi4xTJ8;rO>sAjP5lrf-Ux;KOt zh+&ybY8yx&@Ho^IG_^n(gi3JiDhBoZ5t3{mv8Pqw2RgGRSg5u;R(l(j9nB5-4;};9 zknVjwvdj}Nx}#w@AzOi7J+9}tDrNt@*$nW855V!W9<{Ece{|3D+V~V5NmWCS6}eTd z)ywGUf3ErD8rN?@>|M1z?yY5>Gya^3+T)j8h<%uaF?ohU8scBX9{cojM~5@iE|U!BQ?Sv@?;_N5)-PWW!)&ntl?q#1u&{QY<0L~zV%Q#>p-vVPgm655xZGe-fB% zE_9JFO34PMj0=lA9cUTGKKM?=NT;maMgawS&o6)kf)2C3E;ohXsw-V9-e?MypG)u% z*E3W;zaJ+;hQBV^*)Nq_fx}NLh|DYuK_fatEx!&Yf^JgZQmr*_9~%yP%sbPf@ta(m zm&_&hXrZ_3{oyA-nan9BhSA44_EO!h+j9A;t5A>s?^|KlOZRWVM*;uxhgTWO#BB8ZV_sQ!ajvLla?& zxtm6gkAVyS;;P##96{cO&15?*nHi6q(lEsoAa7I8K^4iuhfQ!R&tD%^q92gRiHmR( z=^-bmU7=lY>%7Nn>D#j($&2KB)k}5FW2(G_8SbaliCBgro)-1{Gn1S)y&?K`EJ6u_ zP^>;d$kCJFlh6>VaI(&)#6~dKs#s&`pw?)*qUowkzZKnBzjal>?NJ?ilK~c8d)?GC z%Jy2uPg}7_h3K&FJMLhD1tp~rLW-p1%GPPJsCIZ7`oN>+aKM&$S42rss#n-|0X=Yn zqa39TWh(_c_9IU%>Y!C=pZv0$B#eL8omq~^Hy=sd3NuwhOQdFE1aT(UEg$k+R{`ED zKSXB+Pr7pC`V1QCu?5)(RL7)@gPny)>Ab;E&abBD>NiQXFE5d{(k0i+upjfC>u0Hl zi->O+g*$&jtKh=ap%|+~kVYhE9w#P>iGeg%8h*1QGy)+bvy{K7BqKh#s$L7>^7qGUZ6?BeDmASiUBrg{!fylY|sY zEQtTZN|k z2`5gv@5)at+*-AvV!mJnw6e>!ZkQU)!=be4R5kJto~n?v^YuLiwyxpZw0NNH*tW451D%#TvMQ`=AM zs-4q%S^tc^<>EhgajRF${RdFAQ-;RHUM;qpg$cbQ;Agctxxi6msXH)X5g=MxazWJN zrqhbVx5B*_wY%$PzwL%qBduuLEPUGX`wZv$TKR*FuSs_@z!X*)21K?lXo4WaWvG!4 zN;~dzK%8Ebcwd~or%uYKtr4>x#_sW|OO3v{kgX3*3Y5LQNdv!vCq8tE<>}r=!H2_j zNtwx>A_!0X@!UtVOqfF$?spiUF?C`<=4dSaY#=1G;VnFvQ<7vz@`q)-{`!v|bT}@L zoX~mSOhS-y21FBGAFU~=QR{dg!@(i^eUU?GOM8gkd;J$K8ZTC55^6$kQW;hv1eCSw z8OGW3Uv>m(kL2!RBC3)>f=ct*su~$voqq2u_mHVwF{$&{1VJ~|Cx9RX5O(zw2F3HeF=PD(SROsW61xURg3crdnZN&#mP^C!*lHL|Wf)v=_QvD>uT(o0~ zY^xaILS4uty}o}Wi2mu7DfyN}MTU{E(Z}`T6kF7z z=v5W{T?9e+UTD2^RN2svf#);cuoNspVr2I@@0B-#c12=@>|7k>TGI7Ceq(^*OGyY= zp2I8ZX)Gv0A=7SpqernVWkP~2(@}Jk5rQp;vmWsI`!WW&E?m_}75>f)z23`hAAPr0 zLT=t*-CaD)qncO${41`R1maCrEQQjCas3q1M!d8}%S_Y;(WE@uM5;X_Y&k{;TCnQ& zk?16HFMJ4J1KLLIE)ukUNqru~p)QMT1AI2IGn0{w;hFwwY#1z`5}CQyu7~C}#=)?k z%mu?%gCs^D!KzmVM;k)jMjpEBxN-6mBiD{cr?q1~>q2%LXgZGm&aApItu4H@FBuMF zq2m-_9z)DY-K@U$;X|wmTns+A%1-37 zzt>BzZEKtQKd{Z28T7m`sAWur_n~6uHF)R~w52Oj(Fhmu6@R{%hVT3>OZ`z$_>nop zEYcutbNS@Z@aZk2On?I*U0VQBXd2z|mJ zt2M=Ra%J@Z9DUSo<#Uz~8Q*C(AYlToC!byI5+{#JcL)`BFWJQmX~t7=6ayPgRU~87 zw^z2 zx4$$VCEw#rHy$63-j%g0t2PUcdgsbMsK6UM=qRrvqR<=p*vCOb!D|-xPENYLQUnj_ z2w{it!HHoSl^K{jwsv9Fw_k@vc=%H~bl^TZOs9mwEuimCd^tvzkrasWi&c)W=52o~ zzcghCm3Putk_NqKROf&5T_)3W>{3meP03)y=(~#k;OIbka-0>8@53ljr>=snQRHQU zUQ>jbqwV1qn+(B_jGli3V_DbL$%8%3jZ#V!HxQ3A@D{)CO!S|auqF} z^efmDN6k`JB+chs6iJ6;&Nn>}HL0Tphqk!n3UUx`w;zyHNtO!qvCF%A--Lh!?2LY2 zK$M6kI(62}>tDhj&Wu}_?gF+ji%?t#fb&|@20-+QsV}N|K5Bs)^>)|{W@&V+D3Hw} zQ)(QDJuF$H(=KiCbLJz(CQl8q=RrQIrSPkQ@KG@tn}z3`J;RBQWKQytu-<8VPBS5b zIv7DdPk37x%cu*R5DT@72xmJ+655MKLZAX7WV|f@uxgRj0WsLfME>rp6u7ku=7q{t z@JfILB&B=yOzNv1tB^ys1?bAgR&ju{@6>yBf{q|yF6+`_3W!I1A$L3FP($Y zdR^Q;*c?IcMWGEg)D@X=j)C~&frRbgxKzf=&!IQjly$Ja?2GsC(X>arX2XuJ*?u?N z0Bqk&tS`6=rJA>f>OI^2yTv^F3T=|*aKQH?HAp#&!7UnkkEO|U-#m3P;Mh#>1(o3x zo`dNL)B_Ja$ONl@-xC_eGJ>Az8`s-Rjl2U-$)8Xe1#)7dB8g^v-cvK4lMlXNBC>ll zSZd(Air7s4j-@Z1GTMHcIGdgVxn^2c?d%~rO%GL__~;gWB(YP^r$>EMpOoqRdrODD zBvtLKzSmVvM(TC+lm9WxhU)+$^@yO*5#MDhW!D+N{^+ed?#?AbXRcEXZUO5jUp={g zsJm;1E3s|>B;?gO>um&>vB&e_R{j!nMZtJ}blmtQgyOf2g0x<|$m1!h>>g)hFaTYg z(xC?gH>&epXKezb%R%97Mx+{#X_qw$#pp%)Lj<}vnbD#6EHHRd5s+u%YS)iNvbeyNRZlk4wGxlu7SGFrey-VqEM&5LS~tbgQ5n0l85eBcgI5)hc1!*j6xgXOs*TZ1>HbU}Ag+~HpT zE0MKB)73tEX616$?#D2}Nc(`&I^;6eddzoDxnE}WrYfU3)>Iv4(9jczWDhSrax%ma zO_4k6^Ga(=Sqq6o>(Vt?nby&P(CBI_p%l zQW>nRkY!Ot@B1cbyeO;!@|H*zq>}+QptNxrs>mVUpF~7|PId5& zn2f@FgO96*lBdUhCfVun%Q5gBFjKU$T$e!cu5w%+W~TaA5ZJ^fzql&B zPuWMBG38c|@Rry7d?000n4p+hc|&9>+%0&Qd+o$N#F(&@=cEtDel!pqRJ?~G8Ju7n zJ%YIbc52yk#P}`<=kR$)R@C(W2fV4FgJJ`=7_UAHb1h{qKjzagM(5o%MgV|Fb1to0#j=jf#ew+CIBq6_?%f2}f+2pM zz5J;+)7?oq6ZX?hX%z3K%W>zm)yBS;b#x->I1>D_9Z&kW8Rh&feRtKFi2e#~WW;Te z(e#L~mt#tGz^^QudIs~2RaH;qhG!7NVKmVZSJBAGJ0tjUe_PJjP)OG5dg|@TnFNzy zo%c{t%k|yt#k-?3Ht~2Cbc3i)%Iu>vKFk@7NhV8Kc|AU`Lf{F2o9eK98_~c&Y=TX? z&1%=g7O}lfAh1ri#AVX`^nu9x$BkfB^y|x73^s&3*YK)R(YN|U`I_X`Vp|5){<98? ztH=%mcvSvK-Y|sqR6V0_bMimNv+E7rLS&&1Y`}0Ef3>qU2y6 zU-OxC#CyvWqWx=^I8Kv2UF@$K@IfZc=xS7VFC8=BztYpY)BXjZt$M>Z4x<0`9rZuq zW{Tm!KNM#ux-rAn^d{KtwZ_{Nfi_<}>BX*PxSO|&X2JM3H1UqFp+L82K1Wnib-y6H zhgHD#uvO_Qs6_Q-WCttohf`h3$61>j{-i3mG;aH(;$vv%b6CW?$YSNReaBPd?#M`L z-9a>JUQ5)Dv(hu%PCHv)T~8~$hDJr2g#ZWmE(ieE*J!^Z>Pc?mK7^wDxNNw;deV?n zVQfYh?PL3ll6}6%%R>aZeHk_YqyT`Ax6PobPj0T&`IJ%PB6oa`5Y7S9%5^Dgtn2A| z$YkCH_M_m37!po-_ef|P zBg}v?$?p2Jtk?L{_1&+l@ZR#e)tcecwcPNCuW?oF-Xib~evrN{NHv7oQ;8(`h_+%a zIK2#5F_AQ|y$CbsdszMVx3}tzzQc_*1zdRG+eB5^g#c>@*1EK;>;sPsq$9F(3F@sp zeWU3cd77bY8!#M>l8>q1Q(bRc-t^N1aQ{Eq{-31J1ifq=wNj!6C!HJf^t?X17WR%D zYn&PT7TvQod+|f}2*C=ifPM^pYCskHGcqK@<@)zab!URA)q69f_;R8xk+FK9o1)e_ zXN-|7S(gT-JnMM&JlMeC!yCEUFQuBDv)J0`^7{vqj{8B*%S!2fyW-+O4u=Xa9+O#c zadmfyVCC{+DD9>n{3gJR+EW!*?A;dJ2x>^`TNtUx6@&#_B6rYzIj&4t#zyp&=l^6- z-UaSCUEoL`yGq+gkZR}!np`jU0Bh5-3?X@Y$zpv(>acB}PtxQwn1A)D5oV1Za3Cmlp-Q$RJyj>W~Z zt@AWWLyPD8_Z%yL9}n{E_)Xt$QEPmKHsr-fRVJDLmF(VUib5#J_Ayn1XFqtBl37B< zqrC1j$@BX1hwDNsqk@mwXZFaD-Y3Q-pQ9BhX>aZa;(BhHAQhyLyE{J>pb1!HEugLs z(8D2(q*qzgVo-5~D5iHF4;vh|TC{9v45t=jvuS{p@~loa?AUB1YUR*Jx(e`4h7Iaw z*1m`7fs*Qwz zkvRYYV*n16#n7BT?19Z9=@)YV!S!Vfff$+j!r(z^bJd+RLRlSg@3NPKShJ-8zpTlZ z6YXK2IkUR)>mmJsXjdcyQom%-O^s*@6-bYTE9k?oWXbL38Kj@nXp;PCt{-2-oG#}$ zf?nm5U*a69?CG;jYJErppt%%rE!+H)>owcsg9#2dlc=9zu-CKm&T}a@DX)mF&F=OV z+h&Y!J+7uulo|GmyE1-QE&US;{yk85|K?CidQpzi3nwhNrk_#KfpMDF)#LCR4OZwE zL~KAhZ6&cwm1~%5sYuQ3-#(*303}c^uoQA+GX9g&0*!l!U%4Bhk-y7O@lKryxvPx> zul)u5J1oK2`omq0!d?#B)^+NW7ePK=6dQNnRa3oL52~*f{Bw^sseb=gXo=btxu3=X zynrZOoO6mgi>nCokJ@Jw{?0TDPbFj~EDeR9FZOoeGy&fgzc9cMG*Ij^_vd{)(GXy& zxR%vv+_&~2ZmMZk@~h_&Z&LsN8Myvc;kTec^9{0d zC)kTyq7Zq}W%(XwhAQZI673X7+u*iiMW_9&HyHIb#FTy)EQ{(7(U&S@aX!`)iKBt}1OX0fATg(2R1i68_lgJ3(g+s2LNe^3 znXXGSh;w*zevgXcQfrltEv-GFCO#}X%x6jxcN;Hk1J9@g;8)6G$Qtbb32U2nJ(j72 zizn4=>CuISP}r~pCka^(=_up>r8)gY^s5f-p3?vx7jHPM=9lIm;wX2Ss-t7A4;485 zfx+kbq(2w z)$!?~ocJm)-;mp4U{zQsWn=ZfkqlDO;0tQYQeW+m{(SM{6!nC?EdE*3Jn-C1A@2BSGT)Sxd2j@#Z~eAg{qPNnAM_1N z^g*rQDz8G)B}64?ls@33{l0OVqBC3auIlF00I%ra^loNGeeNV8=-c|-mikAX?A?gM z7&(T)JwsbdBDLc2)5*O)_qf3iK5I{I&91E|a+~$quC;`1+pP?pJ1qBl#FLKgWV_hU z)h8cD1#5jfm*nYk6G$3ywciAoi{fh67x5F+A zvHRpNsU^&Wc!H!Q)U#_J;A`V_>QHahu#uWmb9gPp!Qv)8@Dj)Hug3hZMmQb5)VhR; zXl8Lt%kqDi5k2XZ+H5kBQ+5QBSa>yp5=X;>j}>t1t)TqksWW@nZXY>kDE=oF<-u1<8)Q)wmhca_ip+1VIo#I3^+=6eI`Iepe9ac4 z1hXri4vl8cq_<#E4`8XoxbL4{M6Sk&>nqX!=(lU4VP?h&w}oY3E*<;cWI9xbv%q$? zI6ha7C69SUEwSW;hn}GR)z4RthWVu^fPAPBeq4}|w_Y2;qWI7NQEQ1$^{2DT{BgYn zZ;=z321PX;JIWA}R&rIchuR{M(`MaSW`E5W^C4DXC<)9 zdxzI4qh&=N$-h7Am`&S{zsqdtd-{+dExfPBq48WL(I%C^jg0+R-jH8m38v8fE6R%dy(fPQguV9z+=-)>!A$2VgXL8(sj|9C?yb_; z4VUET;B#ds#NpmJ(Q zmLre#C_ci5q1S)A(o7JE4FJO9QToqjBZCUihVajvzQLRc5UU6UaD2{S{Qcmg8m4?= zI{j6QwiRn(ggk%Sr^Umtum~d8JUEA3>P@owGpg8OaGw-mD2LK45oLmd6?s*{4VfHQ zT2MC|3Z8!j2kj+nR%7R>1jk^uC}X~A>#-ZCIgIn{bvWq@%;Yw-18s|IgfCXRK8P~= z24&}WP)gYcCdiN^4AR#y%xQDrVA2c?`iCv~Lu-?yL^ED&L)9?gL!j0xB3_YX&ilGH zgU0?M+>JOs(}7~vL!1nLA|xk2EoW?^2f)i|L=9cO`o$@En`edMuBbdq(s7y)eRnQS zB)or*ZLj{4wmA1QQcA27lhkKO|M($v$>d?INQm7bP8ej>B1{^rowmGF5BQ5U)e9M3 zinwoaI*3VLvhImj!xx2l}cpf|#b0vfb*Opm2FSr3e(Nxg3 zrelq#w^Lc{J|$#Gk^P{t?ZI&Fx_@2LA9o6A*S1qV_P}uaI=w(-HeS5?kY#Mu$uBF| znFceQJBxp7|7S_q`!|>>sff((19VJOhM1v4?d)#^`uSOJo4}A-dDyJ*Nhmk|R@bw9 z`m=oTvu%(8EANVO6TJ(@gLZ3HQIP!LxbFJiwY(|gnD{uBi33Ot1`y@e)&X3-7FbsT zM2_ihN^y;0b#yBl1<<=wA%RWMe+^f@BN{0vcy*=!;&}YsrTp^|pdBINP3ZCkQSc^- z{ws4#7jg6UD{{xWJYWMOr7aXlD3e(;ogreoEh6Q@c-4!65cnO%`1}#4g{p*#-3ZtM zmR0x!EHYfArYH>xLn~1U!^=;8q1pjwja~^DM=D(QD*Z-}A3*89IA(v?X%|6gO}S1E zxfH#Zb@Hy39!iawp)S4xM?eE9z%K%6j!qu|6Uee-6ufHj_-OV7$VHjRI>8(x z#bFX`tbW+JEMHVzk08Gcpa4KlkFyd;1Tdd85oKsik)*SneeH|#PTMlstj<*Q#S#6{cyDR(KSV7U->3k)k49T~7ip#@tm3-KY5 z{wvQz_aLH{s+uf=qe;Ah#Ax~j*4=cmhGi-9x_)92xzPEyep~cK?iZKv(&iLK68ki@KgN zvpeMjvu_%@&NB73!S#V&)@X?x&;88SUNp6L|d|In* z)`9Nqi4YUp(s>>M@^tR6-zcp2yzLdgH2k*qZ8ha5#DQJBKRJUa{XxYu3JQrYUy>Z+ zD-H;IN?VPToP+o$PK~oVe2UV3j#=buDPRMFZ~#H6R|&W3|Ddk_r7s7l!v&19PL<4W z!sTQgvELRigr@s4bF6KI06iK$nidpKQnrlYz8oajZKmeuM;%FE%$)bTL7@SkgTG47pw$;b(vrC`Ov$-KsRLvH z!nB{9K6TYnGECNq(AfZdPe|}f5vDsG5&6t*z7XsANj3Dq*DuGm3Z=&4|Ns&`(q=}KFgQts%6==2Z zFqL+OATq^QRO4waAzhO(ZY7KiH2aG??bb(QmA&VXPca{J_D5w0WxavtZPQgn@g|>B z7MzBTqOeRqm#Lp!;i>?W>-+YcwEa;0bDZ{Y=)N3Dr&k=+CTx}qVI~Cd#0z!DT6+=p zvV25O4Q49R=i0+GaV6+c=g<{xQ9?J-ZvdL z-*L)caF?;5CJ%c{N$fSbL9RvZ=0H$EAZnC-twp5+HtKxJxk%vwXzt00L8X#SIi1YJ zi$0n8F?!6;>ti^9J%?pY_2;t8Q|fQ&yf39f5$26b`7`S) zcmZfk8(Xm3j6TSPOKN}wGb*Of-n(o+<$TkA#$za3~1%9D*S>v?o0 zd;1qA)Q131GhB9%zkajdt7NZb?VR3J0AAK^iV6g1`llLR_58F%J2PeNy(y`ATL(Sa z(Gt|Tsu2> zxva0I8EU?PW<`3$i6f`|2x}@qA9`vi8~?`OKCAj$h~w~q{h&uHVdcE#J!o0BdKJUB zHLDq@wl$|imk~u|TFpc&H!|uN*;yosflW7RsE(ZzS`c_HrE9A4PlDKyc3pXa&Te{dlT z%4PL;-1^aB@6Z)p!UVkby%k%9rx$fEd-q#j`9gHM(qu5j+RY-F0EI7cBn2Z|hc4i7 ztCi$xHSzQ`ZF2Hwu)b|SIShdJH6|CSCA;4FoK}fVmQQ)l`8okfrrI>|bHI1&407d+ zCluUP|8$vT9t(G?2q7jNHk@^~DY~O69c?FFC+2Mdr=EwK8`qe}3yJ~BmPLys)Ek}D z`V_4MSuHzO9rl1O>`cGv)+AcjRF2c7={e!kWK5B`WM6C~b^;2fIY52GWI>5q?!%@{v$RSxB7NH>N@V2xlpLf zu+%>KWHJv1<=M{@T^tCJdC?c+KUi+I-*1AlL>eQa;|8F*bSl%PEoMBO#*11zhffx^ zc=kjoj8sVM8OFLj{DYJ(Bu(B156!%GmvT2co}hH3(K1Z0(HxZ1FF=j7IoyKDa=31k zWv3q%r={(Cze?05o8Q^Vb;MRXlK5J|r9NVhvyu?E*gxPv_;)a?S6+`y)a32`sPNjA z0+={ZT;plEe+;wGl!(!1R~~#{1MtpKRZ@9FI0F<=3iO9gmz7v6Vbw?ZIyR$?GyO;p zs}QRU_@7SPfq--p|I9{D(eK7zu!}OXcR|GNg(axiA2r#_ExqWI{RLgx1O^tz7RC#W z3ddkQFD#H6k2D9U&8rC3EEr5v^QA>DkS`lE+x%v&*_>8lIQiSL`BR4`_k_?2&-+$P z^U=Y6Kykvq3fdNNG#;0*aENmr?X=8H`oRvBR!h1)iU`E~=mxQ-h!X!rnG@A-E^%J{ zAXK@N4kqN$)gU;-#HkAoZBK}NRvVN2TBfu9HA4FUSAr1zn%(0$SifCRJ$nTl;xi|afyO^d3fMbbfIQ6&YfX{9V$S6 z9m&bS1D{h2in4j_K;N?j%fQbxJoSnF0vkWWjh)dAeJJ?=BM48WQvFJ2xq{=K>>~9X>z^bM8V{_#TSrD{=B1Wgw=ken%vhX<|G>n--cDb%c>S;X%X;+)$aq|p3%E} zKjz4x=)A^Gq69Z;zAGa-F(JCBN$#hIefo@j7X+~mYHDX~y$!YHt@o&Q=`m(78)(XG zQtQG#WDw8Wy9F}>k^m9};pXgPiNkO6ju4mH9k62g3&|2-d?^lYl@^|4wcVrJvxxhj z6h#B|lK?7H3YmmZa9a29w1eas(m%B46|PYAJ|zlf--N~gnsDx(aTBg2)yZW2hKzE& zK^M60o746}S=7s|vqt<_sK1yp0q*j|QXT%=mli}eiAWxuco(^F``2jqmD+Yx*+WR( z#21m4@L;#>;DrDo?heKzA^8Nrf)ywgZm=T?w+Gejf%}Vfn7%X10BdcQ4%b+JI+Do~ z=2KoS0#fvj|3!m$$pV7}Mm51ZZ##FTvv5`|gL&m0Je5#gZL|!hMD4E}dY6PldNm>- zfopagSpt7+X2dndBl`qeG>Ft;pg@RTdBf5_YxlE%-o$_A!dsn3PT_`EhUEuK;Bt#L zHw^J2Kr*mLF@Xpsj0TD$lGAzRvOt@&MY08DA4qb#ca#2}`~06}jQ4#K1?XxGI;+#M zxMZDnv#JTzGa?V_d8$9yeBAcrEvYc-^GsGmw0M=Q&WQ-aY~GkbEwZ*~y&XLZq*!n0 z7}@^)xaTxx->C_jRX-BAiOO!dey`O0mwzluKcw`_6p=nKHTR}PuZMoz3H1cc<^`J9zOILQ{x;;ALdRm7__g|W5v`6odZa)v z>S6$^g7m5_vzR`Q)HV8+PLNu{J0A!^QQ>>1?w$-AVn)x*5G>g5(!9VKf%SVWVJr~p zpbZ2j#!h4>_c>S_Nz~;Se55hxBX$)&C<}Gg-^X3q@u9d#x{w>TCJUk@&&4T7F{|Az zYbb}n2VMV$Q%3a-5ONK8^}LyxxDs;alAU(MS)!fK%5ryXGf1IBl7p?;tQPv;@k9e! zi;acrPBib$?3XQ2|IhP}x-S?}&whcTYsAfyHPVeemR;%Vu<_%!l{%^2f}}@f0b6J==c5|X6%Hai61u;9S?i%Q|L;jgLn(p3<*2tg_Zjn zfghX2SJwt#Nyb#LYmDRhxV~Z83WDZAh}BkX-;9P=s8ZfnfA07{TED$2OlA9=iSws? zqg)7bCBL{SRkZxEtlnHbMbx*aXLc=eMg7W96}E8)9ne3}cxcwz!*mzdZ8IKjR%;P~ z;>2)QN}t6#Z$Jsma8O9_@h*-S1~~#o@k5O0pt^RAA$b+_8ZIiGcXowG-6ED052}W# zeq+y+InFTfdxpni8tc|&=9Jwr30&o0*NaqPzEem3+rj;9jsd@5A@Pi>RyzI|SL2%E zkZ{HO!Ua{4m>Kx8FeD){oCJY0+5Hgvq$n~#mJRcHV0L7-t_-tb{~yaw>N-{KUed1e zuNTsai7J1_%DUU8rlbCGWzp`K7(VZ}7w4^;n0mpL6@rvPP)vd1x{*#T2^r3Fy&D_} z%(-}j3jswP!?)0I4c84JBz$YZQ7ZDg^!v;z`VWIUMDjQX!?E3HU%qyZZ8q0|uRUx6Cgy za07Z+&`qEJZQKEwK@jY!>+WZ3zgWLC!ihOB12;ZQ0&BMLE>K~Ng68kUPg6V<475bx zjXcj*yBpvFAWOpP8;6lG*`>#E(qpd9E5~x4PIi8gBCBUAwDCr_^A|;|88oZ`H|R3O zW`8qgh%IJwHlQi++oI^OKs6h2XE5Tjq{nqxayR&r-Ul&(mR6YJ;;Nv^MvtLus7(TE zQ=NAZwvGXFR6!kP4x{s7aXpq+CX~wvCfPgQm$WbDHYqt{m3Z#y*%S)cNtxq1d?avt z#S1yDUz-Z$VD(X~qyIy6|0j(@A ztI0qk4|L$#P{@7`tXum3*m}pnO1GtJG`8(z#p;+H+vwP4$LQEj$F^sL4(XY#CMllXm39zqxrh_l@CkGqYP1ae&T+ zM|k@L@Jx_z{csgy3)^oi=Tq~9OCFSj3(2ESnO5KUYg20XBkc8q*?x(ADydP|K7)pP{=GvvMu2 zi=pF*w+WXvwI{lVIJ0hv*uR6dRGF-j_mktCk=i41JdJP13$qn z+LeMroD7a=TFa4!n${y0L{S>WW5U4wuXgDU>ubg{;rVe`lUa~?O(KBTj;n}Jg_sAT z$g?oUsGA3oOErGTP3?r8L~ihP8||x*u5tE*v7=9?Wvau_rDHAtYb3_r3g zGq6RXsM~|#dJSX%3?v&knyt#@%O|n$x zd(Tyve}QDpd;)~STPVD9a(+8x#K~GZ%(z#x)vt)w6@un<7%z41N>bblI1wm~X2Z$M zDkM249m)W-{g2d28Hg~G>f|t_B>p3nG&+H4QWQFfvP zi@Rm2(SrUQ&!5bm;7oydCNrGdFx5G9$od%0L_I+&`6~>6MtFHJjnp>7i|2~a0+$j_ zRR#cJFr4O1qwktp4O_LpsR&`eZO#BoWk-RaXrUFVc+VS~1KDoGlF5QD@vf4T{G@KB z_AyQ2>vCM70$eKrjPxzeaeI{LssBZLRQQ9y^Eq+3r5eW9;@7o^hJeA_V0VyYLq6h(Y<|l z`HblI`306@XlUm_`z1$tb+ zbl%y#5Ok+sIp0)!V9Cq}BVRKZuV(Ra+Y}e3r7gB#&Lq4$S024T1baI`|Tj|PZQ z1dXZdmyGp)bBCC%0M%)oIF~~ zpKS(F)lTk0oD8+3JJs-6Cv~I~%)nK$8y5($OU&PZWe5&a)fdUt>~~|O&Nv*xPpyoP z=Zmnfn3*_4_&yCd^A6@Z{D*h`XSJgGw63bawA=SMUIj zV5ML6yUmGlL3U(#ik>JyS__o;ac>;#L-)9LimCXuF}8OhNY?Pr&ow6@ad14_m&|If zrlNsLOC+=B);tGIgFzCJx{9U<@G@Y4Bf5&Ng}~;yME)2ff9nVt0ro1s@g7KIe zy=e8pWrM?In!xIQZ@Q^*f;?&zgo#p%gNOY_YXaz&G$9K0Vve#%gw-PV7XU_Dkb($v z4b@NtOQvePaghbQ7EjIKde`01PSPc%SsR(w!Trf^CBw3zMU6 zL$4Xm+P6z0U zW{3j`eSMa`;?vn%UYDt02A7Y`9$hXjoey;Or_-s6dlTr$R}*%rDv=AJw0qAGPsH}( z1^Gnc<^DsQpKUyG({NN=gt7IkQCgo+bNbc^YGrmIf(IJGzfsZIyuF zi{|U7MHRmi-Oii=%a?IupLu#_gGK>yg655m#mB2kZ^rf=MbPBHOQXwkZn-pM?L^xJ z7oYN|U}nuQh)>=hoa``T+iMmPv=97wfJ+J`d8rIa7@KW>AJ0!C*Cj1xth62o2V~fM z9Fjx0m$+R|s)<^~`TU(^s1ylp7F=|gn~4D<^IC3I&sz!^nV(AkB?tfa_@6SVW(1oT zhV%aTaB(W0#y{)Zzi>7TMAG!fid9Ry{+;?AQ<#=`DpBbmnc(=nqwZYp`0hB&VzfN; zKN4^Slby%JXu9tof;EUwR36U$g1>7RXgW$nNC@4`sM*(Rg3znTi|1+bke18$xP*Vt zJ8{fET1HF7aUo{< zAi7j&A$EKtlS-!c>PJm68BfRh)GkX8Am4uv6m00etjK+EtIrwG_lz}8i2kj!weW-R zDk3aV#@)$eBecuI6w?>aV?@KUuQT+Px~th{6P16lO>F4_J^&3B=`x$Q0?fiT*bYoa z8atdh;UWD{cSh(MOv)g2HM(wVhIRA-#c}jxNdKyRBil>xIYKQ`owYmUVQAedPPq6l z6I*P>nH2kRHlyRY)IV1ohH)q$Q+t-6rDgHtWS(p7M%4O9!{}((f7;c>4CwQu($n(r zaewnXt-)2k==8E;Rr$Y_?WZq4hAI!m`W$-*q{yK=r1vZU;cVP>xJteli-d}js}o=N z8X5e@)HeKv;&gLm2Q;yzW72+`z43KdMsg9Y zl8N~NQkQuH{XNIk@X>Y7sz_I$R8%(-DEa#F{<#O6ywHgA>&$6F1%eP9w&hUxfNXUg z1stJA2JB?Oqz;@Rv$kB^fLo(dSQvSVB<@it-Q4&m5tlCKU+VMEQ>Xx{*$fr~{l|OP zFcVrKwR>|flD!t;g6}bEr`K!u<6&o~CgccTMg<&fk8aWcTE>5y<*EY|w_#`US;h+2 z6TdU_PnZGTq(G!z6U_9z^_SBHVoQj$;J&F8oiGXaAGjj?_5NGFYiMX!csTta$Lh4= z>HRvFV*+||uGyeJhAhy*u zc>JvFdY|3bI~!7#@Zrka`Y4$sj!i==>zcW7H8jm|jLA#Bkh_o*1?f84y3IEPU5#uZn5R@U^+=)%-!Rc623| z#1BZQ?Jk3$8SHXc-SCXG686~vNx2+0VC+>NIIsS=9>tc4%`_!!^s@g$lKR7UIe}G* z!L1DVZ!lZNZ8p$C)S+5sPg}seq~ux9Z+@rhD6H1yT-ORfd&e->fl5@U5i0(#suqzz zHXb9cCyCq^2Y5x|&e zeC`T|mPv`wPpek>-yhR#2iAF?UlMP15p`AmEMf26RYO&lHY(_FY>f=kA%OJmv_1R4 z(>3Ao!xgv%aV>YY0qbAYhby|d++Tg!)unPeAo~fWTrBlMX~Kb^Hh(inCi4lv3PPWp zwS=pEN>h*SU~w))P%QuNPf%k9x!24(^onZOl7pCkx3a%0=PV*`$A-Esr2AaJBYp2p zXcE}v#S9~#@~@FJEx5ZORDX0>dfAGZxwqHBlXi#T8GM+16jo~O3m&t5xgF;0FR!;K zzS@_?eO3vwzZ*7IC!p}2nvW)7I`{@m2Zz)zPkY*0Dx5V|s@Ycwht8wAu0qcrI*8ot3!HX4I&DcGs(Ug*d!VKGyr)r7NX4(`MV2K zC5t0#wtLBtx#pkWP^0)9!%=Htp_e=43iF1_5&$_*C0e)U2zDxO**E2}x8UA+V8zGI z=Q;1i~P$+{*MpVCz9rIv2`coaALPFmw@WXHbZaX0b3}+a@Nxk>=2q zA(hYg4-9Y13fB3K`{v&DR?-;-$@X<5?npP6tUUknw@+(EZ+S;o85*9KTf8&me_Ag7 zUs*Sifh>>*iG5+Q)tD^Dhl5S<>1nKL;U|KIGVVmp;td?M7aKJ*j767pOLgYCJ~}b#uBqx~Oh+wZw3z{<}+_ z2iVFOJpO^%nD`m&Yb}W~vZ7dRz!$?xrTOub8qI_6z+pwL(Bfq!OR-TZfqix|{$&)J zNS6VZ6ffRs2a~YlT2H|qNlF!ST(`S0Io`X9p26qS#}*C$rqnXzW^zV6>!k%#MR9#V zKn+n1wycplqk?4}*{P6h8iO`9A~j<>_F^gApT|3Q1Zy7&VFOrB$O*!|n3FrZwbj4x zvqyTgTcmCOPxHe+;HS zgwd*(Pq8i@ybPLA{);5O+5+{-A)g=k7zI1`=ca*qf=l3P;?cMnL#`I8MDmWEChXuA zjrx}}$%B1vhN_&#;&ogELv%#E6=hpY#a@B^f(I4Xh8=m-O*{y&qI00yCtY0)Sn9Hy zcV(t7V*2~)SyO?092piqtYjU3T$D%XZntes?d4y7sqn*a3Pakw`XCYGo%ukt`DUjP z{-3+{zsLTg8_EwWljFPPcWG55@Hb%6@#T8Un!ow3X5i)(+|eF3{G0VP!}dNmq2lxydTiN#U8bk1Qy%= zt50Gju?1)3?t0@)6NyaNsME2~4h74cyo*0i9neXsu5dU_m(oU>B=yCWdO1Da%9E?l zs~pb<{H-WwbdZf_;SEH*$EoKoWUza7mv*=f<%qdKElgluW}7qI!%hJ{m+^~ z-RNvVgw67eVV;$6_^bXHs@Q#qi&*QVhA4u-TxrX+nzrgz$0>;1@@>Xne*66`Yn?xA zG_B)ho8b|ik?OKkSrFFiH!>8+O-$GG-E5rAd&_c(Y6p|X|M;N4OGlq)|8k2mOWvMQ zy)VvY-sf2y&(buf*~rEUh6Gzv$w#naNpq=hFB82YDM+bp$4d354*>W3)aP4u!p1P4 zeXA-B|(Nv#P=^)jd!=eyL|_v@39 zG5EG}_WJ6vs0e4Nkk+I)UW|fW}E|tnA6#>63u;UlNZH1Y}V5Ol*1pi`hw`gQ;+RiAzaZ1FfojPi7A_If( z_BEaV9;UVgM z2n7Qow))0*ueKW2df8wZGOY86Q%f93&xCHe{5pX;4x_Lm5Bag)Y!t}GOmG2`GKecd zto&jIQ97vF;blQHB5GWLdF4j^2%aH3wOVyOOEnva&^iIIZ$})7o`Py<7?#HjwmAK4 zdi3c=#|n`onr3Ir*Xlx88gan-wDA#^?QHcaBYx4gQq55a;ZcYoLddgUv#=Vl-j|2Q zGY|y}r&@e0)v4z-u0qwt3{xxr1DC*uJi>kDW1G>whkNrTcz?ea(_aUDO>!Ca3W`E|U62TR4;(SHh1-b#pH15$!HMV8yN>fnb41Il&t_pzyEDumNDzBNu65 zN%e>xK{O$7FFlVFO$ytNJ-w&GS&CRmjR$b4*`R|<@D zS0Mq~9)+78Oj3I~)2oYWXE`=;3Ty;ia@v>ckhhP;>Jgjem#Kem?kQETZ#Bqd2-G!*>u4(eE;10{4E+kyQQv$R^^_%#O;^=%X z)g+gLu?aS(#T##9jpC%+J*lHtX6+`#VJOl4)lU9J7GoY&B?EyjEf-WN{kGW}{a;fx zf!}4Kba=K9lp@1bd2xVuxtT#eH)(W3-4a({tsjqF3Ut73L^5_XdaxsbUFv&48YbOg zm6Q)1p22H18CurKoSJ#I@e&(=hK9XXzATJB=&#KCHwU6r)iPQUFLM{X)8uwo+V^AY zgZ;A{WD`q3Pv1yYM7f~2+A`!ACs*)mE(qy&p!n}VZPz_*%e?y3e2oV}OF+pw#5@un zXryJf{2@3{;K)+MS^!`Rq$3z6gaxoI=t6kmB8oy74d@ya0T^-w7E*~}6i{)e{&4}x z1yp<1%@`)e|>#5>&Y^jW7L-cxfU>WnpGqIhFPxJg>%Bfp6(>$ z;6SCw^AvXWQFoO&EeNH??GL2q9R?I-AJ4C`<^!sREtK2DSzcAVmk6!v+Bkx+$th zY`nbhdYq%k({$S$N-OP6j*$e1PPAsU5A3C|t5)cbNs1mU1{^1oN@x(G2w}vrEs-zg zl+q&ow0#o8pZ)M9zev=Qw}T$qcw{yT2XF8VjrgWS&^^5H0YO3ve0QoLWCx$1yAR{n z4tqAWQJUNnJ6)&4fd#K}3!jGO8YdUIR=r$9X^w~T(LPe2w(^Q`H4hY{3$k!a$(5;+ z)`e@fHxRM1OUMnVA~qS=fDAkG^3%ou|BmU$pSH*VLK4*7`cnE1k;hN`SQ{0BU&EbX z*oy@VP@1Ax1JppZ!kvXtC~mXbZLm^8$QV|FoJyO&UZYx)hl_ zD6Hq_+y5@;0|KLK)qK<`UDYOA|Ec_YeiBx>fh(b{JOf~wgw9k^`g2;1JzwKNrCyU` zlj>N-#}*pLODioxucERXDB&a+1tJSN1D2@OW7DDM$&4=<8wKvxH@}7l9Y#LJ$6YQE zWU#Uy7nwdWdQe9EckHuj)P4aj@nm%3Q1MnGrS7&D3LibCHP1b}K((tiRd4)j59zyG z(|Q(|db}w1jMc17uWG8MP4zDROpWc-0a=QCZ|HkrLHZWo8?e`G`PZwzJYCj$GftLISNSQ>ZYbjFuf!lbg#i}1VO^$|)zN7YRc530Hm-zGpw5`u3X8QEM2B~s~|YYlB$c{cubzke#p zRvG|g@MA{CVtg~%yl@XOMYg_ALAHBVU}aWz9OjX_!bMdTsTG@AyQ66^Fuw}TDZ;S$ zyV-Ae!!UPNFq<-d1!e!X3cqVVYVm6o;$`aSyad~-eit62Cu;u5*lD^P*umhSQqs5N z)`!Xt>rk%ir24*sBs|HbK63MvEl~j^2IQ`X=n#lyHT|^e&8~3%C8Fr^IG&_TT>9W8 zR<^73;+N@CkQnDY48f~g|4uYm4Her%-FlwL`v-{rgAX{XMO6A$3sYsH@8{uxxmQ2! zhMf8RT)L@2f?+H143Zo193L%VY3YQE;LDNV8@3c4fHHUQ-_P#W1Z4-AK1<<;PCYeL9IF_MSuwKAUcF7^g$N$|YNf&Mmk|*qA8Ya2Fj8(7)~J&p+WvAh0&e_-N>Nzt)kmI!VWkQE?QQ_x`fujUR0o_~t-c@Xytaf@hgFm9r$x3uC;u%-{-v*eW^kzL_ zd9nG#IliM0>9|n%C*O%{MD0lyb=qdVCnM(~MlbgTQhGIg=`G+%dloqA9M_r8nNr<19blo)eJ zDjE;WR$w+20{YCM)qj-DtY9F69iLhE=M@AZVbB9(Tg826q3p;a*8A-PN|*tB$nUqI z&wZ)+d-nQ~YGDolzGrdy<(-#}FM^v9E`&iM$Af`UtMhlD!{8sc_>Z_BP5?%{T#T7k zel>T1t6Z}tnr8Uf`%Sy-1yv5gVjh7?ye{wz=N5sl(AuDBp<6Vo&s-^NQAV?GuX7qoQaYu5@Q9-PHREqfev8Cfv3)@LJ?z7wjk@{aIFw+v!{Jbsu6djMQ}(1`f7qQ zC>bX(EFC~vqp#+*>gUrNmG60!MC4R=9@-6H*W$;bc#V}~mzA^pBZ$RA-PZRhvB%Q#T*D4m1kyz22X^s~csWFF!lS#$GAL+o? zm|7AQY(}j2nW}n1U-LZy*^uZRSVaPAhzec(WBk9SBYwc57e$y0-QZ+bupkmpN9R1h`;3Gj{JZv*`2Xt|ObqUtlZe08gRs(09d2U=1GkuVs|J z-+a556LN|50=z>LrsN`i!XXNgOB`>@+*x1cS|gq89GsocCUmXhuRR3+h*1=Ur%Hzy zBWWhIGr%$oN1d-M$8pX_*pi~*+xTbKUpJ+oo`g}JjkmE?!xSQZD>Xy{Omt&HZm)c{ zZvEioZijqu3GL9OX3$TmK1RFwDpY3APC6?r#-SV`pFrDHtV1ZxCxFWdM{^VHCFv?5pUY%IqNZEQ7H4)26te8_8{u{~m0@)|)fc0_3&V#os^baqmJ>wG5JDRc8Z+tHC{4IDXVBJpsu27D)jK zVU!7KYNalm1ftn4VDCo@ClnA9-JXv?U6@u5kfq!7c0|AU#1b=R)IDfV#+(HGE3EzD5aO{xxh(HIh3Z@E@)GAup(>&bAizrYjON!$|+bSN(88WZx1zS5b*#!S%nZ9f1H zW^g$0+u|RQ_FIIH6F%O-e#N&K6az<)Ya>UAABSk4tZ0xavxP@0j2;~g^b)>Y$hp0Y zY017oa%j-eQ66O!p>rfu8w|LXUurkKPH?otp-GX)4-!oBAxBH|?hq0!5AM z3fibTt+{qPkV)*n2&v~R9U8HGk%cz*+Gq;(qTe_ms)g6_nMJpl-&()QabIXrHx@tW z;X^AT`fOI*Z#zJ2!E>8Aq)$O6Naam&L@u7!jgf3{v^lfcUpu<)208Tn$IX7GbfMj1 zUau-vwBKdfWnRGGhRCtpE|Qyz3H# z0IdQy)~tEd+Pt)Q>#(voTAMun#LqUSm+gyKf8d_~ZZ#+lxk)MA&~y)@7y6I-$N^+v zD1$7f1gI$ny5=8ptGX4pzL96G4Xme=8&GR~WjH?-=&y3PoTh9GzQP^@c!ACzEQ_%# znA!sjhg-vHNF|WS9l`tX2VaegY;;c$Y?89&##F`z@lC_ISWSe@TR_OI-*Fd;R+ zZB>MQ%b1d?1Dg}lisHs^)qW>vVlQmD`a)tmPE!5eIV~)tG3`#ek4K~DcwFr=^HlFL z*`b6tKX;9RyTPDwm`|S)UMgEfIC4@G{w3mm|1Gz%klUVe&u%XUc@q4eYmBE3hBDrr zn?_W<(m8n{U5axc8j%uYZs1+x(FFJfO+-Py%^S{%8`Go7|K17l)fn?u_|&Iz9n`Mm zK}4i{Y2i1zgFo=X_XjLhfX7;4t%si1TO)2YE#J`vt3hD}KoPDZrBpBk%jlYRET~oL z5WBJd7$#N{TE4OJMCB3x$a&eb;>zd5CgU_UXZ|sbkV7C$dEf{?QBWpOug4sVVUpF; zm-_4DgmK9xiDm}}t7vvOGSP2_5?%qEpwRaUge4wiE?C*w!t!#ZnIhA*yF&}js&@t| zOhT17AviJ32gy0Pa)uHxa=IqRBgJ@1ZWc)*C$?~YV6aXn)j01#VOInUGCGhedz{LK zViw4)H+A%=kJr|*{Vru9v#fa?k3i386kE1W?M4ghtwr@Ua4_CUa1)^BU+Q=Se^7V@ zx(vJ(+X@re@MKTrJY4m{YcnRq^r-ER%)5dn<`gJvMi^F%4NM0_!T*oM6`}Z{D&B`) zgqSaW%FY{>FXcM*9wkoKhnX4p{hY4A`rZ+Fki>BQ6^b}VU9wIa`ZsjX7DD+<6ZO~` z$U@m0+r2=bmL?~!)$>lI{$K`wTaH2PSSVz9^KbNpQryuH(8abhb|ZE#ePoQ@4dPQX z`4xc*L_%KLR_b^J4SnMQxHCrr6cb3Wh@l8&fju*KA*~J;WBqTly|)B0WoLHy?me@E zN6Vp8Y@T|#=5V1_yEwt$T%Y}Tw0qYNWBsZ>69HdCEMRDBEIy&3yt_gcUYdfB0MrRZ z!ZZ)nIjJcv?Iv%IoDo0}6(gvoQ3J4m34{5Fxvly2X33mDIFj%=FJAue5(5Yil(1Lp zSER~hx6e5X3tM^6tcaOC?>KPKhwfAZ;6Ya22lv5g#0zv4ZJbBE(PQd*4rZV(kpYB_ z7q112A&D$(sh=jgBB*4Uej0^LNdaa%ogQ&9>rEs_k)YTaL_%-VQsnq1;rXRmoi->j z@6jhVJF>rlOKh(R&a@(2?o24rKy36M4@3Z>LHCoNiK8AfZ0-zj zaPC}6JID7;%AIcCtVq!5bdBTW&_(*0HXOcDFYgMXWY@`f*g4yEOJ;95xWMr(Th?#X z1|nN6S=J;>Lw>p>hl#`FS!U(JUzyu_Px@;~j)l`{NGP!~fBdoWoBmUC z#zB?K!4#5QW$>+SL}a5rO=`IyggI2Gfw+R0s5DYx5j3cN@$MQB9jAajEd&y_`zPAq z`&omV=7@9l)_bA{?eVd$uc?HsPn1pruC6q7yzd{_$E|QH+xN(VW_WTOBrOwVNVRe& z!6n0HkP%eXIo4;weA+wg#?aNm9tnOjOpw?p8efTP{Yu$gKtZdCxchlg<zH1&`Oq*{&jEq_AIbyu7SZpf$Z~6(5i(Krj`h08Ppjq=o`Ht!fX}FNw7X75B|Qs(ANlH{Me@%#Qux}aW;ZCyLHiU>+r{pU4eZ&M4B{kn7vI3=^=evtqq1O{zg_# zD;XKu%B@mO${c{cJ6SJV0KBxI6?&swgYtLQ_X^nt-BZP>U`#5zUaFW`*csnq4vs{G6d!*rAE^dW!D6k<5Tbo64$_)al5EKnI+@^#y}9a#lXx%|w* z0vBGCOt-p(+YQ{r^vie*kz)X}Sy1r$<74C}3>C=%QlH1qIUPyYZ>J{m%z+X0-O$Np z8`8%0C6vON!)w9Th?1T$oEQ3yY0uvgj^d!5?2u+U)IFwknvxMOaEn8X5TuE3(GiCf z^#k1Bm-(vani`54x*`{YNeNJ5pyMF6lUP(~p8Td8$X&Q1rcybuj{hyqI;okWW8ruL zm#%6h<|MKDiZn%Nh{u=Wt1k@7xKhO4P?=D|)W-YfewB{h%x( zM+Tg<>Biieqtre4AAFqic2oz~Rb5TTc~}`vPSjfMo zTR%*HtTWWLt!{m0J;4};H5p!*YYm2VId4BCL%%{nPX&91X-e8X++w~0Lz^X1*LD~$y%oxA{Ejm zp%UpDG$Q;h${q{_rCG5nID(nxmZ+ ziYz%7mTfpmG+IcUR_phfix>GrBg1%GK;+cEa z_X%0vJF0w!#~eb1*@ZI0+Rn;t4cpaq$AeFH$k^KA=Qna|Tn(-cVfrdnNr`7+>XGy~feLVV{-&+- zYIwoyqEzaEOXg5{<1k2D0cPF7Oyj>ds~JzS*$RfR)}gOjIk=E+;hOw(xs zUWexnA{IhB`oi4i4--%E6Qw^6+d?91)?tB5U83nryq3WT(Hcb{eZ`fDl7C3;VtW1o zZ;Ev6;hmP7_(nXRR>wzuD#!=vz=dz3J)y8lFcMhnNK6Jt#g_D7XQ;?<;2Kpp^wh6Y zl7uMtV5A?i)9w8XPuHzr$LNv~!1xwo4vuU?v>@z!kIQgoKF^@bYCQbeI4aU(lebBa zCLIh2zy}InI00_pQLy7{cQFX#EHcYZMoUZq4bnb zP`K~gn|3+;6Dz8MJO#$*ayM54h$u&&q?H$EMwQfV`#;`1n*~ZM z0CeDt?qgAHoa39?cYr|#B(dJ-R`tjGt_b8sw`lqkMzO^Rp~zNvD~N1+-ypS$O$O~# zrt{g#Hu}o`Ox6XNA+52z?l7gA$JuVlc9Vj*}uIbj$Tjo;~uVTI^L#ruT= zElPcuM7rk}oy@U#4;AlyYX+7)Zs!tVdB!0siTnY^w3eF^#~60tq2&U^Qb@fTkKOH$ zM0}P)Floa^xSM_-z?|ibA<8gY+GF29ZnPzizw%@FvqDT`kx-CD9AQjB>x2X}_6W^^ zMIAD6kWEEj7v9|N#|EA9w8evKBL`!`w*dN}&b8e-ZbdiOTvJ_CcLR?~_JBC}(F{ai$9AQDef#gf0Bel0#iel6@= zz>>MHFAO!JFX>+Xb7)FHa+ZEz^1<7C=!5s}%$#f|`x>Q>AS9rpNFmn|eFT&$4><{i zEz*L8$o54@#?+U=1I!gaZQLdYMzn%v&k1QFO12;)MO##!YZ{*V`7^DFoeJhdLCP1+ z(#PvlkJFF2M@r>8({>rp^UEDlJWbein`d4H6}y06$IPHkw<g?DYjr>vK*qY-%sRF}{P%fKG(M`wo++XyZ65r%i^^22?_oFi8 zIW{lOODG`M*gL%MR^KyLVi)Ra_vq{sTGH{uJh!d*f(j-==kuVvK3X;THb106^He z44SjIKZIo&rWGR>zlKdn#o54x3jxj%vOi3@Y-`X!rR=E5f3z`Rs@_A}4i=@iuy!ZW z34ZK{-E{zfs6M=lC`>{L7cDhZX19<=JK6+BaAMP6f(M*~DS9M%5*8biZkP>4BxoBE z>A4a*G9qZH8K?g#-$iLR0b(7ZKj*W~dSaBeeWz16`c1w+Vi^sI1!Wseh-6bQ4}^g0 zv`(rsKvl-#CTIIwyiYkYi5%Hm*h2AZc0&)*HueWMuRP6eg1rnJ35?Jf0z|WYzCRjK zs~O4#WR6voZ#>=UNE0SSfiNJ>Iv)F4>WTCRz8-Z)`3$o(u@^P{Y_`v^!CoG%>()ZpS7h8R{uuJPJa-s>Re`2V36!i7vDCaq$k5!EP|H`F;xco3kz?0T{qLE#l3^tb1Ezk*FzW@X z%1F#3KP#zuSzhqopjPLbpLonFy@fLn$TgIEn7+aG^%lDTeMYlrC@;qAIn~}RdGr{_ zdi=tn?1Be(vzdizjR=-0k<_CO@Bx92xqTa!Ul&KA3@3x~ZnWmk)Oyo0M;|&3^}ZsT zH$VYNAwiiI(>X!*R!b)N$hJjFU4%l!a3o?)0$o?-O6Tk+Neyo{ow5D+e1rAtkdgOQ zq(SPxc6Q6k)sdr$l;Lcohtb*KTvqMxCez$qB3Tx#!QF(eP}xR?s^; z8U6zs&-ix_5nIqGJvK|oqjF=S&2wTI2`D6kS>5U|aN785xZyh?mDgAz;nnxA!?QwE zBs(|w_AY(#=I?=xjoIaexd zW*uNN1m4pW?1>E4k)`d(%?&k2mgV? z4`eL{dyKop23}cC-Kb4gZ8s#Js2q8`+BtBwMUH9W&LbMp%4M5|JEKI`4nPI+z~Kpp z2KIN|lN@gs>iRAn5JB?UuN1@0L`_|I1{VPXB(pDoybe0Nv?=%y_y zGzwywx=2aQq#ehtXDIt36^^$Iq09BKUzR`1DP7?zl*oc+X2^Gkc-enHw9jzWg}vEK zJa45ZMYjFsZ5p9&EFl2_;nBlR#>kE?iqFS#mn;bN1WRp4yvP9p$sAAx#KZ_qp?}pX z*tz&_CbXG2xNx9n(NFkH8dw4@F%uz@U!~nvf4*_85A-IsQ4eoNz8Xp598N_bK@oKm z2;e%ESJxVbC%w&rX^DAjs!DdgYz$`8^%E)lkS0;w9yTRWN$m7mGj>3@MSoZOp*g!K z9+u;9Ii>^V!{Fn!uQpIHKE_ivev`!Reh7)M^{`fK{dR>t#@%7%`W91AV(1kDZTLeq zum&pf94yPmQlAkX3iKo>qsF-*vI7t?8LK{y}jsCe4Vh zx_o_k_FYnaFO>OzN@7q^z0U`(x;$-}Io=QR$M!7$ln<@&2qJ2#4Pf|7oJ2oo{bIBL zI6~nQVT#7ri@~QlNI3k(jncJ!iWD>ghJ8GrPn;nL+E-kdhnTqDAxDwcoV&fa(<_Uo z(;(Oh)W#=Gn?_3+R)%mV0Z?S%#frN73r`x!)WDu|rk*>a8yea`964#;1w@k6njQYg z3&ki&@f)Kd?(8CSyyG=$pI$e^j!4(pNG2lLdw4aAsq93WvSJV_A6@~}>ix;YPPX%5 zRJNVK;BEVR`mEq`C$y%}`+lp`0a`rX%izEd8~!iCYvU5fXbUrI3%XyOJ!OSmX`@e{ zstbQlTgIYL8{W>j`WdNdJ71*_oxA9baT|w<6nC9zTR+Tgv^WBv^pEpX-E6IG*E@rj zl}fMlqpAR9j+;(7k%R%QFBE?jfj446xR`$6|Gnre_ilf(WiZ|6m5W5GL{3#guIJku z1r5tagO19yRWxLA?H*1yprpoIc^$#}NjI5M?HZE0sv*G6@_st_Twg%+5JwWX45Sca zKj&^e%oAV?#8|ER*K^*VwxkbsnB8(u$4Jo2LLu<;T)G;n$cHlLX#;oBr~%wwUq(&o z!cSfnK44%uM@_G4&!LI?J|RVjm|3)WF`fGpA;yD+D*tY~P>zy6mgIHhndotWzd`{X z(ajxQe_-(46~Zz3mr$)UH%Bp1VNl0cVaWj0{qEj~A2FT!QmOB8>1Hp$dp93@Zy)U> z@4r+by|J_r81YUxC?mSn%+LYwtLsM|WYi!N$>ul+2pvX@_QHGNKoSvxoUeVuJK>!- zC0S-?mNrB`kUd{ex6jK?#CdvP-=3seJ|QEr+OYiaIthK^pX@#%bduW-sbeNx&>y$B z===MSx@lYNGKaT*sfY7ij}>`m4Ew%GH;45<@& zg*Nlg(3X7d&%4G};Fz)30;f$ma-%sFytRHxvha=Vx5#}_ou)w>G5fyBgl}UJ;!Lsh zOSRRoPZ8cCkrYWHCbLYy1$uJ%Jl9|TLDjc&5Dry&H8=aiDU2hUx8sU{YK3(6r+ z4N8ZvMkrGOe!C8ghUr$z=;+ft@JIS)Zj=S*`swMx2nm!)Pt!cFt}B6VLI47M+FQnBO)%|5b?+P#c+xP>mP4SC{TaVXt z^OZ|hBcDHbHtfv2T;B=Q+Dvo8?SM_seU(^F(uWwkmQE81kMzug0+Fn^x#|DM)HO!e z)oty@X>8lJZ8UZopV+q3*hyoxvEA6V)!4R;@3i-Q@BPL&W9)zX?6oG=Gv|EfT*oGb z>nF{?d(u1+5~z3t?zvu}rLHC}DOq;W)_b}UM=^Dlt~0v($aa{$ndk|n0GT{8Mf`CT zpX-tXa2TP--45G~Euw6aSiW%`YQ&iCw9o5{N`Exq-R#pm>F=d7PN4oz1h=tWJ!K2a zDn+r_JLYBqiTm7&65LQbw0KiN4&?d4No8)r(HgM#q&sLdYr)N3zQ37VFWimR0xI16 zQo()y6fuE?cTZ&VI0g#VI`bv59Or~sx$q$kD%-y$CI6G*IMqIPt4A6;ZlJG`L#VxHKFBH<{f*SqvpU7eA(4z zfInD65)!ZM#}ZyYbh&%+5op`aiJ}-r+9&Cq_oz2r9(Q8hWJ?R(9mDmCQh;b8X67N@AkjzYGD7q`%?8Nma4G%386 zZS%zF40|=XVOzZN6B}L-9tw2v{u*yO)5Id%9|7+iQF|rbPQa|WE8oywA`OI2qQCl( zn%+ACj!Krqk<-HSLYc!y|7bR5S!>_4_f73Uq-x`AFHNQ0??#2*Y6MSYg5ZCmLKDii zTv)8BWW3aiDw`Pi{$w4+X&!cmA)$6bRf4z)bKe6YXnoFEz+-*rE<;ypII);5i?@y& z!22KM5Q6|t5H5S(vboUCC^Y7Zi_r8H-lFdplgX?05DGn$P;(p&bVaDMybcOg1QdSd zXKX1>U|Z%{8i4jP9M*R2y>I9DxY!!WzleR;-4MDPQJAz>9R$$D2>lY=(|P=8WQr<8&R(%EH=% z*reRXiK5@zew*F|seh4gecLKT+{yBWozQ%gPG5D~ZD(!kM1piJQ-5tairPzAu#xq+ zxUkgty2wH7_>94rIis+4-&J@NV(~M=J2QeHfGlZJjFB~b)!}X(es##3ipW`%tkzT5 zIIPIpv*zlj05X?%la0&SVmgQWNEvR+WLNKDSchSK-aMv4d#TN+VnR2C1U0^QJn_u8 zFEI*ur8>El@TaH;KB&}9m-4Nn=er^4lghyxO)Tzwb-J&-rshwsa)~r)!h?YU(_rvr zZQ|L&gWVw5e~zQS3|9kiq%iZHF=lOApOH*>kw@#Oieu)h-YH$YE*HwvdjP>SNj>V| zgFs>M{AZf{wHb*r)tbth1kC1@Dy@8Bgjk_{Zt1`83V{VFA?(z1Cc2NAlxR3x(l`?o zTP@wdV7gTxX89yfJ(!-{m6EmvS!e3Hp_J0lRFuG zse&dgc7Z4;=o$FI8^laSMNGKVcnz|);)zRh#`Ow_m ztO6A!F5&&Ehz9EX39Ca+ka6TD{xV;Br0?xiTHlZeM8Rrl2ecq#n(^ zFVrG?;3Z~D266#MWFcLiC=8A*25|o|g3r#rd@C5ju}j|q=j0d|L2%;qfIve8W%$4F z7g>Ds+r3M7HOyGA2MgJz15JMCfT5-{bnAy}^Kv&fLkl`omNTwaBlhxXV&%yd%($sq z=vsa2Nr6dEw+@ll1WT^TcHdw1pdtqqj2t^XFVAYr(Or7z)Aa$))Y9`$y#U-MArZ+d zSBT0gwpJ=ulEU#aAv<&+ZY$g*ul}lX%%0x=a;GM&NmpurnOSE68VwC4V8IXvTaKZu zlkJ0ab_@Dr(NmSw{-rlVFiNAXPLX&D+PAh1a4(4F$XL)$-*Z6R;Z2W#^5#<(-_%}n zgi{`uuL^Kq>KP)3TVoRJCARUyD&DQ8B)57w7Xo`Uu8j(Y6yaE2M>&Le$C`8SHhk)L ziN%ZzR|sYdq%$Up{ZPe~$LCA(oY-L>gz?>zJS6H?gHQ9!?hKg?HIqksAnn8?R^?fe zg?dMRI*)H1#wz*9djnm{Qr++XaoUww6FwT2E*wn(A=+%2c#yTwi*VyH{nY*C9G!6d zryH%y8usXN1P`7g5q36005pJ3b!GyhbOY@3`IDTwskwv*zgvAnS-g=JCIjj(Al0?w z%hk`JiC30k$jQyUu<}%QEWMWnu~?g+ft3qZ=3n&otN@m*S@Wpyg*B&!UnYxpv=KnIqle7sF<|C zE)Ho}?)DtS19gg?d34e&KfDO$(q%4 z1#=-WT_G9_E{{;}FfLgNPe2xdLv5&Cjb;ZgfP?V$2eg=aWd&3I6Jzn}lO;zgYI{k& z(V#}G>UsA&14AN4?PHOMt#NF?xS4&9<0c0{(MNi}vs5e0+L3jS`~v+LmmxIqlp;tj zzGt_Ja-A>0Jhp{Ux&Gs-cOY6^=0(`(I0>S=;<&1^OB zd>FEH2-JJNr}?xQg1mV7_MS19AQE@@sde^td3WjXptO4`%N5J`;x8@K{Ljd(ezy!; zKbh!XaqAjyBL%@7=Z}nAJV9zJhaf%2`Oi%8Y$d^7~I)pcjg{h@j$PT z)J1p1i$KY(ur^l3qH7qcA2a^cvYlu};ZdL=AH~8W}e{F1uW|ubXh5W@!Tm zzAM*MP!fP*!C3AYBmT!$KzwhaUha3A=;7GBZHHSMRy>EDXnq$Un}R0kqn#Onp;>w}$=1a8Pj#5@nmgZ~kb-~R7VF`){)aK`! zPhiQX7$L7m^_hSe?;qt_ z;|s^S%Jk--wq!eVuxQ+HCZ=R4`kaWSYsN)h&sz#yGD1+eL-F}QDRt+)cb>g^Ib0j3 zgoAr6FDGjH#r6GWlIR76MN}z6#{1-OL%Uj}z{Wp8Rv`Gzlp54f=Y1#1kMzX(1-H~r zL4uEr%>_&vIrcw#*#<*H%8>;3OGaD?I{FIr^G;O%E{mrnEcz2}{k1W?cId^CatB!_ z;sJ#NLjk48W@Lo%h1M&V4cN3=1iV}AaJ2^<+4Ni?04JL2IS*OO#{1~|Qpmg(4#6eF`b|USON^*!h%(=-1w3LNm@Kjy1^6SZ?A;%<30m zLQ^)Y5Z))G5P!BwzM!gHFPdozA2352Y%6OjYmdv)_EN4E97=>bu_JttqA<)FAVJmA z+TmSsnAx?M9ctP_UA<9h)*}|JJUIPqHqXvcl!##ea$=V4bh?C#vu}G&$;V45479QN z>ofR=kj5?iJO)vm{9TFGFX1o2&bB)CCXy0wG#<*s(C}f^Lh;DQIRPH9r94MC@(h~y zKPlMhpN0EU`=aWjwiFt%kF&!Oqkg-hG)g{R{JcP!S3_ryC0csG-^vGGgprJxdD|bO z0Ywle`j6Ovk1i<^At;>w?P+X9?k5IoKLKn}5){0p=(Tv8bxoy{9i}=MqmEq_WxM_` zt60GD*;esh1TOP&M3nJ4x6NPCjX(u7Rlge^E_Rw*=m+3q5_ab}0O|3%ENpqq-2-iC zt@F_;-H>)ak=CBk=pg0cT1|t&olL(uG{B>_)wl}lp=z+HCTx~5FxHvPn_XP<;pemO>~KGV1fujx3>ss23WFISs*w z%9(4`(Oma_rf1ecD+w;&Qo7gCxvu?`NiU1kbX`8Pi_9(@w!t;hel=IN%$ZCvVQ3Vd zn{Z8ioOrmh9}c@SDFjc!|H!mWhEAVpYjXFJgKz!{cGU@NL?he!^$rWTuHOg{V}JFn zH%G2{yzBjmRP@gg_UBO`kv$qN59#56GI0G%*dQul*&S-OQ&*GoqRX5n>S|gxD!O`W zY%!Gk1As@|F8MqbQ;n^%U6^6sCGG_AhxZ6fO5H&7-Q9(InXS#=hJGChp;70Cg&G_O z|G>Fa6`8X3h?C%s`+7YQkx-P&x^5Ak-bqxt@SY2HlVOorS-kZNj6xncxWoN+Bfm5k zE##JK1{}{MpSOrSryv(i$qA1%(jT3Lp+BQyWLR88>+x*iH^JirUL&B9DI1|j+i{q} zZO69!W=Ujt`7}*Qv;Z zQf&P>QbW`nv2j|e#NVUY->2p7qgyoKwhaVp_)Tyb2Qx*C;b#KpM0)t_nD^$=&@t(2XN5s~0eW{tYr<71_b?`;n$FzhLvz+K7vf?c?IH`8+pe)=8EuR3hDXSF3HX9Q& zhwcygPaH@T-nCG6lKbo2`+&OlQkY4@ulqW5ziC&3~OA|)W{5z4#cRf7h+-g;>Qvqxp;`Xu2pS7YwIP1ca z&GUV;Wo7U5DB(yJ9(`l!-Kab1He|vtuupYfN`z|Dr;Y+v1u%mZ8 znCI}&B1;2rk+?Uv7oeQb5{{g*mOX|t<%PF(c`y5yOj+~`b)T@^z2h{yNN z%Zpa650_11Zt#C$B(QOa4RnWxLjAMGcu3)}N=*YnA2f_58JV=Fn&E^JNGpx^Nw51k z=+7&T0gab8fkxH^2k31p@+Dus86;q(>u;w4Ucg&-dzCc4AL!~yi@RhQ*f7AkiY$kh zE6^9Kt(w?7hxxGb&e?u~m9gn=UeV8K9WNYUB5h&Smk+_?*#czjK8t-yQvZQS=s{bx zQ@U}7?TLj)-<$usn=Tftmvu5_1;$Q;iKGUek$Fu;|1!sTI=iJk4O6rm0!~cdml2oP z=DSb!w1plmcMur+Og57mkqASdph%$SA>TGb$!v{#&D!2P*#_n?A0m~k+v>c~o5s+r zU@-j7kd|WoZE0Sjoarbd3MOm9>qbbTGKkd1$;=6j2q_#I9htsP=$Z@PRUQ9<-Dc|F zSpcQnGPuupRK32K$IG%(F{(S-b3iPFa6CKe{-j{-*|v8SqDH>r#lnW>qsix@Q;g$U z^O(li2v% zM({6+1a?rBBWa>7Vb~XNPtRS8Rov1=-5e4%yH2%pQTF43DPuhc)khQ0Yhw}E44}Mn zY;jePi7iZ2`teCuOVv zLN;4Igk6P7oX;@1;wN`06S^8)x0g-+OFBAKrmA~_=#G(M>e^U~ZG?N>A8?{_wRe*P zw2Y>Uh5Y5_tIx#X&m!q+$H`iV^iP@QU)7%jWIlfj8ambywLM!Du^%pt#C=xY7ZHg~ z>1BLUhz*^Ive2Mwy8r%l>TSNU`7CGr;#=%bds1I_+Ui2?ysDg}Wd^$DZ zv0qMq@|%KS-#xJVn1A;h-*9#=*-OYY5c)D8f=_%!0M%rxlCVAG!8acNrpKhyE}fhIg!*j^_ZA%!GN`$EdZ#&kc5O9NNF$^Mxqnd?u(*0 z$jqPD^o^oNv4vuB)B~E7Md3*sLT<9l?%p)upt?08Yb{3F-L^h@x+WvcxV~92rZtkU5WhXegz5`IP0r4oeSe5En(G8gqs3Pma2;C#sj(Lx zSRN<&W&qM?ZAB9D3m*B{j?pd^?9J#6SGgiU6wEIMFCOiV+ZUN2QW5?w)R-_z$N?Jb zaoKVu_zQMmkk7Pr_vQA6zexxxy>7RIe$_hWk8s3$8e@+wq&%M7?&;5b zwVS0F>ckFWN(X)a+DO0*u>q_VjUg{AX%RKn^At_1oDr22lwEfsW6<8Uc=bkf!2Hc3 z;3+1G_BZCNu7cQcq%yC1OQxgjUl$f70iMs5$6kBi&#dt@-RLW2_0S|nJynL0pZZKi zxnH_Y>?#6I6zWcL-%OyvzO;e)LFO2?l?q5rrPOxLq;g%pk6-S}VtOikYRvETTg1bM z-gJq{IZii1adG#Hc_X4D5!A&mt_1eZDoqHZZ!FF<-&77AVC*0T>Nr{LoUm@$c~(X$ zVs-FoP~kms)_DLZl2%b+7o>J~_!TTTx0+M@AOK-#6bXnC-mafF(){>K^y8>vd03vG z>~xejEj-1dXfCA_k&Wp(yT_ z^VcloiVW_pd>^|Cd1je>Lv)a+W$_WEX%D<&-v;^#umXT11VDZ&GbFZb-g1?in>%xv zu-E8(rIKyoSNo!MmYtpYiP~gpHprQ=*Rk_`JzXL9J z@joZ~AKk7+jw@u9hb}`1{6PdM9Lk(i)t}mqkw=obPQ*jBC6SlMahl^PQ~F2{RnD`W zObE{M4+9{81ZfJ1YmTtvjMc8SqpM7!+zW;)T{;f0p{;i}B8+Gjc3ibR`T+f~$Sg1L z2Z7a@ww(h9GhNqd3@hynkO3N3NaEnL-ak zzF-;@s#6xct{9aU$lUpEk`u%(Xa_H}@BgI#tL=bK0+`UMrYA(6O0vMieU`588KS}Y2T_n-lbafsJck`AH?8qwP-W7e#z%d5F<+H6=0#29NBva zX~b689%3OgtD%H`Vx5MQ(6_LIBCiSA!rb!97BP z^r?R4M~WKpz5a2DxLEw}QJcUf+SY6<2~4@eJKVGW-a7vfl-=p>7g`V zJFNM$&IIqGZmUrk%p+YHhtusvP`xN9WHg_ zf^}p;-ooY$2)3u9yJJz@|9M`J|8Sxnf{_{`XXEeu9L)pf|33MR(KY`>jnKtp6YjqQ z0|r?@Sr4b0o9x<5!Yxu4J~qPUXW;!S88Fdo&*i#%QLpuPSd8UD0Lb}U$XRIVRvYeKWGq&K&Jb%b zE!~b79@%mS1q-WPP0QklITARu`T2eKKu*9}?2L|07#_E&QD>_5d*!MD;w-Gl4aSG^sS!A8swd5iAs zMyJfx)eCSf)4aLq6oot{xUepWR>HD^6uC?+z z_WIW-y!FiA zFmysS`H|2n3y~3M`&z6G(0Tb9gNFq9TZtQu)M#f@m%z`Riw!MfHX|L++s}MC{RUsC zfK?}z&A#J+6{X{6cQ=2yV=KIJi75KoOF({jb0Jc7+1vXAiSqvisJ#LHXz}y=QD6MX z6J_OlGzr0(5X8Szh8m<)3dgOhCFlK*?G z$LN8pvk#?)iRpEkkJbKWnzs(-2|Lb7OqN35>mxp(5?wSG;6*|}Vr=Bs&jd=PnL&q2 z*7>SAJ@f_wzX@M}M45aT;IP`&>lAh^YT#rw8sbsU?p*!JhJ0ins=^;z2jKsDBkHEM zOg3A_>qmq0wX9|R{u-btV2CxYSnjHOca|DsONhnY@w6tAp)c_jk!Yh!d;8~okwyD?$mS|{dnkbnMvP>m$5bsxh z%`~5O=DQL2sM{s}K<2X-cfjH|WGoU;+qno~H(y{a(?*mLOwAoQiR4W2uAopTIwvlG z&~lbbMcg11(HSkn+;21ZA?5P2Ipv}I>RTZ0RvrvQaCIhPVs9 zdtBqoHWNyBDT3$?{{XrnVImZzXUU&|m9F|KZDs8kP75$oMh0rvGc?@Ytn^G?1=!_t z#3op?btMB`K3;`C`&1yASKE21c6LO2C_IE&hGn*M!2Q}Er4~xT9URb10=n8qC&EOp zZy(~)+sPC{q@WJ!-T3NUBxQL&0DXB_LSb=RH}jiOqC8y&0`6%yU7!r0Uq$;^sM1By zj1*2)>p87A%KWB{656^W?sKhqFP0L(&kvB;j*u%> z{-jg?&DifS$jB*&;roJM44`)0s>d+i&xaZPVCVV}rO85%o`i7lWAHu7XW~x4h|aye zUcXNGT^83xiR|a3Oxbx zE~VZ*gykGM;-N(IhDhMHJ-|7Fgzr1<`Da61i(!TE+x}DM9Zi!q8@$~SW`lo6CH%4F ze$s5Y4S+0L##B226rck&yC-z_dqgbJIOP$JgdaXQH#>w@sMSm+i!EyyVEd@9_2+&E zG_Pz6s*1{?8_RV!VjdO<5}jLmh=;`wlI-_sB9YZS)CJw1v2xqb5-6cXccu1HntS0? z&tvhbR7*SCn4ezPoF6M2G_$Bd<~WMNq0n*;t&t(%=7KZpoCD^ ztsY3JwXa?cyIyYd*4T5`pL%6>ylM2{kHV38Yg<{pZj2<&EzW|>E7Z(X`s?k0czjb+ zqWwWPZm%*t}>F&u^V-E z_NVISpy> z4x(++T&t0`4`B^(N=saLmkZ{k2Xg&c_aBxWB+8pAh56IzV734y6xQr{iy4C87ecqJQ5)~Qs~>`a+@WdTLf@3`FyU@gC$h3}$? zf(}$zc~RSC@(T8yTGR$ozJ!l)P-UhkoELkhIrw#}KF- ztiEA$5V7faw-F@C8V=N@itB4C^k0%O*E~|ydfPTNJ{$T4H#^KF^c?23tR_dw1MfhU zZu}~KAo=g^0}HS+;1jH+h~RRwvDm4R^kX3c1WS0aAZQYTZ0{)f;9_x>mM2;Nsf<2BMIW{?uUjhfa+FcuRp?U9@*HY3NcgsOrVppE^-{)~{w+W@&poX62OUfO8CBEojD4Lw{!*3|?^>xibsY*0ff7)dSKZm5wM37MT{)Gtw+b zaKnqy3@Op<{EVLZod`y5r(VQ7Bd*wRJKMx!MT_<@Sd=pnDNApg0lIg_IR?grsLwW3 z%OjW=XTXbg^lZ)|foQ!VNPR}bfk>2h!litmXB3ajnfUt)w1hgk6t{S(>5jyGs8*Dw zL^Csu7h%tL?GQh>u@>G8oQ-VnI}?&l%TkGTjJzT2tptEGT_x+x2`z&oX}Bd)=STDk z;#Nu|u?I?S3elv#Aat)y4F{*l4`8*WH|Enm$6OGM+T!i)Fru2GGJXK9P05w*wC`QV zapHNwEt1bh)r-R;_|W2NUHP~hw$n|df>loa6bW`x1PQOhi@1VB3pn8>>M=7Rnzh(n^A)b6z1+mvp( z4wxa`EP-JV(6Z}C=f^8a>=Kmqsaw?bzKllR()QDTOe?60*adZjyg1A$Qx)0p z_rf10GGoxL^N~;G@}+$GbO#YY7bSrV`kuDKvlcUPwrTP}ypqa+k>C7Goy2K^9%2zd zGh;+7Aba4s$Bw=G-N~FcEK9Guqm4MkxI`M7N2z>RG$ITvg&6cV=Nx}*cMpox^mKN% z{x_B~XzC9!I>ExEcd?T~sC}Ik#Ro<=eO=7)>x`RXT`3w&j<|wo<-8GQvr-j#$%3j8 z2O>-Lh6r=YfIgZ^_;`POa&Pw-)ytfhPJ z!~U5!#IZxd{jH_ zdX*%ThLVc01cP1>DI3^U>6rV`Xoo)^yfgN{$cGA4*N7h2@zqdpT1|Z@q!aED+BYFf zt-~n~MQ@;2D2gRKZO0fQY6p0qIv?1v-Idsm23qA`Q~(DNpawtVbIeP53Na|&!pvUimn_{2*@~`h5g=+oj(u9EUIaXH;h2M)%I21mz2shOc-|vB_j_N1gW_bO52ej z1fryO^l%ULNJiuPFPXK6PoG+CU*Ew~%CgR5N=8#Ao`2?)IUyNWvyPAVP4};obFA#|nif#F30Jxi=jMY8~`1rZCIdxx$v=sfy z^B}HHlm9f)iBq-5y7Yd-pNGBBEwDtz>fM*8^Z>jC0rK)v%W0IIO6Z&BxrQa4_GEFL z*2dF5fzNq;%9y9wC+Qju34=K3Iug7E qmehJu_sFX(PT?vIOOj!~2MJBZHL!$y# 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

          oRhE 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%0DrHX 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 @;h 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

          ~#?sZWo9<8p19*j8HyL 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

          j?xEd|q~KbA?xNJhkRAbz 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/2/images/redhat_reversed.svg b/content/docs/smallrye-stork/2/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-stork/2/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-stork/2/images/solution-dark.png b/content/docs/smallrye-stork/2/images/solution-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..800d0f9785bc20c78b2e675c17b90fb372bb9c14 GIT binary patch literal 381256 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 aNpQY~%|C9!OZFA`@4dLZSeb~P|NjH5$<5pV literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/2/images/solution-light.png b/content/docs/smallrye-stork/2/images/solution-light.png new file mode 100644 index 0000000000000000000000000000000000000000..044bd3786d8287ea7f05636197fdc127572d8a10 GIT binary patch literal 343937 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

          ghd3>v;_v+q0hykx`EW5MbFZLOuP0+s;!YrvD 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%0AQG~af^O;o0#$hEsA#s}^ zq4SzDC#rwFjbFI{&u`E87o+kdD5Sdmg~t~o_67|WHCYaotma6qwwGzx4pwNGjcC05 zt6`nsXxp^4eu}J3F!Cxug-TAh%u*>%C6YN0EqOric6C=pJtNxg!-h*Us@-U ze-*tt)|PJc!Qq_xPS~U)NilO#M#dB@b3W}OcP%Ya6d+8=uZj&4IpB4Sj>+UC^u`F% z#}V&IE@vp3+RZ_+k?tg*+O#Y#z`#pIPy5TDn{Wu@qcQ#+0mkGgmnAeNAlS z2S1Ixig)>&Le9|W0txolVs|C?U&BRu7?ugk%i?|ruR^(%EuJ}-fliauw~W=+xZ4NY zI1QrNWsTNfo7=bTvV7aDWNC+I|KXBsolO^JrJNpYAMLScX4N4L=M^BQ!3y|#dc|(G4 z)+Az|Sv@I=@6$8GA z&SLD9CQ1v7I{p|xh5lZox!Aocb>|Z?cx~5?_5(nSRl+XN%0fsSk&-elP(JEDFxsqc z*P!n*F?xGqwvKMXl_%1uFBssmmW3W~AUy4bSFP@4Ts`!+6P+T?YNGaVecpMmrekIn z&4~JYq}zN;&GFCj?avZ}ne2bE-n@SuNh_vOx=+XGhZBj?ka0A?^8TEq!vcg_x4gs50xhluiz;b zuclxm3D*&3cGt>%Q98<~F2=}n&pi`2T8H)6pC~5yzv8VWXVizFz|5>DQ!&{yB*aHq MUR|ylWFGpz02jRhl>h($ literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/2/images/stork-white.png b/content/docs/smallrye-stork/2/images/stork-white.png new file mode 100644 index 0000000000000000000000000000000000000000..8ceae56591397a4eb4775c574f653c75ae7684d5 GIT binary patch literal 48466 zcmYgY1ymeMv&LN(w*?kk+@0X=1PB(~Avgs0;O_1O2@+g`yL+$@+$Ff{Bljlve|yfH z8RqoVbXQk>^;LBbVQ&?sP>~3cARr)6Wu(PbARwSnAs`@Q5#V0$Fe0cXzMdeRRHQ^9 zD#n5PuYb6iYRZ@?C_vD?UL!!jKoUa0{%-Pm2tpG5cP$A?0|EWdeJBWs5K9P{KW!9W z&%b}tugC9a{yjtILjGy}dM_91Z)+&jTlX^VW7Hc|9T8OKUknKpbo>RT5)RXW=E6RPvBL zy%r^!NKMf%grlDMjs#eWt^+C)g+Hyrg-6H$`2%=yA%kqRXt6@F4TI_YVcioDqE&H^ zur&rnGOsWE=e-s(Fx{8;U$+Ensi-9{o>{htgjg8Ki>@dLSp*Adch>e>)EQ=cAx38Uh9wJYjhNC#Dyb9sM6d0)z+sqUlNnZTTnbz(65C3pG+3V zQ=?_D`C~vr=9D8YBPx!(VFC2YK95vdp#k7mD^1-&xXs}$c9){#jA0C}WuSLgV@g44 zs%bAFPb(VYJ!Ub!I8>;83Z_$>%?}s;iZIwh`;B9QDng=bWGHLP5!0bv^M+rfJ-`e3 z&bFrMOLlmjUj!4`iBd9Su-M>3Tp>ES2>#c%3^vagcYNn`HG7U0ukPVb;3qs13ztZI zf*i6L!WSJ`KU-|igE6>U+gLOcH1G29!l1q#!8 zyi(_TXQr_o5^Us44BT ze;wOf9ZKBQ-4nWPoY{IUIeMr~P*tjNahwuZDB@L9X$w>_iruj2 zW@)B`z_wc^Z3LB^@AYX6CGz;)9Dr5pcRwVV%3kX@JDd4Br z+;2c($M^qXHc2qIZryOw7$^Oh6iu{tR3hBirALYcn`46?c2z%DuuBW&EH12m zJ3&n5`BURg)G7(tWe6M)kgQ9IHUUqA`5)aN zv2%{6g_m_KAsD^YcW5%=5A-FRtw(L6s(t*(h?+mlt4&)VX(>Dd1Jp?&}e2V5$xgnzIWOHx>!NFnR3 zrk7b>Y$ZMK@HQ}!{3|q&+D%zCpg2qQFLFzgO@1#ROOhSy8Z=}T#64(7g?6awULQRL^&yu1Odpp?7U}<)*na?=gA+a4==jWe*h)`c01At3f;BzsQjANmw-@*now) z;UJl`aq3pDlVqk1w%c9`K|xBWL=$@&5Seba7tpM;n&&e<#r8K+bjttJr(iUjFYLE< znXw4!{m{1`Z`peDxbZKkc>p2Gd2hW)dsvtqmS;CUY5c31-zrT+;NY}mi3DBmNia~G z>>3_XE@4QcR0%Qfgy4bBL;P>xNnQN?{MuY9 z0Lqs1lRy9jUhko_CC{t0%uB>;;L z(|&rQa3TS2eMH=d)txh+!_dT~nhhAZ4j;t(9&LCSj_;o+15&ZIj8uD*CCN)pREm{! zk%XMB2>wbjIKX(7vi7Ynv2lCNDug@~O&mVqsiC_s-;?YfNl6subm**9b0@(k|$TIr(REv^HvCz(+Iia`iCFNCU)tdcU6R9btzJizT zHw!u*rAT7ASi zqRcu?EV?uW9a=OdFP2(MfdHJc#1XiFxwsCYHGEb|d}A$+fwfU=_4Reoyk=YY-9GlMA?Y`}A?1QO!VHk;-<@fCxmC%fIB-~kV* z(M#rk_3FPPmRmy2)_}!E!*07?n~(cB7OsKK3@4&Lb9s43JpbVa5OT8K(skCNu#SOo zhHvT3n?ow-;Cgjn_gAr<@*=O!72t~XvtItv%@Zh;*9bC8(M`2vA}llE;Cs|+cw^g8 zeySb|#0G2q_m+1Z_Bx6GAy{7*5Y{lQ zvh|Jru_gV|6N9n%uQ(0}|6~wqY*5STJcL)$qfClSkh2%4sw5v*3nK-`__}`n(ZnzN+e-^W}eTK`Wk1B@G?%;CVJ_p)qF_dyBOpTyy)Wt7{EP=mz#F zc*&7>_d*&xopgBf0b2+i6N4R_jd3PYCr$AtYiIZUd&&QFE(`Pi69-FmrJ;&1f-fRY zbudJg#8h%G+eRM_atwB;IA2As&n3~L91;J<+nO(Xp^~3h6^lLfHg7!MEB+@0>9-KK zPC{QyD|qk?63@ulw0i#`9rjNbe5ki9V~lujqMdYkejaZUu9S!ZfdjbPBkofckMxVy zCnJq&rTYIlt7Y(S{?o(ai-)ivC{GzBoCm`6>%4%6hetp4>_9QLTj z+!?dt-<2#P31n@XaxQb~{yxX0L~hs)R~A0dy>6k#z35OQ&0`b-7qCuWv-s>?%BO`) z{}(|}C38)sp#veEgEyj@bxJMLliGN~MJfGDu4{f-s7=E)>jz^z*$JL(eE3$y2drRN z#P^PIY9_;z7~NeTSoZ{kv`LZ9ocxCZ@5m?F3Pgk($~%oyC7z>ZUlTY98Rbj?4CW2s z{IWMh*%@6}Uwq^CMG(3OkV{Kv!S2%{el&aNvBaZWXb(C(9M{R=jn4lwOHBV{a#Vj| zPo&K-qCWP5*iW)UGd7{X*s*?n{gR{OXesg`eH^6Y7kb>~NK)>(&xiJz*u7mIBK+A+ zbQ#MvFMG!Ky8kKd)h5C@gs~l?6FLetKhE7=mH5?>`JZoTbJ_ghs7xlpMr(XZ{gR3o z3NI}rZhFbdPaM)YmG}0DE{P{nQnKTZ(&S;G7$pc{40PzMB?qhEsHF7WMoE5hdmkT>6VD!kdoZkRhJ6GZ+>y(_b~;}G|o2#UFH58O9}*Gx5{t43)PVAI4&A- zmM%w{iOk;w-2XT|tzy2J+jhEA{X5bxcuR%Msinhr@c@*36G3F! zt~9sL6-N;sku3oyArm0pTPRlQ@Yy|{$!iG1CNi`kRmQSYt$E@-l16#`S-w+I&2PBi*Ejc)wYIxQy@|?$tt=$F#q+(wJsBM{{5;Y6Ua}n0ZYW9z z7bd*Nqn)vgC706oFYo@6Hp15&IX2kyxLGQb9Y}zX2!1IQ!O6!!l1R|h^XhX}bt;y)J?el_Qw z=Z6V9DM(CY1c!MYZO2T*284}}{O`BhKR%p}9~`fkgRqBvcye4TFt?>yA+Iu!f{Y-n zP<|M;S*~{Zrr5*4@m&O2aYdkEm(GMd)CGhx5ZN<0eFLK7j=>Y$X#zAQKJV_05_5rcE zXM;^8n2rv@y2t3;VaJtmrVA45SgKhgGdr%kJU zcUYM4WUMJXz3xhtI($za0j}MeRW$@sXfza&ydH6wmX!)mm%rZ15t(t1R6mh-OaXdPE zC;W_se?#c4*lPe30~w5qb+PQEaJ<_rQ8sV^Iy5EnkP|9Ac011xJc$Uo(2}7^v+9NM z?vzSXN{V#!cBw{-m()PlPRi9TcA*RNJ)Ss4E>jBR|CL%7oC7z*ag9MOYh<%Vou_jP z=Hn>6kw$WH5lUFH+ul->a*ai%>K@p;Za#Z}!!r)rrB9;0Zjy-4xy z)&A|vu*V(!TF1wOt1th0oiH-lRc5Ec-Nf8XdziFxnx8o^RdqAf)J&N>84 zdNv3D<7tn`j_v9b11{A?KH!)Igs%dpLi(%)oA@^|GWp`3=@M1ri! z(TKpV=~pnukFQ0B{OuOR!=bw@`_IG)@+B2?L81c$!90Q4cKGY0RRZ>2+t-o$Q1EXX zu_MOs`i#)v-#&*$TB}N%jJ_TGW-wR2^)S#8PNMcV2J-(_9Ej7vL0A4x*(lLZ9eafW z+i~Es(vNL}Q2f!30ee~$7#Q|W0(kla>Rq?D2KoAB>}tqgiqw@?EXDD7g*IVjD9m&W z2U@Fw{8(AmDLZF7TMCG4u2`q8_wN2!!B~Vaa%}LlS&u4AVyPQmUk4Os*rI&490=W5 zF;^5QO19~|N3-@=A`YaR(`5oJL2rBvtHW;lRA%G37PW0$?<4uSMr~aOhV`6Q`K*Gn z7qZ6xec%<<(y>rm>y@(An@j%xsqK~j&tct&5jQ1lBE$B|v*AZZSZ0MIXzd-IQK+@gbSs93=)WE-n`mi zYWV_GkBUDY<3uruSwNQKdV&Ze4iqXnH3(_3#^0$CHc*wQ4b-$=PbmMsI@-{mHEWHU z$jl`QoMc4sqRu+j(s^#1Qwr@VY{+WP|G|SJnjBm8QPiNqKJ%I4LtA_HpCoAVCqf;J zWvJvBJgYMBe0RRn%&x=!BiPvGzWHj(VqjBDY~N|Y`IabwDWNi_wv{bElXitrEKeFQ zn`Yw5cV~f$A}-o>+c7N%i?D^x{9TQjf1ROzqA+vqudndY-mrfmeX{iTYgi(;a2tRK zuDZ%@oelm0`9@x7WzMT+ald}mlA300*z`6w&DQ)VO)n4P0hQR3p-Rnek`=V)n-ZK1 z?fxR#50M6VX&lm8O6K69NOr^zT^{d0h%^{(eL3n=ncPcaXuEmR6-mBAC^f zzd4;6M3{AfZ&*IjUw$riYwYKiic_gpk@E`@x-CNd?j+17TnW+WotN+>qxi-eHzL=a zS8_v$zN}Y7W%Kb4SI6!L-oKMA^*e1q^7WN`s>;Xi)J`)`JB`w~zAR_pH9md7@7=7O zLqp$XrosIcgB8u^rv+6Ut)x<5+n|tI8A0@x z2EaRMQ=I9>H97eYiLikE&Atj|v`?Hfk36Q{d`T3a@N>hsSo*P}PGuA8(bCcaU)6bw zDI1NK@3#LgTAH?idwlB7$>lcY@Yt>;Xh=i{UH2>IIb3PtN!2fc4tiWb+Xq4q*pn{I07Oq~QVgSg zVTe-C&r@4Ur5!5U?3iJ^Finnv!^u7NocE|I?7xu2$n@&n?aN7~TPlfZ*+-w3ly& zABEJaS)FP8<_DOC-wE<>Ob)q5QOITq+!nZLP)^?=uTp>bgZutPqPd0A0pcGs-*Dd* zzNK+!-z=b8k;d3%pQ@ZNQDK(qSQo-k!Y}R|PNJuH<@pA_q20ilkH|#?UO!m)NJw`R zzmYmF&ra#sa_Lcg#=}NxaQk%W9c9l$&Qv_VF|iJ$#N)mbRQ?;2IZ%J+Tw4{UwQa>~ zmFs-B!V41xLoT9mVdqGhJXxzKuFKBw-;jgWcE$1*no~`T7}upbdJdb#rx~yv%WU4f zq>JZYteAC*J^WtAdxgd|QvczMhv&m|3@X+_FF%?DR|=8SS-l3VPkW@9@ng2$ag|s_ z?qmf-Z4FsZFoElhdpz%E-!D!>HWtQ(Udb&UlpL5amj5e@WfQ}KciPY5Nv0gpR^Aaazac$d1jA5E0?1*%#EF67{U?p*D~X2q#f?VTZbnuA_jBF~5Xs zk$)2e11XsI(HyzOYnYt}a10dc_w|&6yHtXKcQw+KE==(u2g$o{HUw;*Kk*B!^8__+ z#v7_}_KIBcTYKV<#M~M-XSzSFt=%uq6si6I{BhM_@=3=6kx3IFA6Re__XDRBHglNf zn>B^$$J9-f%<0KDY%)n=xRK)dhpW9mc;ID*XY%*O z(;|fB;^CTgyK+5YNi#z4)(($(qsMsj5HLeVruSEjy|Or>kjYqREQK)@AGjK!py$CKDba zetoeU(lZwm67mp}xWq(%o#y$_mTXLL9^%!0igw8zyzuEPC}iFh?=T|XcJQ!j<*|Eb zjBxEkkr46^pMMn4FJ{oM5y`&i)@tIv>V2pi6xkVlMP*zI1fge75CDLWE6#@teDCKic z#|`G$BJs3l^l!+dkLB4imFu^|)J52^76$$h680;5x$?~ZTX0I{eO)iaF;mPbwWW>w zyyV1t=$eW_vdhz>mPLw29jX-9j0GKWK_0gyrk2I8fZTGt(;!Or>@D46MJ5%jzb(BV z4L}WB^r!d|fiU(Y@yw(+WBZ}@51^Hb=WbJ>eo8SMC8WIH4!ZNY#+cIh0!AES8S7=0 zzNq||nU_vsr0z5(nZg;_EVlpgEQ>}`&rYklw81veVC}>E$M-tv6U8eXUU!bQQ@>{K z|KxaJct|Q#3Lb6s-2ksP5`m!7xRf=GA_5^kY$P2<48}qz@B{&4pXF=8cgQU20;JL* zI-f_k;TQiUvGLUEtYZLJd*n6WCZ1DUnnNe>k5l>YhxnoGP~5=4ODwyE@uM`0DYzoi z2Jrau;ZHqsE?Q5>rE)y+@_*U?kl>`kmiE(nY2S7GLTnz<;R_gJ3wZ+|9W2^!UbA@9 zQJ?NqU;Za$z7!Xh=^6B{F1N;8Iti&!P`=2*gnwJmCm!%vZFAG{Z6~~FD$K^_f{R!2 zv@NLnl(c94AW=e~R)NA&E6*+;=-$t9kjy3Vrz`*mlgJV2*WYVVQwTtY0T(q=tK-l} zjMtVA;>ahO*C;Dz?Bxe%EPheN4C{rXgg;@zu6Y4%n5(5=ghA_Z_a*GiHe`K3B3HwK zc(3_e9;@9vG6aAulX`_}imwh9em{6W*yrMcNsgk~pWll;10@l1$x>xA z;GfOYmZz=^b59zfJ??J)I*fvJsgK_EvZnxIcuKS|gUS03Ox&l@R+Vio8%D(X8uOxm z81R*_u!biE&9~zN3qhen6(~(_X(-iM=H`uBzah50{1ba!@Mb%fQ~%eiGT#p$FlSUQ zxqNVuB=AH+1A%w8p|{B|=yn9YV?%(HMa zdbK?ZC>XZ1_O@8@_DIgY68Yze`tmOeoJ4MFoF-@FmgS7XTA_&vUg$xhOqAIB z{}v|0h`14K zq+?i^;d?}82LT*f!r4pKL({&?B5BHN*wCKG*DN}49c)B{i+fGoy?#9rAhFp=S_|(X zj9~$UYQ3&6bU5jIO;>Vh)Feeruk~4nsb(|_jlJNqTGGXF@>8Hm= z)((7GBO4U1I4b(R4^wf!XKw6->$R& z-Y3LPz%Ng`8fdhYQXQKb6(pg?hxUoAjLd-6Ylx#ZMRu}0Ei$M<7Xtt@SD{OkA=L52 zqca*|T&n>WaK`J#6h~9_Nb8}Rzz#Fw)?;K5$j`%e{OBJv#f@m{i)B*C>RElMsCq%h z!mD(I(#@E#?@pxRSGjYcsG?VQ7T?HbZ<;?*tzxFs@l6-5gp{f{o+fU#pOXelFI9eg zm4Ah^_<_|SCrY)9o~7)lLY;S-0&Qbp>B*2Qqg_)+Q|adU!vnT|H2?%RCKu3knxT9z zfPvVfgTVR?PL*E#VlY6OBp(p+6Sv@#21e>}1g5!JxzFB7c&Ej0aFq-=!CWDPZChP? zc0+uKdPBT?reqiI^q{=ef--&T2p*w8IDI#Zr2PT=oD7_{hw~gQFyLBOUvKmCOqTty z(z@Y=^0X7k&Nk8zQra!nKo@&iRe!hw>+qn-FjwzocBQAibbtVIcmo{j4sm~0GC_9C zE*B_WuE{__5l}siPh3Y^sYeg)$+}VOcfKNICxUc7uA6zPE$hhuTtUf-KwAb4)utJ%^p^)(yN6;y!3NM zOm}6DlJ=$XVL+C6zl`-Kc_2-GB+TDODEe@tD8l&y$fo6`7 z>`7Jmc0mTE)+k5G63cTs_%nITY&A`OT)pL@RQWp=7}~$9t4r&w>5PC9#Z8X!-PcVH z0vq5VVT}cbs(p1+mCbI?l*PkKl$yG)2F$zZstj|8zFwiKm%Wj6k!za8j@6W;zKAz( zZVuSTzP>;&HW5-Q-+h37Bcr-NV%WiYS8DP7Df!SAJ873712YVb6872?KXNXNrtSx2 zK-y+OCxxRI18z&u*J$?nN`2DG1`@_f1P&y~>?zO^#zeSe)M}8Z&F;`a+xx;j$@($7 zHqr6E_wqkT!YCcwS6}*)=rzV~L7qMjmD{Ca!c?fnYe9AEis0v6HFX`#h9&LlC!sL{1L@6Z0i6LQ~Rit4+-vV%VVJ|%lT6Cp9DY3FDe z#v_Pr^-fdSYsq0Ni+~gi7VF*n#WvItBJ-R(loP2t!ABYk&^q&2yXi$o9P zsYYW+$`fXFbVd}dU`jpXi<~tMR(Y_AI>Ij!kYn+0 zJ@zTzabRt3!x(rB?9GMxx{vZyN@%R}`W&8vrR3@|`o@mVr>@4fPG~reiBWbcYRVgo z!Q|t_TBsuBqhr!0J{VyILZyGn({95JbV`|WGd~VTNFH7rb9sC- zbzWiUuvGaC#}_EVgm3Lp1S6?A<>ZU$sM7Y*dTG)C6Ck8*N(X=H+v2HVnHow6UFUO>X&yu8htg)LxNkr z%DMcsBsujiAFnEw#4bk%l@>FEw8%xH+hj4af?<}3_gl`~?Z5BwrEh!Mos>qqd0p?G zZl3mwc3HyLI-Gv_X*C6jVanPNS~0R4kP|hqi7rO-Vdh)87cb+K5kix#nNmYH=qZfC zo>S?hjFeA;FIZ6#?S;z9{ieeveg8x;INwldV))v`@fdI68&Aefr?pNQ9CM3(88}F$*`T&H42Lc?J)yKl?C7)}kg5c3SkC{9G^M-0?TzYI6 z^wx3#0f*)TM#L!;Z9EEkde!?Yyzc9@%l!F|8tXUf!C5ifGpp9~nUIpCrVl%5m}}@x z8s9XYjA;Wh%Gcy;w|2=#ZoOb1s;vVGNLeF;>Uqa3z`6CzoD?iPO;-@|KEBb3rz{;y z5ucgCCXj`aWPN2i+%E~)*`uyI6FFY4XEd%kA z#m@Z|Q^t@rFC^_wO4XjI(MFEk$eWVS?&y`WL>a&Z`RbX&P$Sx(OEgq6Gt6nb|e~nEVQ$R$e z;#@Ppfg6nuJ2GPGfk!NJ_EuT=>vx!DbOSod@g1>p#^*k}`P?${UTb(ZjS?n-6+(o| zOa8W|va*MV%LX`l#3`8rzsn+xT7^3%hAP_~-VAkQzvpL#huno*&juZ|OF7`yc*IuV zFR^BOxe@Io9H{0( z?NmIx6yIBOWC=@~8bj&z{lRDGELfS_8b3g@a*NX9p<*&4 zCmYU(4PM5(zryL#r`RM^OR@tH-L9NPqjUV~z?xBWjij;m!O&rVgqrx`pPq;V-l{B` zx9kxmFECJ9V&9cb0GSIUVL8DTX_f)6bRv4kQCGjVJo>_3Slz?*iAxczq6K1s)EDB< z^mTG|ZA{gYU+QhbE{L%cS>2E&)T&LOo8VPLz?we75i;K9)m zaKlG|p4F+0A39-5DLaTo@EsFsNWx3y`|dR@X_&LJ4Luwr(-kXxCzq=9^vLUZ$Eerk zV9J(nM*6$NZpg#)YH6 z1KHPX%4;e+YG^LUTLR-z(PWs&gQS<_5n^7`FF%@VL0ofm(f4y;%)DZU!CL2ezRQ%f z(9ZMikul>KT^ClvUqW#c=4BoYfh@Vq0V}ravLiJ@95dj-ygY@Fej^*9-S#{`eg{Q{ zWL)wtWEktNGuD-?4x@@^jdu~po0Eh+dj~mT6QK=@V!8X$0Wk3*)3`c~wgzrf`4ad~ zLXpJA3vQ1Nt@S4@c4sLakERa!B+yb`6E8rG!GSyH`??Eg>haKCDd>&XH}1+EzPnjB zk6VFQimA6mEf+!QM|L`nIerMYy7GI)c~3T5jy(XRMUgKzpBYrt78^OqFvF_x_Q>;1`IZeFR1qlaZaZ#pDdvqF~WiEO94%!97*LCeZ_h<7jy-=u=A)Y%l0~ zF~E%h7}|%jvEm}r9B=JqVZkn9Wu&n=xF3{V^X^JF1qW$Zd|LdG&E!kjlfd^%&pn)6 zAP|^|6Natd+t$_SbE(uC#Jq!B0KMIv3l z>)O)%c73gvRUXnrF30h$+^zI%a3e;vA$9ib;-ZP-FI{;VVtE@`bp8tj_4{`>kz}Y9 z8Ov`H2>2prJJ*l6Nrz>fNJG1I#D{Ltxl-LDa08k~J1K@{It~o5Z`%_@DB*?Au@ra8AbuYJ6;2eiMcv6e z^hVlS0!%fP6f^{@vqD-@8k(pq32~OPu@j4e%I;Hsa?+TS%5FaHv5&)tV(p%mV@Phb zsdG2vib)@)V|%(puTjx*x)y*Aw!RuwOx0`0WblD?$2=uWZe`V6AtGBRJ5Gs{P^nEr zUKtX2nC%qaWpvsl%nvQMBqV2HlnFSjr~>X1Jg|ibp^rvy*86hhc-9gM&r#`NA(x-` z!d~=l;M_Ko7P=dn7y%lN6fjqyCxqWM$_#tPeR99AOFD_^G)36^{_NBq0{{wrwHaf3 zdV10g6F(*9M?3NNVl?m(2EJd0d8@Rwr6-Dy51>MmSurIEu!d7VJ9>bcXh7$~Z(3q!@J3lV25aGMU9nU!n%tI-#xp_jH8B*o<{yLOFvgM5-6G#cPv{|EV zLR68ye7|eQt{_zqX z(=|}hX+cGWmtjw^SKO?d!%#d2*1ib2RElB}+tuwcNYm|T-gvEWDBa`s$n+fdM1ai7 zz<`D%B528t^bM;*mP88(%3pxTm397o@2*$$nBlq7xho2+Xeoe%)k8WC96io~`;>70 zm1Y&|j=^^~&|xNe+soBmJBxhwbK9lL528Tvf}v?iUzu^7TG{L}qTceF&!3yGw}^{R zw5*BCAyB7|F5zW$<+{kpg1d5QRB+vtrZZwCf66=gL{MQJm#L;!kB``s7UerQ|Js-T zYJEv0Xz6XgJXYm@%D==F3x>%afr7&DJzI36KBS4#&0f^DtRHlkPULW!K3%vIWn(d_ zdG~`^!t35sowIU>DviJSVH`Ex&^MxeggvKuH6k@%u?OV{|5OJmn^m2uFli?mYr@1u z5zMP3yWLEXBBQRZajvBp4G4z{5-Q)&vhr07cxyG?#d6=s3X z0}H1l8NPJ}0r$3H!i)A5#_n3X&UN%as+1(Q=tw<({5OGk5=up&&lzV|rqhI#RIw5&YQ+zd}p^T}UwSG{8T znoU;Lg~kJ~c~O!G?Im4<-gqfzy1BqT{RHL&m2ob>#{D_GwI%JU71?*4pd)Pea&^6` zcAUj53|nc2lAOiTjsqPsT09utaP576JGpq5X1{@x0S)$USZvC?S=DF?9LVq@ogYSX zcFl?Lf@_27QIoZV1afJ`10rT6B9^~3)?tqZE+2LyCQq|YZkqmNG2>wOEB};7V0Qvn z5-h~_?8A6MLncK8qr17ud6Da5XA8vxo1>qG;`fiT%vi*UGHt!>7-t!e0_o+656o(b zO3brb9;BuaDMyBVQnX1Ev@gq#Ipl^A!JetDTi(_`nvfd=J|bLPEk{mGeQ2~HJi{KW zZOjr5Y=++`oY5S5Jaf%{S_)gP-MBw|IX@Nux6`}NLRgyfbcr5T*ah|J2I45ZcCfh&j_QD?hQ8c?{6G1W% zMrz z>b$slyQ^{=Qz z#;%L2HE&kU5VqJ$(@+U8NImxQPJJF2`QW+SSj7zm(Upga93;uu6$lUGf;V)JSla;% zeLq!Ivj7IUBGsD!c`x=e8sI*LT$=2iWV>HP9UfF%ViWjVz(G^mJQH(?6WxUEWuJ1`4gY6D^fXDYV zi9GB%r0E>VL(o-nH>N>MJ8H(o@kaO|ZT`Nl=yi`=Niz3-s9xbueYNCq6^F$&j9~mYx5xOicD;$x#2F^AiFp4O$}LYk|Y&alv~R}AHEY}|LT=cQ)li6= z@Yk)ez+pD6vuQ0fv+0y0D$mEfPC?sRss1HS`AOzz$=!;??ur&mJuV`FFvFw5R%R)` zeVv1@Vkr>ioA3FZOSd>H#R`D}HYK%P}R0@}UBwg`21t=d+IjL{@7Ac8XfT{|K>E52DS$f+ZA zLb?jUfl^h4xRD3!v*W;H9Jn|ioczr&#=`CW(TdNt#ReIr(MJ-?$%YuV%yX@0Cirb2 zE5W(^_boh`%{CS`3mI+eHy64(m^mj|c`r(wP(N!e_?CThO@pG>NQ5%X_tHY`@y>x` z1H7o=Nliq3a(Cl59;Hjm*7GSrqVCn58Z4{zA);Hysomhe{|n%Q47uT&pimg+JZzlw zgPm2$XM*t|vxghW?=Px4azc0^a+@wP$FR|Sub<)NxxQ{It5|M+-HwtB%i!mxA3kuN z%^*hLBeaqxa2wUK8?{=$QkhlBIk&pfN;Vw=IN4=+CW-8*d1}h+IFaOgcGK2g>aQN3 zU2UXb@i1F@wn|zx0ZEKp!ynyciJ$~IQ1={^CdcIhIi!!Arwr)@39U)~UWtbNrepVLWF#mCqo3Evm%vnWV4) zn6{ru{X1X=#n%CFU$nBln}3>DkDf9Fxslvz*A#qf_0dyPJ@;)UU3!3mD;&~M&yE*( zK|81QPU24wyf9agsW`j~I~^ooCQ}<}p%K?^NA92Hv7yWAY6}ym{OG-IdA$DS^|Nx< zbI&sHDM~fOBkshxdy+i!cDwO#gaP=5pg~25m&8nbHZz2Zc;|Y~uzWi@?|IjL_4<4T zuiE6Cd_gwrO6mM46df4WOY0;{3%vD^PbS@Hk5Hw*91wLagY91!oZqe}m}w)8mNd>W z3Yxg&_W%(*bQ=@LU6@v3WbDx90oW`->yJjC35KAt_3Ip8G->y6v`I(igm&qo{%6A&GXA|2A@lM{<>2ZP-P zO;@Y3}}a91K(KoJ+uy!y!Y zh3&jK1{fW!Fz zXgbTTxT2-qVu8jR3GN=;-Q5Wi+}&M+d*h9}1_{9-Sa5fDcXxNVocEmDKcGMCvG%St zs^)wuT1C`nM5eHyXfVB~qILS0s-W6)`N&DLSj_v!;*-F-BJ3f?T++=rg|PT|0YB}8 zKLoWJB>OVuVy1{Vi^hEdn<4o{81lFAtJRTHrt=vs0M08Rjc}73HuiXzN3-xZRdrqU zA-V>ZT#toqYrSLFMa~4?CMpN5eBqmJZqX6K@bumAhy${4S}NL5=3Ww{<_dYRgYds_ zY*B?z*UgI_wj+d<2Bp*8kIKClZn{%o&;SFa$~(&FF{+P+nK=O6*%GyXq$hqoTRetI z{JDD4TPZ{s#A^0!aWfXXY{r1!g%ZAgl!rf9LRyHIUJI+RujS}mVaw5x$H}B&{>WKD zc`QVV(kUmn_^B!lfC_b!ArhY%MiYHQX|cE0S5yhZ?BrmsVI;w=yD8}o(m)M@no~ru zwl~aH-0fT89R4(Gsaj2k&?PsJ&;Pl7!M;Yz;&RAoO`n#!gV3TLEh)e|uWQxWFILFx zzS-|1i^a$qFm2@OI2);J=Q5cy9;V+;gk)pJE@D`Od3Du67bU$&Y%HRLzCUcO(3~^a zy;{DiPYqP9Z4FNFPy+1o>uf^}x*HH$e{o7Ip|NV2_qw7VgB|(^HMMz%MdmkN}zPEQQ0PBNuiIg zl7l*#uV4dsTnK)G@_qkd*g>MD1a_&%jc&5-gHm& z4=|l|5R}EwT;doiKLjhoF1Gha#xjrL)!2}`Xlsq*)!@xAWc-5JDcm@zSde&hVlxA^ z*xv{6LH&0yPkt{lzPrvYA=qXJE81LyOq7=oC<8S%wzq*bg`VLl~(#IK6bvpG3gEU$Z^{Svum>6iSN{nIV@CV z3kxJ}PU4vPgK@W6fa`@r20RuaeMkGc;lZ8f ziVq(wgo^sGG*(?xYufOTr98zTL_&ZtF?1me5*a>HS|Gz~j32lqUo+ZPT)3Ji(dp%1 zOUn{QPP^5PBo~W~`Y}B0M>A-2!0xx@Qk}Gx!%C=X=9<$?lkn+2311tcbMs)X7ZysX zI9~4-x}Oq}==Q5*kp5a@=JB6rtDF5XyR);Yovi>1M>47^mIluo$)XpnISE=!Ec7!5 zbGa_~h3oOv&Xxz4nblz|Nt?Q8*A^jqZ`F9|l{nm9{cY~vs=IXY)(9o<*WH7~ zMh}fkl2RExMkAEPu+11v zM*C<;e3tBx2-Faq6WI&SC^6D6W>kTXbCk9oju0x7(4>b&x(+osgwf*H+$eG&V&Kv- zU25(W4!KoU>mGVk$xtA*R&&)V-O8}rW-j}C|1h*R`eZ|Y^Fc*(XvueNjGuqf9|rm(8#KSd z#L7{cQ?A$($H!=F{gP`A-~So3meSIbr6WX&_B0iWP^qydR3>PN_5eGP?v-i%UEiMX zHja*I35F>A2#yV@9oH=C7=l7G!Qql#zivfIliEJ9E_kKLR*0bi#7p63QXj1Me- ziLJNFuC80(n}Z1lUZ!>qIXu&j(iXn^zV9^d?K^7yU$AI{3U%PaebveGAtmtcC9V2C zakgq`D0;_g_hSr<4rnmvs2N}K<#ylzJ>3T=gY5!h&i=#Ddpq&a*9WGJZAyih&1+@6 zi?lp^oT_uZs-J!_0Q$&vf^5Df+%W!LMY?ySI%rXY8>RT9$k3Hc&)PKMS<01nGR}#4 zi)Epf+YcD@)4Rs)%Hfhi<u6#)2hnPfQYC@#{ zF`4EN@ZV0p<#aMUFkKQl`+gEQ#cGaW?;31YfKc1s@9&pkWty7* zO-z_1fk|SXg`uZ2^&hSg9c~g0wTsSJ-aIJ`Ma152A-|+J^P~kn?lIZEP|8L1&6YJ^ zI2hjf|Mpy#2rtUt&lDx;JxWVOuvEn3hCv!Lq1*Xw$m|b~75;FIua5JSNfxh#`gFX= zPOHXdCG6Z8yagp~HcetqC+*PSxZ`M8_&<@&u$bg?=(oe~UtyNTr8ySo&b@un%bRLk z8ILtG`o{f)m@sqHWfIgyAV?9NTDw*YQ5FSw_Dlo@pfvW%;+^L1#mk+@l};G@R4l`MzlNYYqw> zoCN&%-e)a>*k=2GyAcW1P~pNPgX7_%`KuYCMq74$+nW`oYN*oy3m2W0SHJxUt0F|@ zo3WU_0tsEhm*tb|`*>XfmvWMQF&CO(_U*uF-v8r$)9eA8j#czF4^!-%x5`wP%8tX4 z%x9!o+8qhs!s3M+-)Rs;} zYn67pQjYz9#&n)KjP6DxSXaaqueiR@h#r%dm-i>nz0wd6lv|@$4TqL+1sy+tVRj|4 z<;WNLA(2GDMoF#mA8OE;81yuaC~=-dFObF;k)*o{Co?Drz>V#RpJOgGf<{Pgbb6cE zA#wWgw!-2b!?B_3Gf@&xQjUohOMJ;J1&;=Qvzwp4E;e8vOQif?Z!Jv`Ktf~g-5r;g zZ|XcG&&wv$V>ucs{I}jsNSL|*lZd>kldp3WuSpYRN|j@hV#*J|Es>s(%AE#Zh?0n_ zFs;jnN^eHX%kyD81}!es794;-4!Pe(@SLw$Xe-h`?fh$35QOTJAI>DsoWq9}uadre z`E_06$DfV=k>|y1P?oP4f0iq_2ibb#3NuQQoxjZNtKPy5YV{oI5+YDm0>TriS>psS zauIX8VmfIXn69@Rd++KTD>X_?8I#YVeFURmHkMJj<~6Q#Jlc+{)FwjC8Obs~YAxd84`$o?}{`}Vs&E01|kTM7|om{q#^CVlx3X# zE9Lp@iga!GQD^?s^*@kp@&j&P;t(-05#czZOzg2%i9ucBOaIs~MTe`>gPjh?%%Q=6 zLx@(AwB&d}rmR9zZ1`bnK_3)6_cPYS49bMfodjp4pRU7AZ)ft?nW zf6J3}FT-;0R{)ITB97y3;;6haw=NyJsq(+S-=#m4bTYkY?!?9N4-+*pRyjYR+tg5d zGPH?rO4W!X4BvAXrTgmd)w!=ZexVrWDFgf#&STw1{7C2{Nq5|p2z=|bLyK7lBO?RmjYtArVIVvnF=}nHp0j#LTF35Y+yr=Rae_i$+^LrR2|p?I z36v<2v8jE!$7J@EK{h~zP%8w9(?!aO{6y7>Tf(gJILa30XS_evXjaLvm@tj_&1)tXDSbRy3|-A9_~<0yiP;y zPEx|elWJ=%-0kG#{eR!R7zUE+AvjH=B~94Zz+iaTcGNegu@|FRhxMB5s+zVekMh1E2NAkr}>^NAdW;u>Tn3@YSl(Z4)QQg9J_yjefi+X)v2EN`Hvz&0XwVgbaUrqna_@BfE z4U{h89H-3UChZ%WmTiGdous7(bq=Zn3%g$TVal$3f9gpG>oTB6=*k{Wty|k_C4lha2G5`O;ak-Dd%%(2O*dJ`1%8p5wAV z>Z>SeQBJcfM8qCcQ4873H)zT-_GwasUhArB*4 zOwjvwP0t}dRfCCNi`_R{&#kr!k?sv8(_$vB9_n+=Q0k`+YX5B5i2=N1fA3yR!|G!}qElf4j!A`*W5irmN-6|}LQK>>lLt3qO zpj1vI9z+7uMsepUd@q&y)G9>VE!sWLMmR(L})%{23G2 z8Z{DsdGOpKsMfv&(mdra-qj|)jvUS}+)dl6W{u^Hm{k`xXy5mSa2xig576#dEiPy% zKQ^IHswt{3v=k;HL?b3#vzxq(1w**88 zb#K=6gucC#A~9e_<}s)1_wWb_!|hrG3b**A3X|3U82)emrxc7Nm8ah;#ZEW%Zl2SM zT_f%QvA@reH%T?hlNI_0?N-Q+DQ{4hCf`qKJ)|`5k8iGZvfJLuKK0ULXuYPd+gd*qKdv5}(v>{p@a8l_1?9a{JIq z2V?K$-eT-U%kRde!Y(=bst@B1u2HYthp@CGgTgn#LQatKDq1zrC-vZy)u|NE>20pZ zm%c$F{{k3vhb$y%N(oj97428OwGd-Iv==e1ro=k=oD?75pX_zdFvqOU_WvDqt3u`( zm-8Ehc7sKSTXj))XA@AD6E{h+#0EL5pm6P*!u-b_VonSkFx~RfE4xysIhNuY%#X!hHb6eIZG?EpAr)L{U16#8Qn3>9r{TB$ ze0Q=_XED%Wo)O=8Ns^9^y^2rqXF&bDTB0z)@Ow}c=#aWDJ$#!HFeC(oTnjF{a)Y5W z`Yt2e%Ys|+8I8&i6VU39h~?^zin>y#z&6-<%4oK!BdXtf!k*fNud<2o4J;yvg#Zr^ z_Fb4Nm51O*C)qVv@4F@wZuc&I<#}GU4ol0PV4{miE}&MivLf27fJmGg~Xv2F16!(6#N#+)nRct&R{mzOIukD4*c5B(3{7u zf1^bO6>2AL_>!kb)JkoZb{XNUPC_^IioqUaq<}^s+y!P z)~{R9lrv=1lfjYMNaS}zePF%9)V0~>!8U+}9%Z^P<=f2AKAF1dmol7|geFC4UY%TNDm5^5c5umh zZZ--4CM79@#gl(ViHmufgmo2SV*x4Q5ZXEZJw{SEH%GiMs@^OQf%G z+Tr;aUTyb12h81=+vp)n1bBQ)n?NNTS$xxGycJasM|_N~`GFmeIFhG7e(ga=?ZCeo z!xRIzo(94HN=PrvsJV=%DCockgr7>+gg}O9EGZ)3ZOxtaO1P*lXcaB{Nn$4UY%R_eppq(ssT24Ogd~hf_YAOO8iY9G z|J|;xku#ST=C6j>y5IPD;=S;yqcKS&N%P+gt?^zHc_xPQQxwQ!$5U!o2EyT}R`&GF z*SA6-$I0mTiwb>(>;N#Q;e*fLaB>YM*naYQcf#e(A$z60dJH;bTFCN{Viu%DQ2b?Q z1i3=#!fl#A6u>!)ah|L$t_zlYqbAKMqgfdcD!ix)c74vknDmCoJtbT^owQk+7LF@# z=&cXtpTXXiK9)1C*b1+X_Mlv1C9P>x;T~h>qhcWH@wBsUFli?OOS<8~kr4;%`NQ}l z>4A{M5*3IvS@0ch^5Aq(p{eL}I+|fe$eQJ~8-NC_Uc2kzuq2RT~ z%l0hO3_Dw%#iAw#zmqBFIdT#VaGLi>Q>SL%aQ`FR&z}n-%kTWmU@bn2ae@YZ^M*M1 z^uKKBfe%u@;wOZ0y8Ze$<0Ek4W4u$WsH!T6md-4i>`~2I(6GQYbtjZw<}c|UCWkXL z7JeBos#-iI-Y&P9s4&Gz?9wmHCr0&{kJV=BOj5LAR;-Tzo74E$rh65U{UcF zi2IZ19PiOm*eR?sxs4I88KWX zd3*g3x4z6JD$j2sywzwEJy@i5ls8L5HpO5#<;%cPpU-hPcgL#Wn;HxiB4koXTqn;c zF8@naPvEq%c!j)LdIH%m;7WR?dycAwwn5?B_TZp#ASsOKXuI8LdyKzv%^eqk$`#M+ zcc}qm+lLZ=QI~rlic^!h;3+d^a;*2OHcw|4VT}K#Q566a`ri;xdZ;Tc5m!U6jY3&@XMk|cfH-$`a z{GmJ3T!0ubUb?2~%EV2{_jdxD-|@VZ-o?4bd!!ftz#c>EEP}FD<-EfK)HgFL%ceHT z?HTea4f4flu2@9kqyBs-0rs*K)?8w?u1cDPZG_=o#3g4@f3&t{3|u>}g(wrQmR3*T zBU+m}NDDbFeg!@S)NjWD+IGB=l@H z3l$u?@dIF3HWA4h&2hNhHXXO=tp8C_PuYtwNE+RJIbRnDk5KiYNSfVng11AuAwp&G zt2;)yXL(vVZFM(;W!b|6`KVn?Q7l-ZWlNj0Q**k?pM%-DN5 zvd_UoPSl8G)0Sy)teRd;y#bgAmxp!QQ-{QJtTIYxp3ag%wfFZ~Gt#crx@(I^m3B;_ z4B07w$I2 z9G4Rad9e^GSU!h?F%nT&PPWi>XF-~bT$4FtSS?F&SPsdEIMAB>IG$BW6PusODY+Ln zrW?!TNVSV&ELifoH#w2kihoPR%?qKH>7p%AFZHCE3sMbJJip~&eSpySP)%y?JLY}j z;d2iE>0s^O#E+22U&<}&R~L@?B_<(<@072zi4*2<8-Y*kmy_5n#+*}!>eN5f64VLt z0jpG_sxo4PkU2!`YZl?2j^t^N1cV4*l|;PuLusgu{(Teq7MYg4Cwnf{_R#q;Qr#jq zVmKW1El%#ZE#9$wO%L}?0WFON${0V+bZaH$t3WXxniIo<8Cha-^$1ihq*{5Fi#T`; zl^Nb4dF~esXxk&`3`Z%`{F~)0l_{(MDCT8(ITHN%1@|~@G3tk0j|Xo!3&b~5gcKu! ze(yN7er~Y)*4y+NMhB$)JUS*F@$MVL7nwf;p4F-tf8JI5F_a7Fu?YKrw zpnoL_vsF*>986&edA53n@M3xRO+jiDr6aA&ncH|DHL!EiZyEHi3k}5<$$q*jbn1;N zzO{!FR6x+T`5=E9{U98{+Qo-s@jZID{ZAV3iG>_buMyPnJ>-=<63m4E*5aoDa~uc( z?G=62sF8R2_=76(%iVqKu?#AOr&9dTFd0HFA5!W0p3B$7<6vp_^I#x9DCa71ZEX!0 zo}Ntt8*P$KdE|P}OtsU4ix?t*I%X=6DG_Sx-@C{NVn#^|LgqeAz>f*gRjstsVqyHj zdbZEziMq2u{Pe~o4=OXRA$u@xfZ52r98No_=~i@Ga=+4&A3jh$u-Yd0i{%`-LrHad zD(l*sV=!TdbxW%lDZXs~r+k7$CDwfz+-*~++_|!&weH^kIFo82!E(#`${{?-K8F~1 zrChb}gDRg$AH7uph0!RK^!=V?hdv(U>!p<2wf-&sW!Ol2z#%#fgQfGHW%C_Xmfa)9 zKs$~WYL4_%5lw5rB{nAcAffZgS-Kq*^mMz6W*iIo&I&JX-6cD3pr3~Vy3JdRf zF(iHVp?c9ESps$tN#-;6HmSFPTBm`8`Yjr7~``3iMBu!9Ru@D2;k*yXL3}XIcKd1cg5kh^3bHt!q z&+JzqgW56jo^GfkjvcU27_=H{!k!MU2n%SnVB9y0A}um7y?gnojEDL5CH>MyhLy(t zfe=E1W?5&cR;R0RW#|FjW=}cjp8tp3+SpH&v~)4C%zrg_B#hzWuSkr$jYTy2jD2`(yJo|=+JzM2WfaV_aMkKwm)Qwm;lYYRQ!{-wY^9l8OXwpk_LbH5HQlPgkB{Q|8`6!yV#0M`)qfxrX4f<>lp)(3E%AR%&^{0-7Hmi4-H0Wlc5^jik^LfX`W0bBR5}GfBn+jVwH^Slf)`7GbnxO5;&bJ zAeNCHYX^>AySad&Bi4^5&D&E8?y;W6HF|d0hFyRM-f1qRg$01azTF)zp|QpMX!<-7 zI+S_(RFeIVITW~)%Yo}X#wHXZ?dwN=6eF-)gdfxj?c0^7;SbucK@@vjVrd7l7tylM z^no#J!BWf_&b|aka%_dixy88iHaOo ztBkyX3?SrZ$VwLEhm#$%`m|qqA z9HCMIe3*gbnm`(;Z(`Vey9fr~ zgF^EC!}>Ab%*>2$+4=UfJ;bnrS|e z;3pF;KNlDzE|?TYTsz+Uz>nXorcfO+wZ&XUq+hZ+hJmU+tl zmWlS`)H8F0jTUG?MmFazbR7Sin|m1V?87kT-ABBNrg6`K zJvvaC63NMf^vSC_snol^s>&g)>)1RC#&`3?;A3F`Sbfa8I^qwkcq61qC3_y9`--2K zy6UIsWnR!B>3P%KcqXXBrbDGdKa4AhdP_=GKE{Fm_QhuaGRbU&h15JD2G*GAq!{d+T z0a=0k+Y*9RJEzH4vd-`Yn&f_>F{#Iqu=uV~1@n>$%5)=yrBG)1yvEC(` zET6dMj0)*xLTYO-_C>4@_WQJxJuk6dQc3>9?Kjw>Y;d@YD*!5eZum{RLS{L3o084t zB38D~m)5ALqdCpjXlbV#gv97^?D0 zAf5bL2wCOw(UEpap22>oYEVIH0FeW#2QJBwP(3{WS=o zSPvJsQZYY%6xI9z1Le;So?(ARJa^N);jhpnXmYzk)jlRq8tOeVr z6{1h2o7mBBi@1AYn%R3{DUlFW3lQd>0kG#PGYQCVbCFq-%b{^!|7lxjkou_BTy3I= z{0lCxJElWskp+`=krIxXkG<8B_XY|X`**zBtg$|ZfYKAgBPhAx)ZbN#fc@Lb?Id#z-jJO2tY2Ih z*ju<+ixI{ISl(8#rk}RpTsm#4*+no9-e6fpX!xtp{xBFtQZKlneEQ?gbxBwLunqc_ zP1JM;P5hXtWPx?X`Ury7j^!Z2ePDzv^l0_LCGEK)3 zkbRWmgKs-JnJIejo{6u^`>MXW7LX>faHdfGtf?V_mkL5ZVF@6j$E;S(QPdOzB^ha` zm`PXf`_kvkH|aMbisjizLo^GFk{Cm%wM%_ajvw(`kh zrLRtMz1Y^py|?8D_o3hqc+#$u+xa*+UW0OSL`G>iD$HTlZ*m@hN(B$UH4T}gK5Rz6 zO}`f?uw>iDw9$95$l`_92nd1 zuS7{bXxp)S8^wcAq6!%UNRndXVeg%y&d?yMus0SQ+5&F0u|A={NDx?oj{1YVcOCi7@5ytqfejsXfavJx+m^~ZQa}$KE|NI! zoXVGLg5l8#w~>!%z>AWn+YCduq(hNPVA2 z_q{EroLFXyKj@h(wyN7V#cdd=bOpH1JV1nbppZZf$r$aDf5_ou()`?-a(qTR-3h(F ztp-z56+wJA`YS=)J5eN{Xb{pI+JRJf-fk4-Twe|~;J(Ngrn<6=PVe~Qd$n(brDvlo zj%nCX-QkV$2afRxSN#Thn{z#BKpm;_=}XWn%OM)N&#kWc1a_@I%d`U2RZ#<}`h}Dh zOV4v#6NFgrab-3+~+3auOt}%XkRvGvMj{9aSo8`Lo(qG)KNXY zS^*uIQu3P}Rzt~=x!qGD z)A!?@dPo>`SA;NJR&Yqi!Ib{?^Zfvx`c6uNw6l{M0c5=IIXa8>A?pjnxe{GVa>Wuv z+WrF?DW{D)2LpRX0#2>#(?Ic$ zKoswg`a;?h{DzSR$wG6VZmzBSo{RT@9Iji9zrWRsX!5#`kX-+Sq|b5d_jIad)`EZSUS1?7$zGH|`?FJxmvb&*y|cS}*{3P(gTDRr*ktML z!eNxbT+MjW!I#*4u@mOh466KG8aDt;o96&aE7~a5!ecMWW<_ht1RolM0n>Y^#L(tH zOLXs1u%h}QK{KUw6JvMyrR(4QJ1D&_GEZ8G+NZ9UZ3BNHi< z?Gpz>$_3udn)&aqDHbeq>ccx{XSX(n4_rPz^Ow6PmkT8ZOMtMPs-q|ymtzio7r%gE zxHk1Rs7z<^WXu?l>yRwI{Gk_Cr=P%eXNxgGU+8V`D645l$pF>{dT%1P2m}kC&Rb)v z2TdSWIwRTEB#A>1UKC-rBq*i_W0cGgKnEA=rD8RrMU;z$2qG3%e}@Jw0Lvw*N#!ML z%W2(IJMue#jF~dyR7Q2ze3>URaC7F^ivF8*85c2IMqNCkUX)3-oc8DXG}H|7-@CXi znZm+K9$D-78cgWR&Ju=3fV^26Xb&o_Z|GyH^whBXx^Uvec1&{EHTv}ArILei>x=z< z*Qma=lJ0tyl~l;ijeXwuCpHcksfE?^y{HhpXuC>6a7rc@+ak8yX-YnA=DLIcwKAy* zYR6eOQJl*;kzYF&95FfYpNby^(!2j5o%?nW`SF=eWmgA9kxVBCB&VQ3%2?DfFUixz{=PV4uMRsv)^uVHVsMSeToy zj}J|BNA(#>Xqsh!%O!qjMiM{j3@R^woZS+VFWVEwIZ3`Cv+xLti=yA(F9lJGX6p03 z5N3Md(WE&=spxI%&098u5UoLR8>mi??Vbm68O3+_2n}|vjVkG{XN3z^?a6V%;yA3i zdp&Me74zDg-=07`it6UF2IXqq8oyjyT=pI`b$$cr8KHoOWb@X>U0}miv>^NFOmmvp z?0xxW-SdExpKu5KJSQao#DR~70(Yq6yhTDf;v`*THZ{FJGV}`Ijrn}sfNJiAGd1Fm znoN|;@n$@knoE!DDE{Nz?xG&*3{V&tQWFDik0oi@x>OI1$sq~0pgO8mQ4Jxl!^y*3 ztf)S5;(GPt$=1luV{t=Q@ZLW+nPnpQyKZGDzq3pxp(%O@%d2VkUe2)|Asi_ z090)*lrc}I5g*pR?|YQ^fQ|h%F8{M)U&jwdwx~_VvFnO*gqFWZJyZJrN2a~IshbJR zob{dqAo%ru?;@r_7){d)kVn^!))ur*p--T-e}i-I(0@mURFO?1)}Ijen?M!RvtKuk zH`O4;iw1lS?j`RpIJ5 zP&+$P<1Sf&A0{gU05M~>2&<1rpUt2S0Uyt8>zqKIu^x5J)Ow!C&IIz#7SYiNl2q~O z0C;|z;I5n|$$jU0vG$9Uy_HPn?BRs)rrP;gs?P|XeaOo1I6t|O%DDZ|`vwcj!^aYD zc6-pjVlb@HX>Gjk&dwh0Q6Ef_(|rllwmY5bGk(7T^QTbsTd6zGXgz(0w=!(LHHl?= zs;tmy?B~tU`t~;OP6H(u0kJW`e=(w-)Q{mO7lT)|5PW4fN-P@W+Z$cQAhd?53D`MU70&vTj-q3|CtZ=x;J3PzP;dLsSb2m^vV$_Uu-vHb9U+!OgGuYlQV{cPUJvUXnk&va?fD>f zbF+3US@j>ZP7!V5#NT5wDL?n#jIBIZoub1N+;~HD2OFE83K?tjq>(o@q%c``mgH)O zTNqOl!qRjYpOMq$H$KcApSa1YzY`s*CvXRleMhS#j&!(c9Wn^ndfd@z*1vJbf)vEU z!a`x{idaZ}9L(x(vnmY&F=Iadj`0^Qr+8d@m77yJ%Fsg7%mk3|;D{SJMUCF?sQjG; zZj=4Q~-fDx01#U-%CE84rM@2w{kna3T^p8Xh^EaBGnW@w&x=5`gy`1$o z7;Ug#itN-DA<39qLH}(H=BBS%>qewYEhGYsdC~`a5z8jNS_|eUie4R&{6t<^nyNts zF3TY3iq3v^BA9tN)qM$jw?3-n(Wq2g)3us3)stABSP1{#ZX_#ObR2t`OrZ1#{7GWN zD3(|z{``q|UqZe*ytb(YdYP^*Q(Cz>ckG#j^&aI8^rN)mZZBql$gCv(QwmG~t8NQ= zv1Xwb)dZl*Af$7rA<+W-cPd7W9sY}L#RUfH6eyE)r~UOd@5Cw&F4}23!q4bs27Z8; zm>5Q^suu&<*+i|R#zL0E*7Z+ytxCg&s9Dkv&t6l5`!_dY(cll3ij-eZiR8kC!-$a* zCwS*e_`V%fMt^iDkkBip(ch9L6cl1w%^WXnS?d084KqA&vn9RXcnc|gk6MP_?6R`R zUM@l7x^U))6Nm3?Lt@f}m~N{}gY8m*iGfOh#h&V>IVAeS3^S*^qI{Es``R!yOQ~%X zHz-X$g>Lbd+{=?Ncqx?x#lH+Ce|ys5jUVARlPTd%6urzV(Sv-qTB921bBTn=u9(YM zulQL^TboX7gIa*OI?O+U!2Epq3w(S*h6|GTheB(=zRdPH_bX3kNsg1iVJs$SubRr`Q*CNv1VVFK9-s6HKIxTlmHB zv?goz$^eHFvaKvT0|i{{@b@P&>qCvwvBV^bQ2SPwI`4|L2Tj#g@@MXPfWGX&?TXP3 zd(yB?4NdbGAZdhXqwca?jn+>BHJe4m$X_rQ`$%LPGi-mYGzlEGf6*k3do{!gYBac8 z%*0v4V57C-MvLq1cz$`2qA$D0ZX$SRhHjtu>9K8NVV)EyZ{EQ_inZdxntmHTUy=FB z!M0mwzCZJ}3m~cYI(@zq;36aSOgwmMyUqu_q>VD_0ifliS5vPZj47{RDNyQ{ylxvm zVN42@@Sp zpFS7+E|%8&=5m@GxeUw(h|ZYx_{a+g67$R%xpjnw)CYmn52*ohZ>%A(jVzmuyD)#0 z$44uG;o5ex=Km%JP0K$zJ9@%#k%+qxf8%wq1!kuehydSZ6|ea2!3HUODHeK(-P;e9!{_#x8(*NMj;WgIoHo^TtZ zrAK=)RH;!~=3ixk{c$%`k#*-_N}m+JS*4+-W5rq2y$Oj+Z9Rc{gy5qDWI?A5NfZ|9 zbf3|-lveWW8-^?UjrbQBg@_)LJ3hdm1^~2q zbwSoop@+-*Bi9R#wdjg_J+wnisMeA=`C5J&xgZ))c$!5)?xgnc!2VuTJD=S_xc z=4Q@)Wa{LTn%#tf`AKq>I(RBL{)CPWucf$}`?;}1AV0)Z=rY^n)q=f{Bh^woF*1wZ zjGsG3HPdH zGXK%Op7*}p*~`@Xg|e!hPOG>%PaXfQaL2StB7E0v^z+j-Lti6qMeWo<;@+lf@J^IM z&lL3dR+#O4i}%Uja^pgR1cukrk>gpfhYsS1;{yf99>)G9del0Y+a{E$Sp(<0KZQ=B1Mj$lQ6Cf)ON#pG3Rc373CH%FF68d-6dKv!Qprb;drb~ zm%5{2>tPf-7Nh?@Dzybz+w2$JujrmdlL#gXbNw&4=i@GqA7z;rV~vxi7`1>-rRDy- zvAywWuW;vcQJTg-4JCr}VpL(&387%+AdD-(y%>cd8A@-p*^Htv-74Q&vmMSfTlJx5 zyQ`E~8C5*qD}GfJ=DUre8<3(p^R9iIRQbPoYZMH9s5A0s41qMuo8xYq5I(aG>cB^&RjjmRphHTs@x7Yjn%T-cr}9uMQ^V>MbnQv%-*l^`Gy)nc-05ybB@8Rbf%*h@)lVaMS^|$q`&&%Q z5``tyZfScFnTdxSAWFEzIH>92k(G)novLjD1t|y!ejOQc5jCAT=n?A{tD@;C25zh; zM55U;9N@x;Emu0O%1w@nx?W_LZF)3O!TquV0XeJ1Wt)6IUz%)1rt$Y^kAeBt3<)9p zFg|deEj_CVH+gnLu31JG;*^%506Vmzs@q#^C_3X+N!K#Db*lr)?_#FBr8XQy5949PSkCb;a#)id7cw*It4WOJ?FM#Ft1Q_>@rDcT7a7 z#07Gsomez{nKG`-oG5TGk*>0B zSJAx*$rq*l*PZH<{`C}ORU3X@5kGXWW4^1Lxd=<-;$TD8j z0i@^b8Bp^RE|^kqt!D+7KSG3<-|^AWY+}A5n;PwQ0uLYmr06`*N3bqd5V^L1b+EQu zl7az$lM6px4+*^&HbM@<>AKOFRjV-*CCFOu&m>fqLTwlguWXHIK`ZeN=;YUv&&NlR zz}Q}qg6yp7r}zPk6RzNNjxbu}x?x~`viTW!=#w9J`4%5PjYwJGI5VoCSn$hHi&N(j z@8W@zrNTC4moIA9iR&qcBE@0s`nY)q@VhQ=N0a`D2(^5X#FrXL%76c5JQa-a%4NQ$ zRBt!+<1m^;I7=Mf2%H)W`4dA0q<}Q4!R&a$iQ8j~>aYl2(kYEzMa*xCN`F)ApZ3j3 z#b>}o5O-#$)&1GMLKN2F9!s#4Lb>NyoK!XUx=!-D{NR~%RCEazADm;`+jbx3vrh20 z+?Z(q(T6=!ngkJP)oa;A%DxeQmu8u<*VMT(llm=X5l!Sf)u7rLdF6?J>G#RF9$n3& zPqFw0fFq4mXMU^CwSM`fn@zplfDY|dVM1<&uGPmgCiC(zDu_y?&8eB z$<|}1$v%@juP~oSFv@S9`C01sZYBl>oL|lm&VK{2X$$$?$Ovg*jY{dE z?{1Oojfw~vl5~g{+6aZxzyY7RqEYhXl<74sw~Q!@qiwA^n=U9o!mlA;uPpRwU7rmj z%rE85miH`Aer3ePG|vZ@8;p{~=BwPxZZ?@hkuf|aPHu|t1op%ze=f3nMF)0CawzFWKtSnk5fJH61f-yvBFZcN=X;>ZvVmb}FJ{!sRO*!>s&YCY2Gb81XOVRuyzfHndzVir;K zXehJ9yM9_>TUuJ$m7<{Bnf3IFKXSgYMo;wll>2*r9;ed=s6sKW4(__3Q_L;P2*%in z#9ipGQOeDSvp<)GoP%`z)tX;;+1JG*6Wdn9*k|K}TyojfGjb3$M#c!yQ|z3P;3Ja(3WhXjpjU`zC6i8KlD_ zE%^JX3K=rE5!lbI)1UmIwe~cH%u$5ge|qgzq)@j5#V5<48CGQ2$vt7benx|n`N2Ln zCQ|N{(1m%4be`Har5GW5JH!jhzre=&|x1chf>P(N$KpYrHtXPd%!#CLAgoI6CF&F)O!9WAJF$a135jRaH*WdJ2z(iOU^PrwyOghbJh8 z@aGkK7{b}q0{YpjZ%BRhI?L26^v}l~4IUVdJ3o|CPfai*Re})Vf#A;)zan7pFk`0Z z8EQDS=FeAz)X3e&!?ap*67rb1`c)ssFg`oItkF2H-FA6}NJo4 z7~y-(2cALZZgA{@b-05ZXVVkrWDlLx5{BP)f>%#&bG1{F}V@!dW%pV2y5 zSc1?hZu|w;x5&h~VB%%!%wXrAMS?2(MZ`e*pNTkNv&bLI+RtXq8S=C1=BWGOI*#o^J&(P`2VHNs&b;ED&<=Yn_>W!`gJp$>DEKj}FQ_X9Zp=CI zg@ZEGdO2Zp;YU6o88&ew-wZnu2?seeo^-y*rqphndnb?8;nWY9gwvb8ieI8m+#Bgq z*p_^?Aejmz*@*mpDljReL@gTvR2AbLn&6I%ZjYnI#@!GpDbd%N7U$hP-wQr9^lM4G zqWGUE85p47Vv$&d?lGo%t{)Xru445rElg{)`N;6=lfDDkX{R)* z9N3PMt5&m}#1^@UjtD=>cijeDiq%}}wM7t|KM+3oVV@XYYVw+FV%THvRqiA;Ic#N) zNvicNU^9&!^tHC9txrE6&0Zc!K^oFV_Dq##@9h1>)4NYqDf+74su~GONxLV4c8=U= zaIOrsK^2+)S7orkL_`~-D7qzeRy#_QH3_g2t~m{}yymo`6Ph~juo#w($Sq4K_NQyd zcU1*8nKqwZrqI+~L!cK{q{*MZ3%rGk@wVbL# zh`CyTAAq^~DgblbF(f&B=dx<45!~tNsdVRgjqSqq!P>@Vg9eUGNW0h_h#l=5Y>zHHu*mp@&4`7+zpP_+1wI**pwSZ8~0D3`Ib%DHA& z9d$n1Kds2F#YL$X-&`hGjr2y`n49?E>FWBCNwuFvb>g+<3$oWUQtl62F(W{tR@`z zBBMK3Z|6`a!!nKrk?jb##Jp?T>uTDGpC+X=mA!m_L8Zz< zPCT}aPV+%&&bUDt_j)HtI%|2T5BJHv9+_)9oy+fAd)(Jo@fuB3Lc7Nvcn2>(doEc` z|Lm5|6Ry7ZDHnZYF&fEG1=6`7Un}J#gNQ@5A&HJ6;7Vb_%HvGyRiZReapT0(rkscK z?PSG$VHefe+`lFRk3jT)u9sv%VuIFKf+(U<*LPmOvxV@KAB}IL650y}T4l7hADW34 zzB&B@swm$V)t^v#8$R7x$RD5u>&@=&U;4K_FdZB;JB>*c{aOTn+b%|JY4t;1x`5|8c1z0J1xb&{e$(te9Lb@;euZ3+#AfiaH){&bf< z?GV7i5>GkqORtQNK;1S7XG#S`0XCC7SLfWjoV105-Bdo;8@$3hAg~6ApU9xE?hKP- z_pa$=CW=x8K?tsg<@>twhy*W;XRcVSQ|1=gWKb!ouhbJ9(`%O}`Q_??+Q$8VyWQv{ zdm3WT$G$id5WXaFx~1WLApiK$Er2^}#PLPSKB`B@;auw6qDa*JJ83kPH(x{yAC++B z!qBJoFVD6o7zetT7}e=Uz|Dx>mK4wY(iOuD0sAO&_-oQ^U%jB@SdI@^>Wn0t5l)%B z-lSgPYIB;q;-dwVy7=yM@BuK)Oh|c>2!rxFPXyFWO26x`bG=t}1;^?MX?mTyP^3b= z=AMyObWmtxV<+p(R*4pSW&J--2jU2}3BZiOYbX^gqX-|R;l{$Bv5#s5_M^%VBt6OQ zKgT4Wm5`n?S?>*W)c9#Vo>>TJZJ8=!D=fxS> zX^=%qHl6Z(s4EJjI;h(gjjldZ7wwS#T=S8=n-&QbqjaFv?*+Ou3usm|eULI0o|G3y z}3IWqn@wp%&OPA@2xE@tv8$Z>R|~<887r0Ht|bR6GdC?Jrp#mlhH}0c44xLG(4VrG*l4;A#b4gUGYPvK}5Au8Kv~Yt8~1$oin8(xnorxbNTYHA78`Q3s%~6 zTL*zu(uoXX<-c|IRyc^#S4b2cprQI2F+NTr^( zh7$8=7FX9_^-ke!Kh+G+MXvBX+i8=>X8t!Pgb8UDREUyQD=cdhFVEL2XC6qUxxhc! z4zeU4^vw*^^^Azk;47SBHr*sP_H47n$!>Tb1FYzI?^y8M;8A+pG6?iTjI!*J8o{ah z#TO7<_|N`hbck9J`OQnE@sK$`CN%3r1#(7F0YU5hFZHNZNx`XnRY{~3EB~yNAf#t$ z4Xq;e($Y#SBq3KQ&FM#OyJ0#;dV6(NtjCm_ZIml>AKr8ID2l=Q`CyYTaq2T%7?8V) zzgH&kFUko?*j`3%t?CE#r7|baxVPD8#FXFHRlZG{JigdZ&c0l~g16|X*r>ZmZfTOy z()h;ODS@&RVllvKdOW{mY9pQIK_Qjrj9r);DdWFZI;*uBOE*qAbmN~!4(Pxdq;bL} zD7->+Rma+&{a;V^tc}h{BPGDjH;_{4KkD6FU#G|MtudIq7{#hTHiWa6R0KkmT{A=#(SBtSsTFuvpUAv#GCg$(G)M+SM%?P!i_ZM{Z;d+8k%R;ZcNBBuL<5HW(2hYEVH`hx*ymDZldMhxo=xv7Cbw1`(<6At=;Aa0xo5(mnp% zeiccVrcOV-=%qA1wkIRH5s%l;7Cq>sVvi}8K9q_>MiFmE&6naEX@&>$#Ik!^?}hEN zSX$gyuMNEyEAtwCj%VKrkE|~qxS3(A;}X>7+af2;m#nK_k5f2VM_Vo zQ*Mf>Z6rY?`-?BuGfnK8DX8tsP1kaF56i;XwgSnQvFf?_#~)sI34-F!6i*uISjdjy zZsH0d^1G7wBTqxNd!Hp~Ykm-)39)myqQ0ZGkezO+W>2CRjJCROcrFR+ZTMW9_ULr# z+96D7@l}>oqMQSlMzUpNJjjR2yjW~E9QsC2`xsluahOLoOg{_djKRL}nvCin5CeDb zk8t_Hqq{Rg!*L?B#8VHED=dTPRWd1D`@8XED6Wv@c%kurb$9Y$(M;1Oin5_!6*PM_ zg8&+aD56wa{I|4OdlVEI`TZ0rSRhQ#SKPlDF(GM>_i_&#{L28=_KIb~uQ^+o`5@-y z#ul?kimw6*0yUb+ai$H{qw?biIY6mGUJtJFjOQ|e2L2HGp{kKwdf5%oPfX3uzKz^Q zV`JJ#qt;-4*{Op|L)Q7geF%g1azW%<`L0gqD=1by_musDwQ)MU|& z87DP|_yw&kqw#WjJ^v>AEk)r2@O$Ig4fPwg;`D=_u~=&dy^zU)KSl)#Qbtzg7cgM| zV~3Vv1D`S8yvw&yv$3P9CV#%A&Gz+>8a-x4U|ug`dy}*M3rFB)ovti&J!(fH1hES5 zLDdz3#`*4+aM){fBx&-p!uaecTYUEv5af<_`wb9~feCvrU1!1v~1QoAzVn8yV8NjzrWg{s;S3DJit zz~#8Pw>^5i9Fa0T4V|l&*2S+;C)-k0$~0<(1%KVFpF4YHTy-+Be#?eqO83+0$%1B| z!A@$oMS!buvNGTG=$EDtQM9u?bs%(VfvL{gCj3OJz+yXW_rjn3Y&4-?ZyB<9;C#J< zHgtd|%Jh&PeGEhZjKT`2?Ql=yw}z7nE;Dja-kx37r+K`}D9^ZI^H9_Z2`i%J82(|v@cK-+{W-Js-jZG|`M*d~5NZ2l$bExX zgc;P?*Jx{^eoK{>?b+rv%(`ip6-xS}BiS=NRh#sOD}!EjI;TEywPC&%leIR*w`Q%! z8=@tG6uDXO)cR}u8C6U5#!;X)9uu@(oCnzcG{7p3iHWJ{9P?4*>={jE!j3(Ibc;37 zpUs?I-DS%(zN&+p%8!r1MIk$Y?w~DOa^DH7;@R5t<&}R@JQ=teA`IDFozn^%b;6PU zBokbR@e%cmG&?6*cKmeMEVmo1{DxZ-&_V82Nz&p+9UOsDfge`fbH`XAD~9Xs4tDR% zdcw3l<%#{(nZO4LAB~=vL#^?izTCN|%crK6cIE#jYq%*Q3E(~5TbLC{gks9lOCMkK z9+=KBU9JVF{kzSMH6+w-U~~j9uY2~aJA>&IeWcH&ms-9zgh_g!W#j_6^UYF@ZS(qD z6W-csFrXcKaq|xUw1WbP_9HM|CD7b_HlL8wJW(jKBx2s?Tx(Fr!_>!(V^wp}&IbQu zI5JExaQO#W47VlYc=wkRW@~L*k5@N;%LdUsNRZ!mV|ex*PDT4FY6{72{w~Ds#27J? z9ED5f9cSUB4q4^%od5$%dL)r;(d_fow=O$OgPmx=>zrav{d`n#Z5XJ|;lalGC2kBF zsw%e>U9tJq!qx3{Z8hAV&VDrQwE+wqy{4jNtN=@;rY00{1F0zL-s_H*!Hug|)D99J zU6(x#knH(&+Us@id*MY{tYlJc+^K!Jy2EbL*^X{w1C1e{nbSm>J+Z|gZB7_3zNx1n z>F$e*Jk9&iH$MIIU*PHoiu9t{zfQnHG9^b3x?}?Ng*8|~qA84_W5Eb7P{k@A?44$RkQH>J7Anx5WUpegmCYfj-_&E!s3;pTH=0*Nz(U`H4bB(vJ~(im-2c{ zjTZaREG1VqUBy~UsswAuQ);8QmD+jV7X>eDo0p&!y5w@7jO=phLvT>{X~DV?ixj|2 zMPq%;!aGOuDy_Kb@81p7q|3SMVC(E93g*A=vXpkBnsw>Zx#U0Lj?bJjFdjSq-euQp zLgEEHI%X1S&~JJh@~xT|Da@mH={HGX(5~zs=)I4@7n=Vvz-HJICyrWTO+(cw{b$>9=p<0FNp_WXpAK#keQR>k(<*8f zC&nL(P$a3BNccd_dQ<~0io+9nmDaMdh|87U)YkY;>vdrJuDV=2 z*{6#>Z-K=kz8U;`HedEOtQ&#ah8B%4H&mv(qb`b#bZgV;Ja>!z@!vuX;*HgCf-Mz( zZ=ntw4-+;_l3>|e7PQ+(A?Pj;uICT)(yEjoJx3I@xiyKR>&vDU`Ft#j?}mN1WWGEh z)~QXoAxO%BuV5PP>}|)z#q4cHH!sY^735TCnR?P=x(@R$`ESHxp$y>0rzg!C!(MAu zYD8J=uoDyr2!}|Baw78~<8IEn;`)VLU#1Nq(HOysmvE1bRTTu|!NJb;Rb~ijbRqS( z{QjdY^^=D%*!4V7G09DwZ85uY;W%R7a0HY5uR|f@?3$s#a-!L1U&zIH3M2Mt;bdHI zt;F@Vq|OkT5zJqe3ajUE{7qSGer>l@0$T9e<2;fZh*iRukA_SsT;b?H_r z`#sNCZnCxbSbg~7P`+}(`rnrOc7mXairx&%#(qcM(NzJTLT#@?X=L3~cXl(TNLF!{ zoKG=LiQYR$LEsjiJ=uWM1=;=(Aq8Br0WayXS9#r0WvSc zp3v*4v=ds-RKEQXM7q<#a@h8hua6qO`)J`Z!w?J*3wogQo7~-RuB@F=e{SBXX!-LI zi;F=hy8YLEVDu;$wbsmv0`ayXUn5^_dS=I&(*|sMZno-EW828!zn)YsDZTGfCw|}r z#!!D8998J@&`(dhB^m#hgS@6iF#Z~z8g%|J@U*>heQJUe14$Cy;+~&mTHwp2pRZnJ z+`CXcfz^iC3@K@|yLa1gc#-+g84}|y5@vWCrd z%hWRa#BXm|Lb>*@0pgG~S{Axx$;GXn_TUCDoohw~?vL=u80$6LJh%&!tIkYe*?7kR zm)DgYNkgL?Ij;&sa`GCk%&Vd(5RHG zn1lQ`q$Ky#Ew&PK@tm|ssHG()47uLVu|7`NG*jD%PP3R~8v;>9I|*Vg;kuZBnW#V( zE}bHA<1Hg!(-Ns(kj4%m%N(y7XZl$9$Pmzm zf2%mD(sg0o&$+xQhDGu^H&Vv6%YVL#KNs(mzs6vwWx6IT zm3rYh9dx?uR<5|uu9G^J(AVM~h6QU(7!NZ|<-Ha^u>JYfEsn>G)Rt~9x@PDB9uh3zA$t1S5yQQ68~(~ zn_U6X0_ul)oISurbLHP|F)CVIdFO0y`e0-!y%aYu>!)wnPd~nWZMOFQ%NvT0nv72e z-1#}!LJBhPLoVO zec_mn!*YneH^z6d-M;Dt`dNuqLief|H2$J&=9Z?(@9*7 zso(A(^zGXR$m@Y3Y1P!Aw#6r4S!UGyttgkUP_A;3A;b7?$$Y5%Zu{Yu3|KW0eB+N= zA?zfs1V)!VF}03{D(vsuXN6`q!89@beG|$5eCKPa4pOyJya1`xybUba+^*O_KGYfAen}pK4tLjEo*adiANrJ6 zzDads`P<< zmUgyrU^=FzeDmzkAu2jv9T@Jqda>bmCUJoRcu=xi1ukxsnQ}Dh_0D)UYXW%A+1esM z%N!b<%+FC1Jdw9bD}zWJy5Tun{KxRAR2z>W2jR6}_cv1=F^R@tGBPld@ki>EVev+- z5K?~FiIL=vHdduQO%4E4*8ai#m~<>jQWZ=JkNuqDEPrX3lm4l2ylV1XEmvC3_{R)7 z9Y);5!aG@h|GnqLNFuUas5nZwiP9&M(qq@F^>~RqsicfG(1@L^L9B^JS`@6{AbF-R z6UP($hb=}<#kY_3qPkL`;4sb2CBw|E=CacBvaC^2fdrRdiMLu4MLQCGy1KkptpAT% zBzve?%Z&8wekvbdnB2?9N1e!m^7F;S>Poda>6DDU?5fuX@xAJCZF z0~s06!V$Np;8GnTgP8yiGdca6WK#CO;&gKqf)=t>D{1Cvf0_IlY5HPxR6c`@(KL?0 zepOY}yn+K3d8FVzK}D$flM=y~6K_>vy&^q(#*fEoL91F#Qp%J=5AfQXA>rv3&W-!C ztI<$a5Sd_d*qpBRMIR$|bEwA!`5+{0qz}*ylXAXye+|1Z(#Mb1zs{XMdNw@2A)AV1 z>~6;^PkFVvJ5&{cAM}Ja@lyrLJy~CZlwCBPF>@+Ir2>h`^bGj1zR?r}{qPIJ*vbJx z{Efp_a?jYtGNNNZHhxgQ90GPR@wd0R*?r!Ut`1bqn{DrGhAV&;Ey07B4JPn#oh+n> zw_vdK`7}x0*H4YHNvjPdnetCf;-K&qZCMo1V*c)jWj1H|4ct*8wt}o1-T4n{Gmwa? z{D0*n5&#Dja?uaal)E>m;D{wKIM^D078nl~lK>^UE?b-S#tYz1Ln~^QnW+ijKokx2vbI-8B%eq>t>`seB&~-_SXLkbQE!9;8x?1FY_sVXF8B(r*NC< zv*|J}Rtql!Uv?KwB;oGNDZ3M`VTc)q~-7;%|5>FztZLhYN(=C`IH1H z&24?z+=!vS8b`L14xGKt0o*+Vg^bY`RiU;18eD8kd!@Sfu_*6)qu|gpu=-CDFj1!3})$=cK5E}&&oAPaZrtSb*Ph#qHBm#4$v!8Ia+W(GsxRLH| z{JL9&v+MaIg7{74rM^Z8Tvlwoo*mtB`my*N2jCSJgq-c;PWFB>jTH;AFOw-S=1Zyf zpI32HAX)k^ysD8wKnuxy^F7=&*XG+(T_~=LvCfXh$o9Ho2La!~Wibr|W#`mR*zr_< zU=EKaYUsD+y-3lRvrT3vEDD(+vHEl?p7L=q1ZiS3IDE)iI8>pyd0Rj`>v>m~n5 z&LcRG%}b4xIJ3G5Q%uxLXZSgaCvL*{-F}OV9&mNY_@a-6GAJ*w_&A7^HSI(+v!l(;cq+h zPhT>@!+`#RE`nm?quH8*_MBGPX04Fp$_Y9%>)I03K)SfoNDg8i zClSyAEa4iq$yHvpvF4Pmgp*Kl3W}Ooy2$_&6?#m@jiT;H0n3L%0Wd@4WOzVJmHwN> z`YV}mtEw`xGAHL|o31J^1JOzlom8RjfzNw;;oW{#D2-v@H%X4tA)n1J)p~eg9tD*^ z-(p8nCgHJol86vw_xujFz@A3N=wJN$q9WyeG=0A?gdUrL$)NEsq5{JHHfwUwa>yvT z1dST=(yA?{(_=! z1DqCbm{6XNB<>_!y;PpohX3MqmXhOW%{$8$7_3)`&-HI$j2}dR1Fb!FeB&|WL3X@L zS&*nyr<8P`09R;IiYA!8^7+gm%4|J9Jbc^6c zL7@(h>53I{kZZf=imO3^)NAh4ry882sDl`9Qe zMqB(JkpRnTt*c|S{-$Fom=tN@5Bf(F$_Giz%GviWIJq0t-cCUpWHT%rRRACZ*wd1_y386Vfqg z>lBYEBdg#A_$jv&&kL~eo?wgpoprO&$?YWxUj)q*)X0Q9x%z=YjIi#zHCe6)>m)6= zYCK8!`L-8tvyl@8 zp>_j|Nj&&wXq$RJ&U)C7uTr*EXA;4T<0XH~b5J%UU_hWBli)qO?msMqFfMI57%kG*+InJK7PZ@mKMVPK#Rj;qYB_&4>U z2-2^4Ab~$!?W5!1CTPeFS`Ei<99liTtC*A^;~EA~9MT|A5*^e0gJf`;$_9^aO~V0= zI_eQCP|GuP$CabU%#+p_eQbLmporA|u}Gaf95gj7Zr%m)QDfn?Wwitp2t1=CrTAVE zRDEXso_5X4)KS*>4;t*V;ph{S>wT{jysZbPGHRgxW-Z+;@;7<)MnMlNil~qG#M~d= z%u;H3vOyKv8zw+h+Y{0IG=W0&{X{|gt@Zm?vIPS!86t|uh$=k_Z2p*1w_%|RTc;5Y zM|?m_MJTR3z3lICApjoWPMq#b-+o<^&)a$hf(zjDKF@o<(t|P2(7L?}uolG_y@ZbzoA+Xn)~CK-4w_1R2O3I%WPJcGLVv zVpVMvTeR7UiOKX^N1!HR@j=^fArY@RUEVfd(n}f*#*-6w26yFHZaTJ2lJ+UP&X}{^ zz5p46RNMSS352oP+*4A9LCj^;hBbZpm+-Qo5b?Ee8~J|Xi(^f0 z2j%O8vgw%d2wG(GC-M0PdLkDUWdq=g1bGn^q#;zd2nrYC zM*sjnKksD#CnpksmM8-T$c5P+du;yRNAl(7`t1{SPDoNssE9T+XmEJW`g`-(F>X__ zUUQ}npUIZ|pAnTXGT9iSZCD&DvlG5quF-Q?Y>YTZrkjm1lEE*S>;uJxB<+veV$EadI}g3 zj+muue0_!ns(J98Mpi%lc?8 z3k3l_H#W98Pk*bh$|0t)b}y+}wfVH$J5*<8wg5Q#ItXj+a`*KwL*eIIH{XE~%nYPg zuFGCPVb6+FJ)f{d{mW<)#T)$a!@@ZlMVte8B-a)dm_nWI=%ro9(P(PQSN+yJq1_Hy zSg-HUp7UeQm5vyM{1glS`sQsdjaI*55!JAgW+zfhf!U(uJrx8|j6yZXNeAPi`%~3L z0Z&$b#}cPbZEhR@p*bIVH4-2ga*Ltrv=aM@nije1wmFC9vudh&nX&w!Ca!4nN`sIy z&`DM)EH{7D-zj61_w&cQ!tr+=U=qFMyrPMDIx>(lt8%(;Tc3xY`0b5S=|$OAHIyUx zL(Q})BTbKJQoY7K*#dbtk;-phhWkl=<$cNJi7fDM@JU`2VVX*eTdW86J()qeieuY$ zUpm_zC!pF1AHF;bVvn8h23+fz8Gi{#rqq)VUVX7cM&2wqE#F=9+FgD z6FnETY0>q_+r!)-Y4)z%!y!aiPucW$C6@V&+E=#}y`ag#k_*STw>mBM2EnVCf#vg} z?!|jw|0K^S@tIpk`K-O2d`RkIAZJ3G5Ri6St(zy76D0=vpTCNcGp)O1!tkiob;;GuvvHL7|zlrRp-D zyz`6&q?jo3vF>*Rd;1}k7>nZcX~9y^Hj&!knxMoF6X3GBPj^F32_X@c^Go6ujUOLk zOj%{0mhgVey~6+b&m=`d<#3GbUib!_^~?9J4h5bQp{8C}wP+xx@o9ljMybzBFs|Yv z{gABt$eC7G#tN9!?gyN&kIWHRhp(EG_dMcVQRMn2Em^5a#8E9_oKfu8H6 ztHsI(pDl$kwL!urYPLZ48|8|)_Ls)hTGu&t?!SG`ky-Z&04#wkZxi#s>na7nr7Slj zes>ppBX}|4zwu}g`}(4zH193X^0VVMHeb zj^X9}-XM39mOxvg)E{GW-c=+m#^X+?W@}3LQmqO#}3{lgQdn8zeUBA&x_?qA;c3+>-*izuQCo?)Rk5o-+o z<~x&Y`R&8Hd5_x3?DAdZtwm}cj~*u`ArS1|ywrEfJ?hIya+AUBLl8F5U+dY9N{w?e2+m_} zBc@TQ<$1dr#6Lhz){O@18@IYUA|b7$SZuPMeU%&@wcB@pk0gY=uE8AAwU{8?fW*vI zE_L>_^E$ShyZpt{)K~NmNr;($lpOmZ&s|Q}%*^=(~wLY-)V_I`I=|}kUj*!Y~&ZU3%9v=}> zu9c8K+5R!|vLMKlQXGjHxX`b(WR$v?E=mCQb(SAw6Mqb1v*!9YW^~BNmgi=nf1zr12FOkXSRBUnAwoIh>%|fhRSi zmL_R?f3>nEK@_4!bf$_osc^yWqI5vXA+=lnILxK>&>%H)Qw67HRtLrb{7t9%`ZG)5|=Ztm=zUlrTOvmb@d7)^$muAzv z#ARkoIEtBwvWb=c_OK`I&)u(=RmXD1-wy#oGa-p+(PQ9nL8Dr&VidG4`W!SidR*kx zwQ2T(JJG?+=-`Di&SVU8S;xj1bts5WJp_L!8A*&yfGr?7*!vcQPsm6m|Bj5Ph*NHF zSt_yk=E~2pn&6uTn>RMeK)B|nl!SN7*B=7yF>g}RA7u%|wJbP9l$3@A(HqPWaFI@c!*+Z3Q*pjl!ge7>n~ZEmq)ST0Q_}Z6c`O+4{nesHEZK& z^a(~34v&+s-UZTda|H|Bl58e$j>-*G@a$S`tn283`OdWu@0(l)`u^}y9L#H#+Az;q_-t{mt@z?SwUr>;f1~oBl~RKGUI~CD1)U*AcBFoCRDIgu%h%_Ri&1IHa(figJoj+n~fLfXdthjF$|xz zYy^~Ds6qT7$uMs-J&OwS=p9_UQA!B~p0MH#v+C#ki_0D6=<1(&LQA!91pEheKdPVp z2Q~+Ke~C|sw|VjKZg@mRLqyXQwp~-7CP9hHHsyZ0%73;7@03AtuNOJ%95IZISkdUE zq_kyvxKS_hccLot + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a load balancer provider + +Load balancer implementation consists of three elements: + +* `LoadBalancer` which is responsible for selecting service instances for a single Stork service, +* `LoadBalancerProvider` which creates instances of `LoadBalancer` for a given load balancer _type_, +* `$typeConfiguration` which is a configuration for the load balancer. This class is automatically generated. + +A _type_, for example `acme-load-balancer`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +==== + +A `LoadBalancerProvider` implementation needs to be annotated with `@LoadBalancerType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@LoadBalancerAttribute` annotations placed on the provider. +Optionally, you can also add `@ApplicationScoped` annotation in order to provide the load balancer implementation as CDI bean. + +A load balancer provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeLoadBalancerProvider.java[indent=0] +---- + +Note, that the `LoadBalancerProvider` interface takes a configuration class as a parameter. +This configuration class is generated automatically by the _Configuration Generator_. +Its name is created by appending `Configuration` to the load balancer type, like `AcmeLoadBalancerConfiguration`. + +The next step is to implement the `LoadBalancer` interface. + +The essence of load balancers' work happens in the `selectServiceInstance` method. The method returns a single `ServiceInstance` from a collection. + +[source,java] +---- +include::{examples-dir}/examples/AcmeLoadBalancer.java[indent=0] +---- + +This implementation is simplistic and just picks a random instance from the received list. + +Some load balancers make the pick based on statistics such as calls in progress or response times, or amount of errors of a service instance. +To collect this information in your load balancer, you can wrap the selected service instance into `ServiceInstanceWithStatGathering`. + +Load balancers based on statistics often expect that an operation using a selected service instance is marked as started before the next selection. +By default, Stork assumes that a `LoadBalancer` requires this and guards the calls accordingly. +If this is not the case for your implementation, override the `requiresStrictRecording()` method to return `false`. + +== Using your load balancer + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.load-balancer.type=acme-load-balancer\ +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +==== + +Then, Stork will use your implementation to select the `my-service` service instance. + +== Using your load balancer using the programmatic API + +When building your load balancer project, the configuration generator creates a configuration class. +This class can be used to configure your load balancer using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeSelectorApiUsage.java[indent=0] +---- + +Remember that attributes, like `my-attribute`, are declared using the `@LoadBalancerAttribute` annotation on the `LoadBalancerProvider` implementation. diff --git a/content/docs/smallrye-stork/2/load-balancer/least-requests.adoc b/content/docs/smallrye-stork/2/load-balancer/least-requests.adoc new file mode 100644 index 000000000..6a8babbc6 --- /dev/null +++ b/content/docs/smallrye-stork/2/load-balancer/least-requests.adoc @@ -0,0 +1,59 @@ += Least Requests Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `least-requests` load balancing strategy monitors the number of inflight calls and selects the less-used instance. + +This strategy keeps track of the inflight calls made by the application and picks the service instance with the smallest number of inflight requests: + +[arabic] +. when the selection happens, the service instance with the smallest number of inflight requests is selected, and this number is incremented +. when the operation completes, successfully or not, the number of inflight requests is decremented + +== Dependency + +First, you need to add the `least-requests` load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-least-requests + {project-version} + +---- + +== Configuration + +For each service expected to use a least-response-time selection, configure the `load-balancer` to be `least-requests`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=least-requests +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=least-requests +---- + +-- + +==== + +Supported configuration properties are the following: + +include::{generated-dir}/least-requests-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/load-balancer/least-response-time.adoc b/content/docs/smallrye-stork/2/load-balancer/least-response-time.adoc new file mode 100644 index 000000000..9742a0b23 --- /dev/null +++ b/content/docs/smallrye-stork/2/load-balancer/least-response-time.adoc @@ -0,0 +1,94 @@ += Least Response Time Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `least-response-time` load balancing strategy collects response times of the calls made with service instances and picks an instance based on this information. + +Erroneous responses are treated as responses with a long response time, by default 60 seconds. This can be controlled with the `error-penalty` attribute. + +The algorithm for service instance selection is as follows: + +* if there is a service instance that wasn't used before - use it, otherwise: +* if there are any service instances with collected response times - select the one for which _score_ is the lowest, otherwise: +* select a random instance + +The _score_ for an instance decreases in time if an instance is not used. This way we ensure that instances that haven't been used in a long time, are retried. + +For the details on the _score_ calculation, see xref:#score-calculation[Score calculation] + +== Dependency + +To use this load balancer, start with adding the least-response-time load-balancer dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-least-response-time + {project-version} + +---- + +== Configuration + +For each service expected to use a least-response-time selection, configure the `load-balancer` to be `least-response-time`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=least-response-time +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=least-response-time +---- + +-- + +==== + +The following attributes are supported: + +include::{generated-dir}/least-response-time-lb-attributes.adoc[] + +== Score calculation + +The _score_ of a service instance is calculated by dividing a weighted sum of response times by sum of the weighs. The result is additionally adjusted to account for instances that haven't been used for a long time. + +Let: + +* $n$ denote how many instance selections were made so far +* $t++_++i$ denote the response time for call $i$ +* $n++_++i$ denote the number of instance selections done until the moment of recording the response time for call $i$ +* $n++_{++max}$ denote the number of instance selections at the moment of last call recorded with this instance +* $$ denote a configurable `declining-factor` + +The idea for the weight is to decrease the importance of the data collected long time (many calls) ago. For call $i$, the weight is calculated as follows: +$$ +w++_++i = ^ ++{++(n - n++_++i)} +$$ + +The score of a service instance is calculated as: +$$ +score(n) = ^++{++n - n++_{++max}} ++*++ = +^++{++n - n++_{++max}} ++*++ +$$ + +The `declining-factor` should be in $(0, 1++]++$ , the default is $0.9$. Using a lower value makes the older response times less important. + +Supported configuration properties are the following: + +include::{generated-dir}/least-response-time-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/load-balancer/overview.adoc b/content/docs/smallrye-stork/2/load-balancer/overview.adoc new file mode 100644 index 000000000..62c2f482c --- /dev/null +++ b/content/docs/smallrye-stork/2/load-balancer/overview.adoc @@ -0,0 +1,22 @@ += Overview +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Load Balancer / Service Selection in SmallRye Stork + +Once services are registered and discovered, the next critical step is selecting which service instance will handle a given request. +SmallRye Stork provides flexible load balancing strategies to efficiently distribute requests across multiple instances of a service. +This ensures optimal resource usage, improved performance, and high availability. + +=== Key Features: + +* *Multiple Load Balancing Strategies*: SmallRye Stork supports several built-in strategies for selecting service instances. +Check them out in the following dedicated sections. +* *Customizable Strategies*: You can define custom service selection strategies based on your unique use case or performance requirements, ensuring that the load balancer can adapt to specific needs. + +==== How it Works: + +Once a service has been registered and discovered, the load balancer comes into play when a client makes a request to that service. +Stork applies the configured load balancing strategy to select an instance from the available pool of discovered services. + +This feature ensures that your services remain responsive, scalable, and resilient, providing a smooth experience for both users and developers. diff --git a/content/docs/smallrye-stork/2/load-balancer/power-of-two-choices.adoc b/content/docs/smallrye-stork/2/load-balancer/power-of-two-choices.adoc new file mode 100644 index 000000000..9e73e9897 --- /dev/null +++ b/content/docs/smallrye-stork/2/load-balancer/power-of-two-choices.adoc @@ -0,0 +1,63 @@ += Power Of Two Choices Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `power-of-two-choices` load balancing selects two random service instances and then chooses the one with the least inflight requests. +It avoids the overhead of `least-requests` and the worst case for `random` where it selects a busy destination. + +This strategy acts as follows: + +[arabic] +. when the selection happens, it picks two random instances from the list, +. it returns the least loaded instance (based on the number of inflight requests), +. when the operation completes, successfully or not, the number of inflight requests for the instance is decremented. + +Check http://www.eecs.harvard.edu/~michaelm/NEWWORK/postscripts/twosurvey.pdf[The Power of Two Random Choices] paper to learn more about this pattern and the benefits. + +== Dependency + +First, you need to add the random load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-power-of-two-choices + {project-version} + +---- + +== Configuration + +For each service expected to use a random service selection, configure the `load-balancer` to be `power-of-two-choices`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=power-of-two-choices +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=power-of-two-choices +---- + +-- + +==== + +Supported configuration properties are the following: + +include::{generated-dir}/power-of-two-choices-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/load-balancer/random.adoc b/content/docs/smallrye-stork/2/load-balancer/random.adoc new file mode 100644 index 000000000..f721585d7 --- /dev/null +++ b/content/docs/smallrye-stork/2/load-balancer/random.adoc @@ -0,0 +1,53 @@ += Random Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `random` load balancing is a straightforward service instance selection solution that picks a random instance every time. + +== Dependency + +First, you need to add the random load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-random + {project-version} + +---- + +== Configuration + +For each service expected to use a random service selection, configure the `load-balancer` to be `random`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=random +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=random +---- + +-- + +==== + +Supported attributes are the following: + +include::{generated-dir}/random-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/load-balancer/round-robin.adoc b/content/docs/smallrye-stork/2/load-balancer/round-robin.adoc new file mode 100644 index 000000000..e1f768f10 --- /dev/null +++ b/content/docs/smallrye-stork/2/load-balancer/round-robin.adoc @@ -0,0 +1,43 @@ += Round-Robin Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The round-robin is a straightforward load-balancing solution that just iterates over the set of service instances. +While being simple, this solution shares the load among the instances and may be sufficient in many cases. + +The round-robin strategy is the default load-balancing strategy. +It is provided by Stork itself, and so does not require an additional dependency. + +== Configuration + +There is no need to configure the load-balancing strategy to be `round-robin`. +Stork automatically uses this strategy when none are configured. + +However, you can also configure it explicitly as follows: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=round-robin +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=round-robin +---- + +-- + +==== diff --git a/content/docs/smallrye-stork/2/load-balancer/sticky.adoc b/content/docs/smallrye-stork/2/load-balancer/sticky.adoc new file mode 100644 index 000000000..8af192d26 --- /dev/null +++ b/content/docs/smallrye-stork/2/load-balancer/sticky.adoc @@ -0,0 +1,52 @@ += Sticky Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The sticky load balancer selects a single service instance and keeps using it until it fails. +Then, it selects another one. + +It is possible to configure a backoff time to specify for how long a failing service instance should not be retried. + +Precisely, the load balancer works as follows: + +* if no service instance has been selected so far, select the first instance from the collection; +* else if the previously selected service instance has not failed, and is still available, return it; +* else return the first available service instance that has no recorded failure, if one exists; +* else, find the available instance for which the time since the last failure is the longest, and +** if the backoff time since the failure passed, return it; +** or, throw an `NoAcceptableServiceInstanceFoundException` as no acceptable instances are available. + +== Configuration + +To use the `sticky` load service selection strategy, set the load balancer type to `sticky`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=sticky +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=sticky +---- + +-- + +==== + +The following attributes are supported: + +include::{generated-dir}/sticky-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/microprofile-config.adoc b/content/docs/smallrye-stork/2/microprofile-config.adoc new file mode 100644 index 000000000..48ba3a487 --- /dev/null +++ b/content/docs/smallrye-stork/2/microprofile-config.adoc @@ -0,0 +1,30 @@ += Stork MicroProfile Config +include::_attributes.adoc[] + +Stork integrates with MicroProfile Configuration out of the box, enabling seamless access to configuration properties. +This documentation explains how Stork can retrieve configuration details from the MicroProfile Config file present in the classpath. +Quarkus uses this approach for reading configuration details from the MicroProfile Config file located within the classpath. + +== Dependency setup + +To enable MicroProfile Config integration in Stork, you need to include the following dependency: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + smallrye-stork-microprofile + {project-version} + +---- + +== Initializing Stork + +If your framework lacks a pre-configured Stork instance, you'll need to perform initialization: + +[source,java] +---- +include::{examples-dir}/examples/InitializationExample.java[indent=0] +---- + +Upon initialization, Stork scans for the `io.smallrye.stork.config.MicroProfileConfigProvider` SPI provider and CDI beans (from version 2.x onwards). It then builds a comprehensive list of managed services by parsing the properties configuration files. diff --git a/content/docs/smallrye-stork/2/observability.adoc b/content/docs/smallrye-stork/2/observability.adoc new file mode 100644 index 000000000..841b79385 --- /dev/null +++ b/content/docs/smallrye-stork/2/observability.adoc @@ -0,0 +1,114 @@ += Stork Observability API +include::_attributes.adoc[] + +Stork proposes an observability API that automatically observes some parameters to show how the Stork service discovery and selection are behaving. + +For any _observation_ to happen, you need to provide your own implementation of an `ObservationCollector.` By default, Stork provides a no-op implementation. + +The `ObservationCollector` is responsible for instantiating the `StorkObservation`. + +The `StorkObservation` reacts to Stork events thanks to a `StorkEventHandler`. + +You can extend the metrics collection by extending the `StorkEventHandler` interface. + +The following sequence diagram shows how the observability is initialized : + +[.has-dark] +image::images/diagrams/plantuml-3c6c7f0192c2.svg[observability_sequence] + +The `StorkObservation` registers times, number of discovered instances, the selected instance and failures by reacting to the lifecycle of a Stork event such as: + +* start : Observation has been started. +The beginning time is registered. +It happens when the `ObservationCollector#create()` method gets called. +* service discovery success: a collection of instances has been successfully discovered for a service. +The end discovery time and number of instances are recorded. +It happens when the `StorkObservation#onServiceDiscoverySuccess` gets called. +* service discovery error: an error occurs when discovering a service. +The end discovery time and failure cause are captured. +It happens when the `StorkObservation#onServiceDiscoveryFailure` gets called. +* service selection success: an instance has been successfully selected from the collection. +The end selection time and selected instance ID are registered. +It happens when the `StorkObservation#onServiceSelectionSuccess` gets called. +* service selection error: an error occurred during selecting the instance. +End selection time and failure cause are registered. +It happens when the `StorkObservation#onServiceSelectionFailure` gets called. +* end: Observation has finished. Overall duration is registered. +It happens when the `StorkObservation#onServiceSelectionSuccess` gets called. + +The following sequence diagram represents the described observation process above: + +[.has-dark] +image::images/diagrams/plantuml-c8137b2f4bb7.svg[observation_sequence] + +== Implementing an observation collector + +An `ObservationCollector` implementation must override the `create` method to provide an instance of StorkObservation. +In addition, the user can access and enrich the observation data through the `StorkEventHandler`. + +A custom observation collector class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeObservationCollector.java[indent=0] +---- + +The next step is to initialize Stork with an `ObservableStorkInfrastructure`, taking an instance of your `ObservationCollector` as parameter. + +[source,java] +---- +include::{examples-dir}/examples/ObservableInitializationExample.java[indent=0] +---- + +Then, Stork uses your implementation to register metrics. + +== Observing service discovery and selection behaviours + +To access metrics registered by `StorkObservation`, use the following code: + +[source,java] +---- +include::{examples-dir}/examples/ObservationExample.java[indent=0] +---- + +Stork Observability with Quarkus + +Stork metrics are automatically enabled when using Stork together with the Micrometer extension in a Quarkus application. + +Micrometer collects the metrics of the rest and grpc client using Stork, as well as when using the Stork API. + +As an example, if you export the metrics to Prometheus, you will get: + +[source,text] +---- +# HELP stork_load_balancer_failures_total The number of failures during service selection. +# TYPE stork_load_balancer_failures_total counter +stork_load_balancer_failures_total{service_name="hello-service",} 0.0 +# HELP stork_service_selection_duration_seconds The duration of the selection operation +# TYPE stork_service_selection_duration_seconds summary +stork_service_selection_duration_seconds_count{service_name="hello-service",} 13.0 +stork_service_selection_duration_seconds_sum{service_name="hello-service",} 0.001049291 +# HELP stork_service_selection_duration_seconds_max The duration of the selection operation +# TYPE stork_service_selection_duration_seconds_max gauge +stork_service_selection_duration_seconds_max{service_name="hello-service",} 0.0 +# HELP stork_overall_duration_seconds_max The total duration of the Stork service discovery and selection operations +# TYPE stork_overall_duration_seconds_max gauge +stork_overall_duration_seconds_max{service_name="hello-service",} 0.0 +# HELP stork_overall_duration_seconds The total duration of the Stork service discovery and selection operations +# TYPE stork_overall_duration_seconds summary +stork_overall_duration_seconds_count{service_name="hello-service",} 13.0 +stork_overall_duration_seconds_sum{service_name="hello-service",} 0.001049291 +# HELP stork_service_discovery_failures_total The number of failures during service discovery +# TYPE stork_service_discovery_failures_total counter +stork_service_discovery_failures_total{service_name="hello-service",} 0.0 +# HELP stork_service_discovery_duration_seconds_max The duration of the discovery operation +# TYPE stork_service_discovery_duration_seconds_max gauge +stork_service_discovery_duration_seconds_max{service_name="hello-service",} 0.0 +# HELP stork_service_discovery_duration_seconds The duration of the discovery operation +# TYPE stork_service_discovery_duration_seconds summary +stork_service_discovery_duration_seconds_count{service_name="hello-service",} 13.0 +stork_service_discovery_duration_seconds_sum{service_name="hello-service",} 6.585046209 +# HELP stork_instances_count_total The number of service instances discovered +# TYPE stork_instances_count_total counter +stork_instances_count_total{service_name="hello-service",} 26.0 +---- diff --git a/content/docs/smallrye-stork/2/programmatic-api.adoc b/content/docs/smallrye-stork/2/programmatic-api.adoc new file mode 100644 index 000000000..32f17e23b --- /dev/null +++ b/content/docs/smallrye-stork/2/programmatic-api.adoc @@ -0,0 +1,54 @@ += Stork Programmatic API +include::_attributes.adoc[] + +Stork proposes a programmatic API that lets you register new service Definitions and do manual lookup and selection. +When using the programmatic API of Stork, you can: +Retrieve the singleton Stork instance. This instance is configured with the set of Services it manages. +Register new service definition. +Retrieve the Service you want to use. Each Service is associated with a name. +Retrieve the ServiceInstance, which will provide the metadata to access the actual instance. + +== Initializing Stork + +If your framework does not already provide a configured `Stork` instance, you need to do: + +[source,java] +---- +include::{examples-dir}/examples/InitializationExample.java[indent=0] +---- + +== Adding service dynamically + +To register a new `ServiceDefinition`, use the `defineIfAbsent` method: + +[source,java] +---- +include::{examples-dir}/examples/DefinitionExample.java[indent=0] +---- + +The `ServiceDefinition` instances can be created from: + +* A service discovery configuration - these classes are provided by the service discovery implementations, +* An optional load balancer configuration - these classes are provided by the load balancer implementations + +Attributes from the service discovery and load balancer can be configured from the `Configuration` classes. + +== Looking for service instances + +To list the service instances for a given service, or to select an instance according to the load balancer strategy, use the following code: + +[source,java] +---- +include::{examples-dir}/examples/LookupExample.java[indent=0] +---- + +The lookup and selection methods are returning Uni as these processes are asynchronous. + +== All in one example + +The following snippet provides an _all in one_ example of the Stork programmatic API: + +[source,java] +---- +include::{examples-dir}/examples/StorkApiExample.java[indent=0] +---- diff --git a/content/docs/smallrye-stork/2/quarkus.adoc b/content/docs/smallrye-stork/2/quarkus.adoc new file mode 100644 index 000000000..08c9b3186 --- /dev/null +++ b/content/docs/smallrye-stork/2/quarkus.adoc @@ -0,0 +1,79 @@ += Using Stork with Quarkus +include::_attributes.adoc[] + +https://quarkus.io[Quarkus] is a Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM. + +Quarkus REST Client Reactive and gRPC extensions come with built-in integration with SmallRye Stork. + +This page describes how to use REST Client Reactive with Stork. Using gRPC with Stork is similar. + +We will use the Consul service discovery and the round-robin load balancer as examples. + +== The project + +You can create a Quarkus project with the REST Client Reactive extension using https://code.quarkus.io[code.quarkus.io]. + +The corresponding https://quarkus.io/guides/rest-client-reactive[Quarkus guide] describes the extension in more detail. + +== The client + +To use the REST client to communicate with a remote endpoint, you need to create an interface that describes how the communication should work. +The client requires `baseUri` (or `baseUrl`) pointing to the address of the remote endpoint. + +To use Stork to determine the actual address, set the scheme of the URI to `stork` and the hostname of the URI to the name of the Stork service. + +For example, the `HelloClient` below will use the Stork service called `hello-service` to determine the address of the destination, and `/hello` as the base path for queries: + +[source,java] +---- +include::{examples-dir}/examples/HelloClient.java[indent=0] +---- + +== The service + +In Stork, a `Service` consists of service discovery and a load balancer. +The Service discovery is responsible for determining the `ServiceInstance`s, that is, available addresses for a service. +The load balancer picks a single `ServiceInstance` for a call. + +=== Dependencies + +To use the service discovery and the load balancer of your choosing, you need to add the appropriate dependencies to your application. +For example, if you wish to use Consul and load-balance the calls with round-robin, add the following to your `pom.xml`: + +[source,xml] +---- + + io.smallrye.stork + stork-service-discovery-consul + +---- + +[NOTE] +==== + +No need to add a dependency for the round-robin load-balancer. This strategy is built-in. +Also, no need to specify the stork version, Quarkus imports the Stork _BOM_. + +==== + +When using Eureka, Kubernetes, or any other service discovery mechanism, or a different load balancer, replace the dependencies above with the ones you need. +Based on the defined dependencies, Stork automatically registers providers for service discovery mechanisms and load balancers. + +=== The config + +The last piece of the puzzle is the actual service configuration. +If your Consul instance is running on `localhost` on port `8500`, service discovery configuration should look as follows: + +[source,properties] +---- +quarkus.stork.hello-service.service-discovery.type=consul +quarkus.stork.hello-service.service-discovery.consul-host=localhost +quarkus.stork.hello-service.service-discovery.consul-port=8500 +---- + +[NOTE] +==== + +When no load-balancing is configured, Stork uses a round-robin. + +==== diff --git a/content/docs/smallrye-stork/2/service-discovery/composite.adoc b/content/docs/smallrye-stork/2/service-discovery/composite.adoc new file mode 100644 index 000000000..7be362c60 --- /dev/null +++ b/content/docs/smallrye-stork/2/service-discovery/composite.adoc @@ -0,0 +1,71 @@ += Composite Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Some organizations use hybrid infrastructure. In such an infrastructure, different service instances may be discoverable via different service discovery providers. E.g. when _serviceA_ is being migrated from a VM to Kubernetes, its older versions can be discovered via Consul and newer via Kubernetes. + +`composite` service discovery addresses this problem by letting you define a service that consists of multiple services. + +== Dependency + +To use the `composite` service discovery, first add the appropriate Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-composite + {project-version} + +---- + +== Configuration + +For each service that should consist of multiple services, configure the service discovery `type`, and set the `services` property to a comma separated list of services: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=composite +stork.my-service.service-discovery.services=serviceA,serviceB + +stork.serviceA.service-discovery.type=... +stork.serviceB.service-discovery.type=... +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=composite +quarkus.stork.my-service.service-discovery.services=serviceA,serviceB + +quarkus.stork.serviceA.service-discovery.type=... +quarkus.stork.serviceB.service-discovery.type=... +---- + +-- + +==== + +Remember to define the services that make up your composite service. + +Be aware that Stork doesn't work as a standalone service discovery cluster. +Instead, it processes composite configurations—meaning it handles multiple configurations that may use different service discovery implementation. +For each specific configuration, Stork delegates the service discovery task to the appropriate service discovery provider. +If one of these providers doesn't respond or fails, it affects Stork's ability to resolve that specific configuration, but it doesn't mean Stork itself is faulty; +it relies on the performance of the service discovery systems it’s configured to work with. + +These are all the parameters of the composite service discovery: + +include::{generated-dir}/composite-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/service-discovery/consul.adoc b/content/docs/smallrye-stork/2/service-discovery/consul.adoc new file mode 100644 index 000000000..210076247 --- /dev/null +++ b/content/docs/smallrye-stork/2/service-discovery/consul.adoc @@ -0,0 +1,167 @@ += Consul Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://www.consul.io/[Consul] is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. +It's often used as service discovery backend to register and locate the services composing your system. +Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. +External services can be registered as well. + +As https://developer.hashicorp.com/consul/api-docs/agent/service#address[specified] in the Consul documentation, if the host address is not provided, Stork will automatically use the Consul node address for the instance. + +This page explains how Stork can use Consul to handle the service discovery and service registration. + +== Dependency + +First, you need to add the Stork Consul Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-consul + {project-version} + +---- + +=== Service discovery configuration + +For each service that should get the service instances from Consul, configure the service discovery `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=consul +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=consul +---- + +-- + +==== + +== Secure communication with Consul + +Stork supports SSL/TLS encryption when connecting to a Consul server. This is useful when Consul is configured with HTTPS or when you need to authenticate using client certificates. + +To enable SSL/TLS, set the `ssl` attribute to `true` and configure the trust store and optionally the key store: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=consul +stork.my-service.service-discovery.consul-host=consul.example.com +stork.my-service.service-discovery.consul-port=8501 +stork.my-service.service-discovery.ssl=true +stork.my-service.service-discovery.trust-store-path=/path/to/truststore.jks +stork.my-service.service-discovery.trust-store-password=changeit +stork.my-service.service-discovery.verify-host=true +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=consul +quarkus.stork.my-service.service-discovery.consul-host=consul.example.com +quarkus.stork.my-service.service-discovery.consul-port=8501 +quarkus.stork.my-service.service-discovery.ssl=true +quarkus.stork.my-service.service-discovery.trust-store-path=/path/to/truststore.jks +quarkus.stork.my-service.service-discovery.trust-store-password=changeit +quarkus.stork.my-service.service-discovery.verify-host=true +---- + +-- + +==== + +For mutual TLS (mTLS) authentication, also configure the key store containing the client certificate: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.key-store-path=/path/to/keystore.jks +stork.my-service.service-discovery.key-store-password=changeit +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.key-store-path=/path/to/keystore.jks +quarkus.stork.my-service.service-discovery.key-store-password=changeit +---- + +-- + +==== + +== ACL Token Authentication + +If your Consul cluster has ACL enabled, you can provide an ACL token for authentication: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.acl-token=your-consul-acl-token +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.acl-token=your-consul-acl-token +---- + +-- + +==== + +Consul service discovery is configured with the following parameters: + +include::{generated-dir}/consul-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/service-discovery/custom-service-discovery.adoc b/content/docs/smallrye-stork/2/service-discovery/custom-service-discovery.adoc new file mode 100644 index 000000000..04945b53b --- /dev/null +++ b/content/docs/smallrye-stork/2/service-discovery/custom-service-discovery.adoc @@ -0,0 +1,202 @@ += Implement your own service discovery mechanism +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork is extensible, and you can implement your own service discovery mechanism. + +== Dependencies + +To implement your _Service Discovery Provider_, make sure your project depends on Core and Configuration Generator. +The former brings classes necessary to implement custom discovery, the latter contains an https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/annotation/processing/Processor.html[annotation processor] that generates classes needed by Stork. + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a service discovery provider + +Service discovery implementation consists of three elements: + +* `ServiceDiscovery` which is responsible for locating service instances for a single Stork service. +* `ServiceDiscoveryProvider` which creates instances of `ServiceDiscovery` for a given service discovery _type_. +* `$typeConfiguration` which is a configuration for the discovery. This class is automatically generated during the compilation (using an annotation processor). + +A _type_, for example, `acme`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=acme +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=acme +---- + +-- + +==== + +A `ServiceDiscoveryProvider` implementation needs to be annotated with `@ServiceDiscoveryType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@ServiceDiscoveryAttribute` annotations placed on the provider. +Optionally, you can also add `@ApplicationScoped` annotation in order to provide the service discovery implementation as CDI bean. + +A service discovery provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceDiscoveryProvider.java[indent=0] +---- + +Note, that the `ServiceDiscoveryProvider` interface takes a configuration class as a parameter. This configuration class +is generated automatically by the _Configuration Generator_. +Its name is created by appending `Configuration` to the service discovery type, such as `AcmeConfiguration`. + +The next step is to implement the `ServiceDiscovery` interface: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceDiscovery.java[indent=0] +---- + +This implementation is simplistic. +Typically, instead of creating a service instance with values from the configuration, you would connect to a service discovery backend, look for the service and build the list of service instance accordingly. +That's why the method returns a `Uni`. +Most of the time, the lookup is a remote operation. + +As you can see, the `AcmeConfiguration` class gives access to the configuration attribute. + +== Using your service discovery + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=acme +stork.my-service.service-discovery.host=localhost +stork.my-service.service-discovery.port=1234 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=acme +quarkus.stork.my-service.service-discovery.host=localhost +quarkus.stork.my-service.service-discovery.port=1234 +---- + +-- + +==== + +Then, Stork will use your implementation to locate the `my-service` service. + +== Using your service discovery using the programmatic API + +When building your service discovery project, the configuration generator creates a configuration class. +This class can be used to configure your service discovery using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeDiscoveryApiUsage.java[indent=0] +---- + +Remember that attributes, like `host`, are declared using the `@ServiceDiscoveryAttribute` annotation on the `ServiceDiscoveryProvider` implementation. + +== Caching the service instances + +Your `ServiceDiscovery` implementation can extend `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +In this case, the retrieved set of `ServiceInstance` is cached and only updated after some time. +This duration is an additional configuration attribute. +For homogeneity, we recommend the following attribute: + +[source,java] +---- +@ServiceDiscoveryAttribute(name = "refresh-period", description = "Service discovery cache refresh period.", + defaultValue = CachingServiceDiscovery.DEFAULT_REFRESH_INTERVAL) +---- + +The following snippet extends the _acme_ service discovery with the `refresh-period` attribute: + +[source,java] +---- +include::{examples-dir}/examples/CachedAcmeServiceDiscoveryProvider.java[indent=0] +---- + +Extending `io.smallrye.stork.impl.CachingServiceDiscovery` changes the structure of the service discovery implementation: + +[source,java] +---- +include::{examples-dir}/examples/CachedAcmeServiceDiscovery.java[indent=0] +---- + +[arabic] +. Call the `super` constructor with the `refresh-period` value +. Implement `fetchNewServiceInstances` instead of `getServiceInstances`. +The method is called periodically, and the retrieved instances are cached. +This implementation is simplistic. + +If the retrieval fails, the error is reported, and Stork keeps the previously retrieved list of instances. + +=== Customizing the caching strategy + +Sometimes it can be useful to change this behaviour and customize the cache expiration strategy. + +For example, imagine you are using a backend service discovery where service instances can change very frequently. + +Moreover, contacting the backend service discovery can be expensive in terms of computing, +thus finding a good value for the refreshing time can be mission impossible. + +For these situations, Stork allows to implement a better expiration strategy for the cache. + +If you want to customize the expiration strategy, you need: +1. Implement the `cache` method where the expiration strategy should be defined. +2. Invalidate the cache when expiration condition evaluates to true. + +Look at the example bellow: + +[source,java] +---- +include::{examples-dir}/examples/CustomExpirationCachedAcmeServiceDiscovery.java[indent=0] +---- + +Additionally, you can check the xref:service-discovery/kubernetes.adoc#caching-the-service-instances[Kubernetes Service Discovery] for further details about an event-based invalidation example. diff --git a/content/docs/smallrye-stork/2/service-discovery/dns.adoc b/content/docs/smallrye-stork/2/service-discovery/dns.adoc new file mode 100644 index 000000000..9d2ab572b --- /dev/null +++ b/content/docs/smallrye-stork/2/service-discovery/dns.adoc @@ -0,0 +1,77 @@ += DNS Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +DNS is a name resolution protocol used to determine IP addresses for hostnames. +That makes it a natural fit for service discovery. +Consul and AWS Cloud Map provide DNS resolutions for service discovery. + +This page explains how Stork can use DNS to handle the service discovery. + +== DNS records + +DNS supports a https://en.wikipedia.org/wiki/List_of_DNS_record_types[variety of record types]. Stork can resolve hostnames to addresses based on https://en.wikipedia.org/wiki/SRV_record[_SRV_], A and AAAA records. All these types of records may return multiple addresses for a single hostname. You may choose to not resolve target hostnames. + +While _A_ and _AAAA_ records are quite similar, they just carry an IP (_v4_ for _A_ and _v6_ for _AAAA_), the _SRV_ records are different. +They contain a _weight_, a _target_ and a _port_ for a service instance. +The _target_ returned in an _SRV_ record needs to be resolved further by an _A_ or an _AAAA_ record. + +In short, it works as follows: + +[.has-dark] +image::images/diagrams/plantuml-bc915c97a9fa.svg[srv_sequence] + +== Dependency + +To use the DNS service discovery, you need to add the Stork DNS Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-dns + {project-version} + +---- + +== Configuration + +Next, set the service discovery `type` to `dns`. +Additionally, you would usually specify the DNS server, or servers, to use for the discovery. +All in all, your configuration could look as follows: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=dns +# optional dns servers: +stork.my-service.service-discovery.dns-servers=my-dns-server:8221,my-dns-server2 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=dns + +# optional dns servers: +quarkus.stork.my-service.service-discovery.dns-servers=my-dns-server:8221,my-dns-server2 +---- + +-- + +==== + +All the available parameters are as follows: + +include::{generated-dir}/dns-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/service-discovery/eureka.adoc b/content/docs/smallrye-stork/2/service-discovery/eureka.adoc new file mode 100644 index 000000000..87b5c9208 --- /dev/null +++ b/content/docs/smallrye-stork/2/service-discovery/eureka.adoc @@ -0,0 +1,71 @@ += Eureka Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://github.com/Netflix/eureka[Eureka] is a RESTful service that is primarily used in the AWS cloud for the purpose of discovery, load balancing, and failover of middle-tier servers. + +This page explains how Stork can use Eureka to handle the service discovery and service registration. + +== Dependency + +First, you need to add the Stork Eureka Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-eureka + {project-version} + +---- + +=== Service discovery configuration + +For each application instance expected to be registered in Eureka, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=eureka +stork.my-service.service-discovery.eureka-host=localhost +stork.my-service.service-discovery.eureka-port=8761 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=eureka +quarkus.stork.my-service.service-discovery.eureka-host=localhost +quarkus.stork.my-service.service-discovery.eureka-port=8761 +---- + +-- + +==== + +Stork looks for the service with the given name (`my-service` in the previous example). + +Supported attributes are the following: + +include::{generated-dir}/eureka-sd-attributes.adoc[] + +The `application` attribute is optional. +It uses the Stork service name (`my-service` in the previous configuration) if not set. + +The `instance` attribute allows selecting a specific instance. +Using this attribute prevents load-balancing as you will always select a single instance. + +The `secure` attribute indicates whether to connect to instances over TLS. +If set to `true`, instances without a secure port enabled are filtered out. +The connection host is always resolved from the `hostName` field of the Eureka instance (falling back to `ipAddr`), regardless of this setting. diff --git a/content/docs/smallrye-stork/2/service-discovery/knative.adoc b/content/docs/smallrye-stork/2/service-discovery/knative.adoc new file mode 100644 index 000000000..539fcdb5b --- /dev/null +++ b/content/docs/smallrye-stork/2/service-discovery/knative.adoc @@ -0,0 +1,129 @@ += Knative Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Knative is a Kubernetes-based platform for serverless workloads. Knative provides a set of objects as Kubernetes Custom Resource Definitions (CRDs). +These resources are used to define and control how your serverless workload behaves on the cluster. +The Stork Knative service discovery implementation is very similar to the Kubernetes one. +Stork will ask for https://knative.dev/docs/serving/reference/serving-api/#serving.knative.dev/v1.Service[Knative services] to the cluster instead of vanilla https://kubernetes.io/docs/concepts/services-networking/service/#service-resource[Kubernetes services] used by the Kubernetes implementation. +To do so, Stork uses https://github.com/fabric8io/kubernetes-client/blob/master/extensions/knative/client/src/main/java/io/fabric8/knative/client/KnativeClient.java[Fabric 8 Knative Client] which is just an extension of Fabric8 Kubernetes Client. + +== Dependency + +First, you need to add the Stork Knative Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-knative + {project-version} + +---- + +=== A few words about server authentication. + +Stork uses Fabric8 Knative Client which is a https://github.com/fabric8io/kubernetes-client#readme[Fabric8 Kubernetes Client] extension to access the Kubernetes resources, concretely the `DefaultKnativeClient` implementation. + +Since Knative Client is just an extension of Fabric8 Kubernetes Client, it’s also possible to get an instance of KnativeClient from KubernetesClient. + +`DefaultKubernetesClient` will try to read the `~/.kube/config` file from your local machine and load the token for authenticating with the Kubernetes API server. + +The level of access (Roles) depends on the configured `ServiceAccount`. + +You can override this configuration if you want fine-grain control. + +==== Role-based access control (RBAC) + +If you're using a Kubernetes cluster with Role-Based Access Control (RBAC) enabled, the default permissions for a ServiceAccount don't allow it to list or modify any resources. +A `ServiceAccount`, a `Role` and a `RoleBinding` are needed in order to allow Stork to list the available service instances from the cluster or the namespace. + +An example that allows listing all endpoints could look something like this: + +[source,yaml] +---- +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: + namespace: +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: + namespace: +rules: + - apiGroups: [""] # "" indicates the core API group + resources: ["endpoints", "pods"] # stork queries service endpoints and pods + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: + namespace: +subjects: + - kind: ServiceAccount + # Reference to upper's `metadata.name` + name: + # Reference to upper's `metadata.namespace` + namespace: +roleRef: + kind: Role + name: + apiGroup: rbac.authorization.k8s.io +---- + +== Configuration + +For each service expected to be exposed as _Kubernetes Service_, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-knservice.service-discovery.type=knative +stork.my-knservice.service-discovery.knative-namespace=my-namespace +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-knservice.service-discovery.type=knative +quarkus.stork.my-knservice.service-discovery.knative-namespace=my-namespace +---- + +-- + +==== + +Stork looks for the _Knative Service_ with the given name (`my-knservice` in the previous example) in the specified namespace. + +Stork inspects the _Knative Service_ and retrieves the url of the service. + +Supported attributes are the following: + +include::{generated-dir}/knative-sd-attributes.adoc[] + +== Caching the service instances + +Contacting the cluster too much frequently can result in performance problems. It's why Knative Service discovery extends `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +Moreover, the caching expiration has been also improved in order to only update the retrieved set of `ServiceInstance` if some of them changes and an event is emitted. +This is done by creating an https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/informers/SharedIndexInformer.html[Informer], similar to a https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/Watch.html[Watch], able to observe the events on the Knative Service instances resources. + +Note that: +- the cache is invalidated when an event is received. +- the cache is validated once the instances are retrieved from the cluster, in the `fetchNewServiceInstances` method. +- the `cache` method is overrided to customize the expiration strategy. In this case the collection of service instances will be kept until an event occurs. diff --git a/content/docs/smallrye-stork/2/service-discovery/kubernetes.adoc b/content/docs/smallrye-stork/2/service-discovery/kubernetes.adoc new file mode 100644 index 000000000..1bc26e0a4 --- /dev/null +++ b/content/docs/smallrye-stork/2/service-discovery/kubernetes.adoc @@ -0,0 +1,335 @@ += Kubernetes Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Kubernetes has a built-in support for service discovery and load-balancing. +However, you may need more flexibility to carefully select the service instance you want. + +This page explains how Stork can use the Kubernetes API to handle the service discovery. + +== Dependency + +First, you need to add the Stork Kubernetes Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-kubernetes + {project-version} + +---- + +=== A few words about server authentication. + +Stork uses https://github.com/fabric8io/kubernetes-client#readme[Fabric8 Kubernetes Client] to access the Kubernetes resources, concretely the `DefaultKubernetesClient` implementation. + +It will try to read the `~/.kube/config` file from your local machine and load the token for authenticating with the Kubernetes API server. + +If you are using the Stork Kubernetes discovery provider from inside a _Pod_, it loads `~/.kube/config` from the container file system. + +This file is automatically mounted inside the Pod. + +The level of access (Roles) depends on the configured `ServiceAccount`. + +You can override this configuration if you want fine-grain control. + +==== Role-based access control (RBAC) + +If you're using a Kubernetes cluster with Role-Based Access Control (RBAC) enabled, the default permissions for a ServiceAccount don't allow it to list or modify any resources. +A `ServiceAccount`, a `Role` and a `RoleBinding` are needed in order to allow Stork to list the available service instances from the cluster or the namespace. + +An example that allows listing all endpoints could look something like this: + +[source,yaml] +---- +------ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: + namespace: +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: + namespace: +rules: + - apiGroups: [""] # "" indicates the core API group + resources: ["endpoints", "pods", "services"] # stork queries service endpoints, pods and services + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: + namespace: +subjects: + - kind: ServiceAccount + # Reference to upper's `metadata.name` + name: + # Reference to upper's `metadata.namespace` + namespace: +roleRef: + kind: Role + name: + apiGroup: rbac.authorization.k8s.io +---- + +== Configuration + +For each service expected to be exposed as _Kubernetes Service_, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.k8s-namespace=my-namespace +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.k8s-namespace=my-namespace +---- + +-- + +==== + +Stork looks for the _Kubernetes Service_ with the given name (`my-service` in the previous example) in the specified namespace. + +Instead of using the _Kubernetes Service_ IP directly, and let Kubernetes handle the selection and balancing, Stork inspects the service and retrieves the list of _pods_ providing the service. +Then, it can select the instance. + +== EndpointSlice support (Experimental) + +This feature is experimental. It is opt-in, and the API or behavior may change based on user feedback and Kubernetes evolution. +Recent Kubernetes versions expose service endpoints using *EndpointSlices* (`discovery.k8s.io/v1`), +which are the recommended and scalable replacement for classic `Endpoints`. + +Stork supports EndpointSlices and can use them transparently for service discovery. + +=== Why EndpointSlices + +Compared to classic `Endpoints`, EndpointSlices: + +* Scale better for services with many pods. +* Reduce load on the Kubernetes API server. +* Produce smaller and more frequent updates. +* Are the preferred API in modern Kubernetes clusters. + +When available, EndpointSlices are the recommended source for service discovery. + +== Configuration + +EndpointSlices can be enabled or disabled explicitly. By default, Stork uses automatic detection. + +=== Explicit configuration + +You can force the use of EndpointSlices per service (note that it will still fallback to Endpoints if EndpointSlices are not available for the service): + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.use-endpoint-slices=true +---- + +Or explicitly disable them: + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.use-endpoint-slices=false +---- + +=== Automatic detection (default behavior) + +If `use-endpoint-slices` is not configured, Stork applies the following logic: + +[arabic] +. If the Kubernetes cluster exposes the `discovery.k8s.io/v1` API *and* +. EndpointSlices exist for the target service + +→ Stork uses EndpointSlices. + +Otherwise, it falls back to classic Endpoints. + +This ensures backward compatibility with older clusters and services while automatically benefiting from EndpointSlices when available. + +The detection is performed *asynchronously* (off the event loop) and its result is cached for the lifetime of the service discovery instance. +If the cluster API is temporarily unreachable during detection, Stork retries a few times before falling back to classic Endpoints. +This means a transient connectivity issue at startup does not permanently disable EndpointSlice discovery, but it may cause Stork to fall back to Endpoints for the lifetime of that instance. + +Falling back to classic Endpoints is safe even on modern clusters: Kubernetes maintains `Endpoints` objects alongside `EndpointSlices` for backward compatibility, so both APIs reflect the same service instances. + +== Service instance resolution with EndpointSlices + +When using EndpointSlices, Stork does *not* resolve Pods. + +Instead, service instances are derived directly from the EndpointSlice objects: + +* `endpoint.addresses` → instance host +* `endpointSlice.ports` → instance port +* `endpointSlice.labels` → instance metadata + +Each EndpointSlice represents a homogeneous group of endpoints. +All addresses in a slice share the same set of ports. +If different port combinations exist, Kubernetes exposes them as separate EndpointSlices. + +This guarantees that all `(address, port)` combinations returned by Stork are valid. + +== ClusterIP mode + +By default, Stork resolves individual *pod IPs* from Kubernetes Endpoints (or EndpointSlices). +In ClusterIP mode, Stork resolves to the *ClusterIP and port* of the Kubernetes Service instead, without inspecting the backing pods. + +The `use-cluster-ip` attribute enables this mode. + +=== When to use ClusterIP mode + +ClusterIP mode is useful when: + +* You have a *multi-port Service* and want Stork to resolve the port by name, without needing to know actual port numbers. +* You don't need client-side load balancing — for example, because `kube-proxy`, a service mesh, or another network-level mechanism already handles traffic distribution. +* You want to *control the resolution strategy through configuration*, without changing application code. + +=== Configuration + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.k8s-namespace=my-namespace +stork.my-service.service-discovery.use-cluster-ip=true +stork.my-service.service-discovery.port-name=http +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.k8s-namespace=my-namespace +quarkus.stork.my-service.service-discovery.use-cluster-ip=true +quarkus.stork.my-service.service-discovery.port-name=http +---- + +-- + +==== + +In this mode, Stork queries the Kubernetes `Service` resource directly and returns a single `ServiceInstance` with: + +* *Host* — the Service's ClusterIP (e.g., `10.96.0.15`) +* *Port* — resolved from the Service spec, matching `port-name` when multiple ports are defined + +Since only one instance is returned, any configured Stork load balancer becomes a passthrough. + +[NOTE] +==== + +ClusterIP mode does not support headless Services (`clusterIP: None`). +If the target Service is headless, Stork returns an empty list of service instances. + +==== + +=== Multi-port Services + +ClusterIP mode works well with multi-port Services. +Use the `port-name` attribute to select the desired port: + +[source,yaml] +---- +apiVersion: v1 +kind: Service +metadata: + name: my-service +spec: + ports: + - name: http + port: 8080 + - name: grpc + port: 50051 +---- + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.use-cluster-ip=true +stork.my-service.service-discovery.port-name=grpc +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.use-cluster-ip=true +quarkus.stork.my-service.service-discovery.port-name=grpc +---- + +-- + +==== + +This resolves to `10.96.x.x:50051` — the ClusterIP with the `grpc` port without the application needing to know the actual port number. +If `port-name` is not set, Stork uses the first port defined in the Service spec. + +Supported attributes are the following: + +include::{generated-dir}/kubernetes-sd-attributes.adoc[] + +== Caching the service instances + +Contacting the cluster too much frequently can result in performance problems. It's why Kubernetes Service discovery extends `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +Moreover, the caching expiration has been also improved in order to only update the retrieved set of `ServiceInstance` if some of them changes and an event is emitted. +This is done by creating an https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/informers/SharedIndexInformer.html[Informer], similar to a https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/Watch.html[Watch], able to observe the events on the service instances resources. + +Note that: +- the cache is invalidated when an event is received. +- the cache is validated, if and only if, the instances are retrieved successfully from the cluster, in the `fetchNewServiceInstances` method. +- In case of an error contacting the cluster (e.g., network failure, API server unreachable), a retry mechanism is triggered. +The system will attempt to contact the cluster up to the number of times specified by request-retry-backoff-limit, waiting request-retry-backoff-interval milliseconds between each attempt. +By default, retries are disabled to prevent the system from entering an infinite loop of calls to an unresponsive cluster. +- If no service instances are found (e.g., no matching endpoints, headless service in ClusterIP mode), Stork returns an empty list. +- the `cache` method is overridden to customize the expiration strategy. In this case the collection of service instances will be kept until an event occurs. + +When EndpointSlice are selected, Stork creates informers on the `EndpointSlice` resources instead of classic `Endpoints`. +The caching behavior remains unchanged. + +In ClusterIP mode, Stork creates an Informer on the Kubernetes `Service` resource (instead of Endpoints or EndpointSlices). +The cache is invalidated when the Service is added, updated, or deleted. +The same caching behavior described above applies. diff --git a/content/docs/smallrye-stork/2/service-discovery/overview.adoc b/content/docs/smallrye-stork/2/service-discovery/overview.adoc new file mode 100644 index 000000000..42531f0d8 --- /dev/null +++ b/content/docs/smallrye-stork/2/service-discovery/overview.adoc @@ -0,0 +1,34 @@ += Overview +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Service Discovery in SmallRye Stork + +As already introduced, service discovery is a crucial part of modern microservices architectures. +It allows services to dynamically discover the location of other services at runtime, which is particularly useful in distributed systems where services may scale up or down, +or change their network addresses. + +SmallRye Stork provides a flexible and extensible mechanism for service discovery. +It supports out of the box some service discovery such as Kubernetes or Consul but the main strength of it is customization so you can easily create your own implementation related on your business for example. +Stork allows services to communicate with each other without requiring hardcoded addresses, making it an ideal solution for microservices deployments. +SmallRye Stork brings this capability to clients for Quarkus applications but it's vendor agnostic so you easily use it with other solutions and even in standalone mode. + +== Service discovery caching overview + +Stork provides a built-in caching mechanism for service discovery results. +By default, each service discovery implementation may repeatedly contact its backend (e.g., Consul, Kubernetes, Eureka) to retrieve the current list of service instances. +Since these lookups can be expensive or frequent, Stork allows service discovery providers to cache the retrieved instances for a configurable period of time. + +* Cached results are reused for subsequent lookups, avoiding unnecessary backend calls. +* The cache is automatically refreshed after the configured `refresh-period`. +* If a refresh fails, Stork keeps serving the previously retrieved list of instances until a new successful refresh occurs. + +In addition to the time-based refresh mechanism, Stork also exposes an *cache invalidation API* . +This API can be used to explicitly clear the cached results, forcing the next lookup to perform a new service discovery call. +This is especially useful when the service discovery backend supports event-based notifications (for example, Consul blocking queries), allowing the cache to be invalidated as soon as a change is detected. + +____ +For more details about how to enable caching in a custom service discovery implementation, see the xref:service-discovery/custom-service-discovery.adoc#caching-the-service-instances[Caching the service instances] section. +____ + +You can explore the different implementations and learn how to create your own in the following sections. diff --git a/content/docs/smallrye-stork/2/service-discovery/static-list.adoc b/content/docs/smallrye-stork/2/service-discovery/static-list.adoc new file mode 100644 index 000000000..4e2b066f3 --- /dev/null +++ b/content/docs/smallrye-stork/2/service-discovery/static-list.adoc @@ -0,0 +1,56 @@ += Static List Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +In some situations, such as demos, development, or testing, you may want to mock the service discovery by providing a predefined list of service instances. +For this purpose, Stork comes with a `static` service discovery type. + +== Dependency + +To use the `static` service discovery, first add the appropriate Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-static-list + {project-version} + +---- + +== Configuration + +For each service that should use the static list of service instances configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=static +stork.my-service.service-discovery.address-list=localhost:8080,localhost:8081 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=static +quarkus.stork.my-service.service-discovery.address-list=localhost:8080,localhost:8081 +---- + +-- + +==== + +These are all the static service discovery parameters: + +include::{generated-dir}/static-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/2/service-registration/consul.adoc b/content/docs/smallrye-stork/2/service-registration/consul.adoc new file mode 100644 index 000000000..10fe6d6ea --- /dev/null +++ b/content/docs/smallrye-stork/2/service-registration/consul.adoc @@ -0,0 +1,228 @@ += Consul Service Registration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://www.consul.io/[Consul] is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. +It's often used as service discovery backend to register and locate the services composing your system. +Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. +External services can be registered as well. + +This page explains how Stork can use Consul to handle the service registration. + +== Dependency + +First, you need to add the Stork Consul Service Registration provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-registration-consul + {project-version} + +---- + +== Service registration configuration + +For each service that should register the service instances in Consul, configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +---- + +Consul service registrar is configured with the following parameters: + +include::{generated-dir}/consul-sr-attributes.adoc[] + +== Service deregistration configuration + +There is no specific configuration required to enable deregistration; however, you must ensure that a consul service registrar is configured for the service: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +---- + +As with registration, deregistration relies on the service name. + +== Secure communication with Consul + +When your Consul cluster uses TLS/SSL encryption, you can configure Stork to establish secure connections. Enable SSL and provide the necessary trust store configuration: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +stork.my-service.service-registrar.consul-host=localhost +stork.my-service.service-registrar.consul-port=8501 +stork.my-service.service-registrar.ssl=true +stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +stork.my-service.service-registrar.trust-store-password=changeit +stork.my-service.service-registrar.verify-host=true +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +quarkus.stork.my-service.service-registrar.consul-host=localhost +quarkus.stork.my-service.service-registrar.consul-port=8501 +quarkus.stork.my-service.service-registrar.ssl=true +quarkus.stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +quarkus.stork.my-service.service-registrar.trust-store-password=changeit +quarkus.stork.my-service.service-registrar.verify-host=true +---- + +-- + +==== + +For mutual TLS (mTLS) authentication where the client must also present a certificate, provide both trust store and key store configuration: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +stork.my-service.service-registrar.consul-host=localhost +stork.my-service.service-registrar.consul-port=8501 +stork.my-service.service-registrar.ssl=true +stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +stork.my-service.service-registrar.trust-store-password=changeit +stork.my-service.service-registrar.key-store-path=/path/to/keystore.jks +stork.my-service.service-registrar.key-store-password=changeit +stork.my-service.service-registrar.verify-host=true +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +quarkus.stork.my-service.service-registrar.consul-host=localhost +quarkus.stork.my-service.service-registrar.consul-port=8501 +quarkus.stork.my-service.service-registrar.ssl=true +quarkus.stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +quarkus.stork.my-service.service-registrar.trust-store-password=changeit +quarkus.stork.my-service.service-registrar.key-store-path=/path/to/keystore.jks +quarkus.stork.my-service.service-registrar.key-store-password=changeit +quarkus.stork.my-service.service-registrar.verify-host=true +---- + +-- + +==== + +== ACL Token Authentication + +When your Consul cluster has ACL (Access Control List) enabled, you need to provide an ACL token for authentication: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +stork.my-service.service-registrar.consul-host=localhost +stork.my-service.service-registrar.consul-port=8500 +stork.my-service.service-registrar.acl-token=your-acl-token +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +quarkus.stork.my-service.service-registrar.consul-host=localhost +quarkus.stork.my-service.service-registrar.consul-port=8500 +quarkus.stork.my-service.service-registrar.acl-token=your-acl-token +---- + +-- + +==== + +The ACL token can be combined with SSL/TLS configuration for secure, authenticated access to Consul. diff --git a/content/docs/smallrye-stork/2/service-registration/custom-service-registration.adoc b/content/docs/smallrye-stork/2/service-registration/custom-service-registration.adoc new file mode 100644 index 000000000..efd60d49b --- /dev/null +++ b/content/docs/smallrye-stork/2/service-registration/custom-service-registration.adoc @@ -0,0 +1,162 @@ += Implement your own service registration mechanism +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork is extensible, and you can implement your own service registrar mechanism. + +== Dependencies + +To implement your _Service Registration Provider_, make sure your project depends on Core and Configuration Generator. +The former brings classes necessary to implement custom registrar, the latter contains an https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/annotation/processing/Processor.html[annotation processor] that generates classes needed by Stork. + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a service registrar provider + +Service registration implementation consists of three elements: + +* `ServiceRegistrar` which is responsible for registering service instances for a single Stork service. +* `ServiceRegistrarProvider` which creates instances of `ServiceRegistrar` for a given service registrar _type_. +* `$typeConfiguration` which is a configuration for the registrar. This class is automatically generated during the compilation (using an annotation processor). + +A _type_, for example, `acme`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=acme +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=acme +---- + +-- + +==== + +A `ServiceRegistrarProvider` implementation needs to be annotated with `@ServiceRegistrarType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@ServiceRegistrarAttribute` annotations placed on the provider. +Optionally, you can also add `@ApplicationScoped` annotation in order to provide the service registrar implementation as CDI bean. + +A service registrar provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceRegistrarProvider.java[indent=0] +---- + +Note, that the `ServiceRegistrarProvider` interface takes a configuration class as a parameter. This configuration class +is generated automatically by the _Configuration Generator_. +Its name is created by appending `RegistrarConfiguration` to the service registrar type, such as `AcmeRegistrarConfiguration`. + +The next step is to implement the `ServiceRegistrar` interface: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceRegistrar.java[indent=0] +---- + +This implementation is simplistic. +Typically, instead of creating a service instance with values from the configuration, you would connect to a service registration backend, look for the service and build the list of service instance accordingly. +That's why the method returns a `Uni`. +Most of the time, the lookup is a remote operation. + +As you can see, the `AcmeConfiguration` class gives access to the configuration attribute. + +=== Implement your own service deregistration mechanism + +The `registerServiceInstance` method receives an optional `instanceName` parameter that acts as an explicit identifier for the registered instance. +When provided, it should be used as the registration ID so that the same instance can be precisely targeted during deregistration. +If `instanceName` is `null` or empty, implementations should fall back to a deterministic ID derived from the service name, IP address, and port. + +Finally, you can implement your own service deregistration mechanism in `deregisterServiceInstance` method. + +[WARNING] +.Override the specific-instance deregistration methods +==== + +The `ServiceRegistrar` interface provides several deregistration methods: + +* `deregisterServiceInstance(String serviceName)` — deregisters *all* instances of a service. +* `deregisterServiceInstance(String serviceName, String instanceName)` — deregisters the instance registered under the given name. +* `deregisterServiceInstance(String serviceName, String ipAddress, int port)` — deregisters the instance identified by IP and port. + +The default implementations of the second and third methods fall back to the first, which may deregister *all* instances. +*Custom registrar implementations should override at least one of the specific-instance methods* to provide precise, instance-level deregistration and avoid unintended side effects. + +==== + +== Using your service registrar using the programmatic API + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=acme +stork.my-service.service-registrar.host=localhost +stork.my-service.service-registrar.port=1234 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=acme +quarkus.stork.my-service.service-registrar.host=localhost +quarkus.stork.my-service.service-registrar.port=1234 +---- + +-- + +==== + +When building your service registrar project project, the configuration generator creates a configuration class. +Then, Stork will use your implementation to register/deregister the service instances using the `acme` backend. + +This class can be used to configure your service registrar using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeRegistrarApiUsage.java[indent=0] +---- diff --git a/content/docs/smallrye-stork/2/service-registration/eureka.adoc b/content/docs/smallrye-stork/2/service-registration/eureka.adoc new file mode 100644 index 000000000..8e327934d --- /dev/null +++ b/content/docs/smallrye-stork/2/service-registration/eureka.adoc @@ -0,0 +1,105 @@ += Eureka Service Registration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://github.com/Netflix/eureka[Eureka] is a RESTful service that is primarily used in the AWS cloud for the purpose of discovery, load balancing, and failover of middle-tier servers. + +This page explains how Stork can use Eureka to handle the service registration. + +== Dependency + +First, you need to add the Stork Eureka Service Registration provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-registration-eureka + {project-version} + +---- + +== Service registration configuration + +For each service that should register the service instances in Eureka, configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=eureka +stork.my-service.service-registrar.eureka-host=localhost +stork.my-service.service-registrar.eureka-port=8761 +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=eureka +quarkus.stork.my-service.service-registrar.eureka-host=localhost +quarkus.stork.my-service.service-registrar.eureka-port=8761 +---- + +Eureka service registrar is configured with the following parameters: + +include::{generated-dir}/eureka-sr-attributes.adoc[] + +The `ipAddress` passed to `registerServiceInstance()` is used as both the IP address (`ipAddr`) and the hostname (`hostName`) registered in Eureka. +If the instance has a distinct DNS hostname, set `host-name` explicitly to override this default. + +== Service deregistration configuration + +There is no specific configuration required to enable deregistration; however, you must ensure that a consul service registrar is configured for the service: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=eureka +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=eureka +---- + +As with registration, deregistration relies on the service name. diff --git a/content/docs/smallrye-stork/2/service-registration/overview.adoc b/content/docs/smallrye-stork/2/service-registration/overview.adoc new file mode 100644 index 000000000..082df0e9f --- /dev/null +++ b/content/docs/smallrye-stork/2/service-registration/overview.adoc @@ -0,0 +1,82 @@ += Overview +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Service Registration in SmallRye Stork + +Service registration is the process by which services announce their availability to a central registry, allowing other services to discover and communicate with them. +In SmallRye Stork, service registration is automated and integrated with supported registries like *Consul*. +This ensures that services can dynamically join and leave the network. + +=== Key Features: + +* *Automatic Registration*: For *Quarkus applications*, SmallRye Stork automatically registers the application with the configured service registry — but *only for built-in registrars such as Consul, Eureka, and Static*. +If you're using a custom registrar, registration must still be handled programmatically, as before this feature. + +Registration is enabled by default. If you want to disable registration, you can do it per service using the following property: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.enable=false +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.enable=false +---- + +*IMPORTANT* Public IP address needs to be provided. Smallrye Stork will fail if the service IP address is not provided during registration. + +==== Supported Registries: + +Currently, Smallrye Stork provides seamless integration with Consul, Eureka and a Static registry. +This integration simplifies the management of dynamic environments where services are frequently added or removed. + +==== Custom Registration: + +In addition to the default mechanisms, SmallRye Stork allows you to implement custom service registration strategies, +providing flexibility for different infrastructures or custom service registration needs. + +In the following sections you can have more details about each specific implementation. + +=== Deregister Services + +SmallRye Stork now supports deregistration of service instances from a central registry when explicitly requested. +This feature complements the registration mechanism. + +This operation is typically should be triggered when a service instance is shut down or no longer available, helping maintain a consistent and accurate service registry. +To enable service deregistration, you can invoke the `deregisterServiceInstance` method on the `ServiceRegistrar` implementation programmatically. +To target a specific instance, prefer one of these overloads: + +* `deregisterServiceInstance(serviceName, instanceName)` — deregisters the instance registered under the given name. +* `deregisterServiceInstance(serviceName, ipAddress, port)` — deregisters the instance identified by IP and port. + +The single-argument overload `deregisterServiceInstance(serviceName)` deregisters *all* instances of the service. + +*Note*: When used in standalone mode, Stork does *not* automatically handle service instance registration or deregistration. +However, when using the quarkus-stork-registration extension within a Quarkus application, +service instances are automatically registered at application startup and deregistered upon shutdown, unless this behavior is explicitly disabled. + +In the following sections you can have more details about each specific implementation. diff --git a/content/docs/smallrye-stork/2/service-registration/static-list.adoc b/content/docs/smallrye-stork/2/service-registration/static-list.adoc new file mode 100644 index 000000000..87e3eb570 --- /dev/null +++ b/content/docs/smallrye-stork/2/service-registration/static-list.adoc @@ -0,0 +1,96 @@ += Static List Service Registration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork provides the ability to register services using Static list as backend. + +== Dependency + +To use the `static` service registrar, first add the appropriate Service Registration provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-registration-static-list + {project-version} + +---- + +== Service registration configuration + +For each service that should register the service instances in a static list, configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=static +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=static +---- + +Static service registrar is configured with the following parameters: + +include::{generated-dir}/static-sr-attributes.adoc[] + +== Service deregistration configuration + +There is no specific configuration required to enable deregistration; however, you must ensure that a consul service registrar is configured for the service: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=static +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=static +---- + +As with registration, deregistration relies on the service name. diff --git a/content/docs/smallrye-stork/2/springboot-config.adoc b/content/docs/smallrye-stork/2/springboot-config.adoc new file mode 100644 index 000000000..05d2f1a3b --- /dev/null +++ b/content/docs/smallrye-stork/2/springboot-config.adoc @@ -0,0 +1,40 @@ += Stork Spring Boot Config +include::_attributes.adoc[] + +Stork seamlessly supports Spring Boot configuration, facilitating access to configuration properties. +This documentation elaborates on how Spring Boot developers can use Stork in their Spring Boot applications and configure it using the application.properties file. + +== Dependency setup + +To enable Spring Boot configuration integration in Stork, you need to include the following dependency: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-spring-boot-config + {project-version} + +---- + +== Initializing Stork + +Since Spring Boot lacks a pre-configured Stork instance, you'll need create one. It can be done by providing a Spring bean performing Stork initialization: + +[source,java] +---- +include::{examples-dir}/examples/SpringBootInitializationExample.java[indent=0] +---- + +Upon initialization, Stork scans for the `io.smallrye.stork.springboot.SpringBootConfigProvider` SPI provider and CDI beans (from version 2.x onwards). +It then builds a comprehensive list of managed services by parsing the properties configuration files. + +Please note the importance of the `io.smallrye.stork.springboot.SpringBootApplicationContextProvider` bean in our setup. +This bean has a critical role by granting Stork access to the current `org.springframework.context.ApplicationContext`. +It enables it to retrieve configuration details effectively. Consequently, it's imperative that this bean is instantiated prior to initiating the Stork initialization process. +In this case, we utilize the `@DependsOn` annotation for that. +It allows us controlling the bean creation order. + +== Comprehensive Example + +You can check our https://github.com/aureamunoz/spring-stork-guitar-hero/[Guitar Hero Application] showcasing the seamless integration of Stork with Spring Boot Configuration. diff --git a/content/docs/smallrye-stork/latest/_attributes.adoc b/content/docs/smallrye-stork/latest/_attributes.adoc new file mode 100644 index 000000000..2c34041a9 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 3.0.3 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Stork +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.0.3 +:relfileprefix: /docs/smallrye-stork/latest/ +:imagesdir: /docs/smallrye-stork/latest +:docs-project: smallrye-stork +:docs-version: latest +:docs-ref: 3.0.3 diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeDiscoveryApiUsage.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeDiscoveryApiUsage.java new file mode 100644 index 000000000..1487b571a --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeDiscoveryApiUsage.java @@ -0,0 +1,20 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.StorkServiceRegistry; + +import java.util.List; + +public class AcmeDiscoveryApiUsage { + + public void example(StorkServiceRegistry stork) { + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new AcmeConfiguration().withHost("my-host")) + ); + + Uni> serviceInstances = stork.getService("my-service").getInstances(); + } + +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeLoadBalancer.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeLoadBalancer.java new file mode 100644 index 000000000..6fb0b1be1 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeLoadBalancer.java @@ -0,0 +1,32 @@ +package examples; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Random; + +import io.smallrye.stork.api.LoadBalancer; +import io.smallrye.stork.api.NoServiceInstanceFoundException; +import io.smallrye.stork.api.ServiceInstance; + +public class AcmeLoadBalancer implements LoadBalancer { + + private final Random random; + + public AcmeLoadBalancer(AcmeLoadBalancerConfiguration config) { + random = new Random(); + } + + @Override + public ServiceInstance selectServiceInstance(Collection serviceInstances) { + if (serviceInstances.isEmpty()) { + throw new NoServiceInstanceFoundException("No services found."); + } + int index = random.nextInt(serviceInstances.size()); + return new ArrayList<>(serviceInstances).get(index); + } + + @Override + public boolean requiresStrictRecording() { + return false; + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeLoadBalancerProvider.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeLoadBalancerProvider.java new file mode 100644 index 000000000..3640322ee --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeLoadBalancerProvider.java @@ -0,0 +1,22 @@ +package examples; + +import io.smallrye.stork.api.LoadBalancer; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.LoadBalancerAttribute; +import io.smallrye.stork.api.config.LoadBalancerType; +import io.smallrye.stork.spi.LoadBalancerProvider; +import jakarta.enterprise.context.ApplicationScoped; + +@LoadBalancerType("acme-load-balancer") +@LoadBalancerAttribute(name = "my-attribute", + description = "Attribute that alters the behavior of the LoadBalancer") +@ApplicationScoped +public class AcmeLoadBalancerProvider implements + LoadBalancerProvider { + + @Override + public LoadBalancer createLoadBalancer(AcmeLoadBalancerConfiguration config, + ServiceDiscovery serviceDiscovery) { + return new AcmeLoadBalancer(config); + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeObservationCollector.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeObservationCollector.java new file mode 100644 index 000000000..3c4655e7d --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeObservationCollector.java @@ -0,0 +1,35 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.observability.ObservationCollector; +import io.smallrye.stork.api.observability.StorkEventHandler; +import io.smallrye.stork.api.observability.StorkObservation; +import org.jboss.logging.Logger; + +public class AcmeObservationCollector implements ObservationCollector { + + private static final Logger LOGGER = Logger.getLogger(AcmeObservationCollector.class); + + private static final StorkEventHandler ACME_HANDLER = event -> { + //This is the terminal event. Put here your custom logic to extend the metrics collection. + + //E.g. Expose metrics to Micrometer, additional logs.... + LOGGER.info( "Service discovery took " + event.getServiceDiscoveryDuration() + "."); + LOGGER.info( event.getDiscoveredInstancesCount() + " have been discovered for " + event.getServiceName() + "."); + LOGGER.info( "Service selection took " + event.getServiceSelectionDuration() + "."); + + // ... + + }; + + public static StorkObservation ACME_STORK_EVENT; + + @Override + public StorkObservation create(String serviceName, String serviceDiscoveryType, + String serviceSelectionType) { + ACME_STORK_EVENT = new StorkObservation( + serviceName, serviceDiscoveryType, serviceSelectionType, + ACME_HANDLER); + return ACME_STORK_EVENT; + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeRegistrarApiUsage.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeRegistrarApiUsage.java new file mode 100644 index 000000000..2c4b52cef --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeRegistrarApiUsage.java @@ -0,0 +1,21 @@ +package examples; + +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.StorkServiceRegistry; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +public class AcmeRegistrarApiUsage { + + public void example(StorkServiceRegistry stork) { + String list = "localhost:8080, localhost:8081"; + + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new StaticConfiguration().withAddressList(list), + new AcmeLoadBalancerConfiguration().withMyAttribute("my-value"),new AcmeRegistrarConfiguration()) + ); + + stork.getService("my-service").registerNamedInstance("my-instance", "localhost", + 9000); + } + +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeSelectorApiUsage.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeSelectorApiUsage.java new file mode 100644 index 000000000..67440ddf9 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeSelectorApiUsage.java @@ -0,0 +1,22 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.StorkServiceRegistry; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; +import io.smallrye.stork.serviceregistration.staticlist.StaticRegistrarConfiguration; + +public class AcmeSelectorApiUsage { + + public void example(StorkServiceRegistry stork) { + String list = "localhost:8080, localhost:8081"; + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new StaticConfiguration().withAddressList(list), + new AcmeLoadBalancerConfiguration().withMyAttribute("my-value"),new StaticRegistrarConfiguration()) + ); + + Uni uni = stork.getService("my-service").selectInstance(); + } + +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceDiscovery.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceDiscovery.java new file mode 100644 index 000000000..b9368c4b4 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceDiscovery.java @@ -0,0 +1,32 @@ +package examples; + +import java.util.Collections; +import java.util.List; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +public class AcmeServiceDiscovery implements ServiceDiscovery { + + private final String host; + private final int port; + + public AcmeServiceDiscovery(AcmeConfiguration configuration) { + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override + public Uni> getServiceInstances() { + // Proceed to the lookup... + // Here, we just return a DefaultServiceInstance with the configured host and port + // The last parameter specifies whether the communication with the instance should + // happen over a secure connection + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceDiscoveryProvider.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceDiscoveryProvider.java new file mode 100644 index 000000000..ca39d5289 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceDiscoveryProvider.java @@ -0,0 +1,28 @@ +package examples; + +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.ServiceConfig; +import io.smallrye.stork.api.config.ServiceDiscoveryAttribute; +import io.smallrye.stork.api.config.ServiceDiscoveryType; +import io.smallrye.stork.spi.StorkInfrastructure; +import io.smallrye.stork.spi.ServiceDiscoveryProvider; +import jakarta.enterprise.context.ApplicationScoped; + +@ServiceDiscoveryType("acme") +@ServiceDiscoveryAttribute(name = "host", + description = "Host name of the service discovery server.", required = true) +@ServiceDiscoveryAttribute(name = "port", + description = "Hort of the service discovery server.", required = false) +@ApplicationScoped +public class AcmeServiceDiscoveryProvider + implements ServiceDiscoveryProvider { + + @Override + public ServiceDiscovery createServiceDiscovery( + AcmeConfiguration config, + String serviceName, + ServiceConfig serviceConfig, + StorkInfrastructure storkInfrastructure) { + return new AcmeServiceDiscovery(config); + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceRegistrar.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceRegistrar.java new file mode 100644 index 000000000..52ce8d799 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceRegistrar.java @@ -0,0 +1,38 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.Metadata; +import io.smallrye.stork.api.ServiceRegistrar; + +import java.util.List; + +public class AcmeServiceRegistrar implements ServiceRegistrar { + + private final String backendHost; + private final int backendPort; + + public AcmeServiceRegistrar(AcmeRegistrarConfiguration configuration) { + this.backendHost = configuration.getHost(); + this.backendPort = Integer.parseInt(configuration.getPort()); + } + + + @Override + public Uni registerServiceInstance(String serviceName, String instanceName, Metadata metadata, String ipAddress, int defaultPort) { + //instanceName is an optional identifier for this specific instance; use it as the registration ID when provided + //do whatever is needed for registering service instance + return Uni.createFrom().voidItem(); + } + + @Override + public Uni registerServiceInstance(String serviceName, String instanceName, List tags, + Metadata metadata, String ipAddress, int defaultPort) { + return Uni.createFrom().voidItem(); + } + + @Override + public Uni deregisterServiceInstance(String serviceName) { + //do whatever is needed for deregistering service instance + return Uni.createFrom().voidItem(); + } +} \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceRegistrarProvider.java b/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceRegistrarProvider.java new file mode 100644 index 000000000..52e028cfb --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/AcmeServiceRegistrarProvider.java @@ -0,0 +1,28 @@ +package examples; + +import io.smallrye.stork.api.Metadata; +import io.smallrye.stork.api.ServiceRegistrar; +import io.smallrye.stork.api.config.ServiceRegistrarAttribute; +import io.smallrye.stork.api.config.ServiceRegistrarType; +import io.smallrye.stork.spi.ServiceRegistrarProvider; +import io.smallrye.stork.spi.StorkInfrastructure; +import jakarta.enterprise.context.ApplicationScoped; + +@ServiceRegistrarType(value = "acme", metadataKey = Metadata.DefaultMetadataKey.class) +@ServiceRegistrarAttribute(name = "host", + description = "Host name of the service registration server.", required = true) +@ServiceRegistrarAttribute(name = "port", + description = "Port of the service registration server.", required = false) +@ApplicationScoped +public class AcmeServiceRegistrarProvider + implements ServiceRegistrarProvider { + + @Override + public ServiceRegistrar createServiceRegistrar( + AcmeRegistrarConfiguration config, + String serviceName, + StorkInfrastructure storkInfrastructure) { + return new AcmeServiceRegistrar(config); + } + +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/CachedAcmeServiceDiscovery.java b/content/docs/smallrye-stork/latest/_examples/examples/CachedAcmeServiceDiscovery.java new file mode 100644 index 000000000..204aa78c9 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/CachedAcmeServiceDiscovery.java @@ -0,0 +1,31 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +import java.util.Collections; +import java.util.List; + +public class CachedAcmeServiceDiscovery extends CachingServiceDiscovery { + + private final String host; + private final int port; + + public CachedAcmeServiceDiscovery(CachedAcmeConfiguration configuration) { + super(configuration.getRefreshPeriod()); // (1) + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override // (2) + public Uni> fetchNewServiceInstances(List previousInstances) { + // Retrieve services... + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/CachedAcmeServiceDiscoveryProvider.java b/content/docs/smallrye-stork/latest/_examples/examples/CachedAcmeServiceDiscoveryProvider.java new file mode 100644 index 000000000..56d627671 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/CachedAcmeServiceDiscoveryProvider.java @@ -0,0 +1,32 @@ +package examples; + +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.ServiceConfig; +import io.smallrye.stork.api.config.ServiceDiscoveryAttribute; +import io.smallrye.stork.api.config.ServiceDiscoveryType; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.spi.ServiceDiscoveryProvider; +import io.smallrye.stork.spi.StorkInfrastructure; +import jakarta.enterprise.context.ApplicationScoped; + +@ServiceDiscoveryType("cached-acme") +@ServiceDiscoveryAttribute(name = "host", + description = "Host name of the service discovery server.", required = true) +@ServiceDiscoveryAttribute(name = "port", + description = "Hort of the service discovery server.", required = false) +@ServiceDiscoveryAttribute(name = "refresh-period", + description = "Service discovery cache refresh period.", + defaultValue = CachingServiceDiscovery.DEFAULT_REFRESH_INTERVAL) +@ApplicationScoped +public class CachedAcmeServiceDiscoveryProvider + implements ServiceDiscoveryProvider { + + @Override + public ServiceDiscovery createServiceDiscovery( + CachedAcmeConfiguration config, + String serviceName, + ServiceConfig serviceConfig, + StorkInfrastructure storkInfrastructure) { + return new CachedAcmeServiceDiscovery(config); + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java b/content/docs/smallrye-stork/latest/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java new file mode 100644 index 000000000..b2e3823c9 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java @@ -0,0 +1,44 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +import java.util.Collections; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; + +public class CustomExpirationCachedAcmeServiceDiscovery extends CachingServiceDiscovery { + + private final String host; + private final int port; + + private AtomicBoolean invalidated = new AtomicBoolean(); + + public CustomExpirationCachedAcmeServiceDiscovery(CachedAcmeConfiguration configuration) { + super(configuration.getRefreshPeriod()); + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override + public Uni> fetchNewServiceInstances(List previousInstances) { + // Retrieve services... + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } + + @Override + public Uni> cache(Uni> uni) { + return uni.memoize().until(() -> invalidated.get()); + } + + @Override + public void invalidate() { + invalidated.set(true); + } + +} \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/_examples/examples/DefinitionExample.java b/content/docs/smallrye-stork/latest/_examples/examples/DefinitionExample.java new file mode 100644 index 000000000..aab2dc3d6 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/DefinitionExample.java @@ -0,0 +1,30 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; +import io.smallrye.stork.serviceregistration.staticlist.StaticRegistrarConfiguration; + +public class DefinitionExample { + + public static void example(Stork stork) { + String example = "localhost:8080, localhost:8081"; + + // A service using a static list of locations as discovery + // As not set, it defaults to round-robin to select the instance. + stork.defineIfAbsent("my-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example))); + + // Another service using the random selection strategy, instead of round-robin + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration())); + + // Another service using the random selection strategy, instead of round-robin + // and a static service registrar + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration(), new StaticRegistrarConfiguration())); + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/HelloClient.java b/content/docs/smallrye-stork/latest/_examples/examples/HelloClient.java new file mode 100644 index 000000000..eec581608 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/HelloClient.java @@ -0,0 +1,20 @@ +package examples; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; + + + +@Path("/") +@RegisterRestClient(baseUri = "stork://hello-service/hello") +public interface HelloClient { + @POST + @Produces(MediaType.TEXT_PLAIN) + @Consumes(MediaType.TEXT_PLAIN) + String echo(String name); +} + diff --git a/content/docs/smallrye-stork/latest/_examples/examples/InitializationExample.java b/content/docs/smallrye-stork/latest/_examples/examples/InitializationExample.java new file mode 100644 index 000000000..cb93ca0bd --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/InitializationExample.java @@ -0,0 +1,18 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +import java.time.Duration; + +public class InitializationExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + // ... + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/LookupExample.java b/content/docs/smallrye-stork/latest/_examples/examples/LookupExample.java new file mode 100644 index 000000000..71e232d12 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/LookupExample.java @@ -0,0 +1,27 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +import java.util.List; +import java.util.Map; + +public class LookupExample { + + public static void example(Stork stork) { + Service service = stork.getService("my-service"); + + // Gets all the available instances: + Uni> instances = service.getInstances(); + // Select one instance using the load balancing strategy + Uni instance = service.selectInstance(); + + // Gets all the managed services: + Map services = stork.getServices(); + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/ObservableInitializationExample.java b/content/docs/smallrye-stork/latest/_examples/examples/ObservableInitializationExample.java new file mode 100644 index 000000000..d18854291 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/ObservableInitializationExample.java @@ -0,0 +1,13 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.integration.ObservableStorkInfrastructure; + +public class ObservableInitializationExample { + + public static void main(String[] args) { + Stork.initialize(new ObservableStorkInfrastructure(new AcmeObservationCollector())); + Stork stork = Stork.getInstance(); + // ... + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/ObservationExample.java b/content/docs/smallrye-stork/latest/_examples/examples/ObservationExample.java new file mode 100644 index 000000000..299fc5b4e --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/ObservationExample.java @@ -0,0 +1,35 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.observability.ObservationCollector; +import io.smallrye.stork.api.observability.StorkObservation; + +import java.time.Duration; +import java.util.List; +import java.util.Map; + +import static examples.AcmeObservationCollector.*; + +public class ObservationExample { + + public static void example(Stork stork) { + Service service = stork.getService("my-service"); + + ObservationCollector observations = service.getObservations(); + + // Gets the time spent in service discovery and service selection even if any error happens + Duration overallDuration = ACME_STORK_EVENT.getOverallDuration(); + + // Gets the total number of instances discovered + int discoveredInstancesCount = ACME_STORK_EVENT.getDiscoveredInstancesCount(); + + // Gets the error raised during the process + Throwable failure = ACME_STORK_EVENT.failure(); + + // ... + + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/SpringBootInitializationExample.java b/content/docs/smallrye-stork/latest/_examples/examples/SpringBootInitializationExample.java new file mode 100644 index 000000000..d21242584 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/SpringBootInitializationExample.java @@ -0,0 +1,29 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.springboot.SpringBootApplicationContextProvider; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.DependsOn; + +@SpringBootApplication +public class SpringBootInitializationExample { + + public static void main(String[] args) { + SpringApplication.run(SpringBootInitializationExample.class, args); + } + + @Bean + @DependsOn("springBootApplicationContextProvider") + public Stork stork() { + Stork.initialize(); + Stork stork = Stork.getInstance(); + return stork; + } + + @Bean + public SpringBootApplicationContextProvider springBootApplicationContextProvider() { + return new SpringBootApplicationContextProvider(); + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/StorkApiExample.java b/content/docs/smallrye-stork/latest/_examples/examples/StorkApiExample.java new file mode 100644 index 000000000..d8713eb9f --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/StorkApiExample.java @@ -0,0 +1,40 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; +import io.smallrye.stork.serviceregistration.staticlist.StaticRegistrarConfiguration; + +import java.time.Duration; + +public class StorkApiExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + String example = "localhost:8080, localhost:8082"; + + // A service using a static list of locations as discovery + // As not set, it defaults to round-robin to select the instance. + stork.defineIfAbsent("my-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example))); + + // Another service using the random selection strategy, instead of round-robin + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration())); + + ServiceInstance instance = stork.getService("my-second-service").selectInstance() + .await().atMost(Duration.ofSeconds(1)); + System.out.println(instance.getHost() + ":" + instance.getPort()); + + // Another service using the random selection strategy, instead of round-robin + // and a static service registrar + stork.defineIfAbsent("my-third-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration(), new StaticRegistrarConfiguration())); + } +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/StorkEntryPointExample.java b/content/docs/smallrye-stork/latest/_examples/examples/StorkEntryPointExample.java new file mode 100644 index 000000000..99343bd51 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/StorkEntryPointExample.java @@ -0,0 +1,14 @@ +package examples; + +import io.smallrye.stork.Stork; + +public class StorkEntryPointExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/StorkServiceExample.java b/content/docs/smallrye-stork/latest/_examples/examples/StorkServiceExample.java new file mode 100644 index 000000000..c0b7dbb06 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/StorkServiceExample.java @@ -0,0 +1,18 @@ +package examples; + +import io.smallrye.stork.api.Service; +import io.smallrye.stork.Stork; + +public class StorkServiceExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/StorkServiceLookupExample.java b/content/docs/smallrye-stork/latest/_examples/examples/StorkServiceLookupExample.java new file mode 100644 index 000000000..70c03cdc1 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/StorkServiceLookupExample.java @@ -0,0 +1,24 @@ +package examples; + +import java.time.Duration; +import java.util.List; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; + +public class StorkServiceLookupExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + List instances = service.getInstances() + .await().atMost(Duration.ofSeconds(5)); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/latest/_examples/examples/StorkServiceSelectionExample.java b/content/docs/smallrye-stork/latest/_examples/examples/StorkServiceSelectionExample.java new file mode 100644 index 000000000..a9e3dcc85 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_examples/examples/StorkServiceSelectionExample.java @@ -0,0 +1,25 @@ +package examples; + +import java.time.Duration; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; + +public class StorkServiceSelectionExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + ServiceInstance instance = service.selectInstance() + .await().atMost(Duration.ofSeconds(5)); + + System.out.println(instance.getHost() + ":" + instance.getPort()); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/latest/_generated/composite-sd-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/composite-sd-attributes.adoc new file mode 100644 index 000000000..ae556fc30 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/composite-sd-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`services` |Yes | |A comma-separated list of services that this services consists of. +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/consul-sd-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/consul-sd-attributes.adoc new file mode 100644 index 000000000..007fb5d01 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/consul-sd-attributes.adoc @@ -0,0 +1,17 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`consul-host` |No |`localhost` |The Consul host. +|`consul-port` |No |`8500` |The Consul port. +|`use-health-checks` |No |`true` |Whether to use health check. +|`application` |No | |The application name; if not defined Stork service name will be used. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |whether the connection with the service should be encrypted with TLS. +|`ssl` |No |`false` |Whether to enable TLS/SSL when connecting to Consul (default: false) +|`trust-store-path` |No |++``++ |Path to the trust store file used to verify the Consul server certificate +|`trust-store-password` |No |++``++ |Password of the trust store +|`key-store-path` |No |++``++ |Path to the key store file containing the client certificate and private key +|`key-store-password` |No |++``++ |Password of the key store +|`verify-host` |No |`false` |Whether to enable hostname verification for the Consul TLS connection (default: false) +|`acl-token` |No |++``++ |Consul ACL token used for authentication when accessing the Consul API +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/consul-sr-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/consul-sr-attributes.adoc new file mode 100644 index 000000000..861f4a93b --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/consul-sr-attributes.adoc @@ -0,0 +1,16 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`consul-host` |No |`localhost` |The Consul host. +|`consul-port` |No |`8500` |The Consul port. +|`health-check-url` |No |++``++ |The liveness http address. +|`health-check-interval` |No |`30s` |How often Consul performs the health check +|`health-check-deregister-after` |No |`1m` |How long after the check is in critical status Consul will remove the service from the catalogue. +|`ssl` |No |`false` |Whether to enable TLS/SSL when connecting to Consul (default: false) +|`trust-store-path` |No |++``++ |Path to the trust store file used to verify the Consul server certificate +|`trust-store-password` |No |++``++ |Password of the trust store +|`key-store-path` |No |++``++ |Path to the key store file containing the client certificate and private key +|`key-store-password` |No |++``++ |Password of the key store +|`verify-host` |No |`false` |Whether to enable hostname verification for the Consul TLS connection (default: false) +|`acl-token` |No |++``++ |Consul ACL token used for authentication when accessing the Consul API +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/dns-sd-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/dns-sd-attributes.adoc new file mode 100644 index 000000000..d1e538a95 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/dns-sd-attributes.adoc @@ -0,0 +1,14 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`dns-servers` |No |`none` |Comma separated list of dns servers. Servers can either be in the `server:port` or just `server` form. Use `none` to use the system resolver. +|`hostname` |No | |The hostname to look up; if not defined Stork service name will be used. +|`record-type` |No |`SRV` |Type of the DNS record. A, AAAA and SRV records are supported +|`port` |No | |Port of the service instances. Required if the record type is other than SRV. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|`recursion-desired` |No |`true` |Whether DNS recursion is desired +|`resolve-srv` |No |`true` |Whether DNS resolution for SRV records is desired +|`dns-timeout` |No |`5s` |Timeout for DNS queries +|`fail-on-error` |No |`false` |Whether an error in retrieving service instances from one of the DNS servers should cause a failure of the discovery attempt. +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/eureka-sd-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/eureka-sd-attributes.adoc new file mode 100644 index 000000000..2a2581bcb --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/eureka-sd-attributes.adoc @@ -0,0 +1,13 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`eureka-host` |Yes | |The Eureka server host. +|`eureka-port` |No |`8761` |The Eureka server port. +|`eureka-context-path` |No |`/` |The Eureka server root context path. +|`application` |No | |The Eureka application Id; if not defined Stork service name will be used +|`eureka-trust-all` |No |`false` |Enable/Disable the TLS certificate verification +|`eureka-tls` |No |`false` |Use TLS to connect to the Eureka server +|`instance` |No | |The Eureka application instance Id +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No |`false` |Whether is should select the secured endpoint of the retrieved services. +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/eureka-sr-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/eureka-sr-attributes.adoc new file mode 100644 index 000000000..e18d0ba66 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/eureka-sr-attributes.adoc @@ -0,0 +1,11 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`eureka-host` |No |`localhost` |The Eureka host. +|`eureka-port` |No |`8761` |The Eureka port. +|`eureka-context-path` |No |`/` |The Eureka server root context path. +|`eureka-trust-all` |No |`false` |Enable/Disable the TLS certificate verification +|`eureka-tls` |No |`false` |Use TLS to connect to the Eureka server +|`health-check-url` |No |++``++ |The liveness http address. +|`host-name` |No |++``++ |The host name to register in Eureka. If not set, the ipAddress is used. +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/knative-sd-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/knative-sd-attributes.adoc new file mode 100644 index 000000000..3b3fe0eb3 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/knative-sd-attributes.adoc @@ -0,0 +1,9 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`knative-host` |No | |The Knative API host. +|`knative-namespace` |No | |The namespace of the service. Use all to discover all namespaces. +|`application` |No | |The Knative application Id; if not defined Stork service name will be used. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/kubernetes-sd-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/kubernetes-sd-attributes.adoc new file mode 100644 index 000000000..d0bbb6980 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/kubernetes-sd-attributes.adoc @@ -0,0 +1,14 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`k8s-host` |No | |The Kubernetes API host. +|`k8s-namespace` |No | |The namespace of the service. Use all to discover all namespaces. +|`application` |No | |The Kubernetes application Id; if not defined Stork service name will be used. +|`port-name` |No | |The Kubernetes application port name. If not defined, when exposing multiple ports, Stork will use the first one. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|`request-retry-backoff-limit` |No | |Maximum number of retry attempts allowed after a request failure. +|`request-retry-backoff-interval` |No | |Amount of time to wait between retry attempts after a request fails. +|`use-endpoint-slices` |No | |Use the EndpointSlice API instead +|`use-cluster-ip` |No |`false` |Use the Kubernetes Service ClusterIP instead of pod IPs. Stork returns a single instance with the ClusterIP and resolved port. +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/least-requests-lb-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/least-requests-lb-attributes.adoc new file mode 100644 index 000000000..60c10c523 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/least-requests-lb-attributes.adoc @@ -0,0 +1,4 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/least-response-time-lb-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/least-response-time-lb-attributes.adoc new file mode 100644 index 000000000..dd977d2d0 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/least-response-time-lb-attributes.adoc @@ -0,0 +1,7 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`declining-factor` |No |`0.9` |How much _score_ should decline in time, see Score calculation in the docs for details. +|`error-penalty` |No |`60s` |This load balancer treats an erroneous response as a response after this time. +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/power-of-two-choices-lb-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/power-of-two-choices-lb-attributes.adoc new file mode 100644 index 000000000..95a37a4df --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/power-of-two-choices-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/random-lb-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/random-lb-attributes.adoc new file mode 100644 index 000000000..95a37a4df --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/random-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/static-sd-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/static-sd-attributes.adoc new file mode 100644 index 000000000..469ca6230 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/static-sd-attributes.adoc @@ -0,0 +1,7 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`address-list` |Yes | |A comma-separated list of addresses (host:port). The default port is 80. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. Default is false, except if the host:port uses the port is 443. +|`shuffle` |No |`false` |Whether the list of address must be shuffled to avoid using the first address on every startup. +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/static-sr-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/static-sr-attributes.adoc new file mode 100644 index 000000000..8ec570617 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/static-sr-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`address-list` |Yes | |A comma-separated list of addresses (host:port). The default port is 80. +|=== diff --git a/content/docs/smallrye-stork/latest/_generated/sticky-lb-attributes.adoc b/content/docs/smallrye-stork/latest/_generated/sticky-lb-attributes.adoc new file mode 100644 index 000000000..e458f6468 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_generated/sticky-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`failure-backoff-time` |No |`0` |After how much time, a service instance that has failed can be reused. +|=== diff --git a/content/docs/smallrye-stork/latest/_nav.yml b/content/docs/smallrye-stork/latest/_nav.yml new file mode 100644 index 000000000..8346a2ff0 --- /dev/null +++ b/content/docs/smallrye-stork/latest/_nav.yml @@ -0,0 +1,70 @@ +title: SmallRye Stork +nav: +- title: Overview + page: index +- title: Concepts + page: concepts +- title: Programmatic API + page: programmatic-api +- title: Microprofile Configuration + page: microprofile-config +- title: Spring Boot Configuration + page: springboot-config +- title: Observability + page: observability +- title: Logging + page: logging +- title: Javadoc + url: https://javadoc.io/doc/io.smallrye.stork/smallrye-stork-api/latest/index.html +- title: Using Stork with Quarkus + page: quarkus +- title: Service Discovery + items: + - title: Overview + page: service-discovery/overview + - title: Consul + page: service-discovery/consul + - title: DNS + page: service-discovery/dns + - title: Kubernetes + page: service-discovery/kubernetes + - title: KNative + page: service-discovery/knative + - title: Eureka + page: service-discovery/eureka + - title: Composite + page: service-discovery/composite + - title: Static List + page: service-discovery/static-list + - title: Custom Service Discovery + page: service-discovery/custom-service-discovery +- title: Load-Balancing + items: + - title: Overview + page: load-balancer/overview + - title: Round Robin + page: load-balancer/round-robin + - title: Random + page: load-balancer/random + - title: Least Requests + page: load-balancer/least-requests + - title: Least Response Time + page: load-balancer/least-response-time + - title: Power Of Two Choices + page: load-balancer/power-of-two-choices + - title: Sticky + page: load-balancer/sticky + - title: Custom Load Balancer + page: load-balancer/custom-load-balancer +- title: Service Registration + items: + - title: Overview + page: service-registration/overview + - title: Consul + page: service-registration/consul + - title: Eureka + page: service-registration/eureka + - title: Static List + page: service-registration/static-list + - title: Custom Service Registration + page: service-registration/custom-service-registration diff --git a/content/docs/smallrye-stork/latest/concepts.adoc b/content/docs/smallrye-stork/latest/concepts.adoc new file mode 100644 index 000000000..4df811935 --- /dev/null +++ b/content/docs/smallrye-stork/latest/concepts.adoc @@ -0,0 +1,110 @@ += Concepts +include::_attributes.adoc[] + +This page presents the concepts used in Stork. +When using Stork in a _managed_ environment, such as Quarkus, all these concepts are hidden, as you only configure the lookup and selection. +However, when using the programmatic API, you will use these concepts directly. + +[.has-dark] +image::images/diagrams/plantuml-383c9b353dda.svg[stork] + +== Process overview + +When using the programmatic API of Stork, you can: + +[arabic] +. Retrieve the _singleton_ `Stork` instance. This instance is configured with the set of `Service` it manages. +. Retrieve the `Service` you want to use. Each `Service` is associated with a name. +. Retrieve the `ServiceInstance` which will provide the metadata to access the actual service. + +[.has-dark] +image::images/diagrams/plantuml-a0003ba546d7.svg[sequence] + +Behind the scenes, Stork will handle the service lookup and selection. + +[NOTE] +==== + +The service lookup and selection are asynchronous operations. +Thus, the API returns instances of `Uni`. + +==== + +== Stork + +`io.smallrye.stork.Stork` is the entry-point of the API. +The `Stork` instance is a _singleton_. +It needs to be initialized once (when the application starts) and shutdown when the application stops: + +[source,java] +---- +include::{examples-dir}/examples/StorkEntryPointExample.java[indent=0] +---- + +During the initialization, Stork looks for `io.smallrye.stork.config.ConfigProvider` SPI provider and CDI beans (from 2.x version) and retrieves the list of managed services: + +* A service is identified by a *name*. +* A service has a service discovery configuration indicating how Stork will look for service instances +* A service can have a load-balancer configuration indicating how Stork can select the most appropriate instance. + +== Service + +A `io.smallrye.stork.Service` is the structure representing a _service_ used by the application. +Services are pre-configured with their name, service discovery, and optionally, their load-balancer. +You retrieve a `Service` using the `Stork#getService(String name)` method. + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceExample.java[indent=0] +---- + +The `Service` lets you retrieve the list of `ServiceInstance`, or select a single one, when a load-balancer is configured. + +== Service Instance + +The `io.smallrye.stork.api.ServiceInstance` represents an actual instance of the service. +It provides the metadata to configure a _client_ to interact with that specific instance of service. + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceLookupExample.java[indent=0] +---- + +The service selection is a two-steps process: + +[arabic] +. Service lookup - using the service discovery +. Service selection - using the load balancer + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceSelectionExample.java[indent=0] +---- + +== Service Discovery + +The `io.smallrye.stork.api.ServiceDiscovery` represents a service discovery mechanism, such as DNS, Consul, or Eureka. + +You can implement a custom service discovery for Stork by implementing the `ServiceDiscoveryProvider` interface. +The corresponding `ServiceRegistrarProviderLoader` and `RegistrarConfiguration` classes will be automatically generated during compilation time. + +Please note that the `ServiceDiscovery` implementation must be non-blocking. + +== Load Balancer + +The `io.smallrye.stork.api.LoadBalancer` represents a load-balancer strategy, such as round-robin. + +To implement a custom load balancer for Stork, implement the `LoadBalancerProvider` interface. +The corresponding `LoadBalancerProviderLoader` and `Configuration` classes will be automatically generated during compilation time. + +Please note that the `LoadBalancer` implementation, similarly to `ServiceDiscovery` +must be non-blocking. + +== Service registration + +The `io.smallrye.stork.api.ServiceRegistrar` represents a service registration mechanism for Consul and Eureka. + +You can implement a custom service registrar for Stork by implementing the `ServiceRegistrarProvider` interface. +The corresponding `ServiceRegistrarProviderLoader` and `RegistrarConfiguration` classes will be automatically generated during compilation time. + +Please note that the `ServiceRegistrar` implementation must be non-blocking. diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-383c9b353dda.dark.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-383c9b353dda.dark.svg new file mode 100644 index 000000000..2b9114071 --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-383c9b353dda.dark.svg @@ -0,0 +1 @@ +«entry-point»StorkServiceDiscoveryServiceInstanceLoadBalancer«named»ServiceKubernetesConsulCustom Service Discovery«default»RoundRobinLeastResponseTimeCustom Load Balancer*selectServiceInstance \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-383c9b353dda.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-383c9b353dda.svg new file mode 100644 index 000000000..0e4b865f3 --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-383c9b353dda.svg @@ -0,0 +1 @@ +«entry-point»StorkServiceDiscoveryServiceInstanceLoadBalancer«named»ServiceKubernetesConsulCustom Service Discovery«default»RoundRobinLeastResponseTimeCustom Load Balancer*selectServiceInstance \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-3c6c7f0192c2.dark.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-3c6c7f0192c2.dark.svg new file mode 100644 index 000000000..ffa3b7a8e --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-3c6c7f0192c2.dark.svg @@ -0,0 +1 @@ +ApplicationApplicationObservableStorkInfrastructureObservableStorkInfrastructureObservationCollectorObservationCollectorStorkStorkServiceServiceApplicationObservableStorkInfrastructureObservationCollectorStorkServiceApplicationObservableStorkInfrastructureObservationCollectorStorkService(1)instantiates(2)instantiates(3)ObservationCollector(4)ObservableStorkInfrastructure (5)initialize(observableInfrastructure)(6)instantiates (..., ObservationCollector, ...) \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-3c6c7f0192c2.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-3c6c7f0192c2.svg new file mode 100644 index 000000000..59018984f --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-3c6c7f0192c2.svg @@ -0,0 +1 @@ +ApplicationApplicationObservableStorkInfrastructureObservableStorkInfrastructureObservationCollectorObservationCollectorStorkStorkServiceServiceApplicationObservableStorkInfrastructureObservationCollectorStorkServiceApplicationObservableStorkInfrastructureObservationCollectorStorkService(1)instantiates(2)instantiates(3)ObservationCollector(4)ObservableStorkInfrastructure (5)initialize(observableInfrastructure)(6)instantiates (..., ObservationCollector, ...) \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-a0003ba546d7.dark.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-a0003ba546d7.dark.svg new file mode 100644 index 000000000..fb78d3e40 --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-a0003ba546d7.dark.svg @@ -0,0 +1 @@ +ApplicationApplicationApplicationStorkStorkStorkConfigProviderConfigProviderConfigProviderServiceServiceServiceService DiscoveryService DiscoveryService DiscoveryLoad BalancerLoad BalancerLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad Balancer(1)initialize()(2)getConfig()(3): List<ServiceConfig> (4)getService("name")(5)Service  (6)selectServiceInstance()(7)getServiceInstances()(8)Uni<List<ServiceInstance>>(9)selectServiceInstance()(10)Uni<ServiceInstance>(11)Uni<ServiceInstance> \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-a0003ba546d7.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-a0003ba546d7.svg new file mode 100644 index 000000000..9c1a99915 --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-a0003ba546d7.svg @@ -0,0 +1 @@ +ApplicationApplicationApplicationStorkStorkStorkConfigProviderConfigProviderConfigProviderServiceServiceServiceService DiscoveryService DiscoveryService DiscoveryLoad BalancerLoad BalancerLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad Balancer(1)initialize()(2)getConfig()(3): List<ServiceConfig> (4)getService("name")(5)Service  (6)selectServiceInstance()(7)getServiceInstances()(8)Uni<List<ServiceInstance>>(9)selectServiceInstance()(10)Uni<ServiceInstance>(11)Uni<ServiceInstance> \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-bc915c97a9fa.dark.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-bc915c97a9fa.dark.svg new file mode 100644 index 000000000..73cb14123 --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-bc915c97a9fa.dark.svg @@ -0,0 +1 @@ +ApplicationStorkDNS ServerApplicationStorkDNS ServerApplicationStorkDNS Serverget service instancesget SRV records for hostnamelist of SRV recordslist of SRV record targets if no resolution desiredget A/AAAA records for each SRV record targetlist of A/AAAAlist of ServiceInstances \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-bc915c97a9fa.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-bc915c97a9fa.svg new file mode 100644 index 000000000..39d2fba6a --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-bc915c97a9fa.svg @@ -0,0 +1 @@ +ApplicationStorkDNS ServerApplicationStorkDNS ServerApplicationStorkDNS Serverget service instancesget SRV records for hostnamelist of SRV recordslist of SRV record targets if no resolution desiredget A/AAAA records for each SRV record targetlist of A/AAAAlist of ServiceInstances \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-c8137b2f4bb7.dark.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-c8137b2f4bb7.dark.svg new file mode 100644 index 000000000..245c1b7c0 --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-c8137b2f4bb7.dark.svg @@ -0,0 +1 @@ +ServiceServiceServiceServiceServiceObservationCollectorObservationCollectorObservationCollectorObservationCollectorObservationCollectorStorkObservationStorkObservationStorkObservationStorkObservationStorkObservationStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandler(1)create("serviceName", sd type, ss type)(2)instantiates(3)Registers start time(4)StorkObservation (5)onServiceDiscoverySuccess(List<ServiceInstance>)(6)Registers end servicediscovery time.Registers instances count  (7)onServiceDiscoveryFailure(Throwable)(8)Registers end servicediscovery time.Registers failure cause  (9)onServiceSelectionSuccess(instanceId)(10)Registers end serviceselection time.Registers instance idRegisters overall duration (11)complete(this) (12)onServiceSelectionFailure(Throwable))(13)Registers overall duration.Registers failure cause (14)complete(this) \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/diagrams/plantuml-c8137b2f4bb7.svg b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-c8137b2f4bb7.svg new file mode 100644 index 000000000..c2ebac7a1 --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/diagrams/plantuml-c8137b2f4bb7.svg @@ -0,0 +1 @@ +ServiceServiceServiceServiceServiceObservationCollectorObservationCollectorObservationCollectorObservationCollectorObservationCollectorStorkObservationStorkObservationStorkObservationStorkObservationStorkObservationStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandler(1)create("serviceName", sd type, ss type)(2)instantiates(3)Registers start time(4)StorkObservation (5)onServiceDiscoverySuccess(List<ServiceInstance>)(6)Registers end servicediscovery time.Registers instances count  (7)onServiceDiscoveryFailure(Throwable)(8)Registers end servicediscovery time.Registers failure cause  (9)onServiceSelectionSuccess(instanceId)(10)Registers end serviceselection time.Registers instance idRegisters overall duration (11)complete(this) (12)onServiceSelectionFailure(Throwable))(13)Registers overall duration.Registers failure cause (14)complete(this) \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/problem-dark.png b/content/docs/smallrye-stork/latest/images/problem-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4c601386a0e921af9b060fe5b7fdff4d320a0bc1 GIT binary patch literal 401154 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 qmehJu_sFX(PT?vIOOj!~2MJBZHL!$y# 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

          oRhE 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%0DrHX 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 @;h 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

          ~#?sZWo9<8p19*j8HyL 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

          j?xEd|q~KbA?xNJhkRAbz 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/latest/images/redhat_reversed.svg b/content/docs/smallrye-stork/latest/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-stork/latest/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-stork/latest/images/solution-dark.png b/content/docs/smallrye-stork/latest/images/solution-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..800d0f9785bc20c78b2e675c17b90fb372bb9c14 GIT binary patch literal 381256 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 aNpQY~%|C9!OZFA`@4dLZSeb~P|NjH5$<5pV literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/latest/images/solution-light.png b/content/docs/smallrye-stork/latest/images/solution-light.png new file mode 100644 index 0000000000000000000000000000000000000000..044bd3786d8287ea7f05636197fdc127572d8a10 GIT binary patch literal 343937 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

          ghd3>v;_v+q0hykx`EW5MbFZLOuP0+s;!YrvD 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%0AQG~af^O;o0#$hEsA#s}^ zq4SzDC#rwFjbFI{&u`E87o+kdD5Sdmg~t~o_67|WHCYaotma6qwwGzx4pwNGjcC05 zt6`nsXxp^4eu}J3F!Cxug-TAh%u*>%C6YN0EqOric6C=pJtNxg!-h*Us@-U ze-*tt)|PJc!Qq_xPS~U)NilO#M#dB@b3W}OcP%Ya6d+8=uZj&4IpB4Sj>+UC^u`F% z#}V&IE@vp3+RZ_+k?tg*+O#Y#z`#pIPy5TDn{Wu@qcQ#+0mkGgmnAeNAlS z2S1Ixig)>&Le9|W0txolVs|C?U&BRu7?ugk%i?|ruR^(%EuJ}-fliauw~W=+xZ4NY zI1QrNWsTNfo7=bTvV7aDWNC+I|KXBsolO^JrJNpYAMLScX4N4L=M^BQ!3y|#dc|(G4 z)+Az|Sv@I=@6$8GA z&SLD9CQ1v7I{p|xh5lZox!Aocb>|Z?cx~5?_5(nSRl+XN%0fsSk&-elP(JEDFxsqc z*P!n*F?xGqwvKMXl_%1uFBssmmW3W~AUy4bSFP@4Ts`!+6P+T?YNGaVecpMmrekIn z&4~JYq}zN;&GFCj?avZ}ne2bE-n@SuNh_vOx=+XGhZBj?ka0A?^8TEq!vcg_x4gs50xhluiz;b zuclxm3D*&3cGt>%Q98<~F2=}n&pi`2T8H)6pC~5yzv8VWXVizFz|5>DQ!&{yB*aHq MUR|ylWFGpz02jRhl>h($ literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/latest/images/stork-white.png b/content/docs/smallrye-stork/latest/images/stork-white.png new file mode 100644 index 0000000000000000000000000000000000000000..8ceae56591397a4eb4775c574f653c75ae7684d5 GIT binary patch literal 48466 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 + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a load balancer provider + +Load balancer implementation consists of three elements: + +* `LoadBalancer` which is responsible for selecting service instances for a single Stork service, +* `LoadBalancerProvider` which creates instances of `LoadBalancer` for a given load balancer _type_, +* `$typeConfiguration` which is a configuration for the load balancer. This class is automatically generated. + +A _type_, for example `acme-load-balancer`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +==== + +A `LoadBalancerProvider` implementation needs to be annotated with `@LoadBalancerType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@LoadBalancerAttribute` annotations placed on the provider. +Optionally, you can also add `@ApplicationScoped` annotation in order to provide the load balancer implementation as CDI bean. + +A load balancer provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeLoadBalancerProvider.java[indent=0] +---- + +Note, that the `LoadBalancerProvider` interface takes a configuration class as a parameter. +This configuration class is generated automatically by the _Configuration Generator_. +Its name is created by appending `Configuration` to the load balancer type, like `AcmeLoadBalancerConfiguration`. + +The next step is to implement the `LoadBalancer` interface. + +The essence of load balancers' work happens in the `selectServiceInstance` method. The method returns a single `ServiceInstance` from a collection. + +[source,java] +---- +include::{examples-dir}/examples/AcmeLoadBalancer.java[indent=0] +---- + +This implementation is simplistic and just picks a random instance from the received list. + +Some load balancers make the pick based on statistics such as calls in progress or response times, or amount of errors of a service instance. +To collect this information in your load balancer, you can wrap the selected service instance into `ServiceInstanceWithStatGathering`. + +Load balancers based on statistics often expect that an operation using a selected service instance is marked as started before the next selection. +By default, Stork assumes that a `LoadBalancer` requires this and guards the calls accordingly. +If this is not the case for your implementation, override the `requiresStrictRecording()` method to return `false`. + +== Using your load balancer + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.load-balancer.type=acme-load-balancer\ +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +==== + +Then, Stork will use your implementation to select the `my-service` service instance. + +== Using your load balancer using the programmatic API + +When building your load balancer project, the configuration generator creates a configuration class. +This class can be used to configure your load balancer using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeSelectorApiUsage.java[indent=0] +---- + +Remember that attributes, like `my-attribute`, are declared using the `@LoadBalancerAttribute` annotation on the `LoadBalancerProvider` implementation. diff --git a/content/docs/smallrye-stork/latest/load-balancer/least-requests.adoc b/content/docs/smallrye-stork/latest/load-balancer/least-requests.adoc new file mode 100644 index 000000000..6a8babbc6 --- /dev/null +++ b/content/docs/smallrye-stork/latest/load-balancer/least-requests.adoc @@ -0,0 +1,59 @@ += Least Requests Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `least-requests` load balancing strategy monitors the number of inflight calls and selects the less-used instance. + +This strategy keeps track of the inflight calls made by the application and picks the service instance with the smallest number of inflight requests: + +[arabic] +. when the selection happens, the service instance with the smallest number of inflight requests is selected, and this number is incremented +. when the operation completes, successfully or not, the number of inflight requests is decremented + +== Dependency + +First, you need to add the `least-requests` load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-least-requests + {project-version} + +---- + +== Configuration + +For each service expected to use a least-response-time selection, configure the `load-balancer` to be `least-requests`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=least-requests +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=least-requests +---- + +-- + +==== + +Supported configuration properties are the following: + +include::{generated-dir}/least-requests-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/latest/load-balancer/least-response-time.adoc b/content/docs/smallrye-stork/latest/load-balancer/least-response-time.adoc new file mode 100644 index 000000000..9742a0b23 --- /dev/null +++ b/content/docs/smallrye-stork/latest/load-balancer/least-response-time.adoc @@ -0,0 +1,94 @@ += Least Response Time Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `least-response-time` load balancing strategy collects response times of the calls made with service instances and picks an instance based on this information. + +Erroneous responses are treated as responses with a long response time, by default 60 seconds. This can be controlled with the `error-penalty` attribute. + +The algorithm for service instance selection is as follows: + +* if there is a service instance that wasn't used before - use it, otherwise: +* if there are any service instances with collected response times - select the one for which _score_ is the lowest, otherwise: +* select a random instance + +The _score_ for an instance decreases in time if an instance is not used. This way we ensure that instances that haven't been used in a long time, are retried. + +For the details on the _score_ calculation, see xref:#score-calculation[Score calculation] + +== Dependency + +To use this load balancer, start with adding the least-response-time load-balancer dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-least-response-time + {project-version} + +---- + +== Configuration + +For each service expected to use a least-response-time selection, configure the `load-balancer` to be `least-response-time`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=least-response-time +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=least-response-time +---- + +-- + +==== + +The following attributes are supported: + +include::{generated-dir}/least-response-time-lb-attributes.adoc[] + +== Score calculation + +The _score_ of a service instance is calculated by dividing a weighted sum of response times by sum of the weighs. The result is additionally adjusted to account for instances that haven't been used for a long time. + +Let: + +* $n$ denote how many instance selections were made so far +* $t++_++i$ denote the response time for call $i$ +* $n++_++i$ denote the number of instance selections done until the moment of recording the response time for call $i$ +* $n++_{++max}$ denote the number of instance selections at the moment of last call recorded with this instance +* $$ denote a configurable `declining-factor` + +The idea for the weight is to decrease the importance of the data collected long time (many calls) ago. For call $i$, the weight is calculated as follows: +$$ +w++_++i = ^ ++{++(n - n++_++i)} +$$ + +The score of a service instance is calculated as: +$$ +score(n) = ^++{++n - n++_{++max}} ++*++ = +^++{++n - n++_{++max}} ++*++ +$$ + +The `declining-factor` should be in $(0, 1++]++$ , the default is $0.9$. Using a lower value makes the older response times less important. + +Supported configuration properties are the following: + +include::{generated-dir}/least-response-time-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/latest/load-balancer/overview.adoc b/content/docs/smallrye-stork/latest/load-balancer/overview.adoc new file mode 100644 index 000000000..62c2f482c --- /dev/null +++ b/content/docs/smallrye-stork/latest/load-balancer/overview.adoc @@ -0,0 +1,22 @@ += Overview +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Load Balancer / Service Selection in SmallRye Stork + +Once services are registered and discovered, the next critical step is selecting which service instance will handle a given request. +SmallRye Stork provides flexible load balancing strategies to efficiently distribute requests across multiple instances of a service. +This ensures optimal resource usage, improved performance, and high availability. + +=== Key Features: + +* *Multiple Load Balancing Strategies*: SmallRye Stork supports several built-in strategies for selecting service instances. +Check them out in the following dedicated sections. +* *Customizable Strategies*: You can define custom service selection strategies based on your unique use case or performance requirements, ensuring that the load balancer can adapt to specific needs. + +==== How it Works: + +Once a service has been registered and discovered, the load balancer comes into play when a client makes a request to that service. +Stork applies the configured load balancing strategy to select an instance from the available pool of discovered services. + +This feature ensures that your services remain responsive, scalable, and resilient, providing a smooth experience for both users and developers. diff --git a/content/docs/smallrye-stork/latest/load-balancer/power-of-two-choices.adoc b/content/docs/smallrye-stork/latest/load-balancer/power-of-two-choices.adoc new file mode 100644 index 000000000..9e73e9897 --- /dev/null +++ b/content/docs/smallrye-stork/latest/load-balancer/power-of-two-choices.adoc @@ -0,0 +1,63 @@ += Power Of Two Choices Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `power-of-two-choices` load balancing selects two random service instances and then chooses the one with the least inflight requests. +It avoids the overhead of `least-requests` and the worst case for `random` where it selects a busy destination. + +This strategy acts as follows: + +[arabic] +. when the selection happens, it picks two random instances from the list, +. it returns the least loaded instance (based on the number of inflight requests), +. when the operation completes, successfully or not, the number of inflight requests for the instance is decremented. + +Check http://www.eecs.harvard.edu/~michaelm/NEWWORK/postscripts/twosurvey.pdf[The Power of Two Random Choices] paper to learn more about this pattern and the benefits. + +== Dependency + +First, you need to add the random load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-power-of-two-choices + {project-version} + +---- + +== Configuration + +For each service expected to use a random service selection, configure the `load-balancer` to be `power-of-two-choices`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=power-of-two-choices +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=power-of-two-choices +---- + +-- + +==== + +Supported configuration properties are the following: + +include::{generated-dir}/power-of-two-choices-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/latest/load-balancer/random.adoc b/content/docs/smallrye-stork/latest/load-balancer/random.adoc new file mode 100644 index 000000000..f721585d7 --- /dev/null +++ b/content/docs/smallrye-stork/latest/load-balancer/random.adoc @@ -0,0 +1,53 @@ += Random Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `random` load balancing is a straightforward service instance selection solution that picks a random instance every time. + +== Dependency + +First, you need to add the random load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-random + {project-version} + +---- + +== Configuration + +For each service expected to use a random service selection, configure the `load-balancer` to be `random`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=random +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=random +---- + +-- + +==== + +Supported attributes are the following: + +include::{generated-dir}/random-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/latest/load-balancer/round-robin.adoc b/content/docs/smallrye-stork/latest/load-balancer/round-robin.adoc new file mode 100644 index 000000000..e1f768f10 --- /dev/null +++ b/content/docs/smallrye-stork/latest/load-balancer/round-robin.adoc @@ -0,0 +1,43 @@ += Round-Robin Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The round-robin is a straightforward load-balancing solution that just iterates over the set of service instances. +While being simple, this solution shares the load among the instances and may be sufficient in many cases. + +The round-robin strategy is the default load-balancing strategy. +It is provided by Stork itself, and so does not require an additional dependency. + +== Configuration + +There is no need to configure the load-balancing strategy to be `round-robin`. +Stork automatically uses this strategy when none are configured. + +However, you can also configure it explicitly as follows: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=round-robin +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=round-robin +---- + +-- + +==== diff --git a/content/docs/smallrye-stork/latest/load-balancer/sticky.adoc b/content/docs/smallrye-stork/latest/load-balancer/sticky.adoc new file mode 100644 index 000000000..8af192d26 --- /dev/null +++ b/content/docs/smallrye-stork/latest/load-balancer/sticky.adoc @@ -0,0 +1,52 @@ += Sticky Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The sticky load balancer selects a single service instance and keeps using it until it fails. +Then, it selects another one. + +It is possible to configure a backoff time to specify for how long a failing service instance should not be retried. + +Precisely, the load balancer works as follows: + +* if no service instance has been selected so far, select the first instance from the collection; +* else if the previously selected service instance has not failed, and is still available, return it; +* else return the first available service instance that has no recorded failure, if one exists; +* else, find the available instance for which the time since the last failure is the longest, and +** if the backoff time since the failure passed, return it; +** or, throw an `NoAcceptableServiceInstanceFoundException` as no acceptable instances are available. + +== Configuration + +To use the `sticky` load service selection strategy, set the load balancer type to `sticky`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=sticky +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=sticky +---- + +-- + +==== + +The following attributes are supported: + +include::{generated-dir}/sticky-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/latest/logging.adoc b/content/docs/smallrye-stork/latest/logging.adoc new file mode 100644 index 000000000..2f0a9ce7c --- /dev/null +++ b/content/docs/smallrye-stork/latest/logging.adoc @@ -0,0 +1,78 @@ += Logging Configuration +include::_attributes.adoc[] + +Stork uses https://github.com/jboss-logging/jboss-logging[JBoss Logging] for all its logging needs. JBoss Logging is a logging facade that can delegate to various logging frameworks such as Log4j, SLF4J, or JDK logging. + +== Logger Categories + +Stork uses the following main logger categories: + +=== Core Loggers + +* `io.smallrye.stork.Stork` - Main Stork class, logs service initialization and configuration +* `io.smallrye.stork.impl.CachingServiceDiscovery` - Service discovery caching operations +* `io.smallrye.stork.utils.StorkConfigUtils` - Configuration parsing and validation + +=== Service Discovery Loggers + +* `io.smallrye.stork.servicediscovery.kubernetes.KubernetesServiceDiscovery` - Kubernetes service discovery events +* `io.smallrye.stork.servicediscovery.dns.DnsServiceDiscovery` - DNS-based service discovery +* `io.smallrye.stork.servicediscovery.knative.KnativeServiceDiscovery` - KNative service discovery events + +=== Load Balancer Loggers + +* `io.smallrye.stork.loadbalancer.leastresponsetime.LeastResponseTimeLoadBalancer` - Least response time load balancer selection logic + +=== Service Registration Loggers + +* `io.smallrye.stork.serviceregistration.consul.ConsulServiceRegistrar` - Consul service registration/deregistration +* `io.smallrye.stork.serviceregistration.consul.ConsulServiceRegistrarProvider` - Consul registrar provider initialization +* `io.smallrye.stork.serviceregistration.staticlist.StaticListServiceRegistrar` - Static list service registration +* `io.smallrye.stork.serviceregistration.staticlist.StaticListServiceRegistrarProvider` - Static list registrar provider +* `io.smallrye.stork.serviceregistration.eureka.EurekaServiceRegistrar` - Eureka service registration/deregistration + +=== Configuration Provider Loggers + +* `io.smallrye.stork.microprofile.MicroProfileConfigProvider` - MicroProfile configuration loading + +== Configuring Log Levels with Quarkus + +In your `application.properties`: + +[source,properties] +---- +# Set global Stork log level +quarkus.log.category."io.smallrye.stork".level=DEBUG + +# Service discovery logging +quarkus.log.category."io.smallrye.stork.servicediscovery".level=DEBUG + +# Specific implementations +quarkus.log.category."io.smallrye.stork.servicediscovery.kubernetes.KubernetesServiceDiscovery".level=TRACE +quarkus.log.category."io.smallrye.stork.servicediscovery.dns.DnsServiceDiscovery".level=DEBUG + +# Load balancer logging +quarkus.log.category."io.smallrye.stork.loadbalancer".level=DEBUG + +# Service registration logging +quarkus.log.category."io.smallrye.stork.serviceregistration".level=INFO +quarkus.log.category."io.smallrye.stork.serviceregistration.consul.ConsulServiceRegistrar".level=DEBUG + +# Console output format +quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n +---- + +== Troubleshooting + +=== Too Many Logs + +If you're getting too many debug logs in production: + +[arabic] +. Set the root Stork logger to INFO or WARN: ++ +[source,properties] +---- +quarkus.log.category."io.smallrye.stork".level=INFO +---- +. Selectively enable DEBUG only for components you're troubleshooting diff --git a/content/docs/smallrye-stork/latest/microprofile-config.adoc b/content/docs/smallrye-stork/latest/microprofile-config.adoc new file mode 100644 index 000000000..48ba3a487 --- /dev/null +++ b/content/docs/smallrye-stork/latest/microprofile-config.adoc @@ -0,0 +1,30 @@ += Stork MicroProfile Config +include::_attributes.adoc[] + +Stork integrates with MicroProfile Configuration out of the box, enabling seamless access to configuration properties. +This documentation explains how Stork can retrieve configuration details from the MicroProfile Config file present in the classpath. +Quarkus uses this approach for reading configuration details from the MicroProfile Config file located within the classpath. + +== Dependency setup + +To enable MicroProfile Config integration in Stork, you need to include the following dependency: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + smallrye-stork-microprofile + {project-version} + +---- + +== Initializing Stork + +If your framework lacks a pre-configured Stork instance, you'll need to perform initialization: + +[source,java] +---- +include::{examples-dir}/examples/InitializationExample.java[indent=0] +---- + +Upon initialization, Stork scans for the `io.smallrye.stork.config.MicroProfileConfigProvider` SPI provider and CDI beans (from version 2.x onwards). It then builds a comprehensive list of managed services by parsing the properties configuration files. diff --git a/content/docs/smallrye-stork/latest/observability.adoc b/content/docs/smallrye-stork/latest/observability.adoc new file mode 100644 index 000000000..841b79385 --- /dev/null +++ b/content/docs/smallrye-stork/latest/observability.adoc @@ -0,0 +1,114 @@ += Stork Observability API +include::_attributes.adoc[] + +Stork proposes an observability API that automatically observes some parameters to show how the Stork service discovery and selection are behaving. + +For any _observation_ to happen, you need to provide your own implementation of an `ObservationCollector.` By default, Stork provides a no-op implementation. + +The `ObservationCollector` is responsible for instantiating the `StorkObservation`. + +The `StorkObservation` reacts to Stork events thanks to a `StorkEventHandler`. + +You can extend the metrics collection by extending the `StorkEventHandler` interface. + +The following sequence diagram shows how the observability is initialized : + +[.has-dark] +image::images/diagrams/plantuml-3c6c7f0192c2.svg[observability_sequence] + +The `StorkObservation` registers times, number of discovered instances, the selected instance and failures by reacting to the lifecycle of a Stork event such as: + +* start : Observation has been started. +The beginning time is registered. +It happens when the `ObservationCollector#create()` method gets called. +* service discovery success: a collection of instances has been successfully discovered for a service. +The end discovery time and number of instances are recorded. +It happens when the `StorkObservation#onServiceDiscoverySuccess` gets called. +* service discovery error: an error occurs when discovering a service. +The end discovery time and failure cause are captured. +It happens when the `StorkObservation#onServiceDiscoveryFailure` gets called. +* service selection success: an instance has been successfully selected from the collection. +The end selection time and selected instance ID are registered. +It happens when the `StorkObservation#onServiceSelectionSuccess` gets called. +* service selection error: an error occurred during selecting the instance. +End selection time and failure cause are registered. +It happens when the `StorkObservation#onServiceSelectionFailure` gets called. +* end: Observation has finished. Overall duration is registered. +It happens when the `StorkObservation#onServiceSelectionSuccess` gets called. + +The following sequence diagram represents the described observation process above: + +[.has-dark] +image::images/diagrams/plantuml-c8137b2f4bb7.svg[observation_sequence] + +== Implementing an observation collector + +An `ObservationCollector` implementation must override the `create` method to provide an instance of StorkObservation. +In addition, the user can access and enrich the observation data through the `StorkEventHandler`. + +A custom observation collector class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeObservationCollector.java[indent=0] +---- + +The next step is to initialize Stork with an `ObservableStorkInfrastructure`, taking an instance of your `ObservationCollector` as parameter. + +[source,java] +---- +include::{examples-dir}/examples/ObservableInitializationExample.java[indent=0] +---- + +Then, Stork uses your implementation to register metrics. + +== Observing service discovery and selection behaviours + +To access metrics registered by `StorkObservation`, use the following code: + +[source,java] +---- +include::{examples-dir}/examples/ObservationExample.java[indent=0] +---- + +Stork Observability with Quarkus + +Stork metrics are automatically enabled when using Stork together with the Micrometer extension in a Quarkus application. + +Micrometer collects the metrics of the rest and grpc client using Stork, as well as when using the Stork API. + +As an example, if you export the metrics to Prometheus, you will get: + +[source,text] +---- +# HELP stork_load_balancer_failures_total The number of failures during service selection. +# TYPE stork_load_balancer_failures_total counter +stork_load_balancer_failures_total{service_name="hello-service",} 0.0 +# HELP stork_service_selection_duration_seconds The duration of the selection operation +# TYPE stork_service_selection_duration_seconds summary +stork_service_selection_duration_seconds_count{service_name="hello-service",} 13.0 +stork_service_selection_duration_seconds_sum{service_name="hello-service",} 0.001049291 +# HELP stork_service_selection_duration_seconds_max The duration of the selection operation +# TYPE stork_service_selection_duration_seconds_max gauge +stork_service_selection_duration_seconds_max{service_name="hello-service",} 0.0 +# HELP stork_overall_duration_seconds_max The total duration of the Stork service discovery and selection operations +# TYPE stork_overall_duration_seconds_max gauge +stork_overall_duration_seconds_max{service_name="hello-service",} 0.0 +# HELP stork_overall_duration_seconds The total duration of the Stork service discovery and selection operations +# TYPE stork_overall_duration_seconds summary +stork_overall_duration_seconds_count{service_name="hello-service",} 13.0 +stork_overall_duration_seconds_sum{service_name="hello-service",} 0.001049291 +# HELP stork_service_discovery_failures_total The number of failures during service discovery +# TYPE stork_service_discovery_failures_total counter +stork_service_discovery_failures_total{service_name="hello-service",} 0.0 +# HELP stork_service_discovery_duration_seconds_max The duration of the discovery operation +# TYPE stork_service_discovery_duration_seconds_max gauge +stork_service_discovery_duration_seconds_max{service_name="hello-service",} 0.0 +# HELP stork_service_discovery_duration_seconds The duration of the discovery operation +# TYPE stork_service_discovery_duration_seconds summary +stork_service_discovery_duration_seconds_count{service_name="hello-service",} 13.0 +stork_service_discovery_duration_seconds_sum{service_name="hello-service",} 6.585046209 +# HELP stork_instances_count_total The number of service instances discovered +# TYPE stork_instances_count_total counter +stork_instances_count_total{service_name="hello-service",} 26.0 +---- diff --git a/content/docs/smallrye-stork/latest/programmatic-api.adoc b/content/docs/smallrye-stork/latest/programmatic-api.adoc new file mode 100644 index 000000000..32f17e23b --- /dev/null +++ b/content/docs/smallrye-stork/latest/programmatic-api.adoc @@ -0,0 +1,54 @@ += Stork Programmatic API +include::_attributes.adoc[] + +Stork proposes a programmatic API that lets you register new service Definitions and do manual lookup and selection. +When using the programmatic API of Stork, you can: +Retrieve the singleton Stork instance. This instance is configured with the set of Services it manages. +Register new service definition. +Retrieve the Service you want to use. Each Service is associated with a name. +Retrieve the ServiceInstance, which will provide the metadata to access the actual instance. + +== Initializing Stork + +If your framework does not already provide a configured `Stork` instance, you need to do: + +[source,java] +---- +include::{examples-dir}/examples/InitializationExample.java[indent=0] +---- + +== Adding service dynamically + +To register a new `ServiceDefinition`, use the `defineIfAbsent` method: + +[source,java] +---- +include::{examples-dir}/examples/DefinitionExample.java[indent=0] +---- + +The `ServiceDefinition` instances can be created from: + +* A service discovery configuration - these classes are provided by the service discovery implementations, +* An optional load balancer configuration - these classes are provided by the load balancer implementations + +Attributes from the service discovery and load balancer can be configured from the `Configuration` classes. + +== Looking for service instances + +To list the service instances for a given service, or to select an instance according to the load balancer strategy, use the following code: + +[source,java] +---- +include::{examples-dir}/examples/LookupExample.java[indent=0] +---- + +The lookup and selection methods are returning Uni as these processes are asynchronous. + +== All in one example + +The following snippet provides an _all in one_ example of the Stork programmatic API: + +[source,java] +---- +include::{examples-dir}/examples/StorkApiExample.java[indent=0] +---- diff --git a/content/docs/smallrye-stork/latest/quarkus.adoc b/content/docs/smallrye-stork/latest/quarkus.adoc new file mode 100644 index 000000000..08c9b3186 --- /dev/null +++ b/content/docs/smallrye-stork/latest/quarkus.adoc @@ -0,0 +1,79 @@ += Using Stork with Quarkus +include::_attributes.adoc[] + +https://quarkus.io[Quarkus] is a Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM. + +Quarkus REST Client Reactive and gRPC extensions come with built-in integration with SmallRye Stork. + +This page describes how to use REST Client Reactive with Stork. Using gRPC with Stork is similar. + +We will use the Consul service discovery and the round-robin load balancer as examples. + +== The project + +You can create a Quarkus project with the REST Client Reactive extension using https://code.quarkus.io[code.quarkus.io]. + +The corresponding https://quarkus.io/guides/rest-client-reactive[Quarkus guide] describes the extension in more detail. + +== The client + +To use the REST client to communicate with a remote endpoint, you need to create an interface that describes how the communication should work. +The client requires `baseUri` (or `baseUrl`) pointing to the address of the remote endpoint. + +To use Stork to determine the actual address, set the scheme of the URI to `stork` and the hostname of the URI to the name of the Stork service. + +For example, the `HelloClient` below will use the Stork service called `hello-service` to determine the address of the destination, and `/hello` as the base path for queries: + +[source,java] +---- +include::{examples-dir}/examples/HelloClient.java[indent=0] +---- + +== The service + +In Stork, a `Service` consists of service discovery and a load balancer. +The Service discovery is responsible for determining the `ServiceInstance`s, that is, available addresses for a service. +The load balancer picks a single `ServiceInstance` for a call. + +=== Dependencies + +To use the service discovery and the load balancer of your choosing, you need to add the appropriate dependencies to your application. +For example, if you wish to use Consul and load-balance the calls with round-robin, add the following to your `pom.xml`: + +[source,xml] +---- + + io.smallrye.stork + stork-service-discovery-consul + +---- + +[NOTE] +==== + +No need to add a dependency for the round-robin load-balancer. This strategy is built-in. +Also, no need to specify the stork version, Quarkus imports the Stork _BOM_. + +==== + +When using Eureka, Kubernetes, or any other service discovery mechanism, or a different load balancer, replace the dependencies above with the ones you need. +Based on the defined dependencies, Stork automatically registers providers for service discovery mechanisms and load balancers. + +=== The config + +The last piece of the puzzle is the actual service configuration. +If your Consul instance is running on `localhost` on port `8500`, service discovery configuration should look as follows: + +[source,properties] +---- +quarkus.stork.hello-service.service-discovery.type=consul +quarkus.stork.hello-service.service-discovery.consul-host=localhost +quarkus.stork.hello-service.service-discovery.consul-port=8500 +---- + +[NOTE] +==== + +When no load-balancing is configured, Stork uses a round-robin. + +==== diff --git a/content/docs/smallrye-stork/latest/service-discovery/composite.adoc b/content/docs/smallrye-stork/latest/service-discovery/composite.adoc new file mode 100644 index 000000000..7be362c60 --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-discovery/composite.adoc @@ -0,0 +1,71 @@ += Composite Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Some organizations use hybrid infrastructure. In such an infrastructure, different service instances may be discoverable via different service discovery providers. E.g. when _serviceA_ is being migrated from a VM to Kubernetes, its older versions can be discovered via Consul and newer via Kubernetes. + +`composite` service discovery addresses this problem by letting you define a service that consists of multiple services. + +== Dependency + +To use the `composite` service discovery, first add the appropriate Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-composite + {project-version} + +---- + +== Configuration + +For each service that should consist of multiple services, configure the service discovery `type`, and set the `services` property to a comma separated list of services: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=composite +stork.my-service.service-discovery.services=serviceA,serviceB + +stork.serviceA.service-discovery.type=... +stork.serviceB.service-discovery.type=... +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=composite +quarkus.stork.my-service.service-discovery.services=serviceA,serviceB + +quarkus.stork.serviceA.service-discovery.type=... +quarkus.stork.serviceB.service-discovery.type=... +---- + +-- + +==== + +Remember to define the services that make up your composite service. + +Be aware that Stork doesn't work as a standalone service discovery cluster. +Instead, it processes composite configurations—meaning it handles multiple configurations that may use different service discovery implementation. +For each specific configuration, Stork delegates the service discovery task to the appropriate service discovery provider. +If one of these providers doesn't respond or fails, it affects Stork's ability to resolve that specific configuration, but it doesn't mean Stork itself is faulty; +it relies on the performance of the service discovery systems it’s configured to work with. + +These are all the parameters of the composite service discovery: + +include::{generated-dir}/composite-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/latest/service-discovery/consul.adoc b/content/docs/smallrye-stork/latest/service-discovery/consul.adoc new file mode 100644 index 000000000..210076247 --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-discovery/consul.adoc @@ -0,0 +1,167 @@ += Consul Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://www.consul.io/[Consul] is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. +It's often used as service discovery backend to register and locate the services composing your system. +Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. +External services can be registered as well. + +As https://developer.hashicorp.com/consul/api-docs/agent/service#address[specified] in the Consul documentation, if the host address is not provided, Stork will automatically use the Consul node address for the instance. + +This page explains how Stork can use Consul to handle the service discovery and service registration. + +== Dependency + +First, you need to add the Stork Consul Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-consul + {project-version} + +---- + +=== Service discovery configuration + +For each service that should get the service instances from Consul, configure the service discovery `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=consul +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=consul +---- + +-- + +==== + +== Secure communication with Consul + +Stork supports SSL/TLS encryption when connecting to a Consul server. This is useful when Consul is configured with HTTPS or when you need to authenticate using client certificates. + +To enable SSL/TLS, set the `ssl` attribute to `true` and configure the trust store and optionally the key store: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=consul +stork.my-service.service-discovery.consul-host=consul.example.com +stork.my-service.service-discovery.consul-port=8501 +stork.my-service.service-discovery.ssl=true +stork.my-service.service-discovery.trust-store-path=/path/to/truststore.jks +stork.my-service.service-discovery.trust-store-password=changeit +stork.my-service.service-discovery.verify-host=true +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=consul +quarkus.stork.my-service.service-discovery.consul-host=consul.example.com +quarkus.stork.my-service.service-discovery.consul-port=8501 +quarkus.stork.my-service.service-discovery.ssl=true +quarkus.stork.my-service.service-discovery.trust-store-path=/path/to/truststore.jks +quarkus.stork.my-service.service-discovery.trust-store-password=changeit +quarkus.stork.my-service.service-discovery.verify-host=true +---- + +-- + +==== + +For mutual TLS (mTLS) authentication, also configure the key store containing the client certificate: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.key-store-path=/path/to/keystore.jks +stork.my-service.service-discovery.key-store-password=changeit +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.key-store-path=/path/to/keystore.jks +quarkus.stork.my-service.service-discovery.key-store-password=changeit +---- + +-- + +==== + +== ACL Token Authentication + +If your Consul cluster has ACL enabled, you can provide an ACL token for authentication: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.acl-token=your-consul-acl-token +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.acl-token=your-consul-acl-token +---- + +-- + +==== + +Consul service discovery is configured with the following parameters: + +include::{generated-dir}/consul-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/latest/service-discovery/custom-service-discovery.adoc b/content/docs/smallrye-stork/latest/service-discovery/custom-service-discovery.adoc new file mode 100644 index 000000000..04945b53b --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-discovery/custom-service-discovery.adoc @@ -0,0 +1,202 @@ += Implement your own service discovery mechanism +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork is extensible, and you can implement your own service discovery mechanism. + +== Dependencies + +To implement your _Service Discovery Provider_, make sure your project depends on Core and Configuration Generator. +The former brings classes necessary to implement custom discovery, the latter contains an https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/annotation/processing/Processor.html[annotation processor] that generates classes needed by Stork. + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a service discovery provider + +Service discovery implementation consists of three elements: + +* `ServiceDiscovery` which is responsible for locating service instances for a single Stork service. +* `ServiceDiscoveryProvider` which creates instances of `ServiceDiscovery` for a given service discovery _type_. +* `$typeConfiguration` which is a configuration for the discovery. This class is automatically generated during the compilation (using an annotation processor). + +A _type_, for example, `acme`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=acme +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=acme +---- + +-- + +==== + +A `ServiceDiscoveryProvider` implementation needs to be annotated with `@ServiceDiscoveryType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@ServiceDiscoveryAttribute` annotations placed on the provider. +Optionally, you can also add `@ApplicationScoped` annotation in order to provide the service discovery implementation as CDI bean. + +A service discovery provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceDiscoveryProvider.java[indent=0] +---- + +Note, that the `ServiceDiscoveryProvider` interface takes a configuration class as a parameter. This configuration class +is generated automatically by the _Configuration Generator_. +Its name is created by appending `Configuration` to the service discovery type, such as `AcmeConfiguration`. + +The next step is to implement the `ServiceDiscovery` interface: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceDiscovery.java[indent=0] +---- + +This implementation is simplistic. +Typically, instead of creating a service instance with values from the configuration, you would connect to a service discovery backend, look for the service and build the list of service instance accordingly. +That's why the method returns a `Uni`. +Most of the time, the lookup is a remote operation. + +As you can see, the `AcmeConfiguration` class gives access to the configuration attribute. + +== Using your service discovery + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=acme +stork.my-service.service-discovery.host=localhost +stork.my-service.service-discovery.port=1234 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=acme +quarkus.stork.my-service.service-discovery.host=localhost +quarkus.stork.my-service.service-discovery.port=1234 +---- + +-- + +==== + +Then, Stork will use your implementation to locate the `my-service` service. + +== Using your service discovery using the programmatic API + +When building your service discovery project, the configuration generator creates a configuration class. +This class can be used to configure your service discovery using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeDiscoveryApiUsage.java[indent=0] +---- + +Remember that attributes, like `host`, are declared using the `@ServiceDiscoveryAttribute` annotation on the `ServiceDiscoveryProvider` implementation. + +== Caching the service instances + +Your `ServiceDiscovery` implementation can extend `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +In this case, the retrieved set of `ServiceInstance` is cached and only updated after some time. +This duration is an additional configuration attribute. +For homogeneity, we recommend the following attribute: + +[source,java] +---- +@ServiceDiscoveryAttribute(name = "refresh-period", description = "Service discovery cache refresh period.", + defaultValue = CachingServiceDiscovery.DEFAULT_REFRESH_INTERVAL) +---- + +The following snippet extends the _acme_ service discovery with the `refresh-period` attribute: + +[source,java] +---- +include::{examples-dir}/examples/CachedAcmeServiceDiscoveryProvider.java[indent=0] +---- + +Extending `io.smallrye.stork.impl.CachingServiceDiscovery` changes the structure of the service discovery implementation: + +[source,java] +---- +include::{examples-dir}/examples/CachedAcmeServiceDiscovery.java[indent=0] +---- + +[arabic] +. Call the `super` constructor with the `refresh-period` value +. Implement `fetchNewServiceInstances` instead of `getServiceInstances`. +The method is called periodically, and the retrieved instances are cached. +This implementation is simplistic. + +If the retrieval fails, the error is reported, and Stork keeps the previously retrieved list of instances. + +=== Customizing the caching strategy + +Sometimes it can be useful to change this behaviour and customize the cache expiration strategy. + +For example, imagine you are using a backend service discovery where service instances can change very frequently. + +Moreover, contacting the backend service discovery can be expensive in terms of computing, +thus finding a good value for the refreshing time can be mission impossible. + +For these situations, Stork allows to implement a better expiration strategy for the cache. + +If you want to customize the expiration strategy, you need: +1. Implement the `cache` method where the expiration strategy should be defined. +2. Invalidate the cache when expiration condition evaluates to true. + +Look at the example bellow: + +[source,java] +---- +include::{examples-dir}/examples/CustomExpirationCachedAcmeServiceDiscovery.java[indent=0] +---- + +Additionally, you can check the xref:service-discovery/kubernetes.adoc#caching-the-service-instances[Kubernetes Service Discovery] for further details about an event-based invalidation example. diff --git a/content/docs/smallrye-stork/latest/service-discovery/dns.adoc b/content/docs/smallrye-stork/latest/service-discovery/dns.adoc new file mode 100644 index 000000000..9d2ab572b --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-discovery/dns.adoc @@ -0,0 +1,77 @@ += DNS Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +DNS is a name resolution protocol used to determine IP addresses for hostnames. +That makes it a natural fit for service discovery. +Consul and AWS Cloud Map provide DNS resolutions for service discovery. + +This page explains how Stork can use DNS to handle the service discovery. + +== DNS records + +DNS supports a https://en.wikipedia.org/wiki/List_of_DNS_record_types[variety of record types]. Stork can resolve hostnames to addresses based on https://en.wikipedia.org/wiki/SRV_record[_SRV_], A and AAAA records. All these types of records may return multiple addresses for a single hostname. You may choose to not resolve target hostnames. + +While _A_ and _AAAA_ records are quite similar, they just carry an IP (_v4_ for _A_ and _v6_ for _AAAA_), the _SRV_ records are different. +They contain a _weight_, a _target_ and a _port_ for a service instance. +The _target_ returned in an _SRV_ record needs to be resolved further by an _A_ or an _AAAA_ record. + +In short, it works as follows: + +[.has-dark] +image::images/diagrams/plantuml-bc915c97a9fa.svg[srv_sequence] + +== Dependency + +To use the DNS service discovery, you need to add the Stork DNS Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-dns + {project-version} + +---- + +== Configuration + +Next, set the service discovery `type` to `dns`. +Additionally, you would usually specify the DNS server, or servers, to use for the discovery. +All in all, your configuration could look as follows: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=dns +# optional dns servers: +stork.my-service.service-discovery.dns-servers=my-dns-server:8221,my-dns-server2 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=dns + +# optional dns servers: +quarkus.stork.my-service.service-discovery.dns-servers=my-dns-server:8221,my-dns-server2 +---- + +-- + +==== + +All the available parameters are as follows: + +include::{generated-dir}/dns-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/latest/service-discovery/eureka.adoc b/content/docs/smallrye-stork/latest/service-discovery/eureka.adoc new file mode 100644 index 000000000..87b5c9208 --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-discovery/eureka.adoc @@ -0,0 +1,71 @@ += Eureka Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://github.com/Netflix/eureka[Eureka] is a RESTful service that is primarily used in the AWS cloud for the purpose of discovery, load balancing, and failover of middle-tier servers. + +This page explains how Stork can use Eureka to handle the service discovery and service registration. + +== Dependency + +First, you need to add the Stork Eureka Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-eureka + {project-version} + +---- + +=== Service discovery configuration + +For each application instance expected to be registered in Eureka, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=eureka +stork.my-service.service-discovery.eureka-host=localhost +stork.my-service.service-discovery.eureka-port=8761 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=eureka +quarkus.stork.my-service.service-discovery.eureka-host=localhost +quarkus.stork.my-service.service-discovery.eureka-port=8761 +---- + +-- + +==== + +Stork looks for the service with the given name (`my-service` in the previous example). + +Supported attributes are the following: + +include::{generated-dir}/eureka-sd-attributes.adoc[] + +The `application` attribute is optional. +It uses the Stork service name (`my-service` in the previous configuration) if not set. + +The `instance` attribute allows selecting a specific instance. +Using this attribute prevents load-balancing as you will always select a single instance. + +The `secure` attribute indicates whether to connect to instances over TLS. +If set to `true`, instances without a secure port enabled are filtered out. +The connection host is always resolved from the `hostName` field of the Eureka instance (falling back to `ipAddr`), regardless of this setting. diff --git a/content/docs/smallrye-stork/latest/service-discovery/knative.adoc b/content/docs/smallrye-stork/latest/service-discovery/knative.adoc new file mode 100644 index 000000000..539fcdb5b --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-discovery/knative.adoc @@ -0,0 +1,129 @@ += Knative Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Knative is a Kubernetes-based platform for serverless workloads. Knative provides a set of objects as Kubernetes Custom Resource Definitions (CRDs). +These resources are used to define and control how your serverless workload behaves on the cluster. +The Stork Knative service discovery implementation is very similar to the Kubernetes one. +Stork will ask for https://knative.dev/docs/serving/reference/serving-api/#serving.knative.dev/v1.Service[Knative services] to the cluster instead of vanilla https://kubernetes.io/docs/concepts/services-networking/service/#service-resource[Kubernetes services] used by the Kubernetes implementation. +To do so, Stork uses https://github.com/fabric8io/kubernetes-client/blob/master/extensions/knative/client/src/main/java/io/fabric8/knative/client/KnativeClient.java[Fabric 8 Knative Client] which is just an extension of Fabric8 Kubernetes Client. + +== Dependency + +First, you need to add the Stork Knative Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-knative + {project-version} + +---- + +=== A few words about server authentication. + +Stork uses Fabric8 Knative Client which is a https://github.com/fabric8io/kubernetes-client#readme[Fabric8 Kubernetes Client] extension to access the Kubernetes resources, concretely the `DefaultKnativeClient` implementation. + +Since Knative Client is just an extension of Fabric8 Kubernetes Client, it’s also possible to get an instance of KnativeClient from KubernetesClient. + +`DefaultKubernetesClient` will try to read the `~/.kube/config` file from your local machine and load the token for authenticating with the Kubernetes API server. + +The level of access (Roles) depends on the configured `ServiceAccount`. + +You can override this configuration if you want fine-grain control. + +==== Role-based access control (RBAC) + +If you're using a Kubernetes cluster with Role-Based Access Control (RBAC) enabled, the default permissions for a ServiceAccount don't allow it to list or modify any resources. +A `ServiceAccount`, a `Role` and a `RoleBinding` are needed in order to allow Stork to list the available service instances from the cluster or the namespace. + +An example that allows listing all endpoints could look something like this: + +[source,yaml] +---- +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: + namespace: +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: + namespace: +rules: + - apiGroups: [""] # "" indicates the core API group + resources: ["endpoints", "pods"] # stork queries service endpoints and pods + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: + namespace: +subjects: + - kind: ServiceAccount + # Reference to upper's `metadata.name` + name: + # Reference to upper's `metadata.namespace` + namespace: +roleRef: + kind: Role + name: + apiGroup: rbac.authorization.k8s.io +---- + +== Configuration + +For each service expected to be exposed as _Kubernetes Service_, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-knservice.service-discovery.type=knative +stork.my-knservice.service-discovery.knative-namespace=my-namespace +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-knservice.service-discovery.type=knative +quarkus.stork.my-knservice.service-discovery.knative-namespace=my-namespace +---- + +-- + +==== + +Stork looks for the _Knative Service_ with the given name (`my-knservice` in the previous example) in the specified namespace. + +Stork inspects the _Knative Service_ and retrieves the url of the service. + +Supported attributes are the following: + +include::{generated-dir}/knative-sd-attributes.adoc[] + +== Caching the service instances + +Contacting the cluster too much frequently can result in performance problems. It's why Knative Service discovery extends `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +Moreover, the caching expiration has been also improved in order to only update the retrieved set of `ServiceInstance` if some of them changes and an event is emitted. +This is done by creating an https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/informers/SharedIndexInformer.html[Informer], similar to a https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/Watch.html[Watch], able to observe the events on the Knative Service instances resources. + +Note that: +- the cache is invalidated when an event is received. +- the cache is validated once the instances are retrieved from the cluster, in the `fetchNewServiceInstances` method. +- the `cache` method is overrided to customize the expiration strategy. In this case the collection of service instances will be kept until an event occurs. diff --git a/content/docs/smallrye-stork/latest/service-discovery/kubernetes.adoc b/content/docs/smallrye-stork/latest/service-discovery/kubernetes.adoc new file mode 100644 index 000000000..1bc26e0a4 --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-discovery/kubernetes.adoc @@ -0,0 +1,335 @@ += Kubernetes Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Kubernetes has a built-in support for service discovery and load-balancing. +However, you may need more flexibility to carefully select the service instance you want. + +This page explains how Stork can use the Kubernetes API to handle the service discovery. + +== Dependency + +First, you need to add the Stork Kubernetes Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-kubernetes + {project-version} + +---- + +=== A few words about server authentication. + +Stork uses https://github.com/fabric8io/kubernetes-client#readme[Fabric8 Kubernetes Client] to access the Kubernetes resources, concretely the `DefaultKubernetesClient` implementation. + +It will try to read the `~/.kube/config` file from your local machine and load the token for authenticating with the Kubernetes API server. + +If you are using the Stork Kubernetes discovery provider from inside a _Pod_, it loads `~/.kube/config` from the container file system. + +This file is automatically mounted inside the Pod. + +The level of access (Roles) depends on the configured `ServiceAccount`. + +You can override this configuration if you want fine-grain control. + +==== Role-based access control (RBAC) + +If you're using a Kubernetes cluster with Role-Based Access Control (RBAC) enabled, the default permissions for a ServiceAccount don't allow it to list or modify any resources. +A `ServiceAccount`, a `Role` and a `RoleBinding` are needed in order to allow Stork to list the available service instances from the cluster or the namespace. + +An example that allows listing all endpoints could look something like this: + +[source,yaml] +---- +------ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: + namespace: +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: + namespace: +rules: + - apiGroups: [""] # "" indicates the core API group + resources: ["endpoints", "pods", "services"] # stork queries service endpoints, pods and services + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: + namespace: +subjects: + - kind: ServiceAccount + # Reference to upper's `metadata.name` + name: + # Reference to upper's `metadata.namespace` + namespace: +roleRef: + kind: Role + name: + apiGroup: rbac.authorization.k8s.io +---- + +== Configuration + +For each service expected to be exposed as _Kubernetes Service_, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.k8s-namespace=my-namespace +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.k8s-namespace=my-namespace +---- + +-- + +==== + +Stork looks for the _Kubernetes Service_ with the given name (`my-service` in the previous example) in the specified namespace. + +Instead of using the _Kubernetes Service_ IP directly, and let Kubernetes handle the selection and balancing, Stork inspects the service and retrieves the list of _pods_ providing the service. +Then, it can select the instance. + +== EndpointSlice support (Experimental) + +This feature is experimental. It is opt-in, and the API or behavior may change based on user feedback and Kubernetes evolution. +Recent Kubernetes versions expose service endpoints using *EndpointSlices* (`discovery.k8s.io/v1`), +which are the recommended and scalable replacement for classic `Endpoints`. + +Stork supports EndpointSlices and can use them transparently for service discovery. + +=== Why EndpointSlices + +Compared to classic `Endpoints`, EndpointSlices: + +* Scale better for services with many pods. +* Reduce load on the Kubernetes API server. +* Produce smaller and more frequent updates. +* Are the preferred API in modern Kubernetes clusters. + +When available, EndpointSlices are the recommended source for service discovery. + +== Configuration + +EndpointSlices can be enabled or disabled explicitly. By default, Stork uses automatic detection. + +=== Explicit configuration + +You can force the use of EndpointSlices per service (note that it will still fallback to Endpoints if EndpointSlices are not available for the service): + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.use-endpoint-slices=true +---- + +Or explicitly disable them: + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.use-endpoint-slices=false +---- + +=== Automatic detection (default behavior) + +If `use-endpoint-slices` is not configured, Stork applies the following logic: + +[arabic] +. If the Kubernetes cluster exposes the `discovery.k8s.io/v1` API *and* +. EndpointSlices exist for the target service + +→ Stork uses EndpointSlices. + +Otherwise, it falls back to classic Endpoints. + +This ensures backward compatibility with older clusters and services while automatically benefiting from EndpointSlices when available. + +The detection is performed *asynchronously* (off the event loop) and its result is cached for the lifetime of the service discovery instance. +If the cluster API is temporarily unreachable during detection, Stork retries a few times before falling back to classic Endpoints. +This means a transient connectivity issue at startup does not permanently disable EndpointSlice discovery, but it may cause Stork to fall back to Endpoints for the lifetime of that instance. + +Falling back to classic Endpoints is safe even on modern clusters: Kubernetes maintains `Endpoints` objects alongside `EndpointSlices` for backward compatibility, so both APIs reflect the same service instances. + +== Service instance resolution with EndpointSlices + +When using EndpointSlices, Stork does *not* resolve Pods. + +Instead, service instances are derived directly from the EndpointSlice objects: + +* `endpoint.addresses` → instance host +* `endpointSlice.ports` → instance port +* `endpointSlice.labels` → instance metadata + +Each EndpointSlice represents a homogeneous group of endpoints. +All addresses in a slice share the same set of ports. +If different port combinations exist, Kubernetes exposes them as separate EndpointSlices. + +This guarantees that all `(address, port)` combinations returned by Stork are valid. + +== ClusterIP mode + +By default, Stork resolves individual *pod IPs* from Kubernetes Endpoints (or EndpointSlices). +In ClusterIP mode, Stork resolves to the *ClusterIP and port* of the Kubernetes Service instead, without inspecting the backing pods. + +The `use-cluster-ip` attribute enables this mode. + +=== When to use ClusterIP mode + +ClusterIP mode is useful when: + +* You have a *multi-port Service* and want Stork to resolve the port by name, without needing to know actual port numbers. +* You don't need client-side load balancing — for example, because `kube-proxy`, a service mesh, or another network-level mechanism already handles traffic distribution. +* You want to *control the resolution strategy through configuration*, without changing application code. + +=== Configuration + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.k8s-namespace=my-namespace +stork.my-service.service-discovery.use-cluster-ip=true +stork.my-service.service-discovery.port-name=http +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.k8s-namespace=my-namespace +quarkus.stork.my-service.service-discovery.use-cluster-ip=true +quarkus.stork.my-service.service-discovery.port-name=http +---- + +-- + +==== + +In this mode, Stork queries the Kubernetes `Service` resource directly and returns a single `ServiceInstance` with: + +* *Host* — the Service's ClusterIP (e.g., `10.96.0.15`) +* *Port* — resolved from the Service spec, matching `port-name` when multiple ports are defined + +Since only one instance is returned, any configured Stork load balancer becomes a passthrough. + +[NOTE] +==== + +ClusterIP mode does not support headless Services (`clusterIP: None`). +If the target Service is headless, Stork returns an empty list of service instances. + +==== + +=== Multi-port Services + +ClusterIP mode works well with multi-port Services. +Use the `port-name` attribute to select the desired port: + +[source,yaml] +---- +apiVersion: v1 +kind: Service +metadata: + name: my-service +spec: + ports: + - name: http + port: 8080 + - name: grpc + port: 50051 +---- + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.use-cluster-ip=true +stork.my-service.service-discovery.port-name=grpc +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.use-cluster-ip=true +quarkus.stork.my-service.service-discovery.port-name=grpc +---- + +-- + +==== + +This resolves to `10.96.x.x:50051` — the ClusterIP with the `grpc` port without the application needing to know the actual port number. +If `port-name` is not set, Stork uses the first port defined in the Service spec. + +Supported attributes are the following: + +include::{generated-dir}/kubernetes-sd-attributes.adoc[] + +== Caching the service instances + +Contacting the cluster too much frequently can result in performance problems. It's why Kubernetes Service discovery extends `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +Moreover, the caching expiration has been also improved in order to only update the retrieved set of `ServiceInstance` if some of them changes and an event is emitted. +This is done by creating an https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/informers/SharedIndexInformer.html[Informer], similar to a https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/Watch.html[Watch], able to observe the events on the service instances resources. + +Note that: +- the cache is invalidated when an event is received. +- the cache is validated, if and only if, the instances are retrieved successfully from the cluster, in the `fetchNewServiceInstances` method. +- In case of an error contacting the cluster (e.g., network failure, API server unreachable), a retry mechanism is triggered. +The system will attempt to contact the cluster up to the number of times specified by request-retry-backoff-limit, waiting request-retry-backoff-interval milliseconds between each attempt. +By default, retries are disabled to prevent the system from entering an infinite loop of calls to an unresponsive cluster. +- If no service instances are found (e.g., no matching endpoints, headless service in ClusterIP mode), Stork returns an empty list. +- the `cache` method is overridden to customize the expiration strategy. In this case the collection of service instances will be kept until an event occurs. + +When EndpointSlice are selected, Stork creates informers on the `EndpointSlice` resources instead of classic `Endpoints`. +The caching behavior remains unchanged. + +In ClusterIP mode, Stork creates an Informer on the Kubernetes `Service` resource (instead of Endpoints or EndpointSlices). +The cache is invalidated when the Service is added, updated, or deleted. +The same caching behavior described above applies. diff --git a/content/docs/smallrye-stork/latest/service-discovery/overview.adoc b/content/docs/smallrye-stork/latest/service-discovery/overview.adoc new file mode 100644 index 000000000..42531f0d8 --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-discovery/overview.adoc @@ -0,0 +1,34 @@ += Overview +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Service Discovery in SmallRye Stork + +As already introduced, service discovery is a crucial part of modern microservices architectures. +It allows services to dynamically discover the location of other services at runtime, which is particularly useful in distributed systems where services may scale up or down, +or change their network addresses. + +SmallRye Stork provides a flexible and extensible mechanism for service discovery. +It supports out of the box some service discovery such as Kubernetes or Consul but the main strength of it is customization so you can easily create your own implementation related on your business for example. +Stork allows services to communicate with each other without requiring hardcoded addresses, making it an ideal solution for microservices deployments. +SmallRye Stork brings this capability to clients for Quarkus applications but it's vendor agnostic so you easily use it with other solutions and even in standalone mode. + +== Service discovery caching overview + +Stork provides a built-in caching mechanism for service discovery results. +By default, each service discovery implementation may repeatedly contact its backend (e.g., Consul, Kubernetes, Eureka) to retrieve the current list of service instances. +Since these lookups can be expensive or frequent, Stork allows service discovery providers to cache the retrieved instances for a configurable period of time. + +* Cached results are reused for subsequent lookups, avoiding unnecessary backend calls. +* The cache is automatically refreshed after the configured `refresh-period`. +* If a refresh fails, Stork keeps serving the previously retrieved list of instances until a new successful refresh occurs. + +In addition to the time-based refresh mechanism, Stork also exposes an *cache invalidation API* . +This API can be used to explicitly clear the cached results, forcing the next lookup to perform a new service discovery call. +This is especially useful when the service discovery backend supports event-based notifications (for example, Consul blocking queries), allowing the cache to be invalidated as soon as a change is detected. + +____ +For more details about how to enable caching in a custom service discovery implementation, see the xref:service-discovery/custom-service-discovery.adoc#caching-the-service-instances[Caching the service instances] section. +____ + +You can explore the different implementations and learn how to create your own in the following sections. diff --git a/content/docs/smallrye-stork/latest/service-discovery/static-list.adoc b/content/docs/smallrye-stork/latest/service-discovery/static-list.adoc new file mode 100644 index 000000000..4e2b066f3 --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-discovery/static-list.adoc @@ -0,0 +1,56 @@ += Static List Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +In some situations, such as demos, development, or testing, you may want to mock the service discovery by providing a predefined list of service instances. +For this purpose, Stork comes with a `static` service discovery type. + +== Dependency + +To use the `static` service discovery, first add the appropriate Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-static-list + {project-version} + +---- + +== Configuration + +For each service that should use the static list of service instances configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=static +stork.my-service.service-discovery.address-list=localhost:8080,localhost:8081 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=static +quarkus.stork.my-service.service-discovery.address-list=localhost:8080,localhost:8081 +---- + +-- + +==== + +These are all the static service discovery parameters: + +include::{generated-dir}/static-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/latest/service-registration/consul.adoc b/content/docs/smallrye-stork/latest/service-registration/consul.adoc new file mode 100644 index 000000000..10fe6d6ea --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-registration/consul.adoc @@ -0,0 +1,228 @@ += Consul Service Registration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://www.consul.io/[Consul] is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. +It's often used as service discovery backend to register and locate the services composing your system. +Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. +External services can be registered as well. + +This page explains how Stork can use Consul to handle the service registration. + +== Dependency + +First, you need to add the Stork Consul Service Registration provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-registration-consul + {project-version} + +---- + +== Service registration configuration + +For each service that should register the service instances in Consul, configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +---- + +Consul service registrar is configured with the following parameters: + +include::{generated-dir}/consul-sr-attributes.adoc[] + +== Service deregistration configuration + +There is no specific configuration required to enable deregistration; however, you must ensure that a consul service registrar is configured for the service: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +---- + +As with registration, deregistration relies on the service name. + +== Secure communication with Consul + +When your Consul cluster uses TLS/SSL encryption, you can configure Stork to establish secure connections. Enable SSL and provide the necessary trust store configuration: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +stork.my-service.service-registrar.consul-host=localhost +stork.my-service.service-registrar.consul-port=8501 +stork.my-service.service-registrar.ssl=true +stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +stork.my-service.service-registrar.trust-store-password=changeit +stork.my-service.service-registrar.verify-host=true +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +quarkus.stork.my-service.service-registrar.consul-host=localhost +quarkus.stork.my-service.service-registrar.consul-port=8501 +quarkus.stork.my-service.service-registrar.ssl=true +quarkus.stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +quarkus.stork.my-service.service-registrar.trust-store-password=changeit +quarkus.stork.my-service.service-registrar.verify-host=true +---- + +-- + +==== + +For mutual TLS (mTLS) authentication where the client must also present a certificate, provide both trust store and key store configuration: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +stork.my-service.service-registrar.consul-host=localhost +stork.my-service.service-registrar.consul-port=8501 +stork.my-service.service-registrar.ssl=true +stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +stork.my-service.service-registrar.trust-store-password=changeit +stork.my-service.service-registrar.key-store-path=/path/to/keystore.jks +stork.my-service.service-registrar.key-store-password=changeit +stork.my-service.service-registrar.verify-host=true +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +quarkus.stork.my-service.service-registrar.consul-host=localhost +quarkus.stork.my-service.service-registrar.consul-port=8501 +quarkus.stork.my-service.service-registrar.ssl=true +quarkus.stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +quarkus.stork.my-service.service-registrar.trust-store-password=changeit +quarkus.stork.my-service.service-registrar.key-store-path=/path/to/keystore.jks +quarkus.stork.my-service.service-registrar.key-store-password=changeit +quarkus.stork.my-service.service-registrar.verify-host=true +---- + +-- + +==== + +== ACL Token Authentication + +When your Consul cluster has ACL (Access Control List) enabled, you need to provide an ACL token for authentication: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +stork.my-service.service-registrar.consul-host=localhost +stork.my-service.service-registrar.consul-port=8500 +stork.my-service.service-registrar.acl-token=your-acl-token +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +quarkus.stork.my-service.service-registrar.consul-host=localhost +quarkus.stork.my-service.service-registrar.consul-port=8500 +quarkus.stork.my-service.service-registrar.acl-token=your-acl-token +---- + +-- + +==== + +The ACL token can be combined with SSL/TLS configuration for secure, authenticated access to Consul. diff --git a/content/docs/smallrye-stork/latest/service-registration/custom-service-registration.adoc b/content/docs/smallrye-stork/latest/service-registration/custom-service-registration.adoc new file mode 100644 index 000000000..9e7d8e4cd --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-registration/custom-service-registration.adoc @@ -0,0 +1,165 @@ += Implement your own service registration mechanism +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork is extensible, and you can implement your own service registrar mechanism. + +== Dependencies + +To implement your _Service Registration Provider_, make sure your project depends on Core and Configuration Generator. +The former brings classes necessary to implement custom registrar, the latter contains an https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/annotation/processing/Processor.html[annotation processor] that generates classes needed by Stork. + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a service registrar provider + +Service registration implementation consists of three elements: + +* `ServiceRegistrar` which is responsible for registering service instances for a single Stork service. +* `ServiceRegistrarProvider` which creates instances of `ServiceRegistrar` for a given service registrar _type_. +* `$typeConfiguration` which is a configuration for the registrar. This class is automatically generated during the compilation (using an annotation processor). + +A _type_, for example, `acme`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=acme +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=acme +---- + +-- + +==== + +A `ServiceRegistrarProvider` implementation needs to be annotated with `@ServiceRegistrarType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@ServiceRegistrarAttribute` annotations placed on the provider. +Optionally, you can also add `@ApplicationScoped` annotation in order to provide the service registrar implementation as CDI bean. + +A service registrar provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceRegistrarProvider.java[indent=0] +---- + +Note, that the `ServiceRegistrarProvider` interface takes a configuration class as a parameter. This configuration class +is generated automatically by the _Configuration Generator_. +Its name is created by appending `RegistrarConfiguration` to the service registrar type, such as `AcmeRegistrarConfiguration`. + +The next step is to implement the `ServiceRegistrar` interface: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceRegistrar.java[indent=0] +---- + +This implementation is simplistic. +Typically, instead of creating a service instance with values from the configuration, you would connect to a service registration backend, look for the service and build the list of service instance accordingly. +That's why the method returns a `Uni`. +Most of the time, the lookup is a remote operation. + +As you can see, the `AcmeConfiguration` class gives access to the configuration attribute. + +=== Implement your own service deregistration mechanism + +The `registerServiceInstance` method receives an optional `instanceName` parameter that acts as an explicit identifier for the registered instance. +When provided, it should be used as the registration ID so that the same instance can be precisely targeted during deregistration. +If `instanceName` is `null` or empty, implementations should fall back to a deterministic ID derived from the service name, IP address, and port. + +Finally, you can implement your own service deregistration mechanism in `deregisterServiceInstance` method. + +[WARNING] +.Override the specific-instance deregistration methods +==== + +The `ServiceRegistrar` interface provides several deregistration methods: + +* `deregisterServiceInstance(String serviceName)` — deregisters *all* instances of a service. +* `deregisterServiceInstance(String serviceName, String instanceName)` — deregisters the instance registered under the given name. +* `deregisterServiceInstance(String serviceName, String ipAddress, int port)` — deregisters the instance identified by IP and port. + +The default implementations of the second and third methods fall back to the first, which may deregister *all* instances. +*Custom registrar implementations should override at least one of the specific-instance methods* to provide precise, instance-level deregistration and avoid unintended side effects. + +Note that the `Service` class wraps these with simpler methods that do not require passing the service name: +`deregisterNamedInstance(instanceName)`, `deregisterServiceInstance(ipAddress, port)`, and the deprecated no-arg `deregisterServiceInstance()`. + +==== + +== Using your service registrar using the programmatic API + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=acme +stork.my-service.service-registrar.host=localhost +stork.my-service.service-registrar.port=1234 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=acme +quarkus.stork.my-service.service-registrar.host=localhost +quarkus.stork.my-service.service-registrar.port=1234 +---- + +-- + +==== + +When building your service registrar project project, the configuration generator creates a configuration class. +Then, Stork will use your implementation to register/deregister the service instances using the `acme` backend. + +This class can be used to configure your service registrar using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeRegistrarApiUsage.java[indent=0] +---- diff --git a/content/docs/smallrye-stork/latest/service-registration/eureka.adoc b/content/docs/smallrye-stork/latest/service-registration/eureka.adoc new file mode 100644 index 000000000..8e327934d --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-registration/eureka.adoc @@ -0,0 +1,105 @@ += Eureka Service Registration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://github.com/Netflix/eureka[Eureka] is a RESTful service that is primarily used in the AWS cloud for the purpose of discovery, load balancing, and failover of middle-tier servers. + +This page explains how Stork can use Eureka to handle the service registration. + +== Dependency + +First, you need to add the Stork Eureka Service Registration provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-registration-eureka + {project-version} + +---- + +== Service registration configuration + +For each service that should register the service instances in Eureka, configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=eureka +stork.my-service.service-registrar.eureka-host=localhost +stork.my-service.service-registrar.eureka-port=8761 +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=eureka +quarkus.stork.my-service.service-registrar.eureka-host=localhost +quarkus.stork.my-service.service-registrar.eureka-port=8761 +---- + +Eureka service registrar is configured with the following parameters: + +include::{generated-dir}/eureka-sr-attributes.adoc[] + +The `ipAddress` passed to `registerServiceInstance()` is used as both the IP address (`ipAddr`) and the hostname (`hostName`) registered in Eureka. +If the instance has a distinct DNS hostname, set `host-name` explicitly to override this default. + +== Service deregistration configuration + +There is no specific configuration required to enable deregistration; however, you must ensure that a consul service registrar is configured for the service: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=eureka +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=eureka +---- + +As with registration, deregistration relies on the service name. diff --git a/content/docs/smallrye-stork/latest/service-registration/overview.adoc b/content/docs/smallrye-stork/latest/service-registration/overview.adoc new file mode 100644 index 000000000..db10b9a5f --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-registration/overview.adoc @@ -0,0 +1,82 @@ += Overview +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Service Registration in SmallRye Stork + +Service registration is the process by which services announce their availability to a central registry, allowing other services to discover and communicate with them. +In SmallRye Stork, service registration is automated and integrated with supported registries like *Consul*. +This ensures that services can dynamically join and leave the network. + +=== Key Features: + +* *Automatic Registration*: For *Quarkus applications*, SmallRye Stork automatically registers the application with the configured service registry — but *only for built-in registrars such as Consul, Eureka, and Static*. +If you're using a custom registrar, registration must still be handled programmatically, as before this feature. + +Registration is enabled by default. If you want to disable registration, you can do it per service using the following property: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.enable=false +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.enable=false +---- + +*IMPORTANT* Public IP address needs to be provided. Smallrye Stork will fail if the service IP address is not provided during registration. + +==== Supported Registries: + +Currently, Smallrye Stork provides seamless integration with Consul, Eureka and a Static registry. +This integration simplifies the management of dynamic environments where services are frequently added or removed. + +==== Custom Registration: + +In addition to the default mechanisms, SmallRye Stork allows you to implement custom service registration strategies, +providing flexibility for different infrastructures or custom service registration needs. + +In the following sections you can have more details about each specific implementation. + +=== Deregister Services + +SmallRye Stork now supports deregistration of service instances from a central registry when explicitly requested. +This feature complements the registration mechanism. + +This operation is typically should be triggered when a service instance is shut down or no longer available, helping maintain a consistent and accurate service registry. +To enable service deregistration, you can invoke the deregistration methods on the `Service` instance programmatically. +To target a specific instance, prefer one of these methods: + +* `deregisterNamedInstance(instanceName)` — deregisters the instance registered under the given name. +* `deregisterServiceInstance(ipAddress, port)` — deregisters the instance identified by IP and port. + +The no-argument overload `deregisterServiceInstance()` deregisters *all* instances of the service and is deprecated, prefer one of the specific methods above. + +*Note*: When used in standalone mode, Stork does *not* automatically handle service instance registration or deregistration. +However, when using the quarkus-stork-registration extension within a Quarkus application, +service instances are automatically registered at application startup and deregistered upon shutdown, unless this behavior is explicitly disabled. + +In the following sections you can have more details about each specific implementation. diff --git a/content/docs/smallrye-stork/latest/service-registration/static-list.adoc b/content/docs/smallrye-stork/latest/service-registration/static-list.adoc new file mode 100644 index 000000000..87e3eb570 --- /dev/null +++ b/content/docs/smallrye-stork/latest/service-registration/static-list.adoc @@ -0,0 +1,96 @@ += Static List Service Registration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork provides the ability to register services using Static list as backend. + +== Dependency + +To use the `static` service registrar, first add the appropriate Service Registration provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-registration-static-list + {project-version} + +---- + +== Service registration configuration + +For each service that should register the service instances in a static list, configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=static +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=static +---- + +Static service registrar is configured with the following parameters: + +include::{generated-dir}/static-sr-attributes.adoc[] + +== Service deregistration configuration + +There is no specific configuration required to enable deregistration; however, you must ensure that a consul service registrar is configured for the service: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=static +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=static +---- + +As with registration, deregistration relies on the service name. diff --git a/content/docs/smallrye-stork/latest/springboot-config.adoc b/content/docs/smallrye-stork/latest/springboot-config.adoc new file mode 100644 index 000000000..05d2f1a3b --- /dev/null +++ b/content/docs/smallrye-stork/latest/springboot-config.adoc @@ -0,0 +1,40 @@ += Stork Spring Boot Config +include::_attributes.adoc[] + +Stork seamlessly supports Spring Boot configuration, facilitating access to configuration properties. +This documentation elaborates on how Spring Boot developers can use Stork in their Spring Boot applications and configure it using the application.properties file. + +== Dependency setup + +To enable Spring Boot configuration integration in Stork, you need to include the following dependency: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-spring-boot-config + {project-version} + +---- + +== Initializing Stork + +Since Spring Boot lacks a pre-configured Stork instance, you'll need create one. It can be done by providing a Spring bean performing Stork initialization: + +[source,java] +---- +include::{examples-dir}/examples/SpringBootInitializationExample.java[indent=0] +---- + +Upon initialization, Stork scans for the `io.smallrye.stork.springboot.SpringBootConfigProvider` SPI provider and CDI beans (from version 2.x onwards). +It then builds a comprehensive list of managed services by parsing the properties configuration files. + +Please note the importance of the `io.smallrye.stork.springboot.SpringBootApplicationContextProvider` bean in our setup. +This bean has a critical role by granting Stork access to the current `org.springframework.context.ApplicationContext`. +It enables it to retrieve configuration details effectively. Consequently, it's imperative that this bean is instantiated prior to initiating the Stork initialization process. +In this case, we utilize the `@DependsOn` annotation for that. +It allows us controlling the bean creation order. + +== Comprehensive Example + +You can check our https://github.com/aureamunoz/spring-stork-guitar-hero/[Guitar Hero Application] showcasing the seamless integration of Stork with Spring Boot Configuration. diff --git a/content/docs/smallrye-stork/main/_attributes.adoc b/content/docs/smallrye-stork/main/_attributes.adoc new file mode 100644 index 000000000..5b591a7de --- /dev/null +++ b/content/docs/smallrye-stork/main/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 3.0.3 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: SmallRye Stork +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 3.0.3 +:relfileprefix: /docs/smallrye-stork/main/ +:imagesdir: /docs/smallrye-stork/main +:docs-project: smallrye-stork +:docs-version: main +:docs-ref: main diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeDiscoveryApiUsage.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeDiscoveryApiUsage.java new file mode 100644 index 000000000..1487b571a --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeDiscoveryApiUsage.java @@ -0,0 +1,20 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.StorkServiceRegistry; + +import java.util.List; + +public class AcmeDiscoveryApiUsage { + + public void example(StorkServiceRegistry stork) { + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new AcmeConfiguration().withHost("my-host")) + ); + + Uni> serviceInstances = stork.getService("my-service").getInstances(); + } + +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeLoadBalancer.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeLoadBalancer.java new file mode 100644 index 000000000..6fb0b1be1 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeLoadBalancer.java @@ -0,0 +1,32 @@ +package examples; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Random; + +import io.smallrye.stork.api.LoadBalancer; +import io.smallrye.stork.api.NoServiceInstanceFoundException; +import io.smallrye.stork.api.ServiceInstance; + +public class AcmeLoadBalancer implements LoadBalancer { + + private final Random random; + + public AcmeLoadBalancer(AcmeLoadBalancerConfiguration config) { + random = new Random(); + } + + @Override + public ServiceInstance selectServiceInstance(Collection serviceInstances) { + if (serviceInstances.isEmpty()) { + throw new NoServiceInstanceFoundException("No services found."); + } + int index = random.nextInt(serviceInstances.size()); + return new ArrayList<>(serviceInstances).get(index); + } + + @Override + public boolean requiresStrictRecording() { + return false; + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeLoadBalancerProvider.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeLoadBalancerProvider.java new file mode 100644 index 000000000..3640322ee --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeLoadBalancerProvider.java @@ -0,0 +1,22 @@ +package examples; + +import io.smallrye.stork.api.LoadBalancer; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.LoadBalancerAttribute; +import io.smallrye.stork.api.config.LoadBalancerType; +import io.smallrye.stork.spi.LoadBalancerProvider; +import jakarta.enterprise.context.ApplicationScoped; + +@LoadBalancerType("acme-load-balancer") +@LoadBalancerAttribute(name = "my-attribute", + description = "Attribute that alters the behavior of the LoadBalancer") +@ApplicationScoped +public class AcmeLoadBalancerProvider implements + LoadBalancerProvider { + + @Override + public LoadBalancer createLoadBalancer(AcmeLoadBalancerConfiguration config, + ServiceDiscovery serviceDiscovery) { + return new AcmeLoadBalancer(config); + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeObservationCollector.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeObservationCollector.java new file mode 100644 index 000000000..3c4655e7d --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeObservationCollector.java @@ -0,0 +1,35 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.observability.ObservationCollector; +import io.smallrye.stork.api.observability.StorkEventHandler; +import io.smallrye.stork.api.observability.StorkObservation; +import org.jboss.logging.Logger; + +public class AcmeObservationCollector implements ObservationCollector { + + private static final Logger LOGGER = Logger.getLogger(AcmeObservationCollector.class); + + private static final StorkEventHandler ACME_HANDLER = event -> { + //This is the terminal event. Put here your custom logic to extend the metrics collection. + + //E.g. Expose metrics to Micrometer, additional logs.... + LOGGER.info( "Service discovery took " + event.getServiceDiscoveryDuration() + "."); + LOGGER.info( event.getDiscoveredInstancesCount() + " have been discovered for " + event.getServiceName() + "."); + LOGGER.info( "Service selection took " + event.getServiceSelectionDuration() + "."); + + // ... + + }; + + public static StorkObservation ACME_STORK_EVENT; + + @Override + public StorkObservation create(String serviceName, String serviceDiscoveryType, + String serviceSelectionType) { + ACME_STORK_EVENT = new StorkObservation( + serviceName, serviceDiscoveryType, serviceSelectionType, + ACME_HANDLER); + return ACME_STORK_EVENT; + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeRegistrarApiUsage.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeRegistrarApiUsage.java new file mode 100644 index 000000000..2c4b52cef --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeRegistrarApiUsage.java @@ -0,0 +1,21 @@ +package examples; + +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.StorkServiceRegistry; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +public class AcmeRegistrarApiUsage { + + public void example(StorkServiceRegistry stork) { + String list = "localhost:8080, localhost:8081"; + + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new StaticConfiguration().withAddressList(list), + new AcmeLoadBalancerConfiguration().withMyAttribute("my-value"),new AcmeRegistrarConfiguration()) + ); + + stork.getService("my-service").registerNamedInstance("my-instance", "localhost", + 9000); + } + +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeSelectorApiUsage.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeSelectorApiUsage.java new file mode 100644 index 000000000..67440ddf9 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeSelectorApiUsage.java @@ -0,0 +1,22 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.StorkServiceRegistry; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; +import io.smallrye.stork.serviceregistration.staticlist.StaticRegistrarConfiguration; + +public class AcmeSelectorApiUsage { + + public void example(StorkServiceRegistry stork) { + String list = "localhost:8080, localhost:8081"; + stork.defineIfAbsent("my-service", ServiceDefinition.of( + new StaticConfiguration().withAddressList(list), + new AcmeLoadBalancerConfiguration().withMyAttribute("my-value"),new StaticRegistrarConfiguration()) + ); + + Uni uni = stork.getService("my-service").selectInstance(); + } + +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceDiscovery.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceDiscovery.java new file mode 100644 index 000000000..b9368c4b4 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceDiscovery.java @@ -0,0 +1,32 @@ +package examples; + +import java.util.Collections; +import java.util.List; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +public class AcmeServiceDiscovery implements ServiceDiscovery { + + private final String host; + private final int port; + + public AcmeServiceDiscovery(AcmeConfiguration configuration) { + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override + public Uni> getServiceInstances() { + // Proceed to the lookup... + // Here, we just return a DefaultServiceInstance with the configured host and port + // The last parameter specifies whether the communication with the instance should + // happen over a secure connection + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceDiscoveryProvider.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceDiscoveryProvider.java new file mode 100644 index 000000000..ca39d5289 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceDiscoveryProvider.java @@ -0,0 +1,28 @@ +package examples; + +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.ServiceConfig; +import io.smallrye.stork.api.config.ServiceDiscoveryAttribute; +import io.smallrye.stork.api.config.ServiceDiscoveryType; +import io.smallrye.stork.spi.StorkInfrastructure; +import io.smallrye.stork.spi.ServiceDiscoveryProvider; +import jakarta.enterprise.context.ApplicationScoped; + +@ServiceDiscoveryType("acme") +@ServiceDiscoveryAttribute(name = "host", + description = "Host name of the service discovery server.", required = true) +@ServiceDiscoveryAttribute(name = "port", + description = "Hort of the service discovery server.", required = false) +@ApplicationScoped +public class AcmeServiceDiscoveryProvider + implements ServiceDiscoveryProvider { + + @Override + public ServiceDiscovery createServiceDiscovery( + AcmeConfiguration config, + String serviceName, + ServiceConfig serviceConfig, + StorkInfrastructure storkInfrastructure) { + return new AcmeServiceDiscovery(config); + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceRegistrar.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceRegistrar.java new file mode 100644 index 000000000..52ce8d799 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceRegistrar.java @@ -0,0 +1,38 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.Metadata; +import io.smallrye.stork.api.ServiceRegistrar; + +import java.util.List; + +public class AcmeServiceRegistrar implements ServiceRegistrar { + + private final String backendHost; + private final int backendPort; + + public AcmeServiceRegistrar(AcmeRegistrarConfiguration configuration) { + this.backendHost = configuration.getHost(); + this.backendPort = Integer.parseInt(configuration.getPort()); + } + + + @Override + public Uni registerServiceInstance(String serviceName, String instanceName, Metadata metadata, String ipAddress, int defaultPort) { + //instanceName is an optional identifier for this specific instance; use it as the registration ID when provided + //do whatever is needed for registering service instance + return Uni.createFrom().voidItem(); + } + + @Override + public Uni registerServiceInstance(String serviceName, String instanceName, List tags, + Metadata metadata, String ipAddress, int defaultPort) { + return Uni.createFrom().voidItem(); + } + + @Override + public Uni deregisterServiceInstance(String serviceName) { + //do whatever is needed for deregistering service instance + return Uni.createFrom().voidItem(); + } +} \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceRegistrarProvider.java b/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceRegistrarProvider.java new file mode 100644 index 000000000..52e028cfb --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/AcmeServiceRegistrarProvider.java @@ -0,0 +1,28 @@ +package examples; + +import io.smallrye.stork.api.Metadata; +import io.smallrye.stork.api.ServiceRegistrar; +import io.smallrye.stork.api.config.ServiceRegistrarAttribute; +import io.smallrye.stork.api.config.ServiceRegistrarType; +import io.smallrye.stork.spi.ServiceRegistrarProvider; +import io.smallrye.stork.spi.StorkInfrastructure; +import jakarta.enterprise.context.ApplicationScoped; + +@ServiceRegistrarType(value = "acme", metadataKey = Metadata.DefaultMetadataKey.class) +@ServiceRegistrarAttribute(name = "host", + description = "Host name of the service registration server.", required = true) +@ServiceRegistrarAttribute(name = "port", + description = "Port of the service registration server.", required = false) +@ApplicationScoped +public class AcmeServiceRegistrarProvider + implements ServiceRegistrarProvider { + + @Override + public ServiceRegistrar createServiceRegistrar( + AcmeRegistrarConfiguration config, + String serviceName, + StorkInfrastructure storkInfrastructure) { + return new AcmeServiceRegistrar(config); + } + +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/CachedAcmeServiceDiscovery.java b/content/docs/smallrye-stork/main/_examples/examples/CachedAcmeServiceDiscovery.java new file mode 100644 index 000000000..204aa78c9 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/CachedAcmeServiceDiscovery.java @@ -0,0 +1,31 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +import java.util.Collections; +import java.util.List; + +public class CachedAcmeServiceDiscovery extends CachingServiceDiscovery { + + private final String host; + private final int port; + + public CachedAcmeServiceDiscovery(CachedAcmeConfiguration configuration) { + super(configuration.getRefreshPeriod()); // (1) + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override // (2) + public Uni> fetchNewServiceInstances(List previousInstances) { + // Retrieve services... + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/CachedAcmeServiceDiscoveryProvider.java b/content/docs/smallrye-stork/main/_examples/examples/CachedAcmeServiceDiscoveryProvider.java new file mode 100644 index 000000000..56d627671 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/CachedAcmeServiceDiscoveryProvider.java @@ -0,0 +1,32 @@ +package examples; + +import io.smallrye.stork.api.ServiceDiscovery; +import io.smallrye.stork.api.config.ServiceConfig; +import io.smallrye.stork.api.config.ServiceDiscoveryAttribute; +import io.smallrye.stork.api.config.ServiceDiscoveryType; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.spi.ServiceDiscoveryProvider; +import io.smallrye.stork.spi.StorkInfrastructure; +import jakarta.enterprise.context.ApplicationScoped; + +@ServiceDiscoveryType("cached-acme") +@ServiceDiscoveryAttribute(name = "host", + description = "Host name of the service discovery server.", required = true) +@ServiceDiscoveryAttribute(name = "port", + description = "Hort of the service discovery server.", required = false) +@ServiceDiscoveryAttribute(name = "refresh-period", + description = "Service discovery cache refresh period.", + defaultValue = CachingServiceDiscovery.DEFAULT_REFRESH_INTERVAL) +@ApplicationScoped +public class CachedAcmeServiceDiscoveryProvider + implements ServiceDiscoveryProvider { + + @Override + public ServiceDiscovery createServiceDiscovery( + CachedAcmeConfiguration config, + String serviceName, + ServiceConfig serviceConfig, + StorkInfrastructure storkInfrastructure) { + return new CachedAcmeServiceDiscovery(config); + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java b/content/docs/smallrye-stork/main/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java new file mode 100644 index 000000000..b2e3823c9 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/CustomExpirationCachedAcmeServiceDiscovery.java @@ -0,0 +1,44 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.impl.CachingServiceDiscovery; +import io.smallrye.stork.impl.DefaultServiceInstance; +import io.smallrye.stork.utils.ServiceInstanceIds; + +import java.util.Collections; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; + +public class CustomExpirationCachedAcmeServiceDiscovery extends CachingServiceDiscovery { + + private final String host; + private final int port; + + private AtomicBoolean invalidated = new AtomicBoolean(); + + public CustomExpirationCachedAcmeServiceDiscovery(CachedAcmeConfiguration configuration) { + super(configuration.getRefreshPeriod()); + this.host = configuration.getHost(); + this.port = Integer.parseInt(configuration.getPort()); + } + + @Override + public Uni> fetchNewServiceInstances(List previousInstances) { + // Retrieve services... + DefaultServiceInstance instance = + new DefaultServiceInstance(ServiceInstanceIds.next(), host, port, false); + return Uni.createFrom().item(() -> Collections.singletonList(instance)); + } + + @Override + public Uni> cache(Uni> uni) { + return uni.memoize().until(() -> invalidated.get()); + } + + @Override + public void invalidate() { + invalidated.set(true); + } + +} \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/_examples/examples/DefinitionExample.java b/content/docs/smallrye-stork/main/_examples/examples/DefinitionExample.java new file mode 100644 index 000000000..aab2dc3d6 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/DefinitionExample.java @@ -0,0 +1,30 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; +import io.smallrye.stork.serviceregistration.staticlist.StaticRegistrarConfiguration; + +public class DefinitionExample { + + public static void example(Stork stork) { + String example = "localhost:8080, localhost:8081"; + + // A service using a static list of locations as discovery + // As not set, it defaults to round-robin to select the instance. + stork.defineIfAbsent("my-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example))); + + // Another service using the random selection strategy, instead of round-robin + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration())); + + // Another service using the random selection strategy, instead of round-robin + // and a static service registrar + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration(), new StaticRegistrarConfiguration())); + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/HelloClient.java b/content/docs/smallrye-stork/main/_examples/examples/HelloClient.java new file mode 100644 index 000000000..eec581608 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/HelloClient.java @@ -0,0 +1,20 @@ +package examples; + +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; + + + +@Path("/") +@RegisterRestClient(baseUri = "stork://hello-service/hello") +public interface HelloClient { + @POST + @Produces(MediaType.TEXT_PLAIN) + @Consumes(MediaType.TEXT_PLAIN) + String echo(String name); +} + diff --git a/content/docs/smallrye-stork/main/_examples/examples/InitializationExample.java b/content/docs/smallrye-stork/main/_examples/examples/InitializationExample.java new file mode 100644 index 000000000..cb93ca0bd --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/InitializationExample.java @@ -0,0 +1,18 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +import java.time.Duration; + +public class InitializationExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + // ... + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/LookupExample.java b/content/docs/smallrye-stork/main/_examples/examples/LookupExample.java new file mode 100644 index 000000000..71e232d12 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/LookupExample.java @@ -0,0 +1,27 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; + +import java.util.List; +import java.util.Map; + +public class LookupExample { + + public static void example(Stork stork) { + Service service = stork.getService("my-service"); + + // Gets all the available instances: + Uni> instances = service.getInstances(); + // Select one instance using the load balancing strategy + Uni instance = service.selectInstance(); + + // Gets all the managed services: + Map services = stork.getServices(); + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/ObservableInitializationExample.java b/content/docs/smallrye-stork/main/_examples/examples/ObservableInitializationExample.java new file mode 100644 index 000000000..d18854291 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/ObservableInitializationExample.java @@ -0,0 +1,13 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.integration.ObservableStorkInfrastructure; + +public class ObservableInitializationExample { + + public static void main(String[] args) { + Stork.initialize(new ObservableStorkInfrastructure(new AcmeObservationCollector())); + Stork stork = Stork.getInstance(); + // ... + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/ObservationExample.java b/content/docs/smallrye-stork/main/_examples/examples/ObservationExample.java new file mode 100644 index 000000000..299fc5b4e --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/ObservationExample.java @@ -0,0 +1,35 @@ +package examples; + +import io.smallrye.mutiny.Uni; +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.api.observability.ObservationCollector; +import io.smallrye.stork.api.observability.StorkObservation; + +import java.time.Duration; +import java.util.List; +import java.util.Map; + +import static examples.AcmeObservationCollector.*; + +public class ObservationExample { + + public static void example(Stork stork) { + Service service = stork.getService("my-service"); + + ObservationCollector observations = service.getObservations(); + + // Gets the time spent in service discovery and service selection even if any error happens + Duration overallDuration = ACME_STORK_EVENT.getOverallDuration(); + + // Gets the total number of instances discovered + int discoveredInstancesCount = ACME_STORK_EVENT.getDiscoveredInstancesCount(); + + // Gets the error raised during the process + Throwable failure = ACME_STORK_EVENT.failure(); + + // ... + + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/SpringBootInitializationExample.java b/content/docs/smallrye-stork/main/_examples/examples/SpringBootInitializationExample.java new file mode 100644 index 000000000..d21242584 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/SpringBootInitializationExample.java @@ -0,0 +1,29 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.springboot.SpringBootApplicationContextProvider; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.DependsOn; + +@SpringBootApplication +public class SpringBootInitializationExample { + + public static void main(String[] args) { + SpringApplication.run(SpringBootInitializationExample.class, args); + } + + @Bean + @DependsOn("springBootApplicationContextProvider") + public Stork stork() { + Stork.initialize(); + Stork stork = Stork.getInstance(); + return stork; + } + + @Bean + public SpringBootApplicationContextProvider springBootApplicationContextProvider() { + return new SpringBootApplicationContextProvider(); + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/StorkApiExample.java b/content/docs/smallrye-stork/main/_examples/examples/StorkApiExample.java new file mode 100644 index 000000000..d8713eb9f --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/StorkApiExample.java @@ -0,0 +1,40 @@ +package examples; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.ServiceDefinition; +import io.smallrye.stork.api.ServiceInstance; +import io.smallrye.stork.loadbalancer.random.RandomConfiguration; +import io.smallrye.stork.servicediscovery.staticlist.StaticConfiguration; +import io.smallrye.stork.serviceregistration.staticlist.StaticRegistrarConfiguration; + +import java.time.Duration; + +public class StorkApiExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + String example = "localhost:8080, localhost:8082"; + + // A service using a static list of locations as discovery + // As not set, it defaults to round-robin to select the instance. + stork.defineIfAbsent("my-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example))); + + // Another service using the random selection strategy, instead of round-robin + stork.defineIfAbsent("my-second-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration())); + + ServiceInstance instance = stork.getService("my-second-service").selectInstance() + .await().atMost(Duration.ofSeconds(1)); + System.out.println(instance.getHost() + ":" + instance.getPort()); + + // Another service using the random selection strategy, instead of round-robin + // and a static service registrar + stork.defineIfAbsent("my-third-service", + ServiceDefinition.of(new StaticConfiguration().withAddressList(example), + new RandomConfiguration(), new StaticRegistrarConfiguration())); + } +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/StorkEntryPointExample.java b/content/docs/smallrye-stork/main/_examples/examples/StorkEntryPointExample.java new file mode 100644 index 000000000..99343bd51 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/StorkEntryPointExample.java @@ -0,0 +1,14 @@ +package examples; + +import io.smallrye.stork.Stork; + +public class StorkEntryPointExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/StorkServiceExample.java b/content/docs/smallrye-stork/main/_examples/examples/StorkServiceExample.java new file mode 100644 index 000000000..c0b7dbb06 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/StorkServiceExample.java @@ -0,0 +1,18 @@ +package examples; + +import io.smallrye.stork.api.Service; +import io.smallrye.stork.Stork; + +public class StorkServiceExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/StorkServiceLookupExample.java b/content/docs/smallrye-stork/main/_examples/examples/StorkServiceLookupExample.java new file mode 100644 index 000000000..70c03cdc1 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/StorkServiceLookupExample.java @@ -0,0 +1,24 @@ +package examples; + +import java.time.Duration; +import java.util.List; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; + +public class StorkServiceLookupExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + List instances = service.getInstances() + .await().atMost(Duration.ofSeconds(5)); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/main/_examples/examples/StorkServiceSelectionExample.java b/content/docs/smallrye-stork/main/_examples/examples/StorkServiceSelectionExample.java new file mode 100644 index 000000000..a9e3dcc85 --- /dev/null +++ b/content/docs/smallrye-stork/main/_examples/examples/StorkServiceSelectionExample.java @@ -0,0 +1,25 @@ +package examples; + +import java.time.Duration; + +import io.smallrye.stork.Stork; +import io.smallrye.stork.api.Service; +import io.smallrye.stork.api.ServiceInstance; + +public class StorkServiceSelectionExample { + + public static void main(String[] args) { + Stork.initialize(); + Stork stork = Stork.getInstance(); + + Service service = stork.getService("my-service"); + ServiceInstance instance = service.selectInstance() + .await().atMost(Duration.ofSeconds(5)); + + System.out.println(instance.getHost() + ":" + instance.getPort()); + + // ... + Stork.shutdown(); + } + +} diff --git a/content/docs/smallrye-stork/main/_generated/composite-sd-attributes.adoc b/content/docs/smallrye-stork/main/_generated/composite-sd-attributes.adoc new file mode 100644 index 000000000..ae556fc30 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/composite-sd-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`services` |Yes | |A comma-separated list of services that this services consists of. +|=== diff --git a/content/docs/smallrye-stork/main/_generated/consul-sd-attributes.adoc b/content/docs/smallrye-stork/main/_generated/consul-sd-attributes.adoc new file mode 100644 index 000000000..007fb5d01 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/consul-sd-attributes.adoc @@ -0,0 +1,17 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`consul-host` |No |`localhost` |The Consul host. +|`consul-port` |No |`8500` |The Consul port. +|`use-health-checks` |No |`true` |Whether to use health check. +|`application` |No | |The application name; if not defined Stork service name will be used. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |whether the connection with the service should be encrypted with TLS. +|`ssl` |No |`false` |Whether to enable TLS/SSL when connecting to Consul (default: false) +|`trust-store-path` |No |++``++ |Path to the trust store file used to verify the Consul server certificate +|`trust-store-password` |No |++``++ |Password of the trust store +|`key-store-path` |No |++``++ |Path to the key store file containing the client certificate and private key +|`key-store-password` |No |++``++ |Password of the key store +|`verify-host` |No |`false` |Whether to enable hostname verification for the Consul TLS connection (default: false) +|`acl-token` |No |++``++ |Consul ACL token used for authentication when accessing the Consul API +|=== diff --git a/content/docs/smallrye-stork/main/_generated/consul-sr-attributes.adoc b/content/docs/smallrye-stork/main/_generated/consul-sr-attributes.adoc new file mode 100644 index 000000000..861f4a93b --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/consul-sr-attributes.adoc @@ -0,0 +1,16 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`consul-host` |No |`localhost` |The Consul host. +|`consul-port` |No |`8500` |The Consul port. +|`health-check-url` |No |++``++ |The liveness http address. +|`health-check-interval` |No |`30s` |How often Consul performs the health check +|`health-check-deregister-after` |No |`1m` |How long after the check is in critical status Consul will remove the service from the catalogue. +|`ssl` |No |`false` |Whether to enable TLS/SSL when connecting to Consul (default: false) +|`trust-store-path` |No |++``++ |Path to the trust store file used to verify the Consul server certificate +|`trust-store-password` |No |++``++ |Password of the trust store +|`key-store-path` |No |++``++ |Path to the key store file containing the client certificate and private key +|`key-store-password` |No |++``++ |Password of the key store +|`verify-host` |No |`false` |Whether to enable hostname verification for the Consul TLS connection (default: false) +|`acl-token` |No |++``++ |Consul ACL token used for authentication when accessing the Consul API +|=== diff --git a/content/docs/smallrye-stork/main/_generated/dns-sd-attributes.adoc b/content/docs/smallrye-stork/main/_generated/dns-sd-attributes.adoc new file mode 100644 index 000000000..d1e538a95 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/dns-sd-attributes.adoc @@ -0,0 +1,14 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`dns-servers` |No |`none` |Comma separated list of dns servers. Servers can either be in the `server:port` or just `server` form. Use `none` to use the system resolver. +|`hostname` |No | |The hostname to look up; if not defined Stork service name will be used. +|`record-type` |No |`SRV` |Type of the DNS record. A, AAAA and SRV records are supported +|`port` |No | |Port of the service instances. Required if the record type is other than SRV. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|`recursion-desired` |No |`true` |Whether DNS recursion is desired +|`resolve-srv` |No |`true` |Whether DNS resolution for SRV records is desired +|`dns-timeout` |No |`5s` |Timeout for DNS queries +|`fail-on-error` |No |`false` |Whether an error in retrieving service instances from one of the DNS servers should cause a failure of the discovery attempt. +|=== diff --git a/content/docs/smallrye-stork/main/_generated/eureka-sd-attributes.adoc b/content/docs/smallrye-stork/main/_generated/eureka-sd-attributes.adoc new file mode 100644 index 000000000..2a2581bcb --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/eureka-sd-attributes.adoc @@ -0,0 +1,13 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`eureka-host` |Yes | |The Eureka server host. +|`eureka-port` |No |`8761` |The Eureka server port. +|`eureka-context-path` |No |`/` |The Eureka server root context path. +|`application` |No | |The Eureka application Id; if not defined Stork service name will be used +|`eureka-trust-all` |No |`false` |Enable/Disable the TLS certificate verification +|`eureka-tls` |No |`false` |Use TLS to connect to the Eureka server +|`instance` |No | |The Eureka application instance Id +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No |`false` |Whether is should select the secured endpoint of the retrieved services. +|=== diff --git a/content/docs/smallrye-stork/main/_generated/eureka-sr-attributes.adoc b/content/docs/smallrye-stork/main/_generated/eureka-sr-attributes.adoc new file mode 100644 index 000000000..e18d0ba66 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/eureka-sr-attributes.adoc @@ -0,0 +1,11 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`eureka-host` |No |`localhost` |The Eureka host. +|`eureka-port` |No |`8761` |The Eureka port. +|`eureka-context-path` |No |`/` |The Eureka server root context path. +|`eureka-trust-all` |No |`false` |Enable/Disable the TLS certificate verification +|`eureka-tls` |No |`false` |Use TLS to connect to the Eureka server +|`health-check-url` |No |++``++ |The liveness http address. +|`host-name` |No |++``++ |The host name to register in Eureka. If not set, the ipAddress is used. +|=== diff --git a/content/docs/smallrye-stork/main/_generated/knative-sd-attributes.adoc b/content/docs/smallrye-stork/main/_generated/knative-sd-attributes.adoc new file mode 100644 index 000000000..3b3fe0eb3 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/knative-sd-attributes.adoc @@ -0,0 +1,9 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`knative-host` |No | |The Knative API host. +|`knative-namespace` |No | |The namespace of the service. Use all to discover all namespaces. +|`application` |No | |The Knative application Id; if not defined Stork service name will be used. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|=== diff --git a/content/docs/smallrye-stork/main/_generated/kubernetes-sd-attributes.adoc b/content/docs/smallrye-stork/main/_generated/kubernetes-sd-attributes.adoc new file mode 100644 index 000000000..d0bbb6980 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/kubernetes-sd-attributes.adoc @@ -0,0 +1,14 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`k8s-host` |No | |The Kubernetes API host. +|`k8s-namespace` |No | |The namespace of the service. Use all to discover all namespaces. +|`application` |No | |The Kubernetes application Id; if not defined Stork service name will be used. +|`port-name` |No | |The Kubernetes application port name. If not defined, when exposing multiple ports, Stork will use the first one. +|`refresh-period` |No |`5M` |Service discovery cache refresh period. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. +|`request-retry-backoff-limit` |No | |Maximum number of retry attempts allowed after a request failure. +|`request-retry-backoff-interval` |No | |Amount of time to wait between retry attempts after a request fails. +|`use-endpoint-slices` |No | |Use the EndpointSlice API instead +|`use-cluster-ip` |No |`false` |Use the Kubernetes Service ClusterIP instead of pod IPs. Stork returns a single instance with the ClusterIP and resolved port. +|=== diff --git a/content/docs/smallrye-stork/main/_generated/least-requests-lb-attributes.adoc b/content/docs/smallrye-stork/main/_generated/least-requests-lb-attributes.adoc new file mode 100644 index 000000000..60c10c523 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/least-requests-lb-attributes.adoc @@ -0,0 +1,4 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|=== diff --git a/content/docs/smallrye-stork/main/_generated/least-response-time-lb-attributes.adoc b/content/docs/smallrye-stork/main/_generated/least-response-time-lb-attributes.adoc new file mode 100644 index 000000000..dd977d2d0 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/least-response-time-lb-attributes.adoc @@ -0,0 +1,7 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`declining-factor` |No |`0.9` |How much _score_ should decline in time, see Score calculation in the docs for details. +|`error-penalty` |No |`60s` |This load balancer treats an erroneous response as a response after this time. +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/main/_generated/power-of-two-choices-lb-attributes.adoc b/content/docs/smallrye-stork/main/_generated/power-of-two-choices-lb-attributes.adoc new file mode 100644 index 000000000..95a37a4df --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/power-of-two-choices-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/main/_generated/random-lb-attributes.adoc b/content/docs/smallrye-stork/main/_generated/random-lb-attributes.adoc new file mode 100644 index 000000000..95a37a4df --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/random-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`use-secure-random` |No |`false` |Whether the load balancer should use a SecureRandom instead of a Random (default). Check https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom[this page] to understand the difference +|=== diff --git a/content/docs/smallrye-stork/main/_generated/static-sd-attributes.adoc b/content/docs/smallrye-stork/main/_generated/static-sd-attributes.adoc new file mode 100644 index 000000000..469ca6230 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/static-sd-attributes.adoc @@ -0,0 +1,7 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`address-list` |Yes | |A comma-separated list of addresses (host:port). The default port is 80. +|`secure` |No | |Whether the connection with the service should be encrypted with TLS. Default is false, except if the host:port uses the port is 443. +|`shuffle` |No |`false` |Whether the list of address must be shuffled to avoid using the first address on every startup. +|=== diff --git a/content/docs/smallrye-stork/main/_generated/static-sr-attributes.adoc b/content/docs/smallrye-stork/main/_generated/static-sr-attributes.adoc new file mode 100644 index 000000000..8ec570617 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/static-sr-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`address-list` |Yes | |A comma-separated list of addresses (host:port). The default port is 80. +|=== diff --git a/content/docs/smallrye-stork/main/_generated/sticky-lb-attributes.adoc b/content/docs/smallrye-stork/main/_generated/sticky-lb-attributes.adoc new file mode 100644 index 000000000..e458f6468 --- /dev/null +++ b/content/docs/smallrye-stork/main/_generated/sticky-lb-attributes.adoc @@ -0,0 +1,5 @@ +[cols=",,,",options="header",] +|=== +|Attribute |Mandatory |Default Value |Description +|`failure-backoff-time` |No |`0` |After how much time, a service instance that has failed can be reused. +|=== diff --git a/content/docs/smallrye-stork/main/_nav.yml b/content/docs/smallrye-stork/main/_nav.yml new file mode 100644 index 000000000..8346a2ff0 --- /dev/null +++ b/content/docs/smallrye-stork/main/_nav.yml @@ -0,0 +1,70 @@ +title: SmallRye Stork +nav: +- title: Overview + page: index +- title: Concepts + page: concepts +- title: Programmatic API + page: programmatic-api +- title: Microprofile Configuration + page: microprofile-config +- title: Spring Boot Configuration + page: springboot-config +- title: Observability + page: observability +- title: Logging + page: logging +- title: Javadoc + url: https://javadoc.io/doc/io.smallrye.stork/smallrye-stork-api/latest/index.html +- title: Using Stork with Quarkus + page: quarkus +- title: Service Discovery + items: + - title: Overview + page: service-discovery/overview + - title: Consul + page: service-discovery/consul + - title: DNS + page: service-discovery/dns + - title: Kubernetes + page: service-discovery/kubernetes + - title: KNative + page: service-discovery/knative + - title: Eureka + page: service-discovery/eureka + - title: Composite + page: service-discovery/composite + - title: Static List + page: service-discovery/static-list + - title: Custom Service Discovery + page: service-discovery/custom-service-discovery +- title: Load-Balancing + items: + - title: Overview + page: load-balancer/overview + - title: Round Robin + page: load-balancer/round-robin + - title: Random + page: load-balancer/random + - title: Least Requests + page: load-balancer/least-requests + - title: Least Response Time + page: load-balancer/least-response-time + - title: Power Of Two Choices + page: load-balancer/power-of-two-choices + - title: Sticky + page: load-balancer/sticky + - title: Custom Load Balancer + page: load-balancer/custom-load-balancer +- title: Service Registration + items: + - title: Overview + page: service-registration/overview + - title: Consul + page: service-registration/consul + - title: Eureka + page: service-registration/eureka + - title: Static List + page: service-registration/static-list + - title: Custom Service Registration + page: service-registration/custom-service-registration diff --git a/content/docs/smallrye-stork/main/concepts.adoc b/content/docs/smallrye-stork/main/concepts.adoc new file mode 100644 index 000000000..4df811935 --- /dev/null +++ b/content/docs/smallrye-stork/main/concepts.adoc @@ -0,0 +1,110 @@ += Concepts +include::_attributes.adoc[] + +This page presents the concepts used in Stork. +When using Stork in a _managed_ environment, such as Quarkus, all these concepts are hidden, as you only configure the lookup and selection. +However, when using the programmatic API, you will use these concepts directly. + +[.has-dark] +image::images/diagrams/plantuml-383c9b353dda.svg[stork] + +== Process overview + +When using the programmatic API of Stork, you can: + +[arabic] +. Retrieve the _singleton_ `Stork` instance. This instance is configured with the set of `Service` it manages. +. Retrieve the `Service` you want to use. Each `Service` is associated with a name. +. Retrieve the `ServiceInstance` which will provide the metadata to access the actual service. + +[.has-dark] +image::images/diagrams/plantuml-a0003ba546d7.svg[sequence] + +Behind the scenes, Stork will handle the service lookup and selection. + +[NOTE] +==== + +The service lookup and selection are asynchronous operations. +Thus, the API returns instances of `Uni`. + +==== + +== Stork + +`io.smallrye.stork.Stork` is the entry-point of the API. +The `Stork` instance is a _singleton_. +It needs to be initialized once (when the application starts) and shutdown when the application stops: + +[source,java] +---- +include::{examples-dir}/examples/StorkEntryPointExample.java[indent=0] +---- + +During the initialization, Stork looks for `io.smallrye.stork.config.ConfigProvider` SPI provider and CDI beans (from 2.x version) and retrieves the list of managed services: + +* A service is identified by a *name*. +* A service has a service discovery configuration indicating how Stork will look for service instances +* A service can have a load-balancer configuration indicating how Stork can select the most appropriate instance. + +== Service + +A `io.smallrye.stork.Service` is the structure representing a _service_ used by the application. +Services are pre-configured with their name, service discovery, and optionally, their load-balancer. +You retrieve a `Service` using the `Stork#getService(String name)` method. + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceExample.java[indent=0] +---- + +The `Service` lets you retrieve the list of `ServiceInstance`, or select a single one, when a load-balancer is configured. + +== Service Instance + +The `io.smallrye.stork.api.ServiceInstance` represents an actual instance of the service. +It provides the metadata to configure a _client_ to interact with that specific instance of service. + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceLookupExample.java[indent=0] +---- + +The service selection is a two-steps process: + +[arabic] +. Service lookup - using the service discovery +. Service selection - using the load balancer + +[source,java] +---- +include::{examples-dir}/examples/StorkServiceSelectionExample.java[indent=0] +---- + +== Service Discovery + +The `io.smallrye.stork.api.ServiceDiscovery` represents a service discovery mechanism, such as DNS, Consul, or Eureka. + +You can implement a custom service discovery for Stork by implementing the `ServiceDiscoveryProvider` interface. +The corresponding `ServiceRegistrarProviderLoader` and `RegistrarConfiguration` classes will be automatically generated during compilation time. + +Please note that the `ServiceDiscovery` implementation must be non-blocking. + +== Load Balancer + +The `io.smallrye.stork.api.LoadBalancer` represents a load-balancer strategy, such as round-robin. + +To implement a custom load balancer for Stork, implement the `LoadBalancerProvider` interface. +The corresponding `LoadBalancerProviderLoader` and `Configuration` classes will be automatically generated during compilation time. + +Please note that the `LoadBalancer` implementation, similarly to `ServiceDiscovery` +must be non-blocking. + +== Service registration + +The `io.smallrye.stork.api.ServiceRegistrar` represents a service registration mechanism for Consul and Eureka. + +You can implement a custom service registrar for Stork by implementing the `ServiceRegistrarProvider` interface. +The corresponding `ServiceRegistrarProviderLoader` and `RegistrarConfiguration` classes will be automatically generated during compilation time. + +Please note that the `ServiceRegistrar` implementation must be non-blocking. diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-383c9b353dda.dark.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-383c9b353dda.dark.svg new file mode 100644 index 000000000..2b9114071 --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-383c9b353dda.dark.svg @@ -0,0 +1 @@ +«entry-point»StorkServiceDiscoveryServiceInstanceLoadBalancer«named»ServiceKubernetesConsulCustom Service Discovery«default»RoundRobinLeastResponseTimeCustom Load Balancer*selectServiceInstance \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-383c9b353dda.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-383c9b353dda.svg new file mode 100644 index 000000000..0e4b865f3 --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-383c9b353dda.svg @@ -0,0 +1 @@ +«entry-point»StorkServiceDiscoveryServiceInstanceLoadBalancer«named»ServiceKubernetesConsulCustom Service Discovery«default»RoundRobinLeastResponseTimeCustom Load Balancer*selectServiceInstance \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-3c6c7f0192c2.dark.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-3c6c7f0192c2.dark.svg new file mode 100644 index 000000000..ffa3b7a8e --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-3c6c7f0192c2.dark.svg @@ -0,0 +1 @@ +ApplicationApplicationObservableStorkInfrastructureObservableStorkInfrastructureObservationCollectorObservationCollectorStorkStorkServiceServiceApplicationObservableStorkInfrastructureObservationCollectorStorkServiceApplicationObservableStorkInfrastructureObservationCollectorStorkService(1)instantiates(2)instantiates(3)ObservationCollector(4)ObservableStorkInfrastructure (5)initialize(observableInfrastructure)(6)instantiates (..., ObservationCollector, ...) \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-3c6c7f0192c2.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-3c6c7f0192c2.svg new file mode 100644 index 000000000..59018984f --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-3c6c7f0192c2.svg @@ -0,0 +1 @@ +ApplicationApplicationObservableStorkInfrastructureObservableStorkInfrastructureObservationCollectorObservationCollectorStorkStorkServiceServiceApplicationObservableStorkInfrastructureObservationCollectorStorkServiceApplicationObservableStorkInfrastructureObservationCollectorStorkService(1)instantiates(2)instantiates(3)ObservationCollector(4)ObservableStorkInfrastructure (5)initialize(observableInfrastructure)(6)instantiates (..., ObservationCollector, ...) \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-a0003ba546d7.dark.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-a0003ba546d7.dark.svg new file mode 100644 index 000000000..fb78d3e40 --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-a0003ba546d7.dark.svg @@ -0,0 +1 @@ +ApplicationApplicationApplicationStorkStorkStorkConfigProviderConfigProviderConfigProviderServiceServiceServiceService DiscoveryService DiscoveryService DiscoveryLoad BalancerLoad BalancerLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad Balancer(1)initialize()(2)getConfig()(3): List<ServiceConfig> (4)getService("name")(5)Service  (6)selectServiceInstance()(7)getServiceInstances()(8)Uni<List<ServiceInstance>>(9)selectServiceInstance()(10)Uni<ServiceInstance>(11)Uni<ServiceInstance> \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-a0003ba546d7.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-a0003ba546d7.svg new file mode 100644 index 000000000..9c1a99915 --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-a0003ba546d7.svg @@ -0,0 +1 @@ +ApplicationApplicationApplicationStorkStorkStorkConfigProviderConfigProviderConfigProviderServiceServiceServiceService DiscoveryService DiscoveryService DiscoveryLoad BalancerLoad BalancerLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad BalancerApplicationStorkConfigProviderServiceService DiscoveryLoad Balancer(1)initialize()(2)getConfig()(3): List<ServiceConfig> (4)getService("name")(5)Service  (6)selectServiceInstance()(7)getServiceInstances()(8)Uni<List<ServiceInstance>>(9)selectServiceInstance()(10)Uni<ServiceInstance>(11)Uni<ServiceInstance> \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-bc915c97a9fa.dark.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-bc915c97a9fa.dark.svg new file mode 100644 index 000000000..73cb14123 --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-bc915c97a9fa.dark.svg @@ -0,0 +1 @@ +ApplicationStorkDNS ServerApplicationStorkDNS ServerApplicationStorkDNS Serverget service instancesget SRV records for hostnamelist of SRV recordslist of SRV record targets if no resolution desiredget A/AAAA records for each SRV record targetlist of A/AAAAlist of ServiceInstances \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-bc915c97a9fa.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-bc915c97a9fa.svg new file mode 100644 index 000000000..39d2fba6a --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-bc915c97a9fa.svg @@ -0,0 +1 @@ +ApplicationStorkDNS ServerApplicationStorkDNS ServerApplicationStorkDNS Serverget service instancesget SRV records for hostnamelist of SRV recordslist of SRV record targets if no resolution desiredget A/AAAA records for each SRV record targetlist of A/AAAAlist of ServiceInstances \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-c8137b2f4bb7.dark.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-c8137b2f4bb7.dark.svg new file mode 100644 index 000000000..245c1b7c0 --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-c8137b2f4bb7.dark.svg @@ -0,0 +1 @@ +ServiceServiceServiceServiceServiceObservationCollectorObservationCollectorObservationCollectorObservationCollectorObservationCollectorStorkObservationStorkObservationStorkObservationStorkObservationStorkObservationStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandler(1)create("serviceName", sd type, ss type)(2)instantiates(3)Registers start time(4)StorkObservation (5)onServiceDiscoverySuccess(List<ServiceInstance>)(6)Registers end servicediscovery time.Registers instances count  (7)onServiceDiscoveryFailure(Throwable)(8)Registers end servicediscovery time.Registers failure cause  (9)onServiceSelectionSuccess(instanceId)(10)Registers end serviceselection time.Registers instance idRegisters overall duration (11)complete(this) (12)onServiceSelectionFailure(Throwable))(13)Registers overall duration.Registers failure cause (14)complete(this) \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/diagrams/plantuml-c8137b2f4bb7.svg b/content/docs/smallrye-stork/main/images/diagrams/plantuml-c8137b2f4bb7.svg new file mode 100644 index 000000000..c2ebac7a1 --- /dev/null +++ b/content/docs/smallrye-stork/main/images/diagrams/plantuml-c8137b2f4bb7.svg @@ -0,0 +1 @@ +ServiceServiceServiceServiceServiceObservationCollectorObservationCollectorObservationCollectorObservationCollectorObservationCollectorStorkObservationStorkObservationStorkObservationStorkObservationStorkObservationStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandlerServiceObservationCollectorStorkObservationStorkEventHandler(1)create("serviceName", sd type, ss type)(2)instantiates(3)Registers start time(4)StorkObservation (5)onServiceDiscoverySuccess(List<ServiceInstance>)(6)Registers end servicediscovery time.Registers instances count  (7)onServiceDiscoveryFailure(Throwable)(8)Registers end servicediscovery time.Registers failure cause  (9)onServiceSelectionSuccess(instanceId)(10)Registers end serviceselection time.Registers instance idRegisters overall duration (11)complete(this) (12)onServiceSelectionFailure(Throwable))(13)Registers overall duration.Registers failure cause (14)complete(this) \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/problem-dark.png b/content/docs/smallrye-stork/main/images/problem-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4c601386a0e921af9b060fe5b7fdff4d320a0bc1 GIT binary patch literal 401154 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 qmehJu_sFX(PT?vIOOj!~2MJBZHL!$y# zeclo1HsI`)zPpF{R~Xt{zaB{++mIb9pHFC$4Q>r>o$s&}p%NCzTr2+%SwRI{%_m1` z3utSjd^bS}6+fY|SSB#@&r;69daJYS&UGMhpx_ucNfOzCFB3l~9%3^4{=bx2gs8s+J7;~mMAOWHR2gVqCXy+fO%X|<+_5ne0oTlI;4Y05iPNp?_qrPSfzazVmrES+v&fZUASW*1J!v; zO(9CXBNPi^T25L*S`z1+)~k<_rCl&nDu86>gUyIa(V2tZcEM@)%&ubnPrP^fJOnTE zE-B-FwEPp_9%>#B>LxpIvw9`BLK|G$54o<&NK#A>Nf@y3qBEfFknRZr#9}%k?cSLFc6q;z9^L0eCnSF{2LBT3 zzhi0hbseOlC(orMB^%Kid4o^(Td{r)A$5`v*a+d_eA3peoaigU@v?XjD0 zSj3_kI}2fQP?xE`F=|zPmtDC8ZFb)3AxZ=umrvVqd4vI0IQ#EMKpwz^L|`)ljL=C~ zkm}4^=SIuvZg21xNtD_+>vuRbPeE|Oj(lMC=|~G2n`8l~8}W$sua){s@Vh z@AFd{+;bR$#i0bREyT|{u+^F5hU8?IcoQ=?&Exa*&Wui6i#W1|sB#@#Jaaty3||+& z`L@ySrBYZSl+d^$_~m&weZS$=?1M4q4dLA-C~-jJ4wSTBE@%DbSKfrPseFYkp8b=35OQ|{q41&b!9Fty?ZFs)$5rEYn7G>lD)S& z)-Vn&m^>UwG*fmtc_&5X@)E`OUjX$b&>z`tIf*(vFHJNP#Wyep%ZDSl!ary(wRA*F z8I{?wk4dhMxk4hw+;KbvnTj9uw~o#Oi(xQN=r+7G$HvU#^Kddp$ETbvi|j}O-45q_ z#>iOW-v`$rp2{g##@8t)IcyxB+4)T58B=R`&4`V+M!nE@PS8`s4w~HTOuw0{VZgbu zFvXbnIn(#KeuR9GG0TE8+mJB{<5-pd+(aCY%?$r(-v{=3mAN z@Fd>UL`#z1U%%06qdxaa`gk;b`hV^l5rl{DoK*0zM|cxN1I9!Ku)L@?&+1lGg9s_X zF(6{2DRt3jKGIJ>*V|=VUSmjS_jv+}W`+50GlLX3o~Uy+<9cwj3GH+X8!SFtLOM(^ zEi|A^3m4Kg%PbvE4P~vOwV-mqt&7TCQ`hv+@W+gkd_ngwSpMFtg}~cB;7-AU+nT4g zVq-UV(6RKU{R!W;go)s0IKOxi5bu9mLJ+8odksEq;~>5k*|lG7y(f#gK%X99L+sgw zx@8tIx1sthj;#FEcSrFsKw4vh5QyLik;jAiw_=iU>0R@>es&Q%G2+pSZ#({T@&g}2 zzThOBYh?NedZ%Iz7!A~Pf*8|a>z++T(vcw|GoiD2V5yS{pWsxlJPh?KiRp_(>zJ7{ z3Dy6T+5w)UeR-9&>BP}umfn|smuNIWgcgyZgl}%__a6DKBM-Z@fmr7?_#wE(yoElk zLkMDZp26iI#N;vm_0B_qLa<`qIbXgZ2=}`|TUU1-Io$@=ccbtUP+Lc03A7T0<=j$T zo%L%(HUS{g0CX8MlxZR_VntV<-N(MVj3+!F*3LW^G@-s^sC3TNJ2{(V zI*tA>ixmi*a5C^zTfaUpPz^PL;rys0ZYYi+^pn?%Nb>JwXyisGt>9q_uSNFZBEE{i|t16Sw3 z$>%ElGc2PpYB^yS<7DmLZa-)@CqZSSfmAb!G%itZerCb3pL^88CH=pz2aYBpC5}V5(KPaTS9lnYc{7xM@y{U$-5vB-I)C^ z$*1(vL3p44^&d>1z%O-!TgbvbL=doe$hzQ+>XoT_QIybS&2dA7;G~gONFtLiKYc#yy>pM!`M;0zf68M^FcR2gM{sY2G1#mXHE2iaYHw%5F7?5(k6>BTog$mrzQLZo=`KS^gB3P&~}P zpErmBn!JL?d4_ZgJ8GL=>&btrNSvKj?I8=vOxK67l@4;6-2b%GYk<-!XD$#!Mu8v- zibwwM!W5xF4zW0h=wwUDstHl@nKbpEnS_PGkFYTmkwD(MAElo7Nw`9K4_lJJYL+ao z7*0H{2yPCDJ5TeaC#TJ|bToYLcTMO&JlHT|M*IG!gu%$ENbtC!uRWRj&c*VWvQ=mx zaAEd}$QFUJieUMu-v<=1IMT4>fWK*rHk5R-F%0BF2sbkOI)nrmqd|uMV09=^*P$5N z!K1mJ2$fd?Zob5zDgD6kB%1e+B`?%Z?WNc6ADLbktz!ZS!AKa$WS_~XvWwC0D4`i_ z{FW_8$>?lda@4KJtrr-gU~S_JYTn;#!;?sc`+nAcG%TwLMasa6Ck9#5z<@59>aU-z z-@Nc0bX@G}QYH+`vZQ4uv^ibyzdZf$n)H}(`f9Zslr_~r}AA?M&zi1cnCQ@;%P@D}b1S7EwRwBfWLX70dZCGRq-w?zo zc)v;?36+@Xqw$-{9dEcoDQY|YFE-|dsuRE+yD9H7copKS!GS`@szW*gY+l|@$yIPE zqnGE;krRS4z)rRLF#0}{Jv0|M9w-7xXcv$;T_1O!ONxisP7 z*%oU|-+vt(c)4m<(S&{;us{9Cr+KWP=yr5>b$y8&`93UO7~QYN?hp(7_x~(4RSg_+ zF-feUUm=`bm4l|$$N?qOoB0q*i*zIZ@;GO=v zYUaSMskn{RTBbw9ADA9I3AgnUTAJi%z8=Wn%oLLqcy%aX4vG`d|gnHa(;kKi&--jpjTj5l5Yn2p@@yG`Wc zO#lsw4^CoTptx?x=a0s;NAckSD&IiaIj(6ky%|C*wRd|oG#1evn`ZpZ z%j>5zJ;2SH@Wc&^hpyD#GvsXW>D25Ktd{`}@4^3*`E;-l&snUgq_Qt)q~o$e_obXu zIyCHkEj%3@1XmBAJ>?``_4Z>@IOvb>Qa%MR!Uk01{xg zb!536#Ea`lL7yxDH!JT~DK)^7wRGrd3}SMS=|yh`P-Ul;bXMsabf`O&( z(p{=1LZG~kLwka~)KJVGKzJffddU(mV?M&fTk&Ti&U0Dcl~eDsaHAXZF$%8F5ST7& z@eDMsCt)d|^-TND3*LV>JG&w+uodbXlE$3u#T;fI{%2kLu%JFlG|=gCU#!N4J%){q zuXDeU1ngeEQ$!>(DL}>>LKi!jK2YG3sGVALN|X4W8gaP$fx7*>t+V0=v7Vp$`OS70 z3r3lnLJqxB*m0MVstk%!Tgj#uRW*1j60qh=9AB1x(XGyfx|Z%*&@Wn4g=-{Pd&XW- z+DX)Svt1OSZwYT%R-wnpgKm1_WGSc>=$GA!cQZt z!L{vop8q%upzcbMOl874Dyh(5!w?ds>>8k>bm8$f9Fs=KLK9<%c`g>;V{weU8(B`|QUe&Of zpi!!M1*}upXL3!72=V*$rW<&(-vs|S3$73(Xy>@DYOS(qy~u+jp|mz%wQ6Dyhi%y6 zX#WfDDtxc8FqudZA$416Xju7h7$ZCe2dt_+G9eNEK7UXpKtVko?3n=w)z~&_uM~K> zTnrhus%^HUVr;xIxB`fskmS11ZW=$pe$(db~FYPPA6w80r&Tp^fw0 z*2&=!F(Y1!Oi8F6D}l0vk|P~ee(c5Q#j!?kN}B?DaR@nJ-zBAK;J@Z>5JR+CBX>&v zDi%j87IHH(1%3K7@JvogVVnc{h*+W6Whe^%)D==|d!JMC{c8?&=0Bb)09!P>h*Haa zXQkKMDgpW~yCW1?Q(`$>_=!lyP*zftvpc;~;;RFM(c{77YtdKd1v^P-#D4Md+slbl z66{cD7;1zfo_|#oA)q(dAA1rCFrv^qCHwPet@E)F^(2}8%6GxJX++R*4;md%;FLDc zZp94%8T2zcCaFy8`%dUdK~rjpJ@Dwh@cId3BwAWn!x_3L&6>>f#|laB;xY9(r2*pT zFn`clzjL=<`TJR9n*mYTk{?35QaN@MG6p%AYfkgN3P3<`F5POYcuwK`_FDU5#LT68 zGL0z7XTfS*f9l#;&ka*eMRjh1|DR*&&%t0{41Jh+aU#YM9%WxFl0VFM&crb2t+x%Q z2!12b68v@gKy#e5y)YX}^%pZBj-49|7`YW4D3)!{@cu_tg^)oKM)Ec&@oVoOr(%fLXYXx%QO@X=eGM-|VGR*S8M2FS?&JPP-|V6B z2*6>aCwZs6yt^}0I6oGS*8M8-=h8BE5fo4nTF?N;EH9Cj&|Yw1Mn5lI_6EfmJEa}# zHqnr4uMF={P^;rhh@{RTO>5{7TyVJ=$j-wPyW=UR1&bx(rwBqGc%@zgrVc?+KJQ>9 zp?SjTVsKki8~Z2_`o(w)nluDn$R)jyX}?Tlq{+% zfE7JHLb90xG#X(k%tSH_{nvp&Nf1d{(2aV27MpSG2#wbx3+Y$1i-)VmCZeIs7wsFc zkKrazLosxh=R{{RHvX1;T@1xA)t?FreK>h*E3kx!D#J~^pdRKd{ItbbbtbTb>6GJG ziSWmHE5D5|Rku%J)NaC_Sw*~LwdPfB~7<*~WIrt&M# z3xf!5`&DSZ>$2-0H4KIf4J4QGs#eO*PB2K@V z-FF8i`Iv$`xWMewDt8vpZ)<*%QgS>wJ<+Dy5qlS zVPe%dK0n?<;=({4!b}$lvWUwH$MVOvlo7pl?qWjL=iYHOP8!zORRjixd4x(Vo`f7` zeLPQeT*NFxVL$k9;tuwAx8go5?9&aBmw&_kovNn9k zGY2-5f$}4<6nk1IL2V+cbj>Mt2e}@~dnM#$#@8XmNxC&o4WFH|`%MZQ7 zqKTHYfQ3AR0qZ*n{Els!l}tCN7GwOLEXneGquGXtO22m%>OR#o;3T0o3K9N^CVgDFsxdaHLZl@85*I& zJ9+IVzeUt!dnplGGV*QnoOF@JpN*}&*U;rBYgeXXHpoy)5p_vM5_*f)I9 zjZ#_DEJnkV9sH6d+$^N#M;z1PoreFb?^DnLKi8*g!GG)?7%+51bItw~$3aQ2{ncoOgAF!*siWiiKYGaXc8QutF-D zDgos)(GVmuLxbO!U#??hF&1FWm}XV;DxSy|&CpNXYVV`lGbzPVpE`eQ3Wf*Y&`rL!Is6#BBFyXP)d@uwCz$_{!mN~NRua+tjY%K+6>fVNJDv|gHBtDU zJ1|)+b!4k4RLoHThDEM~>6e`W-O6sG8ROUE1BNF!t&n;qNco0)m%nP0F!?6p>1s;b!Ab26rku1sVD>urdL7RdMgqm2!Iy$|no zoyp6u$r%^=fM3)YpXK^+NsDcmCR5_rL1lUmhjk3DXWu{+M+7YRDN+r%M!VET>++h3q&3LF;dit^BMplo&v1*iGKv~(JyZF5vQmqPC4&@^BvZ=-` zL6>@BNd+n(SxmTcXCACR$+Q}+aBXL`DgP;jVRHf`pLsZiVa2q_XHd>LKkqQ&(?51$S4nWhQXiXfGSQ}v-u88~+lzWuEf+QPq*Q#86Y3Z>vLQcN=01A%`N zntwmWA&3;I+!0?hlBxg9|1)7MHM)^lY-{l=2izbYMYDmDWJ+US;&)7+#9kPd#?c`h zXwKQDmselm(tJ#cK-P#z$AUGZiQQ(KAa&P?q68H_xBh4)P)H+LN_J^ zB16Z2i3h9OoZE5|S7}>>Awy;e3U^v!_Lp8!n{A7B=U_#_w7P^%{^r9iR&)?nPozr| z9NFHKFVSleHghZBYZ)?n8^0hK;(i=L3(L~>(r?I*|wSuQs%&4p)$ z-kzeO3Zq`UxTFEa47V9Sl+8>wm-ByYMmkx;PAFjx>Y%_WkpxRqquUPt&SZ$tB*Yd1 zGRzG^9JZYjTqTdxKrwTQ;~YcMmWT@9FIV9N$sjTIR}tMLwk2wX1yX1a;-?ct(?1P5 z5tUgjXO1!E*E+$Yfl&^CTXxj6$Yb%}bDL%iKm{-a3C`tv!h!~n(l{Gtg>%=+are<2 zI#EA_0M2ii0%{TgP)~H(Y9-*HJm~(wG9#q6_ zCB%U}Z9loT;nkg~?_+0d+2h``yCg}F1r)i4uI~w*C~-mOMf9f2A_`mrS|Y9;h1FK7 zvWru2_gMPd^go6g#}*la6XY35sOH$IA_f>{i>$CD_dO`+WayP^hmPP$sZ*Bz53d+Q zaeHar&5_Z+aD?tqTbQ)fx!s+h>l}BVGCXZ5t44qQS)f~glxC1%3tPM{fd#G(mg;&Vo=gqmVe~#R@D6{MmUiM-wWIVW5Z?a8Se0@H!x*wOadIKXzzGo=Rur z=mv;ffj@@6M=w_q1C8UB5nUo`Rcj8?Kr#RU4+9ralEXzz!H zZ}nZw=f;g?ZyhQ*M@&)D1n#PxQn?2aeD62-8czKOXY2WiJZ{ma&s$h<52Clthu)Ih z#WA=(HO;yVF;m($wEzEQ-hm>H-8q+z##)$%E?%a%HI`H?R@WyP!Sy|79={*Fr^@Ju zHqjopi)1&=L|{-X5sSQ zI+OBi7li-Oepb+!%|ea$=*M!kF|BE(kis*-PUNpZ!uH3YEA01Ml1f_X7b0`)GCa&u z>Nkg&d+KUpuJgu1nQPyqNw7)&V~impwSM{7Ya#DMaRycL01C5kuj;hc_MZm|S*fJD z{{Uu%-QS5Y2Q82m_{q69QsrqZ$SeFf5(3@CR)h_F4M3I@G zMBx9^Zv6WF_yW5qbNcyoc(Jj7h{U1{-f4mt6`B=(*MVsQ#=A)oR^a2m@V&p}V+|!b z|3Vaac)*J~Yhx)xReY^QE2qM~Lu`#(%XNtBpjqz9n-PpJ9Hkd2<`f7DWAYty6UGOY z(ZC3|oZi?Q<28Iagont!E)Gd@cIb-&Z3=A;w(VQ4Y@D|=)Ea;cSwOBDmDCK+K5SnPL zB0lZ^e?{tBea^VD>W-YZXA|t8;|bRIlzkC+9CO?Pex8*zsjJvB1WP(rC2=#HVs$o% zojayGxHDXwF{F^zzSx zS0G^|d>Ne91-=DsxDxU$jG`r>Vm8df;0`iG%<@CUQHMhZ4aNSt$&t2fMfZJ{IsG+Q z{}QKA*9iQKJqT>5dzM&pfJ`F>9jc@7*S9*uVoIFt7u6!{U@p8^mGn;ny5r^f@+z%3Xk*%QcaQu-P7N^o`O?~AKrEx(}{V%lo z=1!7OJyd!S#=a?|a9to&AI1WkKtJ@CK4j??a61YjSu!#g(|$ntrg<{eVO$>&3N&$F0_TYo(&8Ka>upz!+_OvTrJg=rJ=gctQeCNz`Mi0N+#g@}1(wNIY0Rn^ z?8HzN>opfvvM*n~sx7f_C)6!&65jEj-mOyy)g7nS)Hzvk{#sMPd+MRVWJLIF3;J{Ytcf+V(Zk~sWrS%sK+gcN-ya}nMD3e(OGlG}N7 zae`OYercwU_eF!t^$YG#N`l?DG+vV|L|AnSIs?DD)T9HV z(@v=HeAwCqc=oCbeKS%8jky}bANt7S`3XY#=mI{3Xf;m)-BNK16ocg$oACtilzu0rgZ&|oHK_$v*^SUi>WixB0Yn)_<3Ry_svw^Xcn8?!vd zLpqQ7iGK`qKc;K{&l(YH?(;3I#qK*;i{_FxA2en(g=2ZKjGNrmyFT;_(slJPCxL(- z9dw>S4Y6rpbCGv(1tsr&E=v5ABtgxgw3^l^sS zuXRTa^I42%tp%SAtBpTdJ!&TuN@rvQy6o~ynq1WMW3YxCmg3)G1AFh4`@p7lNI6?) zge#avUh*CMO=;tYsYDGOR)$fA7$=usW}Yf?u3psdZF(pk_2A118`vJHfdB&-6K1p% zn)KLutd^lIH&Gin5F@qu7nJ1J7xDxj{WH@5yFw-`7o!|#Sy@758qP@iy!{sXa*ZRr z|AXi=|A4sIO7}DsBMlvo{t32Zz2Odm`_RYP*o&Pm zbHa2M$Wd(w4kG*L{5%z*d+(G%3(G!aqf@emV}aR^6b@DyWvjy6IBVJ?N`}&`mIgwg zjsEZYzLP4zXWLbU`2HdxFhwr-#l=T0R>#rO*}Z0 zWyRpF!^*K&IAi-vx==7Nn~6~C7%YU^??xo26s#BWhseVW5C;E!!gGK5af`aJFIc|M zgoosX%$?>Ny{=uQ=A>5bcXtN3Pqbow3ds}Za6XaDu3l~E3+QbQ;jS$0Odtw@c54*Z zFvRWiB?H)OurXV19;v4Vd6FF+(Lh`@w&V)=&XncFWa2PgF4ctjnl_ER9*q71ezL_$ zoW%-wf!m(! zg@Fh~AQP7=q{6b9;^G=&8F=>?Pe0v<`TLwYtdtOVo&9rEIDjerHm&d|RAOX2_vj(B zZV5+k7uhm-9z>jY8pf0Z^l*lYAgy}JviqNC8$G-bIL`g*vh8?kgyhj%c(3mu1N**7leLn zliJLIMesW0UyOe&3T)j~#^AR2leHLdf<`^fHyO zkc}JhqxALMRsu~hd-rDZ7yzei!h54mser$HO+~))HlDt$-Eb$nIU7u|+c&hzEl=G_ zT_qu>{{wFzh}VedhZJ0Wedn^Tc;}FhTxo$+SxGnvCvf#uR?dvmfCQn5PD2DOin|oY zkRN{eGJj&F!hM1REcb4p)RB0&#H?$P zV&-Mq7Yx(fUHJUT$1E!812_a1V0?2LsivXa&K&WpaFJA6`u?;9@{5KkOgn7i)o&%B zIztlhg=7XZhppb!J=BC+#ypby9ouxN(AjQ(akgw%eVFtG(}KkX6~zU8RWpEL5`{k& z({4QV{-Mip>S5s<^plaMPL0x#o7b>4KZBL>s=+69aBplqAbU4D@m5qI$-=k*9=r9z zP7*^evGOMmlzHT8A<~dbE)#QgZ9g-!aI)GE*<|E?9!b;w3VnRu+x1aB~5mo{4%Yu za^W(Ba6CGDLkC5;sv1)`Hk&29jseQW_!Lo1@ZecOsg0tj>n~Jr7e@w4Q;PBy69KFo zljL)djlqe9rwbFtMv{lCT##bzFTI<2GTH0P9~MPkstuf7e|^x#3lsmY|8afQ?J-%0 z&zWcf0pj$eHS+e9Ubk^>H0JqfP!R9y|Mk;Y|MFklJM{+?w~wdkw{gl!5)}2qRTv0l zSS|`IdDB1@hZ%pSnf`II3utumIwl__eTz3aSJ$Q}oRN*x=Sm2D7x=9ZTv&1^jbmp$ zgd2+JY+}yGUg1@KBa9Z#T8dc3y2hM!}K18dHV)V!lc4jw4_w{=P^K( z3Bz~zB^C)r`NWMCu^A<_xIIjPqtRW>&ufhACVu;1WS$|H#SnSm9HBXl$hn+!FPioc zr);U1X>ah5Q&z83)-ixA)3_Z`4IFbQzsewTfOr6#GSH)E{*#X0G+VG>P;tF`<3`Cq z?un<{T~A3jEZXS5FYivOaF1XT7@U4|p%9)%W-6n++Q3HG;`1&}6aKG5+!%LAYgq~o zgI_T7VRcbEA2%DD6U4FC3t9VX$SCm6cV8}qOdg|+w!n4k&!r$!8xNg&lNUAy5;y9= zoscn$m0>pbyK9uEt%kCaVQ)j@9vsDHYI=rKj<`S84G2zhW+NH_o7}BRZNI|)miDZH zg5Uzid9Y=SaxXwn%2r1{jz{n6U9GKQH9pFFUt&rh3?f|KAHgpdIU4V*PU5yJ51u6u=Ez2l)xdNS*RyBNIz=DGGNUif45< z2HcmKhx5{-qBU|I)(CVoYGby-yatKT>myP{+x0M;kBEtfVAl0g`)HQF)zh#~19?&X z2aG*JndhctaVcwpA=*8)Y-+4F)>Du#F`Xspje!`KKlHHvCzj(;UvgZ8pimf$QkTXD zleE6ZAXRfkuYm^PU?&FeGf>c6IK*zDo?$LxaqK3QHc?54(VTz<<((w`kFFS0&svsl z*vg^yyUN*Yaw*R**()V)KhxJ*3jpGCS??!56Zh6Kn~Q#ovc7ypW&3}_E?&ZXG=+6x zV}XS~Pzgy74?pR>%+kElr*P+?tPFUrsq)T*I8@T2xmJ&&Vh=X4h6lkpoH zp_G14^?xIv&%ggt-W(s&=es>3^_Vp$-+yjdB4t*u+UVzf6qKQR{7072ENsr?>VsrcQIcXUT!PKi=O14F|@|d~iGB?qT zE{bg6YyL6x1shey9Af{p@FBxmmMj&?P@v$@hY+oEh`Fnqh86Q7nl`*n8cv08714U2 zh#&0_{E2$|^4Vn4U0vB)eigRf?;Th2iu4mZ6nR#z*B1A)J?HAz)k#^Nww3V){(s{E zoJiMEM})%3V(F#OetN5ci7!Pmh6B?Y#K=_ukNd`HB#a~YAE4J4Krw&-=7JMkwr@zA zA4^7+ljTDH44NWU{!vp%h9(!6&g7xErP+Nh@_siwI|E>A@o)E@K)Z{NULH$$qnm|~^)FAmR zKnddmKQFXms&7T9*_t9`nj4-__epsSE=FN`H%y)FKYQ^eG3hd87JoW^81x;|VUEda zcfQ`gmG^D#p(5=}a*cPbI`3lKp89caq3H0qZs*uo@}5wkPhXMb7#}@dK8N(q#<|{i zoNf4pi47l5mUy_*$OyfVcClU8H*OxqOtZqxVO-FXdt-(LyS8?vS~tXKeNIa@cV}?y zfs0l_)N3*-^l7G9Y=8AV!SgV*lTKD|=!e4a2O8bX6KQh;wo>s9tku(?+g_Dx*v`dX z%DfcK{7r!O=|n&)m^+>NVKjJi&^js*jyW)nxhZxc&TxG=&n!fWtQtA4yS&qpf@n}l z*wS*u;97o0b@Gcebr`&InignX?5xS+tQIwlTfMe=T7B+bMip74GB`}*kskpS9?Wx}P#p*Qso+02 zuMogq&UdbIRybN-$J=7Ac^4G#J^hxqlO*A?><*X;?f)BSiWUJ&1;)O!h&TNb2E}}k zUYjCBvyOuf2~#w|-mQbQWFylj;9^^cx_`fbKSulD9HUeqL?MMSo?%O5y4r9Wd^d%O zun;p#!MLU3WhsRDTA1&YIH$v@)AZe5x=Y0Hg5!8D>evO2p7oVfU-25QJ28F3stejs zOs}weC{T^H*<7k!jY9urX}0OI;RXg0_@|O?fR}_br`-r4Kfv@t0pl>3C911$| z2K4sZiv2eWe3d8)u$?i8LvGp&=#)8#i6pJiJBj;3fF4zr(Qu~9RUV4Ne;uGenY;M7CmR*sx~qTh=%E79!gV8{l!u0yu`{tP9hLplFeGny4_J z5*i|l@_j&ghVtV9ZnS?;@6J-qHHPB9F^Kb|Ro0Z?x;n8Mo~hjnP4 zlJ=6z8Qo16aM9u3DMt-OF%6vLW&X|ol7{b=b(*XkDYulWzfXz}z}mX`I@4kDxT^saC9)!p#&whLKfC_RW3 zh_3F+TMXKkVtjp)6|u60AHJUv&&(~_yL=$33`+Qx_^6$)Z+YG3*gsLdp*{(ES>8L4 z#Z^Dt-_snBON|+hZFcCtX=0I7rJFU#({gY3%3MyHO4e;Y41%rQy&l%mJ8KQJI~{si zlE9YvM&F+PD2;l4@v>akvO-{vl%p3mv48O}*V^1J@KS{N-HJqc-wkfSC&m3%4tQEW$rOjsiI zkCE`mI5t@w4?`NRVGB-T z*@ob%mfG7ZhN8&dkEq*NZBdaM1Vo$m8X}#IoMBQ~?ad;k>8|h^!yS;|(V~Nvn&Xrw z)vZ|sd+X2>r#yRafcAcLm(#IplD*9qd+|+)ev!8G62L;shR$U_s8*h((D3cCynta( z#TO7_hSIg1O=r}1XtZWKMO~FG5gzm?upi;96TK3grE`o+E^wG&Voqj$NH4wI)z ziuXW!z+fu21n?Q{35se61c{oVCUY;T=Icd`)EprsU{c9q-l*T=7o_z!mXgEv#eXWfI! zvRwggSNqGMF-qjv9|GL?6)1Lm)vKpRKhVA4M2^)P2j9iI6@qoJ9P)-ru2!yzIXoyO zbj8(Gz7H&PLJ%}8PW!C>p2W#*8M~_-)c0fz3>7~cP`O>?@+n& z2PMlhccCxK(sylZG?~*NNHedE17%!t=pB7OqUM?_xKD}#d!Mb39b#BN?o$_-Cb%?h z=Mr#BA?8+p0x}hTpG8piGSd^)?zXhVvvP4}4DLtZsXn-8VZX2ZL7@0v3l;5JfT*bi z!2b#s!WG5`eq38qnc1rL9$yo|H60=E1sVMrMbHe54u@VGyltUoM0yS7@Q4UWq3FVJHfrkY=Hb8h>NOKDun8 zodisU`XCA{{Xjc2J;54>t~mi?clfO-vwje2z|_*PSBuCka-dsL>MwSvzEIuXQ_iKh%&f;Vt4lzVgha|n zgVsd_zHfAMZxJS=`!eU>ua4i_Ct@>Q_1*_)T(*~;=P^|$I-j{=`HWvc%p+W!?2j!&}3DEY+n=ABiHLHj!jLx zMmJj!zsuLGrXyu833&@8zfw=h3*tr2#c?_^CVhCH*Khmf+!8BL52U4&xF2A)zQTVPrp!kJ$t}zwZc(c`X-4wB(gbmSgxG z$D(k`CARSXvS=yur4L={+_~Nz5na+QIc=;ugw@Fx>FwR%x$47oVT`n4O$+Mlbry~K z@jLqHmq@#m+IrQQ&V!cqpOp|pdK`=`|2-_>|vm)S!TNk8h%QKsg}{-V!8+BW-m9bk#pa?fA~9 zuriwQ5-~CQ3-E%jATX4-K~Aa6J_I6{ks&s3HE5S~Qbwso5+!NULJlDSg??sMZJG{@ zzISaX$wulxeK_gg@P=6?Q}L63|A98-0=E|+h6sbIGpmlJ8M1BKFoH9rRJ0&1EP4+a zDqNk(Sb$tpwjgz+5iq4Vu8}gFmHsw!oU>Q@Xr}V%zFRG^FsB%NCNZH!^hDuMSfNtf z35q`aoYuv@_FP>ah@H8iT;198^7V1iMTQqvRwU*0^Y%XTDE=#6>8(LM=SBXdM0+WP z3J;nyicIO{{-k!zS5bS3Oa3Wy$O>0q*Af2hgp1bOZ|1D>@fE84rGF<*{j$AHsp3Fo z>&^K6=9^yK>3fiPCt9V`d0sz1y0G@!ocHCfuroeq;$xR=EEJ#mbB)2QfazUnyfY9- z?)v8`k%@<@5ix=Xz<1x3LB>g32U77_WuCRqnz*aRI*?(uWPize#f6o5+7`K0=8M3^ zJpWDKKPH*6{bh@`#ExEJF)6wlF8wr6V)|9~jMe6g+KvVgbS7%CqdD_e@TdQ&2Y$3q zm1fOdBod;zE@2x&uR05I?cbU7$ZrTqm1RH|JNny!(uqve9fDE65G(XEZQ>CzH!Z91 z>~h_n&U&*4G_-)-8B$mu#;}F-y`ZsN^Yb0 zc22WeCuqlPrP7{I$kGQ(moeU|)pLMT0^3O8s!9nkoBwP#WIP|=vN_*fq{|qKN&?=X z=RN0G4{Iv{iHQm4(TqdUlq@w9~Z3#Hu={=LN44O3Q3f{@j1I zj4ag492R*ftb>!VmVqM~2RmZsd!GTU{LDTn5&8zzV4DW|97CAk{RQ|jAQ*sCHi)xu z>hFShva6P_MiMEwIra3LpPK{TLhdYA*cw1}--5CmJ33mYN4bow@?NXzPPZvmWU`WU zOP7Qt`-2g!=dh8<|Ksd#0s+GlnF3Y>#esP4o*{fz-|7LA+VVL14Tm#&a3<@Rc4}@( z%@^>8GFAdx6r@-TCq_uephevEr%jmBS29;D18a~UC>15L4)bwLbQJem3F9VDavm^( zVkNm1_;06APlsUVsNf%zqERuaG{DSQjW*BkUDB>(4*esLYzv}ESmr|$;(Ug-XzAmK z9$x9Mg##2Er^!998lqBQKzi6`d7Etahu&?E-8#|fJ?&gaL+WMjsW2B^*Gbm}efQ(s z0g#ig6&Df;n5yUQxE^5gQCHqR{RV%L%wqk=2g1bM`%6PNv_59}HQ6f?gUVU*M7)Yq zOiSsL+g>(jW*C_2W@A_H)BosN+xs~THeNzy{pZTy;aAd!!30~iuJ=&WE3}0-f+27j z{nE<>&d=>$1n`q8;15%!KAdP!<|8NvNEmge&SJfQGo7M`$%DbRIvt^89=y`*q~O!) zTT}MV%PYRQMgfTC+J_b4_k{X27V0yJ_)!_;9}ClAt{yz0D+6eqK~vI5AkoJs7yOSut-t3|i%KKHcsQ{^7cu>`Yf#hC-eyrSC6ohcB)vC9u216edV!@DWi`kiwZY z++B|OE*yXc5-i#=vbA>s2RCN3N8})tZ8LeM*}>Hf_`@_8kwq2E658i5sBzG(a`-u> zt2336I+LN5WQs&~iHafe>y+=Ux%sqT&IWRHb9MqwP%p;S4w`L9Us$fS1J|Ec5lOjD zWq4n5FV!>1ejKoWK#%wXb0jBrW1$!#qmpP$v;&O*aE6Ar1EY@L)9(uh8p*4e!A z@39<1vBCoMQHvi$i6>HdXC5;){PzTh~w+_wa}SfA(X=u&;*2am!6@kjV*e~9rs z7jDXiylj+LcX}PrBmC|mP#-ZUGx?n_8HeLw^9SmBt2?=+?zwyjInVlT$M3e)WHQ`# z+u`bwsen(LuOvD$Bn|TGybj}%Q?Bg==abR-a=b^NaLoee>Zp6!Z7TL(1sK!;-ZUV( z-FOlI6sO8Yi=}|IoZ_`#Srz{4D6_h}d+enPI6NEDlAu7`kn0Npba1hmP-XyUlzS)< zb)KZX*pF+-{Cr86i+%0ybUDNX#@T2#Yh)@n8W|Z=7fma4`i`qH*QZ0`Ec?fxldJwVe zfG01JUE-@9d*pYaxJ~52HWgEVp`p{ms8p$_lIXbwMtr|COKXjGk5ynrx9wSZLr%+& z=V{8N>Q7D#nb-^LG;3p*s5JhEcIspt8=2HVv0NR`To>QhtsEzCs)wun)(U;C)MTX{ z!s2t?+DU?m?Y-y4#A%Y~^w1w1`c^RNC~Rf?R+2!utx7fPwu4hiSzin7tLVm#m9sy) z!8pP>3e2ItqKbXZ#LVDx=}L!fzv*n9aoMNgw^3qhJXhbX@F@ zXTg>*NHZ`>yS8Fb^&P>gB$!az_xxK)^yp08wwuAY`P47_GfZ4nnw{^%!e2jh;C+Gk zH4?)nVCp#I>&h=4(pa$iFq-5Y`U8wJWb!xJ5}2@I5^QwH{XRW4e#z@${t;NpBF?hP zP?@W%Hyj;P)wkb+waBjUV!bX{AWdK}AoC$wEbs3)*hs-VY&V0TrQR87R_Xcb1OMv08;FIw%zUc!8i617$qpy zI*v*s4f&>d0S6wQywz=LjrC#x^4d9eB$FFxL@QV|C+2!Yi(Mh4a6I8~H8{{-JLAg; zB9d_RiTV~KVR!-PF)s?CY#QXfBp{vuA~0p~pWVV}`^J57 zvjqd?3MxkEVh@LrwB(-n+zaj%VS^ibjC;%k3Q-Z#Bvdhs1gSHeZluD$BCQ7RG7kmZ z*0yRhp8r^=_FehoQQTKzG6rZ~!UZ!K2Gt%W$4%7Bswbfa!R~d%dvN@xW$+LKw6C-6 zK^=_kKnRk!0x3xpWnR!-GmZqExV$gd5XXcMJ;n`!GUo8o6veMGCHscqr5lr24}+<< z8(d`CT`H7(hy1R)0$U^xTI8f3DedZ*?Ed3ShVzu&Td(;xyj-dC$ONs{Y=1ON$oDC5dDa5+tCUmAX?@of z!qMH?d%QrRbsDYjxbnb)GPrr;?d6e)-k0OzicD)u*~iK*^*CX0(%!(+=lm+sEVqD{`S8Vrr#uyw-%5weO}E++88E(en?DL zGthrBOj20GBz7E7Ve;XnJ>}BBjyvc&9iFm``;2tH7oWqs0%cnbh7E+aU_^}ET@h*@ zlBW(8GySQ;1Zm9Y_UG`hNM}g(zotrnXKd%sxWUl~^JFKLEop-gV_M^-jNz}L5%T!8 zjuID3D$~-!yhToGKz!;=S%*b7pNo>=69U|Wrj7RMk`mD!;KpU>a$aNo-XgOG*{B71 z@YiMaW9G$?rblxZID#db%! znvBA2c;e|h%417)bwsGDU(EDub+v>Bz2}>G^~`pX%vx?cR+@92ZKdS#^rgP;{rT)P zuC?8McenpSI42oXE<|L$^ldopu3Z|}Q3L<7cRh3zig)1V!+HJWT5b#SfJ!jr0-I=t zasN8;fg8lI zq%RkA#vOYqN#P3C)@oLo1E<~qgNEV$8|{ge_D}#8v;o|jzA(6pIah-y^^^JgOa?iG zKdPq(=3qi=2tLGB%aD{|OF6Gn{>TqCXv4pFurbLk?D~U415s|FIo$Z+Vr7Je1}@B?(&?A`pln2Q2#O-|MKgRO8BKxH_cA;OR_AdY!h4~|}j9_KK&2CjTU zzvD3ud8np4hROOZxBjtcUPqVE>Ppkg|C>Mivo`hCv?xjy%Pat8I5 zcEQAOA|-C)qEhDAJ#1O^4J{|n?Y^58N-^hjvljClDAO|7MwM*__2q`9*g`e7fRFHf zJvvQ>^`ssd1COIlHcy(jk>?$53!ZOMj+j>=Rq$*@E???WZE1>liC-p@q>T7-tzB6# z5zm#d((I&(v-%#^_;oPz%CcguH)f=0kk5*=UAL$1W`903lK_?bGE{W7n!BEE*F%&p zgZoLn*)dKDtW6g^^R&*|%pCe1o#&I%td#+(b<=Oy%wFLCj9kw6)}p;Giz+DmLL)3G`$w`$ zLz^!{XGq!YzNia{7>xcemsgp*B=2v!lI_mNIwl|gZGH}y5qgq-V3`C-&J*OUsPpvN zCE8b`O+U&wPuB6@Ni}Qx#=r!`qb2)5!7LC!J!6`Zs=&(kKBDx4FSVp?ZjS|8$5sG1 zS|GyF*6U{X^ykZV-RK>4QShOIv-aj87U(!{A^Ru;O$nBs!Jo?RmbaIalHs?EXiMmH zq&VxRey4^yt71<<*_XhpF(0Mh|G!{G^MbM3>Xdz`<_(Jy3!4lp za)kA+n1@KO8A6&@!9~BL`C$j58z>`BU<9(F+K~KlbcFV6+$?`BojyX8EB@CBfs%(=O(L9dK^PCDTT z=vw!s94|Ozy^amFIS=G-W6PP=9x$JPDYkQu-(4&Fe5C|_w%lqKb}nAT(WKk7nvTzv zZ#CVn-o8sbK__)YdH!8j;woF7hFJw5!TqtfJ7o9P)U`Gvq+vFKtC#zLN`uB#9ZrMv zDaHQ~%K9Df$cg;nHIu|$jC{>GT4R-^b>@>jcr8vBJ64Dq=8iQ^y`gUmC;4zNG3w5^PQgHw76nEm&LX0GIyx;2Qar6YX+JGE&rSq! zCa#S7BwR44S&peL=yzMP^Cxj75ft&JE{zUL>{Yry3)K1;+0NXAE#-7&6bRBX| zQF)$R2Ly^`>nfA?fpqForM@W#x(FQt3*obK*h5^OafayQJiIvuap+%GG=6*EXu2C}q}gosV?5q#x$%XK zryWNqXa?F(1>ZzZuqq1n$q-Kt(z=5zB?If3E-!FE1qaIxd@ZN z-A?^j5bS2A_fd+V`H7oqCX#HoR)3dinO{C5AKX)R<)NUmcYAj9WO>N-aeaZ=DoHDD zGNIPSA;ruT+6WkSCD7jpBe7Bq?AnzRh4qrXM={)iA2nEd;N6Q53mY}~LF_8;IKj7s zvwg2H^F850Ar+*ymTNbxf#2#n8tgG)&~bO1)Xsm6x;v#s(TVj#h%70rF!O_7c&Pdr zjVHoUN{hBkRSWP!of&PQfoJViO4eUY5a}SGsotEwjQPUW@BdTK?RHOxRrc=rklmPP z>JF2*C-zAAExv1Qvf**!kgGlWvGcgq>-a)g>N`iv*0NjHSddtFFk$%)JF1Y@$7UTZtry73`p0v)ei9BK>yb667Nrkjf z+gGtCcgQt0Z*_MLlqab!CFYRhzqT^M!rMY^e=;n$eIAc#v0Xpo*D?jJxf1giW^}!-*z3KD&M?mb z4<7cZnccJ4uC|=qp9t|Mf&L#_Ka)JO-N6C@G$OeNn+dLBTcl^FOs*1nOkPRxMGztH zO;dKA@TBbz*v*{*_uZ=u2!>tmi>JnHY;e^mzftp!>yXR`e~C_CT(%mh3nDch(W+Gc zbF@bt93JK;*qxHq9@7AM%61%Tv)dVz3*Hp_+^9FxM0s%HhR!?g<{>R`5>r?H>^#(h zK)m^UmM)>}{(S+z$79FPr(oQb<2e;&0WaN`TYqR_b9CD5Jx<&EJoL-)`R&i>D|~zl zP@mbBOEh011wxCTXP(WvLr*Sj0|{c*L3ejM4-rMxl zMLdn1(ZDD5j%^)WrK>dD;s^sjzcsn(J@$l@#3=By)1`vQ6KGlok$Eg~I^tWSi6yL) z2!o`=BoozB>idvH&Azf%TuNbj?I5dDDYL7y;}0I!KiFWm@VB@hI<=X%YWw|edPW&bz&q0jB-L6gg=AE>pqX?@3wXW9al*;$w^^IrmC*hI<0mo z0a)axVk7ZXnAOB3H>a@0s-wQI;4J|@o~AzZ_-re$4{lu$Ex@+^$Kk-Jn5J)6iWHN6 zUC)cVCVFU8;GP3MFz@oa-08{)d#hd4rjTfG&_{%YriTD>w2Y5&$b(*`ag_Up04_hqFVklJK6k zsCA!+7Sq+$YAPhDr8W<nl=eg0hKJ3D6EU@18aP`X)IE&@oB84wU zv+?-~ZF1KNF5Mv#tMSrM$}=LA&%er+D(|vEUk!K@G49Q>WhseIUf`by$svO!JP#PT z@D|`RX7ub56p>m(P%Y5J40=s`+*_@c(K-GO-L`IGYT8?-1_`h%Vd`Xko}7P<|A| z>W^m7$@u8!ZSI~v?4yoN_1g3!Av+SlEwqPTy!l1vGD|gW9F1Y;z=EvC&>3E@v>a;! zN^GOX=c(%lc#cujhpRfed=A8MoJel=jv zXfh?Fv>g;T*tIIGbyB-$VguO z#00Z7<`{;=?fxMFy;pwCsZz&(O^9b(1^4GGF_M$cbfuE*CS?o_+S|V9=-K?XdtkAf z)^ND^Qg9nByQ7pC$-)5=a`=1+V4A+L+&^84f3!`YkY+Fuj`G%VuAg|VTz8K*X+x@Y z3Gau+$ERCrG%xI9C=vCPRL9IS=4n)Ro8fRwFVocEwq|=*8JFG%x*$%cx7iI9mnpnL zqBAh^{{Y26I={adS>afpu}B*uVa&jvVBV6=Pre5sG+EXNXH{4W_G8A6Nyf4oWb~4P z>3g6lcB?SIZ#*#lZ6hN? zv8oVaJLeE^2si`|GXh3b3$sfoqQVSt@g`VR9W)0l;Li#FfbB69>IM4}@VU#^$QmfD&D1MRBET^}P)&{*kFy zb{D>rA1?gvfliHzkPUOGFlNj1maI^xtA4O{^@_idheLPfe<*r(3p9m7;;GRl+ z4UZ;jRb4OneEy}RPGcfb*$s_vWW-%akbf(ST7CSirWI+N<2>bILEM}Q7N^lEr!tnD3d^l19c;%HzU|uar3jeE0%KCfFk=O(XC~oQ z7`3!4`-TP8?;yQ2;d$Ri>i9*INiENfI)H*v7nZfPqDjn!->LAZdH|TW<5e;7F;WY# zZSAqDjfq8dRZ{ziv9ULjhh+*E)76Vs&yVQlKkEh5^RvdvRPtX4JEIsrN$1zgVZyIQ zuj{GDtDAX0ub7B2`3+GUp*>kb^S2*;$C(onZS`UvYF|j67#{FCR$l(sd|U75v7%q= zm5HAaE#j)b5lMSJL=}eP4s48$6M652IH;b$ZN~g*R1Yb;y4+Hl(zW&c{5hv=QtIa= zkNI-tH9F97vcuNY0kcGXC4akm4xtLeDRSxtQy8X?l@^pE^^rfJAm*^u$`#}gm{|mL zj~$C-Jc6M)I>L3Alwf)+!uZDkG8D4>?WJsdTo&!fZ!K9Xe3Khe5qOt)pkWf5v@+X!qo_H!7{1^#K1F_sp+)LaU zcCxAxXD?+1#nmiUG@e~;#ch3xO|WT&^(`lZtePd-FHN&NWqjF2;%~@Jo^)B5DdVIW z1G@o^Zue{7-;;{;?tDwf?#J)cyET%=zOVP>vZ~Kdnt_!s7#b=v^=%#9ABTWLz#%Zx z2n;{drkgqQgpsc~LE5jQ+Vb)ppPDW1X-FkvJGhI!W-;5xzm=m$;1$D9# zjh}t&S$@4bEa36;u=*HfmF%OGAtvXKBRh(7sk9y8e^Zb%>KYJfD+xLxynRoD9Mom=4^tAUzLhG&% z^D0-jP3t!7csVFMzcMHL#5Zg1n4C9LCsiG%ond@Pk+o`ea{JW}o<(x_nYZv3k1SRQLy_Y?Vv9xA2xd|39p+sY(w(joKy1_O~j~q zH|PfbY4lM?<{Kzteg?+DT`*rx!LO#yknf@@W&SyB*eIy}^bUVB`=h1mOSya0fWQy> zvb_oo7xGO*J2IJK(pl?}5#Bk6!2Cp@$S_8_c$l9UyF;a9ukwGAS&~+xqb*G-zcnAp zIAppQG#9{15UJUPtkf1TlA(q|b@C;5FqepAvFJI*vI`>kFpK$`L`%1Z^F7i|sLnA)Hk&fsqmn|6z-}1;%YA;r8W`NYd1ogQ###)=?m;+U zuhCv#I;jTl-Pt$N6EpRteCHej4grV2v=Mj-EUsT=7>O91?5M@q6^~?fvW&+<4v3;a zPVN~56NRwIQ;=kg_Rh^o1lDidfhtKYYk29S>Mlm8&D?nP>Po>ER9v1&MB#f(*Ok_u zdFbbj1*3YdTeIwEQ_YOm?B$K(B5nAcMqvl*pYyzjk*=%fWECKM0qaEgi<_(XRbwc# zK8m-)cl_C9FSHx%af-^nB9)6zJvAPJ)8p55uX?UBMf?OMA#2b2E^oeAKVa&tqzyx8b(jONY#GW1^Dl3zsl!nF^d|tqn^L4b>97{zj@+@ z#*&^#z7E1r1eX`e09}cX^qG11`gfl(T;)IU==q*Ze%0wD90I7Z-XDn|>K9-aeVxSZ zb;_0~WMQ^(>EYMSuFYGy7Rxfv8Wp~^F|NccI#FW+Q~2L`l*y&GuEkwQzBVMx%{?lN z9#Wq7Hp+W%DUY(Nhh5=sls$7!XqC*34d%!4n3LYiCtp@K(}&0Rd4awU+4%R@tX?+h zCWqvFD1A|^neI6A^1E5Zmzcsu?}|(1dv4SK9 zVO>$MeVFJg^KVd0AHII|e&cqx^zM8R1m9Vk2w;8P@Exuf|7h{!M9D6e8b{O>;Njez z`;zK6Clwh$yvDGts22Ph)Z`0e80kP+6{$T(w5qOfhrnS)0JEm3O0fEIMMo}1*BGIC zl#eQkWU{p*6&7;MVK!*-eXku-uhaL<0v4K!_}B|<^UMV8VO_c6&rLO z!&e|bp-I_nv1gU7WHE!YFpOm$nfO_TadBpmdzomgP zFVu|)Ley~#V)!#s$>v_d4rdHpA$lS&=;>h$e?UFZV^tQ_N$b3hBm(R2+j<`Bz^^dT zh!OB=N?U}4o*3TxG^Z;o9lVF*WLBP{lNUs0x>Ei*9=^xy_D^AU>|PA9O{zYyUKzY@ zqGFS5s@_OrMz;G*xLd)Xcg&^<{hr&O0k9gY{?LRRHuL;I^TUlXs?#!_)? zbemhQS+nBXC69Vn?A5%Xo)8gl^#@-Omjg?Yw6S0r`T& z+5NoGHz*B?J@)?_2>?(vRN{L_v%e?hV5mY%Dxd;x!t zlu#a@EzVt)V>oy|GKY zMgr=&f{Fg2+@E@ktlzlvTlDpBmHQvyzVtrD(Tw^fwR-@j!1oF|eCYb_GlU_2aPAQL zLJGQN)M3J{0Zr|hI_a1#rboXM+ub&OI&(=%J7=~;`V@Drh z*1v72*h^|^2jtS@OkeFlP#g`47h9mMQdzx<&#_OD z(zcYAw8q%ww;b_H(wJuINDPeM2^&VFi&6JM-lFS#93j0i&Y=z=dpxMZuphDGz2Lpu zoY%g0>r3@+<%RpkL(`v5gac|cGt6nP@omql+=Y&5Gt*t~@^c6r{Rqga_SaCo*piE^ zB(SLdnHWhY+BY$_X{#QH@tM(zL5f2lO^X*_lHRkYxxh)iNPZKE+|3b3;B)tGS*HEq zpQuQRUae*bSq2RTQ{P`twZrhx;I@vgPFZs-snd|kwI6R0nLWk}@e|&aAHWR$4$NTL zNS?max}L-^hivo%w_kbQOmBkzfQp_{ud=9kI;UBuuOn=+r9dhp(Omu5kj}z8ncVS_ z31e73r6OgpKR(}5UB<8oo)P(MVpjJZG*R^T`*Ub~S3E)c`{eV#ptl}byJq>_<*|== zKbKd=-Pb|D5{X5Bd3~nmEU_%?VUaLf+E(!n)-ZSq0-12Be_xtKn#hhbr;&^YbQy*nVQv`iTB zYhF_UvkA+qmz7Vt*LI)r3!=$y%C21{*HKR0Ns>(D1OLWg-n^^lisfSPX2KEh0v@W` z#e&nAo!4J_#xoNUi#J1K!al_f@%Woh}PQ`?hu$O2y|P?Vj=bvW9zW!E#AjZ-;Z=L z*WjcDDw%0&X)^hs#Y^e7FtlnX7QpO8Ek(qM9}mf5tCpgZPfyfR$SE9Ql%|V67!p>( zIAFApJdw0P#!VQ+@c_a&Ef!9kbh-clKmbWZK~&OWngeoi+1KB5Xl%gB^4!xQBY@%fGqDjQf=!G0#j{Oit}dYFpL(u5 zZ;TU+f63Erb;6l@)hD#hZ^{qrC#SkLk<-`bN9V3Vu2@cVK96es)7tLSWer{7M7;qX zODjC%2ig%yn`YESD*7S9@|V`lRC^*#y`nmdd0Hf}vpJPtb07gPVa~EnZe(~aJ2Lv~ zx_xlkan|TxqPlE(X3zYgdj92pH}&p#1t0Y7^!{1mFU-O9y*s>ep`;_(&*gP>_YDwW z%MNO=LEu!qW1qGFT+WZ@|3lV;Y5 zQJ`5^4$mR9q=af2*bQ@&b;A^nOXzdRVY0U-W(*qh)xoimKk0ebxdRPLRN+6f-l}B` z#{(dPcq2C#>fpVWmo{!|Wi|6*Zmi(|D*AyLF8S3s$?J!cDR$?r{ycHyo2u?l>F0-^ z=pVfN_MQtx;%C}!-F@3G;@fPb8wxIO^aZ4Z|AYcc?^dZSlIin!sCqZ-QJ?RWB9&i@ z@5Y-sI&+2>c$bpFUzUd#?}aKH9@N>zbv763M4!6Xq4dR#U;F72*3fsxLY|dvmI<6% zaJ0#EukBu5At_y6JK5nz%6ccAS)*?nKVeWz=Kg>{DW?i=n?(9X^lE+!3$mB?T(P2p zfp25*C*EifVyV_KK!3m1cb@nZ^fr+ZJd*CIXhN0P{%VL!q7frf$OpEQ(rK;Az#Dj!QjtAm5m#$E;9zpkI|SYmf0%vv)oR& z^7{!-ZpeRDU3vZ!MR8MJAImTnf?Q^BsSSg_jVpf`k?^xVF+bc^S8@h@MV_t;6bu8#qbQQ%c~j(?sBXw>_LVREgMi8@K;I_TB`}uA#0I3y^jAOAF;SsWF}3~s|V z2rh(V2FLexbVeP(QGrpAMG_JcA!tZQdS7qf<(%{XK6UQxzRS7Yo!-((s*>C1oI15U z^{YDdR6X_7Q}4ts$Q_WtP8{i~Bi)Z5vVPtb`6llPyE#c1QIw;-Y~9>>7HoWG?#8=! z{|0RN%e1f!q$qPGNw@=37uz;ny#A5mRQ$kst=MjebUEt>k^Xb=Wik|8Qa)#vCPFW+EU?A)KWj{dhZ2{jVc|dJhfMYA#0_7Ss5er z5rxLMYWf>S1%FvyeK7A+%HtiadM>BKJVziP%~FeKBim<0gmSO2@6M0dL~%l!KiE+e ztU@p>@AN=a_(EZvS4gKQ;)!_s>ARm^jcnkr0JNf0m?0izf+Fh~1bL58FOSiw?m_S4 zdE0ieOQW?BE53hDJc?XJD&(Cv8s1)bj<_Q7SNEY<^64u#uD>theTf%g)5Q~%iI-5u zyM~G9qMM~aLuk~!VjsA4<;)e;Pp8__;>WDFRr%cbBC6Z{37MSr+eJ`>w<3hJ)JRU{ zHqMo~cinM+4K{agk#dk`1(|S^+Ykz0Q9%P9(D!C8Y}bu)!TnLb1wYYd`jiT%buW|fqMkEtEfgH?p6_!jZg z+ohvo%gQ|8^tn;*3Ux)fdDNw8$E&9cygUFCrosFN1(VV0r{Bt4mJ|Mcb91Hb)_2 z3`=cS_Fl|UWH3iD5;P=g61k+Z-8!^hnmi7)Ln_gNeT8Lk_GN6%Y^85s#>a?B3b9|z z7{vt>wCP(d9?r)Q+%$<||6GZlht{wb(KyA|A<^PSw@=A|ccRU0r+78ObtrIEKaqRE zyT`WThcij9$9|!?XPvM5cYH?V&&RCk5nYgF2qGfDNuVp+@9&=+5FbFJB z1olAJI-!kTmD7#Iq{L(=SV^-bR&NN%CMu7B^s~+y-?8>L`=ig%-xl>^m2r*F)Cg?( z>duua5&JPRpjDXlyT?+wTbZ~2Wa?O@Z}mawG3ztb&AZ?OqS2b?AjRRdnWA5N7~ z{%4)=g((~hu~8{V49~+{(G1+@?s}r#Nz{E7THZ}?k%@?#oXMkH=H~Z6?BDWEOkc=1S<(hD9sBL_c!WAC^;|)R z@u);Vz8GDDbL?J8gA~|v7H*y{&Zt5#oZzkOSSt=>?n49;j{CRtt5Ldag^x|Dtk7W; zFf4q8Df*L#;gzE4_fRV3JzRds*bR5@Jr(q$wo7ONysR~)V3Z|hZsMFxu&RZjClg>O)_eZ|Vd(!e{dq<%@OM;>%SbfWi<8%?Y zG9G!d*YldZ$%vBlj`X3i_S6p%=Zw;By^u=qz{A#Ke^Gdp6+1$BiTA^_M)Y!I)RKSdi7F%19 zE@oG?X)LqyVd7rCdE=UUA|n@hvXu9yw5X^>057mJEFc}94kZ)+UAG2L(bqB2&h>Jc{oNG)dlapD%~@79aX7 z&9I~l`Ijyp2*@ol$sxw&NRGZuq(KT>(Uv~6ZXDk+7(W`u!62tg^`i;cYa=k`tf?N$ zZtC@Fyk4{mdtdpxLH`qPafg)ajV9tFsb@!3=BIrsEB(08WSl|3AaINzuyzey!wX1s zQ4eD#%T@O&(nCZ#>1?F;5F6<9DG0UbXRRhD7Bf4kA^|%B&sh9jggyg^1^sukq2}F~ za(Ief^_EO7_~zA@t=%7$T36ToZrz!uycwnM_fr?0)Q~KOO4nbIO%z9?kH(yk3Vv@U z2g1QZMo2Hx#clgCUVJw4C7#+GL||VDBmE$cg&mirG%?>vd8x-L(y-Jy_!Y}nbP#~K zzas2Bc!;@2OldwuSn7wx9fparGLnBQO{s8S9^nLezG3Ur>%ioq($8w5@G#QghdjLm2Duu}%ExOR z06;o8>!+UY|9H>P(9fsS7`2_?{Ic(sB()Pea=)s^2nvDdzoLb*p>XN3BM}PgG%Y2J zNou~NGvQg3%73lHRQx&mG|-D*P(fDSgTmZb?VT`GmI5)=P*Gm_6owwQANyHU+)zVQ zy*1*UXcj*GuzKv4h<8Wi#VRXXWz{uADrJtkZmof=N?$AorbQ(xc7w*d1Yp7-TP+fBImVP-OsWB875P_~jC6~XXeup$~cY81L~(jCx} zgsUPSKGf*RcVV1Cz#uSx2t-jjmXAQ#X(iBdzFahC0=8t@T>Umyd&D#ac8o2y*#yb3MaL68u-&`#%(&!{**O<Q;@o^qfaMxk1bqsJsRX++RJ+Xx9_LS3|3mUplt+jeit5-dL za&s^kcfFxlE-~t-`^VROSY^non8byK#-wi$FbEt00;lxtvz%7>{BfZefc_%iiG;qT ze+xna{Z(Uif>k4rzBh=K9%fV;$vn*j0kjY5gx%mKD72|_2C*~$n^#@DcIR|~5QDCk2yx5HBWd+rdC}Txb4!#v{oM|$vk?ybt$*2a z&)#RiSSB!`LQ^RFkugeCUI(&S=He0VXw`EBDaLDo5YXdR=~>tn@>uWlayQ{*5Ln_8 zJfRsW3x!ob-jWC>$b)UUSLZvm@)8Sc92!sM-kH|`7Jz4mU7*e3^)DV_1nbsfOUSgkeJ$hAo|_Wr-4b22zR9pO3*}5pBWz8|4=mD zs1S9mdIJ$6O=K`3`oZ>%(Sp~QWmnVG6}yI?+H%2O`oCFBp7qca?X?k9T1G6x2ntVA0*MRxGTR zEzLoWW#!AUIr6En3|}p@@izz<1m+I`I^v3sJ)gRabFpbzDKN&@>bg!j=OHj|$h0K< zTsG+_r@l5GG$CEa{Di+8bDC`|ST0A)xQ&D`O`&ZVBPf#31dAph^guU>wqI%pVLhN=fIJ&$Kvip{wBX0^`t20~o%Mtr6O3F*r6vF-gI* znBx#_YsvyQ3ltN7Tg*{pm@k3qm7aP$yJHy*SS{%RJy#fF6RU-Wb{AxHNeS`ou_ ztiW;7=`i}@cY8CT_LvBR9A=khGR4%E2>7g5P&u!X*ApFh)cn6V{^Y%|tiw6wzx`tu zuX}vbd+NKuv%ZJ*5Md|f%_1*&wB7|R7mDc8DV0SQ?|dwet22d7Kj)=KK2lD>-*4OT z60&P8_m^k**Ds^|=fjT)+mG_VPL-Uf%Kyz(8_)dlRDp`$1>UlA!7ys)xo}mH(-gDo z;;2f@IwJhthv!SEfjs6qh_G@wTVVrFllYc~(E<5G`qqo^@bjxF8y<~%E)Zv~i-UkP zGN!PR{kshIN?e*JwvEwdr14a3pCxgQ_lFy|?VwY#E~T6T$mB;C7M$nc%SC1(W(^u+ z@$)6Ih&)6)ZA!r|wo0Xw5DmNH&LX5x5)3<>iRYX+vhW2wSk0)rgtr6dZ56c}CdBB-swi*xN`F`zxi76ZR_dtF zXNPuuU2pBkhn@AswhWy( z^$r43^fE_1WOC|1%6#=BW@j&~j1Y$O{NVPeIOTp_cRbe2ex+*tO(va9-CG{#cze!x z>H&_sJ}PcBQZOvFsy}ftzNh)4Ho0V!g^x-dnM@4=WeCW}8SNO)c1>s)_oHFV;cGZN z^?`Tj*2Hb>7sqOIwQ0|3VC>U`dCg|T9L>r@3rpF{8T2e?{D5|`2#&2~T${TIdQ*cGMlXUa4ATXA2p^TXRuTTy>Kae4j78c9F zQz9^LqEi$_WDx*(M9cC^6FG(72-iUdp?%DTdk`Xb!>7B0L!;fvlbgGD+-~)fd0*DC z1{;$8i2vd;w2Su|?P3AnID^1qB7oY0zgqb&2hm_Q*u`X)!?#&&NIO9peFTAYKnZJk z+0?XgCL)`gNCcig6nyveldKm}(`%GGv+&`R~*@v#{y^%N42-Hsf{ zy`7qlROrd4T?k%$jiOcFYZ(JP=?6J${7*mjXRkb597*nDf%`H|arq0L8H&$nJ{J*n zTCZF>^^jXr$J(*pMH3ZXu>1)o9RE7%Wi>wz)V-j}J6LLUGZKY3d}}vQfuAotmtCuW zcN6l1;0L~^-Z$0G)uU0*W#urB3ygp){!0VKM7&zdb#GCA6@p8&B=Xc+b$98z9xb>qO|D$4eug9)En;E zb2abY!!O$Ljc0RXKa74k>FX=ELsozz93QlrcD1?d=0|E{Zd`f^?&_eCc(9?_brq?)y6D8T?7qxF04MT4EKBA_w2Ew$cjS*fuURV-Ygs-5ar!RKVMuV2JEb~p4VH^KE zR+w@Khhv(TX&K1=vhe27AYc$!>Ih(xLU?l~{Av5ey)X*v0kn%#t;#vMS-DoCDIOos zB(uKV#6Y?Q(=jXjdk*jX=a!z`cY3{SOYg5q)C^@({@6&aXZ)PY zwZM5g$b_)sB1{+Fygxw^kcLTPnP@AtU)`vsDW9N_U_*zU@oYn6mn@4u`dbb^^r--m zB_TbwH=o{AFdfOe&tI`NedE?We*pveCh;QYrALw;Em{`sLMogp)(+u`~QQ zfXUpuT(B+mG0F+7msT_3Se>RSyQ+!cdD&^_s1K>1fBB8-HGd3v)npx|S%>v5#=;LE z)Vp@`#<@#{I74&xhvfGi=*(Fx;YY|50@w^GZnZc^k#kW%6@UMh&YwR+WG z+LJhmF=r|yA>q37FKw2T7u4}ZU7GJy%R2{36a2>!+wP5^){ez4j_?*Qu`m4SCpJ!P z2iCRK>#N0w5j@m&`8i`%-cNX6|BcUp{Ebg+p$ByToJiApocClaI5%bCvV^ z5wYdtJoG>I<5FK0?uM<;T#nZ1-}9otfXl;(M)MOh5i-*LUs4{q@J##PUAT|BiWYfO zbJN%9L|#_@9;=0Sm;1@{Z0kbIPY}I1B27{9oblp~9Fjn{D<&rda5nK)>?FyxsfRJUbiS%ohuxh6A%fI(m$5a1&&=*Eebko*u}4vun_g}4LvcPV!@ z<|uj(sYGH~T@8A5^=SVz!UJ2_UE4~>upD05PG8UN8fyi@-{l#flPr~zm8M3zkJ>n@ zcycV0?b3_rfy$(ym>nfcUSLc)CY($x#7$gfs-XMH@C9Qr@d^7zZNFGFjOD;P{hq!Q z#Y~xoQ0R*Ps+Ol=e z2aw>1;8a}soFMd_>hGjra1Sizg9rxipDOrt?>^SK;YD_Uz9klm|3AW>NxO)et5i!y z+J-Oy%nk)#^gRE1%p>$v3oQQVVLXvPKd(3#jV#Cx4-W4s_MG?oAi$)ZbxuUOD1P~W zbIryLzlwM_r5A(`@u3I?#ZI;%K6}-r9nTkgM%{}b`gM0b@eU_ZdpBcP1~)h@;das z;qKkPX*#j1^*hgT8XCc zWz>b3kSLE+oV92)-&gEW?Viq{Ng8OBqy4`S^{O+bp*6t|w zoVcH5U0A+-PGk*=FwgG!uZi@hy>UJd&2f$y zu_%f#{J$+m# z7$%@Zb7D#Pp3FBj4Q?}e&0%D>-LQ4fQ?_m0Lim^GahhI_-vgz4hjxDb zd$ZlSyqNV|OuxC0Mxbj)hxL1Jl5rEwMTEn1a?)Ar?adXbR0@VMC81)rY$eGHhUGgb zd=C}zk9!ZS$GuHTU&W>U%-DCTyqmH2^;>uUE+6*k`Eheayo{f_r^2(sqx$v)-?ys@ z#Xfh}6Ybd1`3%Xun?_O?yH}(x9=!g>rp~orhpny#m*qpefsWJOb{C#PZ} zFt@jr#hQE!RHPXR3BVWnYLF@aKt-7R`JZVe3H-4blcPo+xBdN=0C1Nn~hlTJAoGXJG+LYLYex7zE~mKxZg462Xy}q+qf()*o~! z`_ThuJDK%|+<4t+JYmOcf=s&3aaCjBSS_v=+i@#fKGHC`(9qMdOPcFs-Np7&DA-#ap%8~Mse zcE=Z0t}(5=aaZ|kUaq|D-72`SGr#yZU*MQ@mLvj+wBP1C&YNgqtFaOuLz6~jecG7s z9N3v_+_m$c)ZQ^`=mpG}jL`^n8>JlbszG+W_d)dZbERfQ#A#!wh_x_(2!WOP_ zz*SRi{YR+atMKFWZJe<8Dvl2Edqbo9-&f_eS_(9%^_))7V1USftRrd zABaph^lax+fg9h>vs1*e(CU3JO!Rufv=oJt@9xy1XZ4x8cQI76!ulzG!98vBxq_GA zfBH#E()&OB_;4%RLLqGa>J4VBAC>tV3Ig* ziiigc)om#ge!_j`_FWASFSes9+LHuATmO!Uz$d^>=XT}o_#Jj+Sn8vTSzI|kDauhd z)FnGOm@zrh%2*}9>__mcWf^%g&LChAIDrtLFNpf?E!Cxhv(=+H-ZP0*DFO}QXQ}g) zy>H)YH?2luPJbGCv0dZ2**Y&CXGc!Z>IZ%sr`O3rcOo=ikc(;(G(tqI?}Y{^DPFgs0d>3PF%iFd4Vy3i7R3! zc|pnbfp;?At*6N12V2%1wrCgUShGvhMGL;S0@t)_O?>DmB4-sE4x2Q`YkBe^#5xAc2$$Pxh4LH z>d&6NPGvYo>bP5|XYPWG&ynwmO&k{&}3*v6M{2bw> zU&{X$B#&x|UUku#-$gt64xqQpEXZ|mI`;U+VxV{(M zwE5z->}8pqyQWi{wD{HRV$VF*Lf7-mDLGL?Zl~aHUhu-Z9yreC7713j5-aN`0 zu6nj^{fhN4l3l8!y{0~hzln_Ah13hv1$xCXS_%>-2A|QZz~6fAMYZwsS6slLJK8M; z8X#2!bDHLIDw%9OS?*VO{@m7`FxLo8V=W*IetJ#kIfI3;#aB60jb}MzrNXhGg7#3Q zyYcSbzrogz&+`5adO}lL>)4{T#BS4svn`)V;nePPckemhanzS-N9zeG<*yKGmZiY= z9X#4~+1jBp|Hwz$;IAWJkQe)FK87IphuGOZ$N`Ekv0e91+2$aEyvB$)WXl${TyRaq zJMA^wy2z)OWKhrezT{hy$J0e{K9zkX4te-X!hN3jG6yZkPri{CG4mk{IFZf@mcNOJ zk!=C#A(M*fU98^v6Y{R92+72kzUGOmI@j*3cz2w8WCQ=Un6fv6ZF!w6Sjqh$A}jf- zaMC%w%cw#`m6nLin45HJWB1T+F7uPkvqbL5Nm@>Z*TA}~o~%XCzGbtvn*FDh3K zy7Rr}n98LSuFF1bPt|iuTeB+~#FmXFvENQQZJ3v6&j!JAX2~pqa!RJfVRwNn90y4k zX3Uuf2#oXD(=$ouB+NtjT8Y3oALM9Xgsy@s+-makWq=W7p@S~FsWDg|5J1fJOOKTYOW(3R-8hbLX>+>wPN5!=5;yz@{eSY8!#Fam2 zC32$;{Y@#y&8Bvxob;=m;p`bJRqoQ8lsA}A{_sH+ba#ZpVq?EpYUS8-2>I=-U(*-& z$9~Gtg@;uXdZj$F`uyb9B&SF;lQ=f znAY0DamHR@2QpPTW${Lwtg3q)&TGHOH)q^JA&}oW_z>yK&$tCfAg?vMdp@(dvUA

          g<#mpB3p5kZ`*Y59IZn~A2CZ_P@0xj;ufpN!tNs6G+Ln% zF)F$BO-Sm3Lwi;`>$JDRuDMO$7=o%IN!tXJiJ0Ii@q)DTC|0S{PgG-Bu>Ghkl0hWFTY~- z=*}(M_R4l5+9=;@m~3$kN76=kX%{~(Pp{f@Mh!fa2%4kPA{pydamRfDI%GvRT$~8o zPE>NzqCTHrb&PtCspnbNg`^g6SdDJ86-g&ouTY!t{dD;oy#*(Te}T56jrbG4w7(0> zlEw1epOo8vE=~($v*%3$U;KutW;R!%QC<3W@`SMWhX56g};&we7 zyqj`%u#E0$86uoEw20df-n8dD)t1fq%g9T1AvMuW)p1|rIss=23)6==h8>p{7K;sI z5f(2sfw2ZEk5>Ldal+nMcgb>3Il}+pi-KGVJd2(5;c@!tIALWGUq_TMA}i+~THTgt z7^fKRj<6mmg5rKgQoSUO_MP9u7^~M05FBS!Upm_$0^^}ny*p|L+41&M-0}AAp-kIp zD);Cu+RBFr{e?M{QX%;ox1Sz9$0&Y98`IHxWI8x{1yA&K2~om zzMZI*^3t;E5fL8_T}_VT7qa#76=G(#ez#w1{m{$ZuI19Iu!Q%prG%5tcSlkNg z6+$4So{YX^@T5mz^IEQBB(c1C1hf#UI4h{8Nm(UAsW)3gFc+l$6o5sjS1Jq=)U9B9 zHEq@6ln@@iRs!QkbE)de>$+OlFda)BK&18VD?8WUS2e|=7e||hd|j=Bq{wn{l0u}` zuP%b6-pVx^KhOU`Q87zyWoyrtZI|uEb1lE(eEDLn|BbK|yJe!qqF%yJ>R0j*R~%M+ z5ei#@=X>wNG|AyGNcfkNK@VY%2s^7vOjeY%5&Skxrd82?WQ1E1zBpYbg)?ru(grEZ ze-i(9C-W;#P2W#ytVic7Wq&R+>~&SdEcTdXT}TobIr}9Lm0}yF?K3I-yTBM(DU8q92fm0TYz1Q>Sn|zYRp7|A$h;i&4rRwOS_lVqkCbiFuO7 z!yN<5@f!{f7rtu=Wt>64AYc%f5duX*L@g**UAoJ$&Sp%2u$X?RTMJmOCAIB4lyydn zvYTGE#?CblyNzBtHkOXpATmxS0;_=o?wZjKUdD`JIivSBy011;YtMRW1wWpHRywK{ z{OjVbjf$;3pjj{TFx zY^$DeL7UiZ7lbo!xl0}v^m>@Zs%5P>| zxRR;VDQMrjvY0~M*Tmf5Bo`=_I-2h!-Yy<}uMb*kglOIpj;>r92!&=y2<@?E~!66w#8D|hM2p9wm0`rJ~ zXbj6?pG8BOc}zV_s$5v8;&nBQ1<{0pGY}*kdkI@8jKbzbf+QqAk)JGmmre{qCobSNkeLA1`K@K6vt@**Q2@mnIp5Gd~|6z z?IiV5N~VW$Q6*%DQ>0*64oL&H^P;e0vM{=9X!zl%^a_4}{#`&9fpoDe)WbSzq;N0q zi|@nm%)#Ua`-1Pe>Y{b`hMpyVAw%8D1m;sEzTrcZ;J45Y9wFjW2%O&=5l?1D2P6Hf zczS{V_l{+w+@yPg%5qeRm-iN$_Ved$Q`u*lYh7Tc>3-W$pNt?SkCXKW;PDQ5uL~gR zAyIWA0i<52JKy&|xcQ=W(`oI?H1jpYDz6U&{=pNWZ7@l+x@&N?U^yNULKf+MeD!5( z=hW9kqzVO)SOnmoCDH`r3<3rL zgTOo?K))l4y5c7KmagzYI2PjtS&QbdyRd^ARM#o%0eH_Tt!tcYUSQmtbCZcgwiW{l z4KR@9*xOx!_UkH)#I1tmtz@C`BzV&@(raOg(Lj0#yi^Qw4blWslN4zPv5w_R2;yu^^>#noZVark7sccivhM{cl(_fDF`!UQ7>>nE0(4`M2B#G*d zw1tXHeFJ-*UDI{rE4FRhw%ORp6|=Ez+l`&ZPGj4RZ6^&I?B$X4cHC zSreY98fUyYfe`S`?r}cdxSPH9EiI6{&#()u*h;CUx2Vx74QF_$<(Kv!Z-=M*y1-MQ z1_>)G+szaFO+jp)@K^=6*qpns>pWeyCZ#Y;N&Ns<)PyXRQJE#ORk+%(j0Y%!nD}r6 z7AjqnT)h?Gssp+1(D0{+W&%t=gV3AAZ>o77K{%oZ?x?12SS@2MnvsbG^5$kFVcc`D zLuuvROjy?&UE$G-+DMJ|5}HaenYn+nxC?1D31>TzSKF0sda&topA`M8G4k=&EV;j( z$aAX-@1kY!z_!81M@kJ)O_xIAK!L*i z;V5P^tvl1bx&B?A#_WTffFzj#6HY;mlK6K)2L9vaMu)=&A_WS4J9hK0TwCP`g^mg< zu`{ZCCKWcE58%w0?nW6(OENk8wZ)HfgRMi!*^88MQ%Ewt6eX&=Qm z=8LB#74ZyfJ-ExRm-nIA@q3n^M_2KYZSj@kXN9laWQ+p|CwULuoS!<0*($Simw#2# z>gCaSZ>Nmnz$3b}pOt%R8OuwnQ2e zZD_023OZ)zujWS_{4w?Q$0-i?sHKfpP5d*n^uQR_PrwZa3LENwC-@alE?D!(>3357 zePoXeTeNsGclc0UrTdySk3vLD5u|lWuBA|E%^-|XR`s_kA)=1Jcv`H7d@UP#QKi+a zNeB|GB!T7}rlul|AfviHB6f`Yy42hoWlu@uN}0{!@1J{KN_CS=k>fgy4-3hSLd>Bh zg+jv%^zcTeNE)LS96P_)a4~{h7}ZL#u4940yOR7627PdpFhsiid+4%V+(&Ms_(fA_x zW#!L=l;u$>9e5N$DjnQ>=mpPKSIAxxbFL8S!j0o*u{){uL5wbL_*y~Wzzu%OAfYL6 zJFS_}&*7}bOQKleC~9+1)*M3YXh1nsQOmxbx17neW)r+uQqD$thV8muhQH07EHmpL zrvM%JWe5+;sK-Sn3~;Oc4AWbilxG)4Ju^*;hH+1&u)OQdwOp+r>y-5*W#2pZB_<3T zE~;cd7z`a5?>tMvf(to+3|?neqFe}8p|=~UiidKl6#EuuN|+2=OW1>FJR}7;(Sek} zWC_{fX40@i-@rfW{MiKmTKk)ZiPaA}=SRt#jkWFBNV+nVT1Zm}mJ#E_kk`HLspm^GA2%wt;gBNZB1aRJ!r& zU8pQ7n$c=sH7Q~6qb}QsYxjNUoE#`(;ORM}M9_PMq z>>ZUag-d)D_ZyR0j*CRCaaHuIPj&msW`O;s!3VP7 zMTBMWS@qgwE+wT|c8P@IkI(2}G6$95cX9hm9o4Hl6aN6nJ7pPYk^wre>K^fm?{UJYQ1J}u@ zk_?jHSYLL!T1}sE-FQ2@f)#Ik(TDLImZYXE#s8qdtJ0UX#M_-cv z18I*0&)scD;dhOxGxFC5)1u5_7Vs{oBpIR*!6e~p+PZ@l8FfGr{#o<5l=f=ns|=nR zqw5FPdGF|cBZ^R}1Jhh=UUtB5?8Xp{IY-~2vWIRb{XbO>$r?C(J?1Y)?GtA zs6mUv&urDw2q<$F;J9tI&9SKf-$35CXd~%GfahmWeg^xT?K;yRZW6ehN~|QS z^ngq7yjcgvhm{Pnu@O906t%44P!CcZB6Nhw3-i&3*z4={$z1mbtxj~1*q%?`Q|(D& z6K`Emdl*Y+BS4lqWV@|O+d z%3CAErl97jR`r*t+y%oY9k9(n5~}iUV{_#s+iRL2_Me8AZ^I?ip@M`zjfbly?I3o>F$%yxvV9(|Kt3keEGc19G)E+9R1Tx( z6XhP~3UGtqz9i*nVw(h3x4{rkF8m!{@qECK`(ZpwS?=Q*=rF;3PN1q)j4Kp%_~R=G zdDwDfC@*yBeq`YV`L@Rf*wR-b#Yng3bX6lXs}48iEW?v63T>_Vf2j%(ucJ7x=Gb=( z07OQhT45(aacE(K6N?$kijTm1{0RA`E8eaN83e@J9 zjO;nl$O3@pzA%zvbgD-|!X(j;B@Tyin4!(gu~!RRBOsC@#Gvy88~)vk;mk-$bhqkT z;zu_E2TsY3NQv(^-?HIsWXEHiyK92`9M+MIKPJ0T@Cs$eM{eQt@Dc=lfJmqsfPv$d zYDE~nT zY*(?2{$K?Ot~J~wsn5JQj|v|2@(2!-aO05nK6vejg&E5lyjTvr(ZJ-2bo3y;Fz_3{ zv4kS9U7upd8<1)HpBa1rYK=G_#QMp^gz9VP>i+WmKyR!$V@`hOAlhVc?m7a_&xsJ7 z^duqNPbGK8R?VC?&pGk4E&&ZPv9-HUTQ7k?v1>vpT85LaYGKRYT(AG)Y2@-v_jCp@ zDfb_sqr2}Fo}Fu6jKZlIfF0>ef6-RCs;ETg^L9CU-e8sTDiQvKH-_;qu%T8Y;Ysv< z5OTiRQzhVAQfV>=T}g6nq$3_y*Z}n4aF#`Gd$prg>`a~IMu$oGPZIeX7zh44J1LEp z)C??dB6YCg7S|(kP^le4T+I5~pG^%`Y%a$%OeFpKg9={G7l#L3E8XTge$LOnbFQHC6H2C?r1y@HlQ=6@H?95G6)|idJ%{rwKcqY%%=6gUUVXL)|${a*lWk*KcrF3Hz zxa9*0)7phc>x)^TkAR;`-F*_ECbyX2@tbLTE`!b284w~_rjS*th%yZ6ea8VIIKGLz#qnEz;y_qMHY#bboe_eUoQvpoVlOu!- z?g$SQxRCm?43VkEi*DzDp-z0&+@rFI-sPS6Y3ncK6MQZ@wQdaMo9k%gW5^yK%?=M) z*lYjmW;ii|c(`f4N|!5+-vi2mL1cWIW1YIUVJyE~tW29ruw zx6RGFPnL^IZawRL4X1aRm&9HVwn_Juu;xmy3`R*HcVgT%^Mzw1-vNI9mmuGOx}>DR z%~ZNTtbZ!MpE+z~Pe@THx7Sy>UtmADDXNbeoo`L6MVQtTuY(-YMje3LEa-|K zacLf#E7!Gq8D|Jg<;wOSmS2@{v&WS4gsIx=o!)$Ontywc5>BXjb6AT@o#eP>xghR> zw5jp!@a@Z!08%V%-Hr~gFx3{|?Uc1K0qRG(pVx@zIqw>$>y)QZ zW(_KM``BsQQ-aCT!BM!`WAw)MRL#bs{i5l}%G*}{WeS*lj*@6h*g)~RzW zghwxpvb%mx_*Y-i`lq$|GrI}VuS|s31ea?o@`aV*EbY+Ub5zZg){XP2W$jf@2eomrY6%vtSC~EWbwmd$46x@lmWjLHLRX{c9IwGE?ZmZzpA zjt!gg6bN6%`*zsx_7)QDMU3aezZq3a2;b7qdZ_ooMe`z4SRrCTQ-@QwtAJu8qOY!? zBK$)D!Club1re)?2kYB!LB`1U% z_UZVN##q@v0bp!J^0b$BAQCYwr01%%U?6;?Wnuc4e^HdZ3E4H(YbWywY$M`udPM_vu5?hnx|=UJFKG9K<=ZX=jQj|gcF0uq`BVy*$(7!LM|SP z#?kydTWP~d-Cd3s)F8#Ru0<6JCzo=5Z4v6PUoNyQH>}@az&Gtfa8_s8uXK7xV{!uo z^?EDG1fgwoHni7GyD-FQ{gHg~3df61`@5dY<%(R((DNF=L$o@G3Y+chwphqX>z1O8jw>J2{w-*DC_>j} z;ufVEz2a+5S|c8%<%yt&v8{cEeSuzYvvd=H89XbTNXb&yDhFo4=V>u4&E{8&| zLp*mnl)&Y$>fR|=K*QhkV-DKJGmsdQ+T!ooG)m79ii(trsv@z`8LIfYvY=nFNJGx2 zcyWRP-t*s%z9kN(6`vzeZ|TQgn>2<{BS7R+HU6U34jcg#0a5gm>HT|wfge4}3`O~q z|A57Iz=*#P)-qm}^GN{|`OUJA>4_>J^v_T|##&gvrB=OIHY4Vz)Kh(f)rEJlCur%O zkwV`0+s;8`IR*%va-co?{xbv$Nc=*=kM~iAmuVQGyBl538`X+8FMDy@ zJ2^ByN#6x}mHR#I3<)S0X%bWd9P2yTWBLxtbi&Y|V+4Z}qaA?I;yW_(mvCpF2oGq> z>{o6uzk%6a$SDUe9~I+0zspDSk85q~{gt_`ipif+J>&kCeyIUMH^4>(|-?nRYvx@As9A~9ztUj_qwrr3qx%-g{P66N}2le zx@kt`XID*YJU)cMn1Hy128jY{6l)H8_ZaL_j7$RwZak&913G}&8#u}(FO!pFRDU-h z^?o(?V2UQ|5t$7bdAelMLv`Q=HI@ZGp^T7VhtBJb;PWrx5r~C*F5$GuS;`fU3#<=154k;lJCDkvII$dP@X|r?=;2hpk4nN1YABa?Z=h~sCO0}{! z^CxVmRA;`2>oF7W^5bav#*2KpaJc7t$eE4J=ow%Ct6m8ipbUN!mQyF?CUt&r=yq;D zgaft7&s1)7VH_S-RifEs1K_qgW;U=0c5;j6On+_4uC&avq3llAByBC6l zlv==aOF5Z9Vy6Ec_gXSi`8Sz+at~IOA`)QR)hJP9&GU2DC-OF!Fy#5Cf>JiPs09f; zNtR@T<{$0WJg5LC#ns3M?wke8hO?Kn!R&nEEkcJErys$#rF+&Ja$XOH_f4fg)wmX_uQ$zH6_wgFKeN^1bgaivdkIWPiJ{BGRLW;F`C!P~ zC!6~V_A~~&a5UI=4@I;quK(sck6r4Rncd)To=1SV0Rx2=UQw7%lSN}3qGRl}GgzE;q?Dsy=RI&e5L02ai*@r@xQ zV7aRw0f##Vow)`}OQestPPAm*q^?#lV+W{%m6~4vW~i$8s!E3%mtmX4>c0m5Pvwpr zpt%#^=0Tj8J_?@=h$g(yaIKftYWhPx&QHcd$;Kp^tY%PJ`JPpeNGkWO>POr#A1C&} zg(n49%yC^~!DKxiu`cdhw(Il#y^TVX6OtzGbF>APbpskaLxK4$Q|z!ves*|AV;ku$ zDKe7rL;8uLyWn&=vvRZ+Fa7s9KbfSNZHs%=Q%1#n4={X@ZZvH2@kq_jzOd_W1TBOzQdmnn#TLNp@n?cV`f9Nfv6Zp|;`(w%{qwdP|>r z$cCraNtT?hVW`pA9QN&z%mbmC+d1g-`(1D6W2pxA+j}N^22z1$i5#92-(cD0*0yyV z#Tymd<1tucNYP>*?bKl{!>P7^?8iDg^i^GDT zMhGHP(L44xLfl54BJTPrj<9>k!AYo`OK=-l^{+VI1)x<5h6@R=qN@!G2*#WPP4FT(4E97HM0RUp8i7D}Ni^cktD&x@k2k0A=TYa@q3ZzrS|8n(b;!Cc}}Y=4n0cx$$O z2vkG-wNJpCb8JQ`f0?(izSb=RPh?B5nGqFd)|H6=@u&Iuj+*zuTy1HV*Ml$Vn`1UO zhaXslnjHVW44sLh5c3D8GL+n|H5UkooX!yIshVM`M6@To+5 zF!ItK4=ay4)P~&=K(WZ zo6771B=~$SXclFW0Up4=*;eI5+srQkum{@~awD}-!_t>>-r{@36CnbtfjOJRI7LnY z?7yEeI#?@g;(W%OjH6ATG9>?HR#1r&9iJ*w<)!lQ7|7br`C1U1^K!6Y3CV+e3>&P zZw{%X;OLFBX)-WiqnkqO9?@mBqekei(12)BC(gde8CIS*;?yOQf$HB2<4O9@_Ir58 zWk{CM+NWNZ+HJ)ezXw>xHsqUu$6OGzMM5qI&P9Fc8b+x6Mw@ft>ZJZD=%6`0g&yN` zPv6@!)q|@LH>mQ%kmzklg~=S*Di$-Tp6H<|6;t+QzRI*|1d>SWKo5>`r533dkq*Mm zwwv>~=S9zTyHZt@UU1c?^z9LKbQ6;o6FRE=;GO-#yD7;8Iarji3fwUWJA$A{dIrH} zs7K%QMygZqT=NzTP zr3=AlG)79=!(qr=6jiXWKK8j7DB{ra$1Qa|oVY1S{($NEdJs7Q?4MdR3(d0n3}^Vy zn7D@tau?(Sg+N={Iu62b0oI>#H?Pkz(Njq=&M={LIoia9C~az-I{n0sV2-cV9JY%H za)4RCGOBs_4^+Ye$3Oz%*;MiJstwJD7~n2@Ke zkuahl1h}9x!tSH`y^!HBbdfcv-A}B)#-n_MxQ`gCB(M#}Q)`DLT^YUAEF&wt4`)o~ zLyZf6OD`ni5T3;j$#tYmk7GW=?R5@HmpSft7e@qX>m*vluR(0nt7$zt$=98pS~Kz) zz^S)(ETmt&dVD9WnBZ<1Ar8GgQ^s=#%-SZ4AskiEjO1?V(yH`FhGd7YRITV<9abLI zfR5hl4mnL@X>3v6X_`h4-b%Ao!66w@GG(hlsWZR1q^SFlF-NE0wei3nJKU>94AuQt z^R4{?0DKhqlBQr+n4X|kZV9vS=%t{q!m48zp7X%@*;EiOwT1nYM`zEwn`X4Ej{EWP4++$fPyDIPgf>Rux^h#cdW!|L{G zMkm`a9CTp^744PJBDuZGTX1CD+9-~~YYcHOMmv%u(^NKD0iDc{K|f zw>I$ChyumHH0bC-jF1WHS*B(y_cgR{yyzXwlE|7y-mY0eAmWeQ(VizldF%R{z?S9H zdsYRvxP^5UujYk@TlE@D@e*IbBlwsf1Is(kACGH-(XI|$)bx~2W9C1c*hW$?8@=AXjNB^94re}`L|IEp~!!Mn3+mpA!wv=dh=cb_ijGD_L<5==D9Ld(H%v-|! zSTBPCYOq+)!_Z9Kk@Kp~M!}^*5w8^BLr+Jb_I;Y=j+oFofS>*v*^*)s5N$9^jwnUC z;tlG^0iQ`HSJzNEA~Y0zB!c85p=;^TPJ?kU?yl}K$UsRaAiJIUc|99$en%xqeuLLe zgFkM|><>BKf&nfe7GA`U*^K4G6rL^D{Q9NbO0HU+Ch}Th`V2yPN{`aI<;v{h#BFB^ z)ZZ9O2vY#%#TK^`9KV~9Nzv(Cr>9qIc}1N=ey^0yX6QG2u_ZPudJZIJf3_hi%6ALc zhBAge!w4s|gcy>U$A2pJdk_J)Cy56B#rb-&Exa$vqe4$a7Q(ccyxs|GIS4!9skMJ1>_Yg4T*6gAx}f?NROO11fn+{c{i=!4(yA} zh^)%jBG#?w1PLMO8&P8pkt#sm=J%v~fx>)sL@&*V!5BKY6ulhne!5B`fOXQyE9LqF zy?Rx-AK5XP768vZp-IIrTLqrNP1X068qp%67VAL2nuKQ(i2-5@zt=AQ$QSd%XkNKp zQdvGsbxg4FR{c!;=Od8Uj4*a>v1jSwKE~O_lDL?Rdxxim*6wJ{(dFvtz_G`0;P*;I zZIlZs)~Eah%t@MupY+bpyr$&k zq3^pDmk~`A=b5BxwMlT#^iOUgB=^?ywF}L2m8)G1*7Ok;C9nD0j!Z$%(Pzq|_}>X) zdN6Ew(47>OpO$AINP1=Sfql<{*3HGKgD{WGCI*C6L0Mg7a{7MtGsOt97%>Odyw3t= zyog%p>oT-hwM`x2;(vgRs|zVUBJy-s z=Y{L4`rEvksHL3pfVEMp&97J;_*UJSNTqu8ix>`@pUtFQHliOTldzQsc!oFDB+@SS0MDsbONdZ9`tzl1c&6gWqcK&Idc>C!TIJ!lAKM zrO*=o#4xdBAr#v6d9_Y%8d3}E^A|Ir^P(h(dq|?7 ziT)+DbOjAvoy3JAi28IuLW`ia{y+4?^a1GEPxr%6{2E7xcv8=6KXzNy=d431opM#KzZRwF?B}lKC{j&2>vDp>&oF!g{%VGcou>em ze}w0Vs?)*K98XVUZ&)afz(dA@g07EsxMUedtw0lj_G^ugr=Ur0h8ad7t}xRJsqozv z$71kHF~8`Y1Z~~DgVnN3{eDz|dKa><;AjR-2NatIv=6QiP}?LPL0)MofN1p2PYX${ z#P~lVx$@|bKw#WQRV^t!Q%rbR0M9|ut<^^{#u&{Q9J`v}F4o{5;aAjcwqhBZ;awVC z+!!|loJmj@1EHd`!Wl5j&^6S>p_}StSB&UHAXjru5eW^)8~%3_(|{TB@$w(PzaM2a z%DD%Hs`W!)6rolk!9_6=Z_9QKukd)L!a?lh0Xf*DT$AWTlIu(wSx#6p+2ry5P3JyE z&4@uu%T(qKcaf~<2}&oKLx4m5JHpz>v}5W_6g%>LHx$_u?qum^!w4^0PO;NAb1Ck> zQI?ZTiZ*CYFy#5*l}Y@nCSL^^R0`hw4Z8G3((Vc;fD8%*Y)fzz~emv{&p* zP&UhqdcT)S;P^fY8Ys0JeE5ZW#j$OW!cUiTf8~nNfNkUXby)_KcP444o=fr_u(jPCPehlk z;tRS~!R{I!izkKJ|8JqyEUL$SLwH=;*c7R^nn}X9FI$O9S<6h&qSGEKmnJ71=AjQ& z#h)iK`%kSz@BHws6Q1O-gXsSm)HVRge^~4`)>_TJIfNLb$>98?fm&;gQpj5Ju(8#0(Ue|{xx)z!QF`uPE5E3*--o}=Md}yzch0BMiE*}A5-J0Zp<%EcRTi9MH&eNkpZ4|&PvYd z%p@d<<;VrJyQ;7~z3LPdC_AbxJOi?GTW>fbs3n_2Nf|ZIavd6^IY~OTKE|fVmSOTY zVbfoDdq9XNyOEwV)1?-z(t{RNAsSrAvU*R~iK*27Nm`+z0-~K1_@UO=fmtnDPg5*hYP3J-g8K92aT}3pK2zQpF-#{kc9Uo=$XOJBK-aGd)6HWdM3A+)Etj|@a%bVYhUVbB8& zgq7gZ%;7cJimSlGK0@xj$!Abp9kH@=+*A;tp5L;XzMs746j8Wt#71ilx(cq$ur97( z7oV{|1b$uEClO4y#o$Uk7?q{YzTN;&Gs+`YUiI89bnqP~@Qf>>ECYiC} zl;b;Dli#OMkjmGdEJyc$o`)MW1Bl!H2F;ae6F%#DSNDWvZy&=x)IkATm@@hhoaE($ zM2pjpLa@W6Vl;kZqp`^C!@vSTq3Tc>aeO%R?{k0ybrSjVTbbEooRZ3^T*yTp5IswS zkIi5L=~nOdO%kL`XYeAAIHAF)sksn`i=Z-tpA`^_j1grCW7?AVIW6KdqeqG|5BaF` z>%k{gdA6&G?i@>pd6U&#Y(BEtK>;>a8h34|R&WKB=03)D7JI?7un+Z#F&Xx{o?Fss zJmLs6<<^USpZI2h$$SJUzMPn=du3YI%BVIi2#VeNT*1nm!xviBz*`x%Igc9NRG5(~SFWLB9EJ^aeL(=Mgo#qkjjXJCB z{*TE686Ym6hjWR1ILN1v36>0Y`3N5sS;rynk8kW%Dw4Ohh(Y*+P;s8i^_PMce3=hN zE6tKz0e#sDNB=PrPLx?)3}K(qECWIyPGTz9m>69Qg% zn7qO6@QiRu(0mi5OBwuT}h1H27FP~dX`_%6IGm(;g_PM)0Q7-l`>o+2?-)qKCH;U}W-gIN|SRj;d>V3C2s`eIUmk{L@CICL6I-xQN3m7acC+J zzM-Smp;gT3Ni)yl_B_o>k#w4@UGY?pWyjD_fMw$w8eBSYfh^LZW}K$c@HTRtNU{)CnHSmyh(OdDyC14>eaG-1`(E_M_4`gYxa%qrhpxH*Smu zy31Q6aWFI5m@q6M8SbS|vPv(T!JpSb?%2cQaVQ`_|1`z(#Tl-&i#ZzawHFXEjUv2E zw`j*ILvn&{4&T0cg54pBOIFiNcP{Gr$wZ!FT}L~BKAW>nc%~41u%{J@mz>l+k#UjK z^Vsrrt$dpLvOBlKc*U6BW%Nk#Vx6(M>}ZgfGLL28H(SLH0HiECQBPHkg*Y#mUUlS@ zrZ=_Z;ZwNd6(l)ANmDl;iKH+OW?f$QG70nV;5dv4n)@T_a6tdP)Tj#)JnY&l`sfX>iqp!JA!M2^S#3pL)BF!74~;PB*V zaYM-bz&|*Nk_nWzP1W1PLsXQ1PN~Vy!bCL9LTqwEOCdUF!^hPW(xx50mT|%xvOUtC zawm)hn~DG+RRA7fU6%qWZXAb~(eTXuPDE0jz^VsJr_lHRy$WNL09Xd31~jNg%Zsx2 zS|rN_2s`f$d78yYr4|OQG}SJhX&M>|O0Io*tr#YGw#XDb=cO-pRbeqK5ks!b!x^M2 zXtotxkQS(2aYGJ<lp+?*1Iv^PVK^!Fzuvsd=#gM+fM;p-<3(dS`q8E0>3t6f&8pt#fm}*zj8~7dG z(LqiKx>|;5!ZI6g73vaGyqq8-$!`<8PCC1M!)mo(<2Z8Jte64{-{6msF_JY~Ktv_Q zR{ZRz?OFo4@r!&r)8u;jOL>#uN9E{yHw{8#?Sn|)x&S|im=thlG`3xiefcF4Q2p7^ z=RK!lfgalD_Z+fcZaq-&3?Tv35L;@+I^zt5Tv%(kXZx{X{x5h@{TZ1o=lI5+GYo!5 ze^r2hB?Seyr}`Upf=|>PPXh7TpcZxHY;6y3>kqQcn+hJbLpj^U^dmo?|42LNE2z!_b+hi z`BW1QV94My$k&uh*`m6&;ZC4%UTb!E#7~+?RTZ_J>W{6fM@Be0-5LHf@v>d#OV3j# z9o))Z*+(%W9)pY;;D8kNwrKeMM`{Fx2(TgtVrfW@!(t3loz&NYf)-&!#U<+x&fYLR zwFUknksXQXD2XlbEEY_3s3=6vJq1^?CptzycqE)RW1(+dybG^)x8IR&q1zK>ijcaQ zO4C7E1XYuTKsl&6_iW{9;lS9O+!I0P)}AOk^R~7D!YYfEN++}sQY?w zaQ}73p4FB~yz$Ny%oLaw_IQMmP#x+q_wnq{v+g>t*1fi^k~RZEV~w|%wfpnW$(^A% z{rY$5pjcr;YLcsrnhS1nf|f1_+nNOQ@y{vO&`7>mbx@SVs3W_Bt*(yTDQUcu7lHbN z9P=)pgCQ5ebcQ}<55~8)SGSY>w1o)$`JyN^I8tm0+Ob`toG(bSeTqY$RVK zP2xacugW^#Au@%<`+t~^IlL!`v)n|~XRke->>V3#mtKxvY>mo!!JOKHPV4CPzMOb%J6>9pk-(OOf1MkQ|hn43HjLJ5y+xDN?BA7La& z8XliqQiM^exKuF^4z3cNE-?^GoeM+mbFt1@3FPQrJWv{Ltu;v_!e2~?ga|nvkfj8e zABL7LV+AD2fXT)=fPU$^g+8=2U(k;$NwKKYl%7y>$jjbY2st4(!tyD{?Wl(2&_FMV z?N0_a3ZxT|A9p8o|No{w%^Z7|zn$RFDJmplfXA)3)0nq!g;eOr?cbc^`%Q%LDpB2eHn_y4~$oD)6D+ z=6R+j#GwP3qG_4C^3rN42W2OS%iIIJJbH8UN2&Zz_jkohxeJzS;}v3gSV&jwY;AQn zk90SVp31&90jg^>6p zb6aFd!f;-^l;H?Vz`GxiWJQ$_qVAU&WRxM3FN>$d79xr${Y0Vpb6=yZu)eTui}Ddh zzx5PM^Ai3l{P+0LC_(K6wOPIbb9iS(_2L8qFx;VL*bS}vSIEP65?9hRd|tB02l>st ziLYq=(x_GA*7n;7`WvBEL+kWXpC!(9L%Z}sM4~EX(Ejhn;Rr#E#^lKyRuq)eE?hah1xj>v#&soDELs5KGsKzIWoz@g z@v7_vNH^$60wEYiHsd=4h>a&k`0BH4i1%m7nQdPo2;28{=neOjMNHigc%WPsKouSE4PYa9;vA+-GC>rIy*3QjUu^t?36z90RIO+KhvUbM zNIa-QQQW4eg_7aEI(*s-DpZU0be*NgS?IaJE=%%%_eTp_BdE)hFXr$DMd89(n0cIl zz@QY`i=^1Uf0z~%r|#!lbA3`%75?TX^fd+R7fj(&T)@4H@GgXoE-|x>d~hX*FrSNd zQb-v}QH1o7?*Q9mnWcLHfh-d=ss==Zx+NJX3dp}#Hv$WS)L$~KEbWl2s^W~h151rd z$;5taR$fX!CDptKXs=V7fNNs@`m4|V$)p5awIr3M$%?JgSa`|aLv;?HSub8_aa}^L zjAowS0a37Q*gg^mv!S*vioZN-Fg9uP`yGYOOFEN(e*cTostS`pMi_E*b5m#A`350Q zrgLmCQ|_x z{o3cUPpL_B5c+z}HS{hC6`_S9YmR(SysCF_N zk?me+LAde=mF2Nhui`MT3t4p#5)F{v<&X!Q`dIo$r7am|XRIwyNp z2IDk<)W3haj`;!wj7Iszn5z5h8#>Z)*2Q~9-J%KOPfB_W2U72NQ4!rqL>9%y#(KO) zQ)rh1vLojXtVC}}%Lwi!7o{zWvh+u)oD!jDPYO0}!S>F=*SKgGyc1cEQo^!rFA3mL zvLQ|Zc_TEtSiqVMq%lP;j1nH$s$A8pqcm^VAt6;K zB|g$k!>{CCVB1*;vB?r7N^F2i_i_&e?ejZ67POC_(4m(_?vR85f0kw2cB;=#?~B7a zTk<{N)FqmCb)@#~pI?M>_fqeeLVRQAe;-C-iSOIL&guGtBcU&CsHLA5fJZFx1!0+e z>V`3o$tD?|ni7+X|Ab#xBJ3w-j_%gX>)!!mm_tPaPE00w-Ud*T8pr>0TmdAKhI9Ss ztmxueF~2X)i6?2y4=AropwirHd>u_6PbO)cQ3{fZ(Pd2_8tppz3*VCXAwjwABl9j{ zTG0sZAydMU;f)qlRp!TJq~RWj$S?nANJ>iJGrSL$B;SeBv88rcW>Sq4uo+c_wLA*C zeIhIK$g#6Vq^y>!n44&g6bhv|?x9+QG54#h;^Gjde?D1Ac0G1FDnknn_MmXT2goVT zfIsbH>m+g)g=9!WJxkn2pJE{+?FltyP;F3a$w+-K&z;zH711&VAxV^X#6wAGSD<1t z0Y(vkSV)%+=I9P-1NtOSwJez3kL_M3F&7t>j$|~zT zcV?B9~tArDlkaT8RegBZu1$mY!gZG6{h2q%(5L7tga9SsUn#z6bX3@6Kx( z%W&D_{Pw3Ja+x#?hi1fqIbe}OWn(GokY7aZU$njq{y_?ACcc+Drpz$rN2wCapFQ{% zT<=Odc5VYP^i_4ft0)101`j%8ts-+~tOYl@5_>AA+u7LlyNS-1r82F?whO!HDj6>9 z8?3R*!v)c%(jl>)4i}g_LL07qT|08=bmWro!;ov4x4$ECz@G(y>RLGn5(C(;W|*MTq}8Vk|8H+l2Y)p=3GX=Nh57d^>CoQ@7 zvn$^W({u?}Uhc=h{mriSuGm)v3^(&^EGd$q%i5kOoekCgv; z2_{mZa!Lfg2^nE)Ba&%FlDEG3QNkriV+@{Tgv5T+6w@(hIx7Qs({ZPAKI7*B(wRjg zIRCtB+VRwgph(ic98!kR2`Q8BzJU+Bn zIJKC+HJNTx@GLQAptZfO^dvAjd${&;Ex>k_-lfcCOt4YFFRU_2HZVw&#RZ z;@aEKR)AKh-?Xqt`qpCEZJduLU^?D*$6#vq3Kw7j8yFQ7s7|<5XQGMAp1SgZ);_TloLxZ* zC1QwhrH=#Q#{SxVdd9uRab)gZFeHKRDK+fXLQIbVyZ4!kLHJvi_-gR0H;39u#24nC zXF0`jpq+WD=99E)rMkACDlBuOXyYE`)YF1W%5s0F9oN%eqx=#GfsMB?Zl0Ab-NG@D z=6Wvd981=qTd+x%Dx~{{6#x5OUnEe#G$WRpFnNdFz2;o$pg4bZ_2WR=kv&`>N?pmfwB*oSE$|-zF2)v)yS#lH%&p zwA10Rh6x!k7Y77XwC~9_M$f|BQn^k72|z_gN3F|Fc_H;>(t~HTb%jkbl}<0mus%T4 z;}u_!dVaOfH2l~2EGVP%VOUklhG{_&F@N0#?l-bXj?N-&RgV(B2K=!@gc@kQoq||M z=74u4x{1m7TX4`eDEd0L%t`9^N-ygp1MZ2|{{WpRNEn{4FrIx~s8ZJeYZtkg9{+S7 zrv&d_=aFZ$2;N5E5IrdyzF*0dKys)Q<8hM%ms2tS0Khm?LuIu(k2u;HZd^V+U!3sY zA0q}5^6du0QxIvpN3=3;5QNP`qKlN_4kvW?Py3O!>28zXwiXB|5dz8(z`i)pTj41- zA0Q18Bf|z2(%(!EP|Fsp$uK>sZ?z5QH^|lxfG&^wBgm;L#{&Zd9L23->gddoHRY7z zjr4s`Y)3G3W>GvR_oc|CK4j;>BCWFj*BB31RN`)2Hm&kZWmTA)y-R{BAwuhc4yvjZe#LDwp3p@)O7b?&9D7tW}0} zn*Dajq3s0*=Je%|-Q-7L7M#l#TmV_G43)miCG+Fqlso4>6?f)#(2BfH+$Jtu2sFr*nh|znT_!Bh&yAtr7s2;u9WWCH*^}EW^%ZM7 z%7IxQFrrm}_3U6DP=gEMsNaB!;g&w>!Ek8k&5RJ;QN?=OFGza=hH7lKcWL+=9`nN)VsFGvA1^hu<@ZVB~a16>j_9?0X>`UwGa{6z^pg zAsf!^n2f)wr;g6>+!b@X_JQ%j6VW?b>)v_G$z<~Hz;`Vn{so^C=@-stJ;J}R)ZBb zZ~P`TW~Sd`g&rK~*jt_kU=inxN}C*LDJ{69Ps{oIAM#dMK9pSD?R8cSbY`)kyKH|r zw@Zj!8On1ocqedY-CJ(Z>fBvA1h%2>>!Dc}@+RDtjT4VIvC_o`?+HTTfcU}%r;Q(>CY>iBhp>@^a zzTJT{$c4fypzPvCSLUBWtR=#Fc)kf1$ps!yFPGyQd zCBG=7b&QrN1d1#TAj~7#3B0@2Ks4kG;Pd44)7ANpb$`yYUgw?LeXy72P$1 zyH#(M10W2gBWm??@v*(ZiiFu-4bMv|V(DZq)WSc#5z1QU#hvoYvh zxzb?0#Nnuiz%>11Hs=98N2UE z81xVE6uG4Iir)KyM40=0$MOueUhnbyTa<(*`6X4!Hz1pwbQ-b}k1NDu4WfU-b~wz# z3mo;~wnKelp4P=w4s8G8i6Nh?Fv-&p0hKsFAooUL+xEbg1vxl z5CDb-ptg42<#;bke{kHmx9d$6t^ah59_upSv%Y>^0m2{H10E?+aNA&%OfRs=NwPpW zWf&^<7e?^k>kf_XD;2Gr5gcV;1o&D3cto-VQCL`t7w z9gs(=ASHmL`Nu}Sb4J|z|3U}QfIuXL%H}pKkcQVTN9WHCN0T{BbcFfwr`{1YG(C6^`MTHqDH ze9HYMCLP&ghjQEbpze&+ehPz|e`d}LB|vxqr|qHL5OBkI#c%EGJ7r-{=hETRx zLB&Jt5y{KT?1eUn*s?kJ0J^8s!w~;l@q-|JP4EnH$Em%1bBu()ek!^i%WyzWUh$~7 zy3J2h_1|)UdCYzaJ$1=-qQekY=Pg zIybbGdAGe?o`hTJYAXJGw~|j$v}i_tz)0}=`P2H%UbJHka?^AM-`d~+6r4?=5b9IS|^F>+GepJgHDwB3xKX(3UY1HRm;(;JuZ1DfNTrttV5|FzB77A z<0j9IAiivphIQYX6hv61$C_n#Axt&$d|YY+0pR>!(KF52oU-K zw;Pk$f4I~(HKa{_0Vzhq4$7x8g8zRX85tNTUZV69cJc-y6yMiDk!@vPow<+&)i^e&!PCY|q&1VXB0+*@xp}CsG z6e(7wWiOWlOY+IK*F8V1!xgXn+|qSs%z)yIAbw3-T@^KNIMijjNg^S&N6JN-#zUceJ#mOg1D zACFYJ6jam#aGr?^ob&!8Gf%Z>sS)D*q+;sdk8VUn6TdfwNkc!Zmer?}>=dL@Zr1uk zexhlI-Pu)s*FXJP0b-TnL@){VWN)l%7|szjl?D6E!) zjWixzIv?qRtD<4tJ{u{OFAGV;E_(%E3GseoPMk9PoQ)p#X2HQhH7pan$l<5*zr4jy zkj>{D=bx<`LIO#;zDQ~LEUg>m3gMwYvCW|!<^3FYf-@M!ea?2I=VbE`aDP%sL&DZ` zQrk=#IsEsMv)LjvXI~Ic$puCQfl`bkA7dEPrt!kF{Qo#P%hy%{3K}puSHweQFssV0Z+u?Ynrxcx=*iRD3s7a$Q zCjt_k2Xv+N4~%F`23P+5(y(h+CFpiU6v_+U`dCrDaXc!;P^!Viy^=%sl-hsbPCik# z9rK9|d(!na2vZkzfV6SjuvWRP>4|udz0~tV$KpJacgk=3lZG`?N^@pWcQaP(kw}I? z@0~}Z^}7-zka0A_(Y-~>DI<1E(v>ZA$_|22lXAf@b^1EjXl#S&X@}T-MXrn{S$TU4 z?70XP)Ae|{wQ4-oX$3zvtmPaD%Oy(O%$LDlX2J_N7g4Ceafr+{MR-b0CVb$|J)L>q zpmKj=df%-$LY;JM5PsT>O#BV6vJ$nHDqK5RSUo5qmBk>;-7>rrU~3 zMySrlxoj|F|J}R45bnEsMN7TnY~}xnJxiiZ?_l3B8fmC=?z_yIy|_4v>CGI<-hcxu z1UfO<)_;>|DU1u=wqE{&&e#0DIH&!Xtz zIOErfM`G9R_L6o8x9t^|6LQFjCh1M3w{;c>dp(zO1giU8B^XbUuHLDN`?zKM1or7l zc1HkEQZcibqx75rLR^~e)T+fsiX%J19=~`ztcmcDkD{{L+|C$VR;9(E1)hCiaOU%7 z!Zxx~%lql?a&pqZYaE5@&t_;>%v5>qR1zxfv-;4~R#@jlQ&<@!S5U#~!oden z1I%))LNh_f!=7?Bu%oB$2}{4_`8M79N8gHLfFWB++f?_hm#uC0hchsI&~-EbQ4ElK zG%ANyoCA(eIu&T*HM2CzV+%+gv?0?h+Xa4;7l%BIcrjiEm(j+?!iCy@ zFS=Y=!EhCawRCZqC54x5tYuj;Deewu#T@%XOU@zAv^F2|dTVIS0=S|H71TUg zRvP@F05`+p@8voF8rOJF^_LV36ye)Dy$C_^JRN3f@TgJ(i0MV2zVlb@;R<7(u}Mfw zsX!qSHvH1NYhb?vjbFbWt~5<`|69A*tl+zAEEkreAVc-i4f5#2bBNvSizAsKdhrPT zLr3$tVq{U+^bULRVtNd1AwV8!*Y&yy)PE`C29&Q!56o}D)=XB|TN^Rd;06=-jAK&D zqniP;#%Tyy<>;d$d5d?k`qv_Ojw?<(x8hDxNm|>&2ECQ+J--wqksYQrQhimj-Uh>Z z2^47iwzDVA5Yksf{BfqyrvLb~G?E2vZ08)*4YVQsWaAwuMT0uYPoWvny0hqf{fzB( zk_u8EjhLcfEfFWB(tlJ6bM#Ip%d|M)&$eBG!!PF^+u)2` z_#T)#dRbj~DhV@WUO%~A{s$eFjqmb^AvY#?J_ZpA-rV7otNHXf>cFtEpMbI7JAPFH z0t2hV#Swx#K$(1cAVG-?_~&Jl^y7$A?_MilPUx2NPY_f#=({w|(<0uz{hmgFKhMaQ z8KS?qmls~h)^tXdsy&C@j1MbF3$20@js(D>-=8O6*})ZhA9e_&Bi=HDSHoN(4h5kF zw0qyLcmz|ERYa+}@c7qtd`;Xm;>Seedf{_Xp|Ych{E-_8kIY$6Fc^r|Uy>~`&?j31 zHp9QSyrh;2mXC+Qcpq4QnlySm4S4-SM(ue2@H%OhXL5kpA%ve!0%^QbnMg#j^1|xO z*b+o>!JkN%Zk#J(g6}_FTfvw3YWMhkR}n~fZcmc7 z1|vis!!SE~)0lv1!CI_YilJ*Y*>K-{_lG6xED zd|(c1${=Jlf)>6Wte@oz_&x3yaM>idK?JyD4xVF4B{yT24U;N0bN)6qd+~NRA9%kk zE5gcHK3+Mr&mm=stG{4w_?H%uV`{OH=QTN04HuP< z@!u`GJvsJs+n)sBy!n(nbe(@Deba&@f#tCR7`h1N25L(L@7|Jnxpaa%H@5N`z3PiQ zFAJ!>+?!C}`R6;3q=iLPj_f-`rd9AxfkPXED8(7@=~fV9dS!~1NpVBQ`!6D&3yx6u zUw82&s(7i&s&{M_4reK0ds*1S*+JGoW>E$3K_}#&5zF z10M?-JbTOT*`tnnkiJj&@!H%`kTPn9*<-_bz~gB(wz>|@TAZ@vv%wtzi|V0I7Y2$U z>$sZ}SZdAEE}t7xBObt&dU=#QQbBSCS@K=MH&pl@fsOGhhsOMoYfg5^&RGivZn$RK#Se>HJC0S{(oo#zwXD{ zRYY7Ark$boB#V@aU0z$dKxQU_BD{q1!oBb(EMgxrs8WZu zcPcOgr|3eme?ns=#9}Spv%rNi)t!BHW~JNYBKOsdw|*n83XX|ME9jn9va#+8;S!^` zLe+}5NQY|Ud`oU~)xn)B?}Hyf0+lh{vBXWnTG%zzM~d|xwW57*^@MX4=k-fE%>(oX0#qd{dGtnrw5qL zI@wQd8-v=IV5XD%l<)fReynM+q-qHVvC}skG}!}>);rx}Z^-1FI>e-3l;*b26j)}E zI@N^5YhM2^iO>zf*L{=+Nc{B-F>J1_7LjHpc~3vq*GMr8(0~=R>BQE*wiSAQt{bgM z9r_)Wmyr1%k4(=5aeTpmMrA8BW9zKfIj)4_U4n*}U30jJtVhVfDPE}$8y*YCZBP#n zgwP3XRx{HYY3M{>J4QON~3Lj$-WKiq$rqbryVkY?`&QYmR&Aa4?M2F zxGpFs3-p~q#ErRr5D(yrsMbKekJPvQT2fZdg+?;UKODNxQmxZ;9wHoH zbfTZme21M28Zx~-W>Z9Q?9c2Cj94ab;wL0qb9KMV-FmXn41Rr>>%?9rfiR2B_DX|A zm;{|7)zo_(O1l(p)j8p-50j%^x;}4iM96G;)QggdS+LdJB~@+mnB6eXRbR8#8yk$d z?iwt-#gcPm0j1fUR>VQ0{0!eAbh5nHBO=`ts%pZU5GF6h$}ot+SJNLgmimawodrV6 zf=7B!54W(&^n9sp8moOte*6mqWHli)nLBTp?%|XM63af1NC(^H9GolI0D*%0Qr=)l zoR%XT90rv{^DE0Ac~LOr|3jCEzWn&`71S_80V~io3pgQkkYI!Qf55O=$&re^b+w1( zX5n%}MEM;A4GuReLzclhdaMOTc6oK*$RK37e^5+Z5p_H7oD}JLvs5EqHDWY@MNhVc z2HIw8qM7Dc$-8vBQrUnYX)r^3Qp+)E+K%!&^^y}A>BsQJnk=J*2bPkf8IFZhjBEdp zvBA4T$P8&T6aYE&Raw#aO14bB=rn)qFWX@O>|!DWP2)^)x%rdDy(imPZ5R!_>lOUy z$Zgg4{OyDQC!3?epqZQxxLpOd_``d+PqP85A6rzkwldXyV*Th@NtK^yEf&+ePou5e zBU2D;c-LJ@6E6ojs=~og0uTd!*;;9(Q|tZq*;dA~K)BeE0;j7YHH76wU_6XW| z{;{l;^+%2A)avI?adTqPfpC8YRq86|cqeFTHQ6U{Y@23)3lrRgJwqi7az%q$0eJ!4 z24A-2e)p`cp6nGy6l*ZbT?Ot(JCk)*<*M30Fg()T=O6w4G;cMdfH-1-AIAdf=$>Q? zBzXQ8ENFZp3e=|kNUf#Q(QelAIr8vh`E;XiX-{VmB6Im{@=uo`~_j(+2;BKWEEinHE|JA&Hni3a$H6 z%|FoA1zXAo2A(7%Tl#6Y6`@yZjV}pja2^wU)Rvctwox#m+qZ>v_7^D8TuL|0yg<5* z#4s~yN(eP*Erg5Z3TY?TllD0^0(2;IEx7)&`m&5Qa_sgZaAeC*TW^866$qx49yq7` zI+GnGPYmeUQOAAE%#68lQ)DE!71Xa|BL`xTU%Gb}M=m zG_3i-S?w1+hYGl@9klwKY+7=eD=UORR1b{`DTbVJ`$FL^5b1KIisfc8$QEI8%)fns z#lp7Pieuj@1ZL!cwtJrX-Ks>WUSLk`#alIYQ$-7wJXj})Zn^rPO|<+5oj9iHGKW&0 z<%EsjOaVi0)_?-^8UoqMBJC7?_17x|T1uf8K3uSnd<8{gi%7Pt^xIhJxB6x3Lr zj_8GFr(m?U|CGC21V-ljl@wxqxt2i=?NiTD2%RsX|Ng9-xd+bn%+ z-CP+kOMtq5XmxRyrz-pu1ezNTe2*hwCwWI>z$sTI|J{jBy#_znbZui>eI~6^<#$W)jR?);oXQWq^1D?v0DY3K;)GLUTF!~!fRk5 z!hK_b)aJ+ofWaBkjmh^k+ZWbQUDNfSODxfKTL9w9I{v(2HckS>+#%+R*a7sGGcI3F zmFlpqFm7zQUYr|iR<>G8%~7MNbcSHI;!Z6j%^ManQHJKpL*a3{rauEzdJoc-0s3-b zL?sl>tAi`EWm~&1`q+dZ#h=bKFTkhG=BG&3N8*H6ri!ggr|o0~fFiiqcG;?!`<11` zvJ)v`Cl(-KUE=}`l?Uy*G5k5ZUL@&4ei5gmCPZ}P$?W+#Sz!&g7{pdn z9evG#DH_~XhRI-uak^prwZCHme6&c)LQ5qY`088O_kYAh`oi5O*TMRe)|2fxOht`( zbsj1>ofe$s0Wc}>aqQvh9G zV?GZ@R+FSgo}{pLk*}XLkOE;^34*g1rda+b{vBT!Uxpx1)p`M8kJ>B=m87UDnLsAz zGJFdnMR>lj332dG{`r>)=r<-P=(9=yn0QLS@Y~#McQhS^B@36ZNs@VuxngBblx|W? zkEY3sI^b^-%JXVautj7S_$(P<<0{-eGq}-t? zV&WW44C4V$lr(&AW~A{k%CX1<4bmjHj=G zoyNGWL1Q`FPAIz$yCNqU-e$|TxlQ3-p!D~#RgdyDZV?LKqPz>voQ5B$D?y$5Ts*pD z_ChpGj}gn4z#XJ+Cgq4yy8IpKuA>{D9TjH?7n{DqG<_0(_0-!0K0T%j+XFoJ40!a? zTR{Y0W&AUZ^8p_@JO=<7j`Kr;#YrV@Cd?Gm&N}Ql#4Kyhd|Q4vC2{zdNNKZm|M3jB z{Ml}HjxEy|PK}U4WTgNf3=>&qVP+UyF=-HyPP@H`ufAeRg2@<0vcLp{_~Ie!mP8ct zAv_(C(`)pd?B~12!}E~ z%W3cKD9I;QmYO2fXpy!I4}O-ZfLjv#=E{5SyA$R%`Bx$W;-m}1ya;Yz8O*wIz$LtV z*sQ%_G2`8X+lNSEn{OU%#h)ISMLf{AH%AIXp(3&dOPoS}q+LTJJOfd8wbb)G9dc1Y z#DO*Kx7d&@WCOslC$eLWdoj;KVcfXu2czINw!7K)IKj_4aUcHAv^$pLnD|d8hHunQ zIX zUPoWucYTdovx)PG?_@_cjy3pOiB*%jg!@yhQ)&<`yJzrA6rwMwLJxD7l3~uvR>|Mq z8`b?Ienb3^jeIU4&eac!i{hpTFXxB0BDd6VRFXsE8;Ps;=(=W@ROX5`6k3M%T)^UJ z=~qhjjs(~fp=k8<4#54PY?{dfHu@-*=nx>9C?M1PA68k)_iU7Edu->-jox1VZ1@F1 zIHdyWV*i{IU&3DiTEE1+^FCUzHqK$7AGhn)bEz zoEQ>)goEiz*%CmYC3`U&s+boW$U}&Jz)NEdfJ~fZmc7*MIh-<~7C2<2Scc#7OPCOc z_Fr0#qvA|7D!ALe6y)-)+x8wuS#&BR=YEO5J}0gSFQjmyF3Gy7y>P}~l0$iubwtVt z+7ny`@n3uFnA3PKmhMsjfnZ&HDmxs#2cG4V)&{{=?(_5zUMG&77_Z`Wc)J&E#bPR0 zWcQ;~m8iwtzhY*}>`gslg~*C5mx#hNjB{cCV|Zt?NMd+3wENqZi2-+{bm++)rb?wn zZNWQ7zbjpGQ%*1&oUBkJBn&tDRkW!w^Tt!7uGvd@@-Y+JX5jQUzE)z^HW3Fn1EQP= z!c-9M37E+O{zwk^m$q%P2UyAUPo35rna{1;#NHy7L&QoF(@Gsa!D-!XQ+SfMvt7`+ zJLQ*M^f3S$l=6ifn*OfV$%XYIWYdePu{iY0P-;5;=aw}x?9{H^g(zvqQIK=AAN^gi z+_Co*Xt0@qW~z;v3*yKN+!G;AGfvsgej;$^Z5}IYZ<#tAKm%(yqZAeY!%)k zd&ax_YpO81Nh zpT{0}@gTNYv5A2HA=VgBz_>q(D^}BJfAC?rut2U%MIj7A_}fz+s*vEMT)+^BqIye# z`xoRA!;Qy(|KZZYnQ)v&gGQ09j1wQ6;)p8nufs<-@uoifRUCt<>{}41!}4VVTD?e( z8w^+TlW|Zy%5uere!!sm;uA=81)(OfN661$gn}UgKbb8F1cnUWfR4SjK#d>hOhaPvFi{upU6^K?nplT*pnlSgx^2L6B@>-X*uJHz$eST*0B%r1I#FNr2=YJOp0SdWH-h7n)_xJw zTwWfG*g&PTLk)Fs6>ZK{qwqxSWbTRjAa>X&Z(i%GuwuV+%mYI=KCl6{{%seA5y~`k z#^xwuCUoEM8UF9MekE?Br@b*(U_W{8xDzv^Qm_VsK5LszHEwn4+ocM!l}Th`_kr+7 zfyOgnm^E5i(Ab`LOx;7jF6amf>P2L+NJ;oGJ1fa&g0mgQsFrgBr)gn$7*v4N>ud4_ zh5_@`@22Fo#cJjyhe`!^)q*mY0rNI~-zKsb1t{(nq!oHuRzp~b$XOq#9>p{6Ouc0n zQv&7-4>(Fw_#fZo|9VUj0APzQW@mDjaRIy?mXG%@gP4A{9!xUNuf_VJ=7jgM2iu?-MF(@73orha5{&x&$fJTI^G$yQ)U;r zR|s}~fB_kGM7H-Xp;^9+pO;}PJFti+k|1~bnY!5{?uWMhHE)T&-w74glFt1LnH2!Yh|5O;3WG5+*H zZk}rMF~fm_Rt!N2sC$Ag5@aOK(i(S-YYx-5XZ#RNQAejUnZ}Wn`FcLfUqJ8RW@4PY zkT+H)3PW{tGwjavBXMaZCj-D#LG);Qi#0cV(bqN9Kqv9pu)c}_F{1(I z3Gt%|xLr6Vt=uWJcSg_7Oy6UWn7i{)av{Rxuu>0*rZ0i$r>a%?BD2aD(>g`)B6x~a zQ+5iYz>hi!RLM0_y*L<5W09~SVv(j?_)u@}IHl2w0z^S_XZ+vuwyYRg>z5@g6EO&* z5>-y(`=DN`|A_MIKf-I`V$-?=IZVO5?Zj_Cg9_`E3Ox{gt$f_I)H4kE(S~@-v35@j zmd1N?cW(@?dA7NKP9&L%X>zd2F?saeu?CI8?vZ?8ai|`<>s|R*>RFrtG+yrGiNR(S z>hbj{kkyWMn69JcN??)&>~=l(945i+ZCUC)JS4XGvWtt=x9#Hfbu! z!g;?sE->xySjd};X)koeW?Y8UwJjqMb!k%|HmurwV~lv~@tYfP?;gGf<7~R_Tf>xI z5@hC7`g5A&>^67gso*+dAm&+1dsNmjHz5H78mo}(ar_AU*yS>Hu(1AtQr@U;S?f4s zJ~o0y*2{J$C;K#sr@c`nDTP!C0?(FwW5!=JWZOddikxQb_QWH6_q;XvomLXg{p?n~ z!pCY=^5Tf)B+n$tYn@YNUcOU#-yi$SzA>KxjIfSF9FnY> z2w!2ng$8pOSRTQ&8ZCvcV3z>cj4#= z?z1YMiGQXZO=yU^{mu>m{M<2^inx^(8EvnV>8~C-=0KIxsL{8Q}tr0t3|0)@$#&du1h065Itl>RU(mnaNR|x_E^r-z~n!qwU;q>AE zWr3L?rKL3&J$qcbb>y-je7{0TH80PF#wT8)T*#Y?6ythxJ^Dlp12ow1Pr$D%2zJnn zFX6OJ%wl9)S00#?VL&lAd@l&x-}JMB@i)Gxb1IP>cp7j>#U%8M0TGiI?>63oLA#NadKWwiwo!1d0Qa5)amM zh~P}SqSu=60OKJzpsnz$*2>9P05mXf+}}x?%bCr)IY{Vt-oM&XWaub}O)gwcAa|SB z2)WA-;2id)iDqva_WAl;z9w=g0T6knecmu1On7g?`OaAD@CH{5$s9+j)z7GViIj&zU^z3rzx&hSpn@9}eJ zh75NihMn6q>cN)MFx%xtR@Asfqhkhx(jMSx+hsF5M#N)eUuQv~v&P_+8DN^8N7qiE zjBAbM)yLiG3 zKa883o-I$9hhhA;`<9LIJ%p@7A69Szn|;t@h-b?V2hvLWZm+%#~aE>?_Q&x8kdO?*{+ z8+c@T)|lRJ%ciU%24sLV9yc1ofvVu(gdpZLkT?0FbjZ>a(NrEk3e+ zYNQ`3Y4gl_Q#&^|NR%|bO9zkVYvo!wEn5pgR?lUewmsBG zbK<4esNV0Zx-~Hi5)JM3SZY1qMFril4}Zf#+MMR4A3E%6Q6t^~AzccXKwrg~Ye{ zKfnYS+HHexbC~?`J2G0SBeLEWePEc$J)%zexH7CTvT2fX_z{gT*f+qpa=ia!{qWIW zHSM7}yO0vOH|K;6U})O*^~nsKJTpvtA&^E}uW*J>+e`@s!Dq6w(H6-9w&M+|!{~5Q z7wbtaxbzO@iT+{Ok~DubGo7ZQa~5NShfmN?V)p{1hccCw4Vb}I53 zu$*0zuMcIho|Bxd?vDHOgFLd|V1YCUVpM!cXA)IWAZBMY8E9EwM`Xfp zm>(85v)=-%dI!z5q*RqpiRBJF-dE9lyyLMeZf}z-xiC*iGjJ!Xu3kDt>E$+np->ECA++o~)qh-7C#Rv#Fx^a_)a1dYT z_T1A^S7fy?$`vI_n*q#0XS6kT?Nmt&Y8zO;?+cu-PXWwHoO>L!J0T^W`%v_6grm)W zP#1j#2k&C8$m%V@P~o+84%=T$eG*b1!wWnZ~~cAo;H z?M?O1naUcu9InB6Up8ijRv|M85&H8{{a{o6Fg%zJZJn)niX09QIva{%rn~4{uEPsD6UaLVT@K*vhwtB5HbL^ zCxX79*d@jgQt6-D`lXu_PP-TXf5^Xo;tzB|2(o|aqZ=Te>1eNjVVVAx2e?C&QQU7%G{+~SpAo*av_Fu8(t0NXNw zj3?GqaEMv;LR7&KywB5eGhN($HFJ&cb;4$QzjB_|w;>3sOf~0b+cHc!8|=`~~i5qhH-nBv{QrS@X(1Ma0R7bnk|PAjB{ z_oc4a2YUl@_rt#XrT$x>!Yx0ZPfsql-@+@@P)5NcRo}U?&NR&=c@+RC3cWTH#r`s{ zYj`x%b!?OiJh#c=!FEV4UTEdG_Qh8jBiiUk6&Ch6%7$ThUm(lCFp+0^rj%E^qqsFG z)#jnl3oIrO^w+EG`$?oL_)=BP<0A8AfSwssxLwmkl)T>9!y4$64V~XKp$33Qoa}-A z;n&T~n)KpGLQi{2`#p7V#0|IeLa&QDIbM?zTLPpqHpAsT0<_G-ybJ z(7)50-)6IB4U)*_c-^FXh%t8%1XfU!)ELTcLI*Ym8T|T1B{AtIF7h8_5(N>)2Fl~m z)STx-EvteWmpzOS_@qDV{w$)FJht&cSaGt+GI`AJ8=f<*-e|v2pE&Gn7hFEhY-{oN5L)l3B84G3II6$37B;+um(t~dCJynL%@#f%sV zaj7c%M$odxe!!+q@|zXEmSxvbVL9cyQDe$q}t>BBBQMn!Hy+4*jD{<-5h2` zE$IirtkuD)v8dpkw?u8BA1@HUhgPlDttZ1g$pKkS_Vo#hMI%kWp86Jld`d>TOo9O% z#LAIe=N4FFxf`xIk~}I&+{a;Skr14Yz+Ng!?}HHaq6dbT$^Na3l_+OOs}>vzRo4&7 z*sWL8ao^XdUB>X!DL5LPHcyg!h^^EF&X|E+dhIHT>b$4%k>xA!AM*h{Bs?%AA-uph zkwoLdF*Q#4@^ZB(bx*bZN@BVyRH%29>V7P=%H5wsVcRN|%kH(6#jFI@UqBx;3MfJ) zJ`Qw`5;d4OV5b;!w=X6u>D9m zLWhs|W=WvJKxcg$Ygr8@kYE30wa|Mor4-P$K145J5N>x*Iu80=0uz5_9ekC4_uCTw z7`hEmqCOVr{zG(~(FdkCjSf`xoUHSeeWo*C#>=zwL473Rhk+C$W-o!Q;HvyVdd%Vf z0BO&ZP>0*}%OT z+^4LVL+T+1P)^8`Z5VuktQr49>&w^m@$9@V{RT_;QPZSHACdNP+psQ1UwQH2) zJ`;dM99Gp)Mrc!S-KT`;uQ8&L2dlSZH0Z3`4sG*<=ofm01=o84lb8H`M_6j0M44+Ga@JHljWYh!pLMyEQf!YO+pXP##|f>$ow*o)Ob^( z>ZedTy`(u8F%E!g^$~&yfna$oEr1#Z{xifF!ULkh)TYrpJPuS1NsRVy=!Z1SDvHp1_xCoTw;*(3|N(fL~X9L^i@C}D{i z|D4)53Y>J$KS-RxIn-0y(N^p?V`H*{-id+~b07y6BVeSi*{g^1&krULDo-o)!Yr@! z4On=A&tAo}vG`Mk?s@FU?eKJXlnR%7@SjRYm&oSz$iHeEzIAJF&*MS2h1Dei;=^hg?8m%NE;d6}G$=1)gZLAruPT$EJPSu3A=$o0!pw1-1i{7b0HhTL7;7Fr z1vUW1dYIH7hqQCmoRFXCK)A+1E1|!=0Hw%9h-lLRvy<>Vp3vU6%dz~1z`_!t|H~5i z?nrMUeO5@gj6wTSd3vStZPEo!j6woFmSdLd4HvJ`_|y3*lKPI$SJm5Xl#wn^{%1t9 z!6xD}CzWj{`~S##$M8D1u4}Z7ZQHhO+fHNKNn_i#?Z&ok+l}q?q`05=yRP$p?PTvY zH73@WQF{ak`H%pPeD)ngG%{sYIbL!z{1C++`=CNlga(d4hNu*}b3>ip$H>P58I~9? zEn-(lRW11I0osT{lBlyeuesiL**@|}$;lQ~lUi2kBBYcU^mFndMvI7A>@+s^e^0iyp9H?F z`}~l%y5^Itft;sN)6-~?*@0w$fN}ur`GJ(g*L{&mX4m(yBj?UV8PXgZv9#Qk$0h$P3=LnKb|qwbZe7upg`tA%m*_}em)2I zkZnXC#xa>xuX!zsX4ppq6t~*=&*fU%2n*yh5d+N`vN^-O8m*s04^z&<2c*6{IMt~$ zkBwX^9jwy}n-9L%74b`Z-CuvwT=vYCB^uY_<9{xW`^RGOsd;kvwz>d{fm=THHAQ-= z*4e|_QC5;@{$N$`%3L81AGrX6MSqWn!F?^68@Pk1<9R!s6XlRcai@o6B7?~?kPjD< zrZmwD(HmFEHagob+_Hc+%Q{wbq>b0tK0neO<@n|#xB*HOTq(FWi$FV07$%~PU_4o% z0pKlhG9>L8L3bA)GiYcSEn~pdHcI&5^#)1}+M?H3whjd$4E-~0XUU*emrY@20fz(2 z?CxG0-$QQ{-{7wx330!cBs>iq4wdEDqJ!cnO*<` z@7+X%1@!Vx>j{L?2sM)sxlzVbGkJXkQep6Do3of6#cLHddN5G3@D+!QR*pG%mM zDBl!~*!hkf$*V8gtl=g$Q*UrQV&ePBK*HZ+T7f3`J!NJGLJf}C2_X;4H)m$#=V=)o ze|fJb@S7Xm66Fw{KEO+lbG51!^L&}J%Q6(%!uR2^`K!gD4n2d*nPDtkm6-p`^LI+L z9U#CrRO*01G9Dv-I#-bSr29oU*VZCZTZU}iQ14GB-7SZg;}aWzM@1&}vJca33(P6% z2E_r%$TsQs$!Fh%Z5fnEy5N%eMERO^hiawtE5x+)X0L`J^IxDvFqX^{0`z$g=kll2Qtc*FnyBGJl2gt3Y)FjE(55RQfG6lg;7R z5<_9M7eOAgb;1)uslLu%J#~h4=6|>lk_BUP$M1kB`I=dmOV3c^5TXm9Aqh6;!xw2< zvu%vx@xt5dhwYrS$Tr7oN)fs<>^u=)WF~g=2sneEHWTjFzQq?daY~hrMG;k_J`}Mdx=@J`@JfxPc!HF&pISSK-;LI@h%Vwkx>MQ(o0e6hlyDQqDNpM z5}PNYbLH)=M}(*=xR))@wFLI!~&G;K49;Ey+2sAt6ye>EiYPok4{h z&gY6LA0HhLDEcy{wJfwuC;N!)GAt)_w<66k9}}=>UawoHgiIlwtC8~*VO$vK`8SkO z{WLKc1Zv`;;o!W>*CXfGnx;sI{a2at5y}aHPYG&om=;5KV7+QXql)QP<_U8AMvxKO zF@nUWB*jbH(MCSF#`>~{tgGsV)$WI(nww32=4(?b_j1(Fkvc`=&D?Q2vIsF7z_!&T`-~pK~1=%;Q%@)1PeH!DyXitPx>wcDSeasmryGDMHVI;(r_cAKHb_%31KcB5f%=1}L6ZR&rDHHv%h( z;(N2r4fluD2#n;?7Hbb*OYAIHTQ;yLSU~>@NvY|+p$E^G|4wHZ{5HD+)EzK8PL}`* zT;IH4T?Y+I#$w-xZ2BcF!W8cXgeKcjiFB3-m+Z?Mfi(bBsfE}GOqm)at}UaS>1ZqR z7qf(3?Kj&1t$1GUVLZj*G$YCK)nh>SA-(=gwMJi!v+HjA}RGF&~`3B zG8nhNr{;?u`nD*U;Pkgu1VD1?l@ zaE~B7C+UPOiCbu_M9#=ed)4RsRkc9DF=4l}GO|UYTyJSq3%`}&kQ~(yDY1<*CSA}F zkkjz1f%#!2Q-3Umb^?%W;MTbsS$G&WqCj3AF&T|9YB~?@PRJ_P*Ky>gx{#?O9kyTl zW!k1|k|o4YMzz-}HcTlmz%jixFh;HZiHm0UR@2zyELPrmZ+!jxoY(Yhm^LHmPePe~ zOXf_|1CoZ~uyZDxkTv{hbCd&;*Ys$C)q-%;)!5lNUwT2V>3fxdrsc8vT4(u{nPCF- zU+9T7HanYg^9=~@ZKg%J)DB{=|Hs9~M?m)m7NFsB9cK@Psg#!e;8qdD&py})U|@?; z*v0gA5X=4-ZGCdNKjyIMbek;h!hJ5N^OhX0jWQYJqc4=;CE$?410BjhsS4-{Sr<{^PAr;iXJUILJKz_zdI8zmD~h`*vOaH_CZ$bSBCWiz!3vJ<)qRzq6cQ1(aIg~D7o&JErdGe#d>)Mkpk7^JdKb`Qm<*g-NErHV*^VUNU{-G?^V>?2k?Gb zewaJA-nd)Nn<34`q=lL3x%Npw0q$nj1G5ur9+J)j0Pk%^zTr2DG=ashYywb5pTZqA z8W4E~Rx%wyQE^?mx*&)62H~rW6duHyG6p=DK1@wDox(OK2|Q<2_8lD%`~2oOL@=5H zt5s82N^b`Z=sn-BEgw!as+E9XRB}{5CUdAvBe2RHzala^r3x}*8Xu|wI$X$F!>SKi zs!qMKpFk@-3DlKpP!n(QJQ9dPf?$uMOrR-T{d-UY3>+=a|b_!ck_WWiixRa(JWZPCCN2m z;;A*m_i_c@)l4Sv70oaoq*@C2o7nh`D{z+N6=8#f+I9eDpFSz|GQ&)$4P0YEPUhSw zD5CoY#gn zOGyc7B(OfH?=|q?6a2nqe9r2H80~^5v*Bs3GSjO41S=gn=A2*z2fZ)@i&{2Y;Yj2N7m#kcjY zZ2fu`+TAm1Ur=G_a0<>H-~u=-r7`_v;0JwfK;I_rFceozynkFA4Q?Esuk(=lEJ+TV zan2h4`Iva-RXT1jCp`3wv@r`M&yq7oObDOKE--{kq^=+&@Gfh6&(sVVpBq~!N%(3~ z^YIE3Fj&T!qksT!3d#>%k8kiq3~)!<6hvNp5}jgIips}Ket3DWUY2=u9ShXAmafw~ zmk!eDC#uL>vbHOpPlZ!UkC4AZI9U-X)`GzfgRF4!#ZR#JsY+6Q&xvcJLl2%S?=DTZ zhYE5d(2u?WLLHFC`YRPVz?GLiynwFDYZV^0#~10$h-U~4Z+c-AQu8(#A3PqWKAoE^ z3ats#XOq12w8+y^)BL^ZDhs~2v8QQGB9h(0 z6u*J7x#`LD+73faBQwY3B^_r&5qFcJQ`ov=H)>Z|4_BA}=AHlG`)2-}0u@wxOY9%c zym4?!SwTVT%QWKly>hl8kuGwTDJF6!(*OGJF9BalAPIu01+m08vwzMjiM_-K%2tZ6 ziqO?u9RAie{q8s2|S zDDCBin}N$||4G}RAOX0mb*8kZPz#PGKPns*f7)G6Q|VW}@k!y1vR%=K1>=!hox*q@ z=ZCXqXKeSh7L$tIyGSZ)K9G6shSh9uo09Sh3)tZ!t=l#b{AgU^cZZzU*G&&X=!5aa z;}ReYbcWNsd?+t#Bt<%12Dduo{Fiy+bf)sLX5`)Q+XJTUcv!(}otJ2@vXl%8NqW4jAvXS(GM8|;^vcji-S z>YgJD)_S`lRlhmXEa0c6lq>zc)`$PQe$F&bSWgQX|Ja2eE|r&BIAMKg9?FHmw56=? zWGcGav1t_8fp(?er4LIgVYRZeW5r|b@_?FJERbE5My&P!ih*eCU}wIob=Udj&_Rgy zrcmLv{F_0}=lorm0aJKjxhZIhmcyJCcVz#H3eWg_y>@WBzI3p)Q18r0C<$~xdt!oC z->Lj%pcMTuJshJ_O+WTMsmrb?MERYY(7x{j4lkRP9ai=C=q8zm;wR(Ci1uBx12X1) z|D!KK;J#T))kl-;luu9UTa&-0Hq%AdV%Hx%l@~mlngDFBYM|-VjC-KE(G@cA(G`9$ z6H3;bhKFVV?Kx11hMlLx3(-3W4Uvj^6M2m5@We`y6Dm$lHy#hG$N;>-6C)I=g-MIm zw}>%j1Oko+^>lUs+jP0RDD!l+UVid)!gdb;8iSy{VYogztEwuidbirBE;M<)mrnxT z&5}Y~6l&)o)H(7TaE=acoTII8G$GlT-IjsgD#(nvIl=T55pC0Y>E(;pUbl1tdmnPH zu!h$TFiqHIg^vJzY)rzUg2;X(>hO9(;lD(_)bkE*r$uCKutO4D#`CtUSy{rgIew?< zq1RT>9GZ_@(2qk-MN+gZN=2K-6J<%soHMLsvN;T_SEFj>qVA0Ies~+Z&wgq6D0sQg zmg#&+4US9pa?IrJs3hK)50>`6F@7ig^`v>ZuI!Q?rBlrUdZ+oC5?wyv*r*jf7HF@=)qQmv-w2C3<&Bf5*6vW4?HX~er{(D zoYI9vmAI-|t8_cY2rc1}vE~{L?=oSvnk9g9!XAG47=lE0jkcEN% z4Yxki(nKEwIRFVha4L8-X2i`#&>!0+=gDd1+&%bJVd1KnXqw&1L{PMRQL4N_zA{;UK20nFEDD1xFJnlvwb?7mvbd7YThqHXo0Nk+Ra#avj>d^KxsTyi-$TB znT{lYSvg}~1j==nB9Sm!Xwx(_Oxaa!ae|i_Ud3YBY3hia#J|8@&t!J(0YA?BEsj4TTu zS#vsJ!w#65__2Z2i{G|H^_mrPF1=0|?`64vO_raYbu+#6h!=%@C$w0~7I^g{Ab(J{ z-6JQAMxzha*~c+2lsqc6_*5h^-?jiBrj7xs{995)#laEscz|0S62bGA-aV;CmmZYx zTkk@ftw(bm_Ul7@C|h@)mfG!yRR5Eb=K#tF)i{Qvwg$RO5Q)jg=X7hfHC3!eY8@wJ zEc1kPK-bz5&Z*CRGUKz;(UN{1%gzPXv_X00PaKQgp2E21f$Sdecl4`lYnCle6BPls zzN`8Quxem++Zcr8DFQmV$fF_ao`!WWI*pGzA_jtDeL-?pm?`TB>AQ0L-Tjrp_jO(d z4vUstLA=MRB{fAQb(8tT*^*MK0abu{=x6KP0tqkL}UFS`(ITa9823jbQhh-#eWq&)V#^K?$4Bj#dYntoHA+I-g z)R@4-o((G@B1o9#2kucmxOhKfF8Zx#+fjtw@zPlqHzCooZmEEuKw(lXAL8-p7NZfLWvKX%Ah8tu~;rhSS_$diJ#{P)(x*v z%m3b8DqI)2WA7(L7RF3cfbKlzhP=^u49OGv(7hlr_t~DGG{5IAnUGO`jgZ3SUG=tjbCCyK^LP<(r zB)f;hf&%P^&2BTQ-^aQq;GP&d+92f_Llp5hq-H61M{m=v+jZ;853}5PwZ*mMDOkE* zCEZPUUd#8Y3xU01@VDC{*u4PkwrL#}ar-Q-ks$RYvUa?ig$EoQ{8LnMr3L@!5iZl$ zTBIa~tDeyxg>=?LmKuhe(J0Zqs|5Dzm|)JovSH78p}clBa_`-3Wbn9~x3ZT_G_sd1 zR^vrsR#FZ8oo!F!a}~JK#!1c<3KytITm$+t*pM`o*SgKsB$Nkr*)4J*8q=zjj+@vK z^bRGWPHrs8zN6Z*aVFd+I>bW<)Z2iC&-*Hvzg&6y-kTM|9-+10>y4(QC8Y)!c9T@~ z0xd}+8TISv7(8?|#dhi(t{=KJ(z>3a#N?N|t<58b^Z$4Z2kc9Hu3HfTlt*KQZ(V2l z+P_|0^9F4&h`kbiVq;K?Q3kkow{9=;fw9{O@@AN0=9u0O3fo-w^aoQ)E}aa#P8R!ekxhLZ(ta`7!D|OI(h)v-yeq zJN{jJmssxeO{52hPBgl#+j#Ep`pF#;QgUC1T#IAVW+pY|rXm@aP5|`QFx7cYd zr0kIKGHVd6IA^+U!m$2cVbnj0fz9vZZ2LxwJ4^DdmimB@isuK~HblE!a2pVm(?EAG z!4rs<(6YJdB8qF7G(lNbujSLk`s*cXJzDERcW z?#7h49^iy28F5zfP6rt@M@T=pDr1wNr|#%R&}9|NrH>|M0ta_p%fEkrnOek_Gl8u-;@Q-g3 z(E(p@`u(K@7Ee0fDh4LeGs^?V*VduXgai0sObl`(797Be?1 zG?OgU?1asRz`=D3=sQ38-qk3QSMj2qT^LykvzqOY}nr#KAudBgjq_ybR6q89JvItxCe zDU*H$jo|vD%nVgDZNiznbf?ga%)phz=fwG8>4Osd$X$bWX{yC&tM%Gf_c^Ic#_ z#N>P>yb!jCzua-;f=useyT`=Afo?L!>*hpz*}$8o*EE^124bg@jLwUhe?P8x5Q!hCJQ4oW#i9pquH{U$^F3N&0o; zOES2d-jbnzh-; z$21?XJ_GDWgq4|C4Ts4T4dPRsE0R=6NMjP0<^WwkUdzs*mbyoLuuGW?YzpMO!nU#4 zpaa^?w^=;=I4O}$kwc?6A%Ax>>r=YfNx;eCbC!oo2|ssay{BL+s`y(s-deqShTEI! zL=>Kf+7;o~af-^=M-0Ei>i^-+3W*$FZ{2ZJG?0sWE7eFxVO`6!8KUlxv0WJotA;$x zGD`iEKgi+pj!^*AY&W7j_SJDO5=M@`v*!x_+E^st9odpJKC`{1jg0cB-=2t`!G332 zw2(E9{D~5PdL0oe+h2$^5F!58|3!ig`@|h5+igba^W|#~C58h28^7wvd!M5kj3_jEUT=99^PlcDiC~{=p;BWBC1NW;OG&^#z zTOTf>4OIIAAK>dF0z=X&hwHQ2K2Be_H#m@8 zO-S&nVsrr+xFE)M7)D)BbcR7g12lmjqNUx|OM_G6+E zPb{mPy7v@4VNc?InG($8eWcsiu!3RK*V1vW&%#n98RRi~t9y-f`bN5R@i=O5-1_PM zn#6QVLtUSjklkol329-wsGfdA7PO!4U=qB*GW0S#uC+xcJss70DcM)I>Z zt{h20bB3o)S#1!XV<39$X!Nk4XwTl=D;N}X=DOKRc~nMy!)KCwc9I9Ug!H|56;+BT z3M96BjaP%a9F}6d#I@F?oX?T>kv*mBv)Kcnk#TNtxc!pUlMY!*y`$gjYJJ1?d9le& z2FgndDafD!t_jRdI{Z(?^D5Y2}0 zSeq)i#->X=WoCu7LC_M%hjMT;g)aNS4d0l3NQKr*hvT3Qjg?DY?Z%ABUeVbBShANZ zeU3%!TBskMr0H8i(-N`fIKuM}m40e*UnyZU9J}YZnkP{xC>J9gI84#b+Jt+yab~a{ zur`7Vglyh`Z~b%%iy<^S%25i$@f7STp*qCx1dR2eI@<&5CgClV)B#l4zw*6nlu0J% zg~8XYfc9Ms;DQd?+;qD}oPX_W^|e4dWdu+usD}Z+F#(nzmC(xGXodsOhh2&E???jB zcac0_JE6L1I0Eb2(fc;_Fs!vbZ&>a&J>ZFQnrpkp*?w zW__*o0F;V-a9%sySvpbaD2duJWKS2iW+7i($*pjA9<%etlRM*(*G z+>h|dBbELYw&e4#5spVZ!noVoxr54%ZjlkOKpcx&T7oP zG;yaPP;sAfZ+{)s$EgO$=5`A=BjNSJ8cOHNG~AyD3u9q52Md#AHx0a5d)>h>(K< zZV(ML_MS+-4~^qqquc_M7X4CtAUMAHY+qW%^4DJ-G(&r}sok%Fgw{?%&x9q5*P<+c z6RIhTv!?$Tao((&^{E6t(#VZD6i@%;6_Nb8%JU=;m90EQh7jc->1JHs8JB$1Xb_)D z_xk#Jdw3S`neK8$%-Z$O$es(FH5gOy zs|PWLzMP^%Ocv!%_p7}cBqLP@NjszAL;TaWyRyWD>hI&WHV8Eg&lze>&Nwp`L3o~2 zFLuND1U*`vS9o3S$y@H$7WH?UZXmK=I|IGP29F!r!Lxv&k}P>dkpQ}NZ}?YGpj$LO z^?svFA#EP1Ju*d0@D{rX8gi})a0R3Nw0w}^dof{}o*&D?WWTCixLYxFK%FAiLuHJA zAXj%Q)a(;Un%stUPgXrX-m)O+In`djb4O0jB*_?`oX%F#s``8q6E+-sId<*wjNpU7 zNq6RFjj$r*dpHC13nf|=NJXrx;UmO?`|~655J%iMQyTjQTA1u9XoXHyEBb|wiH-+z z8EnQ?1`MFlU!rAeHRJE`taRO>D#j^OS-Nyt%0b+m28>Bi8AJ%T&~FjGPF@>MgtD!1 zS0(UPeQsvT>`%mUV+zeqa;@r5ehy(jBJNSmVgaiVBEhO|BX|-yU^5pB00&*ctptQO zBF5RZ-ACb0k?46k`JSc0Lkhb{95q4ak=})JI??~Bk4o{DX;?KonO57o^+9o(7Hdf1 zI+_+o_p9AnZ5r%v_RKQY;8ed&xH-*dUi+)+jf(C5^2u^73AYBCe8q;9X>?=TOOku#4w;A?~hY1s~yQaUmr!oy%kRXuV~hu45XkjTSRdFvD|fhF2^)% z)+hO^rCU>gyb(+7TPQY62p~X->XI~&3KO-O(ke+%mSEYY6C6}z!G|rIV>s#+|fLofr zTGAB_i`$?TJH$~qa0c?8QtB1uN32gRcqr}G8yh^g5pH3RXYo*^$?)?*IILD}R=h#z z0#)09IZAH5CdmlyeS(58J#$hxU@h{1I=nJD{?V@631)OQ%K)7Uk}4IDaEz1sWDLAp zT84U{T?1UmJUht2D0}iSQK;SWQEe5pcouPJJN?C2>f^366RTN$;{+XZy<5B@r7qra z?J%_~`PWL3hcOm*B?+EBgr@0XPej7aB^OttQ8NKXT|1 za_1y_C&*Ki@%r9iq#A z>u+bl4Zy%hBwLSVkv*7euG2}AX%&>FxlPKm2dNj>uO zA&4iF534_-D~^}+lkaAqSDd2(%b@HKOWG!{h0~?X@O?NJ-vksH= z6*USg!%}Y`Bi-a6)ng*;;QLYj>wj4*nJ*5Q6jAufdy(u540nH$ggS*QhukExDVwgN zFz?Eah1wrf{Aon*Kmr8z2BP6-=ky)s==-(QHiqGFjz$5nnRHUr$S^!>@LN?}>Wu@v zuFjTJTCPrg>RfEag6cKMvkB7^qhS3?md`%dCwPh4xQzA5bSN}&nz0hHYCUn@_%hQ` z#w6cS2@BM)@&okL$Ax@nC?L$FzokUOJf8r?gJYx`2-kDh^L(zXO?F%fWI^pJyrmjb zRy8G$!4eA8GJ>y!E1xLps8<*8+lbn9ozlSL5l%7M#lh<7HB68o9gEYS%dH%b97G!l@ykD=_3CZmA9 z5cBS5NnW0!Vjp=BLYcWI*=~))fF>Z4(4dGy<`AmyOt34_Ch9uqpa(h>(gr@zo9OsM z>_eV&K#4{qrgxy^x_$o$>GnwSN*sjX*#0|MMa3;HGwU^qbW*zivAj&y zWcOME(+H>+fm{6&R1GgW?MsvL^BS6s!@leMA`cx(EKXHee@%D;SlJ-Y*QkKnT3UZ8 zUC$axk94aue`#s_ZLG2d%*6@$9_i}>L_Jr?=mPR} z7U`>$^~q-|gSgfSkLqL>aYc0M-OwdZ+tKHE+Gt@EH@G1yxBK~s8fHE?o{)2yEW2no zMGtnOO2WXvP6tuRgMl00lZS9d689TOkZAejtowom;r|8XW@wu(?&XnA_$kzsqR8nnZlK5&;bJc>O!exveWu#PG6~Gx=O15&B}T z1NO2!-9v-B^HPR@dj$J1z z4(0W06#*p4T3mYd%c^P;f*sPTys_zgyZs(SGING*_;QJ$5zGc@5*kqFT+mT;Zt`9I zqUkkB9tN5ed3j?3riEZ}V!Q91QmsK|jo=1tDpI%JfoJlK}#5G4*Ud!X8?>IUMIhca~uWF#CFO<%(xhy~0AnyKFGWg5vvg+d5jeO;v>qXE(z`A+)#WdIcQbE}p}}ESEA6^{GkndZ z#n3{aCGO}bu4p0uSKDqT1z&furfVW}WEEy@4khkfifDl7SQRi17e67HHCOtZ>K;da z5n)10zNv^TV(BPUr$+IliGUe+kqg{ec&ea2+wOU5JJikWzcG2Z{>hD)Tj+7 z6xPfhjBy41aVllbT9Dt!&TDPq889MQFF7Ws-8$US>BJbW#({uR9TAPXKgodJHad{h z?xmwqwr~_7#YPs~&c-D1xRJ6kp1B~cXD=UOhtrbP(kA09aM18Zg@p{cVVcEJb0rr+ zO9(bJ0k61808r6h_RA3J@i2z`cC@o#aDNqRf5B7zl1hjEa7>?ll%V*f)A2B$f_!N9 zpW<7``e4ViqDxUmNE?Y#79~E~lq{7+1{TC=7v!Ot3||6V3P&))e22%}K^NipoUO1N zu@6rtnHy4KQu#)ccsN9X(tiU3lShvXWOH&=8~8{I0^WjKSIEu77>uau0q8wAv|(vb zrh;DD@updM*zzFfbn0+aaG@=~wZ0o_ZvS5);gQTYxsfOJlZH1Lm1^(Rt3#=3wl4lL zt+Y!R_wYb0T?&UCiPPheOoZF&Pf6Kbz~@8WWAdiGBhaK`x%ft)1suJo)SUh;ON*RA zJ8hZ5`=o=T+iLXDlXh!)*@~jYIR9_;2N%hg*ta>9Z=L7I5>s7JDf6i@{{F#9r~NfR zHF0KfY40met^~T>+P*ETp6C_pdNh+(0={)E9?IBG6(5!+i^p`WknCY$ksl4mr1#y?(1Gjk$o!|1A_rhW+`U%+ zurxJhQPE-Aixn6mFNiXR%eAT=ANH%g0q5J?U&ZWp0@J0I!Uflq=87Ag-HZRuE_&h^ zD}uAUyk~f~RyDeljxeSI)ELg1=CM6jTD=PGbEhy!PJ}!fTaHD zxE-7{EKXCOZ4v^gn<@yK6b)mVOEolc2O<{n0(Ai*vueDLFh*A_*icw%OyOCp566+^;d-8XOc!}7yg|B_unK3_dd;xVew8N*a$AHF8)U2B;s-!Kt>d^U4ha|1e zQ%XX#%^!wnW60E`o(PWiq>mm7^=+5E%MY;v0Hqgfv5)G5nB|)XM{=|6Xj-qC z@pAk0!%9Ns5m>(`Dr%imoh-MD3`y$$8xFt$CP&sqc6lT^t!o?uz%zt}W&Mzg#*IH( z*aqGG16noz{&4H0FDRX8~?J*ZiEAO#@vpR z{=)K4O_(P1t>W|8?l$a%)#<-atqi9rmtko8X{Ui@!@$3R8S>f42O8w>*b0IbsQp5- zw?mQZ78l~(O9tn_bz(A_Z7IoCw^Rt$?;k+VuRSa4Zye%znp%Tg{HzB_GH5cLJT()I z4cn4V)^ga-+121SN(D2{`!6o(Xj$;0MX zi^AWnk&4F{&@&rgQ#Jh1y5^*E$Y2o9M8|ueb6Xb`bw+$&cGx5~iMaK*idSAuJPCFA zSQz#wXWLkQtT2le`3EL{w|O~$N;J{K4?3_Y^hy&-gVZ^)RY?f5&gxQ7Z&hG-=_mlj zhj&jX^M5w}OOOb@;#9G%OS-X0HknmIwxGqwg7?;FKvgH^6)FC&V`j~#JL1>8R$T$C zSlxB!mr8!vR}2aK2vbGGGdUSOi>Crr$T}Etl&7QKD z(!jatIqaN(+fHmLp$w%AJ^uGoKmVSsBv9+1$ZP}DRO-vj(b42$8eq6MJvX+8Yy9Ex z5Zc`bJXFNPG{cHeI}dyyEn-OFy}%0@oIx}dO23)Oczq2~qePUnAx1f}hn=Iji zZOE<^I0+&52+I03Iol`tt}3VETRxUjB4oDapXoMnzsr1rERPtV{`a;w@u}lQlpos- zG3B>%dQavg82^_Auj2sluj1&f)<>UdXGo(+Z6r}BR#v!1gd#=h=G@smct?eQQWM-@kZx(?0a09@vXq300_;c$oA=8!cftH<< zzF$=1rF`uGWmOb^-7>cfo&`g9>o6as;wEQlVD&_PUAVbsfSzXVq_n{9tn*4@*Hv%$ z$x^m^7}tMYEluL96&<$**u7MOAlfBQDxF8R+BPAmvF_~q^Lf_&iI_1I`#V4DQrGXC<)9QBIiIYWwRb!%Fv`$8#YLAYz1 z-r|ri8CvKkp3PJ&PUt+K&##3Cs1m%&zSu_+)|Y;=JUQEwX);wG(l;LI5Ct-`!nJ%G zdK+IkKn6Ee#`pG3+v;xxEeGfV1AwMyc4X_oPV${YSgujc@p-P9}tN2>8o zgygxagZ0yAJI2fySN0I)++j6U`;>XX@$VJeJ|fg?F42pnA3$lCc6yAso`ylV43v&w za?|@cNa380_0s^Kjt&NP3a)RqpRz2yGYX$z98lj=NcT zMMpW@GlQ`70z+vM06Q5MCt+{pMTa+7_ivWSxC4PentF&JH7v${9R6E+6(RmBLisug6i8+EGD``e!olnSp#=gU z3WDOUp*k7BD@+htA3Q1BqzkWgDl@5P&%|_x^u^bC3;*;^T?PH|>1H@}}BN7mXhj4LLsLG=PfER0@C zS9{y_&hxv!iu_#0yA%do3)bHpL*{NHj@-{#i)9Vyxmjt+Ek^qw?}62oivCz+c2HcS zgmd|LP`bB8Hg&Pi-e#H|T1C6*0P_9If8xRg`buJ9w9D=io2#4}P{sQ08>?z!>Dzk8 zvl!&DXfGbh_aEX&0xu|(vvU*hCcYbsSKbWP8bjCs6bI>1JylQPx?6vLO6c;C*L$+Z zY5mj7`V%WXe1P)4BA`gt>#T};12**@6eJ#W$~;l2h!=k@thZXkt^8zl_pll8V}t0o zq6(>7(30v8LW(4x1n2E%P?sT?pfDqv>Hay?YlaG46$!*`8o9NX(dWn3ey)ApFVMk! zy*R@rzM;jPts{quh`Sw`8?5q2O?)3Ce5P(y;!-e>4N!(;Y#fP7H3z;erv=O`dI1H0 z{dPpY0wP%ZUzDastZ~z!Uw)uNPt0$*(iqw}rVA~UvaRB2juLNCRaZj$1{?9N|(3A(zh(|T6vDCA-!d-c4U%za)=anp-0m0Mg-JUy$BYqZqgXS7h$t={7qn8 zs=|_UfZv`yvr3GLfJZMiJH@|>$b$tGHb_q%D~cv#Xuq75bX+$J6rih_dr^SH40x^}?g{lM zBun_`t5(V4!A^uhKJbidycC}H%B|lcYB|u7yYbEKnZ0c~XjcC~Niw8>(m~9+_z%|P z0P&atI74yjF*d-#q^!ag2bpN&Yv~@|GLk@wnvr!(f<5s7ZIE8^zmfS}9NO~(?MD65 zOD(w=B}oYB|1rGX@;35=2#ynIw`W_Bmy=~~#4|?w@{q?Zc*Q3=l`F%h*m-yO+V>jw zEh#l)t%2<}qBSMt?N0EYjadUUW=tJPbM~ZuK02OuXjYt%_BJfD0mM_gOgX^vHxs)0K+;O~Fc;dg|) zPy={S_s70kA8#5Q?*-Iclx?~lWZRgzt#^?DPVdy~cm+GpA}woK=?kyGl+^ZRgS5+Q zrF?BE2k&oAjhS(@W1}Db_^KPi_Xg(`B1`xF(q@T!^lF*50!erYqvd*^of6tKh-#9J z-R3NK8U1q(;)R@C$3i;M%L@rjlH=0M8rvQnyjvCwmPRMW%#y;hXt) zvTHr$OWqa7E|-{2fG;b^Zfj;TCb8Bg?p6d7iOpF1x?;p3HO*zK{%6)g>2v&V4B|I{ zJVJ0amLl;>Pwn$_y)I0>zfEkX_ush;5byt0;6sEoSODmHnLZf8vA&xDy6(9gQLx;5l96N~?yy)abdM5c^gP z)uID7*cE<1*59yOM(07zfbkFNeSUDg7Kj6-pV2`LPIc*=Y$Ex_Hg@OAE_+RJGLUt~ z=~3_Q4jyP%RKetuG7R{70<1rzZ}y8rNv~rhXljA=m$4mbrZQ&&^lbh051{-@QY+gd zi2skQuL_H^S-K7G?(Xgq+}$CN1Shz=I~jCvclQt=xVyU(+%*LE!4Hw|+k5}#YA)uP zclzzFu3Bq#RW+3p^TO+`t~G^k?`9_E&1T|Cgzuo@WxE&bPK;d!s%QQG^8YqPed|%v z?1yY+CiZlz@8K?Z998|BQv`Hq@15rg`|qWKES*S^T+MGg?{nK=x<|XrY}5_f8#aF~ z{wC12QJAbs#_ejk4%`Hcyu6~fhXc;M_atSAx4-L`U+FUI;pMlKciSfi`u>M= zyAc7Rpw5r1K}njAn*=?Vg<_3BnsNk%HZSm85K`}Qv~kmFNZ%O+Y|mjh9d<8>bo?SJ zJd{Bh#ExLNC~GB$Ziy(5t}5fA48r>Tnmn;Jcg>Unq9U! zu7SK;vy}9_YlL{zSJ^eVKMBtZ*>{4T9wOBNpp%x4+TLFy2B7c*%1(S#9kzj8W@s34 zKf1B>MBAS&)OfY@iVcoxM|aB8t8AA8t%|Q@9X7hJF@Ea(8M#KJh=;p-&Z_0{Hg9VH zT*JFy^@A^EN%o1XS=;DZ+ju@nvF)iJ@_I?@aNDu*kktQ$H79)F%7SJ~{iDhx#2n$S z^BZMW4MnXDIOf=FvYCQXJwF@*Hw0bmT#LpL+3@WIuzTBJd%+>X4KTNU1ZY5SK1?O{ z`MW24Tz0)!?;3n|cqGhboP2{&(z3B^koW$pp7jIZ&d0RM_ljGA;1=gDJLY@JJw^NB z2@6x@FUq|kF4x(dSM17B{AFh?S8v(ST9s`JDUV;Zc{o%$e2d2s|30*FEW{e2C%b3N zw53wc8R<`M3xEK%Qqzjn#g=7?I0lE^GZXddt96wGnmYQGIyOdx`jQfLj<(M`19ul@ z{I7o??XSJt2YC~TN8PU3=nndAz#msw4|Z}u0bR+Fu`FaYh!RE3*44f_ z5p>t(SoMsM9-J~R=-sqH9wgab&a^hF_QUxwEQ|xIWXXB*09V1T^ugStx;%?k;J{F`*gOn zxEt}(SL9Mmr-&1ygB%{;Up@4PD)XFwb)_={(#q3CT2y79{n8@OPrL1RWiiT{@t^eZ zUA$5G%kqvWw)`41Q!^WracN)ITLTKi)d%1XhdejvU?WQ!B?LTxw(IS-kYpsuUaLJF9&&+H>Ez$Q*2tvvAp!(IblB&~4zjbfRsfa}aP=4e2JI>(W zrqQEJx==iToapXi6oPa!CAO|osGD7^T~#mrC1Th^!i1#Tx|GjtE8XaUHBIyXTWW70 ztoNRLk?m+-O~rG4s>|Zw`?US-x&8egW9{O_H!h3-5*rf(JBFGTRN#XhEhz-pQ(-vERJ8UO^gqL5Lr?9DDq=u6N;iLs?7Ul!^~sNc5LdF zCmvI4-UqpqwbgVsP2~@Ud1af8%dp;8`-=T%VU3pF;l z8z49=2+no;<2p1dLmE0TbrrajYNH~&sY=oUcSsen9z`A6aamI2JaHu@$tGLFGkWsq zMg{gjvY$1UT=huq{L>4dF?7+@X2}Lu$J^#hg#)P5-Rl$$3z!`9Gx?9rwW2^G`z-D} zbT}JUw>jNf(AVLu+isA7w-`vQ6ToAV>jQ()7+t5RX`x_?WQJQ?C>_gO7>4(qW`R`x8{_bp( z^32H3%o4z%&EwOlFsA;120Vsb{iLG+GP(*}&y&5@sM#gXcVYy0XktJep>*+02b~#mf83-iGC3_WT-FqOeaRLT zsHg_D1^giVhv9FuQH$8rJtOp$;V*&m88cXg*89k$`!I25Y7U771C{!KF#=-cwGN#?Xy!VT{n+K{Y{&7 z_4ji?G3dAi2qzB|7%eHgJMkG?S+#z;ao^9FS~)lBlV+m2E8l+D?;)Tr7{IRAX+61Y zShmv~sp5?M*TcQChxd?r-d$IP?bYputHJg1Tpap-!fJ;{29PffO3o;A?aL!j+A%{* zlDO?jP!2e9^ZxE76A_YC&RJ-Q5Z}mE3N*7#o!|ku;U>be&lux@PMpvadrgAr1+LYa zmrjKRs=}$t^)J>-wI4`NroY?$iMNfbkXg@5y?f6B4-pMFW~d=AGX?MQu9*5&yfjh* zUpw7J&@&Sj+Ij`?9kz=;3l zKap(&Qt#6>eKJJ6x}6*2f$Cg>D!Wg+wmahgrT2G=!XeTuH7NtxjJ;;$F7_& z-QJV7Q(LY6qY=@Z^;YQo=;)YT0fdiCz{GpAF(uRomo2IVBj%}AcuaBZm2@bvHs0&b zz4(}ObvS)}y;g-D`8M#~FRo}GjSA{UV8I@r=Mp%HpJw5Rxv9D0nEnxXf-PZi5F0~y zE4cY-|M)2R`8v6tqzz5Uh01|KtohS_eBS;qpErPJrFeZdFSQ?`ol;oE70~l-D5i)8 z&BpB_?IpqxEYN3RUXCMF|q9#W=kriGChr=yLi?n7< zMuH&HP5hfR$&a=)qAQt_)K4ib9E(=RnS;BYgR%+ezWbis9qftwP1MTFk7ZH*dxEFI z519Y@V$~*mcXYnFHQrF(@G6nj#d=a>G1L;YEivX*GP-BuUI?vswY=Rg*)9?rs^v}= z{=jEF8e5mFp!VAj2MfcAV z=h^kV*o*Ds0a6S+UCXFZ-D-}xI-A43HKxRD`l#*#ds9rIEC!kK?#N}9XEYc)(lsU^ z(Kium+CNpMrW&Y*1sUpn#mfhGNG|=$4LXm>&XRqfW@+TUf!uI=z0>$CqU8~0RgSaR z-7Kcg=xg6wp0Yc8^e&%S5+7wR3wSvEct*nbY1c>-fiL?D>e2z8V8qy8&k3a2hF+k> zEglYp1xB4}&@YaX0yk>~^sD;~k^F=@;+N0->U1uS#XB0$gSTE!WBg?7I0c#hgV=9S ze`xHCj}h|d?=_5}C?aEy^2P7odZcHFZ3s#gC(oOVNvGM=q*K^Rkh)S)LyY&uvVQD+ zCD_T32C9`)Ris50<~H4&E~rYh;kyLc^0Gq^(g0`&?)TIx>$zjI#YUX}XMN zPnUL2AM0E}pDj*S?Uphx*0P-Db^eBeHHx#VnRPjNO+G;88HpMW(z*Xgz4SfoBHWoN>t1@ts!BQD4bOb)4L{=;wno*)aN=j0zoJ&zBH%-v9E@~@{Y z?2z$|N9$`u>{j{!u@|4b?LN1PLu#xVQ+^Pu;u|yc8NQxjqoC;(ow4Ntj2Yu+ zGimTM4_G(LL*r+wUKmY>_rvRXO~Qiiavck~JdCUB+z;b z3y$ZW@nq$3nST_n6IbvX;rpdU8%-JE5QYsi4`^Qjx`esQjNWhwI|#c{FpZm2TZMq< zZg~yjmuNqb{POd$rGq-cs~dbvk6-kkjqu6~ay}92Do|RqW08SG%}{~mi-6@27?r?= z8MHMi>~wk%Nz$elT1bV7XzNn01ffy}B~q}uec#u{aW)omOl5S=u4g#>#O=8t4iEcc zjO__D8+t4CJ+)ISQ^)E$yU~^AyDrP18P>mHfCkq4gqvE(OdMoFpHJgXVS?LnJ1Z>@ zejW)M^SKtiNh;GlE>S%d?O?*ac(0GMvEk(`T$|c1A?V~c1@qQ`^}Zn?TGgYyd2%1{ z34B1&%{9LGs4UesFG>2%R{)yP+sQyBDK(9Z*_I)B3g0KETJXNH zUcxRX$Z6DC=}@=X-J67=8res*3GTgzpT}faz|*_*_h7#Ps%>1SncuFMUzIV5q3P^P zT0zIgbZsxAGrQ-ak0{rzDc)(|o$D7d&&!ZA9eZ0!l1Iqd-rZrJ%jYrgxbz6zG$akcBBATxO z&U2*grYc{A5lQsfNL0a$z|WBSy#+WkI@ef~gI0hUYD6@iT`JmImVyo!TAHtKBdf;x z#b8sCPyZQL#lNn`R$=3kCF9WQ?dk;DrQJFBh;*Eo11kt|yOtQqr*J$kF8?{c*$fc4 zJ^R59-4haGE1$YbTFG|h>SEKZyji&Ue0LJ}*Qlv}Lno1`hmNrDhHUmZAAjjh+k0q; z3-Z2l5avl%dt*!tG8o1@kV5Q?ubD{h|om<2z5;Z9l#BGx)oLbq8?p!1qxspe zWy7iMj3%l$RbAx^lgz#v`A_H&PAtBp;~>14oLH_u1bkX?*)+X0=~Vtty2CF4X<2c@ zkKg!l-nZey`pbK(A`RNHLMVoB#6@iADV=HR-hOPc85RcD+EN%N3M@vb*e(wlzpn!hjExZ2vowQ7`O{o377I=jqFIPb;tc zZhwSa`?wa*gzl|i!+L--|(4O_Ww6q7!$Iinr z*k1DcVMv$WLk~0r!wZUX4Pt4GE$VV952glD^$c~lG0BJuB~oOP^R+gq{fFcBYQgKX z^$ctTqkn68bh102A%^ySuUH-lr7Zn2J$DDD4cB7^?wM3VuUmmRqB|P$L6dp5X@(Ev zb@PmigmqmVJDL0^inui61ts(Q`hGv zyHHv}cks&6SjlaCwpHS5dI8h{Eu{CZ~RgZzfmLy=GB*C)E>YmHg`SqF{ zJdLi`q~8!>s5a_4N4dqHBR|(~ksFdqQbm32Oi@~mfT{xa6hwft9S9PPVj4RIZc0Y6 zDN&%VN8N<90&n)$?&oii$4D9`@JI3fEv~n>0e`Je$2_5&?jVYIC^g4a#tie}vKs>B zMM&PXv*O~HueG)!5seCzST&N`s(i{cdxCUXpu;&@T-jIS>auH}Fm=y16;hrKQn68= zHQE>mBY~bpy%h>zp%buKbEHYF9&p;U+`9rDA~G(xdTD?hX}UjGQ*-Cmd@Q3okN>lsaUL zT!cFcQ$8O)c|9~yw`V)QCpg?!5-0_)%9;6_j{1@8bC6Dn%}6vQ*5&k>n z%;tx~I??s7$PL5ae{KrfkqCgwklnvIBE6M)b(|mI7K%F@T5E0R5)O;>s)|&Hb+uTT z@my2adjpBJ?YAl;>#xNH@`?8}ufHfx=h_dsoqbJRs~35MUpDO98SCT5<$U-qM*Ms{ zu*a2+Pasa+9`vflYJV=4{V$wm-vaA>dKa79)oyK6Y0DoB&2Mog7?|4~;2h`X5K;bU zBSOkN0_mcQu%$;`a+suC7E*;B6^wAzRz+IR&g7V=bX!)H1$RD*$G0vGyp*$DJ&evy z<2M+{BN(*B{+AGvqAv(zhanJ9XVtE~n9Y(18^mvAQFiT9`NkPaI>l!glT&F*;1@-0 zCz|V!q<&^7nACqDcbS8(k`hU**>4xs*@Y}z+PCWiow2iHxolBk6s0cc8#sGZ9N#P_dF!OJ$_=P8Vh<%Z9wGF~%ZfkQIMKVeXY9-%Hpzbp4PaQ%=b%G!08Ria z%V6f{sFw>Om+71|UAj#=XaqSldDHRs)ryW0l9VrsKWE0NQIF#7`g!BXw3{3Z?|eDQ zd}D#nGY17jqpz9F!+Xda>R?~ z`xg%CM6xT*rcArd1yF<^%oL&*tWG=*e>Of*j!*M>47RqTT5=~{99qk>-adpGF$N7R zBnuf5;&nD!(y^@iWl}i%cKt>Q@>Hl=;__tCQAAZte1|t5ru#R-B+t z#G9gbeJN?87P|$@-FeMZ!4Fp|Gk4e-`liW+;P^TKc@7rgw_{?1)2K@xY=d@%lpT1} z!=FmtvmZ=9t+k!*a&L+)YuY*ul&25c<%^K=UlgE%JmO4Fc9_{gV?Z6>tY%j$- zt-FekkaBxZxs7dk|OD262IKDV}_^ ztkRG8v-2+eBrHkelNP{ zGJ<|&@i4Cz4$>Psh(tescLr6~bMe@+@F-Sx zGDWj<1r;ioNbNWyw@h09B8(BaA>cqNW1-Q9BzN55b)+bOqb#jb_)NCR1m=FV$eh!T zkYt<(MwsFfiU%4LtN0JAOQt+SQOvF{h;m#uJ0_e>Zl~ZT$m?Hy{@PR*A zvKbP~^V1$<4YUbJ-U=NB4^xFpYJGe$LHP#Vn7t(eDbTn>9_VOgZ)dPZa$0m!SoFgY zV#H^#yu&;5j%f&qTv!~v*Y57^2y4(j_ICfaoYTa}6l|!2j)b!JovUgfVvkl>*ZFo` z%(~Je(IAGH()(cPn9p>qZnX)4_7(}lc1gm%1&_^5eUrHkK}na(yE=GCvFlZYchls% z34XOE+ji0Kh<(j3wBbkR(EN51APN`R-2Fi#RU-*S3S_8(imB_!MsHk!)i<%qB>PJP zzG%TA@$b`?z-Ep?m zRprC5^H@hLl2!k&p7`hd%mEUa1eb_4{0>6s(#u>>SWesvCvuahR@rTma8-i9{j-u7 z{&IMNQ2o2bsS$D{k^2JJ-YO@VaDM6vBjswD2iGKPYB*j=w{w@JpDZ&Y{1@jhhBwA6 z9#({Zv6&m}(aY=6_{43ZFyPAt2dtoQVo_lmEiP!TcTa`BsE%<~@q$Gzc?SR@|C*

          S&E7iV_-@kM6XNpsf_FPhvzS{nrrNmY{ma@$(!o)iQ~Q-Qi=jB zAb)ZUzEss@oCh9L^(TBpX7G+B+HNrSsaou^=!-u|_(?5fR78lW5m%>!)8tx>J~EW6 zf%QTCn=H)Eb#-)Tr~)0Gmq`1`3W@PJc~BA>R9LhwSE?a~JYh5k3!X8s=OT_@J&I%N zNMh2Mg?gn-O<+iU{5>fwmGQWY7`c4PU_tdK__4&jEXsNJ$b}@Ib5JEV6X%}z5p9p0 zQ1@qjxP6V4Z!2;RqN$Ng0!Mm28^p+TP*Jy>El`Oo!sJU~Kj|UhWbg;2unHqMOA$rGN=15w*zcMyX>IZaP6t)szwu69SsJnoGL2QpEM4unY!&; zePfLT$lx~1c(`RLLJA%gg2-fgb-|nTs+^iJE8x(Wgmbb;Zh#|qjkskj9 z{ch)$p_`5C?EF@roMj84V)h&wGT=>_9AM`t33(MO(CC2Dn(i^oarK*G6{cw%FJo@H zo#UWikN)E6Lcw!@cB=Ksa5dPUE+~IpIxT=du``^djD(pC+DM=(gzFl^8R0eKQ&g)# z1BIUvpEWr*m!W)pL0~t3*|lwoR~CP||6^0Z34CuE^R!b68HqP)h#F@zO3hPP!@*(n z%kjYs_ptiy-|~_+@eLZZ5Z#h1Bfp-BP0O zBq##OL+B~NH5Ek0WyA}xKk#NrVdh9^V2~l7zYmnT(5LzC#K}t~Kh;f%63B#M?`2>q z(K*mzg-SevnYd}rxLEZ>*+I)1r!oH4cZlBPwLCLWLy4>#E+2{cU=WfeF&rGVMh!DI zl3%lzHMFaVOvcFID7>J{Up26bHrQ#12Psx`7dLM^S1j)Hu{$w2Wxx8xki5Cc$fvon0x(kprrGH&INwtgg9v&4>mx_H#x2sgX+{aqEN7!2*v&> zU&2s-Owb4!wwZC&OD2jkSqkX%6?Tn>H^%Owj}?yw{~R{+kyrScLaV<;B8t(B5eJbj z4vP+n&GMFj?1(e_1OjJsZ3g1nMU#1dS*SNL1F_z?=gN(XGZ zw^OaV4X=hYX0QlplmpS%vb6o>h@l7e%(Ev|>gqPXZCyb68B@&x`h&%i3? zplAWZJ6`oBn9AAfiw9}aC>o|)riZ4U9bfszNK{>3Xw6u$FuzEXgPp*$x_nt|LJ{Vc zGQB$3b1Zq7YDmVQnwJaK?p;3xH;*N(#n%1O%zfe*Cyx#kH@p5vV&Po7B;AYSfR4u4 z&;q;lYWjxdOma?v@eBjCC&hL5aldsTSff>|I7?hzV*|4_8;@=65xkJO-sW(@T zUpt@VvE^aCr5P}S!qsJCF~vog)r|+{HMn43XzMi_jDXGSq0v_}CJKFX6DuG^#~&FC z$vNu%nPugsjqY+Y0`EZXgkFPxJ*^~UElYM6{*Lm44)cVRKP=gBIm`TrgwloQgE~K- zI)k3iw3L*5jgRoYiv zmJh8uj>d~o2Ye)%>%)$CyDQ|Vi_5$+`|g=uV&F#2xVZDpO-@(iH%LNMKFJ%F?~FpJ z#x42Pk-{b04JR&mox6>4`Kda{w;t+KG5LiGYd&s&$nnFl^^4)|X7Ia0;ZnDABl9$K zYl$wq`!CJlRldXo!wOxz2++4xlvfs?#ih4^}Yq?RS~Dw?2l|5KvLAptYXfK z0$Bzo&_dYhrpz=#OyC8Rg(T@-dg?37H9%~K7()zJG1K(R9DkNC?0woGt0O%Dl>N!Z z^ajCs-%@g_1K_xHH8V8BmJxMjy^{w@2^0Pf}5;)JASMd7Gr% z-W-}d%;4eNWBlavX~&v{sMf1_gpA=v7u$i?zpQL@Th(9QDp~Tx`f3SRlj^{WV75t5 zUfrTE_hVr1cdTUwL)~^y$qWWAs*}PTc`J10BV$S3lIDCkV6?pv>BqxOV3lupw~Hf#9K5&w%^&N z*j+q5SWLA)dQI4vs48jZLHjL}x>mfSv3vRh(tj6^yb7q>aIK*3x%NB@A$^-0$cjXt z3~*u5Plhx|!?DW@sNrOxt)_TThDE)|An96#k0CPFJ#_7#HU(!-Iolq(q+d>ITlb3o zX^znYDRk>i3*~1^b6VpEj(1p*Yxo2MOQ5Zr80AV5$}Y@}1Y10h&pXAXLW5_6TU|X_C|DYgGj{In8=f>hfPnr#6U%#?8&t zTW6A56{m*V7v$eyJC^H*Mo3=x)%HDyw736C=ppf)&rf8j4?7?T3w+-UxgF^ehAfG* z1zDupwa_1E<<1Ul=j~y=+=hxlZZ$t;W|y`GBH8DER}cWc!vV2)n8*5t`HV+PEV_BK z=!JWoE=ev&9|MMl?~GUkZxa+c@3NSsSD)HJma8` z-fcbc&fIxVfTl~MUsglU>oOyY{-y`EWOl}Xa<8g%*nc{-{&ayG5F*@{vlYGRyeaK| zXzZ@}`M3_fdD+1H?zcEIPeux1Dr7eTnYwS0^`cEE=}jT4RdM5U_;3k>BD9>Edck*K z=aLNH(;%lZ^IvbVflPKb-hq#2IoqRD=8YDN28>*krtv1oJBB54U<8^Zxd&M3Q|f8~ zrfG0!y4!BXs1zS5;!OZ4MU0xYKdxBxWd#6lp0Jl$rW>DX@+Lm5U#@gxPW=rL0I!(N zeZT9K;L$}N4Wt*?fOus#y7?>(7O0x8!XQp^gN!O8NrmIw-}bxlVs_4h0mZCQ4*EWVz54dt$#y=m7Vu>@|hkGP6<)S88=Jz zvp$U2=QnK7ct#^hj6-p*>TygY)h>&3bsRPOqt5dWe&0D-oSaV!zn>iaWUweMZEt?j z)m^{SGfW?hROFJAO*pcq989qYv=v(%L1XlAf|AZsqhL@blfBgKddC^+s7B_w7R zJu>7V`+_3wq+#5J@3x)NnfF4<)#?jYCIppnucwXDLdSpQ>rF-QV>Hi5vWT+9<=WtkrJRiu{g*F;g$=% zl*9bOD`&DqMw}B*IQDB?pHaZCBA75Oj5L6K{f?>MB4)SV3b5D(>*w2NV5=A3KGL60 zTIH35!fwBFQ9z8QU(vz)pBIYm%<{uvWqaq83l3S80#D5yZ1$Z8cFU9f zt-*FFm+BIE7)~03#2xZ<7ckJ{E2SZx=aASHsS$T=@X+&_1LiH?@M=JZjhJbJ3-8>e z{6`{X#AF4wsge)g;=r%pchZup@VLePge3l)D=`(oTR{}PP_d=y!Jk!2qS*5D zw&QNa!l;=g#3PVI(!7!W9~1j+X#h4c{Ru%*;Bi__fz4Rr>YCY5MyOMW9IEh%MBRDP(WQCK8&%-a2p5qL@=@o%yWI zq-@u3FM^=B(|y`#?hG%^i%g8;Y(@zctB(G&n|{5j5*eh{DOTO$*XGn$Q1Hf&pM+i$ z$6(V38hfpH+o=KC`|xAFfQ;l;<0|XrdWGnVZDselBEw@Zm4{q>(7O?Sf11 z_|G0&b&bVXxYk@7ea?2BK!aQB6(`et zKM7>z{_tKtYdxI4TUrA`rWNJRdYK@cDC`qWeS;rPI4cFCelO`*=pOc1?4(q(qH|X$ z7Vn(j<-B+kj=Zii1|paO9&YiCc z@k){7w4nI^&Vm{kfVv!8dEGFGf7(^?zSiF515=qofsy8Xsv(?Jb0uSIZD0u;**GMc zH-3~$V}*oB{p@G+5&$FpF)Lf&Mue_C8>#g{Me@O*2T+(g7j7D*F#iQaW`@k$K?5kG zTuEllX2_lv_WQ*6@XJf)kxud_PYQ^g77lJ9wUy?z@l}#J6@|3d@kf|h9#!RP$LJ$) ztuGM8Z9W~u*p38a2u63@t9UY6!@*>Nb1*?mR%iV2i~qRYEea9*-mlGj*7H?++h}fJ z)*_>Q7$?@WhKhYZxr1S}?~`yIpgc5o=2ykVgRvJ(zh`xcwIf_Ri#;&N;`eG?kw6|l z`poRjC8cIw42I}^mX8mKtZz$~H$KswEk$v1k%9#e6bX8E;wF10h2Qqsx1FBrM5CSUH4H2kkH`56sY5>ii#X-kmY zmzmfcM@Cx*5#NpYt1twExt4eQO=V;yzL2PO*4lvq{_p@_K#0XO@=2$-5BdPbmwi+V z4UzrQx8%or5I0lmNvjfC{r~t3B|1oZar0)i!GXSQxz;E8cegF#2JaZYa@1!jaE0a) z3n1Kn#nX2=bnpuc_?8*rg~|2dE!U+(2RPVK32H!BEK%e6=gL?cceGHiC~0kqH#h#d@02b{QuTWRO1 zNO%n*EiqJnbDn}8fS1^{R_I3G62*8VVW_(YMG}<(`(B>{)oeSJUEI&miH@Hoct^o= z33w^*4-NFMA!?tEC2)`g-*3#Hbl=?c-QKmj?y4mwX%K5KM0)Bz>qWHk8aLeeAZ96`;iD!?RrO zSrn$EKAL$bP)*1IOHH}%$sqFM`WrZYx8iU7@^?RdM*D&Y>FOh|;96?5-{rkcH5t{2 zd8lBH9^WR7Cyh|0Pn{p-4oU0}%_iu)mkqQC4QBN>1}YX*#RR#saxw>g?hpDL3g>}3 zdrn+<2A8#av|`uLaeopG5czjc$x&3gU++!UW~E-+&V_~aEU~QgKbM?-3k=ppy*bE2~ zRSi%K8m2$s)p#2%$e`NML!OLi8N|g5Kxp~8_X&iz621Pk*zk)YNG%0H3cD#3y(-RJ zyL+{N{NDPc^}-CX3WfuI{s z1)Ch7;7O?rI*fDFbYVj1Lj@?>?iS6N*!!Pv(^$zu@2S zNoa!PJ8GP0k+1+TLxh=D9yrON7$|^9a%)J#`(M*eJ`$993#5w3_(`VBaEKz_=QSqXM&(^+&G6s zRj=4wPPU_|yY(w=+7>K_S_oRod&+!x1q@oDQ&`yTTVv{ON^%1sJWI~<0N^m0hY)>o z19$jPkcv_aKSY7$`k~B6T&W2~lr~qDsUkBynAkaY1&$J(8Bux!upMz#d`e1@o(;hK zh%70of`yDoohnc@jdSO~sYv*>{Pc_8prTKa@V)Ard{nSzz4H^PG+{XrIu!;*)V=$+ z76+7MNSuDLA)H>hND&pw8>bS@uFil2%pc(aN)gADTJDf_#Nu17wbvS4hs527MLnxk9zA~ zU4PDMjor1jEokUCvHkRx`4)6S#a7BUoJ0Y1!tbS}27JlaP-qPexk`Q~TWX(~xp@+m zJkhagj&rLHHNf@{INnNYsh|JxHMnut_^<$@1e=V(pZ|kIQ!4#ghrv;VrFdqFjG@hp zl^oyJ8>yin>S_ofCWHqJR=)EQ7P7YBE z-mmfW;8DCr4MEi(KMW%G^$a_9+xEjZO~V0}``W*e`h?~=b2Rp$l@?NT*OQye!QQsp z_a+*^XbqFL+Ng|iafQ_-y4p;JPky8(kNje;GQkWqh2llq1bu~xoh-mE&R1bC1xpq4 zTV?&iO8&(Jt!jP(G>8^JOcK(cD;2FEZgQ5J9kVIJ`01ox*#f9?DdQ9^EJOR`fb`e#*NArZ8`v6!jY;Q&$^`Lduk%8$1Oov3sxKZg=E3GR zby2h7vE#|UA`L||oJJL)Zo^x5{x~{<2?17^V?5hR7_q0Y^HoylCyxteGIACjmCZAB zItmYX7osH<20QZek1PM4AVg}@7$kKeJtbO@E`&HfUh`yk0+llXzCC5>>|tji612q< z(Jm!p$x=pE{s4o;B~Ol{Sk#8eZ~Xj+oBcL<5c%YNC9Jv&cgEVx_GnMfHM)TDCx5d$ zgvzWGe;AtuM@)@D&u}(R(_3s^v*U?>-PFk4FI08x1e=}j?? z0IqXX7Q@)(2+*;b*V2tbi(+kZ@+kU01S99oD;E65=VZr|HXOWaomiev)=*BK&lq|(0J?&hwxlk=GcYVgvY95%XLWG!e=GzS-qHrTzt6TG5%posiCAK)cmXC z{A>X>Nro*^rUL-0G}Ty=|7&@cdrR2QO2_8y$}mK%_1d|&2eoQUMz-uLwxU&w$n&3( zj_Vmst~K;IvCwig3A;SggmDzUq(h~eno#0?5`DIYMKtEJ0u=QKy{Se%qO}<|1AK+7 z*!3rcYAP~lBa!P1LViqX!rC{<*`K@>+sA#5w4@#<9L)-a;Q&&AxX9n4f#q@0NQV}H ztamV@KVo2na3;(bNb@4^B&AE`A9I>Fe~TFBL4RcWZVl$Z7nfJ_v641&8gog>r;=>s zGnX?O^g2WCT%cvGd`4u zA^t@>dAKTSLs%}rcaJdW@_8%aN+Cp@#8@tKZdO5`QB^4<8QG9Vw|vEwN&WP!a3SLDr`$$3b_?dkQgB8G4ZA12&5WAwn{SuIg17 zcx5LsWROFuxsCy@2Q&4X3>M>w&lf00%BI{z=t?N&J4%xynYv`(i9#i&iHKTelxawg zO9~>l!$j~*b8ZWeIfTuO{s#;4K%p+&BB33B3D1rSa;BJr4X;|!2!t8BJZlt&DlM}N z>~RlkIR6n{SPBEnBzvDkwM&|649exKT^KG5>JRC6#G$4R3>RL7D37D@^<}VM!y-V-ntfWy?1lpl*A?KM5DSs=0+|Otok_g*%+D}UK zaNnQR)3o%|t;lwCCJDOB=0ETIN0;&^ zuk@(<5+$)UWAbqtZ39-yT8N&s9*Y!Z^L1yzgYk%1erdLuKStcqVDoyAX{_8&h z=YemWDbnq^Dd+EjI#J?A+m0G$OZPkgK6n`Z%ccQ(Zx(cw zG+h8;zjW**d2p!cRi+R`!Kq>{9pi0o7SR{Kcvp^zx?+k7#j2Ygd;|7o>@kq~j-gkC=*e7}afU6r%k=%uw(TU8>9*Oi*703%; zzNIco)B{~*Ss%1Ko#}A96u-QTZ%66X*Uu)J0pXAGcRK$05P9}UkNsa#@T$hZ0*a_} z*SOnq$H$FLgDB<%D(jQC44lw_8%{aVA`e0DH|+-TdkZ7U4e{{1?a_bs?*yBU+e_L2T}vn~IzORs95){SI61LNZVP6cc(^`J#pj7&_eai32)dJ9CYxk@0~tWvc2 zko%{^%X-&N??N;OB!|Rik~S*E%VfoQz>s#I&Q8JITCt`kK4_oFhbnk!XOT*2ZKc3y zZtH9HS^TdS^=jJzBF~zhkF_b6D=nZKD47N0>^<2U!m^#HEEMPy-b*8d!v&Q+2xjM~?XF$MGPhRYns z?)|ql{OS9|1R1InQfRS%$nD>;C}~3eI8P_~Z?W@rYFMXXC!LC>`gPYSk1T2ot0Gj) zmb6AgicSqtI}l4Omt-fi7iMx9I<}VnCI|o6)jO z%Mv8dwo12-k2uP10i^X*3JSnJ)Cq!j{Ohko8t9i~TZAggTY@0HL);E}#U{+hW*h9m4OvFh>NfEHceT4cXo+zSLd z>;r|yq#u>-q+2Y>bMw5ahCW1K$7xCn{Q-sMe}xNu$bJU!SHXFnW8m2IzrvWlH+jsy zCDi{T>#f4#?3S%jg1fuBI|O%k5AKBE7Tg+lcXtaRKya5p;~K1ScXyZ5-+K1m|61!@ z_S1Lsoi(b)s8KaBfQ(uOWa;FQByH$xdZj|a_&EzvKGW^$=q)^2fid>zA!{VbROb92 z(@5W!!d#+$Imf+ip(f4@sSO!N=A>yExDVSL9V48XbY6R5K85SfCT0&r5&YjN{OkOK zIHbuxVui}%Hb?*8KbyOh5Rk0zH|9|5Gn|!*S6%d2D{jquTRQc#8 z5<~Riqr+E_*Hi4TBhGox326}pA)G)svAPf;y{J6LZCy55*QgIc`G}dBZ5^70fDWuD z-O1#sY(PXXw=nM8B{jsm-u+$Km`ILG38hCjyk)`8Qm13*DcG0eFyv5!RSEj`OM>{n z?~N%Wh1eAE6hA0htkBzG0m& z21Sw2#sc7yU?=1d0E@2VksEGY=99syH1P+Pe#kPWCoMlGk(ZJxM;9CtPF1_d^+A7h z^W>2E^tbI%2EZ?hW5|Q%xm)$~sEC`;_i1n~;6uo9xx^5MIKsuz6^ZWj7=PK~O)Z%~Oqfi5*P}bTbwl|Xs;(8lTccQDJmZJ1Ql2Pz{4@rl*;3y>_wstQl zJ8TBkA19`>?Z+Xzt#7F;-Mi%oV^H4cKOi7hMh?-@I!}R-Q(KxJ&0q9sRze^AhDA-I zecS15Wl7r1q=G%1O`FWmpZBoM$|tqK`0qKrkD5Z}{wY7Qc^Uv%k%LbIYJs@n-zu5v z8}@4ty-N7vC8=T|ge$grSb%JW;(oZ`SpJ@`_H4e|f+x8Oue?nl2Z3Ua4xF(bU;?+r zIA>;org;>R3@&7CN^J~MA03yjx^iofADW}ds_u$){(qGn970$MX8#+q(!#|GJie7R z#jd!Hl27~8{*boX2!g@WHg065Iv{aiNGE46241?N0Vjvn_f?Bm^_d^!hz^;VX*V>= zPCmpUn;#@aLM^E^8o*U_5QenrkpC4dPCD7pUK=rt1!`hZG2*3}xI@~4SCN!!|5{uN zH7P^%L7+G}HbPIeD19M8TS?EOrZ8&hWx*z?x&$H?BRN@}VAkm92pG}*zQZY8ygjzB zNTZE^kS@Eb9@J?m-zhc|t$%{_N}{^O)J?XQ;`+A97VhgKXNPct#wQCuJqwM)i65Lf zqo)7$>b)@9{%biOiS#bB&}VM)XUI+hFGab-3Ih<2J-qDR{f+2%W(5BKUyvGtFZ5-r zfDu+>T@oL6m?f~*bMb5WvMPYG{x{2oEP%3P>sqSu%4nmV2LQ!=_}(A0V*h2?2rdecxrZicWoQ?(XqMcXYqkWAJTIMWVfL=TDY!N&Lk-bN(tgF2oG( zF0myOxqKHxKM}|lG%WVKA{TFv2GABY@FsG7Wyj1C8jh)_Y5k^&jrc1pE{YyF>l`-$ zv(wqwF}5~cUt=a&s=&h~E`;7rJoUc-`L8-uO&)yehVoWB*bXsOdoMQy{^=5hM*csv zJSfdLDT40S1Vcu9pRfEQEzJ4g$sFyJFb&0+l`;NdSp#M>YAy)AqN^ zym}&m0rlMsE@$<$N&eS%#jHFG_dI()YrLzLNoCK))x^c!W9|66gV}X4Ght9USv*<6 z`{Hw8B<^v^r{}1h4Q8Z%f#>A^B;ZTDVaGKEGoO-JLJOg6*FgCK{<@dmh`A*+_pLC? zvV98jWtj6j*a9jKMOFP-l9(0@bECbnN~wtrGISywjR2N1)fj0;h83wtRQ@Eaw^8^J zgWk=&Qo?)c<2*C#m^Z)bwPOZQ|BT-IU&q0||4&)5U$Hso2w~5+tn1$cD(FP-bI}@; zqbyB(Gt*y%;s14SHk7(1C1d*X)^u~4=uQ(^=a!N4KA-$0kLvl_jMBoB^I68VH#O^S zqgUvXz%Zxr0?RPJoj@V(I#2W4VE1ahii)PjIp4vZkmk@BH0i+gCC zu(MMM$=)UY03_0uJyr)8TFMU{`@C(AKT^g@auT5L4#EJ$;|k=iZ)&Nqu#8?n0Tn01 z+$~!$HvB8>35L-(54b`GKYdI6bggbIpNXsHSBMD=8 zqzMfEao3(U1$iTKO5V_hwH<3}{tpudm+BVeTe|#Sg)_mw0(=2`ln^OUyk`6#ZO^{<+Dvs@JGxYC_#@4} zCxq1u1WBQ{HQ(R#TQ{IwUVI-Pg2>OYm))J+>Vk;Jv3wigCcS$a)Xcu5Mu<2S zQtkDVJzDwHmDvk{fX*iTXj^uPR%Imv2ZHq|yiO)0JzuAU`#eR%`s$bd6Hj{KV`={> zPidD8bqFAJWrFZ|kk0D)h6DDgh@0t+$$E&#MEvdvb{l7xN&*P5$F8s9#C|OJqb*!a z?=#LR+zkVN)9A!rtjE%_-=&}-O z{D@b)leCh|#+8LcC{ZJ}*~j*PEITJ)HSLGZnh)yi5HZCnQM z1RW`RF3bcr;KCRv63r>PB3ptDf(V8cLXk76CKCcMUp=(|z+*(3)184RdjLee-dFWZ zfs3JUcKSluXv()GB=xoDwFzQg;5`Xx=)CD5CfaDrH?upk#Qe2R&mqG9Z~U3>%~_)WcQW-w`-#QpwEI7N+AyeS7 z6GJ!G#uda3EI>L{elZTF+Kt5Q|H9}&a*Wt`6d}EOfeWaAo48K@{k51JLc!`AxnB9+ zVARZ%!ny2R{X6Vg$eMDou0mdsDYm`;x=?`S_DWe@*cMEcMu&lpEZYL(cO<#D*(6sg zt#`rRO}`CAt5MFh-UqHuo9D;kDY|9EvCLlZsGdK{W0g?Zm+3ERyZZKeJ{^G$^P?UX z?p=f{wHn4->Vaiku-sE&?W z0s6{2p_jEB!W{C;lAUFX`@e7n{2-tb^2<)&OiFAZ4RvGK8!=1CZV?OJCsN>#6D+Suv?{~8|)&#MZH6gC+=kAi|>4-Ku&ks-1gx!59?s*D&GLfyRRj9*qXT(9rAsdWK8)Nva}8P?Vh8yl)I#2#ul41X2^eJUpd3>r znZrV{9?ap4;7D*l@rOFG9bG;MPv_fL@`54<3|@LG`0dp-Iw$jB<3w?6nNON(#7m9& zFdqZ@`ihh#*-mpFY`k`=Ndytg zPRYEX`@SsDIX6jEt-&z!vQelfE9lhtSAbib`!65%F zFw!<9k3lk+^=6F70iw8ZpR^I=248SyWn^qW-DalnV?}|kz?!=mMYVKybaRjXwL-| zDQp8srM8*5Pn7#nCx5lAS4TmH)jfg%VH|eihALSr0F$*aZCz%Z8i6%-A&G8^+|$89 zgB8zo8d921jp(&Zzhm_^swVlOc2j8jqLJc{?reGTOE{vq^mm65BfKpC(qZ|=0Esi@ z;N_f96-Z~5DcgJ%)voQovdvCnY`1{a0h*|3t7}Jg{Kz zZ)UbNB2`$f(1{j9>X)u}Y@J2z)1EgM3HZsB20%Mzs{X}`th{}32dgqpm7_B>^@pw^ zAl_VC;sj1#><8Wliw1o3TuV#M{DajBrf0H4e~}i9?@udhf;Ix~d*WTitqYwvCd|@3 zrOdc&gAMAR<&)8C3BuhX`L*1(VIMX_guYL~X(J~4mT4YyzuS(hyT%N{)p-kHP3=

          oRhE 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%0DrHX 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 @;h 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

          ~#?sZWo9<8p19*j8HyL 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

          j?xEd|q~KbA?xNJhkRAbz znh(N-L_pG~kfXrtAOW&67UeD`y*Rsr&Qf3PR@=pQ)>OK)-6$yt=@K*QX}vtsFm?s0 zD&)tuqRBw#Od?N|qoyN!d8d?vV@DmUEORQQ<^W`ELDZH1`_p3KqTF}sM@(IR@3^TOCt3ptfK@cYjCqyj>s=tR&* zt-8r$508S^0zxg4ATPtVzeKu6p(mpivHB>(9B4YaU@H-~yBQ zf&cfmKL+r=ImtxX+{&J^X$v%#`eZv-7=2ZJ=OQ_F{p6;c*IH7sv9bj%Hb*53_TIVV zt_Ga#TAbII*J|nB+GPL5@1~E$Xy$JmJpm>jF26RRkjU$(I-ceT(vGl7KOff^W-$Y6 z>f&5TlMb!$PTuOuzFcdJy`M%7DrEc@YWj7MTC`4Ipsgd0eGYKhGymm3LBBeENh+>q zqJl8-({paz*#9IQ-BtbPve$**gLijFc?~io7(6NPNHQ(g?_ipPeknu!*i3PT%_0Z+ zKj+kSo7BtSU9Jt%$k>OL4B=BD)f#{=4?~z-l(Y_Qn0O9?c9p57g8~zNM`4uks>nd9qM7|57wiILWIVmn$+aq@nD+1W0dFPF!keH2Zrnf08J4{-UM z<)I}<$ow+perxYl&ctw~HVLgoK!}NzA*q8-Ed#M17S{6*7lK(kVdYYT-`d%pUmZ0Q zIY%~=2r3Ea+BXeHWiL_t>Q4fXw+cUKUXwDRIUoo4yLcz3-OoH5r+;vcW8vTGDYUbB zV0ut;qZHRD!*a6s*FgrQ2aWexHA{s0wCI1I`c}DR+o#YAGE5n5HhcbhjW0C}E2ih> zc^-AP{S488+kfr!6z-yCm_`rcd!@cHdB&#QymJ4Br@z-`+*^Ny81o^^>bs6lG)Eip zr>b#)=l)KehurN+VU!_EMjc`<-h5%}ZVjC0^1Jzuj>TL&~q%4y)xUgGlref=kg1=sxZW zB=!gf@!j{ezGM?PiuHx;-iVaPZV~NHeKd+FLJHvgx1v@#KB~0lJ;kV1dEvR2@2NY% zk3mn{We$n8C-=jtA59CbzYsyJeJLJ#geH$Ok(0;oB3- zaY(K#87SFJ(Ko~aj;a+(Z%@~6k!Q-Yjf7v?yHq0<#^S^D&^Ap52e-r(@d=p<@m^u$ ze;l&gegIbZz1T42#UMLd49oWQdEzAjFAo>L9(Bw?Sw~Le+PIlJgy8Bxm-?zScH@X^ zmw;SDY;VRMQRy*#`G(OA{JvLxCq9jBW=^Q zW}pqzvJE51WB{p`5FlJKuZ@S{ZONcw0Mmhn9_Zx4Bu3hdI0M z+|6po_t)=vE$buQ_(#kFopZO1?2R2&|JbHO1kbxBf>*Bu40B z>7w1yV(sVQ)MsIIJA^$aTLDxFAEB=05=kk(6Oq~to6+payxE!SSQwi8**X+-n5UKv z$23HHK06WhzcWKGD8?rVTvNypf0*@etICO^&fkJP5Gwq(?BQ&EoIZ{F4Uk{5uFqGs z`e)5K=1T~_d@#Vt)(WEzr@DskShvU@t6A}S|&a34b6_TUy{ zYRk`g+7~wu-EA&O3Uksxa7e_c!URYMxTuJ^_Lu=m|6#{KG}pU2|6wz;pTpmw#$xEA z#z~Y@aQo1h;X0$h0s%k^QL2->mxp&owfj$>vrR8wgYJ&Yjkc|2U%!nW4Ye`_5bu$W z>zT%px8FTqPgEs&Mnvsn>X@W&g+|N%OR-yK9VYah_ zrty{fRS>l5A8{@uYLFqL$jM>+f-)vK>{PTYO5Sl|U2e;pz%VvGc0X>x_V$tCI|&WP zyHYkKf#G*{oH$ab3+2;^}qWBxoLwB2L9IoQqol{h%tK6vUr zq&w=l61jeSUC`KCtqDmFo{kN!)#EMDNgm|S65w9Rs*InILpfPsex^Qw=I`ObsX=>y zu&Db3k+YJa8#HEPJ85jIjnlZXb7I?UY}>YN+qQjTTVL)z_w&5pKX9&d&2MJSTC-;F z4Q_8?vYC<4^c-#x<~ClR3|W~@S9^7 zmjmD)=sd73)cqK%!@cXgUAF7SY-z+$yX8oO+CJm6n@LL>hY%Ouse(1UUxGnbMi}a# z)=r?(EQDn3YfNM<0L9w&O!8o=wN)XEXj>^Y^YUiC74W&}msQz_ghDSoyQ$5Po^D|G zY>x#+*X-^3{N@*PdAV??sU+k=9T~TzmxRnD2JplMs8E)80SsP{raT^sTP!zK&4-~u zpUb@{mzQ$(UnoUQ`-!KBL35-#iu>DeCL4S(9ZT&U?NS`muN=~{cQB^H6TK*LUCd%d zfS*pA)O|U{6Bkn`l)Q@x^6+hiz3xB*-}cm@v&l5JjZ$p;#34soScfG7Wof5m-F zX`;^ji3ji@$MwjP{7e?Ip0?PoB_mUYg2kLa{*I#5M zRK%4SQlZx;{s%_0+}I85uCxk%L(8{!i*Ii5B@=t54;PVDA7@3R;hC3Qp{8F7lYtv% zj`Xh{wZ6ZPHpd%0b4{k7_yhUUHf)NmxaTh)h&SKFPi3D|PR(Z>l!<84)a(I8xNDO> zvTqdB=pdnggb76mPh6t%ekP>BiHPcP$F&g*@m=9h2sypMHq$}v5*|7tiDu*277*x~ z658Xrd}AKQV+~;)h$>?sjiIHI%%;l*L z%hj24c)Kb(j>Kp)X0mTBz$iI4&z_`ljz98uxd@3Frd5!vR$(pVZjPYPkIlEiJ08_f zm!ft92XV^A4By@Vkm)#)v_+A!JK56N;)$Q2C(?d|oo`NJzj@ku->7-jCA*OfSX$+_ zC@36!5aU*_BbE5Oa!%i|`Qt40t_6JIfonDmeX0-1?-Q+i{pnZm_i?~Vx zYAXrVE22HUQ2QsGTYN;2iy)z$6v+H-i2?ajAJtAB~1dk))G`})pjtH zmmkKZ?x9l=S(gjalN65p^Bl&k5+w8ISR?;mxHCT2@>}9#GO5^=*2L$CGxYr{zR6E@God2VX^hp$ z$JZTJL#cq@e*---5~?W=gxe51q*6)r=Ta|Y;k_Z^5p|zco^Vivbs0*L7Wf{-@Oe%Z zE?@xVCr=NG2{<){8|xa36RPsic)Ke2xS*Z`+icZ2=pR=;QXmW{dr;cj7}k90&TKhBamB6Ym!6;2L(f z#uI7Ur&MFdje7_-wW#p?3_QcELsMS~j&ELCl0yh!h%s`O-i+vB_y#?gM?D>#v@c({ zq-mt@(hRe7SPOj}&0b3Gf}y71Cr5+WojmvUTx@}=btQe1=s-|<+fvC+*`tYz#K8Rj zWStK3(r<8~iEE!BYDwHlfW&A8+JYGB0A=X>a?$E7bw|~X*yXj5?QZHKn?g=_Xk21; zT{6o}o_PX)I-T!})ie#0Skb00+l`XJVvIYjnVDwsZM~(VVyvz6a_}y~W~+U|ys~2} zLW?we*7!<2cEsdiQ{MWKk|#&{R8{$jBWOFm1yALOD?Anb@A(rdg+;Zan1QwxCC-%x zL7+>W+(b2zm7>F|f=KRKkH~K&*US-#LRS3N3^(PaH@s&HW802_n!1dr9<@oX%Htcw zTaK0#p3L--RELcD3jdMUU$MJ>7wWPuCe&JSP>*0hyJ;)Y*p|YR@?C{U<(!Y83i3(4 z!t27(sV(p0`h=n0XK5CXwg?pbi-nQ>?~3woR$6gx(CP1GZn~pHS6nTiFlfcrR~V(W zMWEQ3+KKsKG@eI5BGoR_`>q{Y)OxomODXa$yN`7p8xBfCR^;u9?wqXB`|Fw6? zA^x5k!M>C2*MYXoj0OQQ+=7wY#GRL)TEG|8)yQrFdridaq;9`IEazaJdLJ{4EHBCa z)y@bg?VksYizN?n7mZpZ6EV9Pw(F)LAyPUMf_TW00)weu4V?|8R^7a4hfY2JgLBg0 zdyHkneCjS#m9@b9QTzQ|GcR*9)i^40KYzF1oI|UY<`l9m zhgj`A`j*CB@hdMcHkG3NZeaW{J#lS*QoK!^a`n=$Kb3g-%(F!~6sux3YULEF)w9axpbCLJlz-N$kyoTEaVSI8JkmccU+ww^CRyDbYb(ll-}e zIh7L}(&9!bdF&GJ7pG0IiXJs9)2AHyCzx+a9cbx4Q-=*J`#n%!Z?OC+IEJYoxpD3* z7tl2^>Tfo4y*8{R7fP-@;8W5lhI5(t0?8LS#3$AGBKzD25b$1X>}w}e!g3x&W&|JF z-ZL}aYg(HjCLS!D!tpi{?KIyMC%{am)=q`-&lz9sbaWb8r5oHoL$*~TK|+$fp|T~^+yr^ z0Gc94r8<;*DRFivu}o{`L`BKlSx@!X?@HcQ4byO>GS>7bknZVVK`v+ml zk{&sv5YQg;6um)jv$av~+<~h}Wx+!MW81^S7p?(JlK>%vK@7o6YcLOI68<^o_MP9% z??8JA#gQee*aj%?9?9*Iu5vzt-;Z3LB#_M!U>XO+d4>dqQ790pEvVvQ;Q1Uc)enu` ziA>H&chjtyJDxy8rr{zL9%oCNt1-Qi`o#S&@e~RPo*=Flb8kVjZL&ihv?oVAYEc~O zDu$*TBe{@P6MTPa{&Lw*rqMNk6eJG8t9hrhL4Gy6Pp80@%flG3%kYhurQv$71{akE zwnkJaGwS5#7KBC93~Pd7dOV2dSFKQ@CJ{Jad_8k~0Y);;wEf%fw|xRKJ;};3^!Y6guuRMYO{` zF)heD$08DQO>#KXwIA}1FL8jAS)IOYv4N>)#xd`5Gn?M;#<6dz!{Rvny%UK!GWrIl zVymb1Q+Hh6TA>A%{?f4>_(vA|(NLoEZ>&IqY%_5RtQKabVuX*l=#2PVc-7#%;xK-* znu{87gtU=KXSw&)YCP4>dD`A=4(BYt%&=1}+lv8%QNyduEjMJaf-#c(@9s_8j1Err zALAHtiy@y(;}i3x!Ij)5hN4LrkOrC>$tUTS*%xv7(wODtC~m~BPVFJZuqH&eJuzx9 z?_nLFM7I&H{+t-KM*6y0zw6nu7si5y#DU1ExqS&?(2@)000sOv)ks{mQ50W{MYL=4wEPi_gOe57KHPsufdl%ONoPj(;;mSG3 zESpi|Nv00nTdIn>KpZHJs;hnmuh%onbtFZ)~RFYTeqp z&AYX297csko#n7Mr~+_V?!^?%)lOv1jNj-gCv%+0l>nr2!=Xnj@6TgwruTbwe799ID=B`|Xx^Cin00cv#*B|IV*zZB&lwEI@n@&LzG zXsOQM^h3UUz}7XBbvQ58s#rLBE65;AsK%VmjvjGOH|A(hj4TPLanEfF#JZNGM`pRo zjmA`t|00!2st{Qq59A#Q5nIw0b!bn~gmvtX*^7o8UI(U58*YqUfxJ$85L>NwidG8F z#%M@HkMW0fbY^VBBn)@B{%(s>e(Yo;uWNco*_$OCM$A&(XG70@i`f+NLZA0&NHD)w z1E#g0dj*qoR60!Ddg8HrdlIaS+$~=9$m6x4P0G*k1vC&Z#!{9}xDEhStyM=q;cEM; zu>JI$T?g(%=jBgV`}qitArR;==h^>Ec@lG(=+BqG?d9*WpM)R0)-_L&h)7Us5MsB& z|2L94qR2z8@1!Q)oDRPnt92uAlS3&+uiKdSV>qE_mlGGkoxEoWT%|wf%8}`dGzESg@=+@%wQ=8WtcSCoO$@4ZH`N|1w(A;Gu%+dC&pcG>r2njmEaBR(!#E~7M^<6e^3n$w1(gtt)Q3) zG8=YQI=g6uq*6iQjyJ&9oy)hNc&*f2*GFdhh%Vr+cvrgRs z_;k)iL$QZW86QDdm1kL{uo)T*4onacm(1ps9~ zcHvvp2~vd6Jcf^>-I*{&jPh~P$m$Dv_0?$g?#Tn!N5}(WQ3-#~uD|0gH&p&m+V(l& z*F?#IWxmVL_{f55)(Tuu;sU}H1re1#_Vg@30~cRW$@N&#eOj}{WPPhRibc)eC>qm) zGq9yr%9cYRi&Mz^mlFoGGv!%JPsq7$ls>fHuEcWP)-1ad(7rj`hToxw;-YNd72chV z)8OxKv1dKs@@vxraYrviWfmG2)!ccp?EPmkewnnrBFR^vf86TuPVUltfV_QcQJg_= zkahFIL_^Ap&ENNmBD8wg+n9N$&*JjTCD!mF@W61Tc$NZ! z)cq;(Y^gjK?hLC?Za7wZ<)K)xlIUF3QdneeZYZM@*K4VGpwIeTKOVRnDdpTc13G2( z?92jBWY^WphXRLgnG_siiaJn$lcv4D;JurhkIlGS-$<6o)}7SJ{j+`dH%MesvwQJp z)_ZUK)wAA(q%0xiy3=F<37|ZtRC1U~YbE3+>oulJK7VVz%aJ(CNTpu-8$FXPk0w9X z1$E$!Az>za{IBl4ww#OPh$?Ky>uudaXkY0JFFY-vLyxfI7TXL+;XopqbOs`v9a1mS zz&Qf}7DBYuAEx}8cH+=G%Xo}Pa^zi7@r+Uo_JsVtVYe$8U4$4i`1>xQjeJ*nASm@R zx{Io&c4P6=PP(Izp?HEw|sgpbX)1*bGJn=rhMQl6mQV-9-T*votQPymA-dasMT zg9M)MO}_t({c@AC!V6LO6-PzR_R*}%23gBg62pR<|CbJy9|c4>NE^iwdv5~P@DJzF zNl$aaD_@9l8|+cwP4|@ESHo@4Z%4qpW z2i@&hd{R*i9&@UTsihUcqP%Ut=s@*eQT46P5C;8!QZ+&j8x2Fpt`+DBf#%YxNPI2rm%URO^5d1F&ZmKj*kCp% z@dxss!;|M_`vBSv%RsIo@rRtvKkulnyi_sQQbkY=hQv%aXu#HKzaMCn51~NUeLLLC zbYlWnloH#CEQ)C~e!dwtDykcLb&ki2Av^GPFgziLw4p^|``R40TVIEDbJgK1br)J8 zt&gwIY6^Qz=dcd4DAQJZ$hWaT?c5#%X8O7wrM`-cBs?Hb3;q)?(+U0)dL66>658}D zxM_YwS8%6?#}QD|>g9fd?!yYW#Orj^#UZ!2ed3d0X6ZvBm(;d$!7_Sk5{BM7q&>9t zz2v%Z$93EAJb7GsGeHNr>T?{z7WrkeTE4HH6;@m>-+3Ql6W5j0>cIWe?G~trp}+2< zcFmv+0Mrx4_Io314G8DNI0}Ay5Xx8`ys`U}NZ_x$)!rK%tea8shGa+_ntVFZ{lXEG z?&rT#jLmO-C#vSASn@W1FoTWbCY_*$&K`ce7~GJ;IZarzi_}FQGamU6^D~dp_j4^+ z6luU2v(^jUjUB!~9+zJW>dl5p=Fgpq{#vkmcV-ubOUa(&xI)Q9TPr55BU~KD`nATg zLuJw9yZij$Xp`)B@Iqb0T@=@kXc!GzdPsonfWKB_N^8g^@(cDwJ*{z@ogT!L{@1s-N~dvNLOIgbxy;gGy*u4=hslfGn*zK8^X&@I%gGApOA`5w46`k(; zQIS|*Z&5`*K`ss&^6T}8B_uN7sdFWpn05g`UFl!ZTRE>-sC-yTfM!zau{upOLn6Ij zsjQH=S$^Ug*wfefKKm)=Y4Jo}xt5iaVul*mw(Ul+6^`_X7KEq7cU=n&Dur^fFOlx$X z8RJxK)T8xXGEKp^s4B`Xl!qwP9*65`p<@=7q(`2^FEt2CYFhv*Fls=Wpd;vQ@96Mq zMFue!aaYt_&jSQ)xEHgBBSYI?(UxLTui<#t(FX6H3qW%dBc_KVF7FPuT!%Xvp~m;- zPp+f_Gc_;>*|VgYmCGi&g8J4cu9HGI$e|Ju*ufmYh=XY7553&bpJfJNwea*Cy2sfX zFim|y@1~W#<5GLgfH2X26_(f*YH)YUH)H&^w06^T`UU@<7yF~u~~eH>s8qpRsf+6+J5Y<0ZFV(axS0B z^@QDoH@*Mu)t`xck z-Ii`qWne`DinwmqCV9ngGg|HR8cmR#>09mroj}$(KnVu7(u>)Pc&A~r8{A=L`Oa6i zQ_EoE3_#wThHeFBjh;Z}x>b{wj|A1^eV~lc3B)yVfD4D(hyrz$S`GhJKOGo2e$nN+ z#@i?xXC-zsHuE|*epevki(yAnX~N-6bDO#jQn@i`#$RXebL_EKkba86S464VRmgl0j9Bq?>WGe!xzA z(-of(gVsXGzWK9QaK1FAGL#*us1@=6^Imd~rBpygF07vivz|9jxc8e7&<(}9Q$9Y6 zVN|l@rhmBKzkj<(|5qT@0DTU#ceCuDE&10SgN=SB|C#ph6<5?>DaH_IznpUpE3xNm z;Wtu_z1PR_|ImI$Kff_@x=o36-B$cy;y&RU5%p8Qn%_v!_O0HCHnz@K#Ek^b*JrNG z&^E0M?||S8LPIlY_$zM2W@wkzPoCF)LL?37*`Gf?7?#0<*6oZFuF_h zesGu6bx44KM$)b;;qR>B84&F*L^d59+0Y*4=HI;M#g-?{YfhCAtpd5~)Ra>vKQ(oe zACfaLgWwG#<;E6j$C7JsvU@;7#z-~xU4fCAY&XCzsfHPV$;Y{`Ou*?diK7>p-n!v> z{B&$MxF=9u`BXhU6c7>BaJTE!R`;yUJi}-Iv%`zzfN|i z9kgS+c#{4E_IA_}Wj?y<&|D&lFp;{wCq5y_{7gt&dKrs;F7jd#^wN83ZVc?RRv~>= z!Q(ehpH|&mYZxu!FvPhrHQY|j9+mCyaB-Q;z7DD2@Nt|(Yila340<|T35Y$66o=9f zbQr>?L7_+^`Q@fOa(NN=)+1P(5uc zD-XPJhn;h<0*^Lh+#KdjqQaGliKpPFCyuh!`wTC^{7kkAC#XmV$O~GVRaaUy$6kYk z5@kxufT+pv=EWYJy#sE0E0updfX}k^W)u2?gUP@A1ZvXnC;M5f8qt`&LXl3qGB&7< z_uKffJteTL%`NcJD{hLACjb19qtF*0=LA=e zstPk@o8jwza)d&*j;u0&8B-2N;lLnsIcQgB@9J5?Yup8}6TI0!Nt*S4{{khrvt`Ej zZ2*mxl1DwthXL62k=R7o*i*sGzOrwPHhihO$0jn$? zbwnl_GcXNAr|v7?5%v1*ATYj}jh9z_7d)iBjE8HOO*WV$1wY{E!xyUN4vBogWc)b* zCBcZ#rHL|D%VjYzQd^MQ_GJ@VRf8tA_$vg+p6XiQKmZI>GXS`Y^r*rKp~>yp16Kj7U!VZc4nS~^RAG6HdG-_rXxIA)SgaG zMA~=j5mVtUJiB*S;k#cpYY^{&T)2-9<`5HK+9q@<)NcZ@TlF|i#)jxkyj zTjv1AqO3&XyS2q{Z>~a!sa4nsPM9n8$A%Ao`=GZ36iAwR^f;@S%#q4Gq88m}O{ww( z+|+=FncJd5nqTjYP8NP^Z0J&WN}Mhb;Lzz*4pIsC(u!{3g+7xFJTpnAo&V><)FI1q zK=lshM|8W5kdT5;r=~b!7&Ki5Y{zN@upTbuT!ghU@b#)&kkDI9S)BZ*0hd7iz~qm* z=ThhdsBQw3HiPDbF4`(M?S}|dREFXunsuXm8Q44{&3rs@bpxKjZ80ZBKLt4dGy?Gq(LfA8w`C-4bRh;rKuw|;;`NG*$_U3atOCGtF;*gb<}1Crmrc)XJ38ZeA4Qu z!nD6eNhA$&#u%z(5{J!z^NHqafvcWAV%UB)nqz!VTD=JWdJr=FOCg!@$r!=vvcGqI zenw6pY|RSOZ=LpN);(zZiv`xqsi(xE1I4l3l_&NV-VT=EZa;vJOC7vD60?P@yhoSkz^)XxZzeq+a`U7!sd%S#3TnhTm0_LOUaZG8X$^{$A zS*zF8)uE6)!z_?1Z`HDq_Aj$3fdaqvtP=36Ww9R$3O(c~8{Ny#Px$?kHna5|Hy%hv z|4ft#+|k&Fun%Q7!kne3``=I$*V}MXl{ZV64dUST2!^?Yvh0eb#QrYZotbIpA>rV9 z-n|1eE`4HZ{78Zws)Yl!-?LzOV=^q~h2sbQKpz9T>M7D92YJ}ZRp@dEH-ObGYlMdP zem7k0S6Z9V$5epY%`t6}RoDHDhh&f3mV>4l!+SQ`bNtezakR~hsw7pDTP)@RBfG80 zjhy8i^q7m}$#)PGkwI6)FpQjIeM%kOwkN8^VjNqR2+{GZ(|ZXg*^#fF(qJGh4GM0M zm8!kXP2o_HI~!$_Q38|PvY1J)O(*#8r#(x>wR5HqL3V&^@OrKthbC#lBw*dsrSl@4E9r&fg3 zITrP@&kk=rO#DNc<+iFyh^>dlBvkg>RV`d^;e@R3a6Dt2o;6TmS#FpUFz=ipdbkKL zDUOxTy)@dUUm0SN^jFQOAcB_iI+^)h`NNW7O7ycyXUx;tAn-7ABweW8a{Fi)L8h0} zRcf5&nlTLp-U>R~?n!v+^QZK_L|2eD4x1h!yi5=*|%F%e4;5#2K&A&i*z4HaS?k)VlR@;3H3? z1=YLdqlXaD9KkNfwjEc@WoKB>B8Ca$GD(HnpYSW{0S4~!IOX2Lr2B+^tiLkBjq+LK zJlS_lxhhgcDNLT=If}6m&CYo-Z_0_G1VRpEq9xQUCDiKFV3DuYRHr17^j*ZIqcmo) z`hOz=2=LpP-W!)#0ZLbKIgP%!vRlk^C}LvQqc(=-t0Vb9b3=Ku-(?#01&<|zBO=IO ze%{cqybVXtEyV(NfsPW~bAZ-W?Mo#w={E-G?6~ikI%mwM&Z=b4fHj5B1bB`+V z@t-0Xr5EC(FlZ>`>Z1guDFP>iszLW}7y0Cret$OnXJhP*=TJ&guCAEO89%Igk&q^r z7_QP)yXa7F@bIJ=$2gG&entifIU-zozamX~k+(1-^^4eq38RN1;pv~sGDdK#($9T@ zV7?``Da4Mh10ALB^b}^2Zgl_g(ooe=umlSGrC~^3p{X+`I4Bh?crp!TYzhe^$j#q`C`T<(2USUob)mZ=I@MMS47&!&gS0bzV$l zLlu%vOo%ZKVGSDc7nbsZ5!>&TcbJxF)df#1FSZ@S8!{~7o5y>OMZHRm!wE*8Vb$1y zTDxB@?67Z3D+kz!Rt`AZPmCyd*>`_(Ms;Fb=E#=-H10+ikDEodZVG&|KT4 zt0wm>;9r4X2Mt<}FIUcVcgK-Yov|A{K}*BH^_?|vT6ptT(OsVIfD5#8sJD}Z=AebA zaK(tHFmq#uVZ9VEHVj1F!M&lb1g@E{l)S zm+W#E+cI$l5Bwr&XS5F~TD9Zae1Nr+mn0DocBb_TSJ4@~)zbq7E)4&l4$<9QhKb&q zwf_IkIhJyv*1Aca#Az_~mUtZ5H-b{&!w6P+Y9XcRY1}L;2?NY1cCfVFy68vSu71r$ z#<>IsPB%6zNiCXPpjk&yF$26^ezhNiqJrV$9Bx(?T0G?79apVe)b0Pn6B3a?2RCl; zFXoD~g0xXkPPcB%f`TxR|W zoD@9v_=^j*a7P(8nuo7Gvz#UaGGo8B5(Z6?lyd2sCbqHHN(8vY!Xzmy_yt5e6V*)v zoT9{MJxo`|Qf|04dyNp{b6whzOautKAWG4-tc7Yrj~2e|5R%7UEFG1s-l+bSEfUz? zs|b8sN&eKw7JJa`s?$*!J){NtUm0oGWjk)RpXgp_kZaovb%N!O3`c}l zw&|MPQ_*c6xBY(XDL;zq`O~j@Cc~W9x@4Z>(cCVX7ltL6w`d2s_%_%XYd215L<@H| zaOb{058nOg-VfvFkjPXNiljWNz`cV&AK)1Kr?Vze22?2;UwLz=NFLIkhU0KwWr*gs zuRr}O^+w@9PQiMZIkAK{j9(bzh+VN>Lxu3!MqqSRxcAwGEyFP?EReA!)b%v`r^)YX z)89M})8x(e8e5fxw;1m`9OrRYJ8M6S;jO&R=%3*$9W?lT{Ika7jh&+W1SOLnuEyg8 z+64mz5_K7!sreJ|h%^Tw#<5x|Vh^gd?q3}%f$F_Ps$WNI z(+)k>4}B3Q#RiJFo4YYIq)?$iwMWg_BiAICXtk#0vmodxB6$0GaRt*$m1tC=UoJz4 z3GTNDfj#5ArY7N2nTQ_uUkb`prM?SGMyqBGCjL&QYhRLVvG)Og=Ff>wc&mRd=vO17 ztTz{cx)qDBl8Y-p1~VrCDLfWEVrY!oI;f?059`DlZ;Io7HX+)M%r&NRNJq4+kEsuU zU@lOvo7yv^X*d(iyXzO0xK560H}t>zM>@#H?BJ$&>8ENx>(Zgr z{A|#AI2e958m;k(HG{0N1p-;Zb&{dPkr95j!%v5PN-k%N!Pr&@K-ZpTT4?ZWN@6t) z$~rr;1FH#xsateisbZ(4)vhpYzkm4HtmT1vFjv(e(!d163nE~!@~aQ*(#ef=eBlr~ zV(Tj_;Rc426^hP^iFp4!8;=#F$r7zbr-|6k;0TFm!MK0yaY|^}I>@w%?vA%D}xf|zWCVVdcV;<^ZU&uAIZTcb)q%g`6tmf>D4VS?@zcQB1MhOxH zfbMYhx9gi`)rAKmv>6lcg$aN5qyOxK{1Z?|B=6pXs${CP-f}WR7QmX*!3pLL+~~nD z*L+#L9pdSOhS)y8q;o_q z#qgQy^J7G(8+0y=G$A=h<`t(^^c>r_K~Ls!tV$pbizhWvx?9=Me8o||+{xs4^&8p- zRXiv62x`I0DP~@}V@xSl=~s?PSncPk^faZ*nyMhWfV0c)@E)BzQKDW{gsgZruE%~Y zO?I(0zY}2VOq8>O0kCPInDpl&jBW-hr4d)KJ}_B{uW17?mmbxq8ET;armBt^QqcIl zVMxzVUqsLI3|I!c=G>?L;-7r9LrCo^Bu(;dVou{TUSCa1_|Q!>xJlZlu=SP32{c~k zSONPtIy${jG>+*uZQqash#U%9q;s*XKiNcum0_jIQqsAl*9p zeZGL)tYx*#;X4o>06c&P6ket|1XdY>MfJR)4)qyEL(NLhz$`KISm0&4^BvhD3Y&r3 z@bLYzik>~vfcLZc4gXsYMt;;0#n3MvquNFm$`<9UP;)UxsbHiUhvv+p@mFOLV)>Bo zJ<+i%6d%FG6$3*>VYjaZMZnR$-MCpajj{p_H3&y@<_-o0VZ=phzhETW292s{y1DF8vP(%t&O9t?@d4Uj?D!t|~nTfkQj~qQOvQYL+s$ zqAZ#|ua;IJlWGi?v*&f?m;0d<`Pf(LrPu7}Z;tRUAXGukAsMsqK$HJMnJzF;1*}J7%V(R$$blG+U&}lt`KFMr}&#jvgy)j zk$FK38KXj$BE}$IiZzl0jOoSf^&$vEt;lzoxqlMH+Jz*`NG)`-_YB1J3J%QDS6Q|R ze_Ho9yC=RRoUpNiirJ_E8KZl|mS@|HQmS>kp8cKs<-;J$Y{;rUrzGR z4!=%2RGd*#+8XVTn`7T3jtEbzP*IA}$~jpt7gn4WA5#2=`t_Q+=nzIwGzT?l{4Ca zcIz2BdyqAZMpotd@nIc>zw_llCY$ORDti;Gc;)9GGUSr42gd!rX!Lr%iHsGcw`7ce zQsC(F5RZU2GExYI4Dff)Rbr+I3gnhQYYj=08*GQ09k1=xRqvY0@~$WNh8DP&TT(94 zGIkU~z2wjNE^V0IlxzYUHA>np8PKzi9CoWnjz*LC0FwB2U^a0Z5lDm0d@UPkVn*f{ z7W1#|Kuu%NHi#eRBCJoF?M44ErL7r}AF=J8D9^aJXWfxESt_vLLo3YCfDY>$t z{K?W!V#aMrNe*aR>cAZ$m!?7Rn&@)ZdGm_%d*lCQISXM_lnT7~RY_RlJtZ!oZzjgb zRR1+2zMkNY(l~7g7H1}VDAGW)e?*%+a61(<2+&ASndQ0W3t_F@b0bJi7Zd4o1N2j-XGo`ZK)xZ|CL3SB z$iV%s8K>*$V>}3GIZo34x#{;#-a_)5L>i~GZeo_aJS6uWoKvdLa~r*Y%9t>)HW6JO!Tb7KXRarS8A79^E@#Kqo0;G_502q3ERw?nu1= z%mU1SA91~5mtOH zq(0^MsO#`M8t3P;t*~u~RZrvK&%kr2Yl53V1doEsUXRncVtLql$FOA%7 z4Wab9uh>3eBdL2lHBTX@=Fs%Uwp>@JGM`JQwvr29J0RlO>(hGZZwM%$RF+|(hEO=F z9a@|+{XHpM;o_C6NRLM68%z@@RjoA05jpdRV;|XN-^ky=TF!dH4tb(orq~vAHI2&O z^fmcKHG)i)ky3WVmtWPAN}BS}`mD3r!>ICc>3Ze-dyg2b?wts@Rr)DnHFwE+dWn{` zhv<)Y{_FF6+OsW4P5Vn%?w?PwT)i?un7ZC)yG5|ynkmzdT-nO;Buik%Gl=zJ6!7~t zqAZBt%i?+04U@qth02&%vmgN1b~tgBc9(%YIXkZw3t|;ofY!zTwG?jOAMj2#Bc9op31oWu&P!$VyVir?-w!mJPs}} zY%uY_cx$E6_DAb}b2?1%j_ZdR>bhRa?IaAy7|6EOl+j}MqjJJ#sAorq1;(eJCAh_a z=1TC)dKW_Wc_-(Kxw}ff*GqYw@E{QD3PPbX95I)hkjb9wY@k0nlCELFf!Ay3wuu5K zS`jp zr(^X>#|7VU*D$Pq{FbLezkO?PLE>!)!S1BGwQ$>spj(AcXmjs9hSCEV?Y8l#kKLX< z%_vWIJ9TqKHFoxEko{EmHh$=vy;AOX(LvTy>b$96ir3p@k{SRCsNSy9l0)2<+HiXG zquFJP|ACwa43y4^bPxqyGAHx+HEwmHZa2CsnH|UGEQ*7YUHnAX@J~2M-rL6(DDi2{ zJ0EGFMwmlTx&us9Am?-PcK`(s2BPk4u;wANW}tXyj+Se>GdWIMTrb~@D~C9{_KC4> z8}>t~774zNY`^>6?hxu=ZY%EKT9pkD2Fg4^V!^#QwOPRrW+^m>eENXzeGP7u5sl-$ z2n#=hqO8wlg=9xhen%N>$J_;m?B}iMghFqNc=9Qv8}z7bHw90@p(YDO>Yml;9*8Mf z<(6UJl+kL<0=IUt_HG>~m*1{b8KW=W#?4s7v9Hr!UWQ0bFEldNFgS?3t%l z2E`P4rz4%BPC=NK`D&$y#mmU#P+LU&b7Y-Gp)ulcy>Po|`wYl3e$lE4A3M=Fs=4G@ zhk&0|c*Fq)5~S+R5o+G|mH#&F)1Tl71TS|HM6*{+TppEOY(JnD`8mrQ$y#%FZeu16 ze@@f_OWJBM9fV}~9UnZ%!#po;&fhK=AJ$Nul3><-%Hxi;F3~IWy=HjG6rFPo-(#U$~7o9{6_+RmUsf;9}nJo z24+30QxWHEVXK?vvn z`i;|??5SeFlG?prxHm(=R)*Fj_*nhLj*J?wuaE0Aus>DuBmP0jcMHI5=W354MO=Yi zO_~(qJ<(Ds?)}Bq0eMEU4|c6hnGp>P?HH50?Ep}U(UR+Cb!a{gMNC9{ePfFOUk9vx z5kWQ#l+FJj`sY}wG*nx}h;f$@NzP#+iwhm;WbNbdYF?LmN}iQP4S8m-7xcZoD!&5> zg&cn(h(;sk%$r5jCs5j)>#(G9Pa4&Nh_K-^kiM9zu*5Csvx>x#Gk{X&@#=Ct8*JW; zyM1}Xtb|Ub?ig16cfGR;>J$w;<9*$VTe9<#Utmh$^Mclhj_r~~nt~g5IN*&HtJC}8 zmfN}ejjz`ei5C+qfryrOrCRAc%sPG!{7rM2ISF&wZgk%w4LrsC5u=I_o)VAl4y+)| z>=jFeHuPFlr9N2fr>hTV)s%7nG>H zI{p={6I1ah_F%ogO5>#HTRsOL`86PN-RDAR-5&EL%h!!CqIJt_-=s`s;F>%DXW$q2 zn8idEec1tL(yqU$zSfTp<*AP~j8<~8_@&v=M=9Z}R7A!okD!Nd(TAa&i>Z+6+cfmY z4x`n27dD3)Vt|c6+3I$+GC71H6fd6#QfI(;FOnN#rH!Qe*?WVcDM_HuLuJi}?XtsH z`1wN@)tuqhPo}W~?@drB@SJ0Zb+nupbL1`)bpf~)kE53uhk7nA>Yy9?#!LFNVgTtU zV-3|(B}}oiinnNUcnv!Wqwy1t`Pj^dP`SS-fguk~1O%sb1g8{Ec&NeJvrKePul+_V zYIM`#-tVLFz<9Kph~3fFE$+XQYidw-j|X+cgS8&79J>c>nkF9i29>m2Nr&e_XQa;i zp2Ksm-l5uyqyhP2A91xkcQoTo+;(xPpxs@6QhBmaMHI#{Np48h@}!r12DniUu6Wox zPvv=9^CGYWRI9{)XZD}|>=;s(lY~l$oP3I0?=C;1TbOu9xb$(75yHuCn*1}p8?Jz} zNRgdi#h$p7Co2aq8Aixfb}ZQ^lU^rGli!EN;gM<{{>|2U!N$;<OMF&;`Ej`!as^CD)B&(ebrgno8WOJQ>qwq7mKoNZW0Qg_25GtA3$h#lQ{UHsiP1PJYxvIBgckaPn~3mY z9Y?Jw%5%4+kvdQE?mpFZ782f_`13BoKCxu(kQZr zqkPac@#K5~$EP#l4%o7uW3=mlBO0UlxwM@!SQD}7H&^BKNFIdVZ8SHw++#}(%gJQi3%XC0%697L$YTqa z*6O;5ddL4n)cto*`ziuiiq@Fp6ncj~8S=OOt1DL&XeXY+u0hsviWW?#5l*$C2YSaF z&u$^7#Dcyv+chE`7ZCYY?cTX2c7a5%tk##VKtrR+kV|7#OOEwj9zO7XTr7gI?_3DO z-B+bqgWM=(ptbaVl4=(TEI|Ae`bPH&&51|U2`|N1uA=D+(@zp8VVUG>D?BSxAyy5I z?!7Mj!~8;-CS9PmEkJRBKWCLHzk3ju9s3)nh8v4j_cCfs zPRb$J`Vw^0ecIJ-tWujcCkurhql)*i=u7JTL zJ|y7la-}qtdn8T9oXmiJI_09_Ya*@`T$ znLMw7I)wn0)L&81$GJu8a>~v$O)=Y#Sd6kCAKA-CeXezr36k8lS9;7i7`Iy3<@2-* z-Pa<=^A&aOaZAw;L?+&${IvkUPe5zXC1GP8b3EPyBPagu(!VCizB$`+rYe^q^`Dt3 zx_7%@*KB0_ZXlH2Lzi@HPdKLHVWBqTeRHG-q>X=YVWbiArj%~bZD3wYUxIjX9%rAJ zeXsv_n)sW2|6hQOQX15^k+M#elRxBxOZopxOd8PEh#wh$P>~7(T^3cQ7uWAbEDXM0 z-p`;m+Ze60LIQ$2{r_}UUiC&;F$5x3Mxr_;eGT&2123bZYey{qtt~PmOoHM%Gp5vI z+~It=qJ*HH--owKrps}HCvEWotMLD*`l_%t*R9)@Qnbb0o#O89Qlz-M6?c~ucPLQY z-Q6{~I|YKKxVu|8thLwL`#)ECa*;22GT-@*F>OpFC-o>#BXkt;Ec^Ci(*)-g(@0@9 zXuskmq**h>Q^`d!gs~3~gx?qHMW=W@2>?)QZX;#gMGCSMp;ld?duvSenDw(Jpp5RI zTh=wY7ZX9$rR8GpO7;NM9eC5#gB?u8OOUeJe~*A}9vlJR?wVEBD}KZ2(C-tFEsbKV zfc@rJ_64lH&jNOh3uzVbI*5J8ntu;rK0p339xc{rof2!QdEZn2o6+n|0y&}4G_JS= zz-a8`+HT8u%Ko2}HI~0X)DIIR!b7;-OzRYbKPa5O$XsT=Y8Io9j0Ej=VF8B2j=iw* z2P2AA#n3Q4o<~NsJmUU=8e$4hoB9F(I2m2z-jIvww@#nQ@!z~pM?4pkdz8;1o=D3! z(|;7TE8-3Bd9SHd9W&3WnY1cs&xswm>($sAM<(qHiM$qV`(+pJ{eDe@lcO4r8avQ} zV)N1{jtL$yG0uGGMRdN zE2^OyrCfxQ-OJdel(6?E$4EjRcF>jLbbt1OLMJjkJq5PBzPX53m<*jE(I##Nhc;h- z8k@3c{x=J{h{}Dvxs};x4sI`%u2;NsD~v(hBL+;$o&E8c^0%gfUsoL%4fPQlNh$ec zFmY|%RCYe-1+POAp|433!>za8dOjYkd_6sZP0!Lnr!krJ`@b<8E}Sqzy4Ky#GYKxk zfgO>tS8XY7@;l1pf@W-%c1P2S;1?ftUxf_{Z8X%r{sl5G^-B9L-j^IUcnz{oeB;CT zJdyKd#jW_a0Ucqo5yvu-crHYpOr7K=-o%y&To*T=pMq|X7v}KeP0${}KOLywMp1Iv zZ}dkNoh8o(0Y4b?(lO)0m_)LJBc2y-NKm-+0gWTqf)h>xd7SGJhsInHO*=H6rPA$s zUoV_riC!G9A2Eg_9-bMmqrZ;Q>D5%^3Ld@#GN$&|ESG8N)z?ZRtqsQ~l=l&) z#dLFbQjNNg_fvV3n=P6AV}YDCRBorC3uAjn@DsBclg&`uB>&@|D?XUpm&U~zwE^)% zzR?yTN)@#y(-1`pd3JR18Jqq44P*O1w*W^9exKX=`Gg?@q6U+6o6LV6`Id6TCHwQI zZ{G6R0qEFS&axGVw_h2o-STNVr{@{lmU(ovgU0K_Hz_h+9W)`TVDea~bL<6DW1`K( zqM@rS41jInRONF?LHO%!z_1Kyxuex_c0QTkLVPy07&%SFGs?v-AWz0;^UUyt+Y6so zsWp7B@^ZBOqIDlR9~>j-ZznDe4aD_T>g%z}rfB`~ns|epLsqi0wi?m#LvG~a;F(yK zx`v@nPyEt(x>^i5KaJ+nenv=~>uIthn>Fig@b)&(Du3Atk5C*rmkcBn17TY(YnW^N zEs*QIU;2H)SCi!BRU|gAO>o53d>#RA)t?hGiT3Tf-CL(Fu9kpQUi|rJMv%Qn(DxP5 zUa1ruydHY0g-Sw5dE>?u0dQ<=TJZhzogHA_&>z}}7=@cO^7-9Zj12MYrJGI4*0&fW z=X-I9UY^}5fvcJ;;W0{3)W1Nd@ppcs1N+3=zCFITmj$6bGr{0tbrDJ6hKG7dbvR6R zV%Lau#~B^f8q89!zs7L}^$~oYDFH{8ue>zR7Lw@%cXv-v?MEy1EvI z=1&-S%I<8-RWGL0my(Z1>n{UK?5ZT=#dRa$M#=Z>^T6R$(CFn~3u+c9N10IJzpy@7 z&)obhCadwo#Z*d38uX%k5+?vhLxkgN1}|@;UaYP>ugCW1lu&!7#3lS9b9T9~BQGiM zeUOh7MF70(^$;PZ?VnpE(sSxNnWjGSh^Z?(+GSRgU)g7g!H!MAvU{`EE{7K>8apPrF3YnOgK&n0X*K(n#KQR1Y*LmF=z0qa2-lW=# zh97~xl_Tr9=_S`bcrR+zpl(-5BUCV`}-?Nm=le{oiXM;Pc$?Z zZCG$O@}ry!a3Fh0t88tyx>zNj`_yvQMr~ow&umG=y`p^e)x?t;kAn7%aXD^AfCCq} z>)h0L_b78}k@LS*u{NzkocPo*9ul!oMPu_{Q`X~ZU(ja7-xW*z{65bjg0}Q*f|8@4ipu zLG#$R@2rHnZHY@RvOZ=nvNy-K;_&qGH%;pvUOBbgnON~r_~_Nderz6-WMiebYJAtC zb!nr=GT8|Lm4P~(uh}Q;J#bH1s`=K;+Kq2fgHT?unfVL@Z`WIA=3Z*@4@n~3B>H!y z{Eul`#kU-`RFg-1Kw0HTVPNb#Nm!DyC&rWny2F}DWm~s@qSNne&{=NBghG-Q8;!Q= zl~nWL8B0T5E|p`@&OXAp0GfP#rAiZw;1nQQ?j2o3r^dw<55Py3N%h|m-oGa5zhgr` zz62yY!$x5f8S1*1=#@3<-GqUa_EpD%>9>!HzQ6&YN+UINU8=W|vY3%OS}-r|OT91( z1>0gTX@8wld~MgL*#F%@b3ictvFqRuc+j&9bHHAs*PWe4(?`6#pn~6}{vA~OJ=?W$ zf^$Vu#ih7%6(yOO&<_Y_Tb#Epv|$=_M|cB37&A%aSut<1Hfvxm3?+$ER=vvKejzjxWxSZ%{&>c=4&;Mge%3DW_c+!C5^h zl+Cquczi*b3!?GiN0Ifz1zxTu6*<=yi;tUQOh3F=pYvmkI*bKf5WLS98FPB$UlXmf zu4_GU`b)(B_Eb8QlAJe~xPu4(fOVROU5?@C3rDV=0xvgB^hF5M(@G42UJ&mk>&Cy? z@)R`V-pgfroqvlTVEm_8^0zHMK=Zx`>!*oLCq7bWLu+&TVxNJm0fz$LIcVG(BCuAO z@d~YhKN6Tb9N0G`Cxy@n?&q?Oe9Uj39}s5va66O!Fi0SReDber6*vO!WF0hN~EpQOsqTvJLN=cGeUGV7^ ziOl{XvbKTUGwti@KQJKV$Abt@vz&?JWzra}^%lgyy0gRdnzpwx^3d0D2b_)1eNnW7 zT5xh^J#>lK<*iAAJ!8C)^8cB>`TMps#78-o6;b@tMn33#JLh^*dXv-KK-~Gc(N5Xa z1gvvL<}(u%s3EcaPTZmU>!=LXz{@9$HF5_&#o6k&Xvl0FF|)pYeUk@CdN`JfdRP|8 zw<~E>#T@bY!|J>FO`r!GBsQ!>zQz zAO=mv!@Ruh`A5m?&gJhSU9tSV)TQM>SifX#KOQPKjF5H#!*jF+^lHGmNu@t<*R(gox@-&x{bX__9=~w`bvV21?bh= zRiJSEgd(Ezr>YCz;ZF6J>-&py zU0JDnPf5WFiwr`KB*ee}S8I8LBt4Y#vKThuSU^zK6|=#UOT*Uz?Q*HvCG}>5PJrj} z0uDJAWy=Or+&k3mELS<^fm?0^EFnAE4f36(_rn{Z*S(vn)&)Z$>q;a^5-A?PCNw>i ziIvmB1#M$=-_o2nV>g=CNwv1Kz)BhU-={#Ux@s1!juGo=`n)QZ?1eYScMN0MXg@=MtdEtoc1Nj z*QDsB_@={=8?F*Rp|<9RHManXZ~X2{A-3h|ei*6BS?zWmF8Hq&0L-yW>7?9lU(Tj? z)|t47gl)>u`Nd8Y--#;rUT-&Daz=2?-t@Tn#70*Ckoxj}<0ISfH?5~&hXq^;j9$1i z(#wwVMl*qQHLKEm`7@!Y(K!4}3i^Ie&3D1>8Lk9(;yAp>y(@lQ{BeNsPcdQ!F5c#x zx)lk%v|49W_|zQtMafxS1XuxiIU)5e7@50y%qn_ecXh)?zWQ%HWyaj3fwQi*!8i~% zBxUYUb?CbFXZ&ln(s8G-Be_CLmBmvV$+mbqsn|COI#bjFp)e;v#m^z>hf~Z_Y;?il zLk!yLO?uW_}30M-lKqvJLD{zsQive+r_ZyO0!QchjoOLtz^M(lAF?@4w5 z?*uYUM>S6u8dcSP4+@E1eOK4H>3d>P{QwvL8vLdeAp6ENfjN~CS;1uS)doB7HVTh! zxoI!miOYBkB%qz!N3DP-=B^4gi#PY$4MAnmXHpvN?x4-v) zbEd`Cii)EC^OvE_Lp`8tTfcJ`#S{(Ey{gFFaNQP{YUSIpPEJ+qvjXI5@*Bp0xs3ca zV%~{$J@j&^l6(LBCud@V<)5+F^^s0#)rP0togZvDso<#(W-ekXGrrtC=S|BiXIFAv zqiOE=rcJ;UOm5&F+Njp<9(SDjU!1G?a_2?F@XXm>%ttHYSno#;|s2bk;+rO*~GT5)TE)vaq5C` zsd(HE9JkFJ9R{L0oh5{fdj)pVz<95H)~LK}IW%=G2+Gqh;L-$Tfc(xY%_FZ1k^I=4 z^l%~i(t@KU8qdhBta@7J9n;d?hwnTi9g~I9tM($VpE|4jY!+JM8)PoS!XU8M`TIlD zmM(0w6Fp?R5|>4_m_@VMqB{?(U&ui9!?H%61}1}1H*0N4WupM$>^LQABYIDUN7xJP zli1ndW)}gnEJf2N23%Om#Vh-zyRChVLr)0X7}xybT;!6AXu8djU<={AE4bu)w^Se# zlT`4;%l_KFx6&G*ozZ7H*UPfsZl!>R#U|#8N5-S6fB49>kza`H!x1l|+gI1{SDPB; zZ{s3AD#gf)h0b=Wd^ftIRo>KWEn1zq9>1*^>Kz;XOYbq^Rv%}>9-W2mumsJ?=7+S5*Dc9r%%8&)AY_OS;ukdwCg?n2w}BX5Hyaj zXpnr(&in}Nw;qy=lEV;j7OWqQ04<&b_7>9=qbYGULez#vgKp;%7xj;>YT~k05|A)% zFVwPUt$2c0w&UlWicdEU?dnU5QTOc;CgNQMQo7}IoW4lhVxOaXmW9yj#|L7Yon30~V=TFHapqy>8^wW^MDgHS(& z&g%ke&xADeK4ABU{bqt_DL>5i>A+e%&a8Acl(zKEU>fEJ5Okd93gf6N^3_01UtY~A+dU|M(jI9l40sY>&gcXbbp9TI#v zp!T%zB5+@U{|>Id4hQ1#CQc<%PrlG`VBtyU1ufA4rPPs_d{`bswTN8>4ez@TA1;ph|VgKiE+!ICx6mmWekQm&LjmH1vOX zqENB&j5wjUk)V%g@#3RB8?4`#lyH3{@uE(X_;mFAioa&{z>Dy#q>97Yq;#XSe3z$H zz&s)^X1aezuDEMnm%eyuQL1W@5V5BC2(YZP?;Ig}03gV3l{vY9J5YVgIe+S_>h}r7 zj@Iix;Y*m&=K&T|K$1sHR=JE?z}9)Bugoo}a>Np^gpaW0gf-|-R^U{2h#aTqf_Acd z>CfH%nmX}GXmWo8Gg~3dokpJ~eLi4>k&UobkXmVQ9SIr5IL+&B<`;rMu}rFO z{S*e|0wUB;h;jIS6=*!MxZrX(CUx5SdO|i;?SdreymN?$Suq5~kQ*Y56N4Soc{^~4 zcjkIIrVjd=5f#W$cdAO4mbK@3JVF*~E(5GSP{MZa$Q!vBz2Lcinr5;z!Q>h3vL6Oj zdxa0Hri9R=8amF52;*rQDQ#_2-E`CbN~+3juP)C2Dp=-( z9`L4)ef@PxX4y(L{_1{Fr6s7D%F{=uc z>fSmNv;W++QwT<^gIk;}7E2GY2C!p}J`?MVwkv4_7SEOSJMWd^O3wz-A5Y>UJ z6@g+F6ROpHL8*B^Sb!R}9yVYG&<&?tvp4FD)x5EOXU1 z*UpDT!Uj%^dqg{-M0qu9S1nMuXeMUQn`+o|;_Bp-XbssQmWo1A8K2`+Y+u`e9xO=| zCu=!#K`eD9u0wjQFVRJ>)VZGCn4eYT3k*TZJ>aBRvDzA&HrdC1lhAtogn2PvwmouB z&rZX}qhR)oxE$4@a7pK^98}r{PL9i> zIN5FV`J9OIJ{?OyaJ%#AyVnp*lPht@$4=TUO+BfNE86S%l7b7^tgh2Wf=2IWAO*f{ zlMmGmPlgh8<5!|{;7pAoH?hc#PSSdSU}aVLXDS42qhgUyFM@7TB*A6|za`cXHY|ys z9@pp2F>Rb#lM;CCuZoz>72B$2zEB$+z$H&ChQP~h-G0Lt_+w}2N#Qa|hRN8^cTD^* zrDTIM#AMg@mXW3~PFaMHIwPnr&FFF7jT&j66XBqp$RM)b8F-EF?&0kHFK_gQ^6x1{ z+VUXuV0v&-nQvD67IczOV4+X$e=u0qu1`J(>i){$6%Yhl+K=w<`0%(Or!Kk)mwryl z=9mWWb11%jjO9|+T$9KGBt+fdE+RU#xzpaU-t@p5TNR19;CDu(5W`pKJLh1}$0enn z8fg??@75wy-hK;|)<3%%biv3E^Qb3_4}t3&8l5DvVjq9KFwInKC6J@VO9m|x=L>~* z;bE4pL=4xnMv|bvr-15Edmv=(LQ~TN!V^kKC>QTgOHVU#ls4ZUrF^^&ZJZGopM1ec z6XYE6v#*PN-4ULl&Qf?0te6X zSbeozcvZ!p%T@ecRK0NX;dAAT@L*<%UpAhmlHl4^be`>JTHSELnHH1c1xyEjf4;0H zxw|Egk6gO`)ASgdJ!6Gvv(fs?xrt?4ipGRQp(uh=59LUoF4V)QvJ&nessi@*VjW_R ze1=vmVu-Z>+~IMk%w#*&6Ja9$ zJsLQW*5FZdXYuSP;Z3*hEvU|x_l?Pcr;@q(4HHb0qJYL(``fU4;$~}ZPss^O|K^wu z>+p;~$~D@2+6@!6@A0#lOgT_~jSUb=n{|`9Z{;hn*38FR8?=CQ5p&=+8RcNu!a-P=uT-|Y9 zPW*hJ!@+9)?@-Dzfq#0J#UI`>(BkgAO{Z6t#%{Z`en6hHOI+5c)zOCC@PsE6HgpM z3Ssvq=CFI)?e-jx&qzo0v6=~xn}6xW;c58Os0IT*+`W;II~KAqCbMVq%S zx~MwyyDG0D;IKWjDBC?54C2*ty_WgjnC4*>-SGXhI-AAz*D9@GUqB3z6fmHvo}kF- z5s!qyYAkSn={g3hNk}wnDxa3i7jWpXmfcQr$ENI_??(*R=awG7ypbg;gMqVbW2mP= z8WLXRvx;g0>DRO8yP`-k7L3sLy=_!qVJn3jO0FUT!M&yp|CPR$Z(rIGgdAPz{%nED%54~}7@onC^wwK<^{)51bRSUs1xy#r!)jzwdI!8s%nA;X-8^&GwjK2~-?u+Bc-L%0_+ToQ;vZFMZR9sVs2n z0vnSj7%UlBs3@-i5l5Qx;@zC+o>fg`T=55!QBgTq&O~PuphfzFv161G5A-qz#A@Lu zrAF$=VdZ5(RibiY35|sErBdGcl>A5@wcGH>^i*pyDsX6oj_hIX7Lmj&uKZYY!q2Mu z$*1CdRbI9gS`812jTF;G&og;W)}+5|Cha?WGJk6^EyZ@&woak9r7p3knWjtaIqvt# zSBUm`D&Jc~f4LyuN@KxLJmGjOe&^VQF3oVRMdhW9iG%8Ro7W(hS-06W(4Mq;OH{<@ z0o?KX)64JzMi;%2Df^?WnVr=SDG6#)$`0k=9px>#$nAc*>SOn3lDuZnf_>w zIY&;;S^;`~7M{&_!?BJ^KSj{-W79%l*^Q))j6y4-*i8gpD25RfZza{aX_m+ZV`>?a zF-|WT3^UuxDOJQT!pV|=uP{-sS&opzDLe#G(WuwgGY z&*|s=sk~}o08A&$yz6kA)rW#=%1+Z^UI^3y8FG5~`3v7Q$+Cx?(JkF~Z7*pLq~$Qn z_`NLCLL(Z^W4(Q=e!KXWE>lXAR-MH}dwiu{Md($tk ze{Dap&~O90W;vhv>YUK3S=uw$m2x%m5xVpBAdwPMI}%usLN9m2LcOPA;r>HPO3KVO zy`#ly3Z+HhK*9{4`ssrvx)^gzxQsDRj~l_yH9MU{39A$3QmlFXn$tB@Xy2)cP&sl^8-9TngLOTnid zsWbhyUu0UiSdq{q9n`tVkDs!rx%)&-ht^f9RfXNM+XMkB=PoVrnCN?rBXc<16M75Jw68DJv{C>dStP$>#U&JldZLM?c%@ z=HrO?L6!se1?o+`BBm8H%UtOmPXOf0<`?CE0qvZ2%1YJ6*yfN)`9t(r(e5Ce((sY~`@unIu4pH! z)IWVE9Cp^#w$fTO_-ap$Q-s+oRe_ z?k^7^eg;tNDNu{AFi!%X?aK8KunaT@uJi@J_E6Q!whFdKc;{d7wZvIGxdi5S1irfW zb<#6F`&M)yPDu7b>@`W(n2cBEap{AevwI+($0EnnH30l}!f{4~i)hVKo%%S5sNK5~ z9=WR*BLe8`y>tPrGs^7PicR;sjKYtW^AR>V(5l0CJ7(2G40DJ19XmR}%NdH^j_Ns$ zXGl=3yd1e67)5W{2s|suNS+g-G83CLUBEDU(MP5GSwWea|cmi)Rs9KZ(}U{?KT0`s7Eimm)-X-_U;q&X1>;d;VFEd;!-Ie@ERFMr>A}$|aH; zzFFx!yQ#UPD>z~@4*rd0v$N)fK!R1e=ARDOsKPbk>Q}^Y z=$LJEsWCBZ^vYd=XVsryn;w2kK4#}MbHUSLCNS*QUDsaQ@6;?W9c+C$tlTcXN<^g$ zBM!Thpv(QwlWGJ|zJO$r+W__Zf+;3~;fH-`SV1mW6U3>FqA$Eb{Wnp8D^Wwb#?;nYIV+QxQ8Bj||Kha2AD_$*!2f(P45 z6tILu4868HfNkyMZavspo+bJTab~(quzJ0S;!JzMVD@R8)^B1GfCTIL`MphQ+~xB! zYjX4&oYq}&EdY}a+SFM;zWQgtNt8u3S{0^(X!i@TCh2s+sX^q+5lAT3b`rUmeH{A% zbG9W>%eFYTfRZXO@$oqugk-}fIr?(I0kuA6v1DbGqyJmoHtP2)Y)t@9JBhaOGqIyR zCmCjETB`O${)pas?knOGcI{=w0DBku2aaNI$er)6oOyQ!vzIkaS?ZHsWaC$Q^>e!$ zqOFWwQbanTACB8nKk&^_qI>iOO&0v-;F{hqCNlO?9{ z|KoH1C;mTfK3O$Y3AH3Aj^17yG#NQ8v@g|8z3%fZ(lKkyfGrb4UT;vU}=ob(jj6V>s}=jCxqG9+7rlX1xKDAq{eUo|{v0`^j*(>yWd)tko{oXl8N_|UtidazGB9O-i0sP=p~3GNT> zo|TS*C#g0`FSKyfHWJ@dp$O6FGv(N9$eJc)gs{5dJh7^K;FBW68ok1)7w{g5XZ})= zbJpL4T$N6pygmzxtb@r?ertvO0XFSZi#x8d?@^xyEP{JwJJcl$&U8|x9DcEejY5<1 z%xT1fB~=vb)w*5_Sq$fHxEul1S!Q&X&H5eg4i^^#_?}f26$Mj&NPx=vEEBFT@~h%g z4)v+lZr@w5(G1|g^W%Q}e$aGNEeeBNU3X}TqgRxzEkly)3D`9gJLT9%?uXd&z$qst z@RmV8!a{TruE|BhV^R$`()WY+S#-xsrEFVPJZiS7<~w#l3p!;f84eCx)IPLJ=!EUF z$E7$r#`9vj0ZWR|iI{E}+>3IV=h6AysNV^JCk4q%kxhAL4UW^8rfwqmRN3|Ak+yI)iVc8Y<~jc`t5Gd;eZ;bVNJc5DPEdB z>_C=fhVhQ`iC)^EMSnu82V45+nge4LDU+fT4g)tTz~OIn(kz6gOvx7`Z_ zfzpsSeZ4mz;W5lz%E;%@gRVqibW33I-i5&y3ku4Gp@o~ijwmA!7i+*du z+w?0W+UEqG^$4wyMQt;oHP+$OrgzCs`ZN`f#uO$pBL{QwMIon z>Bw*HUu#8qN6A8dLX7+MQqmLbj<*5AF<) zTDX839t^3mP8@YE?q`f$*%j%vmh=^OwTg2E;Q2;3A8pr1~ESPa^w)))vVSYN3-hmZ?ZT>b|;< z2YRY)(dBs^Ar{hRAzpRJnw82`@pu=$Rod?ooJexJ#%OWL*kIG>!gCZr8@e)KA-mzi zK}(;~N-}bHQu&MD>r*k)6be8~s&ga$yZFBl|Hnw!(8s5%&148a?(8^-WnU7nEW34E zK1LQe*vh^44V|U01Cv3~Z&@xT44MkM<``v=9`f6cXcHKwh)6t6kS+8aYzE9U`ji4A zn=y4yVw23>p;xD~!?ZG>gG-vIZ@Dw`=eAMzLoWik9aFV~?Fk9A8Xft=>ybLqXFIaB z*7}XEhdQ;TL!%(3IDS9eC;v7Rd|*P*LotZhmi*XC#P35auq$mZuN}o!v?>y!O=Gbp zovA%vuAd$I=T#m=eT0hVwRIJpre(09MQ`*<(UAddWTGghx`k_~GPJXM;8hdYIs^pEL!!;9u#5HYfEw(CJ=WL3-d>Zfx@0HxR9W4}Gv`{CDIPX1wB!jJj_j%S zAT>pEy>=Nt?7c0Q90uCSHp4X1l>m1onoBp%eL;RDmc+N=Z9SO%G2UbOUo!c$fANUF zcs?>K)ViF)b@vX>sy=KU5Zmcz>~-P$sj zMvf0tyK+45z@HP}Qa9TLf2PD`tRfP}&+YMT?*-yk@s>~HRM2gDS>Y0O0CT-2=R;hc zU80de1V<*uqbJde;dcG$ir?+w_|3tAb8%=^8f<*!xJ@}i<-y-%?fe_*A6W>pE$k@3 z&imWQZ7^k6-If4s_Vdoh><0gI!YiyI_{&tP{>+z z=bE?J&!i%Vt{LpsYgA%g%UUW2xu9tw^eyJL){3U8tvO?wr%?s{1mpnP@FPq4E) zhGEF5-2i(Wallb`OeXkhRfxM$JHMvNhP~#W8+jMyew12}S!VBYXQI%_-b708MM&j~ zxP6A#>y=L9OQAmLfkPo%`J0qoUh0&*hR=rV5_K`UNg=Xtf~RUCqYD?GSqy366|~iD z?92y2qO|RUFAa)&ZFhuh?QSQWot?fQyE*Tgp--P&>aXP7PKR?8E3S8LtQqJ3K2U#q zEeDj`{Zua3{RW@79l2sBYl2xjqqCDFcMP#$@QWi*#idB%JAUt;#QdN8&}eJMJL{yb=)$g5$dcW_B^RXo>mgcn6#Si zY*Er*cRjEiOUfAK744z{z%iKci+H37yw&&Q(91$Yg5i3|G`foWV8@GSkh+yX|B0e8 z5YziTon)B(NIfoc&tpDle!SB!NtvI&ADLLZX6 z^_-&MosnT-P2G3yq`;4C8eJGuCQlfBZl*@t5JvX3R z9_h=HDfr1;mm+#txO5$!>1h8awf-wO7iRV~7_NhqvDiB0^>~54jh_J*6U5s)hx+?p^`Bn6l)N=S)gc*zO z;Ola6?Sy2OKguqkenbpTKqQ&I9a*8y*bl2KbsE3fSqT!+xDb_3XC#Cr5Sq9%?f6 zH95E)c`dMlE8UD^rTxf0gMgP+Ui3z!&wNgoPB5@Tg(y1onJ9XOGV0W*9%XNWB9++a zb@#pO4C2hX$X%v{68g}_s zQut(W50pXiDB&k5V9K9AlSG}Q*Q^Slv2D}Ns8?f+z!8ZpZ+36;8T?_J&V+V3WgJ|O zYOFr!A-cTIP(eL>^xCs-Np4yLT1h1)?XG@fuoFhWfET8>_b2D{M`pi*-`B#{hSng0 zzJeT&)l(7ReLZHng25KGiiYmSJNU_W(wFT4m}rpC$1kkz_wb{S@HRqjpXk8S#DATu z&h^pZ&2E{Be)LP7<$$LtW~EgE9=T)HMCi1@X+4kte|rVt5(4J2D7SoMXMFpePhsq1O7Gc@=Tar=xRJssEnq1G zzc{KyZ?5VZZq>>zo+=@Apy#DCH2iyP{ysf#KVUR&*sXs*;E$;;1m5v?k`bv6JDNR{ z?7jL(@H@0T>0v$6UIk-|nj;R;I@^A@(nld%3gbv_Q5OUI4G1%Dr(EHHUB6AJg%(q@ zG+boo+%7+EnD5W=GY&P$uCu)wvgj8K&e+V}tiG&Xgon;3=p6`zMX~coR|x84R6c?n z6qo7Y47U#w1sV^N%Xw+7S&B^EmgGWt{t#3i2q=9GZ>!wK`uarWs_Gv?@kfFD zC&h)Lq>;-jN}tHR4$~_DZ~%CpTzOKl44dYo7!EyBF>(?kZ&OacIVjT`^~urD+~UKv zE#dX6=j6-jcFuX`&tA4`U-TepIOZ@P1#I-X_zP0lWlt);)C-?|Dc!{^d`vz--}vMx zLhJwM9O@D|)w8H-l~W#L2hJ4=&5ED<5D|IC%bGxHY%T6YWbicV(Ql~C4}yc^d8R`) z$COYRB`yq>M}AyY#q9h!Mpe>V*@kX0IXn@+gu(KBk(@;*c=xq0n=r*WKR22rbRwSs zkL$~o4OJzF(oSJT)2?U|Md2Rl2cC1J_vQCW84!AeGw?x_w=EUE?@i|i@>d4NuIqWl z)ZB;45jB;607Db;Z5`Vae)dZmw$SC7Wd_i_(qW}>_#S0k=~kIGs2hHVdu85*uHvbFy_?tweNYv34ml}{8S_f zL(^(L-JvrR!!8E!uvgflspA~ZFKsp|D*68j7XIP`5#0#T88{REMt16Ctk4rRg*=#&C&%yPW7cf9#iTvZ{{6kW=clYO?uvDI~+&ams@6sRq%LFPxFkm ztDT1MJ}+at>?H%>Ua`x*U1pA#%{dW$2MI&oz%^uzB_E~di3H%z_6Z~dTvh}uzlZ17Y7hcL-+McI=hzZ~pJUe^N0n8So*`P`VQ}2rsWj7pdvnsMoK`lA9rG2yuwp-3 z@@(e_Dn&d z8{UrAE0|qiBzIm+|NK_-6W4dEi111?v$T!DsY(vgCw(3US?C=XeL0W(!T~`PDf)(T zgY0yHh~(Eh=!jU~5sKOcDkH ziBi09S5s3|4s*Fp+(c$6pZqU{_v{ooAgIxBK9v*iz%|Q zd7PB>9R1AkeL&0cX!{pf^nouLO9O)of%Czo)xp2l(ajMLj9gp^d*mPNdl=Lb7%i0= zp%Y9f$^wv%Hbt`gpN9W@Ljes<7hl-ePa1emO(BD8!qed@({Dt$@ufywbSo#5MiYZe zjgvvpGf8m7RO{&n%+aO57bKpuj)h(T1X~*65P}l3>Ev?4b z>~wkbL}JlI1}*`?SfVp|31(OLR)UM0)WH?Z{xlyB-gc#HT=V+`9J;81h`vSI|2^_9N*qv8LWWLtEq8b-O_1@BEyH2dYCu{p>6& zuAGk5gI=>tx&>Mt%jQtyhgG~;5T3CIOAi>r_c8~**oYGfhAPT9Th za=8AGmOki`wDW^pSCxH(GcjerfyQQ<&8{YmICcB#^}@JWPC%O`u;xl$P@ zLnu$G!Y}BYUpmc>dTG&r+bCzf@>)5fjBI>D>nOc;P{BPNXXsR+m53_A=x55*MImi` z8*ACJ>wxjUMtK1_Vo6b>)~3N^7_Wo!+~-@XVtR15V=TJnAkz&G55%I>`3zSWWrFX9 zDI9b6t83n`xC_t{1k$1nJE8<1DwaL(G?hpu7gT}ZyOe)3FuZI@tu&3&^*{@z@ zW*&<*T6p~hbA!S19P~gu3dICLG8f();tn~M#S(JFPSevz$-=jDYFrHqiBGI*WM-6} zWltW`^u+$LE4!HX6)F~s4wpPBJm7p@rh)C~3-*EMIGO6J>TXp-JAS)hN*aNk9DvY}f0r1dYuEfCPIaHTe7k+{M>V&He zk1oz*KRfo=*O$ht*3OuqH` zMhh=H#x%CwvIcQF^@KAY2@cr*a~FHV5m1&J;nJ|V2ZGJcNuV@NaArJZ_=na_!~e7s zdslUaolsO6{S)7ePp4wPV7rmbA+SIf*V2f8FCz`goer9^VJ*M#lJ8jt3Mi=zINb0F z`rJ5E)f%Bd&t0Q{dp8`0W>pld`6+i=`(9uU7Ox%H<2T;nc4O$Qd?a1{DAfiF!$kR0 z>x;ZMyGAhT)d*CaMYk`)D=t5l2b$T2`$ozJ?gxd-!0f8z}4Lh4<&Z$WEcx1|Czfliruvhtk{=Q z=3Lf+2BD%bPA(*(*r|^sY(U~MF058_Xc2$9?@QVfO;nmTHrP`OH3ixu0iKzTQ~qwjS23WqBsja z4em5u0`|oS?YfypPAHz=xRJ&%_iIGGTfh)?yrmzXkePoFx*|vMDyr~2btsKrVPQkN z8?$yS3XSSnYV< z*MV5c#4AM@-9d!}61z@4?P6r|7k#-N*F6Vrnp-z=m(jBee7h+n-Za*>RnK*IO81x! zWEAcp6DEl;=n>Ws`~Jqnur_}hjB(oCtQbI65iZg~nnO&^N$j&k0_8)|c^VPIJLZ{B zFyvGtbuipYOL0 z;J;4hxbOFAW4J^3M9vdi^PQ_?4V|Ly9wBu8IQiL|a;}o?N=RV4zu#}b%&yOc-+~DC zTK?6hBgyr+g2gCAT?`v^AJ2>IODsd}c25=kW#jNT)_2yn4_YQq$HERC*$6Ge2U>YG zXha`0{6W|2gStW>?*drrC_~=$)ngHBplXpys|>2rLCe~ZoqgK&c>%tj z)wYyX#J^CDH~g5sX23zeW~L43Y8xaI zjOZz@xtqsMyjBta^qvmZC3RWAMlROm#+c^lX2slph6>lllR^1=kq2(({ zrz?7VdL||*Y@nLUVUV|;rH<(IXZ8hh&l0cU^yiu-4uj&( z?w9<=D&|Rq4AcCMvm85C4YGOU8hq3>xB)Bq%Vx8>j33B@1ZrStcyH{p6)vh3EH%2) zvjv-eiqK)p9nI~cBqz;p4l33d!mbWf1f*DNS27aABr3C7S7 zePut>@_iG>AEJ9{=azdjUqSEwmD)>F5iJ+Az?;14po^9pP$n(ehyt+BmIEZ z9naRBc$U>(vPVDC@pu|4|9Sgf1uXGx9>RkAdogMKpBXKY+)~W1u+*{xPwntm-e<-3 zegL*CF9s}LXp#^aKl<{7hqi=?%79m2FuD7#%kE2Syj(Qi9uW0 zU%UT!p=DA2z(Ymops*ED>EV{i9%3CaE;LBwI5jPkMlFNp?C+EE!`m|L3{G3hs-N>d zB%6TiT;s$$TyY3%(v!$&P#?*kmm%>pQW7^UKGR-+1}PPpp~mtN>1k5yys&qmd~RtL zL4?jzW4_y%^&G0`cAh%B=Zo4a>ywl6rZzD2)vT0JwFa{YpV@9SW}?N@6kh+L1T(9_ zQB*3WpmMWfcApX66xPEcQn5zI)N%6F#8R+Hr=~daczo=eHMnJTgpGE)7!p3Bb+H42xDn%sF7HEi;MMekTSFO3u(e{p z-G4f?wKrscw-tL95-JN=G`I%vGL4BQHhU`9a~ee#Ky!m~oH2g|uxa~`(@njiNfmPt zd^U9dzS4Qcwem0~$cBiABf)9cqDWeq%;mTSV{cOVc=d20~f3#=dy0<#_?>ExknhKPTR7=DkJwsS_gjmWo>M4 z?4{f#Dem?&rV(L%$^*_EvI?X@+{?txD|)l;=2}(tB=BTp#oCL{CqN57GSYk1=*QCH zuI`wIBd=v;)YurFC|aKgmhfz6o;7qR`u|b?mc?=>2}Zz$?jdTWVJ#HPA!$_K}#VxTpLcjtS&A3SgjFBI!C%14y=WA-x2Y>)e!E~ z_e&|vRdOwBdX&N!r=FQEPMdRq2t{SZDuOCnIh8*Qcd#pLTIwWdR!7DcGVgTkI}hRqQm{Ll;Z}1eEyz^-iPIs+iP^!1Dsb8i{L41X{(M;J}c+R#qIm~ z*xYn}HN_1Wj*$;1lSuBM`_Aoh0=vv*r*6wvNS@_EkBiS2uL%pVD*2 zx?MJK&JpUihoyk2?LS`Xjq8c)H-dup%`}%@;%;wF^qX~x zn(}ep9O4!;C?QCQUEfgSjs^ek2-NQ$5pk~F+o!c_qN&FsYtxGN9d{VtPm(d%4J!H9J=D1k2&djTuf+l#zdc}MxdPYL|E2( zGO8e% z6?^Gww_*45yn`>oC0h5bgkhPxd}imAM4e-tFy+}sRpN^WymF+C!~}2jqCpy10OtD*!e0=X|G;~XiOy#yEP~y>$IzzJcGJ}=sYelFPf%> zx?6{vcN7m0pEF%7MFi>?=$M`nMOrTu@7u%y5w*UFkj` zT~90Px#%4g_uOss*|9*q;P^jwi%xml9eN`I9qNe&vWuxsr|`Q=lfTFiN~gW~VYg%! zD~ONGsC*Ztj01q=n3X}FqGJbJ2lx{=T&HC2{mG#gcq%xDb&b2)n;|NO{on z&!DpD6V0w|Vr8eN#%2I*K4%LYvZ zK=iSPl0Efe6~_;xg=;3kVlW&2o*fZDyNcbMpHr^r-(Gu7b&p_L$EE!J9t-?Ksj6&b< z$rlsE46uk~Fl53@3!f13a5aJzE|hcW5rogpaPKnB_ls;ojGhAl1Uku&o51W@HQM3h zP0>5@$>y+HbqLwoIAIYvk~H2Z<*Yh7t+&g`Dt)Sh200yXNlm>{?h}${nK7PeXiFS> zq->qp>RKw#eF07AY`O$Le{Y)YC-ReFfYZP}fc;(&U9|;$ZKVf(fEweJD1MdP?EI=x&qqC8P9>p!BM9ycKa%kJsK>pPg9BP@`! z6ls!$ML=@)r>>sQMd_vR9l%)qFE1o4h5u+$c-Jx{EF9KNwk{%X%Dr;}nasONw4_ez z>DCiq_3R$Z8_BeH;>h*K=+TzW$}^c*ySBcp#%)p%IpBi_K5EFEilhZk3z4coB`jumOGSQT zr9IRd38Un``6T!@^OidnQs**BIt5{SP>hj^gh?T`A~0_v{_7QI`Z<35=|S-dXUs65 zErScMhgWb6LGjLp38{2bf(f%A1iSx&rS(!*^aU7ngRz16@d4&Sq{A=WnFxT_A^tkd z9ROOBR^{|bOrC1g!jdC^s-#^0VZiMo+8_qefE~%h4c*=U=5oe#;>35CJwe!AY32v* z!8GPf%vtXqWZvPx8OLjHW}n;8(q=wF83xzzx&K(2>AGWWX06g2r+RZ0Wla^sHe`{4FegO~`g2QVzS~IN&36X$42chpCv3$4uG)MMI&o~tJr!i`rRsvif6TD@>6M5UI?(Kc+D6b8 z;GT`x#k3^ElmP}!SK}stMt^J{{3r%db2e}QIG<@2VrXOM9JTT77PUR~$Dd&y)31ZD zO+OlOY;d?#{q2T+8$%(`!t(PjqVz7^qeoj?Mf@f1;1IuRySSakPQcrf}5|C2QU>m`h^t6~xlA|Yc7sT{d+)rv*;0hGmhx6t=6q&|Ua z51l>(u#M4Qk%p9IOB%aDlA+Fb7r+3K`twRDDC z95x`uM#p2=1iGHOHAFJ%I}@75QznCnVxeetKkyU;kh>e^rkcYOP|TU7N5*>A4a>{bs+2oLU7>ApYmfivpcM7U%fnw!4z{aGcpoh)bQF0 z$owm%>I%fe{F9W1%{#2La^piNSjD29jSIK{yHwv zO3Ane@>^`=_73rly53RNAm>0TtdRvM_Ne97h15UT^tXi3cdXYx^lrcfJF8@@_94DJ zkEpIOt)pvEFLN19I(SI@IV0tnP=TilQ{qYo#B;g|7hw_ z+KRDht695a|CkAemOk74&XW1VTJHp@5cz`{vyZEecQ=-&21&JHot^UHR?xWYz)Wb# z(WjD3nSOU>Q4r#hsaFpAQ%w$p8Zmg0UD{3CGld~-Dgu(q#n!mWG}q>w2X}}g+|5@+ z?+0o+aUB8stEU#l0kgc=9Gd;wI+Nr4P*O?(EeN^Ke?66-XY{*_IV&+PoiBHf*68BN z5h6GmgH!c~M3&6S;D7lS5Fl1#zR*cnY1PmfjHA1YJ5v@^jTNC=d3jDNW#W_C9$N%D zZ}oknaJzvMAiWp%M95r70mQlXkUu*VWE?L zZc&``xJhp5GggcmiQzy+&sa=AN+Xj2t-Lj6j7Ta`UZn& zasz2NisH;xjk~z#k0m-YLuQv?)!U{3jZXLa3K0`k6gK}8c8mLrUHBZ7Bv3M%5yrgn7KVgHY1V9) z7K_g;ny)bgJY?%|akiv0Zq8*_qE#2@AQ2OLnLGt?aZ|Niy6}K2hPy zl>g;yj01eZLo3A9mOZ{{!{=C*2$Fxc+Thp%W-|$u)NL>={$#~6eWg&EaRqeTYiXr# zjL;~v7z!HF6c1)LWYx1qzPUA?UC1t-A{dFI9vn3qMU#=w$qX7!l^Z3R49!Tz9BZn& z!k^D!{rW$c2HWF{x^08YJW#Bo@Jf(jGHi@4t_mZkFIn(3F>rKL+Zh}-BRaXRWx5fB z#1{QrNcIlK<*wGsGb%MR66fl?{%W0N#)|050a+zsLz*cFnM|uteSW9j8G-!~gh$MhjRRc35x^gbIhVo@ zzL!v~l+-Yh&bz%_CC*(`{Mu#_eEh5K=0r@-KD7Bq31wQ5{;tD=@%V@hdheFX^Mv<{ zV9%8Bu-vgq8%9XF(pt_&VsAxFS9D`{A8FjJjG2@q3$n3j4m2gFlEhP|58fd+|hlvqfmrruPP=MRuNM1Y@!lqT%tPC6nx171-}uA)odmswq0 ziX6=N-Y#&}S_?%m*6^-1q1;#aYfo91BcO?gE+zgKROT9yF$ss&A*=wNk(|NuzsAiCET?6ekum#1K;z+itauEF5t!Kv<3Ig za6_%zMOsEW69o;0T8uJ2=KrWX&4!RPyV_-UR^C{HZW$kkz7QIEA@-4NbT(goXPW+P z<#~XRgQpg1``Qi`tHpM{-(n@wF|e}t1J4l*QWbN4Y-ux@qwb{|jKK)yjGMafes|LA zX(H;or75E)aGbl=K}mT&OmY~!6^Z5g($0e9smbh{n)j^ngC2B>b_UXxN`yj3>U}bu zjmRXmh#nY7lI+sQ z`_7T}G#hh~5WxJFaCqPb5s%ZQuN5P&yuYj2ocgF#eNL7$3#lY>3%`Qn<-c&KiE!nP zzd3>($S~e0g18WSMDkkT^|kFugFr-Np7UIHug(i@jWmV2*rB52pzCsUbPmfuLYQ0N z|Fap|0{k8uK11er_CJRm7;q8P?nQRgB8@-|4=-3+$lY}p8_I4espBo`m`ZQ3HdugCQhS%y%r z&yb)+QUA6PEMQuOkrOobJy4}f#@qmt;E5a>Imn|-0%M`lIJ)(gB^`$7q4Xe~P@_+= z>CF$x{bbX{xR^LD(z@1YHG^zBoZp>e>PV*MgF{N8v&4{Uf@>*4Gd~mfLKf4vl5AWW zVjVu68C+d;XDiZ~k{DtA=whL(6z{{y3avIfKO7QdCg5?(xIk&1(eEn2-t!ua@jArI@Zw65It zNM9jO4Id|GVzT*?(p#P1Ca+koMRBoO;Mk`CSw7VOS2$Vr~=Ma)7q0ms;@XqT`^7&8SH38;yzF%QGDi4 z>Gl_5y}e7$sUua({FCvMSJL;z4)9zgq;|=D-)zJ5OZx^kzR@S$T7I2!bV`YVW=LriM~eLiLREMLvv7wI+l zDza^t7$-G1OL-g>?dnn+Vuw3u-iAp)k?^%Z2WBRTYe`8z81@iG zlK;!7nnm%SY08nhh)LcAgd}uQD$!*?Ly#^@boSYIo+>OSBXw3-LPFt@qyWIo%&xhPzV<^9eOHB3B8`z%fRJ^u)^Ir#LIMyvjCGuc*U zISd_YyX^lC!fa9eK=EZ%qt%>of@P_g_nZZeX?&*sU7~{y0C&>S>OaQbuR{3U5q6pc zV@P~Xlw8E78IWW76fJCZ0cb~EE%!3*cojjwsyZ&0ZrL_`;4k^0z|G-4m&_%ELzh@L z9*lRWaXtZ>CdNVQO&{rA#i);gtBi5v{9(#hS|x4seu~>Az?0kuaWLAt?yY%}9C6W_ z-sChn@dP-8%_ZS@J`%W`zXP?;56A+tg(x{fxa{xjt#o8>JPVe-y8$h^`*ITnLsZ+G zr(sZ))>Yo5IUyRA;!@cjx#`yXSb28Kn%GRpb0z3mtiku4@!;QLb1!R3 zxr-z=CGa9Rnz5$*q<9F$6ie0H!!8IVB~q?)u?09ZUh{>urh^ZI#EZ0kpg5?Ae+rk@ z#(g54rIr-W2v-CrGz#F*9|~oGd%8N|@w0H3e+q0ZG_pwz?w&O`2oTj)v40)wuHJ(Hp4?X7)-&Au_ z{V9c-%%|1yU^-y*4)93d>df%;)S;!zYRC=m=6IA(c}s9l$UW2Mf_KMF7RA@+p0w6m z=W|(#@#BiQAEARp_i&1(^7R*hzd{7q&^DmcaZ=iE0iJehu)+{>HLbDi#9d83#R2R* z%~Lpd=&*~%+yX^!-+f%c-#*Kg+2L37vb5eC9!1CT{4SlS>CRRe4$8aLd z$bU~iFxJ4%q{p>JFdWDzjTzsEi<%ma4pT+W(oV4(vP6!=QR@q{YSh$z+G_s;E>&s4 z=SrgFt(P=4e*A4mA%MmRhFFVGF-Iy`Ufi!3{thy}0#bX6Zsty7QbaBevky`r9bK+{ zW~9%7rQM^!7gc+eWHCQyFtga4W8h8)G6ki(-9iW$d%c_G{Lcm#z{`O6i-FhM?_(}GH0L@^>l8K zr>uOyZIWzE3BEm9LTyqj4Guq2@2}hB`r;|6fja{n`3^`VKrnnY6&x-OT_o;K6r&+za5V5?WZ#_nGO3#(ymb7a;)S#K>37(->~UT}CMr z2pIuTs6iorV(YIqgxb*~a9oSWdZiltdLhIhS0z1z4fEyI#{o+-n^q;TZf@j_0QC=41f(-(aN ziaibwm?esu(**(6<(@kt(AAYiC->g_)@PPu?k8?15CiF!MIpC0k(M{ek4kllU0)o; zw0IA$x7;XO*-W7WM40DcB)nuv!c^s)lGasFhUhe98q3aTPh$c7sf`VhvQv2D{~%PZqtwN}!}r!p()qg19Pa zY>tiSF4)>V4tD-%s~;$?WK+n$KJ+OLDL2!r5(1c;`}$o|^954M=}qI9$2j>y?uV`9 zLPo}jQ#G=0)4bT-Wz$;T7(>Q+T*uNs#_d!6=}1JSxV_^LF=57exkQc@^6)EE~v#bs0s}?~r18ld! zwV;av?9DMSOQm%=k1=)aZp+3Asz*_Dfkk%htGZeYNgs`8P)0LOaFa{Uyx>G$%6})d z-x@7|_+>4$p{z_eIV!}KtQAgskI|tSj{w8SnULj$)^FGU_e{j*ML<(yPL+Q*v&4$m2u$gR)) zCYbZZ?p=3yxC*1h+^!KdudroV=_WELgXVQyzhE3SknyAU!Q+&Mnjq>ZmZRUs4;?~1 zAKB7DZZ}p-10zO+pmMn6C$nCIsVO?!9`7{tj$X8H%Y&MkKT`(&8w-fO^MBOB z0z*1|$I;P5MJ+&;JNRA4}LJ#Y$VJ2TVK4I73iTbTTih!3)ppA!QAKz#^Lwn>?@Nm{ht?9pzkzecrHi29+ z0V`1h+0gRz>2m{Dvdq#&OvS}$P%?j#d%3P#-f^Za!u^ysKuBAfcv`@KhvdLSeOP^YdKbmNRO4jOoGIn31&|se0hSG`2 zzOdUQ8ZClqnk6fkPZE~hH!tN6torsbi4M{PxvdVl-QBIIIyI(J(dPGhdqWYzF%Y{` zp>`j)C?*~kurJ&InxQuBH-_!5HljkQqzCke{~U4tnFSrI4TT-Pg?V90?lacXHno*{ zi=SlgmDSWn_oK)pWw@rDnF96yx6M0nq)iw%{Ga`B7 z(1HGVPRDkGdztaO@eo5})egjrLsqi%s@j2DYqP@7;dLws)skx?v&=DV;^-BW+QO-@ zH_8g3IfiW(j#LfixQU7!zmPsN{tmV;cQ<+wwI}&Mbt}^XRqX3u9 zN^qbFu_-L5b_1wD9fv@nJWNt>NP|;$@?8HDO0^HDnmcb+sNl0X=iDqNi_9qwbI^6h zQ?=c)=+KH_v zhmD8`WxyE8Cx0T(BH|=2Eqi<3*&{nsC(XGLjNEIw4d%#2OMSVu~mq@kVRSndM zyec*Lk7A@jM+Uwm5Oa5NvU~#7jWGqNT!P~&SibQ)p!I zRg9m#lJmwE1aF54o!cZDi18{{*`8Put+dfr!kX<7mdtkHwl>9D3N#PUnSm68& zEiF4rCVGWtUOqetsW)E&ICiqUaky3E0BkXgEx7!W60=fY^^bQjzZhpo!n-mso|&Z1 zoWuf5R%ZjA`40n-;4kr_I}&==c3Y?`vpg!Sn1TIM$w^L#9fhOG3`~rl6^R5wk>nP1Mu(;mYF7 zXmBN}zb+gqwy7Ank&^v?aIYEht^jM6GZM!MiJ(#?DsAFm#885bV?cdhS0IFeD|Bpu zLB&1u{Ro}Dx8=`cVLL~CI}CcL1J2a(@9<>xAHS3xidi!XO8Llbo+=ypXFv+9@iQ;5 z7KV!%;;f#YWo6je{2V>CBJhZP8{x)W``4IUUJ`aK*`wJaquW~d*zBe6URY?`Ex-5F z4~791=tu}bbV(bxP;t4b<|c=`y!89R`p=fqJ3-1Vh5JAlq-q_%GMYdvnucC8&>KV@ zuV~OLgUFite{#WoAG#HxhLR!)F-&G@(o2HLC~yaNYtrHG-+Q1ye}x;6LylRKOC@-y z&q&=*UwTrJbaUH`JH;7!TYV;WvxToLEsbOw{D{Kliwoa#B2KAW?!j*5#gKiG)uDb3 zQ5-3WxKKU&?T;xzU<9#G!*_*;(wn#W5W4>9ySBiWeK2)GU^VUJL@+OGz6I~#&q=;# z+bQ~vpYGFt&2+Uo==#fy?)fEdPt>MV$C>u$c&4;?mzCN}Q*BlU(j~0gQ3}R(Son@V z6_CG*3fp|&m2Bxmjg30mn{U{add`n4gLno&9pQ{OtEOi9;1Q=bF>mn%FAKt#80Kk- zvXtB8Ns4hZZ3>tz-U|M>X9&dx;1&A6z~VmxqGI@YV(h%pwjY^>w8zxgk?*57Xwm|d zOgs?LP)eMbJTdS)P5!np8$*N?B=KHj=`d&2wn(yZ{zRM|nick){8ng+FN9`Tbp3vh z?0`E^ce2yz)9I|xFYWeYLqgoU`1uHJTAC`jOt(;Iyd1fT85v5+c}hJ_;>ZT8iaT5Z zv?JE>sQAyrxFWp|T|6m<_S9s3zDFDTnkG7Q$*`iP8?fokNgCSmIa}hO;BD6NOl&P9 zkA(zcL>sC$IG_0@9WEDPipYZclI4wYoh&JT=m7W+t7n- z#*sOsLDnpE{O>HXJSaXq=vPOPdA%ibLn^1nAA{y%<|VBlz8V-b-qwij7uQ;Q?Qqwp z!$+xgc=@Ky%|!9PD38CIx_pK4bNz8T_Xb9;NocP2t(s`tXMB*d98YsZy9iKM9iw1e zg^gW*Q^VgKV8XjTioHc?T#CSAjrESUMONG5uW(hIrsJt!y@TFQEfDWL(*)!Pu==~% z+trf^&^ROeFS=f@bmKNf3Zp1WkL_dpVDa?&rsV6neg_$Xh&uZpp)SzoWz>v0sP>Boom~ za7zsGgp)adqIGC!rN56JUm6&GDu7MN*26e07tqsr2y4j*V|=^n8CGPO++Ro6j2&EE>gJb@JTJmCmTne~8m& zD1Oye+&z(NB9^N`9o89MZANdYEsIQPCuwkM7w0cjVJmqhuYX1K*7J`YNsr2-l_|N* zkwfDQzC07-AYyz#oC!=-?at=|XAwETg`hy5QXq2}ObSYsG&CigUO>ogYx%QnEE$`a zxFg1J7y&EUO(4Q(xj=tMv__Rwnj{z=u#H@*lf&A?WYR5y7>C055MnLDuz16msv#)g<@tzyHSt<3lp|bE;-%1x4avQXK4j!4!fg9&=hs zJ*;=`HasNch3|VNdH+znTP@BJX6~v()vX`+w9!Y?91uoZe*H>I2AR$8fa$;3DS*FF zz`%zOZ!}Q1cM3c`b)M?}f(-Qk>s|fc`n9HzBr&kSFd#7A-#h2;$m|8FTN&fXk_Uc3 zw$>j{CPLT!n-H-=f1lxGH08e_#r34D)x7p3^;0q4W{Rg3OFG4>aVL*ZS=8qrMnPz@f zaE1w%G9W|vq=ucM;ec0(_VbPbZ?PJ?d9%xc#YwZ(@HQ9(tlBU|&;00lhviR+hT6l7 zu7bM67Pd3n;>OzD3lzPbW=A{HvbTLy<0eP{9C_bZO~PIK32)`$V(I`|aBF)6P~`mg zWSp0sIGrHQ$Xon~BzT%?G%}L^80rvozpiFpQ~v>lRo=yWn?aNMR0Q`BaT!G!vkg^T zE>(m|pdB96%l}m)Jiqr_l$Mpn7~9P}x;U_F{bAJqq(I_Tm5cGnYIe;dcEq?=9*>L8xHZ){0OG z;XjLSrUi-Z@dh=3D4=PtL2R=5giNz`H9_(Tf|6&PM-+b6#yk>I2 zHL%T|GqTs1fCS@%DIM6lww%M(-CI)#V0Y)$wh@%So1pBo^=kBrNib0H-;>#@F=#kS z6^)ZKK?YM=b*R~r!TB^)<&-y+g#L$}%KEYh?7 z***`XAYZ^t9`f;E>%dORSjJAiicsO8Ofr$%Br_|G6Sgw7Y9Nnh{0(CNaRzo9M2K=S z+L=@`c&#d|_hTfHof-}MH#H48;_W{vGD>`UaUQ^&EMI1vqw=iBZgD)>CIsea8=R&T20Of$RS(Z*eI@p(< z7*sYmYZgZg5wL^uD^^Wwc~hf1^TDlxQ5R237TVqlXX_Ekg=1svRZ0i}yO44Eo6x&% z<9jo0y<2BS*j~%n$=);oAM*Wqr@F&becGKk;sw9|V|}Rp5dPX7-S>?TJgicG!*FOn zFL{^#32?Sl{SgO*K#=3$h4V@a>g-yA0TZZ}fQXMYLFaV3ZXK{LbqHua8tVUC*Z9uw zts>v{UU_?zxn&SP&)T?5aigzh9GF%^Q+b(`<+=me_~wtC1;2FvmrmU56y8*x8%>2` zkr+)oH{!BSvd1y9$-UlkF!EwP|Za#I11#XOq6WADM;|2*58#E|EoSDjB@$^n%wg`?I!ZD8J@V z@E1V_5G*e^CPD~$Ej^g)6MPqV5RJ=rO;BUe3@grtXQ9V`khsaWS7K|c z+MviO%k4D?dfK;0!6?05zZ2gFVtvc1@|{d`kKE?X4q`JMSN<34JurflP!Ceo7#}}c zt$yT88f%rn2}u~$tHL@NXNo{`c(gCfhiA4pju$#^w$=3KAPpsLMjXNSU;IuC6#Mm+ zo;i{`CJ5ltE1+lF{FYU3?F}1*8y_{@$v--y&4|DV0#qgdYEze?z`4`(Xg%g<}c;{S$Q5r$U@L7w?5od1Q?tC z{Z%)ERk)KgQc)>Wg`dxuin1|`IJ~f&?Tr2$d%-h&hXC16(x(Q12gscosdZ3{#a3rd zmU~geZirbKv4n1Lq%j>(oG+2CqakdOZq22J|}|3P#o1=l5`>u{DL7wC;{;V5zn7Jj%vha%3uuwi|Ld;s7LLLAmG>D;X)%9n zD}kP~%S@ON^9O314pZ%3s!HqS2(w=*MdleH&bJUkZDR}2EcRtS0>)Fi zu94lfB0BJ3qHrRlInW`7nkj24$`86en_kFtoqieTzHlr%pKnXHITJ*VcxO$+1Wqpj zXbcMrh=RkDGl?JC28MM@wR_*lFfp5Fn=;9noTh@}3_fO%#F&z$0hwI3S?&7;fNYDH zSd;!sNbzQb&Qcb4J}G54FYAsMXPs-U9l8w~6-|XJO~C;%8q1=7EDf5uqDa=``(FN+r)OKi|?X+AfzoV<+5b( zVx+5C#@hnewsc@W+|bZZ+XxJH#7El-11fV0_*bPlWgvmnElVq1Km@Tx-fb&87N=sE zZ@L3nbpuw2cnA<{LtDiSFU6evfnBS8w4=bFlfnVM0EnzXBU-SxBEK-LR@h0{f_fN|G6pw+3e?N+-PjuX%t$`%LLYeM0%g>BSJX?50*@n63E}xp_BWapYwtmm`Lj` zSi3p18HYq;;!lPf{Mi-wQJCr*yR(vF(ljyi2l`)yV3?<}f*uPUPJoR2}_c>vyJk6p(rwaHYr zPb>EFjr|#mp79=8|S@3I#9PFUAL!*i~ zV(bdfIGkBz238^_O_#aj;F<9SgcysaoQ&VL@t&m>Q=xkkx~3@JB>vBRCG~1hIG6%o zF6AqYWvYhuWDE00Yy4TW=F>2QOmp<@+JgLQ)DUeq>8L+K_;Kj1uKIt|*OKNSD`mF4 z#CFNV`DWM-nD2{d9I$7d!fL&o%cXOp4MicZ9Xi)ZFvnwBqe7&=FOYvO`R5T2Kp7Bq zzP~E#ckNw?rSX_;o1s`+peX4{Pmoz>JNBt&wdl|ZDR-iN`yK+V@I#Ss3qCD6#6xC4 z<{CYc?zcD?-uw9vRc%@KEI3lFkGr$jP3<16L4|i02mQ=!lp*9Bb=x-vZV|Wi?@Pca z>AMN0W9R)@C_j`I11J|a#L z>2?6h+}QXMCYH0ppRL1y2EacIjd>IGnP9Us9z*F3cm@%aI_OOjAA>&I~I;lzqH6!VCmT@l_+Ctmu>>6XEr#}o4Z+M*@t+kP%krjXP zBUAkK_Gp+u*v}gqZ;~xPr!jWXGYc*POPM+MdYdIM2i-ZO=hG-Je9@O5zdM&Vl#4iwFi!ffO3UZ zFFUhFA=Sm8l;$UPJ3sChejdE#^gq6(SZH%G1G}JcH@q`YyEV}?Zh;88$sP|{*p9y< zwLLUG)$bvU1&X=9{{?ifS&}Sewrc3xWd+|>ciA7U1%Rrw?;))Fx?j*U0UnPS;w)|s z7S+Rh6m??7vA;$+VkVr%WWC9ijKKXhBga7TWGLk*N{ftM$S~=b$^WhTc7%wKGB>U0 zCQfSc(!0qJY-)WGwK#%55SW$MgZnP}_|>|bBD1A-4k*E=c=fMh5vdab^NGpu59KWLyX8Xoz7jQbx~UlkCC(lnb8NN{&|cL*BXgS)#si#u7| z-8I1p?(U0Q2n5%~g1g(@W8Z(yeS-&2AqM`@PL&^K9-zko}aNF9Hp_d@<_^cR1~n zW`djH2+XF3$9kj5XJajzJl&3=%$t9_=?i)(6L9#7m{%r2;NEIf<|=IIvE7nJ4cu18V5J zNrzju#{^&5?XNc008Ry*wxkhP$ADtDVb^LkU`x}ZzU-fIPY*JW^2n1mftfOPIr*6@ zjRoN13dd4TnVpf#N|**?X36Cw57O_(13&z-4YI1)+v#_1-SRGr`eUy)`Y3u4<^-AZm#Er%>+hz;44JR46??YLhtHjS#_;&EwgfE#h=6{>~6#^ei9~J5@GcD0J!s6(w>h>=O2#ASh0*aHR6)Zn`WohqkznO@Ng$b ztxwp{)l+BO(KldBl}Bjyn+Wfdg`zI)cW!Bo=X9&3qfAt04^Mn9EN!-M!k}`KpJLk% zuAGMbD-O2&fF~2`>IKa z8s@c6JznKMMDre5f1T6L{dA67uQ)^ngARh$(y$A``_b71 zdnR;@fi=m!!7lwBMYU;DLF*5{m-0S!9-dg|nC{G0{ke4iOQ(+DpplRmmh`AwN;k$O zLpu*yu~Q?q=A8OH*xv2S(t2N~_i}POa_E}n^R@164Wh}u85JIcJ|=k8~CO;jjn>il)gv3Y^If<8~!Rot(+ws;!$ z9i4rn4KRoX<+aSIGAbWh-66lLj@#U(vrTWo;e5KSM5)%u>yLW6n?8Y9%ldg^SIFPk zk6rzhL*f>#mp{mCNxan>?>ZJ+#avzw(zNG0F4jS_#q&Z#AQ5mr5m)U~_4(&_5gRr= ztf=?&f25s%Cm~DFdV)f%@gxUA*dOQI!ni(-$S+3xfRUPZHWZ^hF(#eR&y!UKm%`L? zcV@a14FpGzqUD%3dDN0RSnz$d7nmN_pG%HyC||E|%DcY!3M8yt#3(r4br&rNiiN?p$EKbDhQuC^wTwH^$Y(GeKEM}-$@OM*RTJ}y@cV$1BI*!3gR=0*Ib?EDWDX)FICLaAbG1KGcy+>@v(D+s3GO}M`R0jZ3QFck zp%xoPR(jPMZE5z2diwG(Uu9BroAL4QNTL-m>Hm`g$SG{>Dt6Are_ocQ*gK)zseT^; z{c?&HTJpRb74X$MowM;vk8kGTuX4S2wPr4gn0hZVS+F;a4VC+|aQoEjDEQ?Nlf9&S zczw23+xurP##oTDJ3qoQIvS;Cp=U@^M`SrGw3PAd5u>oa2`{))$H;oUs*J08kY%5= zGJ+VbS}^wqB>t0@q{F?nboL9HR$4D>GgEc!4e6|nQOKg@1G4%u*7U-i%!2~cBX$r4 z3DClyV^-~Q=cC9{<~)5Xp*s?s0vlkBPK zs^XQ)cjErH)8ElN&+`Oxx)1D0_KA@DHK>L3BW%N|jL8SC5mt@cz%_ci(fv$^9379c}^e<#w6heky=x8pXS%;Mo+I^T`|`2N5Ui4FPd?%CNN4KG}4zaOy% z-!wbXuZ-&A&;^C%ShsIy6v~1{^Y5^wHmM3X9WQS-Uj1H31YJB68Py9cIH1aO;{Sc> zh2hkw;#p(LQ^8XCNVmug{R>sGV)c{S6m$K$=O5hZD0b(R5x{r?+brr@T}7AJAZ@w& z_Yt^X^~TXw=mt-#m0mayNAu_~$7LgYua=Zn&#YZ83VFCxU;EWPvi|-@!WlhN{#A!d z!BLJ#IX;SzX>Q`U%xx&lCF$TSgxsenqNe_ioxX9`oaA%(r3;ZN@5jqpAI|Y*O?JT4 zkMC5^{dobelTh=Oi+ZRfR^fkL6(@;-H!S{ajD!J?iNMVlE;;U|_aZ+g_fIVYN%gQO zRoF!cQ=(Ad6vAD!x3lT1{PF`oDLv9llD%@kzYjQ@Xy@wWnlbrh;#myh?EDw-TS$^} zwZ8Py&aVf-oLg5wI`Tw3e=d|F0Pc8h-8vEd&L51}F|*F0*nsuA!+Ua29275x^r@>Z)VNgF%*D>CBO`yw2ipl#RxWy9&|J!44oM26iq&(mrrawfw6 z%mSdr_&%7`I!B4-F~W**JjXzWi$IZf7K)%7qlbaPbFYxZ%j3=D>cu<4&(b}78^6H*$H=-qW_06wc%1iv!nmA6(Je*X3Lg}8%y{K3xg zDoOxVIsLLa$^?LPOV8}xg^qabdwxjLd1S`cJN`0R$;MGGtNQ0<{2#|n&yktA(s7~R zS@LY_#*W&QpIaPj9cU+SIze~9ns*MGJAyI!_Hk9yP1ejDno0Xf8o!>AYk-_*=uAMW zHE7lYljz}1{&^gL?Y!V=WLtHRFyk?Kxai?p_HXp3gKT7IbH{$k3zDSGsl=?G3%U9_ zq3JVMfo8tMk2i65Y+&>OJDK7vdqC~%mdPbl75xoJ5&t*w$V~F)UzIHpkG5FZ3r+RPYhPq?NE*>LStou4? zeBvzEKYuc!s0In0dK8JI@Xj%F_<4d`uxYm)qbQGFk14c-yzu;A&{0YUEYL!|MUoK1 zxh^K~d9)|{h{_jbWcvVqb7&mpX&c>vow{qmvIAoRRnji~S?0tgTtBtZxtpfGH!37m zi)wz0rVhq-M-&5mgdi2qkeZd$dAkgPj1-s&W%F?_@`uyIZV|~Kwkh}F=cS`-@FD-b;D34uj9Ldg4 z*WVZW;F7#)RaWlB+x6qyhhX{@yUr@7CYPkzNjPRJfI9L2@|ffvM7V~J7CHwSxCGU4 zqRnWBn@C#dh9LR%fpk^-ZAlj@n9*(LqT1W>_Zx{zx~MpnnA?+_LzeMBy|dkhY8Uv# zXJ@o9g{<{kgnS;(M8KAQE;0sxM-3x1jFz1>v6dw1r%;Yw{ua(->EZ+Xi(9}#!L5S+p_TDhxM;8TwZW5i=x zkzKO=XVCPQPfwh(s%3hbrwI3}MBF0`bAPS8h2r1wMXf(&pO$wa9Uecux3x#tZ&O8Y zqapK0!?}1=^DAf|wl&dZen$&#j4})Sh%<%ejGwva1pp6T@F45Pk?K2M^!xR5amA_J z;2^YCy|cRJCPlnGQ(%GI1pA2g6mg4%fIOW6 zcURwnD679kyer!On{nC`0P3Fj2@CGs)$WY*sr1rC>aq5&@8Pmgvb2&ahF`XeASi~3!Y`iyPPl*W4n%Yv5%!u5q2h51Yq~JVTI@ zCM3!?M(ZZg_17wD%J@`qi9Pw8PG-s$KDl1+tB3LN#YgPbsO8G+Dn(nU|L?{PL9S9b zUMikNsEkVQhbDI7@(*OYdD+aJH%JKfb^V7<*??>CXi+mfJkQ~Z4G1Y8nOb6X^TGvR zqUZJ3x0+$n)Fov1a<5A?u9fMlpH((s$q7byfKdF%ikh<+2 zqbSG*Lb!YF0YRL4!9^8j@%0h3icEB}Fd9!fAd%b}lQlK^ov{QSJ$uyH91<@I%XeK+ zbTn~oW|y2C(ie1Nx`PwHR1yd2}TwBT;we!zY$qI)Un!^ek>$cPX`wb%>&NR= zujxu7Dof_Dybo9^x`qg z+e&?k0N+|oUp#Jw6Hlg#^5J0e>?RV1ITMbZ(-Mz@MUlmxF&`-`6DtT}HM@r&&59%} zsF+{gt58dC6Mm>>pv)eVqNC|fX?U_2X2^5pvq!%uzr4om-r+{$iM^nOeTTfN20oN*xu@hfnPxx3a?=fFFG!e z4O}mHVy=IhD@2z17C}mdZlhEa5>Jxyx_XXKxcy}$ZOaT1`+oN+VLO+*|JjkqaiRzc z#~h5B#w8amBO|wVbig`iw6^=^4)6{O!vQXBWP9a;G{IrJe;<~lPwPVz$tK>t9?9__ zrtMsCnYZe2q=3|u=_JN_;J%@uhxc{83sy)GI5NmH(%q`zKe*n3W@T$@OBi{;40gYD zb`Y#Ka&3tiWdYYGWUZz|Z*T9;cJuKcN{-<6t{X%N+o6UtLDgaa?|9IvTS)nOU^n1G z(LRJKxDjW%31lk&9qftTGKOWnQ+@RY^)0uAci=n+bL*nwJ~x_2yK@wDjoB`ctCL28 zEyyG9T@sIHpd;Y9zUUjW0De~(81jV}xDr}lTM_d1DF@x%!MA>m_#H6{qQVs6h;=E| z>j%cT(3btq$rmOwBddvAz=tLmNSLptI6&X)m)(hwmaRrL+$Y0V-w=i0L10Uj(Z9!L z!{N6ap&7XMrA-FN`6!vlkQ$>UB=_xTUIhP?xd8pNRnw+Z9Hj{<6dNIzKIq@V(9x8> zSJ65W#gHItj9)9F<-<%jOD}*SXjio7|BcR>VuRlR(O4bZ5UD77L=nNN zbYl9M*raV=mL!H>z5w-9zZy`+=z*yW4^#8yN7|mQ_&{Oa2hC&=?Tg_tE9ZK>I&ymI zAX0VVD-Jr45GnaX#LFaEf+(hi|9fdTmejs*e1p!u{5O-EO3s2%GXQ&rh;0KkmP%Dj za?-|Rs>=g&pW0O{m>U~9U%Vn%9sa7dT3*T6LzS8%_Vq%vYeRCUk3HwxB;q|{#JDwM zJdkl6P_axv@*z*Qvf-x-h9t4|u-ZfMv6N00Au;wl$5yGUHD_KB&sjLLz!#_49Tc6o z+^Y*BX$<)BSV@l3bw~s~zFP-olSK}7fng3t- zCf*nO;>s3#Q)1+mW;B*QC)srAvFfGyozrA<92trbSbif)yTXr_#uDyG*Wb+RF)qSt z^j@N9BfDw~n;lQ9Vk@znUycr$iBapPs(JrK<3UPQ)W9N~=0Z7#cg-EJAPfGWUZRyA zgFaS35u6J^yF!9J4fCeKv*tt@rI=x@%j}GAL}hJgAv>GAA>)C^<); zJ}ujD=KbY2jLcBS0aqrnj()p*;wgs0zrA$H6V?I)fsXQa$UBkjSw)3cp8JXHsD_|7 z$`xS}Iucz`2*Z>x$rOxVjZ@#j47!A5@f|bRs*=Z_?mK2yv!;XqDj(568ox= zTNm1xI;{(}WKGeqI@FX2pFFXqKUc-)TX_9KhLdmVxH!b3kU4E+2&ScHw6#tq>r1w> z2sap3ti_}5WraKYW{2it_ckH{))=#(NamirFMs9!d&kd#A_Fczvvb)7b9knZh_8&! zT=vEHwAL!I(D8^7ia%vC24*2myt0T$wdI)0pZ8Fao}YuviYpuBSkF+-Wv=+9fBO=K zgk#bs7`SW^zeP|eoORY^d<;KEH>HdG98&%J=z>XyPPD86R@PN^5s5Qg zQii{1RgG+AkwzlEs7v$tB11;*(5hXmie8NfFaZ(0vgzQl8Notd$ERoT$Ht z6U*u?ep;wW7+UL^%DPWodA8&E87kdGLJk@VMq2ZZCdOh4Ag4kQ}NeeHcorw;p?xFsd7tE|5x0!4&sP{c`o z*cZnVt9v2aLKxDuTF5BaOUj^+rLFC)`qba#Sb!7sHm#VL(S<5g=Q%d*VaFp7k9Dr? z>??8vIgnF~k5aZQE>S9e`b7&_x-4v1MJP&U$FUaq6@e5EVaTkO&yd8pZh%~f<3aY@ zRi0pC$gFb(r4?28hw+=DDG7s!FWjV_R-~0QpS@|+ak_WjB-p<)8CwF-WH(z#u}2my zOE368F+MU7AV1&fl61)-w%gWW_WmlQWfK1%xA6x7T7jlj2asW(H0;g!eb^$?jU1I) zxiVa7K>%1V`AN#%;QxjDk$RY^z56@`4TYIH`gm`yJBhD zeyHLvzlnv4Q>Vqcz@8$|7a!C;jK?sI^H!zF5w*^6?sOVh`T8HK1CsT z^KF%0(6If}?WhXzKCKiVNOP!thdS4+;Ir)5qs5qI4zBEAZ!m18h+O+d4Z9bYP zT0PjyJQ-1?+DdpETV0#WJgOVkmK;Qu8;L4|CmtzJor$x9robi670k5dE8MES|WQAFIO}s48J|V_W zW`I=`7CR0{3wMa_!bpU!FCBJ_{B;^BL8J&dS%i;aWAWx0l?-iQ+CxF_O>i=>Wys(C z4y#A%!>>rEPZx17G9eB5v+vnVnJQ&fi`y|>5Q0p+3hsTS%JQ@GF)5b20!M7mK|S~b zpIqYMP&*&?Og<2TUnZ* z^wz#*t+JZLy|bQiifn2y;T=?U$2XcI$IM|neAhbi~=4Z-G%r?lQ2Xd?G(c;y6lIJ!KLEHe2@x%5i;IfH@XcbWS zle6uy<4q@u$>`~hOQcAD`K-&A<||@L-z(Eb(yGO-Ux9yq;vU0WpXbggZl;)nrhJ-b zOhHVCy~k@4`>+ry5;Or>^6?699*uJ}wldnCaHqWio+}zS`ceMyI0Hp;xp927S#c|j zUUgT7b(KWL8mle5>HQZ>Kmq} zl6GL3P)X03;Z+D=z$GnFcvfyVGwMpA})uK|4+lQkttp1AY9xg8t2IIPTWml`&CPNtm?Ut?|a zDAZR=HK+lc&Km-#sKGSO&k^xXBp-Ev>y8Dz&K+130-yx9JbTK?k~6?Xm|`s*R*0B9 zzBKpq`Ci$h%=3GMY0!M+{HX}mPZ|%t^Uke#^r(N zm+BJrXnKb+L+fr|H0IgD4KN!SaDW!>%2uViy1hdmG3Ts$n`NdVb+}pUr&?46zGOtv z`#8zR9G%vY2fPT$tvzEVxo?&An9lu*Z=VTRA1yeKa-VK!G?8Z89`@_Y-6nK$|C3tU z!OfPWR=0-ho)P(0eTy$|p;{a6cq>Ouo*Iow)!xg1Kt2v#HJhPAShSg?|D zWM%K}42nfl<(lzaz&dQ8h8qrKis1ZRJW+z{*yMppuL~rh0D^sPOB5Um<9-i0&uoeei<~QOBkMaey4n`DG1w`RYpuI(r zXjTh(CD#b%xR;`4dHRfGfPHyPnnHPXoK)>>kvC9+yPj*Z;rpDj7CWbYaw07)v63E4 z0cTcJ7d?$wU~7tw!`)G+MfH^Z0qa)Nnnk^#m>g8CVW(M$-_FN8(IPLykI&ggz1gRb zYZlFjK4GDadHtPXC^6ktu`9kTKiy=>q({2O5O482ZEOu&uPN8({o?P2k+>6@3Igb0 zP01$ugE{qpNz@?6=I{fyv^7=6~YC z6WNcYrQ}EqSWvI~33;{oT}@8bDALLXo38Upk5RIwgn8_4;zz}Sn1^vby5{JY7gfn? z@L@uRyItz?PYgsY12d&(o@;^8L!cs}JIP75_TvA_I0z7~!Oa@S!(rR+=CFmjlK|`R zeQ?Z25%!oox$_ex4klCl;o?O8?~Nffb)~>md;*fgZ9nJ*W3Z+T4g6_xktR?Gr1wBp;ccQNpSFdwep4Juhm?ZHm?Ujx1D!%;+ z{8#46st7GkN=(c{{EG$|;BpK9zOR~Wg&Y-!M(`U}$HzlMUo7($O4NF;M+tUWUUr1f z@H?#u*BW!&tf6a0`BoCtGud)91dlGQT|aFd>#OBl{wjd=+>34Omz=uGa_MvZsI$8y zD`w)4Y#S}qf6)Q9Q_w)2-_PLLm;K?w8;lrdFAD{t!DHbC*+j1y2ZHl?-+QBjE&Sg7C#Ed_5AT1kbe04zRJL5A@(jA;Iq)2oi zTHjB!#%vt-k7rg@F5nw;UDM)NV7x&tQI6(EgEU6Q9?>Y}-%=Lb?XRs-&{!@LP5de7 zfh;BsP*-SmQ3v)&gRsaTNMz+OJ^9eNO6brl$=oYmdX#`xPdxo=)%M}-(@{~=pG8Mj zKd3cxXvnia1VA@d2X}aK*wg;3dk`8up^SbIa(=zcOI4t=Hd1p2vNE$F)7k zH9^p zPIdcCuLZr{m0WsPSJ12@Y^Ki${$HgNhvzM0IKe?JDcACyo_Ww6d`06DYGhXJk^N?< z6I|Z=!5wz{fT6*}Fi@3$5Z{a_MbVtmenVo;iqoJ_P9Um&QoG43E zm?}k=ulTEoy2k|6ef6>QGvqQzjXnxBGvX>ha@>4?6qB-k&*E1JjF|=U1w3!Et2B^e z%YrlX<0f^5mz*FFj?MIT(v8Q^)Eik498nohGHS~51aH|gREzFE-s)tCD?Sxa|9BZD zFBOLCIDRO4_&-AK&+2UpD{L|}SgiwwpmHL-i2yHq%cQRYxxzX`go8WmTB5%)17$F( z&nba2$SdQGqZTwIsjy5B7+t(8b?Lo?{i%52MW09LJL&3itB-rsnD)1mV*ow(Ypf?g za$5MA46TxOdztkaY1+)-OdyI$)}~HkA48X%bEG@FLfu(fafV@Da>pMIVq^fPmfQaH zj#+oZKns!PLD}DMbNmKVv9Bv9D(KXI&qI?KBGQN{m(!PtewUy1ueyR(2ecDg!l?i@ zk|i=V#^yI#R{iMquoku$&!lD}Q?HVF^55*Fw^d{olA@ufFM{ba$mXYmpB{$ioV&7(6Ro{Ga)(LoJiLnb57{C zL%p&n0j#h`2*4OaaaP_)86t?$}J9T|hUC%=v2FxG-V#%># z-|`9>;}JTo!Jm;4Leu%eav+7(-=Vq3Z3*r%+)XWFfp!VF)Vo=HObn-bR}IrW7&bra zcw<)FC&G0d_1>eh}=Y) zT8jh|92-S!{0M27cYYnn%h`=K4p)eqXvd0ysfnrQ&fjoQp)dpDrlM#+IV8JPqnc_l zYT~^bR(-N$PF6*%P!k@cy4L*8Q6C!`EhA)M${AAyQ5-=0bVD5ciqripxlg#IN4b{| zh0+oVd(f}d66W#SV9RFH>Pv8L|-NGX=-9UYFLXX;rslKQc9fNRPlmgx#l zQ+RZfj7pP72qPIm8|PN0Wl3t2&2G$XvV6F3bHC_Tm&{lNzq&Jg_(-UZjyxe;bPEJ| zXiYp4r%PrrT8sX%VW-fPYZQpJ4vLcn(;OvXy1KfS>5(AiOzQCNm0EGOapgQwSbw)j z5*Ae73a8f;RFU2pElem1F5;w+k)qYa=G=V9nBe0m^xjQ?r#Th99yb*ony01G48>|@ z5F0cz{7N7p`0Ih)Iw)#!QcmUMr3GrN*EB-ij6{aDj-4yfC;&cwy^XPGy*XP&k1&I0 zQZ`0=5^tq|ulDJ9b7m}}C{0y@yCiSEZ-H>z_0ohZ!FN~OW+y?Qd&0{K2zmLN@kg;u z{eO>fSkKaq+r-UJ9@lx37&jtr(DJ*zISyDyy$`6j zD{@Mf3LJ@iGPOCgkDr>?wNRxL_Y~SRqj{T*3|h0yn?Gj#g;;WFZxj*vPq^Hh7m3pI zTBkV$d^yeW<^2T7`kY#@fjG4bRU*Ii`>qRMTHSdMAR>Gk1>r;KG%{s;<6yW`ka~zb;917`StedkJUsOjn(Ew0P25yaf(rMW z7Ra1nBRh{142BB9UC*c9E~jNsze>fHv&5q~h_(2-HXUPQE0`&Sbzd^BTA8gK925Du zz;=c{lt?YB2xK8D-blfw9Ys^o#g&t-O!sqg^hVA07IeNdyQQk;fRm+)Ot(kNT}NoJ zmV16{hk(0|N>7Z0uV21IOroC=>h@~*g4wT+$;KcBya%HOR`Q~Odf{TL`sHTNF^HKu zaV2{bXeZqzTlF-Jd4`)ZdKc^#(T{ER5c`tKzh5(d=`lIQ78YxO`xnwe1nZH)M)*q_ zlm~qbLA0I%)qVOyIp^3q;jhLsUxc&c-?A;cpoO>QVFMS)QQHYAjzqX{d)jAK1oB8v zcpP^+gK7Op@wW4be@7Uw?^4d;{#~c;36VD13kdksO5W}+qX(<2Lbn|K7~VFFbr48u z7oKAeRzIPdV_Q}wO~ZoL$0#yYBLpo$X=Z)`BeC>Je~|&mkG1@uuDy^o63dQP)0<vYD$iwK!j*##IJBTX5GKgQ!WnddBM8BnF!8Z(Nr5npA{v4opuFrlR27U5Fq zRwT$AFeR0>7qUmJQHFdV=NTj5B^Re)C1{d`yhfpt)eu#h&Rz;!`AL31)Tr_xN_0iT z1-2-FGhRmc1-fUKy~a8;Gxd(D?m^IgI$u}Q(7TrNr9(GJ&iBL3NpM8#`6|XwIr&x` zo}n1SZ``s`jwi|}PD~?ThTbocWk1&LuIs+g>^i6TjWv|pA~{X&17Ss($lg-y41JN-)bF2d~BZ8qUgs3t!LxJ!aA!ZJVC?&%h136*zY z(VSVN_qy~IS}EeP*{n&4e#S-gh3p!B7?fQN(qCO8aY=Sx@5B?oW=G@u9m1lk2!1D| zAsE2Mn!(|CBt}(TdUsSdEzw8cyw9tj+=PYmc86aD{!HNdF{#c^T`&;oqV}^liE#gD zshKWm4U=^tbeVcnA@a+eqc#iEfI=-9nw?Vm2kOpil#s%a*cmAPFU`=~6mXPOc-yc{ ziY<)#6q7iCK}NMlZrYPGgV!@KUOr5+cci>N*2dh8x!W^SYXaJ|AgO`{*CN$@ z)%Az7i^~&1w@*3`-~V$(`+|;37SAp_U(wfKLqIW;vqF2iJ?Y0`V$X1>WzKeH0Y$1Z zW~m{&PpyBl?KRNsxi#^IkOP5xn90wvuZ>yKo5e}2i^Vd(O1=cM9}14vcKlHuP)j4u@97bGM2DgBN>4dwsiveAz{a{_xIoLD0+S!pWmysI zpk-Oxl)MP7+~1i>hu;l}J25gQuGwI-@EV{019YXcTl&q*_}f6dqJD zMi}l~Iy@az#GBvIpdak}ISE`ylPqnsF8euQbUSZ5K7_K%_x>j8N+nZ_HL4~--MWMn z>p4jQb%F~}A>AH1@VPZn9(>QR|679%Y2ZPv>(hS6X%aLx-mlQthlSVm$6XLUTtHIU;4K|^=kn|3!uNc_}~G)tR-Hi zg*L-VE_hQZ9jTyZaxkP~IBe1g1(*6B(p?Evq=c;;3HC)L+iAiAi)toIb7Qj0YT~rz zt`VJbp$uUt5KH9n^J|9D%-JDl5u}E=y}LGUDiX4iW2tY=6=AlNrv?!?i!tLME&685 z6`f}$D-_}f_8_CoL=Te6Eq`^SC7}GdAW9J*(xE2yXivD?5t_6uN{FM>M9FL&BuZEU zYg70E3DyLTz~oKLSqwB0NLkPby}Nculo4NRfLwAcB?@+jnjNmsT%A*&Yg&gY$I3BZ z$hlXNoj1^%MwEONV*mq26R~GYG&o-dp_NX=R$PL*b-1*GV$=IP`-~E1MwmtE z=bMK(<>qOEjV}gw5F~=zZgG=cBQBH9}^xrr%xCg^tP} ztplwl210U#cga1L_;iZJ9|M0h?s!21>a-EJWj~v2l715~y-ix@HlRtvw3B%w+p3Rx z_MA`ykP@!_hTcn#Utu<&=Re-(*n`m1C*gXja^A(bJ{>t*TDc}Cocl()=Cqp<9r>q+ zF>{tlDFe9MS5~Hu#5(5F*;z~?l$Ke^gI^>p(>+K+b_ZRROojb*$1|UY9+kl#gOZ07 zgf0N46^Gv46ZuXHdnXRVYr^|Iayc<>D<+eYqCKu4(l0koj(KV(!&rx1T5DYg!k1A=g3g_(c~9Be#fsw}vcL^56u zbMCrt!}k|Y%fkT8Cnr_YzJ>Cm44Jxa0zC2dvVYC=h5uK!iN50Ise#&S&PT(b6{(s8(7vKoxyM32zfGr!j`!{X$=};jEOEis>>S6A0Y{mtu2JN<-85z=_Xsn>3qvf^@Tq+`lt|GiR3iE}JVhlkG;o3sm zoyrV{e(7LBi-l$!hSZ@N6EAWS#7;Yf?#!Akg@?s-&yd!dtganfl}81&<*}gsT{7xF z8Y-<|=$15bQiso#0OJ}eSa8nDv*8#+L>8V(1Nq9_r6i?e^P~)^B*F~^CL395FASKK z1?FOjBn1V-J@FO`1-&6{9`-igDnPI)Ozt$n;AiT(UW$(aQ95JaJEiu&L-k+Zoz(|w zYc+bji*lmuZ>;-MsO|I?9d}%!wM%u{=>S&sfY59yO~Gu#0Pqed#!GFIpuJg3V?hT8 z;^2})b#zPA?7E{7b-C}~W-pH2z>YK&dy?>-+jIbA$V1+Pt&4>Ve4lPqc;ps0`#+K8 zpSuDnNNvECvQ~Tu{OiW?mq5Hn56&p&5C)tytptWm^6s$fKU1f^{+)tnTl332)d3<3 zKO#4Ga~~wPmm$UWYN2I+%;=8cah5|1bgR=2jWY!q`#}1=DlF%6u(KTC!DfEQKrQMz zhN&#}t+qXQ>C68pY$2L%N#T&qkS3`Hfq!M~JOOZ|s3?~5RjQOx74a=U?*srMhR~H_|t3+8q(MW92_=O1vY(Kl0978U}oazg8@r(fpbVQM{ zA4YvExAgLCpl5N<$A1f+lY8WNeX zr1N1iQdn+aO&eyNERPR!s|a@57EXWaVbm<#5G;oQRXagu6a@qL6sOlf|F6~iLuso3 zIaIz1=e9fl+R+vxSWFnO-nvru@gXy17HYUDGeS8*dO0wh2mVF{F;PN zRR65BQ7; zV#%WtAlnEFdWHpcYN5^()lqMl#%}7EpyFwPA;L@lRerKm*86eugr6X{5G|CFdroCi zs9N2)&I?Jwa;PL5*#1Etn@O{Yjj!+^mv5C`|Jo}E*TndTp+{BIq5l|KN(78rel6XZ zopBrtJ83B zA}FfC+DbPQHW4Qb&IfC*lOG`5k#hGjyh&Ecb*6&mZuaM}2z72$HUNe(HO$n~$7)>U z;2B^CCXozT!6!)#WC7jOEOZ7%em2nI8ZdZGyn5Jtd)#(; z$-!{m_qnt6nZtIb_=E*`+Z36b=L~o{y%F%7f7L`QF1HN(LfHJf-d~1*1(k*cDd^0G zI%Zj>u$gpM%Rz(^8`$zYt|j@~dqZ+$-D*?RMr ziNC_bKMkQk7txJqAeh%WM8mrmW5Ivud42oiwC*S=NM#5CFTtmOjb;5l$l0^9tGVlO ztvpa1jB@|h&UkzttKD<{B`xnkwSMo?1h4Q9kU|LV$<*aPNGsH7{=j7?cBLJ;X^R|l z+2~8Q_ByU9=xGAvbP?eatI$g__H@c0G`@HUd-U+z5R$_T_!j2aQA;s1+jPNJg|W<_ z?RjV$#+f}7q)%oL+f#2_ zVjt0=O^!k<@ivepZXSUPEmCE>34!uL<_cXu_*pvVKmUjEOBP0gQ`54Xt5IY63^)Fz zXYS?^AJ6RhC>&RAtNjSp7<|5lJkQg<3Om(rWw%T$U%#T8g z5nWF8D}ef z$P(NYLquvg+?}hObQgtem7KB`l-a*!AF;eld5Hw1`d~23^~X%M@%hSC2>Y$|5%nX% zaX*D?drud@EO*ame=37I&j#4O{Re9QT!~8wNF=!@ue_F%CUv^Oey_(KF`f~{ac%j2 zl8Mq-6@|6SHd$p9%C%P9=P>r>(P6#)u!?1(^8G|5MD=e6tGDtZ#S~MuFLcr0kz`2I zhma_Xg#)Y7^yD7V{WfPeYWdW2Gs*UkuRVQ+v}%{am-( zWV16282M=STljWl@B4u5LI-3X*Efo4>`*xm+{$6iL1*lc)H07(#o((` zkfw|6JS4ZYvm3_PrWU;R)lgbb8623WvFk6e&|akoVQrprb=$u$bzf%}4V z) z5_KxaS?h3H+fMc0`M~en&EV9#otlz(3NXD-7B9zG{{8zRwq- zXECpMOQQJ`)?+2DU0aFa(`e2RL!g@*A`m%R4{yOWJ_6lO_6@dF-9dcSzvrqFQlJ1FliaA(qhsrD?Fb%$i`Ep(Od?Ym`k<0oo61(y(>M--v^3n|-&v(1hVoa;mz zgf*RR1C~4}zOcqr*f3R$caw#5+g@W$b4}~q9-m07Jzn{|4n<$=9J^mnOnyZBbUHX10+1L}`)u-eIyShKw{R@)dW~I1 z3F*^6t`--a*)37$)=cV6Z57R5`fkJP$ya<`$5VD)tjur$|DiQEl!Rr>rACfMA@m^nLYMDAOb2RL zA&&w<3;&IW2*N0w9p5$#FBTvEv(oVSp{YEReVRySbct0~-xR|)d* zj)tw9M}KQH*W-?(zP6jG*<&mHd#sy*ut<%HJBOSd^80hFm&fovkGfnsoFHgdT_X*_ z?#5>W&^H7t8ESuvx-~umAx`Zl(Qy8>Zp~cvHBP*sg>7}*T*M!|G5w;qSG7Tlsv%)| z*^i>ALnuyC=b9_3zG*X{&4pGGL9{)%UBjz9orbx?i55p0Cu9?-PcC#JYjPWp0LSy` z?Jv(UW@DkYa8)N<<=9L=*#8TEJ&ds9-l&36ZJbf)JW0Yzt1-c_1GN3?Wjp0<7v8+Z z;rxS9KT={u5$_CknyOfcp$Ht?E#YpA^LF~bsp}ASRR(P!u#*|{N_X#t^$Zg5v&-tQ zaxapAyUbM>jM4lUbU*sHlXvG8Iy^ZNChX?-P`g*=p^*I7*-l1I$ z4(@8lZG7A%fZT@L#%j1q?w?pHin;1PHX69jgx>UG05eoGZBh zukpf_u%!$UItjDR7P1@q>_3QEwxx|}`wg?~zx}$PQjKvW)mvlEvxbs%!uCOC$732*)74?3aHbepF|3GI)9BNujmZg zK(2+)Wn91Gq5H79mw3Jz<&~9mAb<4`?NV-Ov!eQ;>#8;hq4jm|>UL?3c|L+$lQ4jy zG;$B|wq~(W79_5ZE%;9aD{ z@JmY3od>dC!JDfMu+WKls*)mwNI5Tx{!ZXV=ysiHoL2M6^hz0p&^P>Rb%76and<+_ zb3Yq7Ktp=E2!tjCK0xuWUGf@~a~_r>^_mICzRo+2f4k$TWB=V>ZFgNn`=%uf^4QA< zMK#55-}d<5J|XIHOW=1kKf@w~$Eq{R~n_@57DxlssO4-Fl<+e5O@ zfDKJ0S0Q%tmso~el7Mjs@`%Svy{6NGDgW#BYjx^`ODK#{zZAn``;^V3%CXbsmb>Mo zB5gT92G8Z(h?xth42A{qa`ct=v2zgEYF$@?+(N4K+P8O#5~@00`*z0GAbfnZKv@+` z0}E0N88lE#tJ;zS@S+r?*5_j8p*HH!%1nx0a7PfmvY$9-qJ__Ij)LhYL%1o^^sWSs zQb@*fJa@EJB2G>J*Tw!fJJ5luWbA3cYD@JCZsEHFr8vlV{kJ&t1@a$uTi7_Fk5er9t}~&`;tN9EXQY8hQMV@se$!cEa{fumIXhj z^&pQmZmuR1hS--*xTkF!St-#R1|witS_B7`a&Rur1AMCxo=p3&=Ehl*3}vO2C+RB- z0&y?zQztp>np%wFxpC;>+UrJ6V=iW+jvK!F9E3mEG9hOlGe96vRs1lr0SCQIkX>sc z;Y+tyK;@f<1k@4-Q=(X<8cVEfL)FK6qlT{%sEnb7+h1ulJ^tE*D}ej|xDsH!>>pXc zn5Jyrm!6&Dyj9S!6$CMG-P9WJlgG%*8h_!2egng@enen+K`kR4-o~BkWIlB0*K)ZbK z8b|i`JeFR;t#Q3b72UE*CAM>`I{f#hK);8&>(nB`X zm&u6>mxGst)D%D+j=+ch3=>s3tm{GVHp>|~Nq6??#9fA2N-9~_Q&HJlybS+j?7)B?G{9bM{3+vTqT)BzfJLTiRBGa z23d_%^8fIz|KZwBM4vJW-j>C}GOA?9rOrI02AR;oVfQC{albE88^K<3Q-Q&UF|@yL zA;oR4r-aeR@J0>1U;#28RYqQaxGB1NeswvXz4uzJ#qj-5pK)yrAR9aTX#VI$lBI@C zal%`=ix;Wl{B`&v^QN}%-r(1ntE@d ziiVf?oW+4)@SJLZ#VSm_V41IDqQq(X_0GnYpq z4D+SZbpJD@=RXfc6!GWZz`|>1(u2rkYhjw^7Ad5G#S|ycs#qU}gJTqTw5uVPOzMMu z5`NwCzSB8L^8;hX#vJNdxYAT`_~`KS{NuA+7WLyU!HRS16|OQn=&i=^p)` zSpZvA@Z@R+I;{FTk7=B>ACCHqI&V#t2ii$ZcYF^zm_fZ-wWGW$VNQBgccKAJ=V~h^ zw$-kUPj3K!T?D=HA%sdlqx?{odO%jB@6hQvA3FG0~eVD+-|hZ!Gr`$ciSZ;T6R@)+s01^6%O?C z2^Z%lAG%d1l`bBie>nm-CZoJ99=Z7TX3y;Xya38-U60PL7n$;7a&Mz>dU0{cM`-h? zxR@<8MA=jiIb(gA zzVUkrCj#{TJA9@UCOnbeEd?9?D27y5Pb{(YZ*&0_2tac?~zl#XxLwX1Ekdo)ghVuzyiUv40*7u?{Ot+abJnUlV9HUn+!7z}!<)Oz)M0 z)3Pb+hZFq9q`lU5usLvrAmi;=dlYbeFVID6kw9p)<;oM-&#srOo)Udg$bt|>DA1PQ zwtbM?b&%bnusFJ)b7`Z5l50QrkL*mjt}Wa*XUx1^PK+^B2>+rZ zIJj?te(y@+@GB44JpYi1*xaKCLjq9)t{g?Ox{@8c8>-#{^fmz};2#xu+G7|0D3@fY z9J(kg`q(usnC^%!l#b_~$71FDPVv6IPkAgx7`nrsRL>L#IXJTBS}k-Z3bucKgmz*2 zx@kTgT-TeA-}$JB?~d;&u#M99kKW1&_<=N7oldCWDHqyDa>FD{bV}%6BG3-=#Gv8N z&6E;9W(N__a`{Y(?SbENeTC5MMb{@d-STbPQ9gQc{9hW!0o13|Iu-lYXs+2-{l?;g z3ez+zr8`ww<~L2V=`>|2uF6yXl@^9fkH7xJNMwGe1m4OHsih<1vtjPccF^YNkNR&Q?T7ZuJCwlV0L#v#u)hn_4YQPrLH1VYy@2~crZ?|J zE6B;tf!rP3WUthEYJ$sQn>JZGR|=#1MNxnpXu)rrM+W-!TIM%8ixud~}7zvT9fuc&;z)({%s z^J29s3tINBi;To1j-Z7Bsv|?~8xp{t?E;@U6aMl^Hz}C1WQC5SuylB(FE`5G{7cQu zeE8%t{1mRyYxcR%frku$8D_yOX(_uo-mN(2{xgINzn6>AlDee!5KmrqH0Hey8>-*r4x$F-NVdX9~+>Dy>-tD{41B0 z|Di0ff;c)_VCvJIGLSN$lpXywzNUvULVjj`Tl!UX|E>~EU%ebA5k6P*!S|@ElxJ5+ zkl&bprN$^djNp8E8sj(|!r&{p$$G5&-L5E%4H|o5)K?1Wde{80t8KM4*Qr5c<~J_m z*c{AwvMh}>y$#q*cate)=1< zi~*wo*<+A*J&9}Q!G;UH>_$J6kAz8kc+5Tii3QmGo zTxz2!b0eAk-5&{^?=5F%G`^;KYC|>$j)p^ZbXsUyqzCVllk#wB)gDk06 zO8bx&%yC?gY6#itqbR^lt}2+L#m|(kzc@qesG^y%-pjez z_Q&PPOGg+~4!PZ(aK$fHML#kN^HaYqtEfX|4Tu_;f(kj+q^t#+f}L1ai`kFgKWn?S z@y?`c1vWO<+VhjR?P@ApMxSxZ??h%txxZB9}o_}WH&R%UMG4<-obOg*Y};0cT0IlnMg3EGM{S41+J!HLW3g5E6eTO zXA0XmdXob^+@K@AE9RR(N`Pz45lv?VR1~(HCr?STh3UUQ(@ls!A!jB>)qF_yB1G!e zQ8c`|dzTVx2208kMz^c!;i+)*y6Xj*MM_&}uljr_VG(;~s?-tB%EgP%Xh-OFCj4OW z+iF@Vpxf4L!)2s{F!g5-*nD9=vWY3Z#v@_aaGAgm>>1K=8rO@9<&WzLy;d zGHtivSv}effEbEt{Zsm!At7IOpV0#OQKsC40B8Lwl(7Ia=6aQAiwYD2M_6Sxz*fN_ z9ulE)N2(xnbGSuJ%m!ptMkPgCc&vMAMyiL{0zd&D_?kC|--IF)32dyK+D3hbQW*r&v}v<- z*IU49+TYXAOdocc$&r`_OR}-62>V9|Uk0=1vYKR}ep3;_NtkPt0C)Sx+q!-YmPbCd zVV_>{s~r0n5C4gz2L+zlodcvLMU#etCWTW8FX&$qtkDAdkktbZX?<)F%9ZDlx zEqx~8TCz9oV^JD`CY}Fx_}_mMV*Nxxl^JVR&Ba8)Gw7hnHB~u+&o(Z$A*9pi%UDz8 z)z2`jkqdXeamjPy`1y{I*gMoLr7<9MmDYrD;+#>em4o>pdzmA%r-B|_vAFjh->faa z28j)qtw`ACqC=9bcJ}ca#R*e;{{8(|^dG^|bpeB2Nr>c?!PnK}Ga7QkS-`90wF6CB z2v7$?rKvE1U##x!kjqbQImAfx!a*l>W*!cz~_D-Ge>usiO(@- zv!x-gc9Fi(x6P9`e8Sn?vgzwpm#pa~`Z9k^v7Wo5O;>mBN5U zII9o0&^Qi1fkyoSkOov!&8yvMlkTOgDr;blqTT36`I&cF2sLOb81<={MHouD@YUBMG3fqsVkPrpAl<7vEA*kmYc8YUrqpV4_Rtl}%`Y&o zTj5HZc$4_tUs%%{9W;MimFbB8%qJ{(U*{dgwZ80UiD@@$H5nMwXwIas*g#-oD-JA|Qi{0ryLrM)gD=hyE9 z?51u{@%X&V&DanS5EXi30DLk zCIHSTR{HVYc50ZnMKc4i@7rnVt+t&IQe#@^LVQlWUn+C?H_lqjh3knA(&}V61Woac z{eUzw#d!P_ws?6q*2a&ERYTnG&JL290Ni5~bvvq!M_&k?EmzAAPB{9q6J;)`l>c>c8IOM+SJfpQnf0Js=Ld20lp0N3F zHXedz1dIAY+VkHZdmQ2(;H8CggIRq!ja?_wZWS#NT_>{;%d}d8#Y9uaaaLG2eB}jt zYO_ClvS|K-=iDxu)Nc)yWZWsytXX0yGgaozxh4+lc07j`Cf@_E(`eiFHozwL@WEBwcJYBEX|{%bdj(WmfEdIoNhAaVOZ-5C}04_*Atp(IObQ zJS63i9cx$a2U7=UQ1FMYLZIn6G<@9BlebxYR|7)Ws zpb%md^!}9vq-FcYhE?hf#Yp|k4?%hy8&79YbfEuL!50h^CGjc;EofN-L!)^aHH=yB z+23{IQ1Ow3gK%#CmFjeGu^npS_+tBCz8E+ks5&$>tXslL;yY8NJHS!QYo zRoLIwp#0+D{(ea8BCfRJ1bR819sTE29-nrM3T+(F6T#NG>S3CiN+=3!y3}9z*H#O1 z2_v8&g_I%nafT=?8dJ8UuBv|X{19XP)&!jHcX7g26#jprZRctEKMteuFe2NO4M{QjO28}AST!C zw{RCxc{5&?!2zA`Jux5~bURXx%dY!7A9Fo7GT-2PJBI+iPC}LP)@@0v(6^O7`g6_A zo8#oE?(-B^@>kd9wbvFayVeWEs;H@4C60V}gd?v+rwb(;@sIJDXWL8jnns)MJ9DZr zE%LMCL=~JAT5H2c6H(dtK9Dq1fTXlP1g?YCq^8$5TT2y#8rcDdMm}<;DAy0EsILT= zEF`=>$@8w+IL!kHF9hvPkHUX2F0N=~JTpCt1>KW}`ikv-^?a5DOQ+H_Huy{0aZR4* zvNCu88Gsp3+u~;E0Pdo1hXS{={;KCJhdw0VSP|em#I!bG6baT6{PMyz3MeEp{zOL7 z&9_efI-)5+Y$2eQj8-MO6Z2gz)2-jfOv-{c>~RT?wMC`qX0SmXc~2ayg1jI_|(&W`YN+w$}Cb3wnjScPP{856t#ud;g3LWRT790U_3 z=(`CblezS5qGG0dawgAtZBf;n>&bHkDHxf~m>J_5a-<|HMYg zS1?)l97v8fyz(%rNlMcntWj~JY74BBS+U_VoNPWLaXnm41+U@PFpF|02aqu?zBY}w z=t+a?!`|_mr?h+{7cO{R-7aG`HBsag=;RVlKup~9Cr-DymcJpE-}30Uf9#HZ``SjJ zgzZRr92aQdiuMO&UdOOH#gl`delx^bGL_(zDI*U(!^Ufjf}*Z^o&;sL8UwZtaW(>w zXmZ1}VyK0wEwdS`GWrurq12XU%R!;EKU=7n16HS)XwDbUI~)0Z$Sq>X&A4PS#Gy&A z!1aYJtaE{Gs0<&?rJ@>e;LZBxGT<4K!H|lR+WLek;kw>=k+(0(WYFjjwz5YZ+ei~e zafkZNSA*b=+nI3XNK8XFZO-{kNcdPHfA)EIBble2IY5J=_-k}O3F2DuoY@bFfda`{ zst5Yecj+V`*o;bUFYJn~WhVM+60}jJpjQA5d+|@KHp4Uj*#P`k18UWHfI1!m`IrL(pwzb34CBqY)4Y{7c%;^}nBw9_Vqb&!eBhx-C%{9Lwl-fF!Saw4TWV zJ^s>$WD?TIB+T|ZOSpvSx&^(dzJ{Dm1YLitYTNF16OKGZdLw_L5&;d zk_858A4?c3;xj#snfsWekm5<53Fn-pIGuAA>?7bN`9WMwV-c(qPi8zZsj~SLd_^4; z2n5tL*MhiE(9Dv4?#2==CJrGG}lMA~CA6;{)T zdiUis!^}QN=T*HmE&Z_qVK)xW`>u4``pxd7JmEB9=N+N;Grlu!PIb86d`pA%>dUcO zcRbN57wALQpK(1^(uJpH9l&n$?+F!+yX4=u@*$R)J zL~fUhU55_z4g1*`kq&AvYX7lgt?YRHOBQT!<9&4ZFjdBSJA`tDSf~N!*r8uZPF%*n z{d%Cz-r~bzJXI#_|6Koa5)4`A56Q${W`!v}ATKg@Q2Sl9xPe|IGwD$-3z7*33Km6( zM>ptxE-Vt=U9A@^?8)1%>&9DsY8CzDn?TeA&6UyrhY=!3J~0B7r_orMrUCvlvLxze zI9pNzd36!BT?F)1N?JB>$a?0fI}izT@r(1AA?3<&S*|q!%9rT5*Z?$NU++EJL0$#z z{USQaf~K0mY9&htp*310Z^&oq1(V662&9dUF9dr1g;OcC!{M}9EsoU=#A1(;t#oWp z@6HI-7Fs9ClYVz_G`IrR>icTRzqIBQj8{$XB2z9Ta$XjZLi?9QX@?4he0dci&x&(p z=e7dGeg`zkJrD|cWrR-3p8053tLG5Wsj>FGnOkpKtUHc%E%(iuqAsB0ax^;Uu5(2M zs*>~PysOuB#$Qy_)<2CbK-u}aqERgi`NjEcXC-*w7V2HRUQKk{KpJ}v|2!rDI2OL? zt4R1E7G84jrHRGj80Sw>N@L|AcY|aUHCRv>mEX`^s$haP!e4$hPGDG>QKjl{^rPgg zwCyE_9^tr70(4G&ciuba7aWJ+%AAA!)Yxpai<>&IjRN)^%ju3FMz0@nu5dRKajQLX z&riO&3ktRUop&x?)%zLhtZqlL{iIY{pEHcdoOe{vjyL%l{Vx}`DQ ztVYylf(51Due~q}2g8*z=`uzBMnT5Zbd4gUYqre+#g!TP?Zl-Sc`AeLCZ|Pqp1d6? zfhr4F=w$r$-#5ES=oi#}6E_+8F0goP7{W=zS#&uCPnLWK{2^BCm6kt}ih7}(3N1DS zS!ka#0evo@ava-ozL3CN(j5x)!1t2+Zu|OHq~p+w6I;E8;YJ|sn`Y>7OH?#?C+e~& z+N8NtImNquhsS0l-c~r>7aPb_#vi-an!iPgtX$EjyT>Z6x-7#N9@heSyesEwr*5__t z7OVUDFu0fWG&B#21qnTm%lj;k?Cz9XHi#9-5gL0|RsT&}DriZsAe!h^hxVl!yhIGp z_@;hCN1c=bw9sn{`hZqs;1TWEz5lVim)~8_7hAQb^*}>+(~_#FyROv)@n9Oj~%JJzDo?_QwrSdtV!aT#9*5}Dq^1JX)r{uaSsox1f5-nlMiXb zEbcqLIP?QtX(P728rCmI-Zh4c6$0KL+`v$YMt=9bN?oLhsj{TOmki42Rf&@CL z7b6luez+$H3Ws4**Xk(cD;G^C!mt~PbKuhbqMF;)xB2-|*2G5NM+N{?laZ zjnZ&SH1bFeICo?dhsUskdoz@q{W#|S*SB4;;_~!`fq;%-weG{M(S9~L_-yv!Ii8jk zDsX*fDz?ZWlP-rJQ=)!zq#_hI_*JlpUoC2QR+!C{+)_ih3{SG1VvNSAJ^yHfZ2Ep( zJ<5Jmbewxe+LRrjweGxWXZYRSNVV4Mcyx}N9^Xp1(7ikJsI{6okS1~ud@Xabx3nh2 z)fb1EFfXVL`+a`dpw;f1rqAAA+xju?^#drvcWs92*ZXvYj16I)u5$JFn5vIGQAvY8 zP;D1?CklTV?7bxBF)&VS`_v2hp?BB{9MY7n3&* zZLNhp4h|v}MrQjD&2mJS9+wD6?QOa1u zH5aQsK6bOI+?3^0=9t7@Zau0Dd177oXU9r$A7lD4;s$kax{_d1O0DBwP!J%K0vsip z_z~Vl(2ahidsZ1OG7v6TXze2%3-8D8R#xnk{7c%vf9G}IKY491%-Ji7%veZnQ|dr* zMZTE^p>*0S`pP8BLx8LF7JISzDmI%>bmXAAS`Lh~HF7EIAn{W_stfeRQ ziFc;`X`e7UnO~qXfA-M_x&THcfRq`G8K8_Dci&T3Q;y||{2(sG9j7Z~@JazB(W!PC zfpLFAAxb@*|7oojsfhJ}u?8*;#g1_G?s^dDhL_*EcWVFQ9d6K~D|~*#0=})51Bw5R z@uee|NH&u2;3Y}9V}xNL*X?c1NFv;;8DEPTX zQ$w>)WYuX_Ypj*`I8fi_DHaAs(Y=7t&&2H#vJ~FfLfPOv_W{%{>Tc)M@ zO*8ItgbN-ueJ5$&f*-P}KV@W)qRioo?5i6SW$P_fz{`@%P2h;U&>@o}!A&O`+KI1! zn+)ipzP+s%4JVlV8;8pZeBy8gf&CJ>7*SSXm17*)AFoX}{y`jNcY?jU1#mMuB3^;C!y;^&MF_dU%Ll;Itkbarxwm? zzW7vlsI>O*o{Ze)Zz-4pAJFwBD;WoSp+Z*A=G~jeWSG9FWDJ(LTms#0Rd`Z4`GHSa zH{W(!NC3~aPr>dD5`*3QMN|i*D^nyn0Nt2BpF+_218bw#X*|2c5LuuJ2y;ySLk4@8t~svj1!* z#9v#%yV;3x5!K)aEee#y#Ia8o>>$02*iW25U*Y;1u+po$?hpVN1prOB?7fM>+Mj2A z<@8GfwV!21kIy<6(L-hCY9lhpsNCo9qNj7{W8``=Go9Hvkf+<&+ff1UNMO>)#6CvP zYg{hNYwtd<@+%@7xQ#lm4>Y^fdsWrmLRVYe(=nP55u2{7GZ6UuTh`|kAT9A+3iC0J z8NYk|&MxGFNsrPKFw4sGSn8NTC0MBNY|;j2TfMdd3)rNR5K zZvM>)cD}FP#{as7DFq->vFHI_j>n0^X?T0!;vqu~<^5zG>zL%Cb|7PA%K5T* zsrIG2XP?U8fb$*`(WV>qq5Ku!z6aQpIu{xd?EYSnasGkd*z<8<7=Yb!pum}n?Y-VH z$)Bv!F+#rtpA{IOw=dD!hGpr|w~M}V>Gf7FdPd-OV1aDJ^_EXmjkbt(Ldw{7`BUhX zgy3NP5$S+vIAu+4@d|3-S*BIG3wH^P*K2Oib8vOMQgQ+N;-(tl$JY3GAvOUwSRwm^ zTZ()%9VC8)|r zV@b;JBl__qzoX-^W1>)|5A6SeEFz?@vVi*R2e%@uu;OM6s`T`=Qk{Xt`i0^gQdakw`P*yjHtm&#cP&nDd)=WmpSb7eS_&6U*8BMD;IdG+B8WveZ3B zu#j0oX*p8Ix?Cwn$xPiP>@Gzt9fhVQRtiU>%%voyL9v1&(dG_uI6bd^J~$>(jJT2` zsTbUWKdm0W)z;lVqEi#r)8#W*I1Pc|Pvx;ZN`5R18k1z-#T2tM8+9QHr>vjri;uc# zf>bxbq;`p>;Ny=52I|mVK3GNhlJ*X=+xPlIEK`5#LdWLnnNnV$R%zM3T)Z~!c}5Sa zoT(vEGaNIQiE{QJz;%h!wv2zXcibxzP~8+WRR4CeaT+xP7@d9KRWFkq=WXj5D4tZ&H!VSh$4i zNtc7m+DBO#0afH4v@N0ENR5LKN+b3XukFq*`1n1e(h#!F-;d{A|DoewooOWcV^`-}a4zbz>24cWiMB6}I&>{QIg z+xiq9yoMiv%X~GCTu##Zi;y;W z{iCdV4SI-!l%Qxfip#c*6ib~N9#6;s{Qpw%7-7NO%h>~abfjX{$MbRa+MnjHPw!#5 zmXH%?&P5#UKpLA2$1M!5&&E)3{nVi&K~P%x zO4V_)K_;T3Gb=Bdmf55U8G=MJlvwX7Sf2Y8umWj}h0$-S4OuC_OZZ1oW)#`=FO0el zvl4#K0)_iAC_ToMlJd-5>03OtZn)Y}?ss_-s=y`s{<;LE)t?|3E>1#^eng^b@??_F zmS0i6Ye^N<4GqLq+aPNj>_>9c6(q1kS=Kx}S?A0ihyG@~IfCl5#}IGKhKMoqpq;^AD`&f{m&Q2>wM^+B}3#2!7J9R8iUu90!@7GCm=E99KkQ- z!p2rL=F;QSdUQBpUu;sHB8vtOS<7ue)@>Dboezeo7?1Sia^0eI*FDhX0;|m?&S&C< z7j&uwvbQu;Q}c^^uuF`s8F7b_wHwR(HS{~ zPPuQPif(RM#<9~*)2CwPMNT1iAB;BEz|b(2_lLhY8Gk(U^=s{Vn39@t$sNy7D>|xH z21|y_^8gh%Aiq_i7yvu;1PA!cfR;Yz>QT*?t4K%}=>kd#hW70Q@9vyu10`@QX%Zt%2x}Eqe57H7FhI@h-$VhD;bm{^DQCJ z){3}yLJV|$6T%xDszad?*ugB&D2`pJDJg){xzH*Yedw(yaQW& zv?T|lh=|)Zy{OY#-0BVx-Uz8hf#ms!3;(@^wvw12&auOx;U+zkSbr&1`s;W{4*IvO}@j;!8D!z2C}&k%7ej<&!F$~ zN<#d_Kl_1Tf7q(%uoglb23}-6z}o5zj0`>7-u`LVSW@JnB87(5<(WAyK^~&8-=Q{W zqUX{-7^&FFqEsMmD`e4Uqj4qI)|~+8J9PRwBA)#%5J4(-1b9B<7{5|hFeHn@(Gunt z^H7d^?t{B9>l@)H8j%G4>Cn#ltk?O<3j^S)Hgn@=rna#gz4xLYs`|`7;D9|wq#PL6 zJ&zFxR*kI$g_lCG-&hrlumJ2FrdKr70<*8A{8O8XysA&ZTMn~HP@!7GzgFWecsh>k ztR7mTtPNX>E#|mITao6wc-MVjC9@A!**9Oo0V~Nm9al8Ftj|>r8y<+d!hHkvqN{vA zX|3TuD&G3$9x7X^ieAJ3mnZ^H=kYh4EY`MZ2g!QGeJC(kwqNKBtV2&kQk9vx-JH8s|4O{H(H!VonXYJ0I6%aU!N z91Nt>HSe*~^j-IO0RKAVTSyl0r`lra+4q{IhIP!t)A24Rs*P*;A*Ua7hteW`2vZ1C z{GP7$5z^?qPy`IdUe`}jvHt6ue$cppstZh&j##4zSG0sYQq9y*#_iSEQ0(=aJuJB7 zElFiryvu%~Kkp(G364Mh{17(&;&+Kpxu31X(ARkG-5F=2fC6-Cq4;eGI6TBk|7Dt) z`rouQ*BDxVEm^I~Z|zVMpgVudXY>m<$+DEGklI-=*iyDA#7G=3s4Se&BImn@CIZQW z$9i>?4Ej!0P_v~l!hFCb`e-SVWPil!ejJd4Hfa?4N584CI0B0~4w1B+2#@JBqT$Ei zR2casf5$SE#L-$CI>55N%4xGUrUV8$@slUmxGCmzwhjf$&AH71A)d7<^k|E-NIQX zkZBm##Sy6Ah_yE7c(9E()d?pP*^5%aMH*m{b|VPXZMGV-nTifF&S9%)l5^rm(rVBP zv8z?*Vl?eSiACDX%&I?ZL+i$wq=LV5DQ4Y>z4?uQMuqn@*MH1H#Fl-#YozZ3e;5^s zC4a!gYdr$Ep3PyEC=&vru?ODrl~tj!F&NHOhhFK2ZM6x*VWoJw(70}18eVw-9SG%g zwJ+3N&jx9h;PJ0;oPCL(NrU4@c5zA7Kmvi|o3brucvod!#eTsGwc;6J?$DS6UbjtwwyPhKCs+yzfZ5|xX?p6)GVf%aoF0S7F>l-RV_a+KXs|yyo_k?8O zdC7*(I7Bc75|XHA*PY9y-ac;JLEBECUKJu_g`JSzqf=vy=IE*&ZQ$7=sfX0lb)t}d zMQ|2Wd+z-#P5Hj-H}HE!iBebA;1))cm00m+cpG1?l@r5XZN9M3hOAtT{I3Inf1r1k z%~zX-KWG~V;TR7#2x@^W^#&XFqF9lE5;16RN?VC-WZEeIr4bh+e?`{J``W^{0;gxQH+okq*{f|+EchQkGWgg9F4p~fgIvy3B#ueY!T{Cr-q2fdd(w&W7B{! z`U7N}<+6w)A;;q54Uq(3=IJvK$2{^s5+kC+?$W$}e+Yfhnza$ei8z_9t3IZ?9y($8 z4yN=&h?z3QusZT}Z3t;ZD7{e@2yBcl{nbKyUV#y&SvbH(De@q>OP3wRSyG=sSQNm@ zfdF=tC;rWa#owBn;KW5p?OcM6J_GhLvVvK z>SxGk9vV+Kf4uL1#Nj#CT%6P5<)VpvU;vd%7J8j7aRS`_u8blnBr%Un?(jk$orDL9 zYh9dRhUV`goCFE=`3G&!Q}BR?>{Qqo`?C)Oj($zE?;)JT$)$opImV#1b|v=0dMKMq^wPXmD6l1U#jYRzAVK7SlM=Bx^jG5PP}soOlIS+di*r&Omle;HUA=9oQi5X z4DKymufaQNZm-QBU28Y(AM_LR`Si?3Vi1aDySPtbCp}Kqq-qhA4cUNE2)sG#D7g6* zdD7WE4`TPYdDL|)JoLE&<&4r^$`FG#khp>aS+9w(TNjP^-56nAh+V&~mDNf4THZxJ z0G8VKOmW6$ARIG+hI>Vi`i|h)-*QA<@BWHQDz(#@kd&gW5dx(&V{)N-RqVfr1U9j?kNyh?Q3OgZG*?IE)+R zR#(mH(OmNAOAFAtpG%22)x)n^!Mx3|F5vVn^RQ`HZ~gKlV3e@hQ|Xl>Ti}0o0b_Td z?-N>;I+eHZelS5Ri@Nqxepf6HgWAW4Xb%%cqeaQ5AB+65tM<5{bcrJpe~rh-HE3Uk z#o9FG1dVkiGl0`Z5T0=@@+_-*DfOlxffIiwE(Iq=_!I8YbI+MHPG~KvHa_anS`&F# z%y-u`k8k#b(b{^8Mz!oxrIi~vMp7Q z7dyhZ+o6E+BR|wMrr&=r-Q~;7G(iF<15LUJ$I@1pkbC0)f^(n+_NVs2dzCL|Y?po!1G+pp1Pj81?Mm6@)3599^t zD0imw3pU}DOgQ=0q=qEaLC)3q6En_9L)ct+FLn-3pK5zDX4}v&;RpQ1mgs5sY|EN& zQ$er1PtU)E^|h3oBVr2G=SfYGT&c&ne=E2m^}22f!Bf_3cYV7+_v9Lk8Nkvxws_u^ zuNHro#ekO#+D%+T4k_irsyt>qrWgNchwcP6>pS;0gljyL8F1Uxhlh{!O&no=72h%z z()YPh1qE|qs#e@@AFqTM&&Lz16d9S4{WYSYfux}hl~X(diWZ^F#>1}0{OE5&;WJjz z=ZuEPj}L<$LsqXOlFTFuIVFPBJY^{`kdicHk_T0&(5j0dfV*!=lB4I+NQvvu?ISW8 z6kRQwIK~rL)2Dt85(VoT+BpNy3lsfOb0X)>_|%p{rO@u|V=s)VzsP|<6fLQM#sOBn zb|6jdLQdc%MxSazmWd3-TwoyjYhVmMl1=e9PV9+D5wcW>S- zWOJD?qkKN9WS2_fOJ(cBex?CYfQBLPc?F1;)SklA`y*l~gq5r2LJ(crMAG z-IPuB`tv8Aj)87oh1l^;;?K2yR`9o+NwiOsfx=#nMM2v}T3=D;%+l5WA?q#U+TfP$ zVF>QQg9nG=Qrz8(6?bXT0>!0BaCa&0#jUuzI}~?XoZ?>KO`mh_`@i=bzVI!-WbfHC zYu3!Hp&-y2K6!gp{qm89aqkQ_xgD`K<1p03cjtm?yTHqK`N4m|Sp-38F@`uE(BSc9DTRXXQqFni z9T&7+qw(}_6~a#k;bqLsRq996snCMwX4*rt6TH<0xlV)WE=!H_jUoEuwP(Z7w>ihdhWLxKhfnF~1;?zqO7;L!J~)p$wA_kR5J%~}RTM4odd23jws zTb9!g{*3Q*`IQPbcthPt^Wf`ckKzN{ov_PTTCuiCiUp8_+?VLr!;@Lv;5HVn!=tS* z=WVi=+J$JhX@D`Y-FWSf@#H-F|Iq@N>RS6#+}4%W^EG5f%0^1X8rL) z+DXCGrR<*C1IqNL5v}Etn4=gr(oQ(7dyN6A$6wp~`$bb_tEQ%_UF(lq_U}AQeS{3L zmq%H$j&?OF~ zLmRnA3ojHGBBb^b_L&Uf?2(4uwsSw~n<5(VWYfkR#JUM1rwX(F?&5I3sw=LbL6!n7 zA_JnjkpahN0w94EAR;xXHGAK!-FfqOlYaM@`cnjUmAA$y9|O#X5z}TXAu&|-p6iCa zHATd?=6xTmR9Ay}l?1m)`^d)yO}MxggIKt~SW9xP2u-}5vkj=I`;I7s9{u|ujaO<% z8oWAlJdsufRtOkMqv8WlJ6=-yyJbJdQX2`HF!p|VbsFx6U)FZo)J@5c?WM`{O@$U! zA$o0g)}lXVHeP9{vZmJ>NuA8hnn}+_M~sUjzta`-Hw4h8a>!?9!tb_=$!76#`VA{f zSrXOk?ox$_ubk+7-+nq+uhQK}!6y067$X&iw18P?oFrG~3} z`mY$b{1+(6zA)cs)WS`%km?H3Ys_dd_I2{=@TA&fTR(~T z?6a+$FZ)d`$KvAaQG1A9R9*qM8%^J}eUsmjfpMHuj$~I0X=k~!B%Rx@2HYrf9=T)h z0?CmNoIf}?7)hVzWlS7=K=8HD>VpPuxe~*-m4$pmx?dSJoGm02;OcBf6eZN#NjZ-ebf*leFVEQzXp099=<%m6d}p zLFBNSVF~!~bxRz8D6tkw|Io#f`w8ZmQcF@nKrCt{jPd)^fwF(IIXT&?VyrK9{(+jd60k{ZTaU+ zsY-UZw;nk`WEusq1^RG(6#J)%`a0vGtMZoM?P7)kbddzF{b&GUZ|(wD*L%0!d|M5nRdOYn;0xISqT_w~9Py zQ}vgXjoc?pF~lMsV&`~HEmWymYkAlc{EBxg8TG7=d=hZ02lx!?<)}-@A1CDN5^p zM}xI{iC}&ts3!lp)Ywi{$LSA_B!DKdCQ zgoV&x=xggfKvvx>=#=}C^jIDU6>`j%ku2Nn*WSwst$N)Y@xKTa=W?7`?QCuHax-Yt=&Whr_pJJ@$fg&ir~DBn@|4)Xd5=3yP1Fx?zJz4gZOe7xHR7-)MruCI zu2&PHqnIRDq&XU5&qh!tk zK1_UNP{uOC?~HDDvq%k{ddAlITbph$?WDLnX6Bxd*&-Y&yhHY_yjS_@MD_8HhDvu6 z^XdfrsOU&Zxx?Bu%8BWpGhefkoUoGYhO42b>-*r?y`~R+#op(@PGP~A)w3Yqm*k12 zxZ+=FpP;ihye37286M$R)79Zt&+=5J>z6B74&S0_hJG!4TDo^#%6@FuCoIh6h?#6~ z5m{LIe2g_nOT&g!f43Nb*8&Ik^9QJU&k|B=63FvN!>!|&pX>`db=LH5C{O3nS{{L~ z*8srj#0g}_J11l-S^6RDZT406_3Dha*oXfvn$8)_Uv3h9t&NHMj`pt6`FoD55%I7O z%+HgL?Z+47i+0Utl2+exf@7xJrpei>NyiQ;f8M~aOi>@0h+5ea&CxyT0QmpZOPT1( zX<}&y=G(K|e`J-5<~kqY`kJhRz^9cTof8eq2I2XdPdj~}a3V*=Qf4lO@08YdBqQUU zr`$!x)78XudNPYrAWTe7j3=C|lf*Bj*MH6ADXw6^M)0?B+!}s?SM*av8NO?Ad<9B+ zoWa}cM^LUfXg?In|nZ=D}KR==@@>h@6Jdc+DmYmVLEne&EXXyx>qnVIw3Ka z``M~41XNbmEm!Mcr|j!Lir#iww!Gud6hKA_P<(mYwEU~p{@&`#$9@O1kF5N8Yx33hUk(FvX5ufMbVv@6=x^+aD~$0}i_p`Pl?_`bxWWyjGd)$*mO+0;b^O z4($yFcO!bAK!a$m4>k;?PqYrGmI>}V=^US8`k+M7F9XRju0r)Ijlxo{F!v#lmoHwI z_<8Shn&SfZg(k-kH98Y#37_r><;bRKeC- z2ao0=&mV<@p;!`d(`6+u{sq4rOi%PfDF`NNY$9QSM6;@L=J?N+f6e|5noFQ+fw@fVct;^fG+MaYC zHSW|c`#!61z^gR5Nv5|Pyoz>@aq;ZuvmqE%uE0W<7CYFsm@kHJ7}dQsnB&`bi=toL zF%$};KbKj8kT)4_;!dQ_W#uD_wfVg_?~@+YGPT#OZg@G59a>|U#0vl0KGk4-B-$%rd%6~G1oP-ZRBh(5b|IWj3x(t@ulkhu3mpru8+kRF!N=_4E z9t0VSCnBdtQ$|>zl3D|)18M573?Lx$*Rdt;GfVyDY9@P9<^K0gAP7ONPSD6=y1@{B&yIY71(+Kd~O~Srm zh!(viLk)!L=IsQG3yPtE2!DeQV&0d|I4ZS}20+V@DrE5I$vLWY#YOiY>32Z-*S_to zaix>r*k6Qy*pl&`k7sG8M8&2n{5;5tA){tTK#p4u)IIB`_D+d7G|n2{-_=lMAQ*v~ z(VTzx3d!#_IVM*U=qkqZ%r%Nsx2wPOV_HZBKia=q?*kGjVIX{F^9adYXqztPaI_@w zwK^gAqE^6NXB*0JFkRhH7G8^h3+xln8(TD0Zw`AGUm$-x!9xv}&RV z6MktV*hP%mKk5kSmg(2)jQHGv@}Zfj3fC}YejVGsfA@JP(@HW~Qhy@YPGi}vm(&sR zLArSmeOu@g19iL-v70I*E;ZoCL=Yp21|n(NrE`8ju03tO%5xSh|Cs#A^w3*qPiG4wJhcbcu+th5v&ia z_}QC#WPsbJdS7yil-F;SmGnw|UN;ugYu(Cxc$%I!v8dSyusF~0aJO214D7X zlhW=fkYq42niCc1vKbh4^O7 z+b|n4eAyVFHy3MVcWF?xB^TfuH(-K&SNq{>gmlkO0L#QL_Dy$`dcP?I4$jzxh+I-f z(hPabUd%K9${UU-to5Zq#F*qla_72UttB+d*WrRXmOWgDM3*?DAE& z1aWWVh2VnxQ4S_MVa0Kr5meel_Cs5YJ9#ekas;<3WT{+QgTsTDw1plU+0cA;mKk5E zAltp8Dqlt3Dua^~Kf8>Lh3}i#EEKgv&c;>i*D_x?v2}1&FYi=yVl(o}*md#dmx=qV z1$%enhn%2Jb!%S6zdqEkynxRP+ZwrHJ+vC-l@M<79j^Fu@4`DaKCMY)4+q^}1~RN9 z|7R5V@A&vQ4L}M=kK@|QLmb3I5~w~I+A(37hEfS|sv}N}D4IUX(u06*-09is3liye zq4#Lzt6hHbd2rV8RJ^uxN$2G;aFF~9MHG4C}U(?YVhBt;vx=&sGI;c)@c z*|=swzh(on^4D%{X08eAOBPN{L-7+{%OeHuSTH2RiDMZpUQM?}=0;9LnBUX;Z zk^Inuum%OxVzC)u+(1v;jJU4ftAa613_QtA#4m6lK%-1tNp5Cd!Ioinm^HIA<{hswB!9=v zdU$=B=2Pr#(39ATKX^m&Cv?69UY=PHYU&J9P|7>NQ995m#I&4$MfHk|kuP3- zFppxEciwxN{!a4!eN6%;chK7tzrg1P@qCEjk6HPH!XRHZ?$E>$at1goq{;}3%6J;{ z4ypwQIS%76Xv1g~m-*z^Jj==K+e)u;owKkHsd8U^Ig515kIPm_pz;d1_~0x4eaL-C zhiffpZBk<1GMlIhwYvtP?A>k1y7-82Yw%4~DTEPAz&T41Z~wvbPb)1ZaC)MZ0@ zkO_Yo?I$(Vkdj~l7G5FTVPqMDyq9AL*!^%+R0*x>AQ|Ohmpw)w1x&MBvsvqe-v>Z$l#VQiIFo; zS7ui2$2{ILW)|dgF0i$>4!6U{_bCBmy)^jau!p6gC%O9}SO+xYiv1|DWneYQni?a5 z`iKmQj}qx~1Jbc&QP*C%e#)`B)-qeknp?rm-{|(vjTkQnh5EVHK99ixRd>7%TIeok@+DTev#4nt zB!g@gU_33ij=UdsRx*na(khAaQus=JSZ9zau){R2lQQaycvNr|3aS-MpcKKD>F`NN z$a``G=!lzX6guoCs!25W8+aZ*cwM>Ov`;=%S>k+>{6t4#E8ToZJVa|87gN)!{ZOTH zuS|mo%rUBgIu-hjI*oAQ#t`V*dPH zeM1^Blw~W>L0`=9AsF^I*{H|2chllRNNt^<1S>U2OqjB#MX>ip@vfD=6EBI&j|V-z zW3@8XZsdu>w(G1{7Cotbmn746Pmdn$U?J?GO-v<}@OrPA0D{_@iglDyfdMgK zPBR4!B+ZOVTu67E|Cuqo`|VvjIcLS=vg(T=Dk@ZXXI{Z2Wnen3Qfe_A;%&_p>^m^i zI_G4el=cSRo=$v)k42+i*F13qD{ppA66j zqJr!QU-TIQc7R)=;euH=olCJWT;>R-#wbCOEFd<14>V;q`7Fsq6&rYe1PkAWE}_c@ zZXl~qMhuAZSTe^dATUWqRPqE@@&vrW9@p`pR<;B^_z!aY#z>g$3GuX;)h>L`f5#>j zr^3m4h%9=yV&C(dcG7^DWxZIO?<2oeFf|mvTu!)y%VjS?C@$2+yKQ|uhq4+q`?9|Z z%-VkSSiiA;6QS>R*-hL1IriK+xw1%mP;*(l`5P{-_3s}T@&*r#L&sk+o`@-&4!-kjwY(`A)dV55F>}Dr`wTWNij0ME$up*?T^M_p=3rv@Xg(aJ0b>1-0Vx1RN zt=p(Nt`xmf4>*_A_eZyoRFf;uj(calO--_tjg45?c1pqF#Bz9y&^m)BgIZHxgEQD# zFMjLG*zoZZ;gssV=AGPwcgw8jVHRpG17_o9ed3UldyZD)RhE?5eW~oLi|%q?5=pjxon zZNHjB2^?$IyA*=58=2PYfScmOBElXtqQhn_l=y6#j;(T9Q6u%kj3cVs1w1{!Mi8|y z&uwE_A!FQu9CTK609F*MeeeH`QiDYlwrNRxJhF1Y;JRL*jvoDUvEg#~seE}8HAg*9 z=Z&KE9E&x?T3}Sf+|wUu*U2>C)X>lX4Zc4Kifk9PqFjz;BW_qJ5pV4jV||aUhC~)` z>dzD&Dh&>eu*lb$_T4frZTUwR);ktD z;Sc&a&ZDgM-+GLu@Qka&ck`iH+Ge;!3|XYms#8)zXKs5#U#(E?q~ zv@-h6I-^AQr`*2P`%nC87^LfvR@qD0ueEQ)?I>+_MqQ`mKk11K`kXIIu@;+AY761y zUa82UQkRnvaS~b9k|BgPX2t|IH#f`%5b_H&yNLpa8ck^sWT(IM&lZT$U@^`)Sue*U z8ziJ=A<2s?-1%x~Qi(EF9W$IU12$Mbk}qd6dJBYaibG_jTfnG!MxKrlRdSkEqeZ={ zZJGw$s1@%_4v}PfopNvB%=&B5DM^`F-sNp!BEsBF<{tQy!Q`Q8I^R`(Riedf==aD|0vez+McGSddKtyWMz(wc>>?6t<&2|!|b06jD zo@s(*R}NW_O~sQC(b;F#o;>L!u%4dO482s-A0Yn)-JoDONz8u_w85tO{%sT8rxNM3dBY&x`&FPD z$_H~Pprk(Qd*gKNl(iNrYgW`mLcMzGaxH@n|B=^7&h3-%_kxBsqNLKD{qI!ei*tdr z)%a)@@Wto>$K)OyRH1vUHOkHiOB6@t`vDE5P-tE;3(GF@6qJXl8VkFNFXab#pf=~b zwbggm`y%XM&w`t8J}UMGx5whhyxb#|IIYX*w&C}Cw2xmuoA}DT*Do%s!N6~LO2${O z<1DtA=14*)z<2YJ3xO--G+=y$>*ItJWPwy-dy{)P3J$L#lvqwJ#&06KLnj%75S7(9 za6(x%F6#csIjrQ@>-vTf(s-J}_Xf~Ndgz#>sxFSz);O0Uh^p80^FJR5natdyt55hp z*f4EpOX5@|HW%0AB3n#SMwLjikC~wKs3xF1!Z^+HC5TqR!7jeU9fvjpv<}|RYBV3q zZgw{BOU&-mE>FTEDMeD%m&rLXW?pj0yMkbsFT}UnoPy;!)MNg%^D!DHq+os*Uo5br zRtNO@=WvgYf0x%F)uvof{N)bM;Awp_?%LWvVnL^Z(~xIyA-Aw)+du+`4(n?@3TpdHN&LvAG}DCk!x}i@T(H9)@#NQh;$E_k5HQEOb-rWkKR<#i7Z*NPsm&C z2MR6J;h1X)ryUAd7=~&YW0bWJ6LCW{vjYW1&>BkOKL8aOwz6weS!B4*`$22PLCi9T zx%^SS5|^7&1YP|X#<;ZyW3gYH7QPmz_d75lpV@U(m|zb{Bd$)f5=?qwDbyB)6;ovVDB$F z1}Z_Bt$L}gqv{R=#^}+9022$01Ja{{)V%6(NXk0)b#|(Fv5>Xk3Zw(Ve_jpQqX6NV z8&hQqO>->GZ7j4$@Ob`9LQG5->^N~Mih{wcgO7rELTnmT>$1b#9n(B!>STt%ojxT) zNobY{C(m3acSU{%T|9{e8Vce6= zmP-p}^56a5|4!fk{!_7rZ|6rMgG)|!KFV}-NkP^gktky0Ih5u9n23dnNoYT&IiD9Ro$V# zr}4B3rIw=Edfa#0E_sJV=tQ1Xc1WBaIlD+!{IgUsPRQMGo~PD4i_4|Fh{XopLnku> z5-|c^7Y2VgxCEVcJH8hSIx_i@Z=_R(i04SnjDySHj!ws|wR391xKO$;aYf{SI!#WO z0lH6~HKim?pA|QyH6z#%z1`0G*`+CTTbbiyIx?fa$EBvbp|~P7=j8Jr^u^!bPY3bm zy~{PPsjID>tPNB&p}WLcLTbl>vj3>BwA@bV3J?%3M}FvG;F7PEL}&0Z*|{g;Caq}B z3CRX^e=Tf8Zwxjc8Bk}_2TWQz>l{qf2{N|rg8Lvk6*{Bk17W${bv_ZEc3efn#gXi7 zl$b6h3BsSnT%uTdx|(A7BuaL^Ex-w_{**>`KSpO=0aCt?Y94(~i*H6gBj4XPw7}$! zC|9+$Lq^G&SCo_&2Y=QfrnJJmb7&xYI+Gsud6~)BpIG|fLXD`bpr=eQ_+KU+C58$3 zef{PXm*VKCm&VG;!QysH+#adPydW(yujPuzj=>p4ZuPr*28^j!%IwtyHuqPw)GWGN zqKpreqILWph}@xC=82h+0N1>4g>TP-`@ttA5!ChKWKdI2lF6kq%M9qq*g#;}9-HRX z%5BTb5rF2zx82u@f&!@H&a)zx`Dm+hWMmOHO-T89*&4)nRisdyoJo%C(m*zMHRY#< zHFOtlvZZF1)db2w=pNnf{%(QbwS>Y&(625FIxwNHCyZ04I3%5asr2UAlmbJFcXn?pJU;?UYCEKnk-@=&wTU;<9Q%S+^|K4>Z7M= zWNM<c{Eth6Hq{@WUg*`Q>fd5mL^XXhSeA0#~*JhHQ}|IV$H)X zM2BPD@+!%#(CJA{(QQoKbVmgUlm^?7aBF*X)+3f0GlGIUdrp0ie&Zx)MXY;p z@wPgAl-Y@7KmO+pLwNuN;Q1Z{yMurrPE|CwO`k62)EGNQ8;;aMFt~^~Z#%=x!tgXJ z;j<<wp?j0Eo_!8C*R+r7&XUPko9Y@m^@lMZR$HBDDmxh zlhba%IGOoHq<(G#_POaUZ)U-!6jM-wTp~lXFz9!DqcAd+1&GXKNqw(|CD3rtuusHgcAA*SK1U*qj&-(Wq~lp(Pmr?8F#v^&W|4z zX5rIJamH_K0}Swc*dW93=t}Dx;N_uJD-#^~{9n9BZa*?QedT?xxS)kQsPX%|C9qYn z9TIKSx``A^^S0b*KfLAf#YiHn#Hd-YZL36DoF0PmXiHi_Ry6bQct3!NvPcw^fK%`pc~UtUh(r}N zL=q6WDy$)(V&*V#$fmjn>on|pBGN{e>57`f5rMQ+ofy2W%4H6~uMn8|&FXR^c16TD zS^?AdVB%Z7>kLZfy842%c3M(kw*=%qt}y^64ooNVl{_Uz1bDo@_>icd%Fbx;=`Lxk z?{6Ii(jAcV<%`wXROg1veBP!PrlOz<%%H%eAFf;9 zdo^T$eZ_Aq+KBt7D>9MlKr4M_;pW2+D=^}u>_Mf7rf=Ah`vMhJ7g(vnN>8BAm`HXj zT{j2WTGy3wc;m(@DRo;r7*T;v{kA9Nj`Es%36CJzYBl*9_B&iJ$gYQ^udK=Wn2oDR4{&bK5 z9Hf~5msyHhu}AaM9adISf05Lz@zV-PbRLg1W~fyDn?BKQ82*; zw&3>30VevHca`^Yu9e#zo!U7MDU#RDC-l;wOdtiR_!obunWn}h=3e(F7oqeis4Y6_MN zxA{hGC0I=yasi1ug06;Ts>xd*F4@#fM7%(b*H0&IUU?gbM(Dr5Nf+D-YjLgq(K@}$n zr0?GmAI}j8eE&HWJ88-k;>Ld+e1U7*p!(i|C9PzQTUlsBXfP_3E?l{0id?)M{c)U- zfyE6z=>mt&qir0vKv?U0&Aa(92HbvgiBW8YDF3hQrdax!v5jE^X!R1DlzDGOLQ~+* z;V3Ic_;`{wr3HC1j%!Kxt-$=;(2ac7c>{I-ri+Iqwnn=6z8yz62t9jL*4`V~i8~g% zo#4L#Ryf*KJgY!R-IyJ_i3=Klgf^xWjTR@1d}mXmUJ5FTmgwdRs6!IaHt7GA0{r8O zL2$6MHt_Omk(**`D)V=`uupNEnTukRzhzC3xTzWnYUQ(lrrPE7$~duCMtGv>7DH~S;p38K&d_LwR76^x;Cj4>#$?}iSCMNzraa$&0u+uo<7lhBva@7|M zS%WW(&hZszUT{_IRx$MZkY+@@dk}Mi$E$m%Ag^vN(b|b4_xgExj#H9;o$PNKH>95< z|4n^~5dcD~?&7w=1Dcg)AW0qL`>-UBQHQI`y zyBC)u-aKLIm>q^#_x(hnVDhBP&xBE7Lp^Z29n~pOW;(ce%M-`WIyG8s20{ zo{B#5G>zG@KV<%Wps-l5%;|>rNU5&$h=hY2F;z8{eAzcKjI=Wq^qtu<8OsQ7Y=WU2 z1L}~c_07|7zQ-A+BV7HaPr^=lMqeXIzk*l+=-&UB{y)y`-@mzAJ{(3lTfIw%Sq0w7 zb(qhBND4Rx2M&r2D4`u7eJmu0cPfiHl(c@M)VoH3-47t{C;pjXfX?cL4fr6~i@qAN zK*t?Mo#!=!3~A0m*_kz&Qs+cAxQK3g^X6puE4!cP+Z3@X$b7@!^jpDe)s925GY3l6eg3RFG?e7W3V*n(IpGgLowptim)vB(!<{G zHM#E{gY1IIg?$V6_?wa^GpidTak>!L=;@WWvH{YTl~Z%QKCUY5w*%qwUv;46PWlkS zp?^N%e?QrPL^N0jw-3-J+#A#xUSym`VH+AFSn)s1JjHFC%D_OHg6QUAe=uE#5?@>| zBSa?TVSXq)$fs2;zfDqQ69uytFO?kg|-Kge~`l z?zMZ};m4M3E|wWw3j!;n(q7q%-)$$nSj5rzYe!kz;rUd<;~r8{NhBfOY2|H4 z&wj?Pi%QC_@87wPCJ^EkZOY>r+*h1 zaVeqS5!Yw3|4*TYy&0QtZ?p(M-ajqedWxI$n49?LC_Cdga##vn8gfUq+0n=&J;5jP zH3r91=>3_%P;P<4L;>Q=m>5KyPWs$ErCT2i{f!e{pz9qX%y?(Rom96Akd&x1@<^V!Iv0BIb{waz({hxogqyj(X<)lIq=DS1d#C=N58Mjx9!C4k zQpUi-M*)9c6z3vH$dzO+0Fa3O;4_$TpQ~&<5_s8D=BbzyMLfv6>3K5f=Mwabs^bET+2zs^~}s z5q|`3G<{wIwC@+)`+FmQddk%@6AatU@>1flnK|g8D@YFCrrssn)`QXjVwl)gTsP0K zc`uk*r_|HmVp8RZpO*P+CJ4#gMf6D|AB1mGiNa5m_|?%Pd@_ zny^?doMuM5ao40K3w*pWc!NQz)1;Ch!&VL*UI2Ks5C=-y7P+L^l8iw1ikc|nsrJ3%P0;cwlt)l&8 zr(Kf=Hc@tw9k^{mj!Ec{%??O?*oddy%-s(uXXNNt*~Lj6&|X%<{S&^wD#G_7xnr`- z{E#wC)!yA5^f5$}2_jlISFq<25#cuVzGOHcK{RGQx9hA>dd4b_Xn)>c9ldoc9&rEn zGa;e^i?&!X1zBIeA_t+#kesp*$(*6bNS*{0hdRa>UX?3oC?;cnIXui5>e?ita(54Z z&TdhR(=dbPivdAm(OLreJ6PagLX!l!)*l9(1VfXO}>U5ZzmnK>RX2qS6IV} zp&oK9$%un^fAVEM+uvq#A8JhD5m^E6ohcqI-rpoFzReSbQ@`gjd_>gOVeLD@W>orF zqkfrP)}mN7%r1cR&%xzZ18bHymhvR^?_};A?8E9Kzq!o$fM`}E!S;TERdy`b&t&=E zf7YGgXe)b zLZ4oVIr1!#y8y;#Rhr2J>;r5-vNo&0C#{==RCdn?xFo4eEBd|PBzEq1_|B=5n~+u9 zsRNB2XH3Qvl}-<}QdyuI^s-=Oz!bpT&hg(^4Hd_774(HgUgOL3mHx zgcM~hIYAdzMF);4;2|Cr#P{9`=&_&Y@KVA0i?BYo`30;H)qUBNZMw{+G=aJEQb>-o4H1qaE4E(qaYme}5a%YHNq9UQ8MYcRE_9{H@Ky z=ia~_xmJ{#Jq$Z8okrgDop9dI80mNWJ?ep=P`fg%vQXB+LSnCF0cD67npxY1_SWNs z3PqUmAzZ`l*g%_fW9X10tS6MX<%eQ@({#0bd~*fmvjw-x3bj zC{4K#rlP$`lPo#m_nb(rf_k_j{cCLLR^4d=X7sdL#B1`6>+ev@HUQK@qBU54HK3VV3swg|8vgWqk znEf{0WpJc2tssefuwiDl6pbMY1?gf&R3^9y^LNr2ZYNfF$;n6&BqXAo`aks;;pqK6 z1QD{Atn*@Iwm8rGv>YNt@fKUpoF)X2&D4+|rb^`;(Dz8V;^r<|8I5@Z2Um1TyOCO* zyv6RsOScK){HDo)O~R9%Ik+{exjB*Xo6A$!<@FtdF3O~w!96NRFVMR4fu<+&|_^H%jjhJ8rHd+un?hkua|7z})CsUbGEAsgF_%^rL4mhgYL<)?zAp5N>mG&xM=>TN88}6?Ti-Z1| zgsOub#^u1)?dgh(I*tu_y!9v#_o7h*>%|N?dE{}zU7L?_199j)@q_7~&5)H0CzymT zSnEIfKIQl z{vErkCn_K-%ykRifbuINpdWikx5WUvKPd7?JV60(R*0_;GfnD8D+NJv8#<#Q_cmVX zubs8ZDr?lYNMb;Jq1^^l*8d}eb)->py5Bp)foC!g4u??ICcH*d=_Uu}0<)`kF|4`gVpWwxG@O{~lVc{hwu;!?xG+{oy1E)@ojh4szp_b(Dv1)3u6|+sf z+aYn&z1)wURG$rv=@;x!kl%f}Y2X!EJzSk2QxW=h7?s*XBX5h1JsZCK``6T`e`4NG z4gim*44FZFX(|Idq)l$d{xj_aQ4!%kv?H z0lm-pqJ(oZIkCyg&7FPZHTLY33 z3%lKTXsy+?q}A9uB{2z>rT-EbtE~TCn559tg$9`Pfdf;7I6p{+!WZqZgKGlRY#N*; ztOxH!o0}qa8rtUu_R9TLv#d2eEoLG3FHi~!Ag4NSS`Fo$XmNN#3Qk`Li**KqCNIzV zse(Cnrva)Y6t*M~Z#}`A2zjbNFIqyCzoF?8Gr&Ek{W*?vqB^&$Hih88>LeI*v@Dy` z^0+jEyvx;Z17FAwm3yI@!QZ7JhoX%O@Zb+qOivh)0a7fi*7iJkfiW)KR4;y%TCaQ9 z{~&=H+fq>s+)+rubasEdsQF*j+*g5=&AAbFH> zT)X7gb4s74yA79F)+f##U2{s;sGf^8&cd(QqVbV6+@B!X;|~paCrogiv42e87~qXh zCIcGZ}Wb^Oi(FOz^WsRufSko3nhz-D+9rURH5C^8HRJQGR5kh zRZeE`#qVu@{tmnxN;&m35kRPQm4ie)yQX6O)(y4c59zeyv%w583NB2P4zQNKu6@^3 zhn|eeKeR+ZPprRYc_(bg>+D*j2m!^q*KEfQZq9sgG16P*5mg7%A)LOBVCHXQ$mlTe zN2#0lZC|facqG$*l{0+eNXn=lGJO+UW$d&|0+)OLtS4oMD@=H0rwA3_0a{AsIJZI1 zC+;1xiRt=DLpe%f>b)R_Jk{Dumq3e6sg71gE#Azz+(4gB6gfr$)dxqw=>d7sP7NDiYDT}8Ty85bZx5JixH&c`^ zn~cb11%y(T;Rpj$(o)T~-m`enW9HVrm5cyxB%O*K!vP17q#1~D-2+-m`0FlqSN@@G z;uPVP^2p|sY@!;PqNKV=-w`JUC}9kA|AE!Q&wTB>8_RCnP0K`EWar4VE_d{hF^Qv8 z?Xr70Q=_f3o0T%LxrwD@VU~aMEiydOrmS|mHe=EKVhc$IJOwP7GrGTGcG}oft>8NB zDB3aY1jIlVVvf{KK+TnTw~ZZN3EN~c-a7O@%bn)zb|F#pN}>RV{*`WmG?ACegB0>wmNWu&h$JGiKZvOyq0#OTd}`s?tV@ zk;0yWQ*`x%t&_H>?I~MmQw)g!c(G7bD)y4Eef#qjLhWUH1|^82S*B)u?mC|pqPnp| zVeAPh2*@8?l_uHxdd=ZKe5DY-+)BM^K%;;KWuryu{!lD7ee@)zD=J_nRw&IXj;j1r z((zEa0dQRTb(a+8xP5NYM$o55qU`FYQ&Uav8T|eyB*rp{nv&{=s%=8hbwwNXfq%!u z9nUwoi9%v0MtC!k80cX7fH`H@WT4g8raXtU+K`oCKeC!FZ#IaWB)@c zfI!Gg&M;I4;=r@D;2*0Z!2UC&hHgDO7GYR#t`AJn^CBfq$V#mnwZeFzEBTT#q!EkG zftt{1iTD@x8i*t;HdMKgpvx&}?XFCRcEAb5qUhSXYc>f1mXs4m3N#%3sse^>Lz1Xya*lWccn_I4RdQa z8$>ym4otODqZIkS7eWy&uz3;^c%02ffO%npKDg2V(AMfN$POnU!;c2C67#s?61h~F z>F`B*EN6dMhZG^%BWm{w^m!|4jK$sZAh(Y^^e@;0|s;n^tvwQtp5Qhx%@R6AN2EY~=ea{_U@i&P7{+D0{p_bH8(n{WE zC?eS}PqBxK#n4Xd`hV*H*!LyV4oQyIgZV%;VqnJ=mYZUlQ+`XMfLTez01!@x5Ab#~ z+eshKS<*TJjMVxt6mrS6w%r1rXW?YxPewGcXhcT_;rQ|VdbBZS8=ld?T5|&Fj^ij2 zD{X7Up8)CfLrb_TluP5ood!l%gNxX;1uzgXCxnZ1TExq*K}78`7)_EWYiEfRzk@D5 zhcM{l2rwb*l$dFvd`1sN-)xHC!L!yOg_z)(STn=%FGD=G)HsePmH|jZ|48eA1;ZP* z1~e78v;`golZigwj`%wp9`}Y37iz>p9)IgwC#GPo47@2=+4z6jXNOclllKtJw!fu% zl`;k$Xvhy{%5#JoKIU93Qjd)_48<%4@0uktnU*5=z)F*~r>@uIy}ldT{lfb+4OIyl zruo8b&IcPo&bSO|$Gj~`iteCe?4rBsIQqDAgL~2Rv(oAu2U+`cX(!)_!+|m0&mpJ9 zb?OwADe7b2x16=P0ZOQ6=W*vkgdvYor-enteSL!<)6YO3ruWc+hc7(r# z!BDWy!jVcLf{j@M06v;x;)Ys{GwG{&DJOEhfhG*LD69!50TY1 zx7N0e;aAvwq&1N=dkQB0Nzv<9PbcCoBMqvpG(GlCOMPGXYV6D0IgWhQ_KzMF($UaKt|=1a81nO>N+{jsxUCN3*U zvD1L{Bp2&|ewaw#UY`*9AXS|~%JNgOIpHs03r1pKc;ieU0B4_Th1$Yy*c`B4#*>-C<$@J=<(Qj&24fB4=#v*o&A3 zmq`Svtm}Fv2%Dd+$%^%NQV`qk= z$#F-jfIh$Hl|^S6bJ&44MHn3u&FxZWiCyR;=2PK#v2f~#u-`d!eRt2R-Gx`!jVmR+ zzQJc-X!FB1beiB>roHs?vv~XZ3~t|{I~Bz4Ay$X-u2RGh9LBn=p(xfX6EUq)&I6Vw zA{_QnXd?lqeE@)2W^woDP-BA`9O#c>V9+k_rO?mJPn{3*_1@OvD!C!_~s`A@PEfzdShS~>y9jnRi5DSB98u`wa(#n3`ZK9fa; z3E=phSogP@N? zI%9|QZL<)vFjpgsD>ftM*bIl$FWS(jP;w$U`B+QjcUOX|Cym?Du3;?!sZNlEDH$jj z(&Q6Klwu(zVcAYFLkt9I(i4%~8GN|TPEdm_|KXDg^3hbhYlsPwP>NX3uTV?~US}L4 z(m2LL?JZ2(^H)>9TL55@p-Lz{zLuEsYr^2F!kMYsJPO(w4%#{%Z^&zjxj5sM zWoe=9gxCq;Gcq%BKa=qg$xr4fKF&8cD`ZH{lpsN&SK=a$&HQ%mA*T;afG%-l9T@=k z5^x}Zd=VJ(51qb|j*@;d&A8-PjTZQousBRjj2aKXbkCs!$FXwq;T{K8bmlA$B~s(#lJ9J!cEv$dLon5{y5g=7p27Phz& z6he>PY-}`DRwBcszlsN7@N$Z_Jkk;2yJ6}+DQHib+Syq_?phSyrx!J7uf-)GJk-^1 z+>st(Tuya+-)wm7r~LF=q*e&uje8+4x&C3=(^%mRrFCImvTQ$Mn!cwp!rKGg!1$lN zNrnlEEK&~cDyOG$cajjQ$s!jxGeznSMHN?8_=Pxbrw6!4l;mp?%c>G76+V&^TL#o* zIv}OcX#9>Cqo^Q{PuehSuB1gPPJ3o&8`-+5viCa%df$V*wV7}4ZlH%H97vBcHh`Z+ z!y?&YsoF1)nyRx{5;PJ+G`axyju%qMuSi_X$Pc(0%*gQvYzzfmUN$zij?@yWS~^{Z ztkvkc$7{ODWy`JgLGcy9&&^8(!esGb%$u%Cg=3!0o{CM_gSs$>YT2=42nG@3>HH=_ zUX-?1|5fbtk`+u81ogHOmzNMMd3M?(S)wBzcGg1MO`00Oy4*J|vtTFy*JLl#(D}sC z@JQ+)K-8@ARduQ5rY?TO>!ga;uKWP*CoeuwfQ}aG@%L@%@1AOliIN1K$Y*cncRp%j z(cH+;Hj@nQn>}MUnv9~7pnb_#3(Fcgm)~@WlENf0(YhtPD?OmiYDYuIR8yjaIvc_K z-Mci>KI9%hZ_Df9m;spK{s`4p)|pe1-;Os|3i#s#3H|kYrhH#kg;bL=Z*YvlV5aL; z0(93f05*g}Hov}Mm7&7?O-l0IZM#M`kA~r1WtKW0v%`yipsZlxhhtEvlNH=D^lh7m zW#BIWsJ_8Kyiaa5DML;~6={J!WI<^x0YX~~LG|8aLM{yyAzp#E|MVFRKW&h` zOu1hXu`74M&bH#ds!)0{>MeAP&GXw0o6Ieh!|Y1pX2*G4ncoT{GA-z!yA9KA)LB%$U9$VC zB>(FH=ZAR2kQc$KVSQAzZs?D7Mq(?f@*g*wD9~*zYiqPql~LOTO`?5%Zlj&!D6!RA z8{O+fszP7bKl7ra9^WqbYU*yZbQy@eUb0jY7&>d^qLmy|l^#uc3R;ZN z3t3GVctgd98^u27IQF!`pJ;h{vtD&Uj*^|%+O6N!+obH!Ut6*MM@o!G17KhbnSQGI ziUn_arsNx$Q>y5IL*uC4zaKYH!3)rEWS8xQXG0i0pg+u=J+id1W|GQx^rL1KW02`b z8U15Q0B=nMz=Z-4={ZEQ-ul5fs)~7&pin6jBDoVnw#YE;uu{dvA~kOq zdP0nDJ)QIQgw=5EW*owsxN5zFt<0?u|1h#lFf6`^{|t~{L&2j`bF?l(L&IQKWR;eI zbcQR^2F$dABoI@~qm*(k+VnJL^pl@T%AzK_$XI~+UU)Fy8-fQZ+i&VqL}r8brFbH}M_9msvEKVqQF8QWR<7g5hKY+U z=B%C5i=Cp>R{weHv>D_j{*QLbm_Z3o#2p!+gx=uTRsnpvy6*yQC0D!B75?(|&XM4*gDg8h=KMWEa!WaC;bTcWNb*MkE?dxxIq-ZYLC^|eMG^9-JN{{J&I$Ra_8pj3XRij;}-W_8l;rswWK zlssdy$x@%CO^{@eU?WH~u3;RqMhV92`OZDq@LrM@#fVmFj9imSbNV%LnzA5fTbplc z#Pd{3>Iqz*;-Vk2{2fNUnM7en%|jr3k-QV9FB5o8MU=Kp&V0&HdSKQ)MTHzg5PGQr zmE0bQ5tB-vbH{tVvIH$CD!CA92s14STVp1rmx<%BbX!=cR?H2HJqS7Rx#Uh+dv{xd zovUu4FciN4+O<@|ErX<_kYW{nUH1Z|1^)lG%p5W_wh&eOS!+##Gjk9eA!${UGU06H zCmC^sS~Z>WRHCG)9dpIyFm$|Tc-d0W++3UYSrhRBm-#{Xkns>W`JMN_kZG$>*IJ;-8F&MHodB zqD2qSZ+Tu_ejSV8DK{Oa zwqd>_k?7ep>v|_!GaC4HVWad*58WZufVw+^=CwBndPZ~A@kk%M9lc|)y~%l+2wp$H z%OY{`?LiPbpw#tdJUn;BP0Vwv5IPfYw!QS#%m;ZdaSgH78F(sc`#WnBwOi~p38FlP zS$O`}tQORa&NhS+L$*mt2GTD$Itk;do*~x?+A5aVlMe1?9?dDk;v^72gCu3WN|z@3 z3LX_twxz*X(TVSXKfF+8{f$m}#B7VUsyzFP+6_G*E}rvXz1HM1Sr@*kGka3qNCmVk zD~i?rm)51tUy2C~Na!_bakC2sgA)mu>a@%_ZwTYK!J_VVB*Ph zr@R35G00>mdV0I3e#qwsuEHR;`}h~{QT+O@7chU4FQp%YRR)tLDD+M5>H+P7X_KF5 zj#4gq{DG52p53L6!G}Mr_H(C6Sb4F4(|SwXA0N< z`Qgmt1LZJ=n4!E~V`O@a3T)ib9&&;bwm3mo#38+%P*uSZCW!>Wja7i}0oB)3eUUXd64JHt!wY(DfrdiXs{!;jIx1)^gX{3mvCK9m zS?MLYfku6jnMs{#nrK7!eCwZhLstU%2w!)Rtsg?*?pg;1jQP}}<>8!U3rjYXxNsqf z5EN^@NLMj9{ar?f)MVNV=%JEY=jIaI^|%Im4v+&S|LarfgD;TSAmSddC|s&=Y#mLH zMvFN~N`j=0g))J4ncCYI>L*!Dq5P*SUXZiBJd>3LS*=LMb5c$`_UA@f_Z;QFCj~g{ft`ZzvRo;>NGgd zTb}AG+midk|4FG{>oe;cj>?m#xwsyWZ+P!Fq=eg4Ho+A7gs#8Ds@_Wv23MVV|=j-(aFwd@# zc{l%9nL*GwR#qE4LUbgp+-oS^@R0kH1pIovnD9cKf;|6GfQw%5i$QN+T7ebme)qAu zn(Z$|itj|XiJ!IbzMoFmilHM}ogM(@GYp?PH_E2{j1iCDY5_}|cde8=VQ?ZbYilT* zM^8z^D5F~cn=ATc1sH%UM^%pdo`QvAvU7sd(co34HFcy_1CV>5~ zVvjox>|Va`NwE!%hE|36=~$(hcN!V?CltWKc#-)8W1|G~o%pGOXB+$+5hez@9~1ya zSq3Ggw#Y(9ddoKGT{2VVNc?kUhPR-m(DeqBto_!Xn-NNkS$9q%TNF4+GMa&mcIiHd z2o=w)tx>CmnOgKO3J4$*--+-)_(BqD>V@RGV)Y=lrvLMRxrB&G#>R8UoH-o&t%V_U zun{dM=YnJ$k#}fBJbpz2hyHskP8ojvvr87Vp;u(FowzB&#|V}^)B%+&+!TOjP*2no zjPvAjA4~R;)tdqKg+BmM7zaLSVVcBadlp((0wnCS!YlPa?HVCNt*-5H;vgRYlDVZo*cqjl5B(l|YLLfoj8FKYb$w8P4@X=rR<#tNM z@C6cC%!r;lp_X?PbLt!%_oAd8I8_Hix2E3es*gBYgK78A<)T~v;T!tkZy})~TF-;7*M*B}>?LNHYB;(51ZY&| z*-?~+aK}_LYG#852F13Mv78~DL%;n@_LVw)w3aom#-Pg51q9=Dng0P&Po@M*AidK} zjE&DiuYu6YH581oOBxz_6m3@RheR`nwDw#euPF9UzjRMYT*=)l{=r0qb9TInbe=}x zNyG4o>4$I2L{}OvDAl1P9yeJggLgKL6U19jYG#|-!>r8^;4%AT#NI7Nq0mFz=n~FP z`!8_=-Xe_2RRksQ4tS3pASI+`Ke7Z`h38dlAI6UcQV)me88mQW;FEvyCya-Pb=LOp z-~~a(L&Rsc_f;cGy7Zq{8ucC^vj(iyUjLFBHBpY5udLmi@HlTT8l?F7xkhe62H1Gh z{Xm+1p@3)>6F^>8exSBVjKKG$#C!JXuv;dl!U&(OqZW{KtnI4~#&?O$G zox9MkzRu|R5Ts~0xJBjDI*7P#&MBy}FdcUzH#|~CzWQ|geRs-L$Aq_C{Sx$~!t0Sr z&;dF4QJcajx&lI!pdhuSJ(o^-C2WZk)IxG4*YzZ|zWP=m6WZ(Bw(-|h#LVsp@8J6j zNqaN>e78f7z86QzfTP=E=6`5D5$Wx|AU`s*-+0pV7vz3jK#7?Pa^SO;`WP=8$)ZW} z1B-mnrJ?dBZz5=N( z+N^NG&_LJ-p8$GZ0_O>h(c%{4Erne4Iz&hbD<=qKGSdmef9%;`=_n@Q5~5n*V#UZx z2qD?FI3n)@u_cM9xVcti;1P*JOVl%l{G(=3H{FynNJZIwGCsK+=`HV;$=^! zK=C~XX2Ja}X3FY7Sb%?`1%yrSW%qU+7L(&|_%QS0jqoga_~Yi18b*kjA}w#OCGxM_ zd(m`GtoyJ0LfBoU8o;+x0jI}+uKDa!)nF=GA{9>_2WdCL>P@v~l9|;!*O$M$I+&DS zBrs}2{ekxErO2J#(+h$i_8n8As-U-47IgduKwW*n`* zw=Ln5>BEVU8yD~&y}iXNUMtcIz>0Y*bT+RV%al;GOgs~3WWnd%RKpaU^D(w0?hHG= zLSNHlYtE$|e?6H*NdMv^NQ2=CwD;gpv>A|%TuKn-IigTvfnNaogc+L!tvjY}p-o0V z6eSrUf$iQIe_!MF?tislUU*}%*!7#FSwk{pw}x%qPGHyymU^)W$sTQ-6+busC${p^ zy&>>uC!>WY^7$(<$QJOBexGJ(%Z-s(5NbWfjbKXGp{Uj!S9f0X{P(7dIt(+ZUO^dP zKpja7Kl;wS7-YSS^4PAW??QP!d97}WfsRP&Ya_J$?vbB}qJQBL!E>20cJ+(EhF zx|)xkg6v7`< zcPfRaKBo&yO?G!EzSVsJ=NxZv;Rg*0mfNFw022MlPq+5M-(8M9`SLA=OpMh-ULX8+ zo5{S0?v2o_n{SVY97!&5=~3qbN))wzXJ`9uf(9uU&wn?RSz!G`=Uf|ezHX74sx3ov z{m;f{gtpvvA?Eh6WlAMqt!5PjV#-bS^!nOqFY?#T8^O6 zIuacxhx@G((pQ2NZbQ*ZRzLLQAgxXWmyXnvoXV~1RFXaJQni3iG#uoboW=_KYmcH&&p_1*s%Q#Xtt&h$FC2u9o4$? z&=3lJ5hnuST5Hv2Rghq*0RPBi6oEXp zhI^kEQRhM#%|c9blgJ*DcTJO87=E&c4Ne?WrvtHJy37mLkrts7;<~ptDeAYSif--1 zLT;fvY8{3TQ`hVkVEL3UA>c5uZK=d(nz`Y~ia_<)f1D}FJok5iVuF|U- z^0;(GqC`8oE2!{tEn{Be!d3f4297Hm7SQ@~2EC6i4m7-RPtjX#UP)i|AQt_vlIz$s-0;s2Qx08={UBs#QPIwQk zEgYdb5N?3nMS5?et=2K{k4SjYz!X#(pE>$ ztkNVh+qf1sTYsNfiB4y{%v4rf@%HS}uHV-h&C0IP`6-DsKQ)h&5`{b)9)Ct1=*Qak z>{Jih)dQu=fTd5ZKrDY4#^Pq$t=@}JN{3T2Ta7usAO0&!)kIUhZGKOVFW9?hqx#Mc7kO zEu`RTEN+NjpD8}!Q=qM zln&`@hjYW2@Ekgs&0E0(Wt2q&HxQ9>w}Sz~G<~}f>E_lwk^@}era;|fR>6PI(k3Mu zCk0tpTF|uH47*|o8h(Ag&pPd2Ba7n!F4+X%DX;Y$+KeWO(|^ULZ^01zkGS4RLX!5N zuVgI*2r-h2EDzCNK1)~Tml@EbmXR90g%Db6A#gWqNZ0^Yf(-9=R*7&iUs5|%U>(}rdvHtbzjEA>kNYz&W+O0eN;0? zIMJBigsUW|uJjtd0oY}w?dB2(CA}fzjMPVGMzQ>BmAP7f~EK6#}ElwYKbDJ z>0)Y%mXg3XuX8#imtbObb|86Ro)S0wZD^Its$U~%pUVnbJ@D67 zjYfk?3Sq~j7*wGo2QswUdF6wYtcOa1bU>yVB8PvM{s{H2<0PnqgPlQn6lhxc zWGS-Jf(Gi=)2k1LzcW)TC;RnXB60a6F5ytP&%J*!=A{#&+;u{o_gVz8bQ^gO-?-RS z7_=8U?yb%@1a?5DYzbr0fDFB0+SX463M6_>HSbJUdlzf_|E#9qm35Q7UHkJ!M7ft3 z)ls0D(ed>T_V=ppqTbi~N%0F)H&?zcL(8hc=3#zSQ$UZ$5{@#KS#fWfcQZ_**AmFz zc<`FvS2MoKu&;0=V@WTgYD+18>cWbSVW(sboAg#}-V*K{5cvXsQ*$?tGof@K5z%D~ z-pIOc+(mvbvb@5S{5l^x{mZuQ?A@V_itxR`;!$6Q8w~92I0@J&P=@%`SGCpJ=vHk z2Rs`ki$t9*!U+OyooN0Q1iU6zj^O7}sUtpGx!(^`$0qUYi*+CyCtnmZRn!XdefcSK zcB?Sx-j-~RSbh!k)hwz~=pm95kZq(R?l-T1%I5LzPLi0M!CjO2s;niAt6YD&ab!b_ez#NrKFZnrDv4+K#l8RJry_T| zA>qUk1Fj*acGzs_AJKen+96UHU9`hfw`9aO^g{DEb*ZpYgcn(QdONkvX)Z?r}fGGF01%XVLisl{RV_ z0H+lCnN{mgGy58(1@7@${0K;gviE6O_t7c8keOV=ehcO?#D8a|C(@ASGFE-VOO<&` zj@;02p1(c`@$BkySzy%@BPAbe`d{Q9&mR7Cb0ZW%KLwB9MGM5mhUFbG-e~J*q;45f z_mh`x>a(eRc39N7MvWxWZm_)el6OG%y);~uacBuBc`3&XWDtK0Z~f#hbho1V5fh7GW=XVjHb>sC4Bs-4!|vJwV=D zCDBzk+FOurp;2?nEVsG|-lp$%t^UWAQKALq3Zj}_yKBedf7c?4Obfl6!Lj${8%Qb3|vL&YUZ$T|M z1F^2-9p>*S_|DpdV3$c}y3_)Rc%ZGx3-<`QwV^43_A+QMWgKP|myxl=Pr_!y`KFT~6EMP2`K~0zuE$gHSe*n7?-0 z)#QgeZR{jDscYBDwDor?znPM*uN9HT46Lk;gHHyPlSvN@k1xthwb0ks1(S_RmaSUC z817$xj!&QAjMBV*K)f+u#)t(=hl-cpI0rOwp8muCnfzaV21qpTk1Kn2wynxXBG1_P zp|%?NFW2E;{OCF@Q~D$IZi5$6Id4NHs8C(yYNSF7K&b3Po^YgANHx=?9KKX~S zh&tfy*QBc`v(|=&posrlI0uX85d_p~3^)`O=I4 zv}Cx-AT8sVD54>;ao;4w+aB{b)};1#*2a4rNR}oakmm zmO~o0lLV%E8U|JP=3u7EF3=u{nu^>9Z5pUFT)9uzz-tv)Hi9P^fjwhW?ZA_&tag9j zomYl|L|-KER0>lPZmycF1v`4%zPi|g(>Ua8O#03!Wnpq^=^o_BCM8ti7Gk1XV6bDV z_VnQJX;J(6VBKGCS|uT{gI;cmMvi1Y2Ww}mR`1(8q=DR#51$xA>%ZvP!OmYfAmx^p zaFG}P(-Qh}{CzY8wyEx7H##>SL~qVnIz9!{qGkA3{~z59%MF#S zI}CX;$XgOg4yq2nh_pQpNyOKM<}bx9bUda~+=zz;$e3vN1?lR-KV;ZdK>=I7NjAbH zaGU;lY5@JIOe}V$nRz1XLB#=X{9ae%agJLC0AUj$#~IDobNJwdzhz8sCxj;QqUd`p zKtAB00>$yvztS1aqak`GhH$OPBdc=>K;1aB!i#yfJc?>#EES}0tpL8BvNhM{P(|9r zfy603_1A@#x)P6Vds4FmzhRw5HBg#-Ao}1kW%q)N(VIFDmK+&%^OKB!wV9+3fS;^6 zaWV}73<(p zJFDD63#HWwet8XERa|79BeM7925}N`;oi}&7#gq-!`|$SxFltY1`^z! z4&VIHw1c68HqS?!qs)np!0kl`6d+bxMg;s)=m!h=hd0fdvpY~uF8^8xx+$InckSK` zEdz{C*Vv|RceGlC%OM7sLUdDS{X99T4Sb+3Z#sFv}{rfgQ7|0!P0zKrcC%dAdc zSGAPTnrAn=%z9*UvrrKw_pQadATS1sO-I&Uck8cvqONeq1uN5h(0jj%>i zV^9u=MmKniiAlOWiE%yH`EJ4pbEf%8OZuaDQ~{gg7- zw8__=?9_*99DumS-Zt9f5Xokk)X++3^nwx;lZ2f#V1DXOWDqehCzQDa{=yUZFmy^8 zzw~DiZ~!R=50m^fvo^|R(II+xHDFBITVR(_4)oW-u?r+Deq?E~Pv~L?H&Fool~U5^ z6cNO=6}v;mih9tNYrK|kv@zn|MK8Jm37YvMZMym>WhrS~OPPBjUggMTvRW&ZRm(O# z-G$d7E$g8Esdd-DRi}r!%m$s8@YQ{^UYloUS$hiNpN?Ezt9D5N3ozT_p6H$+k*!BA z$*C+JseY<*-tFKCZ{e{_5)$?)$sa~3_`!4&eihEXX$xMO@) zjQ~62A}!FHDER0nU1*SGBat*_{bTH?&+7b-nOU`5OF|59PwrC=^W#RG0QB;n_aPW!unE-OOx`PL=1bXt7vxv zz1lcIPL)H~RTa~iHuDjj9`YVl*`^%xMRqT3Eh0^tU#7ZhbTT(xjskAIP@vHz(5qw5 z6c!x1H0CeznlmJP6^+M2%Y|KBC!`5?O`tCygZ~2qHDebo*HLqO!mr5LGW2C}9WG(m zNqYzP2R)8nx~7zs5vk_ypxOfCX*t25?&?*xEu;uRN4Knn{$35_+<-kF!geheF7eZB`x!ZlzT{UI zC+D5sVf33FSmBsjkF=d-WQ1O(%q*|MQ1v&w=5Gkn8!} z@00ZD^7g2t4$7t+_J=}sD7EZ}CSL?L)RtAqO}R4(JB~`tkK%it>eE#5fZjD??mlD@ zCnnIDjh&NP2k}lFEM$O;#My5Vm-Z{>|5EXNNkM_a@96!DO!wyw@d%Also$31T9S*| zPzg|-7Z8DN!|gaA4tKhdZcOqFZ;qwGM5=o#-D?PbyVHn@+N|)7p;Gy*mjMeI;aLyk z8yc)Bn&F#*oOh{6SaEsIVnnwF;9S3C`<$2C6h6}a45G}6nXW_=SXHMi`dOf%Y~9FQ z>JZ+3$3ksu`^srTDhg=Ws|mqU&Xe^R@y2b-k2tezv$O*Ap5Ow+$L{o(H5@v=8_ADk zqG$tZ;^^HN=)8>;ekKTKS!z?RUdL6;UG7qGD2@{gZF_A0!^n6<@Wvyaj-&gy^$hrp zRy{cmyo&UqmRo}LlBqjhcAWxhjI=~DN2#-~3l5Qd5-vYHy1Mcss>Vzy!hRBGCiDqA zT#-w>nWd+0OkWvmcJtX(O>|*Kd|ff5uWxoIflGNy_}y=gHJh1#vni;0hbqy`a(N%q zMG;r-{2=9-aXw#$A4}2Gq0~;e6QBQeb7#+y|3E#vxX|ciwdpFE)+r+vbjR*eI8yF8 zH!|8gBH{Ve^*N)_%T%iNfC813;%_6VmbJ=vmxwhGKPF9CnP zwZWdwtZC-2&|yuj5H2ze$BvDi+oNgEHI~r{M%)nn^nCYS>lgldoL0-oTb+PEZU;X9 zw>IEFQlpTp6Jj@*jdbJMXi@?T!%g!nLnSrvEsY8B#@RENh-1jvL=g9hHMnX^=WI$0 zO$2`VGd#|>4JAhT481Gq`u*Y!C z>Y$pIXD05`WfJVBe=kL)3w-&&hR~s{i~G4T|(i5l72RwXSk%j z)vrU5wF0;cFb|Hix=_#TSIGL{o*)q{V~t+GRI|Yn2bgYO>0Pxk zE$nEh^XNxv^%3b_)6{W0Nlaz=!Q2&lUJV;W*+%#;tNvfQ)pV_Of9Y*aH1>Q;ck3VH zuG0L4rvzxStD#I~;ZHb$W&N0t;KYY1p^W7)yZg%GYIW2smJP*k4+{|@dM8G)1iH1sAp08Kj0<_u@%R4>~cj)x;Gd52S4`Nz2c+)8|oPFVEGb?bu`e$ z<)7>qSg&@l8k+iDQL?CCxU`uqOr}1~RGi7kqb&2AydcM&B#ZbUB9FyyfUk4R2rQNEW4>0oaMpB@?kRbUdT4bP5%C)kgX0$Xlu9H z=>3FZa;~@SCY0J?{pn;1vl3YyhBm;y;nfTA)S5bt3*M(=<%w_gOEp`p>p$n_@_n%# z_}9@ufmjDQ&bu<0{leR1|34c1U&-YR8~KolDi=vH&4TP>HT8{B;SZq_pn?(+T;|%1 zxXBq6yQyS!hf@GH2ftA=o^(fARF5;wR})38F&el~B%9Pem@FDJ=n*a;Mc1-rn0oo%ghjm)9=?BwQlPUR30ZsbF@D> z1Yn#=AA5|a^Uwmv#L6#1Dj4OiJ!C)T`~+aH@_1971*nF8?7JHmY7s2&NMQO3#C6Mz zIFdGt%8_ktx$x=gwC#?RY$^73uN^Y-lHNn&ruy*Fb$np4lhgm zU7$(@?)Hjs7weL=ib?~*RTmylf{{Jj9<7}h{pV!gyg-mfmjPmz5PCQ(G*VC;9m`qH z8__AQae4n#P;H0>_}7Sqc-D<{Rn=OXKj#sV_i{k|*{)ItkH`McLe^(2VGL#+H5Y!W zmqK(>a@uAD9Mw&QSCV}1Y$&O{vo&~Y3bO%Qf_5{hqQor7xFKIwJy=ibi2i`3n7TFg zaqm8w&Px5MuLgP48q#!Eg6hLlwbi+zU5?<-YP*G>{S=P;B~uhG1eqziM*T^vh>o@d zurLio&xJH~i5eHI9lc}3={Eg!7&Ugnu8~fYNenA7pb7Dnwj{Kiiz$DL{isH;J4P8X z!8;B4>&IK}sN<`Q3KhH`l;LPJffv_1p~gm%W#MN>%LKAeVJ%@2a=mzr$S)c;l-6&l_$}1}hff zly8P>ikz)89((^ynShV$b`V4vU0Pw^Osl%n4FX!qo(;Z&2N_U@N~D{uqMUTRjvRPJyTR(fcmIuyKVssL#254xhm> z(S}6IN=F~+g$VrkfQ%WUIZ$zed5g&6OwT0nFpRyic>X@q$2HT*0`39JNG8*Pxe(*~ z@M2^_Rk`2PG}Mntjn_A%*SY_0Nh;o+Vd*dk@Y9cmqvnsZ7vvEAt9&qac@bTv@kseD zB>5Ux;fD+$Kl&tZL!imz>#*NFd_#70WiT{oLPQaMLb|pV2NP-S`H6nML8y=g>Mvj3 zb(vL32!%>p8BQ7FPkPBX9V13Za7^?z0K6Iy|D4%zrA{T0?Zcb%g}d{^zMrn0+|O4- zch<}ydG&f}e471_T`IPGP zUmpApY<~_2Nt-bE>N(Z4SvZB*Y^?W(Ku84P$KS-f&E=!CCj)V~+py0!B+pozZ}mH$ zh2bc_w2`W+hFf+cv5L2is>?UOwwmbJ8qDQVpL}>`yRm9b8eF^E3;9L*m-F-zKOhPQ zr+K-*U1u9!F!65vzp_YWfF+#N%DHJFFx;O(ekjmWXb9o&bCe2U%RDE=(mKHGUuugwDv7^HChD6T&90Idka4i#E2 zqlx<|DJxB3PS_mrv4g?b7(tLt`j$EdV%j?l)wG=CrHZ)ZW5z&xRqwqtf%!a73acR& z3hu?{k_YZH*{DD)UNx+4X!}e2!vT4AT)(Z<{XsJ2k1QKq;+^X1yUN{LRp}bC=XV*q z2ZY23Vt-%Csw&c&0sRj*#dn3-pI>-Ozf!0d30$lS&DKdK<5u-Geob&Uu@*deIP?D$ zh;~tHneV;gHyBb_wDNd15!w`RsE{h9av}M|y?1hf0=&*HF4KIt@6EmVQ$qCi=s2Cz zcB_WA&V5K@Nqe~-2lK{ZGSr)YyxqGwkT?Io(pEe%cwnvujrq-T0elXEdI& zx~LtZKp=zojm5;;g!9P%bphn5*q^?8p_;w3lI7eLUU6594$loLXi zAX>nJ+wXlPG}`a?Mpjj=^*NmSn2%;hZh!$?znJ{Bl@-(J=F>mt$F1-t2sA+SBf<}1 zsoM1`{CTrP-0K*|2vx@m|FR;ov%!KUu8-s^`+8*R8M6e&faky_Bw=W2XL|?lK-@Y@ zNU2K`eki=gyK>mb*}5}Q@7P9QzXegN2Y`7pmCSmM8zJp-fNN6Xu=|ADV)G#)d$dND z*I!^~oz+UfneSim0T2x!``hU#GCF(a%vd1>2s-}aywMcK^$%WwrPn^pe^fYD_-&I4 zjd!Ckrm4*T!FfPXRFZ6oMKdBy`FLOslHuLF_83mNGn2&Tu0$w9#?IR##w!2?_?TPR z)=LGhclm1;B>J?y&!BF@scM;MeU0ba{0;{s+~R~WXp0*POQ7WBP+@@mxZ^G# zgx8xHwF6vB^H53BgcQj(yn^6@161n3O2+Ic{IwCXUG{AI6a12$*30P5 zJFcK{mR9oI9Y%Q3bxm+7*G3rtg|>eV1(M=1YGP^u4dv6ooS?Y7@^FW$j$ugYAkfvs zWo4>^ZW=vb`tJpS_+A@o2aK+-7%-+$4K=ihIvl+ofmIQDr0gZH*Xy=PKltRXc--PS z2j}1ZKnaClF!)deZ~jk01S2D6C+9f^ow!64h!hA%hPrX{%?q8b^ z*`C+sIIx-uK9T?b3eg@SJKW$a9A{G;Jb0v@tGisNont z`9Uq+q)P(5R84lAlC3A6g1gJPKU?w@$T3rhAws{9{UR1E8cSm1hSN|)s}3X%)rB8w zgZ*hrR}I8C8lm9?EK#)MCYW|5{eN`5WmH|=k~JJ8xVuY$1b6oU!JXg`IJmpJySuvv zJGk3{;DO)=cXxOAxVg{m(cN!lb~D|4*aHS-TL-kXBBmT>#`K1=AdVvF zupNAH8Zj0j%>hGlfHq9@H{_j$nbZ<52x&~)7@P1|o?PvE5P&Z@i1e+*-;iR8 zsV0ghnhY4bUi6p;$cV%FJgmRef8_5%PJn0W%Y$U<9o6fI_sn9QYMRIc8B2yBRj>;J zdm-u8gnC1{D5GKsV%r}9x=}1;))w8}s4SmWpe7XDKH9a$(?%JjX1?4@Eu$@1mYTOe z>C))%9M5AwJa0}ud9hb+b;|djcYBSljb4(M|0pHb9ZKq|M{@Bo%!2Sf{nDFFnHzrW zTC#!J(U^r@5lI0`CZL~%%tfyN}F>e>37$f(Y$vUQfcl-a)n)ieGPmspO zTcHF~S#Trh${;Q5xk}7R4~NtrDJg6qJ5C zKYU;iTrEs%qe0vdH#J%jxmbRquudF9H*L~gG5Mym6jO47k0>3$+8HL@NOb#id{k2q zaIbwmo-CN6;7L#5d0Ae}>k(g?Ld7S16C89c-yO6ePkDEa^(tS3@7A(-u-;Poyc$Fm zl^s$PIXq!~o_JUQyKtf~ab0WnkzNYHb9ODAvDlQ*p>$7HRq*y3-;(jRhgb{Q6$Odhm;yh`b3r<;i{kky`cblcm&YT!Fcd>j z`TTjMb{NKg3GLuOOzg`-s+`t1_YBDvKnh#zvxy+&8-iNs&8AyfRMRi(gnaHIwSx9F zV5&3{AB$@jC%N>aSM!3uj`~lg@&N#(>m}4b+`6$Xn%6pH4X5T z`@4@a;S^lv2tTyKHEK>b70647UMg@6^=RgBC1meN{|zOx`k=z)y?T+T`n`v!Plp)X zmXZ4P-KlHiVDXT9fB+-RSjEU9&Qp8mdKQgx86Xf!QAGC>+m~FR&s!fLm#tUY1;6rU35B-*0w$$q zuH}0TABRwt&k0Qi#*!x@5xOgP5)FoNg3i&a+hk0j9S?!Y= z??Zxe=V&i9e{tMJB`{v06GQ4MuoN4#<9Hi5kvwDSH9Q!bwH8b@bzcg+W&zM2m+Bv^ zx0)u)U7qB>GrnKU0E+I);}k7h8a3QG;akIhcH*x(T|Z3O_(Uz z{h=1&ob8>Zeu9Y{`blZ!SJ#>lv)c{`Pbxln5n~oXZ7hZf$g}kq$O6iR@1a!}so&vg z@S4SdlpI@;FW7N=TqKBcqM2iRlzHC|u$K4r>-qG3A!Up>U*zw4ae6)QX-#RTSH4=g zc>9Ei*#uFU16WzW7GR-1<<4-jlFQS87ZUn(0br*7mmUuQ#@ju#0;y=40JLT436i*t z*c1lO5$9fCFJtr48Gdu%R=OZcyfk{vGj%77hR2t(n5KMQL31G^I{`ufseiH4Q$aQx zH3962HFV`T!TX&+Om-0MIRBQcnfc{^Pl~0P?&t)u=Wo1|yocIW+ zUpLD(aAMi0i-Wi9G%D%TZ_dN(w{Ouaeq z?Sv_kfRTC5>)wyv5v3Q7%}^>iY{#&J$%o?o*Rw#eIX>j%J4|`lL4n|xime6jCpm7n z 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 z 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/main/images/redhat_reversed.svg b/content/docs/smallrye-stork/main/images/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-stork/main/images/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-stork/main/images/solution-dark.png b/content/docs/smallrye-stork/main/images/solution-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..800d0f9785bc20c78b2e675c17b90fb372bb9c14 GIT binary patch literal 381256 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 aNpQY~%|C9!OZFA`@4dLZSeb~P|NjH5$<5pV literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/main/images/solution-light.png b/content/docs/smallrye-stork/main/images/solution-light.png new file mode 100644 index 0000000000000000000000000000000000000000..044bd3786d8287ea7f05636197fdc127572d8a10 GIT binary patch literal 343937 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

          ghd3>v;_v+q0hykx`EW5MbFZLOuP0+s;!YrvD z6W6j9lS~;6wpIpLj4)D;8&)`pXS;;OF^L)6LCVxq;-+kg`GU~D+eiT2pVLieMi&x< z`tV;*CCs}HuF!Y}@^@}`T5eEPMP-=I&Gy+<5wdc)Wsop2pLq7HwenHrCi4?w?@VHp z*J>o5ee??|+rx>nj`LMN0q>vGo2Pd&9tK~-<<6s4Gp7eJF;7KaSO<0RH_)u8u`6{x z98#73B)gTF*}{pHRA(!UdW_8xw;|a|?N^IlSk%3_mOkRI`EFvddolII<{_%vGmK>;2DZ({%N+Af72x#;vZJ}# zY@Wvg_ph>SQxhTHE2~%g?TA5MhM;x(PbWbIuckrEf%oKxPTp6xCgQSi-L$^u8vji{ z5IGwt{6zFanf>oOxE`|T_cgN25XbAONW1WxHmyrX3EWzA_YRjWyoxdjgBomTq!
          5U(&K>l_qVIKNTv5itAoWd63;BngV-n}SlF8@10>yw1CoX+_0O~tpn zUt7qK9fa z!=J{r)>Q96c%zfID}$%v#i(Pxyb}-X@vXYjlo(X2XNf~DxMPg4JuSQ-D*7yKHN&^1Bk0q+FD3b{-jPtip+-8-Q zg9$7d9HNiN1HA#MFMWjRh~;}xOk(!ss+(l1<1XLKX$#yM9K=ySj;an~vVJW(6@du1 zro{*<7L*XEtIfC0=~>nyWy-iQx@B8zgSdyszfGfh?-(^2KzY*~__Q0#c)RxmH{+Tv zIHJzNC?7Wm9LYjn+vQD664!R8;|@_IbJb!zqzYwKh5UR_|DuxlL~`K6-=Ou}?Raq; zx6q)Pzc*qBZ`FHwdO4UQRy^n7p6!xOc6>hng2@td>LN3pI+`O{40LXEzU5u3eZAZ} zV;!uLpv)o6x|@Ois7=%rMec@O&>A9Wmrb17P6}`%WBTh7>lyeB< z4YO5AYI)}A>Fs2SJnn9T>SpGPd`Wmi?W?b~2YrgjN9~WmF^8-YW!ZNRRe;O$*XzPp zoGdDG*6a73-x-6nJOH-|REy6{4xHx=I^*K?++k1eOyJ9au_HWI43r*JDyT=v4HudY z3Rmhc8H0ScGN0#<(udhUn+u=cdT+nZ{J2)>FPMM2E?RN6P1<^;)pX;(D4Da~e{g!z zMeJo_YK!acyH8;4TxzUoO~r)|>fGrJ@Z@C?HBmbH-CS7jFLVVP3>(So=6%}DJ923( zUVeQ{BXRc7RF?AJ#tdZMbU4A)6jIl%gU7v{-?@R4r3MDkR@bcVN^hbO8`Y^$zjr~; zP`qW{JIzJnhaBlkQ&D<~F%^zERoFtGF&-Sh-g_iHpiX?@-Oh;Pc4^%rI8MC5seV3< z6AYG9+>N4)76;sS0(@}qsT>-wOx2$FE_PekH4C07W|Z3=sV)>r8V`jvYF@`S%@+4N#J>XO2hF+z_S`Pa7KTQvU0#4~1 z;es5IVz6F0K#E?+mC(@#<)_Gwxq8F7ovm5TL!KlH@UC5E(!); z;nUw)}eEr8IVhw-#$$|<219@lLOq$sZ6E* zV1+qCeA{`F=Ht9DDHGH^Lpx09f`db4mO;U|UkY;x`!0}ADwgQgtpmk}In@av+U6w6V(qLfxwbEk3Y8+ugQgl5O zf$5D6oB6GH>y?v=ZxoAM)F=`zb)4^^o8%Ya*Rv;XZ&7b;mjz_YysTeY+2t!=9wYoebjb zU@D)ErNQ`%M>L83h;V+NNZ{nm!%_lWFf?p}K@g1X3S`o-Ct~8J|7)*FtL0(a9H+>; zAJP#hgUG8(v98$pL%W`UulKImi~jL{sjsfjsAsSt9hj(I{3%QMG5xZeXWrw`Hf!gm zfuM@Ge@M9Mz<;@)Z(j|XAd%BpZMr{DC;9~fh@fi}Yz>+)3KCeQdr*62{$5IkNY{my zHeXPU-lH;n1Bay4ZLxhcQMaf(#50UZDcMNsAJk{4kRrG~ztRuy`T?Bwjn@ro3`{*^ zOXo;s5?tY)3qpI(gy;C2MXhJG4}V#sY60+{U%Ad}PbKoX*Lw&fLxK>`S3CM<)Pl#XkKM1T=Y3#zJyuNhNfP*f>KJIqIfx6_)hfc&|h zjt~Rds_hdG=u^{@Qao}!4?PK$Pc4&$@(<>)_rrRf#MN=oPPg7Yv>|B+9WqZf%KZRT z_y(gqw)h*_fEaftWS4$u{+v#6^rsh4=@;_L-KyrG5w4%j-~C~^OeB8qm!^}-G2uO~ z^sS)z0cYo%>kct<{nvZNU;g4LKWB6UJ{PL)$o{&YYC6s5s4zy5A<(4AoO2eXmYnX8 zuHpsoe_+0OBFJdSd*qi08Jo*d=sYGSKD^8=l9}*0pFtD&gkef zc$@LU!w;A$Ih(>1k%DKnF)N+QT>cRm;MWP(H@06Gh59q|A~-qQI4og0}GA zPggX_+1n8TS7*!t?U;`h2T=>xa8XIX)ol#`BqzdQtlcC$R}w>R5u zVGLG_#hmfue+;k>0|sS}J5FrcCGh!&jHu53Swtv5v|F>)`OXcB65>+Txckp{QKHoC zw`B-=e>Mo&^czq${)^F~Kr>)6(Ux_EsBV!Cy4t?<0#b?70@qjE7%ayAmnT{?g$8Sv z-*Yx`+6t+KMcURVdbPJG`x&JWL(=QNDYF(-TtObBcU-pZKkHsoJY3jdWC0I>~(CboG6=VMLIPv7n9~AXE zr7g+-Apxic=5U>GRp9}h7d)Q}82*=LpkLBZyep&dk z4@X6x|Nct=`Wca;4wEh2xjM0f(BMYi2e@ugNt%E^ypTx;++yp!?$KF8lAZkd?jG=zk5*YRx)i{gQw}07X!I3w~pa4FtUKOZT>tS<3rn3P4pn`a#y4Zsw z#jHYK_{U1`L=^1?9s-&DGk$iH-SsJGH~psli}KlBd5?-hO@u0RFw5OrIhP)vmKy}m z(sTbuPJCezGrFw!V;Cbub74HfuX9ACKJ15x@87M?jvIaK5iP%A328N%*cy?p}Sj^ zWY5-wEx_zOXl`~~kYy~^H;cjP{Sul`RO40l*0sr?J)yt7J$wzBe;9g0Im_Q25&N5D_PhRaEbmuv4k!x0Uu|! z=%+Kgi(^$>stosCE2+#MNuSSPQK+fiS_xFgL?Ol2p-Dlw((kgnLN^i`dPKi}wQm~k zjU2Z-PL@1tq5f9zhqF9V0*@i~B9Y9535A&a^}X|BpaI6=-3w_*E;`mxaaE?ED5oLC z-!cV2=kk7%gYD+!tLaX0z@A&U@Yd}?aynA77XKvuNTLQ)ECNg- zqFowRsP=#kCgd;G(&#yAS88WSjw0p&(2kd)eXrpdCfzPbt@gAcV0+tU&3=;fJ;qK4 zQ*vxK4`%*h?V&Rgazv2%{YGuHp(E*wWqZ0w|cB(g}fHanSl{g-0#jnfU;OX?uv>hEiSiOMN8xy1W6Bi!C z2I7*ptpnELp$AV zvj8-Gu*?<`=fh3PTXOF+g1}LhiuK1Y#5%Z`klu#6@U;O(=HW5KC9vI;QsF^|H#QT^Y9%T|KWB4!s zk`QvauTMb7(SEDK=}xHZ;vYI& zpP2r@`j}7Tnfh~@(&hn)QyP|tLGjbyk;{L?xPD`R*d0f^OE0KR8^UHFZX!l5L@TBu zO^9;+YQ$W>yk<@m{s zp!+`xz<#0n!!dE9`Yi{43T@G-F60qk%{H>LGK#80UhVqqbLNsGoscdczYX1!U-V`} zx{}dxt0H5#jcqrOI86$Z^-p;|V||5Yh2hmGmYfc9PSvc7;PapBE0FnvIRiP;o>FH1 z_9+0&na2wrQPGZ`)ikB<+p#m0U|cJ!b~x65xV*i9^>3*DV}Rux`~Y4?U5`0aoH=uy zx=Hrb1t?pF><%|rML)#<5831a23fjYvVou1;UaNhCr`hh@gE9k-sjdxSO4II6wC%F z*uBrJ_dS_VBYPtU1ll00ppj_p8Vk`QberFOB8=_D29Kcrcu8fd^dU^T6mgXE`6)zv z`k$<*I)>fnJPQEox~aXpB2p9k0@yekSL#NYDeGp%LO>S3bkVR9+W&RsNl?)RH!tll zAeWWXwHt9GzkYqUK?hUF+WO$IZ&hS|@+ZIWuR^exCiz-ZO8N zbP%)de|%Syr1QS~oblwAVa+^w9JTU&PBDbK9+!kN#e@#k5O2QMEhYO0VR~>Fk?=_M zmi4wuRzuFCB74%vFR%P{aRH8a=z$&xC1n!IR`EZZr{mEIZ*C&9uabEpXv0pX_0$Va^SoqHFoek)d-6jpADQ18-OqE1OYpy^jE+7G~gzFFIBG<-!tACAxH5d|Hd25kK~rp z7h;1Simp(C^F#;T?lJFHG*)fCYv%V>gxhqwf?R_a4REQ1V+R4GPKG-KyK_(+nYq*?5AGL zDyTgHIEdAgXCc02i(zV|KnhjaWh$?QWm9gZO|kvYIRZokYk@}KD8+A3SjsNlmZrA1 zCITQ34uJGy4{qQgqE?d6R|<5p7Sis}I)_7!UnEd4NF}je+hFr-+SizW-E}N(Q#kAR z;idP-dE=+3S8Q;TJ#l=$RsRFyL?JZ|^YISx3#uhz z|J-)zH|pPaPG*d)LZIHxunZ_b_M+1DZMtPGuLqC&I)#^KfUfW5C%{^Evf)z`K@eCQ zRdjs%@k4&76OS#G|7=m50W#NA&Uwfo9 zXDjA_vlNcm`s!xUt$)lOn>1mF$r)=NxHo9^`ex^?bEFO}&|8Vt`d@PKU&Abzjo2ZZ zzmTkhvN8ZKv5PYaLS6jo6)H07RvdS%7=Dh#fr)#Amj$Tc_43T8{7V}SAsi@RfJuFBr2@TyAcQx{Vx%mhDkW2ME z3bC84%dY3#5P!gF9*bpDjq7s^P7D9_7n9e&?P>0=R}Pm-x_aJ#U^j^=Pl?h!p3JZ- zX6li(raML!bX&N4p&n?VhY~BfrF*otY874W%EdOt&q3MO&)vgXBPd}0^}oj1lModK z^prAB@T0KP-!Rr^CS1>vRf;y>4Si`QG?imgTG-W&V9FF}N0UDFKbGQ)XU8-;3z_ip zAy^M?PWx!v`Tc$M@Oci1r)w98DPQUlqwh;LXHSdc+Y`oy?*^0`=@Tnny<6wMh)TrSoW&n?{_M?1w3n z&cEEKJ*_8Zbo%Sb{k(@4>0UR=!O9t z!4-XeiNmkZsr5_!z(EZk0c$kOP5<#t|1UprmMv)WdN&qz_=no`T_&MixJ({XqBC^J z26qd*y$B-iqFKF6JoG!NvT@fI?QIqr%Zf%o)CW4v4Jo)GM(;@|U}CAKxC;}Q$-AbDh-YvZM(k;BnppeuY_N&42WON^x}4)9mu)TccN)^{xc)jq*2#T zXGzwx7}IDXj&E-msvt74pb?W3{Hi!yb4Z_aK5QtE69MOcngo=jFnhyhw2hwPHaMv2 zol;Wwy<2=kd(*P5_v8Z*TiO$}H__M z`-Rv_tnMI>d(PDJbWP##d{r+5a?AMj!xLy*n~Omyh3UMxgI&0M2P#_;gA(1TN4H09 z5t7l-5$1LODv2kVBvLcc#+K|Je10k_UXl~Vb{8+Zt8rKCG5IrSZ)9gO(O}s*kd5S@ zfQ*yDeB%_pm$W;1cU!6aK*v?)s`SmORalVcYg0{?-f6m8mL*nlFbp09nPnSrYAGTP}cS+KDoI%-MH$^a20c<6~DAsoBa31 zm*Usr-XC}jdt~SJc*3H<68^O1bApsuMd21emZ(Y#Jm0H0Z~QGhKWC`FftN%VBdQth z7&$^8`A>BGfBgz3_fQ*22$9r3ZYH$zO_RIEx;7djE>F^ zWnP6hYX3q>;_F}2bHF5uCdiQ~&jh`IX5iUu{+U{O40+JlnF_M9aDvAC3_|Pz9%k}0myu#*P(BO^G=FpC5&~f1M)XdJg8tukBVN+9UK~i;$gp;)LVQ>jo4S+u|%OtddS z1}cHZ>-}PyKMANapl`Qg<)`?w^e{QV%;!P+G@`}S-) zyYB8d--`YHRm{|}y0Sg#J-B<+dUG@^Fn!f=hP+;Y5s%GU(<|xdyA*_1(w%t|G5pZK z;X6NH1*z?wcN$C;cuJ^Jup;uK|FL6z^bp64jldb*2_vx8AHM{RZi>rxmtm@!fYu{{g9hDw z598a&tSfx=BxX+kD~IC-vkLXjiOfGn>Dzc6*82jrPmo(D>JXZT{c*3`fgmLM4ieC? zW6Da|saiA@3Kms7o&{B-d6zd1cXC+gXGnmAKDO49IJO0JRdCu2Hf1t$dKU}6ZZcof zVXRV%x?5RWXHO`r<;c8#e=|c>En-zw!||@EyfnL%dE>J)^)mxvgw+V3f@+xq;qSG7 zoqjje#d zsHm;6_1rt`hEu`tVKCp3nNT)K;C)?wz|TWK6xmX0I3y&wJnX4n1|c&e(wEAq%GRP_ z0I7Jrp8LtMk#+hm#HqN_K<}N`(ACIytPs->FIXHvq`I%)1#3so;wBUfHSopR^T`}6 zp2?^4nm~yxXV1G*nib+GB{_l{cGg*3lXHW|7vr?t>(V8d=zNCf-`2u-y%uyL+YD+ z>g`@&YEkhm-<^@|ohD^|3_PA(#L3UiX+#;=CwstK?I6Mps;+-Z)Ipq78A5ZnB;@Er z>W2iR3`9OSx)jM?-}=FpvxRo~Vz<`+w^piV!BrnSsq341z9m=l473{B0+{^P#5ll| z>l#v;Q}?qhiuRC%7K@wTBy$v5&RlNdJ;smE!i&MV;<9#AgVyt(CTx6cOc+(F%m~%| z393hxBqLlV%6~_%5uUP} z3Z?l89`ae2&U&|T8`PU8Y;_3q7@DMP-7uXrb=&e8oTOG-d$=(^*kx1JGS8y*z@G^JaXGjN5yKBQ?E|w&2LZGIhEm;CWb|INEF9joCga zj+(Imx;+WDT6Ac-x-B#Jle9N~k@Kkh^KXY&VI*G^vHV;ykz|+Hi0Obxpb-KZm!BH3-zagIDgH;PCoc;gqYu zSIZeNyAo=`*Ys339SQ_PX^5G~+`LBPq3A6ni@BJpHIdJ*8^~ozBf-WML-2~hxQ&TP zZ{=0s0Ma@^O@KEhr9^NXGbJ%Mcg}(vK8^`U19C&jW%_{0@q3oxw43+C;mDiPbzE(u z9Nk=fBXOFSPpQasJaWi@FlIKFL(Uoc4fMioMH532B>}swm=&gN(lSn;5tO?%F4@42 zgGwXmSxU+%Ji0zXRw|jbHZ+5CWYjMiw4KJ#r5RR(Fiy5ILWVf!@Ekko0pnn5U5&CN zpq6F?$ty-JyRwhj1vk>X3CQ29sO0rBm1&FqiWShW76OX!LF8}fW#h3|EXbH&VqXo5 zHuk2=N)1R3=@{%eB?c(D@28miQvYzMOG0*dTNhu?-RN+rsUAth(bdE?Hw-D*H}>y$ zh)th4qy=l$42Blqdh7ra+Aeg91P4v#QnWwE5<3}3>kZ&_wr{yqnAk^3u1?wL_q_PV z4eD->wc>yI{P5K-m~nK%KaWXmjS++J_LV}2LcNbfY7yNf)xmXV9zQNWuw1^dCd(T0 zi$dxWgNMjYKfgfNkn04qGMGaTYbAGxW7;tGm&!S(b5*6>ptb~doiJrU9`}8G-8-+* zsaJ(vPJm%Yibjs%G5oUX9j@W1RPy0cs;R0*#raRA)PWKZB%jn$d7myYdRyb0oMLnG zu_l;T@|ME$Y26%{-H2Tyb@$+ea84Sb{cQgDlv~Lx^#!kjE5VxUf`oFWf7*fiALB%^rDmKZFJ&@KtMRm>IJxU`JW}ZwEcJ7~4r) zfERteD7t&^>UQ%lyg^<;G;sXBI&b1}3{ zs2kzypbV+kDVlpA0#SShmhW>}jsPbv+1SsK1+pzFt=ola7_hr0H(5Eci;%JBZ!rz= z!x{IjQae8uG=OYFu_7#J57D9(o{93_;Q_h&m{4hzdPxaEB%<06tlKze;h1HWc1idP zwN$Dz85yCZ;Z^zyA#u*KC|3Q8OMQ=Xf|?nHb8l`FR5o8|24h;VI}DM=BxTA%ioQgw zEWqO~>XIC=%Q0#c(nN4%N!6h5)eX|_H)M4}ZH@(_UWjzkDfkgaZnC}-lMNG;q z>5%@+L(EeaS$h%Oz+s$OrnAEy@2Q!ERGZr|V6+V)ETn@tTR_=X`sXA6a^SVgLYk+4?|U}`^%s(tk+5A_f>$&B#V>+gF| zv64yCdBdLx<*C%+p&GB_@xoAs+K7^X#ORorsytMARXIw$%=*@`{U~VZn!T-nZPqjQ zZ-W*P)=19yagUk4Ws-)3;ly)s-DKkIpQJI+XaXE!HP7#FDOc;dl;8~SY$veQg!RQ| z?c%$~Et~PUr&GLVdLp92-38?>?}(9&(}9Fm*%J^A=QkPVS#TSyN^^xflF}aMDZn1m z?n2hkZb0uJ(#1I@_luVk+g{+$x0A~;Lwf3uX?pPM2dV zXNCzuc@au4W;6RL>Rw{V5+(q(|0cYj31-34N(l9rC#%UMQ7k}1?+4WJ*!wPl7zPCm zNj8n^2+PdC%7@Wl7CbGExKQ3M;8-6ap(K{((mOtu@I&j}Ld~fH67j4_KYi6p>#6N{S}hyA|n!es0XdF9E}~r zgVm1f%06C6$8r7mqw!^~@Nuk2*hXBkDv5}`dBrNPPO>NN*On=YHesEXx^>cbCcVCF z^!I7#IiPX1b-a=xAdyS*32_x^pB^;LzhDk8gsRB$-m-gkKU^nEOl% zVSl}cFAn>aXz#ezMwYqpZBRaZ4Tz89+R1U7fJDcwQk1c}I6)}o8oc|FH{dMhY?ur` z^l>QQl##z!VzntF@w_woaZt75ku5UzK;n#}HufE@Hu00PZ(v)oJj6j#A$!l|>>6Ds zDLnO=hQ5*rQAU8>p@$IUS$BE1@iv~4P(qnF zN5;>mwElzDqJ6fM$duRtq_;DeeS=s?R;C2F$Wcgo)^zS7p zRtO8)qJk;z-bzb<7=CE2UtENc$$PzUv{h|`1rcI~$n-IUrp6je4{)s2^LA8#S8BS? zFvY&D!y6P3H=l1cDbzFz4q9WxImIYzh1g{PYpEVr#(5~c%Kx}=rA}ToiabZu zlM>NXh6c(5$?TO;`-rz|E%OgZ@g<8$c$s992^k{*#yWMxLuKJaRoA1}n{kXgLS8j~ zu@&|SD@^`rr}~D1uhWlGIn&3iJT1ah4i-c|I5j!*)dvWI%{PGt0>!$&Eq6ADzNM=? zr&>AVh-Eefn{tt{sS~+x{T@vz6)&|*+8M;0UoS4x_oR&twH^f98YqwN|IoXnU$Ky> zu+ds_acvVOUnri7K$;%h&q-+4_X&75d`)KTPu(l<=S>>kX_{i-&A#z$3Q5s|e0f~? zAA_~PoSMB>a+N0(5;^lYjGRpW5AW_ES0<9vG~p;aw*__`FR@lk3*Mx6*PMYE2Lqw`d9#e|k)f23i2pDH|wG~rwmCXyBX z$Ub=%=53uHSXgcEH#rulsM-FKAQ(f{>>d@GX2I?_5%4VPR>&#+UPg%|@8;|=kUO-- zb$URU?rA}+J-TQ4XLnYo{Yh92f8u%|5uF>slym&DBPef+%vQ?sO&9&Q?8_b9(9ku| z$r#;FMpuI&7p)o7F3z{Vs@|2=Awtsyc_clOuFS;6{NQ#wZ`L)RlLl@&zzuz?ucTnm z(bAjz`VME-hB2*9fKA>DjY&o4)pI(E1sM!72VRZva}u)$rt8kj-P&@RY=j z%n;GWdW_!trxDLY6>|Hqj*aeUbu1jp>Ca4e&_%}Odf8ikK^n?N8IDeA4EYEsZHb?6 zkJGaM{m*(wG?Hbh?45ihbM5p&yg?vN%TV6HJnYo_aeMEy?epWqa(>WxQ*Njnb+6ct zl6~HP$&UYuyvnF~_v|zY_>x$Fq)6i7I5GdxI40(+p2@vD+VvKpL(j7F$iIFpsg;9 zuPIFVE4bw))Ds}Lj`R#FIRNPDUvdN7YKA#KuXe|5#J6K8<0OhK!&D(%ALyt5iD;~! zA$X}f4pXSrjdvXKd@USFJi$%G7Je^47$~aIPa}D;=-OGk^a0(avFbhgl<6CU`tv_c z3Bk25wzpH#*o96ggwAhz9lrXao+OLe$Oeju?;c|fb&`WdsQ{`jn7~7gin$0@UTHaa zJfkY_*R%pzI_F=W@&B?|CceqhpbvUGHzfAoJckn?hWK`MfZf3NuIMCmczeQ+o3iLw#1m3%m za5?Z02+}@c5rZ5Nhb__g@U72?uS5(M

          z@`5zpm(eJVq z^Nw3fhJ0ErY+l3e-QgOkX_1!u+(SPvAdHe^A?gRWJ1L8<%Brh^0sKvQl`RWc*r@S5s}pDCJV6Z&U0(uxgU2- zoc7pi@J;kIm7W)(#dySZJ=EiK>`s37Fo?(Jetz&!fnEBT(SES+-EYj#fVu&&Z6i05I~{MTgJ2KqEaf-4ixj*TAH zN)bV;Rmk*04ec$A6Gt!%@QT>4PW0FuV*AcdseIYr{dPTmc z0EEO#6III$l&zRo0Q|nqq_Vkjt6Q)~M5h#KAcLcB0f|6T^uRY9T(20cqep-dGO8%q zm|LO5`1pg#*7)yO^$Y!d4z%l3=S6=v}6B0)3z_?(NWogo}+^%|=od83qKiE)yLdyo)H$o@p& zvy1)m7Xnxf5bs%&&#N$F1q!xl*2CjoVZuT7{c$ihTr@GEGlT%G2f(?*76|T1M^&aa z?-4Y9`JC&)!Z(NUfrv_fx4XgxF zz09PAeia(qkrymDkb@D5I|;c!j606fU&3+jjlwumc3cbQOgX&G_C(f8L*C%dN-Jd! zMU)RLyQF)7B(NiC{D6I}V`HL(%Rq?vmnAkEt#}IdE%d4(nX3@fDxXvnJO1YWkvr4+ zh+q1BpoxYx1^c?hCC56I9Ct0bOI;=;qr-u)IaA%^hIpbu%2pCvqr)MM%0>ZsRYJzA zV$OvoZ-6;Mu#<%+Ja0gra68yC%K=p=AJQnsp)@xO|FX+$hLa?Nk1BiWk%Nj`F(6S% z@g|0Q+*vBSgTMu=Zl|PLoaUJ4JwG#e1Gf?w2CkbtbBsM3vmyprms(LhYJ~MdNNPJ% zcP38@4cmpqwrT<&5OjUkOYf_9^oRM_CjBQ65D?-l3#p>H?w`eM4+`3K+?tvn`Y{kM zO;Gt2hJ<6#kj|J!$Qzw2qpBf%ANl3{1! zeKKL?##rAjQ9$vp59;G~-|${emD-mn+l0ovYX`&fwbsEdQrd(W~`W)2!^8uxNKgcQ$#PXsj z^9Mx}c+O3iLzd=S9ZPhP$cIi8IgE?cZ3D%ani#YU3v=>{5SW6Hqp({8!H^>Mjqw}6 zyH*^exYJT!bk7DBWL%}}Xr`C56va>^#O7Rd;yAn=ZO~aY9MW2>6e~NS$TlszBnFmO z?#;%`3cY8-zgr_0d<#e|k*Yuc>7PVy-2JXO6a%5?Lr$u&wPvX79~XiNq1ICP@*rbmPnzB5!=8 zy_A=&_5|)PK3VXuq1KbBmoY`t^{IAXhX|tGGNC6^q64J7T^da6wudI6`>I>csWs+h zaV-91Kfg!X@Ci;=zm0EqC^Ze-NghSt+kAJ1mlV(QWTsPe&jMbszUL;1#v+q~nOV6W zF&md!%B;AWnzlv>a)*o2sEmUEwkC|!gtXiePuf!Q(&8P%r9t|hA9-8$N(y7s??cd0 zR`+eg^c6zhpC$o$zP=dP-upztHO+jBL#?i$aLI&SxT%0AQG~af^O;o0#$hEsA#s}^ zq4SzDC#rwFjbFI{&u`E87o+kdD5Sdmg~t~o_67|WHCYaotma6qwwGzx4pwNGjcC05 zt6`nsXxp^4eu}J3F!Cxug-TAh%u*>%C6YN0EqOric6C=pJtNxg!-h*Us@-U ze-*tt)|PJc!Qq_xPS~U)NilO#M#dB@b3W}OcP%Ya6d+8=uZj&4IpB4Sj>+UC^u`F% z#}V&IE@vp3+RZ_+k?tg*+O#Y#z`#pIPy5TDn{Wu@qcQ#+0mkGgmnAeNAlS z2S1Ixig)>&Le9|W0txolVs|C?U&BRu7?ugk%i?|ruR^(%EuJ}-fliauw~W=+xZ4NY zI1QrNWsTNfo7=bTvV7aDWNC+I|KXBsolO^JrJNpYAMLScX4N4L=M^BQ!3y|#dc|(G4 z)+Az|Sv@I=@6$8GA z&SLD9CQ1v7I{p|xh5lZox!Aocb>|Z?cx~5?_5(nSRl+XN%0fsSk&-elP(JEDFxsqc z*P!n*F?xGqwvKMXl_%1uFBssmmW3W~AUy4bSFP@4Ts`!+6P+T?YNGaVecpMmrekIn z&4~JYq}zN;&GFCj?avZ}ne2bE-n@SuNh_vOx=+XGhZBj?ka0A?^8TEq!vcg_x4gs50xhluiz;b zuclxm3D*&3cGt>%Q98<~F2=}n&pi`2T8H)6pC~5yzv8VWXVizFz|5>DQ!&{yB*aHq MUR|ylWFGpz02jRhl>h($ literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-stork/main/images/stork-white.png b/content/docs/smallrye-stork/main/images/stork-white.png new file mode 100644 index 0000000000000000000000000000000000000000..8ceae56591397a4eb4775c574f653c75ae7684d5 GIT binary patch literal 48466 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 + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a load balancer provider + +Load balancer implementation consists of three elements: + +* `LoadBalancer` which is responsible for selecting service instances for a single Stork service, +* `LoadBalancerProvider` which creates instances of `LoadBalancer` for a given load balancer _type_, +* `$typeConfiguration` which is a configuration for the load balancer. This class is automatically generated. + +A _type_, for example `acme-load-balancer`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +==== + +A `LoadBalancerProvider` implementation needs to be annotated with `@LoadBalancerType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@LoadBalancerAttribute` annotations placed on the provider. +Optionally, you can also add `@ApplicationScoped` annotation in order to provide the load balancer implementation as CDI bean. + +A load balancer provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeLoadBalancerProvider.java[indent=0] +---- + +Note, that the `LoadBalancerProvider` interface takes a configuration class as a parameter. +This configuration class is generated automatically by the _Configuration Generator_. +Its name is created by appending `Configuration` to the load balancer type, like `AcmeLoadBalancerConfiguration`. + +The next step is to implement the `LoadBalancer` interface. + +The essence of load balancers' work happens in the `selectServiceInstance` method. The method returns a single `ServiceInstance` from a collection. + +[source,java] +---- +include::{examples-dir}/examples/AcmeLoadBalancer.java[indent=0] +---- + +This implementation is simplistic and just picks a random instance from the received list. + +Some load balancers make the pick based on statistics such as calls in progress or response times, or amount of errors of a service instance. +To collect this information in your load balancer, you can wrap the selected service instance into `ServiceInstanceWithStatGathering`. + +Load balancers based on statistics often expect that an operation using a selected service instance is marked as started before the next selection. +By default, Stork assumes that a `LoadBalancer` requires this and guards the calls accordingly. +If this is not the case for your implementation, override the `requiresStrictRecording()` method to return `false`. + +== Using your load balancer + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=... +stork.my-service.load-balancer.type=acme-load-balancer\ +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=... +quarkus.stork.my-service.load-balancer.type=acme-load-balancer +---- + +-- + +==== + +Then, Stork will use your implementation to select the `my-service` service instance. + +== Using your load balancer using the programmatic API + +When building your load balancer project, the configuration generator creates a configuration class. +This class can be used to configure your load balancer using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeSelectorApiUsage.java[indent=0] +---- + +Remember that attributes, like `my-attribute`, are declared using the `@LoadBalancerAttribute` annotation on the `LoadBalancerProvider` implementation. diff --git a/content/docs/smallrye-stork/main/load-balancer/least-requests.adoc b/content/docs/smallrye-stork/main/load-balancer/least-requests.adoc new file mode 100644 index 000000000..6a8babbc6 --- /dev/null +++ b/content/docs/smallrye-stork/main/load-balancer/least-requests.adoc @@ -0,0 +1,59 @@ += Least Requests Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `least-requests` load balancing strategy monitors the number of inflight calls and selects the less-used instance. + +This strategy keeps track of the inflight calls made by the application and picks the service instance with the smallest number of inflight requests: + +[arabic] +. when the selection happens, the service instance with the smallest number of inflight requests is selected, and this number is incremented +. when the operation completes, successfully or not, the number of inflight requests is decremented + +== Dependency + +First, you need to add the `least-requests` load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-least-requests + {project-version} + +---- + +== Configuration + +For each service expected to use a least-response-time selection, configure the `load-balancer` to be `least-requests`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=least-requests +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=least-requests +---- + +-- + +==== + +Supported configuration properties are the following: + +include::{generated-dir}/least-requests-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/main/load-balancer/least-response-time.adoc b/content/docs/smallrye-stork/main/load-balancer/least-response-time.adoc new file mode 100644 index 000000000..9742a0b23 --- /dev/null +++ b/content/docs/smallrye-stork/main/load-balancer/least-response-time.adoc @@ -0,0 +1,94 @@ += Least Response Time Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `least-response-time` load balancing strategy collects response times of the calls made with service instances and picks an instance based on this information. + +Erroneous responses are treated as responses with a long response time, by default 60 seconds. This can be controlled with the `error-penalty` attribute. + +The algorithm for service instance selection is as follows: + +* if there is a service instance that wasn't used before - use it, otherwise: +* if there are any service instances with collected response times - select the one for which _score_ is the lowest, otherwise: +* select a random instance + +The _score_ for an instance decreases in time if an instance is not used. This way we ensure that instances that haven't been used in a long time, are retried. + +For the details on the _score_ calculation, see xref:#score-calculation[Score calculation] + +== Dependency + +To use this load balancer, start with adding the least-response-time load-balancer dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-least-response-time + {project-version} + +---- + +== Configuration + +For each service expected to use a least-response-time selection, configure the `load-balancer` to be `least-response-time`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=least-response-time +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=least-response-time +---- + +-- + +==== + +The following attributes are supported: + +include::{generated-dir}/least-response-time-lb-attributes.adoc[] + +== Score calculation + +The _score_ of a service instance is calculated by dividing a weighted sum of response times by sum of the weighs. The result is additionally adjusted to account for instances that haven't been used for a long time. + +Let: + +* $n$ denote how many instance selections were made so far +* $t++_++i$ denote the response time for call $i$ +* $n++_++i$ denote the number of instance selections done until the moment of recording the response time for call $i$ +* $n++_{++max}$ denote the number of instance selections at the moment of last call recorded with this instance +* $$ denote a configurable `declining-factor` + +The idea for the weight is to decrease the importance of the data collected long time (many calls) ago. For call $i$, the weight is calculated as follows: +$$ +w++_++i = ^ ++{++(n - n++_++i)} +$$ + +The score of a service instance is calculated as: +$$ +score(n) = ^++{++n - n++_{++max}} ++*++ = +^++{++n - n++_{++max}} ++*++ +$$ + +The `declining-factor` should be in $(0, 1++]++$ , the default is $0.9$. Using a lower value makes the older response times less important. + +Supported configuration properties are the following: + +include::{generated-dir}/least-response-time-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/main/load-balancer/overview.adoc b/content/docs/smallrye-stork/main/load-balancer/overview.adoc new file mode 100644 index 000000000..62c2f482c --- /dev/null +++ b/content/docs/smallrye-stork/main/load-balancer/overview.adoc @@ -0,0 +1,22 @@ += Overview +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Load Balancer / Service Selection in SmallRye Stork + +Once services are registered and discovered, the next critical step is selecting which service instance will handle a given request. +SmallRye Stork provides flexible load balancing strategies to efficiently distribute requests across multiple instances of a service. +This ensures optimal resource usage, improved performance, and high availability. + +=== Key Features: + +* *Multiple Load Balancing Strategies*: SmallRye Stork supports several built-in strategies for selecting service instances. +Check them out in the following dedicated sections. +* *Customizable Strategies*: You can define custom service selection strategies based on your unique use case or performance requirements, ensuring that the load balancer can adapt to specific needs. + +==== How it Works: + +Once a service has been registered and discovered, the load balancer comes into play when a client makes a request to that service. +Stork applies the configured load balancing strategy to select an instance from the available pool of discovered services. + +This feature ensures that your services remain responsive, scalable, and resilient, providing a smooth experience for both users and developers. diff --git a/content/docs/smallrye-stork/main/load-balancer/power-of-two-choices.adoc b/content/docs/smallrye-stork/main/load-balancer/power-of-two-choices.adoc new file mode 100644 index 000000000..9e73e9897 --- /dev/null +++ b/content/docs/smallrye-stork/main/load-balancer/power-of-two-choices.adoc @@ -0,0 +1,63 @@ += Power Of Two Choices Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `power-of-two-choices` load balancing selects two random service instances and then chooses the one with the least inflight requests. +It avoids the overhead of `least-requests` and the worst case for `random` where it selects a busy destination. + +This strategy acts as follows: + +[arabic] +. when the selection happens, it picks two random instances from the list, +. it returns the least loaded instance (based on the number of inflight requests), +. when the operation completes, successfully or not, the number of inflight requests for the instance is decremented. + +Check http://www.eecs.harvard.edu/~michaelm/NEWWORK/postscripts/twosurvey.pdf[The Power of Two Random Choices] paper to learn more about this pattern and the benefits. + +== Dependency + +First, you need to add the random load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-power-of-two-choices + {project-version} + +---- + +== Configuration + +For each service expected to use a random service selection, configure the `load-balancer` to be `power-of-two-choices`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=power-of-two-choices +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=power-of-two-choices +---- + +-- + +==== + +Supported configuration properties are the following: + +include::{generated-dir}/power-of-two-choices-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/main/load-balancer/random.adoc b/content/docs/smallrye-stork/main/load-balancer/random.adoc new file mode 100644 index 000000000..f721585d7 --- /dev/null +++ b/content/docs/smallrye-stork/main/load-balancer/random.adoc @@ -0,0 +1,53 @@ += Random Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The `random` load balancing is a straightforward service instance selection solution that picks a random instance every time. + +== Dependency + +First, you need to add the random load-balancer to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-load-balancer-random + {project-version} + +---- + +== Configuration + +For each service expected to use a random service selection, configure the `load-balancer` to be `random`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=random +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=random +---- + +-- + +==== + +Supported attributes are the following: + +include::{generated-dir}/random-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/main/load-balancer/round-robin.adoc b/content/docs/smallrye-stork/main/load-balancer/round-robin.adoc new file mode 100644 index 000000000..e1f768f10 --- /dev/null +++ b/content/docs/smallrye-stork/main/load-balancer/round-robin.adoc @@ -0,0 +1,43 @@ += Round-Robin Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The round-robin is a straightforward load-balancing solution that just iterates over the set of service instances. +While being simple, this solution shares the load among the instances and may be sufficient in many cases. + +The round-robin strategy is the default load-balancing strategy. +It is provided by Stork itself, and so does not require an additional dependency. + +== Configuration + +There is no need to configure the load-balancing strategy to be `round-robin`. +Stork automatically uses this strategy when none are configured. + +However, you can also configure it explicitly as follows: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=round-robin +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=round-robin +---- + +-- + +==== diff --git a/content/docs/smallrye-stork/main/load-balancer/sticky.adoc b/content/docs/smallrye-stork/main/load-balancer/sticky.adoc new file mode 100644 index 000000000..8af192d26 --- /dev/null +++ b/content/docs/smallrye-stork/main/load-balancer/sticky.adoc @@ -0,0 +1,52 @@ += Sticky Load Balancing +:version-root: ../ +include::{version-root}_attributes.adoc[] + +The sticky load balancer selects a single service instance and keeps using it until it fails. +Then, it selects another one. + +It is possible to configure a backoff time to specify for how long a failing service instance should not be retried. + +Precisely, the load balancer works as follows: + +* if no service instance has been selected so far, select the first instance from the collection; +* else if the previously selected service instance has not failed, and is still available, return it; +* else return the first available service instance that has no recorded failure, if one exists; +* else, find the available instance for which the time since the last failure is the longest, and +** if the backoff time since the failure passed, return it; +** or, throw an `NoAcceptableServiceInstanceFoundException` as no acceptable instances are available. + +== Configuration + +To use the `sticky` load service selection strategy, set the load balancer type to `sticky`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.load-balancer.type=sticky +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.load-balancer.type=sticky +---- + +-- + +==== + +The following attributes are supported: + +include::{generated-dir}/sticky-lb-attributes.adoc[] diff --git a/content/docs/smallrye-stork/main/logging.adoc b/content/docs/smallrye-stork/main/logging.adoc new file mode 100644 index 000000000..2f0a9ce7c --- /dev/null +++ b/content/docs/smallrye-stork/main/logging.adoc @@ -0,0 +1,78 @@ += Logging Configuration +include::_attributes.adoc[] + +Stork uses https://github.com/jboss-logging/jboss-logging[JBoss Logging] for all its logging needs. JBoss Logging is a logging facade that can delegate to various logging frameworks such as Log4j, SLF4J, or JDK logging. + +== Logger Categories + +Stork uses the following main logger categories: + +=== Core Loggers + +* `io.smallrye.stork.Stork` - Main Stork class, logs service initialization and configuration +* `io.smallrye.stork.impl.CachingServiceDiscovery` - Service discovery caching operations +* `io.smallrye.stork.utils.StorkConfigUtils` - Configuration parsing and validation + +=== Service Discovery Loggers + +* `io.smallrye.stork.servicediscovery.kubernetes.KubernetesServiceDiscovery` - Kubernetes service discovery events +* `io.smallrye.stork.servicediscovery.dns.DnsServiceDiscovery` - DNS-based service discovery +* `io.smallrye.stork.servicediscovery.knative.KnativeServiceDiscovery` - KNative service discovery events + +=== Load Balancer Loggers + +* `io.smallrye.stork.loadbalancer.leastresponsetime.LeastResponseTimeLoadBalancer` - Least response time load balancer selection logic + +=== Service Registration Loggers + +* `io.smallrye.stork.serviceregistration.consul.ConsulServiceRegistrar` - Consul service registration/deregistration +* `io.smallrye.stork.serviceregistration.consul.ConsulServiceRegistrarProvider` - Consul registrar provider initialization +* `io.smallrye.stork.serviceregistration.staticlist.StaticListServiceRegistrar` - Static list service registration +* `io.smallrye.stork.serviceregistration.staticlist.StaticListServiceRegistrarProvider` - Static list registrar provider +* `io.smallrye.stork.serviceregistration.eureka.EurekaServiceRegistrar` - Eureka service registration/deregistration + +=== Configuration Provider Loggers + +* `io.smallrye.stork.microprofile.MicroProfileConfigProvider` - MicroProfile configuration loading + +== Configuring Log Levels with Quarkus + +In your `application.properties`: + +[source,properties] +---- +# Set global Stork log level +quarkus.log.category."io.smallrye.stork".level=DEBUG + +# Service discovery logging +quarkus.log.category."io.smallrye.stork.servicediscovery".level=DEBUG + +# Specific implementations +quarkus.log.category."io.smallrye.stork.servicediscovery.kubernetes.KubernetesServiceDiscovery".level=TRACE +quarkus.log.category."io.smallrye.stork.servicediscovery.dns.DnsServiceDiscovery".level=DEBUG + +# Load balancer logging +quarkus.log.category."io.smallrye.stork.loadbalancer".level=DEBUG + +# Service registration logging +quarkus.log.category."io.smallrye.stork.serviceregistration".level=INFO +quarkus.log.category."io.smallrye.stork.serviceregistration.consul.ConsulServiceRegistrar".level=DEBUG + +# Console output format +quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n +---- + +== Troubleshooting + +=== Too Many Logs + +If you're getting too many debug logs in production: + +[arabic] +. Set the root Stork logger to INFO or WARN: ++ +[source,properties] +---- +quarkus.log.category."io.smallrye.stork".level=INFO +---- +. Selectively enable DEBUG only for components you're troubleshooting diff --git a/content/docs/smallrye-stork/main/microprofile-config.adoc b/content/docs/smallrye-stork/main/microprofile-config.adoc new file mode 100644 index 000000000..48ba3a487 --- /dev/null +++ b/content/docs/smallrye-stork/main/microprofile-config.adoc @@ -0,0 +1,30 @@ += Stork MicroProfile Config +include::_attributes.adoc[] + +Stork integrates with MicroProfile Configuration out of the box, enabling seamless access to configuration properties. +This documentation explains how Stork can retrieve configuration details from the MicroProfile Config file present in the classpath. +Quarkus uses this approach for reading configuration details from the MicroProfile Config file located within the classpath. + +== Dependency setup + +To enable MicroProfile Config integration in Stork, you need to include the following dependency: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + smallrye-stork-microprofile + {project-version} + +---- + +== Initializing Stork + +If your framework lacks a pre-configured Stork instance, you'll need to perform initialization: + +[source,java] +---- +include::{examples-dir}/examples/InitializationExample.java[indent=0] +---- + +Upon initialization, Stork scans for the `io.smallrye.stork.config.MicroProfileConfigProvider` SPI provider and CDI beans (from version 2.x onwards). It then builds a comprehensive list of managed services by parsing the properties configuration files. diff --git a/content/docs/smallrye-stork/main/observability.adoc b/content/docs/smallrye-stork/main/observability.adoc new file mode 100644 index 000000000..841b79385 --- /dev/null +++ b/content/docs/smallrye-stork/main/observability.adoc @@ -0,0 +1,114 @@ += Stork Observability API +include::_attributes.adoc[] + +Stork proposes an observability API that automatically observes some parameters to show how the Stork service discovery and selection are behaving. + +For any _observation_ to happen, you need to provide your own implementation of an `ObservationCollector.` By default, Stork provides a no-op implementation. + +The `ObservationCollector` is responsible for instantiating the `StorkObservation`. + +The `StorkObservation` reacts to Stork events thanks to a `StorkEventHandler`. + +You can extend the metrics collection by extending the `StorkEventHandler` interface. + +The following sequence diagram shows how the observability is initialized : + +[.has-dark] +image::images/diagrams/plantuml-3c6c7f0192c2.svg[observability_sequence] + +The `StorkObservation` registers times, number of discovered instances, the selected instance and failures by reacting to the lifecycle of a Stork event such as: + +* start : Observation has been started. +The beginning time is registered. +It happens when the `ObservationCollector#create()` method gets called. +* service discovery success: a collection of instances has been successfully discovered for a service. +The end discovery time and number of instances are recorded. +It happens when the `StorkObservation#onServiceDiscoverySuccess` gets called. +* service discovery error: an error occurs when discovering a service. +The end discovery time and failure cause are captured. +It happens when the `StorkObservation#onServiceDiscoveryFailure` gets called. +* service selection success: an instance has been successfully selected from the collection. +The end selection time and selected instance ID are registered. +It happens when the `StorkObservation#onServiceSelectionSuccess` gets called. +* service selection error: an error occurred during selecting the instance. +End selection time and failure cause are registered. +It happens when the `StorkObservation#onServiceSelectionFailure` gets called. +* end: Observation has finished. Overall duration is registered. +It happens when the `StorkObservation#onServiceSelectionSuccess` gets called. + +The following sequence diagram represents the described observation process above: + +[.has-dark] +image::images/diagrams/plantuml-c8137b2f4bb7.svg[observation_sequence] + +== Implementing an observation collector + +An `ObservationCollector` implementation must override the `create` method to provide an instance of StorkObservation. +In addition, the user can access and enrich the observation data through the `StorkEventHandler`. + +A custom observation collector class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeObservationCollector.java[indent=0] +---- + +The next step is to initialize Stork with an `ObservableStorkInfrastructure`, taking an instance of your `ObservationCollector` as parameter. + +[source,java] +---- +include::{examples-dir}/examples/ObservableInitializationExample.java[indent=0] +---- + +Then, Stork uses your implementation to register metrics. + +== Observing service discovery and selection behaviours + +To access metrics registered by `StorkObservation`, use the following code: + +[source,java] +---- +include::{examples-dir}/examples/ObservationExample.java[indent=0] +---- + +Stork Observability with Quarkus + +Stork metrics are automatically enabled when using Stork together with the Micrometer extension in a Quarkus application. + +Micrometer collects the metrics of the rest and grpc client using Stork, as well as when using the Stork API. + +As an example, if you export the metrics to Prometheus, you will get: + +[source,text] +---- +# HELP stork_load_balancer_failures_total The number of failures during service selection. +# TYPE stork_load_balancer_failures_total counter +stork_load_balancer_failures_total{service_name="hello-service",} 0.0 +# HELP stork_service_selection_duration_seconds The duration of the selection operation +# TYPE stork_service_selection_duration_seconds summary +stork_service_selection_duration_seconds_count{service_name="hello-service",} 13.0 +stork_service_selection_duration_seconds_sum{service_name="hello-service",} 0.001049291 +# HELP stork_service_selection_duration_seconds_max The duration of the selection operation +# TYPE stork_service_selection_duration_seconds_max gauge +stork_service_selection_duration_seconds_max{service_name="hello-service",} 0.0 +# HELP stork_overall_duration_seconds_max The total duration of the Stork service discovery and selection operations +# TYPE stork_overall_duration_seconds_max gauge +stork_overall_duration_seconds_max{service_name="hello-service",} 0.0 +# HELP stork_overall_duration_seconds The total duration of the Stork service discovery and selection operations +# TYPE stork_overall_duration_seconds summary +stork_overall_duration_seconds_count{service_name="hello-service",} 13.0 +stork_overall_duration_seconds_sum{service_name="hello-service",} 0.001049291 +# HELP stork_service_discovery_failures_total The number of failures during service discovery +# TYPE stork_service_discovery_failures_total counter +stork_service_discovery_failures_total{service_name="hello-service",} 0.0 +# HELP stork_service_discovery_duration_seconds_max The duration of the discovery operation +# TYPE stork_service_discovery_duration_seconds_max gauge +stork_service_discovery_duration_seconds_max{service_name="hello-service",} 0.0 +# HELP stork_service_discovery_duration_seconds The duration of the discovery operation +# TYPE stork_service_discovery_duration_seconds summary +stork_service_discovery_duration_seconds_count{service_name="hello-service",} 13.0 +stork_service_discovery_duration_seconds_sum{service_name="hello-service",} 6.585046209 +# HELP stork_instances_count_total The number of service instances discovered +# TYPE stork_instances_count_total counter +stork_instances_count_total{service_name="hello-service",} 26.0 +---- diff --git a/content/docs/smallrye-stork/main/programmatic-api.adoc b/content/docs/smallrye-stork/main/programmatic-api.adoc new file mode 100644 index 000000000..32f17e23b --- /dev/null +++ b/content/docs/smallrye-stork/main/programmatic-api.adoc @@ -0,0 +1,54 @@ += Stork Programmatic API +include::_attributes.adoc[] + +Stork proposes a programmatic API that lets you register new service Definitions and do manual lookup and selection. +When using the programmatic API of Stork, you can: +Retrieve the singleton Stork instance. This instance is configured with the set of Services it manages. +Register new service definition. +Retrieve the Service you want to use. Each Service is associated with a name. +Retrieve the ServiceInstance, which will provide the metadata to access the actual instance. + +== Initializing Stork + +If your framework does not already provide a configured `Stork` instance, you need to do: + +[source,java] +---- +include::{examples-dir}/examples/InitializationExample.java[indent=0] +---- + +== Adding service dynamically + +To register a new `ServiceDefinition`, use the `defineIfAbsent` method: + +[source,java] +---- +include::{examples-dir}/examples/DefinitionExample.java[indent=0] +---- + +The `ServiceDefinition` instances can be created from: + +* A service discovery configuration - these classes are provided by the service discovery implementations, +* An optional load balancer configuration - these classes are provided by the load balancer implementations + +Attributes from the service discovery and load balancer can be configured from the `Configuration` classes. + +== Looking for service instances + +To list the service instances for a given service, or to select an instance according to the load balancer strategy, use the following code: + +[source,java] +---- +include::{examples-dir}/examples/LookupExample.java[indent=0] +---- + +The lookup and selection methods are returning Uni as these processes are asynchronous. + +== All in one example + +The following snippet provides an _all in one_ example of the Stork programmatic API: + +[source,java] +---- +include::{examples-dir}/examples/StorkApiExample.java[indent=0] +---- diff --git a/content/docs/smallrye-stork/main/quarkus.adoc b/content/docs/smallrye-stork/main/quarkus.adoc new file mode 100644 index 000000000..08c9b3186 --- /dev/null +++ b/content/docs/smallrye-stork/main/quarkus.adoc @@ -0,0 +1,79 @@ += Using Stork with Quarkus +include::_attributes.adoc[] + +https://quarkus.io[Quarkus] is a Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM. + +Quarkus REST Client Reactive and gRPC extensions come with built-in integration with SmallRye Stork. + +This page describes how to use REST Client Reactive with Stork. Using gRPC with Stork is similar. + +We will use the Consul service discovery and the round-robin load balancer as examples. + +== The project + +You can create a Quarkus project with the REST Client Reactive extension using https://code.quarkus.io[code.quarkus.io]. + +The corresponding https://quarkus.io/guides/rest-client-reactive[Quarkus guide] describes the extension in more detail. + +== The client + +To use the REST client to communicate with a remote endpoint, you need to create an interface that describes how the communication should work. +The client requires `baseUri` (or `baseUrl`) pointing to the address of the remote endpoint. + +To use Stork to determine the actual address, set the scheme of the URI to `stork` and the hostname of the URI to the name of the Stork service. + +For example, the `HelloClient` below will use the Stork service called `hello-service` to determine the address of the destination, and `/hello` as the base path for queries: + +[source,java] +---- +include::{examples-dir}/examples/HelloClient.java[indent=0] +---- + +== The service + +In Stork, a `Service` consists of service discovery and a load balancer. +The Service discovery is responsible for determining the `ServiceInstance`s, that is, available addresses for a service. +The load balancer picks a single `ServiceInstance` for a call. + +=== Dependencies + +To use the service discovery and the load balancer of your choosing, you need to add the appropriate dependencies to your application. +For example, if you wish to use Consul and load-balance the calls with round-robin, add the following to your `pom.xml`: + +[source,xml] +---- + + io.smallrye.stork + stork-service-discovery-consul + +---- + +[NOTE] +==== + +No need to add a dependency for the round-robin load-balancer. This strategy is built-in. +Also, no need to specify the stork version, Quarkus imports the Stork _BOM_. + +==== + +When using Eureka, Kubernetes, or any other service discovery mechanism, or a different load balancer, replace the dependencies above with the ones you need. +Based on the defined dependencies, Stork automatically registers providers for service discovery mechanisms and load balancers. + +=== The config + +The last piece of the puzzle is the actual service configuration. +If your Consul instance is running on `localhost` on port `8500`, service discovery configuration should look as follows: + +[source,properties] +---- +quarkus.stork.hello-service.service-discovery.type=consul +quarkus.stork.hello-service.service-discovery.consul-host=localhost +quarkus.stork.hello-service.service-discovery.consul-port=8500 +---- + +[NOTE] +==== + +When no load-balancing is configured, Stork uses a round-robin. + +==== diff --git a/content/docs/smallrye-stork/main/service-discovery/composite.adoc b/content/docs/smallrye-stork/main/service-discovery/composite.adoc new file mode 100644 index 000000000..7be362c60 --- /dev/null +++ b/content/docs/smallrye-stork/main/service-discovery/composite.adoc @@ -0,0 +1,71 @@ += Composite Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Some organizations use hybrid infrastructure. In such an infrastructure, different service instances may be discoverable via different service discovery providers. E.g. when _serviceA_ is being migrated from a VM to Kubernetes, its older versions can be discovered via Consul and newer via Kubernetes. + +`composite` service discovery addresses this problem by letting you define a service that consists of multiple services. + +== Dependency + +To use the `composite` service discovery, first add the appropriate Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-composite + {project-version} + +---- + +== Configuration + +For each service that should consist of multiple services, configure the service discovery `type`, and set the `services` property to a comma separated list of services: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=composite +stork.my-service.service-discovery.services=serviceA,serviceB + +stork.serviceA.service-discovery.type=... +stork.serviceB.service-discovery.type=... +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=composite +quarkus.stork.my-service.service-discovery.services=serviceA,serviceB + +quarkus.stork.serviceA.service-discovery.type=... +quarkus.stork.serviceB.service-discovery.type=... +---- + +-- + +==== + +Remember to define the services that make up your composite service. + +Be aware that Stork doesn't work as a standalone service discovery cluster. +Instead, it processes composite configurations—meaning it handles multiple configurations that may use different service discovery implementation. +For each specific configuration, Stork delegates the service discovery task to the appropriate service discovery provider. +If one of these providers doesn't respond or fails, it affects Stork's ability to resolve that specific configuration, but it doesn't mean Stork itself is faulty; +it relies on the performance of the service discovery systems it’s configured to work with. + +These are all the parameters of the composite service discovery: + +include::{generated-dir}/composite-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/main/service-discovery/consul.adoc b/content/docs/smallrye-stork/main/service-discovery/consul.adoc new file mode 100644 index 000000000..210076247 --- /dev/null +++ b/content/docs/smallrye-stork/main/service-discovery/consul.adoc @@ -0,0 +1,167 @@ += Consul Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://www.consul.io/[Consul] is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. +It's often used as service discovery backend to register and locate the services composing your system. +Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. +External services can be registered as well. + +As https://developer.hashicorp.com/consul/api-docs/agent/service#address[specified] in the Consul documentation, if the host address is not provided, Stork will automatically use the Consul node address for the instance. + +This page explains how Stork can use Consul to handle the service discovery and service registration. + +== Dependency + +First, you need to add the Stork Consul Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-consul + {project-version} + +---- + +=== Service discovery configuration + +For each service that should get the service instances from Consul, configure the service discovery `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=consul +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=consul +---- + +-- + +==== + +== Secure communication with Consul + +Stork supports SSL/TLS encryption when connecting to a Consul server. This is useful when Consul is configured with HTTPS or when you need to authenticate using client certificates. + +To enable SSL/TLS, set the `ssl` attribute to `true` and configure the trust store and optionally the key store: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=consul +stork.my-service.service-discovery.consul-host=consul.example.com +stork.my-service.service-discovery.consul-port=8501 +stork.my-service.service-discovery.ssl=true +stork.my-service.service-discovery.trust-store-path=/path/to/truststore.jks +stork.my-service.service-discovery.trust-store-password=changeit +stork.my-service.service-discovery.verify-host=true +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=consul +quarkus.stork.my-service.service-discovery.consul-host=consul.example.com +quarkus.stork.my-service.service-discovery.consul-port=8501 +quarkus.stork.my-service.service-discovery.ssl=true +quarkus.stork.my-service.service-discovery.trust-store-path=/path/to/truststore.jks +quarkus.stork.my-service.service-discovery.trust-store-password=changeit +quarkus.stork.my-service.service-discovery.verify-host=true +---- + +-- + +==== + +For mutual TLS (mTLS) authentication, also configure the key store containing the client certificate: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.key-store-path=/path/to/keystore.jks +stork.my-service.service-discovery.key-store-password=changeit +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.key-store-path=/path/to/keystore.jks +quarkus.stork.my-service.service-discovery.key-store-password=changeit +---- + +-- + +==== + +== ACL Token Authentication + +If your Consul cluster has ACL enabled, you can provide an ACL token for authentication: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.acl-token=your-consul-acl-token +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.acl-token=your-consul-acl-token +---- + +-- + +==== + +Consul service discovery is configured with the following parameters: + +include::{generated-dir}/consul-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/main/service-discovery/custom-service-discovery.adoc b/content/docs/smallrye-stork/main/service-discovery/custom-service-discovery.adoc new file mode 100644 index 000000000..04945b53b --- /dev/null +++ b/content/docs/smallrye-stork/main/service-discovery/custom-service-discovery.adoc @@ -0,0 +1,202 @@ += Implement your own service discovery mechanism +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork is extensible, and you can implement your own service discovery mechanism. + +== Dependencies + +To implement your _Service Discovery Provider_, make sure your project depends on Core and Configuration Generator. +The former brings classes necessary to implement custom discovery, the latter contains an https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/annotation/processing/Processor.html[annotation processor] that generates classes needed by Stork. + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a service discovery provider + +Service discovery implementation consists of three elements: + +* `ServiceDiscovery` which is responsible for locating service instances for a single Stork service. +* `ServiceDiscoveryProvider` which creates instances of `ServiceDiscovery` for a given service discovery _type_. +* `$typeConfiguration` which is a configuration for the discovery. This class is automatically generated during the compilation (using an annotation processor). + +A _type_, for example, `acme`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=acme +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=acme +---- + +-- + +==== + +A `ServiceDiscoveryProvider` implementation needs to be annotated with `@ServiceDiscoveryType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@ServiceDiscoveryAttribute` annotations placed on the provider. +Optionally, you can also add `@ApplicationScoped` annotation in order to provide the service discovery implementation as CDI bean. + +A service discovery provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceDiscoveryProvider.java[indent=0] +---- + +Note, that the `ServiceDiscoveryProvider` interface takes a configuration class as a parameter. This configuration class +is generated automatically by the _Configuration Generator_. +Its name is created by appending `Configuration` to the service discovery type, such as `AcmeConfiguration`. + +The next step is to implement the `ServiceDiscovery` interface: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceDiscovery.java[indent=0] +---- + +This implementation is simplistic. +Typically, instead of creating a service instance with values from the configuration, you would connect to a service discovery backend, look for the service and build the list of service instance accordingly. +That's why the method returns a `Uni`. +Most of the time, the lookup is a remote operation. + +As you can see, the `AcmeConfiguration` class gives access to the configuration attribute. + +== Using your service discovery + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=acme +stork.my-service.service-discovery.host=localhost +stork.my-service.service-discovery.port=1234 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=acme +quarkus.stork.my-service.service-discovery.host=localhost +quarkus.stork.my-service.service-discovery.port=1234 +---- + +-- + +==== + +Then, Stork will use your implementation to locate the `my-service` service. + +== Using your service discovery using the programmatic API + +When building your service discovery project, the configuration generator creates a configuration class. +This class can be used to configure your service discovery using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeDiscoveryApiUsage.java[indent=0] +---- + +Remember that attributes, like `host`, are declared using the `@ServiceDiscoveryAttribute` annotation on the `ServiceDiscoveryProvider` implementation. + +== Caching the service instances + +Your `ServiceDiscovery` implementation can extend `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +In this case, the retrieved set of `ServiceInstance` is cached and only updated after some time. +This duration is an additional configuration attribute. +For homogeneity, we recommend the following attribute: + +[source,java] +---- +@ServiceDiscoveryAttribute(name = "refresh-period", description = "Service discovery cache refresh period.", + defaultValue = CachingServiceDiscovery.DEFAULT_REFRESH_INTERVAL) +---- + +The following snippet extends the _acme_ service discovery with the `refresh-period` attribute: + +[source,java] +---- +include::{examples-dir}/examples/CachedAcmeServiceDiscoveryProvider.java[indent=0] +---- + +Extending `io.smallrye.stork.impl.CachingServiceDiscovery` changes the structure of the service discovery implementation: + +[source,java] +---- +include::{examples-dir}/examples/CachedAcmeServiceDiscovery.java[indent=0] +---- + +[arabic] +. Call the `super` constructor with the `refresh-period` value +. Implement `fetchNewServiceInstances` instead of `getServiceInstances`. +The method is called periodically, and the retrieved instances are cached. +This implementation is simplistic. + +If the retrieval fails, the error is reported, and Stork keeps the previously retrieved list of instances. + +=== Customizing the caching strategy + +Sometimes it can be useful to change this behaviour and customize the cache expiration strategy. + +For example, imagine you are using a backend service discovery where service instances can change very frequently. + +Moreover, contacting the backend service discovery can be expensive in terms of computing, +thus finding a good value for the refreshing time can be mission impossible. + +For these situations, Stork allows to implement a better expiration strategy for the cache. + +If you want to customize the expiration strategy, you need: +1. Implement the `cache` method where the expiration strategy should be defined. +2. Invalidate the cache when expiration condition evaluates to true. + +Look at the example bellow: + +[source,java] +---- +include::{examples-dir}/examples/CustomExpirationCachedAcmeServiceDiscovery.java[indent=0] +---- + +Additionally, you can check the xref:service-discovery/kubernetes.adoc#caching-the-service-instances[Kubernetes Service Discovery] for further details about an event-based invalidation example. diff --git a/content/docs/smallrye-stork/main/service-discovery/dns.adoc b/content/docs/smallrye-stork/main/service-discovery/dns.adoc new file mode 100644 index 000000000..9d2ab572b --- /dev/null +++ b/content/docs/smallrye-stork/main/service-discovery/dns.adoc @@ -0,0 +1,77 @@ += DNS Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +DNS is a name resolution protocol used to determine IP addresses for hostnames. +That makes it a natural fit for service discovery. +Consul and AWS Cloud Map provide DNS resolutions for service discovery. + +This page explains how Stork can use DNS to handle the service discovery. + +== DNS records + +DNS supports a https://en.wikipedia.org/wiki/List_of_DNS_record_types[variety of record types]. Stork can resolve hostnames to addresses based on https://en.wikipedia.org/wiki/SRV_record[_SRV_], A and AAAA records. All these types of records may return multiple addresses for a single hostname. You may choose to not resolve target hostnames. + +While _A_ and _AAAA_ records are quite similar, they just carry an IP (_v4_ for _A_ and _v6_ for _AAAA_), the _SRV_ records are different. +They contain a _weight_, a _target_ and a _port_ for a service instance. +The _target_ returned in an _SRV_ record needs to be resolved further by an _A_ or an _AAAA_ record. + +In short, it works as follows: + +[.has-dark] +image::images/diagrams/plantuml-bc915c97a9fa.svg[srv_sequence] + +== Dependency + +To use the DNS service discovery, you need to add the Stork DNS Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-dns + {project-version} + +---- + +== Configuration + +Next, set the service discovery `type` to `dns`. +Additionally, you would usually specify the DNS server, or servers, to use for the discovery. +All in all, your configuration could look as follows: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=dns +# optional dns servers: +stork.my-service.service-discovery.dns-servers=my-dns-server:8221,my-dns-server2 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=dns + +# optional dns servers: +quarkus.stork.my-service.service-discovery.dns-servers=my-dns-server:8221,my-dns-server2 +---- + +-- + +==== + +All the available parameters are as follows: + +include::{generated-dir}/dns-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/main/service-discovery/eureka.adoc b/content/docs/smallrye-stork/main/service-discovery/eureka.adoc new file mode 100644 index 000000000..87b5c9208 --- /dev/null +++ b/content/docs/smallrye-stork/main/service-discovery/eureka.adoc @@ -0,0 +1,71 @@ += Eureka Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://github.com/Netflix/eureka[Eureka] is a RESTful service that is primarily used in the AWS cloud for the purpose of discovery, load balancing, and failover of middle-tier servers. + +This page explains how Stork can use Eureka to handle the service discovery and service registration. + +== Dependency + +First, you need to add the Stork Eureka Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-eureka + {project-version} + +---- + +=== Service discovery configuration + +For each application instance expected to be registered in Eureka, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=eureka +stork.my-service.service-discovery.eureka-host=localhost +stork.my-service.service-discovery.eureka-port=8761 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=eureka +quarkus.stork.my-service.service-discovery.eureka-host=localhost +quarkus.stork.my-service.service-discovery.eureka-port=8761 +---- + +-- + +==== + +Stork looks for the service with the given name (`my-service` in the previous example). + +Supported attributes are the following: + +include::{generated-dir}/eureka-sd-attributes.adoc[] + +The `application` attribute is optional. +It uses the Stork service name (`my-service` in the previous configuration) if not set. + +The `instance` attribute allows selecting a specific instance. +Using this attribute prevents load-balancing as you will always select a single instance. + +The `secure` attribute indicates whether to connect to instances over TLS. +If set to `true`, instances without a secure port enabled are filtered out. +The connection host is always resolved from the `hostName` field of the Eureka instance (falling back to `ipAddr`), regardless of this setting. diff --git a/content/docs/smallrye-stork/main/service-discovery/knative.adoc b/content/docs/smallrye-stork/main/service-discovery/knative.adoc new file mode 100644 index 000000000..539fcdb5b --- /dev/null +++ b/content/docs/smallrye-stork/main/service-discovery/knative.adoc @@ -0,0 +1,129 @@ += Knative Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Knative is a Kubernetes-based platform for serverless workloads. Knative provides a set of objects as Kubernetes Custom Resource Definitions (CRDs). +These resources are used to define and control how your serverless workload behaves on the cluster. +The Stork Knative service discovery implementation is very similar to the Kubernetes one. +Stork will ask for https://knative.dev/docs/serving/reference/serving-api/#serving.knative.dev/v1.Service[Knative services] to the cluster instead of vanilla https://kubernetes.io/docs/concepts/services-networking/service/#service-resource[Kubernetes services] used by the Kubernetes implementation. +To do so, Stork uses https://github.com/fabric8io/kubernetes-client/blob/master/extensions/knative/client/src/main/java/io/fabric8/knative/client/KnativeClient.java[Fabric 8 Knative Client] which is just an extension of Fabric8 Kubernetes Client. + +== Dependency + +First, you need to add the Stork Knative Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-knative + {project-version} + +---- + +=== A few words about server authentication. + +Stork uses Fabric8 Knative Client which is a https://github.com/fabric8io/kubernetes-client#readme[Fabric8 Kubernetes Client] extension to access the Kubernetes resources, concretely the `DefaultKnativeClient` implementation. + +Since Knative Client is just an extension of Fabric8 Kubernetes Client, it’s also possible to get an instance of KnativeClient from KubernetesClient. + +`DefaultKubernetesClient` will try to read the `~/.kube/config` file from your local machine and load the token for authenticating with the Kubernetes API server. + +The level of access (Roles) depends on the configured `ServiceAccount`. + +You can override this configuration if you want fine-grain control. + +==== Role-based access control (RBAC) + +If you're using a Kubernetes cluster with Role-Based Access Control (RBAC) enabled, the default permissions for a ServiceAccount don't allow it to list or modify any resources. +A `ServiceAccount`, a `Role` and a `RoleBinding` are needed in order to allow Stork to list the available service instances from the cluster or the namespace. + +An example that allows listing all endpoints could look something like this: + +[source,yaml] +---- +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: + namespace: +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: + namespace: +rules: + - apiGroups: [""] # "" indicates the core API group + resources: ["endpoints", "pods"] # stork queries service endpoints and pods + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: + namespace: +subjects: + - kind: ServiceAccount + # Reference to upper's `metadata.name` + name: + # Reference to upper's `metadata.namespace` + namespace: +roleRef: + kind: Role + name: + apiGroup: rbac.authorization.k8s.io +---- + +== Configuration + +For each service expected to be exposed as _Kubernetes Service_, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-knservice.service-discovery.type=knative +stork.my-knservice.service-discovery.knative-namespace=my-namespace +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-knservice.service-discovery.type=knative +quarkus.stork.my-knservice.service-discovery.knative-namespace=my-namespace +---- + +-- + +==== + +Stork looks for the _Knative Service_ with the given name (`my-knservice` in the previous example) in the specified namespace. + +Stork inspects the _Knative Service_ and retrieves the url of the service. + +Supported attributes are the following: + +include::{generated-dir}/knative-sd-attributes.adoc[] + +== Caching the service instances + +Contacting the cluster too much frequently can result in performance problems. It's why Knative Service discovery extends `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +Moreover, the caching expiration has been also improved in order to only update the retrieved set of `ServiceInstance` if some of them changes and an event is emitted. +This is done by creating an https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/informers/SharedIndexInformer.html[Informer], similar to a https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/Watch.html[Watch], able to observe the events on the Knative Service instances resources. + +Note that: +- the cache is invalidated when an event is received. +- the cache is validated once the instances are retrieved from the cluster, in the `fetchNewServiceInstances` method. +- the `cache` method is overrided to customize the expiration strategy. In this case the collection of service instances will be kept until an event occurs. diff --git a/content/docs/smallrye-stork/main/service-discovery/kubernetes.adoc b/content/docs/smallrye-stork/main/service-discovery/kubernetes.adoc new file mode 100644 index 000000000..1bc26e0a4 --- /dev/null +++ b/content/docs/smallrye-stork/main/service-discovery/kubernetes.adoc @@ -0,0 +1,335 @@ += Kubernetes Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Kubernetes has a built-in support for service discovery and load-balancing. +However, you may need more flexibility to carefully select the service instance you want. + +This page explains how Stork can use the Kubernetes API to handle the service discovery. + +== Dependency + +First, you need to add the Stork Kubernetes Service Discovery provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-kubernetes + {project-version} + +---- + +=== A few words about server authentication. + +Stork uses https://github.com/fabric8io/kubernetes-client#readme[Fabric8 Kubernetes Client] to access the Kubernetes resources, concretely the `DefaultKubernetesClient` implementation. + +It will try to read the `~/.kube/config` file from your local machine and load the token for authenticating with the Kubernetes API server. + +If you are using the Stork Kubernetes discovery provider from inside a _Pod_, it loads `~/.kube/config` from the container file system. + +This file is automatically mounted inside the Pod. + +The level of access (Roles) depends on the configured `ServiceAccount`. + +You can override this configuration if you want fine-grain control. + +==== Role-based access control (RBAC) + +If you're using a Kubernetes cluster with Role-Based Access Control (RBAC) enabled, the default permissions for a ServiceAccount don't allow it to list or modify any resources. +A `ServiceAccount`, a `Role` and a `RoleBinding` are needed in order to allow Stork to list the available service instances from the cluster or the namespace. + +An example that allows listing all endpoints could look something like this: + +[source,yaml] +---- +------ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: + namespace: +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: + namespace: +rules: + - apiGroups: [""] # "" indicates the core API group + resources: ["endpoints", "pods", "services"] # stork queries service endpoints, pods and services + verbs: ["get", "list"] +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: + namespace: +subjects: + - kind: ServiceAccount + # Reference to upper's `metadata.name` + name: + # Reference to upper's `metadata.namespace` + namespace: +roleRef: + kind: Role + name: + apiGroup: rbac.authorization.k8s.io +---- + +== Configuration + +For each service expected to be exposed as _Kubernetes Service_, configure the lookup: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.k8s-namespace=my-namespace +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.k8s-namespace=my-namespace +---- + +-- + +==== + +Stork looks for the _Kubernetes Service_ with the given name (`my-service` in the previous example) in the specified namespace. + +Instead of using the _Kubernetes Service_ IP directly, and let Kubernetes handle the selection and balancing, Stork inspects the service and retrieves the list of _pods_ providing the service. +Then, it can select the instance. + +== EndpointSlice support (Experimental) + +This feature is experimental. It is opt-in, and the API or behavior may change based on user feedback and Kubernetes evolution. +Recent Kubernetes versions expose service endpoints using *EndpointSlices* (`discovery.k8s.io/v1`), +which are the recommended and scalable replacement for classic `Endpoints`. + +Stork supports EndpointSlices and can use them transparently for service discovery. + +=== Why EndpointSlices + +Compared to classic `Endpoints`, EndpointSlices: + +* Scale better for services with many pods. +* Reduce load on the Kubernetes API server. +* Produce smaller and more frequent updates. +* Are the preferred API in modern Kubernetes clusters. + +When available, EndpointSlices are the recommended source for service discovery. + +== Configuration + +EndpointSlices can be enabled or disabled explicitly. By default, Stork uses automatic detection. + +=== Explicit configuration + +You can force the use of EndpointSlices per service (note that it will still fallback to Endpoints if EndpointSlices are not available for the service): + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.use-endpoint-slices=true +---- + +Or explicitly disable them: + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.use-endpoint-slices=false +---- + +=== Automatic detection (default behavior) + +If `use-endpoint-slices` is not configured, Stork applies the following logic: + +[arabic] +. If the Kubernetes cluster exposes the `discovery.k8s.io/v1` API *and* +. EndpointSlices exist for the target service + +→ Stork uses EndpointSlices. + +Otherwise, it falls back to classic Endpoints. + +This ensures backward compatibility with older clusters and services while automatically benefiting from EndpointSlices when available. + +The detection is performed *asynchronously* (off the event loop) and its result is cached for the lifetime of the service discovery instance. +If the cluster API is temporarily unreachable during detection, Stork retries a few times before falling back to classic Endpoints. +This means a transient connectivity issue at startup does not permanently disable EndpointSlice discovery, but it may cause Stork to fall back to Endpoints for the lifetime of that instance. + +Falling back to classic Endpoints is safe even on modern clusters: Kubernetes maintains `Endpoints` objects alongside `EndpointSlices` for backward compatibility, so both APIs reflect the same service instances. + +== Service instance resolution with EndpointSlices + +When using EndpointSlices, Stork does *not* resolve Pods. + +Instead, service instances are derived directly from the EndpointSlice objects: + +* `endpoint.addresses` → instance host +* `endpointSlice.ports` → instance port +* `endpointSlice.labels` → instance metadata + +Each EndpointSlice represents a homogeneous group of endpoints. +All addresses in a slice share the same set of ports. +If different port combinations exist, Kubernetes exposes them as separate EndpointSlices. + +This guarantees that all `(address, port)` combinations returned by Stork are valid. + +== ClusterIP mode + +By default, Stork resolves individual *pod IPs* from Kubernetes Endpoints (or EndpointSlices). +In ClusterIP mode, Stork resolves to the *ClusterIP and port* of the Kubernetes Service instead, without inspecting the backing pods. + +The `use-cluster-ip` attribute enables this mode. + +=== When to use ClusterIP mode + +ClusterIP mode is useful when: + +* You have a *multi-port Service* and want Stork to resolve the port by name, without needing to know actual port numbers. +* You don't need client-side load balancing — for example, because `kube-proxy`, a service mesh, or another network-level mechanism already handles traffic distribution. +* You want to *control the resolution strategy through configuration*, without changing application code. + +=== Configuration + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.k8s-namespace=my-namespace +stork.my-service.service-discovery.use-cluster-ip=true +stork.my-service.service-discovery.port-name=http +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.k8s-namespace=my-namespace +quarkus.stork.my-service.service-discovery.use-cluster-ip=true +quarkus.stork.my-service.service-discovery.port-name=http +---- + +-- + +==== + +In this mode, Stork queries the Kubernetes `Service` resource directly and returns a single `ServiceInstance` with: + +* *Host* — the Service's ClusterIP (e.g., `10.96.0.15`) +* *Port* — resolved from the Service spec, matching `port-name` when multiple ports are defined + +Since only one instance is returned, any configured Stork load balancer becomes a passthrough. + +[NOTE] +==== + +ClusterIP mode does not support headless Services (`clusterIP: None`). +If the target Service is headless, Stork returns an empty list of service instances. + +==== + +=== Multi-port Services + +ClusterIP mode works well with multi-port Services. +Use the `port-name` attribute to select the desired port: + +[source,yaml] +---- +apiVersion: v1 +kind: Service +metadata: + name: my-service +spec: + ports: + - name: http + port: 8080 + - name: grpc + port: 50051 +---- + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=kubernetes +stork.my-service.service-discovery.use-cluster-ip=true +stork.my-service.service-discovery.port-name=grpc +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=kubernetes +quarkus.stork.my-service.service-discovery.use-cluster-ip=true +quarkus.stork.my-service.service-discovery.port-name=grpc +---- + +-- + +==== + +This resolves to `10.96.x.x:50051` — the ClusterIP with the `grpc` port without the application needing to know the actual port number. +If `port-name` is not set, Stork uses the first port defined in the Service spec. + +Supported attributes are the following: + +include::{generated-dir}/kubernetes-sd-attributes.adoc[] + +== Caching the service instances + +Contacting the cluster too much frequently can result in performance problems. It's why Kubernetes Service discovery extends `io.smallrye.stork.impl.CachingServiceDiscovery` to automatically _cache_ the service instances. +Moreover, the caching expiration has been also improved in order to only update the retrieved set of `ServiceInstance` if some of them changes and an event is emitted. +This is done by creating an https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/informers/SharedIndexInformer.html[Informer], similar to a https://www.javadoc.io/static/io.fabric8/kubernetes-client-api/6.1.1/io/fabric8/kubernetes/client/Watch.html[Watch], able to observe the events on the service instances resources. + +Note that: +- the cache is invalidated when an event is received. +- the cache is validated, if and only if, the instances are retrieved successfully from the cluster, in the `fetchNewServiceInstances` method. +- In case of an error contacting the cluster (e.g., network failure, API server unreachable), a retry mechanism is triggered. +The system will attempt to contact the cluster up to the number of times specified by request-retry-backoff-limit, waiting request-retry-backoff-interval milliseconds between each attempt. +By default, retries are disabled to prevent the system from entering an infinite loop of calls to an unresponsive cluster. +- If no service instances are found (e.g., no matching endpoints, headless service in ClusterIP mode), Stork returns an empty list. +- the `cache` method is overridden to customize the expiration strategy. In this case the collection of service instances will be kept until an event occurs. + +When EndpointSlice are selected, Stork creates informers on the `EndpointSlice` resources instead of classic `Endpoints`. +The caching behavior remains unchanged. + +In ClusterIP mode, Stork creates an Informer on the Kubernetes `Service` resource (instead of Endpoints or EndpointSlices). +The cache is invalidated when the Service is added, updated, or deleted. +The same caching behavior described above applies. diff --git a/content/docs/smallrye-stork/main/service-discovery/overview.adoc b/content/docs/smallrye-stork/main/service-discovery/overview.adoc new file mode 100644 index 000000000..42531f0d8 --- /dev/null +++ b/content/docs/smallrye-stork/main/service-discovery/overview.adoc @@ -0,0 +1,34 @@ += Overview +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Service Discovery in SmallRye Stork + +As already introduced, service discovery is a crucial part of modern microservices architectures. +It allows services to dynamically discover the location of other services at runtime, which is particularly useful in distributed systems where services may scale up or down, +or change their network addresses. + +SmallRye Stork provides a flexible and extensible mechanism for service discovery. +It supports out of the box some service discovery such as Kubernetes or Consul but the main strength of it is customization so you can easily create your own implementation related on your business for example. +Stork allows services to communicate with each other without requiring hardcoded addresses, making it an ideal solution for microservices deployments. +SmallRye Stork brings this capability to clients for Quarkus applications but it's vendor agnostic so you easily use it with other solutions and even in standalone mode. + +== Service discovery caching overview + +Stork provides a built-in caching mechanism for service discovery results. +By default, each service discovery implementation may repeatedly contact its backend (e.g., Consul, Kubernetes, Eureka) to retrieve the current list of service instances. +Since these lookups can be expensive or frequent, Stork allows service discovery providers to cache the retrieved instances for a configurable period of time. + +* Cached results are reused for subsequent lookups, avoiding unnecessary backend calls. +* The cache is automatically refreshed after the configured `refresh-period`. +* If a refresh fails, Stork keeps serving the previously retrieved list of instances until a new successful refresh occurs. + +In addition to the time-based refresh mechanism, Stork also exposes an *cache invalidation API* . +This API can be used to explicitly clear the cached results, forcing the next lookup to perform a new service discovery call. +This is especially useful when the service discovery backend supports event-based notifications (for example, Consul blocking queries), allowing the cache to be invalidated as soon as a change is detected. + +____ +For more details about how to enable caching in a custom service discovery implementation, see the xref:service-discovery/custom-service-discovery.adoc#caching-the-service-instances[Caching the service instances] section. +____ + +You can explore the different implementations and learn how to create your own in the following sections. diff --git a/content/docs/smallrye-stork/main/service-discovery/static-list.adoc b/content/docs/smallrye-stork/main/service-discovery/static-list.adoc new file mode 100644 index 000000000..4e2b066f3 --- /dev/null +++ b/content/docs/smallrye-stork/main/service-discovery/static-list.adoc @@ -0,0 +1,56 @@ += Static List Service Discovery +:version-root: ../ +include::{version-root}_attributes.adoc[] + +In some situations, such as demos, development, or testing, you may want to mock the service discovery by providing a predefined list of service instances. +For this purpose, Stork comes with a `static` service discovery type. + +== Dependency + +To use the `static` service discovery, first add the appropriate Service Discovery provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-discovery-static-list + {project-version} + +---- + +== Configuration + +For each service that should use the static list of service instances configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-discovery.type=static +stork.my-service.service-discovery.address-list=localhost:8080,localhost:8081 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-discovery.type=static +quarkus.stork.my-service.service-discovery.address-list=localhost:8080,localhost:8081 +---- + +-- + +==== + +These are all the static service discovery parameters: + +include::{generated-dir}/static-sd-attributes.adoc[] diff --git a/content/docs/smallrye-stork/main/service-registration/consul.adoc b/content/docs/smallrye-stork/main/service-registration/consul.adoc new file mode 100644 index 000000000..10fe6d6ea --- /dev/null +++ b/content/docs/smallrye-stork/main/service-registration/consul.adoc @@ -0,0 +1,228 @@ += Consul Service Registration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://www.consul.io/[Consul] is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. +It's often used as service discovery backend to register and locate the services composing your system. +Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. +External services can be registered as well. + +This page explains how Stork can use Consul to handle the service registration. + +== Dependency + +First, you need to add the Stork Consul Service Registration provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-registration-consul + {project-version} + +---- + +== Service registration configuration + +For each service that should register the service instances in Consul, configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +---- + +Consul service registrar is configured with the following parameters: + +include::{generated-dir}/consul-sr-attributes.adoc[] + +== Service deregistration configuration + +There is no specific configuration required to enable deregistration; however, you must ensure that a consul service registrar is configured for the service: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +---- + +As with registration, deregistration relies on the service name. + +== Secure communication with Consul + +When your Consul cluster uses TLS/SSL encryption, you can configure Stork to establish secure connections. Enable SSL and provide the necessary trust store configuration: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +stork.my-service.service-registrar.consul-host=localhost +stork.my-service.service-registrar.consul-port=8501 +stork.my-service.service-registrar.ssl=true +stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +stork.my-service.service-registrar.trust-store-password=changeit +stork.my-service.service-registrar.verify-host=true +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +quarkus.stork.my-service.service-registrar.consul-host=localhost +quarkus.stork.my-service.service-registrar.consul-port=8501 +quarkus.stork.my-service.service-registrar.ssl=true +quarkus.stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +quarkus.stork.my-service.service-registrar.trust-store-password=changeit +quarkus.stork.my-service.service-registrar.verify-host=true +---- + +-- + +==== + +For mutual TLS (mTLS) authentication where the client must also present a certificate, provide both trust store and key store configuration: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +stork.my-service.service-registrar.consul-host=localhost +stork.my-service.service-registrar.consul-port=8501 +stork.my-service.service-registrar.ssl=true +stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +stork.my-service.service-registrar.trust-store-password=changeit +stork.my-service.service-registrar.key-store-path=/path/to/keystore.jks +stork.my-service.service-registrar.key-store-password=changeit +stork.my-service.service-registrar.verify-host=true +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +quarkus.stork.my-service.service-registrar.consul-host=localhost +quarkus.stork.my-service.service-registrar.consul-port=8501 +quarkus.stork.my-service.service-registrar.ssl=true +quarkus.stork.my-service.service-registrar.trust-store-path=/path/to/truststore.jks +quarkus.stork.my-service.service-registrar.trust-store-password=changeit +quarkus.stork.my-service.service-registrar.key-store-path=/path/to/keystore.jks +quarkus.stork.my-service.service-registrar.key-store-password=changeit +quarkus.stork.my-service.service-registrar.verify-host=true +---- + +-- + +==== + +== ACL Token Authentication + +When your Consul cluster has ACL (Access Control List) enabled, you need to provide an ACL token for authentication: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=consul +stork.my-service.service-registrar.consul-host=localhost +stork.my-service.service-registrar.consul-port=8500 +stork.my-service.service-registrar.acl-token=your-acl-token +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=consul +quarkus.stork.my-service.service-registrar.consul-host=localhost +quarkus.stork.my-service.service-registrar.consul-port=8500 +quarkus.stork.my-service.service-registrar.acl-token=your-acl-token +---- + +-- + +==== + +The ACL token can be combined with SSL/TLS configuration for secure, authenticated access to Consul. diff --git a/content/docs/smallrye-stork/main/service-registration/custom-service-registration.adoc b/content/docs/smallrye-stork/main/service-registration/custom-service-registration.adoc new file mode 100644 index 000000000..9e7d8e4cd --- /dev/null +++ b/content/docs/smallrye-stork/main/service-registration/custom-service-registration.adoc @@ -0,0 +1,165 @@ += Implement your own service registration mechanism +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork is extensible, and you can implement your own service registrar mechanism. + +== Dependencies + +To implement your _Service Registration Provider_, make sure your project depends on Core and Configuration Generator. +The former brings classes necessary to implement custom registrar, the latter contains an https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/annotation/processing/Processor.html[annotation processor] that generates classes needed by Stork. + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-core + {project-version} + + + io.smallrye.stork + stork-configuration-generator + provided + + {project-version} + +---- + +== Implementing a service registrar provider + +Service registration implementation consists of three elements: + +* `ServiceRegistrar` which is responsible for registering service instances for a single Stork service. +* `ServiceRegistrarProvider` which creates instances of `ServiceRegistrar` for a given service registrar _type_. +* `$typeConfiguration` which is a configuration for the registrar. This class is automatically generated during the compilation (using an annotation processor). + +A _type_, for example, `acme`, identifies each provider. +This _type_ is used in the configuration to reference the provider: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=acme +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=acme +---- + +-- + +==== + +A `ServiceRegistrarProvider` implementation needs to be annotated with `@ServiceRegistrarType` that defines the _type_. +Any configuration properties that the provider expects should be defined with `@ServiceRegistrarAttribute` annotations placed on the provider. +Optionally, you can also add `@ApplicationScoped` annotation in order to provide the service registrar implementation as CDI bean. + +A service registrar provider class should look as follows: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceRegistrarProvider.java[indent=0] +---- + +Note, that the `ServiceRegistrarProvider` interface takes a configuration class as a parameter. This configuration class +is generated automatically by the _Configuration Generator_. +Its name is created by appending `RegistrarConfiguration` to the service registrar type, such as `AcmeRegistrarConfiguration`. + +The next step is to implement the `ServiceRegistrar` interface: + +[source,java] +---- +include::{examples-dir}/examples/AcmeServiceRegistrar.java[indent=0] +---- + +This implementation is simplistic. +Typically, instead of creating a service instance with values from the configuration, you would connect to a service registration backend, look for the service and build the list of service instance accordingly. +That's why the method returns a `Uni`. +Most of the time, the lookup is a remote operation. + +As you can see, the `AcmeConfiguration` class gives access to the configuration attribute. + +=== Implement your own service deregistration mechanism + +The `registerServiceInstance` method receives an optional `instanceName` parameter that acts as an explicit identifier for the registered instance. +When provided, it should be used as the registration ID so that the same instance can be precisely targeted during deregistration. +If `instanceName` is `null` or empty, implementations should fall back to a deterministic ID derived from the service name, IP address, and port. + +Finally, you can implement your own service deregistration mechanism in `deregisterServiceInstance` method. + +[WARNING] +.Override the specific-instance deregistration methods +==== + +The `ServiceRegistrar` interface provides several deregistration methods: + +* `deregisterServiceInstance(String serviceName)` — deregisters *all* instances of a service. +* `deregisterServiceInstance(String serviceName, String instanceName)` — deregisters the instance registered under the given name. +* `deregisterServiceInstance(String serviceName, String ipAddress, int port)` — deregisters the instance identified by IP and port. + +The default implementations of the second and third methods fall back to the first, which may deregister *all* instances. +*Custom registrar implementations should override at least one of the specific-instance methods* to provide precise, instance-level deregistration and avoid unintended side effects. + +Note that the `Service` class wraps these with simpler methods that do not require passing the service name: +`deregisterNamedInstance(instanceName)`, `deregisterServiceInstance(ipAddress, port)`, and the deprecated no-arg `deregisterServiceInstance()`. + +==== + +== Using your service registrar using the programmatic API + +In the project using it, don't forget to add the dependency on the module providing your implementation. +Then, in the configuration, just add: + +[.tabs] +==== + +stork standalone:: ++ +-- + +[source,properties] +---- +stork.my-service.service-registrar.type=acme +stork.my-service.service-registrar.host=localhost +stork.my-service.service-registrar.port=1234 +---- + +-- + +stork in quarkus:: ++ +-- + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=acme +quarkus.stork.my-service.service-registrar.host=localhost +quarkus.stork.my-service.service-registrar.port=1234 +---- + +-- + +==== + +When building your service registrar project project, the configuration generator creates a configuration class. +Then, Stork will use your implementation to register/deregister the service instances using the `acme` backend. + +This class can be used to configure your service registrar using the Stork programmatic API. + +[source,java] +---- +include::{examples-dir}/examples/AcmeRegistrarApiUsage.java[indent=0] +---- diff --git a/content/docs/smallrye-stork/main/service-registration/eureka.adoc b/content/docs/smallrye-stork/main/service-registration/eureka.adoc new file mode 100644 index 000000000..8e327934d --- /dev/null +++ b/content/docs/smallrye-stork/main/service-registration/eureka.adoc @@ -0,0 +1,105 @@ += Eureka Service Registration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +https://github.com/Netflix/eureka[Eureka] is a RESTful service that is primarily used in the AWS cloud for the purpose of discovery, load balancing, and failover of middle-tier servers. + +This page explains how Stork can use Eureka to handle the service registration. + +== Dependency + +First, you need to add the Stork Eureka Service Registration provider: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-registration-eureka + {project-version} + +---- + +== Service registration configuration + +For each service that should register the service instances in Eureka, configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=eureka +stork.my-service.service-registrar.eureka-host=localhost +stork.my-service.service-registrar.eureka-port=8761 +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=eureka +quarkus.stork.my-service.service-registrar.eureka-host=localhost +quarkus.stork.my-service.service-registrar.eureka-port=8761 +---- + +Eureka service registrar is configured with the following parameters: + +include::{generated-dir}/eureka-sr-attributes.adoc[] + +The `ipAddress` passed to `registerServiceInstance()` is used as both the IP address (`ipAddr`) and the hostname (`hostName`) registered in Eureka. +If the instance has a distinct DNS hostname, set `host-name` explicitly to override this default. + +== Service deregistration configuration + +There is no specific configuration required to enable deregistration; however, you must ensure that a consul service registrar is configured for the service: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=eureka +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=eureka +---- + +As with registration, deregistration relies on the service name. diff --git a/content/docs/smallrye-stork/main/service-registration/overview.adoc b/content/docs/smallrye-stork/main/service-registration/overview.adoc new file mode 100644 index 000000000..db10b9a5f --- /dev/null +++ b/content/docs/smallrye-stork/main/service-registration/overview.adoc @@ -0,0 +1,82 @@ += Overview +:version-root: ../ +include::{version-root}_attributes.adoc[] + +== Service Registration in SmallRye Stork + +Service registration is the process by which services announce their availability to a central registry, allowing other services to discover and communicate with them. +In SmallRye Stork, service registration is automated and integrated with supported registries like *Consul*. +This ensures that services can dynamically join and leave the network. + +=== Key Features: + +* *Automatic Registration*: For *Quarkus applications*, SmallRye Stork automatically registers the application with the configured service registry — but *only for built-in registrars such as Consul, Eureka, and Static*. +If you're using a custom registrar, registration must still be handled programmatically, as before this feature. + +Registration is enabled by default. If you want to disable registration, you can do it per service using the following property: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.enable=false +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.enable=false +---- + +*IMPORTANT* Public IP address needs to be provided. Smallrye Stork will fail if the service IP address is not provided during registration. + +==== Supported Registries: + +Currently, Smallrye Stork provides seamless integration with Consul, Eureka and a Static registry. +This integration simplifies the management of dynamic environments where services are frequently added or removed. + +==== Custom Registration: + +In addition to the default mechanisms, SmallRye Stork allows you to implement custom service registration strategies, +providing flexibility for different infrastructures or custom service registration needs. + +In the following sections you can have more details about each specific implementation. + +=== Deregister Services + +SmallRye Stork now supports deregistration of service instances from a central registry when explicitly requested. +This feature complements the registration mechanism. + +This operation is typically should be triggered when a service instance is shut down or no longer available, helping maintain a consistent and accurate service registry. +To enable service deregistration, you can invoke the deregistration methods on the `Service` instance programmatically. +To target a specific instance, prefer one of these methods: + +* `deregisterNamedInstance(instanceName)` — deregisters the instance registered under the given name. +* `deregisterServiceInstance(ipAddress, port)` — deregisters the instance identified by IP and port. + +The no-argument overload `deregisterServiceInstance()` deregisters *all* instances of the service and is deprecated, prefer one of the specific methods above. + +*Note*: When used in standalone mode, Stork does *not* automatically handle service instance registration or deregistration. +However, when using the quarkus-stork-registration extension within a Quarkus application, +service instances are automatically registered at application startup and deregistered upon shutdown, unless this behavior is explicitly disabled. + +In the following sections you can have more details about each specific implementation. diff --git a/content/docs/smallrye-stork/main/service-registration/static-list.adoc b/content/docs/smallrye-stork/main/service-registration/static-list.adoc new file mode 100644 index 000000000..87e3eb570 --- /dev/null +++ b/content/docs/smallrye-stork/main/service-registration/static-list.adoc @@ -0,0 +1,96 @@ += Static List Service Registration +:version-root: ../ +include::{version-root}_attributes.adoc[] + +Stork provides the ability to register services using Static list as backend. + +== Dependency + +To use the `static` service registrar, first add the appropriate Service Registration provider dependency to your project: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-service-registration-static-list + {project-version} + +---- + +== Service registration configuration + +For each service that should register the service instances in a static list, configure the service registrar `type`: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=static +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=static +---- + +Static service registrar is configured with the following parameters: + +include::{generated-dir}/static-sr-attributes.adoc[] + +== Service deregistration configuration + +There is no specific configuration required to enable deregistration; however, you must ensure that a consul service registrar is configured for the service: + +[.tabs] +==== + +stork standalone:: ++ +-- + +-- + +==== + +[source,properties] +---- +stork.my-service.service-registrar.type=static +---- + +[.tabs] +==== + +stork in quarkus:: ++ +-- + +-- + +==== + +[source,properties] +---- +quarkus.stork.my-service.service-registrar.type=static +---- + +As with registration, deregistration relies on the service name. diff --git a/content/docs/smallrye-stork/main/springboot-config.adoc b/content/docs/smallrye-stork/main/springboot-config.adoc new file mode 100644 index 000000000..05d2f1a3b --- /dev/null +++ b/content/docs/smallrye-stork/main/springboot-config.adoc @@ -0,0 +1,40 @@ += Stork Spring Boot Config +include::_attributes.adoc[] + +Stork seamlessly supports Spring Boot configuration, facilitating access to configuration properties. +This documentation elaborates on how Spring Boot developers can use Stork in their Spring Boot applications and configure it using the application.properties file. + +== Dependency setup + +To enable Spring Boot configuration integration in Stork, you need to include the following dependency: + +[source,xml,subs="attributes+"] +---- + + io.smallrye.stork + stork-spring-boot-config + {project-version} + +---- + +== Initializing Stork + +Since Spring Boot lacks a pre-configured Stork instance, you'll need create one. It can be done by providing a Spring bean performing Stork initialization: + +[source,java] +---- +include::{examples-dir}/examples/SpringBootInitializationExample.java[indent=0] +---- + +Upon initialization, Stork scans for the `io.smallrye.stork.springboot.SpringBootConfigProvider` SPI provider and CDI beans (from version 2.x onwards). +It then builds a comprehensive list of managed services by parsing the properties configuration files. + +Please note the importance of the `io.smallrye.stork.springboot.SpringBootApplicationContextProvider` bean in our setup. +This bean has a critical role by granting Stork access to the current `org.springframework.context.ApplicationContext`. +It enables it to retrieve configuration details effectively. Consequently, it's imperative that this bean is instantiated prior to initiating the Stork initialization process. +In this case, we utilize the `@DependsOn` annotation for that. +It allows us controlling the bean creation order. + +== Comprehensive Example + +You can check our https://github.com/aureamunoz/spring-stork-guitar-hero/[Guitar Hero Application] showcasing the seamless integration of Stork with Spring Boot Configuration. diff --git a/content/index.html b/content/index.html index 4c75d18e1..9b65750aa 100644 --- a/content/index.html +++ b/content/index.html @@ -13,7 +13,7 @@

          Helping Java Developers deliver for tomorrow

          APIs and implementations tailored for Cloud development, including, but not limited to, Eclipse MicroProfile.

          Browse the projects - Documentation + Documentation

          diff --git a/content/posts/2020-05-22-smallrye-config-1-8.adoc b/content/posts/2020-05-22-smallrye-config-1-8.adoc index 3956d7263..84a2b09b2 100644 --- a/content/posts/2020-05-22-smallrye-config-1-8.adoc +++ b/content/posts/2020-05-22-smallrye-config-1-8.adoc @@ -83,7 +83,7 @@ Not every interceptor is registered by default. Only the `ProfileConfigSourceInt Other interceptors require manual registration via the `ServiceLoader` mechanism. To learn more about all the built-in interceptors, please refer to the -https://smallrye.io/docs/smallrye-config/interceptors/interceptors.html#_built_in_interceptors[documentation page]. +https://smallrye.io/smallrye-config/Latest/extensions/interceptors/[documentation page]. === Expression Expansion @@ -152,4 +152,4 @@ Please, feel free to drop us any feedback in the mailto:smallrye@googlegroups.co == Additional Resources * https://github.com/smallrye/smallrye-config/releases/tag/1.8.0[Release Notes] -* https://smallrye.io/docs/smallrye-config/index.html[Documentation] +* https://smallrye.io/smallrye-config/Latest/[Documentation] diff --git a/content/posts/2020-09-24-smallrye-config-1-9.adoc b/content/posts/2020-09-24-smallrye-config-1-9.adoc index a33ba100f..451d1c164 100644 --- a/content/posts/2020-09-24-smallrye-config-1-9.adoc +++ b/content/posts/2020-09-24-smallrye-config-1-9.adoc @@ -122,7 +122,7 @@ public interface Server { ---- For additional information, check out our documentation about -https://smallrye.io/docs/smallrye-config/mapping/mapping.html[Config Mappings] and the example in the +https://smallrye.io/smallrye-config/Latest/config/mappings/[Config Mappings] and the example in the https://github.com/smallrye/smallrye-config/tree/main/examples/mapping SmallRye Config Github repo. In MicroProfile Config 2.0, an initial version for this feature will be available. It doesn't support all the features @@ -166,7 +166,7 @@ configure other sources produced by lower priority `ConfigSourceFactory`. To reg standard Java `ServiceLoader`. For additional information, check out our documentation about -https://smallrye.io/docs/smallrye-config/config-sources/config-sources.html#_config_source_factory[Config Mappings] and +https://smallrye.io/smallrye-config/Latest/config-sources/factories/[Config Mappings] and the example in the https://github.com/smallrye/smallrye-config/tree/main/examples/configmap SmallRye Config Github repo. @@ -208,4 +208,4 @@ Please, feel free to drop us any feedback to the mailto:smallrye@googlegroups.co * https://github.com/smallrye/smallrye-config/[GitHub Repository] * https://github.com/smallrye/smallrye-config/releases/tag/1.9.0[Release Notes] -* https://smallrye.io/docs/smallrye-config/index.html[Documentation] +* https://smallrye.io/smallrye-config/Latest/[Documentation] diff --git a/content/posts/2021-01-15-fault-tolerance-5-0.adoc b/content/posts/2021-01-15-fault-tolerance-5-0.adoc index b7aa38048..e82a42310 100644 --- a/content/posts/2021-01-15-fault-tolerance-5-0.adoc +++ b/content/posts/2021-01-15-fault-tolerance-5-0.adoc @@ -6,14 +6,13 @@ :page-author: lthon :smallrye-ft: SmallRye Fault Tolerance :microprofile-ft: MicroProfile Fault Tolerance -:uri-smallrye-ft-docs: https://smallrye.io/docs/smallrye-fault-tolerance/5.0.0 = Fault Tolerance 5.0 Roughly a year ago, we link:/blog/fault-tolerance-4-0/[announced] the release of {smallrye-ft} 4.0, the new implementation of Eclipse {microprofile-ft}. Today, we bring you version 5.0, an evolution of the 4.x stream that fully implements {microprofile-ft} 3.0 and brings a lot of improvements and even new features. These new features are not present in the {microprofile-ft} specification, but were requested by users, especially in the Quarkus community. -In addition, the API for integrators has been simplified significantly, and the first version of {uri-smallrye-ft-docs}/index.html[documentation] is also ready. +In addition, the API for integrators has been simplified significantly, and the first version of https://smallrye.io/docs/smallrye-fault-tolerance/5/[documentation] is also ready. Let's take a look. == {microprofile-ft} 3.0 @@ -84,7 +83,7 @@ Afterwards, you can `@Inject` a `CircuitBreakerMaintenance` and use its `current In addition, `CircuitBreakerMaintenance` also allows you to reset any given named circuit breaker (`reset`), or all circuit breakers (`resetAll`), to the initial state. -Read the {uri-smallrye-ft-docs}/usage/extra.html#_circuit_breaker_maintenance[documentation] for more information and examples. +Read the https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#circuit-breaker-maintenance[documentation] for more information and examples. === `@Blocking` and `@NonBlocking` @@ -98,7 +97,7 @@ On the other hand, `@NonBlocking` means that the annotated method doesn't block Note that these annotations are only taken into account if the annotated method also applies some other fault tolerance strategy, such as `@Fallback` or `@Retry`, _and_ if the method returns `CompletionStage` (or some of the additional asynchronous types as described below). If there's no fault tolerance annotation, or if the method doesn't return `CompletionStage`, {smallrye-ft} will ignore the `@Blocking` and `@NonBlocking` annotations completely. -Read the {uri-smallrye-ft-docs}/usage/extra.html#blocking-nonblocking[documentation] for more information and examples. +Read the https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#async-nonblocking[documentation] for more information and examples. === Additional asynchronous types @@ -108,7 +107,7 @@ Note that only single-valued types, such as `Single` or `Uni`, are supported; st This support is based on the https://github.com/smallrye/smallrye-reactive-utils/tree/main/reactive-converters[SmallRye Reactive Converters] project, so you have to make sure that the corresponding converter library is present. Integrators may include some converters by default if they choose so. -Read the {uri-smallrye-ft-docs}/usage/extra.html#_additional_asynchronous_types[documentation] for more information and examples. +Read the https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#async-types[documentation] for more information and examples. === Other improvements @@ -156,7 +155,7 @@ As described above, the SmallRye Reactive Converters project is used to add supp This means that {smallrye-ft} requires the `io.smallrye.reactive:smallrye-reactive-converter-api` artifact to be present. Presence of Reactive Converter API implementations is optional, but the API itself is mandatory. -Read the {uri-smallrye-ft-docs}/integration/intro.html[integration documentation] for more information. +Read the https://smallrye.io/docs/smallrye-fault-tolerance/5/integration/intro/[integration documentation] for more information. == Summary diff --git a/content/posts/2021-05-17-fault-tolerance-5-1.adoc b/content/posts/2021-05-17-fault-tolerance-5-1.adoc index 42b2aa1f6..0afe0a634 100644 --- a/content/posts/2021-05-17-fault-tolerance-5-1.adoc +++ b/content/posts/2021-05-17-fault-tolerance-5-1.adoc @@ -41,7 +41,7 @@ In this release, we provide an integration API for event loops, as well as an im With this integration enabled, invocations of `@NonBlocking` methods made on an event loop thread are always executed on the same event loop thread. -For more information, see link:https://smallrye.io/docs/smallrye-fault-tolerance/5.1.0/usage/extra.html#blocking-nonblocking[user documentation] and link:https://smallrye.io/docs/smallrye-fault-tolerance/5.1.0/integration/event-loop.html[integration documentation]. +For more information, see link:https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#async-nonblocking[user documentation] and link:https://smallrye.io/docs/smallrye-fault-tolerance/5/integration/event-loop/[integration documentation]. == Others diff --git a/content/posts/2021-07-02-fault-tolerance-5-2.adoc b/content/posts/2021-07-02-fault-tolerance-5-2.adoc index 2eae9921a..354972ef6 100644 --- a/content/posts/2021-07-02-fault-tolerance-5-2.adoc +++ b/content/posts/2021-07-02-fault-tolerance-5-2.adoc @@ -45,7 +45,7 @@ With `@ExponentialBackoff`, the delays between retry attempts will grow exponent With `@FibonacciBackoff`, the delays will grow per the Fibonacci sequence. With `@CustomBackoff`, it is possible to implement completely custom backoff strategy. -See https://smallrye.io/docs/smallrye-fault-tolerance/5.2.0/usage/extra.html#_backoff_strategies_for_retry[the documentation] for more information. +See https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#backoff-strategies-for-retry[the documentation] for more information. == `@Blocking` and `@NonBlocking` on classes @@ -76,7 +76,7 @@ public class MyService { Here, the `hello` method is treated as `@Blocking`, but other methods would inherit the `@NonBlocking` annotation from the class. -See https://smallrye.io/docs/smallrye-fault-tolerance/5.2.0/usage/extra.html#blocking-nonblocking[the documentation] for more information. +See https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#async-nonblocking[the documentation] for more information. == Non-compatible mode for determining asynchrony @@ -108,7 +108,7 @@ The compatible mode conforms to the specification, but we find that behavior les Quarkus will enable this mode by default in the 2.1.0.Final release. -See https://smallrye.io/docs/smallrye-fault-tolerance/5.2.0/usage/extra.html#_non_compatible_mode[the documentation] for more information. +See https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#noncompatible-mode[the documentation] for more information. == Others @@ -116,7 +116,7 @@ Together with the new features described above, we have also performed a major i The configuration system, the single last remnant of {smallrye-ft} 2.x, has been rewritten from scratch. Instead of storing configuration values into a `Map`, the new system is based on configuration interfaces. Implementations of these interfaces are automatically generated during {smallrye-ft} build, using an annotation processor. -See https://smallrye.io/docs/smallrye-fault-tolerance/5.2.0/internals/config.html[the documentation] for more details if you're interested. +See https://smallrye.io/docs/smallrye-fault-tolerance/5/internals/config/[the documentation] for more details if you're interested. Furthermore, we have fixed a small bug in `@Fallback` validation. If you had a method guarded with `@Fallback` that returned a raw type (such as `List`), and its fallback method retured a parameterized type (such as `List`), the validation code would enter an infinite regress. diff --git a/content/posts/2022-02-08-fault-tolerance-5-3.adoc b/content/posts/2022-02-08-fault-tolerance-5-3.adoc index d6b670764..c097b8fe2 100644 --- a/content/posts/2022-02-08-fault-tolerance-5-3.adoc +++ b/content/posts/2022-02-08-fault-tolerance-5-3.adoc @@ -19,7 +19,7 @@ Since the very beginning, {smallrye-ft} has implemented the {microprofile-ft} de It also has several SmallRye-specific additions to this API, such as retry backoff strategies or circuit breaker maintenance. With this release, {smallrye-ft} adds an alternative, programmatic API. -It has https://smallrye.io/docs/smallrye-fault-tolerance/5.3.0/usage/programmatic-api.html[extensive documentation], so we'll just provide a short overview here. +It has https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/programmatic-api/[extensive documentation], so we'll just provide a short overview here. Let's start with an example: [source,java] @@ -101,7 +101,7 @@ In certain contexts, the true exceptions are often (or always) wrapped into anot In such situation, configuring when a fault tolerance strategy should apply or be ignored becomes nearly impossible. In this release, {smallrye-ft} adds a non-standard feature to solve this problem. -In the https://smallrye.io/docs/smallrye-fault-tolerance/5.3.0/usage/extra.html#_non_compatible_mode[non-compatible mode], if the class of the thrown exception isn't present in either of the two sets, the cause chain of the exception is inspected automatically. +In the https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#noncompatible-mode[non-compatible mode], if the class of the thrown exception isn't present in either of the two sets, the cause chain of the exception is inspected automatically. == Revamped async types support diff --git a/content/posts/2022-03-31-fault-tolerance-5-4.adoc b/content/posts/2022-03-31-fault-tolerance-5-4.adoc index ef1f1c0a7..81832cf55 100644 --- a/content/posts/2022-03-31-fault-tolerance-5-4.adoc +++ b/content/posts/2022-03-31-fault-tolerance-5-4.adoc @@ -50,7 +50,7 @@ public class MyService { } ---- -See the https://smallrye.io/docs/smallrye-fault-tolerance/5.4.0/usage/extra.html#_reusable_preconfigured_fault_tolerance[documentation] for more information. +See the https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#reusable-preconfigured-fault-tolerance[documentation] for more information. == Exception decisions in programmatic API diff --git a/content/posts/2022-07-11-fault-tolerance-5-5.adoc b/content/posts/2022-07-11-fault-tolerance-5-5.adoc index 45b05736e..efe31fb7b 100644 --- a/content/posts/2022-07-11-fault-tolerance-5-5.adoc +++ b/content/posts/2022-07-11-fault-tolerance-5-5.adoc @@ -23,14 +23,14 @@ In this version, we add support for {mmeter}. The set of metrics emitted to Micrometer is the same as the set of metrics emitted to MicroProfile Metrics, using the same metric names and tags. Metric types are also mapped as closely as possible. -More information about that can be found in the https://smallrye.io/docs/smallrye-fault-tolerance/5.5.0/usage/basic.html#_metrics[documentation]. +More information about that can be found in the https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/basic/#metrics[documentation]. Support for {mmeter} is added mainly for Quarkus, which strives to replace {mp-metrics} with {mmeter}. Note that Quarkus does its own integration of {smallrye-ft}. The CDI Portable Extension present in {smallrye-ft}, which other integrators use, still assumes usage of {mp-metrics}, and does the integration accordingly. That is, if you integrate {smallrye-ft} and are fine with using {mp-metrics}, you don't have to do anything (except managing dependencies correctly, see below). -More information about metrics integration is available in the https://smallrye.io/docs/smallrye-fault-tolerance/5.5.0/integration/metrics.html[documentation]. +More information about metrics integration is available in the https://smallrye.io/docs/smallrye-fault-tolerance/5/integration/metrics/[documentation]. === Transitive dependencies diff --git a/content/posts/2022-10-25-fault-tolerance-5-6-0-and-6-1-0.adoc b/content/posts/2022-10-25-fault-tolerance-5-6-0-and-6-1-0.adoc index 245930540..849460bac 100644 --- a/content/posts/2022-10-25-fault-tolerance-5-6-0-and-6-1-0.adoc +++ b/content/posts/2022-10-25-fault-tolerance-5-6-0-and-6-1-0.adoc @@ -76,7 +76,7 @@ Fallback( ) ---- -A lot more information about rate limiting can be found https://smallrye.io/docs/smallrye-fault-tolerance/5.6.0/usage/extra.html#_rate_limit[in the documentation]. +A lot more information about rate limiting can be found https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#rate-limit[in the documentation]. == New annotation for asynchronous non-blocking methods @@ -94,7 +94,7 @@ For asynchronous methods that do not require thread offload and return `Completi - in fully compatible mode, use `@AsynchronousNonBlocking`. `@AsynchronousNonBlocking` is a new annotation introduced by {smallrye-ft} in this version. -The https://smallrye.io/docs/smallrye-fault-tolerance/5.6.0/usage/extra.html#async-nonblocking[relevant section in the documentation] was thoroughly revised and contains all the details. +The https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#async-nonblocking[relevant section in the documentation] was thoroughly revised and contains all the details. === Compatibility @@ -132,7 +132,7 @@ public class MyService { It is possible to declare multiple overloads of the fallback method, each having different type of the exception parameter. It is also possible to declare fallback method(s) with an exception parameter together with a fallback method without an exception parameter. -As usual, see https://smallrye.io/docs/smallrye-fault-tolerance/5.6.0/usage/extra.html#_fallback_method_with_exception_parameter[the documentation] for more information. +As usual, see https://smallrye.io/docs/smallrye-fault-tolerance/5/usage/extra/#fallback-method-with-exception-parameter[the documentation] for more information. == Circuit breaker state transitions diff --git a/content/posts/2023-02-10-fault-tolerance-6-2-0.adoc b/content/posts/2023-02-10-fault-tolerance-6-2-0.adoc index b47c3c196..6b1401a33 100644 --- a/content/posts/2023-02-10-fault-tolerance-6-2-0.adoc +++ b/content/posts/2023-02-10-fault-tolerance-6-2-0.adoc @@ -21,7 +21,7 @@ This release also upgrades to the Jakarta EE 10 dependencies. Previously, the documentation contained numerous references to the {microprofile-ft} specification, and all {smallrye-ft} improvements on top of the specification were described in a single, long, hard to read document. -In {smallrye-ft} 6.2.0, the https://smallrye.io/docs/smallrye-fault-tolerance/6.2.0/[documentation] has been thoroughly restructured and revised. +In {smallrye-ft} 6.2.0, the https://smallrye.io/docs/smallrye-fault-tolerance/6/[documentation] has been thoroughly restructured and revised. It should contain all the necessary information, so that you no longer have to refer to the specification for pretty basic stuff. The improvements on top of the specification are now placed in the same guide that describes the basic feature. diff --git a/content/posts/2024-07-22-fault-tolerance-6-4-0.adoc b/content/posts/2024-07-22-fault-tolerance-6-4-0.adoc index 602aad98f..adca1b7bf 100644 --- a/content/posts/2024-07-22-fault-tolerance-6-4-0.adoc +++ b/content/posts/2024-07-22-fault-tolerance-6-4-0.adoc @@ -14,7 +14,7 @@ This release contains one new feature and one bugfix. The `@BeforeRetry` annotation was added, together with the corresponding methods in the programmatic API. The annotation allows defining an action that should happen before each retry, but not before the initial attempt. -See the https://smallrye.io/docs/smallrye-fault-tolerance/6.4.0/reference/retry.html#_before_retry_actions[documentation] for more information. +See the https://smallrye.io/docs/smallrye-fault-tolerance/6/reference/retry/#before-retry-actions[documentation] for more information. Further, the `synchronized` keyword was replaced on one place with a `ReentrantLock`, making the programmatic API more friendly with virtual threads. diff --git a/content/posts/2024-11-28-fault-tolerance-6-7-0.adoc b/content/posts/2024-11-28-fault-tolerance-6-7-0.adoc index 2fb77fc6e..3af1b92bb 100644 --- a/content/posts/2024-11-28-fault-tolerance-6-7-0.adoc +++ b/content/posts/2024-11-28-fault-tolerance-6-7-0.adoc @@ -72,8 +72,8 @@ Comparison of `@ApplyFaultTolerance` and `@ApplyGuard`: For more information about migrating to the new programmatic API, see the migration guides: -* link:https://smallrye.io/docs/smallrye-fault-tolerance/6.7.0/reference/programmatic-api.html#migration_from_faulttolerance[Migration from `FaultTolerance`] -* link:https://smallrye.io/docs/smallrye-fault-tolerance/6.7.0/reference/reusable.html#migration_from_applyfaulttolerance[Migration from `@ApplyFaultTolerance`] +* link:https://smallrye.io/docs/smallrye-fault-tolerance/6/reference/programmatic-api/#migration_from_faulttolerance[Migration from `FaultTolerance`] +* link:https://smallrye.io/docs/smallrye-fault-tolerance/6/reference/reusable/#migration_from_applyfaulttolerance[Migration from `@ApplyFaultTolerance`] Further, the `MutinyFaultTolerance` API has no replacement. The `Guard` and `TypedGuard` APIs support `Uni` out of the box, if the Mutiny support library is present. diff --git a/data/docs.yml b/data/docs.yml new file mode 100644 index 000000000..d347e8609 --- /dev/null +++ b/data/docs.yml @@ -0,0 +1,259 @@ +# Every SmallRye project with documentation, listed on /docs/. +# +# A project with `repo` and `path` has its documentation on this site: the sync (tools/docs/Docs.java) copies +# the AsciiDoc in / into content/docs///, published at +# /docs///. Versions it follows: +# main the branch head, synced every night +# latest the newest tag matching `latest-tag` +# streams older release lines kept online, as - id: "2" tag: "^2\.\d+\.\d+$" +# (ids are lowercase letters, digits and hyphens: they are part of the address) +# An archived project follows no branch (`archived: true`): its streams are all it has. +# Until a release carries AsciiDoc docs, the sync converts that release's MkDocs pages +# (`mkdocs`) on the fly, so the site never waits for a project's next release. +# +# A project without `path` is not migrated yet: `url` is where its documentation lives today. +# `maven-attributes` sets attributes from the Maven properties of the version published +# (attribute: property, from the repository's pom.xml), so versions the pages mention follow the +# build instead of being copied by hand. +# A stream can carry its own `mkdocs` settings, for a release line that laid its MkDocs sources out +# differently. +# `redirects` maps single old addresses on this site to new ones. +# `archive` points to the documentation of releases published before the move, on the project's +# own pages. `legacy` lists the addresses this site published before (Antora's +# /docs///.html): `Docs.java redirects` points each of them to the same page +# in the version that replaces it. + +projects: + - key: smallrye-graphql + name: SmallRye GraphQL + description: Implementation of MicroProfile GraphQL, with type-safe and dynamic Java clients. + group: microprofile + repo: smallrye/smallrye-graphql + path: docs/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+(\.(Final|Beta\d+|CR\d+|Alpha\d+))?$' + streams: + - id: '2' + tag: '^2\.\d+\.\d+$' + - id: '1' + tag: '^1\.\d+\.\d+$' + mkdocs: + config: mkdocs.yml + snippet-prefix: 'docs/snippets/=' + examples-dir: ../java + examples-root: docs/snippets + + - key: smallrye-config + name: SmallRye Config + description: A Java configuration library, and the implementation of MicroProfile Config. + group: microprofile + repo: smallrye/smallrye-config + path: documentation/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+$' + streams: + - id: '3' + tag: '^3\.\d+\.\d+$' + - id: '2' + tag: '^2\.\d+\.\d+$' + mkdocs: + config: documentation/mkdocs.yaml + examples-root: documentation/src/main/java + redirects: + # the Antora documentation of Config 1.x, gone since 2022 + /docs/smallrye-config/index.html: /docs/smallrye-config/latest/ + + - key: smallrye-fault-tolerance + name: SmallRye Fault Tolerance + description: Bulkheads, circuit breakers, fallbacks, rate limits, retries and timeouts; implements MicroProfile Fault Tolerance. + group: microprofile + repo: smallrye/smallrye-fault-tolerance + path: docs/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+$' + streams: + - id: '6' + tag: '^6\.\d+\.\d+$' + - id: '5' + tag: '^5\.\d+\.\d+$' + antora: doc + legacy: + url: '/docs/smallrye-fault-tolerance/{release}/{page}.html' + # sections renamed between the releases and the version that replaces them + anchors: + blocking-nonblocking: async-nonblocking + _additional_asynchronous_types: async-types + releases: + '6': ['6.0.0', '6.1.0', '6.2.0', '6.2.1', '6.2.2', '6.2.3', '6.2.4', '6.2.6', '6.3.0', '6.4.0', '6.4.1', '6.4.2', '6.4.3', '6.5.0', '6.6.0', '6.6.1', '6.6.2', '6.6.3', '6.7.0', '6.7.1', '6.7.2', '6.7.3', '6.8.0', '6.9.0', '6.9.1', '6.9.2', '6.9.3', '6.9.4', '6.10.0', '6.10.1', '6.10.2', '6.11.0', '6.11.1', '6.11.2', '6.11.3', '6.11.4'] + '5': ['5.0.0', '5.1.0', '5.2.0', '5.2.1', '5.3.0', '5.3.1', '5.3.2', '5.4.0', '5.4.1', '5.5.0', '5.6.0'] + + - key: smallrye-health + name: SmallRye Health + description: Implementation of MicroProfile Health. + group: microprofile + repo: smallrye/smallrye-health + path: docs/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+$' + antora: doc + legacy: + url: '/docs/smallrye-health/{release}/{page}.html' + releases: + latest: ['3.0.0', '3.0.1'] + + - key: smallrye-jwt + name: SmallRye JWT + description: Implementation of MicroProfile JWT RBAC, plus an API to build and sign tokens. + group: microprofile + repo: smallrye/smallrye-jwt + path: docs/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+$' + antora: doc + legacy: + url: '/docs/smallrye-jwt/{page}.html' + releases: + latest: [''] + + - key: smallrye-metrics + name: SmallRye Metrics + description: Implementation of MicroProfile Metrics. The project is archived; this is its last documentation. + group: microprofile + repo: smallrye/smallrye-metrics + path: docs/src/main/asciidoc + archived: true + streams: + - id: '3' + tag: '^3\.0\.\d+$' + - id: '2' + tag: '^2\.4\.\d+$' + antora: doc + legacy: + url: '/docs/smallrye-metrics/{release}/{page}.html' + releases: + '3': ['3.0.0'] + '2': ['2.4.0'] + + - key: smallrye-reactive-messaging + name: SmallRye Reactive Messaging + description: Event-driven, message-based applications on Kafka, AMQP, MQTT, RabbitMQ, Pulsar and more. + group: reactive + repo: smallrye/smallrye-reactive-messaging + path: documentation/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+(-RC\d+)?$' + streams: + - id: '4' + tag: '^4\.\d+\.\d+$' + - id: '3' + tag: '^3\.\d+\.\d+$' + mkdocs: + config: documentation/mkdocs.yml + examples-root: documentation/src/main/java + snippet-prefix: '../../../target/connectors/={generated-dir}/' + # The connector attribute tables are generated into each connector jar (META-INF/connector/). + generated: + maven-dependencies-of: documentation/pom.xml + group: io.smallrye.reactive + extract: META-INF/connector/ + # Dependency versions the pages mention, from the pom.xml of the version published. + maven-attributes: + attributes: + weld-version: weld.version + smallrye-config-version: smallrye-config.version + mutiny-version: mutiny.version + camel-version: camel.version + spec-version: microprofile-reactive-messaging.version + + - key: smallrye-mutiny + name: SmallRye Mutiny + description: An intuitive, event-driven reactive programming library for Java. + group: reactive + repo: smallrye/smallrye-mutiny + path: documentation/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+$' + streams: + - id: '2' + tag: '^2\.\d+\.\d+$' + mkdocs: + config: documentation/mkdocs.yml + examples-root: documentation/src/test + + - key: smallrye-mutiny-vertx-bindings + name: Mutiny Vert.x bindings + description: Mutiny APIs for Eclipse Vert.x. + group: reactive + repo: smallrye/smallrye-mutiny-vertx-bindings + path: docs/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+$' + streams: + - id: '3' + tag: '^3\.\d+\.\d+$' + - id: '2' + tag: '^2\.\d+\.\d+$' + mkdocs: + config: mkdocs.yml + + - key: smallrye-mutiny-zero + name: Mutiny Zero + description: A zero-dependency Reactive Streams publishers library. + group: reactive + repo: smallrye/smallrye-mutiny-zero + path: docs/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+$' + streams: + - id: '0' + tag: '^0\.\d+\.\d+$' + mkdocs: + config: mkdocs.yml + examples-root: . + + - key: smallrye-stork + name: SmallRye Stork + description: Service discovery and client-side load balancing. + group: standalone + repo: smallrye/smallrye-stork + path: docs/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+$' + streams: + - id: '2' + tag: '^2\.\d+\.\d+$' + - id: '1' + tag: '^1\.\d+\.\d+$' + # 1.x includes its examples as snippets/examples/... (relative to docs/) + mkdocs: + snippet-prefix: + - 'snippets/=' + - 're:^.*META-INF/stork-docs/={generated-dir}/' + mkdocs: + config: docs/mkdocs.yml + examples-root: docs/snippets + # the tables, wherever a page took them from (target/attributes/ or a module's target/classes/) + snippet-prefix: 're:^.*META-INF/stork-docs/={generated-dir}/' + # The configuration attribute tables are generated into each Stork jar (META-INF/stork-docs/). + generated: + maven-dependencies-of: docs/pom.xml + group: io.smallrye.stork + extract: META-INF/stork-docs/ + + - key: jandex + name: Jandex + description: A space-efficient Java class file indexer and offline reflection library. + group: standalone + repo: smallrye/jandex + path: docs/src/main/asciidoc + branch: main + latest-tag: '^\d+\.\d+\.\d+$' + antora: doc + +groups: + - key: microprofile + name: MicroProfile implementations + - key: reactive + name: Reactive + - key: standalone + name: Libraries diff --git a/data/docversions.yml b/data/docversions.yml new file mode 100644 index 000000000..69b77b53a --- /dev/null +++ b/data/docversions.yml @@ -0,0 +1,2508 @@ +# Generated by tools/docs/Docs.java sync: the documentation versions on the site, the ref each +# came from, and its navigation. Do not edit; run the sync instead. +jandex: + versions: + - converted: true + id: latest + nav: + - page: index + title: Introduction + - items: + - page: core/getting + title: Getting Jandex + - page: core/browsing + title: Browsing Declarations and Types + - page: core/indexing + title: Indexing Classes + title: Jandex + - items: + - page: maven/basic + title: Basic Usage + - page: maven/advanced + title: Advanced Usage + - page: maven/shading + title: Usage with Shading + title: Jandex Maven Plugin + ref: 3.6.0 + sha: 566fc2e71ce3fdec300a1d0575567e087ead23b2 + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Introduction + - items: + - page: core/getting + title: Getting Jandex + - page: core/browsing + title: Browsing Declarations and Types + - page: core/indexing + title: Indexing Classes + title: Jandex + - items: + - page: maven/basic + title: Basic Usage + - page: maven/advanced + title: Advanced Usage + - page: maven/shading + title: Usage with Shading + title: Jandex Maven Plugin + ref: main + sha: b2a6a19123f4c7369ff5ec24cff67089f71ce093 + synced: '2026-10-15' +smallrye-config: + versions: + - converted: true + id: latest + nav: + - page: index + title: Home + - items: + - page: config/getting-started + title: Getting Started + - page: config/expressions + title: Expressions + - page: config/profiles + title: Profiles + - page: config/environment-variables + title: Environment Variables + - page: config/indexed-properties + title: Indexed Properties + - page: config/config-value + title: ConfigValue + - page: config/mappings + title: Mappings + - page: config/instance-builder + title: Instance Builder + - page: config/map-support + title: Map Support + - page: config/secret-keys + title: Secret Keys + - page: config/customizer + title: Customizer + - page: config/configuration + title: Configuration Reference + title: Config + - items: + - page: config-sources/custom + title: Custom + - page: config-sources/factories + title: Factories + - page: config-sources/locations + title: Locations + - page: config-sources/yaml + title: YAML + - page: config-sources/toml + title: TOML + - page: config-sources/json + title: JSON + - page: config-sources/filesystem + title: FileSystem + - page: config-sources/zookeeper + title: ZooKeeper + - page: config-sources/hocon + title: HOCON + - page: config-sources/keystore + title: KeyStore + title: Config Sources + - items: + - page: converters/custom + title: Custom + title: Converters + - items: + - page: extensions/interceptors + title: Interceptors + - page: extensions/fallback + title: Fallback + - page: extensions/relocate + title: Relocate + - page: extensions/logging + title: Logging + title: Extensions + ref: 4.0.0 + sha: fa21e03fe5d0fadf288ac9bc75dcd109e678ec1a + synced: '2026-10-15' + - converted: true + id: '3' + nav: + - page: index + title: Home + - items: + - page: config/getting-started + title: Getting Started + - page: config/expressions + title: Expressions + - page: config/profiles + title: Profiles + - page: config/environment-variables + title: Environment Variables + - page: config/indexed-properties + title: Indexed Properties + - page: config/config-value + title: ConfigValue + - page: config/mappings + title: Mappings + - page: config/map-support + title: Map Support + - page: config/secret-keys + title: Secret Keys + - page: config/customizer + title: Customizer + - page: config/configuration + title: Configuration Reference + title: Config + - items: + - page: config-sources/custom + title: Custom + - page: config-sources/factories + title: Factories + - page: config-sources/locations + title: Locations + - page: config-sources/yaml + title: YAML + - page: config-sources/json + title: JSON + - page: config-sources/filesystem + title: FileSystem + - page: config-sources/zookeeper + title: ZooKeeper + - page: config-sources/hocon + title: HOCON + - page: config-sources/keystore + title: KeyStore + title: Config Sources + - items: + - page: converters/custom + title: Custom + title: Converters + - items: + - page: extensions/interceptors + title: Interceptors + - page: extensions/fallback + title: Fallback + - page: extensions/relocate + title: Relocate + - page: extensions/logging + title: Logging + - page: extensions/config-events + title: Events + - page: extensions/config-source-injection + title: Config Source Injection + title: Extensions + ref: 3.18.3 + sha: null + synced: '2026-10-15' + - converted: true + id: '2' + nav: + - page: index + title: Home + - items: + - page: config/getting-started + title: Getting Started + - page: config/expressions + title: Expressions + - page: config/profiles + title: Profiles + - page: config/environment-variables + title: Environment Variables + - page: config/indexed-properties + title: Indexed Properties + - page: config/config-value + title: ConfigValue + - page: config/mappings + title: Mappings + - page: config/map-support + title: Map Support + - page: config/secret-keys + title: Secret Keys + - page: config/configuration + title: Configuration Reference + title: Config + - items: + - page: config-sources/custom + title: Custom + - page: config-sources/factories + title: Factories + - page: config-sources/locations + title: Locations + - page: config-sources/yaml + title: YAML + - page: config-sources/filesystem + title: FileSystem + - page: config-sources/zookeeper + title: ZooKeeper + - page: config-sources/hocon + title: HOCON + title: Config Sources + - items: + - page: converters/custom + title: Custom + - page: converters/json + title: JSON + title: Converters + - items: + - page: extensions/interceptors + title: Interceptors + - page: extensions/fallback + title: Fallback + - page: extensions/relocate + title: Relocate + - page: extensions/logging + title: Logging + title: Extensions + ref: 2.13.3 + sha: null + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Home + - items: + - page: config/getting-started + title: Getting Started + - page: config/expressions + title: Expressions + - page: config/profiles + title: Profiles + - page: config/environment-variables + title: Environment Variables + - page: config/indexed-properties + title: Indexed Properties + - page: config/config-value + title: ConfigValue + - page: config/mappings + title: Mappings + - page: config/instance-builder + title: Instance Builder + - page: config/map-support + title: Map Support + - page: config/secret-keys + title: Secret Keys + - page: config/customizer + title: Customizer + - page: config/configuration + title: Configuration Reference + title: Config + - items: + - page: config-sources/custom + title: Custom + - page: config-sources/factories + title: Factories + - page: config-sources/locations + title: Locations + - page: config-sources/yaml + title: YAML + - page: config-sources/toml + title: TOML + - page: config-sources/json + title: JSON + - page: config-sources/filesystem + title: FileSystem + - page: config-sources/zookeeper + title: ZooKeeper + - page: config-sources/hocon + title: HOCON + - page: config-sources/keystore + title: KeyStore + title: Config Sources + - items: + - page: converters/custom + title: Custom + title: Converters + - items: + - page: extensions/interceptors + title: Interceptors + - page: extensions/fallback + title: Fallback + - page: extensions/relocate + title: Relocate + - page: extensions/logging + title: Logging + title: Extensions + ref: main + sha: b496eece429e850170b5ca009a80d063aba21474 + synced: '2026-10-15' +smallrye-fault-tolerance: + versions: + - converted: true + id: latest + nav: + - page: index + title: Overview + - items: + - page: howto/begin + title: Begin + - page: howto/fallback + title: Supply Fallback Values + - page: howto/bulkhead + title: Limit Concurrency + - page: howto/circuit-breaker + title: Fail Fast on Recurring Failures + - page: howto/timeout + title: Watch for Timeouts + - page: howto/retry + title: Retry on Failures + - page: howto/asynchronous + title: Guard Asynchronous Methods + - page: howto/rate-limit + title: Limit Execution Rate + - page: howto/multiple + title: Use Multiple Strategies + title: How-to + - items: + - page: reference/fallback + title: Fallback + - page: reference/bulkhead + title: Bulkhead + - page: reference/circuit-breaker + title: Circuit Breaker + - page: reference/timeout + title: Timeout + - page: reference/retry + title: Retry + - page: reference/asynchronous + title: Asynchronous Execution + - page: reference/rate-limit + title: Rate Limit + - page: reference/config + title: Configuration + - page: reference/metrics + title: Metrics + - page: reference/non-compat + title: Non-compatible Mode + - page: reference/programmatic-api + title: Programmatic API + - page: reference/reusable + title: Reusable Fault Tolerance + title: Reference + - items: + - page: integration/intro + title: Introduction + - page: integration/metrics + title: Metrics + - page: integration/thread-pool + title: Thread Pool + - page: integration/context-propagation + title: Context Propagation + - page: integration/event-loop + title: Event Loop + - page: integration/async-types + title: Additional Asynchronous Types Integration Concerns + - page: integration/kotlin + title: Kotlin Integration Concerns + - page: integration/programmatic-api + title: Programmatic API Integration Concerns + title: Integration + - items: + - page: internals/project-structure + title: Project Structure + - page: internals/instructions + title: Instructions + - page: internals/core + title: Fault Tolerance Core + - page: internals/config + title: Configuration System + - page: internals/logging + title: Logging + title: Internals + ref: 7.0.0 + sha: 2b50e5515fd6461e4db046220f16f4ca49bed947 + synced: '2026-10-15' + - converted: true + id: '6' + nav: + - page: index + title: Overview + - items: + - page: howto/begin + title: Begin + - page: howto/fallback + title: Supply Fallback Values + - page: howto/bulkhead + title: Limit Concurrency + - page: howto/circuit-breaker + title: Fail Fast on Recurring Failures + - page: howto/timeout + title: Watch for Timeouts + - page: howto/retry + title: Retry on Failures + - page: howto/asynchronous + title: Guard Asynchronous Methods + - page: howto/rate-limit + title: Limit Execution Rate + - page: howto/multiple + title: Use Multiple Strategies + title: How-to + - items: + - page: reference/fallback + title: Fallback + - page: reference/bulkhead + title: Bulkhead + - page: reference/circuit-breaker + title: Circuit Breaker + - page: reference/timeout + title: Timeout + - page: reference/retry + title: Retry + - page: reference/asynchronous + title: Asynchronous Execution + - page: reference/rate-limit + title: Rate Limit + - page: reference/config + title: Configuration + - page: reference/metrics + title: Metrics + - page: reference/non-compat + title: Non-compatible Mode + - page: reference/programmatic-api + title: Programmatic API + - page: reference/reusable + title: Reusable Fault Tolerance + title: Reference + - items: + - page: integration/intro + title: Introduction + - page: integration/metrics + title: Metrics + - page: integration/thread-pool + title: Thread Pool + - page: integration/context-propagation + title: Context Propagation + - page: integration/opentracing + title: OpenTracing + - page: integration/event-loop + title: Event Loop + - page: integration/async-types + title: Additional Asynchronous Types Integration Concerns + - page: integration/kotlin + title: Kotlin Integration Concerns + - page: integration/programmatic-api + title: Programmatic API Integration Concerns + title: Integration + - items: + - page: internals/project-structure + title: Project Structure + - page: internals/instructions + title: Instructions + - page: internals/core + title: Fault Tolerance Core + - page: internals/config + title: Configuration System + - page: internals/logging + title: Logging + title: Internals + ref: 6.11.4 + sha: 8cc24faf4870f5dd1c399ef9e82a23559e090933 + synced: '2026-10-15' + - converted: true + id: '5' + nav: + - page: index + title: Overview + - items: + - page: usage/basic + title: Basic Usage + - page: usage/extra + title: Extra Features + - page: usage/programmatic-api + title: Programmatic API + title: Usage + - items: + - page: integration/intro + title: Introduction + - page: integration/metrics + title: Metrics + - page: integration/thread-pool + title: Thread Pool + - page: integration/context-propagation + title: Context Propagation + - page: integration/opentracing + title: OpenTracing + - page: integration/event-loop + title: Event Loop + - page: integration/async-types + title: Additional Asynchronous Types Integration Concerns + - page: integration/kotlin + title: Kotlin Integration Concerns + - page: integration/programmatic-api + title: Programmatic API Integration Concerns + title: Integration + - items: + - page: internals/project-structure + title: Project Structure + - page: internals/instructions + title: Instructions + - page: internals/core + title: Fault Tolerance Core + - page: internals/config + title: Configuration System + - page: internals/logging + title: Logging + title: Internals + ref: 5.6.0 + sha: 1efeb5eab3642e85e7b1fec85f551ca2d14c164c + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Overview + - items: + - page: howto/begin + title: Begin + - page: howto/fallback + title: Supply Fallback Values + - page: howto/bulkhead + title: Limit Concurrency + - page: howto/circuit-breaker + title: Fail Fast on Recurring Failures + - page: howto/timeout + title: Watch for Timeouts + - page: howto/retry + title: Retry on Failures + - page: howto/asynchronous + title: Guard Asynchronous Methods + - page: howto/rate-limit + title: Limit Execution Rate + - page: howto/multiple + title: Use Multiple Strategies + title: How-to + - items: + - page: reference/fallback + title: Fallback + - page: reference/bulkhead + title: Bulkhead + - page: reference/circuit-breaker + title: Circuit Breaker + - page: reference/timeout + title: Timeout + - page: reference/retry + title: Retry + - page: reference/asynchronous + title: Asynchronous Execution + - page: reference/rate-limit + title: Rate Limit + - page: reference/config + title: Configuration + - page: reference/metrics + title: Metrics + - page: reference/non-compat + title: Non-compatible Mode + - page: reference/programmatic-api + title: Programmatic API + - page: reference/reusable + title: Reusable Fault Tolerance + title: Reference + - items: + - page: integration/intro + title: Introduction + - page: integration/metrics + title: Metrics + - page: integration/thread-pool + title: Thread Pool + - page: integration/context-propagation + title: Context Propagation + - page: integration/event-loop + title: Event Loop + - page: integration/async-types + title: Additional Asynchronous Types Integration Concerns + - page: integration/kotlin + title: Kotlin Integration Concerns + - page: integration/programmatic-api + title: Programmatic API Integration Concerns + title: Integration + - items: + - page: internals/project-structure + title: Project Structure + - page: internals/instructions + title: Instructions + - page: internals/core + title: Fault Tolerance Core + - page: internals/config + title: Configuration System + - page: internals/logging + title: Logging + title: Internals + ref: main + sha: b474eedebc0e681f2c7431b86e6fcbd37c64e71e + synced: '2026-10-15' +smallrye-graphql: + versions: + - converted: true + id: latest + nav: + - page: index + title: Overview + - items: + - page: custom-json-serializers-deserializers + title: Customizing JSON (de)serializers + - page: directives + title: Directives + - page: federation + title: Federation + - page: custom-error-extensions + title: Custom error extensions + - page: extensions + title: Response extensions + - page: mutation-void + title: Returning Void from Mutations + - page: handling-init-payload-from-the-websocket + title: Handling of the WebSocket's init-payload + - page: custom-scalar + title: Custom scalars + - page: inspecting-executable-directives-on-server-side + title: Inspecting executable directives + - page: namespaces-on-server-side + title: Namespaces + - page: target-for-input-types + title: Target input fields + - page: kotlin + title: Kotlin support + title: Server side features + - items: + - page: typesafe-client-usage + title: Basic usage + - page: typesafe-client-unions-and-interfaces + title: Unions and Interfaces + - page: typesafe-client-reactive-types + title: Reactive + - page: typesafe-client-custom-scalars + title: Custom scalar types + - page: typesafe-client-headers + title: Adding headers + - page: typesafe-client-logging + title: Logging + - page: typesafe-client-multiple-queries + title: Running multiple queries at once + - page: typesafe-client-error-handling + title: Error handling + - page: typesafe-client-accessing-metadata-of-responses + title: Accessing metadata of responses + - page: typesafe-client-directives + title: Static Directives + title: Typesafe client + - items: + - page: dynamic-client-usage + title: Basic usage + - page: dynamic-client-error-handling + title: Error handling + title: Dynamic client + - items: + - page: client-standalone + title: Bootstrapping the client + - page: using-smallrye-stork + title: Using SmallRye Stork + title: Clients in general + - items: + - page: maven-plugin + title: Maven plugin + - page: gradle-plugin + title: Gradle plugin + title: Developer tools + - items: + - page: server-configuration + title: Server-side configuration + - page: client-configuration + title: Client-side configuration + title: Reference material + ref: 3.0.0.Beta8 + sha: 91e4f32a837f8b80fe7b867d59ec59f69104470b + synced: '2026-10-15' + - converted: true + id: '2' + nav: + - page: index + title: Overview + - items: + - page: custom-json-serializers-deserializers + title: Customizing JSON (de)serializers + - page: directives + title: Directives + - page: federation + title: Federation + - page: custom-error-extensions + title: Custom error extensions + - page: extensions + title: Response extensions + - page: mutation-void + title: Returning Void from Mutations + - page: handling-init-payload-from-the-websocket + title: Handling of the WebSocket's init-payload + - page: custom-scalar + title: Custom scalars + - page: inspecting-executable-directives-on-server-side + title: Inspecting executable directives + - page: namespaces-on-server-side + title: Namespaces + - page: kotlin + title: Kotlin support + title: Server side features + - items: + - page: typesafe-client-usage + title: Basic usage + - page: typesafe-client-unions-and-interfaces + title: Unions and Interfaces + - page: typesafe-client-reactive-types + title: Reactive + - page: typesafe-client-custom-scalars + title: Custom scalar types + - page: typesafe-client-headers + title: Adding headers + - page: typesafe-client-logging + title: Logging + - page: typesafe-client-multiple-queries + title: Running multiple queries at once + - page: typesafe-client-error-handling + title: Error handling + - page: typesafe-client-accessing-metadata-of-responses + title: Accessing metadata of responses + - page: typesafe-client-directives + title: Static Directives + title: Typesafe client + - items: + - page: dynamic-client-usage + title: Basic usage + - page: dynamic-client-error-handling + title: Error handling + title: Dynamic client + - items: + - page: client-standalone + title: Bootstrapping the client + - page: using-smallrye-stork + title: Using SmallRye Stork + title: Clients in general + - items: + - page: maven-plugin + title: Maven plugin + - page: gradle-plugin + title: Gradle plugin + title: Developer tools + - items: + - page: server-configuration + title: Server-side configuration + - page: client-configuration + title: Client-side configuration + title: Reference material + ref: 2.18.5 + sha: null + synced: '2026-10-15' + - converted: true + id: '1' + nav: + - page: index + title: Overview + - items: + - page: custom-json-deserializers + title: Customizing JSON deserializers + - page: directives + title: Directives + - page: federation + title: Federation + - page: custom-error-extensions + title: Custom error extensions + - page: extensions + title: Response extensions + title: Server side features + - items: + - page: typesafe-client-usage + title: Basic usage + - page: typesafe-client-reactive-types + title: Reactive + - page: typesafe-client-custom-scalars + title: Custom scalar types + - page: typesafe-client-headers + title: Adding headers + - page: typesafe-client-logging + title: Logging + - page: typesafe-client-multiple-queries + title: Running multiple queries at once + - page: typesafe-client-error-handling + title: Error handling + title: Typesafe client + - items: + - page: dynamic-client-usage + title: Basic usage + - page: dynamic-client-error-handling + title: Error handling + title: Dynamic client + - items: + - page: using-smallrye-stork + title: Using SmallRye Stork + title: Clients in general + - items: + - page: maven-plugin + title: Maven plugin + - page: gradle-plugin + title: Gradle plugin + title: Developer tools + - items: + - page: server-configuration + title: Server-side configuration + - page: client-configuration + title: Client-side configuration + title: Reference material + ref: 1.9.5 + sha: null + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Overview + - items: + - page: custom-json-serializers-deserializers + title: Customizing JSON (de)serializers + - page: directives + title: Directives + - page: federation + title: Federation + - page: custom-error-extensions + title: Custom error extensions + - page: extensions + title: Response extensions + - page: mutation-void + title: Returning Void from Mutations + - page: handling-init-payload-from-the-websocket + title: Handling of the WebSocket's init-payload + - page: custom-scalar + title: Custom scalars + - page: inspecting-executable-directives-on-server-side + title: Inspecting executable directives + - page: namespaces-on-server-side + title: Namespaces + - page: target-for-input-types + title: Target input fields + - page: kotlin + title: Kotlin support + title: Server side features + - items: + - page: typesafe-client-usage + title: Basic usage + - page: typesafe-client-unions-and-interfaces + title: Unions and Interfaces + - page: typesafe-client-reactive-types + title: Reactive + - page: typesafe-client-custom-scalars + title: Custom scalar types + - page: typesafe-client-headers + title: Adding headers + - page: typesafe-client-logging + title: Logging + - page: typesafe-client-multiple-queries + title: Running multiple queries at once + - page: typesafe-client-error-handling + title: Error handling + - page: typesafe-client-accessing-metadata-of-responses + title: Accessing metadata of responses + - page: typesafe-client-directives + title: Static Directives + title: Typesafe client + - items: + - page: dynamic-client-usage + title: Basic usage + - page: dynamic-client-error-handling + title: Error handling + title: Dynamic client + - items: + - page: client-standalone + title: Bootstrapping the client + - page: using-smallrye-stork + title: Using SmallRye Stork + title: Clients in general + - items: + - page: maven-plugin + title: Maven plugin + - page: gradle-plugin + title: Gradle plugin + title: Developer tools + - items: + - page: server-configuration + title: Server-side configuration + - page: client-configuration + title: Client-side configuration + title: Reference material + ref: main + sha: 8a13b1627cbdba22b0a33b6a917c4fa987fe1d3f + synced: '2026-10-15' +smallrye-health: + versions: + - converted: true + id: latest + nav: + - page: index + title: Overview + - items: + - page: async-checks + title: Asynchronous health checks + - page: health-groups + title: Health Groups + - page: health-registry + title: Health Registry + - page: wellness + title: Wellness + - page: static-access + title: Static access + - page: custom-config-properties + title: Custom Config properties + title: Features on top of the specification + ref: 4.3.0 + sha: 82491635611c1415527df52972f0ffa6faaa0a78 + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Overview + - items: + - page: async-checks + title: Asynchronous health checks + - page: health-groups + title: Health Groups + - page: health-registry + title: Health Registry + - page: wellness + title: Wellness + - page: static-access + title: Static access + - page: custom-config-properties + title: Custom Config properties + title: Features on top of the specification + ref: main + sha: 30079851263182c051e7475ded0bd764b526d28d + synced: '2026-10-15' +smallrye-jwt: + versions: + - converted: true + id: latest + nav: + - page: index + title: Overview + - page: configuration + title: Configuration + - page: generate-jwt + title: Generate JWT Tokens + ref: 4.6.4 + sha: f6a6e1270661f80a3b51ff4cbde366909eaa7306 + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Overview + - page: configuration + title: Configuration + - page: generate-jwt + title: Generate JWT Tokens + ref: main + sha: 3ce74581854a4870fd3acad3f86a28499a49506e + synced: '2026-10-15' +smallrye-metrics: + versions: + - converted: true + id: '3' + nav: + - page: index + title: Overview + - items: + - page: extended-metadata + title: Extended metadata + title: Features on top of the specification + - items: + - page: cdi-extension + title: CDI Extension + - page: base-and-vendor-metrics + title: Base and vendor metrics + - page: metric-registry-lifecycle + title: Metric registry lifecycle + - page: jaxrs-metrics + title: JAX-RS metrics + title: Integrating SmallRye Metrics into runtimes + ref: 3.0.5 + sha: adaa9e2c68653b64ae813e0c00beff5593d6719f + synced: '2026-10-15' + - converted: true + id: '2' + nav: + - page: index + title: Overview + - items: + - page: extended-metadata + title: Extended metadata + title: Features on top of the specification + - items: + - page: cdi-extension + title: CDI Extension + - page: base-and-vendor-metrics + title: Base and vendor metrics + - page: metric-registry-lifecycle + title: Metric registry lifecycle + - page: jaxrs-metrics + title: JAX-RS metrics + title: Integrating SmallRye Metrics into runtimes + ref: 2.4.7 + sha: 7d5b8308c9bcf5e3bf1b87ca0a49f84138191c24 + synced: '2026-10-15' +smallrye-mutiny: + versions: + - converted: true + id: latest + nav: + - page: index + title: Mutiny -- Intuitive Event-Driven Reactive Programming Library for Java + - items: + - page: tutorials/getting-mutiny + title: Getting started with Mutiny + - page: tutorials/hello-mutiny + title: Hello Mutiny! + - page: tutorials/creating-uni-pipelines + title: Creating `Uni` pipelines + - page: tutorials/creating-multi-pipelines + title: Creating `Multi` pipelines + - page: tutorials/observing-events + title: Observing events + - page: tutorials/transforming-items + title: Transforming items + - page: tutorials/transforming-items-asynchronously + title: Transforming items asynchronously + - page: tutorials/handling-failures + title: Handling failures + - page: tutorials/retrying + title: Retrying on failures + - page: tutorials/mutiny-workshop + title: Go further with the Mutiny workshop! + title: Tutorials + - items: + - page: guides/imperative-to-reactive + title: From imperative to reactive + - page: guides/reactive-to-imperative + title: From reactive to imperative + - page: guides/unchecked-exceptions + title: Dealing with checked exceptions + - page: guides/filtering-items + title: Filtering items from Multi + - page: guides/collecting-items + title: Collecting items from Multi + - page: guides/grouping-items + title: Grouping items from Multi + - page: guides/take-skip-items + title: Take/Skip the first or last items + - page: guides/eliminate-duplicates-and-repetitions + title: Eliminate duplicates and repetitions + - page: guides/handling-null + title: How to handle null? + - page: guides/handling-timeouts + title: How to handle timeouts? + - page: guides/delaying-events + title: How to delay events? + - page: guides/pagination + title: How to use paginated APIs? + - page: guides/polling + title: How to use polling? + - page: guides/emission-threads + title: How to change the emission thread? + - page: guides/emit-on-vs-run-subscription-on + title: What is the difference between emitOn and runSubscriptionOn? + - page: guides/completion-stage + title: How to deal with CompletionStage? + - page: guides/rx + title: Using map, flatMap and concatMap + - page: guides/shortcut-methods + title: Shortcut methods + - page: guides/merging-and-concatenating-streams + title: Merging and Concatenating Streams + - page: guides/combining-items + title: Combining items from streams + - page: guides/joining-unis + title: Joining several unis + - page: guides/converters + title: Using other reactive programming libraries + - page: guides/testing + title: How can I write unit / integration tests? + - page: guides/spies + title: Spying on events + - page: guides/custom-operators + title: Can I have custom operators? + - page: guides/dropped-exceptions + title: How to deal with dropped exceptions? + - page: guides/framework-integration + title: How can I integrate Mutiny with my framework? + - page: guides/hot-streams + title: Hot streams + - page: guides/integrate-a-non-reactive-source + title: How can I create a Multi from a non-reactive source? + - page: guides/kotlin + title: Kotlin integration + - page: guides/logging + title: Logging events + - page: guides/context-passing + title: Context passing + - page: guides/replaying-multis + title: Replaying Multis + - page: guides/controlling-demand + title: Controlling the demand + - page: guides/multi-split + title: Splitting a Multi into several Multi + - page: guides/branching + title: How to do branching in a reactive pipeline? + - page: guides/broadcasting-to-multiple-subscribers + title: Broadcasting to multiple subscribers (like server-sent events, websockets, etc) + title: Guides + - items: + - page: reference/migrating-to-mutiny-2 + title: Migrating to Mutiny 2 + - page: reference/why-is-asynchronous-important + title: Why is asynchronous important? + - page: reference/what-is-reactive-programming + title: What is Reactive Programming? + - page: reference/what-makes-mutiny-different + title: What makes Mutiny different? + - page: reference/uni-and-multi + title: Uni and Multi + - page: reference/going-reactive-a-few-pitfalls + title: 'Going reactive: a few pitfalls' + - page: reference/publications + title: Publications + - page: tags-index + title: Tags index + title: Reference + - title: API + url: https://javadoc.io/doc/io.smallrye.reactive/mutiny/latest/index.html + - title: Discussions/Questions + url: https://github.com/smallrye/smallrye-mutiny/discussions + ref: 3.3.0 + sha: 2a6b4f1923304ef93340166ecca65d69704cbd40 + synced: '2026-10-15' + - converted: true + id: '2' + nav: + - page: index + title: Mutiny -- Intuitive Event-Driven Reactive Programming Library for Java + - items: + - page: tutorials/getting-mutiny + title: Getting started with Mutiny + - page: tutorials/hello-mutiny + title: Hello Mutiny! + - page: tutorials/creating-uni-pipelines + title: Creating `Uni` pipelines + - page: tutorials/creating-multi-pipelines + title: Creating `Multi` pipelines + - page: tutorials/observing-events + title: Observing events + - page: tutorials/transforming-items + title: Transforming items + - page: tutorials/transforming-items-asynchronously + title: Transforming items asynchronously + - page: tutorials/handling-failures + title: Handling failures + - page: tutorials/retrying + title: Retrying on failures + - page: tutorials/mutiny-workshop + title: Go further with the Mutiny workshop! + title: Tutorials + - items: + - page: guides/imperative-to-reactive + title: From imperative to reactive + - page: guides/reactive-to-imperative + title: From reactive to imperative + - page: guides/unchecked-exceptions + title: Dealing with checked exceptions + - page: guides/filtering-items + title: Filtering items from Multi + - page: guides/collecting-items + title: Collecting items from Multi + - page: guides/take-skip-items + title: Take/Skip the first or last items + - page: guides/eliminate-duplicates-and-repetitions + title: Eliminate duplicates and repetitions + - page: guides/handling-null + title: How to handle null? + - page: guides/handling-timeouts + title: How to handle timeouts? + - page: guides/delaying-events + title: How to delay events? + - page: guides/pagination + title: How to use paginated APIs? + - page: guides/polling + title: How to use polling? + - page: guides/emission-threads + title: How to change the emission thread? + - page: guides/emit-on-vs-run-subscription-on + title: What is the difference between emitOn and runSubscriptionOn? + - page: guides/completion-stage + title: How to deal with CompletionStage? + - page: guides/rx + title: Using map, flatMap and concatMap + - page: guides/shortcut-methods + title: Shortcut methods + - page: guides/merging-and-concatenating-streams + title: Merging and Concatenating Streams + - page: guides/combining-items + title: Combining items from streams + - page: guides/joining-unis + title: Joining several unis + - page: guides/converters + title: Using other reactive programming libraries + - page: guides/testing + title: How can I write unit / integration tests? + - page: guides/spies + title: Spying on events + - page: guides/custom-operators + title: Can I have custom operators? + - page: guides/dropped-exceptions + title: How to deal with dropped exceptions? + - page: guides/framework-integration + title: How can I integrate Mutiny with my framework? + - page: guides/hot-streams + title: Hot streams + - page: guides/integrate-a-non-reactive-source + title: How can I create a Multi from a non-reactive source? + - page: guides/kotlin + title: Kotlin integration + - page: guides/logging + title: Logging events + - page: guides/context-passing + title: Context passing + - page: guides/replaying-multis + title: Replaying Multis + - page: guides/controlling-demand + title: Controlling the demand + - page: guides/multi-split + title: Splitting a Multi into several Multi + - page: guides/branching + title: How to do branching in a reactive pipeline? + - page: guides/broadcasting-to-multiple-subscribers + title: Broadcasting to multiple subscribers (like server-sent events, websockets, etc) + title: Guides + - items: + - page: reference/migrating-to-mutiny-2 + title: Migrating to Mutiny 2 + - page: reference/why-is-asynchronous-important + title: Why is asynchronous important? + - page: reference/what-is-reactive-programming + title: What is Reactive Programming? + - page: reference/what-makes-mutiny-different + title: What makes Mutiny different? + - page: reference/uni-and-multi + title: Uni and Multi + - page: reference/going-reactive-a-few-pitfalls + title: 'Going reactive: a few pitfalls' + - page: reference/publications + title: Publications + - page: tags-index + title: Tags index + title: Reference + - title: API + url: https://javadoc.io/doc/io.smallrye.reactive/mutiny/latest/index.html + - title: Discussions/Questions + url: https://github.com/smallrye/smallrye-mutiny/discussions + ref: 2.9.5 + sha: null + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Mutiny -- Intuitive Event-Driven Reactive Programming Library for Java + - items: + - page: tutorials/getting-mutiny + title: Getting started with Mutiny + - page: tutorials/hello-mutiny + title: Hello Mutiny! + - page: tutorials/creating-uni-pipelines + title: Creating `Uni` pipelines + - page: tutorials/creating-multi-pipelines + title: Creating `Multi` pipelines + - page: tutorials/observing-events + title: Observing events + - page: tutorials/transforming-items + title: Transforming items + - page: tutorials/transforming-items-asynchronously + title: Transforming items asynchronously + - page: tutorials/handling-failures + title: Handling failures + - page: tutorials/retrying + title: Retrying on failures + - page: tutorials/mutiny-workshop + title: Go further with the Mutiny workshop! + title: Tutorials + - items: + - page: guides/imperative-to-reactive + title: From imperative to reactive + - page: guides/reactive-to-imperative + title: From reactive to imperative + - page: guides/unchecked-exceptions + title: Dealing with checked exceptions + - page: guides/filtering-items + title: Filtering items from Multi + - page: guides/collecting-items + title: Collecting items from Multi + - page: guides/grouping-items + title: Grouping items from Multi + - page: guides/take-skip-items + title: Take/Skip the first or last items + - page: guides/eliminate-duplicates-and-repetitions + title: Eliminate duplicates and repetitions + - page: guides/handling-null + title: How to handle null? + - page: guides/handling-timeouts + title: How to handle timeouts? + - page: guides/delaying-events + title: How to delay events? + - page: guides/pagination + title: How to use paginated APIs? + - page: guides/polling + title: How to use polling? + - page: guides/emission-threads + title: How to change the emission thread? + - page: guides/emit-on-vs-run-subscription-on + title: What is the difference between emitOn and runSubscriptionOn? + - page: guides/completion-stage + title: How to deal with CompletionStage? + - page: guides/rx + title: Using map, flatMap and concatMap + - page: guides/shortcut-methods + title: Shortcut methods + - page: guides/merging-and-concatenating-streams + title: Merging and Concatenating Streams + - page: guides/combining-items + title: Combining items from streams + - page: guides/joining-unis + title: Joining several unis + - page: guides/converters + title: Using other reactive programming libraries + - page: guides/testing + title: How can I write unit / integration tests? + - page: guides/spies + title: Spying on events + - page: guides/custom-operators + title: Can I have custom operators? + - page: guides/dropped-exceptions + title: How to deal with dropped exceptions? + - page: guides/framework-integration + title: How can I integrate Mutiny with my framework? + - page: guides/hot-streams + title: Hot streams + - page: guides/integrate-a-non-reactive-source + title: How can I create a Multi from a non-reactive source? + - page: guides/kotlin + title: Kotlin integration + - page: guides/logging + title: Logging events + - page: guides/context-passing + title: Context passing + - page: guides/replaying-multis + title: Replaying Multis + - page: guides/controlling-demand + title: Controlling the demand + - page: guides/multi-split + title: Splitting a Multi into several Multi + - page: guides/branching + title: How to do branching in a reactive pipeline? + - page: guides/broadcasting-to-multiple-subscribers + title: Broadcasting to multiple subscribers (like server-sent events, websockets, etc) + title: Guides + - items: + - page: reference/migrating-to-mutiny-2 + title: Migrating to Mutiny 2 + - page: reference/why-is-asynchronous-important + title: Why is asynchronous important? + - page: reference/what-is-reactive-programming + title: What is Reactive Programming? + - page: reference/what-makes-mutiny-different + title: What makes Mutiny different? + - page: reference/uni-and-multi + title: Uni and Multi + - page: reference/going-reactive-a-few-pitfalls + title: 'Going reactive: a few pitfalls' + - page: reference/publications + title: Publications + - page: tags-index + title: Tags index + title: Reference + - title: API + url: https://javadoc.io/doc/io.smallrye.reactive/mutiny/latest/index.html + - title: Discussions/Questions + url: https://github.com/smallrye/smallrye-mutiny/discussions + ref: main + sha: 1c2005decd7445b83775cd7bc85d527960ee31ad + synced: '2026-10-15' +smallrye-mutiny-vertx-bindings: + versions: + - converted: true + id: latest + nav: + - page: index + title: Overview + - page: getting-started + title: Getting Started + - page: uni-and-multi + title: Uni and Multi + - page: type-mapping + title: Type Mapping + - page: error-handling + title: Error Handling + - page: blocking-and-testing + title: Blocking and Testing + - page: using-the-generator + title: Using the Generator + - page: available-modules + title: Available Modules + - page: migration-guide-3x-4x + title: Upgrading from version 3 to 4 + ref: 4.0.2 + sha: cfbfb52da7562a7fd6775df8e4200544e9a9e10c + synced: '2026-10-15' + - converted: true + id: '3' + nav: + - page: index + title: Overview + - page: api-translation + title: API Translation + ref: 3.23.1 + sha: a6a2e5bf1a5569a918c9a4d9bccf8eadb5ad45ea + synced: '2026-10-15' + - converted: true + id: '2' + nav: + - page: index + title: Overview + - page: api-translation + title: API Translation + ref: 2.30.1 + sha: null + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Overview + - page: getting-started + title: Getting Started + - page: uni-and-multi + title: Uni and Multi + - page: type-mapping + title: Type Mapping + - page: error-handling + title: Error Handling + - page: blocking-and-testing + title: Blocking and Testing + - page: using-the-generator + title: Using the Generator + - page: available-modules + title: Available Modules + - page: migration-guide-3x-4x + title: Upgrading from version 3 to 4 + ref: main + sha: a7b3ca6b9b084bfd937d12ba41ec904f8a71a705 + synced: '2026-10-15' +smallrye-mutiny-zero: + versions: + - converted: true + id: latest + nav: + - page: index + title: Overview + - page: quick-start + title: Quick start + - page: flow-adapters + title: JDK Flow from/to Reactive Streams Adapters + - page: vertx-based-reactive-streams-publishers + title: Vert.x-based Reactive Streams Publishers + ref: 1.3.1 + sha: 148562e4fecea2b9ef926bf10093d301af9056e8 + synced: '2026-10-15' + - converted: true + id: '0' + nav: + - page: index + title: Overview + - page: quick-start + title: Quick start + - page: flow-adapters + title: JDK Flow from/to Reactive Streams Adapters + - page: vertx-based-reactive-streams-publishers + title: Vert.x-based Reactive Streams Publishers + ref: 0.5.0 + sha: null + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Overview + - page: quick-start + title: Quick start + - page: flow-adapters + title: JDK Flow from/to Reactive Streams Adapters + - page: vertx-based-reactive-streams-publishers + title: Vert.x-based Reactive Streams Publishers + ref: main + sha: 3860259a0e316a76e040a03874412423d638ebef + synced: '2026-10-15' +smallrye-reactive-messaging: + versions: + - converted: true + id: latest + nav: + - page: index + title: Home + - items: + - page: getting-started + title: Getting Started + - items: + - page: concepts/concepts + title: Introduction + - page: concepts/model + title: Development Model + - page: concepts/emitter + title: Emitters and Channel + - page: concepts/connectors + title: Connectors + - page: concepts/contributing-connectors + title: Contributing Connectors + - page: concepts/acknowledgement + title: Acknowledgement + - page: concepts/blocking + title: Blocking Processing + - page: concepts/signatures + title: Method Signatures + - page: concepts/skipping + title: Skipping Messages + - page: concepts/converters + title: Message Converters + - page: concepts/keyed-multi + title: Keyed Streams + - page: concepts/decorators + title: Channel Decorators and Interceptors + - page: concepts/broadcast + title: Broadcast + - page: concepts/merge + title: Merge channels + - page: concepts/incoming-concurrency + title: Incoming Channel Concurrency + - page: concepts/incomings + title: '@Incomings' + - page: concepts/outgoings + title: '@Outgoings' + - page: concepts/testing + title: Testing + - page: concepts/logging + title: Logging + - page: concepts/observability + title: Observability API + - page: concepts/advanced-config + title: Advanced Configuration + - page: concepts/message-context + title: Message Context + - page: concepts/incoming-metadata-injection + title: Metadata Injection + - page: concepts/generic-payloads + title: Generic Payloads + - page: concepts/pausable-channels + title: Pausable Channels + title: Concepts + title: Core + - items: + - page: kafka/kafka + title: Apache Kafka Connector + - page: kafka/receiving-kafka-records + title: Receiving records + - page: kafka/writing-kafka-records + title: Writing records + - page: kafka/health + title: Health Checks + - page: kafka/avro-configuration + title: Using Avro + - page: kafka/protobuf-configuration + title: Using Protobuf + - page: kafka/consumer-rebalance-listener + title: Rebalance Listeners + - page: kafka/kerberos + title: Kerberos authentication + - page: kafka/client-service + title: Accessing the client + - page: kafka/default-configuration + title: Customizing Default Kafka Configuration + - page: kafka/test-companion + title: Test Companion for Kafka + - page: kafka/transactions + title: Kafka Transactions and Exactly-Once Processing + - page: kafka/request-reply + title: Kafka Request/Reply + title: Kafka + - items: + - page: amqp/amqp + title: AMQP 1.0 Connector + - page: amqp/receiving-amqp-messages + title: Receiving messages + - page: amqp/sending-amqp-messages + title: Sending messages + - page: amqp/request-reply + title: AMQP Request/Reply + - page: amqp/cbs-authentication + title: CBS Authentication + - page: amqp/health + title: Health Checks + - page: amqp/client-customization + title: Client Customization + - page: amqp/rabbitmq + title: Using RabbitMQ + title: AMQP 1.0 + - items: + - page: rabbitmq/receiving-messages-from-rabbitmq + title: Receiving messages + - page: rabbitmq/sending-messages-to-rabbitmq + title: Sending messages + - page: rabbitmq/request-reply + title: RabbitMQ Request/Reply + title: RabbitMQ + - items: + - page: pulsar/pulsar + title: Apache Pulsar Connector + - page: pulsar/receiving-pulsar-messages + title: Receiving messages + - page: pulsar/sending-messages-to-pulsar + title: Sending messages + - page: pulsar/schema-configuration + title: Configuring the Schema + - page: pulsar/client-configuration + title: Configuring the Pulsar client + - page: pulsar/health + title: Health Checks + - page: pulsar/client-service + title: Accessing the client + - page: pulsar/transactions + title: Pulsar Transactions and Exactly-Once Processing + title: Pulsar + - items: + - page: camel/camel + title: Apache Camel Connector + - page: camel/receiving-messages-from-camel + title: Receiving messages from Camel + - page: camel/sending-messages-to-camel + title: Sending messages to Camel + - page: camel/camel-processor + title: Implementing Camel processor + - page: camel/using-existing-routes + title: Using existing Camel routes + title: Apache Camel + - items: + - page: jms/jms + title: The JMS connector + - page: jms/receiving-jms-messages + title: Receiving JMS messages + - page: jms/sending-jms-messages + title: Sending JMS messages + - page: jms/advanced-jms + title: Advanced configuration + title: JMS + - items: + - page: mqtt/mqtt + title: MQTT Connector + - page: mqtt/receiving-mqtt-messages + title: Receiving MQTT messages + - page: mqtt/sending-messages-to-mqtt + title: Sending MQTT messages + - page: mqtt/client-customization + title: Customizing the MQTT client + title: MQTT + - items: + - page: sqs/sqs + title: AWS SQS Connector + - page: sqs/receiving-aws-sqs-messages + title: Receiving AWS SQS messages + - page: sqs/sending-aws-sqs-messages + title: Sending AWS SQS messages + title: AWS SQS + - items: + - page: sns/sns + title: AWS SNS Connector + - page: sns/sending-aws-sns-messages + title: Sending AWS SNS messages + title: AWS SNS + ref: 5.0.0-RC1 + sha: null + synced: '2026-10-15' + - converted: true + id: '4' + nav: + - page: index + title: Home + - items: + - page: getting-started + title: Getting Started + - items: + - page: concepts/concepts + title: Introduction + - page: concepts/model + title: Development Model + - page: concepts/emitter + title: Emitters and Channel + - page: concepts/connectors + title: Connectors + - page: concepts/contributing-connectors + title: Contributing Connectors + - page: concepts/acknowledgement + title: Acknowledgement + - page: concepts/blocking + title: Blocking Processing + - page: concepts/signatures + title: Method Signatures + - page: concepts/skipping + title: Skipping Messages + - page: concepts/converters + title: Message Converters + - page: concepts/keyed-multi + title: Keyed Streams + - page: concepts/decorators + title: Channel Decorators and Interceptors + - page: concepts/broadcast + title: Broadcast + - page: concepts/merge + title: Merge channels + - page: concepts/incoming-concurrency + title: Incoming Channel Concurrency + - page: concepts/incomings + title: '@Incomings' + - page: concepts/outgoings + title: '@Outgoings' + - page: concepts/testing + title: Testing + - page: concepts/logging + title: Logging + - page: concepts/observability + title: Observability API + - page: concepts/advanced-config + title: Advanced Configuration + - page: concepts/message-context + title: Message Context + - page: concepts/incoming-metadata-injection + title: Metadata Injection + - page: concepts/generic-payloads + title: Generic Payloads + - page: concepts/pausable-channels + title: Pausable Channels + title: Concepts + title: Core + - items: + - page: kafka/kafka + title: Apache Kafka Connector + - page: kafka/receiving-kafka-records + title: Receiving records + - page: kafka/writing-kafka-records + title: Writing records + - page: kafka/health + title: Health Checks + - page: kafka/avro-configuration + title: Using Avro + - page: kafka/protobuf-configuration + title: Using Protobuf + - page: kafka/consumer-rebalance-listener + title: Rebalance Listeners + - page: kafka/kerberos + title: Kerberos authentication + - page: kafka/client-service + title: Accessing the client + - page: kafka/default-configuration + title: Customizing Default Kafka Configuration + - page: kafka/test-companion + title: Test Companion for Kafka + - page: kafka/transactions + title: Kafka Transactions and Exactly-Once Processing + - page: kafka/request-reply + title: Kafka Request/Reply + title: Kafka + - items: + - page: amqp/amqp + title: AMQP 1.0 Connector + - page: amqp/receiving-amqp-messages + title: Receiving messages + - page: amqp/sending-amqp-messages + title: Sending messages + - page: amqp/request-reply + title: AMQP Request/Reply + - page: amqp/cbs-authentication + title: CBS Authentication + - page: amqp/health + title: Health Checks + - page: amqp/client-customization + title: Client Customization + - page: amqp/rabbitmq + title: Using RabbitMQ + title: AMQP 1.0 + - items: + - page: rabbitmq/rabbitmq + title: RabbitMQ Connector + - page: rabbitmq/receiving-messages-from-rabbitmq + title: Receiving messages + - page: rabbitmq/sending-messages-to-rabbitmq + title: Sending messages + - page: rabbitmq/rabbitmq-health + title: Health Checks + - page: rabbitmq/rabbitmq-client-customization + title: Client Customization + - page: rabbitmq/rabbitmq-cloud + title: Connecting to managed instances + - page: rabbitmq/request-reply + title: RabbitMQ Request/Reply + title: RabbitMQ + - items: + - page: pulsar/pulsar + title: Apache Pulsar Connector + - page: pulsar/receiving-pulsar-messages + title: Receiving messages + - page: pulsar/sending-messages-to-pulsar + title: Sending messages + - page: pulsar/schema-configuration + title: Configuring the Schema + - page: pulsar/client-configuration + title: Configuring the Pulsar client + - page: pulsar/health + title: Health Checks + - page: pulsar/client-service + title: Accessing the client + - page: pulsar/transactions + title: Pulsar Transactions and Exactly-Once Processing + title: Pulsar + - items: + - page: camel/camel + title: Apache Camel Connector + - page: camel/receiving-messages-from-camel + title: Receiving messages from Camel + - page: camel/sending-messages-to-camel + title: Sending messages to Camel + - page: camel/camel-processor + title: Implementing Camel processor + - page: camel/using-existing-routes + title: Using existing Camel routes + title: Apache Camel + - items: + - page: jms/jms + title: The JMS connector + - page: jms/receiving-jms-messages + title: Receiving JMS messages + - page: jms/sending-jms-messages + title: Sending JMS messages + - page: jms/advanced-jms + title: Advanced configuration + title: JMS + - items: + - page: mqtt/mqtt + title: MQTT Connector + - page: mqtt/receiving-mqtt-messages + title: Receiving MQTT messages + - page: mqtt/sending-messages-to-mqtt + title: Sending MQTT messages + - page: mqtt/client-customization + title: Customizing the MQTT client + title: MQTT + - items: + - page: sqs/sqs + title: AWS SQS Connector + - page: sqs/receiving-aws-sqs-messages + title: Receiving AWS SQS messages + - page: sqs/sending-aws-sqs-messages + title: Sending AWS SQS messages + title: AWS SQS + - items: + - page: sns/sns + title: AWS SNS Connector + - page: sns/sending-aws-sns-messages + title: Sending AWS SNS messages + title: AWS SNS + ref: 4.37.1 + sha: 6c698fa841a0dd01ffa85f2a6bc362b66087f709 + synced: '2026-10-15' + - converted: true + id: '3' + nav: + - page: index + title: Home + - items: + - page: getting-started + title: Getting Started + - items: + - page: concepts/concepts + title: Introduction + - page: concepts/model + title: Development Model + - page: concepts/emitter + title: Emitters and Channel + - page: concepts/connectors + title: Connectors + - page: concepts/acknowledgement + title: Acknowledgement + - page: concepts/blocking + title: Blocking Processing + - page: concepts/signatures + title: Method Signatures + - page: concepts/skipping + title: Skipping Messages + - page: concepts/converters + title: Message Converters + - page: concepts/decorators + title: Channel Decorators + - page: concepts/broadcast + title: Broadcast + - page: concepts/merge + title: Merge channels + - page: concepts/incomings + title: '@Incomings' + - page: concepts/testing + title: Testing + - page: concepts/logging + title: Logging + - page: concepts/advanced-config + title: Advanced Configuration + - page: concepts/message-context + title: Message Context + title: Concepts + title: Core + - items: + - page: kafka/kafka + title: Apache Kafka Connector + - page: kafka/receiving-kafka-records + title: Receiving records + - page: kafka/writing-kafka-records + title: Writing records + - page: kafka/health + title: Health Checks + - page: kafka/avro-configuration + title: Using Avro + - page: kafka/protobuf-configuration + title: Using Protobuf + - page: kafka/consumer-rebalance-listener + title: Rebalance Listeners + - page: kafka/kerberos + title: Kerberos authentication + - page: kafka/client-service + title: Accessing the client + - page: kafka/default-configuration + title: Customizing Default Kafka Configuration + - page: kafka/test-companion + title: Test Companion for Kafka + - page: kafka/transactions + title: Kafka Transactions and Exactly-Once Processing + title: Kafka + - items: + - page: amqp/amqp + title: AMQP 1.0 Connector + - page: amqp/receiving-amqp-messages + title: Receiving messages + - page: amqp/sending-amqp-messages + title: Sending messages + - page: amqp/health + title: Health Checks + - page: amqp/client-customization + title: Client Customization + - page: amqp/rabbitmq + title: Using RabbitMQ + title: AMQP 1.0 + - items: + - page: rabbitmq/rabbitmq + title: RabbitMQ Connector + - page: rabbitmq/receiving-messages-from-rabbitmq + title: Receiving messages + - page: rabbitmq/sending-messages-to-rabbitmq + title: Sending messages + - page: rabbitmq/rabbitmq-health + title: Health Checks + - page: rabbitmq/rabbitmq-client-customization + title: Client Customization + - page: rabbitmq/rabbitmq-cloud + title: Connecting to managed instances + title: RabbitMQ + - items: + - page: camel/camel + title: Apache Camel Connector + - page: camel/receiving-messages-from-camel + title: Receiving messages from Camel + - page: camel/sending-messages-to-camel + title: Sending messages to Camel + - page: camel/camel-processor + title: Implementing Camel processor + - page: camel/using-existing-routes + title: Using existing Camel routes + title: Apache Camel + - items: + - page: jms/jms + title: The JMS connector + - page: jms/receiving-jms-messages + title: Receiving JMS messages + - page: jms/sending-jms-messages + title: Sending JMS messages + - page: jms/advanced-jms + title: Advanced configuration + title: JMS + - items: + - page: mqtt/mqtt + title: MQTT Connector + - page: mqtt/receiving-mqtt-messages + title: Receiving MQTT messages + - page: mqtt/sending-messages-to-mqtt + title: Sending MQTT messages + - page: mqtt/client-customization + title: Customizing the MQTT client + title: MQTT + ref: 3.25.0 + sha: null + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Home + - items: + - page: getting-started + title: Getting Started + - items: + - page: concepts/concepts + title: Introduction + - page: concepts/model + title: Development Model + - page: concepts/emitter + title: Emitters and Channel + - page: concepts/connectors + title: Connectors + - page: concepts/contributing-connectors + title: Contributing Connectors + - page: concepts/acknowledgement + title: Acknowledgement + - page: concepts/blocking + title: Blocking Processing + - page: concepts/signatures + title: Method Signatures + - page: concepts/skipping + title: Skipping Messages + - page: concepts/converters + title: Message Converters + - page: concepts/keyed-multi + title: Keyed Streams + - page: concepts/decorators + title: Channel Decorators and Interceptors + - page: concepts/broadcast + title: Broadcast + - page: concepts/merge + title: Merge channels + - page: concepts/incoming-concurrency + title: Incoming Channel Concurrency + - page: concepts/incomings + title: '@Incomings' + - page: concepts/outgoings + title: '@Outgoings' + - page: concepts/testing + title: Testing + - page: concepts/logging + title: Logging + - page: concepts/observability + title: Observability API + - page: concepts/advanced-config + title: Advanced Configuration + - page: concepts/message-context + title: Message Context + - page: concepts/incoming-metadata-injection + title: Metadata Injection + - page: concepts/generic-payloads + title: Generic Payloads + - page: concepts/pausable-channels + title: Pausable Channels + title: Concepts + title: Core + - items: + - page: kafka/kafka + title: Apache Kafka Connector + - page: kafka/receiving-kafka-records + title: Receiving records + - page: kafka/writing-kafka-records + title: Writing records + - page: kafka/health + title: Health Checks + - page: kafka/avro-configuration + title: Using Avro + - page: kafka/protobuf-configuration + title: Using Protobuf + - page: kafka/consumer-rebalance-listener + title: Rebalance Listeners + - page: kafka/kerberos + title: Kerberos authentication + - page: kafka/client-service + title: Accessing the client + - page: kafka/default-configuration + title: Customizing Default Kafka Configuration + - page: kafka/test-companion + title: Test Companion for Kafka + - page: kafka/transactions + title: Kafka Transactions and Exactly-Once Processing + - page: kafka/request-reply + title: Kafka Request/Reply + title: Kafka + - items: + - page: amqp/amqp + title: AMQP 1.0 Connector + - page: amqp/receiving-amqp-messages + title: Receiving messages + - page: amqp/sending-amqp-messages + title: Sending messages + - page: amqp/request-reply + title: AMQP Request/Reply + - page: amqp/cbs-authentication + title: CBS Authentication + - page: amqp/health + title: Health Checks + - page: amqp/client-customization + title: Client Customization + - page: amqp/rabbitmq + title: Using RabbitMQ + title: AMQP 1.0 + - items: + - page: rabbitmq/receiving-messages-from-rabbitmq + title: Receiving messages + - page: rabbitmq/sending-messages-to-rabbitmq + title: Sending messages + - page: rabbitmq/request-reply + title: RabbitMQ Request/Reply + title: RabbitMQ + - items: + - page: pulsar/pulsar + title: Apache Pulsar Connector + - page: pulsar/receiving-pulsar-messages + title: Receiving messages + - page: pulsar/sending-messages-to-pulsar + title: Sending messages + - page: pulsar/schema-configuration + title: Configuring the Schema + - page: pulsar/client-configuration + title: Configuring the Pulsar client + - page: pulsar/health + title: Health Checks + - page: pulsar/client-service + title: Accessing the client + - page: pulsar/transactions + title: Pulsar Transactions and Exactly-Once Processing + title: Pulsar + - items: + - page: camel/camel + title: Apache Camel Connector + - page: camel/receiving-messages-from-camel + title: Receiving messages from Camel + - page: camel/sending-messages-to-camel + title: Sending messages to Camel + - page: camel/camel-processor + title: Implementing Camel processor + - page: camel/using-existing-routes + title: Using existing Camel routes + title: Apache Camel + - items: + - page: jms/jms + title: The JMS connector + - page: jms/receiving-jms-messages + title: Receiving JMS messages + - page: jms/sending-jms-messages + title: Sending JMS messages + - page: jms/jms-transactions + title: JMS Transactions + - page: jms/advanced-jms + title: Advanced configuration + title: JMS + - items: + - page: mqtt/mqtt + title: MQTT Connector + - page: mqtt/receiving-mqtt-messages + title: Receiving MQTT messages + - page: mqtt/sending-messages-to-mqtt + title: Sending MQTT messages + - page: mqtt/client-customization + title: Customizing the MQTT client + title: MQTT + - items: + - page: sqs/sqs + title: AWS SQS Connector + - page: sqs/receiving-aws-sqs-messages + title: Receiving AWS SQS messages + - page: sqs/sending-aws-sqs-messages + title: Sending AWS SQS messages + title: AWS SQS + - items: + - page: sns/sns + title: AWS SNS Connector + - page: sns/sending-aws-sns-messages + title: Sending AWS SNS messages + title: AWS SNS + ref: main + sha: null + synced: '2026-10-15' +smallrye-stork: + versions: + - converted: true + id: latest + nav: + - page: index + title: Overview + - page: concepts + title: Concepts + - page: programmatic-api + title: Programmatic API + - page: microprofile-config + title: Microprofile Configuration + - page: springboot-config + title: Spring Boot Configuration + - page: observability + title: Observability + - page: logging + title: Logging + - title: Javadoc + url: https://javadoc.io/doc/io.smallrye.stork/smallrye-stork-api/latest/index.html + - page: quarkus + title: Using Stork with Quarkus + - items: + - page: service-discovery/overview + title: Overview + - page: service-discovery/consul + title: Consul + - page: service-discovery/dns + title: DNS + - page: service-discovery/kubernetes + title: Kubernetes + - page: service-discovery/knative + title: KNative + - page: service-discovery/eureka + title: Eureka + - page: service-discovery/composite + title: Composite + - page: service-discovery/static-list + title: Static List + - page: service-discovery/custom-service-discovery + title: Custom Service Discovery + title: Service Discovery + - items: + - page: load-balancer/overview + title: Overview + - page: load-balancer/round-robin + title: Round Robin + - page: load-balancer/random + title: Random + - page: load-balancer/least-requests + title: Least Requests + - page: load-balancer/least-response-time + title: Least Response Time + - page: load-balancer/power-of-two-choices + title: Power Of Two Choices + - page: load-balancer/sticky + title: Sticky + - page: load-balancer/custom-load-balancer + title: Custom Load Balancer + title: Load-Balancing + - items: + - page: service-registration/overview + title: Overview + - page: service-registration/consul + title: Consul + - page: service-registration/eureka + title: Eureka + - page: service-registration/static-list + title: Static List + - page: service-registration/custom-service-registration + title: Custom Service Registration + title: Service Registration + ref: 3.0.3 + sha: 0def793a36e25c4d2d79c2a08db6f5b50fa28ef1 + synced: '2026-10-15' + - converted: true + id: '2' + nav: + - page: index + title: Overview + - page: concepts + title: Concepts + - page: programmatic-api + title: Programmatic API + - page: microprofile-config + title: Microprofile Configuration + - page: springboot-config + title: Spring Boot Configuration + - page: observability + title: Observability + - title: Javadoc + url: https://javadoc.io/doc/io.smallrye.stork/smallrye-stork-api/latest/index.html + - page: quarkus + title: Using Stork with Quarkus + - items: + - page: service-discovery/overview + title: Overview + - page: service-discovery/consul + title: Consul + - page: service-discovery/dns + title: DNS + - page: service-discovery/kubernetes + title: Kubernetes + - page: service-discovery/knative + title: KNative + - page: service-discovery/eureka + title: Eureka + - page: service-discovery/composite + title: Composite + - page: service-discovery/static-list + title: Static List + - page: service-discovery/custom-service-discovery + title: Custom Service Discovery + title: Service Discovery + - items: + - page: load-balancer/overview + title: Overview + - page: load-balancer/round-robin + title: Round Robin + - page: load-balancer/random + title: Random + - page: load-balancer/least-requests + title: Least Requests + - page: load-balancer/least-response-time + title: Least Response Time + - page: load-balancer/power-of-two-choices + title: Power Of Two Choices + - page: load-balancer/sticky + title: Sticky + - page: load-balancer/custom-load-balancer + title: Custom Load Balancer + title: Load-Balancing + - items: + - page: service-registration/overview + title: Overview + - page: service-registration/consul + title: Consul + - page: service-registration/eureka + title: Eureka + - page: service-registration/static-list + title: Static List + - page: service-registration/custom-service-registration + title: Custom Service Registration + title: Service Registration + ref: 2.7.11 + sha: null + synced: '2026-10-15' + - converted: true + id: '1' + nav: + - page: index + title: Overview + - page: concepts + title: Concepts + - page: programmatic-api + title: Programmatic API + - title: Javadoc + url: https://javadoc.io/doc/io.smallrye.stork/smallrye-stork-api/latest/index.html + - page: quarkus + title: Using Stork with Quarkus + - items: + - page: service-discovery/consul + title: Consul + - page: service-discovery/dns + title: DNS + - page: service-discovery/kubernetes + title: Kubernetes + - page: service-discovery/knative + title: KNative + - page: service-discovery/eureka + title: Eureka + - page: service-discovery/composite + title: Composite + - page: service-discovery/static-list + title: Static List + - page: service-discovery/custom-service-discovery + title: Custom Service Discovery + title: Service Discovery + - items: + - page: load-balancer/round-robin + title: Round Robin + - page: load-balancer/random + title: Random + - page: load-balancer/least-requests + title: Least Requests + - page: load-balancer/response-time + title: Response Time + - page: load-balancer/power-of-two-choices + title: Power Of Two Choices + - page: load-balancer/sticky + title: Sticky + - page: load-balancer/custom-load-balancer + title: Custom Load Balancer + title: Load-Balancing + ref: 1.4.2 + sha: null + synced: '2026-10-15' + - converted: true + id: main + nav: + - page: index + title: Overview + - page: concepts + title: Concepts + - page: programmatic-api + title: Programmatic API + - page: microprofile-config + title: Microprofile Configuration + - page: springboot-config + title: Spring Boot Configuration + - page: observability + title: Observability + - page: logging + title: Logging + - title: Javadoc + url: https://javadoc.io/doc/io.smallrye.stork/smallrye-stork-api/latest/index.html + - page: quarkus + title: Using Stork with Quarkus + - items: + - page: service-discovery/overview + title: Overview + - page: service-discovery/consul + title: Consul + - page: service-discovery/dns + title: DNS + - page: service-discovery/kubernetes + title: Kubernetes + - page: service-discovery/knative + title: KNative + - page: service-discovery/eureka + title: Eureka + - page: service-discovery/composite + title: Composite + - page: service-discovery/static-list + title: Static List + - page: service-discovery/custom-service-discovery + title: Custom Service Discovery + title: Service Discovery + - items: + - page: load-balancer/overview + title: Overview + - page: load-balancer/round-robin + title: Round Robin + - page: load-balancer/random + title: Random + - page: load-balancer/least-requests + title: Least Requests + - page: load-balancer/least-response-time + title: Least Response Time + - page: load-balancer/power-of-two-choices + title: Power Of Two Choices + - page: load-balancer/sticky + title: Sticky + - page: load-balancer/custom-load-balancer + title: Custom Load Balancer + title: Load-Balancing + - items: + - page: service-registration/overview + title: Overview + - page: service-registration/consul + title: Consul + - page: service-registration/eureka + title: Eureka + - page: service-registration/static-list + title: Static List + - page: service-registration/custom-service-registration + title: Custom Service Registration + title: Service Registration + ref: main + sha: 813825bd5db457651b21f001027fe3c2b9315461 + synced: '2026-10-15' diff --git a/docs/antora-playbook.yml b/docs/antora-playbook.yml deleted file mode 100644 index 5b6b2e067..000000000 --- a/docs/antora-playbook.yml +++ /dev/null @@ -1,35 +0,0 @@ -site: - title: SmallRye documentation - start_page: index::index.adoc -content: - sources: - - url: .. # common module containing just the main index - start_path: docs - branches: HEAD - - url: https://github.com/smallrye/smallrye-jwt.git - branches: main - start_path: doc - - url: https://github.com/smallrye/smallrye-metrics.git - branches: [2.4.x, main] - start_path: doc - - url: https://github.com/smallrye/smallrye-fault-tolerance.git - branches: ~ - tags: - - '5*' - - '6*' - - '!*-RC*' - start_path: doc - - url: https://github.com/smallrye/smallrye-health.git - branches: 3.0.x - start_path: doc -ui: - bundle: - url: https://raw.githubusercontent.com/smallrye/smallrye-antora-ui/refs/heads/main/build/ui-bundle.zip - snapshot: true -asciidoc: - extensions: - - asciidoctor-kroki - attributes: - page-pagination: '' - kroki-fetch-diagram: true - kroki-server-url: http://localhost:8000 diff --git a/docs/antora.yml b/docs/antora.yml deleted file mode 100644 index f87c098b1..000000000 --- a/docs/antora.yml +++ /dev/null @@ -1,4 +0,0 @@ -# Descriptor of the common Antora module that contains just a landing page for the whole documentation site -name: index -title: Index -version: index diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc deleted file mode 100644 index e21a8e03d..000000000 --- a/docs/modules/ROOT/pages/index.adoc +++ /dev/null @@ -1,8 +0,0 @@ -= SmallRye documentation - -Welcome to the SmallRye documentation site. Pick the project you're interested in from the list below. - -* xref:smallrye-jwt:ROOT:index.adoc[SmallRye JWT] -* xref:smallrye-metrics:ROOT:index.adoc[SmallRye Metrics] -* xref:smallrye-fault-tolerance:ROOT:index.adoc[SmallRye Fault Tolerance] -* xref:smallrye-health:ROOT:index.adoc[SmallRye Health] diff --git a/jbang-catalog.json b/jbang-catalog.json new file mode 100644 index 000000000..d534ced7f --- /dev/null +++ b/jbang-catalog.json @@ -0,0 +1,13 @@ +{ + "aliases": { + "docs-preview": { + "script-ref": "tools/docs/Docs.java", + "arguments": ["preview"], + "description": "Preview a SmallRye project's documentation the way smallrye.io shows it: run it in the project's checkout" + }, + "smallrye-docs": { + "script-ref": "tools/docs/Docs.java", + "description": "The tools behind smallrye.io/docs (sync, preview, redirects, ...)" + } + } +} diff --git a/public/css/main.css b/public/css/main.css index 8832025dd..7e31d1adf 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -37,6 +37,8 @@ --btn-fg: #FFFFFF; --shadow: none; --code-bg: #F1EFE6; + --img-paper: transparent; + --img-paper-pad: 0; --code-fg: #1C1A30; --hl-comment: #6A6880; --hl-keyword: #7A2E8E; @@ -65,6 +67,8 @@ --btn-bg: #6FCBE8; --btn-fg: #14122A; --code-bg: #0E0C20; + --img-paper: #FBFAF6; + --img-paper-pad: 0.75rem; --code-fg: #E6E5F2; --hl-comment: #9895B3; --hl-keyword: #D2A8FF; @@ -87,6 +91,8 @@ --btn-bg: #6FCBE8; --btn-fg: #14122A; --code-bg: #0E0C20; + --img-paper: #FBFAF6; + --img-paper-pad: 0.75rem; --code-fg: #E6E5F2; --hl-comment: #9895B3; --hl-keyword: #D2A8FF; @@ -237,6 +243,10 @@ code, kbd, pre, samp { font-family: var(--font-mono); font-size: 0.9em; } .prose th, .prose td { border: 1px solid var(--line); padding: 0.45rem 0.7rem; text-align: left; vertical-align: top; } .prose th { background: var(--bg-alt); } .prose img { border-radius: var(--radius); } +/* Diagrams are mostly dark lines on a transparent background: in dark mode they sit on light paper, + unless the page shows their dark version (has-dark images, see web/app/main.js) */ +.prose .imageblock img { background: var(--img-paper); padding: var(--img-paper-pad); } +.prose .imageblock img[data-dark] { background: none; padding: 0; } .prose hr { border: 0; border-top: 1px solid var(--line); margin: 2.5em 0; } /* AsciiDoc blocks */ .prose .title { font-weight: 600; color: var(--fg-muted); font-size: 0.9rem; margin: 1.25em 0 0.4em; } @@ -279,6 +289,116 @@ code, kbd, pre, samp { font-family: var(--font-mono); font-size: 0.9em; } .pagination a { display: inline-flex; align-items: center; min-height: 2.9rem; font-weight: 600; } .pagination .page-number { color: var(--fg-muted); font-size: 0.9rem; font-family: var(--font-mono); } +/* ---- Project documentation (/docs///) ------------------ */ +.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; } +/* The project and its version picker sit in the header, next to the logo */ +.docs-brand { display: flex; align-items: center; gap: 0.75rem; margin-right: auto; padding-left: 1rem; border-left: 1px solid var(--line); } +.docs-brand-project { font-weight: 700; font-size: 1.1rem; color: var(--fg); text-decoration: none; white-space: nowrap; } +.docs-brand-project:hover { color: var(--accent-ink); } +.docs-version select { font: inherit; font-size: 0.9rem; color: var(--fg); background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius); padding: 0.4rem 0.6rem; min-height: 2.6rem; max-width: 14rem; } +@media (max-width: 63.99rem) { + .bar:has(.docs-brand) { flex-wrap: wrap; } + .docs-brand { order: 3; width: 100%; justify-content: space-between; padding: 0 0 0.6rem; border-left: 0; } +} +.docs-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 2.5rem; padding-top: 1.5rem; padding-bottom: 4rem; max-width: 90rem; } +/* Sidebar: closed by default behind the Contents button; its sections fold */ +.docs-side { margin-bottom: 1rem; } +.docs-nav-button { display: inline-flex; align-items: center; gap: 0.55rem; min-height: 2.75rem; min-width: 2.75rem; padding: 0 0.8rem; font: inherit; font-weight: 600; color: var(--fg); background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius); cursor: pointer; } +.docs-nav-button:hover { color: var(--accent-ink); border-color: var(--accent); } +.docs-nav-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } +.docs-nav-icon, .docs-nav-icon::before, .docs-nav-icon::after { display: block; width: 1.05rem; height: 2px; background: currentColor; position: relative; content: ""; } +.docs-nav-icon::before { position: absolute; top: -5px; } +.docs-nav-icon::after { position: absolute; top: 5px; } +.docs-nav { display: none; font-size: 0.95rem; margin-top: 0.75rem; } +.docs-nav-open .docs-nav { display: block; } +.docs-nav ul { list-style: none; margin: 0; padding: 0; } +.docs-nav ul ul { margin: 0.1rem 0 0.6rem; } +.docs-nav li a { display: block; padding: 0.3rem 0.6rem; border-radius: var(--radius); color: var(--fg); text-decoration: none; line-height: 1.35; } +.docs-nav li a:hover { background: var(--bg-alt); color: var(--accent-ink); } +.docs-nav li a[aria-current="page"] { background: var(--bg-alt); color: var(--accent-ink); font-weight: 600; box-shadow: inset 3px 0 0 var(--accent); } +.docs-nav-heading { display: flex; align-items: center; gap: 0.4rem; margin: 0.35rem 0 0; padding: 0.45rem 0.6rem; font-family: var(--font-mono); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); cursor: pointer; list-style: none; border-radius: var(--radius); } +.docs-nav-heading::-webkit-details-marker { display: none; } +.docs-nav-heading::before { content: ""; width: 0.4rem; height: 0.4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform 0.15s; flex: none; } +.docs-nav details[open] > .docs-nav-heading::before { transform: rotate(45deg); } +.docs-nav-heading:hover { color: var(--accent-ink); background: var(--bg-alt); } +.docs-nav-heading:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; } +.docs-main { min-width: 0; } +.docs-main { max-width: 68rem; } +/* Text keeps a readable line length; code, tables, diagrams and cards use the whole column */ +.docs-main :is(.paragraph, .ulist, .olist, .dlist, .colist, .admonitionblock, .quoteblock, .verseblock, .sidebarblock, .docs-source, h1, h2, h3, h4, h5, h6) { max-width: 50rem; } +.docs-main :is(.cards, .tableblock, .exampleblock) .paragraph { max-width: none; } +.docs-main .lead p { font-size: 1.2rem; color: var(--fg-muted); margin-top: 0.25rem; } +.docs-main h1 { margin-top: 0.5rem; } +.docs-notice { border: 1px solid var(--line); border-left: 3px solid var(--accent); background: var(--bg-alt); border-radius: 0 var(--radius) var(--radius) 0; padding: 0.7rem 1rem; font-size: 0.95rem; } +.docs-source { margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid var(--line); font-size: 0.9rem; } +.docs-toc { display: none; font-size: 0.875rem; } +.docs-toc .toc-title { display: flex; align-items: center; gap: 0.4rem; cursor: pointer; list-style: none; } +.docs-toc .toc-title::-webkit-details-marker { display: none; } +.docs-toc .toc-title::before { content: ""; width: 0.4rem; height: 0.4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform 0.15s; flex: none; } +.docs-toc details[open] > .toc-title::before { transform: rotate(45deg); } +.docs-toc .toc-title:hover { color: var(--accent-ink); } +.docs-toc-closed .docs-toc details > :not(summary) { display: none; } +.docs-toc ul { list-style: none; margin: 0; padding: 0; } +.docs-toc ul ul { padding-left: 0.9rem; } +.docs-toc li { margin: 0.25rem 0; } +.docs-toc a { color: var(--fg-muted); text-decoration: none; } +.docs-toc a:hover { color: var(--accent-ink); text-decoration: underline; } +@media (min-width: 60rem) { + .docs-layout { grid-template-columns: auto minmax(0, 68rem); justify-content: start; } + .docs-side { grid-column: 1; grid-row: 1 / span 2; position: sticky; top: 1rem; align-self: start; max-height: calc(100vh - 2rem); overflow-y: auto; margin: 0; padding: 2px 0.5rem 2px 2px; } + .docs-nav-open .docs-side { width: 15rem; } + :root:not(.docs-nav-open) .docs-nav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } + :root:not(.docs-nav-open) .docs-nav-button { padding: 0; justify-content: center; } + .docs-main { grid-column: 2; } +} +@media (min-width: 78rem) { + .docs-layout { grid-template-columns: auto minmax(0, 68rem) 13rem; } + .docs-toc { display: block; grid-column: 3; grid-row: 1; position: sticky; top: 1rem; align-self: start; max-height: calc(100vh - 2rem); overflow-y: auto; } +} +.prose .sect1 h2 > a.anchor, .prose h3 > a.anchor, .prose h4 > a.anchor { float: left; margin-left: -1.2em; padding-right: 0.3em; text-decoration: none; visibility: hidden; color: var(--fg-muted); } +.prose h2:hover > a.anchor, .prose h3:hover > a.anchor, .prose h4:hover > a.anchor { visibility: visible; } +.prose h2 > a.anchor::before, .prose h3 > a.anchor::before, .prose h4 > a.anchor::before { content: "#"; } +/* Tabs: an example block with the "tabs" role holds a labelled list; docs code makes it tabs. */ +.prose .exampleblock { margin: 1.5em 0; } +.prose .tabs .tab-list { display: flex; flex-wrap: wrap; gap: 0.25rem; border-bottom: 1px solid var(--line); margin-bottom: 0.75rem; } +.prose .tabs .tab-list button { font: inherit; font-size: 0.9rem; font-weight: 600; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--fg-muted); padding: 0.5rem 0.8rem; min-height: 2.75rem; cursor: pointer; } +.prose .tabs .tab-list button[aria-selected="true"] { color: var(--accent-ink); border-bottom-color: var(--accent); } +.prose .tabs [role="tabpanel"][hidden] { display: none; } +/* Cards: an open block with the "cards" role lays out the sidebar blocks it holds as a grid; + a link with the "button" role is a call to action. */ +.prose .cards > .content { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin: 1.75em 0; } +@media (min-width: 40rem) { + .prose .cards > .content { grid-template-columns: repeat(2, minmax(0, 1fr)); } +} +.prose .cards .sidebarblock { margin: 0; background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.15rem; } +.prose .cards .sidebarblock > .content > :first-child { margin-top: 0; } +.prose .cards .sidebarblock > .content > :last-child { margin-bottom: 0; } +.prose .cards .sidebarblock > .content > .title { font-weight: 700; margin-bottom: 0.4em; } +.prose .cards h2.discrete, .prose .cards h3.discrete { font-size: 1.1rem; margin: 0 0 0.5em; padding-top: 0; } +.prose .cards p { margin: 0.5em 0; } +.prose a.button { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.55rem 1.2rem; border-radius: var(--radius); font-weight: 600; text-decoration: none; background: var(--btn-bg); color: var(--btn-fg); } +.prose a.button:hover { filter: brightness(1.15); } +.prose details { margin: 1.5em 0; border: 1px solid var(--line); border-radius: var(--radius); padding: 0.6rem 1rem; } +.prose details > summary { cursor: pointer; font-weight: 600; } +/* A version's start page lists its documentation: a card per section */ +.docs-contents { margin-top: 3rem; } +.docs-contents-grid { columns: 2 20rem; column-gap: 1rem; } +.docs-contents-card { break-inside: avoid; margin: 0 0 1rem; padding: 1rem 1.15rem; background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius); } +.docs-contents-card:not(:has(li)) { display: none; } +.docs-contents-card h3 { margin: 0 0 0.5rem; font-size: 1.05rem; } +.docs-contents-card ul { list-style: none; margin: 0; padding: 0; } +.docs-contents-card li { margin: 0.2rem 0; } +.docs-contents-card a { text-decoration: none; } +.docs-contents-card a:hover { text-decoration: underline; } +.docs-contents-section > span { display: block; margin: 0.6rem 0 0.2rem; font-family: var(--font-mono); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); } +.docs-contents-section > ul { padding-left: 0.2rem; } +/* Docs hub */ +.docs-hub { list-style: none; margin: 0 0 2.5rem; padding: 0; border-top: 1px solid var(--line); } +.docs-hub li { padding: 1rem 0; border-bottom: 1px solid var(--line); } +.docs-hub h3 { margin: 0 0 0.3rem; font-size: 1.15rem; } +.docs-hub p { margin: 0; color: var(--fg-muted); } +.docs-hub .docs-hub-versions { margin-top: 0.4rem; font-size: 0.9rem; font-family: var(--font-mono); } + /* ---- Footer -------------------------------------------------------------- */ .site-footer { background: var(--primary-deep); color: #CFCDE3; font-size: 0.95rem; margin-top: 0; } .site-footer a { color: #ECEBF6; } diff --git a/templates/layouts/doc.html b/templates/layouts/doc.html new file mode 100644 index 000000000..e34ab1281 --- /dev/null +++ b/templates/layouts/doc.html @@ -0,0 +1,71 @@ +--- +layout: default +--- +{@io.quarkiverse.roq.frontmatter.runtime.model.Page page} +{@io.quarkiverse.roq.frontmatter.runtime.model.Site site} +{! A page of a project's documentation: content/docs///.adoc, synced from + the project's repository by tools/docs (sync). The project comes from data/docs.yml, its + versions and navigation from data/docversions.yml. !} +{#head} +{#bundle /} +{! The sidebar starts closed and the page's contents open; each stays the way the reader left it. !} + + +{/head} +{#let key=page.url.path.split('/').get(2) version=page.url.path.split('/').get(3)} +{#let base=site.url('docs/' + key + '/' + version + '/') current=page.url.path.replace('/docs/' + key + '/' + version + '/', '').replaceAll('/$', '')} +{#for p in cdi:docs.getJsonArray('projects')}{#if p.getString('key') == key} +{#let versions=cdi:docversions.getJsonObject(key).getJsonArray('versions')} +
          + +
          + {#if version == 'main'} +

          This is the documentation of the main branch: it may describe changes that are not released yet. {#if versions.size > 1}Read the latest release’s documentation.{/if}

          + {#else if p.containsKey('archived')} +

          {=p.getString('name')} is archived: this documentation is no longer updated.

          + {#else if version != 'latest'} +

          This is the documentation of an older release line. Read the latest release’s documentation.

          + {/if} + {! The start page's title only repeats the project named in the header: kept for screen readers and search engines !} + {=page.title}

          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

          lS7rk`MGKT?sZcBja&MXa_n({7+`pBMjVse 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

        + {#insert /} + {#if !current}{#for v in versions}{#if v.getString('id') == version} + {#include partials/docs-contents items=v.getJsonArray('nav') base=base /} + {/if}{/for}{/if} + {#for v in versions}{#if v.getString('id') == version} +

        + {#if version == 'main' && !v.getBoolean('converted')} + Edit this page on GitHub + {#else if !v.getBoolean('converted')} + View the source of this page + {/if} +

        + {/if}{/for} + + {#if page.toc.size >= 2} + + {/if} + +{/let} +{/if}{/for} +{/let} +{/let} diff --git a/templates/partials/docs-brand.html b/templates/partials/docs-brand.html new file mode 100644 index 000000000..789be969d --- /dev/null +++ b/templates/partials/docs-brand.html @@ -0,0 +1,22 @@ +{@io.quarkiverse.roq.frontmatter.runtime.model.Site site} +{@io.quarkiverse.roq.frontmatter.runtime.model.Page page} +{! On a project's documentation page (/docs///...): the project and the version + picker, in the header next to the logo. !} +{#let key=page.url.path.split('/').get(2) version=page.url.path.split('/').get(3)} +{#if cdi:docversions.containsKey(key)} +{#for p in cdi:docs.getJsonArray('projects')}{#if p.getString('key') == key} +
        + {=p.getString('name').replace('SmallRye ', '')} + +
        +{/if}{/for} +{/if} +{/let} diff --git a/templates/partials/docs-contents-list.html b/templates/partials/docs-contents-list.html new file mode 100644 index 000000000..88863d96d --- /dev/null +++ b/templates/partials/docs-contents-list.html @@ -0,0 +1,14 @@ +{! The pages of a section on a start page; sections inside it recurse under their titles. !} +
          + {#for item in items} + {#if item.containsKey('items')} +
        • {=item.getString('title')} + {#include partials/docs-contents-list items=item.getJsonArray('items') base=base /} +
        • + {#else if item.containsKey('url')} + {#if item.getString('url').startsWith('http')}
        • {=item.getString('title')}
        • {/if} + {#else if item.containsKey('page')} +
        • {=item.getString('title')}
        • + {/if} + {/for} +
        diff --git a/templates/partials/docs-contents.html b/templates/partials/docs-contents.html new file mode 100644 index 000000000..48060dd94 --- /dev/null +++ b/templates/partials/docs-contents.html @@ -0,0 +1,21 @@ +{! A version's start page lists the documentation, from its navigation: the pages outside a section, + then a card per section (sections inside it listed under their titles). items: the nav. !} +
        +

        Contents

        +
        +
        +
          + {#for item in items}{#if !item.containsKey('items') && item.getString('page') != 'index'} + {#if item.containsKey('url')}{#if item.getString('url').startsWith('http')}
        • {=item.getString('title')}
        • {/if} + {#else if item.containsKey('page')}
        • {=item.getString('title')}
        • {/if} + {/if}{/for} +
        +
        + {#for item in items}{#if item.containsKey('items')} +
        +

        {=item.getString('title')}

        + {#include partials/docs-contents-list items=item.getJsonArray('items') base=base /} +
        + {/if}{/for} +
        +
        diff --git a/templates/partials/docs-nav.html b/templates/partials/docs-nav.html new file mode 100644 index 000000000..5bdcc89cc --- /dev/null +++ b/templates/partials/docs-nav.html @@ -0,0 +1,21 @@ +{! One level of a documentation sidebar; sections recurse, folded (the page's own section is + unfolded by docs code). items: [{title, page} | {title, items} | {title, url}]. + current: the page's path inside its version, '' for the start page. !} +
          + {#for item in items} + {#if item.containsKey('items')} +
        • +
          + {=item.getString('title')} + {#include partials/docs-nav items=item.getJsonArray('items') base=base current=current /} +
          +
        • + {#else if item.containsKey('url')} + {#if item.getString('url').startsWith('http')}
        • {=item.getString('title')}
        • {/if} + {#else if item.containsKey('page')} + {#let target=(item.getString('page') == 'index' ? '' : item.getString('page'))} +
        • {=item.getString('title')}
        • + {/let} + {/if} + {/for} +
        diff --git a/templates/partials/footer.html b/templates/partials/footer.html index 8dcd612c7..b198b562c 100644 --- a/templates/partials/footer.html +++ b/templates/partials/footer.html @@ -13,7 +13,7 @@
      1. Projects
      2. Community
      3. Blog
      4. -
      5. Documentation
      6. +
      7. Documentation
      8. lS7rk`MGKT?sZcBja&MXa_n({7+`pBMjVse zlb_jf-!gz6J)ylfvu-6xWN=!F6x53_Y1X~!^Uce8xeCE{;TQ3FHMMiw5(^()E!riH zE}%;nS#$Dbl~tA66Gck4W#@bQ)O@cP)&76{dE2I;!5WqJ$|8I^Tsl-b8lJcs$OiP< z+(6t-7L?;&D>@9md9FlWC-eiu`wm1Z`V4jR-ygWlr}2yw2nGfLG2`>C=+uWL2CK5? zr00t?NMR6qIt!%u1xg3v;wAs7mN4XSo1lgUq0QKbmBQn!({apSlK_rkeD zxubIRH#gqAU8n>&KKzD@bH z)9v(a*Z22z=3{%Q4za6&P|D!zIQQ`;w|W4M9cLKf4k&)|ngi92n0TEP&5=)cB|QW~ z0@McgTIB58mDomJ!~!>b6j>MTpYQ%_@5Kp>Nx$)1*c0nmq*9E- z8ZBey`fJ7^0^ltLDaG|b;QgJpfxOb8N$9yG_2*FARo#dWd1`fnVlfZ}UkW9Am*TwJ z3nC_#ueM#hS_mHW6yv@%IjgEX4E6s1^zPeIRSni~3tdaV9=|6;hp80FyB6Qv#2aF= zr+me|Jq7SQ9x2}`QiF%{!iakaMTA%WQHsaI$#{$ewWx=39)|i0SVNp@##-T@d8V@< z;91uzHE}hyEq(dhYwOhVEp;i|O)A~CW-d*PO6H43mSEd?+UfSgU@p7S8NzL;PEpDG z0Jl1NQBUQRVX`kFKyk0TkN@@7uWvOqSQ(pRJ>JMBV6UXpV)!>LI$)RUyo5aWRXOwv zZ>5$t=a6+Kj($H1gvx>|jQy7M7F-U2n`MZ^{*vXXQ6&F~k4|jwORk?A9Q&x6oPR>Y zGXzso>WZw=ecfbqLG%F@9hj5tou@IlB?7crIhlS*+s2lcl$EbnV0t+Bo5Bto=C2bG zTc!GDZuEMEV%tN>2bL0LMjIW>|FH101EwSjsnB7=65@pw>)3TT89M1YGg_c> z`@OB*6m^!%7@LmVxEX?r+p`Q@{-I}bKaAt1E+KY{H2 zC~>_n!YwD4fj5sSj;|jx9p4-oJwh-e2ne438jTKG_?rTWf)rmV_cmBzDPn;J$!^7C z#bQO4Ihq?V{&<=5Lh|g+R#(k*^uG*|E5J`DsQW_34&@W>G+g-vA+wde>81v_+(pqz zrWo;SKvFga8=&4D;Tc-{N=)nb90Is0YhX>wbxX`|t9Io?V^ZbEO+*`F8}SR_{bNvl zoZ&zYC3JRq^{6oq^Up}3zAmZptjnaL(Uo&Ri1SDsm{V zu_bi~ZD)E5l-52xmzC}EOOpNlu)Q99Rss6pJhoVbw;XaUH)f_NU%h}_(jj8Twtv^P zg{ARcga8ldKW(WNCCT4F-N@gV+rko};Kq1K zo<#n^+dYNAKw{$C0|S6UXPt_6&7soa(@f3xjZxOL?3BY^iMrHV+yog`N`XV{jelE_ znD)W(F*{c%1qzm|dHxX;e-L3y3e36h5uTLzy-Xk1=Tsp$gAt96w!NI+wnAO^)ih$P?v%F8HkyAODO>8S;gi&T0eg^Y84e4(*THMZrf4Kvvkt`^q zHah#~djkAR&AmFCl4$LJJ~S?rEZBMlhe%5)NQ}AjL^yT&6WX6>)Ymf+-eQRnBjF)A z+kMCTWA#!cenLbk)t)ak^3TDI7T7=!nYn?!}w>6o6} zOIS^kwG>j7Ss{E3BwWR@W~Oep+vyOxLzSZJqV^(dBRzF&wihA!(fLB)>as&ze%dNQ zDo~N9uDc)IyE&7F5JrT@4eP*x4KLEb?<6|lMUy9jJm?p>NiL^ z-iU}=2Ls`Vq?DTfCCDPANWx|a)$y0_WE`d5!?LNa8Z6g7S{uOL^ripOU68|k->X;d z@x6-6S|e(|&!*G=<(Qe6uU+h+F{`Hdf2aC{epc_{WR!1m+}+E<_-7 zD7z`ChVTu#&&5r63?Gl+uKX)L*_q~~07^D)pkg>M*aU!6%Pa1c$2iYdN+Ufeg#zD{a3EkF(q-0lk|h8wcM!IgQ{c`^6108%q*51Lyj>wHdTgZ z!u{!Wci+oFaZhza#D5L^Z@WlyJ@^537a&j_wOv}rKG@U)w7e&o&ldrZ;2J9yDhkg@ z%8wpz&ZHnt{FQV;W2xoDH@$$N_5Kz7?i$ZNNs=6Q}RdiEjCRzKglL6^`bct-w||(H?Psn=QY7B!EA0}`~8hvpb737?r!CA z|HccM;XetY&|ECNEFo{7%oF!u`hPLt^(0DOWKH~Wj%)%fttH=9G~CBA--{AC9a>1q zm=_wtU>niOiw$M3CS12GfcYf?%kfXwA@kQ~GM?}(w z)xQDCPJmy8f;1+wI_H=kFz+Zf8twe^(sXd8cVt1W!%M-0)$jQc#N2Y0{qjp4V^h-m z-Td>eX7EGy{4+rpn@)3=ZHvbCFvXi&Jg=?8+#-@@{zkw_nwGcrq)^Jv%L@Q5N>LX= z)RoPp!~*)wXYN&O2<&b_RsmZ981WqO>whxaRr=s!^+p6qf914cF#Woh>(HtqyX<$G zQa_>YSmTMj?brdI13ODuF;JqZm&4^x_tJ9il~y^WUxC-D>efuqbHz(>LcM@gYSK&is1DBH)O{> zHZSs^BxL)|_5R}$;sM{c20JAkoFjl!#pe=_uq++9vHo2yC{IE0F2`$V|7&Oi#82Nd zf5WyEO3=Qh^}JpKrGt{P5iy;O{xD#~IqqA?feMZw#T_~z>L4}HTYR4C7zLm8qwf6X0-pkd z$chJlR@Fu^b7(z*#>@V-sMDim?D)fJLu$TaIi2L6?f{i#EAMwrN!u}W<((On10Fqh zjJ9WzYIjgb_)MGww?$8OHig0N=LfjfGggezMrUqUN()pMB>p1&zsu2q>3iYIB?C)2 zyf54s4HkH^kOOe{Ol_dqGyjE;{tjCHoGIblmMb$1RNRi2>{7qg+j)L?u&C( zi86#iNrBoxRd-Y4F6PEpqSzide`A#BD0zsx8f5Enb&Z0t3m7Qa712l5tT#`)xW`m7XyVqs zl|7q6dm8LV2O{>ufiTJA5Y7SnWxof$e1mKsy41OjFN6?i#cY&!f}eXa_ks|gt;6Et zL*lO6OoG9Gf#zFzQnp{e^I0L*ljU`v}W{n*RXnCZg?=A`iwe`yssInyfU6; zPPkX;55(r@x^YfY4qs{Bf2!cyQRAKza$HoFpQ9cQZ_1;4oVOS*9YSlsfHa4SE@U%+ zjrc;uJmaFR+qG@HjZrUe4Z!W(+`oMQQ7W<>yDFoLV(`^Dv{1IwO5ery93C*~i-iG6 zo2Dw#Ut`nF><3Hi!RifpXqRHGja*_l`y|7X}3yY;|q zfgN%dzk(#7O<;$Y&kF7A7{{p!@$T1IE#p`vx^Qk4(4P(l{N65v3#TH1PWGeD0B2ZX(vl%BG};$+bOs zfT$-GiRax=MU+ z?P!_q+nNeZ!eUU$zodazCHbqfqK`lDKvivorw$$me{4Zb!C1jnG?<${vl|-)@dZ8+ z4a8op;p%e^-IETM#p2YR%I`(-28kP>jW_5SC)M}0{%4VC(U|eJw!%l2bx}@;W%xPO z*U_XC@T;1t{Ih4K0kthzdjV7!^D<-`H+U=1CBy&Rbl&BbKEc{A^)}zDA@}|o{h4S` z-+o>0wl2!9h<^@BX;gm_reTvt2J={awk@<$dlaGsbNC~=WRh>uYU$TYC*Md|CEPQT zcoFVk(e}`&`R$X>@JH_6aZ}*xx)(Ua?O83PJUIZ@D4hTmN>HS!0|i3Mi82h35Zw2t zLDL|h3SvL7=#VGxl6SHe;fNNTsN0%*UE|O*lNe zMh#_S=f**dyDH5})23JybIt>8ugDwO7zY+t)cP9)a8R0Jj;t0()oi+u&2wqMQtP%L`;YpMq% zp7u+ypE%E`6<&o;Oi!gn+qVv@cGK43JdI)9L_+1~xhK&SMCQeQ@R&U`G7AF@KU>hl^KiH*3WUch-k{wFx5;Y#)6Z(EEMr zM!RzU;;jXxfxG%ynYt|D-E8`aRU&}SM9LJ_%S3xhZED*m4U*LEiA)s%ntwF6J|hRu zte@Ikne~#9Ht^w~^uEim%eP{J59;>v+2Nq{Hvp8AK84m*So(Nfjcr#|xK~~#kHX#F z&N3|x8}eRTrJL3slP1se@!1LXSwu;d6BN-!KQUp9YLpx=Wfrc#jNXd<04bo$&wGRV z7;xRX?0WBm2iJxsI;WM4bxv^Q3{n`pW2v*&d;~B=303_E8;?TKJy2DWr*iH>IX;cz z>)MuY{n)4{Sd!|7&_Vs+I?>H6BNkLubQ7LD0ed72-LkX**zU$ie_?C%D%n_}i-TIC z=(os@j?0MV3VQb+bA`S+mF@-bObt#CkmXU4T^Q9Y2#AHAIxbfkH77QP#I_L5C$%kE z?>O($4jNrX1`i_Nl=~?Y%VZm$Y}Z3<$q-;UQpbO4)jioKg84cAl9JaolxCR01X7F# zsd&p?tO>HDZ!CeCyH}4_WRtpO(?WI$t`{L+$x&@2wS1vrY-#Cdv7=cLqeqS=+|L7? z5h8j@33f7#%tUmgTC&c3_#KuA_Ck^Mmn@td`Ia^@T$Pn8tl;M=L|$s0dhQqV?W?5mvMk*faJ4J! z2xpRFo=H>;pp8c_dhb8s@%R_Uz zoBbI)x-XxZb;Fgow~&wnNB1M06X%_K({>s)_%Tbw`o6w$Zc_Ggp>~4^xn#@<6kU}6 z65F%y=aj`bOY7yJ_Z;D!$eBkTpSXPoy}^`zVu5{j+?6R^@7=+Ay62H#o)Jq97a;Fe zhy%^^lvc^L16uxAgKWtec;<3K16VIe94Qz!Umi!V}bxTtX^tQ!&fH zL!sD543_otlE9;o_x}@u5Mrg_s8MA2R{P)-fh4y1s(w@1*on#FR+(z!F8k$xwkDC4 zaVRb;E)y;p5Sd*vP1w8(#8xg}t3*{NYBxX>yPS8qXGbodc>)GMDRP^);vt1EDZcHM zRN(Jg6hCBY?slHdEv2=Y#05D(gb$|7K5#tFbJOuRFAg!BNk3i}v14OQXWbXyWLU9i zugs$aX=nN$f0PgdqJ6fW+f(yBt7l~UO3Sme=|_8e3mIY5-5k*9|Hikb5;loc>#unT zGjHpPFb`I|4uUGyi;C{GTM=H6$FG>YbAJe0S~s5-x^$u`h<8YM*o{TyKUoQ(0=Dg~ zf)=cJ=Z@>&`);nBDDH_vCqAq>3x8FgcUcbpR{CvbNv&D!&EpHV7?jHs7~OBh26LRZ zS@W(A&qx6G!P2E*?FQGMQsz%K)GY%E(ziA+nZ$Z_&4#L$hKw=V3L+8l`x@)OVU?@O zcgoiLq<2rbpP@(f5Tg)UT*dP`KVSXYmJ4Hd?`#n|T>d!ZQfs#!o(ySq3AAXp7U)ke znPS<@ur0-rk-j8I6bP*U76_tbTS6JqcZSP7^CVx5){(=^KcBxOLPT{(;`!rSm$@HG zM{YY!*8-Qw^7DDK$HlZV-gY7Y|>tF`f zNc^8D&V6MH@Kp;kK+;B6CTa^iHpTD@nN^GD#t|@I?@#H7d@x!M)@4pu3>vY-f)BrQyTF zarbU#a0`H)BA%Mw)U>~ZeF|Di_<;G5extue=`y~Ubh_DKZV}$eI13Y;`)#)66~)&7 z<9nquoG~5g7v-wWvppt9Yl>Q@Y%Af}P`Gp=p|2qC70g{m`P?ZSdlxDFH=?m-qsbWq zVew5eA{lR(GE(5#`Dp-eMTVu%9)zIymdTRH3ab=S`iw8&v!Y|!liAAmn@cBfLs6A> zx*?VYAE`YSjausCE$ZRW{>@F*Emgqw)z43vS$(CRW<9FXV{06 z9I^tLZGN?}rdhPRk9$jf3HQeR5D+0C*$*Mu#1--qn@Vg9PW6Xyla) z()Unf(D%^LCv_LCs&4PR?uy0iqQ>4eWv&$-@!jeWqs-wIdmI#KNC?UCN^FVl>dUVw zwcj7I;M)r*1uRyIeb^;RrLJP$qNmRpLtAE$SxlXtPsR48m(2}TL?+Y0oEu6&$!qz_ zkyV$*jD~&3>In5!VNRR0?Hx|;?-%KW=R-=n^LHt{Iyh@Zd=A<)Oh88MxpYxhv zqW&sIUm3OM7lY2DMpLJ2WAxA^MiY@T(URgV2^dU|^u2?HQKVx1f(LS{j3DA!s_Vb6 z4hUbbz0x?@#?z$LAd|5#1GlGuYpYpPdzg}SkL250op3(lOsx!^3+Whu! zX#Z|j)f2iArt}6g%iJ|3f|zHb($Yv>wXN!J)v&}`x6x=Y0QFNZ$TrEhH^!bxcuM zVop|2+4R#$0mC0ThkPcy2uh-cJ2bWsD45Y78i>nQNdvg$fY9_eUAsZb--S~jqGsir zNCs?gC9KX&$bA@?nu_rB!Uni$&y!q-YORDK_p+D=VO8>#-T2pj!0ojX88 zK=u`j9a{l&lk}*V_Mpm(f?oqeXCz;iEUDlqwJfT&?#nNaZ!XpMur5yG?^mZIXWrE+ zW*vX2!4BI-hW?Tu=dpcla;-WN^sUD-6|(w~J=x%%LLbtd6lrTVzcI(NA^+#ZGJ>Wn zJ>+SZQG1FVcDiBrRx%)Yt@h5_o!G8eH0fY2^-iY0WB`xzyE?8@#pfQ~G#)~w&)b4W z>$)J5r_mxbqnAP4pt8-tPEDIwb0~?nY4Ki`o9S(8@4}ZJ-X4IH-&h>4D$QfrbYiE@9ZF<0vP%_&-k#b!S*u0eTzxep zF9tM-@?UFD)ABMe$>HlJ8IBc;ImP#83~m*>nlyV1mnn|hxCaguD4;V`ixB8izR)}3 zL54LGG|15N*+`x-WK^=f#Qp6xtjh1 zQ28sK5A1peGmzK}>EvJ7AyDCQVX)847eto3#eDo@(cEq=m631dg#1`3M@CH4q&2u` zols7>ea2s7?Kf4P%#GT!&G=1vXO7qPbFS?zlxf4($o<>c{+hHycyqjgX}{q^(8Z+% zwo}h5xM1Vji}#00t-WK6U>VU)m?l!@&B?bj=yT)lnTqHA6w&RSTf$;%Im+~TwF0j$ z-#+N{g&c618w4vNqGf5lN@E~BU-8|kPBV8dDP1eBy0?q{HL{+8k3M1iR{B)5E<_*1 zKnWN9ta$C0CN3a4A{XUT@d{{xacFJaBIo%Z$mU^=AIjg1UDocFKLlIW(P_Y#mBoJaA(gu`*(it~}GuQp@)4rh3w)G(b3 zsPSp&gX@`_-G|dBn{1+>v9%PTfM*TGf8ftXyO0QmOT zvteml*T6>1qyB}!CRZ;hao|L%E3J~(3^aRCMBy;R8jM#DY9BFLkG^)ks8A1Mdgspj zLd`*ezou@#s2-5m0_`{pF|Pb2cT26|Hn54%Vb1vJGX>c1#_Qawc(SZqOMB%2ibOJ0 z--<=eCd|&Cb})}QK#4m{ni?J0Uz2Oz{X)5h2uhc4u9)cH_sbJMm)xK7t?Ny_Kmnj|?%&LlA>L3TK zJ8*F}m*gA4VXfVVnG{1)d%A|aCKRYpsPoqz1d=prh`NqKsFa=eOc6Ms-o_;mu5CMwc8cfLv+%21R`&{mncIYFc;J>- zQuxi?<`efA1Ds}?3&w@cc&@UYLP^~2`I}#=NuEes%%4hSSu`4`hQ55#;5t;Q8j5gQqOmZv^#OmRzWEP0vZ>AkN zAoS{OuZB&%&{@Lv%;LQj?w*4sEUxo$2({Ld-b}22({qco)%}wE3rS)^NgsLOxM0Pu zE*ZWx+cRaI-FdjJC5EW3itdx|*e4ObEVpMK!S&oMp>DfDG3{x{bGL3u~&ip;H$H6e(fP`Z!Iy{%I z|ML`Y8$C6_}t)lR#j@0j{$LT&(eRZVBWUEOIxN&9eLYyGJ_2x(Efhq zaMZ$~Ir}_lTZo>9Pn`ig!+fDwa=WSBmN3f&T;0td{)M61XJ8l{i1IVRKMJ$0tKu>_ z<4}`e+5DuOwbuC2b~zxs1)b3~LlygryPAgQYVZh><=qnd>D5w6023Ckf;6zhQvH0Z)flMIZQ*OdhBuYlb3iyfY3}*un2A5!(S0@Ys>6rr`FUU zkCdxrfm3bl*$}R}Ok}sCMb4HNZQRzJ?@rFD{u27rXaszmbwEjA_l+XkNe6Jc!tTNl zbV+=#COKQB_+j{v6~@pV(nxz;%`oX#WVsC4Z8-rJgIvmsNN1+un~7^5^k2W&S0(aI zSL5Orem`wCr3p!HPzW9JFG&uj0KnR`C=xHPsn( zVzvjz=1+{ff{{@p7gp1DfKxBAxvOBirPq4q&EYl7WO)9S@UfsOabK2Euaf0&Mw;^> z4#6psbzQkUw(lnzjo7cKMTwny;@l6Q7&iBPx)qZSob;#3_5Dk0%GBuM6Eqo~NRRB4 zkAr2d$P*P+5o=x5P`$9-?0hZ*DfAN0Qz+4)S5C7XiAao2$Ic;=+vk8-G|-B8{4s%gY4|*Xc=-@ZH}A7Y)q}qgr8#u2S8)>X>g#v;qr${ zD^$_PMQC#oYPT`!3Xfq-6goF)^WrEIK7}M6JV?s6wCvvz!<5v%yK{LPLjjiAmS$}( zdt0jT-QYK$So{neKA()+vWua5gAx#t33RUTQx1-8IewApykE9rA?HbokuM2v@pZ+k zQK@9tU|q$oYHA1Hu$U^eH28kZ1S zDT;byD{zScxhN(TI80) z(g(k*@07VucieXsHEk;WKt<%4IbE=6qH2d1#*9$~Y5ko2q{ty9K3j!$f-wdto(x#{ zHUAn_o-OLaiR(Mt>w;Z>Laiei?)3V9l-pa1B(w25_G~Y(tEH4? zJG_8Fk%e$#qHJ)3Ct-{7&%{-+T(6YllsHLPch-x%dvSy>lDD3dn>+Swzp%cmVKb;_ zU8jT0Rnq9}0F~u3VU1_r(k$lR6?vMgth0g2jWEs(X%?@tC*-Si#8zO=Nh-{$C>Qnz8KtiBEW(o)pS#B?3;==#w& zXVI_44(Z73{ibl~n?#nk=lFq&T)D3AY7?>CXVQUhOMl|km7(RllUcH?O!`%A4lEwPh};e!n+-(#lKx7*RW6G!YQYy6F?%#74Sw<8yV( z$DZ?th!bf>UmJl#=HD@eJity z;opn5fkjWdjotwwj!QGSM!Qw$tYO484ZpTy?jyN$ejb5w^<9xYFQF`YL1wn5!m_@` zYJHdCRFvX^V{HA{6M0Np@8rQzeBw}Bx8M6a<3?|q!f?;f)&!g03$i5PAzXt+d`tsL4Lqiw$ z>$Vuh79cE$5W6v%NUQ@k%F+|VWSK!Q^&fVmZH(DE~wd%%n8_{}LVKq11 zz^Xt4cSw=h3A(&KzA;BBZ@;lC*M}>*x#}Vnfl4OqxLI#dz<7AzecRID4^T2W5J5oG&@=JHx!Mw#C zx37vv!hbQc&0j`e4B;Lxf9!Y`0n;4sWVoBOT>7Sk#kb9B6mP=}C!Pr$m?+yqW&4nd z$p%81LV(a3XEcVbvGs{}oX=+p9zt$n(D+o&dxsoNo45Ba&suH$wiU+M%H6WRT_$R< zWp%Zhz9cVezHIQ1ehqYb7JS)SyM*-c$W$5d)@=@^rib$XqhZVFChK1gXPl_+OzI81 zt4nSyeaoEQaO$c3K&#J2?Q6JU7`GY(s~WA#V7l&c|Tm9~ebgM~Fx)kYuRQeG`9 z*|=jiwG_sEx{!)P9dTA_x}D`O7*nni{yK7)v0e%;Yf@|zq&DW_LXMkN;?8GT)cMl_L+YNWN^2XoDx9>N;0dsC)&BXzVRHuZ$vcsc`WGK z`&M6_ge)RcX?Dk^RXGA8rEBV(0ExSitKH>cT?l1CfJW50QNhm3%{w*LVtH3~z0kop z3ICFA%%ABAV%k4b8B>XG;Y|aq1P(`WM}*uqC-V>5G!W3i=8XAsH=Xb=x5u=QAw`_dXpHkrv zM-Hsqihf95h(_Updb~t8p{Dkh{@a7SnsNI=Z(lv<69?V#^n1S8I^I(s;$OK(RWa~R zDVHcvOV+lv$y8V2)6yos{UF?2Nl3~{&LA>%pOlv4)E}|smE8jD6mdRGaoC#TVDCzE z%0ty$;*=;K?!XYKT{pTSyEuW9mcMos^4j{d%V^TJ#Fi=vlM=eu(sTofEAUMih5K=^ z41L2B_2~vaY$6Dh$bE;Z6j?a3G$?9XnCe%;d)z|fOwc7yfCCaK=gBTUv}qS$9!Y|L zvwN>x$EeXqTkn7ZjaYr}osBO>@mj8K=1tuS6;6+iy}SS|Yb6m=BxQAU-R(8Ds+|kr zCte3@nc=Lki(ZuXdAPABO83>s)NP!dCyCkmxF9?7{~W*mMBG zfTp4!Ls(CD=u>uV^};Tdff+KtGCW9Z2OPLdzY=@orAGDM@58e!7nZ|8y@7V+MpKn!%NNI$NG z!4iIX!pbCRuc1}19nHvXeAUA)-I*`sz0_q{<^x1gPYEkhdrFhNMoBdBU!yT!$Shn0 z=CF(MT&ni<`pmOR@RP0)^0@12HT5m!4fdLcYhqf&Qq`I~=+Wo2%elnHXD6SaU2WTY zc+S~~(QfRF#XO2Vshzx9ta>rp;79U!a#l2_@(lQRIzIzvSFYm{o z_UVT6I!z*7UPMi2x6}TA%lm(fA1bJu3y5I6QeEryOnmx#^0sQlbui~e&vcgM@`F3^ ztM0V6sJp2rcmab8H?$P{wT&@Evz(7H>-v_@&`c%Vll#D06buQpXk^wQA1eYaXkBvR z`b&HtwOR@;eg3eqiot44*K#u6J(2#xTTOC)x~V*`Zf2ad)8^fvA999Eud?%H_DL;o zK9!%$<#1Q85b36(8EXdzk2RJ&c|&(g@vavLCZzUvU-KU=zRv}A-YcpdVha{wFCoWA zh-p`^H)3>14*ZXI!0YHDVm-FFomi)c^8=#yXYv1qjUD%zjhz52Im0eNuHLv z25bLg`|*5J#?Zk_Mfu%>yrtEjKd^mn4Q$R*QX=p6j1VGT-;(0_5@45l7=7g3i9<=p zhF-KP0xg@#z5?z`UAeZQ{?{RpCE9wl5w5*K+53^dle&8;(LFIigtqo}Can~8c#g|1 zcO&LaJ#?Y@LtmLF^8P_k3GzHHNIw(#K|e5VTKAFX&8wUnefd1-?LnjCeNqC)YLKLU zU1gkCqM<0>DBhnIbg=Z`!OinUzQ*WRTaE)1BKK3z6FUEkbAR{1LjuIx9txM$Vssn_ zd$mZNY!q%U!s;b@SOyO3JUW8_xI=|qJ;RGZ!Yj{o()j^MJ+ZP1`APUIpAWc`Fl|DH9s~H~>SRbN=j4Y6Leev5G7ddbzy)(RGZT8CkSSq>$|g*ds@W zVLeMpw_p>FpVLzTU+&5%9=Pms=@k)NI_=%9kJa4W%{~CsH*(`aV>zl>*k=9M>G}}O zV!U))m;UQ>k6mug)y0vJMr|W>hObBOHTZ|~TNgRaMj7liY{)+IB;dw0vCXx>_72^1 z>ax!Fb8EagsNJ`JnR6fGdxjiYcT^y7LH^qq{S7DYwPU^x-=qe2VO%ANm(?Ce7|4;{ zs#7%>+g9Z{L6_#`s7jQ3`&lR!_Vx+icKf~>HTvnmc6^#hk6^m;0q_NHJNsn2omJaJ zhnF%ph^qILB-*+TC@xB!t5`<*5m8%3CuF!gd+7vfg(_U4>=gwp=3K}1g?KwacpD>M zi7+WZQH3JJi3LlEzKw(zJhr^YDjd|q>ZaY41i3k6s_TUFo$wR+h;T#+k3sCTn*p|C zGQ3_}jrf4VC+rzQ@$RqfUE#GzSPZN0`ME(aZ|E_J^#F5uj;x%J4 zh(5Uru5#-B>Z&lQe@d901__FP`JO`To7~bcHI~G!6@~Xab~HvDxmq_mUDKa{GIRn! zwk)%T)aalu&DvR!7==U>>#i$7%{SFPgI#LMZ|S9kPX-2XD8fDA^m7lZ5aM=Bc#&mV z*eOnxLpnp09)`+N3S%8Y(33!s{iXXi+T@+w-<;gysZ(Sxx@||;9^iCEqI@20KpZ*J zx)K&9mT-T^_5W?EG6Z!;WK?6QYK#Q<_}@6j@d!>uB&pxz&1z93#Nybued0h0*4^B_ zvKAAEKjX&o@;Ka??j)?9CNwHS;tn1MAcNyCtsm|b-)Ee=O=x~fKqrA!g-54PfcEaq z`g@!6Mjw3E^4-)RjWx{$XIn2?brmXs4*C-%nLV={L}diGUVy(FH2?&?IiDTpCSG)S z=V~8tr((-!s!o#}Cg4}fAFop0h#<&O!m`o#=6IOT7|?}(U^N7?%{^-Nz6D0sF1-C z6u1}FC%4P;h?C9V=39L@o{mb!t=<2u>@m5{|>V!o2zq`vowxVdXf&)FUBla{?$zMZgYDXH_ExWhIa zEg`tzVP4JTz7@)_Gu-EcM}?UcL!IJ7pE+y99^b-H4e|?p$*6{CZ%at>A1SCF1R|j0 z({7J#@&-yHkt_t6(%X7Je7dm)5#WG7yq{@58Yd7zG9&89(T3$8+|x}w;`9yio^MjO z2dqG)o1B{J?<5}Xju}Oqn-$YdFS{Yn(LoSpVP@nx4yiipsY= zpxPaiC$>!ghSYJhn6Fn5xC)CYbCv1nw?U*zkoJvBd}$v-;z|CLM=X%tp+QxMC$MdN zn!^K8=2LYnXS77T*8d33WkRFGEaK30b7RP{+)Jvnt_DTzaE1~h%97@s1FaBRdcQAC znj4L9&4HKmtN;#WDWnp0Ey(dq+7*;IqVZcob$O7A1Llt9;GE$m@KX1uT0U{(WdzN0 zak^OAnrFa|((3^fCsmFxTT5HGe(Z}0VfO=TLip-)i`#I+*fa(_J5tSfpI@RDbqqn^ zf|gAf+62)KHe2xw*7u_pG5OCPY!N`D9IU*Ka97IP<4@Y`Cj z4{H822Vf9R2-<8$Y|18RZ^yqtQSvnj-n|yq0I0SX2n7QMPQTnp?Ja%5$e;uv-n1c( zeY4=C1|m2wXo~go z0KKUVJ1_5*+B62_H|f9j{EVIz*J0aaIpxV_tH%>NsE!*3pE4<1YkQVlK3zn#wcEln$RM@j$&gP9@Tn3c}D233w64{gQa?zSGOLi+q4| z5R@*@57gO931yFh;rDM$kvm&#+vLu{V-RQ2=wIUF_Y~qC*9g-DihuYx4BuQ!6UM8;4PU3Z5$6K@1pqtT zju#7Yf4WBEnB0F9Fd_+vx~ZGYu{*pNvZ=__dR?B{>NEEn;w_!gQRK-{NuCILhT6fV z{U(KKnQVf2-bkjDQ%jA^Rh6Y$k!=XeR&3XR_};Isfa2sQADzW2Hk4e>)u53Qy%9Bmi&G|#nm{^K}JS!Y@wE!Yk7$P_O zS~}MwhdtGj&&iNYWlpbtOI;(9)Wf!)g+1vUSDQQ| zXg6PVG+=4>F#@Tad9_B$(Q2|t68%?GK{ZHz%NOwK z8Oa1ffv6gHfJeEU{qwM0M776jz7wKICHCO>Tug}4ae}0mU%aHnvDmS$?f=V=zOX39 zi>A5edA{bO^nUwhI9LF3#V`aoVE7-DdD&5k=dPCt(Xuy3$1cYDTTg{O{XfS5EF+&D*u;VDljr$W zLAQI3{xJ{====AV`~oE{0>v~n|Mzeu#Ba>S*EOvl*A>?% zoQI$iiN>fE<69D4^Ckyy$?eZt#@u|v=5eVBIGp+~yP8y*s?;ddwSG^SRtaEM%`N2J8p0(NkK)v-s`S;sMEEU5Rq_KNMKH zkU4tT+w{tqpTq65dJg&S>?CA<%T(>l2ge0?6M)J|8r~?~H5fsZTfHt!j~}oL^v7*+ z{Kpge=c~r#y9)~8SG58SkX!!UgLm`FILGjOcIPA7kw=KIak78k{OhFC>{zan#Fw-B zNOVcZv=RVraRR9JU_ohhnFM zv|zc4NYo{AFq;=AF!YB2B6rx8Kk;dP9lcDP8?t-C3G{N(G#T$an2iTk{m_pTST8?m zfy^A+vCOA$lY>i{jv5bU#pBNJp$;5n$!u&uJo$;Kzr635j=A0+6}HgNDoc(wykYV|rxD}G?d>s|Uk%;y8v5L&#L zrLbXBmNXzxOh|1^E&-L~JmgcX@-^X9LoN|4Dkt@!zC zqso8_0k)JFvF3E%bux&tSja(uwdPrC#rglR-Q9v|iP)JOod~Z+cd`B7MAeDk`l0?{ zH0n)1&eMjPTj2LNo^fjXbR2d>p#y~r0_bUhBsfUQWPmDl~ig!9&|$9(>*D`0}XHR7IZQ-{E?I!!05w7T)#lJCtajx1IDL1-18% z%p|z%+fzH{%8Oi6c-8;<8abjTcuz$!aoYYdo=Oz<0V=n)H2&aHL1_5W`4qdtuuqE8r?NC@G%T3HISgd1Gnn z21JD{gk}ZNbho?Xzn=d(Iha$scg+Cq$hyig8p~OeTN<!|Gp&87I45p??8-ki z26G4I0SP;c^?})Io#$lG~(I zayCL)tA(>pl<%?ref{V9zi&ALR}5O$mM>6gH?Rk)6<&NVGw>*U$^9oR|tRkM-WobB*ujA48S7HUUbI6K5L3Fnyh ziyHCC)y(pa8PDrQ!whp+f|xE&TO}i4_-dP zh`tnSB)^|sPv1I9JiH+xomXBd?=9#!VQ4LnwhMyEmISQzX34L02-hpnt}zpC^a-a; z=BOjPoF-2&PI^D($J|^gE>ja5-#LR~pinKW9H{;pccNI}qy!VE14i}qBCWf?q2>Kt zLh1z@!WeG z=r~JJ%P2{~L7ollBuJ;`Kpuzm&)HvL)G7^H7skN3sL%1sEu`Em2-bgE!EW2tV8%~J z7{ojgQi^d!4eJRX%D2liZA(2zQyyPA_>$^8M&rLzDrmCHZI_qUHM58A8-~=v{n9o3f(fquFtHhv0nW7jtiD2QLQLfoMIVTlD#V+n^`dT`h<7IZG~2kgR`ng;)P= zKv7`UO#Lx|RY{@sWDI3X<+Rlty(G<4yiuNnBl`K;Y) z7DTi0XkWD+0$hcAW0W$G0As<`@zHlK3vH_Ug&Wqi@%Bp7f{cxSpPhzcZerZ9TduLs z-%iHuKOyt2>U(r#Wx#yjL)G=nN%*M6ZQ^|oo9xC}Bl6(_TE<{PN0SrlN^7%p!;(vwz$);-Q`DL^iE%a@`4il%$*9y7O2{v!6(d)H>FVTEc zg+AoAN+WwCec>XWP7IuqKkx4K5qp~H-EifVI3M*^6?U~!Kp*dLb(bz^i(`Xyu<~PZ z6iz;S5I2l@&T5wA6TT?p;so@W=kEST)P$SOv0#X7%}@iLcaS~OH-ZeVnS1x0 zWimT ztz24!9qs_+_l8W?p{tP6Tw7k)I=H)Ba-LaiA!~$Y>0U*1#B8z~LtSkn-^2`UD--69 zL#03qO@!{yJ!kxxcIJMZZFj~(OqWIy4$fioKB=`fh4tEvnO&&=7nik5EWqSVBcYwm zEWh%De*Uzv+4C}Z>`$v>lc#V#GNun{y?((d^z$TW|2)s4eW-*tV2MWmcPTLfBVa1{ z9@yZ;q%~TIJ`Ibpt{A=sYB`i%^{H@}fw>I;{#0@iYx;C4JwlfO`yT)3*Hj5~!%d6+c z0Pb1ljO}o;yC7rYP8Ck4n|t4QH?|a-Rp+0mk4QgV% zvrlq%;7*yO9nNbfgVjGf$%x7?j z7cL>O2EMDzu^qN}XLi=BhSc`WKxOV8?u^^|?S$v2w{n{`a9K~7m$eWumGT{?PeKyz6vGystW@)|z8rLl{%oIf{X>Adkq+{bZy zH@S^Tu?zkN`W5WDzS99R%Ab!!S#DexJsawMx(i4%pP&95hWJOEuO&J>ABR5+0|@}^ zeW|e3Q#6g!huG4O7J-d-q8pHo0MGr%GX3Q2@p;zKTZVQRMKPZ4ajU7{v&3xb(+oR% zF`5Q*t@>-WIa8m(=+Ysx8v!n6lDk#Tvr1hl?}LMTEt`*8YPvHgU2_h`vl^2! zH+>4+uqE7+P<|WS#v$U0H9my4rduK1*p78vP~Da1Edlo`)fpXSb8r;t+Dw)|+Rg0BdYHQBH`J&B;UA35QLZg_f*`HhrT zXsgcELuR-S4{D0a0V`H9OUT%{6M3NU9}S2}Hej5IGc)mOG{kJ$vuxZ+!E@0*MYbuN|psU}Y@oT%BUnC+oz2Mme2v%ZMMii$dj#c6l zM9GD)$s?b8n~xeN$|_$>zl%w0YhC)1+9-D30;3f6nD65fU4tTuDB|avdE-pE28qBn zYOP4EUc@puZ_6`irxj80RitkL1>g?N7c$}cf7IKD-?j#V9a5d$bCVYoCUoaTG_+hc zqpa`~ZFA&w(HjHLRo|BS@Y*^bp2SwXhTkc|QOs7FQ}sktfqQCa$3ovdNgi=)43 zjsImz*t@Na5;vG8FqSlpJg@Qqlrv~j=e{o~A`!Y{G{O$1LWj_vR{{LFW4`CbNYAFp zEx@$M)aN{*0IsR)Gb9?$whAqh4gE}m*kg!o360Lc|5=n&))li&XLo5Ea| zq--`xl6byO9Cu!p;@nZolE|H9(dmEt&hiyIVyfbf`=rl9q_VRR>Gw$>-59;9LWgfa z9cV+^jiG$5tm|BOU>VhT)#m$CdBSx`Q&;W5z+w2NMF^xbPrAZlhPUeqDls-|!qKnLMPFw<|6EuHZeAedrOvj4kZ3?v&3|UyWj{`|ev)2ncGb{* zmqPGJVEzDhG5^87mE1GMxSp5DVJmHa0+;W`DENT-^iP5-TYY-Acy^xmy>?eF*cnEd zKbeWy@$!s%Epg&e4^s`|Vh4 zJPxrPvh6;=VBMsyPBvK`Sm?IAQZtJ&`LT8<%>X4)G3<|<|cC#bR_)%c|O9R-&BD}k$Q(B4ueg+%_LydK{DSJ#HeU^^*x90HP&b39Q z`5(PjfNNZ5kE_E572s-4y{$HjlW}J4+*L>$OvInO|08T^!w4OtGt+<@P3=4-r$}^G z9&}8*{iWLx@>{raPbpI3oO(Z{jmeR5ix&vY@3M8DCTE?5bQi2oOw^vw=h%c{z-ezm zgwTjnsXzVvOBK8q(&@0BT(u$#0vbVT+Fk!IJ~ z+k8S)F^!^=kX_E|yO;Q5iHw{a;NnRcM#pyf$_C;F@6D^*<^>V(v*Mq?G zwQ;TntSIXBos8UjYs)n>fBIN&+f#dyN^Cb*=#x2Bgy(A;hi{P33IOzmsD>=uf}S4? zTxCimcAN&RVR>>mj1Jz;2ps$p!?i>NY*L?!MKn>k__XVLgP4GFE#!g!vkcn+mV60P zf(8rYsC`<-+agY4QUC0R8@4&k?`jjusdvz&twpMKAFOQLTdP|6<)mw;%g|hzvmmNJ zcYb((+(*b-9u8isScu)C`4*4>z*!rA89h5Cz5Y%_ws`5cSn5r#-+9i)BEhx`uWOraGxq}hMuz^``Sle z8%3#4p--caeSWjm>gh%$d%oR{qcSXF}bs~Q?Zr>Oq9KfpsQmd{A0f<`iZk(!my3hpAA2op+%*( z=a`=}BT#+`3w@K+ZFM=P9SV`mW7Q&fNHz5rOwbff1SSq49IO_q)^WmHErxsLN8aNr z%wQ+5@D=0GD;%~Ry3OlYUdCMIH{4jFf_&{rApvglx6C-Ot^vPXF)vpH|8&W>L9UBk zrElPsl@fRVWohrgEFm*g{`!5IQPl%Ih5qS|mP5;Z__n-6B5b+tx-6F%&TCAy3pJde zD?ut>e{j;xp&EkPvrID1R2WL>K?EG@NmDZPRk{= zd1u*p{Nd_f)KLz`d}dOqp5`28}$=$=1gp_GNOeNa1&wRZHYlH|18HbzuRY(12v7qo=q%AGz2Z|c>DdAD*Nmo3kAQ-_yy zEz^T2ZE7w$U;Jk0tBxDknqJIQ&U#MhWh|!I(yZTp^BT zx8e@VMt6n{|3C!Z)coIRL*lUTT1#TCL4Mi2`D&W^(w*FzF*QrmpM9ja9FO$tft!zY@>F<|5j#hw8f_@% z?+ACb4BBno-nVT8WVKO$8sL)P-o97eJGAv;P+gQj%#IYK)H8kb1X#39&DSFo)(`6~ zKN5u9zdlLKbEa7sN3{}_*}=P08_5rKtrfP)#PQFJ@6Quun|XQ371}11=(Y1WGQ6t? z5&Fo$kLp#lCR`&{USji~QA^y5zBeo*EBq3CHweph8{bZ>w40w7Cj!y;_s4tGpVK6n zrLMc9UvI}WMSmk|2pYa!3SJ^GLbGi{1~N5I)LS?TDog*tdCEKqjZ@``vWlN%nvtt= zJkh>H2dwU8uDyyz ztu;nMV|?I5rFlBL&zQSc95f%G+3s4AG zZ=E%TRQjhRqjldioj$S%jL^^q6?Ha|gs9q<+UQ=eJK-oX<*4OMAyKSap|#3>Y+SIi zb^878`OWEtyk+dr?B(g-d~Sm_>BCiyAf?ncuKr~LlAAAN4dJwt)b@e{nWpnBT&ctF z#x5zsu4V^OcQTnejz{_HWkC{|ADSEGfCZjGKAX;0$X79-vcb=8VdR1Z`H(y%b&f`3 zi+0G1fjtOkx>5I&=7I+UHTmGY@&n;ibBeJ+cc=>;XZoLb61Mcj(#1HF-{|-GHV;>p z(YjNZJh;xI-Y5iN=HRib?IX9{?|6+_>?w0l)x$W5k)iLk*Pv!p$+{mhZffKibpd9d zTbN`*fKA?fE3!puR_7l6&}ge7c~Sn4m+qoK=R%WcouQ1<)Blhb+v}TdA?H|Tm>xul zl;T#T&`u9SE|<6)-xnA!WAV(WSBV?d-D@|JrRdZ9-Q-;D#BME2iOHDvkem?iyL(oj zAjDXE7kzyhQyGOzfCz4+QX-!-9lE9(bN-m=Ut8Un(bAN8wpl)UQ(+9_LYId zohY;1t7X>k28g4ZSA+2wt3_FQuWoj-Q=O48vB{*b8q-7CB6uR6(D9%MYx*npDu`MF z;ZznQ9D%dH2b*Z9GB7DBzpnwo1qmll?=N3cRlt)(m_*%AJZBui^m%kx(cN2HOh()m zmUYd83jiQCYfnf$9dj>%|G*Xs=0I+BV+NK@x6PUg1h$nY8R|@ z*AB2_J4$C4dV9uo1~lR%f%Rj_M@h_J($qAqJ0 z-vBtUdcY9s{>%r5mY7&XsZh(itG7$yk1%Aw$;v2)IN@^+oEu)}V+P0*i-uP`dBQ_Bgfj~be;v(Etk8~5IiOO( zu+06;QU(~aeb(w@;AfcXdjr>=nH6(VO%$q*)FWjWQnIL_(I+!;EH9~>T{QUxWJ~$@ zWMMu8f0%O#<9Fbi9O;{U;#!t+K4ucIpMDZiq5_kUhrIrddT*og1)Nq~qZQBPoM!ZV zw|AGU9!zBfxg}H$U0kG(j@8r&jgNalX+OkBb4fWZ`HBkglTa7KnO-TS_T)a#Mqap4 z?aw^EXyNb2%bu0j@qAaf07@2j;mr44*z*e%g-v(>Hszj^*HHJcOeA>M+g@VgZ|_yf z>WlsYjLj1#dY4$?5%0TAIpA3?Jo~$Vd7@@6A(6@Q?oWH>v0D zq3(Hd=$vdZ%D2Obg^;|LTf}I&4QiZBr+IG0ri3Toe$;B8J0{KILP}?%QQC<$nJNdi z7rSY_Ua$7g;$X(7FHBxa|Nar;V>|dOpsp=e^mX!0RJK&5^o}HwyrCik!r^`ueZWH4 zZy`2}%4yD}B=V?m&m#$wTza3FEc<hl_4{(#A=#JhXO5p=)}Qun_W7BMd3@Kiy)v`%o@$ptL2w_Lsq9jGwN z!3pGE0j#L^OP@gRW|@9pMV{_qASKqFiP~;u$=8gTO!Qf#$F}wDgp_9TO#6O5E?G~) z@Kr|(6)Ajaa+d+iqNLw`mvkbprS*1!?8WD9si|T_lf8nh9o_b`P$YY_Sf-OCY^f3F z!s~$;Yi*>sgL*oIW*wP`5A?&~j%aIft^@O)|P};ra`j576_w zoGw?l99KFhHxUz50VM@wbK30tlKAnsc1vy>quPcZe~Y0=H^X~N+ffeYAQ--T3y#3e zR|h{-EaHaH=%cGV8_nwUv%2kUcS5lHb(?tDzS=GvM?DT zy0j8~^!H`C&xd!2yNPkZpcu^&m33ZpA#N+~EV^4S6!T$f;2RUAL9{+lej~rN$&Fd* zYt4RVcL_)t&Qyu2(tB6LPPRg`neWSkCDV+RLu87i-Pqn?fH5G|ir&8x)VOIu$fjBh z{ow#YR-X{FeK7$`IN4JQtx@F}y=Q2~bQI&gZll;K`l}1LC1fiQqiQ@w0*VT}Jm=?= zpFF<^!jx-S$)@uO$oJKS@yqXjG*!Ftvt^qZQa%Z!B~!1m|A8-T@^CSkqa$PfZez}r$pUcgI4aFNmyxSbYtST`-V6IB{(%1X%aSxsIv zngCJW$DB7Kx6ydN+lXq1edk#^#nkp=)oA$HIWd$#U%BW>S-Pznm8OddCHmC&eS=57 zht3s_kvUcXAAi*}jrX&2BpYFz$`dxN6?fd63ng<;zG$W8eORcDR_t7k3qD~41HRenZ=;8eb+qx`aYJ^t zZs$s&wM6AB!gDZ7vdSQvT2r{f4bkzQ|Hp4Uq~m=%HmLzA(=}2Td;Ic!?#`x#KlXCn zpNssb+uXNNcRrW5NT#{l4u1VDw3WA0B+rhn0}PZTM{`ck^U+6D{Lt`IkK5;wp5Ae= zy#SGjbwF{uyl!&d3zFD6?DrLl&<)9rJVBIWH-6^$!_DH9PB8Y@D2T7L`y%eDU)vK~ z-90Ukk6j<-mLR&~@ZM{&B?5wej79_`;%@axc9o~E)wM(5Q?jo-gWciv1BazXYCBdJ zr)lTEo2tG!`#-gRQt^a7-+9UB`2HnV`qR_O@9GD!YuNS$YVqfvXxI7HAws?`bgCxG zg#nol#O}?fs1?DwtEo-rzY%)L)5nhCOm5Hos?S2s%s`VN9J(64BvH*_b*?4z)i~+& zAfu*0GZO-f(|afRoVpPEk@uNEKD$Gqa3PlwHmu8_)s|dNJlO|AmA2fEuPpmfY1&Yx zX0ZLdLCso?+Em$e1r0dUVw6yt5T@@t35C`ID0XO6tnF%CyDoDlHsNj1(`!FhzTbEk zrZaWlGwxC;Gzc$AsBFbfZU_qujfP|T5+Yo(T3=jR?|hnF-fNow8+O&84vxI!JnWQb z_$wZ@;PykP_nW(D1w3A(y?0|YEi3cY$;fKJ_m7FfS)BaSI~G%xnQaP!j)*deV1Rwd zmhifXY`8#3dG-W7{#O=X*q92|45pFwas>7wTHu22o@}VyJ;bIU-FUXSOItu(aPYrr z|6`tiQpJ3{E+v}D)5uPdYszwbs=sa;1*6g<-u0a%`F|Gg1dB#vR1r}FR0ybP$M>Yu zJ6S@`4qW(`q-#a+jgUHrreGed1rNiu`$}!@by^5?} z5eR}IC@6y$3(pvL77a%rH1n1>nN?1C(XldV-&%ZoFD?{PwxaHY4q2B7)~PQ4vF37W zcNgAUV3AojeR$EvI^*cFwJUR3KhW0tN=tJz&fid4M(a@fLOlIPE=XMJ7)5=94-)TQ zSxWTkI~FBfJ1P{CuXm89w_rPN`lBX7Ss9dCpGuCMEGRQ41HQf)2LtA@_g=6EMjNEo z0c<7@+9gQh1`Gu7fuXTIVeY*1EfqJ-98CR*6|@u$+xaSa-Yt=VwMHtGs%&J27q0i( ziNSJN`3{5Ri6{?Zk77oG=2^Eimrkg=tq8k`v;M$+aBq(tWc%ZU+kisATV^j<@D)y* zpKvfw*|(a@=PV`{!hGL^I_t*cO6pW|2!07q%gi1#>d0Lb{CJoJXA^m(CdV%zAn)Y! zx4~b$)j}_I8}4c>hEcCA$uPm>Z9HAtP@AQ;MXJOED@!hZBAxNl3WM|s%Ih-jX=#m; z@>-ftGW+r@>>Tjaz#FpTBZlo72vw*>{457;jZ?)p|8z{QSB6hhVJesTd)R6vHu;_m zcqc-XS?W}J#FJgNjD@oZRRNE?O+#!xvY4kcfj@?~Q4ZljNrKm;va22;g!d$llO%2mi_9FbI*3d|FK z-KP@nmWj1$m1W3v%nmnoHXWL!bFF;pxT`Y#$3$IJ;d=`mtqmn%lP7(-|H(}>`FefW z-j{6vZ7o0da8KMtF6gPWf^5iu2f5pwH21JO=g-0Wa&}?Pq1Z(f|J!6Wy}JpXdX1Fd z9FVY)_rHXzN7pz;^|$77(n>##H=RE(JokJDuH~$UKpZXRew$*<2S8~#>MP`tYPxDU zkMovm*7w8BOR`tpC_?-B%9gAT;TD;-2!m{j4}z=x2Ax^Q2e0H;K1WGT&oD;oXT)&I zrvp-){K902OZC&?BEF>LvmK5=;g962M)F#H9VhGPg#&7p>iG*TD>;!1NJ9FLtCrK` zOCc#LuccqFy5BP9tv+r3Qdr!jji_0m>x{RNtW1de;vzbIB_OYR29Y*18<$|k+FDR4 zOgxI?r)V{!Em^f0bvg)K_Ct_$9+E#^P-~!^G6HBI0Pi?kOj=kz>i=@O) zdLfmYw{@WP$S!TA2v)T@2O%{R_2-NRYrrV~S!N>VDQyGZHLSJl28n%$fB0aF>&tO1 z$!q=>dY6lyZf_PFm|$d%lMtY6s(m$Z)bvnf{0-0iItXMW9JEY3rg(O(Pz3kcaS|4C2&8 z@X`5n;|3}1o2jM|WKL3@7<~^N(64;{sf`Y5F#BDE1s%fF-lZsqwOtBWo$J~k1MJll zDi#BXug36Ky2LYDui<`LO=d<9#L(Q4EHh;G?Cd)wOV?+wf$w6TLh9N2_1`TSgLtmZ zUC@Dx#r18Hau9xRw6vOYLQ z^#{Mx6(`rLgj&i(h5!jER7<8eHmKC+ciqz1UFeVxu%*4RE*HLRqVTHsD^}lCB{(|<9*m54#xO>oZgn*xK!NsjV;E9wheQ}!KCC}c}Sgu(J5h^ntFEvUwB^=QaU%faxJ$v+^SwMXu z;6-*`onMn_b5^IWKjqE%2HV5Ly>|%)ge&f(M*=`Kx`!dCSX(!yHetDT%Ri+mgI85P z$>PQM0=@n1*RVBNaNzk~6mQ-tC0T_{iV$i+`ZTT0C|IZm>f)=KN^Ugn2+t7t!F#ul zcW#i~>d^J;$3#6~z7VZqpOfs&#gXga`-oMG8&*&jHBD40#u}|J!6~&VDePn{Y~F5h z<$_Hg>V~HsN|`&FT_kevfdrTO>Br1I;4O#;tRy2$6<;CMJ$B4iboMe9aKeGqk6(!5 zY3F#aa{qp>1q0HN4f6JLx{9Pn0B<_Y#X%mgp8s0$1cm4A>#Se8f&8L{a(2($?A3dZ z-vCpx?3iGJK9r1kgn_k$_3O4BEX)FsvJ%(fi#y@q2O_>8LUlrPzUTyg5BdJ(dkuEv z$4!FYJB?}s$?j$34aZyhZ1W!;RE9YA?(J;%G16^sih3ze<^5h}Sbv@o)3tP_vv<}7r-ll&d0NbJPQiXo;mbE-8WnFis-_i-N*Of7$;p3a^G8p3 z_{ruq7@O1E(XHi$}WFft8P~jN#S@+v_A0MjclB_G7zhg<*|h zswayFcO=B<8OY|C_ci!a+w2I$X)7E6x1Y#d4EMx4%zTq=JF9eO6*?M9ZQEv6-mEk> z%x~1Bky?5V9TY<42+3E5 zRRHgg&IwOt1)-Vj#Aw2H6&|?wg}V)+58f)~ zL<*+QffnfZA2{?-rx zEJ!U-0ptjZOkw~W$I}px!!}6+R;S}E(!QOKb0I&DA^e$YxHl zX*$&>Ab^`0ASCZEx=^jAsB>T>64|QjDuIPw4eE$sB67`XuTjGc9!m@@%2aOWqBf?r zVPJT}rZ1^p4~Psb9?qab)%k)oTftcRP~uy+a2gA0N>tIm!-kLjA=(%*?k+h@k>}ST z2>$^v1vFx!bE}1+ultn|I^%oNTbF-8bstfa1%P`o+B=Kxjw7KRT%MU;Ey!M+R!sx3 z&%Bvsq}z!SMNMLZjDPvxY)?~_FZ)p}kAB&!o*dj$_fUg;wzCkBC$_wr8S~!~ntv2=z66*= zIPO=ZK~N(;(^MYcLF;+B#-xh7X%?4!~@>cohbG4boww^=d<^APYf zx&LCGsi;iJh)^R!jnrum7J@27zJ~ndCTS(iELrBOiT=^9_7U-Rf=Y~+k%Za?3!ZrX zYrC$Dx0DsCMP&;dQ{d%N%K@j)o%FmVvqtSco0X~9Nd?v-ml`qFyeC(z@A<`8561OI z^{cX3E;6sRl#{V69&u<@!wTrMU`kEe!nAUyoVQUe!8NdI)?FXSPTqsOzEUKX?_$^8 z`oL||xsU=4pEIGlYOog1YIk3nq!j}_b$HQsI(ef>op|R}ZJZjg6e#~N{6Yb0Og4mo zB;6Yj9Umc|PQA3za5v;v%&3Z4N2)Uh`+QVRFu+woc=+|-b}a}Do&i^~+~VpDHO)t$ zX+Z)sky~^8a)+P?H&xsum~#i$x(tHJ%UD~z`qG+ye_)88DdNgtYyRxz02DQz`c}2; z(7LN4BmAKlo2%=gZlaGoHO&tZ3%0c;l~{hx)do6LA1y1JoedL#(u#XZ_LqN|=^^Ys z#Z8VzczZ7Vma{Pt;SN_E014y@Xe}K2DTMi)KM_EqMIX{n``A&=y;KdlkW=2y%e~D? zV#nmpC4)dleDb&YJ=kYKCKuXS84RC?V&|6#Y`AJEqU3KrQ&iu%6L?4Qjg)pqoczXr z$7TeMt-ZBw4HQcoX3L`~9VNyO>GPK)yV@U8oO=cJO0c+nB|v!H)(#VoW=3V)4Opd5 zlShU@hSP4KayLQy-4H#NiMi=-UK?d|D;_vJT@O(a>u-=J-yg zRZv@H16MYD%Ks~-Xv&|!FA9eI0IJuee$mh*gEDS0~Ba*o!L_~zM^arDk4`H714V>hx+n$WCJ<6kGbxea5(tmjXF zr^f5S1noPya_hL=-?X$Xc~Zh*5+5#j4=E3QUWF6){T&^#E3_IGRb;*>+k>$Vz$L`x z*`-Ql>;}Dp1bUmMG>3)9wpcfEu5$kNX2xjc#*N61OpFX^Py0QY zSdZbqm60O2T2buCSCw1s6ez=lnn8E9jP8K$>}IxRA-|p7LEVk#C(UE-lF3>YPcobxG`$C(cqgURjxH zMRx9uMcE%}qlaUN;#(`PE$7y8nsm*Nqd{I(UoqrN&h6L?c`|BA8rRHciRt?>xgz6RBF8=}oRT?-h%Ts1`pZSK(#)EfJA~A=yT31w0~#vnA9s0??9Z zJrvb^RlR#h?`aF`(#%CmR8-uG>w|%lV6cNXeRO{r{yAdlcQfIJ;2uFG?3e#V59-78 zspxOv*nQ>c9@Y#F5kAR`E|wdn(^u%la9%e``vzI^{H>+p35&ytd$UGI*X-npdKu$T zg7?a^Pc#XBd&dI~|A8K{Rv#l@;SV4Odf^G*1Fl|8P7uv~Y9=S|eowv`!R3pq5wDSv zGgs7F=FDAc;LZ3DWVj`L`>H$5ZADQZ?6H?9>BAb3)hDCA?#z`H{Z#ti;==Qio#gjp zgw*tTVv&@oxy!EiFOo_BWJ^fy{Ij`0Z*K=9Pv*@nVL8TFwW1iFOp(6~+uE5GnpMNq z4R{QByvWeBWgfJRhDBm-Swf5-C*2=txHoWC(7%%szpHLfqVkTFaLwY-9F)0$2YL=71yNDF zAYe71*E;?|MM=?sC}=}aS2QOY6_vYbY*VT@QfnL!TWMyhIC>2K-g;IxG+Ln9S8^KC zdfIvkv`1LIB7L4Gz`bP2we5A1oYE=yS6v%Qd~=MAc{NO!k9>R7 zN58sc+3kzGBn~t0iHati&g0i?v7u}y$R$4(EK>99fokNI-5;zPY_(mP^vc+w=PF1|)SjQ>(_M%LL z9Pe4q8}~Y_*)X-x)P4;Rdhjst!g2!`n-b2wG{N3Z_qCORqN~Kn(*ohzR9Dea^;hC`Skw|0?)uyfCG|!11R-$sBX?rTA z=fqG zV5*22K<5MZHm08Qmy>i-s9uNVPQQ%@l@ZSuoB->yL$!GYMA?JZ-wh%QY?{A3BrH7ebIMZ?F%bT`mE$l4a@8kX5m`nkpV(;X-P1`lM-Tp=z%FpV) zz$1MXOV*RFT46RY`6?r3$W339W^snv6zcIt=`tMTP;WZ#odzWkG6LL4v`We@Djujf z&TrFhO0BnwS0{9#v9kB@kHUWby(Y##fv|09S!X#eHpi}X9o;^UM?_c`#f3AYat0SQ z4C^@unChDVIM67>$I5d~h6{JQ)E7!=qxMBQFS&jNyY-vHLzVdmGoj(eu(O1G;C~VI-QiUK@Bc+Y*^<4oQbyU1O&QsvWG8zk=g=_|(Xb`i z$4=Sf*o1OOIMz8j2S-N6vDd*dey`K}^Syr8<&Unbi`V_U=i|Pg_kBOjE*+m;Sz(>} z+Gs6r^Cscy3h_s?9OHqS)H4HaXT@7F3}%indm9Hd#6G975?*Ctf|50L^{A>({SqZs zS|O(NYlEZe+6J4%bb)q%FuagkeyTNN$|H9{e0w6F zwLVN;d=5EIBuyZbd=;7!^J~pQb8=|p57PLJ&HW`UDl3_1YP2#(rCO+z1m<>Lbe{JHvitsad^6}MUE*3rAqsvqeOAJ*Pt6t(=Y%=>MBNop4F+_r2~F-^dODqXX}lhrx`2V{24~2ydUID zN=1q(Do28w>~VqqD)&X3>A}aI-WBS$ping{1R|xO z;?XYQU(14$J7*$QeMUhjUBYkOx)z|5(TuA+L}OOWX7V^`RI-EmSe${?jCn^TzmexS zldQz`VXy(I*r z=wITbvXu=7c%rFG{Zc!Gb;AAqssTb)Al2x!3!tgf9Dz8d3cP(xBwY=B;byk4+OYgA z${^vhAr9QN=x%ql!xJKQ#d95Kao0W<@*bvj3xOBOPFtl$}z|!s7NcIM|G1_Sn|!o9s261>`L`x`W4_g_b~E} zfv{)v;cQKk4S&_;wa~hq@(fi%UP|1B1k0QLVf^&`bw_`Q&Hjf>hi7_EB09oHj~GcR z*y4u z`yY|zoQsoZPYR`fAJS^AOyL!b&)(=|tnOcd>J||60cKi|yOUeW_yPm$_8m`l44@M9 zlO%3-XdPE>_aR)vBL154n->cQQylq~5Pq{)<8TT~rFp~RqlxJ+pcn5{=h3}dPXRdq z{IGOJ3EK?|jlw7Hos|C-GJmPX#F0}k;Jh8_RZUU(qw%$^bUlH7>&RN-Gku^8H&MB+ zftI9?4=&lvVyAM$+&wK#1?EuQ2cj&h7ysaoiGn0eyjUM0K(=12i^>^uyivKXt^4*R zF-T}$Tg_AFi7^ZRratT}IFDnJMjGlW9?5g>Wb|q5@bKk1tZc-Ftx>-YRT|lz4EIP1Mh`DQEc~3I#hIyZGk1J z{;N-4CwKo`x*Vef(|fDJvHvIXg~yuY``r+E1`%`f^~Psa0FAnfQF2=W)509`W@bE~ zqm*!d$1PablRMeyz2)x4Rvf_P8Z=L16B0`rRL}lLIXl;~{de9wEU!x@r zF4W*5>d%k6`Un8(Fqmbs$qU^x(y<5HM0w(mo7CH64zkn-*w8D3ZxeldSve!lNyG|0 zoyG(x`ta|);4_f<@n{>Q6a4{%GE6`AnVlIdU4r4r{&f81!wr;YYO~lYd9>FJDmzZb|ZZ%DduC zE4u*wEO8Zpe78T38IA1QmX~4R)?JF$bYTN%14lYZf8E@&UA`ZbKKma_s>`hIN6di| z#-T~JahdtFOFpds=dNk@bx0(NyssFPzJD8heGXLzMdjT)OrJbkcnyHDyT^}7XL)eJ zXR1Z`4$JNCO~io)na|<3FX?LIa4a5@w`igASgN zx0|BRZGhA(8rsKCNG{zH|G&Dd5% zE!o{}rqf>z)n&{6iZw)p4?ALjstgss&`bY-3A|BT_{$nOK|hzJ?;68dMySt`7+htY z@2QxInRCIyCND6>MPi4c%@rSPy?V&x)8{%WF0W-;Ndp>-7dLR>DDj63Et~K2_4>|V zzEHc}M|f#is@amh=MRMF=2xKgV8FhEb+9RGN1#hfe}hu-dskM50TfS@H*$?K8*!#k zI;Wgo_UtO;-i)l1_P{7eGKJS_qZ?d)wYIL6)OS|&U0vX`#vAF1O>_C41 zSXDAb^@l25I^}oaVQ~3Tw2Ww2+ket-)dHj~>~1p$TmlOiI1W{pYtbC!^~?ML@tP?d z=Foj>4lPhx;^s&MgYN}0XV*Cy0E~qGkC7KRR)+zR!-BleOp|j&UxV?3q-Gm$;7KSi z*)e_~E*4E`gdAAI;s?G0o+Je*B$;)5r|0EG5rS)?Pde*;-)Tmu97w#D;aqki;jT*% zj9p8@`~5h$&{d7R-CJWSh)F->Yj?F{e4FmlY&LCAGZCJ()JnJVaTJ6-Buyh2&Ol~rTw~fnX1|(#&WsaRjXrErs0qh z-jNOQ(p|tp)ld~8M}e~)lJAlthIH{m&h7gmK;10+?vcaci^tfM*D&to*Z^>p=#<7s zNJ{b8%95A^mn0Q5_jN#Et7xb-YE3bwQVSyl2`{=scHX7!#R+^V`ojhHB2J6KihTpV za_Q5^p;e7#-5jUuKAB%y_wSN2r^O4H4jZy{Yqu6t06&$9nMiVZgB(!mdrAHRCg2x$ zWgqZz0)Iw8cv$+%c;kG7_=@gYQrpnAjhp(}F4C}M-Olo%R0SZMoF)BIM&$%>{>eTw zU%KBC3-R(KLb^`>zoc9{N9c5CmPZ|r1i3}o^^UCgDos?16O&1>0fIaekCg-Z)>=tj zXs%8<^!!CT-`Zz*2`B6(56~2ETE*a2jJVO!-biM@<^jo!zD`qnRxq5>EG{H99u507X2pa78&GwO0P<}cNHZ=U>RIreToUGjz`(2 zQ>M4jt-zDeF~L9&wV5wWHN+V0S5t|E3#z#@4|OXNrx!p!L8%HO)&OTZlf!Lt++-tn zsuFjfsSF{09kwk8q!~XYGLCMP?+U)B8(JxKb+p@p{~H?Vd)nL5SP!8L_y0_dc%G>Y z9zp1m1W7J@^27iICf@uP0O&`6V0tTcvgSqJ7fOkQ`IhV*I=L+N#Xj3>{CQ)L84^{W z5{xK26O?SQDMK0&V1=P+u`v}lYgB$ry%f_rT{b}+(m_J+azDdF_j(Gl<(EwtYCaC7 z@6lwVmj=6!XRrRpqaSgQ_g+ijIihaF({o96#PuBpk{esO{S=|mC9v<<8V1W@Hk9{` z=jJ}69o-u{0tjQC+ATZ*T_BvhAcK*q{+|pc4w%5);5Xk_lrKeZUd2|CLmp^o9?L^= z|6?D~2<=xuvQW5?9q^z%>k!VegqYCqy;*qZSB<+?Kz&qD$Q4}G>yM}vCWfF8 z*xF*eT!$>d^}mEX}G)aZ{s zCZvQ{`#$)RS~G3CNm>pnN`choW_0hV=lMv<6j?vOMtG))T^cJ_taG#cPR^mJ8(!4$ z?Nk+HLMfJ#l-I_!O$9I2%u)}TCCXzeFW8kOrU71^dS3g}N=v-?EFr0By5-8dUj>TO zwF&aJvCYUOWE!cE&5sk>?|8t?wfphr02EnNWE)u-7=LZ2p*o0qV=Rkgh&# z?!%gyR9L#gcixT(1`d|Q6>9!8>W%#%GD5^%p|NW}b>nBjuXEhB{mwdpQpQYg(~?k& zFY{8*2IeC;4-B$wpx1)%mTbTOIy6x_ z(&*%dE{|s)hrG>l7(g@s;>&uM$bd6K3tD}{Ro9PT@(8+FxXOG3Y zw{u{L831P~>`I{!&ODuK)cy-V^#_!VR{K?;HoTMP<)TAW3Y9i6df4xonpLT5U)H{nEksb)r_4yMs4Sexm(v5D!s533;c?-` zHnokoWx5AJf@8LA{5cx!iMdawgJl(S4tI4p|ZG?Y~a~X+uNpdYs{xKVN}!9IpT#>6-KBpcMB#UWfCHwQ%ncJQF zqh+XqhA!kK@sxRUCfyWWrRk@&$w`=fIM?~IL!%w(KGjkeaB^Hg4~|jwCB>q08?*`9 z&5GYw)W2nIE9Gz&fHsB^arP82~NCW8@jls)5jRSusa3_ z(q$0~HAnj(@=#CUv(l~b*hNe5V|&B_wYQ7v*+GHpy;f|mU_j@Mc3DmUqpJ?-5?eB2v`gUGh%!tScL9t^Hc{9d0IWjpXzp3BqsjS?Y#c+;>oKoft$ z!tL&wq`&2;7hmB93VlJ}j(~;nwdS?=gceW9&na@d{QRlvi&WJ}$@6ZL)nk!om#Ii! zpa;3yaH2)Waz1`%geDuM-ibJCYhXMFPj&U{N&e}Z9|Okr%ge_kuJjsO<|}PmSHYqh zI*k71`AqKkk5bJ78R7R2;kUeby6GZO(!QAc)4nl#A7*#~UM8m#o(&sc9VZtO<=QO! zm!f=u4O!nuJNetm>0wi5gf;{cV=@gz3a{T**Zb`X*m4b$=h!xB^jnihSSsj`)PGTl z%YEyNCCEaP`%|z_mBz7)Bf%n9IVE&xV&yu;nirfJyx`Q|A(29P3&c&b%C~HdF*dOW z)xeCJB=_a}?!59*$6D(V!MoIQ*p)CwAi#36x!BDe+m)z{F9N>L>=I;cH8R-X*jm!V zW>mf&E-}e=>SASX=6d`f*J@?y@nXsMi=vXZIw*7Eag&!@){5%CK|ljy<;=dMf<39F zs@J!;-p1P|sAGXB|Hk2ADfPux*`#60$k3EF;T~7RoJu9W)0DoY-J<+QDam|V5DtL# zMJXECCFAu}7R-Faa`oeN^K-uG{K&&{hM>Gopg!gzAjvyB!%J=#IV=FvGD%z$|AV}a zyx{J0!;djo*qTIqp zz0B=kk>wY|2|l;@i$25btvE23I4;LWug2S4?a)JO*e#d-i|9 zk$PpG=ke-LT4;K5+_e1?<_RrehkYMCllq6<_j6iT=o_>k(Hn){_M5i#XJ6 zUUc+_ecKP`GvEp4o+}QqK!hBd@MIqm0aQCfwm+D8n0M##F#&nnYpA9oX(A6ysR4CH zk|O~5Yui`)=y|;Ks=I|L=CCcr!z|-N{I!+H8w#r@cL+j&)7TS*2WcWm9nKz#WVLHu zvbKYOuFQ=8)0H1DV|>|VUgW(7sk~{m!?Kc%Ry>(%BjykN&RbSquNvFC^gEA^lofuV zsQ;=X67fW(-})}d;B1!8V3eI83`vMDT?t(_rm_OMkr|LSc15G0X{v0l!x>scXsbrp%e!RQLoug$i=`ndHXd~O#cqH>>f_cQewr%vz$K>l?tH3-T zfU{NI&E*r%+X6+Q)yYNDzSpC;IF}hG+gYe=`f>kOJ5sH1K+hPL{q#D^wXrEbFQS8} z-9@3Qm&LD&Ge@wB=dbJSzdD{>X|g}GLy+=%7IF>{G(ca8W|1g>fwuxK%ZVK7wyQJs z%;#THw2``b(GqCAXm!qZr4BupeIh{Ld+_ojVu{znmb^P?f=IfKrQ$!*IQO8P#=Rrj zu1h}xgv~lm(Fon|mLfGpQ_*+CO=Z zdNNO->zZYP@dlzSZ&(czcFU>1zx}Ju%GZJG7Wl6j|LBuikguxS!ZFabXch)jWm}oJ zx-R{j^m*VEO=*kyh13dH$5!^bFyW@^_VW7Spa^%SgW;o1Qa8_ymx25AN4uEUs(Nc9 zmmRp?uuflF3JT{NLJ#ygt-sa*W_N&-Xu^i;gJF_FMzJmp;`~L&Kp}!Mc)$D6zjKI& zAiw!IPF?fCupcSS!BGeA$#&S?pXVeOI50N8g_Ag;OVDV|d~o(Hu)s~3C`q=xvlP^L z=u+$fl7LdW@Mt{ojy(rl);Sug@+F+?z0DgW^0Zt zCTsygcfhej%=;#HX#7JGQ zVb=^#j0_s{Li_=VxeTL>d#R78_sTecJK-Wwjc>-+h0cky|D6bsOpS2Rc!2`70~-GR z3dcxz-|i1&I1JlB>PFUVp~s9%rm9sRMavzvP0HofZ43L0UG8QcR6p_D&RYzzn8JS? zgOh3p(F-qCN8d$;PY99@Wp5(#>qE=M{U0?T;Ler`;9Q@bZ?{o*Y`u@MdN_LF_b{gv znbv=Y34s}&8l1HS3fDLH`1?q~1``k5eP7u# zhNG*u|NEBx3zZIXExvNyUGC7?62fQE|Ef5|f?Eph0Ps^ zS|uIAt8i_!!OtnhWj<2Yk@U0RWpc9g9NaQCNZ9}0MvPAwUnRq7^d6p6g(GB#WPV=RVsZ-%Qut{00lm<6ZI(y@8`Q{I>0(z#2^F zGatL2Q^vWc8~D92P$I^HGQP~i)X}`QP#D|e$?MB0@9okq37jwOBE}rrrK?09QhEmPa!i!guA{g9G!{vt-y61Nq+D*_*h`+5nxYdC|I%$R*Xw%q)X#XQ>P~} z_m!GzmEKIS1J#o4^4*LP@}Pn7iSQ5e-oHQ`UU|dg6SgCP=-EG3ZpD)`Hm!>hyj&fR zu%}w^Ac32)wkhm3N}~8|gX|9w*`WDdX@4GGx7EwORitaHq7#j*z_86-n@GcthZ2z_xWLIt=TAQ`x*l?6Ck%BdI~l2hfphc&DjHnU5g1s~@fY!HIa5U1$uqob zX~oCM6Hz~X_l1uSj@<{Mg&qJ2<2^I$==y79-CQ@ye={D1z1r+_(MIQf9V59FzqqV* zbv18W+sycm@5RX4V+E3{pZV6C&;|59RXR>vBeMF>t(U8iswTufjZjra4o9aYK1{{e z{4CfA(vB+RLNHS>V=%Dc2-$hZcZCs}Z|O?AeCKDyCBgIc&ZwE!xiK5x{m-w0SV43c zNgkCW(DSW8P*O9fl-^}G{zk5yiDgHl@o+AgRkicxl!$OZ!kX$?pos<5PitOb{N`Q#QBT4` z|5>#EXY~P1QhOd=lT+ij>8r_&%ctUj(cJFSx?N7dGV4pCKbUERZy z$^%4sRBiZHJZWM<7y3$Wzx43WBZmhwQ(-h9{gRR~1mGUON1j`r!itxE<+is$yw2W^ z`TDqr9c{Wy-|VP>t&_6I?m+a5FUJ0J6Hk?{VR-WZC{z6cjJu1ZM)o7A*tcWWe}7IL zj&;6;9H?%;g7vCtzt}>N=Z6T4gA8@F*0l3tb*jUduuHJ?_<-Yf@_zSk#xTkJ&GLY= z{?FesdKE9Y{Oo^f#BJT5lKwK{rD``cRBuQL{1svje`kL1#Fo&$1-^WN+<1@w%l*$^jEcY*t;r)yj9yBp7Ye>dCPoiM z54|+fI5B;rbO9R%lu%qbu|I(4J8-xK5aoT*B0C2x;o6$<+4Ab?Tj?EH9~<#EPSrkZ zvuNk&r#7dv^MIY@oo)ui65M5+Ri&IfjRuWQtu0&iZKji?=VXN6Tsey{|{)+R%8rTiuwxMR&Cdc+;ZBJ}d*Ley=;G8(*fBOm1-u2fv5$6xi z*l9|ZFhNqx>Cn=~e43&xR=Ivm&Z`c5Gv8$|9JrdPQs*A$wU*?ORruZ_yEP>3o1>O7 zv`aCc9p#`kMRGCQ}$QEH>X1$x<@^;WKu?kHOmdTy=o)!~DHXt~k_o z(cx^iT5@(kD9_hkO zce#z%v%(ke9$4u=19n0&xjbUYkl4FD=AR?`Zq-0)(Y+8NIo3yoqO55r$KKwG*fUtx zb$_-t&hw=8li}wSjo*t<_2)A)|IVuHu$Hs?C6o?8XI$fh5vd?eZOnh-wA2u&&-BM% zagTM(XL7?Wf*dZ=W*O)d#l7?H z`rfjzBAD5KQe***x41lTzG8n=;eRPY{@W1B^tS71OC$V9G;U*$wV zzO($p#VZes0z9X(zG34o z6M;)ea?I-G^TLXb15^k2^1FFybITA2pr&Js3Vqpa&P$4;&0PqNX$j z1$57Zfc-6`>lLccYN)RB*a(;^yZC8v==lXKdkkLC%&1d6HQvT%mt~ppM0>R&i|j=C zB+#h);K{NdN|8nW&tQIf@finMfH z_4FNxtN5*jdOj}KuJ?B+lUsVf!O$m&#$HLf#C0_yPboCbAZ&2&R}&__9%$xB8l_x6 zxRXk}&?MdehMC>YY%e{LRQ_8{DE=N99lQY5Ds?J;Q2AAXsZ>2rYm==}VyUO;V7|JY z8aq(U{dWB=lK+s`>ixPy{@~JZPHW7G(Vk!I2f8NJSR$GW7d6nDH1~9R{Mg|u(J;5G zjcQ_k_eWED!mES&A;r$3p{Nhno3u|CKpOfs^81H7$ahGfEj(#F)=LAgiMNrzzo(5X z0UrAKh(w{hhP(ZM9R5ZsqAGeqRlyg*$tTwt1F6BH;AVgPvc1cc z7$ur-%^GhncEs9&dosl_B+p6Uoqx0}hcD^pp@@%MEe~OL@xI7m`Lg%MaB#o;P{g(F zjhDWSzPQG|n(qifL|_y|($U^;+TS7SPVxu*jnMRqoV7;P*;VrkuW9l2AK5vKg*sL0 zYar+Vt5c<$*Hb$EAv?O2HNmn**fgM0$j zYDZ_E;1ys%Yv~8aC)!fkfq4EeJL#phvBK`jWwc<@rS=LaRlMugZPew($`9_Qu)`jb`P0o26AsWn$0b>Gvb_cdG5MNi$s_ zk+kynHhlwJJ5$c@rqGkB&N->~x$cP|jBfgytUKnA>vLIW{lIiffS>zZ^-1(3>`2bq7AT#c_F^lKW+KRC&O!zP-Ml`C|e9U~bBsmzyGg*q9OMmBTaR z`D{BY9o7y9_w1za9)i(HbTLVbYO95=W7m_w)-ua!KShT zbEMe(>Tieq-zLse@57$^?Clo-@130eGzi?uI+|>9%iU4>fctzBUe$YG3xNNge8=rm zVIwzx?J7EP?$4aQsV9qP2meY^suyWT9=J!J`Pd>v@ZWm~f$U4jfzm{uTvPhqc5c8G z7nF@&0Fs!OCm%ICq+C*G@@;(H2%m)Ht3L8w%KX;2kUoiX#DYef!u6qsjX$S)NK-kUc*p6?H*+#c zBT{p=NsO{ynzyYIlm%7PdBDU@$CF&TF}b3kE=3%}(pe}z+ih+fxqs!pX_}98%SbhUQ<)zRRy-{5yX>~JUr=ys1OcV_m7J0URDRoedL=s)JTvI5DtFMT1kGwEx*M9$Ln+d02JX;>oga`pxD$0_ids60|>!Y(^yM@1Tb zumV>)???mc9Smj|SdJZq&ngk9#L{U_k;7ThvVglEQa`PusfR4Opn$aE zYEWk^UmCgokgA_a%0TtkdTiVA@G2(8LSk9upw4&wH?2#Hk2mF1Q3s z^4}&0sG6!8ZM$c-`L4eE7k@9ipP50JW=&Iz$IplR!oboSip@CZzi+~ic}O*!TUSye z2K$6%qVet|X92(8Vfw_O_I$S?OlTM97Au*~ovcuD@cW0#mAlfevzIekGFgG>Pv02N z-D3VPH`bhs!}jXTRG_>y!Moh3z-p>&8WSU?p=7yn}^B;E#15DksEh(+fUV2N9H*?F|Rit1T$ zoYP0|{k@n6TDmZQv`mX(n=r&Sv0d3dDp)IQ6A&B!!^r;4IB#w8=1TY`wL6&bt4`8N z`gt_G${Ev3&xs^~GXR5`!+Id04m+J9In~~--s?rbmNg17y(pfHhj#0WB!@?mAuY|9GEz_UdnP9axhG)ww^ z5bCy$yz$x@_808phSSy4=XW0>We-ES_as9*sIfLM>=yKzh1>L-@$JJN6h;+B6XrVAhpLLpf)hd}<(?{0 z9AC`z&F-{zpo_ib)Qo(c~2IRR>tTK07s4ipQJq+$_vgRAW^ zI_?^P8hG6RRGe1!Rk5TZd~191(S+{9e_G-x6kZL|jb+xn#cO4W1c$;@>G!)*NX%~` zUriP&51=8$eys7m9<%sE(QSJC+t&Wijh{(@FUv6D&Z$qy{fYVtc^h#-YEGmsX$$vX(seJc$oV)`1Er5V;j)&CeSR0ri$XR|-CS zjwz`+%2q0c0KW(tOFw6py?PIp238&>FpxXQN|m;$JwD za4Sfr7G+>MiIOnxgM@;z8O)AmXU@O+`nd=ulOo1Hf%7;542|&iv8%2jsm^YSGLgw` zVFuHYa#E<=9GP5?k&ds~fAI zC$>w|2Yl%}Q{5IS|1j# zP6ezg>bBRSB%riAste{W6}z?e#T>`M`pXd)Ds;3UwqL~Ng)7{`lvX1I5>B5og`QI` zP$~`g=wc)DbTk-1v9+lD%%KR@OZkTy5y4mR>HX5RMfTUOU(#S8{qR$Mmg((-!{L5U z_5N77k4n1!fRyTu3IJUmq7q6!Y)TbYqt+)^7W6c5gNG|{x*t%Hs`ni?3HGI78sVD9 zu!Z0>GHs-tvHjca+1aePBx2p+uXj;RM!@T8z;oZ|_o34#T;Qs|pjUiUKMa0Z4?7PV za>|=UK-_;_5eP1C@9oP7#K~PcoznG|d}lTD%9&wLU3hNSfj>xez$uBwqi*|D!<*Og zBYO7zAx}(_;})bZB!94kXXUr~hsU5VkYwl7o15SJLjqtp#n%F{UC+zOn%DG zrj5S#$OkALau%z-U4P!!dU!&y5YlJtu_MGO6LF(ZSoK`TDz)l^{C)Zz0d@)K^gC{W zWqXDy&K(`6m=Iopg)m@ zw?MzXv!t`69zGrQaLRmEQ=@8HXuU8W`|eQ8hmrTUC+T_)LcMh~dS`cwC+#EG9je=} zYx1|NOdhAXEVoiT=TtqX#g^S2sFuBo9qOmOYUfz4M%s9_sK`rYa_cZwN33*kBx{$j89a{UKXe+vM1^ct*?A#1>szJC~K@C-OrgCO*zQCSybov_$ z>!@Qw-0-rd)+D@KTFFalJluT6cTH`1GZAuFwPg(GPKJ7nj$bOz@>g`>t@M?$+|Ty2 z@ym-dpM7`amV=F>5`uezJJbp`yEao*_K&ZOE-n5~+uErvQ&T#cY=r`L)?J-mc0$#B z^(bi0h3SJU-k;oY=n`U&dbLrl%BIF?JZB~QRN^G_yiMc#`u@=2U~?*p~us#bu`h#HwU5;l?i=Li5PEH ze!&|lMmHaHi6o`-zfWuUc%y<_&(X>6r7c^X<}V(da{)f3-H>|Zx4S1Q{wIgoyR0uR z<+F9|?#cHNPJ%RaUmgUOeqy2iBiMH{4kvueYw)R*b1FhPUVixRQS=EVdVRU*oaOD= zz6QXZ6+ZF>Lw$Jmq93XeDiE9@U+&QV=*01~sZpc##qa;@PE!(A-oTB%P3dHRx%MLY zJGEUY>LSzS))^V?(GFbPB453YDpOU(i%F`MO?fr6#duOsk*VF;=HZ$t<+JJB3q)Jb zU(ZjcZ6&3a&+hV+vvol(Y3K^MRzQMmZEUc!pIE*;m%`LO`E`Zm0goGCV6Ph&dIcDh z!J0AdSG;oXh^ZEo?~81H3wz`dTUShsZ@b?AZ8{N`UVLE)k)yY?b}<)l7Y8@J4AF*1 z%e3MP*Z0I*d&`k{HyEzjz$(UbHSy7$(tSf+v57x|ALJ;Zi>kNyp0y{`62~1VI@`bP zUy2OaT^)=Hbqte)DnFkuNIfh#b}=R=wrfb)Uih0FTvEze>QD3j_AL-vPSqw0(rR<<6D`qkp0y>QR!71HA)L&Y`T6A*sJ$yw^21tx5n_ImSU!0S;p10Q6SX%zE4ljL+3cBIaBdc~g^%iYlv}_4 z@U{I2Wy70B&ngJfCv@}GQno}d{%e?1QJ2>~rFYih~Gbx@2FmMAB(Cr zb=bU$NAxLV+%Y@m+_Ot#-Vf&AOZ-b@`Hx@EFI=V~zhhGL)=+hFz@l%Kz$KZk zo*6sJz4Po()W{H(q_pXVew%%9w5gry09A|Xo8fYWoA&ZM7YcjZyJhGu+vR=tqRi{r zZzV6pKr-2H$UXL#h3i*$R?P!jfBaQ6ZfZY$^ycoB^aqY#fT1P|7sC!yr2!GAdk-x8 zdZIL!IwC^^Gvl=`*)uPYS~PDkG^SKYJ-Wr0H`JBrHFzjizvnpak}A9(aRj^Ut{yec&* zViv?*X?9K?_7l*gE&0{=Dva$IPSjvhM#pD+YL6|s714)-$Lf_hp4^8moj#x9k~El} zXH@CYm($=&+ZfwDr=-GIhJnaK^3r>E?hZ)rXvId_muU9(LECJ}IvtEx=%BhNjgIIx zTC2-YHYqJDd{msyj2GX+^j#(!Yo!IvKDJ}pm54|SjSVysdbz zO^_yAj9*}BZtw+n9!~usj$qrC8A=?x+9Z+2Nr&HN2$-mCBEyg z21gmM#Ur+@4LOBC!TLl_sLJaTa>6f-Tl;F`y`S1_h3>RDhD9}+O0x4#%%3o-{2GJx z91cqRH_W`pyGCs)woCqOjcpS&oEPi}xpB-+Brb?%$q%&O{Kv^8{X2YAH{G1et zG+hTmMi=8~lPnjvH1P3-;SZ}4eyN3HN%$}}rtfQWF5flI2PnT^Zbw#D=%s)@Vp4=w zCcplN#rP(5D=(A5=qc{HHm1|N1FdQHZ`j|dZX{0f;A%a_E_f4?sq5z`(7|Rqr%_&E zH_?oj_?5P};tQ6jhb@JSnRgNmv%)ukz0D82KnV{Y-8^#pu)niRI26Cz@iT3tM&*cZ z|A@J&Gs$802~r=iR3EZkunHFdF>0@t2|=X2s;5RXtTy5U;Uqe%6f#`#-GJSY7(xMb&} zS4f^Fw=XFh4>QHm80KFg?{9I@*5s9T?#l2-s5^kj&?^o}#%U9l=b*oJ@kvL*7LAQh zcSd#Xnd=JfY@fdx=b>3>(e%)a(eSfSQ|Eb?`-W%52br&wd5%uRLnzN&Rbn(dXV`u} zZ}V&J_$8yQy?4vlVxaBye`rb~U(bd{W_ogz;~{sy5R#i2|0IPDv?p9&c(+ywm!NIM zT7sotRfxo=-ztf9hP91QWzHnk!Bv%8&QbRZgW}N-Y2L<8NeZzu<;l8!bkK^?+bLLB zWU%?FLuk;f{Wx48%ip*t+tXQj$2BK_3Gfd;XfT;)?(Zdjz%K(24%BLG+4 zIpNtqA;X^E^s*~OZ-)uNO{gLrL>n4vS>oc1c=I3CPoOhdNjKv}1=4$7m@)Cxz?f ziqr}s)j2T?7KZ8_Kk|gu{Fm_LCv`pX zYf{k#b12Mo?<-yX*#gfw)%}DN+#CHlJ=YNBC$G67TO#5F3$<64sgH|G(T>L(oCM}E zJ_}2C{$v}q={J&@s%xW-ePQ<_L>qZJA9z`JdA5-iCe5F7(VXEy@?$Z0$geAUVcuCR z8@t0v11qm-JSq7jdI&3b2WBm^#C~4MH}r@=90V?8T&q(i@27gf(&4~VhZ5kT^Z%p7 zPGW!5#AD zegcUG|7Y9R7}yS*vDrPxNWLxKN}QDmYN04{F_6e#rB^Arx1wdASn?+s6;vOW;NVCE z1GvOb`x}J2!&vUs2F2moPM|izrxyVU#Ecz=-u|f+zgcK9IVIz=qYHUPdWSRn7he>VVt(Mcc zB(HKtu{_61c2!y(GUyPRmPb~&>A|F`cx!@4Nf2O~Lwn`f4^?ldhKyfy?wfb{D{X;$ zF_>f?r~cbPtjc6;ewTBMjT0R9^pdT^r_P71*FW`QU<3NcZCrr5<{!TK@f0m${894@ z3EcmVTv}~B*xjQrW)5bx&BD#MgbpK&U*BZg4byTOUYPIMycSFpsm#)5a_YByX5Wi& z7XRtnqgpk^c4S#8@`2|}Tc!C{!9bf~aDA1A@z3JBNi=!$H!x8kTZ8>A?LDE~&vegK z{%0lXz(Bpqgd;4SZEbMzIER9K_(+eu&)F)m{?+~@o_6m4vG&z(QGU_4D%~n5U4nq3 zbV)NPAswP1p)}GdLw88G)X=4b(m9AAsSG89ASHtXjDU0w+%xLud+&YjulFx_pL6y( zd#}CL+UIRhJSg2`SrS!5#3ESSSgLsK!oFwFdD`rWTQ?tktNk%J3x)Ybk|!!T9xZsA zJh;%e?fNRihD&$d==o%qm@#&S@6Gdip z!;Go=by8~5FOqP>gq;U_ch90^Gbi0pk}}Z%7wz8nD1Kwex>AKy+q6A1lba~%YEqw! zr}={?c~k`Y>1?TFbpaB(BRh!84nC7CBHP&0D9O`!3|WanyVJ@yrFW+~<4Z}5w7Hxs zLfwekdD&XUsp-xZR`$@l^BLNQ4%5wBL6egPTOrrNt`eSepMB&~FZz3e1GhS;5j3)_ zz2o6?c#drOcQuvzoY`uMC=rSq-DpPFKz;f6kY5R#o~o^xq;Z0@7E*Q8(A==W zd`~Xgg6{=_hQ4ijJiO`~UcD;)-NsrxcYDP#b=WJ|k><4H@FmVMWe_r=@6b z#$6Y!4w&zF@?D!FMvpY{N`AD@zqae*<+_hTqw>O5&y)%8SI^VGOUTtW?P0mIjrDur zY_TH^akbFT$aTV>eXAE6S6VQNt-Rtf%aW%jI4xq3ydixch`Pv-CwF*%DAet@pevFH!xv?kQ|1cH{`>?+`6<^}=rkR#9@>dro?Sh?e#jZvB zKIgZEZzjn+o0(#UmpJWR=HLbuz5TQ;Fl{4kTLb4ONT0_Tj`tnGW#~(R_o;S7R!(kb zti8oPUoUIm?6@M6fFb$23j`MklOlQSFRY2=zeOMC1{1#L!HBl0!}F*T;rs{=8h)kx zUrHP(Q;RTTGsdsg+;Kq|DZevk=>^Ij8v~}Ey%`P`Cbx3C*W|6T;uOiE)vmn`$N`?s zYkucl~gp39L+6gj!5yrLz_>!O!QCd$wewC3Cwmyb?u~ ziA~?>TCy-CCE@&qH9O)M!MPHj%1+Zw#JGFcRAkey4abo^>h5E5=O>8GadZarJCkw|?>_@=JvGY(HM?3*@EkWX`4HBbf!C?(N1qc@5B=RAwkk!EgDe zf|+4B!fiF^oH~P3Bb7_Kg;S)7&Etx++WZV+yg^!Hg?VHyuCY(ek33CN2# z`rNzyk=D3J&u8CaL*xqasM9fWNjk}J-$KbJd&y@MNa}w*Hj@y(dE&lP*2VAHD)VXR zf$OQR5`)KLUt}4Q_#z6gvawV)PZPHqe6o4OWTl^BW*MPd<(1pJ*BYW@A_n_dpLO!a zi`gE3)-0QFQ2UceH7^Z|E$_yIY@ILvf-KMrkzg*p3M1jF^A~` z=I)b))AkD8xTLGl{GP1`d;Ux5YZf>{36`$bdw2Y?4zu5L?5U@-1Lq4Oq(KR=B7sdn#{$ZJ=gy!|6-B<(9IA@W}P+v&-X=F<9tfV-r1 z^tV>eXlEaPj&F?2EHDe*&|B*268~oZ@a!^GOU;i~$n)U+8yBD<|H4W`Tdr?``ev*J zV9AHN-C(SGxOdiw)U(+AN*U817Cd~GE|{-^*QOV9wG)VhE1i8IN3>4UyE_VCfVga7 zN5B7Rqe3mOmEN3qf19akm<9p*=e4vKvBhVeS^(owrVZ`t1EMQ>jm+DKuj193aEFG^ zEAB${5p4YAI2|+Or{homzavX7;PpYiXp|-2QQWrs*?OmnTq1~X7N^JU`Lp%s)%-N9 z^MF~A3te!1c%o<{3nDxEwP|`{naO2j-_zyB?8>v<%dM| zc<51lyV`{&#=m=jwhhOs-vt+03NK-%O|Qvx#$@YqqOH z44pG2DSpBgVe{@-hpvUgL6PNg=a+8&1HcI|$a!%Eat*l}r&HwHNpDNWTSVq*1Q0yz(EBOv@GY%Q^}3n;aXv0Som1 zyras`y#r5+P2vLwoDjx^J=ywl>;MvUnDOwqdt8|*|E~Djz+99pf_jvL7t}2r_WKj` zxM%V%MKUfwLMzn62%#J};(^8GHZ5MeXTSR;B;tCia94%ji8w#F)?^&ovb?gs{m`vv zpT2G-p3E6D;0^q?!=HW05M0Yx!J;(cnWD24@Cri`esP*3ua-;6$Ff65;qo@C^m%9n z^Rufc02C~VU{&Z}Xghx~CH4ZF51y}6txtRU?Cbqmk(I3cMdAt_z1F&cPtklZIX#!} z*rapoer5WNgw3bYn3LBBGvl`#oJ-EX7qwJtGaP2^et2_jdfBX+zq%6H!9q9<0Jjgr z?mDVOHA2O#<2u6n5AqCyUBU}y7A!AnV5()d#7a&<&cXpvWf$zRY~E?(2I3iTo>c1h zMlZp)pQIy_K1)=SXTHJxa+u-#qd>hTmDJ z219y8HC=>B6%}+N*P_NR5czN(LHdFynZWTQ^`8`$kLFp;lng2(%T%xs>p#mD!}$1(HL?MxXzr}Bd^7$cITe$mAd%o zAA-2XBONpz!OkVJ6Z4gQu`w&%(iE+(zq+4#p(R_EGMGOLR8buBX?4glyETbdYAqZ6 z!)D^a!5>TqNfo<^bTUaP8VxF+9vBS<(b?(UlF@+4fkUlu&wVUa%XtTIzL2fUR0iaN zA=TwN>yneisfZXPf{CX*gTF>cDfki^_$d6BQ|Gf z9AANl;`eEWj#T2E!@HmVmMdk;(}&V}Ch@VluSS{)ulC+MrQ6P|?R9#~MssP0-Kxq{ zg|H6e60ZzFhOg5nE&=@_AjUCJMegd#oyT^)TI#m#Ui>v`vhop6CY&Sune?^l;EjGY zK5P)p&qj5%28I|%FOM^x*)6MCT|D%5b@Bi59H*p4=;%875GtuoG{ovt@(0L@6%pgaBLorgIU5Xor(yedOTUJ=gM zL7|GLnY!~ZYr9kFcu_h*TN-F$QtO_K+&lHgS8FP~2Z>uFaCi^^*s>pWk zKSECio>!)j9l?P{Vr$C1h;&^U8iX=Egmm)9+`CVCThxWp_FH-?{MxnzAX|vE^v$$e z)U$UK&aC~jfd&?AJPZ_1=lh5vETnYwIPFo~vH1Ti@}hwD6jf+QCy#wck~+!&)so7U z2Q?&_u1vJ?b4jPm|LTHum}=hQ_TfnTNU>F`Dl6ZyzYGog(M8oqu8($$F@JBiZz^F#CAgwX--bjf%K) z1~;iOW|{C$A2`5El-ydyUO{R@r5bp+ZXq+&CZ?ByWa*3?##c;)cBq~$+kUUf7uKui zyCq5TQ>LTtMc}%|amTIMz5sAxI1*ImANrREzL)(@`<37K zhED_N#Zj#?;hm~^D|RCYC}52PpUA}{+?)RuJ8k(XYF|xEa-t22+E|WJd%ueZ{Z_=P z^VO~i=q$ViE-mly+_#rT!C#dvUlqP@|AAQmvT<{(HHoMvG}Kw>h4E4|EODNbp54-% zQ_*EOfQUZ9eX_ifp6#fZ$v==Y9VL^1;MkfGvI-Y}8~L58gFFG4J5RW2AxpQmeyQON55-H!J(tv?L=Q^` zCO#5k5k)*ob6a`3dg@|QQ2$$O#kc*6zqtSY{XJ$B^J>gmnLlDRr(J&|ZjDHqVp0>yTF{H7f zqno0d+R$Pn`U7F_kfErzHwOf^_XMflKt(9*} zdeI$Ei#Dh0D9hm>uHEcQ_(;G_4}YnJ(>w1G)N(JQcMh^n69n_l8B-PKNskgi;R|n4 zrQ%HJe^V~&j;nc1NXL5eWZu03<4&oq2fI9GPn4aEN)f_}Jz^`7{}c9SQ`E@3V*31! zklkEwn7YE8uy*gUh}FvhjBda44^Ks+9viBA2%zPK#4fJ3SPs47eJPGZu4~(dTMP%E zO7Ul#TxHlh6@1;wWdyfHwRi!*_9_*qln@tw=Z|o*7}tQ8Pz%YzW7f;)Q5t-ClLYWO zaE&EQ`4v{2TxwEiujbvkX@M#+etbFXb61_G;h69qpBAm|`-~!Q-U_+T4W~iygZrlZ z&lx3@5fviHzJSFw=ItN3U+@h?^c0&)eOic6_z9%f)%5jwD7%+ z+@u62LOMKZPi%FR#r{kG&o@4IEhzqi9|%!s!mPlE_Y6y-E3}3ePXxtWm_rn_`!o?l z_9^s=2P-SC*1s{)>a}^iyOxy{cEzpJ0e{ejUIA&frTyuN1Gft^duOzv{m-lvjtQr& zT>wND#U)r}RrC${10))nWbTr5qmV1gz1xzcke4C8X98)Gh7W%%wgRxH`FZ=5*6w?I z@7BauwS|{GCN`@>+o_HqhC}9@yVU+R${&Z+hA~T?R~w1YD`x9C%E?p~s?XQduH}S| z-fl3{s3(#F7`y&==bIB?d$$2>8ETZNxeT5xBufGJGylv3vWrE@etdqErhmxhWRJr{vv|w)b^q27#56s@PWy;yV6x zZ)BF%jR$p*IL=mowtZ8DF>)tBs&SmXArWxccN*2~90;M043*Tu4=IT39&byMR4f?F zyvP#{a8&Ptp7K|JI+Hf52zD1xFWG+^-I$MxYk=g*!mW|LaHuuYuKe;q#s_ z!I6yJV99*1tABxa6oT0`?23ztP1x`ekYN2=8hkuzs`|Fo@?@o6KQ{`kZc(agBcHjq zHQj}Fkzqeq&7!-PTb6cJf{1#ozG_|7{Ax6BGrQz{BJ0-OsMPdpgq2%IY}D0(8P1S2}L%To1R~6M11sZT#o> z6ij`PUn&s66E#w-)C;w}bhPPE_C2N#-l>TV zIP`n_BJf7qU?6pCqynV^{qoeMa!VxA@Nz5J_t1K!r-PQaP=bFlD3~gM z<(#T78e(cA)!v7=*M+W0oN|}QJZP2fOq6n=cp=%WIlsWb+`p5?AVCzUU4ea3co*n< zWF;}H?DUglemYp8s++4d$P=@J$#j$6$h~i-_KwO!iFA_EK0w?e7lWu=NfS?qTdN&k-@9QZE=M#Anow=J9&w__xy6m z>uX9)oJh_-SJpD!lSg{}_E}(uG?sNcviaXQZ{Od2v29stTw11SRBcxI5uq=7~<zAwVu}P*y+MK8J0x^DA!jiNY@; zH$D2{?Vru@`;HjXrfaySL!KL(T_)c4si#Pw@OtvKbTEqYD60Vh+EM-Ry@s=LSbRNq zN?g2Zuky64Dzx{(UL3W7-PXsy{u&+vfrZvymar1?Vc>}5Z3!r4JCCsTpAbF{#< zje8U~-p0xwN$r^@uy&47Z)Wv?rdc>w%szQnjvyV9BWnqVzX+qgZ&BW~?DL6x(jroaI z|6M^6EVsuMD`@R+l5qsC{m4{QqTN^5Sdt8(AKu5$$!67m!P;&j7qtVuh2TZ87)Q>m z_(&KRc_a&{Cs#h6RC9@8A7_8OaQ>MswMA}TtH9#C359)g%LFQD$U`BWu-d_!v8pro z4*rdCGzN6(qsE)>737`=B&_xMJ)cEIulTHdK6n5?oS|U@q|Fbp>Q4(KQfhv^e}&5& zC`T`-T5||3o7}PLAM&kjP#R6u-}(T7@ExeHugHovD$h_?{_u*vRlN;|@ZQ(!gVRsO z3@a~JRX6=8cx9*5U>|;kCol;^9F8{~|42mel3~yILxTD$qVnC|exjBDvHV}NzU#?wR&GDMGnxiE6@E zR?Nun-)Q8Qr6^oH3!Z0!51gC<|t~IfkQsUdSs*9WfVeUj*&eu@^klr zk5zbuy4_QDtt~g7s}rt~Vnb4Fg6tU;+H&t|N4Ph_<}Mz5iM;Jun;M(c`3JqlPtRcv zJ;72Ja-<>H3`OuJ{;_DXmThJ44rvEo^-#mQNu3kTbl;_2#kOrp8q)IfmxC?N9WfZv zzdS;S_Kj!SE;Y52?-oMy)x)@gly`&#`=`k4L|QTmsq6|#Y+z*^iRhPuSraa|>ns)T zq~8EBy8}!(Y_fGf^8W}y3CSbFxt zK3;O{>r55B2f+xg_m9UAFg>N8UJK-XTZQINFV5C4+Q;5AHPE6S3Xmx^!;rPaXK)iU z2cP_OT$X;MIo z43YNH_u0(7XKcn}+6V|^1aYc(@?+Fw>nQezJNQSXy?7Sk0K-9((ufSHWMVNd@d=lgDXng##l7z&k2P<3V}yx^BkuO;DVT7mssE3c*Btn zk#Tn`>s6h)qGkV{nL}O^Mbcw;nF0ZY89`;oY^HljWwdw_)k|qR3~->(E6sfv8X~xR z_pUMzX1bl=h-SN_77`d(RQb-Vy}EOf-i?u8>+&>k)oK6pO7 zvRlRX)m5M2)fAgOW|_U2FQYuZ!>CPdQqSApG!i0TvikH9fBOp8f8k`gTqnb^-sCLB zA!3NV3@o5VcT1#DMxtEl#105sj+f$|8u>jrnLeNIR5yLE6p@cC!t{}T zBG||v{1f7j4S(T}`+fVX+;VzluDQA#)(;X43&#$glR)#1J0I_EWkt&?XrF&iu&x>9^A zVa??pz}R@>ibC3Rw)h&({f19jS!M$VXmekdpIFWrMJd z;u&EJ1Nue{Qt<(n(qOf_c=Y`+3X0Fp+-!FJ?Zm*C#-X!d^qaLJ#xgXfqRLx{&sIsl|H?pwmk2*hg!N$wOIwjMTO>+|qz!_lv|6=sw zaTtkE*O}o`cKW#*9={%}@Vqv8M)UaeI+O~sALKD}{H6uJPhhS>>)rBGCZs$}`Eri7 z!4s&g;X{5N^<`YUO$jTC{3iTpY_3=0%*2(2;n6Ximwof}bSJ_e8o(~sr6r*o z3(C?|Q%Hps63Sh6F>S4`2=T3q_!IhF^7rU9 zuWG%AJ(UfF%zZ+tkkut`(*l7HqI1C?2ba#R=w-Ef_DPHp;_UM?$VTB_RUswWu7kAA zg+oP<%ESFWc@q3xw8G_9d_s-T)P{{GgF&RaeS1=upe*$}+uM`R-tG8S^QZD{wR9f{ zL#p2^z4ME>;?Y5QG-kXh2%13um*R?Wu@|#>uji72wlF9PFe&DIKwT%eJ|=!#xG3f_^*eAoc0n zIsFzQ#MhJ%$;vU1pduHFzJgD=k#-N%>3W_S;0Czq9dR}QtGJB3b#29pX*Y1_(XlKq zyR&=~D}tYfuNmeKwDG;E_krc10Y<_3_>--w6t z1z#LzA2dpdr7E?(3=hL)bQi=l6bcoQka~?FgM@gmk962|^mzjl?NVK2jxy#U1N*^E zrCCF49Q}rWV`a13OCSqSj8tn&*txsmudCo`@q4%!*D+0hVQoDjpiFI&8|=7(t}`^W zzg*^fB6oBkIue)@o6+8`UNB%{RRtY5NSQ+3SozhzLjn;R^wB)Dyft9{k1{RXTT02R z2n31kqW_hS;-i#Vxf1H_ptdaZT_xaZIbzF6NpWqbo#u}i&H7s3E84*XMnQ(d@sswc z96AzX3eJfbc0Q4cwEGE3M98?RAB>2;Y^KTy+lU)&&+#MdlQ0B8wUo_~3INrA2xi1i zpnr-Yv=qs9EA&=>HV$YOhZ5%A#xn43js(SnU?{8**E7@J)QE2%8YiQFVKI6JAD-4Y zZogzV`x6`EAFGh*{LMvxP2>P7;;wNQ^dI)NM(MpR3$VZxGZu z+u(67ou!m&*!f1hoJWo6$x0T)SfxGiqSsuGkkYHxmRvY%*0`sh4w*y$O-BXx$v6s( z)eS_fFMxcwE1@#MEtz#hi}sV6h@gGdikhoBqP)5)v;SsGj+P7jy8Lk2`OS99qgWZZ zKlr~#K&uLRLG4PXRD% zoG|WL2I`v$+m)Pk1Gdwug7D9M4b#1Z2a%)5$syEJX-mYE6_u1MtDugiE0`WVW48yX zfz?(hOe5X{WAv(nBp&^sEl%A@7+JL50mE414Ubatl=T)k%!zT2-6F@lRPAiY*yK(< zw}B(#*_L>=;aQ~)$BtaU$4%mL{=J-uOKtV+AEirL^d;`{iE9T4>DkkqP{b3~WzGp_ z83L>c?%1vQ2GvdmoKi7|D&EhArS}BJX6R(7nG?LT7Fj#wZW}&*k`uNIX^-_I=<{j> z8==wFvH0^i+h0j&_Fqx+Xhxu2hSZ~w!9oq%XC zrVKAMlR9-Li$Q-_t_99U!`r#L%CTtMdZqqu-*~YK#8x*7LvvdKmhnq0xhcC|Xf1e*wc9ANM8bIeyQ`S3iFE%;ElXwF=gs{?};N+MJe;cCHEW6~Jr0 z?fvXawpXRQnfC#kj$D-2>6G~@Mx`6Tq`9qGDPQQF597Wa8IXo=SJVt2@x_D>=S@cpW{(l7cutei|C^q3+=U`UIpI+zz~o1w?l6Ak?3R!R5>1@#=@5 zu<=B*+& zHw@B{z9qDMWnzbTd88(p&G8Nr!5r>f$SJf6qsMSxDw9^;a@5kMy0=&}h?c zLVv@wtD-o(^LJe0W`vZft+W=i$BOE)J;?(zwh+} znq!OTzH0Z_&0m4X64#IdGmI0*iq8z-tE_n~>tm6WvXL3Q#UWzlf!iqJo*_?CdM4JY zZ>ht0q0AV(yKumErX=%^gHoNTHhP3b9yys+=N`>?Nix^UFfZ&OZ05cMzza#0_)&k7)QYq*nHH2asCw3 zpN2LZU8FOnSmJoqIc|JKwi=ku3;D04mVS}ik=De`-T^-J?aFjkUkt`)iR@{7FPh-c zQM8JCVCP?r1%C`Z)<4z`&T|Cqr_!QO>a}S^1$mY_>);+i!AR7+oMpZah7_QT?C;I5 z-{YIGX2McPiY!eY$n#gJV+y!lJJN*rJ%n-Q4tkO@Ga(-(ZZc16)lqyB)LMe(1kJ%m z&if0vone+hq07u0Bw7SU0S;6$ z|D5A#)@C@M1+S?2FGj*Dwv20Nx}b;5!+m{TW}i;@=Q3oNhwAn?DrPxry2;n__#qa( zhW5yS*N@RjA6kktUdp+Y*QJcOwqM6smSc?}=bfpFoex9m2Y^_a`R-xfg8k&#I>ghO zLkD{SI=kiO8wnleB@uYFmwtoOwXP%D|@|?Ee~f0fB|`(%_Wt zXD?(3Z_r~0`toDieRBr$qj&Xi*^?BfSI}QPxWTbtgnnjhY=uATxh4NeqNw%s1_z4e z0ZT$}rMsrkC3Ndj!K?S_7svPJi={7vis%3B_)7=p*~;&Bzam*ym)AVdAPfzjts-`P;~Aa@^^2E zG15*dL%WZ~%$~?~$GOv!2~Q;vnJ??k+MnOVY8>C6uw$<&bF{6z8EUc&Y=g0BDfw!q zxhQ%SSWqdERS}#8y(B24sVh63Olxb^Luq1ELkl^#h0h!Rh+avWQ|jnx(q(<&^KLS` zZ^m&)3LXWvFv;?FPO~wqx$mds$nw1Z`ppLy2*JN5&|TLwuG`d`;(L^p+*y4lg+m{og+rJNB34y;S4iSukZo}#9vFAX=}nv^9iUft$E*;{zwdJQn7 z-JbA10kPzMd)ucYXYRfshUq4kvgyL=rwj3pLMZM?u?dG53;K4tOC2*RNcQuS_je#2 zZi(lvk#5NR&tAxeV9kE^Jg9V{l^nL-l^@q+e(3Ou{d*k<0PqU?{C)<7vUwqkyk(Wz zFjuH&*1O!-DE&n4DsuDc#8M3*%GLLIL!8kU^QL<|r! zv!aB|QdpkQPileT@@wIu%TTxAmkqLGj9=X`vd4jKqkCJ*9?$&J`_f7D#d6iY6WJ`Z z!p`3+G%47$D|P%+#Mqv>c(%Hk*2NO)o}-R6<(=cJ5JQLjg9x69w`?ftt#6_HqA$MB zgOtY6h+NA4iT-fU#79b$g(0B*ikoOsq-A@rzpLNyLebU{_4tC}5(9v-b#ccZVRY=! zv@%*rM@L5_4_Zuu-E4`8sdvX!dl>I_19NG{L)c>Lx1dup=0R)(7iWu;&>*SY(9X>@ znqEO>T)L%heoXneg1V%1!E`MZS;IzreQ?`FEucExC0Cbl9Z_v-11o~Z>{%J}U`=nbc+W{?&F-eeZfExcRgt=Id6h|`KH#ci4x9U2WWuR5qf zNf5?orzd^?0*q7j*hj$Zd_)MpJJYixr@myDc??}hoQxKMSh=h7t4$;QtKEeCc*7lY z4Ff2U{GKBbey>IDZ4+qmTaIX+8J18XvR;oI+eEDYwrG?^nDu!IFQfC2o1v$hGwaY= zKPJqFnX9Y5^}@kwojT_(ln8EOrtjPytflJd$!uS6y-YuoRaJP#sc}b_=fhl_&LzR` zJdJ(q3-O-`dBR^A9_!CiQTc97)8EM#a_lVsrhh3ZW5#fWNj~C7;D<5I$m?$yOF!Q%M`{`aku@~`q*jqW+714o zqwlvL=-y>^ZhIDrus6BmYL#+{j}mx00l$tp%lzPJJO9!)herbX2>f>?F9_~o7_p~D zygD|dt(O?cYHIybVO<>MHuF|s=J?C<@*bB&d`z7L;n+}{OC6I{M}P0hqhu>%amLS= z-%?1fK~?imaVtw5I#^=>eBZQ5pY-$mbewpZl(F3NPB!$TFW00=B`JpG>2U~oD5^oZ z?|DSx-_hWV(equ0EilA`Qhmr$3|~GL8mFTleJib#oAP@XwYLh!7u7?brLaU{$B%O! zyLW8#h=@dbj-zg7pDgVtE_EL}v?lO4@c%~%lG2e&fT4Yj8H(b5Mna)j40oN^dSsjY z!93+r8xxE6Wj6|X;-!Xbfnwmv6~RkDg{-?B|3h+?0BQtALSRCdHXb~sjoYvRFpiG> zC0^sEV-@2p2i^<>-*Mno@xT=!B^ChVD1=ZA_afyqU_CEhdHxns5gIvZBxp9b8SfdyGZAY7_d$h;o@N2=^X*aNG* zmVLlzz^4rf?w1O-%t~{tlBCCtIo0kF{?;#eG>BJq=|*!pPOZ;rqpS@Pd2WV%@$x2= zI>YBNIbrd_3`0A#E2$0eCcXLAWQ;W_bSy4mO&KTha*M7~55y$JdK=eZPHRIuznN+Y zfjNsiU#SB`r|y1bu5Os4w{=tzdad!K`Wyw?5pI!P<0)P9@46-rFiNsVTcxwB(!h

      lS7rk`MGKT?sZcBja&MXa_n({7+`pBMjVse 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

    lS7rk`MGKT?sZcBja&MXa_n({7+`pBMjVse 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/0/assets/reactive-pollution.png b/content/docs/smallrye-mutiny-zero/0/assets/reactive-pollution.png new file mode 100644 index 0000000000000000000000000000000000000000..76abf4679d6734f44ee0d4ae5a25a2f5184237a6 GIT binary patch literal 171655 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 K>+kgMKK&2RvL#sn literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/0/assets/redhat_reversed.svg b/content/docs/smallrye-mutiny-zero/0/assets/redhat_reversed.svg new file mode 100644 index 000000000..37fe83c48 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/assets/redhat_reversed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/docs/smallrye-mutiny-zero/0/flow-adapters.adoc b/content/docs/smallrye-mutiny-zero/0/flow-adapters.adoc new file mode 100644 index 000000000..461db8c05 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/flow-adapters.adoc @@ -0,0 +1,29 @@ += JDK Flow from/to Reactive Streams Adapters +include::_attributes.adoc[] + +The `mutiny-zero-flow-adapters` library (Maven coordinates `io.smallrye.reactive:mutiny-zero-flow-adapters`) provides a _clean room_ implementation of adapters from and to the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[JDK Flow interfaces] that match those from Reactive Streams. + +== Why another adapter library? + +The implementation of our adapters is similar in spirit to https://github.com/reactive-streams/reactive-streams-jvm/tree/master/api/src/main/java9/org/reactivestreams[those from the Reactive Streams library], but they differ by: + +* failing early rather than passing `null` through in some cases, +* shipping under a https://www.apache.org/licenses/LICENSE-2.0[proper open source license] while the Reactive Streams library took a long time to make any progress towards publishing a new release, see https://github.com/reactive-streams/reactive-streams-jvm/issues/536[#536] and https://github.com/reactive-streams/reactive-streams-jvm/issues/530[#530] +* having correct JPMS (Java modules) descriptors for those who might need modules rather than the classpath. + +== How to use it? + +The public API exposes 2 types: + +* `AdaptersToFlow` to convert Reactive Streams types to `Flow` types, and +* `AdaptersToReactiveStreams` to convert `Flow` types to Reactive Streams types. + +Each type offers factory methods to convert from one type to the other. +For instance here's how you can convert from a Reactive Streams `Publisher` to a `Flow.Publisher`: + +[source,java] +---- +Publisher rsPublisher = connect("foo"); // ... where 'connect' returns a Publisher + +Flow.Publisher flowPublisher = AdaptersToFlow.publisher(rsPublisher); +---- diff --git a/content/docs/smallrye-mutiny-zero/0/index.adoc b/content/docs/smallrye-mutiny-zero/0/index.adoc new file mode 100644 index 000000000..8f03d17c0 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/index.adoc @@ -0,0 +1,74 @@ += Overview +include::_attributes.adoc[] + +Mutiny Zero is a minimal API for creating https://www.reactive-streams.org[reactive streams] compliant publishers. + +It weights less than 50K and has 0 external dependency as it uses the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow APIs]). + +== What are reactive streams? + +From the https://www.reactive-streams.org[reactive streams website]: + +____ +Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. +____ + +*Reactive streams are the _lingua franca_ for an open and vendor-neutral asynchronous programming ecosystem in Java.* + +In a _reactive streams_ ecosystem _sources_ with asynchronous I/O can be wrapped as _publishers_, and applications can _subscribe_ to these publishers: + +.Reactive Streams ecosystem +[.has-dark] +image::assets/reactive-ecosystem.png[Reactive Streams ecosystem] + +Since reactive streams are defined as a set of minimal interfaces (see the https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[Java Flow interfaces]), it is possible to mix and match publishers, processors and subscribers from different software stacks. +For instance an event streaming service and a large data store can expose reactive streams compliant clients. +In turn applications can be made end-to-end reactive as long as the code honors reactive streams protocols and semantics. + +Reactive streams is a low-level protocol and applications shall use higher-level reactive programming libraries such as https://smallrye.io/smallrye-mutiny/[Mutiny]. + +== Why is Mutiny Zero any needed? + +The reactive streams interfaces are quite simple, so where is the catch? + +=== It's all about the protocol! + +In a perfect world middleware and service vendors would _simply_ implement these interfaces and ship client libraries. +*The problem with reactive streams is not the interfaces: the protocol is the hard part.* + +https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.4/README.md#specification[Reactive streams come with a specification] and a https://github.com/reactive-streams/reactive-streams-jvm/tree/v1.0.4/tck[TCK to check for publishers, processors and subscribers conformance]. +There are many subtle rules that the TCK verifies, and it can be surprisingly hard to respect all of them. + +Of course one may be tempted to just ignore some rules and just focus on the Java interfaces, but then combining reactive bits will likely break at runtime due to back-pressure and/or threading problems. + +=== Why does it matter to keep the ecosystem open and vendor-neutral? + +Developing reactive streams compliant libraries is difficult, so vendors have been tempted to _simply_ reuse a high-level reactive programming library. + +All of these libraries have ways to create publishers from different eventing models, and because they are _supposed_ to pass the reactive streams TCK then the resulting publishers shall also be compliant. +This is a technically correct yet a poor answer in our opinion. + +.Reactive Streams pollution +[.has-dark] +image::assets/reactive-pollution.png[Reactive Streams pollution] + +We dived into the code of several reactive streams client libraries, and we found out that more often than not they had become tightly-coupled to the peculiarities of certain reactive programming libraries. + +This is a major problem because strong adherence to a complete reactive programming library annihilates the benefits of the reactive streams specification: + +* applications may want to use a different reactive programming library than the one chosen by a vendor, bringing unwanted dependencies (who needs 3 reactive programming libraries in their code base?), +* vendors become bound to the release cycle of the chosen reactive programming library, +* conflicts between versions are more likely to happen because different vendors may depend on incompatible versions of a given reactive programming library. + +== The promise of Mutiny Zero + +The mission of _Mutiny Zero_ is to provide a minimal library for implementing reactive streams compliant publishers. + +.Reactive Streams minimalism +[.has-dark] +image::assets/reactive-minimal.png[Reactive Streams minimalism] + +Mutiny Zero does not want to be a complete reactive programming library for Java, so you will only find APIs and helpers deemed useful to write publishers. +Nothing else, nothing more. + +Application developers must be free to choose their reactive stacks and not be imposed opinionated choices by vendors! diff --git a/content/docs/smallrye-mutiny-zero/0/quick-start.adoc b/content/docs/smallrye-mutiny-zero/0/quick-start.adoc new file mode 100644 index 000000000..bf48cd7c8 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/quick-start.adoc @@ -0,0 +1,85 @@ += Quick start +include::_attributes.adoc[] + +== Getting Mutiny Zero + +You can get Mutiny Zero through the following Maven coordinates: + +* `groupId`: `io.smallrye.reactive` +* `artifactId`: `mutiny-zero` + +Mutiny Zero exposes publishers (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Flow.html[`java.util.concurrent.Flow`]). + +== Creating publishers + +Your main entry point in the Mutiny Zero API is the `mutiny.zero.ZeroPublisher` interface that exposes factory methods. + +=== Creating from known values + +If you already know the values to be emitted (or a failure), then you can use following factory methods: + +[source,java] +---- +include::{examples-dir}/mutiny-zero/src/test/java/docsamples/FromKnownValues.java[] +---- + +=== Creating from `CompletionStage` + +`CompletionStage` is the Java SDK API for asynchronous operations that emit either a result or a failure. + +Mutiny Zero can create a `Publisher` from a `CompletionStage` that emits exactly 1 item or a failure, then a completion signal: + +[source,java] +---- +include::{examples-dir}/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java[] +---- + +=== Creating using the general-purpose `Tube` API + +For all other cases you should use the `mutiny.zero.Tube` API. + +A `Tube` represents an object you can interact with to emit values, error and completion. +It is aware of cancellation and items requests made by the subscriber. + +A `Tube` is a good abstraction if you want to pass events from an existing asynchronous I/O source as they arrive. +Here is a not so fictional example where `SampleAsyncSource` (an asynchronous I/O API) has to be adapted to a `Publisher`: + +[source,java] +---- +include::{examples-dir}/mutiny-zero/src/test/java/docsamples/FromTube.java[] +---- + +Since `SampleAsyncSource` does not support reactive streams but can be paused and resumed, the `Tube` API is used not just to send items but also to control `SampleAsyncSource`. +The `Tube` also has a buffer of 256 items in case of overflow to cope with the fact that pausing `SampleAsyncSource` may not be immediate. + +Several back-pressure strategies are offered by `Tube`: + +* buffer items (with or without a bound), +* drop items, +* signal an error, +* ignore back-pressure and still send items, +* keep only the last values in a fixed-size buffer. + +`Tube` enforces the reactive streams protocol. +For instance if you have several threads competing to send items, then items will still be emitted _serially_ by one of the threads rather than concurrently. + +== Helpers + +Mutiny Zero offers a few helpers for commonly-needed tasks, but without the intention of becoming a full-fledge reactive programming API. + +Introducing new helpers will always be done carefully by observing real world implementation patterns. + +=== `CompletionStage` helpers + +The `AsyncHelpers` class offers a few helpers to simplify developing against the `CompletionStage`, especially before Java 11. + +* `failedFuture` creates a `CompletionStage` that has already failed. +* `applyExceptionally` applies a function to map a failure `Throwable` to another `Throwable`. +* `composeExceptionally` applies a function to compose a failure `Throwable` to another `CompletionStage`. + +=== `Publisher` helpers + +More often than not we need a little help when dealing with a `Publisher`. + +* `collectToList` assembles all items from a `Publisher` to a `CompletionStage++<++List++>++`. +* `map` returns a `Publisher` that applies a function to all items from the original `Publisher`. diff --git a/content/docs/smallrye-mutiny-zero/0/vertx-based-reactive-streams-publishers.adoc b/content/docs/smallrye-mutiny-zero/0/vertx-based-reactive-streams-publishers.adoc new file mode 100644 index 000000000..e422a1b88 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/0/vertx-based-reactive-streams-publishers.adoc @@ -0,0 +1,29 @@ += Vert.x-based Reactive Streams Publishers +include::_attributes.adoc[] + +The `mutiny-zero-vertx-publishers` library (Maven coordinates `io.smallrye.reactive:mutiny-zero-vertx-publishers`) allows creating _Reactive Streams_ publishers from https://vertx.io/[Vert.x] streams. + +This library acts as a thin adapter between Vert.x `ReadStream` and `java.util.concurrent.Flow.Publisher` and uses _Mutiny Zero_ to expose _Reactive Streams_ compliant publishers. + +== API overview + +The entry point is the `mutiny.zero.vertxpublishers.VertxPublisher` interface that exposes 2 static factory methods. + +* `Publisher++<++T++>++ fromSupplier(Supplier++<++ReadStream++<++T++>>++ streamSupplier)` is to be used when some Vert.x API returns a `ReadStream++<++T++>++`. +* `Publisher++<++T++>++ fromFuture(Supplier++<++Future++<++? extends ReadStream++<++T++>>>++ futureStreamSupplier)` is to be used when some Vert.x API asynchronously returns a `ReadStream++<++T++>++` through a `Future`. + +The factory methods use suppliers so that the `ReadStream` instances to be adapted are on a per-subscriber basis. + +== Sample usage + +The following example makes HTTP requests to the https://api.usb.urbanobservatory.ac.uk/[Newcastle University Urban Observatory API] using the Vert.x HTTP client: + +[source,java] +---- +include::{examples-dir}/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java[] +---- + +A new HTTP connection is issued everytime the publisher is being subscribed. +In this example the subscriber controls demand by requesting a new Vert.x `Buffer` every 500ms. + +If you run this program then you will see the JSON response being progressively printed to the standard console in chunks, every 500 milliseconds. diff --git a/content/docs/smallrye-mutiny-zero/latest/_attributes.adoc b/content/docs/smallrye-mutiny-zero/latest/_attributes.adoc new file mode 100644 index 000000000..375d29a1c --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/_attributes.adoc @@ -0,0 +1,20 @@ +:project-version: 1.3.1 +// Attributes shared by every page. smallrye.io overrides the ones it needs when it publishes. +// Pages in subdirectories set :version-root: (../ per level) before including this file. +ifndef::version-root[:version-root:] +:idprefix: +:idseparator: - +:sectanchors: +:examples-dir: {version-root}_examples +:partialsdir: {version-root}_partials +:project-name: Mutiny Zero +:javadoc-version: latest +:generated-dir: {version-root}_generated + +// Added by smallrye.io (tools/docs/Docs.java sync) +:javadoc-version: 1.3.1 +:relfileprefix: /docs/smallrye-mutiny-zero/latest/ +:imagesdir: /docs/smallrye-mutiny-zero/latest +:docs-project: smallrye-mutiny-zero +:docs-version: latest +:docs-ref: 1.3.1 diff --git a/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java b/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java new file mode 100644 index 000000000..3d7ddf2f7 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero-vertx-publishers/src/test/java/docsamples/UrbanObservatoryHttpClient.java @@ -0,0 +1,67 @@ +package docsamples; + +import java.nio.charset.StandardCharsets; +import java.util.concurrent.Executors; +import java.util.concurrent.Flow; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +import io.vertx.core.Vertx; +import io.vertx.core.buffer.Buffer; +import io.vertx.core.http.HttpClient; +import io.vertx.core.http.HttpClientRequest; +import io.vertx.core.http.HttpMethod; +import io.vertx.core.http.RequestOptions; +import mutiny.zero.vertxpublishers.VertxPublisher; + +public class UrbanObservatoryHttpClient { + + public static void main(String[] args) { + + Vertx vertx = Vertx.vertx(); + ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); + + RequestOptions opts = new RequestOptions() + .setSsl(true) + .setHost("api.usb.urbanobservatory.ac.uk") + .setPort(443) + .setMethod(HttpMethod.GET) + .addHeader("Accept", "application/json") + .setURI("/api/v2.0a/sensors/entity"); + + HttpClient httpClient = vertx.createHttpClient(); + + Flow.Publisher publisher = VertxPublisher.fromFuture(() -> httpClient + .request(opts) + .compose(HttpClientRequest::send)); + + publisher.subscribe(new Flow.Subscriber<>() { + + private Flow.Subscription subscription; + + @Override + public void onSubscribe(Flow.Subscription s) { + System.out.println("======================================"); + this.subscription = s; + s.request(1L); + } + + @Override + public void onNext(Buffer buffer) { + System.out.print(buffer.toString(StandardCharsets.UTF_8)); + executor.schedule(() -> subscription.request(1L), 500, TimeUnit.MILLISECONDS); + } + + @Override + public void onError(Throwable t) { + System.out.println("======================================"); + t.printStackTrace(); + } + + @Override + public void onComplete() { + System.out.println("======================================"); + } + }); + } +} diff --git a/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java b/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java new file mode 100644 index 000000000..62b3cc273 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromCompletionStage.java @@ -0,0 +1,14 @@ +package docsamples; + +import static java.util.concurrent.CompletableFuture.supplyAsync; +import static mutiny.zero.ZeroPublisher.fromCompletionStage; + +import java.util.concurrent.Flow; + +public class FromCompletionStage { + + public static void main(String[] args) { + + Flow.Publisher pun = fromCompletionStage(() -> supplyAsync(() -> 58L)); + } +} diff --git a/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java b/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java new file mode 100644 index 000000000..0b14665f3 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromKnownValues.java @@ -0,0 +1,22 @@ +package docsamples; + +import static mutiny.zero.ZeroPublisher.*; + +import java.io.IOException; +import java.util.Arrays; +import java.util.concurrent.Flow.Publisher; + +public class FromKnownValues { + + public static void main(String[] args) { + + // From values + Publisher pub1 = fromItems(1, 2, 3); + + // From an iterable + Publisher pub2 = fromIterable(Arrays.asList(1, 2, 3)); + + // From a failure + Publisher pub3 = fromFailure(new IOException("Broken pipe")); + } +} diff --git a/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java b/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java new file mode 100644 index 000000000..6a78a2cb8 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/_examples/mutiny-zero/src/test/java/docsamples/FromTube.java @@ -0,0 +1,48 @@ +package docsamples; + +import static mutiny.zero.ZeroPublisher.create; + +import java.util.concurrent.Flow.Publisher; + +import mutiny.zero.BackpressureStrategy; +import mutiny.zero.TubeConfiguration; + +public class FromTube { + + public static void main(String[] args) { + + SampleAsyncSource source = new SampleAsyncSource(); + + TubeConfiguration configuration = new TubeConfiguration() + .withBackpressureStrategy(BackpressureStrategy.BUFFER) + .withBufferSize(256); + + Publisher pub = create(configuration, tube -> { + + // Start + source.start(); + + // Allow items to be received + tube.whenRequested(n -> source.resume()); + + // Termination cases + tube.whenCancelled(source::close); + tube.whenTerminates(() -> System.out.println("Done")); + + // Emit items, pause the source if need be + source.onItem(str -> { + tube.send(str); + if (tube.outstandingRequests() == 0L) { + source.pause(); + } + }); + + // Error + source.onError(tube::fail); + + // Completion + source.onEnd(tube::complete); + + }); + } +} diff --git a/content/docs/smallrye-mutiny-zero/latest/_nav.yml b/content/docs/smallrye-mutiny-zero/latest/_nav.yml new file mode 100644 index 000000000..4d513c700 --- /dev/null +++ b/content/docs/smallrye-mutiny-zero/latest/_nav.yml @@ -0,0 +1,7 @@ +title: Mutiny Zero +nav: +- title: Overview + page: index +- page: quick-start +- page: flow-adapters +- page: vertx-based-reactive-streams-publishers diff --git a/content/docs/smallrye-mutiny-zero/latest/assets/reactive-ecosystem.dark.png b/content/docs/smallrye-mutiny-zero/latest/assets/reactive-ecosystem.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..53347f2474131d50ef8235a673cb4e9247dbfc03 GIT binary patch literal 60658 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 z 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/latest/assets/reactive-ecosystem.png b/content/docs/smallrye-mutiny-zero/latest/assets/reactive-ecosystem.png new file mode 100644 index 0000000000000000000000000000000000000000..79c0ac63efde3c4b2575dbd78a91d304b2e2d773 GIT binary patch literal 106873 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 literal 0 HcmV?d00001 diff --git a/content/docs/smallrye-mutiny-zero/latest/assets/reactive-minimal.dark.png b/content/docs/smallrye-mutiny-zero/latest/assets/reactive-minimal.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..28b82bc891ec4971f89db556b58736b2be12ffd4 GIT binary patch literal 97983 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

3i4TU>dW&>DomZ2wGaLj4+lyDUTK`Rx5Jq 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

3i4TU>dW&>DomZ2wGaLj4+lyDUTK`Rx5Jq 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