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

📄 test.java

📁 短信开发用于文件交换处理转发的类模块
💻 JAVA
字号:
package com.sms.platform.switchcenter.inner.reportrespqueue;

import java.io.File;

import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;

import com.sms.protocol.standard12.Standard_Inner_Response;

public class Test {
	
	private static Logger log = Logger.getLogger(Test.class);
    static {
        PatternLayout layout = null;
        ConsoleAppender consoleAppender = null;
        layout = new PatternLayout("%d %5p [%t] (%F:%L) - %m%n");
        consoleAppender = new ConsoleAppender(layout, "System.out");
        org.apache.log4j.BasicConfigurator.configure(consoleAppender);
    }
    
    public Test() throws Exception{
    	
    	ReportRespQueue respQueue = new ReportRespQueue();
        
		try {
			path = createDirectory(path);
		} catch (Exception e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}
        String name = "respQueue";
        if (respQueue.open(path, name) != 0)
            return;   
        if(LogLevel == 0){
        	log.setLevel(org.apache.log4j.Level.DEBUG);
        } else if(LogLevel == 1){
        	log.setLevel(org.apache.log4j.Level.INFO);
        } else if(LogLevel == 2){
        	log.setLevel(org.apache.log4j.Level.WARN);
        } else if(LogLevel == 3){
        	log.setLevel(org.apache.log4j.Level.ERROR);
        } else {
        	log.setLevel(org.apache.log4j.Level.DEBUG);
        }
        
        while(true){

        //put
        for(int i = Count ; i >= 1; i--){
        	Standard_Inner_Response sir = null;
        	sir = new Standard_Inner_Response();
        	sir.setSequenceId(i);
        	sir.setMessageID(i+"");
        	sir.setSrcClientID(1);
        	sir.setState(0);
        	int state = respQueue.put(sir);
        	if(log.isDebugEnabled())
        	log.debug("Put " + i + " " + sir.getMessageID()+"|"+sir.getSrcClientID()+"|"+sir.getSequenceId()+"|"+sir.getState()+"|" + state);
        }
        log.error("Put count : " + respQueue.count());
        log.info("====================================================================");
        
//        Thread.sleep(10000);
        
        //pop
    	for(int i = Count ; i >= 1 ; i--){
    		Standard_Inner_Response sir = null;
    		sir = respQueue.pop();
    		if(log.isDebugEnabled())
    		log.debug("Pop " + i + " " + sir.getMessageID()+"|"+sir.getSrcClientID()+"|"+sir.getSequenceId()+"|"+sir.getState());
    	}
    	log.error("Pop count : " + respQueue.count());
    	log.info("====================================================================");
        
        for(int i = Count ; i >= 1; i--){
        	Standard_Inner_Response sir = null;
        	sir = new Standard_Inner_Response();
        	sir.setSequenceId(i);
        	sir.setMessageID(i+"");
        	sir.setSrcClientID(1);
        	sir.setState(0);
        	int state = respQueue.put(sir);
        	if(log.isDebugEnabled())
        	log.debug("Put " + i + " " + sir.getMessageID()+"|"+sir.getSrcClientID()+"|"+sir.getSequenceId()+"|"+sir.getState()+"|" + state);
        }
        log.error("Put count : " + respQueue.count());
        log.info("====================================================================");
    	
    	
        for(int i = Count ; i >= 1 ; i--){
        	Standard_Inner_Response sir = null;
        	sir = new Standard_Inner_Response();
        	sir.setSequenceId(i);
        	sir.setMessageID(i+"");
        	sir.setSrcClientID(1);
        	int state = respQueue.searchPop(sir);
        	log.debug("searchPop " + i + " " + sir.getMessageID()+"|"+sir.getSrcClientID()+"|"+sir.getSequenceId()+"|"+sir.getState() + "|" + state);
        }
        log.error("searchPop count : " + respQueue.count());
        log.info("====================================================================");
        
        for(int i = Count ; i >= 1; i--){
        	Standard_Inner_Response sir = null;
        	sir = new Standard_Inner_Response();
        	sir.setSequenceId(i);
        	sir.setMessageID(i+"");
        	sir.setSrcClientID(1);
        	sir.setState(0);
        	int state = respQueue.put(sir);
        	if(log.isDebugEnabled())
        	log.debug("Put " + i + " " + sir.getMessageID()+"|"+sir.getSrcClientID()+"|"+sir.getSequenceId()+"|"+sir.getState()+"|" + state);
        }
        log.error("Put count : " + respQueue.count());
        log.info("====================================================================");
        
        for(int i = Count ; i >= 1; i--){
        	Standard_Inner_Response sir = (Standard_Inner_Response)respQueue.dropFirstTimeout(Clear);
        	if(sir == null){
        		i++;
        		Thread.sleep(100);
        	} else {
        		log.info("Drop " + i + " " + sir.getMessageID()+"|"+sir.getSrcClientID()+"|"+sir.getSequenceId()+"|"+sir.getState());
        	}
        }
        log.error("drop count : " + respQueue.count());
        log.info("====================================================================");
        System.gc();
        log.info("Thread.sleep(1000000000)");
        Thread.sleep(1000000000);
        
        	log.warn("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
        }
        

    }
    
    public static String createDirectory(String path) throws Exception {

        File file = new File(path);
        if (!file.exists()) {
            log.debug("Mkdir : " + file.mkdir() + "  path : " + path );
        }
        log.debug(file.getAbsolutePath());
        return file.getAbsolutePath();
    }
    
    static String path = "./TestQueue";
    static int Count = 500;
    static int Clear = 10;
    static int LogLevel = 0;
    
	public static void main(String [] args){
		
        try {
    		Count = Integer.parseInt(args[0]);
	    } catch (Exception ex) {
	    }
        try {
        	Clear = Integer.parseInt(args[1]);
	    } catch (Exception ex) {
	    }
        try {
        	LogLevel = Integer.parseInt(args[2]);
	    } catch (Exception ex) {
	    }
        try {
        	path = args[3];
	    } catch (Exception ex) {
	    }
	    
		
		try{
			new Test();
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
    
}

⌨️ 快捷键说明

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