[英]Spring cloud function in azure throws null pointer exception
我已將 Spring Cloud 功能部署到 azure 功能應用程序。API 在本地開發人員機器上運行良好。 而當部署到天藍色時,從郵遞員/客戶端調用時會引發空指針異常。 Java 運行時版本:11 功能擴展版本:~3
2022-02-25T10:14:10.644 [Information] 2022-02-25 10:14:10.629 ERROR 2880 --- [pool-2-thread-1] : Error null
2022-02-25T10:14:10.645 [Information] java.lang.NullPointerException
2022-02-25T10:14:10.645 [Information] at org.springframework.cloud.function.adapter.azure.FunctionInvoker.handleRequest(FunctionInvoker.java:129)
2022-02-25T10:14:10.645 [Information] at ProductController.getProduct(ProductController.java:53)
下面是引發異常的產品控制器的片段。
@FunctionName("getProduct")
public HttpResponseMessage getProduct(@HttpTrigger(name = "getRequest", methods = {
HttpMethod.GET }, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<String> getProductRequest,
ExecutionContext context) {
ProductRequestDTO productRequestDTO = new ProductRequestDTO();
try {
String id = getProductRequest.getQueryParameters().get("id");
if (id != null) {
log.info("Request Received for id: " + id);
productRequestDTO.setId(id);
}
return getProductRequest.createResponseBuilder(HttpStatus.OK).body(handleRequest(productRequestDTO,context)).build();
}
catch (NullPointerException e) {
l
log.error("Error " + e.getMessage());
return getProductRequest.createResponseBuilder(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
pom.xml
=============
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<azure.functions.maven.plugin.version>1.14.2</azure.functions.maven.plugin.version>
<azure.functions.java.library.version>1.4.2</azure.functions.java.library.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-adapter-azur
e</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-function-webflux</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
java.lang.NullPointerException
。NullPointerException
異常,因此返回的地址為null。 如果您在沒有首先確定問題情況的情況下引用這個不存在的實例地址,則會引發此異常。請參閱這些鏈接以獲取更多信息。
我們遇到了類似的問題,並通過更新 Function Extension Version: ~4 和一些其他依賴版本來解決它,如下所示
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-function-dependencies</artifactId>
<version>3.2.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library</artifactId>
<version>${azure.functions.java.library.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-functions-maven-plugin</artifactId>
<version>${azure.functions.maven.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.3.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
</plugin>
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>4.1.5</version>
</plugin>
</plugins>
</pluginManagement>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.