我发现PropertyEditorManager注册/查找每个ThreadGroupContext基础的编辑器,而不是每个全局注册表如Java7之前。
和Java7每次为一个新的ThreadGroup创建一个新的ThreadGroupContext。因此PropertyEditorFinder(实际上是注册/查找编辑器)又是新的。
Java对某些类使用预定义的编辑器(Byte,Long等),并在PropertyEditorFinder中的ctor中注册它们。假设我想为一些预定义类(即Long)注册我自己的PropertyEditor。在Java6中很容易做到,但是在Java7中,每次在新的ThreadGroup中创建线程时,我失去了我的编辑器。
所以,你能告诉我有什么解决方案以一种好的方式处理,编辑器是为一个新的ThreadGroup在Java7中创建的?如果面对一些问题,你怎么克服它?
P.S。我想我应该为我的英语道歉=)
P.P.S. ThreadGroupContext是AppContext的替代。我希望创建上下文的实现将是类似的:都使用映射到ThreadGroup到上下文(AppContext在java 6,ThreadGroupContext在java 7)。和java 6使用相同的AppContext新的ThreadGroup和它的父。换句话说,AppContext用于jvm中的整个ThreadGroup树。但不幸的是,ThreadGroupContext的创建是不同的 – 它只是一个新的上下文为一个新的组。所以问题是自动解决,如果有一天ThreadGroupContext将使用相同的创建技术。