Package jakarta.jms

Interface Connection

All Superinterfaces:
AutoCloseable
All Known Subinterfaces:
QueueConnection, TopicConnection, XAConnection, XAQueueConnection, XATopicConnection

public interface Connection extends AutoCloseable
A Connection object is a client's active connection to its Jakarta Messaging provider. It typically allocates provider resources outside the Java virtual machine (JVM).

Connections support concurrent use.

A connection serves several purposes:

  • It encapsulates an open connection with a Jakarta Messaging provider. It typically represents an open TCP/IP socket between a client and the service provider software.
  • Its creation is where client authentication takes place.
  • It can specify a unique client identifier.
  • It provides a ConnectionMetaData object.
  • It supports an optional ExceptionListener object.

Because the creation of a connection involves setting up authentication and communication, a connection is a relatively heavyweight object. Most clients will do all their messaging with a single connection. Other more advanced applications may use several connections. The Jakarta Messaging API does not architect a reason for using multiple connections; however, there may be operational reasons for doing so.

A Jakarta Messaging client typically creates a connection, one or more sessions, and a number of message producers and consumers. When a connection is created, it is in stopped mode. That means that no messages are being delivered.

It is typical to leave the connection in stopped mode until setup is complete (that is, until all message consumers have been created). At that point, the client calls the connection's start method, and messages begin arriving at the connection's consumers. This setup convention minimizes any client confusion that may result from asynchronous message delivery while the client is still in the process of setting itself up.

A connection can be started immediately, and the setup can be done afterwards. Clients that do this must be prepared to handle asynchronous message delivery while they are still in the process of setting up.

A message producer can send messages while a connection is stopped.

Since:
JMS 1.0
Version:
Jakarta Messaging 2.0
See Also: