2011-12-10 31 views
2

我在Play框架應用程序中使用GAE插件,它工作正常。另外我使用MySQL驅動程序來訪問外部數據庫。我是上傳我在GAE應用程序之後,MySQL驅動程序無法啓動工作:使用MySQL驅動程序與GAE的外部MySQL數據庫一起工作應用程序

執行異常 NoClassDefFoundError的發生:無法初始化類com.mysql.jdbc.ConnectionImpl

所致:java.security .AccessControlException:訪問被拒絕(java.lang.RuntimePermission modifyThreadGroup)

GAE是否不支持在不同線程中工作MySQL驅動程序?

回答

3

在應用程序引擎上,您無法打開套接字。這就是您的JDBC驅動程序失敗的原因。

還有其他幾個選項,你可以考慮:

  • 使用GAE大表存儲
  • 使用託管的SQL App Engine提供(這是MySQL的爲好)
  • 如果您需要外部MySQL出於某種原因,你將不得不爲你的數據調用編寫一個HTTP包裝器,並通過url提取服務從應用引擎調用該包裝器

你也許還想閱讀t他發揮應用引擎的框架支持:http://www.playframework.org/documentation/1.0/gae

+1

我正在使用BigTable來存儲我的應用程序的對象。但我的應用程序需要使用MySql數據庫,只有SELECT數據。我無法將超過10G的MySql數據導入BigTable。如果導入完成,與真正的mysql數據庫同步將非常困難。如果GAE應用程序可以是WEB服務,或WEB服務客戶端,爲什麼它不能打開套接字? –

+0

@ user975287這是對GAE的限制,抱怨谷歌:)你不能打開一個jdbc套接字,因爲它被列入黑名單。你只能做http請求。我相信GAE不適合您的項目。 –

+0

正如我之前所說,如果你想讓你的應用程序運行在應用程序引擎上圍繞你的mysql構建一個web服務並從gae調用它或從mysql導入數據到大表中 –

相關問題