2017-02-14 81 views
0

系統信息編程方式獲得流名稱

春季雲數據流的Cloud Foundry:v1.1.0.RELEASE 樞紐的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佔位符就是爲此目的而存在的。

有沒有辦法以便攜的方式做到這一點。

謝謝

回答

0

所有部署的實現應該尊重這個變量名,所以你應該是好去。

有,這是作爲一個環境變量雖然沒有通過要求(代碼假設系統屬性,甚至不知道它的工作原理,不是嗎?)。使用Spring Environment抽象是保持便攜性的最佳方式。

+0

對不起,延遲響應。系統屬性是作爲集成測試的一部分,但顯然我控制着屬性如何被注入。我從來沒有把它部署到PCF。 '環境'方法確實工作。謝謝。 –