2013-09-21 33 views
0

我在騾子中使用了一個自定義轉換器,爲此我編寫了擴展AbstractMessageTransformer的自定義java代碼。如何處理在Mule中擴展AbstractMessageTransformer的Java類中的FileNotFoundException?

由於我需要處理FileNotFoundException 並且它說FileNotFoundException與AbstractMessageTransformer不兼容,所以我在自定義java類中遇到了一個問題。

有沒有什麼辦法可以處理FileNotFoundException中的自定義java類擴展AbstractMessageTransformer?

回答

0
public class MessageAttachmentTransformer extends AbstractMessageTransformer 
{private List<String> filename; // file to attach 
    @SuppressWarnings("deprecation") 
    public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException { 
     if (filename.isEmpty() || filename==null || filename.size()==0) **//filename is a list contains list of file path as mule attachment** 
     {**//If file for attachment is not there** 
      **//Here I want to place FileNotFoundException** 
      return message;} else 
     { // do other thing} return message; 
     } 
    } 
} 
1

如果您想伸出的AbstractMessageTransformer類中重新拋出FileNotFoundException異常什麼,那麼你或許應該換行例外成TransformerException中,一個由doTransform方法

拋出

你的方法看起來像這樣

try{ 
     //Your custom transformation 
    } catch(FileNotFoundException e){ 
     Message msg = CoreMessages.transformFailedBeforeFilter(); 
     throw new TransformerException(msg,this, e); 
    } 
+0

您能否請解釋如何將異常包裝到TransformerException中 –

+0

提供的示例 – genjosanzo

+0

謝謝...我嘗試過使用** doTransform **和FileNotFoundException,但沒有最終結果 –