애플리케이션을 JBoss 4에서 JBoss 6로 업그레이드합니다.JBoss vfs :/URL을 열 수없는 이유는 무엇입니까?
애플리케이션에 몇 가지 예외적 인 방법으로 클라이언트에 전달됩니다. 애플리케이션 내부에서 jar 파일을 조회하고 서블릿. 클라이언트가 특정 지원 기능을 실행하기 위해이를 추출합니다.
JBoss 4에서는 jar 파일을 클래스 로더로 검색하여 jar : // URL을 찾고 jar 파일을 읽고 클라이언트에 내용을 전송합니다.
룩업을 수행 할 때 JBoss 6에서 우리는 vfs :/URL을 얻습니다. org.jboss.vfs 패키지에 있음을 알고 있습니다. 불행히도이 URL에서 openStream()을 호출하고 스트림에서 읽으면 즉시 EOF를 얻습니다 (read()는 -1을 반환합니다).
무엇을 제공합니까? 이 URL에서 언급하는 리소스를 읽을 수없는 이유는 무엇입니까?
기본 VFS 패키지에 액세스하여 JBoss VFS API를 통해 파일을 열려고 시도했지만 대부분의 API가 비공개로 표시되어 vfs에서 번역 할 루틴을 찾을 수 없습니다 : VFS VirtualFile 객체에 대한 URL입니다. 그래서 어디에도 갈 수 없었습니다.
JBoss 내에서 디스크에서 파일을 찾으려고 할 수는 있지만 업그레이드시 매우 쉽게 실패하는 것으로 들립니다.
이전의 방법은 Java Web Start를 사용하여 jars를 클라이언트에 배포 한 다음 Java Web Start의 캐시에서 찾아서 추출하는 것이 었습니다. 그러나 캐시의 레이아웃이 변경 되었기 때문에 Java의 모든 사소한 업그레이드가 중단되었습니다.
org.apache.commons.vfs. *; 이 수입은 이와 관련하여 도움이됩니다. –
JBoss VFS와 Apache VFS는 동일한 이름이지만 다른 제품이라고 말하면서 유감입니다. Apache VFS 클래스를 사용하면 JBoss VFS 문제에 도움이되지 않습니다. 또한 Apache VFS 설명서를 사용하는 것이 도움이되지 않습니다. JBoss는 VFS를 잘 문서화하지 않았기 때문에 대부분의 문서는 Apache 용입니다. – skiphoppy