Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Building the C++ Broker and Client Libraries

The root directory for the C++ distribution is named qpidc-0.4. The README file in that directory gives instructions for building the broker and client libraries. In most cases you will do the following:

Code Block

[qpidc-0.4]$ ./configure}}
[qpidc-0.4]$ make

Running the C++ Broker

It is really simple, to run cmd lineOnce you have built the broker and client libraries, you can start the broker from the command line:

Code Block
[qpidc-0.4]$ src/qpidd

Use the --daemon option to run the broker as a daemon process:

Code Block
[qpidc-0.4]$ src/qpidd --daemon

stopping the daemonYou can stop a running daemon with the --quit option:

Code Block
[qpidc-0.4]$ src/qpidd --quit

You can see all available options with the --help option

Code Block

[qpidc-0.4]$ src/qpidd --help

Most common questions getting qpidd running

...

Error when starting broker: "no data directory"

The qpidd broker requires you to setup set a data directory or specify --no-data-dir (see help for more details). Best
is to make sure that you have create a The data directory is used for qpidd that the process has permissions to write tothe journal, so it is important when reliability counts. Make sure your process has write permission to the data directory.

The default location is

Code Block
/lib/var/qpidd

An alternate location can be set with --data-dirStarting qpidd and it says the

Error when starting broker: "that process is

...

locked"

Note that when qpidd starts it creates a lock file is data directory are being used. If you have a un-controlled exit, please mail
the trace from the core to the qpid-dev@idev@qpid.aapache.o org mailing list. To clear the lock run

...

It should also be noted that multiple brokers can be run on the same host. To do so set alternate data directories for each qpidd instance.

Using a configuration file

Each option that can be specified on the command line can also be specified in a configuration file. To see available options, use --help the conf fileIn order to use the conf file, use the same options that are on the command line:

Code Block
./qpidd --help

but formated in the following way. A configuration file uses name/value pairs, one on each line. To convert a command line option to a configuration file entry:

a.) remove the '--' from the beginning of the option.
b.) place a '=' between the option and the value (use yes or true to enable options that take no value when specified on the command line).
c.) place one option per line.

For instance, the --daemon option takes no value, the --log-to-syslog option takes the values yes or no. The following configuration file sets these two options:

Code Block

daemon=yes
log-to-syslog=yes

Can I use any Language client with the C++ Broker?

Yes, all the clients work with the C++ broker; it is written in C+, but uses the AMQP wire protocol. Any broker can be used with any client that uses the same AMQP version. When running the C+ broker, it is highly recommended to run AMQP 0-10.

Note that JMS also works with the C++ broker. For more details on using the Java client refer to these pages:

Authentication

Linux

The PLAIN authentication is done on a username+password, which is stored in the sasldb_path file. Usernames and passwords can be added to the file using the command:

Code Block

saslpasswd2 -f /var/lib/qpidd/qpidd.sasldb -u <REALM> <USER>

The REALM is important and should be the same as the --auth-realm
option to the broker. This lets the broker properly find the user in
the sasldb file.

Existing user accounts may be listed with:

Code Block

sasldblistusers2 -f /var/lib/qpidd/qpidd.sasldb

NOTE: The sasldb file must be readable by the user running the qpidd daemon, and should be readable only by that user.

Windows

On Windows, the users are authenticated against the local machine. You should add the appropriate users using the standard Windows tools (Control Panel->User Accounts). To run many of the examples, you will need to create a user "guest" with password "guest".

If you cannot or do not want to create new users, you can run without authentication by specifying the no-auth option to the broker.

Slightly more complex configuration

...