首页 > 解决方案 > Spring Cloud Dataflow 设置系统属性

问题描述

我编写了一个自定义的 Spring Cloud Stream Sink 应用程序,当我在 Eclipse 中将它作为 Spring Boot 项目运行时启动。当我部署我的应用程序时,我需要传入一些系统属性。见下文。

@ComponentScan
@EnableConfigurationProperties(MyProperties.class)
@SpringBootApplication
public class MyApplication {//extends SpringBootServletInitializer{

    public static final String COMPONENT_NAME = "my-application";


    @Autowired
    private MyProperties properties;

    public static void main(String[] args) {
        System.setProperty("server.env", "DEVT1");
        System.setProperty("some.other.var", "foo");
        SpringApplication.run(MyApplication.class, args);
    }

我正在尝试使用部署属性屏幕将这些系统属性传递到数据流中,如下图所示。我想知道如果它有效,我是否通过其中之一。我的应用程序似乎启动了,但正在寻找其他属性。当我尝试通过两者时,我得到这个奇怪的错误,说找不到主类。所以当我通过一个时,我的应用程序似乎走得更远。我接近正确的轨道了吗?我需要以某种方式分离论点吗?我尝试使用逗号,但似乎没有什么不同。

传递两个参数时出错 -

错误:无法找到或加载主类 LURzZXJ2ZXIuZW52PVBEMDYsLURBbWljYV9RdWV1ZV9NYW5hZ2Vycz1HV0QwNiwtRGNmZ21nci5jbGFzcy5wYXRoPVxhbWljYS5jb20MaWxlcxtudmNvbmZpZwdwcHJlc291cmNlcw==

在此处输入图像描述

标签: javaspring-bootspring-cloud-streamspring-cloud-dataflow

解决方案


所以我上面帖子中的图片实际上对于设置 jvm 参数是正确的。我的错误源于我的 jvm 参数之一是未通过 docker 公开的文件路径。如果您以这种方式指定 jvm 参数,请确保未选中 use-spring-application-json。所以这对于传递 jvm 参数是有效的......

通过 docker /res/ 映射到我的 c 驱动器上的文件夹。

在此处输入图像描述


推荐阅读