This article is more than 1 year old
Devs to pour Java into Amazon's cloud after AWS Lambda update
Event-driven model not just for JavaScript anymore
Amazon Web Services has expanded its AWS Lambda programming model to support functions written in Java, the cloud kingpin said on Monday.
Lambda, which allows developers to run event-driven code directly on Amazon's cloud without managing any application infrastructure, launched in November 2014 and initially only supported code written in JavaScript and Node.js.
With Monday's update, developers can now write their event handlers in Java 8, provided they code them in a stateless style that doesn't make any assumptions about the underlying infrastructure.
"We have had many requests for this and the team is thrilled to be able to respond," AWS chief evangelist Jeff Barr said in a blog post.
AWS Lambda functions can be invoked automatically whenever a variety of events take place in Amazon's cloud. So, for example, you could set a function to be triggered whenever a certain Amazon Simple Storage Service (S3) storage bucket is modified, or to watch for events from the Kinesis data-processing service.
Lambda functions can also be used as back ends for mobile applications that store data on the AWS cloud.
Lambda functions written in Java can use any Java 8 features and can even invoke Java libraries. The handler code and any necessary JAR files are bundled up into a JAR or ZIP file for deployment on AWS.
To make life easier for developers, Amazon has released AWS Toolkit plugin for Eclipse that takes care of packaging and uploading handlers.
It has also released two libraries as part of the AWS SDK for Java to help eliminate some of the grunt work. One provides interfaces for handler objects, while the other provides prepackaged type definitions for AWS event sources, including S3, Amazon Simple Notification Service (SNS), DynamoDB, Kinesis, and Cognito.
Developers can start writing Lambda functions in Java beginning on Monday, and still more updates are on the way.
"This is the first in a series of additional language options that we plan to make available to Lambda developers," Barr said, though he gave no hint as to which language(s) might be next to arrive on the platform. ®