Dowiedziałem się, że PropertyEditorManager
rejestruje/znajduje edytory na podstawie ThreadGroupContext
, a nie na globalny rejestr jak przed Java7.Java7 PropertyEditors zarejestrowany przez ThreadGroupContext
A Java7 za każdym razem tworzy nowy obiekt ThreadGroupContext dla nowego ThreadGroup
. Tak więc PropertyEditorFinder (który faktycznie rejestruje/znajduje edytory) jest znowu nowy.
Java używa predefiniowanych edytory dla niektórych klas (Byte
, Long
, etc) i rejestruje je w PropertyEditorFinder
na ctor
). Załóżmy, że chcę zarejestrować własną PropertyEditor
dla niektórych predefiniowanych klas (tj. Long). Jest to łatwe do zrobienia w Javie6, ale w Java7, za każdym razem wątki są tworzone w nowym ThreadGroup
Straciłem mojego edytora.
Czy możesz mi powiedzieć, czy istnieje jakieś rozwiązanie, które pozwoli w miły sposób stworzyć edytor dla nowego ThreadGroup
w Java7? Jeśli napotkasz problem i jak go pokonać?
P.S. Chyba powinienem przeprosić za mój angielski =)
P.P.S. ThreadGroupContext
jest zamiennikiem dla AppContext
. Miałem nadzieję, że implementacja tworzenia kontekstów będzie podobna: obie używają mapowania między ThreadGroup
a kontekstem (AppContext
w java 6, ThreadGroupContext
w java 7). I java 6 używa tego samego AppContext
dla nowego ThreadGroup
jak dla rodzica. Innymi słowy, AppContext
jest używane do całego drzewa ThreadGroup
w jvm. Ale niestety tworzenie ThreadGroupContext
jest inne - jest to po prostu nowy kontekst dla nowej grupy. Pytanie zostanie automatycznie rozwiązane, jeśli pewnego dnia ThreadGroupContext
użyje tej samej techniki tworzenia.
Mam ten sam problem z PropertyEditorManager i nie znalazłem rozwiązania jeszcze.. – Vadeg