问题标签 [persistence-manager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1687 浏览

google-app-engine - Google App Engine PersistenceManager 可以处理多个对象吗?

我有一些这样的代码:

我想知道在关闭它之前使用上面的pm处理多个对象是否可以。还是我必须获取并关闭 pm 才能处理每个对象?

0 投票
2 回答
3228 浏览

java - 无法初始化类 com.sample.PMF(Google 应用引擎)

尝试将某些内容保存到 Datastore 时出现此错误。我试图搜索但没有得到任何东西。这是我保存到数据存储区的代码:

任何有关这方面的信息表示赞赏!

编辑:添加堆栈跟踪:

在 com.sample.dbops.DBManager.saveStudent(DBManager.java:18) 在 org.apache.jsp.index_jsp._jspService(index_jsp.java:64) 在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java :94) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:806) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) 在 org.apache.jasper.servlet.JspServlet。 serviceJspFile(JspServlet.java:292) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) at com.google.appengine.tools.development.PrivilegedJspServlet.access$101(PrivilegedJspServlet.java:23) at com.google.appengine.tools.development.PrivilegedJspServlet$2.run(PrivilegedJspServlet.java:59) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.tools.development.PrivilegedJspServlet。org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) org.mortbay.jetty 的 javax.servlet.http.HttpServlet.service(HttpServlet.java:806) 的服务(PrivilegedJspServlet.java:57) .servlet.ServletHandler.handle(ServletHandler.java:362) 在 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 在 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181 ) 在 org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) 在 org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) 在 com.google.apphosting.utils.jetty。 DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at com 。谷歌。appengine.tools.development.StaticFileUtils.serveWelcomeFileAsForward(StaticFileUtils.java:80) 在 com.google.appengine.tools.development.LocalResourceFileServlet.maybeServeWelcomeFile(LocalResourceFileServlet.java:251) 在 com.google.appengine.tools.development.LocalResourceFileServlet。 doGet(LocalResourceFileServlet.java:117) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:693) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:806) 在 org.mortbay.jetty.servlet .ServletHolder.handle(ServletHolder.java:487) 在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) 在 com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java :43) 在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) 在 com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:124) 在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) 在 org.mortbay.jetty .servlet.ServletHandler.handle(ServletHandler.java:360) 在 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 在 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181 ) 在 org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) 在 org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) 在 com.google.apphosting.utils.jetty。 DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54) 在 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) 在 com.google.appengine.tools.development。JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:313) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) 在 org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514 ) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) 在 org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint. java:396) 在 org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)HandlerWrapper.handle(HandlerWrapper.java:139) 在 org.mortbay.jetty.Server.handle(Server.java:313) 在 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) 在 org.mortbay.jetty .HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) 在 org. mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) 在 org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java: 442)HandlerWrapper.handle(HandlerWrapper.java:139) 在 org.mortbay.jetty.Server.handle(Server.java:313) 在 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506) 在 org.mortbay.jetty .HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) 在 org. mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) 在 org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java: 442)org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) 的 HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) 的 org.mortbay .jetty.HttpConnection.handle(HttpConnection.java:381) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) 在 org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442 )org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) 的 HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830) org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) 的 org.mortbay .jetty.HttpConnection.handle(HttpConnection.java:381) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396) 在 org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442 )BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

0 投票
1 回答
386 浏览

google-app-engine - PersistenceManager 和在视图中打开会话

我的 Java 技能有点生疏,我想知道如何为从谷歌应用引擎环境中的 servlet 调用的 PersistenceManager 实现 Open Session In View 模式。

我有一些处理 PersistenceManagerFactory 的单例,但是如何在每个 servlet 调用中获得一个“新的”PersistenceManager?

我希望我的业务类能够访问一些将使用相同的 PersistenceManager 的存储库,并且始终(在一个 servlet 请求中)。

现在,我不知道如何在第一次调用单例时为每个 servlet 请求初始化一个新的 PersistenceManager ......

提前感谢您的帮助。

0 投票
1 回答
9150 浏览

java - 如何使用 JDO 持久化管理器?

关于如何创建/使用 JDO 持久性管理器(PM,以下简称),我有两个问题。

比如说,在一个 Java Web 应用程序中,如果我有 10 个实体,它们在逻辑上可以分为 2 个组(例如,5 个用户相关实体和 5 个业务相关实体)

  1. 我应该需要两个不同的 PM 来管理这 2 个组还是只有一个 PM 就足够了?
  2. 关于初始化,我应该使用 PM 的单例实例(将在给定时间点由所有使用该应用程序的用户共享)还是应该为每个会话创建一个 PM?
