JBoss+Ant實現EJB無狀態會話bean執行個體

來源:互聯網
上載者:User

標籤:jboss   ant   ejb   

        EJB分為session bean、entity bean、message-driven bean,session bean又分為無狀態會話bean和有狀態會話bean。

   session bean負責與用戶端互動,是編寫商務邏輯的地方,在session bean中可以通過jdbc直接操作資料庫,但大多數情況下都是通過entity bean來完成對資料庫的操作的。

   平常,我們使用最多的是無狀態bean,因為它的bean執行個體可供多個使用者使用,所以它的效能比有狀態bean高。正因為一個bean執行個體被多個使用者使用。那麼,前一個使用者佈建的值有可能被後一個使用者所修改,所以它無法正確儲存某個使用者佈建的值,因為是無狀態的。下面用一個JBoss+Ant實現EJB無狀態會話bean執行個體,協助大家初步認識EJB。

   1.建立一個普通的java項目,建立時引用jboss-4.2.3.GA\client目錄下的所有jar包;

   2.建立一個HelloWorld介面;

package cn.tgb.ejb3;public interface HelloWorld {public String sayHelloWorld(String name);}

       3.建立一個實現HelloWorld介面的實作類別;

package cn.tgb.ejb3.impl;import javax.ejb.Remote;import javax.ejb.Stateless;import cn.tgb.ejb3.HelloWorld;@Stateless@Remote(HelloWorld.class)public class HelloWorldBean implements HelloWorld {@Overridepublic String sayHelloWorld(String name) {return name + "說:你好,世界!";}}
        在HelloWorldBean類中,我們用註解Stateless註明當前類是無狀態的,用註解Remote註明當前類對外提供的遠端存取介面。
   4.在項目的src目錄下建立build.xml檔案,用Ant管理項目的構建過程;

<?xml version="1.0" encoding="UTF-8"?><project name="HelloWorld" basedir="."><property name="src.dir" value="${basedir}/src" /><property name="build.dir" value="${basedir}/build" /><property environment="env" /><property name="jboss.home" value="${env.JBOSS_HOME}" /><property name="jboss.server.config" value="default" /><path id="build.classpath"><fileset dir="${jboss.home}/client"><include name="*.jar" /></fileset></path><target name="prepare"><delete dir="${build.dir}" /><mkdir dir="${build.dir}" /></target><target name="compile" depends="prepare" description="編譯EJB工程"><javac srcdir="${src.dir}" destdir="${build.dir}"><classpath refid="build.classpath" /></javac></target><target name="ejbjar" depends="compile" description="EJB工程打包"><jar jarfile="${basedir}/${ant.project.name}.jar"><fileset dir="${build.dir}"><include name="**/*.class" /></fileset></jar></target><target name="deploy" depends="ejbjar" description="發布EJB工程"><copy file="${basedir}/${ant.project.name}.jar" todir="${jboss.home}/server/${jboss.server.config}/deploy" /></target><target name="undeploy" description="卸載EJB"><delete file="${jboss.home}/server/${jboss.server.config}/deploy/${ant.project.name}.jar" /></target></project>
    5.在eclipse的Outline視窗選中deploy,右鍵run as Ant build,執行此操作後,Ant會在當前項目根目錄和jboss-4.2.3.GA\server\default\deploy目錄產生項目的jar檔案;

   6.啟動JBoss伺服器;

   7.在其它項目中通過JNDI調用EJB無狀態會話bean提供的方法;

package com.tgb.test;import java.util.Properties;import javax.naming.InitialContext;import javax.naming.NamingException;import cn.tgb.ejb3.HelloWorld;public class EJBClient {public static void main(String[] args) {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");try {InitialContext ctx = new InitialContext(props);HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");System.out.println(helloworld.sayHelloWorld("北京"));} catch (NamingException e) {System.out.println(e.getMessage());}}}
       到此,我們完成了EJB無狀態會話bean的執行個體建立過程,希望能協助大家進步。

JBoss+Ant實現EJB無狀態會話bean執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.