none
Which Context property to use for recieving message ? RRS feed

  • Question

  • Hi All,

    I have got a Scenario in which i am recieving tons of message is seconds .
    For this I want to use context property custom pipeline component .

    So, I want to ask which context property we can promote so that if we can easily receive thousands of message together without any problem . (if yes then which context property use will be best)

    or Else do I need to create any custom pipeline component for creating own context property . (If yes then please explain)
    Any help and suggestion will be appreciated .

    Kind Regards

    Rishi Gaur

    Monday, July 6, 2015 9:51 AM

Answers

  • Hi Rishi ,

    Your problem is much more related to performance of your downstream system (e.g SQL server). I dont think its any problem with BizTalk .

    If you want to control the flow of messages you can define some architecture pattern like singleton or re sequencer pattern with your Orchestration .

    Holding message in temp or any folder wont resolve your issue.

    Thanks

    Abhishek

    • Marked as answer by John(Daniel) Monday, July 6, 2015 11:48 AM
    Monday, July 6, 2015 11:20 AM

All replies

  • Hi Rishi,

    Every message that is received in BizTalk contains a promoted property named MessageID, and this property should be different for each message that is being processed at the same time. It doesn't matter the number of messages that are being received concurrently.

    Please, define more accurately your needs if you want to do a specific processing with the received messages.

    Regards.


    When an answer is helpful, please vote as helpful, propose as answer and/or mark as answer


    • Edited by ohawari Monday, July 6, 2015 10:04 AM
    Monday, July 6, 2015 10:02 AM
  • To be frank I do not see any connection with property promotion and handling "tons of message is second". Your ability to handle message processing is defined by the hardware that you've provisioned for your solution. You might be referring to BizTalk Performance tuning in regards to Processing Host parameters (throttling characteristics). For those refer to the BizTalk Performance Optimization Guide available at https://msdn.microsoft.com/en-us/library/dn775063%28v=bts.10%29.aspx

    Promotion of properties is a mechanism to make certain data to be made accessible that is either not part of the message (e.g: filename associated, date time of receipt, etc.) or is part of the message but does not require everyone to parse the message content.

    Regards.

    Monday, July 6, 2015 10:03 AM
  • Hi ohawari ,

    Yes , we can recieve tons of message on the basis of Message ID or interchange ID .

    Basically my scenario is like we are recieving Tons of message and when we are saving it into database then it is getting locked up.

    So i want to ask which context property I can use to store my data temporarily . For example I am receiving messages in which a single message is of 2 KB size .

    Regards

    Rishi Gaur 

    Monday, July 6, 2015 10:13 AM
  • Hi Shankycheil ,

    Thanks for the response !!

    I am  recieving Tons of message and when we are saving it into database then it is getting locked up.

    So i want to ask which context property I can use to store my data temporarily . For example I am receiving messages in which a single message is of 2 KB size .

    Regards
    Rishi Gaur

    Monday, July 6, 2015 10:17 AM
  • I am  recieving Tons of message and when we are saving it into database then it is getting locked up.

    That's the problem you should be focusing on. There's nothing about Context Properties that will help with a db endpoint issue.

    Can you post the exact error?  Maybe we can help with that instead.

    Monday, July 6, 2015 10:22 AM
    Moderator
  • Hi John ,

    Thanks for the response !!

    I want to ask whether there is any provision through which i can store message temporarily on the basis of context property at biztalk level .

    Or Else , Is there any other way through which I can store my message by creating a custom pipeline component for its own context property

    Regards
    Rishi

    Monday, July 6, 2015 10:28 AM
  • Hi Rishi ,

    Your problem is much more related to performance of your downstream system (e.g SQL server). I dont think its any problem with BizTalk .

    If you want to control the flow of messages you can define some architecture pattern like singleton or re sequencer pattern with your Orchestration .

    Holding message in temp or any folder wont resolve your issue.

    Thanks

    Abhishek

    • Marked as answer by John(Daniel) Monday, July 6, 2015 11:48 AM
    Monday, July 6, 2015 11:20 AM
  • Hi Rishi,

    Fro what I understand(i may be wrong), you want to store the messages which you are receiving before inserting into database as later those get locked and you can't access them?

    If yes then you can go for Archiving of the messages , this can be done using custom pipeline component or using orchestration as well.

    Below is link to custom compnent:https://biztalkarchiving.codeplex.com/

    Monday, July 6, 2015 11:45 AM