gpt4 book ai didi

java - Servlet 上的 wait() 抛出异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:53:34 25 4
gpt4 key购买 nike

我在 Jboss 应用程序服务器中运行一个 Web 应用程序,我正在尝试实现来自服务器的基于事件的响应。

为了实现这一点,我在 servlet 类上使用了 .wait() 和 .notify()。基本上有一个 Ajax 请求,servlet 会阻塞 wait 直到服务器上有一个事件,如果有,notify 会在 servlet 上触发。

问题是当我在 Servlet 上执行 wait(1000*60) 时,我得到:

Servlet.service() for servlet ProcessesServlet threw exception: java.lang.IllegalMonitorStateException

甚至可以在 HttpServlet 类上执行 wait() 吗?

最佳答案

在等待对象之前,您必须取得所有权。

这通常使用同步语句完成。

    synchronized (obj) {
try {
obj.wait(someTime);
} catch (Throwable e) {
e.printStackTrace();
}
}

关于java - Servlet 上的 wait() 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10953913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com