Release 5.1.0.8
Date: Oct 25, 2014
Juno 5.1.0.8 is a moderate update, focused primarily on performance improvements.
-
Improved performance on JSON and URL-Encoding parsers by approximately 50% on large data sets.
- Rewrote ParserReader class to handle it's own buffering. The change allowed several optimizations to be made when dealing with JSON and URL-Encoding text by avoiding char array copies.
- Added a
estimatedSize
parameter to the Parser parse methods to optimize buffering when the input size is known beforehand.
-
Revamped the BeanContext API to perform better in multi-threaded environments.
- Introduced a new
BeanPropertyStore
class that handles creation of BeanContext objects. This allowsBeanContext
objects to be considered immutable, and therefore cacheable/reusable by the framework. While this was technically possible to cache these objects beforehand, it relied on a locking mechanism to prevent bean contexts from being modified after being created. The new mechanism is much more straightforward.
- Introduced a new
-
Modifications to the
clientAPIs to make it easier to work with custom Apache HTTP clients.- Added overridable
RestClient.createHttpClient()to allow customized subclasses to construct customized HTTP clients. - Removed the
DefaultRestClient
class since it's now fully redundant withRestClient
. - Added
RestClient.shutdown()
method for cleaning up the internal HTTP client when you're done using a REST client.
- Added overridable