郑州信息科技中专职业学院中专部

不仅仅统招学历哟

  • 热门专业!
  • 大学校园!
  • 就业保障!
  • 拿学历又能高薪就业,谁能不爱!
了解详情>
郑州北大青鸟翔天信鸽参加“安心学习·放心就业”公约签约仪式

让每一个家庭“安心”、“放心”

  • 教学为本
  • 师爱为魂
  • 安心学习
  • 放心就业
了解详情>
北大青鸟20周年庆典与总部年会郑州翔天信鸽荣获7项荣誉

深耕细作IT职业教育15载

  • 青鸟之星教学质量大奖
  • 卓越风云人物
  • 北大青鸟中心理事会成员
  • 七项荣耀载誉而行!
了解详情>
郑州北大青鸟学员喜获全国IT精英挑战赛冠军

我们教学怎么样

  • 实力见证
  • 网络组一等奖
  • 网络组二等奖
  • 软件组四等奖
  • 200家校区脱颖而出!
了解更多>
北大青鸟荣获315重承诺守信用放心品牌

北大青鸟职业IT20周年

  • 重承诺
  • 守信用
  • 放心品牌
  • 放心学习
  • 靠靠谱谱好就业!
了解更多>
学IT好工作高薪就业

我命由我不由天

  • 学个性的技术
  • 做爱做的事
  • 挣满意的钱
  • 衣食无忧
  • 选择宽且高大尚!
了解更多>
郑州北大青鸟IT培训办学14年

我们靠不靠谱

  • 14年办学
  • 14年磨练
  • 14年成长
  • 14年探索
  • 只为让每个学员成材!
了解更多>
郑州北大青鸟IT培训

不打工也牛掰

  • 好工作
  • 好环境
  • 高薪资
  • 好课程
  • 支持你成为有“钱”人!
了解更多>

学IT就读北大青鸟

  • 好工作
  • 好未来
  • 好老师
  • 好课程
  • 支持你成为受人尊敬的人!
了解更多>
热部署有关java web应用程序
作者: 添加时间:10-13 浏览次数:0

所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。
    对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署。类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。
    一、热部署介绍:
    热部署对于程序开发的好处就不用多说了,这里记录一下自己的使用过程:
    1.myeclipse的年代,那时候通过myeclipse新建的web项目,通过debug方式启动,可以获得修改java类中的方法体和jsp页面立即生效的功能;这是纯eclipse所没有的。
    2.后来出了jrebel可以获得新增java类和方法也无需重启应用服务器即可生效的功能,当然这个功能不完美,有缺陷。
    3.随着eclipse的升级,推出了Jee版本的eclipse,也就逐渐淘汰了myeclipse,但是JEE版本的eclipse和tomcat配合,即便使用debug模式启动,修改java类还是会导致整个应用的重新加载,这是不能忍受的,这时候,发现了jetty配合JEE版本的eclipse可以完美的实现热加载,即改即用,很方便。
    二、热部署过程
    先做个说明,没有热部署和有热部署的开发效率真是天差地别的。所以热部署受很多第三方软件包(Struts,Spring,Hibernate)的限制。本来可以热部署的,加入了第三方的包就不可以了。所以,先说明详细的软件环境,和程序配置是非常必要的。
    虚拟机:java Tomcat Eclipse Myeclipse
    应用程序情况:纯正的sertlet+jsp+javabean,数据库连接使用JDBC-ODBC桥连接Access数据库。没有使用任何第三方软件包,没有使用Struts,Spring,Hibernate.\WebRoot\WEB-INF\lib下是空的。
    配置方法:
    ie登陆http://Tomcat所在的服务器IP:8080/ →点超连接"Tomcat Administration"→ 输入用户名密码登陆→在左侧的功能树中→Tomcat Server→Service(Catalina)→Host(localhost)→Context(/要修改的web项目)→右侧新出现的页面中→Reloadable设置为true→Save按钮→Commit Changes.
    开发时,修改。java文件后,调用这个类时日志提示:
    - Reloading this Context has started
    这是正在重新加载修改后的。class文件。
    j2ee开发插件(这里使用Myeclipse),也可能导致热部署失效。因为插件必须要把编译好的。class文件从工作空间复制到Tomcat\webapps下的项目里。才能使Tomcat得到需要热部署的文件。
    最后说一下jreble,网上的资料比较复杂,下面介绍个最简单的方法:
    在resin的启动文件,例如httpd.sh中增加:
    Resin 3.1+版本:#div_code img{border:0px;} exec $JAVA_EXE -javaagent:/opt/apps/resin/jrebel4.0-crack.jar -jar ${RESIN_HOME}/lib/resin.jar $*
    Resin 3.0-版本:#div_code img{border:0px;} args="-J-javaagent:/opt/apps/resin/jrebel4.0-crack.jar"
    三、小 结
    在进行java web程序开发过程中,经常遇到这种问题,修改一个java文件(*.java),需要重启web服务器(如tomcat,weblogic等),部署项目。而起/停服务器浪费了大量的时间。在小项目中,也许我们感觉不到。但对于公司的大型项目:如数据中心,生产等系统开发而言,往往起/停需要等待几分钟时间。更浪费时间的是,对于一个类中的方法的调试过程,如果修改多次,需要反复的启停服务器,那么浪费的时间更多。从上可以看出,我们急需一个可快速起/停服务器的工具,来提高我们的开发效率。

文章来源  www.hnbenet.com  转载注明出处!


本文由站河南北大青鸟校区整编而成,如需了解更多IT资讯类的文章、新闻、课程和学习技巧、就业案例、招生详情等问题,可以对在线咨询老师进行一对一问答!


分享到: