{"id":1407,"date":"2010-12-07T23:58:36","date_gmt":"2010-12-07T18:28:36","guid":{"rendered":"http:\/\/JitendraZaa.com\/blog\/?p=1407"},"modified":"2010-12-07T23:58:36","modified_gmt":"2010-12-07T18:28:36","slug":"msmq-microsoft-message-queue-introduction","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/microsoft\/msmq-microsoft-message-queue-introduction\/","title":{"rendered":"MSMQ &#8211; Microsoft Message Queue Introduction"},"content":{"rendered":"<p><strong>Microsoft Message Queue (MSMQ):<\/strong><br \/>\n<strong> MSMQ is a messaging protocol that allows applications running on separate servers\/processes to communicate in a failsafe manner. <\/strong>A queue is a temporary storage location from which messages can be sent and received reliably, as and when conditions permit.\u00a0Queues are used to receive and send the Messages.<\/p>\n<p>To Install MSMQ, Go to Control Panel -&gt; Add Remove Program -&gt; Add Windows Component and select &#8220;Message Queuing&#8221;<\/p>\n<figure id=\"attachment_1412\" aria-describedby=\"caption-attachment-1412\" style=\"width: 407px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2010\/12\/MSMQ-Microsoft-Messaging-Queue.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1412  \" title=\"Install MSMQ - Microsoft Messaging Queue\" src=\"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2010\/12\/MSMQ-Microsoft-Messaging-Queue.png?resize=407%2C296&#038;ssl=1\" alt=\"Install MSMQ - Microsoft Messaging Queue\" width=\"407\" height=\"296\" \/><\/a><figcaption id=\"caption-attachment-1412\" class=\"wp-caption-text\">Install MSMQ - Microsoft Messaging Queue<\/figcaption><\/figure>\n<p><!--more--><\/p>\n<p><strong>There are two types of Messaging Queue:<\/strong><\/p>\n<p><strong> 1. Public Queue:<\/strong><\/p>\n<ul>\n<li>Provide Message routing.<\/li>\n<li>Public queues are accessed through &#8220;Machine nameQueue name&#8221;<\/li>\n<\/ul>\n<p><strong>2. Private Queue:<\/strong><\/p>\n<ul>\n<li>Do not Provide any routing.<\/li>\n<li>Private queues are accessed through &#8220;Machine namePrivate$Queue name&#8221;.<\/li>\n<li>If MSMQ is installed on the same machine as your application then you can replace the machine name with a dot, for example &#8220;.Private$Sales&#8221;<\/li>\n<\/ul>\n<p><strong>MSMQ is deployed in two mode:<\/strong><br \/>\n<strong> 1. Workgroup mode<\/strong><\/p>\n<ul>\n<li>only private Queue therefore no messaging routing<\/li>\n<li>only &#8220;Common&#8221; and &#8220;Trigger&#8221; components needed.<\/li>\n<\/ul>\n<p><strong>2. Domain mode<\/strong><\/p>\n<ul>\n<li>private and public queue.<\/li>\n<li>Machine that installed MSMQ must be the part of domain and uses Active Directory.<\/li>\n<li>&#8220;Common&#8221;, &#8220;Trigger&#8221;, &#8220;Active Directory Integration&#8221;, &#8220;Routing Suport&#8221; components are needed.<\/li>\n<\/ul>\n<p><strong>MSMQ Installs two window services also:<\/strong><\/p>\n<ol>\n<li>Message Queueing<\/li>\n<li>Message Queueing Triggers<\/li>\n<\/ol>\n<p><strong>Administrative interface:<\/strong><br \/>\nTo Open admin Panel , My Computer -&gt; Manage -&gt; Services and Applications -&gt; Message Queueing.<\/p>\n<figure id=\"attachment_1410\" aria-describedby=\"caption-attachment-1410\" style=\"width: 267px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2010\/12\/MSMQ-Admin-panel.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1410\" title=\"MSMQ Admin panel\" src=\"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2010\/12\/MSMQ-Admin-panel.png?resize=267%2C201&#038;ssl=1\" alt=\"MSMQ Admin panel\" width=\"267\" height=\"201\" \/><\/a><figcaption id=\"caption-attachment-1410\" class=\"wp-caption-text\">MSMQ Admin panel<\/figcaption><\/figure>\n<p>Under each queue you will find following three items:<\/p>\n<p><strong> 1. Queue Messages<\/strong><\/p>\n<ul>\n<li>All the messages currently seating in Queue.<\/li>\n<li>You can view the properties of all messages but cannot change it.<\/li>\n<li>Cannot create new messages or cannot delete an individual existing messages.<\/li>\n<li>You can delete all the messages by right click on &#8220;Queue messages&#8221; and select<strong> &#8220;All Tasks | Purge&#8221;<\/strong><\/li>\n<\/ul>\n<p><strong>2. Journal Messages<\/strong><\/p>\n<ul>\n<li>During Queue creation journal can be &#8220;enabled&#8221; means a copy  of message from queue is placed into journal.<\/li>\n<li>Means you have the copy of all messages of queue which is read or processed.<\/li>\n<li>Purge (Delete) messages regulary from journal otherwise its size will be increased.<\/li>\n<\/ul>\n<p><strong>3. Triggers<\/strong><\/p>\n<ul>\n<li>Allows to register the Trigger when message is placed in Queue.<\/li>\n<li>During Trigger setting you can specify COM component or external executable.<\/li>\n<\/ul>\n<p>Other than Public and Private Queue, one more Queue is present which is<strong> &#8220;System Queue&#8221;<\/strong>. Which cannot be modified or removed.<\/p>\n<p>Under System Queue you will find following three items:<br \/>\n<strong> 1. Journal Messages:<\/strong><\/p>\n<ul>\n<li>During Queue creation journal can be &#8220;enabled&#8221; means a copy  of message from queue is placed into journal. And if the journal is not enabled then copy of message is placed in &#8220;System queue&#8217;s journal&#8221; (condition it should be enabled at code). \u00a0Means its your choice that you want to maintain journal at system queue level or message queue level.<\/li>\n<\/ul>\n<p><strong> 2. Dead &#8211; Letter Messages :<\/strong><\/p>\n<ul>\n<li>copy of all the Messages which are not delivered or expired before deliver or expired before its read \/ received (condition it should be enabled at code).<\/li>\n<\/ul>\n<p><strong> 3. Transactional Dead &#8211; Letter Messages: <\/strong><\/p>\n<ul>\n<li>Same as &#8220;Dead &#8211; Letter Messages&#8221; but its for Transactional Messages.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>How to Install MSMQ, MSMQ &#8211; Microsoft Message Queue Introduction, Types of Queue, Modes of Queue, System Queue<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[22,5],"tags":[51,146,219],"class_list":["post-1407","post","type-post","status-publish","format-standard","hentry","category-csharp","category-microsoft","tag-c","tag-msmq","tag-windows-xp"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":6836,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/framework-to-fix-governor-limit-of-100-jobs-in-flex-queue\/","url_meta":{"origin":1407,"position":0},"title":"Framework to fix &#8211; Governor Limit of 100 jobs in Flex Queue","author":"Jitendra","date":"April 25, 2019","format":false,"excerpt":"How to design an application in Salesforce to handle governor limit error of maximum 100 jobs in Flex Queue","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Apex Flex Queue Governor Limit","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/04\/Salesforce-Apex-Flex-Queue-Governor-Limit.png?fit=1200%2C539&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":5487,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/guide-to-setup-omni-channel-in-salesforce-with-video\/","url_meta":{"origin":1407,"position":1},"title":"Guide to setup Omni Channel in Salesforce with Video","author":"Jitendra","date":"May 12, 2016","format":false,"excerpt":"Step by step guide to know about Omni Channel and how does it makes Call Centre Queue Manager's life easier in Salesforce Service Cloud","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Omni Channel - Presence Configurations","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/05\/Omni-Channel-Presence-Configurations.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/05\/Omni-Channel-Presence-Configurations.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/05\/Omni-Channel-Presence-Configurations.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/05\/Omni-Channel-Presence-Configurations.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1359,"url":"https:\/\/www.jitendrazaa.com\/blog\/sql\/sqlserverintegrationservices\/etl-dts-and-ssis-introduction\/","url_meta":{"origin":1407,"position":2},"title":"ETL , DTS and SSIS Introduction","author":"Jitendra","date":"December 4, 2010","format":false,"excerpt":"Introduction to ETL Services, Data transformation services, SQL Server Integration Services, Advantages of SSIS over DTS, New features of SSIS 2008","rel":"","context":"In &quot;SSIS&quot;","block_context":{"text":"SSIS","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/sql\/sqlserverintegrationservices\/"},"img":{"alt_text":"What is ETL Extraction Transformation Loading","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2010\/12\/What-is-ETL-Extraction-Transformation-Loading.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":7286,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/point-click-based-integration-between-facebook-messenger-and-salesforce-in-5-minutes\/","url_meta":{"origin":1407,"position":3},"title":"Point &#038; Click Based Integration Between Facebook Messenger And Salesforce In 5 Minutes","author":"Jitendra","date":"August 29, 2021","format":false,"excerpt":"How to setup Facebook Messenger and Service Cloud in Salesforce within 5 Minutes Using Digital Engagement & No Code Approach","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce & Facebook Messenger Integration","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":5094,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/10-salesforce-integration-design-considerations-from-architect-point-of-view-mind-mapping-included\/","url_meta":{"origin":1407,"position":4},"title":"10 Salesforce Integration design considerations from Architect point of view &#8211; Mind Mapping included","author":"Jitendra","date":"December 21, 2015","format":false,"excerpt":"After working on multiple Salesforce implementation project as an Architect, its time to share\u00a0what I learned from those implementations and would strongly suggest to be considered before designing any \"Salesforce Integration\". Below image shows \"integration mind mapping\" used by me. I use it to consider some major aspects\u00a0while discussing integration\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Integration Mind mapping diagram","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":3112,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-interview-question-part-13\/","url_meta":{"origin":1407,"position":5},"title":"Salesforce Interview Question \u2013 Part 13","author":"Jitendra","date":"September 25, 2012","format":false,"excerpt":"121 : Consider we have overall 90% code coverage however there is one class which have 0% code coverage. Can we still able to deploy that class on production? Ans : Yes. Minimum 1% required for every trigger and there is no such restriction for Apex class. 122 : How\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/1407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=1407"}],"version-history":[{"count":0,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/1407\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=1407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=1407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=1407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}