Commit Graph

646 Commits

Author SHA1 Message Date
Justin Bertram 122edfbdb8
NO-JIRA add version/upgrade info for 2.21.0 2022-03-29 15:12:47 -05:00
Domenico Francesco Bruscino 41463c8397 ARTEMIS-3710 Deprecate queues config element 2022-03-22 09:37:31 -04:00
Domenico Francesco Bruscino 603462a1a5 ARTEMIS-3708 Collapse key transformer into policy 2022-03-21 19:34:48 -04:00
Clebert Suconic 5bba1fbc30 ARTEMIS-3720 Documentation about max-messages 2022-03-18 16:27:46 -04:00
Justin Bertram 2b5a25a106 ARTEMIS-3702 auth failures don't adhere to MQTT spec
The commit includes the following changes:
 - Don't drop the connection on subscribe or publish authorization
failures for 3.1 clients.
 - Don't drop the connection on subscribe authorization failures for
3.1.1 clients.
 - Add configuration parameter to control behavior on publish
authorization failures for 3.1.1 clients (either disconnect or not).
2022-03-15 15:33:54 -04:00
franz1981 f8b045bd2d ARTEMIS-3522 Implement performance tool for RUL benchmarks
Co-authored-by: gtully
2022-03-02 13:32:42 +01:00
gtully dcaebfb24e ARTEMIS-3660 - rename broker-balancer to connection-router 2022-03-01 11:15:16 +01:00
Justin Bertram bc65438344
ARTEMIS-3687 bridges with concurrency > 1 can leak 2022-02-26 15:16:04 -06:00
Justin Bertram c51fda09cd
ARTEMIS-3685 support reloading bridges 2022-02-26 15:16:04 -06: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
Justin Bertram 3be4dd6aeb
NO-JIRA clarify LVQ docs on clustering 2022-02-21 14:59:56 -06:00
AntonRoskvist 99b9d87bfd
ARTEMIS-2934 Add option to suppress SESSION notifications 2022-02-17 14:56:16 -06:00
Matteo Baccan 8c3f699d27 Typo error: double semicolon at the end of line 2022-02-17 10:30:33 -05:00
Justin Bertram 7648e8bac3
NO-JIRA fix compressLargeMessage documentation 2022-02-10 09:49:22 -06:00
Domenico Francesco Bruscino bac579ac25
ARTEMIS-3573 Support PropertiesLoginModule custom password codecs 2022-02-07 20:31:30 -06:00
Luis De Bello cf73e895f3
ARTEMIS-3613: Deprecating stompMaxFramePayloadLength in favour of webSocketMaxFramePayloadLength 2022-02-07 19:44:18 -06:00
Domenico Francesco Bruscino 290e5016c8
ARTEMIS-3645 Support broker balancer cache persistence 2022-02-07 19:08:00 -06:00
Justin Bertram d377a5a638 ARTEMIS-3658 remove refs to Jetty's deprecated NCSARequestLog 2022-02-04 13:48:49 -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
Justin Bertram e184038d05 ARTEMIS-3670 support diverting to multiple addresses 2022-02-04 11:39:16 -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
Gergő Rubint 605079d4ba NO-JIRA: Fix Undelivered Messages typo 2022-02-04 09:28:36 +01:00
Paul Wright ba62bc66a7 NO-JIRA: fix broken links in docs
This closes #3798
2022-02-02 16:21:10 +00:00
Gergő Rubint 99466278f1 NO-JIRA: Fix Address Model Auto Address Deletion typo
This closes #3920
2022-02-02 16:20:51 +00:00
Justin Bertram 30d27c6226
NO-JIRA add version info on 2.20.0 2022-01-20 10:37:27 -06:00
Justin Bertram f7bb4c754a
NO-JIRA update Java version in documentation 2022-01-20 08:54:58 -06:00
Justin Bertram 9ae18066b3
NO-JIRA clarify doc on security-setting with FQQN 2022-01-14 17:06:36 -06:00
Justin Bertram 1ddfa069bf
NO-JIRA update logos with ® and better quality 2022-01-14 17:01:18 -06:00
Clebert Suconic 4e52758a62 NO-JIRA Updating activemq.org links 2021-12-20 14:46:01 -05:00
Marlon Müller d56d299456 ARTEMIS-3574 multiple bindings for embedded webserver
* Add BindingDTO to allow configuring multiple addresses to listen on
* Start a new ServerConnector for each binding and deploy the corresponding web-applications
* Update documentation and tests
* Add tests to verify old and new configuration style produce equal results
2021-12-14 19:16:34 -05:00
Clebert Suconic 1857017abe Revert "ARTEMIS-3574 multiple bindings for embedded webserver"
This reverts commit 182334359c.
2021-12-14 15:18:16 -05:00
Marlon Müller 182334359c ARTEMIS-3574 multiple bindings for embedded webserver
* Add BindingDTO to allow configuring multiple addresses to listen on
* Start a new ServerConnector for each binding and deploy the corresponding web-applications
* Update documentation and tests
* Add tests to verify old and new configuration style produce equal results
2021-12-14 09:38:59 -05:00
gtully 158157260c ARTEMIS-2097 - via elastic queue use case test based on ARTEMIS-3365 and ARTEMIS-3569
scenario - avoid paging, if address is full chain another broker and produce to the head, consume from the tail using producer and consumer roles to partition connections. When tail is drained, drop it.
 - adds a option to treat an idle consumer as slow
 - adds basic support for credit based address blocking ARTEMIS-2097
 - adds some more visiblity to address memory usage and balancer attribute modifier operations
