alibaba/canal · error · CanalClientException

mq not support this method

Error message

mq not support this method

What it means

Error "mq not support this method" thrown in alibaba/canal.

Source

Thrown at client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java:164

    @Override
    public void unsubscribe() throws CanalClientException {
        // 取消订阅 直接强行断开吧
        this.disconnect();
    }

    @Override
    public Message get(int batchSize) throws CanalClientException {
        return null;
    }

    @Override
    public Message get(int batchSize, Long timeout, TimeUnit unit) throws CanalClientException {
        return null;
    }

    @Override
    public Message getWithoutAck(int batchSize) throws CanalClientException {
        throw new CanalClientException("mq not support this method");
    }

    @Override
    public Message getWithoutAck(int batchSize, Long timeout, TimeUnit unit) throws CanalClientException {
        throw new CanalClientException("mq not support this method");
    }

    @Override
    public void ack(long batchId) throws CanalClientException {
        throw new CanalClientException("mq not support this method");
    }

    @Override
    public void rollback(long batchId) throws CanalClientException {
        throw new CanalClientException("mq not support this method");

    }

View on GitHub (pinned to 87be50e876)

Solutions

  1. Do not call subscribe/unSubscribe/rollback on the RabbitMQ connector; MQ connectors only support get/ack.
  2. Configure queue/exchange binding in RabbitMQ or connector properties instead.

When it happens

Trigger: Thrown at client/src/main/java/com/alibaba/otter/canal/client/rabbitmq/RabbitMQCanalConnector.java:164 when the library encounters an invalid state.

Common situations: Unsupported method on RabbitMQ connector. Keep the guard; only MQ-semantics operations are valid on this connector type.


AI-assisted analysis of alibaba/canal@87be50e876 (2026-08-14). Data as JSON: /api/errors/dde674dc4a502bd5. Report an issue: GitHub.