Une nouvelle installation OpenEMM indique des erreurs de bean sur certaines pages
-
05-07-2019 - |
Question
Nous avons déployé une nouvelle installation openemm sur un serveur de résine (ce qui n’était pas tout à fait simple en raison d’un nombre énorme de dépendances bien que la résine soit le serveur d’applications recommandé et par défaut). Voici notre configuration:
- dernière version de Gentoo GNU / Linux
- OpenEMM 5.1.1 (compilé à partir du source, y compris un nombre considérable de fichiers jar dépendants)
- Résine 3.2.1 sur 127.0.0.1:8080
- Squid Frontend en mode accélérateur transférant le trafic vers 127.0.0.1:8080
Cette configuration semble fonctionner correctement. Presque toutes les pages de OpenEMM fonctionnent. Mais les " Actions " L'élément de menu génère l'erreur suivante:
javax.servlet.ServletException: javax.servlet.jsp.JspException: No bean found under attribute key emmaction
L’autre élément de menu qui génère une erreur est le bouton "Destinataires / Aperçu". élément de menu:
javax.servlet.ServletException: javax.servlet.jsp.JspException: Missing message for key "gender..short"
Je suis un joli noob sur les déploiements Java. Toute aide serait grandement appréciée.
Mise à jour: j'ai déjà progressé dans ce domaine. Tous ces problèmes semblent se produire du fait que certaines variables sont interpolées mais contiennent des valeurs vides. Par exemple, $ {destinataire.gender} se résout en une valeur vide et tente donc de rechercher un sexe..short (résolu à partir de " genre. $ {Destinataire.gender} .short "). Voici l'extrait de code:
<display:column class="name" headerClass="head_name" titleKey="Salutation">
<bean:message key="gender.${recipient.gender}.short"/>
</display:column>
Ceci est entouré par un " display: table " comme si:
<display:table class="dataTable" pagesize="${recipientForm.numberofRows}"
id="recipient" name="recipientList" sort="external"
requestURI="/recipient.do?action=${ACTION_LIST}" excludedParams="*"
partialList="true" size="${recipientList.fullListSize}"
>
Des indices sur le débogage ultérieur? J'ai déjà rétrogradé la bibliothèque displaytag de 1.2 à 1.1.1 dans l'espoir que cela corrige le mauvais comportement - mais cela semblait être le mauvais point.
La solution
Eh bien, j'ai finalement résolu ce problème en rétrogradant la résine de 3.1.x à résine 3.0.x ... Il semble y avoir des modifications incompatibles dans certaines bibliothèques de la résine et dans le code de prise en charge de l'application Web. De quoi s'agit-il et comment le corriger pour qu'il fonctionne avec la dernière version de résine, mais cela reste toujours mystérieux pour moi.