如何使用自定义参数正确创建 Spring Cloud Task?
How to properly create Spring Cloud Task with custom parameters?
根据示例here(实际上是时间戳任务),我实现了一个小任务class:
@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
};
}
}
然后我创建了属性 class(在同一个包中)
@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 云数据服务器上注册任务后,我看到许多参数,我想这些参数是自动添加的。我的意思是像这样的参数:
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 属性 在我上面的例子中)?
默认情况下Spring Cloud Data Flow 将向您显示启动应用程序的所有可用属性。但是,您可以创建一个您希望显示的属性的白名单。
这是 Spring 云数据流参考文档的 link,将讨论如何执行此操作:http://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#spring-cloud-dataflow-stream-app-whitelisting。
这里是 link 时间戳入门应用程序,其中有一个例子:https://github.com/spring-cloud/spring-cloud-task-app-starters/tree/master/spring-cloud-starter-task-timestamp
根据示例here(实际上是时间戳任务),我实现了一个小任务class:
@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
};
}
}
然后我创建了属性 class(在同一个包中)
@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 云数据服务器上注册任务后,我看到许多参数,我想这些参数是自动添加的。我的意思是像这样的参数:
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 属性 在我上面的例子中)?
默认情况下Spring Cloud Data Flow 将向您显示启动应用程序的所有可用属性。但是,您可以创建一个您希望显示的属性的白名单。
这是 Spring 云数据流参考文档的 link,将讨论如何执行此操作:http://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#spring-cloud-dataflow-stream-app-whitelisting。
这里是 link 时间戳入门应用程序,其中有一个例子:https://github.com/spring-cloud/spring-cloud-task-app-starters/tree/master/spring-cloud-starter-task-timestamp