簡體   English   中英

與Java在同一項目中的MySQL上的Google App Engine查詢

[英]Google App Engine query on MySQL in same project with Java

我有一個SQL實例“ MySQL 2nd Gen 5.7”,該實例必須處理來自Google App Engine的簡單更新查詢操作。

此Google App Engine標准Java項目服務是使用JDK 1.8,Eclipse Oxygen,Hibernate 3和經典Servlet內容創建的。

每當我從計算機上運行項目時,連接將正常運行,程序將無錯誤執行。 但是,當我將其部署到Google中以創建新版本時,如果嘗試使用,查詢頁面將加載30秒,直到出現錯誤500。 錯誤的詳細信息:

網站展示:

錯誤:服務器錯誤

服務器遇到錯誤,無法完成您的請求。 請在30秒后重試。

顯示堆棧跟蹤:

hbt.HibernateUtil上的java.lang.ExceptionInInitializerError。 (HibernateUtil.java:21)在dao.TurnoDAO.getTurno(TurnoDAO.java:69)在controlador.Main.getTurno(Main.java:32)在RegularizarTurno.doPost(RegularizarTurno.java:33)在javax.servlet.http javax.servlet.http.HttpServlet.service上的.HttpServlet.service(HttpServlet.java:637)(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的數據庫。 通過允許所有網絡訪問數據庫解決了該問題。 風險很大,我們仍然需要具有密碼的用戶才能輸入。 非常感謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM