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

Mule 发现异常更新了轮询水印:变量不可序列化,mule,mule-studio,Mule,Mule Studio,我在Mule Poll/Watermark中遇到以下异常: 更新水印java.lang.IllegalArgumentException时发现异常: 从事件检索到的变量CARIMBOTEPO的值不正确 可序列化,因此无法保存到对象存储 部分XML配置: <db:mysql-config name="MySQL_Configuration" host="${crm.db.host}" port="${crm.db.port}" user="${crm.db.user}" password="

我在Mule Poll/Watermark中遇到以下异常:

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

部分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>

#[carimboTempo]
按最大值排序(ac.日期\修改,c.日期\修改)]]>

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

我也犯了同样的错误。你能试试这个吗

[sessionVars.lastUpdated==null?lastModified:sessionVars.lastUpdated]
我认为,流正在尝试序列化空值。

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

[sessionVars.lastUpdated==null?lastModified:sessionVars.lastUpdated]
我认为,流正在尝试序列化空值。

carimboTempo也是一个流变量。应该是#[flowVars.carimboTempo]flowVars.date的类型是什么?我期望
java.sql.Date
,它是可序列化的,但例外情况是不同的。
flowVars.Date\u modified
是一个java.sql.Timestamp.Ralph,
updateexpression
flowVars.Date\u modified
,我用
有效载荷.Date\u modified
设置这个变量。但即便如此,我还是做了一个测试,让它清空
update表达式
,我直接设置了
carimboTempo
,但它也不起作用。carimboTempo也是一个流变量。应该是#[flowVars.carimboTempo]flowVars.date的类型是什么?我期望
java.sql.Date
,它是可序列化的,但例外情况是不同的。
flowVars.Date\u modified
是一个java.sql.Timestamp.Ralph,
updateexpression
flowVars.Date\u modified
,我用
有效载荷.Date\u modified
设置这个变量。但即便如此,我还是做了一个测试,让它清空
更新表达式
,我直接设置了
carimboTempo
,但它也不起作用。我在更新表达式中输入了以下内容并起作用:
#[if(flowVars.date_modified==null){flowVars.carimboTempo;}else{flowVars.date_modified;}]
我在更新表达式中加入了以下内容并起作用:
#[if(flowVars.date_modified==null){flowVars.carimboTempo;}否则{flowVars.date_modified;}]