liurunyu
9 天以前 4f99f59668c9160ca60958b7347944def26f2228
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/rmi/RmiFrameWorkImpl.java
New file
@@ -0,0 +1,78 @@
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("此方法未实现") ;
   }
}