2021-12-09 10:14:20 +00:00
gtully e0b16217a1 ARTEMIS-3594 - add support for a local target key transformer and an instance of CONSISTENT_HASH_MODULO that can be used to partition in a static cluster 2021-12-07 13:17:37 +00:00
gtully b979189187 ARTEMIS-3569 - balancer role_name local target, matches role of authenticated user 2021-11-24 11:28:16 +01:00
gtully 8d50aa916c ARTEMIS-3581 - allow max-size-bytes=0 configuration force paging for an address, independent of the page-size-bytes 2021-11-18 09:44:13 +00:00
pahamala a0c4cba7e1 ARTEMIS-3140 Extra options in LDAP login module
Adds support for extra configuration options to LDAP login module to
prepare for supporting any future/custom string configuration in LDAP
directory context creation.

Details:

 - Changed LDAPLoginModule to pass any string configuration not
recognized by the module itself to the InitialDirContext contruction
environment.
 - Changed the static LDAPLoginModule configuration key fields to an
enum to be able to loop through the specified keys (e.g. to filter out
the internal LDAPLoginModule configuration keys from the keys passed to
InitialDirContext).
 - Few fixes for issues reported by static analysis tools.
 - Tested that LDAP authentication with TLS+GSSAPI works against a
recent Windows AD server with Java
OpenJDK11U-jdk_x64_windows_hotspot_11.0.13_8 by setting the property
com.sun.jndi.ldap.tls.cbtype (see ARTEMIS-3140) in JAAS login.conf.
 - Moved LDAPLoginModuleTest to the correct package to be able to
access LDAPLoginModule package privates from the test code.
 - Added a test to LDAPLoginModuleTest for the task changes.
 - Updated documentation to reflect the changes.
2021-10-29 12:19:30 -05:00
Erwin Dondorp 524bc7bd71 ARTEMIS-3531 after review comment from gtully 2021-10-21 10:36:40 +01:00
Erwin Dondorp 99ed1a7056 ARTEMIS-3531 added documentation for address-setting "management-message-attribute-size-limit" 2021-10-21 10:36:40 +01:00
gtully 1ef059db2b ARTEMIS-3533, ARTEMIS-3308 - doc extra params and large messages for federation 2021-10-20 10:02:31 +01:00
Justin Bertram f3f92edd2e NO-JIRA update release notes for 2.19.0 2021-10-11 10:56:21 -05:00
gtully 5508b8a87a ARTEMIS-3365 - add simple local-target balancer example with amqp failover, remove manditory pool and policy config and update doc with data gravity concept 2021-10-07 15:23:58 +01:00
Robbie Gemmell a5b5a504e0 ARTEMIS-3038: unwind effect of defunct changes from ARTEMIS-1264
Follows earlier test removal in a3de3d4c75
2021-10-07 10:45:02 +01:00
Justin Bertram 1740f9cfef
ARTEMIS-3488 add system property for setting key in DefaultSensitiveStringCodec 2021-10-06 11:12:41 -05:00
Justin Bertram 1992143836 ARTEMIS-1960 clarify scale-down docs 2021-09-27 13:55:15 -05:00
Domenico Francesco Bruscino 371a7099a6 NO-JIRA clarify console access using certs
Co-authored-by: Paul Wright <5154224+pwright@users.noreply.github.com>
2021-09-27 07:04:50 +02:00
Robbie Gemmell 8c90068527 ARTEMIS-3106: list the actual mechanism names not just the generalisation 2021-09-24 15:23:39 +01:00
gtully 28a10450b7 ARTEMIS-3106 - add some doc for SASL SCRAM-SHA
Update docs/user-manual/en/security.md
Co-authored-by: Robbie Gemmell <robbie@apache.org>
2021-09-24 15:03:00 +01:00
Justin Bertram dada1cdb6a
NO-JIRA update versions doc 2021-09-19 21:35:52 -05:00
Andy Taylor 0545664b3d ARTEMIS-3474 - replace whitelist with allowlist in management.xml
https://issues.apache.org/jira/browse/ARTEMIS-3474
2021-09-16 17:19:02 -05:00
Paul Wright 236f280688 remove duplicate cache-timeout docs 2021-09-16 17:17:33 -05:00
Robbie Gemmell 8451f50b57 ARTEMIS-3486: update docs around data tools commands, note use of broker instance and refresh shown output 2021-09-16 17:16:38 -05:00
Clebert Suconic 0f23e29f01 NO-JIRA Rewording chapter Protocols as they don't refer to APIs 2021-09-16 11:42:24 -04:00
Paul Wright 1d73f7d2eb update description of cache-timeout 2021-09-16 10:48:02 -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
Justin Bertram 6ec4ab6766 NO-JIRA update 'versions' doc
- Added more new features for 2.18.0.
 - Added links for new features in 2.18.0.
 - Added missing upgrade instructions for 2.18.0 & 2.16.0.
