Hello I'm adding SQL function to my plugin and i get these errors Code: [14:54:46 WARN]: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Commun ications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driv er has not received any packets from the server. [14:54:46 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance 0(Native Method) [14:54:46 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance (Unknown Source) [14:54:46 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInst ance(Unknown Source) [14:54:46 WARN]: at java.lang.reflect.Constructor.newInstance(Unknown Sou rce) [14:54:46 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) [14:54:46 WARN]: at com.mysql.jdbc.SQLError.createCommunicationsException (SQLError.java:1116) [14:54:46 WARN]: at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:343) [14:54:46 WARN]: at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionI mpl.java:2334) [14:54:46 WARN]: at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(Conne ctionImpl.java:2371) [14:54:46 WARN]: at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionI mpl.java:2163) [14:54:46 WARN]: at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.j ava:794) [14:54:46 WARN]: at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection .java:47) [14:54:46 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance 0(Native Method) [14:54:46 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance (Unknown Source) [14:54:46 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInst ance(Unknown Source) [14:54:46 WARN]: at java.lang.reflect.Constructor.newInstance(Unknown Sou rce) [14:54:46 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) [14:54:46 WARN]: at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionI mpl.java:378) [14:54:46 WARN]: at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegist eringDriver.java:305) [14:54:46 WARN]: at java.sql.DriverManager.getConnection(Unknown Source) [14:54:46 WARN]: at java.sql.DriverManager.getConnection(Unknown Source) [14:54:46 WARN]: at com.eazygamer.kitpvp.Kitpvp.openConnection(Kitpvp.jav a:82) [14:54:46 WARN]: at com.eazygamer.kitpvp.Kitpvp.onPlayerLogin(Kitpvp.java :118) [14:54:46 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [14:54:46 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [14:54:46 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [14:54:46 WARN]: at java.lang.reflect.Method.invoke(Unknown Source) [14:54:46 WARN]: at org.bukkit.plugin.java.JavaPluginLoader$1.execute(Jav aPluginLoader.java:318) [14:54:46 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(Regist eredListener.java:62) [14:54:46 WARN]: at org.bukkit.plugin.SimplePluginManager.fireEvent(Simpl ePluginManager.java:481) [14:54:46 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl ePluginManager.java:466) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.PlayerList.attemptLogin( PlayerList.java:362) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.LoginListener.c(LoginLis tener.java:70) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.LoginListener.a(LoginLis tener.java:42) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.NetworkManager.a(Network Manager.java:149) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.ServerConnection.c(Sourc eFile:134) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.u(Minecr aftServer.java:655) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.u(Dedica tedServer.java:250) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.t(Minecr aftServer.java:545) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(Mine craftServer.java:457) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication. run(SourceFile:617) [14:54:46 WARN]: Caused by: java.net.ConnectException: Connection timed out: con nect [14:54:46 WARN]: at java.net.DualStackPlainSocketImpl.connect0(Native Met hod) [14:54:46 WARN]: at java.net.DualStackPlainSocketImpl.socketConnect(Unkno wn Source) [14:54:46 WARN]: at java.net.AbstractPlainSocketImpl.doConnect(Unknown So urce) [14:54:46 WARN]: at java.net.AbstractPlainSocketImpl.connectToAddress(Unk nown Source) [14:54:46 WARN]: at java.net.AbstractPlainSocketImpl.connect(Unknown Sour ce) [14:54:46 WARN]: at java.net.PlainSocketImpl.connect(Unknown Source) [14:54:46 WARN]: at java.net.SocksSocketImpl.connect(Unknown Source) [14:54:46 WARN]: at java.net.Socket.connect(Unknown Source) [14:54:46 WARN]: at java.net.Socket.connect(Unknown Source) [14:54:46 WARN]: at java.net.Socket.<init>(Unknown Source) [14:54:46 WARN]: at java.net.Socket.<init>(Unknown Source) [14:54:46 WARN]: at com.mysql.jdbc.StandardSocketFactory.connect(Standard SocketFactory.java:254) [14:54:46 WARN]: at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292) [14:54:46 WARN]: ... 34 more [14:54:46 WARN]: java.lang.NullPointerException [14:54:46 WARN]: at com.eazygamer.kitpvp.Kitpvp.playerDataContainsPlayer( Kitpvp.java:101) [14:54:46 WARN]: at com.eazygamer.kitpvp.Kitpvp.onPlayerLogin(Kitpvp.java :121) [14:54:46 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [14:54:46 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [14:54:46 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [14:54:46 WARN]: at java.lang.reflect.Method.invoke(Unknown Source) [14:54:46 WARN]: at org.bukkit.plugin.java.JavaPluginLoader$1.execute(Jav aPluginLoader.java:318) [14:54:46 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(Regist eredListener.java:62) [14:54:46 WARN]: at org.bukkit.plugin.SimplePluginManager.fireEvent(Simpl ePluginManager.java:481) [14:54:46 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl ePluginManager.java:466) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.PlayerList.attemptLogin( PlayerList.java:362) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.LoginListener.c(LoginLis tener.java:70) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.LoginListener.a(LoginLis tener.java:42) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.NetworkManager.a(Network Manager.java:149) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.ServerConnection.c(Sourc eFile:134) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.u(Minecr aftServer.java:655) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.u(Dedica tedServer.java:250) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.t(Minecr aftServer.java:545) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(Mine craftServer.java:457) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication. run(SourceFile:617) [14:54:46 WARN]: java.lang.NullPointerException [14:54:46 WARN]: at com.eazygamer.kitpvp.Kitpvp.onPlayerLogin(Kitpvp.java :140) [14:54:46 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [14:54:46 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [14:54:46 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [14:54:46 WARN]: at java.lang.reflect.Method.invoke(Unknown Source) [14:54:46 WARN]: at org.bukkit.plugin.java.JavaPluginLoader$1.execute(Jav aPluginLoader.java:318) [14:54:46 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(Regist eredListener.java:62) [14:54:46 WARN]: at org.bukkit.plugin.SimplePluginManager.fireEvent(Simpl ePluginManager.java:481) [14:54:46 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl ePluginManager.java:466) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.PlayerList.attemptLogin( PlayerList.java:362) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.LoginListener.c(LoginLis tener.java:70) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.LoginListener.a(LoginLis tener.java:42) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.NetworkManager.a(Network Manager.java:149) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.ServerConnection.c(Sourc eFile:134) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.u(Minecr aftServer.java:655) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.u(Dedica tedServer.java:250) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.t(Minecr aftServer.java:545) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(Mine craftServer.java:457) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication. run(SourceFile:617) [14:54:46 WARN]: java.lang.NullPointerException [14:54:46 WARN]: at com.eazygamer.kitpvp.Kitpvp.closeConnection(Kitpvp.ja va:93) [14:54:46 WARN]: at com.eazygamer.kitpvp.Kitpvp.onPlayerLogin(Kitpvp.java :150) [14:54:46 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [14:54:46 WARN]: at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [14:54:46 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [14:54:46 WARN]: at java.lang.reflect.Method.invoke(Unknown Source) [14:54:46 WARN]: at org.bukkit.plugin.java.JavaPluginLoader$1.execute(Jav aPluginLoader.java:318) [14:54:46 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(Regist eredListener.java:62) [14:54:46 WARN]: at org.bukkit.plugin.SimplePluginManager.fireEvent(Simpl ePluginManager.java:481) [14:54:46 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl ePluginManager.java:466) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.PlayerList.attemptLogin( PlayerList.java:362) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.LoginListener.c(LoginLis tener.java:70) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.LoginListener.a(LoginLis tener.java:42) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.NetworkManager.a(Network Manager.java:149) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.ServerConnection.c(Sourc eFile:134) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.u(Minecr aftServer.java:655) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.DedicatedServer.u(Dedica tedServer.java:250) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.t(Minecr aftServer.java:545) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.MinecraftServer.run(Mine craftServer.java:457) [14:54:46 WARN]: at net.minecraft.server.v1_7_R1.ThreadServerApplication. run(SourceFile:617) Here is my code Code:java package com.eazygamer.kitpvp; import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.nio.channels.Channels;import java.nio.channels.ReadableByteChannel;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.logging.Level;import java.util.logging.Logger; import lib.PatPeter.SQLibrary.Database;import lib.PatPeter.SQLibrary.MySQL; import org.bukkit.Bukkit;import org.bukkit.configuration.file.FileConfiguration;import org.bukkit.entity.Player;import org.bukkit.event.EventHandler;import org.bukkit.event.Listener;import org.bukkit.event.player.PlayerLoginEvent;import org.bukkit.plugin.InvalidDescriptionException;import org.bukkit.plugin.InvalidPluginException;import org.bukkit.plugin.Plugin;import org.bukkit.plugin.UnknownDependencyException;import org.bukkit.plugin.java.JavaPlugin;import org.bukkit.scoreboard.Scoreboard; import com.eazygamer.kitpvp.commands.CommandHandler; public class Kitpvp extends JavaPlugin implements Listener{ //Variables public Database sql; private static Connection connection; //When the plugin is Enabled public void onEnable(){ config(); getCommand("kitpvp").setExecutor(new CommandHandler()); getServer().getPluginManager().registerEvents(this, this); } public void config() { FileConfiguration config = getConfig(); config.addDefault("SQL.Hostname", "Ip/Hostname"); config.addDefault("SQL.Prefix", "[Prefix]"); config.addDefault("SQL.Port", "3306 #Dont Change"); config.addDefault("SQL.Database", "Database"); config.addDefault("SQL.Username", "Username"); config.addDefault("SQL.Password", "Password"); } //When the plugin is Disabled public void onDisable(){ try{ if(connection != null && connection.isClosed()) connection.close(); }catch(SQLException e){ e.printStackTrace(); } }//Methodspublic void connectionGet(){ String host = this.getConfig().getString("SQL.Hostname");} public synchronized static void openConnection(){ try{ connection = DriverManager.getConnection( "jdbc:mysql://199.58.186.24:3306/NOT TO SEE", "NOT TO SEE", "NOT TO SEE"); }catch(Exception e){ e.printStackTrace(); } } public synchronized static void closeConnection(){ try{ connection.close(); }catch(Exception e){ e.printStackTrace(); } } public synchronized static boolean playerDataContainsPlayer(Player player){ try{ PreparedStatement sql = connection.prepareStatement("SELECT * FROM `player_data` WHERE player=?;"); sql.setString(1, player.getName()); ResultSet resultSet = sql.executeQuery(); boolean containsPlayer = resultSet.next(); sql.close(); resultSet.close(); return containsPlayer; }catch(Exception e){ e.printStackTrace(); return false; } } @EventHandler public void onPlayerLogin(PlayerLoginEvent event){ openConnection(); try{ int previousLogins = 0; if(playerDataContainsPlayer(event.getPlayer())){ PreparedStatement sql = connection .prepareStatement("SELECT logins FROM `player_data` WHERE player =?;"); sql.setString(1, event.getPlayer().getName()); ResultSet res = sql.executeQuery(); res.next(); previousLogins = res.getInt("logins"); PreparedStatement loginsUpdate = connection.prepareStatement("UPDATE `player_data` SET logins =? WHERE player=?;"); loginsUpdate.setInt(1, previousLogins + 1); loginsUpdate.setString(2, event.getPlayer().getName()); loginsUpdate.executeUpdate(); loginsUpdate.close(); sql.close(); res.close(); } else{ PreparedStatement newPlayer = connection.prepareStatement("INSERT INTO `player_data` values (?,0,0,1);"); newPlayer.setString(1, event.getPlayer().getName()); newPlayer.execute(); newPlayer.close(); } }catch(Exception e){ e.printStackTrace(); }finally{ closeConnection(); } } } Please Help
? 1Rogue I dont understand EDIT by Moderator: merged posts, please use the edit button instead of double posting.
You must open a connection to execute SQLs and stuff based on SQL. He's saying you don't need to keep it open, just open when you need to run something with sql, then close it again.
That's what he does, unless I am missing something. He opens the connection in the PlayerLoginEvent, does his stuff and then closes it again EazyGamer Code: [FONT=Consolas][14:54:46 WARN]: java.lang.NullPointerException[/FONT] [FONT=Consolas][14:54:46 WARN]: at com.eazygamer.kitpvp.Kitpvp.closeConnection(Kitpvp.ja va:93) [14:54:46 WARN]: at com.eazygamer.kitpvp.Kitpvp.onPlayerLogin(Kitpvp.java :150) [/FONT] You got a NPE there at connect.close();
So why's it giving me that huge error list and not letting me join the game Internal Exception io.netty.handler.timeout.ReadTimeoutException L33m4n123 How to solve
By fixing your mySQL stuff. connection is obviously still null that means your openConnection() method does not seem to be working correctly
Yes Working Fine! Anyone Else can help ?????? EDIT by Moderator: merged posts, please use the edit button instead of double posting.
If you want help, you need to actually ask a specific and detailed question. Your connection is null when you are trying to call it, therefore you are getting that error. As previously mentioned, you should not leave your connection open all the time. Furthermore, you really should not be using static fields/instances/methods. Due to you making it static, the lifespan of your connection field is that of the JVM it is ran in, which can lead to all kinds of issues.
on line 101, you call connection.prepareStatement(), but at that point, connection has not been opened, so it is null. you need to open the connection first. Also, those methods really should not be static, especially when you are dealing with threading.
public void onPlayerLogin(PlayerLoginEvent event){ openConnection();??? try{ int previousLogins = 0; if(playerDataContainsPlayer(event.getPlayer())){ Iaccidentally