Apache Camel路由中的Spring Boot属性用法

是否可以在Apache Camel路由中使用Spring Boot属性?@Value工作正常,但是可以直接将其放置在表达式的位置。

我知道PropertiesComponent,但是除了我不希望拥有的Applicaiton.yml之外,它将是另一种配置。

sftp:

host: 10.10.128.128

user: ftpuser1

password: ftpuser1password

path: /tmp/inputfile/test1

 @Value("${sftp.user}")

private String sftpUser;

@Value("${sftp.host}")

private String sftpHost;

@Value("${sftp.password}")

private String sftpPassword;

@Value("${sftp.path}")

private String sftpInPath;

from("sftp://"+sftpUser+"@"+sftpHost+sftpInPath+"?delete=true&password="+sftpPassword)

//this is working

from("sftp://${sftp.user}@${sftp.host}${sftp.path}?password=${sftp.password}")

// is this possible something like this?

回答:

您可以像这样注入完整的链接,而不是将所有属性注入到单独的字段中:

@Value("#{'sftp://'+'${sftp.user}'+'@'+'${sftp.host}'+'${sftp.path}'+'?delete=true&password='+'${sftp.password}'}")

private String fullLink;

然后,您可以在from方法中使用它。

以上是 Apache Camel路由中的Spring Boot属性用法 的全部内容, 来源链接: utcz.com/qa/407039.html

回到顶部