对于Java EE,我很新,并且一直苦于部署过程缓慢,并且不知道我是否做错了什么。我对Django的经验很快,在那里对代码的改变立即发生,而且热部署Java EE应用程序似乎有点令人困惑 - 有很多东西声称热部署(Glassfish,Eclipse manic hotdeploy,Jetty hotdeploy,JRebel等等)。 )。立即重新部署Java EE应用程序
我的项目是一个Maven项目,我正在使用Netbeans进行部署。该网站使用Spring,JSF和Hibernate框架。
在Netbeans中,根据下面的屏幕截图似乎已启用,但点击/取消点击是不可能的,因为它声称从我的pom.xml中获取信息(尽管我的pom中没有这样的字段.xml(仅依赖关系))。
现在,对某些文件的更改似乎立即生效。这些措施包括: - JSF文件 - 静态文件
更改下列要求部署: - 任何XML文件 - 任何属性文件,甚至是本地化属性文件 - 任何Java文件
更改那些需要我部署手动并重新部署需要半分钟,即使我目前只有2-3个类,基本上只有一个用户类和一个授权类。该项目目前只允许登录,尽管如此,汇编需要几秒钟的时间;和容器(Glassfish)似乎消耗大约600 MB的内存,甚至在几次部署后都会发生PermGen错误,我需要使用任务管理器来终止Java进程。 (我已经读过,这与每次重新部署后垃圾收集器泄漏有关,并且我甚至使用jhat生成配置文件,但是呈现了数千个类的列表,我的类,Spring,Hibernate类等)。
我也听说过jrebel,并尝试运行它,但它似乎与我的Netbeans版本(7.0)不兼容,即使它似乎运行,任何修改任何Java文件仍然需要重新部署。
有什么我可以做的,以补救这些问题,或者是在Java EE中等待每个更改为任何Java文件后大约1分钟才正常?这个问题显着地破坏了生产力。
这里是在部署应用程序时,我的Glassfish的输出:http://pastebin.com/7FhZ6AVh
“应用代码更改”是热门。如果您要更改班级签名,则无法使用。 – Daniel