Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » QAnywhere » How to write QAnywhere client applications » Initializing a QAnywhere API


Setting up C++ applications

Before you can send or receive messages using QAnywhere C++ clients, you must complete the following initialization tasks.

 Initialize the QAnywhere C++ API

Instead of creating a QAManager, you can create a QATransactionalManager. See Implementing transactional messaging for C++ clients.

  1. Include the QAnywhere header file.

    #include <qa.hpp>

    qa.hpp defines the QAnywhere classes.

  2. Initialize QAnywhere.

    To do this, initialize a factory for creating QAManager objects.

    QAManagerFactory * factory;
    factory = QAnywhereFactory_init();
    if( factory == NULL ) {
          // Fatal error.

    For more information about QAManagerFactory, see QAManagerFactory class [QAnywhere C++].

  3. Create a QAManager instance.

    You can create a default QAManager object as follows:

    QAManager *  mgr;
    // Create a manager
    mgr = factory->createQAManager();
    if( mgr == NULL ) {
      // fatal error

    See QAManager class [QAnywhere C++].


    For maximum concurrency benefits, multi-threaded applications should create a QAManager for each thread. See Multi-threading considerations.

    You can customize a QAManager object programmatically or using a properties file.

  4. Initialize the QAManager object.

    qa_bool  rc;
         AcknowledgementMode::IMPLICIT_ACKNOWLEDGEMENT );

    The argument to the open method is an acknowledgement mode, which indicates how messages are to be acknowledged. It must be one of IMPLICIT_ACKNOWLEDGEMENT or EXPLICIT_ACKNOWLEDGEMENT. With implicit acknowledgement, messages are acknowledged when they are received by the client. With explicit acknowledgement, you must call one of the acknowledge methods on the QAManager to acknowledge the message.

    For more information about acknowledgement modes, see AcknowledgementMode class [QAnywhere C++].

You are now ready to send messages.

 See also