mirror of
https://github.com/proxiodev/RedisBungee.git
synced 2024-11-23 04:28:01 +00:00
Added an api method to send messages to a custom PubSub channel. This makes the register channel feature a lot more useful.
This commit is contained in:
parent
7a710c1ae0
commit
a8a75723fb
@ -12,6 +12,7 @@ import com.google.common.io.ByteStreams;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
|
import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
|
||||||
import com.imaginarycode.minecraft.redisbungee.util.UUIDTranslator;
|
import com.imaginarycode.minecraft.redisbungee.util.UUIDTranslator;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import net.md_5.bungee.api.config.ServerInfo;
|
import net.md_5.bungee.api.config.ServerInfo;
|
||||||
@ -310,6 +311,20 @@ public final class RedisBungee extends Plugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final void sendChannelMessage(String channel, String message) {
|
||||||
|
Jedis jedis = pool.getResource();
|
||||||
|
try {
|
||||||
|
jedis.publish(channel, message);
|
||||||
|
} catch (JedisConnectionException e) {
|
||||||
|
// Redis server has disappeared!
|
||||||
|
getLogger().log(Level.SEVERE, "Unable to get connection from pool - did your Redis server go away?", e);
|
||||||
|
pool.returnBrokenResource(jedis);
|
||||||
|
throw new RuntimeException("Unable to publish channel message", e);
|
||||||
|
} finally {
|
||||||
|
pool.returnResource(jedis);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
try {
|
try {
|
||||||
|
@ -157,6 +157,17 @@ public class RedisBungeeAPI {
|
|||||||
plugin.sendProxyCommand(proxyId, command);
|
plugin.sendProxyCommand(proxyId, command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a message to a PubSub channel. The channel has to be subscribed to on this, or another redisbungee instance for {@link com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent} to fire.
|
||||||
|
*
|
||||||
|
* @param channel The PubSub channel
|
||||||
|
* @param message the message body to send
|
||||||
|
* @since 0.3.3
|
||||||
|
*/
|
||||||
|
public final void sendChannelMessage(@NonNull String channel, @NonNull String message) {
|
||||||
|
plugin.sendChannelMessage(channel, message);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current BungeeCord server ID for this server.
|
* Get the current BungeeCord server ID for this server.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user