2011-04-05 2 views
0

이것은 이상한 것입니다. 최근에 문서를 다시 읽은 후 변경되지 않은 내 이해는 클라이언트가 실행되는 동안 JNLP 실행 서버 (이 경우에는 웹)에서 jar를 대체하는 것이 안전하다는 것입니다. 내가 제대로 이해한다면, 클라이언트는 실행시 jar를 다운로드 한 다음 로컬로 실행합니다. 따라서 소스 jar를 갱신하면 다음 실행이 검색 될 때까지 유효합니다 (갱신 된 버전으로).JNLP 실행 소프트웨어 업데이트로 인해 충돌이 발생할 수 있습니까?

동료 중 한 사람이 최근에 우리 고객이 시스템을 종료 할 때만 새로운 항아리를 배포 할 예정이라고 말했습니다. 그게 내 이전의 경험이나 내 이해와 전혀 일치하지 않았다. 그래서 나는 문서를 다시 읽고 그 문제에 대한 나의 입장을 정말 편하게 생각했다. 그러나 나는 그 프로젝트에 대한 업데이트를하고 그것을 밀어 냈다. 다음 시간 내에 여러 클라이언트가 모든 종류의 이상한 문제를 겪기 시작했습니다 (누군가가 직접 실행중인 항아리를 업데이트하면 얻을 수있는 것과 유사합니다). 나는 그들이 JNLP를하고 있고, 로컬 자바가 다운로드를 할 수 있다는 것을 확인했다. JNLP 소스 jar가 다시 실행되지 않는 한 업데이트 된 것을 어떻게 알 수 있을지 전혀 모른다.

때때로 클라이언트는 동일한 컴퓨터에서 동시에 여러 복사본을 실행합니다. JNLP가 얼마나 똑똑한 지, 이미 사용중인 캐시에서 업데이트 된 jar 파일을 다운로드 할 것인가? 문제를 일으킬 수있는 다른 모든 것들?

답변

0

실제로 JNLP는 새로운 .jar 권한을 캐시의 이전 .jar 파일 바로 위에 복사합니다. 클라이언트가 동시에 다른 소프트웨어 사본을 실행하지 않아도 문제는 발생하지 않지만 문제가 있다면 큰 문제입니다! 이미 실행중인 소프트웨어 사본은 미친 듯이 진행되어 현재 실행중인 캐시 된 사본이 RAM에있는 사본과 일치하지 않으므로 모든 종류의 이상한 일을합니다.

관련 문제