-1

我不能让编译器找到我想要的类 正是这个: 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();}
  }
}
4

1 回答 1

0

尝试这个

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

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

    ctx.rebind("rmi:MyInterfaceImplementacja", ref);

保持以下指南以备将来使用

否决票

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

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

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

  3. 现在创建具有 rebind 方法的 Server 类。

    在客户端:

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

  5. 创建具有查找方法的客户端类。

    例如:在服务器上

    Car.java // 接口

    CarImpl.java // 实现类

    CarServer.java // 服务器类

    在客户端

    Car.java // 接口

    CarClient.java // 客户端类

于 2012-05-18T07:31:31.980 回答