Commit Graph

954 Commits

Author SHA1 Message Date
Clebert Suconic 72a4fff167 ARTEMIS-3593 Defense against OME on parsing XID
Co-authored-by: Viktor Kolomeyko <Viktor.Kolomeyko@r3.com>
2021-12-02 21:15:41 -05:00
franz1981 7e6373d4df ARTEMIS-3578 Save SimpleString duplication and long[] allocation while moving Core messages 2021-12-01 10:27:46 +01:00
franz1981 ad4f6a133a ARTEMIS-3021 OOM due to wrong CORE clustered message memory estimation 2021-12-01 10:27:46 +01:00
Clebert Suconic 12a93e3c7e Revert "ARTEMIS-3576 Fix toString methods throwing exceptions"
This reverts commit fcd512f9de.

this will be re-applied after fixing the build and tests
2021-11-29 13:21:24 -05:00
Domenico Francesco Bruscino fcd512f9de ARTEMIS-3576 Fix toString methods throwing exceptions 2021-11-29 12:02:58 -05: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
Erwin Dondorp dde48d052f ARTEMIS-3556 show message protocol on message-view page 2021-11-10 20:46:55 -05:00
Justin Bertram 4367ec40a6 ARTEMIS-649 deprecate the HTML based JMX reports
The HTML output methods are hold-overs from way back when the code-base
started off as JBoss Messaging 2 and the broker mainly ran in JBoss AS 4
and 5 which leveraged an HTML-based JMX console where these methods
would be executed and spit out nicely formatted data. That stuff has all
long since been retired so this commit deprecates the HTML-based
management methods so they can be removed completely in a future release.
JSON is a better structured output format for this and most of the
deprecated methods have JSON alternatives.
2021-11-04 11:36:49 -04:00
Justin Bertram 82645aa4e9 ARTEMIS-2293 addPacket in LargeMessageControllerImpl won't notifyAll for exception 2021-11-02 21:54:24 -04:00
Clebert Suconic 8b3663e827 ARTEMIS-3538 Removing a few extra // ----- structural comments 2021-11-02 21:45:09 -04:00
Asukwo-comfort 923e4cc892 ARTEMIS-3538: Removing // --------- comments from the codebase 2021-11-02 21:44:12 -04:00
Clebert Suconic 1d0c0a8897 ARTEMIS-3541 createQueue ignoring autoDeleteAddress flag
Commit 481b73c8ca from ARTEMIS-3502
inadvertently broke this functionality. This commit restores the
original behavior.

autoDeleteAddress was renamed to forceAutoDeleteAddress which will ignore the address settings.

delete temporary queues will use forceAutoDeleteAddress=true.

