Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 2 additions & 27 deletions docs/src/main/asciidoc/mp/reactivemessaging/aq.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////////

Copyright (c) 2020, 2024 Oracle and/or its affiliates.
Copyright (c) 2020, 2025 Oracle and/or its affiliates.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -51,32 +51,7 @@ include::{rootdir}/includes/dependencies.adoc[]

Connector name: `helidon-aq`

.Attributes
|===
|`datasource` | name of the datasource bean used to connect Oracle DB with AQ
|`url` | jdbc connection string used to connect Oracle DB with AQ (forbidden when `datasource` is specified)
|`username` | User name used to connect Oracle DB with AQ (forbidden when `datasource` is specified)
|`password` | Password to connect Oracle DB with AQ (forbidden when `datasource` is specified)
|`type` | Possible values are: `queue`, `topic`
|`destination` | Queue or topic name
|`acknowledge-mode` |Possible values are: `AUTO_ACKNOWLEDGE`- session automatically acknowledges a client’s receipt of a message,
`CLIENT_ACKNOWLEDGE` - receipt of a message is acknowledged only when `Message.ack()` is called manually,
`DUPS_OK_ACKNOWLEDGE` - session lazily acknowledges the delivery of messages. Default value: `AUTO_ACKNOWLEDGE`
|`transacted` | Indicates whether the session will use a local transaction. Default value: `false`
|`message-selector` | JMS API message selector expression based on a subset of the SQL92.
Expression can only access headers and properties, not the payload.
|`client-id` | Client identifier for JMS connection.
|`durable` | True for creating durable consumer (only for topic). Default value: `false`
|`subscriber-name` | Subscriber name for durable consumer used to identify subscription.
|`non-local` | If true then any messages published to the topic using this session's connection,
or any other connection with the same client identifier,
will not be added to the durable subscription. Default value: `false`
|`named-factory` | Select in case factory is injected as a named bean or configured with name.
|`poll-timeout` | Timeout for polling for next message in every poll cycle in millis. Default value: `50`
|`period-executions` | Period for executing poll cycles in millis. Default value: `100`
|`session-group-id` | When multiple channels share same `session-group-id`,
they share same JMS session and same JDBC connection as well.
|===
include::{rootdir}/config/io_helidon_messaging_connectors_aq_AqConfigBuilder.adoc[tag=config,leveloffset=+1]

=== Configured JMS Factory

Expand Down
30 changes: 6 additions & 24 deletions docs/src/main/asciidoc/mp/reactivemessaging/jms.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////////

Copyright (c) 2020, 2024 Oracle and/or its affiliates.
Copyright (c) 2020, 2025 Oracle and/or its affiliates.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -52,30 +52,12 @@ include::{rootdir}/includes/dependencies.adoc[]

Connector name: `helidon-jms`

.Attributes
include::{rootdir}/config/io_helidon_messaging_connectors_jms_JmsConfigBuilder.adoc[tag=config,leveloffset=+1]

TIP: Besides the configuration options above, custom attributes can be passed over configuration.

.Custom Attributes Examples
|===
|`username` | User name used to connect JMS session
|`password` | Password to connect JMS session
|`type` | Possible values are: `queue`, `topic`
|`destination` | Queue or topic name
|`acknowledge-mode` |Possible values are: `AUTO_ACKNOWLEDGE`- session automatically acknowledges a client's receipt of a message,
`CLIENT_ACKNOWLEDGE` - receipt of a message is acknowledged only when `Message.ack()` is called manually,
`DUPS_OK_ACKNOWLEDGE` - session lazily acknowledges the delivery of messages. Default value: `AUTO_ACKNOWLEDGE`
|`transacted` | Indicates whether the session will use a local transaction. Default value: `false`
|`message-selector` | JMS API message selector expression based on a subset of the SQL92.
Expression can only access headers and properties, not the payload.
|`client-id` | Client identifier for JMS connection.
|`durable` | True for creating durable consumer (only for topic). Default value: `false`
|`subscriber-name` | Subscriber name for durable consumer used to identify subscription.
|`non-local` | If true then any messages published to the topic using this session's connection,
or any other connection with the same client identifier,
will not be added to the durable subscription. Default value: `false`
|`named-factory` | Select in case factory is injected as a named bean or configured with name.
|`poll-timeout` | Timeout for polling for next message in every poll cycle in millis. Default value: `50`
|`period-executions` | Period for executing poll cycles in millis. Default value: `100`
|`session-group-id` | When multiple channels share same `session-group-id`,
they share same JMS session and same JDBC connection as well.
|`jndi.jms-factory` | JNDI name of JMS factory.
|`jndi.destination` | JNDI destination identifier.
|`jndi.env-properties` | Environment properties used for creating initial context `java.naming.factory.initial`, `java.naming.provider.url` ...
|`producer.someproperty` | property with producer prefix is set to producer instance (for example WLS Unit-of-Order `WLMessageProducer.setUnitOfOrder("unit-1")` can be configured as `producer.unit-of-order=unit-1`)
Expand Down
15 changes: 12 additions & 3 deletions docs/src/main/asciidoc/mp/reactivemessaging/kafka.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////////

