tags:

views:

960

answers:

5

How can I resume a dehydrated orchestration ?

  • the orchestration in question should have been retrieving messages from a MSMQ queue
  • but the userid permission wasn't set on the queue, so the BizTalk box wasn't able to read from the queue

Corrected the permissions, but the only options are teminate and suspend ?

A: 

Can you suspend, then resume?

It's been a couple years since I did BizTalk. Quirks like this were annoying. Even worse when it's 250k dehydrated and you need to script to restart them. ugh

I feel for you.

TheSoftwareJedi
Nah, can't seem to do that
SteveC
+1  A: 

update 1:

Check the relevant receive location. Maybe it got disabled by biztalk due to the permission problem. You will have to enable it manually.

update 0:

Your don't have to resume dehydrated orchestration. It's not the orchestration that read from the queue, but the msmq adapter. When a msmq message arrive the receive location will route it into the message box. If the said orchestration have a subscription ( receive port ) that match the msmq message then it will be resumed by the biztalk engine.

Igal Serban
+1  A: 

If the orchestration attempted to start and failed on the MSMQ receive, it's essentially hung and has not removed a message from the queue. I'd terminate it. The orchestration should clear and pickup the new messages. Does your orchestration i mplement a singleton pattern or are you using order delivery on the receive? This makes things a little more complicated.

ChrisLoris
Ordered delivery
SteveC
A: 

BizTalk's ability to resume depends on the place and way it failed, and whether it can replay any part of the operatio; in most cases, when failing in an orchestration, some coding pattern need to be used to allow it to resume.

Yossi Dahan
+1  A: 

Shouldn't you be restarting the biztalk service instance for MSMQ?

Dehydrated means the orchestration is still waiting for something. I guess in your case, you must be waiting for a corelated message from MQ. If you restart receive host service instance, it will try to reconnect all connections (MSMQ, SQL, etc that managed by the service instance). Then all messages will be flow through to orchestrations.

NZGrumbler