AWS Launches Developer Preview of Updated Java SDK
Amazon Web Services Inc. (AWS) has launched a developer preview of its updated Java SDK, built on Java 8.
The new AWS SDK for Java 2.0 preview is now up on the GitHub source code repository.
The preview is offered to solicit developer feedback for a host of modifications resulting from a code revamp, including new features that have been introduced and a number of API changes.
"This version is a major rewrite of the older, 1.11.x codebase," AWS spokesperson Jeff Barr said in a blog post yesterday. "Built on top of Java 8 with a focus on consistency, immutability and ease of use, the new SDK includes frequently requested features such as support for non-blocking I/O and the ability to choose the desired HTTP implementation at runtime."
Those "frequently requested features" were identified in the company's developer feedback mechanisms, of which opening issues on the aforementioned V2 GitHub repo is preferred by the company. A Gitter chat channel for the V2 repo is also available for feedback, and developers can also provide e-mail input via the firstname.lastname@example.org mailing list.
Andrew Shore provided more details about the non-blocking I/O functionality and other changes in his own blog post on the company's developer site.
"The SDK now supports truly non-blocking I/O," Shore said. "The 1.11.x version of the SDK already has async variants of service clients. However, they are just a wrapper around a thread pool and the blocking sync client, so they don't provide the benefits of non-blocking I/O (high concurrency with very few threads).
"Due to the limitations and poor resource use of the thread-per-connection model, many customers requested support for non-blocking I/O, so we are pleased to announce first class support for non-blocking I/O in our async clients. Under the hood, we use an HTTP client built on top of Netty to make the non-blocking HTTP call."
He also detailed the new pluggable HTTP layer that lets developers choose their own HTTP implementation -- rather than the default Apache HTTP client -- optimized for their particular runtime environments.
Furthermore, he explained the inner workings of several API changes concerning: client builders, now the only way to create service clients; immutable POJOs (plain old Java objects) that previously were mutable, which Shore said violated the thread safety guarantees of the client; simplification of regions with a single Region class; substantial changes to streaming operations; and more.
Shore also promised more details to come on the company continuing to support the 1.x line of the Java SDK, and entreated developers to provide feedback on the new changes.
"The Developer Preview is your chance to influence the direction of the AWS SDK for Java 2.0," he said. "Tell us what you like, tell us what you don't like. Your feedback matters to us. "
David Ramel is an editor and writer for Converge360.