All Classes and Interfaces

Class
Description
Messenger abstract class to send messages across channels using a Broker.
This class doesn't offer any abstract method making it usable as plain object, but it's suggested to extend it and override AbstractMessenger.loadBroker() if you want your own implementation.
ActiveMQ broker implementation to send data using topic producers and consumers.
Represents an object that can transfer byte-array data across channels.
In popular terms, this is a globalized producer that deliver/publish temporary data to multiple consumers using topics or queues (depending on the implementation) and can also consume the data itself by subscribing to channels.
Logger interface to print messages about broker operations and exceptions.
Unlike normal logger implementations, this one uses numbers as levels:
1 = ERROR / SEVERE
2 = WARNING
3 = INFO
4 = DEBUG INFORMATION
Byte codec interface to encode and decode bytes into desired object.
Caffeine integration for message ID caching.
Represents and operation that accept a channel name and the data produced by the channel.
Unlike Consumer, this operation can throw an IOException.
Data source interface which provides a Connection interaction, depending on its implementation.
An object that executes submitted Runnable tasks and return itself as cancellable objects.
Unlike Executor, this kind of object allows to execute delayed and repeatable tasks.
Encryptor interface to encrypt and decrypt any provided String.
By default, this is just a bridge to regular Java Cipher usage.
Guava integration for message ID caching.
Sql broker implementation that use hikari library to make connections to database.
The operations are the same as sql broker, it just made any connection with hikari library.
Kafka broker implementation to publish and consumer using empty-keys records.
Take in count that any producer and consumer used in this instance should be compatible with byte array values.
Log4j integration for broker logging.
An object to consume channel messages.
This object can also provide an Encryptor to make a secure message delivery.
Cache interface to store message IDs with certain delay.
NATS broker implementation to publish data and consume it with subject subscription.
PostgreSQL broker implementation to send data using LISTEN and NOTIFY statements.

Is this scalable?
No
Allows large messages?
No
Should I use it?
Maybe
PostgreSQL broker implementation that use hikari library to make connections to database.
The operations are the same as PostgreSQL broker, it just made any connection with hikari library.
RabbitMQ broker implementation to send data using queue and consumer via exchange.
Redis broker implementation to send data via publish and subscriptions.
This kind of broker will encode any byte array as String and viceversa.
Some operations made in this instance can fail due authentication errors, so it requires the password as well.
Slf4j integration for broker logging.
Sql broker implementation to send data via polling.
Take in count that this is not a real broker, can be used as one but the client is doing all the job via insertion and repeatable deletion.