我发现PropertyEditorManager
寄存器/根据ThreadGroupContext
找到编辑器,而不是每个全局注册表的Java7之前的编辑器。Java7属性编辑器通过ThreadGroupContext注册
Java7每次都会为新的ThreadGroup
创建一个新的ThreadGroupContext。因此PropertyEditorFinder(实际上注册/发现编辑器)也是新的。
Java使用预定义的编辑对于某些类(Byte
,Long
等),并在ctor
它们登记在PropertyEditorFinder
)。假设我想为某些预定义的类(即长)注册我自己的PropertyEditor
。在Java6中很容易,但在Java7中,每次在新的ThreadGroup
内创建线程时,我都会丢失编辑器。
所以,你能告诉我有没有任何解决方案以一种很好的方式处理在Java7中为新的ThreadGroup
创建哪些编辑器?如果面对一些问题,你如何克服它?
P.S.我想我应该为我的英语道歉=)
P.P.S. ThreadGroupContext
是AppContext
的替代品。我希望创建上下文的实现类似:都使用ThreadGroup
与上下文(java 6中的AppContext
,java 7中的ThreadGroupContext
)之间的映射。而java 6对于其父母使用与新的ThreadGroup
相同的AppContext
。换句话说,AppContext
用于jvm中的整个ThreadGroup
树。但不幸的是创建ThreadGroupContext
是不同的 - 它只是一个新组的新环境。所以如果有一天ThreadGroupContext
将使用相同的创建技术,问题会自动解决。
我与PropertyEditorManager有同样的问题,但我没有找到解决方案然而.. – Vadeg