2016-09-19 3 views
1

카라프 및 기능로드에 대한 질문이 있습니다. 내 응용 프로그램 번들을 모두 포함하는 kar 파일이 있습니다. 그것은 PROD 환경에서 발표되었습니다. 그것은 버전 4.0.4를 기반으로 오프라인 사용자 정의 빌드 Karaf입니다 - KAR 파일은 deploy 폴더에 있습니다. 동일한 번들 중 하나 이상을 덮어 쓰는 패치를 만들고 싶습니다. 어떤 정책 때문에 kar의 새 버전을 출시 할 수있는 옵션이 없습니다. 내 질문 :Karaf 번들로드 우선 순위

  1. 특정 버전의 번들을 참조하는 기능 파일입니다. 같은 버전으로 배포/배치하면 JAR이 사용되거나 비 결정적입니까?
  2. /deploy에 최신 버전 (부 버전 변경) 번들을 넣었을 때 사용되었거나 특정 기능이 버전을 정의 했습니까? 아니면 행동이 비 결정적일까요?
  3. 1 또는 2에 대한 결정 론적 해결책이 없으면 다른 것이 있습니까?

답변

2

1a. 기능 파일의 참조 된 번들은 사용 가능한 저장소 (일반적으로 저장소 저장소)에서로드됩니다. deploy/폴더는 저장소가 아닙니다. deploy/폴더의 내용은 즉시로드됩니다.

1b. symbolic name + version이 일치하는 번들이 이미로드되어있는 경우, 기능 파일이이를 지정하면 Karaf는 두 번째 버전을로드하지 않습니다. "아직로드하지 않은 경우로드"로로드 할 기능 및 번들의 기능 정의를 생각하십시오.

  1. 두 번째 파일 인 경우 두 번째 파일로 배포됩니다 묶음. 번들에 대한 고유 한 "키"는 MANIFEST.MF의 값을 기반으로 한 기호 이름 + 버전입니다.

  2. n/a. 그것은 결정 론적입니다.

+0

1a - 알았습니다. 그러나 버전이 동일하면 카라프 재시작 후 어떤 버전이 배포됩니까? 아니면 카라프 청소 후에? 1b - 감사합니다. 2. 알겠습니다. 따라서 서비스가 선언적 서비스에 꺼려 할 때 변경되지 않습니다. 따라서 해결책이 아닙니다. 3. 알겠습니다. 감사. –