[原创]在Weblogic8上注册并启动RMI程序.

Junglesong 发表于 2007-11-10 12:14:13

1.做两个类Ruler和RulerImpl.
import java.rmi.Remote;

public interface Ruler extends Remote {
    
public String getLength(String str) throws java.rmi.RemoteException;
}

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

import javax.naming.Context;
import javax.naming.InitialContext;

public class RulerImpl extends UnicastRemoteObject implements Ruler {
    
public RulerImpl() throws RemoteException{
        
super();
    }


    
public String getLength(String str) throws java.rmi.RemoteException {
                 
// 这里用Sb是因为weblogic的1.4的jdk不认StringBuilder
        StringBuffer sb=new StringBuffer();
        sb.append(
"String:");
        sb.append(str);
        sb.append(
"'s length=");
        sb.append(str.length());
        
        
return sb.toString();
    }

    
    
public static void main(String[] args){
        
try{
            RulerImpl rulerImpl
=new RulerImpl();
            
            Context ctx
=new InitialContext();
            ctx.bind(
"StringRuler", rulerImpl);
        }

        
catch(Exception ex){
            ex.printStackTrace();
        }

    }

}

2.用rmic编译Ruler.class和RulerImpl.class 以生成桩类RulerImpl_Stub.class.
c:>C:\jdk1.5.0_09\bin\rmic RulerImpl.

3.将生成的RulerImpl_Stub.class以及原有的Ruler.class和RulerImpl.class拷贝到服务器的目标域中,本人机器上的是C:\bea\user_projects\domains\mydomain

4.通过http://localhost:7001/console 进入Weblogic控制台,并按 yourdomain->Deployment->Startup&Shutdown->Configure a New Startup Class 注册启动类.完毕后结果如下图:


5.重新启动Server(Start Server)

6.通过客户端测试一下:
import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;

public class RulerClient{
    
public static void main(String[] args) throws Exception{
        Hashtable env
=new Hashtable();
        env.put(Context.INITIAL_CONTEXT_FACTORY, 
"weblogic.jndi.WLInitialContextFactory");
        env.put(Context.PROVIDER_URL,
"t3://localhost:7001");
        
        InitialContext ctx
=new InitialContext(env);
        
        Object o
=ctx.lookup("StringRuler");
        Ruler ruler
=(Ruler)o;
        System.out.println(ruler.getLength(
"123"));
    }

}

测试结果为:
String:123's length=3

代码下载(rmic 目录中包括三个已生成类):
http://www.blogjava.net/Files/sitinspring/RmiExample20071106220750.rar
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定