Exemplo n.º 1
0
 public void getsendMessageNotimeOut(Integer keys, Object message) {
   IoSession session = getSession(keys);
   log.info("反向发送消息到客户端Session---key=" + keys + "----------消息=" + message);
   if (MemoryData.minaClientSendTime.get(keys) != null
       && new Date().getTime() - MemoryData.minaClientSendTime.get(keys).getTime() > 1000 * 60
       && session.isConnected()) {
     System.out.println("发送消息----------------------------");
     JsonConfig config = new JsonConfig();
     config.registerDefaultValueProcessor(Integer.class, new MyDefaultIntegerValueProcessor());
     JSONObject json = JSONObject.fromObject(message, config);
     log.info("转化后的json的内容:" + json);
     session.write(json);
   }
 }
Exemplo n.º 2
0
  public void getsendMessage(Integer keys, Object message) {
    log.info("SessionMap.map.size:" + map.size());

    IoSession session = getSession(keys);
    //		sdfdg(message);
    log.info("反向发送消息到客户端Session---key=" + keys + "----------消息=" + message);
    if (session == null || !session.isConnected()) {
      againSendMessage(keys, message);
      return;
    } else {
      log.info("发送消息----------------------------");
      JsonConfig config = new JsonConfig();
      config.registerDefaultValueProcessor(Integer.class, new MyDefaultIntegerValueProcessor());
      JSONObject json = JSONObject.fromObject(message, config);
      log.info("转化后的json的内容:" + json);
      session.write(json);
    }
  }
Exemplo n.º 3
0
  public void againSendMessage(Integer keys, Object message) {
    try {
      System.out.println("暂停5秒然后重新发送消息");
      TimeUnit.SECONDS.sleep(5);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    IoSession session = getSession(keys);
    if (session != null && session.isConnected()) {
      JsonConfig config = new JsonConfig();
      config.registerDefaultValueProcessor(Integer.class, new MyDefaultIntegerValueProcessor());
      JSONObject json = JSONObject.fromObject(message, config);
      System.out.println("转化后的json的内容:" + json);
      session.write(json);
    } else {
      MinaMessage msg = (MinaMessage) message;
      MemoryData.minaMessageMap.remove(msg.getTaskId());
      MemoryData.msgUserMap.remove(msg.getTaskId());
      String ipAddress = MemoryData.sysIpAddress.get(keys);
      if (ipAddress == null) {
        log.info("查询出的服务器为null,key值为" + keys + ",内容为:" + msg);
        log.info(message.toString());
      }
      // 插入表中
      //			InsertSmsMethod.insertSms(keys, ipAddress);
      Integer info = null;
      if (msg.getTypeId().equals(MinaExecute.CHECKLOG_URL)
          || msg.getTypeId().equals(MinaExecute.EDIT_SHELLFILE)) {
        info = ((MonitorSysPrograminfo) msg.getMsg()).getId();
      }
      FeedBack feedBack = new FeedBack();
      if (ActionContext.getContext() != null) {
        HttpServletRequest request = ServletActionContext.getRequest();
        MonitorSysContact user = (MonitorSysContact) request.getSession().getAttribute("user");
        feedBack.logReader("与" + ipAddress + "服务器的通信失败", user, info);

      } else {
        feedBack.allPush(new Date().toLocaleString() + "——与" + ipAddress + "服务器的通信失败");
        log.info("弹出提示:与" + ipAddress + "服务器的通信失败");
      }
    }
  }