this is done in collaboration with Justin Bertram
2021-11-02 08:56:15 -04:00
Robbie Gemmell 3f9de5fa30 ARTEMIS-3461: add some tests and resolve various issues spotted with the prior changes
- Avoid blowing up on string bodies of any size if the valueSizeLimit bits are configured to disable limit
- Dont NPE if amqp-value + binary body is sent without a content-type, as it always should be.
- Include expected prefix when adding delivery delay and ingress time annotations.
- Use the actual name for ingress time annotation, as with all other annotations.
- Use correct object type when testing equality with content-type value.
- Use consistent case for 'groupId' in different properties.
2021-11-01 17:08:15 -04:00
Robbie Gemmell ea8fe11c6d ARTEMIS-3363: add a couple of assertions for completeness (+fix deprecation warning) 2021-11-01 18:33:51 +00:00
domson-tech 89253b8513 ARTEMIS-3547 remove first field to improve code
first field is not necessary here, only pos field can work.
So remove first here.
2021-11-01 09:35:10 -04:00
Domenico Francesco Bruscino 14f8e8d5ab ARTEMIS-3363 Fix TransportConfiguration extraParams equals 2021-10-21 13:27:33 -04:00
nbrendah ebf8adc72b ARTEMIS-3523: Created delegated methods replay in addressControl 2021-10-21 13:20:06 -04:00
Domenico Francesco Bruscino 5b33140323 ARTEMIS-3363 Fix TransportConfiguration extraProps encoding 2021-10-21 10:53:18 +01:00
Domenico Francesco Bruscino dca3facb55 ARTEMIS-3495 Fix backup cluster controller connection loops
Skip backup connector equivalent to cluster connector for cluster connections.
2021-10-21 10:46:59 +01:00
Justin Bertram 6d52f20edd ARTEMIS-3530 space in role list breaks user listing 2021-10-21 10:44:29 +01:00
gtully 925ceadffa ARTEMIS-3433 - allow null return and throw error only startup usage paths 2021-10-21 10:35:43 +01:00
gtully cf85d35355 ARTEMIS-3308 - support federation of large messages 2021-10-20 09:43:11 +01:00
Clebert Suconic 1db3ae1dc0 ARTEMIS-3529 Fixing integration tests after Web Console Parsing of Large Messages 2021-10-19 23:00:51 -04:00
Clebert Suconic 54418dfcaf ARTEMIS-3529 Fixing test and tweaks on properties 2021-10-19 17:43:01 -04:00
Clebert Suconic 6bb4aa7a10 ARTEMIS-3529 Moving addItem from AMQP and Core into upper class 2021-10-17 20:06:51 -04:00
Clebert Suconic a833d95c1f ARTEMIS-3461 Generalize MBean Support on Messages and avoid converstion to core on AMQP Messages on console browsing
Done in collaboration with Erwin Dondorp through https://github.com/apache/activemq-artemis/pull/3794/
2021-10-17 11:25:27 -04: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
franz1981 95d2de5aa4 NO-JIRA Save double property lookup on common case 2021-10-11 08:46:58 -04:00
Justin Bertram c3d93f5590 ARTEMIS-3313 routing-type conflict during import/export 2021-10-08 08:09:21 -05: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
Clebert Suconic 481b73c8ca ARTEMIS-3502 Auto delete & auto create leading to inconsistencies 2021-10-05 17:53:30 -04:00
Andy Taylor e37175784c ARTEMIS-3493 - expose User ID (JMS Message ID) in send tab of console
https://issues.apache.org/jira/browse/ARTEMIS-3493
2021-09-28 08:11:26 +01:00
Emmanuel Hugonnet fa439375e9 [ARTEMIS-3494]: ActiveMQClientProtocolManagerFactory shouldn't have a private constructor.
* Removing the 'private' constructor
* Removing the use of a static getInstance

Issue: https://issues.apache.org/jira/browse/ARTEMIS-3494
2021-09-23 11:28:06 +02:00
Robbie Gemmell 515ac3a7cb ARTEMIS-3475: fix recursion and duplicate class name print from 2481a784f3 2021-09-17 15:48:48 +01:00
Emmanuel Hugonnet f19337901a [ARTEMIS-2545]: Auto queue creation does not work with MDBs.
* Adding support for queue autocreation from the resource adapter.

