Commit Graph

867 Commits

Author SHA1 Message Date
Robbie Gemmell 32f5c9ccf4 ARTEMIS-4271: update to Spring 5.3.27 2023-05-04 09:54:36 +01:00
Emmanuel Hugonnet 31095682ee ARTEMIS-4269 Update Netty from 4.1.86 to 4.1.92
Changes:
https://netty.io/news/2023/04/25/4-1-92-Final.html
https://netty.io/news/2023/04/03/4-1-91-Final.html
https://netty.io/news/2023/03/14/4-1-90-Final.html
https://netty.io/news/2023/02/13/4-1-89-Final.html
https://netty.io/news/2023/02/12/4-1-88-Final.html
https://netty.io/news/2023/01/12/4-1-87-Final.html

Issue: https://issues.apache.org/jira/browse/ARTEMIS-4269

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
2023-05-02 19:31:06 +02:00
Justin Bertram 74fa4ca758 ARTEMIS-4212 fix sending msgs to address w/mismatching routing types
When sending, for example, to a predefined anycast address and queue
from a multicast (JMS topic) producer, the routed count on the address
is incremented, but the message count on the matching queue is not. No
indication is given at the client end that the messages failed to get
routed - the messages are just silently dropped.

Fixing this problem requires a slight semantic change. The broker is now
more strict in what it allows specifically with regards to
auto-creation. If, for example, a JMS application attempts to send a
message to a topic and the corresponding multicast address doesn't exist
already or the broker cannot automatically create it or update it then
sending the message will fail.

Also, part of this commit moves a chunk of auto-create logic into
ServerSession and adds an enum for auto-create results. Aside from
helping fix this specific issue this can serve as a foundation for
de-duplicating the auto-create logic spread across many of the protocol
implementations.
2023-04-25 16:08:31 -05:00
Domenico Francesco Bruscino 71408296c9 ARTEMIS-4228 Upgrade testcontainers version to 1.17.6 2023-04-03 09:27:18 +01:00
Domenico Francesco Bruscino 5c654a12c7 ARTEMIS-4227 Upgrade opentelemetry version to 1.24.0 2023-04-03 09:27:18 +01:00
Domenico Francesco Bruscino e906294a35 ARTEMIS-4226 Upgrade guava version to 31.1-jre 2023-04-03 09:27:18 +01:00
Robbie Gemmell 21a5f0d2fa ARTEMIS-4222: update to mockito 5.2.0 2023-03-29 12:34:08 +01:00
Robbie Gemmell ccf6a3f420 ARTEMIS-4221: update to groovy 4.0.10 2023-03-29 12:32:48 +01:00
Robbie Gemmell 61d1ca674c ARTEMIS-4220: update spring to 5.3.26 2023-03-28 15:00:10 +01:00
Clebert Suconic ed620d09c8 ARTEMIS-4171 Skip Leaking Tests on FastTests 2023-03-06 17:04:18 -08:00
Clebert Suconic 0971886a36 ARTEMIS-4198 Upgrade qpid/proton-j at 0.34.1 2023-03-06 17:04:18 -08:00
Robbie Gemmell 1f3745c87d ARTEMIS-4160: update the files used for the config upgrade testing to use the new comment.
Fixes the CompareUpgradeTest by removing this unimportant difference from a fresh broker instances jolokia-access.xml file, given that we dont actually update jolokia-access.xml currently during upgrade.

Tweaks or unwinds earlier changes in aae65fd527 and 3e7cb24381
2023-03-03 14:58:22 +00:00
Clebert Suconic 3e7cb24381 NO-JIRA Adding CompareUpgradeTest to fast-tests 2023-03-02 18:12:51 -08:00
Clebert Suconic a2ba6ed298 ARTEMIS-4161 AMQP and OpenWire leaking leaking objects in certain conditions
The issue identified with AMQP was under Transaction usage, and while opening and closing sessions.
It seems the leak would be released once the connection is closed.

We added a new testsuite under ./tests/leak-tests To fix and validate these issues
2023-02-16 12:10:54 -08:00
Justin Bertram f154c0b7dd ARTEMIS-4153 Support 'offline' Maven 2023-02-06 13:20:34 -06:00
Justin Bertram 8f30347b18 ARTEMIS-4143 improve mitigation against split-brain with shared-storage
Configurations employing shared-storage with NFS are susceptible to
split-brain in certain scenarios. For example:

  1) Primary loses network connection to NFS.
  2) Backup activates.
  3) Primary reconnects to NFS.
  4) Split-brain.

In reality this situation is pretty unlikely due to the timing involved,
but the possibility still exists. Currently the file lock held by the
primary broker on the NFS share is essentially worthless in this
situation. This commit adds logic by which the timestamp of the lock
file is updated during activation and then routinely checked during
runtime to ensure consistency. This effectively mitigates split-brain in
this situation (and likely others). Here's how it works now.

  1) Primary loses network connection to NFS.
  2) Backup activates.
  3) Primary reconnects to NFS.
  4) Primary detects that the lock file's timestamp has been updated and
     shuts itself down.

When the primary shuts down in step #4 the Topology on the backup can be
damaged. Protections were added for this via ARTEMIS-2868 but only for
the replicated use-case. This commit applies the protection for
removeMember() so that the Topology remains intact.