2021-09-14 12:10:49 -05:00
Paul Wright 1f1ee28b34 NO-JIRA fixing doc about pools 2021-09-09 15:45:17 -04:00
franz1981 1e5b361b6a ARTEMIS-3446 Pluggable quorum vote force live CLI command 2021-09-06 18:14:29 +02:00
gtully 276f822a0e ARTEMIS-1925 - allow redistribution with new loadbalance type of OFF_WITH_REDISTRIBUTION to ensure local consumers get priority, we only optionally redistribute when messages are stuck 2021-09-06 11:18:11 +01:00
gtully 224b89810d ARTEMIS-2007 - allow redistribution if there are unmatched messages pending on a queue and there is new remote demand 2021-09-06 10:40:39 +01:00
Justin Bertram 6ee7e72db1 ARTEMIS-3445 automatically clean-up abandoned MQTT subscriptions 2021-09-03 16:48:01 -04:00
tdinev 79a4154573 Correct minor typo 2021-09-01 12:35:43 -04:00
Paul Wright 0e909cfcff update link for download 2021-09-01 12:35:07 -04:00
Justin Bertram 04232db99d NO-JIRA add upgrade details for 2.18.0 2021-08-25 12:14:39 -05:00
Robbie Gemmell d7f30e7a33 ARTEMIS-3421: update docs to reflect change in default, missed from ARTEMIS-3367, and clarify a bit 2021-08-18 16:24:08 +01:00
Clebert Suconic 36620e9475 NO-JIRA Update version.md for documentation 2021-08-06 16:42:46 -04:00
Domenico Francesco Bruscino 3555dd7d25 ARTEMIS-3365 Add broker balancers 2021-08-06 08:33:21 -04:00
gtully ca7a100de0 ARTEMIS-3340 Sequential activation tracking for pluggable quorum replication policies + peer
Co-authored-by: franz1981 <nigro.fra@gmail.com>
2021-08-05 14:18:20 -04:00
Francesco Nigro 536271485f ARTEMIS-2716 Pluggable Quorum Vote 2021-08-05 14:18:20 -04:00
Clebert Suconic b34363964f ARTEMIS-3243 Fixing typo on amqp-broker-connections.md 2021-08-05 12:00:54 -04:00
Clebert Suconic 813ed88ecb ARTEMIS-3243 Implementing dual mirror with Broker Connections
There are some major tests added as part of this PR.

