⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataqueue.java

📁 一种采用java语言实现缓存的方法,用于weblogic websphere
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    synchronized (m_DataBuffer[m_taskno]) {
      HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_DataBuffer[
          m_taskno].get(MAX_DATA_BUFFER_NUM_1);
      int m_Limit = m_HeadPointInfo.getLimit();
      int m_Index = m_HeadPointInfo.getIndex();

      if (m_Index == m_Limit) {
        return null;
      }

      m_Index++;
      if (m_Index > MAX_DATA_BUFFER_NUM_1 - 1) {
        m_Index = 0;

      }
      m_meterData = (meterData) m_DataBuffer[m_taskno].get(m_Index);
      m_HeadPointInfo.putIndex(m_Index);
      m_HeadPointInfo.putLimit(m_Limit);
//      CFunction.writeLog("dataqueue",
//          "----get,m_Index:"+m_Index+"m_Limit:"+m_Limit,null);

      m_DataBuffer[m_taskno].set(MAX_DATA_BUFFER_NUM_1,
                                 m_HeadPointInfo);

      m_SynFlag = 1;
    }

    if (m_SynFlag <= 0) {
      CFunction.writeLog("dataqueue",
                         "getDataBuffer In DataQueue synchronized Error ", null);
      return null;
    }

    return m_meterData;
  }

  /*
    public static int getDisplayBufferNum() {
      int m_Num = 0;
      int m_SynFlag = -1;
      synchronized (m_DisplayBuffer) {
        HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_DisplayBuffer.get(
            CollectorDefine.MAX_DISPLAY_DATA_NUM);
        int m_DisplayLimit = m_HeadPointInfo.getLimit();
        int m_DisplayIndex = m_HeadPointInfo.getIndex();
        if (m_DisplayLimit >= m_DisplayIndex) {
          m_Num = m_DisplayLimit - m_DisplayIndex;
        }
        else {
          m_Num = CollectorDefine.MAX_DISPLAY_DATA_NUM - m_DisplayIndex +
              m_DisplayLimit;
        }
        m_SynFlag = 1;
      }
      if (m_SynFlag <= 0) {
        CFunction.writeLog("dataqueue",
       "getDisplayBufferNum In DataQueue synchronized Error ", null);
        return -1;
      }
      return m_Num;
    }
   */

  public synchronized static int getDisplayBufferNum() {
    int m_SynFlag = -1;
    meterData m_meterData = null;
    //int m_SynFlag = -1;
    int size = 0;
    size = CollectorDefine.displayDatas.size();

    return CollectorDefine.displayDatas.size();
  }

  /*
    public static int putDisplayBuffer(meterData m_pmeterData) {
      int m_SynFlag = -1;
      synchronized (m_DisplayBuffer) {
        HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_DisplayBuffer.get(
            CollectorDefine.MAX_DISPLAY_DATA_NUM);
        int m_DisplayLimit = m_HeadPointInfo.getLimit();
        int m_DisplayIndex = m_HeadPointInfo.getIndex();
        int m_DisplayLimit1 = m_DisplayLimit + 1;
        if (m_DisplayLimit1 >= CollectorDefine.MAX_DISPLAY_DATA_NUM) {
          m_DisplayLimit1 = 0;
        }
        if (m_DisplayLimit1 == m_DisplayIndex) {
          //CFunction.writeLog( " 严重错误:显示缓冲区已满" );
          return -1;
        }
        meterData m_meterData = (meterData) m_DisplayBuffer.get(
            m_DisplayLimit1);
        m_meterData.copymeterData(m_pmeterData);
        m_DisplayBuffer.set(m_DisplayLimit1, m_meterData);
        m_HeadPointInfo.putIndex(m_DisplayIndex);
        m_HeadPointInfo.putLimit(m_DisplayLimit1);
       m_DisplayBuffer.set(CollectorDefine.MAX_DISPLAY_DATA_NUM, m_HeadPointInfo);
        m_SynFlag = 1;
      }
      if (m_SynFlag <= 0) {
        CFunction.writeLog("dataqueue",
       "putDisplayBuffer In DataQueue synchronized Error ", null);
        return -1;
      }
      return 1;
    }
   */

  public synchronized static int putDisplayBuffer(meterData m_pmeterData) {
    int m_SynFlag = -1;
    meterData m_meterData = null;
    //int m_SynFlag = -1;
    int size = 0;
    size = CollectorDefine.displayDatas.size();
    if (size > 400) {
      return -1;
    }

    CollectorDefine.displayDatas.addLast(m_pmeterData);

    return 1;

  }

  public synchronized static meterData getDisplayBuffer() {
    meterData m_meterData = null;
    //int m_SynFlag = -1;
    int size = 0;
    size = CollectorDefine.displayDatas.size();
    if (size <= 0) {
      return null;
    }

    return (meterData) CollectorDefine.displayDatas.removeFirst();

  }

  /*
    public static meterData getDisplayBuffer() {
      meterData m_meterData = null;
      int m_SynFlag = -1;
      synchronized (m_DisplayBuffer) {
        HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_DisplayBuffer.get(
            CollectorDefine.MAX_DISPLAY_DATA_NUM);
        int m_DisplayLimit = m_HeadPointInfo.getLimit();
        int m_DisplayIndex = m_HeadPointInfo.getIndex();
        if (m_DisplayIndex == m_DisplayLimit) {
          return null;
        }
        m_DisplayIndex++;
        if (m_DisplayIndex >= CollectorDefine.MAX_DISPLAY_DATA_NUM) {
          m_DisplayIndex = 0;
        }
        m_meterData = (meterData) m_DisplayBuffer.get(m_DisplayIndex);
        //                  CFunction.writeLog("gettDisplayBuffer : m_meterData = " +m_meterData.toString() );
        m_HeadPointInfo.putIndex(m_DisplayIndex);
        m_HeadPointInfo.putLimit(m_DisplayLimit);
       m_DisplayBuffer.set(CollectorDefine.MAX_DISPLAY_DATA_NUM, m_HeadPointInfo);
        m_SynFlag = 1;
      }
      if (m_SynFlag <= 0) {
        CFunction.writeLog("dataqueue",
       "getDisplayBuffer In DataQueue synchronized Error ", null);
        return null;
      }
      return m_meterData;
    }
   */
  public static int getFinishTaskBufferNum() {
    int m_SynFlag = -1;
    int m_Num = 0;
    synchronized (m_FinishTaskBuffer) {
      HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_FinishTaskBuffer.get(
          CollectorDefine.MAX_FINISH_TASK_NUM);
      int m_Limit = m_HeadPointInfo.getLimit();
      int m_Index = m_HeadPointInfo.getIndex();

      if (m_Limit >= m_Index) {
        m_Num = m_Limit - m_Index;
      }
      else {
        m_Num = CollectorDefine.MAX_FINISH_TASK_NUM - m_Index + m_Limit;

      }
      m_FinishTaskBuffer.set(CollectorDefine.MAX_FINISH_TASK_NUM,
                             m_HeadPointInfo);

      m_SynFlag = 1;
    }

    if (m_SynFlag <= 0) {
      CFunction.writeLog("dataqueue",
          "getFinishTaskBufferNum In DataQueue synchronized Error ", null);
      return -1;
    }

    return m_Num;

  }

  public static int putFinishTaskBuffer(int m_taskno, long m_termid,
                                        long m_facid) {
    if (m_taskno >= CollectorDefine.MAX_THREAD_NUM || m_taskno < 0) {
//      CFunction.writeLog("dataqueue"," putFinishTaskBuffer In DataQueue Error #1, facno:" +
//                         m_taskno, null);
      return -1;
    }
    if (m_termid < 0 || m_facid <= 0) {
      CFunction.writeLog("dataqueue",
          " putFinishTaskBuffer In DataQueue Error #2, m_termid:" + m_termid, null);
      return -1;
    }

// wj add
//    m_taskno = m_taskno /10;
//
    int m_SynFlag = -1;
    synchronized (m_FinishTaskBuffer) {
      HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_FinishTaskBuffer.get(
          CollectorDefine.MAX_FINISH_TASK_NUM);
      int m_Limit = m_HeadPointInfo.getLimit();
      int m_Index = m_HeadPointInfo.getIndex();

      int m_Limit1 = m_Limit + 1;
      if (m_Limit1 >= CollectorDefine.MAX_FINISH_TASK_NUM) {
        m_Limit1 = 0;

      }
      if (m_Limit1 == m_Index) {
        CFunction.writeLog("dataqueue",
                           " putFinishTaskBuffer In DataQueue Error #3, facno:" +
                           m_taskno, null);
        return -1;
      }

      FinishTaskInfo m_FinishTaskInfo = (FinishTaskInfo) m_FinishTaskBuffer.get(
          m_Limit1);
      m_FinishTaskInfo.setTerminalId(m_termid);
      m_FinishTaskInfo.setFacId(m_facid);
      m_FinishTaskInfo.setTaskNo(m_taskno);
      m_FinishTaskBuffer.set(m_Limit1, m_FinishTaskInfo);

      m_HeadPointInfo.putIndex(m_Index);
      m_HeadPointInfo.putLimit(m_Limit1);

      m_FinishTaskBuffer.set(CollectorDefine.MAX_FINISH_TASK_NUM,
                             m_HeadPointInfo);

      m_SynFlag = 1;
    }

    if (m_SynFlag <= 0) {
      CFunction.writeLog("dataqueue",
                         "putFinishTaskBuffer In DataQueue synchronized Error ", null);
      return -1;
    }

    return 1;

  }

  public static FinishTaskInfo getFinishTaskBuffer() {
    FinishTaskInfo m_FinishTaskInfo = null;
    int m_SynFlag = -1;
    synchronized (m_FinishTaskBuffer) {
      HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_FinishTaskBuffer.get(
          CollectorDefine.MAX_FINISH_TASK_NUM);
      int m_Limit = m_HeadPointInfo.getLimit();
      int m_Index = m_HeadPointInfo.getIndex();

      if (m_Index == m_Limit) {
        return null;
      }

      m_Index++;
      if (m_Index > CollectorDefine.MAX_FINISH_TASK_NUM - 1) {
        m_Index = 0;
      }
      m_FinishTaskInfo = (FinishTaskInfo) m_FinishTaskBuffer.get(m_Index);
// wj add
//      m_FinishTaskInfo.setTaskNo(m_FinishTaskInfo.getTaskNo()/10);
//

      m_HeadPointInfo.putIndex(m_Index);
      m_HeadPointInfo.putLimit(m_Limit);
      m_FinishTaskBuffer.set(CollectorDefine.MAX_FINISH_TASK_NUM,
                             m_HeadPointInfo);

      m_SynFlag = 1;
    }

    if (m_SynFlag <= 0) {
      CFunction.writeLog("dataqueue",
                         "getFinishTaskBuffer In DataQueue synchronized Error ", null);
      return null;
    }

    return m_FinishTaskInfo;
  }

  //SendedTaskBuffer
  public static int getSendedTaskBufferNum() {
    int m_SynFlag = -1;
    int m_Num = 0;
    synchronized (m_SendedTaskBuffer) {
      HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_SendedTaskBuffer.get(
          CollectorDefine.MAX_FINISH_TASK_NUM);
      int m_Limit = m_HeadPointInfo.getLimit();
      int m_Index = m_HeadPointInfo.getIndex();

      if (m_Limit >= m_Index) {
        m_Num = m_Limit - m_Index;
      }
      else {
        m_Num = CollectorDefine.MAX_FINISH_TASK_NUM - m_Index + m_Limit;

      }
      m_SendedTaskBuffer.set(CollectorDefine.MAX_FINISH_TASK_NUM,
                             m_HeadPointInfo);

      m_SynFlag = 1;
    }

    if (m_SynFlag <= 0) {
      CFunction.writeLog("dataqueue",
          "getFinishTaskBufferNum In DataQueue synchronized Error ", null);
      return -1;
    }

    return m_Num;
  }

  public static int putSendedTaskBuffer(long termid) {
    if (termid < 0) {
      CFunction.writeLog("dataqueue",
                         " putSendedTaskBuffer In DataQueue Error #1, termid:" +
                         termid, null);
      return -1;
    }

    int m_SynFlag = -1;
    synchronized (m_SendedTaskBuffer) {
      HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_SendedTaskBuffer.get(
          CollectorDefine.MAX_FINISH_TASK_NUM);
      int m_Limit = m_HeadPointInfo.getLimit();
      int m_Index = m_HeadPointInfo.getIndex();

      int m_Limit1 = m_Limit + 1;
      if (m_Limit1 >= CollectorDefine.MAX_FINISH_TASK_NUM) {
        CFunction.writeLog("dataqueue",
            " putSendedTaskBuffer In DataQueue Error #2, termid:" +
            termid, null);

        m_Limit1 = 0;
      }
      if (m_Limit1 == m_Index) {
        /*        CFunction.writeLog("dataqueue",
                    " putSendedTaskBuffer In DataQueue Error #2, termid:" +
                    termid, null);
         */
        return -1;
      }

      FinishTaskInfo m_FinishTaskInfo = (FinishTaskInfo) m_SendedTaskBuffer.get(
          m_Limit1);
      m_FinishTaskInfo.setTerminalId(termid);
      m_SendedTaskBuffer.set(m_Limit1, m_FinishTaskInfo);

      m_HeadPointInfo.putIndex(m_Index);
      m_HeadPointInfo.putLimit(m_Limit1);

      m_SendedTaskBuffer.set(CollectorDefine.MAX_FINISH_TASK_NUM,
                             m_HeadPointInfo);

      m_SynFlag = 1;
    }

    if (m_SynFlag <= 0) {
      CFunction.writeLog("dataqueue",
                         "putFinishTaskBuffer In DataQueue synchronized Error ", null);
      return -1;
    }

    return 1;

  }

  public static FinishTaskInfo getSendedTaskBuffer() {
    FinishTaskInfo m_FinishTaskInfo = null;
    int m_SynFlag = -1;
    synchronized (m_SendedTaskBuffer) {
      HeadPointInfo m_HeadPointInfo = (HeadPointInfo) m_SendedTaskBuffer.get(
          CollectorDefine.MAX_FINISH_TASK_NUM);
      int m_Limit = m_HeadPointInfo.getLimit();
      int m_Index = m_HeadPointInfo.getIndex();

      if (m_Index == m_Limit) {
        return null;
      }

      m_Index++;
      if (m_Index > CollectorDefine.MAX_FINISH_TASK_NUM - 1) {
        m_Index = 0;

      }
      m_FinishTaskInfo = (FinishTaskInfo) m_SendedTaskBuffer.get(m_Index);

      m_HeadPointInfo.putIndex(m_Index);
      m_HeadPointInfo.putLimit(m_Limit);
      m_SendedTaskBuffer.set(CollectorDefine.MAX_FINISH_TASK_NUM,
                             m_HeadPointInfo);

      m_SynFlag = 1;
    }

    if (m_SynFlag <= 0) {
      CFunction.writeLog("dataqueue",
                         "getFinishTaskBuffer In DataQueue synchronized Error ", null);
      return null;
    }

    return m_FinishTaskInfo;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -