# tibemsXAConnection_Close

Function

## Purpose

Close the connection; reclaim resources.

## C Declaration

    tibems_status tibemsXAConnection_Close(
        tibemsConnection connection );

## COBOL Call

    CALL "tibemsXAConnection_Close"
         USING BY VALUE connection,
               RETURNING tibems-status
    END-CALL.

Note: `connection` has usage pointer.

## Parameters

Parameter | Description
--- | ---
`connection` | Close this connection.

## Remarks

Closing an XA connection reclaims all XA resources associated with the connection or its sessions.

Closing the connection is not sufficient to reclaim all of its resources; your program must explicitly close the sessions, producers, and consumers associated with the connection.

Closing a connection deletes all temporary destinations associated with the connection.

Blocking

If any message listener or receive call associated with the connection is processing a message when the program calls this function, all facilities of the connection and its sessions remain available to those listeners until they return. In the meantime, this function blocks until that processing completes—that is, until all message listeners and receive calls have returned.

Acknowledge

Closing a connection does not force acknowledgment in client-acknowledged sessions. When the program still has a message that it received from a connection that has since closed, `tibemsMsg_Acknowledge` returns the status code `TIBEMS_ILLEGAL_STATE`.

Transactions

Closing a connection rolls back all open transactions in all sessions associated with the connection.

## See Also

`tibemsMsg_Acknowledge`

`tibemsMsgConsumer`

`tibemsMsgProducer`

`tibemsDestination`

`tibemsSession`

Copyright © Cloud Software Group, Inc. All rights reserved.