2009-11-17 3 views
0

파일 업로드를 처리하지만 JBoss의 "인트라넷"인스턴스에있는 Java 서블릿이 있습니다. 동일한 컴퓨터에있는 JBoss의 "인터넷"인스턴스에있는 디렉토리에 파일을 작성해야합니다. Java 서블릿을 다른 인스턴스로 이동할 수 없습니다. 이것은 솔라리스 상자에있는 JBoss 4.2와 같습니다.JBoss 인스턴스가 통신 할 수 있습니까?

이렇게하는 방법이 있습니까? 두 인스턴스가 모두 볼 수있는 공유 폴더가있을 수 있습니까? 고맙습니다.

답변

5

파일을 업로드하는 것이 목적이라면 파일을 볼 수있는 공통 공유 디렉터리 (상대 파일 이름 또는 정의 된 위치에서 참조)에 파일을 저장할 수 있습니다.

파일에 대한 잠재적 인 경합이있는 경우 일반적으로 파일을 임시 파일 이름에 쓰고 완료되면 파일 이름을 바꿉니다. 이름 바꾸기는 파일을 쓰는 것과 달리 원자 작업입니다.

귀하의 질문에 실제 의사 소통의 필요성이 보이지 않습니다. 이를 위해 EJB 나 JMS가 JBoss의 확실한 선택입니다.하지만 파일 공유가 전부라면 잔인합니다.

편집 : 여기서 FileOutputStream/FileWriter 등을 사용하여 파일을 작성한다고 가정합니다. 이 경우, 각각의 JBoss 인스턴스를 실행하는 두 프로세스가 권한을 가지고있는 디렉토리 또는 파일 공유를 만드는 것이 간단한 경우입니다. Unix 파일 관리 및 권한에 익숙하지 않은 경우 serverfault.com은 이러한 세부 정보를 묻기에 적합한 곳입니다.

+0

감사합니다. Yishai. 두 인스턴스가 모두 볼 수있는 공유 디렉토리를 어떻게 만듭니 까? 미안하다. 제이 보스 (JBoss) 앱이 자신의 인스턴스 바로 아래에서 파일을 볼 수있는 유일한 요소라고 생각했습니다. – Alex

+0

@Alex : http://serverfault.com에 대한 질문입니다. 오히려 stackoverflow의 범위를 벗어납니다. – skaffman

1

따라서 네트워크로 연결된 두 대의 컴퓨터간에 파일을 전송하려고합니다. 여기에있는 키워드는 FTP 또는 네트워크 드라이브입니다.

FTP (File Transfer Protocol)를 사용할 수 있습니다. 그 이름에 모두 나와 있습니다. 너 일 수 있으며, 이것을 원한다면, Apache Commons NetFTPClient을 추천한다. 그러나 대상 컴퓨터는 FTP 서버를 실행해야합니다. 이 경우 각 FileZilla 아래에서 사용할 수 있습니다.

또는 원본 시스템에서 대상 시스템의 네트워크 드라이브를 운영 체제 레벨 맵핑하고 로컬 시스템 인 것처럼 파일에 기록 할 수 있습니다.

희망이 도움이됩니다.

관련 문제