【发布时间】:2018-02-21 02:36:17
【问题描述】:
在我的工作中,有一个带有我们自己的 portlet 的 Portal(Liferay 是定制的),它们运行良好,但是所有它们的部署时间太长(30-40 分钟),我的目标之一是知道每个 portlet 何时是向上,通常用户必须进入 portlet 视图并检查 portlet 是否可用,但这被认为是不切实际的。
我正在制作一个 bash 脚本,基本上它通过 cURL 向每个 portlet 的视图执行 http 请求,但它并没有按照我想要的方式工作,因为即使未部署 portlet,资源也被标记为可用,您对这个问题有什么建议或什么吗?我会在下面附上一段我的代码
#!/bin/bash
portlet='web/view/your_first_portlet web/view/your_second_portlet';
for i in $portlet;do
if [ -z "$(curl -v --silent http://portal/$i 2>&1 | grep "The requested resource was not found.")" ]
then
echo "$i is ready"
else
echo "$i is NOT ready"
fi
done
当 cURL 命令运行时,它会搜索字符串“未找到请求的资源”的出现。因为我发现当资源不可用时,在 catalina ouput(tomcat) 中会抛出 null,但使用 http 请求会在返回的代码中显示消息,但即使使用它,portlet 也未部署,脚本另有说明。
【问题讨论】:
标签: bash curl liferay liferay-6 portlet