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

Once 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

You 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 set a data directory or specify --no-data-dir (see help for more details). The data directory is used for the 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-dir

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 dev@qpid.apache.org mailing list. To clear the lock run

Code Block

./qpidd -q

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 on the command line:

Code Block

./qpidd --help

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

It is really simple, to run cmd line

Code Block

./qpidd

to run as a daemon process

Code Block

./qpidd --daemon

stopping the daemon

Code Block

./qpidd --quit

Most common questions getting qpidd running

No data directory

The qpidd broker requires you to setup a data directory or specify --no-data-dir (see help for more details). Best
is to make sure that you have create a data directory for qpidd that the process has permissions to write to.

The default location is

Code Block

/lib/var/qpidd

An alternate location can be set with --data-dir

Starting qpidd and it says the that process is already 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 dev@qpid.apache.org mailing list. To clear the lock run

Code Block

./qpidd -q

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 the conf file

In 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.) remove the '--' from the beginning of the option.
b.) place a '=' between the option and the value.
c.) place one option per line.

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

Yes, all the clients work with the C++ broker. The only restriction is that the client that matches the AMQP version needed to be used; 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.

...