Biztalk custom adapter, batches and Biztalk engine. RRS feed

  • Question

  • I'm using Biztalk 2006 R2. I'm developing custom adapter based on Microsoft example of transactional adapter (Microsoft.Samples.BizTalk.Adapter.Transactional).

    For now I'm using transactional adapter provided by Microsoft.

    My biztalk orchestration is connecting to external database over custom adapter. My orchestration sends couple of messages to adapter from atomic scope. I figured out that messages that go to different physical ports are sent in different batches. When i use 1 physical port, the messages are sent in one batch. If i send messages form 2 atomic scope, and use same physical port, the messages are split into 2 batches, one for each atomic scope.

    Number of messages send from scopes is much smaller than max. adapter batch size.

    My question is: How does biztalk determine when to start a new batch? And does it have anything with atomic scopes?



    Thursday, March 31, 2011 11:15 AM


  • Hi,

    My understanding is that there's a limit of 20 messages or what ever messages are there to send at that point in time.

    The Send port Host Instance (Message IO Agent) will fetch the next 'X' messages destined to be sent to Physical Port Y. Generally there will be an instance of Port Y created. BTS will group all these messages across the different Port Instances and (if it can) put them within the one MSDTC transaction to be sent to the DB.



    Mick Badran -
    Saturday, September 24, 2011 2:02 PM