当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>J2EE

在不同平台下部署J2EE连接器和J2EE应用

  开发访问资源适配器的EJB组件

  EJB组件通过资源适配器来访问EIS,在EJB组件中,定义了最终客户端要使用的业务方法,一般实现为会话Bean,它一般通过和多个J2EE组件或者资源适配器交互来完成具体的业务逻辑。在这个案例中,EJB组件的功能非常简单,就是接收最终客户端的请求,然后通过资源适配器调用EIS并获得结果,最终把结果返回给客户端。

  EJB组件定义了一个业务方法,它的远程接口的代码如例程1所示。

  例程1 EJB组件的远程接口

1 例程1 EJB组件的远程接口
2 package com.hellking.jca.ejb;
3 import java.rmi.RemoteException;
4 import javax.ejb. * ;
5 public interface Demo extends EJBObject
6 {
7    public String sayHello(String arg) throws RemoteException;
8 }
9

  在这个接口里,定义了一个业务方法,就是sayHello(String name)。我们来看EJB组件的实现类部分代码,如例程2所示。

  例程2 EJB实现类的部分代码

1 例程2 EJB实现类的部分代码
2 package com.hellking.jca.ejb;
3 import ….
4 public class DemoEJB implements SessionBean
5 {
6    private SessionContext sessionCtx;
7   
8    // 业务方法
9    public String sayHello(String arg) throws Exception
10    {
11       System.out.println( " echo, arg= " + arg);
12       String result = "" ;      
13        try
14       {
15          InitialContext iniCtx = new InitialContext();
16          Context enc = (Context) iniCtx.lookup( " java:comp/env " );
17          Object ref = enc.lookup( " eis/DemoEISFactory " ); // 获得连接工厂
18          ConnectionFactory dcf = (ConnectionFactory) ref;
19          DemoConnection dc = (DemoConnection) dcf.getConnection(); // 从连接工厂创建连接
20          result = dc.sayHello(arg); // 调用虚拟连接的业务方法
21          dc.close(); // 使用完,关闭虚拟的连接。
22       }
23        catch (NamingException e)
24       {
25          System.err.println( " 在查找JNDI名字时遇到错误: " + e);
26       }
27        return result; // 返回调用的结果
28    }
29
30 }
31

  以上代码是典型的使用资源适配器的方法,首先通过JNDI来查找连接工厂实例(这个实例由应用服务器自动绑定),然后从这个连接工厂获得连接实例,接下来从连接实例调用业务方法,最后关闭连接。

共7页 首页 上一页 1 2 3 4 5 6 7 下一页 尾页 跳转到
相关内容
赞助商链接