图解eclipse+myelcipse开发EJB 在开发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 declared11 * 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 properties15 * - Customize XDoclet configuration for your appserver16 * - Run XDoclet17 *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 method70 *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 here77 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程序。
转载请注明原文地址: https://ibbs.8miu.com/read-8787.html