Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Mvc谷歌应用程序引擎中的会话侦听器_Java_Google App Engine_Session_Jpa_Spring Mvc - Fatal编程技术网

Java Spring Mvc谷歌应用程序引擎中的会话侦听器

Java Spring Mvc谷歌应用程序引擎中的会话侦听器,java,google-app-engine,session,jpa,spring-mvc,Java,Google App Engine,Session,Jpa,Spring Mvc,我正在使用谷歌应用程序引擎、SpringMVC和SpringJPADAO。在我的应用程序中,我想在会话被破坏时从数据库中删除一个条目。因此,我使用的会话侦听器实际上希望通过SpringDAOBean从数据库中删除一个条目 这是我在会话侦听器中的代码 @Override public void sessionDestroyed(HttpSessionEvent se) { //get entry from session and now remove entry from database get

我正在使用谷歌应用程序引擎、SpringMVC和SpringJPADAO。在我的应用程序中,我想在会话被破坏时从数据库中删除一个条目。因此,我使用的会话侦听器实际上希望通过SpringDAOBean从数据库中删除一个条目

这是我在会话侦听器中的代码

@Override
public void sessionDestroyed(HttpSessionEvent se) {
//get entry from session and now remove entry from database
getMyDao(se).delete(entry);
}

private MyDao getMyDao(HttpSessionEvent sessionEvent){

     HttpSession session = sessionEvent.getSession();

    ApplicationContext ctx = 
          WebApplicationContextUtils.
                getWebApplicationContext(session.getServletContext());

    MyDao dao = 
                (MyDao) ctx.getBean("myDao");

    return dao;
}
我尝试删除时出现以下错误

java.lang.NullPointerException:没有为此线程注册API环境。 位于com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:108) 位于com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppIdNamespace(DatastoreApiHelper.java:118) 位于com.google.appengine.api.datastore.Query.(Query.java:112) 位于org.datanucleus.store.appengine.query.DatastoreQuery.validate(DatastoreQuery.java:794) 位于org.datanucleus.store.appengine.query.DatastoreQuery.performExecute(DatastoreQuery.java:225) 位于org.datanucleus.store.appengine.query.JPQLQuery.performExecute(JPQLQuery.java:80)


有谁能告诉我,当我从会话侦听器调用时,为什么api环境没有注册?

谷歌应用程序引擎不支持会话侦听器。会话侦听器可能在本地获得调用,但没有为此线程注册API环境。生产中的侦听器甚至不会调用。

谷歌应用程序引擎不支持会话侦听器。会话侦听器可能在本地获得调用,但没有为此线程注册API环境。在生产环境中,侦听器甚至不会调用