Java API was COMPLETELY REMOVED and won't be supported anymore. Checkout version 7.x for the last version supporting Java API.
- API is fully effectful.
- Init methods return
cats.effect.Resource
for easy resource management. - Declaration methods return
F[Unit]
.
- Init methods return
- Library could be configured with case classes - this is the default way. See
RabbitMQConnection.make
. - Configuration from Lightbend
Config
was separated topureconfig
module. Please read the docs. It's behavior remained backward compatible with these exceptions:- SSL context is now passed explicitly and is ignored in
Config
(see more below). - You have to use
import com.avast.clients.rabbitmq.pureconfig._
to be able to usefromConfig
method! - Required structure of config has been changed - all consumers must be in
consumers
block, producers inproducers
and additional declarations indeclarations
blocks. See more info inpureconfig module docs
. - It's required that the config doesn't contain anything else than configuration of the client. Presence of unknown keys will cause failure of configuration parsing.
- SSL context is now passed explicitly and is ignored in
- SSL is now configured explicitly in
make
/fromConfig
method by passingOption[SSLContext]
. UseSome(SSLContext.getDefault)
for enabling SSL without custom (key|trust)store; it's now disabled by default (None
)! - You are now able to specify network recovery strategy.
- You are now able to specify timeout log level.
- Additional declarations:
bindQueue
now has more consistent API. The only change isbindArguments
were renamed toarguments
. - You are now able to configure custom exchange for republishing.
The client now uses circe 0.13 (only extras-circe module), cactus 0.17 (only extras-cactus module), cats 2+ and cats-effect 2+ - it doesn't use Monix anymore!.