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("此方法未实现") ; 
 | 
    } 
 | 
     
 | 
  
 | 
} 
 |