如何使用自定义参数正确创建Spring Cloud Task?

时间:2016-12-07 12:50:33

标签: spring-cloud spring-cloud-dataflow spring-cloud-task

根据示例here(实际 - 时间戳任务),我实现了一个小任务类:

@SpringBootApplication
@EnableTask
@EnableConfigurationProperties({ RestProcessorTaskProperties.class })
public class RestProcessorTaskApplication {
    public static void main(String[] args) {
        SpringApplication.run(RestProcessorTaskApplication.class, args);
    }

    @Autowired
    private RestProcessorTaskProperties config;

    // some fields and beans

    @Bean
    public CommandLineRunner run(RestTemplate restTemplate) {
        return args -> {
            // doing some stuff
        };
    }
}

然后我创建了Properties类(在同一个包中)

@ConfigurationProperties("RestProcessor")
public class RestProcessorTaskProperties {
    private String host = "http://myhost:port";

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }
}

但是在我在本地Spring Cloud Data Server上注册任务后,我看到了很多参数,我想这些参数是自动添加的。我的意思是:

abandon-when-percentage-full            java.lang.Integer       
abandoned-usage-tracking                java.lang.Boolean       
acceptors                               java.lang.Integer       
access-to-underlying-connection-allowed java.lang.Boolean

和其他人......

是否有可能以某种方式隐藏(或删除)它们,以便在启动任务时我只能配置那些由我添加的参数(上面示例中的单个 host 属性)?< / p>

1 个答案:

答案 0 :(得分:1)

默认情况下,Spring Cloud Data Flow将显示启动应用程序的所有可用属性。但是,您可以创建要显示的属性白名单 以下是Spring Cloud Data Flow参考文档的链接,该文档将讨论如何执行此操作:http://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#spring-cloud-dataflow-stream-app-whitelisting

以下是时间戳启动器应用的链接,其中包含以下示例:https://github.com/spring-cloud/spring-cloud-task-app-starters/tree/master/spring-cloud-starter-task-timestamp