问题标签 [stateful]

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 投票
2 回答
1142 浏览

scala - Scala 的 Lift 如何管理状态?

Lift 2.0 带来的 Actor 和 StatefulSnippets 等功能给我留下了深刻的印象,但我有点担心这些东西的内存开销。我的问题是双重的:

  1. Lift 如何确定何时垃圾收集状态对象?
  2. 页面请求的内存占用是什么样的?

如果一个网络爬虫在网站的足迹上跳舞,他们是否会打开足够多的状态对象来淹没一个适度的 VPS (512M)?这个问题显然取决于应用程序,但我很好奇是否有人可以向我抛出任何现实世界的数字。

0 投票
3 回答
4334 浏览

jsf - 为什么我不应该将 JSF SessionScoped bean 用于逻辑?

我正在使用带有购物车样式流程的 JSF 开发一个 Java EE Web 应用程序,因此我想收集多个页面上的用户输入,然后对其进行处理。

我正在考虑为此使用 EJB 3 有状态会话 bean,但我的研究使我相信 SFSB 不绑定到客户端的 http 会话,因此我必须通过 httpSession 手动跟踪它,一些附带问题这里 。. .

1)为什么称为会话bean,据我所知,它与会话无关,我可以通过将pojo存储在会话中来实现相同的目的。

2)能够注入它有什么意义,如果我要注入的只是这个SFSB的一个新实例,那么我还不如使用pojo?

所以回到我看到的主要问题,JSF 是一种表示技术,所以它不应该用于逻辑,但它似乎是收集用户输入的完美选择。

我可以将 JSF 会话范围 bean 设置为我的所有请求 bean 的托管属性,这意味着它被注入到它们中,但与 SFSB 不同的是,JSF 托管会话范围 bean 绑定到 http 会话,因此始终注入相同的实例只要 http 会话没有失效。

所以我有多层

第一层)处理表示的 JSF 管理的请求范围 bean,每页 1 个。
第 2 层)一个 JSF 管理的会话范围 bean,其值由请求 bean 在其中设置。
第三层)一个无状态会话 EJB,它对 JSF 会话范围 bean 中的数据执行逻辑。

为什么这么糟糕?

另一种选择是使用 SFSB,但是我必须将它注入到我的初始请求 bean 中,然后将其存储在 http 会话中并在每个后续请求 bean 中重新获取它 - 看起来很混乱。

或者我可以将所有内容都存储在会话中,但这并不理想,因为它涉及使用文字键和强制转换。等..等容易出错。. . 和凌乱!

任何想法都值得赞赏,我觉得我正在与这项技术作斗争而不是使用它。

谢谢

0 投票
1 回答
278 浏览

session - 兵马俑是专业使用的吗?

今天在工作中,我和我的同事和我的老板讨论了无状态/有状态 bean(我们刚刚完成了一个使用 JSF 的项目,这是这家公司第一次有人做 JSF 相关的事情),我的老板说他不' 不太喜欢 Session 范围的 bean(甚至是对话 / KeepAlive 范围的)。他的一个论点是,如果我们有例如 4 个 Tomcat 并且有来自用户的请求,那么我们并不确定它是否会被同一个 Tomcat 每次“捕获”,问题是如果在第一次出现请求并创建会话 bean 时,它只在那个 Tomcat 上创建,其他人不知道。

他提到的解决方案之一是所谓的“粘性会话”,它强制来自给定用户的请求每次都由同一个 Tomcat 处理。根据他的第二个解决方案是将所有数据存储在“视图”中,但这意味着将整个状态存储在 POST 中,不知何故我不太喜欢这个想法。然后他提到将状态存储在数据库中,并在需要它的请求到达时查询它。我认为这会对性能造成非常大的影响,但他说这真的不是问题,因为数据库应该为此类任务做好准备。

