Message queuing method, system, and program product with reusable pooling component
First Claim
Patent Images
1. A message queuing system for communicating messages from a first application program to a second application program, the message queuing system comprising:
- a client, wherein the first application program is running on the client;
a message queuing layer including a message queue manager operable to manage a first message queue associated with the first application program running on the client;
a message pooling layer between the client and the message queuing layer, the message pooling layer including;
a connection pool that contains a pool of reusable message queuing connections between the client and the message queuing layer, the pool of reusable message queuing connections being used for placing messages from the first application program in the first message queue, the message queuing connections between the client and the message queuing layer being kept open during periods of non-use for subsequent connections by the client;
a connection pool preserver running separate threads to maintain the pool of reusable message queuing connections contained in the connection pool; and
a queue manager that controls the separate running threads in the connection pool; and
a message queuing API (application programming interface) that transports the messages placed in the first message queue to a second message queue associated with the second application,wherein a user of the first application specifies a queue name rather than a name of the second application in order to transport any given message from the first application to the second application.
4 Assignments
0 Petitions
Accused Products
Abstract
A pooling mechanism to limit repeated connections in message queuing systems and to prevent excessive making and breaking of connections and associated overhead. The invention does this by providing a layer between a client and the message queuing system where connections are pooled. The pooling mechanism of the invention prevents a system from losing too many resources through the repeated making and breaking of excessive message queuing system connections.
-
Citations
5 Claims
-
1. A message queuing system for communicating messages from a first application program to a second application program, the message queuing system comprising:
-
a client, wherein the first application program is running on the client; a message queuing layer including a message queue manager operable to manage a first message queue associated with the first application program running on the client; a message pooling layer between the client and the message queuing layer, the message pooling layer including; a connection pool that contains a pool of reusable message queuing connections between the client and the message queuing layer, the pool of reusable message queuing connections being used for placing messages from the first application program in the first message queue, the message queuing connections between the client and the message queuing layer being kept open during periods of non-use for subsequent connections by the client; a connection pool preserver running separate threads to maintain the pool of reusable message queuing connections contained in the connection pool; and a queue manager that controls the separate running threads in the connection pool; and a message queuing API (application programming interface) that transports the messages placed in the first message queue to a second message queue associated with the second application, wherein a user of the first application specifies a queue name rather than a name of the second application in order to transport any given message from the first application to the second application.
-
-
2. A program product comprising computer readable code tangibly stored on a computer readable media, the computer readable code adapted to configure and control a computer when executing to establish:
-
a client, wherein a first application program is running on the client; a message queuing layer including a message queue manager operable to manage a first message queue associated with the first application running on the client; a message pooling layer between the client and the message queuing layer, the message pooling layer including; a connection pool that contains a pool of reusable message queuing connections between the client and the message queuing layer, the pool of reusable message queuing connections being used for placing messages from the first application in the first message queue, the message queuing connections between the client and the message queuing layer being kept open during periods of non-use for subsequent connections by the client; a connection pool preserver running separate threads to maintain the pool of reusable message queuing connections contained in the connection pool; and a queue manager that controls the separate running threads in the connection pool; and a message queuing API (application programming interface) that transports the messages placed in the first message queue to a second message queue associated with the second application, wherein a user of the first application specifies a queue name rather than a name of the second application in order to transport any given message from the first application to the second application. - View Dependent Claims (3, 4, 5)
-
Specification