gpt4 book ai didi

java - Google App Engine 在与 Java 相同的项目中查询 MySQL

转载 作者:行者123 更新时间:2023-11-30 21:55:23 25 4
gpt4 key购买 nike

我有一个 SQL 实例“MySQL 2nd Gen 5.7”,它必须处理来自 Google App Engine 的简单更新查询操作。

此 Google App Engine 标准 Java 项目服务是使用JDK 1.8, eclipse 氧, hibernate 3,和经典的 servlet 内容。

每当我从我的计算机上运行该项目时,连接将正常工作并且程序将无误地执行。但是当我将它部署到 Google 创建一个新版本时,如果我尝试它,查询页面将加载 30 秒,直到出现错误 500。错误详情:

网站显示:

Error: Server Error

The server encountered an error and could not complete your request. Please try again in 30 seconds.

堆栈跟踪的显示:

java.lang.ExceptionInInitializerError at hbt.HibernateUtil. (HibernateUtil.java:21) at dao.TurnoDAO.getTurno (TurnoDAO.java:69) at controlador.Main.getTurno (Main.java:32) at RegularizarTurno.doPost (RegularizarTurno.java:33) at javax.servlet.http.HttpServlet.service (HttpServlet.java:637) at javax.servlet.http.HttpServlet.service (HttpServlet.java:717)

问题是 SessionFactory 不会创建,因为项目无法连接到数据库,就像在我的计算机中一样。因此,正如 Google 文档中所说,如果服务在同一个 GoogleProject 中运行,则不会出现访问问题,答案不应该是权限方式。

打包hbt;

导入 org.hibernate.SessionFactory;导入 org.hibernate.cfg.AnnotationConfiguration;

导入实体。*;

public class HibernateUtil{
private static final SessionFactory sessionFactory;
static {
try {
AnnotationConfiguration config = new AnnotationConfiguration();
config.addAnnotatedClass(Turno.class);
config.addAnnotatedClass(Persona.class);


sessionFactory = config.buildSessionFactory();

}catch (Throwable ex){
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex); //LINE 21
}
}
public static SessionFactory getSessionFactory(){
return sessionFactory;
}
}

因此,IP 地址工作正常,权限应该没问题,与编码相关的一切都很好(因为在 2 台 PC 上测试过)。我错过了什么?我应该获得任何特殊权限吗?提前致谢

最佳答案

回答:存在一个奇怪的权限问题,不允许 GAE 访问具有相同项目 ID 的数据库。通过允许所有网络访问数据库解决了这个问题。尽管有风险,我们仍然需要一个有密码的用户才能进入。非常感谢。

关于java - Google App Engine 在与 Java 相同的项目中查询 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45407590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com