Weblogic
如何使用 Ant 遠端重啟 WebLogic 域?
我有一個設置,我在一組 WebLogic 9.2 伺服器中執行 Oracle BPEL 流程管理器。我在另一台伺服器上有一個發布管理系統,它使用 Ant 建構和部署 BPEL 手提箱到這些伺服器中。Oracle 的建議是,將手提箱顯式部署到 BPEL PM 集群中的第一個節點,然後重新啟動所有其他節點(而不是將手提箱直接部署到每個節點中)。
我在 Ant 腳本中有以下任務來執行這組活動:
<wlserver host="${node.hostname}" port="${node.port}" configFile="${user.home}/.ant/weblogic/config/${env}/${node.config}" username="${bpel.cluster.user}" password="${bpel.cluster.password}" action="reboot"/>
但是,此任務似乎要啟動本地伺服器,然後向其發出“重新啟動”命令,而不是連接到遠端實例並重新啟動它。事實上,到目前為止,我發現的幾乎每個範例似乎都假設我將在我的工作站上部署/配置/管理一個域,或者我將在域所在的同一台伺服器上執行 Ant 腳本配置。這兩個我都不想要。
有沒有辦法從 Ant 以程式方式管理遠端 WebLogic 域?
您可以通過 wlserver ANT 任務遠端重新啟動 WebLogic 託管伺服器,但此類請求必須通過域管理伺服器完成。例如:
<wlserver adminserverurl="t3://myadminhost:7001" username="weblogicAdminUser" password="weblogicPassword" servername="MyManagedServer" action="reboot" noExit="true"/>
話雖如此,使用 ANT 任務重新啟動託管伺服器可能並不可靠。我建議改用 Weblogic 腳本工具 (WLST)。
答案是肯定的。可能有更好的方法,但我是這樣做的:
我的 Ant 設置使用 maverick-ssh 庫打開到伺服器的 ssh 連接(ssh 任務)。然後它將我們的部署(一個 zip 和 war 文件)傳輸到伺服器,然後它執行一個使用 WLST 將其部署到“本地”伺服器的 shell 腳本。
這是螞蟻任務:
<target name="transfer-build" description=""> <property name="transfer.host" value="${deploy.host}"/> <property name="transfer.user" value="${deploy.user}"/> <property name="transfer.pass" value="${deploy.pass}"/> <property name="transfer.cwd" value="${dir.war.tmp}"/> <property name="transfer.conf" value="${file.conf_zip}"/> <property name="transfer.war" value="${file.tds_war}"/> <ssh host="${transfer.host}" username="${transfer.user}" password="${transfer.pass}" version="2"> <sftp action="put" remotedir="${dir.deploy}" verbose="false"> <fileset dir="${transfer.cwd}" > <include name="${transfer.conf}"/> <include name="${transfer.war}"/> </fileset> </sftp> <exec cmd="~/deploy-build.sh ${transfer.conf} ${transfer.war}"/> </ssh> </target>
以及 deploy-build.sh 腳本中的相關部分:
# issue the redeploy command java weblogic.Deployer -adminurl t3://`hostname`:9000 -user weblogic -password weblogicadmin -name fooapp -deploy /path/to/weblogic/user_projects/domains/mydomain/fooapp.war
WLST 命令呼叫的功勞歸功於我再也找不到的一些 BEA 幫助文件…