Who Should Use This Book
Before You Read This Book
How This Book Is Organized
Documentation Conventions
Related Documentation
Message Queue for the C Developer
Building and Running C Clients
Building C Clients
Header Files and Shared Libraries
Pre-Processor Definitions
C++ Runtime Library Support
Providing Runtime Support
Working With the Sample C-Client Programs
Basic C-Client Programs
Building the Basic C-Client Sample Programs
Running the Basic C-Client Sample Programs
Distributed Transaction Sample Programs
To Set Up Tuxedo as a Distributed Transaction Manager
To Build the Distributed Transaction Sample Programs
To Run the Distributed Transaction Sample Programs
Client Application Deployment Considerations
Message Queue C Client Setup Operations
To Set Up a Message Queue C Client to Produce Messages
To Set Up a Message Queue C Client to Consume Messages Synchronously
To Set Up a Message Queue C Client to Consume Messages Asynchronously
Working With Properties
Setting Connection and Message Properties
To Set Properties for a Connection
Getting Message Properties
To Iterate Through a Properties Handle
Working With Connections
Defining Connection Properties
Connection Handling
Reliability
Flow Control
Working With Secure Connections
Configuring the Client for Secure Communication
Verification Using Fingerprints
Coordinating NSS Initialization
Shutting Down Connections
Working With Sessions and Destinations
Creating a Session
Transacted Sessions
Message Acknowledgement
Receive Mode
Managing a Session
Creating Destinations
Programming Domains
Auto-Created Destinations
Temporary Destinations
Getting Information About Destinations
Working With Messages
Composing Messages
Message Header
Message Body Types
Composing the Message
Sending a Message
Receiving Messages
Working With Consumers
Receiving a Message Synchronously
Receiving a Message Asynchronously
Processing a Message
Working With Distributed Transactions
Message Queue Resource Manager Information
Programming Examples
Error Handling
To Handle Errors in Your Code
Memory Management
Logging
Producers and Consumers
Using Selectors Efficiently
Determining Message Order and Priority
Managing Threads
Message Queue C Runtime Thread Model
Concurrent Use of Handles
Single-Threaded Session Control
Connection Exceptions
Managing Physical Destination Limits
Managing the Dead Message Queue
Factors Affecting Performance
Delivery Mode (Persistent/Non-persistent)
Use of Transactions
Acknowledgement Mode
Durable and Non-Durable Subscriptions
Use of Selectors (Message Filtering)
Message Size
Message Type
Data Types
Connection Properties
To Set Connection Properties
Acknowledge Modes
Callback Type for Asynchronous Message Consumption
Parameters
Callback Type for Asynchronous Message Consumption in Distributed Transactions
Callback Type for Connection Exception Handling
Function Reference
MQAcknowledgeMessages
Return Value
Common Errors
MQCloseConnection
MQCloseMessageConsumer
MQCloseMessageProducer
MQCloseSession
MQCommitSession
MQCreateAsyncDurableMessageConsumer
MQCreateAsyncMessageConsumer
MQCreateAsyncSharedDurableMessageConsumer
MQCreateAsyncSharedMessageConsumer
MQCreateBytesMessage
MQCreateConnection
MQCreateDestination
MQCreateDurableMessageConsumer
MQCreateMessage
MQCreateMessageConsumer
MQCreateMessageProducer
MQCreateMessageProducerForDestination
MQCreateProperties
MQCreateSession
MQCreateSharedDurableMessageConsumer
MQCreateSharedMessageConsumer
MQCreateTemporaryDestination
MQCreateTextMessage
MQCreateXASession
MQFreeConnection
MQFreeDestination
MQFreeMessage
MQFreeProperties
MQFreeString
MQGetAcknowledgeMode
MQGetBoolProperty
MQGetBytesMessageBytes
MQGetConnectionProperties
MQGetDeliveryDelay
MQGetDestinationName
MQGetDestinationType
MQGetErrorTrace
MQGetFloat32Property
MQGetFloat64Property
MQGetInt16Property
MQGetInt32Property
MQGetInt64Property
MQGetInt8Property
MQGetMessageHeaders
MQGetMessageProperties
MQGetMessageReplyTo
MQGetMessageType
MQGetMetaData
MQGetPropertyType
MQGetStatusCode
MQGetStatusString
MQGetStringProperty
MQGetTextMessageText
MQGetXAConnection
MQInitializeSSL
MQPropertiesKeyIterationGetNext
MQPropertiesKeyIterationHasNext
MQPropertiesKeyIterationStart
MQReceiveMessageNoWait
MQReceiveMessageWait
MQReceiveMessageWithTimeout
MQRecoverSession
MQRollBackSession
MQSendMessage
MQSendMessageExt
MQSendMessageToDestination
MQSendMessageToDestinationExt
MQSetBoolProperty
MQSetBytesMessageBytes
MQSetDeliveryDelay
MQSetFloat32Property
MQSetFloat64Property
MQSetInt16Property
MQSetInt32Property
MQSetInt64Property
MQSetInt8Property
MQSetMessageHeaders
MQSetMessageProperties
MQSetMessageReplyTo
MQSetStringProperty
MQSetTextMessageText
MQStartConnection
MQStatusIsError
MQStopConnection
MQUnsubscribeDurableMessageConsumer
Header Files
Error Codes