Red Hat Bugzilla – Bug 432049
Changes to command line options (C++ broker)
Last modified: 2013-10-23 19:06:58 EDT
The following changes have been made to the qpidd command line options:
The --load-dir option has been renamed to --module-dir
The --no-modules option and been replaced by the --no-module-dir option. This
new option suppresses ONLY the loading of modules from the module directory.
The --no-data-dir option has been added to suppress the use of a data directory.
None of these options currently exist in the documents. Do they need to be added?
The text for --data-dir states that --data-dir "" can be used to supress the use
a data dir. Is this no longer accurate/recommended?
Please advise. LKB
The C++ broker has a plug-in interface that is used to extend its capabilities.
Both the durable-message-store and clustering are plug-in modules.
By default, the broker loads all .so files from the /usr/lib/qpidd directory.
The --module-dir option may be used to redirect the broker to a different module
directory. Alternatively, the --no-module-dir option causes the broker to
ignore the module directory.
Regardless of the module directory configuration, the --load-module option can
be used to make the broker load specific library files as plug-in modules.
The C++ broker will occasionally need to store data persistently on a file
system. Examples of this include, but are not limited to durable message data
and persistent configuration data.
By default, the broker stores this data in the /var/lib/qpidd directory.
The --data-dir option may be used to redirect the broker to a different data
directory. The --no-data-dir option causes the broker to ignore the data
directory and to disable the storing of persistent data.
--store-directory is a special option that overrides the data directory for only
the durable message store. This is desirable in cases where the message store
is to be kept on a dedicated, high speed/high capacity file system.
Note that only one running broker may access the data directory at a time. If a
second broker process tries to access an in-use data directory, its startup will
fail with a "Data directory is locked by another process" error.
Need further information on whether these options need to be reflected in the
documents. See my email to email@example.com on 13 Feb 2008, titled "Changes
to Command Line Options":
As part of the process to get our Beta documentation ready for GA, I want to
review the options that we list in the Install Guide. As there has been a number
of bugs raised with this topic recently, I wanted to ask the following questions:
1. What are the "common" options - that is, which ones need to be included in
the Installation Guide?
2. How should the options be categorised? Currently, we have General, Service
(daemon) and Persistence Options.
3. What descriptions should be used for each option?
The current list follows ...
Thanks in advance,
Currently we list the following options as "general":
# rhmd -t This option enables debug tracing, with output printed to the
# rhmd -p <Port_Number> Instructs the broker to use the specified port.
Typing # rhmd -p 5672 instructs it to use port 5672. It is possible to run
multiple brokers simultaneously by using different port numbers.
# rhmd -v Displays the installed version.
# rhmd -h Displays the help message.
The following options as "service (daemon)":
# rhmd -d This option instructs rhmd to run in the background as a daemon.
Messages retrieved using a consumer are displayed, but any output usually
displayed by the broker is supressed.
# rhmd -q When the broker is running as a daemon this command shuts the
broker down politely; that is, by closing the child processes, followed by the
# rhmd -c This command checks if the daemon is already running. If it is
running, it returns the process ID number.
# rhmd -d --wait=<seconds> This sets the maximum wait time (in seconds) for
the daemon to initialize. If the daemon has not successfully completed
initialization within this time, an error is returned. This option must be used
in conjunction with the -d
And the following as "Persistence":
# rhmd --load-module <LIBNAME> Instructs the broker to use the LIBNAME
library for persistence.
# rhmd --store-directory <DIR> Directory in which async or persistence
journal files will be placed. The --store-directory option does not have a
default value. If no directory is specified using this command, then the broker
will use the directory specified by the --data-dir option instead.
# rhmd --data-dir <DIR> Specifies the directory used for persistent storage
of configuration information and other data. The default is /var/lib/qpidd. If
the --data-dir "" command is used (ie: no data directory), then persistent
storage is disabled.
# rhmd --store-async <yes|no> If yes (or 1), the broker will use an
asynchronous journal for message persistence; if no (or 0), the broker will use
a persistence journal. Defaults to 0. (Note: See
https://bugzilla.redhat.com/show_bug.cgi?id=432565 for changes to this one)
A unilateral decision will be made on this subject by me if no response received
by Friday 16 May.
Here are two new options to the Broker...
("auth", optValue(auth, "yes|no"),
"Enable authentication, if disabled all incoming connections will be trusted")
("realm", optValue(realm, "REALM"),
"Use the given realm when performing authentication")
More options seem to be missing. You should run qpidd --help to see all the
Changes made to options as per Kim's email.
Changes available for review here:
Closed based on emails received from Kim.
Updated Options chapter available for review here: