QPID-CONFIG(1)
π QPID-CONFIG(1) β the QPID Broker Configuration Tool, but make it make sense π
okay so first things first, bestie: this is the qpid-config page from the User Commands manual. It's your little remote control for a Qpid broker β adding queues, adding exchanges, binding stuff together, and generally being the main character of your message broker's configuration. let's get into it π
β¨ NAME β¨
qpid-config β the QPID Broker Configuration Tool. that's the whole vibe. it configures brokers. it's giving "I'm the one who knocks" but for AMQP. π¦
πΈ SYNOPSIS πΈ
qpid-config [OPTIONS] commands
π DESCRIPTION π
here's the full menu of ways you can call it, copied out exactly so you don't have to squint at the original:
Usage: qpid-config [OPTIONS]
qpid-config [OPTIONS] exchanges [filter-string]
qpid-config [OPTIONS] queues [filter-string]
qpid-config [OPTIONS] add exchange <type> <name>
[AddExchangeOptions]
qpid-config [OPTIONS] del exchange <name>
qpid-config [OPTIONS] add queue <name> [AddQueueOptions]
qpid-config [OPTIONS] del queue <name> [DelQueueOptions]
qpid-config [OPTIONS] bind <exchange-name> <queue-name>
[binding-key]
<for type xml> [-f -|filename]
<for type header> [all|any] k1=v1 [, k2=v2...]
qpid-config [OPTIONS] unbind <exchange-name> <queue-name>
[binding-key]
qpid-config [OPTIONS] reload-acl
qpid-config [OPTIONS] add <type> <name> [--argument <property-
name>=<property-value>]
qpid-config [OPTIONS] del <type> <name>
qpid-config [OPTIONS] list <type> [--show-property <property-
name>]
qpid-config [OPTIONS] log [<logstring>]
qpid-config [OPTIONS] shutdown"""
ngl the line wrapping in there is a whole situation (and yes, those quote marks at the end of shutdown are literally in the source, iykyk π). but everything is here, bestie β nothing skipped, nothing "cleaned up". π«Ά
π OPTIONS π
β General Options β
-h,--helpβ show this help message and exit. the classic "what does this thing even do" button. π-t <secs>,--timeout=<secs>β maximum time to wait for broker connection (in seconds). your patience, but as a number β³-r,--recursiveβ show bindings in queue or exchange list. it goes deeper. it's giving "and what's inside that" π-b <address>,--broker=<address>β address of qpidd broker with syntax:[username/password@]hostname|ip-address[:<port>]π₯-a <address>,--broker-addr=<address>β literally no description in the original page, bestie. it's just sitting there, mysterious, unbothered. π (it takes an address. that's all we're told. no cap.)--sasl-mechanism=<mech>β SASL mechanism for authentication (e.g.EXTERNAL,ANONYMOUS,PLAIN,CRAM-MD5,DIGEST-MD5,GSSAPI). SASL automatically picks the most secure available mechanism β use this option to override. it's the "I'll choose, thanks" of auth β¨--sasl-service-name=SASL_SERVICE_NAMEβ SASL service name to use. yes,<kbd>-free, just vibes. π--ssl-certificate=<cert>β Client SSL certificate (PEM Format) π--ssl-key=<key>β Client SSL private key (PEM Format) ποΈ--ha-adminβ allow connection to a HA backup broker. backup bestie privileges π«Ά
π Options for Listing Exchanges and Queues π
--ignore-defaultβ ignore the default exchange in exchange or queue list. the default exchange said "notice me" and this option said "no π"
π¦ Options for Adding Exchanges and Queues π¦
--alternate-exchange=<aexname>β name of the alternate-exchange for the new queue or exchange. Exchanges route messages to the alternate exchange if they are unable to route them elsewhere. Queues route messages to the alternate exchange if they are rejected by a subscriber or orphaned by queue deletion. it's the "if nobody wants me, I know a guy" option π--durableβ the new queue or exchange is durable. built to last, periodt πͺ--replicate=<level>β enable automatic replication in a HA cluster.<level>is'none','configuration'or'all'). π§
πΈ Options for Adding Queues πΈ
--file-count=<n>β[legacystore]Number of files in queue's persistence journal π--file-size=<n>β[legactystore]File size in pages (64KiB/page). (yes, "legactystore" β that's how it's spelled in the source, bestie, I don't make the rules π)--efp-partition-num=<n>β[linearstore]EFP partition number--efp-pool-file-size=<n>β[linearstore]EFP file size (KiB)--wcache-page-size=<n>β[linearstore]Per-queue buffer page size (kiB), value may be powers of 2 starting at 4 (4, 8, 16, 32...) β¨--wcache-num-pages=<n>β[linearstore]Per-queue num buffer pages--max-queue-size=<n>β maximum in-memory queue size as bytes π--max-queue-count=<n>β maximum in-memory queue size as a number of messages π’--limit-policy=<policy>β action to take when queue limit is reached π¦--lvq-key=<key>β Last Value Queue key π--flow-stop-size=<n>β turn on sender flow control when the number of queued bytes exceeds this value. β--flow-resume-size=<n>β turn off sender flow control when the number of queued bytes drops below this value. βΆοΈ--flow-stop-count=<n>β turn on sender flow control when the number of queued messages exceeds this value. β--flow-resume-count=<n>β turn off sender flow control when the number of queued messages drops below this value. βΆοΈ--group-header=<header-name>β enable message groups. Specify name of header that holds group identifier. squad goals π«--shared-groupsβ allow message group consumption across multiple consumers. sharing is caring π--argument=<NAME=VALUE>β specify a key-value pair to add to queue arguments π--start-replica=<broker-url>β start replication from the same-named queue at<broker-url>π§¬
π₯ Options for Adding Exchanges π₯
--sequenceβ exchange will insert a'qpid.msg_sequence'field in the message header π’--iveβ exchange will behave as an'initial-value-exchange', keeping a reference to the last message forwarded and enqueuing that message to newly bound queues. the "you missed it, here's a recap" exchange π
π Options for Deleting Queues π
--forceβ force delete of queue even if it's currently used or it's not empty. no thoughts, just deletion π€--force-if-not-emptyβ force delete of queue even if it's not empty. ποΈ--force-if-usedβ force delete of queue even if it's currently used. ποΈ
ok but fr fr these three are the "are you SURE" options β the original page doesn't sugarcoat it, and neither will I. they delete things that are still in use or still full of messages. be careful, bestie π
π Options for Declaring Bindings π
-f <file.xq>,--file=<file.xq>β for XML Exchange bindings β specifies the name of a file containing an XQuery. π
π Formatting options for 'list' action π
--show-property=<property-name>β specify a property of an object to be included in output β¨
π¦ EXAMPLES π¦
okay these are the real ones, copy-paste ready, exactly as written:
$ qpid-config add queue q
$ qpid-config add exchange direct d -a localhost:5672
$ qpid-config exchanges -b 10.1.1.7:10000
$ qpid-config queues -b guest/guest@broker-host:10000
π Add Exchange <type> values π
directβ Direct exchange for point-to-point communicationfanoutβ Fanout exchange for broadcast communicationtopicβ Topic exchange that routes messages using binding keys with wildcardsheadersβ Headers exchange that matches header fields against the binding keysxmlβ XML Exchange β allows content filtering using an XQuery β¨
β Queue Limit Actions β
none(default) β Use broker's default policyrejectβ Reject enqueued messagesringβ Replace oldest unacquired message with new π«
π Replication levels π
noneβ no replicationconfigurationβ replicate queue and exchange existence and bindings, but not messages.allβ replicate configuration and messages π₯
π Log <logstring> value π
- Comma separated
<module>:<level>pairs, e.g.'info+,debug+:Broker,trace+:Queue'π
π AUTHOR π
The Apache Qpid Project, dev@qpid.apache.org. absolute icons, no notes. π
π«Ά REPORTING BUGS π«Ά
Please report bugs to users@qpid.apache.org. be nice, they're doing their best πΈ
okay that's the whole page, nothing skipped, nothing invented, every flag accounted for π§
and as a little sign-off: this gorgeous thing is qpid-config from (qpid-cpp), version... (yes, it literally just says "version..." π) dated March 2018. oldie but a baddie. bye bestie, go configure some brokers π
β¨π
π¦ where this page comes from
- nixos 26.05: qpid-cpp 1.39.0
- nixpkgs unstable: qpid-cpp 1.39.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms