2017-03-07 15 views
0

ResourceBundleControlProvider 공식 Oracle documentation는 말한다 :ResourceBundleControlProvider는 Java에서 거의 사용되지 않습니까?

제공자 구현이 설치 확장으로 Java Extension Mechanism를 사용하여 포장해야합니다. ...

버젼 : 1.8

그러나

, 당신이 언급 한 Java Extension Mechanism 링크를 클릭하면, 그것은 말한다 :

이 기능 를 더 이상 사용되지 않으며에서 제거 될 예정입니다 미래 릴리스.

이는 이미 사용되지 않으므로 ResourceBundleControlProvider 인터페이스가 Java 1.8에 도입되었음을 의미합니까? 우리는 그것을 사용하기 시작할 것인가? 왜 그곳에 있습니까?

이 인터페이스가 기본을 대체 할 수있는 편리한 방법을 JDK 8 (JDK-6380549)에 도입되었다가 실수로 자바 (8)에 소개 된 것처럼 Deprecate ResourceBundleControlProvider for removal 오픈 JDK 버그에서 알 수 있듯이

이 보인다 JDK 9에서는 더 이상 사용되지 않는 Java 확장 메커니즘을 사용하여 제공된 API를 사용하여 제어하십시오.이 기능의 원래 요청자는 그들이이 API를 사용하지 않았 음을 확인합니다. 우리가 알기로는이 인터페이스의 사용자가없는 것으로 나타났습니다. @Deprecated 태그를 forRemoval=true과 함께 JDK 9에 추가하고 JDK 10에서 인터페이스를 제거하는 것이 적절할 수 있습니다.

인터페이스가 사산 기능처럼 보이지만 사용법이 이상하고 비현실적입니다.

답변

1

은 정말 JDK 9에서 더 이상 사용되지 않습니다 기능처럼 보이는 http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/760e51207cb0의 코드가 자바 9 릴리스의 일부가 될 것입니다 적어도 경우 :

* @deprecated There is no longer any mechanism to install a custom 
* {@code ResourceBundleControlProvider} implementation defined 
* by the platform class loader or its ancestor. The recommended 
* way to use a custom {@code Control} implementation to load resource bundle 
* is to use {@link java.util.ResourceBundle#getBundle(String, Control)} 
* or other factory methods that take custom {@link java.util.ResourceBundle.Control}. 
*/ 
@Deprecated(since="9", forRemoval=true) 
public interface ResourceBundleControlProvider { 
0

ResourceBundleControlProvider은 더 이상 사용되지 제안했지만, 그것은 다시했다 이 API를 사용하는 코드의 더 나은 마이그레이션 경로를 찾으려면 JDK-8172365 [1]을 통해 검사하십시오. 더 이상 사용되지 않습니다. 당신은 새로운 빌드를 다운로드하면 이것을 볼 수 있습니다.

[1] https://bugs.openjdk.java.net/browse/JDK-8172365

+0

음하지만 * 확장 메커니즘 *는 사용되지 않으며, 그것은 반드시 * *는 다큐먼트 상태로 사용할 수 ... –