activemq-artemis/artemis-protocols
Francesco Nigro b5fa5ed3b7 ARTEMIS-1656 OpenWire scalability improvements
OpenWireFormat instances are shared between OpenWire connections/sessions/consumers, preventing the clients to scale due to the synchronized marshal/unmarshal on it.

It includes:
- direct transport buffer pooling
- groupId SimpleString pooling
- clientId SimpleString pooling
- reduced ActiveMQDestination[] and AtomicLong allocations on AMQSession:send
- reduced ActiveMQDestination allocations
- refactored shouldBlockProducer path of AMQPSession::send to reduce method size
- exclusive OpenWireFormat per session and connection (in/out) to avoid contention
- refactored trace log to favour inlining
- changed lastSent volatile set into lazy set to avoid full barrier cost on x86
- stateless OpenWireMessageConverter
- send's lock removal thanks to thread-safe NettyConnection
2018-02-27 20:41:24 +08:00
..
artemis-amqp-protocol ARTEMIS-1675 Adding --safe option on print-data 2018-02-12 16:01:09 -05:00
artemis-hornetq-protocol ARTEMIS-1644 legacy clients can't access resources with old prefixes 2018-01-31 18:13:29 -05:00
artemis-hqclient-protocol ARTEMIS-853 Support for exclusive consumers 2018-02-07 15:27:29 +00:00
artemis-mqtt-protocol ARTEMIS-1685 Set MQTT connection clientID before session creation 2018-02-20 23:54:08 -05:00
artemis-openwire-protocol ARTEMIS-1656 OpenWire scalability improvements 2018-02-27 20:41:24 +08:00
artemis-stomp-protocol ARTEMIS-1695 - Improve STOMP compatiblity with 5.x clients 2018-02-22 16:22:40 -05:00
pom.xml [maven-release-plugin] prepare for next development iteration 2017-11-01 00:38:57 -05:00