在JBoss上进行热部署 - 如何让JBoss"看到"这一变化?

Jac*_*son 53 deployment jboss java-ee

我正在开发一个Java EE应用程序,我在开发期间在本地JBoss安装上反复部署.我希望通过将我的应用程序直接热部署到[JBOSS]/server/default/deploy/myApp来加速构建

它似乎有效 - 但是在硬部署和JBoss开始使用新类之间似乎也有一些任意的延迟.我对JBoss不太熟悉,但我认为它会缓存类,这就是导致问题的原因.

我是否正确,如果是这样,我如何让JBoss刷新它的缓存?

Yan*_*Pak 109

我的捆绑包中遇到了同样的问题:(Eclipse IDE + JBoss服务器适配器)+ JBoss AS 7.0.1(社区项目).

我的解决方案非常简单 - 您应该转到JBoss管理面板(默认情况下为localhost:9990),在配置文件设置中打开Core - Deployment Scanners.打开Autodeploy-Exploded(设置为true),根据您的意愿,您可以设置扫描时间(默认为5000毫秒)以适合您(我设置为2000,以便在我对项目进行更改时在Eclipse中进行更快速的增量发布) .而已.现在JBoss不仅为HTML(JSF,XHTML等)文件进行HOT部署,还负责处理POJO类(bean等)文件.

  • 太棒了!就像魅力一样,用$ catalina_home/bin/add-user.sh添加用户后我只花了3分钟 (3认同)
  • 这个设置确实有助于重新部署战争,但是它会导致重新开始我的战争并且所有应用程序的会话都很清楚. (3认同)
  • 那不是IMO的正确方法。当我仅在静态文件(例如XHTML和CSS文件)中进行更改时,为什么要清除所有会话。如果我对Java类进行更改,但对静态文件不进行更改,则我会接受。 (2认同)

Pab*_*ruz 8

不幸的是,这并不容易.在JBoss的幕后工作中有更复杂的事情(大多数与ClassLoader相关)会阻止您热插入应用程序.

例如,如果您的某些类签名发生更改,您将无法进行热部署.

到目前为止,使用MyEclipse IDE(Eclipse的付费分发版)是我发现的唯一能够非常成功地进行热部署的东西.但不是100%的准确性.但肯定比JBoss Tools,Netbeans或任何其他基于Eclipse的解决方案更好.

我一直在寻找免费的工具,通过询问 StackOverflow中的人来完成你刚刚描述的内容,如果你想看看.

  • 它是应用服务器的一个功能,与IDE无关. (4认同)
  • 据我所知,HOT-DEPLOY能够在不重新部署的情况下更改当前部署的内容.我想RedHat文档称HOT-DEPLOY能够在不重新启动应用程序服务器的情况下部署任何内容.也许我错了.你用Eclipse吗?试试MyEclipse吧.这是一个为期30天的试用版,如果您决定选择它,它会相当便宜. (3认同)

Jul*_*egg 6

你应该尝试JRebel,它可以很好地完成热部署.有点贵,但物有所值.他们有试用版.

  • 是的,它的工作原理.这是我在jboss5上正确执行的唯一产品.如果你在jboss7上,你不需要jrebel来获得jsp热部署.如果你打开standalone.xml中的jsp-development标志,它就像jboss7tools的黄油一样. (2认同)