sách gpt4 ai đã đi

java - 在 Camel route ,使用 exec 组件使用 grep 进行 curl ,但使用 ${HOSTNAME} 进行 grep 无法正常工作

In lại 作者:行者123 更新时间:2023-11-30 10:08:23 30 4
mua khóa gpt4 Nike

在 Camel route ,我正在使用 exec 组件通过 grep 进行 curl ,但使用 ${HOSTNAME} 的 grep 无法正常工作,下面是我的 Camel 路线。请在这方面寻求帮助。

@Thành phần
public class VideoFilesOperationRoute extends RouteBuilder {

@Value("${scheduler.cronExpression}")
private String cron;

@Ghi đè
public void configure() throws Exception {

from("quartz2://videoFilesOperations/everydayMidnight?cron=" + cron)
.to("exec:curl?args= --silent http://localhost:4040/ | grep ${HOSTNAME}&useStderrOnEmptyStdout=true")
.to("bean:videoFilesOperationImpl?method=videoFilesOperation");

}
}

尝试了下面的解决方案,但仍然是同样的问题:

//Tried this first
List args = new ArrayList<>();
args.add("-c");
args.add("curl --silent http://localhost:4040/ | grep ${HOSTNAME}");
from("quartz2://videoFilesOperations/everydayMidnight?cron=" + cron)
.setHeader(ExecBinding.EXEC_COMMAND_ARGS, constant(args))
.to("exec:/bin/sh")
.to("bean:videoFilesOperationImpl?method=videoFilesOperation");


//Tried this next
from("quartz2://videoFilesOperations/everydayMidnight?cron=" + cron)
.to("exec:scripts/curl.sh")
.to("bean:videoFilesOperationImpl?method=videoFilesOperation");

1 Câu trả lời

问题是 camel-exec 命令参数是用空格分隔的。因此,您尝试将输出从 curl 传输到 grep 是行不通的。

尝试这样的事情:

@Ghi đè
public void configure() throws Exception {
List args = new ArrayList<>();
args.add("-c");
args.add("curl --silent http://localhost:4040/ | grep ${HOSTNAME}");

from("quartz2://videoFilesOperations/everydayMidnight?cron=" + cron)
.setHeader(ExecBinding.EXEC_COMMAND_ARGS, constant(args))
.to("exec:/bin/sh");
}

或者您可以将 curl 和 grep 命令包装在一个 shell 脚本中,然后让 camel-exec 调用它。

关于java - 在 Camel route ,使用 exec 组件使用 grep 进行 curl ,但使用 ${HOSTNAME} 进行 grep 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53755741/

30 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com