主题 : 3.0.2采集 不正确 使用咯 ThreadLocal !
级别: 白丁
UID: 13825
积分:3 加为好友
威望: 0 精华: 0
主题:0 回复:3
注册时间:2010-12-24
在线时长:0
1#   发表于:2011-01-08 16:19:44  IP:58.73.*.*
 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。
  ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。 

一个servlet 是一个线程  但是在采集的时候调用另一个B线程去做采集任务 B线程不能获得servlet线程里的局部变量
级别: 白丁
UID: 31
积分:209 加为好友
威望: 0 精华: 0
主题:2 回复:167
注册时间:2009-06-03
在线时长:0
2#   发表于:2011-01-24 09:21:16  IP:59.137.*.*
谢谢您的报告,这个问题已经修复,会在下一版本发布。

将request放入ThreadLocal的本意是为了解决生成静态页的问题。这个在正常情况下生成静态页的时候是有效的。原来采集的时候是不生成静态页的,在3.0.2改为采集后就生成静态页,而采集是开启了另外的线程来处理的,所以就出现了这个bug。
1 共1页