시작된 번들이있는 실행중인 춘분 osgi 프레임 워크가 있습니다. 이제는 '업데이트'를 통해 osgi 콘솔을 사용하여 번들을 업데이트합니다. (또는 제공된 메소드를 사용하십시오 : bundle.update (url));Equinox : 프레임 워크 재시작 후 번들 업데이트 손실
모든 것이 완벽하게 작동하지만 ... osgi 프레임 워크를 completly 재시작하면 이전에 업데이트 된 번들이 다시 원래 상태가됩니다 (업데이트 전과 같이).
Eclipse의 update.configurator를 사용하여 plugins 디렉토리의 모든 번들을 검색하고 설치했지만 번들이 업데이트되었는지는 인식한다고 생각했습니다.
누군가 내게 실종 된 힌트를 떨어 뜨릴 수 있습니까?
덕분에, 마이클 Mangeng
안녕하세요! 아니요 - 아니요 .-clean으로 시작하지 않습니다. 현재 상위 버전으로 바꿔서 사용하지 않기 때문에 현재 춘분 3.2를 사용하고 있습니다. 어쩌면 문제는 내가 bundle.update (...) 번들 일련의 번들을 위해 이루어집니다 구성 영역에 번들의 업로드 된 버전을 저장하는 줄 알았는데 ... 규칙을 모르는 경우 항아리 거기에 저장됩니다). 이 경우라면 입니다. 파일을 먼저 파일 시스템에 저장 한 다음 이전 버전을 삭제하도록 코드를 변경하겠습니다. 이것이 맞는 방법입니다. 이 경우에는 bundle.update (InputStream in)를 사용할 수 없습니다. 무엇을 생각하나요? –
OSGi 스펙은 다시 시작한 후에도 지속적으로 발생해야하는 작업에 대해서는 아무 것도 말하지 않습니다. 다시 가져와야합니다. 업데이트 자체가 영구적 인 번들을 업데이트하지 않을 것이라고 생각합니다. 특히 파일 기반 번들의 경우에는 그렇습니다. 원격 URL에서 번들을 설치하고 업데이트를 수행하면 어떻게 될지 잘 모르겠습니다. 어쨌든 스펙의이 영역은 다음 경우에 정의되지 않습니다 .-) 원할 경우 여전히 bundle.update (InputStream)를 사용할 수 있습니다. 그러나 적절한 위치에 비트를 업데이트 한 다음 (이후에) update()를 호출해야합니다. – AlBlue
내 impl을 변경하여 원본 파일 기반 번들을 대체합니다. 도움 주셔서 감사합니다. –