I have a custom disassember component that takes in a flat file and will create 1 to approximately 10,000 messages. I have noticed that none of the messages I create will be routed or worked upon only when all the messages have been created. Is this the expected behaviour of Biztalk or am I witnessing some throttling? I have a feeling some throttling is happening because there is a 2-3 second pause every few hundred messages or so (which is another issue I need to resolve.)
Is it possible for Biztalk to start routing and processing messages from a receive pipeline if more "sibling" messages are still being created?
Thanks,
Justin
Hi Justin,
The disassembler will publish already 'disassembled' body messages to the database. It will not wait until the complete interchange has been processed. Everytime the GetNext method of the disassembler is called and not returns null a message is published to the database.
Make sure to implement a streaming approach in your component. Return a body message a soon as possible.
The delay in your case can indeed be caused by lack of resources on the BizTalk server. You can use performance monitor to find out if and why BizTalk is throttling.
HTH,
Randal van SplunterenMVP & MCTS BizTalk Server