LibraryActive

Spring Cloud Function

Spring project that promotes business logic via functions and runs the same code on serverless providers or standalone.

Open source page ↗

Field note

What it does

Spring Cloud Function abstracts transport and infrastructure details, supporting a uniform programming model across serverless providers and standalone execution.

Capabilities

Available capabilities

Tags

Tags

Ways to use it

Ways to use it

sdk

Java / Not filed

sdk

Java / Not filed

sdk

java / spring-boot-starter-actuator

sdk

Not filed / Not filed

sdk

java / spring-cloud-function-adapter-gcp

cli

Not filed / Not filed

other

java / function-maven-plugin

other

Not filed / Not filed

mcp

Not filed / Not filed

sdk

java / spring-cloud-function-adapter-azure

sdk

java / spring-cloud-function-web

sdk

java / spring-cloud-starter-function-web

Product features

Product features

Actuator Function Visualization

Visualize available functions via Actuator endpoints.

AWS Lambda Adapter

Converts a Spring Cloud Function app into a form that can run in AWS Lambda.

Azure Adapter

Provides Spring and Spring Cloud Function integration for Azure Functions.

Azure Web Adapter

Deploys any Spring Web application as an Azure HttpTrigger function.

Component Scanning

Since version 3.1.4, functional classes in package functions are auto-discovered.

Container Image Deployment

Deploy Lambda functions as container images.

Custom HTTP Status Code

Functions can set a custom HTTP response code via FunctionInvoker.HTTP_STATUS_CODE.

Custom Runtime

Supports AWS Lambda custom runtime deployment.

Deployer Library

Launch a jar file with an isolated class loader and expose the functions defined in it.

Deploying a packaged function

Deploy a packaged function to supported platforms.

Deploying a Packaged Function

Guidance on deploying a packaged function.

Filtering ineligible functions

Default filtering of beans not intended as FunctionCatalog candidates.

Function Catalog

Transforms user-defined functions into a canonical representation for a consistent execution model.

Function Class Property

spring.cloud.function.function-class lists several classes delimited by semicolons.

Function definition property

Declare functions via spring.cloud.function.definition.

Function Filtering rules

Use spring.cloud.function.definition to export only listed functions delimited by semicolons.

FunctionInvoker Handler

Built-in org.springframework.cloud.function.adapter.aws.FunctionInvoker handler for streamlined AWS Lambda integration.

Function Location Config

spring.cloud.function.location provides a URL or resource location for the archive containing the functions.

Function Mapping rules

Single functions map to root path; composite functions use pipes or commas.

Functional Bean Definitions

Define beans using functional style instead of annotations.

Functional beans

Supplier, Function and Consumer beans are lazily registered with FunctionCatalog.

FunctionalSpringApplication

Subclass of Spring Boot's SpringApplication used for functional bean apps.

FunctionRegistration

Wrapper containing the function and its input/output type information.

GCP Adapter

spring-cloud-function-adapter-gcp enables apps to run on Google Cloud Functions.

GraalVM Native Image

Performance considerations and support for GraalVM native image builds.

Http Headers propagation

Message headers map to HTTP headers for Message-typed functions.

HTTP Request Parameters

Request parameters stored in Message headers under http_request_param key.

Isolated classloader deployment

Deploy a JAR with an isolated classloader so applications can share a single JVM.

Kotlin Lambda support

Support for Kotlin lambda functions.

Local Run

Run functions locally via mvn function:run using the Google Functions Framework.

Maven Prefix Lookup

An optional maven: prefix locates the artifact via dependency lookup.

Message converters

Provided and user-defined MessageConverters for content-type negotiation.

Reactive functions with multiple inputs and outputs

Support for reactive functions with multiple inputs and outputs for merging and joining.

Platform-specific packaging

Packaging functions for deployments specific to the target platform.

Programming Model

Uniform function-based programming model for Spring applications.

Reactive, imperative or hybrid styles

Choice of programming styles including reactive, imperative or hybrid.

Serverless provider adapters

Adapters for AWS Lambda, Azure, Google Cloud Functions and possibly others.

Serverless Platform Adapters

Adapters to deploy functions to serverless platforms.

Spring Boot JAR Support

Supports Spring Boot JAR packaging with no version conflict with the deployer's Spring Boot.

Spring Framework Documentation

Standalone Streaming Applications

Send or receive messages from a broker such as RabbitMQ or Kafka via spring-cloud-stream.

Standalone Web Applications

Deploy a packaged function as a standalone web application.