2012-11-08 46 views
1

我需要做具有以下條件的過濾器,WSO2 ESB代理服務日期的比較:瞭如何使用過濾器和XPath

<filter xpath= current-dateTime > (lastUpdateDate + 30 days) ... 

什麼是在代理服務執行此操作的最佳方式?可以在lastUpdateDate中添加30天嗎?

謝謝。

回答

1

您可以使用腳本介體和xpath在過濾器介體中執行此任務。當您將系統日期設置爲以下屬性時,

<property name="date" expression="get-property('SYSTEM_DATE', 'yyyy.MM.dd')" scope="default"/> 

那麼日期的值將採用「2012.11.23」格式。同樣,當以該格式定義'lastUpdateDate'時,以下配置將創建您想要的過濾器;

<script language="js"> 
    var date = new Date(); 
    date.setDate(date.getDate()-30); 
    var formattedTime = date.getFullYear() + '.' + ("0" + (date.getMonth()+1)).slice(-2) + '.' + ("0" + date.getDate()).slice(-2); 
    mc.setProperty("modifiedDate",formattedTime); 
</script>   
<filter xpath="number(translate(get-property('modifiedDate'),'.','')) > number(translate(get-property('lastUpdateDate'),'.',''))">  
    <then>.....