Spring Cloud Task 任务开发-定义任务输入和输出(一) 环球新动态
【资料图】
引言
在使用Spring Cloud Task进行任务开发时,任务的输入和输出是非常重要的。
任务输入
任务输入指的是任务所需要的输入数据。Spring Cloud Task支持多种方式来定义任务输入数据,例如命令行参数、环境变量、文件、数据库等。下面我们将分别介绍这些方式的使用方法。
命令行参数
在命令行中传递参数是一种常见的方式。Spring Cloud Task也支持通过命令行传递任务输入参数。例如,我们定义了一个任务,需要传递一个字符串类型的参数。可以使用如下方式在命令行中传递参数:
$ java -jar my-task.jar --my.param=hello
在Spring Cloud Task应用中,可以通过如下方式获取传递的参数:
@Componentpublic class MyTask implements CommandLineRunner { @Value("${my.param}") private String myParam; @Override public void run(String... args) throws Exception { // ... }}
环境变量
在Linux和Unix系统中,环境变量是一种常用的参数传递方式。Spring Cloud Task也支持通过环境变量传递任务输入参数。例如,我们定义了一个任务,需要传递一个字符串类型的参数。可以使用如下方式设置环境变量:
$ export MY_PARAM=hello$ java -jar my-task.jar
在Spring Cloud Task应用中,可以通过如下方式获取传递的参数:
@Componentpublic class MyTask implements CommandLineRunner { @Value("${MY_PARAM}") private String myParam; @Override public void run(String... args) throws Exception { // ... }}
文件
有些任务需要处理文件类型的输入数据。Spring Cloud Task也支持通过文件传递任务输入参数。例如,我们定义了一个任务,需要处理一个XML文件。可以使用如下方式在命令行中传递文件名:
$ java -jar my-task.jar --my.file=/path/to/file.xml
在Spring Cloud Task应用中,可以通过如下方式获取传递的文件名:
@Componentpublic class MyTask implements CommandLineRunner { @Value("${my.file}") private String myFile; @Override public void run(String... args) throws Exception { File file = new File(myFile); // ... }}
数据库
有些任务需要处理数据库中的数据。Spring Cloud Task也支持通过数据库传递任务输入参数。例如,我们定义了一个任务,需要处理数据库中的数据。可以使用如下方式在命令行中传递数据库连接参数:
$ java -jar my-task.jar --spring.datasource.url=jdbc:mysql://localhost:3306/mydb
在Spring Cloud Task应用中,可以通过如下方式获取传递的数据库连接参数:
@Componentpublic class MyTask implements CommandLineRunner { @Autowired private DataSource dataSource; @Override public void run(String... args) throws Exception { try (Connection conn = dataSource.getConnection()) { // ... } }}
关键词:
相关阅读
-
Spring Cloud Task 任务开发-定义任...
在使用SpringCloudTask进行任务开发时,任务的输入和输出是非常重要的。 -
大神预测:未来几年,无论有钱没钱,最...
大神预测:未来几年,无论有钱没钱,最好做好“3个”打算才行!对于... -
一笔罚单370万元!5人被警告
国家开发银行旗下唯一的租赁业务平台被罚。 4月17日,银保监会官... -
新疆柯坪县12.5万亩棉花播种工作井然有序
人勤春来早,棉田农事忙。连日来,柯坪县各乡(镇)抢抓气温回升、... -
美联储连续加息,香港银行总结余已跌破6...
美联储连续加息下,港元持续承压,香港银行体系结余已降至接近近年... -
世界焦点!比较肝的单机手游有哪些 高...
单机手游的类型很多,且游戏种类也较多,但是其内部的游戏内核不变...
精彩放送
-
Spring Cloud Task 任务开发-定义任...
在使用SpringCloudTask进行任务开发时,任务的输入和输出是非常重要的。 -
大神预测:未来几年,无论有钱没钱,最...
大神预测:未来几年,无论有钱没钱,最好做好“3个”打算才行!对于... -
一笔罚单370万元!5人被警告
国家开发银行旗下唯一的租赁业务平台被罚。 4月17日,银保监会官... -
新疆柯坪县12.5万亩棉花播种工作井然有序
人勤春来早,棉田农事忙。连日来,柯坪县各乡(镇)抢抓气温回升、... -
美联储连续加息,香港银行总结余已跌破6...
美联储连续加息下,港元持续承压,香港银行体系结余已降至接近近年... -
世界焦点!比较肝的单机手游有哪些 高...
单机手游的类型很多,且游戏种类也较多,但是其内部的游戏内核不变... -
龙津药业股东立兴实业拟减持不超过6%
4月17日盘后,龙津药业(002750 SZ)公告,持股5%以上股东立兴实业... -
全球速读:女高中生上学路上丢失手表和...
女高中生上学路上丢失手表和门禁卡民警帮她找回失物 -
姚明回应两队消极比赛被罚:十分痛心 ...
17日,中国篮球协会纪律与道德委员会公布对“上海久事队”“苏州肯... -
世界关注:Linux常用命令netstat详解
netstat是一种在Linux、Unix和Windows操作系统上使用的命令行实用程...