在线361人
首页
主题表
培训咨询
标签
精华
查搜
注册
登陆
用户
自动登陆
密码
新用户注册
忘记密码?
首页
»
论坛
»
J2EE/JavaEE/JEE/EJB/JSF等技术讨论
上一主题
我现在有一个这样的应用: 一个新闻网站(稿件数目前约为4万,是Jsp页面),网站的服务器使用了Tomcat4.1.30,JDK使用1.4.2-b05 先前部署在Linux EAS 3.0下,不..
返回本主题
返回主题列表
下一主题
我现在只会编些简单的jsp和servlet,该如何深入学习j2ee?
Go
总共有
6
回复 /
1
页
前往下页:
jamesdusun
悄悄话
发表文章: 4
注册时间: 2004年09月12日 13:31
关于instance pool的疑问
2004年09月12日 13:54
标签列表
对象池
(31)
如果比较entity bean和stateful session bean的状态图,就会发现stateful session bean没有pooled状态。为什么会这样?
先说一下我对stateful session bean的理解:当stateful session bean被passivate时,他的状态会被串行化到二级存储器中,而bean实例会从内存中被消除。当这个passivated bean需要被重新激活时,重新构造bean实例,然后反串行化bean的状态。不知道我的理解是否正确?
我的疑问是:为什么不将被passivate的stateful session bean实例(我这里说的只是bean实例,其状态仍然被串行化到二级存储器中)放到一个pool中,如entity bean一样,这用也可以用少数的bean实例服务于多个
EJB
Object.
希望能有高手解惑
多谢了
banq
悄悄话
发表文章: 9484
注册时间: 2002年08月03日 17:08
Re: 关于instance pool的疑问
2004年09月13日 16:49
stateful session bean正如它的名字一样,是有状态,所谓有状态就是有数据,这些数据是某个客户端私有的,所以必须使用
cache
支持。
我一直努力让初学者理解
cache
和Pool的区别,一旦掌握,Session Bean等就容易理解,我的书籍《Java实用系统开发指南》中第5章,就是从
cache
和Pool介绍
EJB
,而不是象其他书籍从RMI和Corba这样网络玄妙概念开始的。
jamesdusun
悄悄话
发表文章: 4
注册时间: 2004年09月12日 13:31
Re: 关于instance pool的疑问
2004年09月15日 18:16
多谢答复,
但我的问题好像并没有被解释,我还是不太明白,能再往深里解释一下么,谢谢了。
yanbuhan
悄悄话
发表文章: 16
注册时间: 2004年09月15日 19:26
Re: 关于instance pool的疑问
2004年09月15日 19:31
其实banq先生已经说的很清楚了。
Cache的为某一用户专用。
Pool的为所有用户共用。
有状态
EJB
,它与某一特定用户绑定,所以只能用
cache
而实体
EJB
呢,为所有用户共同使用,所以可以用Pool.
不知道说的对不对。
banq
悄悄话
发表文章: 9484
注册时间: 2002年08月03日 17:08
Re: 关于instance pool的疑问
2004年09月16日 09:26
是的,无态Session Bean是Pool,有态Session Bean是
cache
,而实体bean则是Pool +
cache
。
Pool想像成一个容器、池,而
cache
则是一个堆栈或列表。这设计
EJB
原理,具体解释起来会很长。但是理解这个对使用
EJB
很重要。
jamesdusun
悄悄话
发表文章: 4
注册时间: 2004年09月12日 13:31
Re: 关于instance pool的疑问
2004年09月17日 15:01
首先谢谢二位
说一下我对stateful session bean的理解:当stateful session bean被passivate时,他的状态会被串行化到二级存储器,也就是硬盘中,而bean实例会从内存中被消除。当这个passivated bean需要被重新激活时,重新构造bean实例,然后反串行化bean的状态。不知道我的理解是否正确?
你们的意思是不是当stateful session bean被passivate时,他的状态会被串行化到
cache
而不是硬盘中?如果是这样的话,我觉得就违背了passivate本来的意义,我理解passivate的意义就是为了减少过多的内存消耗,当容器发现内存占用过大的时候,暂时将处于非活动状态的bean放到硬盘上,等需要这个bean服务的时候再取到内存中。如果串行化到
cache
中就不要做passivate好了,就以bean实例的形式放在内存中不是更省事?
jacobzheng
悄悄话
发表文章: 4
注册时间: 2004年09月13日 17:52
Re: 关于instance pool的疑问
2004年09月27日 17:18
其实不矛盾,对于statefulSB来说,他是放在
cache
内部的,因为
cache
是可以保持状态的,所以statefulSB有状态,所以可以用passivate and active 方法从把对象在内存和硬盘之间相互置换。然而 statelessSB它的对象放置在pool里面的,因为pool是共享的,所以在statelessSB运用
passivate and active 是没有必要的。
这个主题有
6
回复 /
1
页
Go
上一主题
返回本主题
返回主题列表
返回页首
下一主题
热点TAG:
AOP
cache
缓存
DDD
EJB
集群
设计模式
Hibernate
IOC
JiveJdon
OO
RBAC
Seam
Spring
Struts
正在读取,请等待...
Wowzio
grab this
·
technology
blog
查询本论坛内
近一天
近三天
近一周
近一月
近三月
近半年
近一年
所有
回复超过
的热门帖子
标题
内容
发贴前查询
标签列表
勿重复发表问题
解惑之道在
J道
,打造中国最具影响力的的企业软件社区
OpenSource
JIVEJDON
v3.0
Powered by
JdonFramework
Code © 2002-08
jdon.com
anti spam