我正在使用构建在Apache Axis2c库之上的Axis2c来实现服务,我打算成为无状态的。
据我所知,服务是否有状态(即"客户端和服务器之间的交互是否涉及到服务器,跟踪特定于交互的数据,因为每个后续的交互都可能取决于以前交互的结果。“)取决于服务体系结构的实现。
据我所知,我完全有可能使用员工来创建无状态服务。那么,为什么员工的“特征”页面明确提到“有状态Web服务实现”?员工库这样做有意义吗?
发布于 2014-09-27 18:03:07
也许这不是真的有状态。
它被称为“有状态”的原因是:服务器在每个会话中存储服务实例。您的服务可以将本地数据存储为类属性,并且在会话中工作时将具有相同的数据。
当您登录并使用由sessionId服务提供的Login时,服务器将创建(懒散地)绑定到此sessionId的服务实例。因此,对于两个不同的会话,您将有两个具有不同属性值的服务实例。如果您使用一些无法在每次调用中初始化和销毁的大型对象,例如测地信息系统,这可能非常有用。
无状态Web服务框架通常为每个客户端调用创建服务实例,任何东西都不能在本地存储,除了使用共享内存或DBMS之类的全局机制之外,还传递一些id来区分一个客户端。
https://stackoverflow.com/questions/26072517
复制相似问题