网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  最佳实践:有状态会话 bean运行结束时应及时被显式删除     
  文章作者:未知  文章来源:水木森林  
  查看:91次  录入:管理员--2007-11-17  
 
  读者:架构设计师、开发人员

产品:websphere application server
版本:3.0.2.x、3.5.x、4.0
平台:全部

关键字:servlet、jsp、ejb、有状态会话bean

主题:ejb、性能、servlet 和 jsp

摘要
当企业 java bean(ejb)客户机不再需要有状态会话 bean 时,该客户机应该显式地将它从容器中除去。通过这样做,应用程序可以减少对钝化(passivation)的需要、最小化容器开销和提供更高级的性能。如果不显式地除去它们,容器对许多有状态会话 bean 的管理将耗费资源。

建议
有状态会话 bean 的实例与特定客户机有密切关系。它们将保持在容器中,直到由客户机显式地除去它们,或者当它们超时时由容器除去为止。同时,容器可能需要将非活动的有状态会话 bean 钝化到磁盘。这需要容器的开销并对应用程序构成了性能打击。如果随后应用程序需要钝化的会话 bean,容器通过从磁盘恢复该 bean 来激活它。

通过在完成使用时显式地除去有状态会话 bean,应用程序将减少对钝化的需求,使容器开销最小化并改进性能。通过显式地除去有状态会话 bean,您不必依赖于超时值。

当完成使用时显式地除去有状态会话 bean

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.naming.*;
import com.ibm.uxo.ejbs.*;

public class bestpracticesservlet extends httpservlet {

bestpracticeshome ssehome = null;

public void init(servletconfig config) throws servletexcpetion {
super.init(config);
try {
ssehome = ejbhomecache.getinstance().getmbhhome();
}
catch(exception e) {
throw new servletexception("init error: " + e.getmessage(),e);
}
}

public void doget(httpservletrequest request, httpservletresponse response)
throws servletexception, ioexception {

bestpractices ssmgr = null;

try {
ssmgr = ssehome.create(1);
ssmgr.somebunchofmethods();
ssmgr.remove(); // explicitly remove when done!
}
catch (exception e) {
e.printstacktrace();
}
}
}

应被取代的方法
application server 可以使用超时值来处理除去您的有状态会话 bean。但是,当管理这些资源时,您可能体验到下降的性能,这取决于应用程序。

参考资料
websphere application server development best practices for performance and scalability
作者
姓名:harvey w. gunther
职务:高级性能分析师
部门:websphere 产品开发
公司:ibm
地点:美国北卡罗莱那州罗利(raleigh)
电子邮件:hgunther@us.ibm.com
 
 
上一篇: 最佳实践:勿在 servlet 中实现 singlethreadmodel    下一篇: 最简单的hibernate入门简介
  相关文档
struts 配置与组件介绍 11-17
java基础:实例讲解java中的接口的作用 11-22
java socket编程 11-16
隐藏的数据炸弹可能是导致不正常崩溃的罪魁祸首 11-17
如何学习java呢 11-17
java高手解析xml配置文件的读取操作 11-17
spring中的template和callback模式 11-17
java入门教程:第六章 11-17
服务器及中间件--tomcat种集群配置 01-30
java咖啡馆(11):java插件技术 11-16
基础:j2ee程序员应该掌握的linux知识 12-10
java applet基础入门之数据类型 11-16
网络层 arp协议的作用 11-17
一个非常简单,非常短小的线程池 11-17
关于java学习的一点感言 11-16
spring事务处理及其aop框架的内幕 11-17
javax.servlet api的特征 11-17
设计java应用程序 11-17
j2me学习--利用eclipse编写midlet 11-17
关于int 和 string 互相转换的多种方法 02-27
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息