<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 14,  comments - 37,  trackbacks - 0
    當你的EJB3是deploy to jboss的情況下,ejb client調用EJB3分兩種情況:
    1)      發布在jbossweb app作為client來調用EJB
    EJB和調用EJB的WEB 應用都發布在Jboss 集成環境下。在Jboss下發布WEB 應用,需要把WEB 應用打包成war 文件。另外在此環境下調用EJB 不需要把EJB 的接口類放入/WEB-INF/classes/目錄中,否則在調用Stateful Bean 就會發生類型沖突,引發下面的例外
    java.lang.ClassCastException: $Proxy84
    org.apache.jsp.StatefulBeanTest_jsp._jspService(org.apache.jsp.StatefulBeanTest_jsp:55)
     
    如果EJB和調用EJB的WEB 應用都發布在Jboss 集成環境下,那么EJB的Local或Remote接口都可以被調用
     
    發布在Jboss 下的客戶端不需要明確設置JNDI 訪問的上下文環境,可以直接通過
    InitialContext ctx = new InitialContext()
    獲得上下文環境,容器會自動賦給InitialContext 正確的環境,例如:
    InitialContext ctx = new InitialContext();//客戶端和jboss運行在同一個jvm,不需要傳入props
    HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
     
    如果硬給InitialContext 設置了訪問屬性,反而會帶來不可移植的問題,因為你的應用有可能部署在weblogic 等應用服務器。(本教程考慮到部分同學可能需要在獨立的J2se 中調用EJB,為了教學的方便,把訪問屬性都設上了,這樣不管在jbossj2se 或獨立tomcat,都能獲得正確的InitialContext
     
    2)      在單獨的TomcatJ2SE(如junit test)中調用EJB
    在正式的生產環境下,大部分調用EJB 的客戶端可能是單獨的Tomcat 或Resin。下面介紹如何在單獨的Tomcat服務器中調用EJB。在單獨的Tomcat 服務器中調用EJB 需要有以下步驟
    A)                    把調用EJB 所依賴的Jar 包拷貝到tomcat 下的/shared/lib 目錄或WEB 應用的WEB-INF/lib,所依賴的Jarjboss 安裝目錄的client目錄下。你可以在eclipse里設置一個自定義的library “ejb3 library”,把這些jars都添加到該library里,然后在你的EJB project里把“ejb3 library” add to classpath
    B)                     把EJB 接口拷貝到應用的/WEB-INF/classes/目錄下
    C)                     客戶端訪問EJB 時必須明確設置InitialContext 環境屬性,代碼如下:
    Properties props = new Properties();
    props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
    props.setProperty("java.naming.provider.url", "localhost:1099");
    props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
    InitialContext ctx = new InitialContext(props);//客戶端和jboss運行在同一個jvm,不需要傳入props
    HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
     
    Tip: 除了上面通過硬編碼設置環境屬性的方式外,還可以在應用的classpath 下放置一個jndi.properties 文件
     
    注意:在單獨的tomcat和J2SE里不能調用EJB Local 接口,因為他與JBOSS 不在同一個VM 中。J2se中調用EJB3 同樣需要把上述jar EJB 接口放置在應用的類路徑下。
    posted on 2007-07-20 14:51 冰封的愛 閱讀(351) 評論(0)  編輯  收藏 所屬分類: J2EE
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(3)

    隨筆檔案

    文章分類

    文章檔案

    相冊

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲日韩乱码中文字幕| 亚洲大香人伊一本线| 一区二区在线视频免费观看| 在线观看国产情趣免费视频| MM1313亚洲国产精品| 国产一区二区视频免费| 免费视频成人国产精品网站| 亚洲国产V高清在线观看| 国产精品免费αv视频| 亚洲精品国产美女久久久| 国产在线观看无码免费视频| 久久亚洲精品成人| 最近新韩国日本免费观看| 亚洲伊人久久大香线蕉影院| 国产精品久久久久久久久久免费| 亚洲人成电影网站色| 亚洲AV成人精品日韩一区18p| 四虎永久在线精品免费一区二区| 久久久久亚洲av毛片大| 国产精品免费观看调教网| 亚洲综合久久1区2区3区 | 久久水蜜桃亚洲AV无码精品| 日韩免费视频网站| 日日躁狠狠躁狠狠爱免费视频| 亚洲日韩乱码中文无码蜜桃臀网站 | 久久精品国产精品亚洲蜜月| 永久看日本大片免费35分钟| 亚洲乱妇老熟女爽到高潮的片| 免费a级毛片18以上观看精品| 在线免费观看伊人三级电影| 亚洲精品成人久久| 免费99热在线观看| 久久免费的精品国产V∧| 亚洲中文字幕无码mv| 国产亚洲精品看片在线观看| 84pao国产成视频免费播放| 亚洲AV日韩AV永久无码色欲| 亚洲啪啪AV无码片| 四虎成人免费影院网址| a级成人毛片免费图片| 亚洲精品无码你懂的|