RMI Java中的ClassNotFoundException

时间:2012-05-18 06:25:45

标签: java rmi

我不能让编译器找到我想要的课正是这样: ctx.rebind("MyInterfaceImplementacja", ref);。我能帮你纠正一下吗?

package Pakiet;
import java.rmi.Remote;
import java.rmi.RemoteException;

public interface MyInterface extends Remote {
public String echo(String napis) throws RemoteException;
public int dodaj(int wrt1, int wrt2) throws RemoteException;
}

package Pakiet;

import java.rmi.RemoteException;
import javax.rmi.PortableRemoteObject;

public class MyInterfaceImplementacja extends PortableRemoteObject implements MyInterface {
  protected MyInterfaceImplementacja() throws RemoteException {
    super();
  }

  @Override
  public String echo(String napis) throws RemoteException {
    return "echo" + napis;
  }

  @Override
  public int dodaj(int wrt1, int wrt2) throws RemoteException {
    return wrt1 + wrt2;
  }
}

public class MyInterfaceSerwer {
  public static void main(String[] args) {
    try{
      MyInterfaceImplementacja ref = new MyInterfaceImplementacja();
      Context ctx = new InitialContext();
      ctx.rebind("MyInterfaceImplementacja", ref);      
    }catch(Exception e){e.printStackTrace();}
  }
}

1 个答案:

答案 0 :(得分:0)

试试这个

  1. 将Implementation类扩展为UnicastRemoteObject而不是PortableRemoteObject。

  2. 在你的重新绑定方法中使用rmi

    ctx.rebind(“rmi:MyInterfaceImplementacja”,ref);

  3. 请将此信息保留在以下指导原则以供将来使用

    向下投票

    如果您正在尝试实施RMI。请按照以下步骤操作 试试这个....  在服务器端:

    1. 创建扩展java.rmi.Remote接口的接口//由客户端和服务器共享

    2. 创建接口的实现类,并将其扩展为UnicastRemoteObject

    3. 现在创建具有重新绑定方法的Server类。

      在客户端:

    4. 创建扩展java.rmi.Remote接口的接口//由客户端和服务器共享

    5. 创建具有查找方法的Client类。

      例如:   在服务器上

      Car.java //界面

      CarImpl.java //实施类

      CarServer.java //服务器类

      在客户端

      Car.java //界面

      CarClient.java //客户端类