Entries by Ramesh Natarajan

Topic Subscription on Queues

In this blog post, I will be discussing a Solace feature called “Topic Subscription on Queues” and explore how this feature can be used to meet some complex messaging requirements elegantly.  I will begin by covering few basic concepts, discuss the feature in detail and conclude with a list of benefits this feature offers.

The Messaging Model divide

JMS defines two distinct Messaging models : Point to Point and Publish/Subscribe. Point to Point (P2P or PTP) is built on the concept of message queues with publisher addressing messages to specific Queue and the receiving clients extracting messages from the queue. The Queue acts as a holding area and messages are retained in the Queue until they are consumed or expire. Queues remove the timing dependency between senders and receivers.  As the name Point-to-Point implies, each message can be consumed by only one consumer, though multiple consumers can bind to a queue.… Read the rest

Handling Solace Message Router Events in Applications

Solace message routers expose a rich set of events that help users understand the behavior of their applications and Solace message routers. These events are of interest to diverse groups including system administrators, middleware managers, application support teams and developers. Administrators and support teams use a variety of tools such as syslog servers, monitoring dashboards, NMS systems, etc to collect and process events of interest. As an application developer, these tools may not be accessible or familiar to you. Besides, not all the events from the router is of interest to development teams. In this blog post, I will discuss how you can gather Solace events of interest directly in your application.… Read the rest

Effective Logging in Applications that Use Solace Messaging (part 2)

In an earlier post, I provided an overview of logging in applications using Solace messaging, different types of logging facilities available in Solace as well some recommended events to log in your application.

To recap, Solace provides implicit logging facilities in terms of API logging and Solace message router logging. As an application developer, you should equip your code to handle and log the following:

  • Asynchronous Events
  • Solace Exceptions

In this post, I will cover those in more detail along with code snippets to handle them. I will use JMS and Java APIs  for illustration. These are, however, not complete class definitions. Please refer to the sample code bundled with the Solace API package for working samples.

Some of the code snippets and sample events discussed here may require a deeper understanding of Solace concepts. I will cover some basic Solace concepts as the discussion topic requires. You can learn more about the core concepts and features of Solace technology on the Technology page.… Read the rest

Effective Logging in Applications that Use Solace Messaging (part 1)

application-logging-screenshotLogging is an important element of the application development process, but not always given the attention it deserves. As a developer, there are various types of logs that you will need to handle in the application such as: logs related to business events, operational conditions, user interaction, exceptions, debug logs, etc. In this blog post I will discuss logging related to Solace messaging and how to handle them effectively in your application.

I will present a general overview of application logging in the context of Solace messaging first, followed by other implicit and external logging facilities available in Solace. I will follow this up with another post with code snippets and config files to handle logging in the application.

This post assumes working familiarity with basic messaging concepts and Solace features. You are encouraged to visit the Solace Developer portal  to familiarize yourself with Solace concepts.

To log or not to log, that is the question!

Read the rest