Add @FunctionalSpringBootTest and mini web server

User can run a minimal HTTP app using an app that is a Function
or an ApplicationContextInitializer. Can also test using
@FunctionalSpringBootTest in place of @SpringBootTest.

Add some tests and documentation for functional beans

Make server.address configurable
This commit is contained in:
Dave Syer
2018-10-18 16:06:50 +01:00
committed by Oleg Zhurakousky
parent 4315cb1d61
commit ba34d4b81b
16 changed files with 703 additions and 22 deletions

View File

@@ -136,6 +136,10 @@ Spring Cloud Function provides a "deployer" library that allows you to launch a
The standard entry point of the API is the Spring configuration annotation `@EnableFunctionDeployer`. If that is used in a Spring Boot application the deployer kicks in and looks for some configuration to tell it where to find the function jar. At a minimum the user has to provide a `function.location` which is a URL or resource location for the archive containing the functions. It can optionally use a `maven:` prefix to locate the artifact via a dependency lookup (see `FunctionProperties` for complete details). A Spring Boot application is bootstrapped from the jar file, using the `MANIFEST.MF` to locate a start class, so that a standard Spring Boot fat jar works well, for example. If the target jar can be launched successfully then the result is a function registered in the main application's `FunctionCatalog`. The registered function can be applied by code in the main application, even though it was created in an isolated class loader (by deault).
== Functional Bean Definitions
include::functional.adoc[leveloffset=+1]
== Dynamic Compilation
There is a sample app that uses the function compiler to create a