2011-07-05 25 views
0

我有一個正在爲大量40個左右應用程序共享而編寫的API。將帶有hibernate對象的api轉換爲多個應用程序的服務

我現在的問題是他們計劃把API作爲一個簡單的庫包含在每個程序的每個war文件中。即將發生的問題是當兩個應用程序在具有不同版本的api庫的同一實例上運行時。 ive在過去有很多問題。

我似乎記得前一段時間我可以將我的庫包裝到ear文件或東西中,並將其部署到tomcat以使其成爲全局。僅僅將它包含在lib文件夾中將不起作用,因爲它將包含必須部署的hibernate系統,以允許api方法訪問數據庫。那麼在每個應用程序中,我都可以實現一個可以調用這些API方法的接口。與本地EJB3非常相似,但並不複雜,並且不需要企業級服務器來實現。

其他人還記得這樣的事情嗎?或者這是我的錯誤夢想?

回答

0

如果您使用所有Web應用程序共享的單個jar,那麼將會出現問題,因爲兩個應用程序無法使用不同版本的庫。但是,如果每個Web應用程序在其WEB-INF/lib中都有自己的庫版本,那麼該容器應該沒有任何問題:每個Web應用程序都有自己的類加載器,它不會看到其他Web應用程序的庫。

+0

是的,這就是理論,但是在過去,一個應用程序的版本碰撞並混淆了另一個應用程序的版本時,我的類加載器問題。是的,我知道它不應該發生,但它確實發生。 – scphantm

相關問題