2012-11-13 2 views
1

의 변경 사항을 재배치이 날 납을 첨가 : 보스는 보스를 다시 시작하지 않고 새로운 변화를 배포 할 수있는 방법을 검색 폭발 배포 디렉토리

https://community.jboss.org/wiki/RedeployAnApplicationWhenChangeAFileInAnExplodedDeploymentDirectory

그리고 처음

, 난 그냥 감동 성배를 발견 생각 분해 된 디렉토리의 최상위 레벨 디스크립터는 새로운 변경 사항을 재배포하지만 이상한 동작 및 오류가 시작됩니다.

많은 부정적인 답변을 읽은 후 서블릿과 Java 클래스가 재배포되지 않는다는 것을 알았습니다.하지만이 문제를 포기했지만, 적어도 알고 싶습니다. 최상위 레벨 설명자를 만진 후 재배포 할 필요가 있습니까?

여러분이 알아야 할 것이 있다면, Java EE 프로젝트를 JBoss 4x와의 전쟁으로 배포 할 것입니다.

+0

버전을 명확하게하기 위해 jboss-4.2.x 태그를 추가했습니다. 4.3.0을 사용하고있을 수도 있습니다. 우리가 왜 일반 4.x 태그가 없는지 잘 모르겠습니다. 4.2는 4.0과 상당히 달랐지 만 여전히 그렇습니다. –

+0

JBoss 4.2를 사용하여 확인했습니다. – Ziul

답변

1

비록 애플리케이션이 실제로 재배포되었지만 작업 디렉토리는 기본적으로 삭제되지 않습니다 (JBoss가 컴파일 된 JSP를 저장하는 곳입니다). 그래서 재배포 후에 이전에 컴파일 된 JSP 클래스를 유지할 수 있습니다.

JBoss 5.1 (JBoss 4.x에서 사용 가능한지 확실하지는 않습니다.) 배포되지 않았을 때 JBoss가 응용 프로그램의 작업 디렉토리를 강제로 삭제하는 옵션이 있습니다 - 재배포하십시오.

<property name="deleteWorkDirOnContextDestroy">true</property> 

로 : 속성에 대한이 파일보기에, $ JBOSS_HOME/서버/yourInstance/배포자/jbossweb.deployer/META-INF/전쟁 배포자-의 jboss-beans.xml 환경 : 당신은이 옵션을 찾을 수 있습니다 기본값은 false로 설정되어 있으므로 true로 설정하십시오. 핫 전개의 성공 여부는 다른 클래스의 의존성 등에 달려 있지만, 재배포시 문제를 해결하는 데 도움이 될 수 있습니다. 반면에 응용 프로그램을 최신으로 전개하거나 재배포 할 때는 move 명령 (mv)을 사용하십시오. (cp) 하나는 mv가 원자지만 cp가 아니기 때문에 (파일을 복사하는 동안 핫 전개 스캐너를 활성화 할 수 있습니다).

뜨거운 재배포 또 다른 해결책은 수동으로 삭제하는 것입니다

, 우리는 (당신이 deploy 디렉토리에 이미있어 마음에 복용) 다음 명령 체인을 사용 (개발 환경을 위해 단지 권장) :

rm yourapp.war; rm -rf ../work/jboss.web/localhost/yourapp;mv <newappversiondir>/yourapp.war . 

그러나 생산 환경과 중요 환경에서의 뜨거운 배포는 입니다.을 강력히 권장하지 않습니다.

+0

테스트 서버에서 빠르게 배포하려고했는데, 클래스 또는 서블릿에서 단일 변경 사항 만 JBoss를 다시 시작하는 데 꽤 오래 걸립니다. 그래서 많은 시간을 절약 할 수 있다고 생각했습니다. 너의 제안을 시도하고 무슨 일이 일어날 지 지켜 볼거야. – Ziul

+0

좋아요, 작동 시켰습니다. 그러나 JBoss : $ JBOSSHOME/server/default/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml에서 디렉토리가 다릅니다. 도와 주셔서 감사합니다. – Ziul

+0

예, JBoss 버전간에 디렉토리가 변경 될 수 있습니다. web/tomcat 서비스를 찾아야합니다. 프로덕션 환경에서는 사용하지 않는 것이 좋습니다! – Toni

관련 문제