2016-11-25 43 views
0

我目前正在開發一個ESB(3.7.0 CE)騾應用程序,我正在使用帶有固定頻率調度程序的Poll組件。我想外部化TIMEUNIT調度的屬性如下:如何設置對ESB騾枚舉類型屬性的屬性佔位符的引用

<poll doc:name="Poll"> 
<fixed-frequency-scheduler frequency="${scheduler.frequency}" timeUnit="${scheduler.timeUnit}" startDelay="${scheduler.startDelay}" /> 
<http:request config-ref="HTTP_RSS_Request_Configuration" path="${dmp.url.token}" method="GET" doc:name="HTTP GET RSS"/> 
</poll> 

然而,一個例外是在部署期間拋出:

2016-11-25 10:13:29,265 [Mule.app.deployer.monitor.1.thread.1] ERROR org.mule.module.launcher.application.DefaultMuleApplication - null 
org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.1: '${scheduler.timeUnit}' is not a valid value for 'NMTOKEN'. 
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) ~[?:?] 
    at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source) ~[?:?] 

的解釋可能是NMTOKEN不允許使用$的,{}這是定義屬性所必需的。但問題是如何克服這個問題。

回答

0

您是否在您的mule config xml中添加了上下文屬性佔位符?

像:

<context:property-placeholder location="classpath:somefile.properties" /> 
+0

我使用的是默認mule-app.properties註冊的屬性,所以我還沒有宣佈我的騾子配置XML的屬性文件。 –