问题标签 [stateless]
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.
java - 使用 @Schedule 注释的方法不适用于依赖项 jboss.ha:service=HASingletonDeployer,type=Barrier
我有一个集群应用程序,在 jboss 6.1.0.Final 中运行了 2 个节点。
我有一些无状态 bean 需要在预定时间执行一些任务。它使用 EJB 3.1 计时器服务。这是其中之一:
直到这里,这完美地工作。
但由于我有 2 个节点,我需要仅在其中一个节点中执行 doStuff 方法,所以这是我的 META-INF/jboss.xml
当服务器启动时,我看到 MyBean 仅在其中一个节点中创建。
但是,由于在 META-INF/jboss.xml 上声明了依赖关系,doStuff 方法永远不会执行。我测试了从 META-INF/jboss.xml 中删除依赖项,并且该方法在预定时间执行,但它在两个节点中运行。我的需要是创建一个只在集群的一个节点上运行的计划方法。
更新:如果我在 META-INF/jboss.xml 上这样做:
计划的方法仍然不在任何节点中运行。
但如果我这样做:
该方法在两个节点中运行。
任何人都可以帮助我吗?谢谢。
database - RESTFul 架构中的独特约束
凭借 15 年的有状态客户端-服务器软件开发经验(这是固有的问题),我仍在尝试掌握 RestFul 架构中无状态的概念。
假设我有一个通用接口来将业务对象发布到我的 REST 服务。例如用户资源。我的用户资源应该限制他的电子邮件地址的唯一性。我最初的反应是使用底层数据库设施来“保证”这个。第二个反应是引入一些锁定或事务机制。
但我的 Restafarian 同事回答说:“不!” 客户端应该检查新用户的电子邮件是否是唯一的,并且您应该接受这样一个事实,即有一小段时间可以插入重复的电子邮件地址。客户端应用程序应该能够处理此冲突。
这反过来又与我所学到的一切背道而驰,而且一点也不自然。请赐教...
jsp - jsp 和 java bean
我正在构建托管在 tomcat 上的 jsp 页面,并且想知道每个 jsp 中引用的 bean 实例是否是无状态/有状态的?这些 bean 实例是如何产生的?每次访问页面时是否(重新)创建它们?我是否需要担心两个不同的用户同时访问同一个页面并获得同一个 bean 实例?
一般来说,我发现jsp和bean之间的交互非常混乱,所以如果有人可以参考这些概念的教程/解释,我将不胜感激。谢谢!
PS bean 类中的静态字段怎么样?这些值是否默认具有应用范围?
jsf - JSF 与 CDI SessionScope 对 Statelss EJB 事务有奇怪的影响。谁能解释一下?
我有一个带有注入的无状态会话 Bean (UserInfoService) 的 SessionScoped 托管 bean (UserInfoController)。
UserInfoController 调用 UserInfoService 来更新 UserInfo 记录。UserInfoService 加载相应的 UserInfo 记录,对其进行修改,最后调用 em.flush();
当托管 bean UserInfoController 使用 CDI 注释 (javax.enterprise.context.SessionScoped) 进行注释时,除非无状态 bean 的实体管理器使用 PersistenceContextType.EXTENDED 注释,否则不会更新用户记录。
当托管 bean 使用 JSF 注释 (javax.faces.bean.SessionScoped) 进行注释时,使用 PersistenceContextType.TRANSACTION 时记录更新成功。
谁能解释这种行为?不管调用者是 JSF 还是 CDI SessionScoped 托管 bean,事务边界不应该限制在 Stateless Bean 上吗?(TransactionAttributeType 未定义:它应该默认为 REQUIRED)
任何信息,将不胜感激!谢谢!本
rest - 无状态 API 服务中的身份验证 - 是否安全?
是否有处理无状态身份验证的标准做法?
我正在创建一个 API 服务器,并希望每个请求都由客户端签名,这样我可以保证请求的发出者是我们网站的有效用户。
服务器和客户端有一个共享的秘密——即用户的哈希密码,所以......
- 服务器向客户端发送一个随机数
- 客户端将签名密钥 K 构造为 (nonce,hashed_password)
- 客户端通过使用密钥 K 附加消息身份验证代码来“签署”每个请求
- 例如('删除 image_x',user_id,request_signature)
- 然后服务器在处理之前检查签名是否对每个请求都有效。
有没有明显的缺陷?
properties - 支持无状态对象、参数和返回值的有状态对象、属性和无参数方法
Solve 方法确实有一个返回值,但不需要,因为结果也可以在 Solution 属性中使用。
这是我认为的传统代码:
这将是与链接中的求解器具有相同精神的替代方案:
除了第二个版本有点“非传统”之外,还有什么优点和缺点?
是的,编译器不会帮助忘记分配某些属性(参数)的用户,但是所有包含可写属性并且在构造函数中没有强制值的组件都是这种情况。
是的,线程不起作用,但是每个线程都可以创建自己的求解器。
是的,垃圾收集器将无法处理求解器的结果,但是如果整个求解器都被处理掉了,它就会处理掉。
是的,编译器和处理器对参数和返回值进行了特殊处理,这使得它们速度很快,但是参数处理的时间几乎可以忽略不计。
等等。其他想法?
immutability - 无状态和不可变有什么区别?
我经常听到术语“无状态”和“不可变”。例如,HTTP 是无状态协议,String 对象是不可变对象。但我很难理解两者之间的区别。当我创建一个无状态对象时,它不会在内部存储任何“状态”数据。如果我创建一个不可变对象,则意味着它永远不会改变。
这不是同一个意思吗?
由于不可变对象不会改变,根据定义它不能有状态。这就是它永远的样子。如果一个对象没有状态,它就不能被改变(根据定义)。因此,不是所有的无状态对象都是不可变的和不可变的对象是无状态的吗?
什么是可变无状态对象或不可变有状态对象的示例?
http - 为什么说“HTTP 是无状态协议”?
HTTP 有 HTTP Cookie。Cookies 允许服务器跟踪用户状态、连接数、上次连接等。
HTTP 具有持久连接 (Keep-Alive),其中可以从同一个 TCP 连接发送多个请求。
entity-framework - EF Code First Detached Entity 不更新对象引用
我正在发布确切的实体:
我正在使用以下代码以不相关的上下文方式进行更新:
这是我的 dbContext 公开的一个方法 以这种方式调用:
问题是,EF 将更新除引用的 Plan 对象之外的任何属性。有人可以告诉我错误在哪里吗?提前:实体到达更新点并正确设置所有属性。EF 只是无法更新数据库中的 FK(但也不例外) 更新:尝试解决这样的问题,但没有奏效: