保存到threadlocal里的变量一定要主动清除,否则一直会存放在threadlocal变量里,正确的用法是这个样子 try{ threadlocal.set(xxx); } finally { threadlocal.set(null); }