欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
第一個(gè)EJB3.0范例
 

第一個(gè)EJB3.0范例


 

20047月,EJB專(zhuān)家委員會(huì )公布了新的EJB3.0規范草本。2004107號,JBoss發(fā)布了支持EJB3.0的第一個(gè)預覽版本jboss-EJB-3.0_Preview_1。2004115號,JBoss發(fā)布了支持EJB3.0的第二個(gè)預覽版本jboss-EJB-3.0_Preview_2。

我們來(lái)完成第一個(gè)EJB3.0程序。

搭配環(huán)境

實(shí)現EJB3.0的環(huán)境要求使用JBossjboss-4.0.1RC1(已經(jīng)有了RC2)和JDK1.5及更高版本。jboss-4.0.1RC1可以在www.jboss.org上下載,JDK1.5可以在java.sun.com得到。我們在windows環(huán)境下使用,所以下載相應windows版本。

首先安裝JDK。下載jdk-1_5_0_01-windows-i586-p.exe,安裝至相應目錄,我安裝至D:\Program Files\Java\jdk1.5.0_01。然后配置環(huán)境。在我的電腦->屬性->高級->環(huán)境變量->系統變量中,設置JAVA_HOMED:\Program Files\Java\jdk1.5.0_01,Path中將D:\Program Files\Java\jdk1.5.0_01\bin;寫(xiě)在最前。

下載jboss-4.0.1RC1.zip,直接解壓縮到D:\jboss4下。相同方法設置JBOSS_HOMED:\jboss4。

由于用到ant,所以還需要取得Apache Ant相關(guān)執行程序。在Apache服務(wù)器,WeblogicJbuilder等安裝目錄下可以找到,最好版本較高。我使用JBuilder2005下的,路徑為D:\Borland\JBuilder2005\thirdparty\ant\bin;仍然設置在系統變量的Path中,寫(xiě)在JDK路徑之后。(注意:如果ant版本較低將編譯時(shí)報錯,我的為Apache Ant version 1.6.2 compiled on July 16 2004)。

     
還要用到jboss-EJB-3.0_Preview_2包,可以在www.jboss.org得到。解壓后包括docs,lib兩個(gè)文件夾和RELEASE_NOTES.txtINSTALL.html兩個(gè)說(shuō)明文件。Docs文件夾中有主頁(yè)文件index.html,包括了EJB3.0的規范草本ejb-3_0-edr-spec.pdf,指南文件夾tutorial(包括范例說(shuō)明文件和源文件),配置說(shuō)明文件夾referenceHibernate3的文件夾。Lib文件夾是部署EJB3.0環(huán)境所需要的ejb3-interceptors-aop.xmlejb3.deployer。

     
運行簡(jiǎn)單的EJB3.0范例,我們只需要將ejb3-interceptors-aop.xmlejb3.deployer文件夾拷貝到D:\jboss4\server\all\deploy下即可。

   
我們將范例部署在all下,所以運行JBoss時(shí)我們使用

   Run –c all

   
啟動(dòng)JBoss后我們就完成了環(huán)境的配置。

編寫(xiě)程序

   Docs
文件夾下提供了許多EJB3.0各個(gè)方面的范例。我們以無(wú)狀態(tài)bean為例運行范例。

   
無(wú)狀態(tài)bean范例在stateless文件夾下。包括了存放源文件的src和運行配置文件build.xml,JNDI配置文件jndi.properties和說(shuō)明文件stateless.html。

   
源文件包括Calculator.java ,CalculatorBean.java ,CalculatorLocal.java, CalculatorRemote.java Client.java。

   
EJB3.0環(huán)境下編寫(xiě)無(wú)狀態(tài)bean時(shí)很容易的。所有的bean類(lèi)型就是homeless所以只需要創(chuàng )建一個(gè)bean類(lèi)和實(shí)現至少一個(gè)接口。

CalculatorBean.java我們聲明一個(gè)無(wú)狀態(tài)bean只需要聲明為 @Stateless,EJB容器就會(huì )部署這個(gè)類(lèi)為無(wú)狀態(tài)bean。

import javax.ejb.Stateless;

@Stateless

