BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          我的開發環境是eclipse 3.4 + glassfish-v2

          ?

          1。下載安裝glassfish-v2,具體步驟就不說了,此處省略500字。。。

          2。運行asadmin start-appserv啟動應用服務器。

          3。登陸admin console, http://localhost:4848


          ?

          4。創建eclipse project



          ?

          從%glassfish_home%/lib中找到javaee.jar和appserv-rt.jar這兩個文件,加入到project Libraries中。


          ?

          5。編寫HelloWorld EJB

          ?

          IHelloWorld.java (remote interface):

          package ejb;
          
          import javax.ejb.Remote;
          
          @Remote
          public interface IHelloWorld
          {
          	public String sayHello();
          }

          ?

          HelloWorld.java (stateless session bean)

          package ejb;
          
          import javax.ejb.Stateless;
          
          @Stateless(name="HelloWorldBean", mappedName="ejb/HelloWorldBeanJNDI")
          public class HelloWorld implements IHelloWorld
          {
          	public String sayHello()
          	{
          		return ("Hello World! This is my first EJB3 Stateless SessionBean!");
          	}
          }

          ?

          mappedName定義了HelloWorld的jndi name,稍后客戶端測試程序需要用這個名字來做lookup。

          ?

          6。編寫ant build.xml

          <?xml version="1.0"?>
          
          <project name="helloWorld" default="deploy" basedir=".">
          	<property name="build.dir" value="${basedir}/class"/>
          	<property name="glassfish.home" value="F:/glassfish-v2ur2"/>
          	<property name="deploy.dir" value="${glassfish.home}/domains/domain1/autodeploy"/>
          
          	<target name="jar">
          		<jar destfile="helloWorld.jar">
          			<fileset dir="${build.dir}">
          				<include name="ejb/*.class"/>
          			</fileset>
          		</jar>
          	</target>
          	
          	<target name="deploy" depends="jar">
          		<copy file="${basedir}/helloWorld.jar" todir="${deploy.dir}"/>
          	</target>
          </project>

          ?

          7。打包,部署。

          ?

          運行build.xml,把程序打包成helloWorld.jar并拷貝到glassfish的自動部署目錄。如果部署成功,在glassfish的admin console中,Applications->EJB Modules下面可以找到我們的HelloWorldBean。如果程序中沒有設置mappedName,去Application Server->General->JNDI Browsing也可以找到對應的jndi name。



          ?

          8。編寫客戶端測試程序。

          package test;
          
          import javax.naming.InitialContext;
          import ejb.IHelloWorld;
          
          public class Test
          {
          	public void runTest() throws Exception
          	{
          		InitialContext ctx = new InitialContext();
          		IHelloWorld bean = (IHelloWorld)ctx.lookup("ejb/HelloWorldBeanJNDI");
          		System.out.println(bean.sayHello());
          	}
          
          	public static void main(String[] args)
          	{
          		try
          		{
          			Test t = new Test();
          			t.runTest();
          		}
          		catch(Exception e)
          		{
          			e.printStackTrace();
          		}
          	}
          }

          ?

          運行測試程序,成功打印出: Hello World! This is my first EJB3 Stateless SessionBean!

          ?

          感覺ejb3比ejb2少了一堆繁瑣的文件和xml配置,而且支持pojo風格的編程,開發效率和可移植性都比以前要好得多。



          已有 0 人發表留言,猛擊->>這里<<-參與討論


          JavaEye推薦



          主站蜘蛛池模板: 道真| 金寨县| 宣化县| 开化县| 天气| 来安县| 德兴市| 思茅市| 正镶白旗| 舒兰市| 凤阳县| 德惠市| 新闻| 张北县| 景洪市| 彭山县| 石门县| 友谊县| 交口县| 雅江县| 红安县| 乌海市| 湘潭市| 霸州市| 宜城市| 罗源县| 玉门市| 横峰县| 嵩明县| 瑞昌市| 曲松县| 前郭尔| 全南县| 增城市| 中江县| 镇原县| 延川县| 道孚县| 阿坝县| 滨州市| 定陶县|