xueli.xue 9 years ago
commit 16cb2560b5

@ -1,8 +1,10 @@
package com.xxl.controller;
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.apache.commons.lang.StringUtils;
import org.quartz.CronExpression;
@ -136,4 +138,60 @@ public class IndexController {
return "job/help";
}
private int simpleParam = 0;
private ThreadLocal<Integer> tlParam;
@RequestMapping("/beat")
@ResponseBody
public String beat() {
if (tlParam == null) {
tlParam = new ThreadLocal<Integer>();
}
if (tlParam.get() == null) {
tlParam.set(5000);
}
simpleParam++;
tlParam.set(tlParam.get() + 1);
long start = System.currentTimeMillis();
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
long end = System.currentTimeMillis();
return MessageFormat.format("cost:{0}, hashCode:{1}, simpleParam:{2}, tlParam:{3}",
(end - start), this.hashCode(), simpleParam, tlParam.get());
}
public static void main(String[] args) {
Runnable runa = new Runnable() {
private int simInt = 0;
private ThreadLocal<Integer> tlParam = new ThreadLocal<Integer>();
@Override
public void run() {
while (true) {
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (tlParam.get() == null) {
tlParam.set(0);
}
simInt++;
tlParam.set(tlParam.get()+1);
System.out.println(Thread.currentThread().hashCode() + ":simInt:" + simInt);
System.out.println(Thread.currentThread().hashCode() + ":tlParam:" + tlParam.get());
}
}
};
Thread t1 = new Thread(runa);
Thread t2 = new Thread(runa);
t1.start();
t2.start();
}
}

@ -0,0 +1,50 @@
package com.xxl.quartz;
/**
* common return
* @author xuxueli 2015-12-4 16:32:31
* @param <T>
*/
public class ReturnT<T> {
public static final ReturnT<String> SUCCESS = new ReturnT<String>(null);
public static final ReturnT<String> FAIL = new ReturnT<String>(500, null);
private int code;
private String msg;
private T content;
public ReturnT(int code, String msg) {
this.code = code;
this.msg = msg;
}
public ReturnT(T content) {
this.code = 200;
this.content = content;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getContent() {
return content;
}
public void setContent(T content) {
this.content = content;
}
@Override
public String toString() {
return "ReturnT [code=" + code + ", msg=" + msg + ", content="
+ content + "]";
}
}
Loading…
Cancel
Save