0 投票
2 回答
5947 浏览

java - 使用 JDBC 和 Tomcat 的持久会话

我们有一个 Tomcat 服务器集群,它们共享一个运行 mod_jk 的公共 Web 服务器。我们目前使用粘性会话来处理会话,但我们希望转向 JDBC 会话共享。有没有人有很好的资源或分步解决方案来处理这个问题?

我不确定这个问题是针对 stackoverflow、serverfault 还是 DBA,但在这里。:)

编辑:

我认为我的问题的内容一定令人困惑。我所指的会话是用户会话 (JSESSIONID),而不是与数据库的连接。我想要做的是使用数据库来处理用户会话,以便当集群中的一台服务器出现故障时,用户可以无缝过渡到另一台服务器。现在,当服务器上发生错误时,用户将被注销。

0 投票
1 回答
1134 浏览

java - JackRabbit 持久性管理器澄清

我正在尝试决定为我的项目使用哪种类型的持久性管理器。我读了这个关于 persistenceManagers 的 wiki 条目

首先,由于 JCR-2802(所有非捆绑 PM 已弃用),只有

并且所有这些 InMem、Object、Xml PersistenceManager 都已弃用。(不推荐使用 InMemPM 时,MemoryFileSystem 仍然可以吗?)

因此,正如我所看到的,BundleFsPersistenceManager 在文件系统上使用 LocalFileSystem 来持久化文件(是否有解释如何将内容存储到文件中的方式的 wiki 条目? - 就像不同类型的节点属性,例如 nt:file)和 BundleDbPersistenceManager 使用 DbFileSystem将完全相同的文件存储到 DBMS 中?否则无法进行 lucene 索引和全文搜索,对吗?

所以原因是系统的集群和分布式特性以及原子性......否则数据库实现将是多余的,对吗?这样人们就有了更多的选择。

0 投票
2 回答
1356 浏览

jdbc - 如果找不到服务器,JBoss JDBC MBean 会阻止启动

在 JBoss 启动期间,我有一个依赖于 JDBC 连接(DefaultDS)的持久性管理器。JDBC 连接启动良好,无论它是否可以实际连接到数据库,因此当 Persistence Manager 启动时,它认为它有一个连接。然后它爆炸了,因为它无法连接到数据库并且永​​远不会启动。这会阻止我的 DestinationManager 启动并导致各种头痛。

有没有办法让依赖 JDBC 连接的 MBean 不启动,除非 JDBC 连接可以真正连接到数据库?作为替代方案,是否有办法使 JDBC 连接依赖于仅在数据库可以连接时才处于活动状态的 MBean?

tl;博士; 我所需要的只是让我的 MBeans/DestinationManager 等到数据库 (DefaultDS) 可用后再启动。

如果您需要有关环境的更多信息,请发表评论。

  • JBoss 版本 4.2.3

  • 数据库:MsSql

0 投票
1 回答
3382 浏览

hibernate - 如何在同一个事务中持久化和刷新

我有多个用户。为了防止并发,我写了这样的东西:

这对我有用。但是,如果我坚持一些东西,然后我在同一个事务中调用这个代码,那么我就会出错。

当我持久化一个实体时,数据库上下文在事务完成之前不会生效。因此,当我刷新时,它会尝试在数据库中查找实体,因此会出现错误。你有解决方案吗?我不能分成两个交易。我还应该考虑并发性。我能做些什么?

0 投票
1 回答
177 浏览

java - AppEngine:删除时奇怪的 WriteOperation 计数

我正在尝试使用以下方法删除 GAE (java) 中的 300 000 个实体:

我每天限制为 50 000 次写入操作(免费配额)。我天真地认为应该在 6-7 天内完成,但似乎 1 个调用使用了每日配额的 1/5。

--> 数据存储写入操作 21% 0.01 of 05000 操作

10 000 次写入操作,为什么不是 750?

它与索引有关吗?

0 投票
1 回答
569 浏览

tomcat - 如何使用 JNDI 数据库 bpool 进行 JDBCStore 会话持久性

我正在使用 JDBCStore 在 MySQL 中存储会话。它工作正常,但默认配置选项似乎不支持数据库池(可通过 JDBC JNDI 资源获得)。

是否可以为 JDBC 持久性管理器使用 JNDI JDBC 资源,这样容器就不必在每次需要持久化或检索会话数据时创建新连接?

干杯,史蒂夫