Comment recharger regroupement de ressources dans une application web?
J'ai regroupement de ressources en tant que classe Java lire les valeurs de la base de données. Quand je l'ai mise à jour de la db j'ai besoin de recharger paquet, mais je ne sais pas comment. Quelqu'un aide ?
package model.helpers;
public class Messages_en extends ListResourceBundle {
protected Object[][] getContents() {
//from DB
//...
}
}
J'ai bundle comme ci-dessous:
<f:loadBundle basename="model.helpers.Messages" var="m" />
OriginalL'auteur marioosh | 2010-12-01
Vous devez vous connecter pour publier un commentaire.
OU
L'appel de cette méthode permettra de recharger les ressources, il va rafraîchir le bundle
Les bonnes œuvres. Merci 🙂
J'ai remarqué, que quand j'ai des message d'bundle définis dans faces-config.xml au lieu d'utiliser f:loadBundle - rechargement ne fonctionne pas. Quelqu'un sait pourquoi ?
cela peut bien fonctionné une fois, mais il n'est pas sur mon wildfly 8->10 installations, même en passant classe chargeurs, etc, il est mis en cache et obtient rechargé avec les données d'origine de cette douleur.
OriginalL'auteur Jigar Joshi
Ce n'est pas exactement banal.
Pour une juste compensation de la
ResourceBundle
viaclearCache()
n'a pas toujours donné les résultats escomptés. Souvent, vous devez au moins aussi essayer de comprendre, à l'aide du contexte de la classe loader:ResourceBundle.clearCache(Thread.currentThread().getContextClassLoader());
Cela, cependant, ne sera toujours pas recharger le regroupement de ressources définies dans un faces-config.xml fichier. Au moins la Mojarra JSF 1.2 la mise en oeuvre privé caches le regroupement de ressources en interne. Ce qui se passe dans:
Il est possible d'effacer ce cache via la réflexion (à la fin de la journée, c'est juste une entrée dans une Carte), ou vous pourriez voulez-vous remplacer l'Application. Les deux ne sont pas des choses que vous faites normalement allègrement.
Purement pour le développement, vous pouvez utiliser JRebel, qui probablement a déjà connaissance de la Mojarra, et probablement le reflet truc mentionnés ci-dessus.
Après quelques tests, j'ai le code suivant qui fait le tour sur JBoss as 5/JSF 1.2. Il n'attachez votre code de Mojarra (importations de voyages au soleil) et peut se casser avec une mise à niveau en raison de réflexion sur les astuces utilisées. Mais de toute façon, c'est le code:
(remplacer le getFieldValue méthode d'aide avec votre propre favori réfléchissant util si nécessaire et saupoudrer avec de l'exception et null gestionnaires le cas échéant)
Quelle est la version de Glassfish? Si c'est de la V3, alors je suppose qu'il pourrait en effet ne pas fonctionner car la version de Mojarra est totalement différent. Il m'est arrivé de travailler sur un JBoss as 5 projet donc j'ai testé, mais il peut également ne pas fonctionner sur JBoss as 6.
sa V3, une idée de comment faire contourner en V3, et le système vous informera si vous commencez votre commentaire avec le nom d'utilisateur @
OriginalL'auteur Arjan Tijms
Vous pouvez même éviter d'avoir à importer de la soudure et de la jsf-impl classes dans votre module avec un peu plus de lignes de réflexion:
(fonctionne bien avec Wildfly 10)
OriginalL'auteur menotyou