Copyright (c) 2020, 2024 Oracle and/or its affiliates.
Copyright (c) 2020, 2025 Oracle and/or its affiliates.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -29,7 +29,9 @@ include::{rootdir}/includes/mp.adoc[]

- <<Overview, Overview>>
- <<Maven Coordinates, Maven Coordinates>>
- <<Config Example, Config Example>>
- <<Config, Config>>
- <<Consuming Messages, Consuming Messages>>
- <<Producing Messages, Producing Messages>>
- <<NACK Strategy, NACK Strategy>>
- <<Examples, Examples>>

Expand All @@ -48,7 +50,7 @@ include::{rootdir}/includes/dependencies.adoc[]
</dependency>
----

== Config Example
== Config

[source,yaml]
.Example of connector config:
Expand Down Expand Up @@ -78,12 +80,19 @@ mp.messaging:
<1> Kafka client consumer's property auto.offset.reset configuration for `from-kafka` channel only
<2> Kafka client's property link:{kafka-client-base-url}#consumerconfigs_bootstrap.servers[bootstrap.servers] configuration for all channels using the connector

TIP: Besides the following configuration options, any property from https://kafka.apache.org/documentation/#consumerconfigs[consumer] or https://kafka.apache.org/documentation/#producerconfigs[producer] configuration can be passed to the underlying Kafka client.

include::{rootdir}/config/io_helidon_messaging_connectors_kafka_KafkaConfigBuilder.adoc[tag=config,leveloffset=+1]

== Consuming Messages

[source,java]
.Example of consuming from Kafka:
----
include::{sourcedir}/mp/reactivemessaging/KafkaSnippets.java[tag=snippet_1, indent=0]
----

== Producing Messages

[source,java]
.Example of producing to Kafka:
Expand Down
40 changes: 38 additions & 2 deletions messaging/connectors/aq/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
-->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

Expand Down Expand Up @@ -69,6 +69,11 @@
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
</dependency>
<dependency>
<groupId>io.helidon.config</groupId>
<artifactId>helidon-config-metadata</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
Expand All @@ -86,21 +91,52 @@
</dependency>
</dependencies>


<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>io.helidon.codegen</groupId>
<artifactId>helidon-codegen-apt</artifactId>
<version>${helidon.version}</version>
</path>
<path>
<groupId>io.helidon.config.metadata</groupId>
<artifactId>helidon-config-metadata-codegen</artifactId>
<version>${helidon.version}</version>
</path>
<path>
<groupId>io.helidon.service</groupId>
<artifactId>helidon-service-codegen</artifactId>
<version>${helidon.version}</version>
</path>
<path>
<groupId>io.helidon.common.features</groupId>
<artifactId>helidon-common-features-codegen</artifactId>
<version>${helidon.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
<dependencies>
<dependency>
<groupId>io.helidon.codegen</groupId>
<artifactId>helidon-codegen-apt</artifactId>
<version>${helidon.version}</version>
</dependency>
<dependency>
<groupId>io.helidon.config.metadata</groupId>
<artifactId>helidon-config-metadata-codegen</artifactId>
<version>${helidon.version}</version>
</dependency>
<dependency>
<groupId>io.helidon.service</groupId>
<artifactId>helidon-service-codegen</artifactId>
<version>${helidon.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
Expand Down
Loading
Loading