Jboss - 部署 - 在爆炸的耳朵中取消部署由HDScanner引起的循环

时间:2009-09-20 18:06:44

标签: java jboss deployment

由于某些未知原因,HDScanner为我的(爆炸式)应用程序部署启动了部署 - 取消部署无限循环,每隔15秒左右一次又一次地删除和添加它。

我已经尝试手动删除应用程序(我通常使用seam restart或seam unexplode)并且还删除了jboss-5.1.0.GA/server/default/tmp目录的全部内容无效。

我重新启动了服务器,做了一个干净的构建,甚至回滚了应用程序的几个版本,以确保它不是我修改过的。

显然问题只影响我的申请,因为我能够部署和使用旅馆预订示例。

谷歌发现我在JBoss JIRA中记录了类似的问题:

https://jira.jboss.org/jira/browse/JBAS-7114

我无法确认我有同样的问题,因为显然报告错误的人正在调试Jboss服务器的代码,我宁愿避免学习如何做。

我发现的唯一解决方法是将应用程序部署为常规ear存档(这会使开发周期变慢很多)。

有没有人似乎有这个问题或知道如何修复它?

3 个答案:

答案 0 :(得分:3)

我使用Seam很短的时间,但我刚刚遇到了这个问题。我以这种方式删除build.xml文件中的ant中的* .jsfdia或* .spdia文件:

    <!-- 
        Delete files: .faces-config.xml.jsfdia and .pages.xml.spdia which are created after
        editing faces-config.xml and pages.xml files in /resources/WEB-INF catalogue. 
        Files: .faces-config.xml.jsfdia and .pages.xml.spdia cause that deployment 
        cycle goes into an infinite loop. 
    -->
    <delete>
        <fileset dir="${basedir}/resources/WEB-INF">
            <include name=".faces-config.xml.jsfdia"/>
            <include name=".pages.xml.spdia"/>
        </fileset>
    </delete>


It is a part of build.xml file:

<target name="war" depends="compile"
    description="Build the WAR structure in a staging directory">
            <delete>
        <fileset dir="${basedir}/resources/WEB-INF">
            <include name=".faces-config.xml.jsfdia"/>
            <include name=".pages.xml.spdia"/>
        </fileset>
    </delete>
    <!-- delete element should be in this XML element: target .... then is a lot of   
     code -->
 </target>

有效。我希望它对你有所帮助。任何评论欢迎。

干杯!

答案 1 :(得分:0)

使用未爆炸的耳朵,爆炸的耳朵通常会导致jboss出现奇怪的问题。是的,我知道它的速度较慢。

答案 2 :(得分:0)

找到另外1个解决方法:

将hdscanner的扫描周期从5秒更改为10分钟(或更长),位于:

\ jboss-5.1.0.GA \服务器\默认\部署\ hdscanner-的JBoss-beans.xml文件

自:

 <property name="scanPeriod">5000</property>

要:

<property name="scanPeriod">500000</property>

临时解决方案(直到JBoss生成新版本),请参阅:

Deployment cycle goes into infinite loop

显然,如果WEB-INF中存在任何以.xml结尾的文件,那么自动部署就会疯狂。 如果您在eclipse中编辑faces-config.xml或pages.xml,它将自动创建一些以* .jsfdia或* .spdia结尾的文件,从而导致问题。

修复:

  • 停止服务器
  • 转到/ server / default(或您选择部署应用程序的目录)
  • 取消部署应用程序(从/ deploy中删除展开的目录)
  • 删除/ data,/ tmp和/ work目录
  • 的内容
  • 确保WEB-INF
  • 中只有.xml文件
  • 再次启动服务器
  • 重新部署

如果您需要编辑其中一个提到的部署描述符,请使用其他编辑器或确保删除eclipse自动生成的文件。