my integration context follows :
<int:channel id="fileinboundchanneladapter"/> <int-file:inbound-channel-adapter directory="${directory}" channel="fileinboundchanneladapter" auto-startup="false" > <int:poller fixed-rate="5000" max-messages-per-poll="1" /> </int-file:inbound-channel-adapter>
and manually triggering channel after condition met:
@resource(name = "fileinboundchanneladapter") private messagechannel messagechannel;
inside method
message<file> filemessage = messagebuilder.withpayload(fileobject).build(); boolean success = messagechannel.send(filemessage, 1000 * 60);
at line, messagechannel.send doesnot respond after time out exceeds , no other request served, , needs restart server.
you must share subscriber
fileinboundchanneladapter
. having try understand what's going on. , take logs figure issue side.
timeout
param (1000 * 60
in case) doesn't have value directchannel
:
protected boolean dosend(message<?> message, long timeout) { try { return this.getrequireddispatcher().dispatch(message); } catch (messagedispatchingexception e) { string description = e.getmessage() + " channel '" + this.getfullchannelname() + "'."; throw new messagedeliveryexception(message, description, e); } }
so, looks subscriber
blocks calling thread somehow... need see code.
Comments
Post a Comment