나는 문제가 있습니다. 우선 컨텍스트를 설명하겠습니다.자바 RMI, 웹 서버에서 인터페이스가 원격 서버로 게시되는데, 그렇지 않아야합니다.
프로젝트는 단순한 프로젝트이므로 RMI에 익숙해졌습니다. 이 프로젝트는 주식 시장 서버 및 서버에서 자금에 대한 데이터를 가져 오는 클라이언트입니다.
나는 3 개의 자바 프로젝트로 프로젝트를 나눴다. 서버 (MockStockMarket 및 Fund), 클라이언트 (GUI 클래스 및 서버와 통신 할 클래스 : BannerController) 및 클라이언트와 서버 모두에 필요한 인터페이스가있는 프로젝트 (IStockMarket 및 IFund).
저는 bannerController가 자금을 확보 할 수 있도록 내 bannerController가 StockMarket과 이야기하기를 원합니다. 이것은 getFunds() : ArrayList를 사용하여 수행됩니다.
보시다시피 StockMarket은 원격이어야하며 기금은 일련 화 가능해야합니다.
이IStockMarket market = new MockStockMarket();
Naming.rebind("rmi://localhost/StockMarket", market);
(아니다으로) 두 IStockMarket (의도 한대로)와 IFund 원격 될 :
문제는 내가 다음 코드를 사용하는 몇 가지 이유입니다. 그건 내가 원하는 것이 아니야.
펀드는 Serializable을 확장하는 IFund를 구현하고 (원격은 없으므로) MockStockMarket은 UnicastRemoteObject를 확장하고 Remote를 확장하는 IStockMarket을 구현합니다.
여기 웹 서버 게시 인터페이스의 스크린 샷은 http://imageshack.us/m/194/4755/rmibothinterfacespublis.png입니다. soure 코드를
: 포트에 RMI 서비스를 바인딩 https://rapidshare.com/files/2085773800/stockmarket.zip
웹 서버가 '게시'하지 않습니다. RMI 코드베이스 클라이언트에 의해 발행 된 GET 요청에 대한 응답으로 * 코드베이스 위치에서 * 반환 *합니다. – EJP
다른 jvms 용 파일을 코드베이스에서 다운로드하기 위해 파일을 게시 중입니다 ... – Rob
코드베이스에 파일을 게시하여 * 파일 *을 게시했습니다. 원격 인터페이스의 클래스 로딩을 만족시키기 위해 필요합니다. 당신에게 어떤 대안이있는 것 같지 않습니다. – EJP