为什么JBoss总是重新部署已部署但未更改的.WAR文件?

时间:2015-11-04 12:40:45

标签: java jboss

我是使用JBoss 7.1.1服务器的新手,并且对我观察到的行为感到困惑。

我的JBoss服务器正在部署我放在six jBPM .war files (designer, drools-guvnor, jbpm-form-builder, jbpm-gwt-console, jbpm-gwt-console-server, jbpm-human-task-war)文件夹中的.\jboss-as-7.1.1.Final\standalone\deployments

当我第一次启动服务器时,它检测到这些文件并进行部署。我看到deploymentNNNtempNNN文件夹出现在.\jboss-as-7.1.1.Final\standalone\tmp\vfs文件夹中。这类似于我使用tomcat服务器时熟悉的行为。

然后我关闭了服务器,发现.\jboss-as-7.1.1.Final\standalone\tmp\vfs中创建的两个文件夹已被保留,但其内容会自动删除。当我重新启动服务器时,它再次将六个jBPM文件部署到.\jboss-as-7.1.1.Final\standalone\tmp\vfs.

中的一对新文件夹中

这是非常令人惊讶的,因为没有对六个jBPM文件进行任何更改,问题是这次重新部署需要3到4分钟。

如果这只是在“生产”环境中发生的话,那么这可能不是什么大问题。但是,我正在尝试在开发环境中将JBoss服务器与Eclipse Kepler集成使用,并且每次代码更改都需要等待3到4分钟,并且服务器启动不实用。

1)有人能解释为什么JBoss会重新部署尚未更改的文件吗?

2)这是一种可以通过配置设置更改的行为吗?

3)是否有任何设置我们可以阻止jboss在重新启动时重新部署war文件

谢谢你, 所有

2 个答案:

答案 0 :(得分:2)

为了阻止JBoss重新部署你的应用程序(以及在关机时删除),

尝试以解压缩的形式部署应用程序。

  • 将文件解压缩到{name}.war directories (e.g /designer.war, /drools-guvnor.war)

    然后部署这些目录(即将它们复制到deployments文件夹)

或者,尝试使用JBoss CLI

部署它们

答案 1 :(得分:0)

以不同方式部署不会改变启动时JBOSS将您的应用程序重新加载到JVM的事实。

这可能需要一些时间,因为您的应用程序将数据从数据库存储到服务器内存。 (你也可以点击this WFLY-925 bug ......或者他们正在谈论的那个here ......)

事情是重新部署时通常不需要重新启动服务器。您可以在自动部署模式hot-deploy your module - see also full doc.。 (确保feature isn't disabled

如果您需要一些context to be reloaded,我建议您在代码中有一个特定的过程,您可以调用该过程来重新加载所有缓存的信息。而不是完全重新启动(例如,从您的应用程序调用特定的URL执行它...)