AWS Launches a Developer Preview of the Updated Java SDK

Amazon Web Services Inc. (AWS), has released a developer preview for its Java SDK. It is based on Java 8.
The AWS SDK Java 2.0 preview is now available on the GitHub sourcecode repository.
Developer feedback is invited for a variety of modifications that result from a code overhaul, including new features and API changes.
Yesterday’s blog post by Jeff Barr, AWS spokesperson, stated that this version was a major rewrite to the older 1.11.x codebase. The new SDK is built on Java 8 and focuses on consistency, immutability, and ease-of-use. It also includes frequently requested features like support for nonblocking I/O, and the ability to choose the HTTP implementation you prefer at runtime.
These “frequently requested” features were identified in the company’s developer feedback mechanisms. The company prefers opening issues on the V2 GitHub repo. A Gitter chat channel for the V2 repo is also available for feedback, and developers can also provide e-mail input via the aws-java-sdk-v2-feedba[email protected] mailing list.
Andrew Shore provided additional details on the non-blocking I/O functionality as well as other changes in a blog post on the company’s developer site.
Shore stated that the SDK now supports truly nonblocking I/O. Shore stated that the 1.11.x SDK already supports async versions of service clients. They are a wrapper for a thread pool, and the blocking sync clients, so they don’t offer the benefits of nonblocking 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. To make the non-blocking HTTP calls, we use an HTTP client that is built on top Netty.
He also described the new pluggable HTTP Layer that allows developers to choose their own HTTP implementation, rather than the default Apache HTTP client — which is optimized for their specific runtime environments.
He also explained the inner workings and implications of several API changes. These include: client builders, which are now the only way for service clients to be created; immutable POJOs (plain-old Java objects) that were previously mutable. Shore claimed that this violated the thread safety guarantee of the client; simplifications of regions with a single region class; significant changes to streaming operations; and many more.
Shore promised to give more details about the company’s support for Java SDK 1.x and encouraged developers to share their feedback.
He said, “The Developer Preview gives you the chance to influence the direction for the AWS SDK Java 2.0.” Tell us what you like and what you don’t. We value your feedback.