Dans mon travail avoir un portail (Liferay mais personnalisé) avec nos propres portlets, ils fonctionnent parfaitement, mais le déploiement de tous les prend trop de temps (30-40 minutes), un de mes objectifs est de savoir quand chaque portlet est en place En général, l'utilisateur doit aller dans la vue du portlet et vérifier si le portlet est disponible, mais cela est considéré comme peu pratique. Je crée un script bash, il exécute fondamentalement des requêtes http via cURL pour les vues de chaque portlet, mais cela ne fonctionne pas comme je le souhaitais, car même lorsque le portlet n'est pas déployé, la ressource est marquée comme disponible, avez-vous une suggestion ou quelque chose pour cette question ?, Je vais joindre un morceau de mon code ci-dessousComment puis-je vérifier si le portlet est déployé ou actif?
#!/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
Lorsque la commande est exécutée cURL, il recherche d'une ocurrence de la chaîne « la ressource demandée n'a pas été trouvé." parce que j'ai découvert que quand la ressource n'est pas disponible, en catalina ouput (tomcat) jette un null, mais avec une requête http montre le message dans le code retourné, mais même avec le portlet n'est pas déployé et le script dit le contraire.
Je vous remercie pour votre réponse, je l'ai mal expliqué, le portail est en hausse d'environ 2 minutes, mais le déploiement complet de tous les portlets (environ 50 portlets) prend 30-40 minutes. Je vais comprendre votre méthode proposée :) –
Toujours semble horrible. Je dirais qu'il y a encore de la place pour améliorer, par ex. en combinant plusieurs portlets dans un plugin et d'autres mesures de réglage –