This closes #1757 ARTEMIS-1586 Reduce GC pressure due to String allocations on Core protocol
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/9fb8c3c4 Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/9fb8c3c4 Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/9fb8c3c4 Branch: refs/heads/master Commit: 9fb8c3c470eb9a27fccf286314f5083082c4ba89 Parents: 00bd989 a3c4181 Author: Michael Pearce <michael.andre.pea...@me.com> Authored: Wed Jan 17 09:33:42 2018 +0100 Committer: Michael Pearce <michael.andre.pea...@me.com> Committed: Wed Jan 17 09:33:42 2018 +0100 ---------------------------------------------------------------------- .../activemq/artemis/api/core/SimpleString.java | 121 ++++++++++++-- .../artemis/utils/AbstractByteBufPool.java | 164 +++++++++++++++++++ .../activemq/artemis/utils/AbstractPool.java | 89 ++++++++++ .../apache/activemq/artemis/utils/ByteUtil.java | 122 ++++++++++++++ .../utils/collections/TypedProperties.java | 110 ++++++++++++- .../artemis/utils/TypedPropertiesTest.java | 29 ++++ .../activemq/artemis/api/core/Message.java | 6 + .../core/client/impl/ClientMessageImpl.java | 23 ++- .../core/client/impl/ClientSessionImpl.java | 5 +- .../artemis/core/message/impl/CoreMessage.java | 91 ++++++---- .../message/impl/CoreMessageObjectPools.java | 55 +++++++ .../core/protocol/ClientPacketDecoder.java | 7 +- .../impl/ActiveMQClientProtocolManager.java | 6 +- .../activemq/artemis/reader/MessageUtil.java | 10 +- .../artemis/message/CoreMessageTest.java | 2 +- .../artemis/jms/client/ActiveMQDestination.java | 20 ++- .../artemis/jms/client/ActiveMQMessage.java | 55 ++++--- .../artemis/jms/client/ActiveMQQueue.java | 8 +- .../artemis/jms/client/ActiveMQSession.java | 6 +- .../jms/client/ActiveMQStreamMessage.java | 2 +- .../artemis/jms/client/ActiveMQTopic.java | 8 +- .../protocol/amqp/broker/AMQPMessage.java | 74 ++++++--- .../amqp/broker/AMQPSessionCallback.java | 105 ++++++------ .../protocol/amqp/converter/AMQPConverter.java | 5 +- .../amqp/converter/AMQPMessageSupport.java | 49 +++--- .../amqp/converter/AmqpCoreConverter.java | 37 +++-- .../proton/ProtonServerReceiverContext.java | 16 +- .../amqp/proton/ProtonServerSenderContext.java | 54 +++--- .../JMSMappingOutboundTransformerTest.java | 4 +- .../artemis/core/protocol/mqtt/MQTTSession.java | 8 +- .../core/protocol/mqtt/MQTTSessionCallback.java | 2 +- .../artemis/core/protocol/mqtt/MQTTUtil.java | 19 ++- .../protocol/openwire/OpenWireConnection.java | 2 +- .../openwire/OpenWireMessageConverter.java | 8 +- .../core/protocol/openwire/OpenwireMessage.java | 11 ++ .../core/protocol/openwire/amq/AMQConsumer.java | 2 +- .../core/protocol/openwire/amq/AMQSession.java | 11 +- .../core/protocol/stomp/StompSession.java | 2 +- .../ra/inflow/ActiveMQMessageHandler.java | 2 +- .../core/protocol/ServerPacketDecoder.java | 8 +- .../protocol/core/impl/CoreProtocolManager.java | 2 +- .../protocol/core/impl/CoreSessionCallback.java | 11 +- ...ctiveMQServerSideProtocolManagerFactory.java | 4 +- .../core/server/impl/ServerConsumerImpl.java | 2 +- .../spi/core/protocol/MessageConverter.java | 3 +- .../spi/core/protocol/SessionCallback.java | 2 +- .../impl/ScheduledDeliveryHandlerTest.java | 11 ++ .../artemis/tests/util/SimpleStringTest.java | 49 ++++++ .../integration/client/AcknowledgeTest.java | 11 ++ .../integration/client/HangConsumerTest.java | 2 +- .../persistence/XmlImportExportTest.java | 2 +- 51 files changed, 1157 insertions(+), 300 deletions(-) ----------------------------------------------------------------------