gemmellr commented on code in PR #3999: URL: https://github.com/apache/activemq-artemis/pull/3999#discussion_r844072530
########## artemis-jakarta-ra-rar/pom.xml: ########## @@ -0,0 +1,68 @@ +<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor +license agreements. See the NOTICE file distributed with this work for additional +information regarding copyright ownership. The ASF licenses this file to +You under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of +the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required +by applicable law or agreed to in writing, software distributed under the +License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, either express or implied. See the License for the specific +language governing permissions and limitations under the License. --> +<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 http://maven.apache.org/maven-v4_0_0.xsd"> + <name>ActiveMQ Artemis Jakarta RA - RAR</name> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.activemq</groupId> + <artifactId>artemis-pom</artifactId> + <version>2.22.0-SNAPSHOT</version> + </parent> + + <artifactId>artemis-jakarta-ra-rar</artifactId> + <packaging>rar</packaging> + + <properties> + <activemq.basedir>${project.basedir}/..</activemq.basedir> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>artemis-jakarta-ra</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>artemis-jakarta-client</artifactId> + <version>${project.version}</version> + <exclusions> + <exclusion> + <groupId>jakarta.jms</groupId> + <artifactId>jakarta.jms-api</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-rar-plugin</artifactId> + <version>2.4</version> Review Comment: Use the existing pluginManagement, this plugin is already being managed in the root (to 2.3, update if needed; add a property if doing so) ########## artemis-jakarta-ra-rar/src/main/rar/META-INF/ra.xml: ########## @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="UTF-8"?> Review Comment: There are still _lots_ of tabs in this file. ########## artemis-ra-rar/pom.xml: ########## @@ -0,0 +1,68 @@ +<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor +license agreements. See the NOTICE file distributed with this work for additional +information regarding copyright ownership. The ASF licenses this file to +You under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of +the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required +by applicable law or agreed to in writing, software distributed under the +License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, either express or implied. See the License for the specific +language governing permissions and limitations under the License. --> +<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 http://maven.apache.org/maven-v4_0_0.xsd"> + <name>ActiveMQ Artemis RA - RAR</name> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.activemq</groupId> + <artifactId>artemis-pom</artifactId> + <version>2.22.0-SNAPSHOT</version> + </parent> + + <artifactId>artemis-ra-rar</artifactId> + <packaging>rar</packaging> + + <properties> + <activemq.basedir>${project.basedir}/..</activemq.basedir> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>artemis-ra</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>artemis-jms-client</artifactId> + <version>${project.version}</version> + <exclusions> + <exclusion> + <groupId>jakarta.jms</groupId> + <artifactId>jakarta.jms-api</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-rar-plugin</artifactId> + <version>2.4</version> Review Comment: As other comment ########## docs/user-manual/en/resource-adapter.md: ########## @@ -0,0 +1,130 @@ +# Resource Adapter + +For using Apache ActiveMQ Artemis in a JavaEE/JakartaEE environment, you can use the ResourceAdapter. Before you +start, read carefully the [JMS chapter](using-jms.md) + +##In which case do you have to use a RA and in which not? +The main reason is the requirement of +[XA](https://jakarta.ee/specifications/transactions/2.0/jakarta-transactions-spec-2.0.html), distributed +transactions over multiple resources. If it is important for you no message get lost and multiple resources (e.g. +database and messaging) must be in sync, there is no way around it. + +##Versions +let's give you a short overview of the versions, to be sure you pick the correct *.rar. + +| | artemis-ra-rar | | | +| --------- | ------ | --- | --- | +| Artemis | JavaEE | JCA | JMS | +| \>= 2.18.0 | \>=8 | 1.7 | 2.0 | +| <= 2.17.0 | 7 | 1.5 | 2.0 | + +| | artemis-jakarta-ra-rar | | | +| --- | ------- | --- | --- | +| Artemis | JavaEE | JCA | JMS | +| \>= 2.18.0 | \>=9 | 2.0 | 3.0 | + +## Lets start +To use the RA, you have to build it by your own. This sounds harder than it is. But no worries, an +[examples](examples.md) Review Comment: This will read as 'an examples is shipped', drop the s. Maybe note the actual examples, as e.g. the shell below does. ########## docs/user-manual/en/resource-adapter.md: ########## @@ -0,0 +1,130 @@ +# Resource Adapter + +For using Apache ActiveMQ Artemis in a JavaEE/JakartaEE environment, you can use the ResourceAdapter. Before you +start, read carefully the [JMS chapter](using-jms.md) + +##In which case do you have to use a RA and in which not? +The main reason is the requirement of +[XA](https://jakarta.ee/specifications/transactions/2.0/jakarta-transactions-spec-2.0.html), distributed +transactions over multiple resources. If it is important for you no message get lost and multiple resources (e.g. +database and messaging) must be in sync, there is no way around it. + +##Versions +let's give you a short overview of the versions, to be sure you pick the correct *.rar. + +| | artemis-ra-rar | | | +| --------- | ------ | --- | --- | +| Artemis | JavaEE | JCA | JMS | +| \>= 2.18.0 | \>=8 | 1.7 | 2.0 | +| <= 2.17.0 | 7 | 1.5 | 2.0 | + +| | artemis-jakarta-ra-rar | | | +| --- | ------- | --- | --- | +| Artemis | JavaEE | JCA | JMS | +| \>= 2.18.0 | \>=9 | 2.0 | 3.0 | Review Comment: The doc is version specific, I dont think it should concern itself with specifying stuff for what are even now already old Artemis versions. I would remove it or change it so it just describes the difference between the current rars, e.g artemis-ra-rar A B C artemis-jakarta-ra-rar X Y Z ########## pom.xml: ########## @@ -53,7 +53,9 @@ <module>artemis-jakarta-server</module> <module>artemis-journal</module> <module>artemis-ra</module> + <module>artemis-ra-rar</module> Review Comment: The doc additions speak about needing to build your own rar, and directs to the examples present for doing that. The 2 new modules being added at the root seem to be doing much the same thing. I'm not clear why both exist. ########## artemis-jakarta-ra-rar/pom.xml: ########## @@ -0,0 +1,68 @@ +<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor +license agreements. See the NOTICE file distributed with this work for additional +information regarding copyright ownership. The ASF licenses this file to +You under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of +the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required +by applicable law or agreed to in writing, software distributed under the +License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, either express or implied. See the License for the specific +language governing permissions and limitations under the License. --> Review Comment: Use the typical formatting like the existing poms do. ########## docs/user-manual/en/resource-adapter.md: ########## @@ -0,0 +1,130 @@ +# Resource Adapter + +For using Apache ActiveMQ Artemis in a JavaEE/JakartaEE environment, you can use the ResourceAdapter. Before you +start, read carefully the [JMS chapter](using-jms.md) + +##In which case do you have to use a RA and in which not? +The main reason is the requirement of +[XA](https://jakarta.ee/specifications/transactions/2.0/jakarta-transactions-spec-2.0.html), distributed +transactions over multiple resources. If it is important for you no message get lost and multiple resources (e.g. +database and messaging) must be in sync, there is no way around it. + +##Versions +let's give you a short overview of the versions, to be sure you pick the correct *.rar. + +| | artemis-ra-rar | | | +| --------- | ------ | --- | --- | +| Artemis | JavaEE | JCA | JMS | +| \>= 2.18.0 | \>=8 | 1.7 | 2.0 | +| <= 2.17.0 | 7 | 1.5 | 2.0 | + +| | artemis-jakarta-ra-rar | | | +| --- | ------- | --- | --- | +| Artemis | JavaEE | JCA | JMS | +| \>= 2.18.0 | \>=9 | 2.0 | 3.0 | + +## Lets start +To use the RA, you have to build it by your own. This sounds harder than it is. But no worries, an +[examples](examples.md) +is shipped with the distribution. + +* [install maven](https://maven.apache.org/install.html) + +```shell +cd examples/features/sub-modules/{artemis-jakarta-ra-rar,artemis-ra-rar} +mvn clean install +cd target +mv artemis*.rar artemis.rar +``` +Now you can see the artemis.rar, and you are good to go. Follow the manual of your application server, to install the +ResourceAdapter. + +## Details about the Resource Adapter configuration + +Before you start with the configuration you have to know two basics: The configuration is split into two +parts. First, the config to send messages to an address (outbound), and second, the config to get messages consumed +from a destination (inbound). Each can be configured separately, or use both the ResourceAdapter settings. + +Here are a few options listed. If you want an overview of all configuration options, consider +[ConnectionFactoryProperties](https://github.com/apache/activemq-artemis/blob/main/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/ConnectionFactoryProperties.java) +as a base and additionally the specific classes for your object. + +Consider also, the rar.xml file for options and explanations in your artemis.rar. There you can set the default options +for your ResourceAdapter. With the configuration of the ResourceAdapter in your application server, you are overriding rar.xml +defaults. With the configuration of the ConnectionFactory or the ActivationSpec, you can override the +ResourceAdapter config. + +### ResourceAdapter +Config options +[ActiveMQRAProperties](https://github.com/apache/activemq-artemis/blob/main/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/ActiveMQRAProperties.java) + +- `connectionParameters` key value pairs, like host=localhost;port=61616,host=anotherHost;port=61617 +- `userName` userName +- `password` password +- `clientID` clientID + +### ConnectionFactory +Config options for the outbound ManagedConnectionFactory: +[ActiveMQRAMCFProperties](https://github.com/apache/activemq-artemis/blob/main/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/ActiveMQRAMCFProperties.java) +The connection for the ManagedConnectionFactory is specified by the RA. + +Config options for the inbound ConnectionFactory +[ActiveMQConnectionFactory](https://github.com/apache/activemq-artemis/blob/main/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQConnectionFactory.java) +- `brokerUrl` url to broker. +- `cacheDestinations` by the jms session +#### ConnectionManager +You can't configure any properties. +### ActivationSpec +Config options +[ActiveMQActivationSpec](https://github.com/apache/activemq-artemis/blob/main/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/inflow/ActiveMQActivationSpec.java) + +In the activation spec you can configure all the things you need to get messages consumed from artemis. +- `useJndi` true if you want lookup destinations via jndi. +- `connectionFactoryLookup` the jndiName of the connectionFactory, used by this activation spec. You can reference + an existing ManagedConnectionFactory or specify another. +- `jndiParams` for the InitialContext. key value pairs, like a=b;c=d;e=f +- `destination` name or jndi reference of the destination +- `destinationType` javax/jakarta.jms.Queue or javax/jakarta.jms.Topic +- `messageSelector` sql where clause syntax to filter messages to your message driven bean +#### Only for topic message consumption +- `subscriptionDurability` Durable / NonDurable +- `subscriptionName` artemis hold all messages for this name if you use durable subscriptions + +## Logging +With the package `org.apache.activemq.artemis.ra` you catch all ResourceAdapter logging statements. + +## Example for WLP / OpenLiberty +sample for your server.xml, in this case, with the jms 3.0 API. For a runnable sample, take also a look in the +examples/features/sub-modules/wlp directory. +```xml +<server> + <resourceAdapter id="artemis" location="${wlp.user.dir}shared/lib/artemis.rar"> + <properties.artemis /> + </resourceAdapter> + + <!-- dont't use the jmsConnectionFactory element --> + <connectionFactory jndiName="jms/sampleArtemisConnectionFactory"> + <properties.artemis /> + <connectionManager /> <!-- not implemented by Artemis--> + </connectionFactory> + + <jmsActivationSpec id="your-app/QueueListener"> + <properties.artemis useJndi="true" destination="jms/sampleQueue" destinationType="jakarta.jms.Queue" + connectionFactoryLookup="jms/sampleArtemisConnectionFactory" /> + </jmsActivationSpec> + + <jmsActivationSpec id="your-app/TopicListener"> + <properties.artemis clientId="aClientId" useJndi="true" destination="jms/sampleTopic" + destinationType="jakarta.jms.Topic" subscriptionDurability="Durable" subscriptionName="sampleDurableSubscriberName" + connectionFactoryLookup="jms/asyncAppConnectionFactory" /> + </jmsActivationSpec> + + <jmsTopic jndiName="jms/sampleTopic"> + <properties.artemis Address="a_sample_adress" /> + </jmsTopic> + + <jmsQueue jndiName="jms/sampleQueue"> + <properties.artemis Address="another_sample_adress" /> + </jmsQueue> +</server> +``` Review Comment: I dont see a need to embed this in the docs. It wont apply to many people and is just going to go stale. Seems like it would be better to just link to the example, which has it. Perhaps at the same time as mentioning other examples above. ########## examples/features/sub-modules/artemis-ra-rar/src/main/resources/ra.xml: ########## @@ -2,11 +2,11 @@ <!-- $Id: ra.xml 76819 2008-08-08 11:04:20Z jesper.pedersen $ --> -<connector xmlns="http://java.sun.com/xml/ns/j2ee" +<connector xmlns="http://xmlns.jcp.org/xml/ns/javaee" Review Comment: As previous comment about indents ########## artemis-jakarta-ra-rar/src/main/rar/META-INF/ra.xml: ########## @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="UTF-8"?> +<connector version="2.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd "> + + <description>ActiveMQ Artemis Resource Adapter</description> + <display-name>ArtemisRA</display-name> + <vendor-name>Apache Software Foundation</vendor-name> + <eis-type>Jakarta Messaging 3.0 Server</eis-type> + <resourceadapter-version>1.0</resourceadapter-version> + + <license> + <description> + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + </description> + <license-required>true</license-required> + </license> + + <resourceadapter> + <resourceadapter-class>org.apache.activemq.artemis.ra.ActiveMQResourceAdapter</resourceadapter-class> + <config-property> + <description> + The transport type. Multiple connectors can be configured by using a comma separated list, + i.e. org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory,org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory. + </description> + <config-property-name>ConnectorClassName</config-property-name> + <config-property-type>java.lang.String</config-property-type> + <config-property-value>org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory</config-property-value> + </config-property> + <!-- <config-property> + <description>The transport configuration. These values must be in the form of key=val;key=val;, + if multiple connectors are used then each set must be separated by a comma i.e. host=host1;port=61616,host=host2;port=61617. + Each set of params maps to the connector classname specified. + </description> + <config-property-name>ConnectionParameters</config-property-name> + <config-property-type>java.lang.String</config-property-type> + <config-property-value>host=localhost,port=61616</config-property-value> + </config-property> --> + + <!-- <config-property> Review Comment: Does it need 2 separate commented out chunks of options? Would 1 not be more than enough? ########## artemis-ra-rar/src/main/rar/META-INF/ra.xml: ########## @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="UTF-8"?> +<connector version="1.7" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/connector_1_7.xsd "> + + <description>ActiveMQ Artemis Resource Adapter</description> + <display-name>ArtemisRA</display-name> + <vendor-name>Apache Software Foundation</vendor-name> + <eis-type>JMS Messaging 3.0 Server</eis-type> + <resourceadapter-version>1.0</resourceadapter-version> + + <license> + <description> + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + </description> + <license-required>true</license-required> + </license> + + <resourceadapter> + <resourceadapter-class>org.apache.activemq.artemis.ra.ActiveMQResourceAdapter</resourceadapter-class> + <config-property> + <description> + The transport type. Multiple connectors can be configured by using a comma separated list, + i.e. org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory,org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory. + </description> + <config-property-name>ConnectorClassName</config-property-name> + <config-property-type>java.lang.String</config-property-type> + <config-property-value>org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnectorFactory</config-property-value> + </config-property> + <!-- <config-property> + <description>The transport configuration. These values must be in the form of key=val;key=val;, + if multiple connectors are used then each set must be separated by a comma i.e. host=host1;port=61616,host=host2;port=61617. + Each set of params maps to the connector classname specified. + </description> + <config-property-name>ConnectionParameters</config-property-name> + <config-property-type>java.lang.String</config-property-type> + <config-property-value>host=localhost,port=61616</config-property-value> + </config-property> --> + + <!-- <config-property> Review Comment: As other comment. ########## artemis-ra-rar/src/main/rar/META-INF/ra.xml: ########## @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="UTF-8"?> Review Comment: Still lots of tabs in this file ########## examples/features/sub-modules/wlp-jakarta/build.sh: ########## @@ -0,0 +1,19 @@ +#!/bin/sh +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +mvn clean install Review Comment: Personally I think this script seems unnecessary. ########## pom.xml: ########## @@ -526,6 +537,26 @@ <version>${jakarta.resource-api.version}</version> <!-- License: EPL 2.0 --> </dependency> + <dependency> + <groupId>jakarta.jms</groupId> + <artifactId>jakarta.jms-api</artifactId> + <version>${version.jakarta.jms-api}</version> + </dependency> Review Comment: This, and quite probably some/all of the others added jsut below, is simply wrong. This dep is already being managed closely above up to the JMS 2 version used in most of the build. The modules that need the Jakarta EE9+ versions then update the version locally to what they need. Adding the alternative version in its own property at the root alongside their existing properties, so the alternative versions can be referenced and updated from one place when needed, would be an improvement. ########## examples/features/sub-modules/artemis-jakarta-ra-rar/src/main/resources/ra.xml: ########## @@ -2,314 +2,309 @@ <!-- $Id: ra.xml 76819 2008-08-08 11:04:20Z jesper.pedersen $ --> -<connector xmlns="http://java.sun.com/xml/ns/j2ee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee - http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd" - version="1.5"> +<connector version="2.0" Review Comment: Almost none of the change in this file seems like it is needed, just being indent changes (that use tabs when they didnt before, no less). They should be unwound to help make the actual changes clear. ########## examples/features/sub-modules/wlp/build.sh: ########## @@ -0,0 +1,19 @@ +#!/bin/sh +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +mvn clean install Review Comment: As other comment ########## docs/user-manual/en/resource-adapter.md: ########## @@ -0,0 +1,130 @@ +# Resource Adapter + +For using Apache ActiveMQ Artemis in a JavaEE/JakartaEE environment, you can use the ResourceAdapter. Before you +start, read carefully the [JMS chapter](using-jms.md) + +##In which case do you have to use a RA and in which not? +The main reason is the requirement of +[XA](https://jakarta.ee/specifications/transactions/2.0/jakarta-transactions-spec-2.0.html), distributed +transactions over multiple resources. If it is important for you no message get lost and multiple resources (e.g. +database and messaging) must be in sync, there is no way around it. + +##Versions +let's give you a short overview of the versions, to be sure you pick the correct *.rar. + +| | artemis-ra-rar | | | +| --------- | ------ | --- | --- | +| Artemis | JavaEE | JCA | JMS | +| \>= 2.18.0 | \>=8 | 1.7 | 2.0 | +| <= 2.17.0 | 7 | 1.5 | 2.0 | + +| | artemis-jakarta-ra-rar | | | +| --- | ------- | --- | --- | +| Artemis | JavaEE | JCA | JMS | +| \>= 2.18.0 | \>=9 | 2.0 | 3.0 | + +## Lets start +To use the RA, you have to build it by your own. This sounds harder than it is. But no worries, an +[examples](examples.md) +is shipped with the distribution. + +* [install maven](https://maven.apache.org/install.html) + +```shell +cd examples/features/sub-modules/{artemis-jakarta-ra-rar,artemis-ra-rar} +mvn clean install +cd target +mv artemis*.rar artemis.rar +``` +Now you can see the artemis.rar, and you are good to go. Follow the manual of your application server, to install the +ResourceAdapter. + +## Details about the Resource Adapter configuration + +Before you start with the configuration you have to know two basics: The configuration is split into two +parts. First, the config to send messages to an address (outbound), and second, the config to get messages consumed +from a destination (inbound). Each can be configured separately, or use both the ResourceAdapter settings. + +Here are a few options listed. If you want an overview of all configuration options, consider +[ConnectionFactoryProperties](https://github.com/apache/activemq-artemis/blob/main/artemis-ra/src/main/java/org/apache/activemq/artemis/ra/ConnectionFactoryProperties.java) Review Comment: Linking to main kind of sucks, and may not apply to whatever version is actually being looked at. Will whats wanted it be in the javadoc? ########## examples/features/sub-modules/wlp/readme.md: ########## @@ -0,0 +1,11 @@ +# Apache ActiveMQ ResourceAdapter WLP / Openliberty Sample + +This sample shows the usage of the Apache ActiveMQ Artemis ResourceAdapter with WLP / Openliberty. + +Usage: +```bash +mvn clean install Review Comment: Seems the example doesnt even suggest using the previously commented about script. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
