在開發ejb之前,我們先得配置好服務器,我使用的是Weblogic9.0中文版,關于Weblogic9.0配置請看我的另一片文章。
配置Weblogic9.0???
??? 首先需要配置好eclipse。我這里主要說明weblogic的配置。
????

???
注意JDK選擇JDK5.0的版本。???
??? 順便將weblogic8的配置也貼上來,供大家比較參考
???

???
???
注意weblogic8的JDK版本必須是JDK1.4。???
??? 接下來就開始我們的開發了。





下面就是SessionBean的代碼

30
?1?package?com.ejb;
?2?
?3?import?java.rmi.RemoteException;
?4?
?5?import?javax.ejb.EJBException;
?6?import?javax.ejb.SessionBean;
?7?import?javax.ejb.SessionContext;
?8?
?9?/**
10??*?XDoclet-based?session?bean.??The?class?must?be?declared
11??*?public?according?to?the?EJB?specification.
12??*
13??*?To?generate?the?EJB?related?files?to?this?EJB:
14??*????????-?Add?Standard?EJB?module?to?XDoclet?project?properties
15??*????????-?Customize?XDoclet?configuration?for?your?appserver
16??*????????-?Run?XDoclet
17??*
18??*?Below?are?the?xdoclet-related?tags?needed?for?this?EJB.
19??*?
20??*?@ejb.bean?name="HelloWorld"
21??*???????????display-name="Name?for?HelloWorld"
22??*???????????description="Description?for?HelloWorld"
23??*???????????jndi-name="ejb/HelloWorld"
24??*???????????type="Stateless"
25??*???????????view-type="remote"
26??*/
27?public?class?HelloWorld?implements?SessionBean?{
28?
29?????/**?The?session?context?*/
30?????private?SessionContext?context;
31?
32?????public?HelloWorld()?{
33?????????super();
34?????????//?TODO?自動生成構造函數存根
35?????}
36?
37?????/**
38??????*?Set?the?associated?session?context.?The?container?calls?this?method?
39??????*?after?the?instance?creation.
40??????*?
41??????*?The?enterprise?bean?instance?should?store?the?reference?to?the?context?
42??????*?object?in?an?instance?variable.
43??????*?
44??????*?This?method?is?called?with?no?transaction?context.?
45??????*?
46??????*?@throws?EJBException?Thrown?if?method?fails?due?to?system-level?error.
47??????*/
48?????public?void?setSessionContext(SessionContext?newContext)
49?????????throws?EJBException?{
50?????????context?=?newContext;
51?????}
52?
53?????public?void?ejbRemove()?throws?EJBException,?RemoteException?{
54?????????//?TODO?自動生成方法存根
55?
56?????}
57?
58?????public?void?ejbActivate()?throws?EJBException,?RemoteException?{
59?????????//?TODO?自動生成方法存根
60?
61?????}
62?
63?????public?void?ejbPassivate()?throws?EJBException,?RemoteException?{
64?????????//?TODO?自動生成方法存根
65?
66?????}
67?
68?????/**
69??????*?An?example?business?method
70??????*
71??????*?@ejb.interface-method?view-type?=?"remote"
72??????*?
73??????*?@throws?EJBException?Thrown?if?method?fails?due?to?system-level?error.
74??????*/
75?????public?String?hello()?throws?EJBException?{
76?????????//?rename?and?start?putting?your?business?logic?here
77?????????return?new?String("HelloEJBWorld!");
78?????}
79?
80?}
81?其實就是修改了其中的一個方法:
?1?/**
?2??????*?An?example?business?method
?3??????*
?4??????*?@ejb.interface-method?view-type?=?"remote"
?5??????*?
?6??????*?@throws?EJBException?Thrown?if?method?fails?due?to?system-level?error.
?7??????*/
?8?????public?String?hello()?throws?EJBException?{
?9?????????//?rename?and?start?putting?your?business?logic?here
10?????????return?new?String("HelloEJBWorld!");
11?????}
注意:代碼中的解釋文字不要刪除,因為XDoclet需要。配置屬性

添加weblogic.jar。我的路徑是:bea\weblogic90\server\lib\weblogic.jar










就下來寫EJBTest類:
?1?package?com;
?2?
?3?import?java.rmi.RemoteException;
?4?import?java.util.Properties;
?5?
?6?import?javax.ejb.CreateException;
?7?import?javax.naming.Context;
?8?import?javax.naming.InitialContext;
?9?import?javax.naming.NamingException;
10?
11?import?com.interfaces.HelloWorld;
12?import?com.interfaces.HelloWorldHome;
13?
14?public?class?EJBTest?{
15?
16?????/**
17??????*?@param?args
18??????*/
19?????public?static?void?main(String[]?args)?{
20?????????//?TODO?自動生成方法存根
21?????????Properties?properties=new?Properties();
22?????????properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
23?????????properties.setProperty(Context.PROVIDER_URL,"t3://localhost:7001");
24?????????
25?????????Context?context;
26?????????try?{
27?????????????context?=?new?InitialContext(properties);
28?????????????HelloWorldHome?hwh=(HelloWorldHome)context.lookup("ejb/HelloWorld");
29?????????????HelloWorld?hw=hwh.create();
30?????????????String?s=hw.hello();
31?????????????System.out.println(s);
32?????????}?catch?(NamingException?e)?{
33?????????????//?TODO?自動生成?catch?塊
34?????????????e.printStackTrace();
35?????????}?catch?(RemoteException?e)?{
36?????????????//?TODO?自動生成?catch?塊
37?????????????e.printStackTrace();
38?????????}?catch?(CreateException?e)?{
39?????????????//?TODO?自動生成?catch?塊
40?????????????e.printStackTrace();
41?????????}
42?????????
43?????}
44?
45?
46?}
47?
最后就是看結果了,先啟動weblogic,然后運行EJBTest程序。
posted on 2006-08-14 10:13
xzc 閱讀(419)
評論(0) 編輯 收藏 所屬分類:
Eclipse