2012-09-25 8 views
3

응용 프로그램이 응용 프로그램 서버에서 활성화되어있는 동안 클래스를 변경하고 싶습니다. JBoss 5와 JBoss 7을 사용하고 있습니다.런타임 중에 응용 프로그램의 클래스를 변경 하시겠습니까?

  • 런타임에 클래스를 변경할 수 있습니까?
  • 그렇지 않으면 배포를 취소하고 다시 배포합니까?
  • JBoss에서 구성해야하는 항목은 무엇입니까?
  • 어떤 Application Server가 해당 기능을 지원합니까?
  • 이 기능을 사용하려면 사용자 정의 ClassLoader을 작성해야합니까?
+0

틀린 것이 아니라면 현재 클래스 로더를 변경하여 클래스를로드 하시겠습니까? 그럴 경우 즉시 변경할 수 없다고 생각합니다. 대신 CustomClassLoader를 사용하여 새 클래스 런타임을로드 할 수 있습니다. – Mohsin

+0

당신은 당신이 달성하려는 것을 좀 더 분명히해야합니다. 배포 취소/배포는 확실히 응용 프로그램 클래스를 대체하는 한 가지 방법이며, 정확히 수행하려는 것처럼 들리지는 않습니다. 당신의 제약 조건은 무엇입니까? – gnomie

+0

덜 바쁜 시간에이 업그레이드를 수행하는 방법은 무엇입니까? –

답변

0
  • 런타임에 클래스를 변경할 수 있습니까? 사실, 이전 클래스를 언로드하고 새 클래스를로드 할 수 있습니다.

  • 그렇지 않으면 배포를 취소하고 다시 배포합니까? 재배포 할 필요없이 dinamically 할 수 있습니다. 그러나 JBoss와 대부분의 응용 프로그램 서버가 요즘 핫 배포를 지원한다는 것을 알고 있습니다. A_Quick_Tour-Hot-deployment_of_services_in_JBoss.html "> https://access.redhat.com/knowledge/docs/en -US/JBoss_Enterprise_Web_Platform/5/html/Getting_Started_Guide/The_JBoss_Server_A_Quick_Tour-Hot-deployment_of_services_in_JBoss.html 배포 방법이 "클래스 변경"과 다른 점을 명심하십시오. 그 이상의 의미가 있지만, 문서를 읽거나 새로운 것을 작성하십시오 이 경우 만약 질문입니다. 나는 보스에서 구성해야 할 무엇

  • ? 아무것도, 당신은 당신의 코드에서 수행해야합니다. 또한,이 곳에서 최신 jar 파일을로드 할 몇 가지 코드를 작성해야합니다 최신 버전을 설치하려고합니다. I 핫 배포가 충분하면 위의 링크에서 구성 할 내용을 확인할 수 있습니다.

  • 어떤 Application Server가 해당 기능을 지원합니까? 사용자 지정 클래스로드는 모든 응용 프로그램 서버에서 수행 할 수 있습니다. 이는 Java Standard Edition의 기능이므로 코드 작성 기능에만 의존합니다. JBoss와 같은 일부 응용 프로그램 서버에는 이미이 작업에서 도움이되는 기능이 내장되어 있습니다.

  • 이 기능을 사용하려면 맞춤형 ClassLoader를 작성해야합니까? 응용 프로그램 서버가 변경 될 때 모듈을 dinamically로드하지 않는 한, 필요에 충분합니다. 그렇습니다. 사용자 정의 클래스 로더를 구현해야합니다. 클래스 로더를 사용하여 anyware에서 선택한 방식으로 최신 버전의 클래스를로드 할 수 있습니다. 예를 들어, 웹 사이트의 데이터베이스에서 최신 버전의 클래스를로드 할 수 있습니다.

관련 문제