Das*_*sma 2 java spring-boot spring-cloud spring-cloud-stream spring-cloud-function
嘿,我按照分步指南在 Spring Boot 中设置 kafka。
但现在我无法启动该应用程序。有什么建议 :)
日志中的错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'functionInitializer' defined in class path resource [org/springframework/cloud/stream/function/FunctionConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Found more then one function in BeanFactory: [persistentEntities, resourceMappings]. Consider providing 'spring.cloud.function.definition' property.
Run Code Online (Sandbox Code Playgroud)
什么是 spring.cloud.function.definition?以及如何设置呢?引起原因:java.lang.IllegalArgumentException:在 BeanFactory 中发现多个函数:[persistentEntities,resourceMappings]。考虑提供“spring.cloud.function.definition”属性。
Spring Cloud Function 在应用程序中执行以下操作:
bean实现或符合功能接口契约的Spring 管理的和Supplier<T>。Consumer<T>Function<T, R>beans为可能beans绑定到事件端点(绑定)。bean(绑定到外部事件端点)的唯一bean绑定- 有效地假设应用程序是一个Serverless Function。bean解析,则 Spring Cloud Function 将查看属性spring.cloud.function.definition来解析其中哪些beans应绑定到端点。IllegalArgumentException(您收到的)抱怨它无法解析 您想要公开的 bean(它已找到的所有潜在功能)。 beanspring.cloud.function.definition将被读取为以分号分隔的功能 bean名称列表因此,要解决您的问题,您需要:
只需在Spring上下文中注册beanpersistentEntities或bean即可resourceMappings;但不是两者兼而有之。
将以下条目添加到 Spring 上下文的属性中:
spring.cloud.function.definition=persistentEntities;resourceMappings
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
4673 次 |
| 最近记录: |