当前线程等待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)