Commit Graph

619 Commits

Author SHA1 Message Date
Clebert Suconic c3b403a980 ARTEMIS-3482 Removing non used methods and some reorg on message methods 2021-09-15 09:17:01 -04:00
Clebert Suconic 14457c4308 ARTEMIS-3464 Protecting scheduled tasks counter with a synchronized 2021-09-13 14:35:45 -04:00
Clebert Suconic 2fb23474ce ARTEMIS-3464 Improving ACK reliability on Paging and code improvements 2021-09-10 18:27:00 -04:00
Robbie Gemmell 55fb9bb540 ARTEMIS-3449: add some additional guarding following behaviour seen prior to ARTEMIS 3465 fix 2021-09-10 11:41:21 +01:00
Domenico Francesco Bruscino 9ed12b53d6 ARTEMIS-3467 FD leak on receiving AMQP large messages 2021-09-09 16:56:52 -04:00
Robbie Gemmell 8fb5b8969f ARTEMIS-3449: fix some issues from using position to track an unrelated state, plus simplify some previous changes and more 2021-09-09 10:37:36 +01:00
Clebert Suconic 7fb4f80649 ARTEMIS-3464 Missing ACKs on Page and Mirror 2021-09-08 15:30:39 -04:00
franz1981 a4c311f368 ARTEMIS-3449 Speedup AMQP large message streamig 2021-09-08 15:22:22 -04:00
Robbie Gemmell 9b074e124e ARTEMIS-3459: use appropriate call to clear up, avoid creating unnecessary wrapper 2021-09-03 18:06:21 +01:00
Clebert Suconic 8709b1e5d3 ARTEMIS-3448 Expiry (maybe DLQ copy) would break LargeMessage Delivery
This commit will fix MessagesExpiredPagingTest.testSendReceiveAMQPLarge
2021-08-27 16:33:30 -04:00
Andy Taylor 191cb34c54 ARTEMIS-3423 - create correct queue when durable subs recreated via AMQP
https://issues.apache.org/jira/browse/ARTEMIS-3423
2021-08-18 12:41:19 -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
gtully c2da0fd663 ARTEMIS-3200 - remove braces from the belt and braces fix in ARTEMIS-2712, the braces are not necessary and leak, cleaning up in close negates the need to the session closeable 2021-08-05 09:27:12 -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
Robbie Gemmell d9a44002c5 ARTEMIS-3304: replace use of deprecated constructors marked as for-removal since Java 16
updates all the uses in tests, missed in original commit
2021-07-27 14:55:40 +01:00
Clebert Suconic 18e9dee490 NO-JIRA Small tweaks on AMQPMessage.
- adding annotations into toString()
- comment typo
2021-07-13 08:28:06 -04:00
Clebert Suconic ee3814dbfd ARTEMIS-3383 AMQPMessage.isDurable wrongly returns false during persistent lazy reload state 2021-07-12 23:00:16 -04:00
Justin Bertram ec508d8306 ARTEMIS-3381 AMQP bypasses session when deleting queues
The AMQP implementation bypasses the ServerSession when deleting queues
which also bypasses security authorization.
2021-07-12 11:25:11 -04:00
Justin Bertram bf875c3a37 ARTEMIS-3374 fix tests and shared subscriber case
A couple of tests were explicitly written to delete the
configuration-managed queue. Since this is no longer allowed these
tests had to change.
2021-07-12 11:25:11 -04:00
Justin Bertram b7f9807cd9 ARTEMIS-2919 support timestamping incoming messages 2021-07-06 14:09:00 -05:00
Justin Bertram 1d02d06eab ARTEMIS-3374 config-managed queue can be deleted by durable subscriber 2021-07-06 14:06:39 -05: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 3c90c695f3 ARTEMIS-3106: remove duplicate artemis-server dependency added in 5313a800a3
Resolves related build warning it caused.
2021-04-14 12:45:46 +01:00
Clebert Suconic d408f284b1 ARTEMIS-3238 AMQP Mirror not routing correctly with SNF 2021-04-12 19:30:35 -04:00
Christoph Läubrich 5313a800a3 ARTEMIS-3106 Support for SASL-SCRAM
adds the implementation necessary to perform SASL-SCRAM authentication with ActiveMQ Artemis
2021-04-08 19:58:09 -04:00
gtully 02bb7031c2 ARTEMIS-3175 - implement address setting management-message-attribute-size-limit to sensibly limit data returned by list/browse/filter management ops 2021-03-23 09:48:45 +00:00
Clebert Suconic b4beea1f2c ARTEMIS-3150 Broker Connections with restricted security
The local connections and sessions created internally were supposed to bypass security
just like bridges and other internal components
2021-03-22 17:32:43 -04: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
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 a0ce3812ba ARTEMIS-3067, ARTEMIS-3135 - rework accounting for lazy decoding by directly referencing the owning page store, owner now tracked on a message rather than the message reference. This avoids the error prone checks around potential decoding sites 2021-02-24 15:50:13 +00:00
Clebert Suconic 12c8096a23 ARTEMIS-3093 Ordering on multiple consumers and core with rollback 2021-02-22 15:10:04 -05:00
Domenico Francesco Bruscino ab7058ac75 ARTEMIS-3118 Fix the expiration on converting from AMQP to core
Initialize the JMS expiration with the value calculated during the scan
of the AMQP message to avoid a different value for each conversion based
on System.currentTimeMillis() and ttl.
2021-02-17 17:34:20 +01:00
Clebert Suconic 7d10e915b6 ARTEMIS-3116 Fixing Core->AMQP Conversion of Scheduled Delivery Time 2021-02-12 13:00:06 -05:00
Clebert Suconic 21ee5985ea [maven-release-plugin] prepare for next development iteration 2021-02-11 12:00:04 -05:00
Clebert Suconic 36a771150b [maven-release-plugin] prepare release 2.17.0 2021-02-11 11:59:51 -05:00
Clebert Suconic e7e3c71511 ARTEMIS-3113 - Artemis AMQP shouldn't depend on JMS.
* removing the  JMS dependency on AMQP module
* fixing destinations usage.
* refactoring to remove some JMS usage and make exceptions a bit better

Jira: https://issues.apache.org/jira/browse/ARTEMIS-3113
2021-02-11 10:45:01 -05:00
Clebert Suconic 7f64822591 Revert "[ARTEMIS-3113]: Artemis AMQP shouldn't depend on JMS."
This reverts commit 5079ad1019.
2021-02-10 18:34:25 -05:00
Clebert Suconic 5079ad1019 [ARTEMIS-3113]: Artemis AMQP shouldn't depend on JMS.
* removing the  JMS dependency on AMQP module
* fixing destinations usage.

Jira: https://issues.apache.org/jira/browse/ARTEMIS-3113
2021-02-10 12:47:38 -05:00
Clebert Suconic c0867f0361 [maven-release-plugin] prepare for next development iteration 2021-02-09 12:12:48 -05:00
Clebert Suconic 9b473698e0 [maven-release-plugin] prepare release 2.17.0 2021-02-09 12:12:35 -05:00
Clebert Suconic 6ed1e4c87d [maven-release-plugin] prepare for next development iteration 2021-02-08 15:56:31 -05:00
Clebert Suconic 06b29806ca [maven-release-plugin] prepare release 2.17.0 2021-02-08 15:56:18 -05:00
Christoph Läubrich 0bedb3048a ARTEMIS-33 Generic integration with SASL Frameworks
This adds the opportunity to register new SASL schemes via the default
java service-loader mechanism.
Implementors have to provide an implementation of the ServerSASLFactory
that is responsible for providing instances of the actual scheme.
2021-02-07 11:18:13 -05:00
岳豹 9c5ec1b07c ARTEMIS-3105 large message file not closed on backup side 2021-02-07 10:41:41 +08:00
Domenico Francesco Bruscino 267c6e5b56 ARTEMIS-3091 Fix AMQP message headers export from the journal 2021-02-01 11:54:37 -05:00
gtully d186d20406 ARTEMIS-3067 - track application properties in memory estimate and check for modification after potential filter execution 2021-02-01 09:21:17 -05:00
Domenico Francesco Bruscino 9d070812dd ARTEMIS-3079 Fix AMQP binary properties serialization to JSON 2021-01-25 13:22:53 -06:00
Clebert Suconic 78c0792989 ARTEMIS-3065 AMQP Anonymous producer would eventually block 2021-01-13 15:46:54 -05:00
franz1981 2e0f051d2d ARTEMIS-3063 AMQPMessage get property can use a String switch 2021-01-12 12:07:23 +01:00
franz1981 dc68d2e08f ARTEMIS-3061 AMQPMessage::getDuplicateProperty can save key comparisons and class checks 2021-01-11 21:42:54 -05:00
franz1981 be3812b2e2 ARTEMIS-3059 AMQP message reencoding should save creating Netty heap arenas 2021-01-11 11:37:30 -05:00
Domenico Francesco Bruscino 92d6ae87ed ARTEMIS-3027 Fixing AMQP persister encoding 2020-12-22 10:37:34 -05:00
Clebert Suconic 57c9dc623c ARTEMIS-3035 Log.info on connection success for AMQP Broker Connection 2020-12-16 13:41:32 -05:00
Clebert Suconic 3b0fa74970 ARTEMIS-3027 Fixing tests after some large messages changes 2020-12-14 15:19:12 -05:00
Clebert Suconic 63a3bcbe32 ARTEMIS-3027 Fixing Redistribution of Large Messages after expiration fix
This is fixing AmqpLargeMessageRedistributionTes and AMQPLargeMessageOverCoreBridgeTest after last commit on this issue.
2020-12-14 11:18:38 -05:00
Clebert Suconic dfd41d958e ARTEMIS-3027 Store calculated expiration as part of the journal record on AMQP 2020-12-10 18:33:15 -05:00
Clebert Suconic 94f1857914 ARTEMIS-3026 Allow "re-encode" of amqp large messages
notice the quotes on "re-encode", as this is just replacing the set of application properties, properties and headers by a new set
if a flag reEncoded is set to true on AMQPLargeMessage
2020-12-10 00:37:11 -05:00
Clebert Suconic 825341734a ARTEMIS-3024 Expiry or DLQ Retry not working with AMQP 2020-12-08 14:13:53 -05:00
Clebert Suconic 6a6a3b3863 ARTEMIS-3023 Avoid opening AMQP Large Message for final parsing 2020-12-07 21:24:45 -05:00
Clebert Suconic e6a6e81b02 ARTEMIS-3019 expiry changes in AMQP Large Message 2020-12-07 10:44:51 -05:00
Clebert Suconic ccefbfcfa9 ARTEMIS-3019 Before applying the fix into two methods, I needed to move the method into the right place
There is no real change in this commit other than moving the methods to the right place
2020-12-07 10:30:03 -05:00
Clebert Suconic ead05b7a89 ARTEMIS-2983 Fixing PrintData with AMQP 2020-11-11 12:47:02 -05:00
Domenico Francesco Bruscino 14ec3cb7b0 ARTEMIS-2976 Remove password before creating server locator 2020-11-05 11:39:35 -05:00
Robbie Gemmell 5ff075b7ff ARTEMIS-2971: add ANONYMOUS and EXTERNAL SASL mechanism support for outgoing AMQP server connections 2020-11-05 11:32:35 -05:00
Clebert Suconic 4e7bb97df7 [maven-release-plugin] prepare for next development iteration 2020-11-02 17:45:51 -05:00
Clebert Suconic 9768017530 [maven-release-plugin] prepare release 2.16.0 2020-11-02 17:45:38 -05:00
Clebert Suconic 648340a864 ARTEMIS-2969 / ARTEMIS-2937 Making sure consumers are cleaned after failures and reconnects 2020-11-02 17:24:45 -05:00
Clebert Suconic 7a435a944c ARTEMIS-2969 / ARTEMIS-2937 should set connecting = false when maxRetry is reached 2020-11-02 13:13:15 -05:00
Clebert Suconic fa4064cfd7 ARTEMIS-2969 / ARTEMIS-2937 RedoConnection should call protonRemotingConnection.destroy
Instead of calling destroy, redo was closing the Netty connection directly leaving the job of destroy delayed until TTL
2020-11-02 11:40:10 -05:00
Andy Taylor dafef2b267 ARTEMIS-2973 - JMS AMQP Shared global subscriber queue not deleted on unsubscribe
https://issues.apache.org/jira/browse/ARTEMIS-2973
2020-11-02 10:00:13 -05:00
Clebert Suconic c0b12b14c8 ARTEMIS-2969 / ARTEMIS-2937 Controlling connecting state on AMQP Broker Connection
- Fixed an issue where I needed to set connection to null after closing it
- Added more tests on QpidDispatchPeerTest (tests i would have done manually, and reproduced a few issues along the way)
2020-11-02 09:54:21 -05:00
Clebert Suconic 28919b6ad8 [maven-release-plugin] prepare for next development iteration 2020-10-30 10:16:29 -04:00
Clebert Suconic af5ca9f1e6 [maven-release-plugin] prepare release 2.16.0 2020-10-30 10:16:17 -04:00
Clebert Suconic f3dde91b91 ARTEMIS-2969 / ARTEMIS-2937 Dealing with instant disconnects on amqp broker connections 2020-10-30 09:52:03 -04:00
Clebert Suconic dff2ed3638 ARTEMIS-2937 Implementing skip create and skip delete on Mirror Source 2020-10-30 08:44:51 -04:00
Clebert Suconic 981b516479 ARTEMIS-2968 Ignoring expected exception when deleting a previously already removed queue 2020-10-29 22:04:33 -04:00
Clebert Suconic 480197975b ARTEMIS-2967 Adding testSimpleConnect back and fixing a possible NPE 2020-10-29 22:01:01 -04:00
Clebert Suconic 9b0f7605cb ARTEMIS-2969 / ARTEMIS-2937 Dealing with Connection Timeout properly on AMQP Broker Connections 2020-10-29 21:55:10 -04:00
Clebert Suconic dc7eb5c23d ARTEMIS-2937 Broker connection improvements
- Adding a paragraph about addressing and distinct queue names
- Renaming match on peers, senders and receivers as "address-match"
- Changing qpid dispatch test to use a single listener
- Fixing reconnect attemps message
2020-10-29 15:01:51 -04:00
Clebert Suconic d51c89471e ARTEMIS-2966 Anycast queues with distinct names would cause issues on sending messages 2020-10-29 10:09:36 -04:00
Clebert Suconic bf52134dc0 ARTEMIS-2937 Fixing Tests and some review 2020-10-28 15:08:48 -04:00
Clebert Suconic 8499eac76c ARTEMIS-2937 Server Side AMQP Connectivity with options to transfer queues or replicate data 2020-10-28 11:37:25 -04:00
franz1981 feca90d475 ARTEMIS-2766 Fixing unused stopSet parameter 2020-09-23 15:52:52 -04:00
Robbie Gemmell 6a4e79fd06 ARTEMIS-2910: reuse routing type calculated in initialisation for fixed-address producers 2020-09-23 12:09:18 -04:00
Robbie Gemmell d9d98dfa8a ARTEMIS-2910: consider message annotations when determining routing type used for auto-creation with anonymous producers 2020-09-21 18:07:26 +01:00
Clebert Suconic 7cf5289efa ARTEMIS-2900 Expose property (getWholeMessageSize) so users can intercept size of messages and large messages 2020-09-14 15:35:46 -04:00
Clebert Suconic 4d45d0cdd2 ARTEMIS-2887 Adding toString back to AMQPMessage 2020-08-26 17:54:25 -04:00
Domenico Francesco Bruscino 32bf9680f2 [maven-release-plugin] prepare for next development iteration 2020-08-24 16:03:24 +02:00
Domenico Francesco Bruscino a549fcedde [maven-release-plugin] prepare release 2.15.0 2020-08-24 16:03:12 +02:00
Justin Bertram 582a430213 ARTEMIS-2882 better support for JMS topics + FQQN
Support FQQN with JMS topics when sending to or consuming from a
specific subscription. This applies to JMS over core, OpenWire,
and AMQP.
2020-08-20 14:32:11 -05:00
Clebert Suconic 6690ba1d24 [maven-release-plugin] prepare for next development iteration 2020-07-09 12:49:08 -04:00
Clebert Suconic a76f41a7ed [maven-release-plugin] prepare release 2.14.0 2020-07-09 12:48:54 -04:00
Clebert Suconic c1be566c20 NO-JIRA Fixing rare intermittent failure on CreditsSemaphoreTest 2020-07-08 12:36:26 -04:00
Robbie Gemmell d2c46762e8 ARTEMIS-2109: fix javadoc errors, remove doclint config for JDK8, remove superfluous plugin versions, update to 3.0.1 javadoc plugin
Using 3.0.1 like the current apache parent pom [not being used], and also as newer ones break build.
2020-06-11 18:50:01 +01:00