2015-09-09 103 views
1

我正在創建一個自定義SpringXD處理器。我想從SpringXD流定義中讀取一些屬性,並從屬性文件中讀取其中的一些屬性。我在模塊的XML如下:Spring XD - 屬性文件

<context:property-placeholder location="classpath:config/myModule.properties" ignore-resource-not-found="true" system-properties-mode="OVERRIDE" /> 

<int:channel id="input"/> 

<bean id="sessionProperties" class="com.mycompany.namespace.SomeConfigClassName"> 
    <property name="hostNames" value="${hostNames}"/> 
    <property name="port" value="${port}"/> 
</bean> 

<int:transformer input-channel="input" output-channel="output"> 
    <bean id="jmsTemplate" class="com.mycompany.namespace.ModuleClassName"> 
     <property name="sessionProperties" ref="sessionProperties"/> 
    </bean> 
</int:transformer> 

<int:channel id="output"/> 

而且我確定我的信息流,像這樣:

stream create --name my-stream --definition "time | my-custom-module --port=1440 | log" --deploy 

而且我不斷收到以下錯誤:

Command failed org.springframework.xd.rest.client.impl.SpringXDException: Error with option(s) for module my-custom-module of type processor: 
    port: option named 'port' is not supported 

這是我的屬性文件的內容:

hostNames=foo.mycompany.com 

任何想法?

回答

0

我找到了問題的解決方案。我將屬性文件放在與模塊的XML文件相同的路徑中。由於某種原因,Spring正在拾取屬性文件,並忽略了XML文件。將屬性文件移至其他文件夾可解決問題。

-1

嘗試通過輸入以下指定屬性文件在部署流:

--propertiesFile myprops.properties