There are no tests for these changes as I cannot determine how to
properly simulate this use-case. However, there have never been robust,
automated tests for these kinds of NFS use-cases so this is not a
departure from the norm.
2023-02-03 10:40:08 -05:00
Clebert Suconic 2378d187af [maven-release-plugin] prepare for next development iteration 2023-01-31 07:22:48 -05:00
Clebert Suconic 893e1e7916 [maven-release-plugin] prepare release 2.28.0 2023-01-31 07:22:47 -05:00
Robbie Gemmell 3908dfc055 ARTEMIS-2876: re-fix JUnit 4 license note (it was changed to EPL 1.0 in 2013)
earlier fixup  undone by later commit to junit test modules
2023-01-30 15:01:21 +00:00
Domenico Francesco Bruscino b1d70a24fd ARTEMIS-4138 Upgrade jackson version to 2.14.1 2023-01-20 11:17:54 +01:00
Andy Taylor b02002fc66 ARTEMIS-3875 - adding consumer and producer metrics
https://issues.apache.org/jira/browse/ARTEMIS-3875
2023-01-13 15:49:44 -05:00
eidottermihi 76b8acc1dc
ARTEMIS-2876 Add JUnit5 Extensions for testing
Adds a new module 'artemis-junit-5' which adds JUnit 5 Extensions for
unit testing. For backwards compability, 'artemis-junit' still uses
JUnit 4. Common stuff has been moved to 'artemis-junit-commons'. Work is
based on the initial PR
https://github.com/apache/activemq-artemis/pull/3436 by @luisalves00
2022-12-17 01:44:57 -06:00
Justin Bertram 1846f3dad7
ARTEMIS-4117 bump Netty from 4.1.82.Final to 4.1.86.Final 2022-12-15 13:40:02 -06:00
Robbie Gemmell 776b4436df ARTEMIS-4099: Update to PostgreSQL 42.4.3 2022-11-24 10:45:37 +00:00
ruromero 3e50014e0d [ARTEMIS-3168] Implement Kubernetes JaaS LoginModule
Signed-off-by: ruromero <rromerom@redhat.com>
2022-11-22 11:44:00 +00:00
Justin Bertram dce4ba3c1a [maven-release-plugin] prepare for next development iteration 2022-11-08 13:17:38 -06:00
Justin Bertram 1fd6cb6239 [maven-release-plugin] prepare release 2.27.0 2022-11-08 12:46:20 -06:00
Justin Bertram ccb76c0a2a ARTEMIS-4064 Harden MetricsManager
In order to improve trouble-shooting for the MetricsManager there should
be additional logging and exceptions. In all, this commit contains the
following changes:

 - Additional logging
 - Throw an exception when registering meters if meters already exist
 - Rename a few variables & methods to more clearly identify what they
   are used for
 - Upgrade Micrometer to 1.9.5
 - Simplify/clarify a few blocks of code
 - No longer pass the ManagementServiceImpl when registering the
   metrics, but instead pass the Object the meter is observing (e.g.
   broker, address, or queue)
