Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • AMQPConnection_0_8Impl#received ultimately delegates to methods such as AMQPConnection_0_8Impl#receiveConnectionStartOk

  • AMQPConnection_0_10Impl#received ultimately delegates to delegate ServerConnectionDelegate#connectionStartOk
  • AMQPConnection_1_0Impl#received ultimately delegates to AMQPConnection_1_0Impl#receiveOpen

Producing bytes

 

AMQP As already said, the transport pulls tasks from the protocol engine.  These tasks produce bytes.  To do this, the transport calls the pending iterator which provides a stream of tasks that generate bytes for the wire. The transport keeps pulling until the output exceeds the buffer.  It then tries to write the buffered bytes to the wire.  If it writes more than half to the wire it continues to pull more tasks from the engine.  The cycle continues until the transport cannot take more bytes (back pressure at the TCP/IP layer, or the pending iterator yields no more tasks.   This arrangement always means that the transport retains control of backlog of bytes to be written to the wire.

...

The Broker exposes two management layers:

  • AMQP management
  • HTTP management

The management layers esentially exposes the Broker model over the management interface.  The management layer has little knowledge of the model itself.

AMQP management

AMQP management is defined by the AMQP Management specification which is currently a Working Draft at Oasis.  It defines a standard way to identify objects within the Broker, to invoke operations and pass arguments and get results, all over AMQP itself.  When interacting with management, you send management messages to a special address ($management).

For Broker-J:

  1. To manage a virtualhost, you connect with AMQP to the virtualhost as normal, then send management messages to $management.

In AMQP management, you form an AMQP connection to the Broker.

  • To manage an individual virtualhost, you connect to the virtualhost itself then 

In AMQP management, objects have a name identifying the type of the object.  This is defined using an annotation ManagedObject#amqpName.

In AMQP management

HTTP management

 

 

HTTP, REST and Web Management

...