Commit Graph

10848 Commits

Author SHA1 Message Date
ilyes Ajroud 072217f33c add the capability to override memory options
since the last release , the xmx and xms are hardcoded on `env` , the goal is to use ACTIVEMQ_OPTS_MEMORY environement variable if needed to override memory options

(cherry picked from commit 1ba4628be6)
2022-03-06 07:49:56 +01:00
Jean-Baptiste Onofré 538d86fbff [AMQ-8522] Secure /api path on the web console
(cherry picked from commit a74fe37582)
2022-03-06 07:46:53 +01:00
Jean-Baptiste Onofré b9d24e586d Use Jetty atomic jar files instead of jetty-all (deprecated) and update to Jetty 9.4.45.v20220203 (#784)
* [AMQ-7358] Use jetty atomic jar files instead of jetty-all uber jar
(deprecated according to Jetty team)
[AMQ-8461] Upgrade to Jetty 9.4.45.v20220203

(cherry picked from commit fa461c876a)
2022-03-02 16:24:56 +01:00
Matt Pavlovich 9db5f436cf [AMQ-8515] FailoverTransport should handle MaxFrameSizeExceededException (#785)
(cherry picked from commit 094dbc89f3)
2022-03-02 15:41:25 +01:00
Jean-Baptiste Onofré bd3175281c [AMQ-8512] Upgrade to rome 1.18.0
(cherry picked from commit 0673f78091)
2022-02-25 10:19:34 +01:00
Matt Pavlovich 5fe6854b62 [AMQ-6883] Update wrapper confs to be consistent memory and dedicatedTaskRunner
(cherry picked from commit cb27fd06ee)
2022-02-23 18:32:47 +01:00
Cesar Hernandez 8566957b02 [AMQ-8503] Upgrade to jackson 2.13.1
(cherry picked from commit 80d4804221)
2022-02-23 16:37:34 +01:00
Jean-Baptiste Onofré ded7a43d20 [AMQ-8497] Upgrade to Apache POM 25
(cherry picked from commit 56b5608233)
2022-02-23 14:45:35 +01:00
Christopher L. Shannon (cshannon) 8674538d61 AMQ-8509: Update TempStore Usage test to verify cleanup
Add a unit test to the previous tests added in AMQ-7085 to verify
TempUsage is cleaned up and stopped on Queue.stop()

(cherry picked from commit df354fa023)
2022-02-23 07:43:24 -05:00
Artur Pedroso 84a28d78f2 AMQ-8509: Fix TempUsage memory leak
If you have an application that creates lots of queues it will eventually
fail with OOM because TempUsage is started on Queue#start but never stopped.

The `systemUsage.getTempUsage().start()` used on the Queue#start
adds elements on a List from TempUsage parent and these elements
are never removed.

To reproduce this issue you need to leave an application
running for a long time creating different queues.

The only way to avoid the leak right now is to stop the BrokerService,
which isn't a solution.

(cherry picked from commit d1e9ba68b3)
2022-02-23 07:43:15 -05:00
Robbie Gemmell e84025c267 AMQ-8488: make the build fail quickly and obviously if not run on Java 8, which is required.
Overrides the existing parent pom enforcer check and restricts the version range. Updates to current plugin that works across newer versions.
2022-02-16 11:01:09 +00:00
Jean-Baptiste Onofré 2a9161116f [maven-release-plugin] prepare for next development iteration 2022-02-11 17:28:32 +01:00
Jean-Baptiste Onofré 025f99f245 [maven-release-plugin] prepare release activemq-5.16.4 2022-02-11 17:18:49 +01:00
Jean-Baptiste Onofré 6139556e81
Merge pull request #766 from jbonofre/AMQ-8484
[AMQ-8472] Fix reload4j scope in activemq-partition module
2022-02-11 16:44:23 +01:00
Jean-Baptiste Onofré c0377213ba [AMQ-8472] Fix reload4j scope in activemq-partition module 2022-02-11 16:13:26 +01:00
Robbie Gemmell 3b283fe440 NO-JIRA: update year in source + bin assembly NOTICE files
(cherry picked from commit 2c3a7c68df)
2022-02-11 14:03:21 +01:00
Robbie Gemmell d719a8bed1 NO-JIRA: update RAT plugin to 0.13
(cherry picked from commit 01af3e87d7)
2022-02-11 14:02:59 +01:00
Jean-Baptiste Onofré fdee757fcd
Merge pull request #765 from jbonofre/AMQ-8410
[AMQ-8410] Fix OSGi imports
2022-02-10 18:32:34 +01:00
Jean-Baptiste Onofré ff601a5122 [AMQ-8410] Fix OSGi imports 2022-02-10 14:21:58 +01:00
Jean-Baptiste Onofré cade46f4a4
Merge pull request #754 from coheigea/AMQ-8472
AMQ-8472 - Switch to reload4j for logging
2022-02-10 06:07:25 +01:00
Matt Pavlovich 0b7ebc5ad1 [AMQ-8443] Add unit test
(cherry picked from commit 09458713aa)
2022-02-09 10:50:23 -05:00
Matt Pavlovich acc3c694ab [AMQ-8397] Add unit tests for AMQ-8397
(cherry picked from commit 9d8ee0d3b7)
2022-02-09 06:35:57 -05:00
Colm O hEigeartaigh 1f01a61426
AMQ-8472 - Switch to reload4j for logging 2022-02-08 14:02:31 +00:00
Matt Pavlovich 3b5ebd0bb7 [AMQ-8413] NetworkConnectore remote user and pass unit test
(cherry picked from commit 2a9f777aab)
2022-02-07 11:28:28 -05:00
Christopher L. Shannon (cshannon) 5f71b848a5 [AMQ-8412] - Add some comments for maxFrameSizeEnabled
(cherry picked from commit 19949e36bc)
2022-02-07 08:53:49 -05:00
Matt Pavlovich c1cf24cb2a [AMQ-8053] UserIDBroker unit tests
(cherry picked from commit 49f1b2c903)
2022-02-07 08:29:09 -05:00
Christopher L. Shannon (cshannon) 42e65f88e3 AMQ-8412 - Add wireformat negotiation test for maxFrameSizeEnabled
Verify that maxFrameSizeEnabled being configured on the client or the
server is not negotiated and won't affect the other

(cherry picked from commit 26a3c55833)
2022-02-07 08:04:42 -05:00
Matt Pavlovich e630a3cc61 [AMQ-8412] Update client-side maxFrameSize handling to be more symetrical with server-side
- Handle in the OpenWireFormat class
 - Add unit tests to confirm
 - Verify compression is accounted for
 - Verify the ability to disable using wireFormat.maxFrameSizeEnabled=false
 - [cshannon] Reworked max frame size test case to add in all transports and all client/server cases

(cherry picked from commit 67a2edbf0d)
2022-02-07 08:04:33 -05:00
Jean-Baptiste Onofré 90b29cd0a5 Fix maven plugins version and options 2022-02-01 18:07:22 +01:00
Jean-Baptiste Onofré 369696892c Downgrade to Apache POM 20 to avoid javadoc generation error (it will be
fixed on main/5.17)
2022-02-01 15:21:28 +01:00
Jean-Baptiste Onofré 3d55f2d452 Update schema location in preparation for 5.16.4 release 2022-02-01 14:35:39 +01:00
Colm O hEigeartaigh b572d0cd5a AMQ-8648 - CVE-2022-23437: Infinite loop within Apache XercesJ xml parser
(cherry picked from commit 70915ea5c0)
2022-02-01 14:26:56 +01:00
Jean-Baptiste Onofré 3bebc11229 Fix javadoc generation related to reproducible build 2022-01-31 18:17:42 +01:00
Jean-Baptiste Onofré fbdf3c5061 [AMQ-8467] Upgrade to xstream 1.4.19
(cherry picked from commit 2206eb3ad6)
2022-01-31 17:23:16 +01:00
Endre Stølsvik c81740592b StatisticsBrokerPlugin: Add feat: request destination firstMessageTimestamp
Adding a feature (STATS_FIRST_MESSAGE_TIMESTAMP) to the
StatisticsBrokerPlugin's destination-statistics for getting the
timestamp of the first message in the destination(s) being requested: If
you on the query-message set the property
StatisticsBroker.STATS_FIRST_MESSAGE_TIMESTAMP to anything (e.g. boolean
true), a long value "firstMessageTimestamp" will be added to the
statistics reply message(s). Since the reply message has JMSTimestamp
set, which is the broker's now-timestamp, you may also on the query side
calculate the age of the first message in milliseconds. The key name was
chosen since that is the name of the corresponding feature in Artemis.

This extension of the existing feature is implemented to be as
non-intrusive as possible, adding very little runtime cost if not
requested. It also seems like the runtime cost for enabling this
feature, thus finding and adding the firstMessageTimestamp, is small.

While at it, also slightly improving an existing feature
(STATS_DENOTE_END_LIST) where a reply to a destination query can be
"null terminated": After sending the relevant replies, the
StatisticsBroker also sends an empty message. This feature is relevant
if the query is a wildcard query, thus returning multiple messages: The
empty message denotes the end of the replies. However, to activate this
feature, a somewhat complicated query destination had to be constructed.
Adopting the solution for the other StatisticsBroker feature where you
may reset the broker statistics by adding a property to the query
message, this null-termination feature now /also/ checks for the
presence of this query modifier STATS_DENOTE_END_LIST as a property.
(This property based solution was thus also adopted for the present
'firstMessageTimestamp' solution, as it was found much more intuitive).

Added tests for both the STATS_FIRST_MESSAGE_TIMESTAMP query modifier,
and the improved STATS_DENOTE_END_LIST property-based query modifier.

Had to make the Topic.doBrowse(List browseList, int max) public - the
corresponding method for Queue was already public.

Made the evaluation of whether this is a StatisticsBroker-relevant
message a microscopic bit more performant (exiting faster if not
relevant): To the initial test of whether the message is relevant, which
only checked for replyTo being set, a check for 'destination.
startsWith("ActiveMQ.Statistics")' was added. Only if so, the rest of
the evaluations kick in. Also using 'string.startsWith(..)' instead of
the verbose 'string.regionMatches(..)'.

Removed an unused import on PartitionBrokerTest.java, as IntelliJ
complained about not finding it.

(cherry picked from commit 9167a79b79)
2022-01-30 16:07:11 +01:00
Matt Pavlovich afc50ee727 [AMQ-8412] Client-side management of max frame size
- Store maxFrameSize on client-side
 - Check messages on outbound send to send an actionable exception to the caller
 - Add a reason code for max message size exceeded (client-side)

(cherry picked from commit 48d0fb1171)
2022-01-29 07:08:34 +01:00
Matt Pavlovich f1b37e0a4f [AMQ-8462] Remove double call to listConnectionStates during connection close
(cherry picked from commit 6a944a05d9)
2022-01-24 18:48:05 +01:00
Alexej Timonin 7a8d517436 Allow custom delimiter when sending TextMessages via MBean
This enables possibility to send messages containing commas in the body
with tools such as jconsole.
Example simple text as body: body=Hello, world!
Example json as body: body={"a":"b","c":"d"}

(cherry picked from commit 7c63227003)
2022-01-22 17:14:44 +01:00
Lucas Tétreault fc7a68a8bc Use B+ Tree iterator instead of DFS to find scheduled jobs to be executed
(cherry picked from commit 60859b0b7f)
2022-01-19 19:02:09 +01:00
Anthony F 31a07c11aa [AMQ-8409] Fixed Unexpected \\r instead of \r in header property in incoming messages
(cherry picked from commit d9450cdd74)
2022-01-19 18:30:07 +01:00
Vilius Šumskas ffc2aad6e3 https://issues.apache.org/jira/browse/AMQ-5388 Fix user permissions in web console
(cherry picked from commit c67ada04c7)
2022-01-19 17:48:11 +01:00
jbonofre e5393b469b [AMQ-7351] Upgrade to Apache POM 24
(cherry picked from commit 53a69abe5e)
2022-01-18 14:19:43 +01:00
Matt Pavlovich d915c791aa [AMQ-8443] Allow reconnect command to work
(cherry picked from commit bc9ff5a09f)
2022-01-15 06:59:24 +01:00
Matt Pavlovich 7295bd85a5 [AMQ-8043] Do not override JMSXUserID when message comes across network connector
(cherry picked from commit bec734a133)
2022-01-15 06:48:26 +01:00
Jean-Baptiste Onofré ec6db10c7e [AMQ-8252] Introduce stackTraceEnabled flag on transport connector to define if the stack trace should be displayed or not in case of WARN messages
(cherry picked from commit 2f96b4a60c)
2022-01-15 06:46:33 +01:00
Jean-Baptiste Onofré 207591e94d [AMQ-8425] Get process from any user in bin/activemq script
(cherry picked from commit c246e0926c)
2022-01-15 06:43:52 +01:00
Jean-Baptiste Onofré e52b1bd0ed [AMQ-8445] Fix SSLParameters set in the SSL transport
(cherry picked from commit c2e2c818b5)
2022-01-12 11:20:32 +01:00
Matt Pavlovich 6a25d654f2 [AMQ-8397] Add a destination option to sendDuplicateFromStoreToDLQ (#724)
- Default 'true' to match existing behavior
 - Added counter to DestinationView
2021-12-20 09:11:25 -06:00
Matt Pavlovich f2dbc92743 [AMQ-8400] Add synchronization handling for Transaction to prevent CME (#720) 2021-12-20 09:11:19 -06:00
Matt Pavlovich c58e531584 [AMQ-8413] Add remoteUserName and remotePassword config fields to network connector (#725) 2021-12-20 09:10:53 -06:00