我知道Tomcat和Servlet規範do not support starting webapps in a particular order。Tomcat - 以特定順序啓動webapps
但是,在我看來,這似乎是一個常見的用例,我想知道是否有人發現了一個聰明的解決方法。
我有一個web應用程序A使用Spring Remoting來公開一個共享服務,其中webapp B是一個客戶端。除非webapp A正在運行,否則Webapp B不能初始化。但是,我的Tomcat始終以線性方式啓動webapps,從webapp B開始。
由於基礎設施的原因,我必須在同一個Tomcat服務器上運行這些程序。
任何想法?
感謝, 羅伊
UPDATE -
原來,在我的具體情況,順序並不重要。原因是這樣的:假設我使用下面的方法之一在應用程序B之前啓動應用程序A.所以應用程序A啓動,但是,由於Spring遠程處理使用的是HTTP Invoker,因此HTTP端口尚未打開(它不會打開直到全部應用程序啓動)。所以A將開始,B將掛起,因爲它正在查找的端口尚未可用。衛生署。
最終結果是兩個獨立的Tomcat實例。
讓Web應用程序需要等待其他Web應用程序等待而不是失敗並放棄。 – 2012-01-09 19:37:34
Hey Dave,unf。他們並不是平行開始的.B開始(當然,嘗試開始),然後A會在之後開始。但是如果B由於無法連接到A而無法啓動,A永遠不會嘗試啓動。 – 2012-01-09 19:43:25
它應該以ASCII順序啓動它們。我在Debian Apache安裝中看到的一個技巧是創建一個000_default,001_default命名約定。這使得查看dir列表的ASCII順序時會更清楚一些。 – speeves 2012-01-09 20:12:35