我有大量的服務,以及一組核心服務,這些服務預計首先加載,以便在其他服務加載時它們可用。
Wildfly 在部署時是否有特定的順序(例如按字母順序、基於檔案名稱)?或者有沒有辦法設定這個?
我們嘗試添加程式碼以在其他服務尚未準備好時重試連接,但這涉及線程,有時在取消部署內容時線程無法正確終止。
有些事情對我不起作用:
- 有可能控制 .ear 內模組(ejb、war 等)的部署順序,但我對控制 .ear 部署的順序感興趣。
- .ear 可以設定為另一個 .ear 的依賴項,但我們的服務部署在各個地區。我們有 serviceA-regionA-1.0.0.ear、serviceA-regionB-1.0.0.ear 等...必須指定所有這些耳朵名稱將是一個很大的痛苦。
答案1
Wildfly(自 AS7 起)嘗試進行並行部署以加快流程,如果您想進行順序部署,那麼您可以提供每個部署對另一個部署的依賴關係(例如您在問題中提供的連結)。
或者,您可以使用管理 CLI 來排序部署計劃,使用批次功能來確保部署按照腳本順序進行,並且如果至少一個命令或操作失敗,則所有其他命令和操作都會成功執行。
也可以看看: