Java HotSpot dcevm 在debug模式下的热部署

阅读更多
    blog迁移至: http://www.micmiu.com

DCE VM 官网主页: http://ssw.jku.at/dcevm/
DCE VM 补丁介绍: http://ssw.jku.at/dcevm/binaries/
淘宝JAVA中间件团队博客中相关介绍文章:
http://rdc.taobao.com/team/jm/archives/641
提供windows 版本的补丁下载: dcevm-0.2-win.jar

本文讲述如何安装DCEVM补丁实现debug模式下的热部署
以windows 操作系统为例,其他操作系统,具体可参照上面给出相关介绍的链接
【一】补丁的安装步骤
>java -jar  dcevm-0.2-win.jar
回车后会看到下图:

Java HotSpot dcevm 在debug模式下的热部署_第1张图片
选择需要安装该补丁的jdk,点击按钮Install即可。
【二】配置文件的修改
需要修改tomcat的发布策略,以便验证该补丁安装是否成功,先打开server->tomcat的配置页面

Java HotSpot dcevm 在debug模式下的热部署_第2张图片

Java HotSpot dcevm 在debug模式下的热部署_第3张图片
如上图选择 Never publishing automatically这个选项,保存退出即可。
然后在eclipse的tomcat下,以debug的模式发布一个项目,现在对java文件的任何修改将会直接反映到应用程序中去,非常方便我们日常程序开发过程中的调试工作。
【三】异常问题的处理
打上补丁,如果项目启动报如下错:
Caused by: 
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.(Z)V
	at net.sf.cglib.core.DebuggingClassWriter.(DebuggingClassWriter.java:47)
	at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
	at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
	at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
	at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
	at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
	at net.sf.cglib.proxy.Enhancer.(Enhancer.java:69)
	at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
	at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
..............................................
..............................................


这个问题可能是因为该补丁和asm、cglib相关的jar包发生了冲突,我把项目里的asm、cglib换成了新的版本: asm-3.3.1.jar、cglib-nodep-2.2.jar,然后再启动一切就正常了。

asm、cglib各版本匹配注意点:
  • asm 1.5.3.jar 匹配 cglib-2.1.3.jar
  • asm-2.X.jar asm-3.x.jar 匹配  cglib-nodep-2.1_3.jar
  • 相关jar下载:asm-3.3.1.ja  cglib-nodep-2.2.jar


--------------------------------分--------------------------------隔 --------------------------------线--------------------------------

  • Java HotSpot dcevm 在debug模式下的热部署_第4张图片
  • 大小: 118.2 KB
  • Java HotSpot dcevm 在debug模式下的热部署_第5张图片
  • 大小: 31.3 KB
  • Java HotSpot dcevm 在debug模式下的热部署_第6张图片
  • 大小: 28.2 KB
  • dcevm-0.2-win.jar (5.5 MB)
  • 下载次数: 136
  • asm-3.3.1.jar (42.6 KB)
  • 下载次数: 42
  • cglib-nodep-2.2.jar (314.8 KB)
  • 下载次数: 41
  • 查看图片附件

你可能感兴趣的:(Java,HotSpot,dcevm,debug,热部署)