Issue: https://issues.apache.org/jira/browse/ARTEMIS-2545
2021-09-16 10:44:54 -04:00
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 2481a784f3 ARTEMIS-3475 avoiding possible recursion on toString and improving overal PacketImpl toString 2021-09-13 14:51:55 -04:00
Clebert Suconic 6385e471e4 Revert "ARTEMIS-3365 Avoid infinite loop on toString"
This reverts commit c67441664f.
2021-09-13 14:51:55 -04:00
Clebert Suconic c67441664f ARTEMIS-3365 Avoid infinite loop on toString 2021-09-13 10:08:24 -04:00
franz1981 a4c311f368 ARTEMIS-3449 Speedup AMQP large message streamig 2021-09-08 15:22:22 -04:00
Clebert Suconic 0266582a8f ARTEMIS-3441 Remove a few finalize methods 2021-08-24 19:08:00 -04:00
Clebert Suconic 4d2fd89882 ARTEMIS-3436 Journal Replay operation 2021-08-24 19:07:15 -04:00
Clebert Suconic ed4c915d50 ARTEMIS-3434 Fixing Journal Retention Wrong month 2021-08-20 11:22:33 -04:00
Justin Bertram 82f0ece67c ARTEMIS-3329 ability to purge all queues on address 2021-08-18 12:33:01 -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 9fd1d5941d ARTEMIS-3365 Fix NPE on CORE client disconnecting 2021-08-06 18:48:49 +02:00
Domenico Francesco Bruscino 3555dd7d25 ARTEMIS-3365 Add broker balancers 2021-08-06 08:33:21 -04:00
Domenico Francesco Bruscino 6d2b96c79e ARTEMIS-3275 Lock CORE client communication during failover retries 2021-08-06 08:32:59 -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 feddd94276 NO-JIRA Updating parameter description 2021-08-04 17:08:11 -04:00
Domenico Francesco Bruscino a741ae9994 ARTEMIS-3367 Set verifyHost true for connectors by default 2021-08-03 18:14:51 -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 516f3425e7 ARTEMIS-3393 support securityDomain on in-vm acceptor 2021-08-03 10:19:22 -04:00
Justin Bertram 7a9de8eea3 ARTEMIS-3302 swap deprecated X509Certificate
Casting the result of getPeerCertificates() to X509Certificate[] mirrors
what is done in the ActiveMQ "Classic" code-base.

A few tests which were imported from ActiveMQ "Classic" to verify our
OpenWire implementation were removed as they relied on a "stub"
implementation of javax.net.ssl.SSLSession that never would have worked
across multiple JDKs once javax.security.cert.X509Certificate[] was
removed. Furthermore, the tests appeared to be related to the OpenWire
*client* and not relevant to our broker-side implementation.
2021-08-03 09:55:36 -04:00
Andy Taylor c358688fd6 ARTEMIS-3404 - expose max retry interval on bridge mbean
https://issues.apache.org/jira/browse/ARTEMIS-3404
2021-08-03 09:07:39 -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
Robbie Gemmell 567c4fc16b ARTEMIS-3155: fix javadoc error introduced in #3624 2021-06-15 12:53:43 +01:00
Justin Bertram 867bf5e01e ARTEMIS-3155 support better backwards compatibility
Support better backwards compability for SSL keyStoreProvider and
trustStoreProvider.
2021-06-14 18:04:06 -04:00
Markus Meierhofer 3b1f6eee7d ARTEMIS-3337: Correctly handle multiple connection failures
Previously, when during reconnect one session couldn't be transferred
to the new connection, we instantly returned and didn't execute failover
for the other sessions. This produced the issue that for sessions
where no failover was executed, their channels were still present on the
old connection. When the old connection was then destroyed, these channels
were closed although the reconnect was still ongoing, which lead to
"dead" sessions.

