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