stateful bean与stataless bean的区别
展开全部
因为Stateless Session Bean不负责记录使用者状态,Stateless Session Bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,Stateless Session Bean的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。如果它有自己的属性(变量),那么这些变量就会受到所有调用它的用户的影响。
stateful session bean的每个用户都有自己的一个实例,所以两者对stateful session bean的操作不会影响对方。另外注意:如果后面需要操作某个用户的实例,你必须在客户端缓存Bean的Stub对象(JSP通常的做法是用Session缓存),这样在后面每次调用中,容器才知道要提供相同的bean实例。
这两种Session Bean都可以将系统逻辑放在方法之中执行,不同的是Stateful Session Bean可以记录呼叫者的状态,因此一个使用者会有自己的一个实例。Stateless Session Bean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean的时候,EJB 容器并不会寻找特定的Stateless Session Bean的实体来执行这个method。换言之,很可能数个使用者在执行某个Stateless Session Bean的methods时,会是同一个Bean的实例在执行。从内存方面来看,Stateful Session Bean与Stateless Session Bean比较,Stateful Session Bean会消耗J2EE Server 较多的内存,然而Stateful Session Bean的优势却在于他可以维持使用者的状态。
网上帮你找的,说得比较清楚了!
stateful session bean的每个用户都有自己的一个实例,所以两者对stateful session bean的操作不会影响对方。另外注意:如果后面需要操作某个用户的实例,你必须在客户端缓存Bean的Stub对象(JSP通常的做法是用Session缓存),这样在后面每次调用中,容器才知道要提供相同的bean实例。
这两种Session Bean都可以将系统逻辑放在方法之中执行,不同的是Stateful Session Bean可以记录呼叫者的状态,因此一个使用者会有自己的一个实例。Stateless Session Bean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean的时候,EJB 容器并不会寻找特定的Stateless Session Bean的实体来执行这个method。换言之,很可能数个使用者在执行某个Stateless Session Bean的methods时,会是同一个Bean的实例在执行。从内存方面来看,Stateful Session Bean与Stateless Session Bean比较,Stateful Session Bean会消耗J2EE Server 较多的内存,然而Stateful Session Bean的优势却在于他可以维持使用者的状态。
网上帮你找的,说得比较清楚了!
2015-06-26
展开全部
因为Stateless Session Bean不负责记录使用者状态,Stateless Session Bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,Stateless Session Bean的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。如果它有自己的属性(变量),那么这些变量就会受到所有调用它的用户的影响。
stateful session bean的每个用户都有自己的一个实例,所以两者对stateful session bean的操作不会影响对方。另外注意:如果后面需要操作某个用户的实例,你必须在客户端缓存Bean的Stub对象(JSP通常的做法是用Session缓存),这样在后面每次调用中,容器才知道要提供相同的bean实例。
这两种Session Bean都可以将系统逻辑放在方法之中执行,不同的是Stateful Session Bean可以记录呼叫者的状态,因此一个使用者会有自己的一个实例。Stateless Session Bean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean的时候,EJB 容器并不会寻找特定的Stateless Session Bean的实体来执行这个method。换言之,很可能数个使用者在执行某个Stateless Session Bean的methods时,会是同一个Bean的实例在执行。从内存方面来看,Stateful Session Bean与Stateless Session Bean比较,Stateful Session Bean会消耗J2EE Server 较多的内存,然而Stateful Session Bean的优势却在于他可以维持使用者的状态。
网上帮你找的,说得比较清楚了。
stateful session bean的每个用户都有自己的一个实例,所以两者对stateful session bean的操作不会影响对方。另外注意:如果后面需要操作某个用户的实例,你必须在客户端缓存Bean的Stub对象(JSP通常的做法是用Session缓存),这样在后面每次调用中,容器才知道要提供相同的bean实例。
这两种Session Bean都可以将系统逻辑放在方法之中执行,不同的是Stateful Session Bean可以记录呼叫者的状态,因此一个使用者会有自己的一个实例。Stateless Session Bean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean的时候,EJB 容器并不会寻找特定的Stateless Session Bean的实体来执行这个method。换言之,很可能数个使用者在执行某个Stateless Session Bean的methods时,会是同一个Bean的实例在执行。从内存方面来看,Stateful Session Bean与Stateless Session Bean比较,Stateful Session Bean会消耗J2EE Server 较多的内存,然而Stateful Session Bean的优势却在于他可以维持使用者的状态。
网上帮你找的,说得比较清楚了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询