Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要一些酒吧/酒吧的绝地武士帮忙吗_Java_Redis_Bukkit_Jedis - Fatal编程技术网

Java 需要一些酒吧/酒吧的绝地武士帮忙吗

Java 需要一些酒吧/酒吧的绝地武士帮忙吗,java,redis,bukkit,jedis,Java,Redis,Bukkit,Jedis,我目前在使用此代码时遇到一些问题: public class ChatPlugin extends JavaPlugin implements Listener{ private static ChatPlugin instance; private final static String CHANNEL = "chat"; private JedisPool jedisPool; private ChatChannel chatChannel; @Override public voi

我目前在使用此代码时遇到一些问题:

public class ChatPlugin extends JavaPlugin implements Listener{

private static ChatPlugin instance;

private final static String CHANNEL = "chat";
private JedisPool jedisPool;
private ChatChannel chatChannel;


@Override
public void onEnable()
{
    instance = this;
    saveDefaultConfig();

    this.jedisPool = new JedisPool(new JedisPoolConfig(), getConfig().getString("redis-host"), 6379, 0,getConfig().getString("redis-password"));
    this.chatChannel = new ChatChannel();

    this.jedisPool.getResource().subscribe(this.chatChannel, new String[]{"chat"});

    Bukkit.getPluginManager().registerEvents(this, this);
    getCommand("chat").setExecutor(this);
}

@Override
public void onDisable()
{
    instance = null;
    this.chatChannel.unsubscribe();
    this.jedisPool.destroy();
}

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    if (command.getName().equalsIgnoreCase("chat"))
    {
        getJedis().publish(CHANNEL, args[0]);
        sender.sendMessage(ChatColor.GREEN + "Sent!");
    }
    return true;
}


public Jedis getJedis(){
    return jedisPool.getResource();
}

public static ChatPlugin getInstance() {
    return instance;
}

public class ChatChannel extends JedisPubSub {

    @Override
    public void onMessage(String channel, String message) {
        new BukkitRunnable(){
            @Override
            public void run() {
                Bukkit.broadcastMessage(message);
            }
        }.runTask(ChatPlugin.getInstance());
    }
}
}

这是我第一次使用redis的发布/订阅功能,我真的不知道发生了什么。没有堆栈跟踪,只是当插件启用时,它会冻结。是的,我知道这是因为我在主线程上运行它,但是即使我异步运行它(我有),它仍然不能工作

希望有人能帮忙!
感谢您没有向我们发送您的saveDefaultConfig方法,因此首先检查插件配置是否正确创建。在检查你没有犯任何关于Bukkit的错误或任何逻辑错误之后,试着用谷歌搜索任何例子,或者试着在programcreek.com上找到一些例子(我在那里找到了一些绝地武士的例子)

如果你仍然没有得到任何线索:试着做你应该做的事,在你要求之前。阅读绝地维基!

你应该更具体地说明你的标题,而不是说你需要一些帮助来列出已经与文章相关联的标签。此外,你应该把你的代码放在这里;没有链接。你知道每次我使用这个论坛,总有人在说些什么。我不知道你能帮我吗?如果你至少要纠正我,给我一些关于我的密码的建议。另外,那门课相当大,请原谅我不知道该做什么。至于标题,你想让我说什么?我制作我的标题,以便其他人在需要帮助时可以找到此请求。你宁愿它是“Redis绝地酒吧/酒吧不工作没有错误bukkit”吗?谁会去搜索任何接近那个的东西?相反,如果他们搜索“酒吧/地下绝地Bukkit”,就会出现这种情况@Chieftwo Pencils要添加@Chieftwo Pencils。如果你只是想批评最简单的事情,我不太明白你为什么会问这个问题?请向我解释一下,这些投入将如何帮助我实现我的目标?顺便说一句,我编辑代码是为了更好地满足你的需要,因为你知道,你才是需要帮助的人!我可能违反了评论两次的规则,但是这个文本框有一个字符限制!哇,天哪,我刚刚发了两张帖子,报告我@星际之门,我的朋友,不要为那些评论感到难过。请记住,这里的大多数人都是专业人士(除了我),他们没有报酬回答这样的问题,但他们这样做是出于善意,牺牲了一部分时间。顺便说一句,我不熟悉酒吧/酒吧,但我相信它可以通过套接字完成。好吧,我可以通过给我发电子邮件来帮助你,因为我什么都不做。如果人们每次都说些什么,那就是你没有正确地使用它,或者你没有尽最大努力获得帮助。在我发表评论时,您甚至没有代码;想解释一下有谁能这样帮助你吗?当你输入标题时,它会说要具体(任何东西都比“我需要一些标签帮助-这甚至不是问题”);除非必要,否则你也应该避免在标题中添加标签,因为它们是多余的。这就是我帮助你获得帮助的方式;如果你更喜欢被否决而不是被帮助,请保持这一点和你的过度敏感。