Commit Graph

679 Commits

Author SHA1 Message Date
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