我正試圖編寫一個代理來從Java的本地HttpServlet容器中調用遠程servlet對象,並且我以某種方式與Howtos卡住了。序列化代理對象以訪問遠程servlet
第一步,我試着編寫一個擴展Servlet和Remote的接口,以便在服務器端我可以將它註冊到我的servlet容器中,並將它用作代理來序列化對servlet對象的調用居住在客戶端。類似下面的代碼:
public interface IServletRemote extends Remote, Servlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws RemoteException;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws RemoteException;
public void init() throws RemoteException;
public void init(ServletConfig config) throws ServletException, RemoteException;
public void destroy() throws RemoteException;
}
我不能走過去建立接口,因爲在下面的錯誤這是合理的,上面的代碼的結果知道的Java多態性/繼承的限制:
的RemoteException是不兼容拋出Servlet.init(ServletConfig類)子句
我不completeley知道是否/如何我能找到從本地servlet容器一個servlet對象的遠程調用的解決方案。換句話說,考慮到HttpServletRequest,HttpServletResponse等的序列化需求,我想知道我想實現的是否可行?
任何提示高度讚賞。
這聽起來像是一個非常複雜的解決一個簡單的問題。你試圖解決的問題究竟是什麼? – biziclop 2011-03-31 23:19:01
這實際上是一個複雜的問題。我正在嘗試開發一種工具,在兩臺機器上動態分配JEE Web應用程序,其中根據最初單一的JEE應用程序的類之間交換的數據量來識別分佈邊界。這更像是一個研究問題,我意識到更簡單的選擇;但不知爲什麼我的想法會起作用。在理論上,我應該能夠在應用足夠的抽象和序列化之後通過RMI分發每個Java類。我的目標是在我的解決方案中實踐理論。 – nemo 2011-04-01 00:06:59
好吧,我不會判斷你在做什麼。然而,我會指出,你將需要能夠遠程代理流(請求和響應兩個工作與流)。你應該看看rmiio項目,它將使你能夠通過rmi使用流。 – jtahlborn 2011-04-01 00:31:23