reportsearchsupport.java

来自「短信开发用于文件交换处理转发的类模块」· Java 代码 · 共 46 行

JAVA
46
字号
package com.sms.platform.switchcenter.support;

import org.apache.log4j.Logger;

import com.sms.platform.switchcenter.parameter.BerkeleyDBParameter;
import com.sms.platform.switchcenter.parameter.SenderParameter;
import com.sms.protocol.standard12.Standard_Inner_Report;
import com.sms.protocol.standard12.Standard_Inner_Response;

public class ReportSearchSupport extends Support{
	
	public static Logger log = Logger.getLogger(ReportSenderSupport.class);

	public ReportSearchSupport(){
	}

	protected boolean resolve() {
		
		SenderParameter sp = SenderParameter.getInstance();
		Standard_Inner_Report sir = (Standard_Inner_Report) super.inner;
        if (sir.getDesClientID() == 0) {
        	
            // 查询Response队列,找到相应的response,获得ClientID
            Standard_Inner_Response sre = new Standard_Inner_Response();
            sre.setMessageID(sir.getMessageID());
            sre.setSrcClientID(sir.getSrcClientID());
            int stat = BerkeleyDBParameter.getInstance().getRespQueue().searchPop(sre);
            if (stat == 0) {
                sir.setSequenceId(sre.getSequenceId());
                sir.setDesClientID(sre.getDesClientID());                   
                log.debug("search  DesClientID : " + sir.getDesClientID()
                        + "   SequenceId : " + sir.getSequenceId()
                        + "   messageID : " + sir.getMessageID());
            } else {
                log.debug(" no search Response, stat : " + stat + "   " + sir);
//              非第一次没有找到,插入到重发队列,一小时后被执行下一次
                return false;
            }
        }
		return true;
	}
	
	protected void fail(){
		
	}	
}

⌨️ 快捷键说明

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