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
estimatedSizeparameter 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
BeanPropertyStoreclass that handles creation of BeanContext objects. This allowsBeanContextobjects 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
DefaultRestClientclass 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
Share feedback or follow-up questions for this page directly through GitHub.