即使从数据库中删除数据,MULE_JDBC_UDATE_COUNT也会返回Null值

时间:2014-07-14 10:07:20

标签: jdbc mule mule-el

我有一个Mule流,我有一个数据库删除操作: -

<jdbc-ee:connector name="Database_Global" dataSource-ref="DB_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database">
    <jdbc-ee:query key="DeleteQuery" value="delete from getData where ID=10"/>
    </jdbc-ee:connector>

<flow name="DeleteFlow" doc:name="restFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8082" doc:name="HTTP"/>
<jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryKey="DeleteQuery" queryTimeout="-1" connector-ref="Database_Global" doc:name="Database (JDBC)"/>
<logger message="Deleted #[flowVars['MULE_JDBC_UDATE_COUNT']] rows" level="INFO" doc:name="Logger"/>
<set-payload value="Deleted #[flowVars['MULE_JDBC_UDATE_COUNT']] rows" doc:name="Set Payload"/>
</flow>

现在问题是flowVars['MULE_JDBC_UDATE_COUNT']返回null,即使该行存在并从数据库中删除...我正在使用具有JDBC ee连接器的Mule 3.5 anypoint studio .. 还有一个我想解决的问题......我需要这样的事情: -

<choice doc:name="Choice">
 <when expression="#[flowVars['MULE_JDBC_UDATE_COUNT']==null] ">
<logger message="Deleted #[flowVars['MULE_JDBC_UDATE_COUNT']] rows... Failed!!!" level="INFO" doc:name="Logger"/>
<set-payload value="Deleted #[flowVars['MULE_JDBC_UDATE_COUNT']] rows ...Failed!!!" doc:name="Set Payload"/>
 </when>
<otherwise>
<set-payload value="Deleted Successfully !!!" doc:name="Set Payload"/>
 </otherwise>
</choice> 

jdbc-ee:outbound-endpoint 之后,如果删除了行,我可以显示成功消息,如果没有,则显示失败消息......但是我收到的错误如下: -

Root异常堆栈跟踪:

  

[错误:无法解析的财产或标识符:]]
  [近:{... flowVars ['MULE_JDBC_UDATE_COUNT'] == null] ....}]

我如何实现它...请帮助

2 个答案:

答案 0 :(得分:2)

你有一个拼写错误:它是MULE_JDBC_UPDATE_COUNT而不是MULE_JDBC_UDATE_COUNT

答案 1 :(得分:0)

最后,工作代码为MULE_JDBC_UPDATE_COUNT: -

<choice doc:name="Choice">
 <when expression="#[flowVars['MULE_JDBC_UPDATE_COUNT']==null] ">
<logger message="Deleted #[flowVars['MULE_JDBC_UDATE_COUNT']] rows... Failed!!!" level="INFO" doc:name="Logger"/>
<set-payload value="Deleted #[flowVars['MULE_JDBC_UDATE_COUNT']] rows ...Failed!!!" doc:name="Set Payload"/>
 </when>
<otherwise>
<set-payload value="Deleted Successfully !!!" doc:name="Set Payload"/>
 </otherwise>
</choice>