java.lang.IllegalMonitorStateException

当前线程等待timeout时间出现一次

暂时把  Thread.currentThread().wait(timeout); 改成this.wait(timeout),效果暂时有待考证

public class MultipleGoodsPriceChangedMessageHandlerImpl implements Job,
        JMSMessageHandler {}

MultipleGoodsPriceChangedMessageHandlerImpl中的代码

    logger.debug("全量索引当中,实时索引开始等待...等待时间" + timeout);
98                    Thread.currentThread().wait(timeout);
                    logger.debug("全量索引当中,实时索引结束等待...");

改成正阳可以啦

    synchronized(this){
                        this.wait(timeout);
                    }


java.lang.IllegalMonitorStateException

     [java]     at java.lang.Object.wait(Native Method)
     [java]     at com.xiu.search.good.integration.MultipleGoodsPriceChangedMessageHandlerImpl.onMessage(MultipleGoodsPriceChangedMessageHandlerImpl.java:98)
     [java]     at com.xiu.search.jms.PriceMessageListener.onMessage(PriceMessageListener.java:40)
     [java]     at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1230)
     [java]     at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:134)
     [java]     at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:205)
     [java]     at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
     [java]     at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
     [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     [java]     at java.lang.Thread.run(Thread.java:619)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值