问题标签 [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.
functional-programming - 有状态编程的优点?
我想知道无状态编程的好处,发现有人分享了我的问题: 无状态编程的优势?
不过,当我阅读答案时,这让我对相反的问题感到好奇。有状态编程的优点是什么?最近似乎有很多关注无状态代码,但我对趋势持谨慎态度。
似乎有状态(即命令式)编程可能比无状态(即函数式)编程更适合某些场景,我希望能够更好地识别哪些问题可以通过有状态编程来解决。
ejb - EJB 在两个 bean 之间调用方法
我有两个豆子。一种有状态,一种无状态。现在我想从有状态 bean 中调用一个方法,该方法位于无状态 bean 中。我怎样才能做到这一点?无状态 bean 也有一个接口。
dependency-injection - 无法从 @stateless 转换为 @stateful bean
我在 glassfish3.1 上实例化有状态会话 bean 时遇到问题。
用于使用 @Stateless 会话 bean 的 @Local 接口的 JSF 应用程序的 @ManagedBean(会话范围)并且一切正常。
现在我必须转换为@Stateful bean,当我尝试将有状态 bean 注入托管 bean 时出现异常。
有问题的代码由以下 3 层组成:
CoreClassEAO 为数据库提供了一个访问层,如下所示:
在上一个版本中,当 ShopAdmin 和 CoreClassEAO 都是 @Stateless bean 时,一切都运行良好。但是现在,注入 ShopAdminInterface 会向我抛出异常
更新:我缩小了问题范围:查看我的另一个问题 Injecting @Stateful bean into another @Stateful bean
dependency-injection - 将@Stateful bean 注入另一个@Stateful bean
在 glassfish 3.1 服务器上,我有一个@Stateful
会话 bean,它被注入到另一个有状态会话 bean 中。
注入的有状态会话 bean 呈现了我的实体访问层,它本身具有注入的 EntityManager @PersistenceContext
,它看起来像这样。
这个访问层被注入到另一个有状态的 bean 中:
这行得通!- 但是现在,当我向 MyEAO 添加另一个构造函数时,将 MyEAO 注入第二个 bean 失败并出现异常。
奇怪的是,这两个 bean 过去都是@Stateless
会话 bean,根本没有问题。
顺便说一句,我使用第二个构造函数为在 glassfish 容器之外运行的 JUnit 测试传递实体管理器。
简而言之:在“无国籍时代”,一切都按预期进行!
我对 EJB 很陌生 - 那么我在这里缺少什么?
这是堆栈跟踪:
glassfish - 如何创建 EJB“会话范围”单例 bean?
实施“会话范围单例”的最佳实践是什么?
我需要一个“会话范围的单例 bean”,我可以“注入/插入”到其他@Stateful
bean 中。
我了解到,简单地注入一个@Stateful
bean 并没有帮助,因为其他 bean 每个都有一个不同的我的“not-so-really-singleton-bean”实例。注释 as@Singleton
也无济于事,因为我不想要一个应用程序范围的单例,而是一个会话范围的单例。
memcached - 高可扩展性高实时(允许响应最多几十毫秒)业务逻辑是无状态的还是有状态的?
我知道这听起来很笼统的问题,但我真的对拥有无状态服务很感兴趣,我想知道它是否可以通过这些限制(无状态)来完成。例如谷歌有很多服务。我更关心他们需要非常快速(最多几十毫秒)返回结果的服务,并且他们有大量分散的数据(也许他们会在某处立即保存摘要)。在这些情况下,任何人都可以判断他们的“业务逻辑”服务器是无状态的还是有状态的?无状态可能具有简单地将状态移动到存储层(gfs/memcached/bigtable)的好处,但是如果您将请求传输到同一个节点,那么您可以从内部存储器中快速获得结果。有人对这种巨大的可扩展性巨大的实时问题有经验吗?
session - 使用有状态会话 Bean 跟踪用户的会话
这是我在这里的第一个问题,我希望我做对了。
我需要处理一个 Java EE 项目,所以在开始之前,我会尝试做一些简单的事情,看看我是否能做到。
我坚持使用Stateful Session Beans。
问题是:如何使用SFSB来跟踪用户的会话?我看到的所有示例最终都将SFSB “放入”到HttpSession属性中。但我不明白为什么!我的意思是,如果 bean 是 STATEFUL 的,为什么我必须使用HttpSession来保留它?
EJB 容器的任务不是将正确的SFSB返回给客户端吗?
我试过一个简单的计数器豆。在不使用会话的情况下,两个不同的浏览器具有相同的计数器 bean(单击“增量”会更改它们的值)。使用会话,我有两个不同的值,每个浏览器(单击 Firefox 上的“增量”,只添加一个到 Firefox 的 bean)。
但是我的老师告诉我,SFSB保持“与客户端的对话状态”,那么为什么不使用HttpSession就不能正常工作呢?
如果我理解正确的话,使用HttpSession和SFSB是否与使用SLSB相同?
我希望我的问题很清楚,并且我的英语不是那么差!
编辑:我正在开发一个登录系统。一切都很好,完成登录后,它会将我带到显示用户数据的个人资料页面。但是重新加载页面会使我的数据消失!我曾尝试在记录时添加HttpSession,但这样做会使数据即使在注销后仍然存在!
android - Android 在恢复焦点后无法正确恢复小部件
我正在开发一个相当重的 GUI 安卓应用程序,它有很多在运行时动态配置的小部件(文本字段、按钮等)。当应用程序获得焦点时,一切都运行良好,但是一旦用户将应用程序推送到后台并恢复它,所有小部件都会失去其动态状态并恢复到其布局定义的默认状态。这是 Android 应用程序的正确行为吗?
我在其他平台(iOS、Windows、Mac)上开发了许多 UI,但我从未见过这样的行为。我是否必须做一些神奇的舞蹈才能让 Android 在重新聚焦之间保持小部件状态?任何提示将不胜感激谢谢!
multithreading - EJB - 架构问题
我目前正在编写一个新的 EJB 应用程序,它基本上应该从 Web 服务接收消息并基于此消息内容启动下载过程。此应用程序将在 Glassfish 3.1.1 上运行。
我的第一个想法是创建一个单例 bean,它可以读取来自 Web 服务的消息,并使用有状态会话 bean 来启动和处理下载本身。我需要使用有状态 bean,因为我需要在我的单例和有状态 bean 之间有一个转换状态(下载状态等)
“问题”是,如果我从 Web 服务收到多条消息,我应该同时启动多个下载,当然每个下载都有自己的上下文。我应该如何实现这一点,就好像我从我的单例中调用一个有状态会话 bean 我总是会得到相同的 bean,对吗?我看到的唯一解决方案是使用从我的单例创建和启动的线程,但 EJB 规范不允许这样做......
谢谢你的帮助 !
scala - 播放反例来提升状态
在 Chris Hagan关于 Lift vs Play 的回答中,他指出 Lift 的状态性确实使编码变得更容易,举一个 Lift 的例子:
}
我正在使用相同的应用程序片段寻找 Chris Hagan 的 Lift 示例的 Play 反例,以简化理解 Lift 和 Play 在处理状态方面的区别的过程。