...
The opcode field identifies the operation represented by the message
Mapping QMF Messages to AMQP Messages
QMF messages are carried in the body segments of AMQP messages. An AMQP message body may contain 1 or more QMF messages. QMF messages do not span AMQP messages, each QMF messages must be entirely contained within a single AMQP message body.
Protocol Exchange Patterns
...
No Format |
---|
Client Broker | | | --- Method Request (to exchange 'qpid.management') ---------> | | | | | | <--------------- Method Reply (via exchange 'amq.direct') --- | | | |
Messages for the Basic Scenario
The principals in a management exchange are the management client and the management agent. The management agent is integrated into the QPID broker and the management client is a remote entity. A management agent may be managed by zero or more management clients at any given time. Additionally, a management client may manage multiple management agents at the same time.
For authentication and access control, management relies on the mechanisms supplied by the AMQP protocol.
Basic Opcodes
Details of QMF Message Types
opcode | message | description |
---|---|---|
'B' | Broker Request | This message contains a broker request, sent from the management console to the broker to initiate a management session. |
'b' | Broker Response | This message contains a broker response, sent from the broker in response to a broker request message. |
' | ||
opcode | message | description |
'B' | Broker Request | This message contains a broker request, sent from the management console to the broker to initiate a management session. |
'b' | Broker Response | This message contains a broker response, sent from the broker in response to a broker request message. |
'z' | Command Completion | This message is sent to indicate the completion of a request. |
'Q' | Class Query | Class query messages are used by a management console to request a list of schema classes that are known by the management broker. |
'q' | Class Indication | Sent by the management broker, a class indication notifies the peer of the existence of a schema class. |
'S' | Schema Request | Schema request messages are used to request the full schema details for a class. |
's' | Schema Response | Schema response message contain a full description of the schema for a class. |
'h' | Heartbeat Indication | This message is published once per publish-interval. It can be used by a client to positively determine which objects did not change during the interval (since updates are not published for objects with no changes). |
'c', 'i', 'g' | Content Indication | This message contains a content record. Content records contain the values of all properties or statistics in an object. Such records are broadcast on a periodic interval if 1) a change has been made in the value of one of the elements, or 2) if a new management client has bound a queue to the management exchange. |
'G' | Get Query | Sent by a management console, a get query requests that the management broker provide content indications for all objects that match the query criteria. |
'M' | Method Request | This message contains a method request. |
'm' | Method Response | This message contains a method result. |
Broker Request Message
'P' | Package Query | This message contains a schema package query request, requesting that the broker dump the list of known packages |
'p' | Package Indication | This message contains a schema package indication, identifying a package known by the broker |
'A' | Agent Attach Request | This message is sent by a remote agent when it wishes to attach to a management broker |
'a' | Agent Attach Response | The management broker sends this response if an attaching remote agent is permitted to join |
'x' | Console Added Indication | This message is sent to all remote agents by the management broker when a new console binds to the management exchange |
Broker Request Message
When a management console first establishes contact When a management client first establishes contact with the broker, it sends a Hello Broker Request message to initiate the exchange.
...
No Format |
---|
+-----+-----+-----+-----+-----------------------+ | 'A' | 'M' | '2' | 'z' | seq | +-----+-----+-----+-----+----+-------------------+ | Completion Code (uint32) | +-----------------------+-----+------------------------------------+ | Completion Text (str8) | +-----------------------------------------------------------------+ |
...
No Format |
---|
+-----+-----+-----+-----+-----------------------+ | 'A' | 'M' | '2' | 'q' | seq | +-----+-----+-----+-----+---------------+-------+ | class kind (uint8) 1=Object, 2=Event | +---------------------------------------+------------------+ | package name (str8) | +----------------------------------------------------------+ | class name (str8) | +----------------------------------------------------------+ | schema hash (bin128) | +----------------------------------------------------------+ |
...
No Format |
---|
+-----+-----+-----+-----+-----------------------+ | 'A' | 'M' | '2' | 'S' | seq | +-----+-----+-----+-----+-----------------------+----------+ | packageName (str8) packageName (str8) | +----------------------------------------------------------+ | className (str8) className (str8) | +----------------------------------------------------------+ | schema-hash (bin128) schema-hash (bin128) | +----------------------------------------------------------+ |
...
No Format |
---|
Broker Remote Agent | | | <----------------------------------------- Attach Request --- | | --- Attach Response ----------------------------------------> | | | | <------------------------------------- Package Indication --- | | <------------------------------------- Package Indication --- | | | | <--------------------------------------- Class Indication --- | | <--------------------------------------- Class Indication --- | | <--------------------------------------- Class Indication --- | | <--------------------------------------- Class Indication --- | | <--------------------------------------- Class Indication --- | | | | --- Schema Request (class key) -----------------------------> | | <---------------------------------------- Schema Response --- | | | | --- Schema Request (class key) -----------------------------> | | <---------------------------------------- Schema Response --- | | | | | |
Extended Opcodes
...
opcode
...
message
...
description
...
'P'
...
Package Query
...
This message contains a schema package query request, requesting that the broker dump the list of known packages
...
'p'
...
Package Indication
...
This message contains a schema package indication, identifying a package known by the broker
...
'A'
...
Agent Attach Request
...
This message is sent by a remote agent when it wishes to attach to a management broker
...
'a'
...
Agent Attach Response
...
The management broker sends this response if an attaching remote agent is permitted to join
...
'x'
...
Console Added Indication
...
Package Query
No Format |
---|
+-----+-----+-----+-----+-----------------------+ | 'A' | 'M' | '2' | 'P' | seq | +-----+-----+-----+-----+-----------------------+ |
...