Github user michaelandrepearce commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1752#discussion_r160011868
  
    --- Diff: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/ServerPacketDecoder.java
 ---
    @@ -83,16 +85,34 @@
     
     public class ServerPacketDecoder extends ClientPacketDecoder {
     
    +   private static final int UUID_LENGTH = 36;
    +   private static final int DEFAULT_INTERNER_CAPACITY = 32;
        private static final long serialVersionUID = 3348673114388400766L;
    -   public static final ServerPacketDecoder INSTANCE = new 
ServerPacketDecoder();
    +   private SimpleString.Interner keysInterner;
    +   private TypedProperties.StringValue.Interner valuesInterner;
     
    -   private static SessionSendMessage decodeSessionSendMessage(final 
ActiveMQBuffer in, CoreRemotingConnection connection) {
    +   public ServerPacketDecoder() {
    +      this.keysInterner = null;
    +      this.valuesInterner = null;
    +   }
    +
    +   private void initializeInternersIfNeeded() {
    --- End diff --
    
    I still think a global interning solution will be more beneficial 
especially with the other protocols that don't use SimpleString, but more use 
String then convert to SimpleString to keep ICoreMessage interface, but this 
will have same impact (especially in multi protocol broker env like with 
clients on AMQP and CORE).
    
    
    



---

Reply via email to