Commit Graph

546 Commits

Author SHA1 Message Date
JB Onofré 550cb9b2be AMQ-9473: Fix IntrospectionSupport to deal with SSLSocket properties 2024-04-11 09:09:10 +02:00
Jean-Baptiste Onofré 7fae1b98e7 AMQ-9419: Implement createContext(int sessionMode) method 2024-03-04 13:15:08 +01:00
Jean-Baptiste Onofré ea92ade33a AMQ-9438: Don't log full stack trace when lookup failure happens in FailoverTransport 2024-03-02 07:17:34 +01:00
JB Onofré 99dced2fa7
Merge pull request #1128 from hyteio/AMQ-9216
[AMQ-9216] Remove deprecated java.lang.SecurityManager usage from activemq-client IdGenerator
2024-02-28 16:54:32 +01:00
Christopher L. Shannon (cshannon) be64fdba51 AMQ-9418 - Support converting javax jms exceptions to jakarta
This fixes the OpenWire v12 marshaller so that if an exception is
received by a javax based broker the client will convert back to a
jakarta jms exception type.
2024-01-16 15:20:44 -05:00
Matt Pavlovich e24c756e8d [AMQ-9216] Remove SeucrityManager usage from activemq-client IdGenerator 2023-11-22 10:41:00 -06:00
JB Onofré cefb703b86 AMQ-9341: concretely define SSL transport endpoint in client tests (to avoid issue one some environments) 2023-10-31 17:00:11 +01:00
Christopher L. Shannon (cshannon) 5719e5df2e AMQ-9370 - Improve Openwire marshaller validation test 2023-10-26 17:54:50 -04:00
Christopher L. Shannon 80089f9f47
Merge pull request #1098 from cshannon/openwire-throwable-fix
AMQ-9370 - Openwire marshaller should validate Throwable class type
2023-10-24 08:09:21 -04:00
Christopher L. Shannon (cshannon) 3eaf3107f4 AMQ-9370 - Openwire marshaller should validate Throwable class type 2023-10-24 07:22:37 -04:00
JB Onofré dc4b584c7e
Merge pull request #237 from sigee/cleaning
Remove unnecessary boxing / unboxing
2023-10-19 16:03:52 +02:00
Nicolas Filotto 538b04aa0c
[AMQ-9255] Initialize the transient field of the class Message (#1051) 2023-10-03 07:54:40 -04:00
Matt Pavlovich 09ae41adec [AMQ-8325] JMS 2.0 XA supported operations 2023-09-19 09:05:28 -05:00
Matt Pavlovich f022aeac58 [AMQ-9239] jakarta.jms - activemq-client changes 2023-08-24 09:30:45 -05:00
sigee 3ba93ed957 Remove unnecessary boxing / unboxing 2023-07-23 12:08:23 +02:00
Matt Pavlovich 642ec302cc
[AMQ-9225] Remove j2ee management dependency as it is no longer part of JEE spec (#983) 2023-03-07 11:13:41 -06:00
Christopher L. Shannon 9fe24cd8e3
AMQ-7309 - Implement Message#isBodyAssignableTo and Message#getBody methods (#979)
AMQ-7309 - Implement Message#isBodyAssignableTo and Message#getBody
methods
2023-02-16 18:03:14 -05:00
Christopher L. Shannon (cshannon) 2c69e30748 AMQ-7309 - Implement JMS 2.0 createSession methods
Adds a real implemention for createSession() and createSession(ackMode)
methods on ActiveMQConnection
2023-02-15 08:33:00 -05:00
Matt Pavlovich ed9631f02c
[AMQ-9058] Upgrade javacc-maven-plugin to 3.0.1 (#900) 2023-02-03 14:00:56 -06:00
Jean-Baptiste Onofré 9852cf1f49
Merge pull request #843 from stolsvik/main
AMQ-8617: RedeliveryPolicy:Exponential Backoff + NonBlockingRedelivery = too long delays
2022-11-22 08:55:43 +01:00
Christopher L. Shannon (cshannon) 9f9a35eb29 AMQ-9157 - Add missing dispatched advisory topic to getAllDestinationAdvisoryTopics() method in AdvisorySupport
Adds missing dispached advisory topics to getAllDestinationAvisoryTopics()
method in AdvisorySupport which is used to clean up on destination removal
and also a note about virtual destination consumer advisories
2022-11-17 14:39:42 -05:00
Christopher L. Shannon (cshannon) 39da75abdb AMQ-9157 - Add utility methods for dispatched advisory 2022-11-11 08:23:25 -05:00
Christopher L. Shannon (cshannon) 76f612600d AMQ-9157 - Add a new optional advisory for dispatched messages 2022-11-03 14:30:33 -04:00
Matt Pavlovich ead9533d53
[AMQ-8322] JMS2 Implementation - JMSContext, JMSProducer, JMSConsumer first pass (#729) 2022-09-02 08:21:11 -05:00
Enrico Olivelli a978eb5115 AMQ-9052: Selectors - improve perfomance of Equals and Not 2022-08-17 10:42:37 +02:00
Jean-Baptiste Onofré 7006570c1d
Merge pull request #842 from eolivelli/AMQ-8613
AMQ-8613 Improve performance of selectors with a big sequence of OR and AND logical expressions
2022-08-17 07:47:06 +02:00
Lucas Tétreault 7b3f13feda Clean up remaining Xalan references
Empty
2022-08-05 00:43:02 -07:00
Matt Pavlovich 680717cb95
[AMQ-8976] Add maxConnectionExceededCount metric for connectors (#850) 2022-07-18 16:20:25 -05:00
Enrico Olivelli 4b08978062 AMQ-8613 Improve performance of selectors with a big sequence of OR and AND logical expressions 2022-05-31 12:07:23 +02:00
Endre Stølsvik 393a696955 AMQ-8617: RedeliveryPolicy:Exponential Backoff + NonBlockingRedelivery = too long delays
Scenario on client:

1. Employing RedeliveryPolicy with exponential backoff (keeping maximum
redeliveries at default 6)
2. Enabled non-blocking redelivery
3. Receiving e.g. 100 consecutive poison messages (which eventually
should DLQ after max redeliveries)

This will result in massive redelivery delays due to a logic bug.

The reason is that redeliveryDelay is a field variable kept on the
ActiveMQMessageConsumer, instead of being a property on the message - or
that the redelivery delay was calculated per message based on the
redelivery count.

When consecutive messages rollbacks multiple times, the redeliveryDelay
field is continuously multiplied by the backoff multiplier, resulting in
enormous delays.

Fix: Ditch the field variable, instead calculating the redeliveryDelay
per delivery from the redelivery count. (This happens to be identical to
how it is done in afterRollback() in ActiveMQSession:1004.)

Test is added - which fails with the previous code, and passes with
this. Added a debug log line for the calculated delay.
2022-05-31 01:56:30 +02:00
Jean-Baptiste Onofré 0849ae0211 [AMQ-8518] Avoid NPE if path is null (at startup) 2022-04-18 16:52:46 +02:00
Christopher L. Shannon b93d58259c AMQ-8550 - Check for null keystore/truststore passwords
Inside ActiveMQSslConnectionFactory the passwords should be checked for
null so a NPE isn't thrown. Null will be passed to the factories instead
and the keystore/truststore factories will try and load the keystores
using null for the password which may or may not work depending on the
implementation and if password is set.
2022-04-05 12:17:14 -04:00
Jean-Baptiste Onofré e597017200
Merge pull request #662 from jbonofre/AMQ-7426
[AMQ-7426] Upgrade to log4j2
2022-02-27 13:23:53 +01:00
Matt Pavlovich 094dbc89f3
[AMQ-8515] FailoverTransport should handle MaxFrameSizeExceededException (#785) 2022-02-25 19:46:45 -06:00
jbonofre 472dcf8497 [AMQ-7426] Upgrade to log4j2 2022-02-24 15:20:51 +01:00
Matt Pavlovich 00925c1eff [AMQ-8493] Minor deprecation cleanups in activemq-client 2022-02-16 12:58:29 -06:00
Christopher L. Shannon (cshannon) 19949e36bc [AMQ-8412] - Add some comments for maxFrameSizeEnabled 2022-02-07 08:45:28 -05:00
Christopher L. Shannon (cshannon) 26a3c55833 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
2022-02-07 08:03:06 -05:00
Matt Pavlovich 67a2edbf0d [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
2022-02-06 17:45:11 -06:00
Matt Pavlovich 48d0fb1171 [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)
2022-01-26 09:49:42 -06:00
Jean-Baptiste Onofré de563e76ce
Merge pull request #738 from mattrpav/AMQ-8341
[AMQ-8341] Remove FTP Blob strategy
2022-01-15 07:01:25 +01:00
Matt Pavlovich 2e784d07be [AMQ-8341] Remove FTP Blob strategy
- Remove commons-net dependency
2022-01-12 11:05:43 -06:00
Matt Pavlovich bc9ff5a09f [AMQ-8443] Allow reconnect command to work 2022-01-12 11:05:17 -06:00
Jean-Baptiste Onofré c2e2c818b5 [AMQ-8445] Fix SSLParameters set in the SSL transport 2022-01-12 08:48:00 +01:00
Jean-Baptiste Onofré 18b231bf9f
Merge pull request #711 from jgallimore/AMQ-8275
AMQ-8275 - Java 16 SSL - reflection warning
2021-12-19 08:01:05 +01:00
Matt Pavlovich 67256c61b1
[AMQ-7309] Update to jakarta.jms/jakarta.jms-api:2.0.3 (#682)
- API update only
 - Throw UnsupportedOperationException
 - Disable activemq-camel from build
 - Formatting fixes
 - Use geronimo-jms for osgi-related artifacts
 - Fix features.xml invalid xml header
 - Add a unit test to confirm JMS 2.0 methods for phase 1 (throw UnsupportedOperationException)
 - Add deliveryTime field to Message
 - Minor formatting fixes
2021-11-10 11:56:04 -06:00
Jonathan Gallimore 34c4e186fe AMQ-8275 eliminate use of reflection for SNI on SslTransport 2021-09-14 12:53:35 +01:00
xingrufei dbbf3cb3f3 [AMQ-8350] ActiveMQMessage.getStringProperty() should exchange equals method call objects 2021-08-06 10:22:38 +08:00
dvhvsekhar 8584b46e76
AMQ-8304: Added a check with !isStopping() also before attempting to read input stream (#672) 2021-07-04 06:42:45 +02:00
Christopher L. Shannon (cshannon) 3f5abd4433 AMQ-6660 - Use a separate lock for lazy scheduler creation to prevent
deadlocks

Switch to using a dedicated lock to initialize the Scheduler object
inside of ActiveMQConnection to prevent a deadlock scenario that occurs
when using the intrinsic ActiveMQConnection lock. This is using double
checked locking so this lock will only be contended with during lazy
creation and then will rely on the volatile reference for future reads
and when stopping/closing.
2021-06-25 11:37:25 -04:00