我正在用谷歌應用程序引擎和grails創建一個應用程序。我爲我的Flex應用程序設置了一個Controller來調用。 Controller調用一個服務來獲取列表並將其發送回Flex。grails與JDO - 我如何正確使用persistenceManager
Flex客戶端能夠將數據返回一次。另外如果我在瀏覽器中調用動作,我可以調用動作並獲取數據。我發現的問題是,它不能多次調用它,因爲應用程序正在使用JDO,在第一次調用之後,我收到一條錯誤,指出persistenceManager已關閉。
我已經閱讀了一些文章,告訴你如何設置一個單一的噸,只是在需要時得到一個persistanceManager的實例,但這似乎也不工作。
這是我第一次使用JDO,我可以使用一些建議,讓這些服務在一致的基礎上工作。
以下是實際查詢數據存儲的服務中的代碼。
package com.dlish.fulcrum
import com.dlish.fulcrum.PMF
import org.springframework.beans.factory.InitializingBean
import com.google.appengine.api.datastore.*
import com.dlish.fulcrum.Show
class VenueBlastService {
static transactional = true
def grailsApplication
def setting
void afterPropertiesSet()
{
this.setting = grailsApplication.config.setting
}
def persistenceManager
def getAllShows() {
def query = persistenceManager.newQuery(Show)
def showInstanceList = query.execute()
return showInstanceList
}
}
從控制器傳遞的PersistenceManager的服務。如果說,這是關閉的,那麼你,或您正在使用的一些軟件稱爲pm.close()。也許春天是這樣做的? – DataNucleus 2010-06-15 07:00:04