通过ThreadGroupContext注册的Java7 PropertyEditors

问题描述 投票:0回答:2

我发现

PropertyEditorManager
ThreadGroupContext
注册/查找编辑器,而不是像 Java7 之前那样按全局注册表注册/查找编辑器。

Java7 每次都会为新的

ThreadGroup
创建一个新的 ThreadGroupContext。因此,PropertyEditorFinder(实际上注册/查找编辑器)又是新的。

Java 对某些类使用预定义编辑器(

Byte
Long
等)并将它们注册在
PropertyEditorFinder
处的
ctor
)。假设我想为某个预定义的类(即 Long)注册自己的
PropertyEditor
。在 Java6 中很容易做到,但在 Java7 中,每次在 new 中创建线程时,我都丢失了编辑器。

那么您能告诉我是否有任何解决方案可以很好地处理为 Java7 中的新

ThreadGroup

创建哪些编辑器?如果遇到一些问题,你如何克服它?


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

P.P.S。

ThreadGroup

ThreadGroupContext
的替代品。我希望创建上下文的实现是相似的:都使用
AppContext
到上下文之间的映射(java 6 中的
ThreadGroup
,java 7 中的
AppContext
)。 java 6 对 new
ThreadGroupContext
使用与其父级相同的
AppContext
。换句话说,
ThreadGroup
用于 jvm 中的整个
AppContext
树。但不幸的是,创建
ThreadGroup
是不同的——它只是一个新组的新上下文。因此,如果有一天
ThreadGroupContext
使用相同的创作技术,这个问题就会自动解决。
    

java java-7
2个回答
1
投票


0
投票

公共类 CentralPropertyEditorManager {

ThreadGroupContext

}

通过使用这样的中央管理器,您可以避免每次创建新线程组时重新注册编辑器的麻烦,从而绕过 Java 7 中引入的限制。

© www.soinside.com 2019 - 2024. All rights reserved.