Accumulating messages in MessageBox, Lifespan of the messages



Hi,
http://geekswithblogs.net/LeonidGaneline/archive/2007/11/14/116853.aspx

I hit this problem when were creating the orchestration to periodically poll
the outer service. The orchestration was with loop inside.
The problem was I created the message inside this loop. And the instance of
this message were not disposed after each cycle.
The orchestration was created for running long time without restart. That
means that this orchestration was collecting enormous amount those
indisposed messages. And all those messages were inside the MessageBox, of
course. It was wrong!

After long and very interesting investigation the issue was resolved.

The source of the problem was in the transactional scope where I created the
indisposable message. This scope was inside the loop.
It is interesting but a lifespan of the message created inside the
transactional scope and the message created outside the transactional scope
is different. The first one is disposed only after closing the orchestration
instance. The second one is disposed after last using. (I think so but could
not find a hint in the BizTalk information sea.)

--
Regards,

Leonid Ganeline [BizTalk MVP]
http://geekswithblogs.net/leonidganeline/



.



Relevant Pages

  • RE: Best practice to support resume in an orchestration
    ... resume this once the web service is availabile. ... Boolean variables in an orchestration) so that the actions in the loop will ... there), and suspend the orchestration. ...
    (microsoft.public.biztalk.general)
  • Re: Performance issues in uniform sequential convoy
    ... Following is the algorithm I am using for correlation orchestration: ... Intialize a corelation on 3 fields in the message. ... If 2 sec delay times out, exit loop else continue loop going to step 3 ...
    (microsoft.public.biztalk.general)
  • RE: Orchestrations -- Breaking infinite loops
    ... But, for me, I do not use sequential convoys if the loop is Non-deterministic. ... messages will be processed in that instance of the orchestration. ... But this will just decrease your chances of getting zombies. ...
    (microsoft.public.biztalk.general)
  • Ordered Delivary Option
    ... I have orchestration with the following steps ... One more loop for the Order Items ... If the Ordered Delivary Option in SQL send ports is checked then the above ... steps works fine and if not then it will not load all the records. ...
    (microsoft.public.biztalk.general)
  • Re: Orchestration Persistence Points
    ... An orchestration gets persisted after one of the following events: ... Message sent within a non-atomic scope ... End of transactional scope ... There is also a performance counter for the number of persistence points. ...
    (microsoft.public.biztalk.general)