类静态成员在同一container的ejb和servlet中是一份还是两份?高手请进

const_int 2003-06-20 10:27:18
我用一个JavaBean封装了一些资源,使用静态方法暴露出来。该资源需要一个初始化操作,我用一个sessionless ejb在ejbCreate中调用它的初始化操作(使该ejb在container启动时就产生一个)。我把ejb和servlet打包到一个ear文件中,部署到container中。刚开始的时候servlet中访问资源始终都报错,说资源没有初始化。后来我把工程重建,把源代码复制过来重新打包ear文件,居然又不报错了。请问各位这到底是怎么回事?ejb和servlet中应该各有一份该静态资源还是只有一份?这会不会跟container有关?希望能有高手能把中间的道理给我讲明白,否则我怕项目实施的时候会出错。谢谢各位!另:不会是代码有问题
...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
uu_snow 2003-06-20
  • 打赏
  • 举报
回复
这要视你的CLASSLOADER而定,如果EJB和WEBAPPLICATION用的是一个CLASSLOADER(比如WEBLOGIC),那么就只有一份。
zez 2003-06-20
  • 打赏
  • 举报
回复
按说静态成员是在一个jvm里只有一份的!
而container中的静态成员是根据应用来分的,也就是在同一个应用中这个成员是只有一份的,但如果有另一个应用,则另一个应用中可以有自己的一份...

至于你的情况,应该没问题,只有你确定调用的时候已经初始化过...


------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
const_int 2003-06-20
  • 打赏
  • 举报
回复
注:该资源也是类中的静态成员

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