私の仕事では、独自のポートレットを備えたポータル(Liferayではカスタマイズされています)がありますが、それらは完全に機能しますが、すべての展開には時間がかかりすぎます(30-40分)。基本的には、ユーザーはポートレット・ビューに行き、ポートレットが使用可能かどうかをチェックする必要がありますが、これは現実的ではありません。ポートレットがデプロイされているかアクティブであるかを確認するにはどうすればよいですか?
私はbashスクリプトを作成していますが、基本的にcURLを使用してcURLを介してすべてのポートレットのビューにhttpリクエストを実行しますが、ポートレットがデプロイされていなくてもリソースがマークされてcurlコマンドを実行すると、それが文字列「要求されたリソースのocurrenceを検索すると利用できるように、あなたがこの問題の提案や何かを持っているん?私は
#!/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
以下の私のコードの一部を添付します見つかりませんでした。"なぜなら、リソースが利用できないとき、catalina ouput(tomcat)ではnullがスローされますが、httpリクエストでは返されたコードの中にメッセージが表示されますが、ポートレットがデプロイされていないということです。
私は間違った説明をしてくれてありがとうございます。ポータルは約2分ですが、すべてのポートレット(約50個のポートレット)の完全な展開には30-40分かかります。私はあなたの提案された方法について把握するつもりです:) –
まだ恐ろしい音。改善すべき余地があると思います。いくつかのポートレットを1つのプラグインと他のチューニング・メジャーに結合することによって –