在图16窗口中,注重勾选“Include Local Interface”项。
图17 创建EnterPRise javaBean完成后的摘要信息
选择“完成”,则编辑区效果如下:
图18 EJB Diagram图中被创建的session Bean
6.2 为HelloSessionEJB类添加业务处理方法
鼠标双击图中的HelloSessionEJB类图,将出现下面的对话框:
图19 EJB模块属性编辑窗口
选择“Add”按钮,进行业务处理方法的添加:
图20 业务方法参数设置窗口
输入sayHello方法名及该方法返回值的数据类型等参数,然后选择“确定”按钮。
6.3 调整图形元素的尺寸大小
图21 调整图形大小操作
6.4 为会话Bean的sayHello方法编写实现代码
具体操作如下:
图22 查看HelloSessionEJB组件的实现代码操作
为sayHello方法添加以下代码:
public String sayHello()
{
return "Hello, world";
}
6.5 修改HelloSessionEJBBean.java的部分代码
对类HelloSessionEJBBean中的代码作如下修改:
SessionContext ctx; //添加
public void setSessionContext(SessionContext ctx)
{
this.ctx = ctx; //添加
}
7、验证和测试Hello Session Bean
7.1 验证EJB
验证的作用:通过EJB验证,可发现由于手工修改代码造成的接口声明和实现代码不一致的错误,从而防止编译、发布和运行期间可能出现的错误。
具体验证操作如下:
图23 验证EJB组件操作
查看结果:
图24 查看验证操作的结果
通过观察上述窗口中的信息,说明操作没有错误和可疑之处。
7.2 建立EJB组件的客户端测试程序
具体操作如下:
图25 新建EJB组件测试程序操作
出现:
图26 测试程序运行容器类型设置窗口
这里,选择Connect to OC4J Embedded in JDeveloper,即客户端测试程序及所用的EJB组件将在嵌入的OC4J容器中运行。
若选择第二项,则可将EJB组件发布到远程应用服务器,并试图在远程服务器中运行客户端测试程序;当然,此时。远程应用服务器应已经启动。
7.3 修改客户端测试程序
将客户端测试程序中的语句
// helloSessionEJB.sayHello( );
前的注释去掉,修改如下:
String s = helloSessionEJB.sayHello( );
System.out.println("结果:" + s);
8、编译和运行程序
8.1 编译程序
图27 程序编译操作
8.2 发布EJB组件
在JDeveloper 10g中,将Enterprise JavaBean组件发布到内嵌的OC4J应用服务器十分方便,发布(Deploy)操作不需要建立发布描述文件以及进行打包操作;只需运行EJB组件即可,如下图所示:
图28 EJB组件的发布
选择运行命令之后,JDeveloper将自动启动OC4J应用服务器,并发布上述HelloSessionEJB组件到该服务器,具体信息在Embedded OC4J Server窗口中显示如下:
[Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
……
[waiting for the server to complete its initialization...]
……
04/11/21 00:15:04 Auto-deploying - compiling and loading...
……
Embedded OC4J startup time: 193137 ms.
……
All EJBs are sUCcessfully deployed.
查看最后一句话,说明EJB组件被正确发布了。
8.3 运行客户端测试程序
运行HelloSessionEJBClient.java程序,查看运行结果:
图29 测试程序运行结果
说明EJB组件客户端程序正确地调用了Hello Session Bean的sayHello方法。
9、结束语
通过上述操作,读者可以看出,在JDeveloper 10g开发工具中设计、开发和测试EJB组件具有直观和易于操作的特性,尤其,在EJB组件发布时,既不需要编写用于发布的xml文件,也不需要把握WebLogic或JBoss等应用服务器软件的使用方法。这种特性,使得应用开发者可将更多的精力投入到应用系统的设计和开发中去,从而,可大大提高开发效率。