【问题标题】:scdf 1.7.3 docker k8s function-runner not startscdf 1.7.3 docker k8s 函数运行器无法启动
【发布时间】:2019-08-22 14:47:24
【问题描述】:

尝试将函数运行器部署到 scdf k8s 到流中

http --server.port=9001 | f-run: function-runner --function.className=com.example.functions.CharCounter --class-name=com.example.functions.CharCounter --location="maven://io.spring.sample:function-sample:jar:1.0.2" | log

我使用 function-runner-kafka 1.1.0.M1 创建了一个 docker 映像。

总是得到:

***************************
APPLICATION FAILED TO START
***************************
Description:
Binding to target org.springframework.cloud.stream.app.function.app.FunctionProperties@264f218 failed:
    Property: function.className
    Value: null
    Reason: may not be empty
Action:
Update your application's configuration

在流定义中,如何将maven uri 设置为function-jar

我想在 scdf k8s 中运行带有 jar 代码的函数运行程序

【问题讨论】:

    标签: spring-cloud-dataflow


    【解决方案1】:

    function-runner 模型已弃用,取而代之的是 Spring Cloud Stream 中可用的原生 Spring Cloud Function 集成。

    您可以简单地使用函数@Bean 构建一个 Spring Cloud Stream 应用程序,并将它们作为链的一部分作为功能流的一部分,或者在运行时作为单个函数解析。

    更多详情请见ref. guide

    一旦您拥有一个具有多个功能 @Bean 的应用程序,您还可以与其他 App Starter 组合它们并在 SCDF DSL 中使用它。

    请参阅此blog on this subject 了解更多背景信息。

    【讨论】:

    • 对不起。我开了一个新帖子,因为我没有写另一个帖子。锁定。我通常不写stackoverflow,今天我只有手机可以使用。请耐心等待,我不在关键领域工作,我需要你的帮助。我该怎么写
    • 我忘记了函数运行器。我正在尝试您的 dok 参考资料,但无法正常工作。我不能改变使用 Spring 1.x 因为我们在这个版本中有很多连接器代码。但是,将@bean 用于简单的处理器我无法工作。它在 k8s 上部署正常,但有时没有消息到功能处理器。为什么?我可以启用任何日志吗?我正在学习 scdf 和函数,如果我不能运行,我认为我不需要复合函数,我只是处理器函数。我想我从 1.x 复制了 Spring 函数处理器并使用@functionscan 进行测试,并部署了参数..
    • 这里的问题是您使用的是古老的 Boot 版本,最重要的是,我们不再建议使用 function-runner 应用程序。出于同样的原因,我们从未发布过这个应用程序的 GA 版本——它本来就是实验性的。不要使用这个应用程序,而是下载一个新的 Spring Boot 应用程序,并声明 @Bean 定义,类似于上面 SCSt 文档中的示例。构建该应用程序并通过java -jar 在本地对其进行测试。您可以在样本测试的源、处理器或接收器之间进行选择。从小处着手,在使用 SCDF 或 K8s 之前尝试使其在笔记本电脑上本地工作。
    猜你喜欢
    • 2019-08-22
    • 1970-01-01
    • 2018-03-01
    • 2019-03-10
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多