| package com.dy.common.mw.channel.rmi; | 
|   | 
| import java.io.Serial; | 
| import java.rmi.RemoteException; | 
| import java.rmi.server.UnicastRemoteObject; | 
|   | 
| import com.dy.common.threadPool.ThreadPool; | 
| import com.dy.common.threadPool.TreadPoolFactory; | 
|   | 
| public class RmiFrameWorkImpl extends UnicastRemoteObject implements RmiFrameWork { | 
|   | 
|     @Serial | 
|     private static final long serialVersionUID = 201807220009001L; | 
|      | 
|     private RmiUnitAdapter adapter ; | 
|     /** | 
|      * 构造方法 | 
|      * @throws RemoteException 异常 | 
|      */ | 
|     protected RmiFrameWorkImpl(RmiUnitAdapter adapter) throws RemoteException { | 
|         super(); | 
|         this.adapter = adapter ; | 
|     } | 
|   | 
|     /** | 
|      * 同步请求 | 
|      * @param obj 命令参数 | 
|      * @return 返回命令结果 | 
|      * @throws RemoteException 异常 | 
|      */ | 
|     @Override | 
|     public Object syncRequest(Object obj) throws RemoteException { | 
|         if(obj == null){ | 
|             throw new RemoteException("严重错误,输入命令参数为空!") ; | 
|         } | 
|         return adapter.newRequestCallback().syncRequest(obj) ; | 
|     } | 
|      | 
|     /** | 
|      * 异步请求 | 
|      * @param obj 参数 | 
|      * @return 命令结果的ID,如果为空,则说明邮错 | 
|      * @throws RemoteException 异常 | 
|      */ | 
|     @Override | 
|     public String asyncRequest(Object obj) throws RemoteException { | 
|         try { | 
|             TreadPoolFactory.getThreadPoolShort().putJob(new ThreadPool.Job() { | 
|                 public void execute() throws RemoteException { | 
|                     throw new RemoteException("此方法未实现") ; | 
|                 } | 
|                 @Override | 
|                 public void destroy() { | 
|                 } | 
|                 @Override | 
|                 public boolean isDestroy() { | 
|                     return false; | 
|                 } | 
|                  | 
|             }); | 
|         }catch (RemoteException ee) { | 
|             throw ee ; | 
|         }catch (Exception e) { | 
|             e.printStackTrace(); | 
|         } | 
|         return null; | 
|     } | 
|   | 
|     /** | 
|      * 关闭服务的请求 | 
|      */ | 
|     @Override | 
|     public String shutRequest() throws RemoteException { | 
|         throw new RemoteException("此方法未实现") ; | 
|     } | 
|      | 
|   | 
| } |