2022-10-31 09:04:20 -04:00
Robbie Gemmell e1903bf67c ARTEMIS-4068: skip the 'default' subset of tests run twice during release steps
They, and many more, are also run in CI during the process, so its largely redundant.
2022-10-21 17:04:07 +01:00
Robbie Gemmell d286339a84 ARTEMIS-4067: remove unused/stale site distributionManagement settings 2022-10-21 16:57:12 +01:00
Robbie Gemmell 669bdc3a12 ARTEMIS-4062: update to Mockito 4.8.0 2022-10-20 15:59:49 +01:00
Robbie Gemmell b8148e6358 ARTEMIS-4063: update to jacoco 0.8.8 2022-10-20 15:59:25 +01:00
Robbie Gemmell 16ef6855af ARTEMIS-4060: update commons-text transitive dep to 1.10.0 2022-10-19 17:52:12 +01:00
Robbie Gemmell 7bd67d2eb5 ARTEMIS-4061: update maven-bundle-plugin to 5.1.8 2022-10-19 17:32:15 +01:00
Robbie Gemmell f17d975138 ARTEMIS-4039: Update to jackson-databind 2.13.4.2 2022-10-18 11:02:29 +01:00
Robbie Gemmell ffc155f910 ARTEMIS-4055: update to apache parent 27, stop overriding some plugin versions, align others, override checksum config as appropriate 2022-10-18 10:50:22 +01:00
Robbie Gemmell a6e69aaccf ARTEMIS-4054: have release plugin autoVersionSubmodules, and configure the tagNameFormat to simplify setting release tag 2022-10-17 15:45:01 +01:00
Robbie Gemmell d6ec80d8f1 ARTEMIS-4053: ensure scm tag ref reflects it is currently non-release, using HEAD, rather than incorrectly having release version 2.19.0 2022-10-17 12:56:14 +01:00
Justin Bertram 5cf84bffbe
NO-JIRA restore commons-codec dependency; remove REST property 2022-10-11 11:10:11 -05:00
Justin Bertram 4a0bca3f64
NO-JIRA remove missed dependency from ARTEMIS-3137 2022-10-11 10:52:33 -05:00
Justin Bertram 5b200f84ee
NO-JIRA remove vestigial REST dependencies 2022-10-11 10:27:12 -05:00
Domenico Francesco Bruscino 2384a50e17 ARTEMIS-4039 Upgrade jackson version to 2.13.4 2022-10-11 15:52:57 +01:00
Robbie Gemmell d08af2bf6d ARTEMIS-4040: Update to Netty 4.1.82 2022-10-11 13:44:19 +01:00
Domenico Francesco Bruscino 288b013183 ARTEMIS-4038 Upgrade groovy version to 4.0.5 2022-10-11 11:17:43 +02:00
Robbie Gemmell 9873fccf74 ARTEMIS-4020: switch to using SLF4J API for logging, use Log4J 2 as impl for broker distribution and tests
PR includes work from myself and Clebert Suconic, squashed from the new-logging branch.
2022-09-28 14:01:54 -04:00
Clebert Suconic 5d8e7fe829 [maven-release-plugin] prepare for next development iteration 2022-09-21 13:00:47 -04:00
Clebert Suconic 2d7b1a3ef7 [maven-release-plugin] prepare release 2.26.0 2022-09-21 13:00:46 -04:00
Robbie Gemmell 4ab947f2d9 ARTEMIS-4008: update to qpid-jms 1.7.0 2022-09-21 13:33:28 +01:00
Robbie Gemmell 3aeb24ae01 ARTEMIS-3997: update vertx-proton test dep to 4.3.3 2022-09-15 09:33:48 +01:00
Robbie Gemmell 164ae04218 AARTEMIS-3996: update to proton-j 0.34.0 2022-09-15 09:33:39 +01:00
Clebert Suconic e654eba0de ARTEMIS-3987 Removing ActiveMQ Artemis Rest from the codebase.
As we discussed on the dev list, this module hasn't been used for a while, and we have been asking users to use stomp and stomp-WS instead.
2022-09-12 15:09:31 -04:00
Clebert Suconic 4ad830fb95 Bumping artemis as 3.0
After removing ActiveMQ Artemis rest (per ARTEMIS-3987), we should start promoting Artemis as 3.0
2022-09-12 15:09:31 -04:00
Robbie Gemmell e5086f447e ARTEMIS-3985: update to activemq 5.17.2 2022-09-12 12:20:14 +01:00
Robbie Gemmell 66ac39eb81 ARTEMIS-3971: set -noindex to exclude various .js files from javadoc output 2022-09-06 17:23:56 +01:00
Clebert Suconic 11eab60584 [maven-release-plugin] prepare for next development iteration 2022-08-30 18:04:06 -04:00
Clebert Suconic fb1b362b47 [maven-release-plugin] prepare release 2.25.0 2022-08-30 18:04:05 -04:00
Robbie Gemmell 88be6c3223 ARTEMIS-3946: update to Netty 4.1.79 (and netty-tcnative to 2.0.54) 2022-08-18 11:33:08 +01:00
Robbie Gemmell 7ec0bd35ba ARTEMIS-3927: update postgresql [provided/test] dep to 42.4.1 2022-08-09 12:17:28 +01:00
Clebert Suconic fa002728f2 [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
Clebert Suconic 897d9beaef [maven-release-plugin] prepare release 2.24.0 2022-07-26 11:59:19 -04:00
Clebert Suconic b57a1498e8 ARTEMIS-3903 Remove Xalan dependencies 2022-07-25 09:55:30 -04:00
Clebert Suconic 79daf49105 [maven-release-plugin] prepare for next development iteration 2022-07-21 17:44:35 -04:00
Clebert Suconic cc4867ccba [maven-release-plugin] prepare release 2.24.0 2022-07-21 17:44:33 -04:00
Robbie Gemmell 52c2372053 ARTEMIS-3893: update to commons-configuration 2.8.0
This closes #4139
2022-07-13 12:35:13 +01:00
Chuf e6e9dfd55f
Upgrade jetty to v10 2022-07-11 14:25:43 -05:00
Robbie Gemmell ea498e50e3 NO-JIRA: rework GHA jobs cache config
- Use simple path instead of earlier workarounds.
- Add cleanup step instead to purge some output.
- Change back to single shared cache, reduces number and combined size
  of caches, Checks job usually completes first and contains superset.
- Change the intial key prefix so as to force a new cache
2022-07-01 12:32:49 +01:00
Robbie Gemmell 2f361b1d40 ARTEMIS-3878: Update to Derby test dep to 10.14.2.0
This closes #4129
2022-06-30 11:42:24 +01:00
Robbie Gemmell dc8123dfc3 ARTEMIS-3876: stop extracting native lib files for every module, only the root where the tests looks for them 2022-06-28 17:34:49 +01:00
Robbie Gemmell 2ab0e85db4 ARTEMIS-3874: move/update various bits to allow removing many test-jar creations and dependencies 2022-06-27 09:52:54 -04:00
Clebert Suconic 342565d4c1 ARTEMIS-3850 Eliminate Page Soft Cache. Add Option to read messages based on sizing. 2022-06-14 14:53:14 -04:00
Clebert Suconic 0fab0dae91 [maven-release-plugin] prepare for next development iteration 2022-06-07 12:39:09 -04:00
Clebert Suconic 224ca0d4d7 [maven-release-plugin] prepare release 2.23.0 2022-06-07 12:39:07 -04:00
Robbie Gemmell e49a9521aa ARTEMIS-3849: Update to Spring 5.3.20
This closes #4096
2022-05-26 13:56:45 +01:00
Clebert Suconic a2dd805a2f ARTEMIS-3848 High CPU usage on ReadWriteLocks
This is caused by too many entries on the HashMap for ThreadLocals.
Also: I'm reviewing some readlock usage on the StorageManager to simplify things a little bit.
2022-05-25 12:27:57 -04:00
Chuf fb7655af2a
ARTEMIS-3845 Update hawtio
Update hawtio to 2.15.0 - drops support for Java8 and updates dependencies
2022-05-23 11:09:24 -05:00
Chuf 00f8a4f926
ARTEMIS-3844 Update Maven dependencies
Update Maven Enforcer Plugin from 3.0.0-M3 to 3.0.0
Update Maven Bundle Plugin from 5.1.2 to 5.1.6
Update Maven Shade Plugin from 3.2.4 to 3.3.0
2022-05-23 11:08:30 -05:00
Emmanuel Hugonnet de1542357b [ARTEMIS-3700]: Provinding a JakartaEE 10 implementation.
* Upgrading the API to Jakarta Messaging 3.1.0
* Updating the metadata to 3.1.0

Jira: https://issues.apache.org/jira/browse/ARTEMIS-3700
Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
2022-05-23 09:45:47 -04:00
Dominik Lenoch 866bbbba4d ARTEMIS-3806 Upgrade jboss-logging dependencies
Minor upgrade for jboss-logging from 3.4.3 to 3.5.0
Patch upgrade for jboss-logging-annotations from 2.2.0.Final to 2.2.1.Final
Patch upgrade for jboss-logging-processor from 2.2.0.Final to 2.2.1.Final
2022-05-18 11:37:16 +02:00
Robbie Gemmell 49868da9d4 ARTEMIS-3838: Update to Netty 4.1.77 (and netty-tcnative to 2.0.52) 2022-05-17 11:40:54 +01:00
Justin Bertram dff21ba42c ARTEMIS-3812 upgrade Micrometer 2022-05-04 21:26:16 -04:00
Robbie Gemmell dc5143502d NO-JIRA: correct JUnit 4 license note, it was changed to EPL 1.0 in 2013 2022-05-04 13:30:09 +01:00
Robbie Gemmell 8786bc9e5e ARTEMIS-3814: update activemq deps to 5.17.1 2022-05-04 13:25:17 +01:00
Justin Bertram 1a273821ed ARTEMIS-3806 upgrade logging dependencies 2022-04-28 14:41:26 -04:00
Clebert Suconic 57fa8b8271 [maven-release-plugin] prepare for next development iteration 2022-04-27 17:26:46 -04:00
Clebert Suconic 1a49845628 [maven-release-plugin] prepare release 2.22.0 2022-04-27 17:26:45 -04:00
Robbie Gemmell 5a8ee07be1 ARTEMIS-3752: update to Spring 5.3.19 and Spring Boot 2.6.7 which uses it 2022-04-22 14:04:20 +02:00
Robbie Gemmell 6eb78a2634 ARTEMIS-3783: rationalise config for alternate jakarta spec versions to simplify and align their use 2022-04-20 10:57:32 +01:00
Robbie Gemmell 9d943483d5 ARTEMIS-3772: update to mockito 4.4.0 2022-04-08 13:38:41 +01:00
Robbie Gemmell e774e4fcfb ARTEMIS-3768: update to Qpid JMS 1.6.0 2022-04-07 13:05:15 +01:00
Domenico Francesco Bruscino 6f4fc12d24 ARTEMIS-3760 Upgrade jackson version to 2.13.2 2022-04-07 11:00:21 +01:00
Domenico Francesco Bruscino ed4f80638a ARTEMIS-3752 Upgrade Spring Framework to 5.3.18 2022-04-01 12:19:02 -04:00
Domenico Francesco Bruscino d7fbe852db ARTEMIS-3754 Upgrade tomcat-servlet-api to 8.5.78 2022-04-01 12:18:52 -04:00
Justin Bertram 3ec88c5ea4
ARTEMIS-3740 Upgrade Johnzon 2022-03-30 11:57:27 -05:00
Tiago Bueno dbd60d0afb ARTEMIS-3749 e2e-tests improvements
Scripts:
- Fix the preapre-docker.sh to exit with 0 instead of 1 on success

On pom files:
- Change e2e-tests variable names to e2e-tests.xxxxxx for clarity on
  e2e-tests variables
- Add e2e-tests.skipImageBuild variable to control if the docker image
  will be build (defaults to not build)
- Add e2e-tests.dockerfile variable to specify the dockerfile to be
  used (defaults to Dockerfile-centos)
- Bump testcontainers version to 1.16.3
- Add artemis distribution dependency since the docker image build
  depends on it

On ContainerService class:
- Fix exposePorts and exporseFolder to use SELinux shared mode
  otherwise the mount fails on machines with SELinux enabled
- Move the logic to use specific user on container from generic start
  method to broker specific method to avoid affect other images
- Update the broker image name to a more generic name (activemq-artemis
  instead of artemis-centos)
- Update the broker image tag to match with the project version in pom
  file
2022-03-30 11:48:05 -04:00
Clebert Suconic a0e7cb4eae [maven-release-plugin] prepare for next development iteration 2022-03-22 13:34:58 -04:00
Clebert Suconic d57ac487c7 [maven-release-plugin] prepare release 2.21.0 2022-03-22 13:34:55 -04:00
Tiago Bueno 968e4886c8 ARTEMIS-3716 move e2e tests to e2e-tests module
Move all tests which are related to end-to-end testing from smoke-tests
module to a new module named e2e-tests.

These e2e tests are those which are dependent of ContainerService
class. ContainerService class uses artemis inside a container by using
the testcontainers library and for that reason these tests are usually
a quite slow and tecnically they are not a smoke test.

The new e2e-tests module is part of tests module but it is not enabled
by default and to get executed it requires the e2e-tests profile
specification on maven command.
2022-03-21 16:48:29 -04:00
Domenico Francesco Bruscino d0c550bcd7 ARTEMIS-3729 Fix JMS CORE client commit after async sends 2022-03-21 10:36:28 -04:00
Robbie Gemmell 82069e9c3c ARTEMIS-3724: Update Jetty to 9.4.45.v20220203 2022-03-15 14:37:29 -04:00
Robbie Gemmell c48aa9a68a ARTEMIS-3723: update to Netty 4.1.75 (and netty-tcnative 2.0.50) 2022-03-15 13:29:27 -04:00
Justin Bertram 67c9df195d
ARTEMIS-3712 refresh doc generation tool-chain 2022-03-09 09:14:24 -06:00
Robbie Gemmell dcbd4b059a ARTEMIS-3695: use specific jetty deps instead of uber jar, rationalise servlet api deps
Partially reverts c5f94f340d
2022-03-03 21:59:13 -05:00
nbrendah 7bee0d8923 ARTEMIS-3686: Adding example showing how to do telemetry support
This is adding an example intercepting and sending messages using opentelemetry to either Jaeger, zipkin or OTLP exporter
2022-03-03 11:08:53 -05:00
franz1981 f8b045bd2d ARTEMIS-3522 Implement performance tool for RUL benchmarks
Co-authored-by: gtully
2022-03-02 13:32:42 +01:00
Justin Bertram 2dc76bd9f4
ARTEMIS-3657 refactor address docs
Mainly refactoring the address docs. This commit has the following
changes:

 - Remove examples for discouraged use-cases (e.g. using anycast and
multicast on the same address).
 - Reword to use configuration terms wherever possible. For example,
instead of saying "point-to-point" (which is not a configuration term)
say "anycast". References to things like "point-to-point" and
"publish-subscribe" are still there since users are familiar with these
terms. They're just used much less often.
 - Remove duplicate explanation of exclusive queues.
 - Remove duplicate explanation of auto-create and auto-delete elements.
 - Re-create graphics and include the master SVGs for potential updates
later.
 - Give non-destructive queues its own chapter.
 - Add details about specifying routing type using a message property.
 - Update the styling on the user manual's cover page to look better.
 - Lots of re-wording for clarity's sake.
 - Re-order sub-sections for clarity's sake.
 - Break up the address model and the settings documentation. The
settings documentation is large and deserves its own chapter. The
original anchor link is still available with a link to the new chapter.

In general the address-specific documentation should be much more clear,
concise, and consistent now.
2022-02-26 15:14:32 -06:00
Robbie Gemmell 402a8e21a1
ARTEMIS-3689: remove various cruft and use consistent managed plugin and dep versions 2022-02-17 14:41:47 -06:00
Robbie Gemmell f0a96628b4 ARTEMIS-3666: update to postgresql 42.3.3 2022-02-16 23:35:09 +01:00
Robbie Gemmell e8cac3c5c2 ARTEMIS-3684: update netty to 4.1.74 (and netty-tcnative to 2.0.48) 2022-02-14 15:49:49 +00:00
Domenico Francesco Bruscino c5f94f340d ARTEMIS-3650: Remove unused tomcat-servlet-api dependency 2022-02-14 12:41:53 +00:00
Robbie Gemmell 9043f7ad97 ARTEMIS-3674: update to SLF4J 1.7.36 2022-02-08 16:11:54 +00:00
Justin Bertram bafa0fbb3c ARTEMIS-3641 move to the latest checkstyle 2022-02-07 10:02:09 -05:00
Justin Bertram 9c459eb313 ARTEMIS-2413 upgrade JGroups
JGroups 3.x hasn't been updated in some time now. The last release was
in April 2020 almost 2 years ago. Lots of protocols have been updated
and added and users are wanting to use them. There is also increasing
concern about using older components triggered mainly by other
recently-discovered high-profile vulnerabilities in the wider Open
Source Java community.

This commit bumps JGroups up to the latest release - 5.2.0.Final.
However, there is a cost associated with upgrading.

The old-style properties configuration is no longer supported. I think
it's unlikely that end-users are leveraging this because it is not
exposed via broker.xml. The JGroups XML configuration has been around
for a long time, is widely adopted, and is still supported. I expect
most (if not all) users are using this. However, a handful of tests
needed to be updated and/or removed to deal with this absence.

Some protocols and/or protocol properties are no longer supported. This
means that users may have to change their JGroups stack configurations
when they upgrade. For example, our own clustered-jgroups example had to
be updated or it wouldn't run properly.
2022-02-04 13:47:11 -05:00
Robbie Gemmell e10b0216fe ARTEMIS-3666: update to postgresql 42.3.2 2022-02-04 13:37:38 -05:00
Robbie Gemmell 2c1afc4b75 ARTEMIS-3667: update to Groovy 4.0.0 2022-02-04 11:39:37 -05:00
Justin Bertram 8063110644 ARTEMIS-3638 Support MQTT 5
MQTT 5 is an OASIS standard which debuted in March 2019. It boasts
numerous improvments over its predecessor (i.e. MQTT 3.1.1) which will
benefit users. These improvements are summarized in the specification
at:
https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901293

The specification describes all the behavior necessary for a client or
server to conform. The spec is highlighted with special "normative"
conformance statements which distill the descriptions into concise
terms. The specification provides a helpful summary of all these
statements. See:
https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901292

This commit implements all of the mandatory elements from the
specification and provides tests which are identified using the
corresponding normative conformance statement. All normative
conformance statements either have an explicit test or are noted in
comments with an explanation of why an explicit test doesn't exist. See
org.apache.activemq.artemis.tests.integration.mqtt5 for all those
details.

This commit also includes documentation about how to configure
everything related to the new MQTT 5 features.
2022-02-04 09:57:15 -05:00
Robbie Gemmell 461e66f4cd ARTEMIS-3668: update to Qpid JMS 1.5.0 2022-02-02 16:28:27 +00:00
Robbie Gemmell 8661cecb8f ARTEMIS-3655: isolate the errorprone dependencies to its profiles, enable everywhere, fix related problems, and update to 2.10. 2022-01-26 16:32:34 +00:00
Robbie Gemmell ee52e3de7c ARTEMIS-3650: simplify distribution to leverage module poms for most of work, ensure their deps are present
Fixes/tidies some module definitions to set appropriate test/etc dep scopes and/or exclude bits not used or passed on for usage.
2022-01-26 10:09:18 +00:00
Domenico Francesco Bruscino 1b07c3222a NO-JIRA Fix activemq5-unit-tests with byteman 2022-01-19 17:05:35 +01:00
Robbie Gemmell 20ee0b4393 ARTEMIS-3648: Update to netty 4.1.73 2022-01-17 13:16:21 +00:00
Domenico Francesco Bruscino cb96a89524 ARTEMIS-3616 Fix netty epoll not available 2022-01-17 12:25:59 +00:00
Robbie Gemmell a91d3b0c0f ARTEMIS-3624: change dep mangement entry to be for the minikdc dep, add property for its version, update it and rework exclusions 2022-01-11 10:44:22 -05:00
Clebert Suconic e34677f5c0 [maven-release-plugin] prepare for next development iteration 2021-12-14 22:50:55 -05:00
Clebert Suconic 3dea7eeb71 [maven-release-plugin] prepare release 2.20.0 2021-12-14 22:50:53 -05:00
Robbie Gemmell f4de5c46c0 ARTEMIS-3559: update to Netty 4.1.72 (and netty-tcnative to 2.0.46) 2021-12-14 09:09:34 -05:00
Domenico Francesco Bruscino c502e94ade ARTEMIS-3605 Upgrade jetty version to 9.4.44.v20210927 2021-12-13 13:37:06 -05:00
Domenico Francesco Bruscino 923d0dc028 ARTEMIS-3559 Exclude netty-transport-native-epoll from zookeeper
The netty-transport-native-epoll transitive dependency version of zookeeper
doesn't match the netty version defined and causes a distribution issue.
2021-12-13 13:36:57 -05:00
gtully b979189187 ARTEMIS-3569 - balancer role_name local target, matches role of authenticated user 2021-11-24 11:28:16 +01:00
Clebert Suconic bfc10dcf8b ARTEMIS-3546 Jakarta javax.json incompability on jakarta all client
Domenico Bruscino provided the JSON Wrapper used here. Thanks Domenico!
2021-11-19 13:20:38 -05:00
Robbie Gemmell 8cd3967de6 ARTEMIS-3564: update qpid-jms to 1.3.0 2021-11-10 14:24:45 +00:00
Robbie Gemmell 58567880fb ARTEMIS-3420: require Java 11+, resolve some issues from doing so and tidy up some stale bits as a result 2021-11-09 11:02:51 -05:00
Domenico Francesco Bruscino 8e92fd0f51 ARTEMIS-3559 Update netty version to 4.1.70.Final 2021-11-09 10:08:02 +01:00
Robbie Gemmell daf537a87a ARTEMIS-3537: update to proton-j 0.33.10 2021-10-21 12:34:23 +01:00
Robbie Gemmell 84b0c1118b NO-JIRA: update GHA cache config to workaorund broken exclusions, tweak excludes, skip cache for tags
include token pom change to prod creation of a new cache
2021-10-13 15:43:17 +01:00
Justin Bertram 402842062a [maven-release-plugin] prepare for next development iteration 2021-10-11 13:35:57 -05:00
Justin Bertram 5fcb763234 [maven-release-plugin] prepare release 2.19.0 2021-10-11 13:35:06 -05:00
Domenico Francesco Bruscino 452d3dfc15 ARTEMIS-3518 Upgrade karaf version to 4.3.3 2021-10-08 15:11:05 +02:00
Robbie Gemmell 5ab8ed2803 ARTEMIS-3514: Update to Mockito 3.12.4
gets a PR-style build run passing on 18-ea
2021-10-05 13:07:59 +01:00
Robbie Gemmell 20511375de NO-JIRA: update to errorprone 2.9.0, fix errors, enable it when running on Java 17+ 2021-09-29 11:55:40 +01:00
Robbie Gemmell 0527e07129 ARTEMIS-3497: update to proton-j 0.33.9 2021-09-24 10:59:56 +01:00
Domenico Francesco Bruscino b64cc1fbe3 ARTEMIS-3478 Upgrade netty version to 4.1.68.Final 2021-09-16 10:45:55 -04:00
Domenico Francesco Bruscino 2d6502d1f1 ARTEMIS-3479 Upgrade commons-codec version to 1.15 2021-09-16 10:45:26 -04:00
Justin Bertram 447422604c ARTEMIS-3484 flesh out Jakarta Messaging support
Back in version 2.17.0 we began to provide Maven artifacts for Jakarta
Messaging client resources. This commit expands that support in the
following ways:

 - Distribute a Jakarta Messaging 3.0 client with the broker (in the
   'lib/client' directory alongside the JMS client.
 - Update documentation.
 - Add example using the Jakarta Messaging client.
 - Update Artemis CLI to use core instead of JMS as it was causing
   conflicts with the new Jarkarta Messaging client.
 - Add example to build Jarkarta Messaging version of the JCA RA for
   deployment into Jakarta EE 9 application servers.
2021-09-15 15:20:54 -04:00
franz1981 fa475c40b6 ARTEMIS-3458 Bump version of Apache Curator to 5.2.0 for CURATOR-595 2021-09-06 18:14:29 +02:00
franz1981 082f06a095 ARTEMIS-3458 Reduce number of ZK nodes for fast-tests runs 2021-09-06 18:14:29 +02:00
Robbie Gemmell 359b919e7f ARTEMIS-3453: exclude log4j + slf4j-log4j12 transitive deps via zookeeper dependencyManagement entry 2021-08-31 11:19:21 +01:00
Robbie Gemmell 587e0f8252 ARTEMIS-3451: add dependencyManagement entry for qpid-jms-client, remove various redundant uses of property 2021-08-30 17:26:28 +01:00
Robbie Gemmell 16d2fb4840 ARTEMIS-3447: dont force scope as an example also uses it 2021-08-30 17:07:15 +01:00
Robbie Gemmell 539749f0ba ARTEMIS-3447: update test use of bcprov-jdk15on to current 1.69 release
Also, remove stale exclusion that isnt doing anything
2021-08-26 17:13:37 +01:00
Robbie Gemmell 599d33118c NO-JIRA: remove unused property, the related module was removed over 6 years ago 2021-08-26 12:47:28 +01:00
Robbie Gemmell 5a1449d812 ARTEMIS-3440: separate effect of -Pdev from test profiles, make them independent
use pluginManagement config + executions to enable the RAT and Checkstyle checks rather than properties
2021-08-24 12:02:28 -04:00
Emmanuel Hugonnet bafc511d66 [ARTEMIS-3432]: Use batavia to produce transformed source code instead of transformed binaries.
* producings sources from jms modules source code.
 * compliling and testing the resulting sources

Issue: https://issues.apache.org/jira/browse/ARTEMIS-3432
2021-08-20 09:19:09 -04:00
Clebert Suconic b8c64590f9 [maven-release-plugin] prepare for next development iteration 2021-08-09 11:58:28 -04:00
Clebert Suconic 37cc298973 [maven-release-plugin] prepare release 2.18.0 2021-08-09 11:58:27 -04:00
Clebert Suconic cc4a51a3ea [maven-release-plugin] prepare for next development iteration 2021-08-06 17:04:18 -04:00
Clebert Suconic 0b30187091 [maven-release-plugin] prepare release 2.18.0 2021-08-06 17:04:16 -04:00
Clebert Suconic 0e2ce484ba [maven-release-plugin] prepare for next development iteration 2021-08-06 13:46:56 -04:00
Clebert Suconic cb705b5c5c [maven-release-plugin] prepare release 2.18.0 2021-08-06 13:46:54 -04:00
Domenico Francesco Bruscino 3555dd7d25 ARTEMIS-3365 Add broker balancers 2021-08-06 08:33:21 -04:00
Francesco Nigro 536271485f ARTEMIS-2716 Pluggable Quorum Vote 2021-08-05 14:18:20 -04:00
Robbie Gemmell 9989d9c4fc NO-JIRA: make errorprone consistently opt-in on all JDKs as it already is on JDK8 and 16 due to required forking 2021-08-05 13:49:11 -04:00
Robbie Gemmell eb183b12ec ARTEMIS-3412: update Mockito version
Gets PR build working on 17-ea again
2021-08-05 15:07:52 +01:00
Robbie Gemmell 828d4940ec ARTEMIS-3302: enable some integration tests (primarily TLS+security) in the fast-tests profile
Help catch issues in these areas on PR runs rather than full builds.
2021-08-04 15:01:28 +01:00
Robbie Gemmell 7ddc947413 ARTEMIS-3407: update pax-exam to 4.13.4 and karaf to 4.3.1, get tests working on Java 11
Also tweaks karaf test module name for clarity
2021-07-30 11:59:19 +01:00
Robbie Gemmell 0cdd0c8bd9 NO-JIRA: make redirectTestOutputToFile config use the standard property to allow configuring on command line 2021-07-27 12:38:19 +01:00
Domenico Francesco Bruscino 459d392444 ARTEMIS-3391 Upgrade netty version to 4.1.66.Final 2021-07-26 08:19:19 +02:00
Domenico Francesco Bruscino 1d15fb1a3f ARTEMIS-3380 Upgrade jetty version to 9.4.43.v20210629 2021-07-23 10:27:44 -04:00
Robbie Gemmell 8b33279667 ARTEMIS-3352: remove redundant snapshot repo definition
Parent defines it already, and Maven 3 ignores the 'uniqueVersion' config
2021-06-16 16:53:08 +01:00
Robbie Gemmell 318110b72f ARTEMIS-3352: remove stale cobertura plugin config
It doesnt support JDK8+, which the project has required for years, and Jacoco is now used instead.
2021-06-16 16:52:57 +01:00
Robbie Gemmell a8c17fa290 ARTEMIS-3270: move enforcer execution config so it overrides parent execution
The change in 90101f5b54 / #3595 didnt work
as expected since the existing enforcer check already wasnt working. It
isnt overriding the apache parent, which is checking for 3.0.x. Moving
the execution into the build element, alongside the java version check,
allows it to replace the parent execution and enforce 3.5.0+ is used.
2021-06-15 17:16:37 +01:00
Robbie Gemmell d22b9d51fb ARTEMIS-2813: exclude old transitive test dep which isnt actually needed in tests 2021-06-15 16:26:02 +01:00
Robbie Gemmell 98e5e19849 ARTEMIS-3347: update various commons-io usages, and bump all to latest
Consolidates and aligns versions missed in 73bcc78beb
2021-06-15 12:55:20 +01:00
Justin Bertram a4c1155a01 ARTEMIS-3341 update checkstyle to latest + update code
As a follow-up to #3618/dc7de893747b90b627d729f9f18a758bb4dad9d5 update
checkstyle to the latest version, restoring the originally intended
"RightCurly" style, and updating all the code to properly adhere to the
style as enforced by the new checkstyle version.

The version of checkstyle we used before the aforementioned commit had
a bug which didn't properly enforced our intended "RightCurly" style
(see https://github.com/checkstyle/checkstyle/issues/6345). That commit
changed the style to accommodate the handful of unintended style
violations. This commit reverts that change for 2 main reasons:
 - The style was always intended to use `alone` for both `METHOD_DEF`
and `CTOR_DEF`.
 - There are over 1,000 existing uses of the intended style and around
30 violations of this style which were unintentionally allowed.

Reverting the style back to the original and cleaning up the unintented
violations makes the code more consistent and prevents further style
inconsistencies in the future.

There were a handful of other changes related to checkstyle bugs which
allowed unintended style violations. These were related to indentation
levels.

This closes #3619
(with some minor changes from Robbie to fix remaining violations)
2021-06-11 12:16:04 +01:00
Robbie Gemmell dc7de89374 ARTEMIS-3341: update checkstyle, use consistent plugin version, fix some issues or tweak config to allow existing style 2021-06-10 20:53:16 +01:00
Andy Taylor 88122e0cd1 ARTEMIS-3331 - RA improvements to work well with more Servers
https://issues.apache.org/jira/browse/ARTEMIS-3331
2021-06-10 14:13:10 -04:00
Robbie Gemmell eb4723cdc1 NO-JIRA: update broken repo/website URLs in pom to point to something useful 2021-06-09 15:49:15 +01:00
gtully 7e15de6339 no-jira - consolidate mvn-war-plugin version in play 2021-06-08 14:15:52 +01:00
gtully 085766033b no jira - remove unused log4j dependency 2021-06-08 10:19:12 +01:00
Robbie Gemmell c24a2faf52 NO-JIRA: remove profiled module definitions which duplicate the base module set, delete empty profile
both look to have been unnecessary since Artemis 1.1 via 649edd3a37
2021-06-04 15:05:22 +01:00
Robbie Gemmell aa67a12449 ARTEMIS-3328: override the parent pom assembly creation, suppress creating and deploying unused assembly 2021-06-04 14:59:09 +01:00
Robbie Gemmell 5bf3228259 ARTEMIS-3328: fix assembly descriptors and stop downgrading assembly plugin
- Remove assembly plugin downgrade from 7733a76649 in ARTEMIS-3296.
- Ensure bin descriptor marks key artemis setup/startup script executable file permissions, it wasnt
  before as while aiming to it only defined inclusions for old files that no longer exist.
- Add mode fields to every area to make clear what they will be using, make formats consistent with doc.
- Update source release assembly to similarly mark key scripts with executable file permissions.
2021-06-04 14:59:09 +01:00
gtully 73bcc78beb no jira - update commons.io version to latest 2021-06-04 13:46:34 +01:00
Robbie Gemmell 8ec0e5193f ARTEMIS-3242: update to Qpid JMS 0.59.0 2021-05-27 13:43:17 -04:00
Domenico Francesco Bruscino 13121cd4a3 ARTEMIS-3316 Upgrade netty version to 4.1.65.Final 2021-05-26 21:57:02 -04:00
Robbie Gemmell 90101f5b54 ARTEMIS-3270: update enforced minimum maven version to 3.5.0 2021-05-25 13:42:13 +01:00
Domenico Francesco Bruscino e4f8d173a7 NO-JIRA Fix maven compiler version for java 1.8 2021-05-19 16:09:19 -04:00
Domenico Francesco Bruscino d8d44196f6 ARTEMIS-3296 Align enforcer ids with the parent pom to avoid duplicate runs 2021-05-19 15:36:36 +02:00
Robbie Gemmell 7733a76649 ARTEMIS-3296: drop back to assembly plugin 3.1.1 after prior update to 3.2.0
Retain older file permission copy behaviour via older plugin version, until such time
as the assembly descriptor config properly defines the required file permissions.
2021-05-18 12:50:53 +01:00
Robbie Gemmell 2e2cd1f073 ARTEMIS-3296: get things building on Java 16 (and 17EA+21)
Updates parent pom, various plugins or deps, tidies up inconsistent versions
and consolidates to inherited version where possible, define properties for
some versions where not. Disables some problematic tests on JDK16+ for now.

Drops DS test dep back 1 version to remove a specific breakage affecting
multiple tests/modules, introduced after its upgrade in commit
9e70b26368.
2021-05-17 08:28:46 -04:00
Timothy Bish 9e70b26368 ARTEMIS-2813 Fix SaslKrb5LDAPSecurityTest failing on JDK 11
Fixes issues with SaslKrb5LDAPSecurityTest by updating to latest Apache Directory
release which required some updates to the test to fix deprecation warnings and an
updates to commons.lang to fix issues with new namespace for StringUtils that will
work on JDK 8+ only.
2021-05-14 10:07:38 +01:00
Domenico Francesco Bruscino 924a7fe7b6 ARTEMIS-3287 Upgrade micrometer version to 1.6.3 2021-05-11 15:05:20 -04:00
Domenico Francesco Bruscino 792fc7f80e ARTEMIS-3266 Upgrade jetty version to 9.4.40.v20210413 2021-04-23 16:01:30 -04:00
Robbie Gemmell e195526457 ARTEMIS-3242: update to qpid-jms 0.58.0 2021-04-14 11:01:26 +01:00
Domenico Francesco Bruscino b4789a894f ARTEMIS-3221 Migrating to Jakarta EE 8 artifacts 2021-04-09 11:49:59 -04:00
Domenico Francesco Bruscino 447f4c31a4 ARTEMIS-3232 Upgrade netty version to 4.1.63.Final 2021-04-09 11:49:29 -04:00
Clebert Suconic 158a94a836 ARTEMIS-3224 Removing Artemis-tools migration tool from 1.x address model 2021-04-07 10:53:34 -04:00
Domenico Francesco Bruscino 0f03064e37 ARTEMIS-3199 Upgrade postgresql to 42.2.19 2021-03-23 16:21:45 +00:00
Domenico Francesco Bruscino 6231a70b8c NO-JIRA Sync karaf version 2021-03-23 16:20:41 +00:00
gtully d71d54b38a ARTEMIS-3168 - add example using authentication delegation to keycloak, principal conversion for jms clients and oath for the web cosole 2021-03-23 09:51:50 +00:00
Robbie Gemmell 96a09041ee ARTEMIS-3183: resolve various immediate warnings at build start
- Remove duplicates dependency definition following e7e3c71511.
- Removes deprecated RELEASE version use, consolidate modules on single paho client version.
- Remove prerequisites entry as per warning, suggested enforcer rule already in place.
2021-03-16 12:48:48 +00:00