2013-11-14 35 views
0

我在集羣環境中使用文件連接器下方騾子文件扣鎖例外

<file:connector 
    name="inputZip" 
    pollingFrequency="1000" 
    streaming="false" 
    autoDelete="true" 
    workDirectory="/home/sergio/compartilhado/temp"> 
    <service-overrides messageFactory="org.mule.transport.file.FileMuleMessageFactory"/> 
</file:connector>` 

有時當羣集的一個節點鎖定文件,其他節點嘗試讀取相同的文件,並拋出異常

15:37:37,826 ERROR [org.mule.exception.DefaultSystemExceptionStrategy] ([sample].inputZip.receiver.01) 
******************************************************************************** 
Message    : File "teste.zip" does not exist or cannot be read 
Code     : MULE_ERROR-11007 
-------------------------------------------------------------------------------- 
Exception stack is: 
1. File "teste.zip" does not exist or cannot be read (org.mule.api.DefaultMuleException) 
    org.mule.transport.file.FileMessageReceiver:608 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/DefaultMuleException.html) 
-------------------------------------------------------------------------------- 
Root Exception stack trace: 
org.mule.api.DefaultMuleException: File "teste.zip" does not exist or cannot be read 
    at org.mule.transport.file.FileMessageReceiver.attemptFileLock(FileMessageReceiver.java:608) 
    at org.mule.transport.file.FileMessageReceiver.processFile(FileMessageReceiver.java:290) 
    at org.mule.transport.file.FileMessageReceiver.poll(FileMessageReceiver.java:238) 
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) 
******************************************************************************** 

我想記錄另一條消息或在拋出之前處理此錯誤。有人可以幫我弄這個嗎?謝謝你在前進

+1

HA是EE功能,您是否嘗試過聯繫MuleSoft支持? – genjosanzo

+0

是的,我在Mule論壇發佈一個問題 –

回答

0

我解決了擴展類FileMessageReceiver並覆蓋以下

public void processFile(File file) throws MuleException { 
    try { 
     super.processFile(file); 
    } catch (Exception e) { 
     logger.info("Fail to read file " + e); 
    } 
} 

的方法,我的連接,我在標籤中添加的問題,服務覆蓋屬性的messageReceiver =「br.com。 unimed.wsd.tiss.mule.batch.FileSampleMessageFactory「

+0

上面的工作,但是代碼將永遠達不到'logger.info'語句,因爲異常在調用默認異常策略的父類「FileMessageReceiver.java」中處理。在騾子測試3.6.4 – csf