QPID-CONFIG(1)

πŸ“¦ version 1.39.0, in nixos 26.05, nixpkgs unstable

πŸ‘‘ 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 communication
  • fanout β€” Fanout exchange for broadcast communication
  • topic β€” Topic exchange that routes messages using binding keys with wildcards
  • headers β€” Headers exchange that matches header fields against the binding keys
  • xml β€” XML Exchange β€” allows content filtering using an XQuery ✨

⭐ Queue Limit Actions ⭐

  • none (default) β€” Use broker's default policy
  • reject β€” Reject enqueued messages
  • ring β€” Replace oldest unacquired message with new πŸ’«

πŸ’… Replication levels πŸ’…

  • none β€” no replication
  • configuration β€” 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