<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 一,遠程調用 ~~~ @Stateless//一般定義成無狀態的 @Remote public class UserManagerBean implements UserManager { @Override public void addUser(User user) { System.out.println("User["+user.getUsername()+"] is saved..."); user.setId(10); } } ~~~ 因為要在遠程調用中使用User對象,所以這個對象要實現序列化的接口。 測試遠程調用: ~~~ <span style="font-size:12px;">public static void main(String[] args) throws Exception { InitialContext context=new InitialContext(); UserManager userManager=(UserManager)context.lookup("UserManagerBean/remote"); User user=new User(); user.setUsername("張三"); user.setPassword("lhc"); userManager.addUser(user); System.out.println("用戶信息已經被成保存,用戶ID是:"+user.getId()); }</span> ~~~ 結果: ![](https://box.kancloud.cn/2016-03-02_56d66381d8a34.png) 發現調用完成之后,是服務端并沒有把對User對象的值設置好之后返回client端。 ## 二,本地調用 新增類: ![](https://box.kancloud.cn/2016-03-02_56d66381e64c3.png) PS:我的Jboss版本不支持將類同時標記為遠程對象和本地對象,所以就分開寫了。如果你在查找的時候,找不到對象,可能也是因為將類標記為remote跟local之后,因為服務器不支持,導致報錯了。 之后,新建web項目,并將這個web項目部署到跟EJB項目同一個jboss服務器下面. ![](https://box.kancloud.cn/2016-03-02_56d6638204c3f.png) 測試本地調用: ~~~ <span style="font-size:12px;"><% InitialContext context=new InitialContext(); UserManager userManager=(UserManager)context.lookup("UserManagerBeanTwo/local"); User user=new User(); user.setUsername("張三"); user.setPassword("lhc"); userManager.addUser(user); out.println("用戶信息已經被成保存,用戶ID是:"+user.getId()); %></span> ~~~ 根據結果: ![](https://box.kancloud.cn/2016-03-02_56d6638215cbc.png) 從上我們可以推斷,因為兩個項目在同一個Jboss服務器下面,所以本地調用ejb對象的時候,User對象是在這個服務器中是以引用的形式傳遞的,所以當服務端執行完成之后,我們可以從客戶端看到用戶ID被改變。 ## 三,其他定義remote和local的方式 ### 1,使用value標記接口該以哪種方式被調用 ![](https://box.kancloud.cn/2016-03-02_56d663822638d.png) ### 2,在接口上定義該接口該如何被調用 ![](https://box.kancloud.cn/2016-03-02_56d6638238c58.png)
                  <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>

                              哎呀哎呀视频在线观看