gemmellr commented on a change in pull request #30: QPIDJMS-461 Optimize the default message ID builder URL: https://github.com/apache/qpid-jms/pull/30#discussion_r294693257
########## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageIDBuilder.java ########## @@ -30,15 +30,34 @@ DEFAULT { @Override public JmsMessageIDBuilder createBuilder() { + + /** + * The default builder is meant to be used as a single instance per producer + * and will yield incorrect results if used across multiple producer instances. + */ return new JmsMessageIDBuilder() { + private final StringBuilder builder = new StringBuilder(); + private int idPrefixLength = 0; + @Override public Object createMessageID(String producerId, long messageSequence) { - String messageId = producerId + "-" + messageSequence; - if (!AmqpMessageIdHelper.hasMessageIdPrefix(messageId)) { - messageId = AmqpMessageIdHelper.JMS_ID_PREFIX + messageId; + builder.setLength(idPrefixLength); Review comment: Should perhaps verify that it was actually initialised, and if not then throw or do so now? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org