0

我正在從Weblogic到Websphere的服務器遷移項目。問題在於,在Weblogic中,我們已經使用Weblogic中指定爲Startup-class的類(以及類似log4j config文件的參數),它通過編輯啓動腳本添加到Weblogic類路徑中的jar中。該jar初始化全局log4j文件,該文件適用於部署在服務器上的所有應用程序,而不是針對任何特定應用程序。每個應用程序都由一個log4j類別區分。Websphere中Weblogic啓動類的最佳替代方案?

現在我在Websphere中找不到類似的東西。那麼最好的解決方案是什麼?我可以創建一個新的應用程序,它可以執行類似於啓動類的所有初始化。我想過使用startup-beans,但是在一些IBM文檔中讀到他們由於EJB 3.1會話Bean而被棄用。另外如何確保這個應用程序首先加載?通過給Websphere xml文件啓動權重1,如here

我使用Weblogic的6.3.2和Websphere 8.5

回答

2

這聽起來像custom services(或自由輪廓custom feature)是最好的模擬,如果您需要在服務器啓動時運行的邏輯。否則,如果您只需要爲每個應用程序添加一個庫,那麼可以使用create a shared library,然後使用associate it with the serverassociate it with specific applications or modules

+0

定製服務就像Websphere中的啓動和關閉類一樣工作。它爲我工作。感謝您的好建議! – abhihello123

+0

只是想知道如果共享庫不同於將庫添加到服務器的lib文件夾,如果該庫用於所有已部署的應用程序?不建議 – abhihello123

+0

修改INSTALL_ROOT如果能夠避免它:http://www-01.ibm.com/support/docview.wss?uid=swg27006159#wherenot –

3

WebSphere migration toolkit建議使用ServletContextListener實現,會話啓動Bean(Singleton)或配置爲在啓動時加載的servlet替換WebLogic T3StartupDef和T3ShutdownDef實現。如果您尚未使用WebLogic到WebSphere遷移工具包,請查看它。它提供了很多幫助,尤其是部署描述符擴展。

EJB 3.1中的@Singleton會話Bean替換了專有的WebSphere啓動Bean。

最好的方法取決於模塊的你所需要的啓動邏輯類型。

如果你正在考慮的定製服務選項,注意com.ibm.websphere.runtime包不自由使用,如果你正在考慮的自由服務器。

+0

如果OP嵌入他們的服務器啓動邏輯應用程序的建議,然後他們問「如何確保這個應用程序首先加載?」。在完整的個人資料,他們將需要使用[應用程序的啓動權重](https://www.ibm.com/support/knowledgecenter/en/SSD28V_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/trun_app_startup .html),我認爲它在Liberty(?)上不存在。我在我的回答中添加了Liberty配置文件,謝謝。 –