📄 test.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 + -