当前位置: 首页 > 知识库问答 >
问题:

在Spring Cloud Data Flow中部署现有的Spring Cloud Stream

鲜于温书
2023-03-14
spring:
  application:
    name: myapp

  cloud:
    stream:
      bindings:
        output:
          destination: topic1
          producer:
            partitionCount: 5
            partitionKeyExpression: headers.kafka_messageKey
      kafka:
        binder:
          brokers: 10.138.128.62
          defaultBrokerPort: 9092
          zkNodes: 10.138.128.62
          defaultZkPort: 2181
          requiredAcks: -1
          replicationFactor: 1
          autoCreateTopics: true
          autoAddPartitions: true
        bindings:
          output:
            producer:
              configuration:
                key.serializer: org.apache.kafka.common.serialization.StringSerializer
                value.serializer: org.apache.kafka.common.serialization.ByteArraySerializer
java -jar mycomponent.jar --spring.config.location=/conf/application.yml

目前,我“手动”编排这3个组件,但我希望使用Spring Cloud Data Flow(SCDF)来创建流,并能够更好地操作它们。

根据SCDF文档,任何SCS应用程序都可以直接用作要在流中定义的应用程序。除此之外,应用程序的属性可以通过外部属性文件提供。但是,我提供了我的'application.yml'属性文件,但它不起作用:

stream deploy --name mystream --definition "mysource | myprocessor | mysink' --deploy --propertiesFile /conf/application.yml

经过一些研究,我意识到文档声明任何应用程序的任何属性都必须以这种格式传递:

app.<app-name>.<property-name>=<value>
    null

共有1个答案

公羊向荣
2023-03-14

我必须添加那个“应用程序”吗我现有的所有财产?

是的。你可以有这样的东西:

app:app-name:spring:cloud:...

您是否出于某种原因在应用程序中显式地使用spring.application.name。我想如果更改spring.application.name,将会对metrics collector产生一些影响。

如果我已经在application.yml中提供了“server.port”属性,它对SCDF有何影响?SCDF会选择它作为应用程序使用的端口还是忽略它?

它的工作方式与Spring Boot属性源优先级相同。应用程序的application.yml中的server.port将获得比其他可以通过流定义/部署属性设置的属性源最小的优先级。

 类似资料:
  • 本文向大家介绍Docker私有仓库Registry部署的实现,包括了Docker私有仓库Registry部署的实现的使用技巧和注意事项,需要的朋友参考一下 随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库。目前常用的两种仓库:公共仓库和私有仓库。最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的。 私有仓库最常用的就是Regis

  • 我正在尝试使用石英2.2。1带Spring靴。我试图声明一个计划任务,该任务应该将一些数据写入文件。我的工作定义如下: 然后呢: PS:我已经测试了我的控制器方法doPrintData和它的工作原理。但是当我把它放在执行方法中时,我面对的是javaNullPointerExcure。

  • 问题内容: 我正在尝试将Quartz 2.2.1与Spring Boot一起使用。我试图声明一个计划的任务,该任务应该将一些数据写入文件中。我的工作定义如下: 然后 : PS:我已经测试了我的控制器方法“ doPrintData”,它可以工作。但是,当我将其放入面向 javaNullPointerException 的execute方法中时。 问题答案: Spring Boot为您管理它。删除石英

  • 我试图在GlassFish server 4.1.0中部署ADF 12.1.3应用程序,但在部署过程中出现以下错误:将ADF essentials 3.1.2复制到GlassFish中的lib文件夹,ADF应用程序为12.1.3版本,GlassFish版本为4.1.0 部署过程中发生错误:部署应用程序时出现异常[MegatronApplicationOCS_07012015]:org.xml.sa

  • 我已经在archlinux上安装了tomcat,我尝试了tomcat7和Tomcat8。根据包括官方文档在内的多个来源,部署WAR文件就像将其放入webapps文件夹(在我的示例中是/var/lib/tomcat7/webapps)一样容易。WAR文件被分解。但我不知道如何访问我的web应用程序。在localhost:8080上有一个tomcat网页。我还尝试了localhost:8080/nam

  • 如果你希望在自己的网络上部署ENS,或者在公共网络上部署自己的ENS副本,本指南将向你展示如何进行部署。如果你想使用现有的ENS部署,请参阅域名解析、域名管理和域名注册和续费 为了简单起见,在本页面我们会用到Javascript、Web3和npm上的Truffle框架。完整的部署文件示例可以在这个页面的底部查看。 引用合约 ENS的基础合约已经以npm模块的方式发布,比如ENS注册表和注册中心、解