public class CalculatorBean implements CalculatorRemote, CalculatorLocal

{

  public int add(int x, int y)

  {

     return x + y;

  }

  public int subtract(int x, int y)

  {

     return x - y;

  }

}

這個(gè)CalculatorBean實(shí)現了兩個(gè)接口。一個(gè)是remote,一個(gè)是local?,F在在EJB3.0中你可以?xún)H僅實(shí)現一個(gè)remote,一個(gè)local或兩個(gè)都實(shí)現。



CalculatorRemote.java定義Calculator bean remote接口你僅僅需要標識其為@Remote。

import javax.ejb.Remote;



@Remote

public interface CalculatorRemote extends Calculator

{

}

同樣在CalculatorLocal.java你也僅僅需要標識一個(gè)@Local就可以定義Calculator bean local接口

import javax.ejb.Local;



@Local

public interface CalculatorLocal extends Calculator

{

}

Calculator bean
需要兩個(gè)JNDI的綁定分別對應@Remote @Local接口。默認的,JBoss使用接口的全名作為JNDI的名字。這使得你可以容易的調用CalculatorRemote.class.getName()來(lái)查找一個(gè)JNDI名字對應的引用。

Client.java中你可以發(fā)現是使用remote接口的全名來(lái)查找無(wú)狀態(tài)bean,也可以注意到并不存在HOME接口。

import org.jboss.tutorial.stateless.bean.Calculator;

import org.jboss.tutorial.stateless.bean.CalculatorRemote;

import javax.naming.InitialContext;



public class Client

{

  public static void main(String[] args) throws Exception

  {

     InitialContext ctx = new InitialContext();

     Calculator calculator = (Calculator) ctx.lookup(CalculatorRemote.class.getName());



     System.out.println("1 + 1 = " + calculator.add(1, 1));

     System.out.println("1 - 1 = " + calculator.subtract(1, 1));

  }

}

現在你可以直接執行這個(gè)無(wú)狀態(tài)bean了。

運行結果

 
這個(gè)實(shí)例使用ant機制運行,所以需要配置build.xml。不同的build.xml中需要設置不同的run參數中的classname

  <target name="run" depends="ejbjar">

     <java classname="org.jboss.tutorial.stateless.client.Client" fork="yes" dir=".">

        <classpath refid="classpath"/>

     </java>

  </target>

JNDI
的配置相同jndi.properties

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

java.naming.provider.url=localhost



   
打開(kāi)命令運行窗口,到范例目錄下,如

D:\jboss-EJB-3.0_Preview_2\docs\tutorial\stateless
,鍵入命令ant編譯文件。編譯成功會(huì )顯示:BUILD SUCCESSFUL。

成功編譯后會(huì )目錄下會(huì )多一個(gè)build目錄,為編譯后的class文件和tutorial.ejb3的文件。

然后運行 ant run,執行程序,我們可以看到:

Buildfile: build.xml

prepare:

compile:

ejbjar:

run:

    [java] 2005-01-12 15:07:25,296 INFO org.jboss.remoting.InvokerRegistry[main

] - Failed to load soap remoting transport: org/apache/axis/AxisFault

    [java] 1 + 1 = 2

    [java] 1 - 1 = 0

BUILD SUCCESSFUL

Total time: 3 seconds



其中的信息

[java] 2005-01-12 15:07:25,296 INFO org.jboss.remoting.InvokerRegistry[main

] - Failed to load soap remoting transport: org/apache/axis/AxisFault

JBoss的一個(gè)bug,我們可以不去關(guān)心。他們會(huì )在下一版本改進(jìn)。



至此,我完成了一個(gè)EJB3.0的范例。我們可以發(fā)現EJB3.0帶給我們的驚喜。我們不必再去配置大量繁瑣的部署描述和復雜的接口。相信更多的EJB3.0的驚喜在等待著(zhù)我們去發(fā)掘。

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
EJB入門(mén)基礎
應聘Java筆試時(shí)可能出現問(wèn)題及其答案(第二版part three)
EJB3.0中JNDI的綁定和多通路傳輸
EJB 3.0簡(jiǎn)介
java筆試題大匯總(二)
EJB3與EJB2架構對比
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久