<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # RESTEasy - 與`ResteasyProviderFactory`共享上下文數據 > 原文: [https://howtodoinjava.com/resteasy/share-context-data-with-jax-rs-resteasyproviderfactory/](https://howtodoinjava.com/resteasy/share-context-data-with-jax-rs-resteasyproviderfactory/) 很多時候,我們不得不將數據從應用傳遞到多層。 使用攔截器的應用就是一個例子。 假設我們的應用中有兩個攔截器,一個用于登錄檢查,另一個用于將審計信息放入數據庫。 我們要使用 User 對象從第一個攔截器進入第二個攔截器。 在基于 [**RESTEasy**](//howtodoinjava.com/restful-web-service/ "Resteasy tutorials") 的應用中,可以使用[`ResteasyProviderFactory`](https://github.com/jharting/resteasy/blob/master/jaxrs/resteasy-jaxrs/src/main/java/org/jboss/resteasy/spi/ResteasyProviderFactory.java "ResteasyProviderFactory source code")實例輕松實現上述功能。 通過使用以下定義在`web.xml`文件中添加過濾器,可以啟用`ResteasyProviderFactory`: ```java <listener> <listener-class> org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap </listener-class> </listener> ``` 現在,您可以在 RESTEasy 上下文范圍內的任何類中輕松獲取`ResteasyProviderFactory`的實例。 因此,要在攔截器之間共享數據,您將需要執行兩個步驟: **1)在上下文映射中設置數據** 使用`pushContext()`方法設置此上下文數據。 此方法將數據添加到定義為以下內容的線程本地棧中: ```java protected static ThreadLocalStack<Map<Class<?>, Object>> contextualData = new ThreadLocalStack<Map<Class<?>, Object>>(); ``` 您需要按以下方式推送數據: ```java User user = new User(); //Set some user attributes //Get registered ResteasyProviderFactory instance ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); //Add user into context data map factory.pushContext(User.class, user); ``` **2)從上下文映射中獲取數據** 第一步取回數據集非常簡單。 使用`popContextData()`方法。 該上下文數據本質上是線程局部的,因此在代碼的另一個位置進行檢索時,您不必擔心會得到錯誤的數據。 ```java ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance(); factory.popContextData(User.class); ``` 這樣,您可以使用`ResteasyProviderFactory`在應用的多個層之間共享數據。 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看