问题标签 [spring-cloud-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6205 浏览

spring-cloud-stream - Spring Cloud Stream 多个函数定义

spring.cloud.function是否可以使用具有多个单独功能/绑定的功能 () 样式的反应式 SCS 应用程序?我发现的所有示例总是只注册一个具有默认绑定的功能 bean input, output。我想注册多个,每个都有自己的绑定。

传统上,这可以使用来完成,spring-cloud-stream-reactive但现在不推荐使用它以支持功能支持。

0 投票
1 回答
1039 浏览

java - 如何在 Azure 中使用多个端点编写 Spring Cloud Function?

我正在尝试使用 Spring Cloud 创建 2 个 Azure Functions,但无法使其工作。

使用上面的代码依赖于,它在调用和端点时spring-cloud-function-dependencies 2.0.1.RELEASE总是命中。firstFunction BeanfirstFunctionsecondFunction

在进行了一些谷歌搜索后,我发现了这个建议移至2.1.

但是,当我尝试更改为时2.1.1.RELEASE,我遇到了一个无法找到主类的异常:

需要一些关于我做错了什么的帮助。

0 投票
1 回答
2518 浏览

spring-boot - 带有弹簧启动的云卡夫卡给了我错误

嘿,我按照分步指南在 Spring Boot 中设置 kafka。

但现在我无法启动应用程序。有什么建议么 :)

日志中的错误:

spring.cloud.function.definition 是什么?以及如何设置?原因:java.lang.IllegalArgumentException:在 BeanFactory 中找到多个函数:[persistentEntities,resourceMappings]。考虑提供“spring.cloud.function.definition”属性。

0 投票
1 回答
1076 浏览

kotlin - Spring Cloud Stream/Function:不使用 Java Function/BiFunction 的 Kotlin lambdas

我有一个使用 Spring Boot 编写的 Kafka 流处理应用程序,使用spring-cloud-functionspring-cloud-stream-binder-kafka-streams. 处理几个流的方法用 注释,因此它应该被(而不是使用)@Bean拾取。当此方法返回 a时,它可以工作。但是当我将它作为普通的 Kotlin lambda 进行尝试时,Spring Boot 并没有发现它:应用程序启动然后立即结束,因为它没有找到要运行的函数。spring-cloud-function@StreamListenerBiFunction

从我在文档中可以看到,这应该可行。

这是有效的声明:

这是不起作用的声明

(两种情况下方法的内容都是一样的。)

根据文档,我已将spring-cloud-function-kotlin模块添加到类路径中,方法是将其添加到build.gradle.kts

Spring Cloud Stream 的版本是Hoxton.RC1.

我还需要做些什么来获取该功能吗?还是我需要BiFunction在这种情况下使用?

0 投票
1 回答
73 浏览

spring-kafka - Kafkalistener 作为无服务器或功能

我们有一个 Kafka 监听器从主题中消费消息。我们想让这个 bean 成为函数式的,这样当负载很重时,我们可以使用无服务器架构启动多个函数实例。谁能告诉我正确的方向

0 投票
2 回答
2438 浏览

java - 函数运行时无法启动 - 无法加载类型“Microsoft.Azure.ServiceBus.Management.ManagementClient”

我部署了基于 Java 的 Azure Functions 的新版本。现在,Azure 门户中我的 Azure Function 资源下的特定函数中出现以下错误:

对我来说听起来有点像:https ://github.com/Azure/azure-functions-host/issues/3363

有趣的是,在上次部署之前,除了一些小的 Java 代码更改之外,我什么也没做。Function App 版本是否自动更新?

我还通过 kudu 和日志流(应用程序日志)检查了日志。

日志:

日志流式传输:

与通过 kudu 的日志文件中相同的日志

你知道它为什么停止工作吗?老实说,我没有计划。服务总线的任何配置是否触发了更改?

在 Azure 门户中查看解决方案对于生产中的问题,请在打开错误之前在 Azure 门户中查看常见问题的解决方案。在 Azure 门户中,导航到您的函数应用 => 平台功能 => 诊断和解决问题以及相关仪表板,然后再打开您的问题。

调查信息 请提供以下信息:

时间戳:2019-12-02T18:21:46.680Z 函数应用程序版本(1.0 或 2.0):2.0.12888.0 (~2) 函数应用程序名称:functionapp-dtw-worker-dp-master 应用程序设置:FUNCTIONS_WORKER_RUNTIME:java 函数名称( s)(视情况而定):serviceBusProcessor 会话 ID:a9f3c42dbb524ceca2c5158df9460c97 地区:西欧 相关信息 提供任何相关信息

使用的编程语言:Java with Spring Boot、Spring Cloud Functions 使用的源绑定链接:ServiceBusTrigger、TimeTrigger

补充:我从这里将 .NET Core 版本等本地依赖项更新为最新的 v2.2.8:https ://dotnet.microsoft.com/download/dotnet-core/2.2

