系統是兩臺機器, 跑四個 web 容器, 每臺機器兩個容器 。 nginx+memcached+quartz集羣,web容器爲 tomcat 。
web 應用中 用到spring 跑多個任務,任務只能一個容器執行,就是四個容器中只能用一個跑。 誰搶到誰跑。
本覺得一個機器一個web容器的,就用IP 處理;如今一個機器兩個,因此要得到web容器的端口號;
問題:在 web 應用中,spring 任務中 怎麼得到web容器 端口號 。由於quartz 的job execute沒有request對象?nginx
編輯文件${tomact-dir}/bin/catalina.bat, 添加如下內容便可:
set JAVA_OPTS=-D<key>="<value>"web
下面來看一下運行的效果圖:spring
感謝 zqq & webit 小魚 冷月追魂簫tomcat