J'ai découvert que PropertyEditorManager
enregistre/trouve des rédacteurs par ThreadGroupContext
et non par registre global comme avant java 7.
Et java 7 crée à chaque fois un nouveau ThreadGroupContext pour une nouvelle ThreadGroup
. Ainsi, PropertyEditorFinder (qui enregistre/trouve réellement les éditeurs) est à nouveau nouveau nouveau.
Java utilise des éditeurs prédéfinis pour certaines classes ( Byte
, Long
etc) et les enregistre dans PropertyEditorFinder at ctor). Imaginons que je veuille enregistrer mon propre PropertyEditor pour une classe prédéfinie (par exemple Long). C'est facile à faire en Java 6. Mais chaque fois que des threads sont créés dans un nouveau ThreadGroup en java 7, je perds mon éditeur.
Alors pourriez-vous me dire s'il existe une solution pour gérer de manière agréable les éditeurs créés pour un nouveau ThreadGroup en java 7 ? Avez-vous également un problème similaire ? Et comment le surmontez-vous ?
P.S. Je suppose que je dois m'excuser pour mon anglais =)
P.P.S. ThreadGroupContext est un remplacement de AppContext. Et j'espérais que l'implémentation de la création des contextes serait similaire : les deux utilisent le mapping entre ThreadGroup et le contexte (AppContext en java 6, ThreadGroupContext en java 7). Et java 6 utilise le même AppContext pour le nouveau ThreadGroup que pour son parent. En d'autres termes, l'AppContext est utilisé pour l'ensemble de l'arbre ThreadGroup dans une jvm. Mais malheureusement, la création du ThreadGroupContext est différente - il s'agit simplement d'un nouveau contexte pour un nouveau groupe. La question est donc automatiquement résolue si un jour le ThreadGroupContext utilise la même technique de création.