我感兴趣的最后一个解决方案是 Terracotta 服务器,据他告诉我们,它应该为所有 Tomcat 存储会话 bean(与它同步,然后如果有请求进来,它们会在里面寻找会话 bean红陶)。看起来有点酷且可扩展,但他说他并没有真正看到它在大型专业系统中使用过,对吗?我尝试了一些关于它的信息但失败了,Terracotta 是否有问题阻止人们使用它?

0 投票
1 回答
401 浏览

javascript - jQuery 版本的 Dojo 的 Stateful?

有谁知道任何用 jQuery 编写的类似于Dojo 的 Stateful的插件?

0 投票
2 回答
370 浏览

concurrency - Java EE——为多个用户使用相同的有状态对象

尽管我已经在 J​​ava SE 中工作了很长一段时间,但大约一个月前我才开始使用 Java 进行 EE 和 Web,如果这个问题看起来有点幼稚,请原谅......

所以情况是这样的:我正在尝试编写一个基于 JS 的具有实时交互的多人游戏(我们在这个例子中说国际象棋,尽管它是什么特定的游戏并不重要,可以是网球或 w/曾经)。客户端将通过 JS 调用与服务器交互,发送移动等。现在,虽然我可以从一个客户端接收移动并将其直接传递给另一个玩家,但不在服务器上维护游戏状态将意味着放置一个巨大的标志说“欢迎用户 JS 脚本”(这是没有经验的——我自己“破解”了这种垃圾)。这给我带来了我的问题——我如何在几个会话之间共享一个有状态的对象?想到的一个想法是一个单例存储有状态 bean 的 Hashmap & 然后每个会话都可以通过它的哈希来检索 bean,但我不知道这是多么正确(对于这样一个相当常见的事情来说,它似乎相当复杂)。将它与应用程序范围联系起来似乎也有点矫枉过正......

PS我确实知道该对象需要并发管理等,我似乎无法弄清楚如何共享它......

编辑:很抱歉我之前没有提到它——使用 Glassfish,EE6。

0 投票
1 回答
754 浏览

session - 有状态会话 Bean 的池化

是否可以对有状态会话 bean 进行实例池化。如果有状态 bean 实例被钝化,在 prepassivate() 执行期间,如果收到请求,则删除与其关联的所有状态信息并将其发送到池中在 postActivate() 期间从客户端将状态恢复到从池中选择的实例并继续。

0 投票
3 回答
3657 浏览

c# - 是否可以在 C# 中创建有状态的 Web 服务?

我现在有这样的东西:

是否可以制作有状态的 Web 服务,以便我可以重用SomeObj so并调用同一个对象上的方法?

因此,将使用此服务的客户端将首先调用 Web 方法,该方法将创建so对象并返回一些 ID。然后在随后的调用中,Web 服务将so根据 ID 重用相同的对象。

编辑


这是我的实际代码:

0 投票
5 回答
12990 浏览

java - Java 持久性应用程序无状态与有状态

我是 JPA 的新手,我无法理解无状态和有状态之间的用途和区别。

有什么经验吗?

问候, 海瑟姆

0 投票
1 回答
412 浏览

seam - 有状态 ejb 上的类强制转换异常

出于某种奇怪的原因,我得到了以下异常。

我知道它不应该是类转换异常,因为它是正确的类。

代码是:

班级是

谁能发现我犯的错误?

0 投票
2 回答
1195 浏览

ruby-on-rails - 有状态的 Rails 应用程序。存储不在数据库中的数据

我有一个 Rails 应用程序,其中包括聊天。一切正常,但现在我想将最后 50 条聊天消息存储在某个地方。如果重新加载页面,我需要它来显示最后的消息。我不想使用数据库。将它存储在某种数组中会很好,但 Rails 是无状态的。我希望在您的帮助下使其更具状态。

谢谢

更新

我找到了PStorehttp://www.ruby-doc.org/stdlib/libdoc/pstore/rdoc/classes/PStore.html)。这对我来说看起来很不错,不是吗?