当前位置:七道奇文章资讯编程技术Java编程
日期:2011-01-26 02:54:00  来源:本站整理

<b>在差别平台下安置J2EE衔接器和J2EE操纵</b>[Java编程]

赞助商链接



  本文“<b>在差别平台下安置J2EE衔接器和J2EE操纵</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  开辟拜候资源适配器的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来查找衔接工厂实例(这个实例由利用服务器自动绑定),然后从这个衔接工厂得到衔接实例,接下来从衔接实例调用业务办法,最后关闭衔接.

1 例程3  JSP客户端
2 <%@ page contentType="text/html;charset=gb2312" import="com.hellking.jca.ejb.*,javax.naming.*"%>
3 <html><body><form><table><tr><td>请输入名字:
4 </td><td><input name=name type=text></td></tr>
5 <tr><td><input value=submit type=submit></td></tr></table></form>
6 <%
7 String name=(String)request.getParameter("name");
8 try
9 {
10 InitialContext context=new InitialContext();
11 DemoHome home=(DemoHome)javax.rmi.PortableRemoteObject.narrow(
12                 context.lookup("ejb/demo"),DemoHome.class);
13 Demo demo=home.create();
14 if(demo!=null)out.println("demo is ok");
15 out.println("调用ejb-->jca-->eis");
16 out.println("发送了:hellking,返回以下的值:<hr><font color=red>");
17 out.println(demo.sayHello(name));
18 out.println("</font>");
19 out.flush();
20   }
21   catch(Exception e)
22   {
23   }
24 %></body></html>
25

  普通的java客户端和JSP基本一样,只是需求指定相关的属性才能得到InitialContext实例.可以通过以下的办法得到InitialContext实例.

  例程4 在普通的Java客户端得到InitialContext实例

1 例程4 在普通的Java客户端得到InitialContext实例
2 //成立初始的上下文环境
3 public Client()
4 {
5     context=this.getInitialContext();
6 }
7 public InitialContext getInitialContext()
8     {
9         try
10         {
11             Properties p=new Properties();
12             p.load(new FileInputStream("config.properties"));
13             return new InitialContext(p);
14         }
15         catch(Exception e)
16         {
17             System.out.println("got ee");
18             e.printStackTrace();
19             return null;
20         }
21      }
22

  Java客户端的具体代码见src/client/Client.java文件.

  下面介绍装配和布置的相关问题.


  以上是“<b>在差别平台下安置J2EE衔接器和J2EE操纵</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .