分布式对象001

大体分四部分:客户端---RMI注册表---服务器---Web服务器

一、客户端:

import java.rmi.*;

public interface Warehouse extends Remote

{

         double getPrice(String description) throws RemoteException;

}

 

二、服务器端:

import java.rmi.*;

import java.rmi.server.*;

import javar.util.*;

public class WarehouseImpl extends UnicastRemoteObject implements Warehouse

{

     public WarehouseImple() throws RemoteException

      {

            prices = new HashMap<String, Double>();

            prices.put("BLL",23.2);

            prices.put("LLL",24.1);

      }

 

     public double getPrice(String description) throws RemoteException

      {

          Double price = prices.get(description);

          return price==null?0:price;

      }

 

      private Map<String, Double> prices;

}

三、RMI注册

import java.rmi.*;

import javax.naming.*;

public class WarehouseServer

{

       public static void main(String[] args) throws RemoteException, NamingException

        {

             WarehouseImpl central = new WarehouseImpl();

             Context namingContext = new InitialContext();

             namingContext.bind("rmi:central_warehouse", central);

        }

}

四、客户端调用

import java.rmi.*;

import java.util.*;

import javax.naming.*;

public class WarehouseClient

{

      public static void main(String[] args)throws NamingExcepion, RemoteException

          {

                Context namingContext = new InitialContext();

                String uri="rmi://localhost/central_warehouse";

                Warehouse central = (Warehouse) namingContext.lookup(uri);

 

                String description ="LLL";

                double price=central.getPrice(description);

                System.out.println(description+"="+price);  

           }

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值