2011-04-18 64 views
3

我已禁用HDScanner豆(删除JBOSS_HOME/deploy/hdscanner-jboss-beans.xml)到JBoss 5.1.0,这样我必须通过摆弄(在发现应用程序执行所有部署到正在运行的实例部署目录会在启动时自动部署)。的JBoss 5.1.0禁用HDScanner,取消部署后重新启动不起作用

我已经这样做了之后,我可以部署和使用以下命令取消部署战争:

twiddle.sh -s localhost invoke "jboss.system:service=MainDeployer" deploy "file:/path/to/my.war"

twiddle.sh -s localhost invoke "jboss.system:service=MainDeployer" undeploy "file:/path/to/my.war"

这工作得很好。

不过,如果我重新部署和取消部署的JBoss之间,当我尝试使用玩弄取消部署应用程序,该应用程序继续部署和JBoss记录显示:

2011-04-18 14: 30:41318 WARN [org.jboss.deployment.MainDeployer](的WorkerThread#0 [10.21.4.61:43700])取消部署 '文件:/path/to/my.war':未部署包

上午我做错了什么,期待什么是不可能的,或者这是JBoss中的错误?

如果我做错了什么,什么是取消部署已使用JBoss上的实例已随后又重新启动玩弄部署应用程序的正确方法?


编辑

不看的JBoss的源代码,但在我看来,上部署的应用程序启动时从那些通过玩弄部署在不同的地方进行管理。也就是说,如果一个应用程序在启动时部署,它不会被通过Twiddle访问的机制知道,因此“包未部署”错误。

那么,有没有通过玩弄这种访问此其他部署管理器,应用程序,存在启动时仍然可以取消部署的方法吗?

回答

2

我已经做了很多测试,这一点,并在启动时发现基本应用程序是(正确地)被认为是JBoss的“核心”的一部分,因此会自动部署作为启动过程的一部分。这适用于诸如jmx控制台之类的东西,因此也适用于其他.war。无论是通过设计还是后果,在启动过程中自动部署的这些资源都无法通过twiddle调用进行管理。

相关问题