Share via


Released listener for queues and subscriptions in the Service Bus Explorer

I just released an improved version of the Service Bus Explorer 2.1 and 2.2.

The zip file contains:

  • The source code for the Service Bus Explorer 2.2.1.1. This version of the tool uses the Microsoft.ServiceBus.dll 2.2.1.1 that is compatible with the current version of the Windows Azure Service Bus, but not with the Service Bus 1.1, that is, the current version of the on-premises version of the Service Bus.
  • The Service Bus Explorer 2.1. This version can be used with the Service Bus 1.1. The Service Bus Explorer 2.1 uses the Microsoft.ServiceBus.dll client library which is compatible with the Service Bus for Windows Server 1.1 RTM version, but not with the 1.1 Beta version or the Service Bus for Windows Server 1.0. For this reason, for those of you that are still using the Service Bus for Windows Server version 1.0, I included the old version (1.8) of the Service Bus Explorer in a zip file called 1.8 which in turn is contained in the zip file of the current version. The old version of the Service Bus Explorer uses the Microsoft.ServiceBus.dll 1.8 which is compatible with the Service Bus for Windows Server. For those of you that are instead using the Service Bus for Windows Server 1.1 Beta, you can download the Service Bus Explorer 2.0 from my SkyDrive.
  • The Service Bus Explorer 1.8. This version can be used with the Service Bus 1.0

This version introduces the following updates for both the 2.1 and 2.2 version:

  • Introduced a new command to start one or more listeners for a given queue or subscription. Right click the queue or subscription and select, respectively, Create Queue Listerner or Create Subscription Listener from the context menu as shown in the following picture.

  • In the listener dialog you can set the following properties:
    1. MaxConcurrentCalls: gets or sets the maximum number of concurrent calls to the callback the message pump should initiate.
    2. Refresh Interval (sec): sets a refresh interval in seconds for queue or subscription message count information.
    3. Graph: enable or disable the graph.
    4. AutoComplete: gets or sets a value that indicates whether the message-pump should call Complete(Guid) or Complete(Guid) on messages after the callback has completed processing
    5. Tracking: enable or disable message tracking. When enabled, you can use the Messages tab to access messages.
    6. Logging: enable or disable logging.
    7. Verbose: enable or disable verbose mode when logging is enabled.

  • Press the Start button to start the listener.

  • The Start button turns into the Stop button. 
  • Press the Stop button to stop the listener. 
  • Press the Close the listener dialog. If the listener is open, this operation closes the listener.
  • Press the Clear button to clear tracked messages and log content.
  • Press the Messages tab to access messages. 
  • You can click s message row to access its payload, custom and system properties.

  • Click the the magnifying glass button to define a filter expression for received messages using a SQL Expression (e.g. sys.Size > 300 and sys.Label='Service Bus Explorer' and City='Pisa'). For more information, see SqlFilter.SqlExpression Property.

  • Double click a row or click Repair and Resubmit Message from the context menu to open a message in the a separate dialog. This functionality allows to clone and send the selected messages to a the same or alternative queue or topic in the Service Bus namespace. If you want to edit the payload, system properties or user-defined properties, you have to select, edit and send messages one at a time.

  • Minor changes:
    • Fixed ListView control visualization when the vertical bar is visible
    • Increased ReaderQuotas when reading WCF messages. This adds support for large messages.

Comments

  • Anonymous
    May 13, 2014
    This is a great tool and I'm learning a great deal looking at the source code and not to mention it's usefulness as a service bus explorer. I'm particularly trying to understand the logic and best practices around dynamically creating subscription listeners which is one of our requirements. One issue I encountered when testing this that it doesn't show all the messages (at least not in the UI) e.g. if I send 10 messages, generated in a loop with identical message bodies, to a particular subscription, the Subscription Listener page will only show 4 or 5. I say 4 or 5, because it's not consistent. Have you had similar issue. do you have any suggestion kindly?

  • Anonymous
    May 13, 2014
    Hi Malcom I'm working to a new version of the tool and in particular to a new version of the ListernerControl. I will soon publish the new version. I hope the new version will fix your problem. Ciao Paolo