# hivemq/hivemq-mqtt-client

HiveMQ MQTT Client is an MQTT 5.0 and MQTT 3.1.1 compatible and feature-rich high-performance Java client library with different API flavours and backpressure support

Repository: https://github.com/hivemq/hivemq-mqtt-client
Canonical: https://ross.abutalabs.com/products/hivemq-mqtt-client
Homepage: https://hivemq.github.io/hivemq-mqtt-client/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: mqtt, mqtt-client, mqtt-protocol, reactive-streams, reactive-programming, backpressure, iot, internet-of-things, java, mqtt5, rxjava, reactor
Last push: 2026-08-29T02:47:30+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 100, release rhythm 86, longevity 100
- inputs: {"age_days": 3165, "days_push": 4, "days_rel": 12, "gap_med": 36.5, "n_releases_24m": 15}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1116, forks 184 (observed 2026-09-01T02:14:02.872901+00:00)

## What it is
HiveMQ MQTT Client is a high-performance Java client library implementing MQTT 5.0 and MQTT 3.1.1 with reactive, asynchronous, and blocking API flavors. It provides full protocol feature coverage, backpressure support, TLS/WebSocket/proxy transports, and automatic reconnect and message redelivery handling.

## Use cases
- connect a Java application to an MQTT broker
- publish and subscribe to MQTT topics with QoS 1 and 2
- build an IoT device or backend client in Java
- consume MQTT messages as a reactive stream with backpressure
- connect to MQTT over TLS or WebSocket through a proxy
- handle MQTT reconnection and message redelivery automatically

## When to choose
- you need a production-grade MQTT client on the JVM
- you want reactive (RxJava/Reactor), async, or blocking APIs for MQTT
- you need full MQTT 5.0 features like topic aliases and enhanced authentication
- backpressure and manual message acknowledgment matter for your pipeline

## When to avoid
- you are not on the JVM (Java/Kotlin/Scala)
- you need an MQTT broker rather than a client
- you want a lightweight embedded client for microcontrollers

## Facets
- artifact type: library
- maturity: stable
- function: http-client, streaming, concurrency
- domain: iot, developer-tools
- platform: jvm, cross-platform
- tags: mqtt, mqtt5, mqtt-client, reactive-streams, rxjava, reactor, backpressure, iot-messaging, messaging

## Member repositories
- hivemq/hivemq-mqtt-client (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-09-01T02:14:02.872901+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:42:31.121568+00:00, confidence not recorded.
  - readme: https://github.com/hivemq/hivemq-mqtt-client (fetched 2026-09-01T02:14:02.872901+00:00, sha 3f9188ede1a2)
  - homepage: https://hivemq.github.io/hivemq-mqtt-client/ (fetched 2026-08-29T12:46:05.891466+00:00, sha 58461e6d93af)
- Data as of 2026-08-30T08:39:29.467469+00:00.
