2011-06-17 126 views
3

如果我們分析EJB的話,在更高級別上說statelessEJB Bean,它似乎是由RMI API創建的ejb框架。 我之所以這樣說的原因: -EJB vs Rmi比較

IN RMI也有遠程接口。在命名查找中,我們得到了一個存根,它調用了skelton,它在內部調用遠程對象。

在EJB我們有home接口和遠程接口,其實現由EJB容器(它看起來像什麼,但存根) 上調用創建本地接口上提供它給人的遠程對象上按我會給呼叫內部調用會話 對象的skelton。

請讓我知道,如果上述比較有意義嗎?

回答

3

是的,EJB規範一直要求RMI兼容性(並且一些應用程序服務器是建立在CORBA之上的)。在EJB 3.0之前,遠程EJB需要具有擴展EJBObject(因此java.rmi.Remote)的組件接口,並且需要所有方法來拋出java.rmi.RemoteException。實際上,早期規範版本中不存在本地接口。 EJB規範試圖通過允許容器管理遠程對象的生命週期和可伸縮性來簡化RMI。 (當然,它也有其他非遠程目標。)

+0

對此有另外一個問題?假設我們在遠程對象上調用了一些方法doDeposit(AccountInfo accInfo)。存根是否使用objectOutPutStream將accInfo寫入某個文件,然後通過網絡傳輸。這是對的嗎?文件是通過網絡傳輸任何Java對象的唯一方法嗎? – 2011-06-17 18:28:45