2004騫?鏈堬紝EJB涓撳濮斿憳浼氬叕甯冧簡鏂扮殑EJB3.0瑙勮寖鑽夋湰銆?004騫?0鏈?鍙鳳紝JBoss鍙戝竷浜嗘敮鎸丒JB3.0鐨勭涓涓瑙堢増鏈琷boss-EJB-3.0_Preview_1銆?004騫?1鏈?鍙鳳紝JBoss鍙戝竷浜嗘敮鎸丒JB3.0鐨勭浜屼釜棰勮鐗堟湰jboss-EJB-3.0_Preview_2銆?br /> 鎴戜滑鏉ュ畬鎴愮涓涓狤JB3.0紼嬪簭銆?br /> 鎼厤鐜
瀹炵幇EJB3.0鐨勭幆澧冭姹備嬌鐢↗Boss鐨刯boss-4.0.1RC1錛堝凡緇忔湁浜哛C2錛夊拰JDK1.5鍙婃洿楂樼増鏈俲boss-4.0.1RC1鍙互鍦╳ww.jboss.org涓婁笅杞斤紝JDK1.5鍙互鍦╦ava.sun.com寰楀埌銆傛垜浠湪windows鐜涓嬩嬌鐢紝鎵浠ヤ笅杞界浉搴攚indows鐗堟湰銆?br /> 棣栧厛瀹夎JDK銆備笅杞絡dk-1_5_0_01-windows-i586-p.exe錛屽畨瑁呰嚦鐩稿簲鐩綍錛屾垜瀹夎鑷矰:\Program Files\Java\jdk1.5.0_01銆傜劧鍚庨厤緗幆澧冦傚湪鎴戠殑鐢佃剳->灞炴?>楂樼駭->鐜鍙橀噺->緋葷粺鍙橀噺涓紝璁劇疆JAVA_HOME錛滵:\Program Files\Java\jdk1.5.0_01錛孭ath涓皢D:\Program Files\Java\jdk1.5.0_01\bin;鍐欏湪鏈鍓嶃?br /> 涓嬭澆jboss-4.0.1RC1.zip錛岀洿鎺ヨВ鍘嬬緝鍒癉:\jboss4涓嬨傜浉鍚屾柟娉曡緗甁BOSS_HOME錛滵:\jboss4銆?br /> 鐢變簬鐢ㄥ埌ant錛屾墍浠ヨ繕闇瑕佸彇寰桝pache Ant鐩稿叧鎵ц紼嬪簭銆傚湪Apache鏈嶅姟鍣?Weblogic鎴朖builder絳夊畨瑁呯洰褰曚笅鍙互鎵懼埌錛屾渶濂界増鏈緝楂樸傛垜浣跨敤JBuilder2005涓嬬殑錛岃礬寰勪負D:\Borland\JBuilder2005\thirdparty\ant\bin;浠嶇劧璁劇疆鍦ㄧ郴緇熷彉閲忕殑Path涓紝鍐欏湪JDK璺緞涔嬪悗銆傦紙娉ㄦ剰錛氬鏋渁nt鐗堟湰杈冧綆灝嗙紪璇戞椂鎶ラ敊錛屾垜鐨勪負Apache Ant version 1.6.2 compiled on July 16 2004錛夈?br /> 聽 聽 聽 榪樿鐢ㄥ埌jboss-EJB-3.0_Preview_2鍖咃紝鍙互鍦╳ww.jboss.org寰楀埌銆傝В鍘嬪悗鍖呮嫭docs錛宭ib涓や釜鏂囦歡澶瑰拰RELEASE_NOTES.txt鍜孖NSTALL.html涓や釜璇存槑鏂囦歡銆侱ocs鏂囦歡澶逛腑鏈変富欏墊枃浠秈ndex.html,鍖呮嫭浜咵JB3.0鐨勮鑼冭崏鏈琫jb-3_0-edr-spec.pdf錛屾寚鍗楁枃浠跺すtutorial錛堝寘鎷寖渚嬭鏄庢枃浠跺拰婧愭枃浠訛級錛岄厤緗鏄庢枃浠跺すreference鍜孒ibernate3鐨勬枃浠跺す銆侺ib鏂囦歡澶規槸閮ㄧ講EJB3.0鐜鎵闇瑕佺殑ejb3-interceptors-aop.xml鍜宔jb3.deployer銆?br /> 聽 聽 聽 榪愯綆鍗曠殑EJB3.0鑼冧緥錛屾垜浠彧闇瑕佸皢ejb3-interceptors-aop.xml鍜宔jb3.deployer鏂囦歡澶規嫹璐濆埌D:\jboss4\server\all\deploy涓嬪嵆鍙?br /> 聽 聽鎴戜滑灝嗚寖渚嬮儴緗插湪all涓嬶紝鎵浠ヨ繍琛孞Boss鏃舵垜浠嬌鐢?br /> 聽 聽Run 鈥揷 all
聽 聽鍚姩JBoss鍚庢垜浠氨瀹屾垚浜嗙幆澧冪殑閰嶇疆銆?br /> 緙栧啓紼嬪簭
聽 聽Docs鏂囦歡澶逛笅鎻愪緵浜嗚澶欵JB3.0鍚勪釜鏂歸潰鐨勮寖渚嬨傛垜浠互鏃犵姸鎬乥ean涓轟緥榪愯鑼冧緥銆?br /> 聽 聽鏃犵姸鎬乥ean鑼冧緥鍦╯tateless鏂囦歡澶逛笅銆傚寘鎷簡瀛樻斁婧愭枃浠剁殑src鍜岃繍琛岄厤緗枃浠禸uild.xml錛孞NDI閰嶇疆鏂囦歡jndi.properties鍜岃鏄庢枃浠秙tateless.html銆?br /> 聽 聽婧愭枃浠跺寘鎷珻alculator.java 錛孋alculatorBean.java 錛孋alculatorLocal.java錛?CalculatorRemote.java 鍜孋lient.java銆?br /> 聽 聽鍦‥JB3.0鐜涓嬬紪鍐欐棤鐘舵乥ean鏃跺緢瀹規槗鐨勩傛墍鏈夌殑bean綾誨瀷灝辨槸homeless鎵浠ュ彧闇瑕佸垱寤轟竴涓猙ean綾誨拰瀹炵幇鑷沖皯涓涓帴鍙c?br /> 鍦–alculatorBean.java鎴戜滑澹版槑涓涓棤鐘舵乥ean鍙渶瑕佸0鏄庝負 @Stateless錛孍JB瀹瑰櫒灝變細閮ㄧ講榪欎釜綾諱負鏃犵姸鎬乥ean銆?br /> 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;
聽 }
}
榪欎釜CalculatorBean瀹炵幇浜嗕袱涓帴鍙c備竴涓槸remote錛屼竴涓槸local銆傜幇鍦ㄥ湪EJB3.0涓綘鍙互浠呬粎瀹炵幇涓涓猺emote錛屼竴涓猯ocal鎴栦袱涓兘瀹炵幇銆?br />
鍦–alculatorRemote.java瀹氫箟Calculator bean 鐨剅emote鎺ュ彛浣犱粎浠呴渶瑕佹爣璇嗗叾涓篅Remote銆?br /> import javax.ejb.Remote;
@Remote
public interface CalculatorRemote extends Calculator
{
}
鍚屾牱鍦–alculatorLocal.java浣犱篃浠呬粎闇瑕佹爣璇嗕竴涓狜Local灝卞彲浠ュ畾涔塁alculator bean 鐨刲ocal鎺ュ彛
import javax.ejb.Local;
@Local
public interface CalculatorLocal extends Calculator
{
}
Calculator bean闇瑕佷袱涓狫NDI鐨勭粦瀹氬垎鍒搴擛Remote 鍜孈Local鎺ュ彛銆傞粯璁ょ殑錛孞Boss浣跨敤鎺ュ彛鐨勫叏鍚嶄綔涓篔NDI鐨勫悕瀛椼傝繖浣垮緱浣犲彲浠ュ鏄撶殑璋冪敤CalculatorRemote.class.getName()鏉ユ煡鎵句竴涓狫NDI鍚嶅瓧瀵瑰簲鐨勫紩鐢ㄣ?br /> 鍦–lient.java涓綘鍙互鍙戠幇鏄嬌鐢╮emote鎺ュ彛鐨勫叏鍚嶆潵鏌ユ壘鏃犵姸鎬乥ean錛屼篃鍙互娉ㄦ剰鍒板茍涓嶅瓨鍦℉OME鎺ュ彛銆?br /> 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));
聽 }
}
鐜板湪浣犲彲浠ョ洿鎺ユ墽琛岃繖涓棤鐘舵乥ean浜嗐?br /> 榪愯緇撴灉
聽 榪欎釜瀹炰緥浣跨敤ant鏈哄埗榪愯錛屾墍浠ラ渶瑕侀厤緗産uild.xml銆備笉鍚岀殑build.xml涓渶瑕佽緗笉鍚岀殑run鍙傛暟涓殑classname錛?br /> 聽 <target name="run" depends="ejbjar">
聽 聽 聽<java classname="org.jboss.tutorial.stateless.client.Client" fork="yes" dir=".">
聽 聽 聽 聽 <classpath refid="classpath"/>
聽 聽 聽</java>
聽 </target>
JNDI鐨勯厤緗浉鍚宩ndi.properties錛?br /> java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost
聽 聽鎵撳紑鍛戒護榪愯紿楀彛錛屽埌鑼冧緥鐩綍涓嬶紝濡?br /> D:\jboss-EJB-3.0_Preview_2\docs\tutorial\stateless錛岄敭鍏ュ懡浠nt緙栬瘧鏂囦歡銆傜紪璇戞垚鍔熶細鏄劇ず錛欱UILD SUCCESSFUL銆?br /> 鎴愬姛緙栬瘧鍚庝細鐩綍涓嬩細澶氫竴涓猙uild鐩綍錛屼負緙栬瘧鍚庣殑class鏂囦歡鍜宼utorial.ejb3鐨勬枃浠躲?br /> 鐒跺悗榪愯 ant run錛屾墽琛岀▼搴忥紝鎴戜滑鍙互鐪嬪埌錛?br /> 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
鍏朵腑鐨勪俊鎭?br /> [java] 2005-01-12 15:07:25,296 INFO org.jboss.remoting.InvokerRegistry[main
] - Failed to load soap remoting transport: org/apache/axis/AxisFault
鏄疛Boss鐨勪竴涓猙ug錛屾垜浠彲浠ヤ笉鍘誨叧蹇冦備粬浠細鍦ㄤ笅涓鐗堟湰鏀硅繘銆?br />
鑷蟲錛屾垜瀹屾垚浜嗕竴涓狤JB3.0鐨勮寖渚嬨傛垜浠彲浠ュ彂鐜癊JB3.0甯︾粰鎴戜滑鐨勬儕鍠溿傛垜浠笉蹇呭啀鍘婚厤緗ぇ閲忕箒鐞愮殑閮ㄧ講鎻忚堪鍜屽鏉傜殑鎺ュ彛銆傜浉淇℃洿澶氱殑EJB3.0鐨勬儕鍠滃湪絳夊緟鐫鎴戜滑鍘誨彂鎺樸?/span>
|