This PR has been done through an extensive collaboration with Robbie Gemmel on https://github.com/apache/activemq-artemis/pull/3633
2021-08-03 16:50:43 -04:00
Justin Bertram 3a8e9953f1 NO-JIRA add broker config doc for REST 2021-07-20 15:38:35 -05:00
Justin Bertram eefb748552 NO-JIRA update REST doc with caveats 2021-07-20 15:11:20 -05:00
Justin Bertram b7f9807cd9 ARTEMIS-2919 support timestamping incoming messages 2021-07-06 14:09:00 -05:00
Justin Bertram 48d489ec42
NO-JIRA clarify broker setup/config doc 2021-06-15 12:16:11 -05:00
Justin Bertram 9791a96c58
NO-JIRA further clarify clustered grouping 2021-06-11 11:47:16 -05:00
Erwin Dondorp 3ff70cb7d3 ARTEMIS-3334 suggest to use the etc directory, which is already in the classpath and also has all other config files 2021-06-10 09:22:53 -04:00
Justin Bertram a38f0092f2
ARTEMIS-1883 clarify docs for use of '::' 2021-06-07 13:45:01 -05:00
Clebert Suconic 7137252c5d NO-JIRA fixing spelling udpate as update 2021-06-03 10:43:11 -04:00
franz1981 14dddb04d7 ARTEMIS-3280 Netty Pool micrometer metric plugin 2021-05-27 13:32:06 -05:00
Justin Bertram 6bdb511bbd
NO-JIRA update JDBC docs 2021-05-25 13:15:11 -05:00
Justin Bertram 295cf7996b
NO-JIRA fix cluster doc XML order 2021-05-25 11:37:59 -05:00
Justin Bertram a3fb3ffdce
NO-JIRA fix security doc typo 2021-05-25 11:21:03 -05:00
Justin Bertram e9c94e57d9 ARTEMIS-3288 support bulk user loading with basic security manager 2021-05-25 11:13:35 -05:00
Martyn Taylor 3c0e14de58 ARTEMIS-3283 Added SlowConsumerThreshold unit configuration option 2021-05-24 11:49:38 -05:00
Clebert Suconic 27c343913f ARTEMIS-3297 Journal Retention Feature 2021-05-18 16:29:18 -04:00
Erwin Dondorp a008c0ecc9 ARTEMIS-3257 fixed documentation issue wrt federation configuration 2021-04-20 16:18:46 -04:00
Justin Bertram e633e173ea NO-JIRA management doc updates and clarifications 2021-04-01 12:18:03 -05:00
Andy Taylor 658d45f543 ARTEMIS-3202 - add a flag to deleted diverts removed from config
https://issues.apache.org/jira/browse/ARTEMIS-3202
2021-03-24 19:24:16 -04:00
Justin Bertram 186481bbe8 ARTEMIS-3155 differentiate SSL store type and provider
The provider of an SSL key/trust store is different from that store's
type. However, the broker currently doesn't differentiate these and uses
the provider for both. Changing this *may* potentially break existing
users who are setting the provider, but I don't see any way to avoid
that. This is a bug that needs to be fixed in order to support use-cases
like PKCS#11.

Change summary:
 - Added documentation.
 - Consolidated several 2-way SSL tests classes into a single
   parameterized test class. All these classes were essentially the same
   except for a few key test parameters. Consolidating them avoided
   having to update the same code in multiple places.
 - Expanded tests to include different providers & types.
 - Regenerated all SSL artifacts to allow tests to pass with new
   constraints.
 - Improved logging for when SSL handler initialization fails.
2021-03-24 09:08:33 -04: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
gtully 06461f146c ARTEMIS-3168 - add PrincipalConversionLoginModule feature 2021-03-23 09:51:50 +00:00
gtully 8fd1b33d16 ARTEMIS-3197 - add selectorAware option to virtualTopicConsumerWildcards for openwire acceptor 2021-03-22 19:15:02 -04:00
AntonRoskvist e9e1e476ee ARTEMIS-3198 Add concurrency option on core bridges 2021-03-22 19:13:06 -04:00
Justin Bertram fea5e246e7 ARTEMIS-3166 support disabling configuration file reload 2021-03-17 09:52:13 -05:00
Justin Bertram eb26f67ab6 ARTEMIS-3137 support XPath filters
Change summary:
 - Remove the existing Xalan-based XPath evaluator since Xalan appears
   to be no longer maintained.
 - Implement a JAXP XPath evaluator (from the ActiveMQ 5.x code-base).
 - Pull in the changes from https://issues.apache.org/jira/browse/AMQ-5333
   to enable configurable XML parser features.
 - Add a method to the base Message interface to make it easier to get
   the message body as a string. This relieves the filter from having
   to deal with message implementation details.
 - Update the Qpid JMS client to get the jms.validateSelector parameter.
2021-03-10 09:32:23 -05:00
gtully 20007ad485 ARTEMIS-3141 - respect the browse page limit on all queue controll/jmx operations that use a queue browser 2021-03-10 08:51:06 -05:00
Erwin Dondorp 8f7970cd59 NO-JIRA clarify REST doc to use ttl parameter 2021-03-09 10:39:14 -06:00
sebthom 026f3859a2 ARTEMIS-3117 Provide CachingOpenSSLContextFactory
to mitigate performance degradation in JDK 11 during TLS connection
initialization.
2021-03-03 10:06:45 -06:00
Jan Šmucr 5dc038b537 NO-JIRA Add a note about the `jms-client-id` session metadata to the docs 2021-02-11 10:43:27 -05:00