Habari STOMP Client for Artemis 7.2
Object Pascal STOMP client library for ActiveMQ Artemis
TBTConnection Class Reference

A Connection object is a client's active connection to its provider. More...

Inheritance diagram for TBTConnection:
IConnection IConnectionInfo

Public Member Functions

TBTConnection MakeConnection ()
 A static helper method to create a new connection.
 
TBTConnection MakeConnection (const string UserName, const string Password, const string URL)
 A static helper method to create a new connection.
 
Boolean TransportConnected ()
 Is the transport layer connected? More...
 
string StompSessionID ()
 Stomp session ID. More...
 
string StompServerName ()
 Stomp server name. More...
 
TStompProtocolVersion StompProtocolVersion ()
 Stomp protocol version of the current connection. More...
 
 Stop ()
 Temporarily stops a connection's delivery of incoming messages. More...
 
ISession CreateSession (const Boolean Transacted, const TAcknowledgementMode AcknowledgementMode)
 Creates a new session to work on this connection, specifying transacted and acknowledgeMode. More...
 
ISession CreateSession (const TAcknowledgementMode ASessionMode)
 Creates a new session to work on this connection, specifying sessionMode. More...
 
 SetDefaultClientID (const string Value)
 Sets the default client id that the connection will use if explicitly not set with the SetClientID call.
 
 SetTransformer (const IMessageTransformer Transformer)
 Set the message transformer.
 
IMessageTransformer GetTransformer ()
 Get the message transformer.
 
 SetMapMessageTransformationId (const string ATransformationId)
 Set the transformation id for map messages.
 
 SetObjectMessageTransformationId (const string ATransformationId)
 Set the transformation id for object messages.
 

Public Attributes

string ClientID
 The client identifier for this connection. More...
 

Protected Member Functions

 CheckClientIDWasManuallySpecified ()
 Ensures that the ClientID was manually specified and not auto-generated. More...
 
 SendHeartbeat ()
 Send a heartbeat signal (requires Stomp 1.1)
 
 CheckHeartbeat ()
 Check for server heartbeat signal (requires Stomp 1.1) More...
 
Boolean ReceiveHeartbeat (const Integer ATimeout)
 Try to receive server heartbeat. More...
 

Detailed Description

A Connection object is a client's active connection to its provider.

A connection serves several purposes:

  • It encapsulates an open connection with a message 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.

Member Function Documentation

◆ CheckClientIDWasManuallySpecified()

TBTConnection::CheckClientIDWasManuallySpecified ( )
protected

Ensures that the ClientID was manually specified and not auto-generated.

If the ClientID was not specified this method will throw an exception. This method is used to ensure that the ClientID + durableSubscriber name are used correctly.

◆ CheckHeartbeat()

TBTConnection::CheckHeartbeat ( )
protected

Check for server heartbeat signal (requires Stomp 1.1)

Exceptions
ENoHeartbeatif an expected server heartbeat was missing

◆ CreateSession() [1/2]

ISession TBTConnection::CreateSession ( const Boolean  Transacted,
const TAcknowledgementMode  AcknowledgementMode 
)

Creates a new session to work on this connection, specifying transacted and acknowledgeMode.

Parameters
Transacted- indicates whether the session is transacted
AcknowledgementMode- indicates whether the consumer or the client will acknowledge any messages it receives.
Returns
new session

◆ CreateSession() [2/2]

ISession TBTConnection::CreateSession ( const TAcknowledgementMode  ASessionMode)

Creates a new session to work on this connection, specifying sessionMode.

Parameters
ASessionMode- indicates whether the consumer or the client will acknowledge any messages it receives.
Returns
new session

◆ ReceiveHeartbeat()

Boolean TBTConnection::ReceiveHeartbeat ( const Integer  ATimeout)
protected

Try to receive server heartbeat.

Requires Stomp 1.1

Parameters
ATimeouttimeout
Returns
True if a heartbeat signal was received

◆ StompProtocolVersion()

TStompProtocolVersion TBTConnection::StompProtocolVersion ( )

Stomp protocol version of the current connection.

See also
IConnectionInfo

◆ StompServerName()

string TBTConnection::StompServerName ( )

Stomp server name.

See also
IConnectionInfo

◆ StompSessionID()

string TBTConnection::StompSessionID ( )

Stomp session ID.

See also
IConnectionInfo

◆ Stop()

TBTConnection::Stop ( )

Temporarily stops a connection's delivery of incoming messages.

Delivery can be restarted using the connection's Start method.

When the connection is stopped, delivery to all the connection's message consumers is inhibited: synchronous receives block, and messages are not delivered to message listeners.

◆ TransportConnected()

Boolean TBTConnection::TransportConnected ( )

Is the transport layer connected?

See also
IConnectionInfo

Member Data Documentation

◆ ClientID

string TBTConnection::ClientID

The client identifier for this connection.

The purpose of the client identifier is to associate a connection and its objects with a state maintained on behalf of the client by a provider. The only such state identified by the API is that required to support durable subscriptions.

See also
GetClientID For reading
SetClientID For writing