- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 GAE(Google App Engine)内部连接到我的 MySQL 数据库实例,也在 GAE 上。从外面看效果很好。
经过一周的搜索,我似乎找不到问题。
没有 MySQL 连接代码,servlet 在 GAE 上工作正常,没有错误。
这是简单的 servlet:
public class DBServlet extends HttpServlet {
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
try {
Class.forName("com.mysql.jdbc.GoogleDriver");
Connection conn = DriverManager.getConnection("jdbc:google:mysql://cloud-2280:mysql/account", "root", "");
//Connection conn = DriverManager.getConnection("jdbc:google:mysql://cloud-1180:mysql/account?user=root");
} catch (ClassNotFoundException ex) {
Logger.getLogger(DBServlet.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(DBServlet.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
conn.close();
} catch (SQLException ex) {
Logger.getLogger(DBServlet.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
在 GAE 上绑定(bind)时,我在 GAE 日志中得到了这个:
com.conversedynamics.NewServlet doPost: null 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. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:46) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117) at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:668) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1078) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2417) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2450) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2235) at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:818) at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:46) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:46) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404) at com.mysql.jdbc.GoogleNonRegisteringDriver$JdbcWrapper.getInstance(GoogleNonRegisteringDriver.java:282) at com.mysql.jdbc.GoogleNonRegisteringDriver.connect(GoogleNonRegisteringDriver.java:252) at java.sql.DriverManager.getConnection(DriverManager.java:571) at java.sql.DriverManager.getConnection(DriverManager.java:233) at com.conversedynamics.NewServlet.doPost(NewServlet.java:90) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437) at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444) at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:256) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308) at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3039) at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:592)
这是 appengine-web.xml
<application>cloud-2280</application>
<version>1</version>
<!-- <ssl-enabled>false</ssl-enabled>
<sessions-enabled>true</sessions-enabled>
-->
<threadsafe>false</threadsafe>
<use-google-connector-j>true</use-google-connector-j>
</appengine-web-app>
更新:与 koma 的回答相关的屏幕截图:
最佳答案
您使用的是二代云sql实例。这些还不能从 App Engine 访问。使用第一代实例,您可以将您的应用程序添加为授权应用程序。我遇到了同样的问题。
关于java - 从 GAE 连接到 MySQL 实例时出现 CommunicationsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34694800/
在 CruiseControl 版本 1.6.7981.1 中,我从事件查看器中收到以下错误,导致 ccservice 停止。到目前为止,我的解决方法是登录构建框并手动启动 ccservice。看起来
日志消息全文: 日志消息:获取新用户时发生错误 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:从服务器成功接收的最后一个数据包是在 4
我们正在编写一个用于经济计算的软件。我们使用 Java 6、Swing 应用程序框架、MySQL 5.1、JDBC 和 Hibernate(JDBC 仅用于初始连接测试)。我们将该应用程序部署在 Wi
我通过 App Engine Java Rest API 项目连接到 Google Cloud SQL,以在云上检索和存储数据。我可以通过本地主机成功与服务器通信,但在发布后,我收到此错误: Tryi
我正在使用 Eclipse 和 Android 模拟器。我可以在模拟器浏览器中访问10.0.2.2。但在我的应用程序中,此代码未运行: Connection con = DriverManager.g
我的 MySQL 连接池有点问题。是这样的: 通过 Quartz 安排不同的作业。所有作业都连接到不同的数据库,这些数据库全天工作正常,而夜间计划的作业因 CommunicationsExceptio
我正在运行一个使用 Hibernate 和 C3P0 作为连接池、MySQL 5.6 数据库的 Java Web 应用程序。我继续在已部署的应用程序中遇到连接超时和生成错误的问题: Caused by
这个问题在这里已经有了答案: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
有人在执行某些查询时遇到过这样的错误吗? (jdbc4.CommunicationsException:通信链接失败) 一般来说,这个异常是应用程序和mysql之间的通信出现了一些问题。你可以找到很多
我的 jhipster 后端应用程序使用 mysql 和 elasticsearch,我使用“./mvnw package -Pprod dockerfile:build -DskipTests”成功
我有一个谷歌应用引擎连接的项目,我试图连接到谷歌云 sql 数据库。我将我的项目上传到谷歌,并通过它尝试连接到数据库。 我的连接网址如下-> Class.forName("com.mysql.jdbc
我有两个网络服务。一个 Web 服务调用另一个 Web 服务。这些 Web 服务托管在两个不同的 AWS 实例上。如果被调用的 Web 服务空闲一段时间,我会收到此异常 - com.mysql.jdb
我正在尝试从 GAE(Google App Engine)内部连接到我的 MySQL 数据库实例,也在 GAE 上。从外面看效果很好。 经过一周的搜索,我似乎找不到问题。 没有 MySQL 连接代码,
/** * */ package ORM; import java.sql.Connection; import java.sql.DriverManager; import java.sql.S
我们正在使用 Spring + Hibernate + MySql 运行一个 J2EE 应用程序,它在内部使用 C3P0 和 Connector/J 用于连接池。但我们收到通信链接失败错误以下是配置
我正在努力使数据库与Java程序进行通讯。 有人可以使用JDBC给我一个快速而肮脏的示例程序吗? 我收到一个相当惊人的错误: Exception in thread "main" com.mysql.
我正在努力让数据库与Java程序进行通讯。 有人可以使用JDBC给我一个快速而肮脏的示例程序吗? 我收到一个相当惊人的错误: Exception in thread "main" com.mysql.
我在保持事件检查期间遇到 异常,这意味着连接 (com.mysql.jdbc.JDBC4Connection@5d8f3404) 必须已断开。 CommunicationsException:通信链接
这个问题已经有答案了: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure (51
我的产品服务器出现以下异常,但几个小时后会自动解决。造成此问题的原因可能是什么 Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsExc
我是一名优秀的程序员,十分优秀!