重新部署Web应用程序(java web-app,jboss 4)后跨线程的静态类成员

fv2wmkja  于 2022-11-08  发布在  Java
关注(0)|答案(1)|浏览(125)

在Web应用程序中,类的定义如下:

public class ThreadSession {
private static final int MAX_AVAILABLE = 1;
static private final Semaphore semaphore = new Semaphore(MAX_AVAILABLE, true);

则有一个或多个线程由以下操作创建:

class wsClientThread extends Thread {
public void run() { ... }

...

wsClientThread clientThread = new wsClientThread(clientSocket);
clientThread.start();

让我们将这些线程称为A、B ..
在这些线程中,访问ThreadSession.semaphore如预期的那样工作正常,但是在重新部署web应用程序(通过jboss 4.05)并重新加载我的index.jsp之后,在线程A、B、.. ThreadSession.semaphore中为空(但ThreadSession.MAX_AVAILABLE = 1)
不明白为什么会这样...有人能帮我吗?
感谢克里斯蒂安

3htmauhk

3htmauhk1#

经过几次测试,问题消失了,我认为这是由应用服务器(jboss 4)中的一些不稳定引起的

相关问题