I have an outbound channel adapter where the corresponding configuration is shown below.
<int:outbound-channel-adapter channel="foo-fileChannel" ref="foo-handlerTarget" method="handleFeedFile"> <int:poller fixed-delay="5000" receive-timeout="1000" max-messages-per-poll="10" /> </int:outbound-channel-adapter> <int:channel id="foo-fileChannel"> <int:queue /> </int:channel> <bean id="foo-handlerTarget" class="com.abc.FooFeedHandlerImpl"> <property name="fooDescriptorFile" value="${feed.foo.fooDescriptorFile}" /> <property name="fileIdRegex" ref="foo-fileRegex" /> <property name="processId" value="${feed.processId}" /> <property name="workingLocation" value="${feed.foo.workingLocation}" /> <property name="remoteLocation" value="${feed.foo.remoteLocation}" /> <property name="stalenessThreshold" value="${feed.foo.stalenessThreshold}" /> </bean>
And in FooFeedHandlerImpl ...
public void handleFeedFile(File retrievedFile) { handleFeedFile(retrievedFile, null); } public void handleFeedFile(File retrievedFile, String processKey) { if (isHandlerForFileName(retrievedFile.getName())) { processFeed(retrievedFile, processKey); } }
Questions:
What method handleFeedFile is called by the channel adapter?
When I call a method in the application code using Spring integration, how are the method parameters determined?
Thanks for any help!
Edit:
I executed my process locally (I downloaded the local SFTP server - http://www.coreftp.com/server/index.html ) and determined that the handleFeedFile(File file) method was called.
java spring spring-integration enterprise-integration
The Gilbert Arenas Dagger
source share