GGH-431 Fixed discovery of a start class

- Ensured that FunctionClassUtils performs additional check to ensure that located star class is SpringBootApplication
- Added additional lookup to look for Main-Class if nothing was found in Start-Class primarily to support Azure
- Updated Azure samples
- Updated documentation

Resolves #431
This commit is contained in:
Oleg Zhurakousky
2019-12-12 15:03:48 +01:00
parent 12f4260271
commit 0f38ea47b8
6 changed files with 30 additions and 32 deletions

View File

@@ -25,10 +25,9 @@
<functionAppName>function-sample-azure</functionAppName>
<functionAppRegion>westus</functionAppRegion>
<functionResourceGroup>java-function-group</functionResourceGroup>
<stagingDirectory>${project.build.directory}/azure-functions/${functionAppName}
</stagingDirectory>
<stagingDirectory>${project.build.directory}/azure-functions/${functionAppName}</stagingDirectory>
<start-class>example.Config</start-class>
<wrapper.version>1.0.15.RELEASE</wrapper.version>
<wrapper.version>1.0.23.RELEASE</wrapper.version>
</properties>
<dependencies>
@@ -55,7 +54,7 @@
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-dependencies</artifactId>
<version>2.2.0.BUILD-SNAPSHOT</version>
<version>3.0.1.BUILD-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
@@ -92,7 +91,7 @@
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-functions-maven-plugin</artifactId>
<version>1.0.0-beta-7</version>
<version>1.3.4</version>
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>

View File

@@ -1,3 +1,4 @@
{
"functionTimeout": "00:10:00"
"functionTimeout": "00:05:00",
"version": "2.0"
}

View File

@@ -22,7 +22,6 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
// @checkstyle:off
@SpringBootApplication
public class Config {
@@ -36,7 +35,6 @@ public class Config {
}
}
// @checkstyle:on
class Foo {

View File

@@ -18,10 +18,13 @@ package example;
import com.microsoft.azure.functions.ExecutionContext;
import com.microsoft.azure.functions.HttpMethod;
import com.microsoft.azure.functions.HttpRequestMessage;
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
import com.microsoft.azure.functions.annotation.FunctionName;
import com.microsoft.azure.functions.annotation.HttpTrigger;
import java.util.Optional;
import org.springframework.cloud.function.adapter.azure.AzureSpringBootRequestHandler;
/**
@@ -30,11 +33,10 @@ import org.springframework.cloud.function.adapter.azure.AzureSpringBootRequestHa
public class FooHandler extends AzureSpringBootRequestHandler<Foo, Bar> {
@FunctionName("uppercase")
public Bar execute(
@HttpTrigger(name = "req", methods = {HttpMethod.GET,
HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) Foo foo,
public Bar execute(@HttpTrigger(name = "req", methods = {HttpMethod.GET,
HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<Foo>> request,
ExecutionContext context) {
return handleRequest(foo, context);
return handleRequest(request.getBody().get(), context);
}
}