Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
在client端使用jndi

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

假定在A机器(设IP为192.168.1.22)上部置EJB(ejb容器为JBOSS),其上有一无状态SessionBean First,First有一个方法   public java.lang.String sayHello( java.lang.String name ),First对应的jndi-name为"First".
在B机器上调用First的sayHello方法:
package test;

import java.rmi.RemoteException;
import java.util.Date;
import java.util.Hashtable;

import javax.ejb.CreateException;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**
 * @author <a href="mailto:[email protected]">starfire </a>
 * 
 */
public class TestFirst {

    private test.FirstHome getHome() throws NamingException {
        //First为jndi-name
        return (test.FirstHome) getContext().lookup("First");
    }

    private InitialContext getContext() throws NamingException {
        Hashtable props = new Hashtable();

        //不同容器的INITIAL_CONTEXT_FACTORY,PROVIDER_URL可能不一样
        props.put(InitialContext.INITIAL_CONTEXT_FACTORY,
                "org.jnp.interfaces.NamingContextFactory");
        props.put(InitialContext.PROVIDER_URL, "jnp://192.168.1.22:1099");

        InitialContext initialContext = new InitialContext(props);
        return initialContext;
    }

    public void testBean() {

        try {
            InitialContext context = getContext();
            //context.rebind("obj", new Date());
            //Object obj = context.lookup("obj");
            //System.out.println(obj);
            test.First myBean = getHome().create();

            //--------------------------------------
            //This is the place you make your calls.
            System.out.println(myBean.sayHello("hc"));

        } catch (RemoteException e) {
            e.printStackTrace();
        } catch (CreateException e) {
            e.printStackTrace();
        } catch (NamingException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        TestFirst test = new TestFirst();
        test.testBean();

    }
}




相关文章

相关软件