Сбой канала связи Java JDBC после публикации
Я создал свой первый API с помощью java httpServlet в netbeans. После нескольких дней работы я наконец-то смог подключить его к этой базе данных mySQL googleCloud и получить результаты локально. Но оnce этот API опубликован в Google cloud, использующем appengine, ниже была выброшена ошибка:
Error sqlException:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Но база данных mySQL разрешает доступ ко всем IP-адресам, так в чем же может быть проблема? Ниже приведен мой код:
public class HelloServlet extends HttpServlet { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { PrintWriter out = resp.getWriter(); //out.println("Dear vistor, you are accessing my first project deployed on cloud. Thank you"); try { if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Production) { Class.forName("com.mysql.jdbc.GoogleDriver"); url = "jdbc:google:mysql://test-123:myInstance/myDatabase?user=root&useUnicode=true&characterEncoding=UTF-8"; } else { Class.forName("com.mysql.jdbc.Driver"); url = "jdbc:mysql://1.2.3.4:3306/myDatabase?user=root&password=test"; } Connection connection = DriverManager.getConnection(url); try (Statement statement = connection.createStatement()) { ResultSet resultSet = statement.executeQuery("select test from tableTest;"); while (resultSet.next()) { out.println(resultSet.getString(1)); } } }catch(Exception ex){ out.println("Exception:" + ex.toString()); } } }
Может быть, это из-за моего projectD (потому что он имеет особый характер) ? Пожалуйста, помогите мне
Что я уже пробовал:
Я видел это несколько раз, и я сделал точное решение, как здесь и здесь
Herman<T>.Instance
Соединение.Открыть?
H.AL
getConnection в java - это соединение.Открыть в c#;