如何使用过滤器和XPATH在WSO2 ESB代理服务中对日期进行比较



我需要在以下条件下制作过滤器:

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

在代理服务中执行此操作的最佳方法是什么?正如可以在最后一个拟议中添加30天吗?

谢谢。

您可以使用脚本调解器和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>.....

最新更新