Github user franz1981 commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/2427#discussion_r234906424
--- Diff:
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
---
@@ -578,34 +567,41 @@ public CoreMessage setUserID(UUID userID) {
/**
* I am keeping this synchronized as the decode of the Properties is
lazy
*/
- protected TypedProperties checkProperties() {
+ protected final TypedProperties getOrCreateProperties() {
--- End diff --
The reason why I haven't done it is due to `ClientMessageImpl extends
CoreMessage implements ClientMessageInternal`: `ClientMessageInternal` has
already a `geProperties` method while `CoreMessage::getProperties` has been
turned into final...
I can drop the final just to have a better name, but I would prefer to keep
it final to avoid any child of `CoreMessage` to broke its thread-safeness
contract by overriding it.
---