微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以在不重新启动服务器的情况下在远程 weblogic 上重新部署应用程序?

如何解决是否可以在不重新启动服务器的情况下在远程 weblogic 上重新部署应用程序?

我在 Linux 中运行 weblogic 12.4.2,我的开发环境在 Windows 中。 目前,如果我想重新部署该应用程序,我会执行 maven clean install 并使用 ssh 客户端登录到 Linux,终止 weblogic 进程,将我的 jar 文件复制到域目录中,然后再次运行 weblogic。 我想要一个工具,可以将 jar 文件复制到服务器中的适当位置并重新部署应用程序,而无需重新启动 weblogic,并且最好不依赖于 IDE。

我发现 weblogic hot deployfast swap 无需重新启动即可在 weblogic 上重新部署应用程序。 和 the weblogic.Deployer、管理控制台、wldeploy Ant Task WebLogic Scripting Tool weblogic maven plugin 远程部署 weblogic 上的应用程序。 我搜索了它们,但我不确定它们中的哪一个可以一起做所有这些事情,以及它们的优点和缺点是什么。

如果可能,请对现有工具进行比较。 我看到了类似的问题,但他们只专注于重新部署而不重新启动或远程部署,我想要两者。

解决方法

是的,您可以使用 management REST API

您可以在此处查看 how to deploy/redeploy applications 上的具体示例。

此 REST API 为您提供了部署应用程序(EAR 和 WAR 文件)以及仅使用 curl 工具启动/停止它们的工具。检查一些示例:

# Stops a deployed application
curl -v --user ${USER}:${PASS} \
 -H X-Requested-By:MyClient \
 -H Accept:application/json \
 -H Content-Type:application/json \
 -X POST http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/appDeploymentRuntimes/${APP_NAME}/stop

# Deploy an application from a file
curl -v --user ${USER}:${PASS} \
 -H X-Requested-By:MyClient \
 -H Accept:application/json \
 -H Content-Type:multipart/form-data \
 -F "model={
   name:    'basicapp',targets: [ { identity: [ 'clusters','Cluster1' ] } ]
 }" \
 -F "sourcePath=@/deployments/BasicApp/app/BasicApp.ear" \
 -F "planPath=@/deployments/BasicApp/plan/Plan.xml" \
 -H "Prefer:respond-async" \
 -X POST http://localhost:7001/management/weblogic/latest/edit/appDeployments

您可以使用 shell 别名和 shell 脚本来自动执行某些操作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。