异常发现更新的轮询水印:变量不可序列化

时间:2016-04-05 02:44:50

标签: mule mule-studio

我在Mule Poll / Watermark中发现了以下异常:

  

异常发现更新水印java.lang.IllegalArgumentException:   从变量carimboTempo的事件中检索的值不是   可序列化,因此无法保存到对象库

部分XML配置:

<db:mysql-config name="MySQL_Configuration" host="${crm.db.host}" port="${crm.db.port}" user="${crm.db.user}" password="${crm.db.password}" database="${crm.db.instance}" doc:name="MySQL Configuration"/>
<flow name="levius-contatoFlow" processingStrategy="synchronous">
    <poll doc:name="Poll">
        <fixed-frequency-scheduler frequency="10000"/>
        <watermark variable="carimboTempo" default-expression="2016-03-24 00:00:00" update-expression="#[flowVars.date_modified]"/>
        <db:select config-ref="MySQL_Configuration" doc:name="Database">
            <db:parameterized-query><![CDATA[select 
ac.id,
c.first_name,
c.last_name,
greatest(ac.date_modified, c.date_modified) date_modified
from accounts_contacts ac
join contacts c on c.id = ac.contact_id
where greatest(ac.date_modified, c.date_modified) > #[carimboTempo]
order by greatest(ac.date_modified, c.date_modified)]]></db:parameterized-query>
        </db:select>
    </poll>
    <foreach doc:name="For Each">
        <set-variable variableName="date_modified" value="#[payload.date_modified]" doc:name="Variable"/>
    </foreach>
</flow>

为什么会发生此异常?我做错了吗?

1 个答案:

答案 0 :(得分:2)

我有同样的错误。你能试试这个:

[sessionVars.lastUpdated == null?lastModified:sessionVars.lastUpdated]

我认为,流程正试图序列化空值。