以编程方式获取流名称

时间:2017-02-14 11:30:56

标签: spring-cloud-dataflow

系统信息

Spring Cloud数据流Cloud Foundry:v1.1.0.RELEASE Pivotal Cloud Foundry:v1.7.12 CF客户端(Windows):cf.exe版本6.23.1 + a70deb3.2017-01-13 cf-v3-plugin:0.6.7

我想将流名称注入我的自定义源模块中定义的bean中。通过查看已部署流的/env端点,我找到了SPRING_CLOUD_APPLICATION_GROUP系统属性,因此我将其注入我的bean中。

/**
 * application name
 */
@Value("#{ systemProperties['SPRING_CLOUD_APPLICATION_GROUP'] }")
private String applicationName;

这里的问题是,这似乎与Cloud Foundry部署者有关,从我的角度来看,这不适合移植性。

在Spring XD中,为此目的存在xd.stream.name占位符。

有没有办法以便携的方式做到这一点。

谢谢

1 个答案:

答案 0 :(得分:0)

所有部署者实现都应该遵循这个变量名称,所以你应该好好去。

没有要求将此作为环境变量传递(您的代码假定系统属性,甚至不确定它是否有效,是吗?)。使用Spring []map[string]interface{}抽象是保持可移植性的最佳方式。