-1
private static ConcurrentHashMap initContextServletContext = new ConcurrentHashMap(2);

フィールドは非公開ですが、FacesContext クラスでは使用されません。存在する理由はありますか?

4

1 に答える 1

0

com.sun.faces.config.InitFacesContextこれは、コンテナーの初期化中にのみ使用されるMojarra 固有の実装のリフレクションによってアクセスされます (行番号は Mojarra 2.2.11 と一致します)。

675    static Map getThreadInitContextMap() {
676        ConcurrentHashMap threadInitContext = null;
677        try {
678            Field threadMap = FacesContext.class.getDeclaredField("threadInitContext");
679            threadMap.setAccessible(true);
680            threadInitContext = (ConcurrentHashMap)threadMap.get(null);
681        } catch (Exception e) {
682            if (LOGGER.isLoggable(Level.FINEST)) {
683                LOGGER.log(Level.FINEST, "Unable to get (thread, init context) map", e);
684            }
685        }
686        return threadInitContext;
687    }

以下も参照してください。

于 2015-09-09T10:15:30.383 に答える