InputStream은 기본적으로 직렬화되지 않습니다. RMI를 통해 InputStream을 전달하여 EJB에 액세스하는 방법은 무엇입니까?RMI를 통해 InputStream을 전달하는 방법은 무엇입니까?
답변
데이터를 바이트 배열로 읽어 들여야합니다.이 배열은 모두 하나의 배열 또는 여러 개의 바이트 배열 (읽히는 데이터의 크기에 따라 다름)로 읽은 다음 RMI를 통해 해당 바이트 배열을 전달해야합니다. 읽히지 않은 InputStream는 직접 건네 줄 수있는 데이터는 아닙니다.
수 없습니다. InputStream이 디스크에서 파일을 읽고 다른 시스템의 JVM에서 실행중인 EJB에 메소드 매개 변수로 보내면된다고 가정 해보십시오. 다른 컴퓨터에서 직렬화 될 때 그 InputStream이 의미있는 방법은 없습니다.
역학이 아닌 기본 문제에 대해 생각해 봐야합니다. InputStream을 직렬화 가능 객체 (예 : byte [] 배열)로 읽어 와서 전달해야합니다.
InputStream에서 메모리에 비해 너무 큰 내용을 읽으면 Serializable 개체로 래핑하고 전달하여 다른 쪽 끝에 InputStream을 만들 수있게해야합니다. 코스 - 그렇지 않으면 자신 만의 스트림을 만들어야합니다. 이것은 다른 질문입니다). 그의 대답 @Konstantin에서
썼다 : 읽지 않은
의 InputStream 직접 전달 될 수있는 데이터가 아닙니다.
정확하게!
예를 들어 System.in
의 내용을 "java app </usr/bin/yes"로 호출되는 응용 프로그램에 대해 직렬화하려고하면 어떻게 될 것이라고 생각하십니까? (힌트 : "남자 예"라고 읽음)
스트림을 RMI를 통해 "전달"하려면 Stream API를 구현하는 래퍼 클래스를 생성하고 스트림 객체에 대한 RMI 콜백을 수행 할 수 있습니다 데이터를 읽거나 쓸 수 있습니다. 스트림 래퍼의 직렬화 된 상태에 콜백을 수행하기위한 핸들이 포함되도록 조정해야합니다.
그러나 클라이언트의 경우 전체 내용을 명시 적으로 읽은 다음 바이트 또는 문자 배열 또는 버퍼로 서버에 전달하는 것이 더 바람직합니다.
전화선을 통해 전화를 보내려하는 것과 같습니다. 그것은 의미가되지 않습니다
- 1. NetBeans에서 RMI를 실행하는 방법은 무엇입니까?
- 2. 서버 - 인터넷을 통해 RMI를 사용하는 클라이언트 구현
- 3. RMI를 통해 동일한 스레드 이름 유지
- 4. InputStream을 모니터링하는 가장 좋은 방법은 무엇입니까?
- 5. JDBC를 사용하여 CLOB에 InputStream을 삽입하는 방법은 무엇입니까?
- 6. 선택기를 통해 변수를 전달하는 방법은 무엇입니까?
- 7. 리디렉션을 통해 값을 전달하는 방법은 무엇입니까?
- 8. URL을 통해 비밀번호를 안전하게 전달하는 방법은 무엇입니까?
- 9. 소켓을 통해 XML로 데이터를 전달하는 방법은 무엇입니까?
- 10. 이 입력란을 통해 값을 전달하는 방법은 무엇입니까?
- 11. 대리인을 통해 uislider 값을 전달하는 방법은 무엇입니까?
- 12. 문서 작성기에 inputstream을 구문 분석하는 방법은 무엇입니까?
- 13. Java : InputStream을 표준 출력으로 파이프하는 방법은 무엇입니까?
- 14. j_security_check로 전달하는 방법은 무엇입니까?
- 15. RMI를 사용한 Java 직렬화
- 16. rtf 문서 파일의 파일 목록에서 InputStream을 가져 오는 방법은 무엇입니까?
- 17. Java RMI를 사용하여 Observer 패턴을 구현하는 방법은 무엇입니까?
- 18. Netbeans을 통해 명령 줄 인수를 프로그램에 전달하는 방법은 무엇입니까?
- 19. 포스트 백을 통해 구조체 배열을 전달하는 방법은 무엇입니까?
- 20. php에서 URL을 통해 둘 이상의 변수를 전달하는 방법은 무엇입니까?
- 21. Make 명령 줄을 통해 gcc에 -g3 플래그를 전달하는 방법은 무엇입니까?
- 22. 경로 도우미를 통해 매개 변수를 가장 쉽게 전달하는 방법은 무엇입니까?
- 23. ASP.NET MVC에서 ViewData를 통해 View에서 HTML로 페이지를 전달하는 방법은 무엇입니까?
- 24. 레일의 라우팅에 따라 _url을 통해 객체를 전달하는 방법은 무엇입니까?
- 25. php의 require() 또는 include() 함수를 통해 변수를 전달하는 방법은 무엇입니까?
- 26. C#에서 serialport를 통해 10 진수 값을 전달하는 방법은 무엇입니까?
- 27. 게시물 데이터를 통해 노드 참조를 전달하는 쉬운 방법은 무엇입니까?
- 28. JSON을 통해 PHP에서 JQuery로 다중 값을 전달하는 방법은 무엇입니까?
- 29. WPF : System.Type의 인스턴스를 XAML을 통해 Binding.ConverterParameter로 전달하는 방법은 무엇입니까?
- 30. 3 개의 ViewController를 통해 NSString을 전달하는 방법은 무엇입니까?
가능한 중복 [JavaBeanean에 inputStream 개체를 보내는 방법?] (http://stackoverflow.com/questions/1862914/how-to-send-an-inputstream-object- to-java-ejbean) – Thilo