我正在创建一个应用程序,其中 java swing 客户端通过远程接口连接到 EJB。现在,一旦客户端登录,无状态 ejb 是否可以直接从有状态会话 bean 获取客户端特定数据而不涉及客户端?
找不到有关上述问题的任何信息。
我正在创建一个应用程序,其中 java swing 客户端通过远程接口连接到 EJB。现在,一旦客户端登录,无状态 ejb 是否可以直接从有状态会话 bean 获取客户端特定数据而不涉及客户端?
找不到有关上述问题的任何信息。
AFAIK,如果您使用 JAAS(推荐),那么您不必使用有状态会话 bean 来存储身份验证状态。
对于远程客户端,通常首选无状态方法,其中所有数据都在客户端收集并发送到服务器。
一些有用的 JAAS 链接:
http://docs.oracle.com/javaee/6/tutorial/doc/gijrp.html
http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/JAASRefGuide.html
http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/JAASLMDevGuide.html
http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/tutorials/GeneralAcnOnly.html
书:
根据定义,无状态会话 bean 是无状态的。您不应该在 SLSB 中编写依赖于会话状态的业务逻辑,这是对此类组件如何工作的误解的标志,并且可能表明存在设计问题。
如果您确实、绝对需要访问会话信息来执行业务逻辑,那么请从 SFSB 而非 SLSB 进行。或者,您可以将会话状态作为参数传递给 SLSB 中的方法,但这种状态必须来自调用 SLSB 的有状态组件。