更新不会更改错误消息。当我使用 maven 插件“azure-functions-maven-plugin”版本 1.3.4 在本地启动该函数时,我得到了相同的错误异常,如下所示:

GitHub 问题报告:https ://github.com/Azure/azure-functions-host/issues/5317

您对解决这些问题有什么建议吗?

0 投票
2 回答
2253 浏览

java - 是否可以针对特定方法禁用 spring-cloud-stream 的功能绑定?

我有一个创建PersistentEntitiesbean 的基于 Spring Boot 的库(使用 spring-data-mongo)。PersistentEntities碰巧实现了Supplier<T>接口,所以 Spring Cloud Stream 功能绑定器正在创建一个绑定到它。更具体地说,BeanFactoryAwareFunctionRegistry.discoverDefaultDefinitionIfNecessary发现它是一个 bean 类型Supplier

我们正在使用 Spring Cloud Streams Kafka binder,因此 Spring 尝试将这些对象中的每一个发布到它创建的 Kafka 主题。这会在 JSON 序列化程序中导致无限递归问题:

2019-12-04 15:36:54.323 错误 1 ​​--- [scheduling-1] osihLoggingHandler:org.springframework.messaging.MessagingException:调用方法失败;嵌套异常是 org.springframework.messaging.converter.MessageConversionException:无法写入 JSON:无限递归(StackOverflowError)(通过引用链:org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity["idProperty"] -> org. springframework.data.mongodb.core.mapping.CachingMongoPersistentProperty["owner"] -> org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity["idProperty"] -> org.springframework.data.mongodb.core.mapping。 CachingMongoPersistentProperty["owner"] -> org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity["idProperty"] ->

有没有办法将我的 bean 从函数绑定中排除?使用这个库的项目没有使用 Spring Cloud Function,但我更愿意保持这种可能性。

作为参考,我的 bean 定义为:

我们刚刚将 Spring Cloud 从 Greenwich 升级到了 Hoxton,所以自动功能绑定对我们来说是新的。

0 投票
1 回答
1589 浏览

spring-boot - 了解自定义处理程序和 SpringBootApiGatewayRequestHandler 之间的区别

我是 Spring Cloud Function 的新手,并将其视为开发基于 FaaS 的解决方案的最佳解决方案之一。我正在专门为 API Gateway 后端的 AWS Lambda 服务编写应用程序。我的测试应用程序遇到了一个非常有趣的问题,它在处理程序周围。我的测试应用程序与编写为的自定义处理程序配合得很好 -

在 AWS Lambda 中配置为处理程序时效果很好。然后我遇到org.springframework.cloud.function.adapter.aws.SpringBootApiGatewayRequestHandler了 Spring Cloud Function 依赖项中可用的内容,所以我想摆脱,UserProfileHandler因此我将 AWS Lambda 中的 Handler 配置更改为,org.springframework.cloud.function.adapter.aws.SpringBootApiGatewayRequestHandler而不是...UserProfileHandler现在 lambda 失败并显示以下错误消息。有没有人遇到过这个问题?

0 投票
1 回答
684 浏览

java - 如何配置 maven 项目以对 Spring Cloud 功能进行单元测试

使用功能和单元测试设置 Spring Cloud 项目的正确方法是什么?

我想用 Spring Cloud Function 创建一个独立的 Web 应用程序,并有可能通过单元测试来覆盖它。我已经根据参考指南进行了设置:

  1. 我用spring-boot-starter-parent.
  2. 添加spring-cloud-dependencies到依赖管理。
  3. 添加spring-cloud-starter-function-web了启动器。
  4. 添加了测试依赖项:
    • 为第 5 个版本添加junit-bom到依赖项管理。
    • 添加了spring-boot-starter-test启动器并从中排除junit
    • 添加junit-jupitermockito-junit-jupiter依赖项。

MyFunctionapApplication包含 beanuppercase作为函数,来自文档的示例。我正在尝试对其进行测试。

但它无法启动上下文并发现WebTestClient

以及来自条件评估报告的一小部分:

我究竟做错了什么?

更新
我猜想@AutoConfigureWebTestClient和注入的问题WebTestClient

0 投票
1 回答
1954 浏览

java - 在 lambda aws 测试期间,抛出类未找到异常

Serverless Functions with Spring Cloud Function 是我正在使用的 Baeldung 文章。我更改了他们推荐的 aws-adapter 依赖项,因为在 maven 中导入失败,所以我找到了 3.0.1.RELEASE 版本并改用它。所有错误都消失了,我将项目上传为 .jar 文件。我尝试了“maven package”和“maven clean shade”命令来创建一个.jar文件并直接上传到lambda函数。我按照他们的指示在 lambda 函数中指定处理程序。有谁知道我可能遇到这个问题的任何其他原因。