2016-04-05 7 views
0

直列化可能ではありません。例外:変数iがミュールポール/ウォーターマークに次の例外をgetingい

例外は、更新透かし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> 

この例外はなぜ発生しますか?私は間違って何かしていますか?

+0

carimboTempoもフロー変数です。 #[flowVars.carimboTempo] –

+0

にする必要があります。「flowVars.date_modified」のタイプは何ですか?私は 'java.sql.Date'を期待していましたが、これはシリアライズ可能ですが、そうでない場合は例外があります。 –

+0

'flowVars.date_modified'はjava.sql.Timestampです。 – Muka

答えて

2

私は同じエラーがありました。あなたはこれを試みることができる:

[?sessionVars.lastUpdated == nullのをLASTMODIFIED:sessionVars.lastUpdated]

私が思うに、流れがnull値をシリアル化しようとしています。

+0

私はupdate-expressionを次のようにputして動作します: '#[if(flowVars.date_modified == null){flowVars.carimboTempo; } else {flowVars.date_modified; }] ' – Muka