本地介面與遠程介面的無狀態SessionBean的實現

來源:互聯網
上載者:User

遠程介面調用ejb的過程:
首先用戶端需要與ejb建立起socket通訊,在通訊管道上他們之間需要來回傳送IIOP協議訊息,因為資料要在網路進行傳輸,存放資料的java對象必須要進行序列化。這個過程中,有網路通訊的開銷、協議解析的開銷、對象序列化的開銷。因為ejb是分布式技術,它允許用戶端與ejb應用在不同一機器上面,所以這些開銷也是必然的。

本地介面調用ejb的過程:
通過本地介面調用ejb,直接在記憶體互動,這樣就可以避免因網路通訊所造成的各種效能開銷。
注意:
1.只有用戶端與EJB應用都在同一個JVM內啟動並執行時候,我們才能調用本地介面,否則只能調用遠程介面。
2.只要用戶端與ejb發布在同一個jboss內,我們就認為它們在同一個JVM。
3.用戶端可以調用本地介面;也可調用遠程介面;當本地介面與遠程介面都有同一個方法時,優先調用本地介面中的方法。

開發一個自己的遠程介面的無狀態會話bean:
1.需要自己開發的EJB的組件.jar包。
注意:在實作類別中加入註解,綁定介面。
@Stateless、@Remote(HelloWorld.class) //為介面。
2.需要自己開發出的EJB的用戶端,並把用戶端工程打成.war檔案。
注意:用戶端所要知道的JNDI名稱,下面的HelloWorld 為遠程介面。
InitialContext ctx = new InitialContext();
HelloWorld helloWorld = (HelloWorld)ctx.lookup("HelloWorldBean/remote");
out.println(helloWorld.sayHello("荊州"));
3.把.jar和.war檔案拷貝到jboss的deploy區。
4.開啟瀏覽器,輸入自己開發出的EJB用戶端的.jsp頁面,即可。

開發一個自己的本地介面的無狀態會話bean:
1.需要自己開發的EJB的組件.jar包。
注意:在實作類別中加入註解,綁定介面。
@Stateless、@Local(HelloWorldLocal.class)//介面。
2.需要自己開發出的EJB的用戶端,並把用戶端工程打成.war檔案。
注意:用戶端所要知道的JNDI名稱,下面的HelloWorldLocal 為本地介面。
InitialContext ctx = new InitialContext();
HelloWorldLocal helloWorld = (HelloWorldLocal)ctx.lookup("HelloWorldLocalBean/local");
out.println(helloWorld.sayHello("荊州"));
3.把.jar和.war檔案拷貝到jboss的deploy區。
4.開啟瀏覽器,輸入自己開發出的EJB用戶端的.jsp頁面,即可。

Bean執行個體的兩種管理技術:
1.無狀態bean使用執行個體池技術管理bean;
2.有狀態bean使用啟用(activation)管理bean。

Jboss產生的JNDI名稱,預設命名規則如下:
如果把EJB應用打包成後題為.jar的模組檔案,預設的全域JNDI名稱是
本地介面:EJB-CLASS-NAME/local
遠程介面:EJB-CLASS-NAME/remote
例如:把EJB-HelloWorld(裡麵包含介面HelloWorld和實作類別HelloWorldBean)應用打包成EJB-HelloWorld.jar檔案,它的遠程介面的JNDI名稱是:HelloWorldBean/remote。

jndi.properties的配置:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.