Enforce provider-only JMSX properties under strictCompliance#1853
Enforce provider-only JMSX properties under strictCompliance#1853pradeep85841 wants to merge 3 commits intoapache:mainfrom
Conversation
pradeep85841
commented
Mar 28, 2026
- Throws a MessageNotWriteableException if a client attempts to set JMSXDeliveryCount, JMSXRcvTimestamp, JMSXState, JMSXProducerTXID, or JMSXConsumerTXID.
- Client-set properties (like JMSXGroupID and JMSXGroupSeq) are completely bypassed and function normally.
- Added StrictComplianceProviderJMSXPropertyTest using an embedded BrokerService to explicitly verify both strict and legacy behaviors.
|
Hi @jbonofre, just a quick ping on this! The changes are pushed with JMSException and the corrected imports. Let me know if anything else is needed |
|
@pradeep85841 thanks ! Let me do a new pass. |
|
Updated the "Wait.waitFor" condition in "testNetworkAdvancedStatistics". The test now waits for the broker to finish updating its background metrics (like enqueues and dequeues) before doing the final checks. |
|
Hi @jbonofre , just checking in! Both the main PR updates (exception/imports) and the fix for the flaky CI test are pushed. Let me know if you can kick off the CI checks again! |
| // Strict Compliance Check For Provider-Set JMSX Properties | ||
| ActiveMQConnection conn = getConnection(); | ||
| if (conn != null && conn.isStrictCompliance()) { | ||
| if ("JMSXDeliveryCount".equals(name) || |
There was a problem hiding this comment.
I think a constant final public static set would make more sense here vs each property listed out by string name.
|
Is the network metrics fix commit already merged? That should probably be a separate PR that can be merged quickly |