Skip to the content.

AMQP 0.9.1 Support Status

This page tracks OtterMQ’s support for AMQP 0.9.1 classes and methods. It is intended to help users understand current capabilities and to guide contributors.

Status levels:

Summary by Class

Class Status Notes
connection 100% All methods fully implemented
channel 100% All methods fully implemented including flow control
exchange 100% All exchange types fully implemented
queue 100% All methods fully implemented including priority queues
basic 100% All methods fully implemented including priority delivery
tx 100% All transaction methods fully implemented

connection

Method Status Notes
connection.start  
connection.start-ok  
connection.tune  
connection.tune-ok  
connection.open  
connection.open-ok  
connection.close  
connection.close-ok  

channel

Method Status Notes
channel.open  
channel.open-ok  
channel.flow Client-initiated flow control; server-initiated flow supported
channel.flow-ok  
channel.close  
channel.close-ok  

Flow Control Features:

QoS and Consumer Management:

exchange

Method Status Notes
exchange.declare Supports direct, fanout, and topic exchange types
exchange.declare-ok  
exchange.delete  
exchange.delete-ok  

Topic Exchange Features:

queue

Method Status Notes
queue.declare Supports x-max-priority argument (1-255, configurable limit)
queue.declare-ok  
queue.bind  
queue.bind-ok  
queue.unbind  
queue.unbind-ok  
queue.purge Works with priority queues
queue.purge-ok  
queue.delete  
queue.delete-ok  

Priority Queue Features:

basic

Method Status Notes
basic.qos Per-consumer and channel-level prefetch supported
basic.qos-ok  
basic.consume ‼️noLocal not supported (same as RabbitMQ)
basic.consume-ok  
basic.cancel Automatically requeues unacked messages per AMQP spec
basic.cancel-ok  
basic.publish  
basic.return ‼️immediate flag is deprecated and will not be implemented
basic.deliver Respects message priority for delivery order
basic.get Returns highest priority message first
basic.get-ok  
basic.get-empty  
basic.ack  
basic.reject Requeue works; dead-lettering implemented
basic.recover-async  
basic.recover  
basic.recover-ok  
basic.nack *not part of amqp 0-9-1 specs

tx (Transactions)

Method Status Notes
tx.select Enter transaction mode (idempotent)
tx.select-ok  
tx.commit Atomically commit buffered operations
tx.commit-ok  
tx.rollback Discard buffered operations
tx.rollback-ok  

Transaction Features:


RabbitMQ Extensions

Beyond core AMQP 0.9.1, OtterMQ implements popular RabbitMQ extensions:

Extension Status Configuration Documentation
Dead Letter Exchange (DLX) ✅ Full OTTERMQ_ENABLE_DLX=true DLX Guide
Message TTL ✅ Full OTTERMQ_ENABLE_TTL=true TTL Guide

Extension Details

Dead Letter Exchange (DLX)

Message TTL and Expiration


Notes: