Java7 PropertyEditors通过ThreadGroupContext注册

我发现PropertyEditorManager在每个ThreadGroupContext基础上注册/查找编辑器,而不是像Java7之前的每个全局registry那样。

而Java7每次都为一个新的ThreadGroup创build一个新的ThreadGroup 。 因此,PropertyEditorFinder(实际上注册/find编辑器)也是新的。

Java为某些类( ByteLong等)使用预定义的编辑器,并将它们注册到PropertyEditorFinderctor )中。 比方说,我想注册我自己的PropertyEditor一些预定义的类(即长)。 在Java6中很容易,但在Java7中,每次在新的ThreadGroup中创build线程时,都会丢失我的编辑器。

那么你能告诉我有什么解决scheme可以很好地处理在Java7中为一个新的ThreadGroup创build的编辑器吗? 如果面对一些问题,你是如何克服的?

PS我想我应该为我的英语道歉=)

PPS ThreadGroupContextAppContext的替代品。 我希望创build上下文的实现类似:都使用ThreadGroup与上下文(Java 6中的AppContext ,Java 7中的ThreadGroupContext )之间的映射。 而Java 6使用与其父代相同的AppContext作为新的ThreadGroup 。 换句话说, AppContext用于jvm中的整个ThreadGroup树。 但不幸的是创buildThreadGroupContext是不同的 – 它只是一个新组的新的上下文。 所以如果有一天ThreadGroupContext将使用相同的创build技术,问题将自动解决。

如果您有一个java.lang.Long的FQPN类,您只需要实现一个名为java.lang.LongEditor的类并将其与您的应用程序分发。 一般来说,只需要实现一个类,该类的名字是你想要编辑的类的名称,并且在编辑器的后面添加了Editor,Java会自动find它