java – wait()on Servlet抛出异常

前端之家收集整理的这篇文章主要介绍了java – wait()on Servlet抛出异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Jboss应用服务器上运行一个Web应用程序,我正在尝试从服务器实现事件库响应.

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

问题是当我在Servlet上等待(1000 * 60)时,我得到:

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

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

解决方法

在等待对象之前,您必须拥有所有权.

这通常是使用synchronized语句完成的.

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

猜你在找的Java相关文章