| <!-- |
| /*************************************************************************************************************************** |
| * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations under the License. |
| ***************************************************************************************************************************/ |
| --> |
| |
| 5.1.0.8 (Oct 25, 2014) |
| |
| <p> |
| Juno 5.1.0.8 is a moderate update, focused primarily on performance improvements. |
| </p> |
| <ul class='spaced-list'> |
| <li>Improved performance on JSON and URL-Encoding parsers by approximately 50% on large data sets. |
| <ul> |
| <li>Rewrote {@link oaj.parser.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. |
| <li>Added a <c>estimatedSize</c> parameter to the {@link oaj.parser.Parser} parse methods to |
| optimize buffering when the input size is known beforehand. |
| </ul> |
| </li> |
| <li>Revamped the {@link oaj.BeanContext} API to perform better in multi-threaded environments. |
| <ul> |
| <li>Introduced a new <c>BeanPropertyStore</c> class that handles creation of {@link oaj.BeanContext} objects. |
| This allows <c>BeanContext</c> 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. |
| </ul> |
| </li> |
| <li>Modifications to the <del>org.apache.juneau.rest.client</del> APIs to make it easier to work with custom Apache HTTP clients. |
| <ul> |
| <li>Added overridable <dc>RestClient#createHttpClient()</dc> to allow customized subclasses to construct customized HTTP clients. |
| <li>Removed the <c>DefaultRestClient</c> class since it's now fully redundant with <c>RestClient</c>. |
| <li>Added <c>RestClient.shutdown()</c> method for cleaning up the internal HTTP client when you're done using a REST client. |
| </ul> |
| </li> |
| </ul> |