2016-07-29 26 views
0

我是新來的騾子。我想使用poll()方法從本地文件夾接收文件。任何人都可以告訴我如何爲自定義filemessagereceiver編寫override poll()?Mule自定義filemessagereceiver - 輪詢配置

+0

你爲什麼要使用自定義filemessagereceiver,而開箱即用的文件入站端點將爲您調查它? –

+0

重寫FMR的用例是什麼? –

回答

0

在延伸FileReceiverCustomFileReceiver類,則可以覆蓋所有的繼承方法,如processFilespoll等這樣

public class CustomFileReceiver extends FileMessageReceiver { 

public CustomFileReceiver(org.mule.api.transport.Connector connector, FlowConstruct flowConstruct, InboundEndpoint endpoint, 
     String readDir, String moveDir, String moveToPattern, long frequency) throws CreateException { 
    super(connector, flowConstruct, endpoint, readDir, moveDir, moveToPattern, frequency); 
} 

@Override 
public void poll() { 
    // perform your special poll 

} 

}

HTH

+0

感謝Anil kumar。我做了同樣的方法,但我無法列出poll()方法內的文件。無法爲listFiles()添加覆蓋註釋。如果我刪除註釋,則會發出警告,因爲「CustomFileMessageReceiver.listFiles()方法不會覆蓋FileMessageReceiver的繼承方法,因爲它對於不同的包是私有的」。 – user1934458

+0

listFiles()方法的作用域是默認值,不能從FileMessageReceiver重寫。如果您的要求是使用poll()方法重寫默認的作用域方法,那麼您需要擴展AbstractPollingMessageReceiver或AbstractMessageReceiver並在您的自定義類中模擬FileMessageReceiver的邏輯。 –

+0

然後使用標記」/> –