Now, if a session failover fails, for the remaining sessions the "client-side" part
of failover is executed, which removes the sessions from the old connection so that
they are not closed when the old connection is closed afterwards.
2021-06-14 16:36:23 -04:00
Justin Bertram 26b83985cf ARTEMIS-3330 JMS session stopped on failed rollback 2021-06-07 15:00:34 -04:00
Clebert Suconic 7137252c5d NO-JIRA fixing spelling udpate as update 2021-06-03 10:43:11 -04:00
Robbie Gemmell c993b5a0e9 NO-JIRA: fix javadoc errors on JDK11+, enable CI javadoc check on JDK11+ 2021-06-02 17:37:06 +01:00
franz1981 14dddb04d7 ARTEMIS-3280 Netty Pool micrometer metric plugin 2021-05-27 13:32:06 -05:00
Domenico Francesco Bruscino ba6422d45f ARTEMIS-3315 Fix JSON serialization of AMQP messages
Replace the JSON serialization errors for unknown types with their respective string representation.
2021-05-27 11:31:25 -04:00
Erwin Dondorp d50fbc4908 ARTEMIS-3258 added warning for url parameters that are explicitly ignored 2021-05-24 13:38:07 -05:00
Domenico Francesco Bruscino e03c4fe193 ARTEMIS-3309 Add a parameter to limit messages to move or transfer 2021-05-24 14:09:20 -04:00
Justin Bertram 81bbca15c1 ARTEMIS-3229 add details to AdressControl MBean 2021-05-24 11:51:14 -05:00
Jacob Middag 6b86770079 NO-JIRA Fix description of DiskStoreUsage
In 73c4e399d9 a description is added to DiskStoreUsage. It incorrectly describes the diskStoreUsage as a percentage. This commit changes it to a fraction which it is (also before the description change). A percentage would be better, since MaxDiskUsage is also specified as percentage.
2021-04-19 12:47:29 -04:00
Domenico Francesco Bruscino b4789a894f ARTEMIS-3221 Migrating to Jakarta EE 8 artifacts 2021-04-09 11:49:59 -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
dhawkins 4f4231f629 ARTEMIS-3156 Better support for PKCS #11 2021-03-24 09:08:33 -04:00
franz1981 7bd2a4d080 ARTEMIS-3045 NettyConnection should null-check Netty buffer 2021-03-24 09:07:46 -04:00
Andy Taylor bb94d0a5b3 ARTEMIS-3196 - expose journal pool files in JMX
https://issues.apache.org/jira/browse/ARTEMIS-3196
2021-03-23 10:01:24 +00: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
AntonRoskvist e9e1e476ee ARTEMIS-3198 Add concurrency option on core bridges 2021-03-22 19:13:06 -04:00
Erwin Dondorp 1a4fd1d7ae NO-JIRA Cosmetic logging change
prevent items in a debug line to be joined; and 2 additional small inconsistencies for the same
2021-03-16 18:06:38 -04:00
Clebert Suconic f49a163427 ARTEMIS-3137 Fixing Test with wrong message type on Xpath and Core 2021-03-10 21:44:07 -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
franz1981 bc83b31232 ARTEMIS-3133 Reduce memory usage for Null an Ping packets 2021-03-03 13:51:05 -05: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
franz1981 6c7231928f ARTEMIS-3138 Shared Nothing Live broker shouldn't try to connect to itself (2) 2021-02-25 10:19:02 -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
franz1981 6126d926dd ARTEMIS-3045 ReplicationManager can batch sent replicated packets 2021-02-19 15:18:20 -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 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
Ingo Karkat 044d6101e9 ARTEMIS-3081 Swap precedence of key/tr.store props
If an application wants to use a special key/truststore for Artemis but
have the remainder of the application use the default Java store, the
org.apache.activemq.ssl.keyStore needs to take precedence over Java's
javax.net.ssl.keyStore. However, the current implementation takes the
first non-null value from
  System.getProperty(JAVAX_KEYSTORE_PATH_PROP_NAME),
  System.getProperty(ACTIVEMQ_KEYSTORE_PATH_PROP_NAME),
  keyStorePath

So if the default Java property is set, no override is possible. Swap
the order of the JAVAX_... and ACTIVEMQ_... property names so that the
ActiveMQ ones come first (as a component-specific overrides), the
standard Java ones comes second, and finally a local attribute value
(through Stream.of(...).firstFirst()).

(In our case the application uses the default Java truststore location
at $JAVA_HOME/lib/security/jssecacerts, and only supplies its password
in javax.net.ssl.trustStorePassword, and then uses a dedicated
truststore for Artemis. Defining both org.apache.activemq.ssl.trustStore
and org.apache.activemq.ssl.trustStorePassword now makes Artemis use the
dedicated truststore (javax.net.ssl.trustStore is not set as we use the
default location, so the second choice
org.apache.activemq.ssl.trustStore applies), but with the Java default
truststore password (first choice javax.net.ssl.trustStorePassword
applies instead of the second choice because it is set for the default
truststore). Obviously, this does not work unless both passwords are
identical!)
2021-02-03 12:02:19 -05:00
Tomas Hofman ebeea15c2a ARTEMIS-3074 Add ActiveMQServerControl#createBridge() method variant accepting a JSON string 2021-02-01 19:21:40 -05:00
Justin Bertram 4fbc8bf67d ARTEMIS-3008 mngmnt op to reload config file 2021-01-25 13:35:19 -06:00