✨Features

Custom Redis Messages

You can send messages via redis and receive them anywhere:

https://github.com/redisson/redisson/wiki/6.-Distributed-objects#67-topic

// Publish message
basementLib.redisManager().publishMessage(BasementMessage message);

// Register Topic Listener
basementLib.redisManager().registerTopicListener(String name,BasementMessageHandler<T extends BasementMessage> basementMessageHandler);

// Unregister Topic Listeners
basementLib.redisManager().unregisterTopicListener(String name,Integer...listenerId);

// Clear Topic Listeners
basementLib.redisManager().clearTopicListeners(String name);
// Custom Message class
public class ServerShutdownMessage extends BasementMessage {

    // Channel
    public static final String TOPIC = "server-shutdown";

    // Data
    private final String sender;
    private final String receiver;

    public ServerShutdownMessage() {
        super(TOPIC);
        this.sender = null;
        this.receiver = null;
    }

    public ServerShutdownMessage(String sender, String receiver) {
        super(TOPIC);
        this.sender = sender;
        this.receiver = receiver;
    }
}


// Handler
public class ServerShutdownHandler implements BasementMessageHandler<ServerShutdownMessage> {

    private final ProxyServer server;

    @Override
    public void execute(ServerShutdownMessage message) {
        // Do something
    }

    @Override
    public Class<ServerShutdownMessage> getCommandClass() {
        return ServerShutdownMessage.class;
    }
}

// Register
basementLib.redisManager().registerTopicListener(ServerShutdownMessage.TOPIC,new ServerShutdownHandler(this));

// Publish message
basementLib.redisManager().publishMessage(new ServerShutdownMessage("banana","moon"));

MySQL and H2 Query Builder

To query a database

More Info: https://github.com/ServerBasement/BasementLib

Last updated

Was this helpful?